一种基于多移动端-边缘端协同推理的视频目标检测方法
未命名
08-02
阅读:89
评论:0

1.本发明属于边缘计算、视频目标检测技术领域,特别涉及一种基于多移动端-边缘端协同推理的视频目标检测方法。
背景技术:
2.视频目标检测的主要任务是识别和定位每个视频帧中的目标,并使用边界框对目标物体的位置进行标注。视频目标检测技术在无人驾驶、智能安防等领域应用十分广泛,也一直是人工智能以及相关学科的研究热点。随着深度学习技术的发展,各种深度神经网络,比如faster-r-cnn、ssd、yolo等模型,正被广泛应用于目标检测中。
3.现有的视频目标检测技术主要有逐帧的静态图像目标检测、基于“检测+追踪”的方法等。对于逐帧的检测方法,它是在视频的每一帧中执行静态的目标检测器,进而得出所有视频帧的检测结果;而基于“检测+追踪”的方法则是在每帧中执行目标检测器的同时,利用帧与帧之间的上下文信息,对检测结果进行追踪和修正,可进一步提高目标的检测准确率。
4.视频目标检测应用除了需要满足检测结果的准确性,还要考虑时间成本。随着人工智能的落地应用,各种移动设备被用来部署目标检测程序。然而,由于移动设备中的计算资源高度受限,加之网络模型计算的复杂性,仅在移动端很难实现速度与准确度的权衡。边缘计算是一种可行的解决方案,如果将计算任务卸载到接近终端设备的边缘端,利用边缘服务器强大的计算能力,就可以缓解视频目标检测带来的高延迟问题,更易于实现高性能的模型计算和实时服务。
5.虽然当前视频目标检测和边缘计算技术进行了多轮的迭代和更新,已经取得了良好的效果,但是仍有一些关键问题有待讨论。首先,在每一帧视频中,一般只需要定位和识别一小部分前景区域,而大部分背景区域是不需要计算的,因此针对视频中的空间冗余,我们可以改进和优化现有的视频目标检测算法。其次,现有的方法都是假设在单一移动端设备下产生数据并执行模型推理,而在现实情况中,终端设备的数量是相当大的,多个用户可能会同时请求类似的计算服务。在这种情况下,确保合理的任务调度和计算资源分配就显得尤为重要。
技术实现要素:
6.本发明的目的是提供一种基于多移动端-边缘端协同推理的视频目标检测方法,其使用基于内容的裁剪和拼接方法,能够提高多移动端环境下视频目标检测应用的执行效率。
7.本发明提供的技术方案为:
8.一种基于多移动端-边缘端协同推理的视频目标检测方法,包括:
9.通过移动端设备采集视频,以所述视频中上一帧中检测目标边界框的尺寸,作为原始边界框尺寸;对所述原始边界框尺寸进行拓展,按照拓展后的原始边框尺寸对当前帧
的前景区域进行裁剪,得到当前帧的第一目标边界拓展框;
10.确定当前帧中出现的新目标区域,并对所述新目标区域的边界框尺寸进行拓展,得到当前帧的第二目标边界拓展框;
11.以所述第一目标边界拓展框和所述第二目标边界拓展框的并集,作为当前帧的任务集合;
12.边缘服务器同时接收多个移动端设备发送的任务集合后,将多个任务集合中包含所述第一目标边界拓展框和所述第二目标边界拓展框进行拼接,得到拼接图像;
13.边缘服务器对所述拼接图像进行目标检测,将得到的检测结果映射回移动端视频当前帧的相应位置,发送给移动端。
14.优选的是,所述的基于多移动端-边缘端协同推理的视频目标检测方法,还包括:
15.边缘服务器接收到多个移动端设备发送的任务集合后,按照剩余空闲时间从小到大的顺序将各任务集合依次放入本轮计算队列中,直至达到边缘服务器执行单次图像推理的最大容量为止;
16.其中,所述剩余空闲时间表示当前时刻距移动端用户期望的任务完成期限的剩余时间。
17.优选的是,如果存在检测目标在多个历史帧中的偏移量为零,则将这些检测目标视为静态目标,每间隔若干帧对所述静态目标向边缘服务器进行卸载。
18.优选的是,对所述原始边框尺寸进行拓展时,原始边框宽度和高度方向的拓展率分别为:
[0019][0020]
其中,w和h分别为原始边框的宽度和高度,k是参考的历史帧的数量,δwi、δhi表示该目标在历史帧的第i帧相较于第i-1帧的边界框宽度和高度方向的偏移量,和表示该目标在先前k帧宽度和高度方向偏移量的最大值,cw和ch分别为宽度和高度方向的基础拓展率。
[0021]
优选的是,cw和ch的取值范围均为0.1~0.3。
[0022]
优选的是,确定当前帧中出现的新目标区域的方法为:
[0023]
将当前帧的像素值与上一帧的像素值相减,并将得到的差值图转换为灰度图;
[0024]
对灰度图中的像素值进行基于密度的聚类,得到多个像素点类;
[0025]
基于每个所述像素点类构造出最小的外接矩形框;
[0026]
将多个所述外接矩形框分别与所述第一目标边界拓展框进行匹配;如果外接矩形框与所述第一目标边界拓展框的交并比小于阈值,则保留该外接矩形框,并将所述外接矩形框作为新目标区域。
[0027]
优选的是,对所述新目标区域的边框尺寸进行拓展时,拓展率设置为0.1~0.5。
[0028]
优选的是,将多个任务集合中包含所述第一目标边界拓展框和所述第二目标边界拓展框进行拼接的方法为:
[0029]
创建空白图像,将拓展框按图像的高度降序排列,从空白图像的左上角开始依次放置拓展框;
[0030]
其中,放置规则为:后一个拓展框的左上角与前一个拓展框的右上角紧密贴合,从左到右依次排列;如当前行没有足够的空闲区域时,转到下一行,并从上一行第一张图片的左下坐标开始继续放置剩余的拓展框,直到所有的拓展放置完毕。
[0031]
优选的是,在进行目标检测前,还包括重建目标检测的训练集,并通过重建的训练集对所述边缘服务器中的目标检测模型进行训练;
[0032]
其中,重建目标检测的训练集的方法为:
[0033]
利用原始训练集中图像标注文件的目标边界框信息,将原始训练集中的所有目标边界框进行裁剪,每次随机抽取若干目标边界框,拼接到一张新的空白图像中,重新记录好目标在拼接图像中的位置和类别信息,形成多个新的训练图片和标注文件,作为补充训练集;
[0034]
将所述补充训练集中加入所述原始训练集,得到重建的训练集。
[0035]
优选的是,所述补充训练集的数据数量为原始训练集的数据数量的20%。
[0036]
本发明的有益效果是:
[0037]
本发明提供的基于多移动端-边缘端协同推理的视频目标检测方法,可以明显降低待推理视频帧中存在的空间冗余度,极大降低了视频目标检测、尤其是低密度前景环境下目标检测任务的处理时延,并增加模型推理的吞吐量,在实时场景和离线场景下都能发挥其显著作用。
附图说明
[0038]
图1为本发明所述的基于多移动端-边缘端协同推理的视频目标检测方法的框架图。
[0039]
图2为本发明所述的对原目标边界框进行拓展的示意图。
[0040]
图3为本发明所述的多移动端与边缘服务器的数据传输过程的示意图。
具体实施方式
[0041]
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
[0042]
如图1所示,本发明提供了一种基于多移动端-边缘端协同推理的视频目标检测方法,对于特定的视频目标检测场景,在移动端获取到视频的每一帧后,首先对视频当前帧的可能的前景区域进行裁剪,这包括了先前在缓存中存储的原目标和当前的新目标所在区域;然后,在边缘端设计一个多设备的任务调度模块,当各个移动设备的计算任务到达后,按照其任务的总体规模和紧急程度,确定边缘服务器单次计算的任务量。边缘服务器在每次计算时,会将所选中移动端的前景区域拼接在一起,组装成拼接图像后执行目标检测模型。在计算任务完成后,将拼接图像中得到的推理结果映射回原移动端的相应结果,最后在移动端完成修正和更新后输出最终结果。
[0043]
本发明假设收集视频的摄像头处于固定状态,且不考虑视频在摄像机颠簸状态下的检测情形。本发明实现的主要技术过程如下:
[0044]
一、基于历史信息的目标区域裁剪。在当前视频帧需要定位可能的前景区域,这时就需要利用先前帧的检测结果。我们在移动设备中设置一个记录最新k帧推理结果的本地缓存表,每帧的推理信息包括目标的类别、置信度、位置坐标。由于待检测目标在相邻帧之间的位置和状态会发生细微变化,因此在当前帧中不能直接使用缓存表中上一帧目标的原始边界框,而应该以此为基础将原始框尺寸拓展一定长度,再对该前景区域进行裁剪,得到目标的边界拓展框。对于视频帧中的某一个目标,其第t帧应用于原目标边界框宽度和高度方向的拓展率分别为:
[0045][0046]
即拓展后的目标边界框的宽度和高度分为:
[0047][0048]
其中,w和h分别为目标先前的边界框宽度和高度,k是参考的历史帧的数量,由用户设定,δwi、δhi表示该目标第i帧相较于第i-1帧的边界框宽和高方向的偏移量,和表示该目标在先前k帧宽度和高度方向偏移量的最大值,cw、ch分别为宽度、高度方向的基础拓展率,w
′
和h
′
分别为拓展后的目标边界框宽度和高度。设定基础拓展率可为边界框预留额外的前景区域,通过实验分析,最佳设置值在0.1到0.3之间。由原边界框得到的拓展框消除了当前帧对象相对于前一帧的位置偏移带来的影响。另外,由于初始第1帧到第k帧没有足够的参考历史帧的数量,因此需要卸载这些完整视频帧,在边缘服务器执行目标检测模型,并返回其计算出的边界框,以供后续视频帧的使用。
[0049]
二、对视频帧中新目标的检测。基于历史帧的检测结果只能提取当前视频帧中曾经出现过的前景区域,而不能提取视频帧中可能出现的新目标。因此需要在移动端部署新目标区域检测器。在摄像头处于固定状态下,可使用帧间差分法检测新目标的大致区域范围。首先,对当前帧与上一帧的像素值进行相减,并将得到的差值图转换为灰度图,然后,对灰度图中的像素值进行基于密度的聚类,这样能将这些像素点划分为不同的类,接着基于每一个像素点类构造出最小的外接矩形框,这些外接矩形框即可作为新目标的候选位置区域。最后,将这些外接矩形框依次与第一步得到的物体边界拓展框进行匹配,倘若二者的交并比小于给定阈值(如0.5),则表明该矩形框中可能出现了新目标,需要保留下来进一步处理;若交并比大于阈值,则说明该区域与原始目标区域高度重叠,可将其剔除。我们对最终保留下来的外接矩形框进行范围拓展,即可得到新目标的边界拓展框。由于新目标的边界拓展率由于没有历史帧数据作为参考,所以具体数值可由用户进行指定。
[0050]
三、确定待卸载的目标集合。选取新目标与原目标边界拓展框的并集作为待推理任务集合。考虑到部分目标在最近的历史帧中的偏移量总是为零,即视频帧中可能出现的静态目标,我们不会对这些目标进行重复卸载,而是间隔若干帧再重新将这些目标向服务器进行卸载,以获取其最新的推理信息。这样可以减少检测工作中额外的计算量。
[0051]
四、对多个移动端的任务进行调度。当有多个移动端用户同时向边缘服务器发送
计算任务时,服务器需要进行合理的任务调度和计算资源分配。为了满足每个用户的计算需求,这里使用了最小空闲时间优先算法决定优先执行的移动设备。所谓空闲时间是指用户希望完成该任务还需要的时间。任务的初始空闲时间由移动端指定,一般设置为用户期望每帧完成的时间。在任务卸载过程中,空闲时间会由于发送时延和传播时延发生动态变化。当任务达到边缘服务器后,系统会优先选择当前剩余空闲时间最少的移动端,当前剩余空闲时间可表达为t=w+i,其中w和i分别表示任务的等待时间和模型推理时间。具体来看,我们先按照剩余空闲时间从小到大将各个任务依次放入等待队列中。待边缘服务器完成上一轮模型推理后,优先从等待队列中选择当前剩余空闲时间最小的用户任务加入本轮计算中,直至达到边缘服务器执行单次图像推理的最大容量为止。之所以能选择多个移动端同时执行计算任务,是因为每个移动端发送的都是若干前景区域的边界拓展框,通过拼接可以构成拼接图像进行推理。通过该方法,可以明显增加边缘服务器单次处理的移动设备数量,减少移动端的平均响应时间。
[0052]
五、拓展框的拼接。在边缘服务器上拼接由多个移动端设备生成的多个边界拓展框,并形成一张新的图像。具体方法是:先创建一张空白图像,其图像尺寸可根据情况动态调整,然后将这些拓展框按照一定的顺序放置到该空白图像的相应位置。拓展框的放置方法和顺序需要进行合理优化。该问题属于二维装箱问题,即将多个小矩形装载到一个空的大矩形中,并使小矩形的数量尽可能多。考虑到算法的时间复杂度和执行性能,我们选择使用下次适应算法(next-fit)来解决该问题。首先,将这些拓展框的图像按高度降序排列,以减小大图像中未使用的空闲区域的大小;然后,我们从空图的左上角开始依次放置这些图像。放置的原则是,下一张图像的左上角与前一张图像的右上角紧密贴合,从左到右依次排列,如当前行没有足够的空闲区域时,它将转到下一行,并从上一行第一张图片的左下坐标开始继续存储剩余的图像,直到所有的图像都放置完毕。
[0053]
六、执行远程目标检测模型。由于使用了基于裁剪和拼接的方式,这会导致训练集和实际测试集并不完全来源于同一数据分布,所以直接使用原始数据集来训练检测模型容易造成检测精度的下降。为此,我们重建了目标检测的训练集。首先,利用原始训练集中图像标注文件的目标边界框信息,将原始训练集中的所有目标边界框进行裁剪,然后每次从中随机抽取若干目标边界框,并拼接到一张新的空白图像中,最后重新记录好目标在拼接图像中的位置和类别信息,形成新的训练图片和标注文件。我们使用该方法在原始训练集的基础上增加20%的新数据,形成新的训练集。实践证明,该方法可以提高模型在测试阶段的准确性。在模型推理阶段,服务器端执行训练好的目标检测模型,然后将得到的结果映射回移动端视频帧的相应位置,再发送给移动端。在单个目标原始区域中,由于会将视频帧中与该目标距离相近的其他目标也划入拓展框中,所以可能会出现多个推理结果,我们也将这些目标的结果也回传到移动端。
[0054]
七、移动端接收远程计算结果并对本地缓存表进行更新。移动端接收边缘服务器返回的计算结果,并去除服务器重复推理的目标,再将最终的结果添加入本地缓存表中。至此就完成了单帧的目标检测。同理可继续下一帧的推理。
[0055]
移动端层面实施方式:
[0056]
移动端使用手机、树莓派等移动设备进行实际部署和运行。移动端依次读取实时视频流或读取离线视频文件,其中初始帧需要卸载完整的原始图像,并在边缘服务器执行。
当读取第t个视频帧f
t
时,首先将其放缩为目标检测网络输入的固定尺寸,如使用yolo-v5时可调整分辨率为640
×
640,再基于f
t-1
的推理结果提取f
t
的目标边界框,并进行区域拓展,如图2所示,视频帧的前景边界框会根据历史帧的情况,分别在宽高方向拓展一定长度。
[0057]
然后,使用基于帧间差分法得出新目标的边界框集合,新目标的边界框也需要进行边界拓展,由于新目标的边界拓展率由于没有历史帧数据作为参考,所以具体数值可由用户进行指定,一般范围在0.1到0.5之间。两集合合并后通过数据编码再发送给服务器端。部分目标在历史帧中的偏移量接近为零,我们不对这些目标进行卸载,而是每隔若干帧通过卸载的方式重新推理一次。为此,必须提前建立好记录视频中每个目标详细信息的数据缓存表,以便于对某些特殊目标进行单独的分析处理。
[0058]
边缘端层面实施方式:
[0059]
当多个移动端的任务同时到达后,服务器按照用户要求的截止时间优先从设备队列中选择即将达到截止时间的设备,这些被选中移动端中的图像将应用next-fit算法进行拼接,形成一张拼接图像进行推理。首先,需要指定待存储的空白图像的尺寸大小,例如可使用当前检测网络的标准输入尺寸,如yolo为640
×
640,并从设备队列中估计可一次处理的移动端最大工作量,这样就可以选择合适数量的移动端,其中工作量可近似估计为边界拓展框的面积之和。考虑到经过拼接后图像中仍然会有少量的空隙,因此当前选择的移动端工作量应该略小于空白图的面积。当这些选中的移动端拓展框完成拼接后,拼接图像会被输入到目标检测网络中进行推理。推理工作结束后,将拼接图像中的边界框坐标位置映射回原始帧的对应位置,然后回传给移动端。如3图所示,在一次任务调度中,服务器选中了设备p和设备q,将二者的计算任务合成后,再交由目标检测器推理,检测器给出目标的标注框(图3中用虚线标注)等信息,最后经过数据映射,再回传给移动端。
[0060]
本发明利用视频帧上下文的内容相关性,利用前一个视频帧缓存的检测结果,将原始目标可能位于当前帧的关键区域裁剪出来,作为候选计算区域。然后,在移动端应用传统计算机视觉方法(帧间差分法)感知当前视频帧中新目标的可能出现区域。将这些新目标所在边界框与原目标边界框一起发送给边缘服务器,再通过拼接方式后输入网络完成模型推理,大幅度减少视频中背景区域的冗余计算量,同时减少移动端数据的传输量。另一方面,由于每个移动端设备向边缘服务器发送的是待处理的图像区域碎片,本发明将多个移动端的计算任务进行合并,进一步优化系统的计算效率和每个移动端的平均响应时间。
[0061]
本发明提供的支持多移动端设备协同推理的视频目标检测方法,使用基于内容的裁剪和拼接技术,提高多移动端环境下视频目标检测应用的执行效率,并保证精度损失在合理范围内。本发明能够极大地提高了视频目标检测、尤其是低密度前景环境下目标检测任务的效率,在实时场景和离线场景下都能发挥其作用。
[0062]
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
技术特征:
1.一种基于多移动端-边缘端协同推理的视频目标检测方法,其特征在于,包括:通过移动端设备采集视频,以所述视频中上一帧中检测目标边界框的尺寸,作为原始边界框尺寸;对所述原始边界框尺寸进行拓展,按照拓展后的原始边框尺寸对当前帧的前景区域进行裁剪,得到当前帧的第一目标边界拓展框;确定当前帧中出现的新目标区域,并对所述新目标区域的边界框尺寸进行拓展,得到当前帧的第二目标边界拓展框;以所述第一目标边界拓展框和所述第二目标边界拓展框的并集,作为当前帧的任务集合;边缘服务器同时接收多个移动端设备发送的任务集合后,将多个任务集合中包含所述第一目标边界拓展框和所述第二目标边界拓展框进行拼接,得到拼接图像;边缘服务器对所述拼接图像进行目标检测,将得到的检测结果映射回移动端视频当前帧的相应位置,发送给移动端。2.根据权利要求1所述的基于多移动端-边缘端协同推理的视频目标检测方法,其特征在于,还包括:边缘服务器接收到多个移动端设备发送的任务集合后,按照剩余空闲时间从小到大的顺序将各任务集合依次放入本轮计算队列中,直至达到边缘服务器执行单次图像推理的最大容量为止;其中,所述剩余空闲时间表示当前时刻距移动端用户期望的任务完成期限的剩余时间。3.根据权利要求2所述的基于多移动端-边缘端协同推理的视频目标检测方法,其特征在于,如果存在检测目标在多个连续历史帧中的偏移量为零,则将这些检测目标视为静态目标,每间隔若干帧对所述静态目标向边缘服务器进行卸载。4.根据权利要求3所述的基于多移动端-边缘端协同推理的视频目标检测方法,其特征在于,对所述原始边框尺寸进行拓展时,原始边框宽度和高度方向的拓展率分别为:其中,w和h分别为原始边框的宽度和高度,k是参考的历史帧的数量,δw
i
、δh
i
表示该目标在历史帧的第i帧相较于第i-1帧的边界框宽度和高度方向的偏移量,和表示该目标在先前k帧宽度和高度方向偏移量的最大值,c
w
和c
h
分别为宽度和高度方向的基础拓展率。5.根据权利要求2、3或4所述的基于多移动端-边缘端协同推理的视频目标检测方法,其特征在于,c
w
和c
h
的取值范围均为0.1~0.3。6.根据权利要求5所述的基于多移动端-边缘端协同推理的视频目标检测方法,其特征在于,确定当前帧中出现的新目标区域的方法为:将当前帧的像素值与上一帧的像素值相减,并将得到的差值图转换为灰度图;
对灰度图中的像素值进行基于密度的聚类,得到多个像素点类;基于每个所述像素点类构造出最小的外接矩形框;将多个所述外接矩形框分别与所述第一目标边界拓展框进行匹配;如果外接矩形框与所述第一目标边界拓展框的交并比小于阈值,则保留该外接矩形框,并将所述外接矩形框作为新目标区域。7.根据权利要求6所述的基于多移动端-边缘端协同推理的视频目标检测方法,其特征在于,对所述新目标区域的边框尺寸进行拓展时,拓展率设置为0.1~0.5。8.根据权利要求7所述的基于多移动端-边缘端协同推理的视频目标检测方法,其特征在于,将多个任务集合中包含所述第一目标边界拓展框和所述第二目标边界拓展框进行拼接的方法为:创建空白图像,将拓展框按图像的高度降序排列,从空白图像的左上角开始依次放置拓展框;其中,放置规则为:后一个拓展框的左上角与前一个拓展框的右上角紧密贴合,从左到右依次排列;如当前行没有足够的空闲区域时,转到下一行,并从上一行第一张图片的左下坐标开始继续放置剩余的拓展框,直到所有的拓展放置完毕。9.根据权利要求8所述的基于多移动端-边缘端协同推理的视频目标检测方法,其特征在于,在进行目标检测前,还包括重建目标检测的训练集,并通过重建的训练集对所述边缘服务器中的目标检测模型进行训练;其中,重建目标检测的训练集的方法为:利用原始训练集中图像标注文件的目标边界框信息,将原始训练集中的所有目标边界框进行裁剪,每次随机抽取若干目标边界框,拼接到一张新的空白图像中,重新记录好目标在拼接图像中的位置和类别信息,形成多个新的训练图片和标注文件,作为补充训练集;将所述补充训练集中加入所述原始训练集,得到重建的训练集。10.根据权利要求9所述的基于多移动端-边缘端协同推理的视频目标检测方法,其特征在于,所述补充训练集的数据数量为原始训练集的数据数量的20%。
技术总结
本发明公开了一种基于多移动端-边缘端协同推理的视频目标检测方法,包括:通过移动端设备采集视频,以视频中上一帧中检测目标边界框的尺寸,作为原始边界框尺寸;对原始边界框尺寸进行拓展,从视频帧中裁剪得到当前帧的第一目标边界拓展框;确定当前帧中出现的新目标区域,并对新目标区域的边界框尺寸进行拓展,通过裁剪得到当前帧的第二目标边界拓展框;以第一目标边界拓展框和第二目标边界拓展框的并集作为当前帧的任务集合;边缘服务器同时接收多个移动端设备发送的任务集合,将多个任务集合中包含的边界拓展框进行拼接,得到拼接图像;边缘服务器对拼接图像进行目标检测,将得到的检测结果映射回移动端视频当前帧的相应位置,发送给移动端。发送给移动端。发送给移动端。
技术研发人员:王兴旺 沈木子 徐海啸 于美铭
受保护的技术使用者:吉林大学
技术研发日:2023.04.27
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/