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

一种轻量化的目标检测与基于语义分割的自动跟踪方法

2022-12-19 21:01:00 来源:中国专利 TAG:


1.本发明涉及目标检测和目标跟踪等计算机视觉技术领域,尤其涉及一种轻量化的目标检测与基于语义分割的自动跟踪方法。


背景技术:

2.随着ai智能的发展,无人机因其具备轻捷灵敏、自主智能、范围覆盖广、环境依赖低等特点,常被选作空中观测搭载平台,以协助在不同场景需求、不同作业环境下,高质高效、省时省力地完成目标任务。“无人机 ”也常结合目标检测和目标跟踪等计算机视觉技术,向公共安全、边防巡检、农业植保、救灾救火等垂直应用领域发展。因此无人机与计算机视觉技术的结合,具有深远而重大地社会意义、经济效益与应用价值。
3.目标检测与目标跟踪作为计算机视觉的两大基础研究任务。其中,目标检测旨在利用算法来提取目标的表观特征和轮廓区域等信息,以从视频或图像序列中辨别出感兴趣目标和非感兴趣背景,是将目标定位与目标分类两个子任务二合一的技术。而目标跟踪则是通过对摄像头捕获的图像序列分析,计算并找到下一帧图像中目标的确切位置,进而为跟踪平台随动控制、视频序列分析和理解提供轨迹等信息。相较于目标检测关注目标的类别和位置,目标跟踪则更聚焦于目标的运动轨迹。但目标检测与跟踪两者技术并非分割且独立的。目标跟踪根据是否结合使用目标检测算法,划分为detection-free tracking和detection-based tracking两类:前者根据第一帧图像中给出的初始框作为目标假设展开后续跟踪;后者依赖于目标检测模型得到的目标假设,然后进行跟踪和轨迹更新。
4.此外,目标跟踪算法又根据实现原理划分为预测评分、边界框回归、语义分割三大类别。前两类算法在追踪目标发生较大形变时追踪框与目标框之间的iou值大幅度下降,在追踪目标快速移动时产生追踪框漂移等现象。而基于语义分割实现像素级追踪更关注目标本身,用可旋转矩形框对目标进行标定精度更高,对于形变或运动的物体有着更为精准的追踪效果。基于语义分割实现的跟踪除了可快速获取目标的类别、位置、轨迹等基础信息外,还可根据部位分割和关键点识别等技术进一步对目标的搭载、姿态、行为意图等进行延展分析。但现有的基于语义分割实现的跟踪方法均为detection-free tracking方法,需依赖人工框选跟踪目标来启动模型,且模型无法识别目标从视线范围内的离开与进入。因此需要一种可搭载于移动端设备的轻量级方法,在对目标进行实时语义分割的同时还能完成自动跟踪,以克服现有方法存在的问题。


技术实现要素:

5.本发明的目的在于,提供一种轻量化的目标检测方法,并将其与基于语义分割的跟踪算法相结合,得到一种可搭载部署于移动端设备且能够对目标进行实时语义分割的自动跟踪方法。
6.本发明采用的技术方案如下:
7.一种轻量化的目标检测与基于语义分割的自动跟踪方法,包括如下步骤:
8.步骤1:构建并训练轻量化的目标检测网络:
9.步骤1.1:以416
×
416
×
3的图像作为目标检测网络的输入,输入图像首先经过一次卷积核为3
×
3的普通卷积操作,得到208
×
208
×
32的特征层,用于后续步骤的特征提取;其中完成一次普通卷积操作由“卷积 归一化 relu激活函数”三步组成;
10.步骤1.2:步骤1.1获得的特征层作为该步骤的输入,用于对特征信息进行提取。
11.采用深度可分离卷积操作替代原yolov4的普通卷积操作,能够使得模型体积的大幅度缩减和计算量成倍的减少。完成一次深度可分离卷积操作过程如下:首先经过3
×
3的深度卷积(默认步长为1),然后进行归一化和relu函数激活,继而采用1
×
1实现逐点卷积,同样进行归一化和激活操作,使得数据标准化的同时引入非线性映射以更好模拟真实的数据规律。经深度可分离卷积多次特征提取和让通道数扩增的下采样操作后,最终输出尺度分别为52
×
52
×
256、26
×
26
×
512、13
×
13
×
1024的三个有效特征层p3、p4、p5,作为后续步骤的输入。
12.步骤1.3:将步骤1.2中得到的特征层p3、p4、p5输入至特征增强模块,具体如下:
13.步骤1.3-1:将步骤1.2得到的特征层p5作为该步骤的输入,依次利用四个不同尺度的池化核做最大池化进行处理,最大池化的池化核大小分别为13
×
13、9
×
9、5
×
5、1
×
1,并将池化后得到的4个特征层拼接堆叠,通过卷积核为1
×
1的普通卷积,调整为13
×
13
×
512的特征层后输出;
14.步骤1.3-2:经过步骤1.2特征提取后得到特征层p3、p4、p5,经过步骤1.3-1得到特征层,记为p6。首先将p3至p6这4个特征层依次执行3
×
3的普通卷积,使得4个特征层的通道数保持一致。继而以“p6-p5-p4-p3”的方向完成多次上采样操作和与相邻层特征层逐点信息相加的操作,接着以“p3-p4-p5-p6”的方向完成多次下采样操作和与相邻层特征层逐点信息相加的操作,最后得到4个特征层的输出;
15.步骤1.3-3:步骤1.3-2为完成一次双向融合网络,记为一个block。将该block的输出经3
×
3的普通卷积后,再次作为下一层block的输入,多次重复执行步骤1.3-2。完成最后一次block操作后,将最终得到的4个特征层作为下一步骤的输入;
16.步骤1.4:若用于训练模型的数据集包含k类目标,那么对步骤1.3-3输出的4个特征层,
17.完成卷积核为3
×
3和1
×
1的交替卷积,共计5次卷积,将4个特征层的通道数统一调整为(k 5)
×
3,用于预测结果信息的解码,即预测目标的中心点坐标、预测框的宽和高、预测框的置信度以及k类目标的编码(例如one-hot编码);
18.步骤1.5:对用于训练目标检测网络的数据集中的图像进行图像预处理,使图像尺寸调整为416
×
416
×
3后,对步骤步骤1.1至步骤1.4所限定的目标检测网络进行网络模型训练处理,当满足阈值的训练结束条件时,得到训练好的目标检测网络执行步骤2;
19.步骤2:基于语义分割的自动跟踪:
20.根据使用者指定的跟踪目标的范围及跟踪目标的优先级,对目标检测模型检测出的目标进行排序,将排序第一的目标作为待观测目标,并基于待观测目标的中心点坐标,目标框的宽、高信息封装传入指定的目标跟踪算法,即以待观测目标为当前跟踪目标,并启动跟踪模型对当前跟踪目标进行跟踪;
21.对当前跟踪目标进行跟踪时,通过填充(padding)区域的方式判断当前跟踪目标
是否进入检测范围的边界区域,若是,则继续跟踪,若否,则通过区域划分检测的方式判断从边界离开的当前跟踪目标是否在指定时长内重回视线(重回观测画面),若重回观测画面,则继续通过填充区域的方式判断当前跟踪目标是否进入检测范围的边界区域;若未重回观测画面,则依靠区域检测次数判断跟踪目标是否已永久离开监测范围(目标从边界离开后连续指定帧数内未检测到进入边界的同类别目标则认为其永久离开监测范围);若是,则重新找寻新的待观测目标,若否,则通过区域划分检测的方式判断从边界离开的当前跟踪目标是否在指定时长内重回观测画面。
22.本发明提供的技术方案至少带来如下有益效果:本发明的轻量化的目标检测网络是一种超轻量且高精度的目标检测方式,用于获取图像中待检测目标的坐标信息和类别结果,为后续跟踪步骤中对新目标的进入和旧目标消失的辨别做准备;进而在语义分割的目标跟踪算法的基础之上,实现对目标的自动初始化以及目标从边界进入和消失的识别;本发明可以应用于公共安全、边防巡检、农业植保、救灾救火等垂直应用领域,提升对指定目标的检测与跟踪性能。
附图说明
23.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
24.图1为本发明的轻量化目标检测模型结构图;
25.图2为完成一次深度可分离卷积的流程图;
26.图3为空间金字塔池化层结构图;
27.图4为本发明的自动定位跟踪流程图;
28.图5为本发明的边界目标检测流程图;
29.图6为本发明的边界区域示意图;
30.图7为本发明的区域检测示意图。
具体实施方式
31.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此次附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
32.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.现有的基于语义分割实现的跟踪方法均为detection-free tracking方法,需依赖人工框选跟踪目标来启动模型,且模型无法识别目标从视线范围内的离开与进入。为满足空中识别追踪等垂直应用领域发展的需求,本发明设计了一种可搭载于移动端设备的方法,采用轻量级的目标检测算法定位目标,再在此基础上对目标进行实时语义分割的同时
完成对目标的自动跟踪。以下结合实施例对本发明的特征和性能作进一步的详细描述。
34.实施例1
35.一种基于语义分割的轻量化目标自动跟踪方法,包括如下步骤:
36.a:构建并训练轻量化的目标检测网络:在yolov4目标检测算法基础上,对其网络结构的特征提取和特征增强两个部分分别进行优化,以得到超轻量且高精度的目标检测算法,用于获取图像中待检测目标的坐标信息和类别结果,为后续跟踪步骤中对新目标的进入和旧目标消失的辨别做准备;并将目标数据集输入该模型进行训练,轻量级目标检测优化网络的结构如图1所示。
37.a1:构建基于深度可分离卷积实现的特征提取网络:任意尺度的彩色图像作为待检测对象,首先采用四周填充黑色边框的padding填充方式使其成为方形图片,再通过等比例放缩为416
×
416
×
3尺寸的图像作为图1所示网络的输入。经过一次卷积核为3
×
3的普通卷积,可得到208
×
208
×
32的特征层,作为该步骤的输出。其中完成一次普通卷积操作由“卷积 归一化 relu激活函数”三步组成。
38.a2:上一步骤的输出作为该步骤的输入,并通过多次深度可分离卷积,完成对其特征信息的提取。
39.完成一次深度可分离卷积操作的具体步骤如图2所示:首先将多通道的卷积核拆分为多个卷积核,分别对输入的多通道执行卷积核大小为3
×
3的卷积(默认步长为1),然后进行归一化和relu函数激活;继而采用1
×
1的卷积核实现逐点卷积,同样进行归一化和激活操作,使得数据标准化的同时引入非线性映射以更好模拟真实的数据规律。
40.基于深度可分离卷积来完成特征提取的具体操作如图1所示:416
×
416
×
32的特征层,经过一次深度可分离卷积操作得到208
×
208
×
64的特征层;接着执行conv_dw_1,conv_dw_1由两步深度可分离卷积完成,第一次卷积的步长为2,实现卷积层宽高的下采样,得到104
×
104
×
64的特征层,第二次卷积为默认步长1,扩增其通道数,得到104
×
104
×
128的特征层;在上一步的结果之上,同样执行conv_dw_1,得到52
×
52
×
256的特征层,记为p3;在p3的基础上执行conv_dw_2,conv_dw_2包含一次步长为2的深度可分离卷积,和5次步长为1的深度可分离卷积,得到26
×
26
×
512的特征层,记为p4;在p4基础上,执行conv_dw_1,得到13
×
13
×
1024的特征层,记为p5。
41.原yolov4采用残差块结构resblock_body经过反复堆叠来完成特征提取的cspdarknet53网络,随着网络深度加深,经过多次下采样特征层的长宽不断减小的同时,通道数不断翻倍,堆叠次数也在逐步增多。因此每一次执行普通卷积,参与下采样和残差块计算的参数量都在成倍增加。而深度可分离卷积,将多通道的卷积核拆分为多个卷积核,分别对输入的多通道处理来获取空间信息,再采用1
×
1的卷积核进行逐点卷积,将空间信息同跨通道信息结耦。以实现将7
×7×
3的特征层经一次卷积输出为5
×5×
128的特征层为例,普通卷积需要3
×
128
×3×
3=3456个参数,而深度可分离卷积仅需3
×3×
3 3
×
128
×1×
1=411个参数,计算量由169,344降为9,660。故本发明基于深度可分离卷积来实现对特征信息的提取,其轻量化效果非常显著。
42.a3:构建空间金字塔池化层:
43.空间金字塔池化层结构如图3所示。特征层p5作为输入,依次利用池化核大小分别为13
×
13、9
×
9、5
×
5、1
×
1四个不同尺度的特征层,做最大池化进行处理,并将池化后得到
的四个特征层拼接堆叠,然后通过卷积核为3
×
3、1
×
1、3
×
3的三次交替普通卷积,调整为13
×
13
×
512的特征层,记为p6,然后输出至下一步骤;
44.a4:构建基于多尺度特征融合的特征增强网络:
45.经过特征提取后从上至下得到五个特征层,其中p3、p4、p5三个特征层具有较高的语义信息,用于后续模块的特征增强。p5经过步骤a3后得到13
×
13
×
512的特征层,记为p6。在进入特征金字塔网络之前,将p3至p6四个特征层分别采用卷积核大小为1
×
1的普通卷积,将p3至p6特征层的通道数统一调整至128,得到p3_in至p6_in。相较于yolov4在该模块对p3至p5特征层分别设置的通道数128、256、512,本方案统一调整为128,一方面让网络结构变得更加轻盈,一方面为后续采用add方式来实现特征融合做准备。
46.本发明采用add作为融合方式,相较于yolov4采用的concat的融合方式,使得卷积时同一通道的丰富信息能共享卷积核的同时,还能减少计算量。add和concat融合方式的计算过程如公式(1.1)和(1.2)所示,其中x和y分别表示通道数为c的特征层,k为卷积核,*表示卷积操作。
[0047][0048][0049]
其中,xi、yi表示通道i待进行融合的两个特征层,ki表示通道i的卷积核。
[0050]
多尺度特征融合由下至上方向:p6_in因与p5_in的宽高相同,故直接执行3
×
3普通卷积,再同p5_in融合,得到过渡层p5_td;p5_td经过上采样操作同p4_in相融合,得到过渡层p4_td;p4_td经过上采样操作同p3_in相融合,得到输出层p3_out。
[0051]
多尺度特征融合由上至下方向:p4_out由上层p3_out经下采样和输入层p4_in以及过渡层p4_td融合而成;p5_out由上层p4_out经下采样和输入层p5_in以及过渡层p5_td融合而成;p6_out由上层p4_out直接经3
×
3普通卷积,同输入层p6_in融合而成。
[0052]
至此双向融合网络构建完成,形成一个block。将该层block的输出p3_out至p6_out分别执行卷积核为3
×
3的普通卷积,作为下一层block的p3_in至p6_in。前序步骤中将所有特征层的通道数统一下调至128,必然会减少各特整层包含的信息,故可通过多次重复堆叠双向信息传递结构block,让模型在较少的特征数前提下,提炼到更有效的特征信息。但随着特征金字塔的深度继续加深时,模型精度反而有所下降,这是因为上下文信息反复传递,其传递路径越远,遗失的有效特征就越多。本实施例采用的堆叠次数为4,因通过实验发现在该堆叠次数下,模型在大幅度减少参数量和计算量的同时拥有最高的检测精度。完成最后一次特征金字塔操作后,将p3_out、p4_out和p6_out作为预测输出网络的输入。
[0053]
a4:构建预测输出网络:以检测目标类别数是9为例。将上一步骤的输出p3_out、p4_out和p6_out,经卷积核为3
×
3和1
×
1的交替卷积(共5次卷积),调整为52
×
52
×
42、26
×
26
×
42和13
×
13
×
42。三个尺度的输出表示将图像依次划分为52
×
52、26
×
26和13
×
13个方格,每一个方格内对应3个预测框,换而言之3个尺度的特征层分别可实现对小、中、大三类目标的预测。一个先验框需要5个参数表示其位置,包括中心点坐标(x_offset,y_offset)、先验框的宽和高、先验框的置信度,以及还需9个参数通过one-hot编码方式表示9
类目标。而一个方格又有3个预测框,因此各特征层通道数设置为(5 9)
×
3=42,以用于预测输出结果的解码。
[0054]
a5:基于上述构建网络,本例实施获取目标检测的识别结果:轻量化后的目标检测网络可实现对图像中多目标的识别与定位,目标检测模性能如表1所示。
[0055]
表1目标检测模型轻量化前后对比结果
[0056] yolov4轻量化目标检测模型检测精度0.86660.8653准确率0.93360.9409召回率0.77690.7630参数量64,040,0019,644,215计算量25.7gmac3.63gmac模型存储256.3m44.9m
[0057]
根据表1所述,相较于优化前的目标检测模型yolov4,轻量化目标检测模型精简了84.94%的参数量,减少了85.88%的计算量,模型从原256.3m压缩至44.9m,但检测精度仅下降了0.13个百分点。
[0058]
b:应用上一步骤得到的轻量化目标检测模型,在语义分割的目标跟踪算法siammask的基础上,实现对目标的自动初始化以及目标从边界进入和消失的识别。
[0059]
b1:自动定位跟踪:siammask算法作为视频分割算法和目标跟踪算法,是由detection-free tracking跟踪算法常用的由人工手动框选目标作为初始框来驱动模型运行。但在实际应用过程中,图像帧序列接连不断地输入模型,跟踪目标也随时间序列发生空间移动,该方式无法满足实时且准确的要求,故引入之前步骤设计的轻量化检测器,来实现自动定位跟踪。自动定位跟踪的流程如图4所示:
[0060]
(1)开始模型运行;
[0061]
(2)指定跟踪目标的范围及跟踪目标的优先级,根据优先级从高到低赋予各目标分值priority_score(本实施例为9类目标,故设定最大值为10,间隔值为1);
[0062]
(3)视频流传入模型,采用opencv的videocapture()函数提取图像帧frame;
[0063]
(4)经轻量化目标检测算法检测frame图像中的目标;
[0064]
(5)判断frame内是否存在检测目标:若不存在,则执行步骤3,提取视频流的下一帧图像;若存在,则执行步骤6;
[0065]
(6)判断检测器检测出的目标数量:若为单一目标,则直接执行步骤8输出该目标框信息;若为多目标,则执行步骤7;
[0066]
(7)获取目标的预测分值predict_score,计算各目标的排序分值priority_score*predict_score。结合已检测出目标的预测分数和优先级,对其进行排序;
[0067]
(8)从步骤7中选择排序第一的目标作为待观测目标,并将该目标的中线点坐标(x,y)以及目标框的宽和高的信息封装,传入目标跟踪算法siammask;
[0068]
(9)由检测器检测到的目标框替代原手动拉取的目标框,启动跟踪算法,对待跟踪目标进行跟踪;
[0069]
(10)停止跟踪或终止视频流的传入,结束。
[0070]
b2:边界目标检测:siammask算法在当目标离开观测画面后,模型仍会以上一帧追
踪目标为模板template,从已经不包含目标的下一帧图像search中找寻相似度最高的响应区域作为新的追踪目标,例如背景或非必要追踪对象等。故本发明根据上述问题,将轻量化目标检测算法与之相结合,辅助模型能够分辨新目标的进入和旧目标的消失。边界目标检测的流程如图5所示:
[0071]
(1)开始运行模型;
[0072]
(2)经步骤b1,基于轻量化检测器确定当前第k帧图像的自动定位追踪目标;
[0073]
(3)对指定目标采用siammask算法进行追踪;
[0074]
(4)判断当前是否有新的图像帧传入模型:若没有新的图像帧,则执行步骤14;否则执行步骤5;
[0075]
(5)获取当前帧图像的追踪目标位置信息,尤其是中心点坐标;
[0076]
(6)判断跟踪目标target是否进入采集图像的边界区域。其中边界区域的定义如图6所示,设采集图像的分辨率为image_w*image_h,则图中宽为32像素的阴影区域即为边界区域(最小目标的绝对定义为32
×
32,本实施例以此作为边界标准)。故以图中坐标系为标准,当追踪目标的中心点坐标(x,y)满足x∈[32,image_w-32]&y∈[32,image_h-32]时,跳转执行步骤3对下一帧图像持续追踪;否则说明该目标进入边界区域,更新下一帧图像执行步骤7;
[0077]
(7)使用轻量化目标检测算法对k 1帧图像进行区域检测,其区域范围如图7所示,将采集图像均分为4个区域,每个区域大小为(image_w*image_h)/2,判断步骤6中进入边界区域的目标中心点所在区域,对该限定区域进行目标检测。区域检测一方面因缩小检测范围可筛选掉多余目标而提高检测算法的执行速度,一方面限制在上一帧目标所在区域,在目标离开画面后具有更大概率寻回同一目标持续进行追踪;
[0078]
(8)判断检测器是否检测出目标且目标类别与上一帧追踪目标的类别是否匹配,若同时满足上述条件执行步骤11,否则执行步骤9;
[0079]
(9)记录区域检测次数areadet_nums加1(areadet_nums初始值为1)。当追踪目标离开观测范围后,需要判定该目标是否会重回观测画面,故设置areadet_nums这一参数作为判断标准;
[0080]
(10)设置最大检测次数max_det为10,每完成一次检测计数器areadet_nums加1。假设目标从边界离开后连续10帧内都未检测到进入边界时的同类别目标,则默认该目标已永久离开监测范围,跳转执行步骤2,根据自动定位追踪策略重新确定目标进行追踪;否则更新图像帧执行步骤7,再次检测;
[0081]
(11)经步骤8筛选后得到同类别目标,若目标数量为1,模型认为该目标即为之前离开观测范围的同一目标,直接执行步骤14;若不止一个目标,则执行步骤12对目标进行排序;
[0082]
(12)该步骤排序是为了尽可能找回进入边界区域时的同一目标target重新进行跟踪。故采用欧氏距离算法计算检测器检测出的多个目标与target的距离;
[0083]
(13)选择与target最近的目标作为后续跟踪目标,跳转执行步骤3;
[0084]
(14)结束模型运行。
[0085]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
[0086]
以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献