-
Notifications
You must be signed in to change notification settings - Fork 419
Prometheus目标检测 训练检测模型
下载数据集标注工具,下载地址,数据集管理软件SpireImageTools:gitee地址或者github地址。
-
解压,打开标注软件
SpireImageTools_x.x.x.exe
首先点击Tools->Setting...
,填写一个 save path
(所有的标注文件都会存储在这个文件夹中)
-
将拍摄的视频转为图像 (如果采集的是图像,则跳过这一步骤),点击
Input->Video
, 选择要标注的视频。
然后,点击Tools->Video to Image
点击OK 后,等待完成,结果会存储在:
-
打开需要标注的图像,点击菜单
Input->Image Dir
, 找到需要标注的图像所在文件夹 ,按Ctrl+A
,全选,打开所有图像:
-
点击菜单:
Tools->Annotate Image->Box Label
,开始标注图像
在label
中填写待标注目标名称,然后将对话框拖到一边。
-
开始标注,在主窗口中开始标注,鼠标滚轮放大缩小图像,按住左键移动可视图像区域不断点击左键将目标框包围,使用
Yolo
训练时,点击2个点即可:
标注时,如果点错,按鼠标右键可以取消。标注完成后,如果不满意,可以点击绿色边框(边框会变红,如下图所示),按
Delete
删除
- 继续标注行人类别:
-
全部标注完成后,将标注输出为
Yolo
格式,准备训练——在标注完成之后,按下Ctrl+o
点击OK
即可,需要等待转换。
- 注意,如下两个文件夹是我们训练
Yolov5
需要的
在准备好scaled_images
和Yolo_labels
两个文件夹之后,我们就可以训练Yolov5
了。首先,创建一个car_person.yaml
,将其放到<path-to-Prometheus>/Modules/object_detection_yolov5tensorrt/data/
文件夹下。car_person.yaml
的具体内容如下:
# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
train: data/car_person/images/train/
val: data/car_person/images/train/
# number of classes
nc: 2
# class names
names: ['car', 'person']
注意1:
car_person
是自定义名称,我们这次标注的数据集仅有这2个类别。 注意2:names: ['car', 'person']
这里的类别顺序需要跟Yolo_categories.names
里的类别顺序一致。
- 将训练图像与标注拷贝到对应位置
首先,在<path-to-Prometheus>/Modules/object_detection_yolov5tensorrt/data/
下新建一个文件夹car_person
。然后,在car_person
下再新建2个文件夹images
和labels
。最后,将准备好的scaled_images
拷贝到images
下,并重命名为train
;将准备好的Yolo_labels
拷贝到labels
下,并重命名为train
。
结合
car_person.yaml
里的内容,我想你应该明白上面目录结构的含义啦。
- 开始训练
cd <path-to-Prometheus>/Modules/object_detection_yolov5tensorrt/
python3 train.py --img 640 --batch 16 --epochs 5 --data data/car_person.yaml --weights weights/yolov5s.pt
显示以上内容说明训练成功!可以增加训练期数(--epochs 5
)提升效果。
- 部署训练好的模型
刚刚训练好的模型会保存在<path-to-Prometheus>/Modules/object_detection_yolov5tensorrt/runs/exp?/weights/best.pt
,?
需根据自己的情况而定(最新训练的模型?
为最大的数字),将best.pt
重命名为yolov5s.pt
,拷贝到<path-to-Prometheus>/Modules/object_detection_yolov5tensorrt/
下,然后执行:
cd <path-to-prometheus>/Modules/object_detection_yolov5tensorrt
python3 gen_wts.py
感谢使用Prometheus自主无人机软件平台!