首页> 中国专利> 一种基于点云和图像数据的三维目标检测系统和方法

一种基于点云和图像数据的三维目标检测系统和方法

摘要

本发明属于目标检测技术领域,涉及一种基于点云和图像数据的三维目标检测系统和方法,该系统包括:三维检测神经网络、二维检测神经网络、融合处理模块、分类器和后处理模块,所述三维检测神经网络输入三维点云数据,输出三维目标信息至融合处理模块;所述二维检测神经网络输入二维图片数据,输出二维目标信息至融合处理模块;所述融合处理模块对所述三维目标信息和二维目标信息进行融合处理后,将融合处理后的数据输出至分类器;所述分类器对融合处理后的数据信息进行分类,输出分类结果至后处理模块;所述后处理模块输入分类结果和三维目标信息,输出目标检测结果。本发明能够有效提升三维目标检测的准确率。

著录项

  • 公开/公告号CN113111978A

    专利类型发明专利

  • 公开/公告日2021-07-13

    原文格式PDF

  • 申请/专利权人 之江实验室;

    申请/专利号CN202110652361.4

  • 发明设计人 华炜;马也驰;张顺;李融;谢天;

    申请日2021-06-11

  • 分类号G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构33213 杭州浙科专利事务所(普通合伙);

  • 代理人孙孟辉

  • 地址 310023 浙江省杭州市余杭区文一西路1818号人工智能小镇10号楼

  • 入库时间 2023-06-19 11:49:09

说明书

技术领域

本发明属于目标检测技术领域,涉及一种基于点云和图像数据的三维目标检测系统和方法。

背景技术

目标检测技术尤其是三维目标检测技术是环境感知中最重要的任务之一。由于点云在三维尺寸信息的优势,现阶段效果较佳的三维目标检测技术都是基于纯点云进行三维目标检测,包括论文《Sparsely Embedded Convolutional Detection》、《3D ObjectProposal Generation and Detection from Point Cloud》等,但点云特征在类别分辨上劣势明显,只能通过神经网络对目标大致轮廓以及某些点的反射强度的学习进行分辨判断。图像在二维目标检测领域技术成熟,类别特征的分辨也优势明显,但尺寸信息的缺失是基于图像的三维目标检测最大的瓶颈,无论是基于前视图直接进行三维目标检测的方法,例如论文《Single-Stage Monocular 3D Object Detection via Keypoint Estimation》等,还是基于深度估计或者视差估计得到虚拟点云的三维目标检测的方法,例如论文《Pseudo-LiDAR from Visual Depth Estimation: Bridging the Gap in 3D ObjectDetection for Autonomous Driving》以及发明专利《基于有监督单目深度估计的虚拟点云三维目标检测方法》等,对目标的三维尺寸信息的估计也很难和基于点云的三维尺寸信息估计相媲美。因此,出现了基于点云和图像的融合三维检测方案,现阶段的融合方案主要基于点云和图像在前端的数据融合以及特征层的融合,前者对数据对齐的敏感性很强,例如论文《Sequential Fusion for 3D Object Detection》等,后者是一种端到端的方法,例如论文《Vehicle Object Detection Based on RGB-Camera and Radar Sensor Fusion》、《Enhancing Point Features with Image Semantics for 3D Object Detection》等引入了复杂的神经网络结构,将基于点云的三维检测的神经网络和基于图像的二维检测耦合一起,相互依赖,模型庞大,很难迁移,消耗资源,训练拟合较慢,有些算法的指标甚至不如基于纯点云数据的三维目标检测算法,传感器的增加并没有在指标上体现出来。

发明内容

为了解决现有技术中存在的上述技术问题,本发明提供了一种基于点云和图像数据的三维目标检测系统和方法,提出一种轻量化的网络结构,将基于点云的三维检测的输出结果和基于图像的二维检测的结果进行融合,做到在消耗较小资源以及效率的同时,融合两种传感器各自的优势,提升了三维目标检测的精度,其具体技术方案如下:

