预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于YOLOV3-Tiny算法的扫地机器人视觉识别发布时间:2021-05-11T09:17:56.484Z来源:《素质教育》2021年4月总第376期作者:刘子涵[导读]但由于雷达离地面有一定的高度,在此水平高度以下的物体难以被识别。上海星河湾双语学校201100摘要:目前大多数扫地机器人采用激光和超声波技术进行避障,常出现物体检测识别率较低、运动与避障控制不及时等问题。本研究在避障功能中引入视觉处理,采用嵌入式智能处理器结合AI算法方式,代替传统图像识别算法,并对算法架构进一步优化,提升识别效率及准确度。本文引入YOLO算法,并对原生YOLOV3-Tiny算法进行一定的剪枝,大幅提升了目标识别的准确性。关键词:扫地机器人机器视觉视觉避障YOLOV3-Tiny算法一、介绍目前扫地机器人采用了激光定位,从墙壁到家具都可以进行扫描,很少会遗漏一些大物品,弥补了之前超声波、红外线定位的不足。但激光雷达对于一些小物件,如地面上的玩具、画册、电线、插座等,很少会将它们视作障碍,无法做出精准的避障,碰撞中会导致较小物件及扫地机器人本体的损伤。这是因为单向激光雷达虽然可以扫描出地面的全景图,但由于雷达离地面有一定的高度,在此水平高度以下的物体难以被识别。YOLO是一种快速和准确的实时对象检测算法,它虽然不是最精确的算法,但在精确度和速度之间选择的折中,非常具有优势。YOLOV3借鉴了YOLOV1和YOLOV2的特点,保持YOLO家族速度优势的同时,提升了检测精度。YOLOV3算法使用一个单独神经网络作用在图像上,将图像划分多个区域并且预测边界框和每个区域的概率。为提升扫地机器人避障效率,本文借助单目摄像头利用深度学习框架在YOLO算法下实现了对若干类小物体的高效识别。二、材料与方法1.硬件选型本研究采用RK3288处理器,并使用了Firefly开发板:处理器,RK3288Cortex-A17四核1.8GHz;图形处理器,Mali-T764,支持OpenGLES1.1/2.0/3.0,OpenVG1.1,OpenCL,Directx1;内存,2GBDDR3双通道;存储器,16GBeMMCFlash,MicroSD。2算法选型在算法选择上,使用了JosephRedmon开发的YOLOV3,其优势在于OneShotDetection,也有较好的迭代支持。同时也考虑了其他算法,比如SSD目标检测算法,SSD属于onestage的多框预测;MobileNet则采用了流线型架构,其卷积层是深度可分离的,由此构建出的深层神经网络较为轻量。YOLO算法在图像识别方面较为擅长,在此基础上演变过来第三版算法YOLOV3在识别小目标时精度上有明显提高。YOLOV3算法是一个端到端的网络,因此整个过程都使用称为和平方误差的损耗计算,这是一个包括分类、IOU、坐标等误差在内的差异加法。当我们将损失函数相加时,就需要评估在整个损失函数中每个损失函数的各自权重。若分类和坐标这两个误差权重一致,将导致模型不稳定,之后的训练过程也会出现发散的情况。因此,YOLO算法将坐标误差的权重设置为λcoord=5。在计算IOU误差时,包含对象的网格和不包含对象的网格的IOU误差对网络损耗的贡献是不同的。如果使用权重,则不包含任何对象的晶格的置信度值约为0,这会扭曲对象的影响。计算网络参数梯度时,包含对象的晶格的置信误差。为了解决这个问题,YOLO使用λnoperson=0.5来修复iouErr(这里的“包含”表示存在一个对象,其中心坐标落入网格)。如果误差值相等,对于检测的影响,小物体的误差影响大于大物体的误差影响。YOLO通过对信息的平方根(w和h)求根来解决此问题。与之前的版本相比,YOLOV3版本的优势在于提高了精度,但同时也出现了速度降低的现象。这些网络架构对于很多边缘和移动场景而言过大(YOLOV3网络的大小为240MB),而且因为计算复杂度(YOLOV3需要多达65B的运算量)过高,在搭载RK3288的设备上的推断速度会很慢。为了实现嵌入式系统上较高效的AI推理,研究人员发布了一个轻量级的模型YOLOV3-Tiny。YOLOV3-Tiny是YOLOV3算法的升级版和简化版。相比于YOLOV3,YOLOV3-Tiny减少了残差层,只是使用了不同尺度的输出层。在嵌入式系统AI算力有限的情况下,综合考虑图像识别的准确性和帧率,本研究选择了YOLOV3-Tiny作为首选算法。3.算法模型围绕开发扫地机器人专用视觉识别模块,开发专用图像识别算法,策略是基于YOLOV3-Tiny的网络修改版YOLOV3-Tiny-2l6,识别11类目标。整个算法开发的过程主要由数据