【Robomaster-ICRA-AI挑战赛跳坑篇】(三、YOLOv3-tiny实现装甲板识别)

流程简介:

1.准备照片,分训练集和验证集两类。

2.使用labelimg工具,将目标圈出来,贴好标签,生成XML文件。

3.借助createID.py生成训练集和验证集的图片名称列表trainImageId.txt和validateImageId.txt。

4.借助trans.py生成训练集和验证集的完整路径列表并完成标签xml文件到txt文件的转换。

5.修改配置文件,开始训练。

YOLOv3安装

        计划采用Yolov3来实现机器人装甲板识别的功能,因此,需要安装yolov3,

        打开yolo的官网,先按照步骤一步一步https://pjreddie.com/darknet/

YOLOv3测试

      装好yolo后,运行测试,发现yolov3.weights运行不起来。系统提示killed。但是yolov3-tiny.weights,这个轻量级权重可以运行起来,接上摄像头以后,同样的问题。后来通过系统监视器,发现,只要一跑weights,内存就不够了。

解决办法:开辟虚拟内存,增加swap分区,具体教程参考如下链接,TX2内存8G,因此,swap分区开辟8G。

https://www.cnblogs.com/EasonJim/p/7487596.html

VOC数据集制作

一.准备照片

       想要使用YOLOv3实现装甲板识别,首先需要用自己的数据去训练网络。为了实现装甲板的识别,我们分别在装甲板灯柱不亮、亮蓝光、亮红光三种情况下共选取装甲板照片2000张用于作为训练集,100张作为验证集,并对装甲板整体进行框选从而得到装甲板中心在像素坐标系的坐标以及装甲板在像素坐标系里的长宽的值,生成相应的XML文件用于训练,识别精度效果较之前虽有所提高,但并不理想。因此改变方案——只框选两个灯柱之间的装甲板,效果显示机器人对装甲板的识别精度经进一步提高,之后我们又选取三种颜色的装甲板照片200张作为训练集,但只对装甲板上的两个灯柱分别进行框选,横的竖的,各种距离各种角度的。然后把他们分成两部分,40张用来做验证,160张用来做训练。用同样的方法训练后识别精度又提高不少。

       最后我们又对车的整体框选并进行训练,原因是装甲板距离较远时,对灯柱识别难度太大,但是对车的识别较为容易

       将采集好的数据集分为训练集和测试集时,最好在原来数据集中等间隔取出图片用作验证集,把各种角度,环境亮度和远近距离的情况都包括在内,这样训练结果更有代表性。

        在darknet主目录下创建4个文件夹: trainImage、validateImage、trainImageXML 和 validateImageXML,分别存放第2步中的训练集图片、验证集图片、训练集xml标签和验证集xml标签。将做好的图片先放进去,之后开始做标签。

【注意】:生成的XML文件中会包含文件位置,所以一定先新建文件夹,把图片放进去之后再进行标注。

二.打标工具,LabelImage安装

关于打标工具,网上给出了好多教程,推荐使用工具LabelImage.安装这个工具首先要安装PyQt4,链接如下:

https://blog.youkuaiyun.com/xingchengmeng/article/details/53939539

【注意】:在这块绕了很大弯子,首先,需要安装pip工具,版本:pip-18.0

                   通过PIP安装SIP版本太低,所以采用如下方式:

   &

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值