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

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}.
评论区