CN116030364A - 无人机轻量级目标检测方法、***、介质、设备及终端 - Google Patents
无人机轻量级目标检测方法、***、介质、设备及终端 Download PDFInfo
- Publication number
- CN116030364A CN116030364A CN202211630194.4A CN202211630194A CN116030364A CN 116030364 A CN116030364 A CN 116030364A CN 202211630194 A CN202211630194 A CN 202211630194A CN 116030364 A CN116030364 A CN 116030364A
- Authority
- CN
- China
- Prior art keywords
- network
- yolo
- frame
- box
- aerial vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000000694 effects Effects 0.000 claims abstract description 23
- 230000001629 suppression Effects 0.000 claims abstract description 13
- 230000001976 improved effect Effects 0.000 claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 22
- 238000013528 artificial neural network Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 9
- 238000013461 design Methods 0.000 claims description 8
- 238000002372 labelling Methods 0.000 claims description 7
- 238000012549 training Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 238000003012 network analysis Methods 0.000 claims description 3
- 238000013139 quantization Methods 0.000 abstract description 4
- 238000007667 floating Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 240000007651 Rubus glaucus Species 0.000 description 1
- 235000011034 Rubus glaucus Nutrition 0.000 description 1
- 235000009122 Rubus idaeus Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Image Analysis (AREA)
Abstract
本发明属于计算机视觉技术领域,公开了一种无人机轻量级目标检测方法、***、介质、设备及终端,对YOLO系列网络的主干网络结构进行分析,将特征金字塔与Darknet‑53网络模型相结合,得到Yolov3的主干网络;对YOLO‑fastest的特征金字塔部分进行裁剪,得到裁剪后的YOLO‑fastest网络;构建YOLO解码器,实现非极大值抑制,并在MCU配套的LCD屏幕上呈现识别效果。通过检测结果可以非常明显的发现,本发明裁剪后的YOLO‑fastest网络在目标图片上可以检测出对象目标的位置;裁剪后的网络在推理速度上获得了大幅的提升,量化以后的模型大大减少了浮点运算的次数,加快了推理速度。
Description
技术领域
本发明属于计算机视觉技术领域,尤其涉及一种无人机轻量级目标检测方法、***、介质、设备及终端。
背景技术
目前,电力***中各种电压的变电所及输配电线路组成的整体,称为电力网,它包含变电、输电、配电三个单元,电力网的任务是输送与分配电能,改变电压;近年来,伴随着中国电力发展步伐不断加快,中国电网也得到迅速发展,电网***运行电压等级不断提高,网络规模也不断扩大,全国已经形成了东北电网、华北电网、华中电网、华东电网、西北电网和南方电网6个跨省的大型区域电网,并基本形成了完整的长距离输电电网网架。目标检测是智能电网无人机巡检***中的重要组成部分,很多计算机视觉领域的相关研究者都针对目标检测做了大量的研究。
对于目前的一些轻量化改进后的目标检测算法,已经可以被部署到运用到边缘的嵌入式设备上,比如:Tiny YOLOv3、YOLO Nano、Pelee SS等算法,特别是最近一位研究者提出的YOLO-fastests算法,在树莓派3B这类Cortex-A设备上使用NCNN推理框架已经可以做到单帧推理时间低于100ms的实时检测效果。这些算法尽管让目标检测算法从需要高算力、高成本、高功耗的GPU上,通过做出稍微的精度牺牲然后可以在相对GPU来说低算力、低成本、低功耗的嵌入式设备上实现实时的目标检测功能,但这些Cortex-A或一些有异构加速单元的芯片,对于算力、成本和功耗更为廉价的MCU(Micro Controller Unit微控制器)来说仍然相比甚高。而在现在的智能交通***中存在大量的基于MCU的IOT设备,数量多且分布广,对于行人目标检测这类算法权重基本大于1MB,且FLOPS在0.2Bflos以上,难以实现在MCU设备上进行实时目标检测。如果进行模型更进一步的轻量化裁剪,而检测精度不会大幅度的下降,这对算法模型本身的设计也提出了较高的要求。
除此之外,在进行卷积或池化等多维数据密集计算的时候,是需要耗费大量算力资源的,对于MCU这种本身主频很低(几十兆~几百兆不等),依靠CPU进行昼夜不停的计算也需要耗费非常多的时间,非常难保证实时效果。其实在微处理器上本身具有一些可用于计算加速的资源,比如在Cortex-m4和Cortex-m7上都包含DSP资源,可以在一定程度上对神经网络的加速起到作用,但它的加速作用非常有限,并非所有算子都支持,对于具体的模型和算子如何做相互修改适配,也是一个难点。此外在MCU上运行的往往是不带操作***的裸机或嵌入式微内核实时操***,并不像linux或windows这种宏内核操作***可以非常方便的安装几十上百兆应用软件,如:opencv、tensorflow等,即使使用了面向AI场景的MicroInfer和XidianOS,仍然需要对模型的输出去做进一步的处理,才可以实现输出模型的数据和现实图片的画框进行对应,才具备实际意义,需要设计MCU上使用的YOLO解码器以及实现非极大值抑制(NMS)。
通过上述分析,现有技术存在的问题及缺陷为:
(1)在现在的智能电网***中存在大量的基于MCU的IOT设备,数量多且分布广,对于目标检测这类算法权重基本大于1MB,且FLOPS在0.2Bflos以上,难以实现在MCU设备上进行实时目标检测。
(2)如果进行模型更进一步的轻量化裁剪,而检测精度不会大幅度的下降,这对算法模型本身的设计也提出了较高的要求;微处理器上本身具有可用于计算加速的资源,但它的加速作用非常有限,并非所有算子都支持。
(3)在进行卷积或池化等多维数据密集计算的时候,是需要耗费大量算力资源的,对于MCU这种本身主频很低(几十兆~几百兆不等),依靠CPU进行昼夜不停的计算也需要耗费非常多的时间,非常难保证实时效果。
发明内容
针对现有技术存在的问题,本发明提供了一种无人机轻量级目标检测方法、***、介质、设备及终端。
本发明所采用的技术方案是:一种无人机轻量级目标检测方法,步骤包括:
步骤一:对YOLO系列网络的主干网络结构进行分析,将特征金字塔与Darknet-53网络模型相结合,得到Yolov3的主干网络;
步骤二:对YOLO-fastest的特征金字塔部分进行裁剪,得到裁剪后的YOLO-fastest网络;
步骤三:构建YOLO解码器,实现非极大值抑制,最后在MCU配套的LCD屏幕上呈现识别效果。
其中步骤一具体为:步骤中所述Darknet-53网络模型由Convolutional和Residual结构组成;所述Convolutional结构包括普通卷积层,使用的激活函数为Leaky_relu。
步骤二具体为:所述YOLO-fastest主干网络的Residual结构中,残差模块使用short cut机制,用于缓解在神经网络中单纯增加深度而带来的梯度消失问题;通过恒等映射的方法使得输入和输出之间建立直接连接的通道,进而使得网络汇总网络输入和输出之间的残差值;所述YOLO-fastest的主干网络共使用5个Convolutional结构,且每个Convolutional结构之间均包括shortcut。
从网络裁剪的角度,将原本网络结构中上采样的操作取消,同时裁剪掉原本用于小目标检测输出的分支,只保留对大目标的检测能力;对于主干网络原本的五层Convolutional结构修改为三层,其余的卷积层则予以保留。
步骤三所述YOLO解码器的构建包括:
步骤3.1:编码过程
当输入的图像原图大小(height×weight)为500×600,预测框的坐标值为:(xmin,ymin,xmax,ymax)=(50,100,250,300):
计算预测框的中心像素坐标:
计算预测框的长和宽:
相对于原图尺寸进行归一化计算得到box坐标点为(bx,by,bw,bh):
当一张图片被分割为13×13个grid cell,其中(Gx,Gy,Gw,Gh)表示真实预测框映射到特征图中的四个坐标,分别表示映射后的中心坐标X值和Y值以及预测框映射后的高和宽:
Gx,Gy=[x,y,w,h]×[13,13]=[3.25,5.2];
经过取整得到对应的单元格索引Cx,Cy=(3,5),得到预测框坐标相对于grid坐标的偏移量tx,ty:
取sigmod逆函数得:
对于原图的weight和height,当anchor=(68,118),则:
最终得到编码后的结果:(tx,ty,tw,ty)=(0.25,0.2,1.07,0.528)。
步骤3.2:解码过程
解码算法的设计是编码过程的逆序,对每一次神经网络推理完成后的输出进行解码操作,从而获得真实检测框的(bx,by,bw,bh)。
定义Sigmod函数为:
σ(x)=1/(1+e-x);
解码得到(bx,by,bw,bh):
神经网络不断学习tx,ty,tw,th偏移量和尺度缩放,预测时使用4个offsets求得bx,by,bw,bh;预先定义检测框的锚点,提前算出Pw和Ph。
步骤3.3:非极大值抑制的实现
在训练中挑选bounding box的准则是选择预测的box与数据集中的真实标注预测框的IOU最大的boundingbox做为最优的box,但是在单次推理预测中并没有数据集中的标签值作为参考,挑选最优的boundingbox参考其它置信度。
置信度是每个bounding box输出的其中一个重要参数,代表当前box是否有目标的概率Pr(Object),用于说明当前box内只是目标所处的背景还是具体存在某个预测出来的物体目标;当前的box有目标时,预测的box与物体真实的box可能的IOUtruth_pred值,表示模型认为自己将目标所有特征均框出的自信程度,置信度定义:
在MCU上针对改进后的YOLO-fstest实现NMS的步骤如下:
(1)标记出置信度最高的检测矩形框F,作为确定会保留下来的矩形框;
(2)从最大概率矩形框F开始,遍历其它矩形框依次分别判断和F的重叠度IOU是否大于某个设定的阈值,如果有IOU超过阈值的矩形框则直接扔掉;
(3)再从剩下的矩形框A、C、E中选择概率最大的保留,标记为要保留下来的矩形框;依次判断剩下矩形框的重叠度,超过设定阈值的则扔掉;
(4)依次类推,直到没有剩下任何矩形框,将保留下来的矩形框进行标记。
在NMS中设定一个阈值过滤掉IOU高于阈值的检测框,在MCU上使用的阈值为0.2,对单张图片预测后保留的检测框放入boxs集合;遍历集合的所有检测框,对置信度大于0.2的检测框根据坐标进行描框输出,最后在MCU配套的LCD屏幕上呈现识别效果。
本发明的另一目的在于提供一种应用所述的无人机轻量级目标检测方法的无人机轻量级目标检测***,所述无人机轻量级目标检测***包括:
主干网络分析模块,用于对YOLO系列网络的主干网络结构进行分析,将特征金字塔与Darknet-53网络模型相结合,得到Yolov3的主干网络;
特征金字塔剪裁模块,用于对YOLO-fastest的特征金字塔部分进行裁剪,得到裁剪后的YOLO-fastest网络;
目标检测模块,用于构建YOLO解码器,实现非极大值抑制,最后在MCU配套的LCD屏幕上呈现识别效果。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述的无人机轻量级目标检测方法的步骤。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述的无人机轻量级目标检测方法的步骤。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的无人机轻量级目标检测***。
结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:
第一,针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
仿真实验结果表明,原始YOLO-fastest网络在上位机推理500张图片平均耗时达到268.08s,平均每张图片检测耗时536.17ms;裁剪后的YOLO-fastest在上位机推理500张图片平均耗时13.89s,平均每张图片耗时27.78ms;量化后的YOLO-fastest在上位机推理500张图片平均耗时4.25s,平均每张图片耗时8.5ms。可以看出,本发明裁剪后的网络在推理速度上获得了非常大幅的提升,特别是量化以后的模型大大减少了浮点运算的次数,进一步加快了推理速度。
第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
本发明提供的无人机轻量级目标检测方法,对现有的YOLO系列网络的主干结果进行分析,将特征金字塔与Darknet-53网络模型相结合得到了本发明的YOLO主干网络,并对YOLO-fastest的特征金字塔部分进行裁剪,得到裁剪后的YOLO-fastest网络。裁剪后的YOLO-fastest网络具有更轻的权重和大小与更快的检测速度,能够实际部署在MCU上进行目标检测。MCU在进行目标检测时,利用了NMS解决同一图像的多重检测问题,通过在局部进行最大搜索,从而抑制区域内除了最大值以外的值,这个局部指的是图形中的一个检测框所在区域;通过检测结果可以非常明显的发现,裁剪后的YOLO-fastest网络在目标图片上可以检测出对象目标的位置。
第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
(1)本发明的技术方案转化后的预期收益和商业价值为:
目前社会的多个领域都需要使用到目标检测技术,对于这些领域,利用本发明的技术方案可以使其获得更轻更快的目标检测模型,并且所得到的模型能够在较低性能的MCU上进行部署使用,相比目前市面上所普遍使用的边缘计算平台,能够让成本大大降低,为企业及社会带来巨大的经济效益。
(2)本发明的技术方案克服了技术偏见:
本发明的技术方案创造性地对YOLO目标检测模型进行了裁剪,并将其部署在了MCU平台上,克服了目前绝大多数人对于目标检测模型只能部署在高性能的服务器或边缘计算平台上的技术偏见。较低的性能需求可以使得目标检测技术能够更多地运用在社会的各个领域。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的无人机轻量级目标检测方法流程图;
图2是本发明实施例提供的特征金字塔示意图;
图3是本发明实施例提供的原始YOLO-fastest特征金字塔结构示意图;
图4是本发明实施例提供的裁剪后YOLO-fastest特征金字塔结构示意图;
图5是本发明实施例提供的Darknet-53结构示意图;
图6是本发明实施例提供的Convolutional结构示意图;
图7是本发明实施例提供的Residual结构示意图;
图8是本发明实施例提供的YOLO-fastest主干网络结构示意图;
图9是本发明实施例提供的裁剪后的YOLO-fastest主干网络结构示意图;
图10是本发明实施例提供的裁剪后的YOLO-fastest网络结构示意图;
图11是本发明实施例提供的NMS算法原理示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种无人机轻量级目标检测方法、***、介质、设备及终端,下面结合附图对本发明作详细的描述。
一、解释说明实施例。为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。
如图1所示,本发明实施例提供的无人机轻量级目标检测方法包括以下步骤:
S101,对YOLO系列网络的主干网络结构进行分析,将特征金字塔与Darknet-53网络模型相结合,得到Yolov3的主干网络;
S102,对YOLO-fastest的特征金字塔部分进行裁剪,得到裁剪后的YOLO-fastest网络;
S103,构建YOLO解码器,实现非极大值抑制,最后在MCU配套的LCD屏幕上呈现识别效果。
本发明实施例提供的Darknet-53网络模型由Convolutional和Residual结构组成;所述Convolutional结构包括普通卷积层,使用的激活函数为Leaky_relu。
本发明实施例提供的YOLO-fastest主干网络的Residual结构中,残差模块使用short cut机制,用于缓解在神经网络中单纯增加深度而带来的梯度消失问题;通过恒等映射的方法使得输入和输出之间建立直接连接的通道,进而使得网络汇总网络输入和输出之间的残差值;YOLO-fastest的主干网络共使用5个Convolutional结构,且每个Convolutional结构之间均包括short cut。
从网络裁剪的角度,将原本网络结构中上采样的操作取消,同时裁剪掉原本用于小目标检测输出的分支,只保留对大目标的检测能力;对于主干网络原本的五层Convolutional结构修改为三层,其余的卷积层则予以保留。
本发明实施例提供的YOLO解码器的构建包括:
(1)编码过程
当输入的图像原图大小(height×weight)为500×600,预测框的坐标值为:(xmin,ymin,xmax,ymax)=(50,100,250,300):
计算预测框的中心像素坐标:
计算预测框的长和宽:
相对于原图尺寸进行归一化计算得到box坐标点为(bx,by,bw,bh):
当一张图片被分割为13×13个grid cell,其中(Gx,Gy,Gw,Gh)表示真实预测框映射到特征图中的四个坐标,分别表示映射后的中心坐标X值和Y值以及预测框映射后的高和宽:
Gx,Gy=[x,y,w,h]×[13,13]=[3.25,5.2];
经过取整得到对应的单元格索引Cx,Cy=(3,5),得到预测框坐标相对于grid坐标的偏移量tx,ty:
取sigmod逆函数得:
对于原图的weight和height,当anchor=(68,118),则:
最终得到编码后的结果:(tx,ty,tw,ty)=(0.25,0.2,1.07,0.528)。
(2)解码过程
解码算法的设计是编码过程的逆序,对每一次神经网络推理完成后的输出进行解码操作,从而获得真实检测框的(bx,by,bw,bh)。
定义Sigmod函数为:
σ(x)=1/(1+e-x);
解码得到(bx,by,bw,bh):
神经网络不断学习tx,ty,tw,th偏移量和尺度缩放,预测时使用4个offsets求得bx,by,bw,bh;预先定义检测框的锚点,提前算出Pw和Ph。
本发明实施例提供的非极大值抑制的实现包括:
在训练中挑选bounding box的准则是选择预测的box与数据集中的真实标注预测框的IOU最大的boundingbox做为最优的box,但是在单次推理预测中并没有数据集中的标签值作为参考,挑选最优的boundingbox参考其它置信度。
置信度是每个bounding box输出的其中一个重要参数,代表当前box是否有目标的概率Pr(Object),用于说明当前box内只是目标所处的背景还是具体存在某个预测出来的物体目标;当前的box有目标时,预测的box与物体真实的box可能的IOUtruth_pred值,表示模型认为自己将目标所有特征均框出的自信程度,置信度定义:
在MCU上针对改进后的YOLO-fstest实现NMS的步骤如下:
(1)标记出置信度最高的检测矩形框F,作为确定会保留下来的矩形框;
(2)从最大概率矩形框F开始,遍历其它矩形框依次分别判断和F的重叠度IOU是否大于某个设定的阈值,如果有IOU超过阈值的矩形框则直接扔掉;
(3)再从剩下的矩形框A、C、E中选择概率最大的保留,标价为要保留下来的矩形框;依次判断剩下矩形框的重叠度,超过设定阈值的则扔掉;
(4)依次类推,直到没有剩下任何矩形框,将保留下来的矩形框进行标记。
在NMS中设定一个阈值过滤掉IOU高于阈值的检测框,在MCU上使用的阈值为0.2,对单张图片预测后保留的检测框放入boxs集合;遍历集合的所有检测框,对置信度大于0.2的检测框根据坐标进行描框输出,最后在MCU配套的LCD屏幕上呈现识别效果。
本发明实施例提供的无人机轻量级目标检测***包括:
主干网络分析模块,用于对YOLO系列网络的主干网络结构进行分析,将特征金字塔与Darknet-53网络模型相结合,得到Yolov3的主干网络;
特征金字塔剪裁模块,用于对YOLO-fastest的特征金字塔部分进行裁剪,得到裁剪后的YOLO-fastest网络;
目标检测模块,用于构建YOLO解码器,实现非极大值抑制,最后在MCU配套的LCD屏幕上呈现识别效果。
二、应用实施例。为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
按照本发明所提出的方案,构建了一个在MCU上运行的行人检测***,***部署了裁剪后的YOLO-fastert网络,构建了实时YOLO解码器,实现了非极大值抑制,能够对摄像头中所检测到的行人图像进行准确识别。
三、实施例相关效果的证据。本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
实施例:基于裁剪YOLO-fastest的行人检测网络构建
本发明实施例提出了对YOLO-fastest模型进行轻量化裁剪以及量化的方法。
1.多尺度特征网络结构裁剪
进行目标检测时,一副图像与可能存在多个物体,物体有大有小,所以目标检测模型必须要有检测不同大小物体的能力。而在实际卷积神经网络各层输出的特征图中,不同深度的卷积层所检测到的特征是有区别的,浅层网络的输出的特征图经过的卷积操作少,保留较多的小尺寸细节信息,例如物体颜色、位置、边缘等,信息更加低级、具体,随着网络深度的加深,输出的特征图经过了更多层卷积操作,包含了更广视野范围的图像信息,特征图所提取的信息变得抽象。
FPN(Feature Pyramid Network)特征金字塔网络结构如图2所示,特征金字塔是同时提取低层特征高分辨率和高层特征的高语义信息,通过融合不同层的特征达到预测的效果。并且预测是在每个融合后的特征层上单独进行的,这和常规的特征融合方式不同。FPN对深层信息进行上采样,再和浅层信息逐个相加,从而构建为尺寸不同的特征金字塔结构适用于不同大小的目标且性能优秀,特征金字塔如今成为目标检测算法的一个标准组件。
本发明对YOLO-fastest的特征金字塔部分进行裁剪,由于在IOT设备中,监控固定区域内出现的行人大小尺寸基本一致,因此具体特征金字塔的裁剪方式如图3所示,只保留网络中对大分辨率目标检测能力较强的C1层而去掉C2、C3、C4、C5等需要更深层次特征提取的小目标特征获取能力。裁剪后YOLO-fastest特征金字塔结构如图4所示,仅保留C1层。
由于YOLO-fastest的主干网络比较精简,所以本发明以YOLO-v3为例对YOLO系列网络的主干网络结构进行分析。将特征金字塔与Darknet-53网络模型相结合,就有了Yolov3的主干网络,而在整个YOLO系列网络中,只有卷积层却没有池化层,可以通过调节卷积步长以控制输出特征图的尺寸,所以对于输入图片的尺寸并没有特别限制。接下来需要进一步对主干网络进行裁剪。
以YOLO-v3输入416×416尺寸的图像为例说明,在YOLOv3的Darknet-53网络中特征提取过程如图5所示。
Darknet-53的主体框架如图6所示,它主要由Convolutional和Residual结构所组成。对于Convolutional结构来说,除了普通卷积层的组后外,主要使用的激活函数为Leaky_relu,在YOLO-fastest主干网络中使用的Convolutional结构如图6所示。
在YOLO-fastest主干网络中使用的残差结构如图7所示,残差模块最显著的特点是使用了short cut机制(即类似电路中的短路机制)残差模块用来缓解在神经网络中单纯增加深度而带来的梯度消失问题,使神经网络变得更容易被优化。通过恒等映射(identitymapping)的方法使得输入和输出之间建立了一条直接连接的通道,从而使得网络可以汇总网络输入和输出之间的残差值。
而在YOLO-fastest的主干网络中,总共使用了5个Convolutional结构,并且每个Convolutional结构之间都做了short cut,总体连接关系如图8所示。
从网络裁剪的角度来说,如果在特征金字塔提取特征时,只保留对大物体的检测能力,那在主干网络中也可以适当的裁剪即可,当然不裁剪一定能获得更好的效果,但为了轻量化需要做一定的取舍,所以将原本网络结构中做上采样的操作取消掉,同时裁剪掉原本用于小目标检测输出的分支,只保留对大目标的检测能力,并且对于主干网络原本需要五层Convolutional结构修改为三层,卷积操作会耗费嵌入式微处理器大量的计算开销,所以尽可能的压缩连续卷积的层数也是需要的,其余的卷积层则予以保留,如图9所示。
最后得到本发明裁剪后的YOLO-fastest网络结构如图10所示。
2.基于裁剪YOLO-fastest的行人检测模型部署
2.1YOLO解码器实现
YOLO解码操作(YOLO decode)是为了将神经网络的预测值和真实的图片预测框相对应,即如何通过神经网络的输出值在图片中对目标物体画出检测框。在利用yolov3网络结构提取到out0、out1、out2之后,不同尺度下每个网格点上均有先验框,网络训练过程会对先验框的参数进行调整,继而得到预测框,从不同尺度下预测框还原到原图输入图像上,同时包括该框内目标预测的结果情况(预测框位置、类别概率、置信度分数),这个过程称之为解码。
2.1.1编码过程
尽管在模型部署阶段并不需要进行YOLO编码,但是理解YOLO编码的原理才可以设计出对应的解码算法,此外对于自定义的数据集需要通过编码算法来计算出对应的标签值。
假设输入的图像原图大小(height×weight)为(500×600),预测框的坐标值为:(xmin,ymin,xmax,ymax)=(50,100,250,300):
计算预测框的中心像素坐标:
计算预测框的长和宽:
相对于原图尺寸进行归一化计算得到box坐标点为(bx,by,bw,bh):
假设一张图片被分割为13x13个grid cell,其中(Gx,Gy,Gw,Gh)表示真实预测框映射到feature map(特征图)中的四个坐标,分别表示映射后的中心坐标X值和Y值以及预测框映射后的高和宽。即:
Gx,Gy=[x,y,w,h]×[13,13]=[3.25,5.2](4)
由此经过取整可以得到对应的单元格索引Cx,Cy=(3,5)。得到预测框坐标相对于grid坐标的偏移量tx,ty:
取sigmod逆函数得:
对于原图的weight和height,假设anchor=(68,118):
最终得到编码后的结果:(tx,ty,tw,ty)=(0.25,0.2,1.07,0.528)。
2.1.2解码过程
解码算法的设计是编码过程的逆序,对每一次神经网络推理完成后的输出进行解码操作,从而获得真实检测框的(bx,by,bw,bh)。
定义Sigmod函数为:
σ(x)=1/(1+e-x)(8)
解码得到(bx,by,bw,bh):
神经网络可以不断学习tx,ty,tw,th偏移量和尺度缩放,预测时使用这4个offsets求得bx,by,bw,bh即可,为何对于tx,ty仍需要进行逆向的Sigmod呢?在YOLO中并没有让Gx-Cx后除以Pw得到tx,而是直接Gx-Cx得到tx,这样存在的问题是会导致tx比较大且很可能大于1。因为没有除以Pw归一化尺度,一旦tx,ty算出来大于1就会落入必须其他真实框中,而不能出现在它旁边网格中,引起矛盾,因而必须使用Sigmod进行归一化。至于为何要使用anchor,那是因为直接使用tx,ty参数,可能对预测边界框的宽度和高度有意义,但在实践中这会导致训练期间的梯度不稳定,因此需要预先定义检测框的锚点,即提前算出Pw和Ph。
2.2非极大值抑制(NMS)实现
NMS解决同一图像的多重检测问题。通过在局部进行最大搜索,从而抑制区域内除了最大值以外的值,这个局部指的是图形中的一个检测框所在区域。在筛选目标检测中选取评分最高的检测框时,例如在行人检测中,先使用滑动窗口进行特征提取,然后经分类器计算IOU值识别后,每个检测框就会得到一个分数。但是滑动窗口会导致很多检测框与其他检测框出现大部分交叉的情况,这时候就需要用到NMS来选取那些区域内IOU值最高的窗口,并且去除那些IOU值偏低的检测框。
在训练中本发明挑选boundingbox的准则是选择预测的box与数据集中的真实标注预测框的IOU最大的boundingbox做为最优的box,但是在单次推理预测中并没有数据集中的标签值作为参考,挑选最优的boundingbox就需要参考其它的参数,即置信度。
置信度是每个boundingbox输出的其中一个重要参数,对它的作用定义有两重含义:一重含义是代表当前box是否有目标的概率Pr(Object),也就是说这个概率用来说明当前box内只是目标所处的背景还是具体存在某个预测出来的物体目标。另一重含义表示当前的box有目标时,预测的box与物体真实的box可能的IOUtruth_pred值,表示模型认为自己将目标所有特征都框出来的自信程度,即置信度定义:
如图11所示,在MCU上针对改进后的YOLO-fstest实现NMS算法步骤:
1)标记出置信度最高的检测矩形框F,作为确定会保留下来的矩形框;
2)从最大概率矩形框F开始,遍历其它矩形框依次分别判断和F的重叠度IOU(两个矩形框的交并比)是否大于某个设定的阈值,如果有IOU超过阈值的矩形框则直接扔掉。
3)再从剩下的矩形框A、C、E中选择概率最大的保留,标价为要保留下来的矩形框,然后依次判断剩下矩形框的重叠度,超过设定阈值的则扔掉。
4)依次类推,直到没有剩下任何矩形框,将保留下来的矩形框进行标记。
5)由此看出在NMS算法中需要去设定一个阈值来过滤掉IOU高于阈值的检测框,在MCU上本发明使用的阈值为0.2,对单张图片预测后保留的检测框放入boxs集合,之后遍历该集合的所有检测框,对置信度大于0.2的检测框根据坐标进行描框输出,最后在MCU配套的LCD屏幕上呈现识别效果。
3.实验验证和结果分析
在介绍了基于YOLO-fastest做出改进后的模型结构以及部署要点,本发明主要对改进后的效果进行实验验证,并通过和其它算法对比,分析改进算法的性能和改进的效果。
3.1实验过程及结果分析
在自制交通场景数据集上来对裁剪前后的算法进行精度上的评估,主要采用实际拍摄图片和网络交通图片相结合的方式,由于在自制交通场景数据集中,在西安电子科技大学校园内道路拍摄的图片并无标注文件,需要使用标注工具进行标注来生成标签,本发明使用最常用的LabalImg软件对其进行标注生成对应的XML标注文件,并使用Python脚本将XML标注文件转换为本发明检测程序所需要的TXT标签文件进行使用。
原始YOLO-fastest网络在上位机推理500张图片平均耗时达到268.08s,平均每张图片检测耗时536.17ms;裁剪后的YOLO-fastest在上位机推理500张图片平均耗时13.89s,平均每张图片耗时27.78ms;量化后的YOLO-fastest在上位机推理500张图片平均耗时4.25s,平均每张图片耗时8.5ms。可以看出裁剪后的网络在推理速度上获得了非常大幅的提升,特别是量化以后的模型大大减少了浮点运算的次数,进一步的加快了推理速度。
在上位机通过运行结果对比,在数据上体现了模型精度和推理速度的变化后,接下来展示测试集上面向多目标和单目标的检测效果图片。
通过以上检测结果可以非常明显的发现,裁剪后的YOLO-fastest网络在目标图片上可以检测出对象目标的位置。对裁剪后的YOLO-fastest在不同嵌入式微处理器平台进行推理。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种无人机轻量级目标检测方法,其特征在于,所述无人机轻量级目标检测方法包括:对YOLO系列网络的主干网络结构进行分析,将特征金字塔与Darknet-53网络模型相结合,得到Yolov3的主干网络;对YOLO-fastest的特征金字塔部分进行裁剪,得到裁剪后的YOLO-fastest网络;构建YOLO解码器,实现非极大值抑制,最后在MCU配套的LCD屏幕上呈现识别效果。
2.如权利要求1所述的无人机轻量级目标检测方法,其特征在于,所述Darknet-53网络模型由Convolutional和Residual结构组成;所述Convolutional结构包括普通卷积层,使用的激活函数为Leaky_relu。
3.如权利要求1所述的无人机轻量级目标检测方法,其特征在于,所述YOLO-fastest主干网络的Residual结构中,残差模块使用short cut机制,用于缓解在神经网络中单纯增加深度而带来的梯度消失问题;通过恒等映射的方法使得输入和输出之间建立直接连接的通道,进而使得网络汇总网络输入和输出之间的残差值;所述YOLO-fastest的主干网络共使用5个Convolutional结构,且每个Convolutional结构之间均包括shortcut;
从网络裁剪的角度,将原本网络结构中上采样的操作取消,同时裁剪掉原本用于小目标检测输出的分支,只保留对大目标的检测能力;对于主干网络原本的五层Convolutional结构修改为三层,其余的卷积层则予以保留。
4.如权利要求1所述的无人机轻量级目标检测方法,其特征在于,所述YOLO解码器的构建包括:
(1)编码过程
当输入的图像原图大小(height×weight)为500×600,预测框的坐标值为:(xmin,ymin,xmax,ymax)=(50,100,250,300):
计算预测框的中心像素坐标:
计算预测框的长和宽:
相对于原图尺寸进行归一化计算得到box坐标点为(bx,by,bw,bh):
当一张图片被分割为13×13个grid cell,其中(Gx,Gy,Gw,Gh)表示真实预测框映射到特征图中的四个坐标,分别表示映射后的中心坐标X值和Y值以及预测框映射后的高和宽:
Gx,Gy=[x,y,w,h]×[13,13]=[3.25,5.2];
经过取整得到对应的单元格索引Cx,Cy=(3,5),得到预测框坐标相对于grid坐标的偏移量tx,ty:
取sigmod逆函数得:
对于原图的weight和height,当anchor=(68,118),则:
最终得到编码后的结果:(tx,ty,tw,ty)=(0.25,0.2,1.07,0.528);
(2)解码过程
解码算法的设计是编码过程的逆序,对每一次神经网络推理完成后的输出进行解码操作,从而获得真实检测框的(bx,by,bw,bh);
定义Sigmod函数为:
σ(x)=1/(1+e-x);
解码得到(bx,by,bw,bh):
神经网络不断学习tx,ty,tw,th偏移量和尺度缩放,预测时使用4个offsets求得bx,by,bw,bh;预先定义检测框的锚点,提前算出Pw和Ph。
5.如权利要求1所述的无人机轻量级目标检测方法,其特征在于,所述非极大值抑制的实现包括:
在训练中挑选bounding box的准则是选择预测的box与数据集中的真实标注预测框的IOU最大的boundingbox做为最优的box,但是在单次推理预测中并没有数据集中的标签值作为参考,挑选最优的boundingbox参考其它置信度;
置信度是每个bounding box输出的其中一个重要参数,代表当前box是否有目标的概率Pr(Object),用于说明当前box内只是目标所处的背景还是具体存在某个预测出来的物体目标;当前的box有目标时,预测的box与物体真实的box可能的IOUtruth_pred值,表示模型认为自己将目标所有特征均框出的自信程度,置信度定义:
在MCU上针对改进后的YOLO-fstest实现NMS的步骤如下:
(1)标记出置信度最高的检测矩形框F,作为确定会保留下来的矩形框;
(2)从最大概率矩形框F开始,遍历其它矩形框依次分别判断和F的重叠度IOU是否大于某个设定的阈值,如果有IOU超过阈值的矩形框则直接扔掉;
(3)再从剩下的矩形框A、C、E中选择概率最大的保留,标价为要保留下来的矩形框;依次判断剩下矩形框的重叠度,超过设定阈值的则扔掉;
(4)依次类推,直到没有剩下任何矩形框,将保留下来的矩形框进行标记;
在NMS中设定一个阈值过滤掉IOU高于阈值的检测框,在MCU上使用的阈值为0.2,对单张图片预测后保留的检测框放入boxs集合;遍历集合的所有检测框,对置信度大于0.2的检测框根据坐标进行描框输出,最后在MCU配套的LCD屏幕上呈现识别效果。
6.如权利要求1所述的无人机轻量级目标检测方法,其特征在于,所述无人机轻量级目标检测方法包括以下步骤:
步骤一,多尺度特征网络结构裁剪;
步骤二,基于裁剪YOLO-fastest的行人检测模型部署。
7.一种应用如权利要求1~6任意一项所述的无人机轻量级目标检测方法的无人机轻量级目标检测***,其特征在于,所述无人机轻量级目标检测***包括:
主干网络分析模块,用于对YOLO系列网络的主干网络结构进行分析,将特征金字塔与Darknet-53网络模型相结合,得到Yolov3的主干网络;
特征金字塔剪裁模块,用于对YOLO-fastest的特征金字塔部分进行裁剪,得到裁剪后的YOLO-fastest网络;
目标检测模块,用于构建YOLO解码器,实现非极大值抑制,最后在MCU配套的LCD屏幕上呈现识别效果。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1~6任意一项所述的无人机轻量级目标检测方法的步骤。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1~6任意一项所述的无人机轻量级目标检测方法的步骤。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求7所述的无人机轻量级目标检测***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211630194.4A CN116030364A (zh) | 2022-12-19 | 2022-12-19 | 无人机轻量级目标检测方法、***、介质、设备及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211630194.4A CN116030364A (zh) | 2022-12-19 | 2022-12-19 | 无人机轻量级目标检测方法、***、介质、设备及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116030364A true CN116030364A (zh) | 2023-04-28 |
Family
ID=86078612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211630194.4A Pending CN116030364A (zh) | 2022-12-19 | 2022-12-19 | 无人机轻量级目标检测方法、***、介质、设备及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116030364A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670882A (zh) * | 2024-01-31 | 2024-03-08 | 国网江西省电力有限公司电力科学研究院 | 一种瓷绝缘子串无人机红外自动对焦方法及*** |
CN118171049A (zh) * | 2024-05-13 | 2024-06-11 | 西南交通大学 | 一种基于大数据的边缘计算的电池管理方法及*** |
-
2022
- 2022-12-19 CN CN202211630194.4A patent/CN116030364A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670882A (zh) * | 2024-01-31 | 2024-03-08 | 国网江西省电力有限公司电力科学研究院 | 一种瓷绝缘子串无人机红外自动对焦方法及*** |
CN117670882B (zh) * | 2024-01-31 | 2024-06-04 | 国网江西省电力有限公司电力科学研究院 | 一种瓷绝缘子串无人机红外自动对焦方法及*** |
CN118171049A (zh) * | 2024-05-13 | 2024-06-11 | 西南交通大学 | 一种基于大数据的边缘计算的电池管理方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Data-driven based tiny-YOLOv3 method for front vehicle detection inducing SPP-net | |
CN109753913B (zh) | 计算高效的多模式视频语义分割方法 | |
CN109583345B (zh) | 道路识别方法、装置、计算机装置及计算机可读存储介质 | |
Lin et al. | A license plate recognition system for severe tilt angles using mask R-CNN | |
CN116030364A (zh) | 无人机轻量级目标检测方法、***、介质、设备及终端 | |
CN113723377B (zh) | 一种基于ld-ssd网络的交通标志检测方法 | |
CN109886159B (zh) | 一种非限定条件下的人脸检测方法 | |
Xie et al. | A binocular vision application in IoT: Realtime trustworthy road condition detection system in passable area | |
Xiang et al. | Lightweight fully convolutional network for license plate detection | |
CN111767854B (zh) | 一种结合场景文本语义信息的slam回环检测方法 | |
CN113011338A (zh) | 一种车道线检测方法及*** | |
CN114943888B (zh) | 基于多尺度信息融合的海面小目标检测方法 | |
CN114332921A (zh) | 基于改进聚类算法的Faster R-CNN网络的行人检测方法 | |
CN116503709A (zh) | 一种基于改进YOLOv5的雾霾天气下车辆检测方法 | |
Li et al. | Vehicle detection in uav traffic video based on convolution neural network | |
CN112634289B (zh) | 一种基于非对称空洞卷积的快速可行域分割方法 | |
CN113177956B (zh) | 一种面向无人机遥感影像的语义分割方法 | |
CN114596548A (zh) | 目标检测方法、装置、计算机设备及计算机可读存储介质 | |
CN111160282B (zh) | 一种基于二值化Yolov3网络的红绿灯检测方法 | |
CN112347967A (zh) | 一种复杂场景下融合运动信息的行人检测方法 | |
CN116958939A (zh) | 一种雨雾天气下道路检测方法、***及存储介质 | |
CN116342877A (zh) | 一种复杂场景下基于改进aspp和融合模块的语义分割方法 | |
CN112232162B (zh) | 一种基于多特征融合级联分类器的行人检测方法及装置 | |
CN114494302A (zh) | 图像处理方法、装置、设备及存储介质 | |
Liu et al. | L2-LiteSeg: A Real-Time Semantic Segmentation Method for End-to-End Autonomous Driving |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |