NVIDIA在目标检测模型量化分析模型方面,怎样做到速度和精度之间的平衡。NVIDIA 在目标检测采用哪种算法?

作者:赵家琪1,高贵1,2,黄晓峰1,刘道宽1(。

高贵(1981—),男,湖南,西南交通大学地球科学与环境工程学院教授,博士生导师,国家优秀青年科学基金获得者,主要研究方向为摄影测量与遥感、雷达信号处理等。

摘要:伴随深度学习的不断发展,深度学习的方法被广泛应用。基于的思想,本文提出了一种方法,通过添加卷积模块及调整部分超参数对其网络架构进行优化,以实现对道路车辆目标的快速检测、识别和定位。首先为了改善YOLOv4-tiny网络对小目标类型检测精度差的问题,基于特征金字塔网络对第二标度输出层的最后一个CBL输出特征与网络中第二个CSP输出特征进行融合,并在原有网络的基础上增加52×52的标度输出;其次,利用迁移学习权重在自己采集的数据集上进行实验,训练得出合适的权重进行测试。实验结果表明,与YOLOv4-tiny相比,改进后的网络结构相对YOLOv4-tiny的AP提升4.4%、召回率(Recall)提升4.6%、准确率(Precision)提升8.4%,且可以准确检测并定位车辆的位置。

伴随近几年人工智能的快速发展,以及深度学习技术的不断突破创新,智能交通系统已经成为社会的发展趋势。国家要实现交通系统的智能化和自动化运行,就要将大量的交通信息利用计算机视觉技术进行处理,例如车牌识别、车辆识别与流量统计、无人驾驶等[1]。目前,深度学习技术被广泛运用到领域。为了提高驾驶的便捷性和安全性,自动驾驶技术被广泛重视并推向了商业化,高级驾驶辅助系统(ADAS)得到了广泛的应用,ADAS 可以实现道路检测与车辆目标检测等多种功能。因此,高效准确的车辆目标检测技术对智慧交通系统的发展起到了至关重要的作用。目前,基于计算机视觉的目标检测算法分为传统的目标检测算法和基于深度学习的目标检测算法[2]。传统的目标检测算法是基于机器学习的分类器与人工提取的局部特征相结合的算法,主要包括提取特征和分类两个方面,提取的特征通常是梯度方向直方图或类harr 特征,结合支持向量机或AdaBoost 进行目标检测。使用传统的基于机器学习的方法提取特征需要人为设计特征,容易损失信息从而造成误差,不能满足高精度和高检测速度的场景。与传统的目标检测算法相比,基于深度学习的目标检测算法具有更高的准确率、更快的检测速度和更强的鲁棒性。因此,越来越多的深度学习方法被不断应用到目标检测领域[3-6]。基于深度学习的目标检测方法包括两阶段(Two stage)目标检测算法[7] 和单阶段(One stage)目标检测算法[8],两阶段算法是对图像生成可能包含目标的候选区域(region)用卷积神经网络(CNN)对候选区域进行分类,精度很高,但速度方面欠佳。两阶段目标检测算法包括R-CNN、Fast R-CN、Faster R-CNN、基于区域的全卷积网络(R-FCN) 等,虽然两阶段法比一阶段法具有更高的精度,但一阶段法比两阶段法具有更快的检测速度[9-10]。单阶段检测算法目标检测以整张图作为输入,在特征层输出边框位置和所属的类别,从而转变为一个回归问题。YOLO(The You Only Look Once)[11]算法是Redmon 等人提出的第一个基于回归的单阶段算法,之后Redmon 等人又提出了基于YOLO 算法的YOLOv2算法 [12],删除了完全连通层和最后一个汇集层,使用锚点框来预测边界框,并设计出DarkNet-19 的新基础网络。YOLOv3[13] 是Redmon 等人提出的YOLO 方法的最后一个版本。它引入了特征金字塔网络、更好的基本网络darknet-53 和二进制交叉熵损失,以提高检测精度和检测较小目标的能力。由于YOLOv3 采用的信息融合类型没有充分利用低级信息,这是限制其在工业中潜在应用的一个弱点。因此,Alexey 等人提出了YOLOv4 算法,它使用CSPDarknet53 主干、空间金字塔池模块、PANet 路径聚合颈和YOLOv3( 基于锚点) 头作为YOLOv4 的架构。以上基于深度学习的目标检测算法在目标检测领域虽然取得一定效果,但其在智能交通领域针对小目标的检测仍然不够精准。本文通过对道路车辆目标图像进行分析,结合最新的YOLOv4-tiny 算法并对其模型进行合理优化,实现了对道路图像车辆目标的快速准确检测。

网络作为骨干网络来代替Yolov4 算法中使用的CSPDarknet53网络,空间金字塔池(SPP) 和路径聚合网络(PANet) 也由特征金字塔网络(FPN) 代替,以减少检测时间。此外,它还使用了两个尺度的预测(26×26 和13×13),而不是3 个尺度的预测。CSPDarknet53-tiny 网络在跨级部分网络中使用了CSPBlock 模块,在剩余网络中使用了ResBlock 模块。CSPBlock 模块将特征映射分成两部分,通过跨阶段残差边缘将两部分进行组合,这使得梯度流可以在两种不同的网络路径上传播,增加梯度信息的相关性差异。与ResBlock 模块相比,CSPBlock 模块不仅可以提高卷积网络的学习能力、计算精度,而且还可以减少计算量。消除了ResBlock 模块中计算量较大的计算瓶颈,提高了Yolov4-tiny 方法在常数情况下的精度,减少了计算量。为了进一步简化计算过程,Yolov4-tiny 方法在CSPDarknet53-tiny 网络中使用Leaky ReLU 函数作为激活函数,而不使用Yolov4 中使用的Mish 激活函数。在部分,Yolov4-tiny 方法使用特征金字塔网络提取不同尺度的特征地图,提高了目标检测速度,而不使用Yolov4 方法中使用的空间金字塔池化和路径聚合网络。与此同时,Yolov4-tiny 使用了13×13和26×26 这两种不同尺度的特征地图来预测检测结果。假设输入图的大小为416×416,特征分类为80,Yolov4-tiny 网络结构如图1 所示。Yolov4-tiny 方法的预测过程与Yolov4 方法相同。首先调整输入图像的大小,使所有输入图像具有相同的固定大小;其次将输入图像划分为大小为S×S 的网格,每个网格使用B 个边界框检测目标,因此输入图像会生成S×S×B 的边界框,生成的边界框覆盖了整个输入图像。如果某个对象的中心落在某个网格中,网格中的边界框将预测该对象,为了减少预测过程中边界框的冗余,提出了置信阈值。如果边界框的置信值高于置信阈值,则边界框保持不变;否则边框将被删除。包围盒的置信值可得如下:

其中代表第i 个网格中第j 个边界框的置信度,pi, j是目标函数。如果目标在第i个网格的第j个方格中,则pi, j =1,否则pi, j =0。表示预测框与真实框在并集上的交集。可比性得分越大,预测框就越接近地面真相框。Yolov4-tiny 的损耗函数与Yolov4 相同,都是由目标框损失Lcoord 、置信度损失Lcoin 和分类损失Lclass 三部分组成,公式如下所示:

loss1 ,loss2 ,loss3分别代表置信度损失、分类损失、目标框回归损失。

这里S2 是输入图像的格子的个数, B 是格子里边框的个数,是一个目标函数。如果jth 边框是ith 格子里检测的正确目标,否则和分别是预测框的置信度分数和真实框的置信度分数,λnoobj是一个权重参数。

这里的和分别代表预测框和真实框目标属于c 类目标在jth 边框中是ith 格子里的概率。

其中IOU 是预测框和真实框之间的交集并集, wgt和hgt分别为真实框的宽度和高度,W和h分别为预测框的宽度和高度,ρ 2 (b,bgt )为预测框中心点与真实框中心点之间的欧氏距离,C是能包含预测边界盒和真值边界盒的最小对角线距离。

对于卷积神经网络,不同深度的卷积层对应不同级别的特征信息。低级网络具有更高的分辨率和更详细的特征,而高级网络具有更低的分辨率和更多的语义特征。为了使更深层次的网络同时包含丰富的语义特征和图像表面特征,我们基于思想改进了YOLOv4-tiny的网络架构,在原有的框架基础上增加了52×52 比例的输出,使分割图像的像元变小,这有助于提高小尺寸物体检测的精度。 网络架构如图2 所示。其中实线代表YOLOv4-tiny 网络架构,虚线代表我们改进后的网络。

1)增加52×52 的标度输出

