前提条件:
1.安装了docker
2.我的视频文件地址是videos/1.mp4 存帧文件夹名字为frames
(在后续命令中,应改成自己相应的)
一、vatic安装及启动
1.su root
2.拉取vatic镜像文件
docker pull jldowns/vatic-docker-contrib
3.映射vatic工作文件并运行镜像
docker run -it -p 8080:80 -v $"/home/yms/videos":/home/vagrant/vagrant_data jldowns/vatic-docker-contrib:0.1
注:"/home/yms/video1"是放置视频文件的位置,改成自己相应的
4.启动MySQL和Apache服务
/home/vagrant/start_services.sh
二、vatic标注
5.视频抽帧
vatic默认把每一帧resize到720x480,可以通过width和height指定自己想要的尺寸
cd /home/vagrant/vatic
turkic extract /home/vagrant/vagrant_data/1.mp4 /home/vagrant/vagrant_data/frames/ --width 1920 --height 1080
相应文件夹下生成
6.将帧转为vatic使用格式
turkic load 001 /home/vagrant/vagrant_data/frames/ solid_lines --offline
7.离线发布
turkic publish –offline
8.浏览器中输入地址
http://localhost:8080/?id=1&hitId=offline
进行标注
9.导出标注结果
turkic dump 001 -o /home/vagrant/vagrant_data/1.txt
注:这个1.txt需要和视频文件名字一样
10.生成数据集文件
执行converter_xml2.py,修改file_list列表,替换成自己的视频名称。
执行set_train_test.py。
执行voc_label_new.py,修改classes为自己的类别。
11.训练
参考:https://blog.csdn.net/weixin_39298885/article/details/111690284修改配置文件。
Cfg/voc.data classes改成自己的类的数量,其他分别改成自己对应的路径。
Cfg/yolov4-tiny.cfg 主要把两处的classes filters改了
Data/Voc.names 改成自己的类的名字
./darknet partial cfg/yolov4-tiny.cfg yolov4-tiny.weights yolov4-tiny.conv.29 29 # 生成yolov4-tiny.conv.29文件,用于迁移学习
./darknet detector train cfg/voc.data cfg/yolov4-tiny.cfg yolov4-tiny.conv.29 -map # 训练模型
# -map参数可以在训练过程中对测试集计算map并在chart上显示)
12.可视化
运行label_visualize.py脚本文件
相关资料:
1.converter_xml2.py-----https://download.csdn.net/download/unbekannten/75092568
2.set_train_test.py—https://download.csdn.net/download/unbekannten/75092762
3.voc_label_new.py—https://download.csdn.net/download/unbekannten/75092918
4.label_visualize.py—https://download.csdn.net/download/unbekannten/75093091
5.相关说明文当—https://download.csdn.net/download/unbekannten/75093284