基于YOLO的端到端三维物体检测方法技术

技术编号:21247854 阅读:51 留言:0更新日期:2019-06-01 07:54
本发明专利技术公开了一种基于YOLO的端到端三维物体检测方法。基于YOLO的端到端三维物体检测方法,包括以下步骤:对点云图像进行标注,获取标注后的点云图像数据集;构建基于YOLO的端到端三维物体检测网络模型;将点云图像数据集作为所述基于YOLO的端到端三维物体检测网络模型的训练样本和测试样本;将训练样本输入所述的基于YOLO的端到端三维物体检测网络模型中进行训练,达到训练指定次数或者Loss曲线不再下降且精度不再提高为止,将训练好的模型保存;然后将测试样本输入至保存好的网络模型中,网络即会输出三维物体检测结果。本发明专利技术的基于YOLO的端到端三维物体检测方法,比现有的三维物体检测方法更完善,训练难度更高。

End-to-end three-dimensional object detection method based on YOLO

The invention discloses an end-to-end three-dimensional object detection method based on YOLO. The end-to-end three-dimensional object detection method based on YOLO includes the following steps: annotating the point cloud image to obtain the annotated point cloud image data set; constructing the end-to-end three-dimensional object detection network model based on YOLO; using the point cloud image data set as the training sample and test sample of the end-to-end three-dimensional object detection network model based on YOLO; and inputting the training sample into the institute. The end-to-end three-dimensional object detection network model based on YOLO is trained to achieve the specified training times or Loss curve is no longer reduced and the accuracy is no longer improved. The trained model is saved. Then the test samples are input into the saved network model, and the network will output the three-dimensional object detection results. The end-to-end three-dimensional object detection method based on YOLO of the present invention is more perfect than the existing three-dimensional object detection method, and the training difficulty is higher.