①提取高层语义信息和浅层表面信息

我们提取了距离第二输出最近的CSPBlock 卷积层的输出信息,由于在网络中的深层位置,其包含了丰富的语义信息。此外,提取包含图像丰富表面信息的浅层CSPBlock 的输出。

将A 部分提取的两个输出送入1×1×128 的CBL,输出大小为26×26×128,之后是上采样层,将其大小改为52×52×128。然后将输出结果送入concat层进行融合,融合后的特征图大小为52×52×256。这些融合的特征图被处理成3×3×256 的CBL,用于进一步的信息提取。

③增加一个输出尺度将B 节中获得的融合特征图通过1×1×255 的Conv层,再增加一个52×52×255 的输出。在YOLOv4-tiny中, 网络具有13×13 和26×26 的输出。在改良的YOLOv4-tiny 中,我们增加了52×52 比例的输出,使分割图像的像元变小,这有助于提高小尺寸物体检测的精度。

本文使用的车辆目标数据集是利用摄像装置在道路上采集得到,并使用图片标志工具(label Img)对数据集进行标注。通过对图像中的车辆目标用矩形框标记,标记后的图片将以XML 文件存储,作为对应训练图片的标签。数据由训练集、测试集、验证集3 部分组成(如图表2 所示),共使用8 000 张图片进行训练,对已标记好的图像进行整理,以XML 文件作为对应图片训练的标签,存储了3

