目 录CONTENT

文章目录

Dataset generation

KD Mercury
2024-06-16 / 0 评论 / 0 点赞 / 1 阅读 / 0 字
温馨提示:
本文最后更新于2025-10-01,若内容或图片失效,请留言反馈。 多喝热水。想想有多久没有仔细瞭望星空了(

项目地址 Github

Part1 项目介绍

Augma Project 需要使用特定优化的手势识别,但奈何本人没有找到合适的数据集,因此需要结合现有的数据集与自己拍摄的图片,与背景图片进行自动合成。合成方法见下图。

process

Part2 配置 Conda 环境

开发使用的是 Conda 环境,输入下面的 shell 指令以安装环境。

conda env create -f freeze.yml

若无法 Clone 项目,也可以通过下面的文本自行新建 freeze.yml 文件。

name: Dataset_PreProcess
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  - defaults
dependencies:
  - ca-certificates=2022.10.11=haa95532_0
  - certifi=2022.12.7=py39haa95532_0
  - openssl=1.1.1s=h2bbff1b_0
  - pip=22.3.1=py39haa95532_0
  - python=3.9.16=h6244533_0
  - setuptools=65.6.3=py39haa95532_0
  - sqlite=3.40.1=h2bbff1b_0
  - tzdata=2022g=h04d1e81_0
  - vc=14.2=h21ff451_1
  - vs2015_runtime=14.27.29016=h5e58377_2
  - wheel=0.37.1=pyhd3eb1b0_0
  - wincertstore=0.2=py39haa95532_2
  - pip:
    - numpy==1.24.1
    - opencv-python==4.7.0.68
    - pillow==9.4.0
prefix: C:\ProgramData\Anaconda3\envs\Dataset_PreProcess

Part3 参数配置

--original_background_path
原始未处理的背景图片文件夹路径
默认 str './1_Original_Data/Background'

--original_gesture_path
原始未处理的手势图片文件夹路径
默认 str './1_Original_Data/Gesture'

--background_width
压缩后的背景图片的宽
默认 int 640

-background_height
压缩后的背景图片的高
默认 int 480

--gesture_width
--gesture_height
这几个参数建议设置成一样的,手势图片会被压缩成一个正方形
默认 int 200
如果不一样,任意一参数不超过 gesture_size 的设置

--gesture_size
不要修改

--remove_background
移除手势图片背景,每个通道超过该亮度的像素就会被移除
默认 int 240

--noise_proportion
添加椒盐噪声,该数值控制信噪比
默认 float 0.025

Part4 文件结构说明

项目正式运行之前,需要自行下面的文件夹

1_Original_Data/
1_Original_Data/Background/
1_Original_Data/Gesture/
2_Gesture_Mirror/
3_After_Resize_Greyscale/

1_Original_Data 是用来存放原始数据的文件夹,该文件夹下有两个子文件夹,一个是Background,另一个是Gesture。每一个子文件夹内都按照分类存放着对应的图片。

1_Original_Data/
	|
	| Background/
	|	| Airport/
	|	| Bedroom/
	|   | ...
	|
	| Gesture/
	|	| 00-One/
	|	| 01-Two/
	|	| ...

手势文件夹内的分类命名必须遵守如下的规则 00-Name ,序号必须从 00 开始,中间必须有- 进行连接,后面的分类名称必须是英文,是否大写无所谓。所有子文件夹里的图片命名不要包含特殊符号即可。

2_Gesture_Mirror 是用来存放镜像后的手势图片,==处理新数据集请确保该路径下为空==。

3_After_Resize_Greyscale 存放缩放与灰度处理后的图片,==处理新数据集请确保该路径下为空==。

Dataset 是最终的数据集文件夹,该目录会自动生成。该文件夹内会有一个所有分类的 Classes.txt 文件,可以根据这个文件制作相关数据集的 yaml 文件。==处理新数据集时请确保该文件夹不存在==。

Part5 运行起来

Terminal 进入创建的 Conda 环境,输入下面的指令即可自动生成数据集。

python Data_Process.py --remove_background 240 --noise_proportion 0.025

Part6 其他

其它问题欢迎进群交流:913211989 ( 小猫不要摸鱼 )

进群令牌:fpBlog

不可商用,引用请标注

[1] Da Kuang.Dataset generation Program of Augma Project[EB/OL]. https://github.com/Ender-William/Dataset-generation, 2023-02-14/引用日期{YYYY-MM-DD}.
0

评论区