利用YOLOv3(Keras)进行国旗检测(自己标注1600幅图像) 资源分享
注:本项目提供"旗帜"数据集、使用教程和开源代码,适合目标检测入门上手实战(数据集比较小,适合GPU资源受限的同学)
项目代码:https://github.com/ZzzzzZXxxX/yolo3_keras_Flag_Detection
- 下载本项目预训练权重
- 权重1 https://pan.baidu.com/s/1X08Mj2owTcOJQfsBEpf0YA
- 权重2 https://pan.baidu.com/s/1MIBU41gW1x7aqgQhwglAcw
- 修改yolo.py中第24行权重路径
- 将需要检测旗帜图片放入样品文件夹中
- 运行 python yolo_images.py 检测
【数据集提供】
- 旗帜(包含40个种类旗帜),数据来着于网络,数据标注是个苦力活,本数据包含1600多张图片,花费接近一个星期三标注完成,且用且珍惜!
- 链接:https://pan.baidu.com/s/1sgDehVpMUrXb3AHceTimfA 密码:pgmn
- 直接将两个文件夹放置于model_data下
- 旗帜(包含40个种类旗帜),数据来着于网络,数据标注是个苦力活,本数据包含1600多张图片,花费接近一个星期标注完成,且用且珍惜!!!
【训练】
训练自己的数据 无需使用 预训练的权重 (此方法适用于各类数据)
- 步骤1
- 使用labelImg对数据进行标记得到xml文件,放置于./model_data/label_train/将图片数据放置于./model_data/train/(建议图片宽高大于416,不然影响训练)
- 将数据类别写入my_classes.txt中(本项目中name_classes.txt为自定义文件,因为数据标记时,标记的为类别id,以便方便检测时直接输出类别,自己的数据预测时将yolo.py中的classes_path修改为自己的)
- 第2步
- 执行xml_to_data.py生成kitti_simple_label.txt
- python xml_to_data.py
- 第三步
- k均值聚类算法生成对应自己样本的锚框尺寸生成my_anchors.txt
- python kmeans.py
- 第四步
- 开始训练(建议epochs大于500,如果内存重叠可重复batch_size。其他参数,按照自己的数据,自行修改。)
- python train.py
【环境】
tensorflow 1.13.1
Keras 2.2.4
h5py 2.8.0
opencv-python 4.0.0.21
numpy 1.16.2