在这篇文章中,我们所用的数据集都是自己在道路中采集的,之后对数据集进行标签处理。该数据集包含6 500 张训练集和1 200 张验证集,最后从300 张测试集中随机抽取2 张图像分别用YOLOv4-tiny 和改进后的YOLOv4-tiny 模型进行测试,测试效果如图4 和图5 所示。从图4、图5 可以看出,通过对YOLOv4-tiny 与改进后的YOLOv4-tiny 模型进行检测效果对比,YOLOv4-tiny没有将图像中的小目标检测出来,改进后的YOLOv4-

2.2 实验对比与评估

文章将提出的方法与YOLOv4、YOLOv4-tiny 进行比较,测试它们在检测效果精确率P(Precision)、召回率R(Recall)、AP 的性能。其公式可表示为:

其中,FP(False Positive)是真实类别为负,预测类别为正;FN(False Negative)是样本真实类别为负,预测类别为负;TP(True Positive)是样本真实类别为正,预测类别为正;TN(True Negative)是真实类别为正,预测类别为负。

为了提高对小目标的检测效果,文章提出了一种改进的YOLOv4-tiny,将YOLOv4-tiny 提取的高级卷积特征和低级卷积特征进行融合,增加52×52 尺度的输出,并使用K-means 聚类方法在数据集上生成检测框架的锚框。通过将数据集在改进前后的网络上训练,并进行对比测试。实验结果表明,改进后的YOLOv4-tiny 与YOLOv4

[2] 王永平,张红民,彭闯,等.基于YOLO v3的高压开关设备异常发热点目标检测方法[J].红外技术,):983-987.

