每天进步一点点】【Atlas 200 DK】基于YOLOv3_Resnet18的行人检测

网友投稿 1092 2022-05-30

基于YOLOv3_Resnet18的行人检测

一、特征提取网络Resnet18

行人检测部分使用了目前主流目标检测算法YOLOv3,特征提取网络由Darknet53转变为经典的Resnet18。Resnet网络的提出很好地解决了随着网络加深,训练集准确率下降的问题,性能更为优良。

从经验来看,网络深度的增加,一般能学习到更多的特征,获得更好的性能,但实践发现随着网络加深,深度网络出现退化,准确度饱和甚至下降,比如56层的网络效果可能比18层的网络更差,但这并不是过拟合造成的,因为网络的训练误差依然很高,这使得深度网络训练遇到了难题,性能无法通过加深网络得以提升。残差学习的提出为解决此问题提供了一种可能,残差学习基于这样的假设:希望在浅层网络通过叠加网络层提升性能,在叠加的网络层不进行学习,仅仅复制浅层网络

的特征,性能应该和该浅层网络一致,不会出现退化现象。

图1 残差学习:基本模块

Resnet网络是在经典的VGG19网络基础上,通过短路机制引入残差单元,直接使用Stride = 2的卷积做下采样,并且用Global Average Pool层替换了全连接层,其

重要原则为当Feature Map大小降低一半时,数量增加一倍,这保持了网络层的复杂度,维持增加网络层数带来的性能提升。Resnet使用了两种残差单元,分别对应

浅层网络和深层网络,以适应不同需要。

Resnet网络性能优良,很快成为了计算机视觉任务中的主流网络架构之一,也衍生出很多改进版,是非常受欢迎的架构。同时,参考官方文档,针对Ascend 310芯

片的特点,做了适配和优化,尽量提升3D Cube的利用率,相应减小数据搬移和Vector运算的比例,以提升算法性能。注意了边界算子规格,输入数据的处理,比如

输入数据最大支持四维,转维算子(例如Reshape、Expanddim)等不能输出五维等细节问题。同时,注意到模型中的算子只支持2D卷积,暂不支持3D卷积,参考

【每天进步一点点】【Atlas 200 DK】基于YOLOv3_Resnet18的行人检测

官方建议,矩阵乘法的MKN以及conv、concat等算子的输入或输出通道数采用16的整数倍等问题。

二、跨尺度预测

YOLOv3在输入映射到输出方面,对应三种不同尺度特征图,输出3个不同尺度的张量,是输入图像各个单元格中目标对象的概率,当输入为416×416时,在每个尺

度的特征图的每个单元格设置3个先验框,总共有10647个预测,且每一个预测是一个85维向量,包含边框坐标(4个数值),边框置信度(1个数值),对象类别的

概率(以COCO数据集为例,有80种对象)。且是在不同分辨率上进行,对小物体的检测效果较好。

为了更好地在Atlas平台运行,适配硬件处理,提高运行速度,使用Atlas 200 DK提供的数字视觉预处理(Digital Vision Pre-Processing,DVPP)模块做数据处

理,由于使用输出限定宽高为128:16对齐,这里参考官方文档例程建议,考虑到一般来说图片的宽和高越大,对目标检测越好,设置为640×352,不破坏原算法输入

尺寸需要为32的倍数的限制,同时降低了数据处理开销和带宽压力。

同时,由于输入图像大小的改变,相应地适配先验框将原来的(373×326) 改为(163×326)。

图2  YOLOv3的输出

三、边界框预测

延续YOLOv3采用回归策略的端到端的策略,便于部署。假设将输入图像网格化,如果检测目标的中心落在网格中,网络则对检测目标的具体位置做估计。假设每个

网格需要预测N个边界框,则输出结果为每个边界框的位置坐标和置信度。

图3 具有尺寸先验和位置的边界框预测

PS:不好意思,输入公式不太方便,就直接上图了。

这里采用逻辑回归预测每个边界框的待检测物体的得分,每个边界框使用多标记分类预测框中可能包含的物体类别,由于使用了独立的逻辑分类器,可以较为简单地

用于其他更为复杂的领域,更好适应大量重叠标签的情况。

网络 华为Atlas 200 DK AI开发者套件 机器学习

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《软技能》读书笔记
下一篇:《软件项目管理(第二版)》第 2 章——项目准备和启动 重点部分总结
相关文章