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

一种3D目标检测方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 09:24:30


一种3D目标检测方法、装置、电子设备和存储介质

技术领域

本发明涉及目标检测领域,尤指一种3D目标检测方法、装置、电子设备和存储介质。

背景技术

在人工智能技术大力发展的当今社会,计算机视觉技术也得到了空前的发展。目标检测技术是计算机视觉领域里的一个重要的发展方向,在技术日新月异的今天,目前已经不再满足于平面2D图像或视频的目标检测的工作,对于3D目标检测的工作也有了很大的需求。

现有的3D目标检测技术依然采用的是较为复杂的深层次的网络结构进行目标检测工作,检测的速度还有待提高。

发明内容

本发明的目的是提供一种3D目标检测方法、装置、电子设备和存储介质,实现高效率的目标检测。

本发明提供的技术方案如下:

一种3D目标检测方法,包括步骤:

通过卷积神经网络模型提取3D图像的特征向量,得到特征图;

在所述3D图像上生成锚框,将每个所述锚框在所述3D图像上的位置映射到所述特征图上,以形成包含特征向量的锚框;

基于训练数据集标签中的边界框,对所述锚框进行训练,以调整形成预测框;

当所述预测框包含3D目标对象时,预测所述3D目标对象的类别和位置。

进一步优选地,所述当所述预测框包含3D目标对象时,预测所述3D目标对象的类别和位置,包括步骤:

利用所述卷积神经网络模型回归所述预测框的坐标值,以及所述3D目标对象的类别概率,所述坐标值包括中心点坐标值和角点坐标值;

将所述坐标值映射至2D坐标系,计算每个所述预测框与所述边界框的置信度;

基于所述置信度以及所述3D目标对象的损失函数,计算并输出所述3D 目标对象的类别和位置。

进一步优选地,所述通基于所述置信度以及所述3D目标对象的损失函数,计算并输出所述3D目标对象的类别和位置,包括步骤:

通过计算所述3D目标对象的检测结果与真值的交并比,利用设定的损失函数建立所述卷积神经网络模型的损失函数;

基于所述卷积神经网络模型的损失函数迭代训练,以优化所述卷积神经网络模型;

所述卷积神经网络模型的损失函数的计算公式为:

F

其中,L

进一步优选地,所述通过卷积神经网络模型提取3D图像的特征向量,得到特征图,包括步骤:

通过卷积神经网络模型对3D图像的特征向量进行上采样,扩大所述3D 图像的特征图的参数;

通过下采样的方式将所述特征图的尺寸调整为预设尺寸。

进一步优选地,在所述通过卷积神经网络模型提取3D图像的特征向量,得到特征图之前,还包括步骤:

搭建所述卷积神经网络模型;

建立3D图像的样本库,对每个样本3D图像的特征进行标定;

从所述3D图像的样本库提取训练集和验证集,利用所述训练集和所述验证集对所述卷积神经网络模型进行训练与验证,得到深度学习的所述卷积神经网络模型。

进一步优选地,所述搭建所述卷积神经网络模型,包括步骤:

在卷积层后加入改进的残差网络层;

其中,所述改进的残差网络层包括1*1、3*3、3*3、1*1、跳层连接的网络结构;所述卷积神经网络模型的网络层数为61层。

一种3D目标检测装置,包括:

特征提取模块,用于通过卷积神经网络模型提取3D图像的特征向量,得到特征图;

位置映射模块,用于在所述3D图像上生成锚框,将每个所述锚框在所述 3D图像上的位置映射到所述特征图上,以形成包含特征向量的锚框;

训练模块,用于基于训练数据集标签中的边界框,对所述锚框进行训练,以调整形成预测框;

预测模块,用于当所述预测框包含3D目标对象时,预测所述3D目标对象的类别和位置。

进一步优选地,所述预测模块,包括:

回归子模块,用于利用所述卷积神经网络模型回归所述预测框的坐标值,以及所述3D目标对象的类别概率,所述坐标值包括中心点坐标值和角点坐标值;

计算子模块,用于将所述坐标值映射至2D坐标系,计算每个所述预测框与所述边界框的置信度;

输出子模块,用于基于所述置信度以及所述3D目标对象的损失函数,计算并输出所述3D目标对象的类别和位置。

一种电子设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器上所存放的计算机程序,实现所述3D目标检测方法所执行的操作。