【技术实现步骤摘要】
基于YOLO的端到端三维物体检测方法
本专利技术涉及模式识别、机器学习及计算机视觉
,特别涉及基于YOLO和FLN网络的物体检测方法。
技术介绍
三维物体检测是模式识别和计算机视觉的一个重要研究领域,同时也是解决很多高层视觉任务的核心问题,物体检测的研究为高层视觉任务的解决奠定了基础。它在人们的日常生活中以及工业生产中有着广泛的应用,如智能视频监控、无人驾驶、智能机器人、智能交通以及增强现实等。在过去的几年里,随着二维物体检测方法的日趋完善以及深度相机的普及,三维物体检测技术也获得了突飞猛进的发展。三维物体检测通过识别和定位三维物体,得到物体的三维信息,输出物体的三维包围盒来表示物体在真实世界中的位置。三维包围盒由其中心点坐标Cx,Cy,Cz、尺寸w,h,l以及方向角α,β,γ来决定。其中,Cx,Cy,Cz为相对于特征图网格的偏移,w,h,l为相对于anchor尺寸的偏移,α,β,γ为相对于anchor姿态的偏移。在已有的研究工作中,无人驾驶三维物体检测和室内环境的场景理解,其三维包围盒的自由度仅仅为7个(即Cx,Cy,Cz,w,h,l,α),因为车辆和室内环境中的物体只有航向角α,而没有俯仰角β和翻滚角γ。但在我们所研究的物体拣选和装卸领域,我们必须考虑物体精确的姿态,以达到与其对应的效果,因此我们需要考虑物体的俯仰角β和翻滚角γ,输出9个自由度的三维物体包围盒。
技术实现思路
为解决上述技术问题,本专利技术提供了基于YOLO的端到端的三维物体检测方法,以达到检测更完善,难度更高的目的。为达到上述目的,本专利技术的采用的技术方案为:基于YOLO的端到端三维物体检测方法,包括以下步骤:步骤一:对点云图像进行标注,获取标注后的点云图像数据集;步骤二:构建基于YOLO的端到端三维物体检测网络模型;将点云图像数据集作为所述基于YOLO的端到端三维物体检测网络模型的训练样本和测试样本;步骤三:将训练样本输入所述的基于YOLO的端到端三维物体检测网络模型中进行训练,达到训练指定次数或者Loss曲线不再下降且精度不再提高为止,将训练好的模型保存;然后将测试样本输入至保存好的网络模型中,网络即会输出三维物体检测结果。进一步的,所述基于YOLO的端到端三维物体检测网络模型的构建方法包括以下步骤:步骤一:构建基于FLN的三维特征学习网络,将点云数据集作为该网络的输入,将点云空间划分为体素,并且将每个体素内的点变换为表征形状信息的矢量表示;该空间被表示为稀疏4D张量;步骤二:将稀疏4D张量调整为3D张量,保留宽和高尺度,将深度和通道数合并为新的通道数;步骤三:将步骤二获得的3D张量作为基于YOLO的二维物体检测网络的输入,该网络基于偏移残差回归三维包围盒,直接回归包围盒的中心点坐标、长宽高、欧拉角9个自由度。回归方法是通过计算预测值与真实值之间的Loss值来不断调教网络使其输出值不断逼近真实值。进一步的,所述基于FLN的三维特征学习网络的构建方法为:a)通过将输入点云按照Vd×Vh×Vw栅格化,Vd×Vh×Vw表示每个栅格的深度、宽度和高度,由于原始点云深度、宽度和高度为D',H',W'以及公式D=D'/Vd,H=H'/Vh,W=W'/Vw,则将会有D×H×W个栅格,对每个非空栅格采样T个点并计算栅格内所有点的均值,记录每个点和每个点到该均值的欧式距离;而空栅格则初始化为零。由此得到D×H×W×T×6;b)将a)中得到的非空稀疏栅格输入多个VFE层(VoxelFeatureEncoding,体素特征编码)。一个VFE层由全连接层、最大池化层和逐点连接层组成。全连接层后跟着批归一化层(BatchNormalization)和线性整流激活函数(ReLU),该层会将栅格内的点表达为逐点特征向量(point-wisefeaturevector);最大池化层将逐点特征向量表达为局部聚合特征(locallyaggregatedfeature);逐点连接层将每个逐点特征向量和局部聚合向量联结起来,由此得到VFE层的输出。若以1个栅格(T×6)作为输入,VFE层的输出为C,C为最后一个VFE层的输出尺度,则栅格化后的点云再讲过FLN网络的输出为4D张量(D×H×W×C)。c)将b)中得到的4D张量(D×H×W×C)调整为3D张量(H×W×D·C),即先将4D张量的第一个尺度转置到第四个尺度之前变为H×W×D×C(使用Tensorflow中的transpose函数),然后将第三、四尺度合并为一个尺度变为H×W×D·C(使用Tensorflow中的reshape函数),以便将其输入到之后的基于YOLO的二维物体检测网络中。进一步的,所述基于YOLO的二维物体检测网络为YOLOv2网络,该网络为YOLO第二个版本,又称YOLO900,实现实时检测二维物体。该网络共有14个卷积层和3个最大池化层,除最后一层外,每个卷积层后都跟着批归一化层(BatchNormalization)和线性整流激活函数(ReLU),这些层构成了整个卷积神经网络(CNN,即ConvolutionalNeuralNetworks)。YOLOv2网络的输出为(H/8×W/8×B*(10+K))的特征图,其中B是anchor的数量,K是类别的数目。特征图中的每个网格预测B个包围盒,每个包围盒除拥有9个位置、大小和角度信息外,还有置信分数和K个类别概率;而每个包围盒的位置是相对于特征图网格的偏移。给定网络输出值tx,ty,tz,tw,th,tl,tα,tβ,tγ,包围盒的真实值bx,by,bz,bw,bh,bl,bα,bβ,bγ通过以下公式计算:bx=σ(tx)+Cxby=σ(ty)+Cybz=σ(tz)+Cz其中,Cx,Cy,Cz为特征图上每个网格左上角的坐标,即网格的序号。基于YOLO的二维物体检测网络的损失函数为:前三项为坐标预测损失函数,第四项为含有物体的包围盒的置信度预测损失函数,第五项则是不含物体的包围盒的置信度预测损失函数,最后一项为类别预测损失函数。是指示函数,用于指示第个包围盒是否负责预测第个网格,则指示包围盒内没有包含物体。进一步的,作为本专利技术的一种优选方式,所述的点云图像数据集包括真实数据集和虚拟数据集两部分:真实数据集是利用多款深度相机在实验室场地环境下采集不同品类的深度图而获取;虚拟数据集是利用Blender工具人工生成不同场景不同天气、不同光照、不同品类的深度图而获取。进一步的,作为本专利技术的一种优选方式,所述的真实数据集的获取还包括:对深度图像进行配准,以获得需要的点云数据,利用LabelFusion工具对点云数据进行标注;虚拟数据集的获取中还包括深度图的计算以及数据集自动标注过程。本专利技术提供的基于YOLO的端到端三维物体检测方法,采集RGB图像和深度图像生成点云图像并进行标注,获取标注后的点云图像数据集,将数据集作为训练样本和测试样本。该检测方法为基于深度学习方法构建的网络,其主要由两个子网络组成:基于FLN(FeatureLearningNetwork)的三维特征学习网络和基于YOLO(YouOnlyLookOnce)的二维物体检测网络,由这两个网络的设计思想设计出基于YOLO的端到端三维物体检测网络,又称YOLO9D网络,该网络将点云图像和本文档来自技高网...

