从零创建自己的数据集并用于目标检测
├── VOCdevkit
| └── VOC2020
| ├── JPEGImages
| └── Annotations
首先创建如上所示的目录结构,并将所有图片放到 JPEGImages
中。
下载 labelImg 标注软件,对图片进行标注,并将标注的文件保存到 Annotations
目录中。
该过程会去除为标记的图片,并将文件以连续的整数进行命名。
python src/format_dataset.py <path/VOC2020>
python src/create_voc.py <path/VOC2020> -t 0.6 -v 0.2
指定数据集的根目录 VOC2020
,并指定训练集和测试集的比例,即可生成 VOC 格式数据集。默认的划分比例为0.7:0.15:0.15
。
修改 voc_to_yolo.py
中的 sets
, classes
及最后两行和自己的数据集对应,
进入 VOCdevkit
所在目录,然后运行下边命令,即可将标注转为为 Yolo 所需格式,同时生成 train.txt
和 test.txt
。
python voc_to_yolo.py <path/vocdevkit>
Anchor 对模型的影响比较大,Anchor 先验不合理会导致更多的失配。 根据对数据集的 bbox 聚类,获取新的 anchor 的大小和比例。
python src/gen_anchor.py <xml/root/path> -c cluster_num -d input_size