【《高分辨率图像中-大型目标检测算法的分析案例》7400字】_第1页
【《高分辨率图像中-大型目标检测算法的分析案例》7400字】_第2页
【《高分辨率图像中-大型目标检测算法的分析案例》7400字】_第3页
【《高分辨率图像中-大型目标检测算法的分析案例》7400字】_第4页
【《高分辨率图像中-大型目标检测算法的分析案例》7400字】_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高分辨率图像中-大型目标检测算法的分析案例目录TOC\o"1-3"\h\u11149高分辨率图像中-大型目标检测算法的分析案例 1107221.1检测网络的理论分析 1286141.2基于期望风险loss的算法 5301191.3回归loss 7201691.4DIoU和余弦下降 8283501.5自适应检测网络的火车底部数据图 1024951.6基于火车底部的高分辨率图像检测的实验与分析 12检测网络的理论分析传统的深度学习就是根据训练样本,为它制定合适的函数,然后计算输入样本x的估计y与实际输出y’之间的期望风险(误差)最小化。而这种计算已知的训练数据信息所得到的误差,称之为经验风险,经验风险是模型关于训练样本及的平均损失。因此,为了得到更好的训练效果,我们把经验风险最小化,该策略认为经验风险最小的模型是最优的模型。研究实验表明,当数据样本足够大时,经验风险最小化才会使得学习效果更好,因此该方法普遍应用于大数据集之中。但是,这种传统的机器学习方法对小样本高分辨率数据集的训练效果是难以达到预期的。本文的工作就是期望小型的高分辨率数据中也能达到同样的训练效果。基于经验风险的检测算法衍生出许多相关的检测器,可将其分为两类one-stage检测器和two-stage检测器。Two-stage对应的经典检测网络有fastr-cnn[17]和fasterr-cnn[35],这类检测器需要多次进行检测和分类的步骤,其精准度会大大提升,但是会消耗一倍的检测时间,甚至增加了过拟合的现象。在高分辨图像中训练two-stage的网络,会极大概率会出现过拟合的现象。因此,为了避免训练出现过拟合现象,本文选择经典的one-stage检测器作为训练网络,例如,基于caffe框架下的MobileNet和基于YOLO下的Darknet53。MobileNet[18]将标准卷积的计算方式分解,采用深度可分离的卷积方式,有效降低计算量,是一种轻量级的目标检测网络,适用于移动端。该网络通过宽度乘数降低输入输出的通道数量,在分辨率乘数上减少输入输出特征图的大小。记m为输入通道,n为输出通道,卷积核的大小为Dk⋅Dk⋅Dk⋅m⋅n所决定,其中DFDk⋅二是做逐点卷积,即卷积核的大小为1×1⋅1因此,将(2)式和(3)式加在一起就是深度分离卷积的计算量,和标准卷积相比共减少了DkYOLO[20]做期望预测使用的是1×1的卷积层,输出为一个特征映射,因此预测特征图正好与真实特征图的大小相同。在深度方面,特征图有A(5+B)个条目,其中A代表每个目标可以预测边界框的数量,B代表训练目标总个数,(5+B)则表示每个边界框的属性。这些属性介绍了每个边界框的中心坐标、尺寸、目标度分数以及每类目标的置信度。如果目标的中心落在单元格的感知区域中,特征图则根据每个单元格中一个边界框来预测目标。从YOLOv1[20]开始,YOLO算法就是通过划分单元格来做检测,只是划分的数量不一样。在此基础之上,YOLOv2[36]用batchnormalization(BN)[37]作为正则化、加速收敛和避免过拟合的方法,即将BN接到每一卷积层之后,同时也进一步增加训练和测试图像的分辨率。多尺度训练YOLOv3[21]属于端到端进行训练,采用leakyReLU[38]作为激活函数,一个lossfunction搞定训练,只需关注输入端和输出端。YOLOv3有75个卷积层,而且只有卷积层,具有跳跃连接和上采样层,使用代步长为2的卷积层对特征进行下采样,这样低级别特征不会轻易丢失。YOLOv3还引入了的二值化神经网络,二值化神经网络将其权重和激活函数值进行二值化(以+1,-1形式存储,只需1bit)得到的神经网络(权重值和激活函数值存储类型,32bit)。该方法尽管可以大幅提升训练速度,有助于高分辨率图像的训练。横空出世的YOLOv4[30]对目标检测的贡献巨大,与YOLOv3相比,多了CSP结构,从Darknet53变为CSPDarknet53,增加PAN结构。整体框架和YOLOv3所差无几,但是在各个模块均引用了全新的检测算法,对某些算法也进行了改进,如数据增强、残差网络等,是多数经典检测算法的集成品。从宏观上来讲,YOLOv4分为主干网络CSPDarknet53,多尺度融合SPP,实力分割算法PANet,输出Head延续YOLOv3。具体来讲,SPP是采用1×1,5×5,9×9,13×13的最大池化的方式,进行多尺度融合;PANet实现特征的反复提取,增加网络对特征的学习情况;Add表示张量相加,但不会扩充维度。图3-1给出了YOLOv4宏观网络的结构模块。如图所示,CSPDarknet53作为骨干网络连接Neck中的SPP和PANet,最后连接Head中的YOLOv3。图3-1YOLOv4的宏观结构图图3-2给出了YOLOv4的整个结构,共分为以下几个基本部分:CBM,CBL,CSPX,Concate等。具体来讲,CBM是YOLOv4中一种较为简单的结构组合,由卷积层,BN以及Mish激活函数组合而成;CBL表示卷积层,BN以及LeakyRelu激活函数组合而成;CSPX是借鉴CSPNet网络结构,由卷积层和若干个Resunint模块Concate组成;Concat表示张量拼接,维度会扩充,增加网络精度;Resunint是借鉴包含残差结构的Resnet网络。YOLOv4只在Backbone中采用了Mish激活函数,网络后面仍然采用LeakyRelu激活函数。YOLOv4对骨干网络最大的贡献是引入了CrossStageParitialNetwork(CSPNet)[39],其目的是为了解决网络结构中存在大量计算量的问题,而这些大量存在的计算过程是由网络重复优化梯度信息所产生的,最终达到降低过拟合的目的。为了更具体的描述YOLOv4中CSPX的结构,图3-3描述了CSPX和Resunint的具体结构。从图中可以看出CSPX部分重有5个CBM模块,YOLOv4输入图像大小608×608,因此输入特征图连续5次0.5倍的变化,即608->304->152->76->38->19,最终得到大小为19×19的特征图。其中,每个CSPX模块中的最前面的卷积核的大小均为3×3,步幅等于2,以达到下采样的目的。Resunint是一个残差块,由两部分构成,原始输入特征在经过两次CBM结构之后再和本身进行张量拼接。因此,主干网络Backbone采用CSPDarknet53网络的YOLOv4具备以下两个有点:其一,增强了卷积神经网络的鲁棒性,提升了网络的学习能力,减轻了网络计算量,其次,降低了内存的占用率。图3-2YOLOv4的具体网络结构图图3-3Resunit和CSPX的结构图基于期望风险loss的算法判断目标检测中预测目标和实际目标的误差,最常用的方法是计算loss,性能较强的loss算法是检测网络的画龙点睛之笔。本文将loss分为两种,一种是交叉熵loss,用于目标的分类,一种是回归loss,用于目标的定位。比如计算回归loss的函数:IoU[40],GIoU[22],XIoU[41],DIoU[42]。计算分类loss的方法:LabelSmoothing[43]。分类loss本文采取labelsmoothing的方法,这个方法的提出主要是解决过高置信的对抗样本,即目标过于依赖预测目标,并采用类似dropout的手段降低过拟合的现象。大多高分辨率数据集是小样本数据集,因此训练时很容易出现过拟合现象。Labelsmoothing不仅可以保证大目标保持较高的精度,同时增加小目标检测精度,整体的检测精度也会随之升高。采用softmax计算目标的概率分布,记q为softmax的计算式,q=softmax(z)q=ⅇz则交叉熵lossL=−Σ其中,j∈{1,2,3…K},K表示一个样本中所有的目标总数。labelsmoothing为了降低预测中的高置信,labelsmoothing将q'q'在满足ϵ∈(0,1)足够小的条件下,使得qL=−ΣiKq'ilog图3-4蓝色预测边缘框和绿色真实边缘框不相交回归loss,通常使用IoU做计算,regression_loss=1−IoU(9)。作为最常用的评估指标,IoU表示预测目标和真实目标的交集和并集之比,其求解式IoU=|A∩B||A∪B|=|I||U| 其中,A表示预测边缘框,B表示真实边缘框。但是,IoU_loss有一个弊端,当A和B不重叠时,IoU等于0,这将导致IoU等于0的部分不做loss计算,从而导致部分预测的损失。以火车数据图为例,图3-4描述了在测试样本中A和B不相交时的情况。GIoU考虑到了预测边缘框和真实边缘框不相交的情况,即引入了一个惩罚机制。我们找到一个最小的封闭形状C,让C可以把A,B包含在内,然后我们计算C中没有覆盖A和B的面积占C总面积的比值,然后用A与B的IoU减去这个比值,即GIoU=|A∩B||A∪B|−|C−以火车底部数据集为例,图3-5详细描述了一次A与B不相交时,GIoU的具体实现,其中蓝色边缘框表示B、绿色框代表A,黄色框由C表示。从图中可以看出,C是包含A和B的最小框。与IoU相同的是GIoU值越大则表示预测目标越接近真实目标,当A和B面积完全相交时则GIoU=IoU=1,因此,GIoU可以直接替换IoU用作regression_loss的计算,解决了IoU所忽略的地方,但两者的取值不同,GIoU属于区间[−1,1],IoU属于区间[0,1]。将(11)式代入(9)式regression_loss=1−GIoU (12)图3-5基于GIoU预测边缘框和真实边缘框的关系。回归loss无论是火车底部零部件亦或是细菌密集数据集,GIoU都有相应的提升,但提升空间有限。因此本文考虑到,尽管GIoU解决IoU没有考虑到的问题,但是,当A和B相交时,在计算regression_loss时破坏了IoU的本质,在计算A和B不相交时引入了负数。因此,本文就这一问题,提出了XIoU,既在不引入复数的情况下,保证了A和B不相交时的正常计算,也保留了IoU的本质。为了明确表明XIoU的两种情况,图3-6展示了两种预测框和真实框的对应位置关系。从图中可以看出,绿色代表真实框,蓝色表示两种可能的预测框,红色圆圈表示中心点,黄色线段表示预测边缘框距真实边缘框的垂直或水平的最短距离,在同一直线上的两段紫色线段分别表示真实框与预测框中心到长宽的距离。XIoU的计算方法则是用黄色线段的长度比上同线段加上紫色段的值,再用1减去刚才的比值就是XIoU的值。同样的,预测框距真实框越近则XIoU值越大,越远则XIoU值越小证明如下:记证明如下:记n为黄色线段的长度,n+a为紫色线段的长度,设fn=nnXIoU与IoU的取值区间相同,都在[0,1]内。记h1为绿色框的高,用h2表示红色框的高,y1记为绿色框中心的纵坐标,y2表示红框的纵坐标,w1表示绿色框的宽,w预测框和真实框不相交时一共分为两种情况,记H为真实边缘框与预测边缘框垂直方向边与边的距离,W表示平行方向边与边的距离,X,Y分别表示两种A和B中心点的最短距离,由此可得XIoU为XIoU=H其中,H=h1+h22,W=w当交集等于零时,将表达式(13)代入(9)式计算回归loss,当交集大于零时,将(10)式代入(9)式,即当预测框和真实框的交集大于零时函数表达式返回IoU,当预测框和真实框的交集等于零时函数表达式返回XIoU。由此可得回归loss表达式为regression_loss=其中,I表示交集,U表示并集。图3-6基于XIoU的真实边缘框和预测边缘框之间的相互关系。DIoU和余弦下降在本文提出XIoU并发表论文之后,一篇会议论文提出了类似的回归loss求解,即DIoU。当真实框和预测框相互包含的时候,GIoU=IoU,这部分就没有得到GIoU的惩罚,同时也没能得到XIoU的惩罚。因此,DIOU同样采用线段对比的方法,惩罚预测框和真实框相互包含的情况。最小化预测和真实框的标准据集可以被定义为RDIoU其中,ρ(∙)表示欧式距离,即包围A,B边缘框的对角线距离,c表示A和B中心点的距离。将(15)式代入(9)式得回归lossregression_图3-7展示了DIoU的图型解析,其中绿色框代表真实目标,黑色框代表预测框。从图中可以很容易的看出红色线段表示c的大小,ρ∙图3-7DIoU计算回归loss除了loss,适当的调整学习率可以有效提升检测效果,首先分析一下学习率的性能。当学习率较大时,能够加速学习的效率,有助于模型跳出局部最优值。但是如果只用单一的大学习率会造成模型的不精准,也会造成模型训练不收敛。当学习率较小时,有利于模型收敛,帮助模型细化并且可以提高模型的精准度。但是只使用单一的小学习率会造成模型无法跳出局部最优值以及收敛缓慢。学习率主要有两个方面的调整,一是它的变化采用指数下降趋势,二是初始化它的参数。典型的指数下降有learning其中,learning_rate指的是当前的学习率,init_rate余弦下降[44]是经典的学习率调整方法,其学习率机制引入了热重启,让模型进行了多次学习。余弦函数中随着x的增加余弦值首先缓慢下降,然后加速下降。这种下降模式和学习率配合,能以一种十分有效的计算方式来产生很好的效果,其单次学习率变化如下:f(x)=a(1+cos(xπ))x∈[0,1](18)其中,a是指在一次下降时所得系数,x表示在一次热循环中当前得epoch与总的epoch之比,取值范围在[0,1]。图3-8给出了两种学习率随迭代次数对训练样本精准度的影响。由图中的实验结果可以看出,学习率的调整对整个实验有一定的精度提升,其中余弦的学习率采取了指数下降,初始参数为原来的1/2。图3-8两种不同的学习方式随着迭代次数的增加,精准度的变化。纵轴表示精度变化,横轴表示迭代次数。红线是余弦下降的变化曲线,蓝色是离散下降的变化曲线。自适应检测网络的火车底部数据图本文所有火车底部数据图由中国铁路局提供,目标框均为我们人工标记,不同于这些高分辨率图像[45]-[50]。一般卷积核的矩阵维度都是奇数正方形,所以无论是caffe框架下的MobileNet还是YOLO框架下的Darknet都不支持如此大的宽高差值,所以将该数据图裁剪成自适应于检测网络是很有必要的一步。火车底部零部件的数据图的高远远大于宽,并且多数目标占据了整个宽的大小,因此,在做裁剪之前要考虑宽度部分,避免减去重要目标,导致目标特征无法被提取。本文首先介绍了第一种切割方法。该方法考虑了切图时跨越边界的可能性,并进行了8种预测:上、下、左、右、左上、右上、左下、右下。我们分别从图像中裁剪每个目标,在本文中记为目标单独裁剪。为了能更准确的描述裁剪,我们对不同的数据集采用相同的符号记法,但每种符号记法只适用于唯一的数据集。对火车底盘数据图的一种裁剪方式是在不考虑负样本的情况下直接提取目标。图3-9火车底部零部件目标单独裁剪,其中绿色表示目标的边缘框,蓝色框为待裁剪区域。为了凸显目标单独裁剪方法,图3-9给出了裁剪目标的提取过程,如图所示,h1为绿色边缘框(目标的boundingbox)高度的扩展长度,h1,h2分别表示绿框宽度到蓝色边缘框的垂直和水平方向的距离,h1=根据(19)式得到的结果h1和h2,计算蓝色框的在整个图像中的位置。首先计算左上角坐标得到x=x1−h2y=y原始数据图的宽度均为2048像素,但高度处于29956或39956像素。因此为了得到更好的训练效果,我们将原始大图裁剪成宽度不变和高度相等或高度不超过宽度一倍的大小。基于此,本文给出两种裁剪方案,分别是裁剪成2048×2048正方形图和2048×4096的标准矩形图。仅YOLO框架下的部分检测网络支持2048×4096宽度和高度差异。因此,为了获得更好的训练效果,我们对原始的大图像进行了剪切。裁剪实现原理:切图时宽度不变,只有高度变化。裁剪时上下带有重叠部分以此设计切图公式,下式所示计算方法可计算出一张高分辨率图像可以被裁剪成多少张小图h=其中w是图片的宽,hi是带重叠的大小,h为高分辨率图像的高度。当n为整数时,即为恰好切成n份,当n为浮点型时,则多出一快小矩形,令其最后h=w即可。但是这种做法只适合hn1n1为在h1情况下所能切成小图个数,满足条件h−n1w−h1n2标准矩形公式应用情况与正方形一致。经过实验证明YOLO在矩形尺寸标准的情况下对卷积核的影响不大,因此本文最终的实验采取第二种切图方案制作数据集。公式(19)主要用于不考虑负样本的情况,为保证目标能够完全出现在重叠部分,公式(20)适用于带有重叠小目标的数据图,当大目标的高度超过1024,则公式(21)和(22)更加适合裁剪带有此类目标的数据图。基于火车底部的高分辨率图像检测的实验与分析YOLOv3并不是直接用于列车底盘部件检测的启动工作,而是基于caffe框架的MobileNet轻型神经网络。网络结构和具体实现方案见参考文献[2]。以2号摄像头的单通道灰度图像作为训练集。本文仅测试五种目标,分别是钩提杆(Hook)、钩尾扁销(Lift-Rod)、制动梁1号(ZDL1)、制动梁2号(ZDL2)和标签label。一开始,训练样本很少,每个类别不超过1000个,有的甚至不到500个。除了大的目标,小的目标几乎识别不出来。样本不足,目标小,会导致训练效果差,准确率低。随后,本文添加数据样本,对小目标进行“目标放大处理”。本文在不改变原始目标特征的情况下增加其正样本特征值。虽然实验表明,这种处理方法提高了精度,但在实际应用中仍有许多遗漏,预期效果比实际差得多。火车底部数据图总共有7364张训练照片。每种训练的数据总数为:ZDL1个数为208;label有1055个;Lift-Rod有1130个;Hook个数为1255;ZDL2有4054个。试验结果表明,在XIoU条件下对列车底部零件的检测效果最好。比较检验如表1所示。表1.XIoU基于MobileNet和YOLOv3的实验对比。ModelmAPMobileNet70.00%YOLOv376.20%YOLOv3+GIoU86.38%YOLOv3+XIoU86.62%从测试集中随机抽取536张图作为测试图,每种类别的总数如下:ZD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论