众所周知,目标检测是计算机视觉领域的核心问题之一,广泛应用于智能视频监控、工业检测、自动驾驶等领域。随着深度学习在图像分类研究中取得突破,带动了目标检测取得突飞猛进的发展。其中Yolov3目标检测模型不仅在速度和精度上都有均衡的性能,而且在工业实时检测应用中表现优异。
例如在标的物资产管理领域,面对仓库面积大,货物资产多,单次盘点费时费力导致盘点周期长,管理粗放不精细;货物流转进出库频繁,难以实时更新库存、进行远程监管等难题;计算视觉物品检测识别解决方案可以减少人力重复性工作,提高运营效率,实现无人化、数字化智能管理。本文由品览高级算法研究员张璐,为大家解读如何使用YOLOv3模型对仓储物品资产进行精准盘点,对出入库货物进行实时流水计量。
张璐
品览高级算法研究员
• 毕业于南昌大学
• 3年国企研发中心经验
![d6484b0d3f2ff8cd3a9a139f9816d862.png](https://i-blog.csdnimg.cn/blog_migrate/bb4f99cd1e070ac60a365af2e6708025.jpeg)
Yolov3采用Darknet-53作为基础网络(图1为基础网络结构图),网络中使用类似于resnet的残差结构,利用shortcut的思想来解决网络层数深,梯度消失的问题。同时采用全卷积网络代替池化层和全连接层,在前向传播过程中,张量的尺寸变换主要通过改变卷积核的步长来实现(stride=2),经历5次下采样后,最终输出的feature map尺寸将缩小为原输入尺寸的1/32。若输入为416x416,则输出为13x13(416/32=13)。
![c4dc26ea41a3a9cc8cd201b1d2c9c096.png](https://i-blog.csdnimg.cn/blog_migrate/1e6dc8989db47eef510e1b99716df60d.png)
图1 Yolov3 基础网络结构
Darknet-53与其他基础网络速度精度对比如图2所示:![bc15b9031e4cd6ef069232cd8e0a9c56.png](https://i-blog.csdnimg.cn/blog_migrate/c20355deead112bd503dd16e540f23bf.png)
Yolov3 模型结构
![8fdb131bc84ba2ab17def31199f08864.png](https://i-blog.csdnimg.cn/blog_migrate/02f5b5f153865883c7d6e953a1d8e5f0.png)
图3 Yolov3模型结构
图片来源:https://blog.csdn.net/leviopku/article/details/82660381 相比yolov2, yolov3的主要改进之一是predictions across scales, 如图3所示,yolov3最终输出3个不同尺度的feature map, 该思想借鉴了FPN(feature pyramid networks), 采用多尺度对不同size的目标进行检测,越精细的grid cell就可以检测出越精细的物体,对小目标更加友好。当输入图像尺寸为416×416时,输出3个feature map的尺度分别为13,26,52,其深度都是255(对于coco的80个类别而言),不同尺度的feature map如何实现拼接也有一番讲究,其使用stride为2的上采样来保证concat拼接的张量尺度相同,从而实现不同尺度feature map的拼接(分别是26x26尺度拼接及52x52尺度拼接)。
需要注意concat的操作和残差层add的操作是不一样的,concat会扩充张量的维度,而add只是直接相加不会导致张量维度的改变。
03 Yolov3 的检测性能 (1) Bounding Box Prediction yolov3每个位置采用3个先验框,由来是使用k-means对数据集groundtruth聚类得到9个先验框,并将其划分到3个尺度特征图上,尺度更大的特征图使用更小的先验框,这也是相比yolov2的改进点之一,提出groundtruth聚类思想可以使得到的先验框更贴合实际尺寸(图4为在coco数据集上不同尺度的先验框信息)。![490f72d3f85fdae1a92ab5bf90a0c79a.png](https://i-blog.csdnimg.cn/blog_migrate/18674db061b2eca01b454b83c9bb5d9e.png)
图8 货物进出库计数效果
![25bccc3642eb33ef00d5280ea8670be6.gif](https://i-blog.csdnimg.cn/blog_migrate/7df8ea08cf5f197b1a8bfe8bbe858938.gif)
- 轻量级 MobileNet 在物品识别中的应用
- RetinaNet在货架商品盘点中的应用
- 细粒度在商品识别领域的应用