一种存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现所述3D目标检测方法所执行的操作。

本发明提供的一种3D目标检测方法、装置、电子设备和存储介质至少具有以下有益效果:

1)本方案中通过采用one-stage类型的目标检测算法,对深度神经网络中的一些权重不高的卷积层进行删除,再对相应的残差层进行改进。使得网络保持原有深度神经网络的精度的同时也能减少参数的数量,更加的加快运算速度。

2)由于需要通过预测目标的预测框与真实框之间的IOU(交并比)来进行置信度的计算,但是在3D空间中很难计算交并比,在本发明中将得到的 bounding box的9个点的坐标信息映射到2D的坐标系中,进行计算。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种3D目标检测方法、装置、电子设备和存储介质的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明中一种3D目标检测方法的一个实施例的流程图;

图2是本发明中数据流的示意图;

图3是本发明中神经网络结构的示意图;

图4是本发明中一种3D目标检测装置的一个实施例的流程图;

图5是本发明中一种电子设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

实施例一

本发明的一个实施例,如图1所示,一种3D目标检测方法,包括:

S100通过卷积神经网络模型提取3D图像的特征向量,得到特征图。

具体的,由于传统的残差网络是先对特征向量进行下采样后再进行上采样到需要的尺寸,会导致参数过多引起的运算速度慢。

在本发明中,残差结构是先对特征向量进行上采样,扩大特征图的参数,再进行下采样缩小到后续需要的尺寸,这样可以更好的减少参数的数量,有助于加快运算的速度。

需要说明的是。因为在残差层进行了下采样操作,所以残差层中最后的一个卷积层后不需要再增加激活函数,防止参数减少过多,而影响检测的精度。

S200在所述3D图像上生成锚框,将每个所述锚框在所述3D图像上的位置映射到所述特征图上,以形成包含特征向量的锚框。

示例性的,锚框(Anchor框)是以待检测位置为中心,以指定的大小和高宽比构成一组锚框。在对图像中的物体进行分类检测之前,先要生成一系列候选的检测框,以便于神经网络进行分类和识别。

在本实施例的模型中,在图片上生成一系列锚框,将这些锚框当成可能的候选区域。模型对这些候选区域是否包含物体进行预测,如果包含目标物体,则还需要进一步预测出物体所属的类别。还有更为重要的一点是,由于锚框位置是固定的,它不大可能刚好跟物体边界框重合,所以需要在锚框的基础上进行微调以形成能准确描述物体位置的预测框,模型需要预测出微调的幅度。在训练过程中,模型通过学习不断的调整参数,最终能学会如何判别出锚框所代表的候选区域是否包含物体,如果包含物体的话,物体属于哪个类别,以及物体边界框相对于锚框位置需要调整的幅度。

S300基于训练数据集标签中的边界框,对所述锚框进行训练,以调整形成预测框。

具体的,目标检测(Object detection)是计算机视觉领域非常基础的一个task,所谓目标检测,就是不仅可以实现目标定位(Object localization),对于每个识别的目标还要进行分类(Classification)。目标检测模型不仅要预测出各个物体的边界框(bounding box),还要给出每个物体的分类概率。通常情况下,目标检测要预测许多边界框。每个边界框还需要一个置信度,代表其包含物体的可能性大小。在后续处理中,通过设定置信度阈值来过滤那些置信度较低的边界框。

通过本实施例中获取训练数据集标签中的边界框,对待检测的图片进行检测,首先利用边界框对多个锚框,使得锚框与边界框无限接近,当交并比达到阈值时,确定这个调整后的锚框为预测框。

S400当所述预测框包含3D目标对象时,预测所述3D目标对象的类别和位置。

示例性的,S400当所述预测框包含3D目标对象时,预测所述3D目标对象的类别和位置,具体包括步骤:

S401利用所述卷积神经网络模型回归所述预测框的坐标值,以及所述3D 目标对象的类别概率,所述坐标值包括中心点坐标值和角点坐标值。

S402将所述坐标值映射至2D坐标系,计算每个所述预测框与所述边界框的置信度。

S403基于所述置信度以及所述3D目标对象的损失函数,计算并输出所述 3D目标对象的类别和位置。