【技术保护点】
1.基于YOLO的端到端三维物体检测方法,其特征在于,包括以下步骤:步骤一:对点云图像进行标注,获取标注后的点云图像数据集;步骤二:构建基于YOLO的端到端三维物体检测网络模型;将点云图像数据集作为所述基于YOLO的端到端三维物体检测网络模型的训练样本和测试样本;步骤三:将训练样本输入所述的基于YOLO的端到端三维物体检测网络模型中进行训练,达到训练指定次数或者Loss曲线不再下降且精度不再提高为止,将训练好的模型保存;然后将测试样本输入至保存好的网络模型中,网络即会输出三维物体检测结果。

【技术特征摘要】
1.基于YOLO的端到端三维物体检测方法,其特征在于,包括以下步骤:步骤一:对点云图像进行标注,获取标注后的点云图像数据集;步骤二:构建基于YOLO的端到端三维物体检测网络模型;将点云图像数据集作为所述基于YOLO的端到端三维物体检测网络模型的训练样本和测试样本;步骤三:将训练样本输入所述的基于YOLO的端到端三维物体检测网络模型中进行训练,达到训练指定次数或者Loss曲线不再下降且精度不再提高为止,将训练好的模型保存;然后将测试样本输入至保存好的网络模型中,网络即会输出三维物体检测结果。2.根据权利要求1所述的基于YOLO的端到端三维物体检测方法,其特征在于:所述基于YOLO的端到端三维物体检测网络模型由基于FLN的三维特征学习网络和基于YOLO的二维物体检测网络组成,其构建方法包括如下步骤:步骤一:构建基于FLN的三维特征学习网络,将点云数据集作为该网络的输入,将点云空间划分为体素,并且将每个体素内的点变换为表征形状信息的矢量表示;该空间被表示为稀疏4D张量;步骤二:将稀疏4D张量调整为3D张量,保留宽和高尺度,将深度和通道数合并为新的通道数;步骤三:将步骤二获得的3D张量作为基于YOLO的二维物体检测网络的输入,该网络基于偏移残差回归三维包围盒,直接回归包围盒的中心点坐标、长宽高、欧拉角9个自由度。3.根据权利要求2所述的基于YOLO的端到端三维物体检测方法,其特征在于,所述的基于FLN的三维特征学习网络的构建方法为:(a)通过将输入点云按照Vd×Vh×Vw栅格化,Vd×Vh×Vw表示每个栅格的深度、高度和宽度,由于原始点云深度、高度和宽度为D',H',W'以及公式D=D'/Vd,H=H'/Vh,W=W'/Vw,则将会有D×H×W个栅格,对每个非空栅格采样T个点并计算栅格内所有点的均值,记录每个点和每个点到该均值的欧式距离;而空栅格则初...

【专利技术属性】
技术研发人员:沈大勇翟天亨王晓刘胜
申请(专利权)人:青岛中科慧畅信息科技有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1