一种基于点云和图像数据的三维目标检测系统,包括:三维检测神经网络、二维检测神经网络、融合处理模块、分类器和后处理模块,所述三维检测神经网络是完整的独立完成三维目标检测任务的神经网络,输入为原始三维点云数据,直接输出三维目标信息,并传递至融合处理模块;所述二维检测神经网络是完整的独立完成二维目标检测任务的神经网络,输入为二维图片数据,直接输出二维目标信息,并传递至融合处理模块;所述融合处理模块对所述三维目标信息和二维目标信息进行融合处理后,将融合处理后的数据输出至分类器,所述分类器对融合处理后的数据信息进行分类,输出分类结果至后处理模块,所述分类器采用轻量级神经网络,由M1个卷积层和1个池化层组成,独立于三维检测神经网络和二维检测神经网络训练模型,其中卷积层的卷积核尺寸的M2*1;所述后处理模块输入分类结果和三维目标信息,输出目标检测结果。

进一步的,所述三维检测神经网络,输入数据为若干组三维点云坐标数据,输出为N1组三维目标信息,其中输出的每组三维目标信息包含一个目标的三维区域和该目标属于C1种不同类别的置信度,N1为预设的目标总数,C1为三维检测神经网络定义的类别总数;

所述二维检测神经网络,输入数据为二维图片数据,输出数据为N2组二维目标信息,其中输出的每组二维目标信息包含一个目标的二维区域和该目标属于C2种不同类别的置信度,N2为预设的目标总数,C2为二维检测神经网络定义的类别总数,且二维检测神经网络定义的任意一种类别是二维检测神经网络定义的一种类别或者是二维检测神经网络定义的一种类别的子类别。

进一步的,所述三维检测神经网络为基于Bev图的三维目标检测模块,将所述三维点云坐标数据进行过滤,即在传感器坐标系下X,Y,Z轴的检测范围大小分别为x_min到x_max米,y_min到y_max米,z_min到z_max米进行滤波,并投影到H*W的图像坐标系下,其中传感器坐标系为以传感器中心为坐标原点,向前为X轴正方向,向右为Y轴正方向,向上为Z轴正方向,H与W为图像的长和宽,每个三维点投影到图像的公式如下所示:

Pixel

其中Pixel

Density

其中Density

进一步的,所述三维目标检测神经网络采用anchor free目标检测框架,对图像坐标系下的目标进行检测,得到图像坐标系下的目标的信息再映射到传感器坐标系下,即得到该目标的三维目标信息。

进一步的,采用Focal_Loss损失函数对图像坐标系下目标的中心点的位置进行回归,采用L1_Loss损失函数对目标的中心点的偏移量进行回归,采用L1_Loss损失函数对目标的长、宽、高以及目标中心点在传感器坐标系下的Z轴坐标进行回归,针对目标的航向角,采用SmoothL1_Loss损失函数对其正弦值和余弦值进行回归。

进一步的,所述三维检测神经网络输出的每个目标的类别置信度数目和二维检测神经网络输出的每个目标的类别置信度数目相同,三维检测神经网络所输出的每个目标的第i个置信度的类别等同于二维检测神经网络输出的每个目标的第i个置信度的类别,或者是二维检测神经网络输出的每个目标的的第i个置信度的类别的父类别。

进一步的,所述融合处理模块的输入具体为三维检测神经网络的输出、二维检测神经网络的输出,以及二维检测神经网络的输出信息所对应的输入图片Im和输入图片Im相关的信息ImData;

所述融合处理模块利用所述相关的信息ImData将三维检测神经网络输出的每个三维目标信息ob[k1]中的三维区域投影到图片Im上,形成区域Region(ob[k1]),其中0<=k1

所述融合处理模块的输出由所有三维目标信息对应的初步分类信息集形成的集合组成。

进一步的,所述分类器的输入为融合处理模块的输出,输出为分类集合SF={(label[k1], prob[k1])|k1=0,1,...,N1-1}, 其中label[k1]表示第k1个三维目标信息最终被分类到的类别,prob[k1]表示属于该类别的置信度,该类别是由三维检测神经网络定义的类别,所述分类器通过一个或多个数据集训练得到。

进一步的,所述后处理模块从分类器输出的集合SF={(label[k1],prob[k1])|k1=0,1,...,N1-1}中选取若干元素并匹配相应的目标索引形成集合SF2={(kk,label[kk],prob[kk])},其中(label[kk], prob[kk])属于SF,kk为[0,N1-1]中的整数,kk表示目标索引,且prob[kk]大于预设阈值;