(本文来源于《电子产品世界》杂志2021年9月期)

计图(Jittor)深度学习框架于2020年3月由清华大学自主研发并发布,在诸多应用领域取得了优于国际主流框架的性能。

近期,阿联酋起源人工智能研究院(IIAI)邵岭教授团队和南开大学程明明教授团队联合构建了隐蔽目标检测(Concealed Object Detection)新任务。团队发布了COD10K数据集,涵盖了真实场景中78个不同类别目标所组成的10,000张图像样本,并提出一种基于分组反向注意力的基线模型,该研究成果发表于IEEET-PAMI[1]。

附 图1中所对应的正确答案

图7 图1中小鸟藏在哪里?

您可通过下方二维码,关注清华大学图形学实验室,了解图形学、Jittor框架、CVMJ期刊和CVM会议的相关资讯。

随着机器视觉和深度卷积神经网络(CNNs)被应用于新的问题和数据,网络架构的进步和这些网络的应用都得到了快速的发展。然而,在大多数分类和目标检测应用中,图像数据是这样的,感兴趣的对象相对于场景来说是很大的。这可以在最流行的公共基准数据集ImageNet、VOC、COCO和CIFAR中观察到。这些数据集和它们对应的挑战赛继续推进网络架构比如SqueezeNets, Squeeze-and-Excitation R-CNN。对于DigitalGlobe的WorldView-3卫星将每个像素表示为30平方厘米的区域的卫星数据。在这些场景中,在大于的场景中像汽车这样的物体通常是13x7像素或更小。这些大型场景需要预处理,以便在现代目标检测网络中使用,包括将原始场景切割成更小的组件用于训练和验证。除此之外,在停车场和繁忙的道路等区域,车辆等物体往往位于较近的位置,这使得车辆之间的边界在卫星图像中难以感知。缺乏公共可用的标记数据也阻碍了对这个应用程序空间的探索,只有xView Challenge数据集拥有卫星捕获的带有标记对象的图像。等空中数据集分类细粒度特性在空中图像(COFGA),大规模数据集在空中图像(队伍),对象检测和汽车开销与上下文(COWC)也有类似的对象类,但存在一个较低的地面样本距离(德牧)使他们更容易获得良好的对象检测结果,但限制了实际应用。考虑到将CNNs应用于卫星数据所面临的挑战,将升级作为预处理步骤对实现准确探测目标的良好性能至关重要。深度学习的进步导致了许多先进的体系结构可以执行升级,在低分辨率图像上训练网络,并与高分辨率副本进行对比验证。尽管关于这一主题的文献越来越多,但超分辨率(SR)在目标检测和分类问题上的应用在很大程度上还没有得到探索,SR与最近邻(NN)插值等也没有文献记载。SR网络作为卫星图像中目标检测的预处理步骤,具有良好的应用前景,但由于其深度网络包含数百万个必须正确训练的参数,因此增加了大量的计算成本。与SR不同的是,NN仍然是最基本的向上缩放方法之一,它通过取相邻像素并假设其值来执行插值,从而创建分段阶跃函数逼近,且计算成本很小。

本文通过研究SR和NN在训练和验证一个应用于卫星图像的目标检测网络时的上升率,旨在确定应用驱动SR的好处,从而定量比较SR和应用于目标检测任务的基本插值方法。为了实现这一目标,提出了一种新的多级管道,将WorldView-3卫星图像进行平铺、高档次平铺,并进一步将平铺后的泛锐图像细化为分辨率增强的组件。大集群的小对象将经过超分辨率数据训练的模型与经过原生分辨率图像训练的模型进行了比较,将神经网络放大2倍,将神经网络放大4倍。通过这样做,能够评估SR在真实机器视觉应用程序中的价值,以及它是否显示出足够的好处,以超过与多个深度学习体系结构共存的平台相关的巨大计算成本。

二、超分与目标检测结合的相关工作

