RoboMaster 小车目标识别方案-视觉组 [CPU 0.018s]
开始做的动机
某日在RoboMaster论坛上,看到有小伙伴使用TensorFlow Object Detection API ,刚好最近在看人脸识别网络的内容,识别小车的装甲板和识别人脸是不是有什么关联呢?
我的代码:链接: https://pan.baidu.com/s/1lFGqNJYdTyVuCztG8LSXow 密码: ajqo
数据集
看了之前提到的文章,我得到一个很好的启示:要把官方数据集内含有小车的部分截取下来作为数据集比较靠谱,因为原始数据集是1920x1080的大小,我们截取的小车大于在400x300左右,较小的尺寸方便训练
把官方文件夹内的一个文件夹移动到,我的项目中,然后再使用ProcessXML.py解析数据集用于训练
label.txt内前面是图片的名字后面的数字每四个一组分别为[x1,y1,x2,y2]左上角和右下角
[官方数据集下载地址]:链接: https://pan.baidu.com/s/1knd-TlmdDaSZsLYuNQ8ASA 密码: 27oq
随便找个人脸识别模型改改看
我参照了这个人脸识别算法:
可以看到,它是框取了人脸位置外加5个landmark定位,对于小车这个识别来说,框取就好了landmark可能不需要,所以我们要观察一下他的网络输出和损失函数做出对应的修改,其实说是修改,就是仅仅删除而已,把算lanmark的部分删掉,然后再观察一下网络结构,这个网络结构还是很简单的,用了FPN得到三种不同深度下提取的feaure map,再分别用对应的Head去提取,所以简单地删掉LandmarkHead就好了
开始训练
项目内文件的功能
-
ProcessXML.py:解析官方数据集 train.py :用于训练 detect.py:用于检测 validation_data.py:用于验证分割好的数据集
参考:
上一篇:
通过多线程提高代码的执行效率例子