后处理模块将SF2转换为集合SF3 ={(kk,label[kk],prob[kk],vol[kk])}后输出,其中(kk, label[kk],prob[kk])属于SF2,vol[kk]是三维检测神经网络DNN1输出中的第kk个三维目标信息中的目标三维区域。

一种基于点云和图像数据的三维目标检测方法,包括如下步骤:

步骤一,构造并连接各模块:将三维检测神经网络、二维检测神经网络、融合处理模块、分类器和后处理模块连接,构造成三维目标检测系统;

步骤二,对三维检测神经网络和二维检测神经网络进行训练或加载已训练好的网络模型;

步骤三,训练分类器:采用公开数据集对分类器进行训练,采用Focal_Loss作为训练分类器的损失函数,借助优化器对分类器的融合神经网络权重系数进行训练优化,训练过程中只更新融合神经网络的参数,对三维检测神经网络和二维检测神经网络不进行梯度计算、反向传播以及参数更新;

步骤四,推理测试:将三维点云数据输入已经训练好的三维检测神经网络,将二维图像输入已经训练好的二维检测神经网络,分别进行推理选取N1和N2组数据,并将该二维图片以及对应二维图片信息一起输入到融合处理模块,再将结果输入到分类器,最后将分类结果和三维目标检测的结果输入到后处理模块,得到最终三维目标检测结果。

本发明能够有效提升三维目标检测的准确率。

附图说明

图1为基于点云和图像数据的三维目标检测系统结构连接示意图;

图2为基于点云和图像数据的三维目标检测方法流程图;

图3为分类器的融合神经网络示意图;

图4a为基于点云和图像数据的三维目标检测系统和方法的效果图;

图4b为基于点云和图像数据的三维目标检测系统和方法的效果图;

图中,DNN1-三维检测神经网络,DNN2-二维检测神经网络,B1-融合处理模块,B2-后处理模块,F-分类器。

具体实施方式

为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图和实施例,对本发明进行进一步清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的实施例采用权威的kitti数据集,并对该数据集做进一步的类别标注,即将行人类别分为男行人和女行人。因此,实施例采用的数据集包括,7481帧点云以及对应的彩色图像,其中6000帧为训练集,1481帧为验证集,每一帧点云或者图像中目标的类别信息,如车辆、男行人、女行人、骑自行车的人,在图像坐标系的2D信息以及在相机坐标系的3D信息。

如图1所示,一种基于点云和图像数据的三维目标检测系统,包括:三维检测神经网络DNN1、二维检测神经网络DNN2、融合处理模块B1、分类器F和后处理模块B2。

所述三维检测神经网络DNN1是完整的独立的神经网络,可以独立完成三维目标检测任务,并不需要二次训练优化,输入为原始三维点云坐标数据,可直接输出N1组三维目标信息并传递至融合处理模块B1;所述二维检测神经网络DNN2同样是完整的独立的神经网络,可以完整的独立的完成二维目标检测任务,不需要二次训练优化,输入为二维图片数据,可直接输出N2组二维目标信息,并传递至融合处理模块B1;所述融合处理模块B1对所述N1组三维目标信息和N2组二维目标信息进行融合处理后,将融合处理后的数据输出至分类器F;所述分类器F对该数据信息进行分类,输出分类结果至后处理模块B2;所述后处理模块B2输入分类器F的输出和N1组三维目标信息,输出目标检测结果。

其中,所述分类器F可选用轻量级神经网络,完全独立于三维检测神经网络和二维检测神经网络训练模型,即不对两者训练好的模型进行参数更新。

所述三维检测神经网络DNN1为基于Bev图的三维目标检测模块,输入数据为若干组三维点云坐标数据,将三维点云坐标数据进行过滤,即按照传感器坐标系下,x方向0~80米,y方向-40~40米,z方向-2.73~1.27米进行滤波,并投影到长乘宽为608*608的图像坐标系下,其中每个三维点投影到图像的公式如下所示:

Pixel

其中Pixel

由于很多三维点云会投影到一个像素点下,故选取传感器标系下z值最高的点,并计算投影到该像素点的点云的密度,其中计算某一像素点的点云的密度公式如下所示:

