一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于通道裁剪的无人机视频小目标检测方法与流程

2022-03-23 09:20:08 来源:中国专利 TAG:


1.本发明涉及深度学习中的目标检测领域,针对小目标检测尤其是高空无人机视频的检测技术。


背景技术:

2.目标检测已经在车辆检测、人脸检测、自动驾驶、安全系统等领域广泛应用并发挥着重要的作用。
3.相比于传统检测方法,基于深度学习的检测模型具有检测精度高、速度快等优点。基于深度学习的检测模型有one-stage和two-stage两种:one-stag检测模型主要有yolo、ssd、sdds等模型,其核心是基于回归的思想,不需要使用区域候选网络,可以直接经主干网络预测出军事目标类别、位置;以two-stage检测模型为代表的有r-cnn、spp-net、fast r-cnn、faster r-cnn、mask r-cnn等模型,其基本思想是通过卷积神经网络对图像进行特征提取,然后经过区域候选网络生成候选框,再经过“抠图”和进一步的特征表示,最后就可以通过分类和回归得到军事目标的类别和位置。two-stage系列因其繁琐的检测过程导致检测速度远不能满足实时性的要求。
4.近年来,目标检测在战场感知中的地位愈加突出。基于无人机平台的目标检测具有视野大、监测范围广等优点,但由于载重、能耗等方面的限制,无人机平台能够搭载的存储和算力是有限的。因此,一般检测模型在无人机上直接部署时会面临模型占用内存大、实时性差的问题。因此,在保证检测精度的前提下有效解决上述问题,能够有效提升无人机侦察的检测速度,有助于战场指挥员或机载系统及时全面分析战场形势,做出更合理的决策。
5.yolo作为one-stage检测模型中的经典模型,较好地兼顾了检测精度和速度,因此应用较为广泛。本专利以yolov4检测模型作为主模型,在保证检测精度的情况下,首先,将三尺度检测模型改进为双尺度时序 非时序检测模型。其次,对双尺度检测模型进行了通道裁剪。本发明就是着力于目标小在视频时序目标检测中造成的难题。本发明在小目标检测领域有一定的通用性,并针对无人机视频中存在的目标模糊做了特殊改进。
6.实验表明,两种改进方法均达到了小目标检测领域减小模型内存占用,提升检测速度以及精度的目的。


技术实现要素:

7.为了克服上述现有技术的不足,本发明提出了一种基于通道裁剪的无人机视频小目标检测方法。该技术引用了深度学习中的通用目标检测框架yolov4,并由于内存、算力有限而导致检测模型部署困难、检测精度降低的问题对yolov4进行了进一步的改进。
8.本发明所采用的技术方案是:
9.步骤1:yolov4模型结构改进针对目标尺寸特点,对原模型的检测层进行了改进,保留了负责从52
×
52和26
×
26特征图中检测中小目标的yolohead1和yolohead2模块。移除了负责检测大目标的yolohead3模块和其相关的采样卷积过程,但保留了与之对应的13
×
13特征图;
10.步骤2:步骤1中模型中小尺度yolohead1对应的初始候选框大小为[12,16,19,36,40,28],中尺度yolohead2对应的初始候选框大小为[36,75,76,55,72,146];
[0011]
步骤3:进行模型通道裁剪首先需要对bn层进行稀疏化训练,本方法通过在初始损失函数中引入l1正则化来对bn层的缩放因子γ进行稀疏化训练,每个特征通道对应一个缩放因子γ;
[0012]
步骤4:该步骤在yolov4模型中,通过卷积层和激活函数中间的bn层对每一个输入的mini-batch进行归一化,使网络收敛更快,获得更好的训练效果。yolov4模型中bn层的输入和输出之间关系为:
[0013][0014]
式中:m为每次输入的mini-batch;γ为bn层的缩放因子;β为bn层的偏置项;μ为bn层的均值参数;σ为bn层的方差参数;ε项可避免分母为0。
[0015]
步骤5:该步骤是该专利的核心内容,在步骤4中对bn层进行稀疏化训练的基础上,对已经稀疏化的缩放因子进行排序,根据剪枝率求得缩放因子的阈值。当缩放因子大于或等于该阈值时,该缩放因子对应的特征通道将被保留。当缩放因子小于该阈值时,该缩放因子对应的特征通道将会被剪掉然后将网络输出的提议框映射成原图大小,框选出原图区域,输入至softmax分类和回归层,得出最后结果。
[0016]
与现有技术相比,本发明的有益效果是:
[0017]
(1)在无人机视频小目标检测上,能够达到更高的识别精度;
[0018]
(2)对于极端模糊目标情况下,更够更好的进行筛选和检测。
附图说明
[0019]
图1为:几种典型无人机视频小目标示意图。
[0020]
图2为:几种极端模糊小目标示意图。
[0021]
图3为:改进后的yolov4模型结构。
[0022]
图4为:通道裁剪流程。
[0023]
图5为:模型通道裁剪流程。
[0024]
图6为:原始yolov4检测模型。
[0025]
图7为:损失函数变化曲线。
[0026]
图8为:训练之前每层yolov4的权重分布。
[0027]
图9为:α=0.0001堆叠每层yolov4的权重分布。
[0028]
图10为:α=0.001堆叠每层yolov4的权重分布。
[0029]
图11为:yolov4裁剪后模型的评估结果。
[0030]
图12为:tiny-yolov4和pruned-yolov4对比。
具体实施方式
[0031]
下面结合附图对本发明进一步说明。
[0032]
首先,yolov4模型结构改进如图3所示。yolov4模型输入图像大小为416
×
416,52
×
52、26
×
26以及13
×
13特征图中一个像素点分别对应输入图像8个、16个以及32个像素点,当输入图像被下采样至13
×
13时,图像中小于32
×
32像素的目标均会被压缩至不到一个像素点,这样目标特征信息丢失较为严重,因此在13
×
13特征图上检测32
×
32像素以下的目标意义不大。
[0033]
本测试使用的数据集,目标长宽都分布在0~38像素,属于中小目标,因此负责从13
×
13特征图中检测的yolohead3模块对于中小目标的检测意义不大,反而会使得模型参数冗余,导致模型内存占用过大,消耗计算资源,影响检测速度。
[0034]
相比在3个尺度上预测输出的原模型,本方法改进后的模型仅需要在2个尺度上进行检测,减少了模型参数,节省了计算资源,模型检测速度更快。
[0035]
权重裁剪的核心思想是使权重稀疏化,该方法需要多次迭代,并且裁剪一次就需要对模型修复一次,耗时耗力。神经元裁剪是将模型中输出为零的神经元进行删除,该方法虽然操作比较简单,但是裁剪出来的模型性能较差。卷积核裁剪是对卷积核中的参数进行处理,从而降低运算消耗,但目前该方法的相关技术还不够成熟,对于模型速度提升很有限。
[0036]
通道裁剪流程如图4所示,是将卷积层中不重要的通道全部删除。该方法裁剪力度大,效果明显,同时带来的精度损失也大,但是通过微调可以将裁剪后的模型恢复到很好的精度,并且该方法不需要门的软硬件支持。通道裁剪方法适用于含有批归一化层即bn(batch normalization)层的模型,如yolo模型。对于没有批归一化层的模型该方法并不适用,如r-cnn模型。
[0037]
通常情况下,剪裁后的模型其检测精度会有不同程度的下降。裁剪的通道数越多,参数越少,检测精度下降的就越明显。为了恢复一定的检测精度,需要用数据集将裁剪后的模型重新训练,在这个过程中,裁剪模型中的参数会根据训练样本数据进行调整,以恢复至较高的检测精度。
[0038]
具体方法
[0039]
(1)针对目标尺寸特点,对原模型的检测层进行了改进,改进后的模型结构如图3所示,保留了负责从52
×
52和26
×
26特征图中检测中小目标的yolohead1和yolohead2模块。移除了负责检测大目标的yolohead3模块和其相关的采样卷积过程,但保留了与之对应的13
×
13特征图,该特征图属于深层特征图,里面包含较强的定位特征,52
×
52、26
×
26的浅层特征图里面包含较强的语义信息,通过上采样,将13
×
13特征图中的强定位信息传递到浅中层特征层中进行特征融合,以加强对中小目标的定位精度;
[0040]
(2)进行模型通道裁剪首先需要对bn层进行稀疏化训练,本方法通过在初始损失函数中引入l1正则化来对bn层的缩放因子γ进行稀疏化训练,每个特征通道对应一个缩放因子γ,引入l1正则化的损失函数为:
[0041][0042]
(3)如图5所示,对已经稀疏化的缩放因子进行排序,根据剪枝率求得缩放因子的阈值。当缩放因子大于或等于该阈值时,该缩放因子对应的特征通道将被保留。当缩放因子小于该阈值时,该缩放因子对应的特征通道将会被剪掉。
[0043]
这样改进的好处有两个方面,一方面,模型充分利用了富含细节信息的低层特征
进行小目标检测,另一方面,多个尺度的特征图提取出的不同特征使用同样的分类和bounding box回归网络,相当于广义上的多任务联合,可以有效避免数据量较小时产生的过拟合。这样的改进方式可以用于绝大多数特征网络,本方法选取resnet50作为提取特征的主干网络,在resnet50网络中,对stage2,stage3,stage4,stage5,stage6产生的特征图进行检测。其中底层生成的特征图用于检测小目标,中层生成的特征图用于检测中等目标,高层生成的特征图用于检测大面积目标。
[0044]
最后,接下来将在yolov4模型中实现整个模型裁剪过程,及最后的小目标增强方法。使用yolov4作为基线模型。在裁剪yolov4之前,需要进行稀疏的训练。在训练之前,堆叠每层yolov4的权重分布,共层有159层,如图8所示。
[0045]
随着层数的增加,大多数bn权重从2.0变为1.0左右。稀疏程度取决于比例因子和历元数。在稀疏训练期间,计算yolov4的所有bn层中权重绝对值的直方图,并将它们堆叠在一个图中以观察趋势。如图9所示,采用较弱的比例因子α=0.0001来稀疏权重。bn权重接近零的通道不重要。越不重要的渠道,可以裁剪的渠道就越多。从图9可以看出,权重并没有明显趋于0。如图10所示,黑框中的权重优先于绿框中的其他权重。绿框的重量被认为是更重要的重量,这可以帮助提高微调的准确性。具有较大比例因子(即α=0.01)的稀疏训练会使bn权重衰减过大,以至于裁剪的模型将具有更高的训练难度,然后因拟合不足而失败,因此,在实验中,使用惩罚等级α=0.001训练的yolov4模型执行通道和层裁剪。
[0046]
根据以下指标评估所有裁剪的模型:(1)map;(2)模型体积,即重量文件的大小;(3)每秒使用gpu的帧(fps),在本方法中是tesla p100。其中,fps是检测速度的指标。
[0047]
设置裁剪的通道比率时,还应该设置保留的通道比率,以避免裁剪层中所有通道的可能性。在图11中比较了所有裁剪模型的检测性能。可以看到,通道裁剪会导致模式量迅速减少,尤其是当裁剪通道比为0.5时,裁剪模型的体积范围为245.8mb至90.8mb。
[0048]
此外,可以将裁剪的图层和裁剪的通道组合在一起,以获得更简单有效的模型。裁剪模式的裁剪通道比为0.8,裁剪层为8,其ap为90.5,体积为15.1mb。它的fps提高了60%,而其map的性能可与yolov4媲美。将此模型用作裁剪后的yolov4。
[0049]
为了进一步证明裁剪后的模型的有效性,进行了另一个比较实验。tiny-yolov4是yolov4的过度简化的版本。微小的yolov4只有27层,容量为23.1mb。将tiny-yolov4和裁剪后的yolov4模型进行了比较,如图12所示。tiny-yolov4在精度和f1得分方面略有优势,但是,在map中,pruned-yolov4模型比tiny-yolov4具有强大的优势。由于层数较少,微小的yolov4在fps上的表现要好,但是69的fps在的任务中并不可怕,因此,可以得出结论,在精度损失很小的情况下,裁剪模型可以有效地提高检测速度。
[0050]
以上所述,仅为本发明的具体实施方式,本说明中所公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征或/和步骤外,均可以任何方式组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献