掌桥专利:专业的专利平台
掌桥专利
首页

一种应用于边缘设备的高效实时目标检测方法

文献发布时间:2023-06-19 16:09:34



技术领域

本发明涉及计算机视觉技术领域,尤其涉及一种应用于边缘设备的高效实时目标检测方法。

背景技术

目标检测是计算机视觉中最基本的问题之一,它对图像或视频中的各种对象进行定位和分类。由于其基础性质,对象检测在无人驾驶汽车(UAV)、医学成像、身份验证、机器人导航、运动分析等各个领域都有大量应用。等,并已适应更复杂的问题陈述,如对象跟踪、动作识别、面部识别等。其中许多应用程序需要高度准确的实时反馈。近年来,由于采用了深度学习算法,目标检测在准确性和效率方面都取得了重大进步。目标检测算法通常分来两种类型:一种是两阶段、另一种是单阶段。两阶段模型通常会带来更高的性能。然而,这种类型的资源消耗网络限制了实际应用程序的采用。为了克服这个问题,轻量级移动目标检测器吸引了越来越多的研究兴趣,旨在设计高效的目标检测。高效目标检测的大部分研究以单阶段目标检测模型为主,这些模型在同一网络中进行定位和分类,并专注于使用桌面GPU的实时执行,如YOLOv4,EfficientDet、ScaledYOLOv4等。然而,由于其高计算要求,这些模型的执行速度(以每秒帧数或FPS衡量)在边缘设备上急剧下降。

而现有的算法中的目标检测器可以分为两类:基于锚的检测器和无锚检测器。通常基于锚的两阶段检测器生成区域从图像中提取建议,然后从区域建议中生成最终的边界框。为了提高目标定位的准确性,FPN融合了多尺度的高级语义特征。两级检测器在物体定位上更准确,但在CPU或ARM设备上很难实现实时检测。一级目标检测器也是基于锚点的检测器,在速度和精度之间具有更好的平衡,因此在实践中得到了广泛的应用。SSD,检测多尺度物体,对小物体更友好,但在精度上没有竞争力。同时,YOLO系列(除了YOLOv1)在精度和速度上都表现不错。但是,它并没有解决我们在上一节中分析的一些问题。

无锚探测器旨在消除锚框,这是目标检测的一个重大改进。YOLOv1的主要思想是将图像分割为多个网格,然后预测对象中心附近点的边界框。CornerNet检测边界框的一对角点,而不将锚定框设计为先验框。CenterNet放弃左上角和右下角,直接检测中心点。FCOS首先以每像素预测方式重新制定对象检测,并提出“中心度”分支。无锚检测器解决了基于锚的检测器的一些问题,减少了内存开销,并提供了更精确的边界盒计算。后来的工作进一步从不同方面改进了目标检测器。ATSS提出了一种自适应训练样本选择,根据物体的统计特征自动选择正负样本。广义焦点损失(GFL)消除了FCOS中的“中心性”分支,并将质量估计合并到类预测向量中,形成定位质量和分类的联合表示。

实时对象检测是现代终端节点物联网设备的一项重要功能,由于它们与位于中心的计算平台断开连接,因此不会占用大量计算能力,并面临更严格的电源和延迟限制。但是,将计算能力直接带到正在收集或使用数据的设备上,可以帮助我们节省数据传输和高额计算成本,并改善响应时间和其他带宽问题,以防万一出现故障。位置计算。虽然最近在轻量级计算机视觉领域的大部分工作都集中在减少模型大小和计算量,但重要的是要注意这些改进不会直接转化为更快的模型。事实上,使用这些比较指标而不在目标设备上执行模型可能会导致次优设计。

多尺度特征交互是现代目标检测模型的核心。然而,随着这些特征交互模块的复杂性越来越高,效率和准确性之间的权衡已经饱和,因此需要一种创新的特征交互方法。由于大多数现有方法都侧重于自上而下或自下而上的特征收集方法的某种组合,因此这些路径忽略了非相邻特征尺度之间的许多可能的尺度间交互,这些交互可以显着改善特征细化以进行进一步处理。此外,现有的特征交互方法受到输出尺度数量的限制,因此错过了重要的低级特征。

发明内容