Density

其中Density

三维目标检测神经网络采用anchor free目标检测框架,对图像坐标系下的目标进行检测,得到图像坐标系下的目标的信息再映射到传感器坐标系下,即可得到该目标的三维目标信息。输出为200组三维目标信息,其中输出的每组目标信息包含一个目标的三维区域和该目标属于3种不同类别的置信度,200为预设的目标总数,3为三维检测神经网络DNN1所定义的类别总数,具体为车辆、行人以及骑自行车的人。采用Focal_Loss损失函数对图像坐标系下目标的中心点的位置进行回归,采用L1_Loss损失函数对目标的中心点的偏移量进行回归,采用L1_Loss损失函数对目标的长、宽、高以及目标中心点在传感器坐标系下的Z轴坐标进行回归,针对目标的航向角,采用SmoothL1_Loss损失函数对其正弦值和余弦值进行回归。完成训练并加载训练好的神经网络模型,推理出训练集和验证集中每个目标所有类别的置信度,以及每个目标对应传感器坐标系下的三维信息,其中,所述每个目标为最高类别置信度前50的目标,所述三维信息为预测区域的中心点位置在x、y、z方向上的坐标、预测区域在长、宽、高方向上的尺寸以及预测区域的切线和x轴方向的航向角夹角。

所述二维检测神经网络DNN2为较成熟的二维目标检测算法CenterNet,输入数据为二维图片数据,输出数据为50组二维目标信息,其中输出的每组目标信息包含一个目标的二维区域和该目标属于4种不同类别的置信度,50为预设的目标总数,4为二维检测神经网络DNN2所定义的类别总数,且二维检测神经网络DNN2所定义的任意一种类别是二维检测神经网络DNN1所定义的一种类别或者是二维检测神经网络DNN1所定义的一种类别的子类别,具体的为车辆、男行人、女行人、骑自行车的人,完成训练并加载训练好的神经网络模型,设置检测置信度为0.2,可推理出训练集和验证集中每个目标的所有类别的置信度,以及对应的图像坐标系下的二维信息,其中,所述每个目标为最高类别的置信度大于0.2,共有K个,所述二维信息为预测区域在图像坐标系上左顶点的坐标u,v以及预测区域在长、宽方向上的尺寸h、w。

所述融合处理模块B1,将所述三维目标检测模块输出的每个三维目标信息利用激光雷达、相机的外参以及相机的内参投影到图像坐标系下,并分别和每个二维目标信息进行IOU计算,得到K*50个IOU分数,其中IOU是两个二维信息的交集与并集之比;排除IOU分数等于0的目标,得到X个有效IOU分数,形成X*4*3的特征张量Input,其中特征张量的第2维度的长度4指的是不同类别,包括车辆、男行人、女行人、骑自行车的人,特征张量的第3个维度的长度3指的是不同特征,包括相同类别的IOU分数、当前类别三维目标检测置信度、当前类别二维目标检测置信度,其中,相同类别是指二维目标检测的男女行人都是对应三维目标检测的行人类别,与此同时,记录在形成每个特征张量Input时,用目标编号对三维检测结果和二维检结果在各自模块的输出位置进行标注,记为标签Index。

更具体的,所述融合处理模块B1的输入为三维检测神经网络DNN1的输出和二维检测神经网络DNN2的输出,以及二维检测神经网络DNN2的输出信息所对应的输入图片Im和输入图片Im相关的信息ImData;

根据三维检测神经网络DNN1所定义的类别和二维检测神经网络DNN2所定义的类别的对应关系,通过对三维检测神经网络DNN1输出的属于不同类别的置信度进行复制或顺序调整,使得其满足:(a)对每个目标,三维检测神经网络DNN1所输出的类别置信度数目和DNN2输出的类别置信度数目相同,(b)对每个目标,三维检测神经网络DNN1所输出的第i个置信度的类别等同于DNN2输出的第i个置信度的类别,或者是二维检测神经网络DNN2输出的第i个置信度的类别的父类别。

对三维检测神经网络DNN1输出的每个三维目标信息ob[k1],其中0<=k1

因此,所述融合处理模块B1输出由所有三维目标信息对应的初步分类信息集形成的集合组成。