与传统的神经网络或双三次插值方法相比,SR网络具有显著的图像高维化能力,为人类提供了更好的视觉感知能力。这些网络对低分辨率图像进行训练,以学习一个参数空间,以便能够近似出与高分辨率图像高度匹配的图像的放大版本。超分辨率生成对抗网络(SRGAN)、增强深超分辨率(EDSR)、深后向投影网络(DBPN)、超分辨率DenseNets、深拉普拉斯金字塔网络(DLPN)等多种SR网络均存在。虽然每个网络都有不同的体系结构,但所有这些网络都在尝试解决常见SR数据集(如Set14、B100和DIV2K)上的单图像超分辨率问题。SR中的许多研究都集中在比较不同的SR体系结构上,通常使用图像信噪比(PSNR)度量来评估体系结构能够在多大程度上从低分辨率图像重构出真正的高分辨率图像。由于这个原因,这些网络很少基于计算成本进行评估,尽管Shi等人的工作试图使用亚像素CNN架构实现SR的近实时升级。老的应用研究作为目标检测和分类的预处理阶段研究要少得多,尽管最初的研究表明,使用老作为预处理步骤可以产生显著改善小物体的检测和分类在较大的图像和检测对象在本地解析。超分辨率已被证明既能提高图像的视觉效果,又能提高目标检测器的性能。Bosch研究了头顶图像的SR,该图像在飞机的低分辨率图像上显示出明显改善的结果。本文对多个SR网络的PSNR进行了比较,给出了开销图像域的比较。虽然SR增强图像在视觉上很吸引人,但是本文并没有将输出的超分辨率图像应用到任何应用程序中。然而,PSNR并不一定反映机器视觉任务(如图像分类或目标检测)应用程序的改进。Haris通过将SR网络连接到目标检测器的损耗函数并优化SR网络以最小化目标检测损耗来证明这一点。在此过程中,Haris证明了***的目标检测性能发生在一个比最大可达到的PSNR更低的PSNR。在确定SR在目标检测中的效用时,Shermeyer和Etten在xView卫星图像数据集上模拟了各种GSDs,并应用SR体系结构来比较不同分辨率和模型下的目标检测性能。本研究是首个将目标检测与卫星图像上的遥感联系起来的研究,并证明遥感在车辆和船只等小型目标的目标检测方面具有显著的增强作用。Ferdous将SR和SSD对象检测模型应用到VEDAI航空数据集上的车辆检测任务中,对此表示赞同。虽然这两项研究都表明SR对目标检测有改善作用,但它们也忽略了比较单纯的上采样方法(如NN或双三次插值)对目标检测性能的影响。Shermeyer and Etten在xView卫星数据集上模拟了各种各样GSDs,并且应用到SR结构中通过一系列的模型和分辨率来比较性能。

三、目标检测和超分模型

许多方法存在 SR,本文利用EDSR(MultiScale Deep Super-Resolution)。MDSR网络是执行执行2倍,3倍和4倍的上采样模型。该方法结合了剩余学习技术和一种增加网络宽度和降低深度的方法。

从上图可以看出,MDSR产生了一个比NN插值方法更美观的视觉效果。这表明,MDSR网络成功地生产了一个高档,具有更好的PSNR比NN。利用预先训练好的MDSR权值,这些权值的PSNR与使用从原始xView数据集中抽取的低分辨率图像进行完全训练的MDSR网络的PSNR相当。

Xp图形卡上训练YOLOv2模型,批量大小为32,细分大小为8。我们使用0.00025的学习率和0.9的动量。用官方的Darknet-10预训练的卷积权重来预训练我们的模型,并且用ImageNet来初始化我们的模型,增加了数据来随机调整色调、饱和度和曝光率,使模型对颜色和光照的变化具有鲁棒性。训练中还采用了随机平移、缩放和抖动等方法,提高了模型的鲁棒性。使用一个单一的Nvidia Titan Xpfor对训练后的模型进行目标检测和性能评估。为了获得平均精度指标,使用IOU阈值0.5,并扫描边界框的置信阈值,以获得从0.01到0.9的所有置信评分的精度和召回率。