具体的,通过将物体看似为一个长方体(bounding box)长方体的8个角点以及中心点,这9个点都是需要得到的标注信息。通过预测目标的预测框与真实框之间的IOU(交并比)来进行置信度的计算,但是3D空间中很难计算交并比,因此可将得到的9个点的坐标信息映射到2D的坐标系中进行计算。

在本实施例中,采用one-stage类目标检测算法,本身检测速度就要优于传统的two-stage目标检测算法。通过采用one-stage类型的目标检测算法,对深度神经网络中的一些权重不高的卷积层进行删除,再对相应的残差层进行改进。使得网络保持原有深度神经网络的精度的同时也能减少参数的数量,更加的加快运算速度。

具体的,所述通基于所述置信度以及所述3D目标对象的损失函数,计算并输出所述3D目标对象的类别和位置,包括步骤:

通过计算所述3D目标对象的检测结果与真值的交并比,利用设定的损失函数建立所述卷积神经网络模型的损失函数。

具体的,所谓置信度其实包含两个方面,一是这个边界框含有目标的可能性大小,二是这个边界框的准确度。边界框的准确度可以用预测框与ground truth的IOU(交并比)来表征。

边界框的大小与位置可以用4个值来表征:(x,y,w,h),其中(x,y)是边界框的中心坐标,而w和h是边界框的宽与高。还有一点要注意,中心坐标的预测值(x,y)是相对于每个单元格左上角坐标点的偏移值,并且单位是相对于单元格大小的。边界框的w和h预测值是相对于整个图片的宽与高的比例,因此理论上4个元素的大小应该在[0,1]范围。这样,每个边界框的预测值实际上包含5个元素:(x,y,w,h,c),其中前4个表征边界框的大小与位置,最后一个值是置信度。

基于所述卷积神经网络模型的损失函数迭代训练,以优化所述卷积神经网络模型。

所述卷积神经网络模型的损失函数的计算公式为:

F

其中,L

实施例二

基于上述实施例,在本实施例中与上述实施例相同的部分就不一一赘述了。结合实施例一,本发明提供一种3D目标检测方法的另一个实施例,包括:

在S100通过卷积神经网络模型提取3D图像的特征向量,得到特征图之前,还包括:

搭建所述卷积神经网络模型。

建立3D图像的样本库,对每个样本3D图像的特征进行标定。

从所述3D图像的样本库提取训练集和验证集,利用所述训练集和所述验证集对所述卷积神经网络模型进行训练与验证,得到深度学习的所述卷积神经网络模型。

通过卷积神经网络模型对3D图像的特征向量进行上采样,扩大所述3D 图像的特征图的参数。

通过下采样的方式将所述特征图的尺寸调整为预设尺寸。

具体的,所述搭建所述卷积神经网络模型,包括步骤:

在卷积层后加入改进的残差网络层。

其中,所述改进的残差网络层包括1*1、3*3、3*3、1*1、跳层连接的网络结构;所述卷积神经网络模型的网络层数为61层。

示例性的,如图2、3所示,在本实施例中,神经网络层也是深层神经网络,网络层数为61层。在正常的卷积层后加入了改进的残差网络层。传统的残差网络层一般有2层或3层的结构,2层结构是1*1、3*3的卷积层,加一个跳层连接,3层结构是1*1、3*3、1*1的三个卷积层串联,再加一个跳层连接。在本实施例中,采用4层结构是1*1、3*3、3*3、1*1,再加跳层连接的结构。

其中,如图2、3所示的CBL是我们网络结构的基础,也是出现最多结构,其结构包括以下部分:Conv卷积层,BN表示归一化,LeakyRelu表示激活函数。由于本实施例中网络结构包含了5*res,因此可以更加高效的使用特征。

在图2中maxpool是指MAX pooling,是对于每一个channel(通道)(假设有N个channel),将该channel(通道)的feature map(特征图)的像素值选取其中最大值作为该channel(通道)的代表,从而得到一个N维向量表示。Softmax逻辑回归,softmax是用于分类过程,用来实现多分类的,简单来说,它把一些输出的神经元映射到(0-1)之间的实数,并且归一化保证和为1,从而使得多分类的概率之和也刚好为1。最后的输出是每个分类被取到的概率。

实施例三

如图4所示,本发明还提供一种3D目标检测装置,包括:

401特征提取模块,用于通过卷积神经网络模型提取3D图像的特征向量,得到特征图。