如图3所示,所述分类器F为融合神经网络,通过一个或多个数据集训练得到。该神经网络由4个卷积和1个池化层组成,十分轻量,几乎不影响效率和资源。将所述特征向量Input和输出位置标签Index作为融合神经网络的输入,每一层神经网络的具体参数下表所示:

通过输出位置标签Index将卷积层conv4+relu的输出映射到特征张量out1中,out1的数组为200*50*4,其中认为二维目标检测结果最高类别的置信度超过0.2的目标的个数小于200,将out1作为池化层pool1的输入,最后再数据重组成1*50的向量,作为融合神经网络的输出,经过sigmoid激活函数得到50个目标中4个类别分数最大的类别及其对应的置信度,即融合神经网络的输出。所述融合神经网络的输出即分类器F的输出,可表示为集合SF={(label[k1], prob[k1])|k1=0,1,...,N1-1}, 其中label[k1]表示第k1个三维目标最终被分类到的类别,prob[k1]表示属于该类别的置信度,该类别是由三维检测神经网络DNN1所定义的类别。

所述后处理模块B2,输入所述50个目标的三维信息和分类器F输出的50个目标的类别以及置信度,过滤置信度小于预设阈值0.2的目标,最终得到新的三维目标检测结果。

详细的,后处理模块B2从分类器F输出的集合SF={(label[k1], prob[k1])|k1=0,1,...,N1-1}中选取若干元素并匹配相应的目标索引形成集合SF2={(kk,label[kk],prob[kk])},其中(label[kk], prob[kk])属于SF,kk为[0,N1-1]中的整数,kk表示目标索引,且prob[kk]大于预设阈值;

后处理模块B2将SF2转换为集合SF3 ={(kk,label[kk],prob[kk],vol[kk])},其中(kk, label[kk],prob[kk])属于SF2,vol[kk]是三维检测神经网络DNN1输出中的第kk个三维目标信息中的目标三维区域,后处理模块B2将SF3输出。

如图2所示,一种基于点云和图像数据的三维目标检测方法,包括以下步骤:

步骤一,构造并连接各模块:将三维检测神经网络DNN1、二维检测神经网络DNN2、融合处理模块B1、分类器F和后处理模块B2连接,构造成三维目标检测系统;

步骤二,对三维检测神经网络DNN1和二维检测神经网络DNN2进行训练或者加载已经训练好的模型;

步骤三,训练分类器F:采用kitti数据集对分类器F进行训练,采用Focal_Loss作为训练分类器F的损失函数,借助Adam优化器对分类器F的融合神经网络权重系数进行训练优化,训练过程中只更新融合神经网络的参数,对三维检测神经网络DNN1和二维检测神经网络DNN2不进行梯度计算、反向传播以及参数更新,即完全独立于三维检测神经网络DNN1和二维检测神经网络DNN2,对两者训练好的模型参数不构成任何影响,每训练1个epoch,对验证集数据进行推理验证,训练100个epoch,找到综合指标最佳的分类器F网络模型;

步骤四,推理测试:将三维点云数据输入已经训练好的三维检测神经网络DNN1,将二维图像输入已经训练好的二维检测神经网络DNN2,分别进行推理选取N1和N2组数据,并将该二维图片以及对应二维图片信息一起输入到融合处理模块B1,再将结果输入到分类器F,最后将分类结果和三维目标检测的结果输入到后处理模块B2,得到最终三维目标检测结果。

所述采用本发明实施方案中的基于点云和图像数据的三维目标检测方法和现阶段较为流行的基于纯点云的三维目标检测方案PointPillars、PointRCNN、Second以及基于点云和图像数据融合的其他技术方案EPNet相对比,保证同样的训练集以及模型参数优化方法,各自在验证集的各类别指标的3D map比较如下表所示:

本发明在提升三维目标检测精度的同时,整体效率只降低了5-10ms,保证了三维目标检测的实时性。

本发明效果图比较如图4a和图4b所示,其中图4a是基于纯点云进行三维目标检测并将三维包围盒投影到图像上的结果,图4b是本发明实施例中基于点云和图像融合的三维目标检测并三维包围盒投影到图像上的结果。明显可以看出,前者对左前方的行人漏检,后者基于图像的特征将该行人召回。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号