为了获得较好的卫星图像处理性能,提出了一种结合图像平铺和缩放的多级预处理流程。xView数据集中的图像非常大,每个图像的大小大约为。假设YOLOv2网络将所有输入图像的大小调整为416x416,以确保13x13输出特征映射,则必须将原始xView图像平铺成更小的图像,以保留对象。如果没有这个步骤,像车辆这样的非常小的物体将被调整到小于4x4的大小。我们的目标检测流程对卫星图像进行了调整,执行了两个平铺阶段和一个升级步骤。对于xView数据集中的每个图像,从图像中连续切割208x208个片段,每个片段之间的重叠为50个像素。这些被送入一个升级阶段,它将每个片段放大4倍,产生一个832x832的切割。然后,将这些放大后的图像应用到第二阶段的片段中,该阶段使用416x416个重叠像素为50的切面。平铺方案连续的平铺砖从上到下,直到达到图像的边缘,这时平铺砖返回到图像的顶部并向右移动。这将导致图像边缘出现明显的重叠,不过对于大型场景,这种重叠并不明显。在第二个平铺阶段,这种显著的重叠成为性能的一个额外优势,因为它允许YOLOv2有第二次机会检测场景中的对象,通常可以正确地检测在一个重叠平铺中丢失的对象。然后将检测结果拼接在一起,返回相对于原始场景的包围框位置。整个检测的流程如下图所示,

为了消除重叠平铺场景中出现的重叠边界框,我们使用了面积上的交集(IOA)度量。 

边界框是根据YOLOv2的置信度评分排序的,然后与它附近的其他框进行比较。设置阈值,这样,如果一个框与另一个框重叠,其截面积大于边界框面积的75%,则删除置信度较低的框。使用IOA度量不同于许多标准方法要求Intersection-Over-Union(IOU),正如我们所发现,借据不执行一个适当的阈值以及IOA合并重复的边框,同时保留对象的边界框位于近,如卡车,尤其是当这些对象定位在一个角度。 

通过比较xView数据集中车辆的目标检测结果,可以看出平铺和缩放对于提高卫星图像上的模型性能有着重要的作用。如下所示给出地性能表格和PR曲线,将NN插值因子提高2,与不进行缩放的平铺图像相比,AP提高了3.4%。平铺的图像使用我们提出的流程和4倍的升级,结合多级平铺,与本地图像GSD相比,性能提高了22.8%,达到0.683AP。

MDSR和NN升级方法有几乎没有任何区别,NNx4优于MDSRx4 0.02%个AP。观察Precition-Recall曲线,表明对象探测器不是从SR处理图像中提取特色,并没有出现在NNx4图像中。

鉴于YOLOv2模型使用ImageNet上pretrained的权重,然后用xView进行微调,我们怀疑,使用MDSR和NN对对象进行升级所带来的好处,很大程度上是因为这些对象在场景大小方面与ImageNet对象更匹配。因此,使用了向上缩放来辅助从训练前学习的特征提取过程。由于这些特征在卫星场景中是有限的,网络很可能是根据这些小对象中有限的几何形状推断出这些特征,而不是通过先进的升级方法(如MDSR)带来的任何独特特征。

本文所提的目标检测流程在低密度的场景下非常好,这适用于MDSRx4和NNx4上采样场景。在拥挤的场景中,例如道路、高速公路和停车场,本文的检测流程表现良好,但是由于车辆集群之间的边界变得难以感知,因此性能有所下降。对于YOLO对象检测体系结构来说,密集的小对象集群是一个挑战,本文提出的网络能克服YOLO的缺点,并且保持高精度和快的推断速度,当把YOLO应用到真实场景中这是个提升。

我要回帖

更多关于 量化分析模型 的文章

 

随机推荐