本发明主要是克服现有技术中的不足之处,本发明的目的是提供一种应用于边缘设备的高效实时目标检测方法

为达到以上技术目的,本发明采用以下技术方案:

一种应用于边缘设备的高效实时目标检测方法,其特征在于,所述计算方法包括以下步骤:

S1:使用摄像头获取目标物体的图片信息,然后进行图像预处理。将输入图像转换为矩阵形式,若CNN的输入是彩色图像,则输入层表示为:

将最终处理结果输入到改进的卷积神经网络中进行特征提取;

S2:特征提取的主干网络主要基于ResNet50网络进行的改进;网络中包含了卷积层、非线性激活函数、残差模块以及多头注意力模块:

卷积层的作用是提取输入图片中的信息,这些信息被称为图像特征,这些特征是由图像中的每个像素通过组合或者独立的方式所体现,比如图片的纹理特征,颜色特征:

N=(W-F+2P)÷(S+1)

其中N为:输出大小,W为:输入大小,F为:卷积核大小,P为:填充值的大小,S:步长大小;

非线性激活函数使用的是ELU激活函数:

其中,x为:输入值,α为一个可学习的参数;

残差模块可以理解为以a

z

然后使用上述非线性激活函数进行非线性变换:

a

同样,将a

z

依次类推进行多个残差模块的叠加,以获取图片的跟多特征信息;

多头注意力模块是使用了Transformer中的多头注意力机制,穿差进最后一个子层中将原有的3×3卷积替换为MHSA多头注意力模块:

Attention(q,k,v,r)=softmax(qk

其中q、k、r、v分别表示查询、键、位置编码(这里使用是相对位置编码)和数值。加法和乘法分别表示为元素求和与矩阵乘法,1×1则表示逐点卷积;

S3:现有的多尺度特征交互方法可以分解为自顶向下和自底向上方法的某种组合,一次只关注两个相邻的特征尺度;这错过了大量可能的组合对,并使信息在远距离特征尺度之间的传播效率低下;此外,当重复使用BiFPN中的自上而下和自下而上的路径时,例如从BiFPNx2移动到BiFPNx3,模型的检测精度开始饱和;

在这里,使用了一个轻量级的特征收集和重新分配模块,它将来自主干的原始多尺度特征融合在一起,然后将其重新分配回每个特征尺度;因此,每个尺度的特征图现在包含来自所有其他尺度的直接连接;这样的层不涉及任何繁重的计算或参数,但允许每对特征尺度之间直接链接;

需要注意的是,特征收集和重新分配模块无法取代其他特征聚合方法提供的细致性,但相反,我们的目标是在将它们传递给其他多尺度特征融合方法之前提供极其轻量级的特征处理,从而提供正交的准确性改进;

此外,特征收集和重新分配模块允许独立于检测头中的输出尺度数量,因为我们的特征收集和重新分配模块的输入和输出特征的数量之间没有限制;例如,尽管YOLOv3检测头有3个输出尺度,但我们可以在特征收集阶段使用四种不同的主干特征;

S4:在原始的PAN结构上使用CSP结构进行特征连接和相邻特征图之间的融合;CSP结构被广泛应用于YOLOv4和YOLOX的颈部;在原始CSP-PAN中,每个输出特征图中的通道数与来自主干的输入保持相同;具有大通道数的结构对于移动设备具有昂贵的计算成本;我们通过1×1卷积使所有特征图中的所有通道数等于最小通道数来解决这个问题;然后通过CSP结构使用自顶向下和自底向上的特征融合;缩小的特征导致更低的计算成本和无损的准确性;此外,我们在CSP-PAN的顶部添加了一个特征图比例以检测更多对象;同时,除了1×1卷积之外的所有卷积都是深度可分离卷积;深度可分离卷积通过5×5卷积扩展了感受野;这种结构以更少的参数显着提高了准确性;

CSP块步骤如下:

输入的x经过两个不同的模块,然后进行shortcut连接,最后经过BN和LeakyReLU以及普通的Conv卷积;

模块一:通过1x1的卷积进行通道数减半,然后经过一个Bottleneck模块,这里的参数e控制Bottleneck模块内的hidden层的通道数。然后在经过一个Conv2d模块(没有经过BN和激活函数);

模块二:通过1x1的卷积进行通道数减半(也不经过BN和激活函数);

S5:为了增加两个任务交互、增强检测器学习能力;使用了一个新的head,这个新的head,不仅方便了任务交互,而且为两个任务提供了多尺度的多尺度有效感受野的多层次特征;形式上,令X

其中conv

目标分类:为了明确地提高对齐锚的分类分数,同时减少不对齐锚的分数;在训练过程中使用t来替换正锚的二进制标签;然而,当正锚的标签(即t)随着α和β的增加而变小时,网络无法收敛;因此,我们使用一个归一化的t,即Δt来替换正锚的二进制标签,其中Δt是根据以下两个特性进行归一化:(1)确保有效地学习困难的实例(通常所有相应的正锚都有一个小的t);(2)根据预测的边界框的精度,保留实例之间的等级。最后采用了一个简单的实例级归一化来调整Δt的规模:Δt的最大值等于每个实例内最大的IoU值(u);然后,在分类任务的正锚上计算的二元交叉熵(BCE)可以改写为:

其中,i表示一个实例所对应的N

最后使用焦点损失进行分类,以缓解训练期间负样本和正样本之间的不平衡。分类任务的最终损失函数定义为:

其中j表示N

定位的目标:一个由良好对齐的锚预测的边界盒(即具有大的t)通常同时具有大的分类分数和精确的定位,这样的边界盒在NMS期间更有可能被保留下来。此外,t可以应用于选择高质量的边界盒,通过更仔细地加权损失来提高训练效果;

与分类目标类似,我们根据Δt对每个锚点计算的边界盒回归损失进行重新加权,GIoU损失可以重新表述为:

其中,b

S6:整个目标检测网络使用的是基于NVIDIA提供的CUDA和cudnn神经网络推断加速引擎进行加速处理,以达到实时目标检测的目的;

最后将加速的网络模型部署到Jetson nano边缘设备上,可以达到30FPS的检测速率和90%的检测精度;

本发明所提供的一种应用于边缘设备的高效实时目标检测方法,以单阶段无锚框目标检测算法为基础,所用全新特征提取主干网络、全新特征融合结构以及全新的检测头部均得到实验验证,克服了特征提取不充分、特征融合不完善、信息交互差以及部署后效果不理想的问题,结合COCO数据集和VOC数据集这两大全球公认数据集,在训练模型和调试模型的进程中选取全局最优的训练模型,所得模型参数可以使得分类更精确、定位更精准,同时模型的大小更适合应用于硬件条件有限的边缘设备上,这样获得的目标检测模型更加的符合实时目标检测的要求,所得结果更加合理可靠。本发明除用于做目标检测,还可推广用于分割、人脸识别等领域,具有广泛的应用价值。

有益效果:

与现有技术相比,本发明具有以下有益效果:

以单阶段无锚框目标检测算法为基础,所用全新特征提取主干网络、全新特征融合结构以及全新的检测头部均得到实验验证,克服了特征提取不充分、特征融合不完善、信息交互差以及部署后效果不理想的问题,结合COCO数据集和VOC数据集这两大全球公认数据集,在训练模型和调试模型的进程中选取全局最优的训练模型,所得模型参数可以使得loss曲线更加平滑、loss值更低和模型更小更方便应用于硬件条件更低的边缘设备上,这样获得的目标检测模型更加的符合实时目标检测的要求,所得结果更加合理可靠。本发明除用于做目标检测,还可推广用于分割、人脸识别等领域,具有广泛的应用价值。

附图说明

图1为图像经过缩放和旋转变换后的结果图;

图2为卷积操作过程图;

图3为MSHA注意力模块结构图;

图4为特征收集和重新分配模块结构图;

图5为CSP-PAN特征交互结构图图;

图6为head部分任务信息交互结构图;

图7为模型部署流程图;

图8为图像获取流程以及后处理流程图;

图9为本发明应用效果图;

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例:

一种应用于边缘设备的高效实时目标检测方法,其特征在于,所述计算方法包括以下步骤:

S1:使用摄像头获取目标物体的图片信息,然后进行图像预处理。将输入图像转换为矩阵形式,若CNN的输入是彩色图像,则输入层表示为:

将最终处理结果输入到改进的卷积神经网络中进行特征提取;

S2:特征提取的主干网络主要基于ResNet50网络进行的改进;网络中包含了卷积层、非线性激活函数、残差模块以及多头注意力模块:

卷积层的作用是提取输入图片中的信息,这些信息被称为图像特征,这些特征是由图像中的每个像素通过组合或者独立的方式所体现,比如图片的纹理特征,颜色特征:

N=(W-F+2P)÷(S+1)

其中N为:输出大小,W为:输入大小,F为:卷积核大小,P为:填充值的大小,S:步长大小;

非线性激活函数使用的是ELU激活函数:

其中,x为:输入值,α为一个可学习的参数;

残差模块可以理解为以a

z

然后使用上述非线性激活函数进行非线性变换:

a

同样,将a

z

依次类推进行多个残差模块的叠加,以获取图片的跟多特征信息;

多头注意力模块是使用了Transformer中的多头注意力机制,穿差进最后一个子层中将原有的3×3卷积替换为MHSA多头注意力模块:

Attention(q,k,v,r)=softmax(qk

其中q、k、r、v分别表示查询、键、位置编码(这里使用是相对位置编码)和数值。加法和乘法分别表示为元素求和与矩阵乘法,1×1则表示逐点卷积;

S3:现有的多尺度特征交互方法可以分解为自顶向下和自底向上方法的某种组合,一次只关注两个相邻的特征尺度;这错过了大量可能的组合对,并使信息在远距离特征尺度之间的传播效率低下;此外,当重复使用BiFPN中的自上而下和自下而上的路径时,例如从BiFPNx2移动到BiFPNx3,模型的检测精度开始饱和;

在这里,使用了一个轻量级的特征收集和重新分配模块,它将来自主干的原始多尺度特征融合在一起,然后将其重新分配回每个特征尺度;因此,每个尺度的特征图现在包含来自所有其他尺度的直接连接;这样的层不涉及任何繁重的计算或参数,但允许每对特征尺度之间直接链接;

需要注意的是,特征收集和重新分配模块无法取代其他特征聚合方法提供的细致性,但相反,我们的目标是在将它们传递给其他多尺度特征融合方法之前提供极其轻量级的特征处理,从而提供正交的准确性改进;

此外,特征收集和重新分配模块允许独立于检测头中的输出尺度数量,因为我们的特征收集和重新分配模块的输入和输出特征的数量之间没有限制;例如,尽管YOLOv3检测头有3个输出尺度,但我们可以在特征收集阶段使用四种不同的主干特征;

S4:在原始的PAN结构上使用CSP结构进行特征连接和相邻特征图之间的融合;CSP结构被广泛应用于YOLOv4和YOLOX的颈部;在原始CSP-PAN中,每个输出特征图中的通道数与来自主干的输入保持相同;具有大通道数的结构对于移动设备具有昂贵的计算成本;我们通过1×1卷积使所有特征图中的所有通道数等于最小通道数来解决这个问题;然后通过CSP结构使用自顶向下和自底向上的特征融合;缩小的特征导致更低的计算成本和无损的准确性;此外,我们在CSP-PAN的顶部添加了一个特征图比例以检测更多对象;同时,除了1×1卷积之外的所有卷积都是深度可分离卷积;深度可分离卷积通过5×5卷积扩展了感受野;这种结构以更少的参数显着提高了准确性;

CSP块步骤如下:

输入的x经过两个不同的模块,然后进行shortcut连接,最后经过BN和LeakyReLU以及普通的Conv卷积;

模块一:通过1x1的卷积进行通道数减半,然后经过一个Bottleneck模块,这里的参数e控制Bottleneck模块内的hidden层的通道数。然后在经过一个Conv2d模块(没有经过BN和激活函数);

模块二:通过1x1的卷积进行通道数减半(也不经过BN和激活函数);

S5:为了增加两个任务交互、增强检测器学习能力;使用了一个新的head,这个新的head,不仅方便了任务交互,而且为两个任务提供了多尺度的多尺度有效感受野的多层次特征;形式上,令X

其中conv

目标分类:为了明确地提高对齐锚的分类分数,同时减少不对齐锚的分数;在训练过程中使用t来替换正锚的二进制标签;然而,当正锚的标签(即t)随着α和β的增加而变小时,网络无法收敛;因此,我们使用一个归一化的t,即Δt来替换正锚的二进制标签,其中Δt是根据以下两个特性进行归一化:(1)确保有效地学习困难的实例(通常所有相应的正锚都有一个小的t);(2)根据预测的边界框的精度,保留实例之间的等级。最后采用了一个简单的实例级归一化来调整Δt的规模:Δt的最大值等于每个实例内最大的IoU值(u);然后,在分类任务的正锚上计算的二元交叉熵(BCE)可以改写为:

其中,i表示一个实例所对应的N

最后使用焦点损失进行分类,以缓解训练期间负样本和正样本之间的不平衡。分类任务的最终损失函数定义为:

其中j表示N

定位的目标:一个由良好对齐的锚预测的边界盒(即具有大的t)通常同时具有大的分类分数和精确的定位,这样的边界盒在NMS期间更有可能被保留下来。此外,t可以应用于选择高质量的边界盒,通过更仔细地加权损失来提高训练效果;

与分类目标类似,我们根据Δt对每个锚点计算的边界盒回归损失进行重新加权,GIoU损失可以重新表述为:

其中,b

S6:整个目标检测网络使用的是基于NVIDIA提供的CUDA和cudnn神经网络推断加速引擎进行加速处理,以达到实时目标检测的目的;

最后将加速的网络模型部署到Jetson nano边缘设备上,可以达到30FPS的检测速率和90%的检测精度;

实施例1:

本实施例所用数据来自公开数据集BDD100K(FisherYu等人,2020),所用图片均来自车载摄像头所拍摄的图片,采用图像缩放和旋转变换:

如图1所示。

将处理后的图像输入至卷积层提取输入图片中的信息,这些信息被称为图像特征如图2所示,这些特征是由图像中的每个像素通过组合或者独立的方式所体现,比如图片的纹理特征,颜色特征:

N=(W-F+2P)÷(S+1)

在经过非线性激活函数ELU激活函数、残差块和MHSA多头注意力模块:

z

Attention(q,k,v,r)=softmax(qk

MHSA多头注意力模块结构图如图3所示。

将提取出来的特征信息输入进特征收集和重新分配模块,它将来自主干的原始多尺度特征融合在一起,然后将其重新分配回每个特征尺度。如图4所示。

将整和重分配后的特征信息再输入CSP块中进行信息交互。CSP块如图5所示。

将交互后的信息输入进head部分,首先是通过一个特征提取器使用N个带有激活函数的连续卷积层来计算任务交互特征,如图6所示:

将任务交互后的权重分别进行分类和定位。分类所使用的loss函数为:

定位所使用的loss函数为:

最终的loss为分类的loss加上定位的loss。最后将我们的模型与现有的优秀的模型相对比,可以发现我们的模型检测精度上远优于其他模型,足以证明此方法的卓越性能,如表1所示。

表1此方法与其他方法对比

最后将训练好的模型部署到Jetson nano边缘设备。首先因为边缘设备与电脑环境不同、配置不同所以先将模型进行模型转换即tensorrt加速,接着将获取的图像信息进行处理,将处理好的数据输入进编码完成了的模型中即可完成应用,整个模型部署流程如图7所示。整个图像获取流程以及后处理如图8所示。检测效果图如图9所示。

本发明所提供的一种应用于边缘设备的高效实时目标检测方法,以单阶段无锚框目标检测算法为基础,所用全新特征提取主干网络、全新特征融合结构以及全新的检测头部均得到实验验证,克服了特征提取不充分、特征融合不完善、信息交互差以及部署后效果不理想的问题,结合COCO数据集和VOC数据集这两大全球公认数据集,在训练模型和调试模型的进程中选取全局最优的训练模型,所得模型参数可以使得分类更精确、定位更精准,同时模型的大小更适合应用于硬件条件有限的边缘设备上,这样获得的目标检测模型更加的符合实时目标检测的要求,所得结果更加合理可靠。本发明除用于做目标检测,还可推广用于分割、人脸识别等领域,具有广泛的应用价值。

以上所述,并非对本发明作任何形式上的限制,虽然本发明已通过上述实施例揭示,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些变动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

技术分类

06120114726138