基于YOLO的轻量化目标检测应用研究
2021-11-19包成耀丁霄霏戴立奇吴宗霖杨艳红
包成耀 丁霄霏 戴立奇 吴宗霖 杨艳红
(苏州大学应用技术学院,江苏 苏州 215300)
1 引言
目标检测算法的原理是通过算法模型将输入图像的目标物体识别并圈出其位置同时归属它所在的类别。近年来,得益于深度学习浪潮的来临,目标检测算法的发展十分迅速,从早期依靠手工特征的传统目标检测方法快速过渡到以深度学习为基础的目标检测方法。期间涌现了各种不同的目标检测技术,可将其大致分为两类:先生成预选框再分类的“two-stage”算法和直接分类给出位置信息的“one-stage”算法。two-stage算法的代表有R-CNN[1],Fast R-CNN[2],Faster R-CNN[3]网络等;one-stage算法的代表有yolo系列[4-6]和SSD[7]等。
最早推出的R-CNN由于本身技术上的局限性,有着步骤繁琐、识别效率低下等问题。随后SPP-net、Fast R-CNN和Faster R-CNN等被相继提出,SPP-net在CNN后加入了空间金字塔池化层极大提升了计算速度,Fast R-CNN则是借鉴了前者的方法在R-CNN的基础上用ROI池化层替代了空间金字塔池化层大幅提高了检测速度,Faster R-CNN针对CNN网络对信息获取的不足,提出了RPN(Region Proposal Networks)网络,抛弃传统的滑动窗口改用RPN生成,提升了检测框生成速度。
而one-stage中的代表YOLO(You Only Look Once)算法相比Faster R-CNN算法结构更加简洁,极大提升了检测速度。其实现过程如图1所示,输入一张448*448*3的图片,用一个7*7的网格将其分割并输入到卷积神经网络(CNN)中,经由中间层多次卷积与池化提取图片的抽象特征,再经过两个全连接层预测目标的位置和类别,最终输出7*7*30的结果。

图1 YOLO网络结构
随后推出的YOLO v2,v3也在此基础上不断精进,v2将v1网络中的dropout层移除,取消全连接层,同时采用……