402位置映射模块,用于在所述3D图像上生成锚框,将每个所述锚框在所述3D图像上的位置映射到所述特征图上,以形成包含特征向量的锚框。

403训练模块,用于基于训练数据集标签中的边界框,对所述锚框进行训练,以调整形成预测框。

404预测模块,用于当所述预测框包含3D目标对象时,预测所述3D目标对象的类别和位置。

示例性的,所述预测模块,包括:

回归子模块,用于利用所述卷积神经网络模型回归所述预测框的坐标值,以及所述3D目标对象的类别概率,所述坐标值包括中心点坐标值和角点坐标值。

计算子模块,用于将所述坐标值映射至2D坐标系,计算每个所述预测框与所述边界框的置信度。

输出子模块,用于基于所述置信度以及所述3D目标对象的损失函数,计算并输出所述3D目标对象的类别和位置。

本发明的一个实施例,如图5所示,一种电子设备100,包括处理器110、存储器120,其中,存储器120,用于存放计算机程序121;处理器110,用于执行存储器120上所存放的计算机程序121,实现上述实施例中方法。

所述电子设备100可以为桌上型计算机、笔记本、掌上电脑、平板型计算机、手机、人机交互屏等设备。所述电子设备100可包括,但不仅限于处理器110、存储器120。本领域技术人员可以理解,图5仅仅是电子设备100 的示例,并不构成对电子设备100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,示例性的:电子设备100还可以包括输入/输出接口、显示设备、网络接入设备、通信总线、通信接口等。通信接口和通信总线,还可以包括输入/输出接口,其中,处理器110、存储器 120、输入/输出接口和通信接口通过通信总线完成相互间的通信。该存储器 120存储有计算机程序121,该处理器110用于执行存储器120上所存放的计算机程序121,实现上述实施例中的方法。

所述处理器110可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器120可以是所述电子设备100的内部存储单元,示例性的:电子设备的硬盘或内存。所述存储器也可以是所述电子设备的外部存储设备,示例性的:所述电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器120还可以既包括所述电子设备100的内部存储单元也包括外部存储设备。所述存储器120用于存储所述计算机程序121以及所述电子设备100所需要的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。

通信总线是连接所描述的元素的电路并且在这些元素之间实现传输。示例性的,处理器110通过通信总线从其它元素接收到命令,解密接收到的命令,根据解密的命令执行计算或数据处理。存储器120可以包括程序模块,示例性的,内核(kernel),中间件(middleware),应用程序编程接口 (Application Programming Interface,API)和应用。该程序模块可以是有软件、固件或硬件、或其中的至少两种组成。输入/输出接口转发用户通过输入/输出接口(示例性的,感应器、键盘、触摸屏)输入的命令或数据。通信接口将该电子设备100与其它网络设备、用户设备、网络进行连接。示例性的,通信接口可以通过有线或无线连接到网络以连接到外部其它的网络设备或用户设备。无线通信可以包括以下至少一种:无线保真(WiFi),蓝牙(BT),近距离无线通信技术(NFC),全球卫星定位系统(GPS)和蜂窝通信等等。有线通信可以包括以下至少一种:通用串行总线(USB),高清晰度多媒体接口(HDMI),异步传输标准接口(RS-232)等等。网络可以是电信网络和通信网络。通信网络可以为计算机网络、因特网、物联网、电话网络。电子设备100可以通过通信接口连接网络,电子设备100和其它网络设备通信所用的协议可以被应用、应用程序编程接口(API)、中间件、内核和通信接口至少一个支持。

在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其他的方式实现。示例性的,以上所描述的装置/电子设备实施例仅仅是示意性的,示例性的,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,示例性的,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性、机械或其他的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序121发送指令给相关的硬件完成,所述的计算机程序121可存储于一存储介质中,该计算机程序121在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序121可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述存储介质可以包括:能够携带所述计算机程序121的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM, Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,示例性的:在某些司法管辖区,根据立法和专利实践,计算机可读的存储介质不包括电载波信号和电信信号。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将所述装置的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独物理存在,也可以两个或两个以上单元集成在一个处理单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序单元的形式实现。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。

本发明还提供一种存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现所述3D目标检测方法所执行的操作。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种3D目标检测方法、装置、电子设备和存储介质
  • 目标检测方法、目标检测装置、存储介质与电子设备
技术分类

06120112153695