CN115359474A - 适用于移动端的轻量级三维目标检测方法、装置及介质 - Google Patents
适用于移动端的轻量级三维目标检测方法、装置及介质 Download PDFInfo
- Publication number
- CN115359474A CN115359474A CN202210894321.5A CN202210894321A CN115359474A CN 115359474 A CN115359474 A CN 115359474A CN 202210894321 A CN202210894321 A CN 202210894321A CN 115359474 A CN115359474 A CN 115359474A
- Authority
- CN
- China
- Prior art keywords
- model
- target
- detection
- training
- dimensional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 124
- 238000012549 training Methods 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 10
- 108091006146 Channels Proteins 0.000 claims description 8
- 238000005457 optimization Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims description 3
- 238000005520 cutting process Methods 0.000 claims description 2
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 22
- 238000013527 convolutional neural network Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 238000003909 pattern recognition Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000004927 fusion Effects 0.000 description 5
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000036544 posture Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 241000211181 Manta Species 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- NFGXHKASABOEEW-LDRANXPESA-N methoprene Chemical compound COC(C)(C)CCCC(C)C\C=C\C(\C)=C\C(=O)OC(C)C NFGXHKASABOEEW-LDRANXPESA-N 0.000 description 3
- 239000000178 monomer Substances 0.000 description 3
- 101150114882 CALM2 gene Proteins 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000276573 Cottidae Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 240000004050 Pentaglottis sempervirens Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000010791 quenching Methods 0.000 description 1
- 230000000171 quenching effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
Abstract
本发明公开一种适用于移动端的轻量级三维目标检测方法、装置及介质,所述方法包括:获取或制作用于3D目标检测的数据集;搭建模型,所述模型包括MobileViT block、三个分支和全连接层,所述MobileViT block与三个分支连接,各分支连接所述全连接层;基于所述数据集对搭建的模型进行训练;对训练后的模型进行处理得到onnx模型;将图像数据进行预处理并转换,输入至所述onnx模型中得到模型输出;基于模型输出,计算3D目标的全局方位角和3D检测框的多个顶点坐标,并绘制3D检测框和鸟瞰图。本发明同时拥有CNN和ViT相类似的属性和优点,以此可以用更少的参数学到更好的特征表示,从而实现移动端3D目标检测的任务。
Description
技术领域
本发明涉及图像处理、无人驾驶技术、深度学习、模式识别领域,更具体地,涉及一种适用于移动端的轻量级三维目标检测方法、装置及介质。
背景技术
在自动驾驶的技术中,3D目标检测能够提更加丰富的信息,如:目标的类别、位置和姿态。因此,与2D检测相比,3D目标检测的难度更大。目前很多的方法都是使用激光雷达进行3D目标检测,相比于使用昂贵的激光雷达等传感器,相机传感器成本低廉,且寿命长、易于安装,同时图像的检测技术相对更加成熟,有利于研究工作的快速进行。但是使用相机的单目3D目标检测的难点在于对深度信息的预测,而这也恰恰是激光雷达的优势所在。在单目的方案中,将实例从3D空间投影到2D图像平面就必然会损失图像的深度信息。因此,对于深度信息的处理一直是单目目标检测的重点研究内容。
单目图像可以为二维目标检测网络提供丰富的外观、形状等纹理信息,实现目标在图像平面的分类与定位。但针对三维目标检测任务,由于缺少深度信息,单一的纹理信息无法直接确定目标在三维空间中的位置、姿态等信息。因此,通常结合先验信息融合[董本志,于尚书,景维鹏.多先验融合的图像显著性目标检测算法[J].计算机工程与应用,2019,55(2):179-186]、几何特征、三维模型匹配、单目视觉下的深度估计网络等方法回归目标的三维几何信息。
Chen等人[Chen X,Kundu K,Zhang Z,et al.Monocular 3D object detectionfor autonomous driving[C]//Proceedings of the IEEE Conference on ComputerVision and Pattern Recognition,2016:2147-2156]在2016年提出了Mono3D目标检测方法,该方法将基于单目视觉的3D目标检测分为两步:
(1)根据先验假设进行密集采样,生成若干个3D目标候选框;
(2)对3D检测框进行重投影生成目标的2D检测框,利用Faster RCNN网络[胡越,罗东阳,花奎,等.关于深度学习的综述与讨论[J].智能***学报,2019,14(1):1-19.]提取特征,结合语义、上下文信息、位置先验信息以及目标形状先验信息等,计算检测框的能量损失函数,提取精确的3D目标检测框。Mono3D使用了与3DOP相同的网络结构,在卷积层之后将网络结构分为两个分支,一个分支进行候选框内的特征提取分析,另一个分支进行候选框周围的上下文特征提取分析,最后通过全连接层获取目标的类别、检测框以及航向信息。Mono3D[Chen X,Kundu K,Zhang Z,et al.Monocular 3D object detection forautonomous driving[C]//Proceedings of the IEEE Conference on Computer Visionand Pattern Recognition,2016:2147-2156]利用复杂的先验信息提取3D检测框,在能量损失计算中存在误差累计的问题,因此,Mono3D在检测精度的性能上并不是十分突出。另外,候选框的密集采样和融合多个先验特征使得整个网络的计算量十分庞大,检测速度上与2D检测器相比存在一定差距,无法实现端到端的预测模型。
Mousavian等人[Mousavian A,Anguelov D,Flynn J,et al.3D bounding boxestimation using deep learning and geometry[C]//Proceedings of the IEEEConference on Computer Vision and Pattern Recognition,2017:7074-7082]利用2D目标检测器网络的学***移矩阵,使3D检测框重投影中心坐标与2D检测框中心坐标的误差最小。
相比于Mono3D方法,Deep3Dbbox利用2D目标检测方法简化了网络结构,使得计算量大大减少,提升了运算速度。但在检测精度上并没有大幅度的提升,这主要是因为深度信息的缺失,导致目标在世界坐标系中的位置计算存在较大误差。Deep3Dbbox通过最小二乘法解算三维检测框与二维检测框的位置匹配关系,再利用奇异值分解得到图像-相机坐标转换矩阵,该方法能较好解决简单目标的三维位置估计问题,但针对尺寸较小、存在遮挡等目标的定位精度大大降低。因此,研究人员对深度计算提出了相应的改进方法。
Xu等人[Xu B,Chen Z.Multi-level fusion based 3D object detectionfrommonocular images[C]//Proceedings of the IEEE Conference on ComputerVision and Pattern Recognition,2018:2345-2353]提出的MF3D方法融合了Deep3Dbbox以及单目视觉的深度估计算法,利用Deep3Dbbox卷积网络估计目标的3D尺寸和航向角以及sub-net网络生成深度图,对目标ROI区域与深度图融合,计算目标在世界坐标系下的位置信息。Qin等人[Qin Z,Wang J,Lu Y.Monogrnet:A geometric reasoning network formonocular 3D object localization[J].arXiv:1811.10247,2018]提出的MonoGRNet方法采用实例级深度估计方法,与MF3D生成整个输入图像的深度图不同,MonoGRNet只对目标区域进行深度估计,在一定程度上简化了计算过程。Manhardt等[Manhardt F,Kehl W,GaidonA.Roi-10D:Monocular lifting of 2D detection to 6D pose and metric shape[C]//Proceedings of the IEEE Conference on Computer Vision]提出的ROI-10D将基于Resnet-FPN的2D检测网络结构与深度估计特征图结合,再利用CAD模型匹配得到目标具体的3D信息。除了融合单目深度估计算法以外,在基于KITTI数据集的3D目标检测中,利用车辆、行人等刚体目标的几何约束计算位置深度是研究者们的另一种思路。例如,Ku等人[9]提出的MonoPSR利用相机成像原理,计算3D尺寸与像素尺寸比例关系进而估计目标深度位置信息。Roddick等人[Roddick T,Kendall A,Cipolla R.Orthographic featuretransform for monocular 3D object detection[J].arXiv 1811.08188,2018]提出的OFT-NET算法根据图像与三维空间对应关系,建立了图像特征与三维空间特征的正交变换,将基于图像的特征图反投影到三维空间的鸟瞰图中,再利用残差网络单元处理鸟瞰特征图。
基于单目视觉的深度计算方法大致可以分为两类:(1)基于卷积神经网络的深度估计;(2)基于几何特征与成像原理的深度转换。但是目前基于单目视觉的深度估计本身也是视觉算法领域的研究热点和挑战,其估计精度远远没有达到实际应用的标准,因此基于该类方法的三维目标检测算法的检测精度往往较低。而基于几何约束的深度估计则只能针对特定种类目标,无法实现多类目标的高精度检测,对实验数据具有较高的要求。另外,针对小尺寸目标的检测效果较差,适用于视野范围较小的场景。
无论是基于先验信息的Mono3D,还是基于CNN网络提取特征的Deep3Dbbox[系列算法,都存在对于遮挡、截断目标检测精度差的问题。针对这一问题,Chabot等人[Chabot F,Chaouch M,Rabarisoa J,et al.Deep manta:A coarse-to-fine many-task network forjoint 2D and 3Dvehicle analysis from monocular image[C]//Proceedings of theIEEE Conference on Computer Vision and Pattern Recognition,2017:2040-2049]提出了Deep MANTA采用多任务网络结构,实现目标位置、形状估计以及车辆的部件检测。该方法定义了一组车辆关键点表征车辆的外部形状,例如车顶角、车灯、后视镜等,利用一个两级的区域提议网络回归2D边界框与车辆关键点定位,再与人工建立的3D标准模板库进行目标形状匹配,得到完整精确的3D目标姿态信息。同样的,He等人[He T,Soatto S.Mono3D++:Monocular 3D vehicle detection with two-scale 3D hypotheses and task priors[J].arXiv:1901.03446,2019]提出Mono3D++则采用EM-Gaussian算法实现遮挡或截断目标的关键点检测与补全,结合Mono3D定义的先验信息能量损失函数实现3D目标的精确检测。Kundu等人[Kundu A,Li Y,Rehg J M.3D-RCNN:Instance-level 3D objectreconstruction via render-and-compare[C]//Proceedings of the IEEE Conferenceon Computer Vision and Pattern Recognition,2018:3559-3568]提出的3D RCNN方法将物体的CAD模型进行PCA建模,利用一组基向量表征物体的3D形状和姿态,最后利用卷积神经网络实现2D图像到3D物体的重建。通过关键点检测与CAD模板匹配结合的方法是目前解决遮挡、截断目标检测地有效方案[Shah S A A,Bennamoun M,Boussaid F.Keypoints-based surface representation for 3D modeling and 3D object recognition[J].Pattern Recognition,2017,64:29-38],但存在一定的局限性,首先是模板数据的获得较为困难,且对多目标检测精度较低。另外,无论是Deep MANTA,还是Mono3D++,都主要提升了目标在图像坐标系下的三维信息,而对相机坐标系下的定位精度并没有得到较大的改善,依旧不能解决深度估计造成的定位误差。
在基于单目视觉的目标三维检测中,常常级联了多个卷积神经网络实现三维姿态的多参数回归,例如检测网络与深度估计网络相结合等方法。这种级联做法会造成网络误差的累计传递,从而使得目标三维检测的误差较大。为了解决回归误差累计的问题,Simonelli等人[Simonelli A,Bulò S R,Porzi L,et al.Disentangling monocular 3Dobject detection[J].arXiv:1905.12365,2019]提出了基于参数解耦变换的MonoDIS。简单来说,该方法用一个10元数组表示目标的三维几何姿态,并将其分为尺寸、深度信息、航向角以及中心点图像投影坐标四组参数组,采用解耦的方法分离参数误差,即分别对其中任一参数组回归计算损失函数,而其他参数则保留为真值。三维姿态信息的解耦处理使得MonoDIS网络的损失参数在训练过程中下降更快,避免了各参数间误差传递的干扰,其在KITTI数据集上的验证结果也表明更优于其他级联网络的检测准确性。
然而,移动端3D目标检测任务需要轻量级、低延迟、高精度的模型,以适应不同配置的移动设备,上面所提到的各个现有技术所公开的方案均不能实现上述目的。
发明内容
提供了本发明以解决现有技术中存在的上述问题。因此,需要一种适用于移动端的轻量级三维目标检测方法、装置及介质。
根据本发明的第一方案,提供了一种适用于移动端的轻量级三维目标检测方法,所述方法包括:获取或制作用于3D目标检测的数据集;所述数据集包括多个训练图像及其对应的点云数据和多个测试图像及其对应的点云数据;搭建模型,所述模型包括MobileViTblock、三个分支和全连接层,所述MobileViT block与三个分支连接,各分支连接所述全连接层,所述MobileViT block用于对输入张量中的局部和全局信息进行建模,并对所有像素的信息进行编码,以使有效接收域为H×W,其中H为输入长度224像素,W为输入宽度224像素;基于所述数据集对搭建的模型进行训练;获取模型在训练过程中生成的模型权重文件,并将所述模型权重文件转换为onnx文件,固定训练后的模型的输入、输出的形状和数据类型,并进行量化以减少训练后的模型大小,得到onnx模型;将图像数据进行预处理并转换,输入至所述onnx模型中得到模型输出;基于所述模型输出,计算3D目标的全局方位角和3D检测框的多个顶点坐标,并绘制3D检测框和鸟瞰图。
进一步地,所述三个分支分别为维度预测分支、旋转角预测分支和置信度分支,所述维度预测分支输出三个参数宽、高、长,通过3DIOU损失函数实现维度的预测;所述旋转角预测分支输出各区间对应的旋转角参数;所述置信度分支输出各个区间所对应的置信度。
进一步地,所述基于所述数据集对搭建的模型进行训练,包括:根据目标旋转角所处区间,来确定各个区间的置信度;获取目标的2D边界框,通过维度预测分支得到目标的维度,通过区间置信度分支输出各个区间的置信度,选取置信度最大的区间,对从所述旋转角预测分支中得到对应区间的旋转角参数sin(Δθi0)和cos(Δθi0)进行转换得到对应区间的残差角,根据所述残差角得到对应区间的局部旋转角和全局旋转角;训练模型的损失函数为:
L=α*Ldim+Lθ
其中Ldim为维度损失函数,Lθ为旋转角损失函数,α为预设的超参数,以平衡维度损失函数和旋转角损失函数。
进一步地,在对搭建的模型进行训练的过程中,对训练图像进行颜色失真处理,并随机对训练图像进行镜像翻转。
进一步地,所述图像数据包括三通道的RGB图片和其中对应的目标的2D检测框,所述将图像数据进行预处理并转换,输入至所述onnx模型中得到模型输出,包括:根据所有的2D检测框,在所述RGB图片中剪裁出对应2D检测框中的图片区域,将剪裁出的区域统一缩放成预设像素大小的图块;对每个图块进行均值化处理,再将每个图块的通道顺序由RGB转为BGR,最后将每个图块打包成一个张量作为所述onnx模型的输入;分别创建bin_anchor、bin_conf、alpha三个张量用于接收一次前向推理的输出;bin_anchor表示目标物体与其所属种类的三维长度的差值,bin_conf表示该物体的置信度,alpha表示该物体在三维空间中基于y轴的方向角,随后根据目标所属的类别,将bin_anchor加上该类别的三维平均值,得到目标的长、宽、高的预测值;根据所述目标的长、宽、高的预测值和相机内参用投影公式计算出目标的全局方向角。
进一步地,所述基于所述模型输出,计算3D目标的全局方位角和3D检测框的多个顶点坐标,并绘制3D检测框和鸟瞰图,包括:根据全局方向角、三维尺寸、相机矩阵信息计算出目标的几何中心在相机坐标系下的坐标,并将其组合成一个矩阵与旋转矩阵点乘计算出三维目标检测框的八点坐标;根据三维目标检测框的八点坐标计算出目标的鸟瞰图。
进一步地,通过如下公式计算出三维目标检测框的八点坐标:
其中,表示一个点在图像坐标系中的坐标,表示相机矩阵,表示一个点在世界坐标系中的坐标,表示形状为3×1的图像坐标系中的点坐标、形状为3×4的相机矩阵、形状为4×1的世界坐标系中点坐标,P表示相机矩阵,f表示相机的焦距,px表示在x轴的偏移量,py表示y轴的偏移量。
进一步地,所述用于3D目标检测的数据集包括在市区、乡村和高速公路场景采集的真实图像数据,所述真实图像数据包括若干图像,所述图像中最多包含有15辆车和/或30个行人,部分图像中的车辆或行人被障碍物部分或全部遮挡与截断。
根据本发明的第二技术方案,提供一种适用于移动端的轻量级三维目标检测装置,所述装置包括:
获取模块,被配置为获取或制作用于3D目标检测的数据集;所述数据集包括多个训练图像及其对应的点云数据和多个测试图像及其对应的点云数据;
模型搭建和训练模块,被配置为搭建模型,所述模型包括MobileViT block、三个分支和全连接层,所述MobileViT block与三个分支连接,各分支连接所述全连接层,所述MobileViT block用于对输入张量中的局部和全局信息进行建模,并对所有像素的信息进行编码,以使有效接收域为H×W,其中H为输入长度224像素,W为输入宽度224像素;基于所述数据集对搭建的模型进行训练;
模型优化模块,被配置为获取模型在训练过程中生成的模型权重文件,并将所述模型权重文件转换为onnx文件,固定训练后的模型的输入、输出的形状和数据类型,并进行量化以减少训练后的模型大小,得到onnx模型;
数据识别模块,被配置为将图像数据进行预处理并转换,输入至所述onnx模型中得到模型输出;
绘制模块,被配置为基于所述模型输出,计算3D目标的全局方位角和3D检测框的多个顶点坐标,并绘制3D检测框和鸟瞰图。
根据本发明的第三方案,提供了一种存储有指令的非暂时性计算机可读存储介质,当所述指令由处理器执行时,执行根据本发明各个实施例所述的方法。
本发明至少具有以下技术效果:
本发明结合了CNN和ViT的优点。不仅拥有CNN网络的空间归纳偏差和数据增强低敏性的特点,也拥有ViT的输入自适应加权和全局处理。特别地,本发明提出一种模型模块用于在一个张量中编码局部和全局信息,并用此模块将卷积中的局部处理替换为transformers的全局处理。这让模型同时拥有CNN和ViT相类似的属性和优点,以此可以用更少的参数学到更好的特征表示,从而实现移动端3D目标检测的任务。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相同附图标记可以表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所发明的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本装置或方法的穷尽或排他实施例。
图1为根据本发明实施例的一种适用于移动端的轻量级三维目标检测方法的流程图。
图2为根据本发明实施例的数据集所需遵守的结构示意图。
图3为根据本发明实施例的传感器安装位置以及初始设定值的示意图。
图4为根据本发明实施例的基本模型结构图,其中,Shared Convlution Features表示经过训练获得的共享卷积特征,FC表示深度神经网络中的全连接层,Dimentions表示物体的三维长度(长、宽、高),L2 Norm表示深度神经网络中的L2正则,Angle sin+cos表示物体的方向角的正、余弦之和,Confidences表示物体的置信度。
图5为根据本发明实施例的用于3D目标检测的网络模型结构示意图。
图6为根据本发明实施例的bbox的训练结果图,其中bbox表示边界框的损失,横坐标表示训练进行的迭代次数,纵坐标表示对应的边界框损失值。
图7为根据本发明实施例的qfl的训练结果,其中qfl表示Quality Focal Loss即质量焦点损失,横坐标表示训练进行的迭代次数,纵坐标表示对应的质量焦点损失值。
图8为根据本发明实施例的3D边界框预测结果可视化示意图。
图9为根据本发明实施例的一种适用于移动端的轻量级三维目标检测装置的结构示意图。
具体实施方式
为使本领域技术人员更好的理解本发明的技术方案,下面结合附图和具体实施方式对本发明作详细说明。下面结合附图和具体实施例对本发明的实施例作进一步详细描述,但不作为对本发明的限定。本文中所描述的各个步骤,如果彼此之间没有前后关系的必要性,则本文中作为示例对其进行描述的次序不应视为限制,本领域技术人员应知道可以对其进行顺序调整,只要不破坏其彼此之间的逻辑性导致整个流程无法实现即可。
本发明实施例提供一种适用于移动端的轻量级三维目标检测方法。如图1所示,该方法包括步骤S100-S500。
步骤S100,获取或制作用于3D目标检测的数据集;所述数据集包括多个训练图像及其对应的点云数据和多个测试图像及其对应的点云数据。
需要说明的是,上述数据集的来源于可以是已有的图像数据集,也可以是自行制作的图像数据集。例如,已有的图像数据集,可以选择工业界普遍使用的KITTI数据集作为用于3D目标检测的数据集。KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D物体检测(object detection)和3D跟踪(tracking)等计算机视觉技术在车载环境下的性能。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。整个数据集由389对立体图像和光流图,39.2km视觉测距序列以及超过200k 3D标注物体的图像组成,以10Hz的频率采样及同步。总体上看,原始数据集被分类为’Road’,’City’,’Residential’,’Campus’和’Person’。对于3D物体检测,label细分为car,van,truck,pedestrian,pedestrian(sitting),cyclist,tram以及misc组成。KITTI数据集的数据采集平台装配有2个灰度摄像机,2个彩色摄像机,一个Velodyne 64线3D激光雷达,4个光学镜头,以及1个GPS导航***。具体的传感器参数如下:
2×PointGray Flea2 grayscale cameras(FL2-14S3M-C),1.4Megapixels,1/2”Sony ICX267 CCD,global shutter
2×PointGray Flea2 color cameras(FL2-14S3C-C),1.4Megapixels,1/2”SonyICX267 CCD,global shutter
4×Edmund Optics lenses,4mm,opening angle~90°,vertical opening angleof region of interest(ROI)~35°
1×Velodyne HDL-64E rotating 3D laser scanner,10Hz,64beams,0.09degreeangular resolution,2cm distance accuracy,collecting~1.3million points/second,field of view:360°horizontal,26.8°vertical,range:120m
1×OXTS RT3003 inertial and GPS navigation system,6axis,100Hz,L1/L2RTK,resolution:0.02m/0.1°
当然,如果用本发明所提出方法,自制数据集也需要满足上述KITTI数据集的传感器数据要求。具体的,如图2所示,需要将获取的数据按下面的文件夹结构按类别进行存储,其中,image_00至image03表示四个摄像头采集的图像序列,以8位png格式存储;oxts文件夹中存放的为GPS/IMU数据。每帧图像都存放30个不同的GPS/IMU数据;velodyne_points文件夹存放的是激光雷达数据。date_drive_tracklects.zip存放的是Tracklects数据;date_calib.zip存放的是标定数据。
特别地,传感器的位置以及坐标系设置需要按如图3所示进行布置安装。
特别地,每一帧的标注数据需要满足以下的格式(见图1,3D目标描述所需参数),以一条标注数据为例:
Pedestrian 0.00 0 -0.20 712.40 143.00 810.73 307.92 1.89.0.48 1.201.84 1.47 8.41.0.01
第1个字符串代表物体类别,有'Car','Van','Truck','Pedestrian','Person_sitting','Cyclist','Tram','Misc'或'DontCare'这些类别,其中,‘DontCare’标签表示该区域没有被标注,比如由于目标物体距离激光雷达太远。为了防止在评估过程中(主要是计算precision),将本来是目标物体但是因为某些原因而没有标注的区域统计为假阳性(false positives),评估脚本会自动忽略,‘DontCare’区域的预测结果。第2个数代表物体是否被截断,从0(非截断)到1(截断)浮动,其中truncated指离开图像边界的对象。第3个数代表物体是否被遮挡,整数0,1,2,3表示被遮挡的程度,0:完全可见1:小部分遮挡2:大部分遮挡3:完全遮挡(unknown)。第4个数表示alpha,即物体的观察角度,范围为-pi~pi,是在相机坐标系下,以相机原点为中心,相机原点到物体中心的连线为半径,将物体绕相机y轴旋转至相机z轴,此时物体方向与相机x轴的夹角。r_y+pi/2-theta=alpha+pi/2,所以alpha=r_y-theta。第5~8这4个数代表物体的2维边界框xmin,ymin,xmax,ymax。第9~11这3个数代表3维物体的尺寸高、宽、长(单位:米)。第12~14这3个数代表3维物体的位置x,y,z(在照相机坐标系下,单位:米)。第15个数代表3维物体的空间方向:rotation_y,即在照相机坐标系下,物体的全局方向角(物体前进方向与相机坐标系x轴的夹角),范围:-pi~pi。第16个数代表检测的置信度。
步骤S200,搭建模型,所述模型包括MobileViT block、三个分支和全连接层,所述MobileViT block与三个分支连接,各分支连接所述全连接层,所述MobileViT block用于对输入张量中的局部和全局信息进行建模,并对所有像素的信息进行编码,以使有效接收域为H×W,其中H为,W为;基于所述数据集对搭建的模型进行训练。
CNN的基本构建层是标准的卷积层,由于这一层的计算成本很高,人们提出了几种基于因子分解的方法使其变得轻量化,以方便移动端设备的部署,其中深度可分离卷积方法引起了广泛关注,并被大量应用于最新的轻量级CNN移动视觉任务中,如MobileNets、ShuffleNetv2、ESPNetv2、MixNet,这些网络可以取代特定任务模型中的主干,以减少网络规模,并降低延迟。尽管可以降低延迟,但这些方法的最大缺点是它们提取的是局部信息,在3D目标检测中需要完整的全局信息来判断物体的方向、三维等属性,所以本实施例将Transformer视为卷积,利用卷积和Transformer的优点来构建模型。
本实施例采用的MobileViT block的结构如图5所示,其目的是用较少的参数,对输入张量中的局部和全局信息进行建模。形式上,对于一个给定的输入张量X∈RH×W×C,该模块首先应用一个n×n的标准卷积层,然后用一个1×1卷积层产生特征XL∈RH×W×d,n×n卷积层编码局部空间信息,而点卷积通过学习输入通道的线性组合,将张量投影到高维空间(d维,d>c)。为了让MobileViT block能够学习具有空间归纳偏差的全局表示,将XL展开为N个non overlapping flattened patches,Xu∈RP×N×d,其中P=wh,N=HW/P为patch的个数,h≤N,w≤N分别为patch的高度和宽度,p∈{1,...,P},通过应用Transformer来编码patch之间的关系:
XG(p)=Transformer(Xu(p)),1≤p≤P
与丢失像素空间顺序的ViT不同,MobileViT既不丢失patch顺序也不丢失每个patch内像素的空间顺序,因此将XG∈RP×N×d折叠到XF∈RH×W×d,然后XF通过逐点卷积,投影到低维空间(c维)并通过cat操作与X结合,然后使用n×n区域的局部信息进行编码,而对于第P个位置的P个patch,XG(P)对全局信息进行编码,XG中的每个像素可以对Xφ中所有像素的信息进行编码,从而使整体有效接收域为H×W。
通过KITTI训练集给定的标签数据,将图像中的相应目标区域进行裁剪调整尺寸统一为128×128像素大小输入到网络中。本文采用MobileNetv2类似的网络提取目标相应的特征(见图5网络结构),将卷积层替换为MobileViT block,并舍弃其全连接层。共享特征分为三个分支,每个分支接全连接层(见图4,本实施例所提出的基本模型)。维度预测分支输出三个参数宽、高、长,通过3DIOU损失函数实现维度的精确预测。旋转角预测分支输出区间个数Nb组参数,本实验取Nb=2。每组参数由sin(Δθi0)和cos(Δθi0)构成。置信度分支输出Nb个参数ci,对应每个区间的置信度。网络的训练阶段,当目标旋转角落在哪个区间,那么对应该区间的ci为1,其它区间的ci,为0。预测阶段,通过2D目标测技术得到目标的2D边界框,然后将其送入到己经训练好的参数估计网络中,通过维度预测分支得到目标的维度,通过区间置信度分支输出的Nb个区间的置信度,选取置信度最大的那个区间,从对应的旋转角分支中得到相应的sin(Δθi0)和cos(Δθi0)进而进行转换得到相应的残差角,继续结合区间信息得到最终的局部旋转角θalpha,即得到了全局旋转角θyaw。整个网络的损失函数为多任务损失函数,如下所示:
L=α*Ldim+Lθ
其中Ldim为维度损失函数,Lθ为旋转角损失函数,α平衡二者设置的超参数,本文设置α=0.6,对于损失函数Lθ=Lconf+wLpre,设置超参数w=0.4。网络采用随机梯度下降(SGD)优化网络,通过反向传播调整网络权重。设置网络的学习率lr=0.0001,批处理数据量batch size=8,网络进行2000次迭代,根据验证集选择最好的某次迭代模型。
本实施例在对模型进行训练的过程中对图像添加了颜色失真,并随机对图像进行镜像翻转,使得网络更具有鲁棒性,训练结果如图6和图7所示。
步骤S300,获取模型在训练过程中生成的模型权重文件,并将所述模型权重文件转换为onnx文件,固定训练后的模型的输入、输出的形状和数据类型,并进行量化以减少训练后的模型大小,得到onnx模型。
为保证该方法所训练出的模型可以应用与各种不同***不同硬件配置的移动设备,本专利选择将训练出的模型转成onnx格式的模型文件。onnx即Open Neural NetworkExchange,开放神经网络交换,是微软和Facebook提出用来表示深度学***台均无关的标准格式。无论使用何种训练框架训练模型(比如TensorFlow/Pytorch/OneFlow/Paddle),在训练完毕后都可以将这些框架的模型统一转换为onnx这种统一的格式进行存储。onnx文件不仅仅存储了神经网络模型的权重,同时也存储了模型的结构信息以及网络中每一层的输入输出和一些其它的辅助信息。在获得onnx模型之后,模型部署人员自然就可以将这个模型部署到兼容onnx的运行环境中去。onnx将每一个网络的每一层或者说是每一个算子当作节点Node,再由这些Node去构建一个Graph,相当于是一个网络。最后将Graph和这个onnx模型的其他信息结合在一起,生成一个model,也就是最终的.onnx的模型。构建一个简单的onnx模型,实质上,只要构建好每一个node,然后将它们和输入输出超参数一起塞到graph,最后转成model就可以了。
具体地,获取第二步中生成的模型权重文件,根据训练时所选用的训练框架下载对应的转换工具转换为onnx文件,例如本专利采用keras作为训练框架,下载keras2onnx转换工具将权重文件转换为目标文件.onnx,在转换成功后还可以固定输入、输出的形状和数据类型,并进行量化以减少模型大小,加速前向运算。
步骤S400,将图像数据进行预处理并转换,输入至所述onnx模型中得到模型输出。
正常情况下单目3D目标检测的输入数据是一张3通道的RGB图片和其中对应的目标物体的2D检测框(xmin,ymin,xmax,ymax,label,conf),在使用本方法进行推理之前还需要进行数据预处理,具体地,需要根据所有的2D检测框,在原图片中剪裁出对应2D检测框中的图片区域,将剪裁出的区域统一缩放成128×128像素大小的图块,随后需要对每个图块进行均值化处理,即在每个像素对应的三个通道值上分别减去103、116、123,再将每个图块的通道顺序由RGB转为BGR,最后将每个图块打包成一个张量作为onnx模型的输入,分别创建bin_anchor、bin_conf、alpha三个张量用于接受一次前向推理的输出。这里需要说明的是bin_anchor根据目标所属的类别,加上该类别的三维平均值,就是该目标长、宽、高的预测值。根据该目标长、宽、高的预测值和相机内参即可由投影公式计算出该物体的全局方向角。
步骤S500,基于所述模型输出,计算3D目标的全局方位角和3D检测框的多个顶点坐标,并绘制3D检测框和鸟瞰图。
在KITTI数据集中,dimensions_height,dimensions_width,dimensions_length,location_x,location_y,location_z,rotation_y这7个参数是以Cam2作为基准坐标系所标注的。可以计算出3D边界框对应的8个顶点坐标按照Cam2的坐标系画出物体的上帝视角模型,因为知道了dimensions_height,dimensions_width,dimensions_length,所以也就轻松的画出了物体的长和宽,location_x,location_y,location_z代表着物体模型中心点的坐标,随之也能轻松的得到了8个顶点坐标,如下公式所示:
可以将其替换为相对于Location坐标系的差值,如下所示:
ycorners=(0,0,0,0,-h,-h,-h,-h)
但是这只是在yaw=0的情况下得到的坐标,yaw表示三维坐标系下的航向角,一般正常情况下物体不会正常摆放,都会存在一个旋转角,这时,需要通过旋转矩阵将yaw=0时的坐标通过点乘转换为yaw!=0时的坐标,由于是绕着Y轴转动,所以旋转矩阵为:
根据全局方向角、三维尺寸、相机矩阵信息计算出物体的几何中心在相机坐标系下的坐标,再根据如下所示投影公式,将x、y、z三个组合成一个矩阵与旋转矩阵点乘即可计算出三维目标检测框的八点坐标,进而还可以根据三维坐标计算出目标物体的的鸟瞰图(即舍去z轴的数据),最后实现效果如图8所示,进而实现一种基于轻量级网络的单目三维目标检测。
其中,表示一个点在图像坐标系中的坐标,表示相机矩阵,表示一个点在世界坐标系中的坐标,表示形状为3×1的图像坐标系中的点坐标、形状为3×4的相机矩阵、形状为4×1的世界坐标系中点坐标,P表示相机矩阵,f表示相机的焦距,px表示在x轴的偏移量,py表示y轴的偏移量。
本发明实施例还提供一种适用于移动端的轻量级三维目标检测装置。如图9所述,所述装置包括:
获取模块901,被配置为获取或制作用于3D目标检测的数据集;所述数据集包括多个训练图像及其对应的点云数据和多个测试图像及其对应的点云数据。
模型搭建和训练模块902,被配置为搭建模型,所述模型包括MobileViT block、三个分支和全连接层,所述MobileViT block与三个分支连接,各分支连接所述全连接层,所述MobileViT block用于对输入张量中的局部和全局信息进行建模,并对所有像素的信息进行编码,以使有效接收域为H×W,其中H为输入长度224像素,W为输入宽度224像素;基于所述数据集对搭建的模型进行训练。
模型优化模块903,被配置为获取模型在训练过程中生成的模型权重文件,并将所述模型权重文件转换为onnx文件,固定训练后的模型的输入、输出的形状和数据类型,并进行量化以减少训练后的模型大小,得到onnx模型。
数据识别模块904,被配置为将图像数据进行预处理并转换,输入至所述onnx模型中得到模型输出。
绘制模块905,被配置为基于所述模型输出,计算3D目标的全局方位角和3D检测框的多个顶点坐标,并绘制3D检测框和鸟瞰图。
在一些实施例中,所述三个分支分别为维度预测分支、旋转角预测分支和置信度分支,所述维度预测分支输出物体的三个参数宽、高、长,通过3DIOU损失函数实现维度的预测;所述旋转角预测分支输出各区间对应的旋转角参数;所述置信度分支输出各个区间所对应的置信度。
在一些实施例中,所述模型搭建和训练模块902被进一步配置为:根据目标旋转角所处区间,来确定各个区间的置信度;获取目标的2D边界框,通过维度预测分支得到目标的维度,通过区间置信度分支输出各个区间的置信度,选取置信度最大的区间,对从所述旋转角预测分支中得到对应区间的旋转角参数sin(Δθi0)和cos(Δθi0)进行转换得到对应区间的残差角,根据所述残差角得到对应区间的局部旋转角和全局旋转角;训练模型的损失函数为:
L=α*Ldim+Lθ
其中Ldim为维度损失函数,Lθ为旋转角损失函数,α为预设的超参数,以平衡维度损失函数和旋转角损失函数。
在一些实施例中,所述模型搭建和训练模块902被进一步配置为在对搭建的模型进行训练的过程中,对训练图像进行颜色失真处理,并随机对训练图像进行镜像翻转。
在一些实施例中,所述数据识别模块904被进一步配置为根据所有的2D检测框,在所述RGB图片中剪裁出对应2D检测框中的图片区域,将剪裁出的区域统一缩放成预设像素大小的图块;对每个图块进行均值化处理,再将每个图块的通道顺序由RGB转为BGR,最后将每个图块打包成一个张量作为所述onnx模型的输入;分别创建bin_anchor、bin_conf、alpha三个张量用于接收一次前向推理的输出;bin_anchor表示目标物体与其所属种类的三维长度的差值,bin_conf表示该物体的置信度,alpha表示该物体在三维空间中基于y轴的方向角,随后根据目标所属的类别,将bin_anchor加上该类别的三维平均值,根据所述目标的长、宽、高的预测值和相机内参用投影公式计算出目标的全局方向角。
在一些实施例中,所述绘制模块905被进一步配置为根据全局方向角、三维尺寸、相机矩阵信息计算出目标的几何中心在相机坐标系下的坐标,并将其组合成一个矩阵与旋转矩阵点乘计算出三维目标检测框的八点坐标;根据三维目标检测框的八点坐标计算出目标的鸟瞰图。
在一些实施例中,所述绘制模块905被进一步配置为通过如下公式计算出三维目标检测框的八点坐标:
其中,表示一个点在图像坐标系中的坐标,表示相机矩阵,表示一个点在世界坐标系中的坐标,表示形状为3×1的图像坐标系中的点坐标、形状为3×4的相机矩阵、形状为4×1的世界坐标系中点坐标,P表示相机矩阵,f表示相机的焦距,px表示在x轴的偏移量,py表示y轴的偏移量。
在一些实施例中,所述用于3D目标检测的数据集包括在市区、乡村和高速公路场景采集的真实图像数据,所述真实图像数据包括若干图像,所述图像中最多包含有15辆车和/或30个行人,部分图像中的车辆或行人被障碍物部分或全部遮挡与截断。
本发明实施例还提供了一种存储有指令的非暂时性计算机可读存储介质,当所述指令由处理器执行时,执行根据本发明各个实施例所述的方法。
此外,尽管已经在本文中描述了示例性实施例,其范围包括任何和所有基于本发明的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本申请的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或更多方案)可以彼此组合使用。例如本领域普通技术人员在阅读上述描述时可以使用其它实施例。另外,在上述具体实施方式中,各种特征可以被分组在一起以简单化本发明。这不应解释为一种不要求保护的发明的特征对于任一权利要求是必要的意图。相反,本发明的主题可以少于特定的发明的实施例的全部特征。从而,以下权利要求书作为示例或实施例在此并入具体实施方式中,其中每个权利要求独立地作为单独的实施例,并且考虑这些实施例可以以各种组合或排列彼此组合。本发明的范围应参照所附权利要求以及这些权利要求赋权的等同形式的全部范围来确定。
Claims (10)
1.一种适用于移动端的轻量级三维目标检测方法,其特征在于,所述方法包括:
获取或制作用于3D目标检测的数据集;所述数据集包括多个训练图像及其对应的点云数据和多个测试图像及其对应的点云数据;
搭建模型,所述模型包括MobileViT block、三个分支和全连接层,所述MobileViTblock与三个分支连接,各分支连接所述全连接层,所述MobileViT block用于对输入张量中的局部和全局信息进行建模,并对所有像素的信息进行编码,以使有效接收域为H×W,其中H为输入长度,W为输入宽度;基于所述数据集对搭建的模型进行训练;
获取模型在训练过程中生成的模型权重文件,并将所述模型权重文件转换为onnx文件,固定训练后的模型的输入、输出的形状和数据类型,并进行量化以减少训练后的模型大小,得到onnx模型;
将图像数据进行预处理并转换,输入至所述onnx模型中得到模型输出;
基于所述模型输出,计算3D目标的全局方位角和3D检测框的多个顶点坐标,并绘制3D检测框和鸟瞰图。
2.根据权利要求1所述的方法,其特征在于,所述三个分支分别为维度预测分支、旋转角预测分支和置信度分支,所述维度预测分支输出三个参数宽、高、长,通过3DIOU损失函数实现维度的预测;所述旋转角预测分支输出各区间对应的旋转角参数;所述置信度分支输出各个区间所对应的置信度。
3.根据权利要求2所述的方法,其特征在于,所述基于所述数据集对搭建的模型进行训练,包括:
根据目标旋转角所处区间,来确定各个区间的置信度;
获取目标的2D边界框,通过维度预测分支得到目标的维度,通过区间置信度分支输出各个区间的置信度,选取置信度最大的区间,对从所述旋转角预测分支中得到对应区间的旋转角参数sin(Δθi0)和cos(Δθi0)进行转换得到对应区间的残差角,根据所述残差角得到对应区间的局部旋转角和全局旋转角;
训练模型的损失函数为:
L=α*Ldim+Lθ
其中Ldim为维度损失函数,Lθ为旋转角损失函数,α为预设的超参数,以平衡维度损失函数和旋转角损失函数。
4.根据权利要求3所述的方法,其特征在于,在对搭建的模型进行训练的过程中,对训练图像进行颜色失真处理,并随机对训练图像进行镜像翻转。
5.根据权利要求1所述的方法,其特征在于,所述图像数据包括三通道的RGB图片和其中对应的目标的2D检测框,所述将图像数据进行预处理并转换,输入至所述onnx模型中得到模型输出,包括:
根据所有的2D检测框,在所述RGB图片中剪裁出对应2D检测框中的图片区域,将剪裁出的区域统一缩放成预设像素大小的图块;
对每个图块进行均值化处理,再将每个图块的通道顺序由RGB转为BGR,最后将每个图块打包成一个张量作为所述onnx模型的输入;
分别创建bin_anchor、bin_conf、alpha三个张量用于接收一次前向推理的输出;其中,bin_anchor表示目标物体与其所属种类的三维长度的差值,bin_conf表示该物体的置信度,alpha表示该物体在三维空间中基于y轴的方向角,随后根据目标所属的类别,将bin_anchor加上该类别的三维平均值,得到目标的长、宽、高的预测值;根据所述目标的长、宽、高的预测值和相机内参用投影公式计算出目标的全局方向角。
6.根据权利要求5所述的方法,其特征在于,所述基于所述模型输出,计算3D目标的全局方位角和3D检测框的多个顶点坐标,并绘制3D检测框和鸟瞰图,包括:
根据全局方向角、三维尺寸、相机矩阵信息计算出目标的几何中心在相机坐标系下的坐标,并将其组合成一个矩阵与旋转矩阵点乘计算出三维目标检测框的八点坐标;
根据三维目标检测框的八点坐标计算出目标的鸟瞰图。
8.根据权利要求1所述的方法,其特征在于,所述用于3D目标检测的数据集包括在市区、乡村和高速公路场景采集的真实图像数据,所述真实图像数据包括若干图像,所述图像中最多包含有15辆车和/或30个行人,部分图像中的车辆或行人被障碍物部分或全部遮挡与截断。
9.一种适用于移动端的轻量级三维目标检测装置,其特征在于,所述装置包括:
获取模块,被配置为获取或制作用于3D目标检测的数据集;所述数据集包括多个训练图像及其对应的点云数据和多个测试图像及其对应的点云数据;
模型搭建和训练模块,被配置为搭建模型,所述模型包括MobileViT block、三个分支和全连接层,所述MobileViT block与三个分支连接,各分支连接所述全连接层,所述MobileViT block用于对输入张量中的局部和全局信息进行建模,并对所有像素的信息进行编码,以使有效接收域为H×W,其中H为输入长度,W为输入宽度;基于所述数据集对搭建的模型进行训练;
模型优化模块,被配置为获取模型在训练过程中生成的模型权重文件,并将所述模型权重文件转换为onnx文件,固定训练后的模型的输入、输出的形状和数据类型,并进行量化以减少训练后的模型大小,得到onnx模型;
数据识别模块,被配置为将图像数据进行预处理并转换,输入至所述onnx模型中得到模型输出;
绘制模块,被配置为基于所述模型输出,计算3D目标的全局方位角和3D检测框的多个顶点坐标,并绘制3D检测框和鸟瞰图。
10.一种存储有指令的非暂时性计算机可读存储介质,当所述指令由处理器执行时,执行根据权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210894321.5A CN115359474A (zh) | 2022-07-27 | 2022-07-27 | 适用于移动端的轻量级三维目标检测方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210894321.5A CN115359474A (zh) | 2022-07-27 | 2022-07-27 | 适用于移动端的轻量级三维目标检测方法、装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115359474A true CN115359474A (zh) | 2022-11-18 |
Family
ID=84031364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210894321.5A Pending CN115359474A (zh) | 2022-07-27 | 2022-07-27 | 适用于移动端的轻量级三维目标检测方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115359474A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117078683A (zh) * | 2023-10-17 | 2023-11-17 | 云南大学 | 一种太阳射电爆发检测方法、***及产品 |
CN117173122A (zh) * | 2023-09-01 | 2023-12-05 | 中国农业科学院农业信息研究所 | 一种基于轻量级ViT的图像叶密度测定方法及装置 |
CN117315035A (zh) * | 2023-11-30 | 2023-12-29 | 武汉未来幻影科技有限公司 | 一种车辆朝向的处理方法、装置以及处理设备 |
-
2022
- 2022-07-27 CN CN202210894321.5A patent/CN115359474A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117173122A (zh) * | 2023-09-01 | 2023-12-05 | 中国农业科学院农业信息研究所 | 一种基于轻量级ViT的图像叶密度测定方法及装置 |
CN117173122B (zh) * | 2023-09-01 | 2024-02-13 | 中国农业科学院农业信息研究所 | 一种基于轻量级ViT的图像叶密度测定方法及装置 |
CN117078683A (zh) * | 2023-10-17 | 2023-11-17 | 云南大学 | 一种太阳射电爆发检测方法、***及产品 |
CN117315035A (zh) * | 2023-11-30 | 2023-12-29 | 武汉未来幻影科技有限公司 | 一种车辆朝向的处理方法、装置以及处理设备 |
CN117315035B (zh) * | 2023-11-30 | 2024-03-22 | 武汉未来幻影科技有限公司 | 一种车辆朝向的处理方法、装置以及处理设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112884760B (zh) | 近水桥梁多类型病害智能检测方法与无人船设备 | |
CN110415342B (zh) | 一种基于多融合传感器的三维点云重建装置与方法 | |
CN111563415B (zh) | 一种基于双目视觉的三维目标检测***及方法 | |
CN111862126B (zh) | 深度学习与几何算法结合的非合作目标相对位姿估计方法 | |
CN109655019B (zh) | 一种基于深度学习和三维重建的货物体积测量方法 | |
US11315271B2 (en) | Point cloud intensity completion method and system based on semantic segmentation | |
CN110689008A (zh) | 一种面向单目图像的基于三维重建的三维物体检测方法 | |
CN113936139B (zh) | 一种视觉深度信息与语义分割相结合的场景鸟瞰图重构方法及*** | |
CN111429514A (zh) | 一种融合多帧时序点云的激光雷达3d实时目标检测方法 | |
Varga et al. | Super-sensor for 360-degree environment perception: Point cloud segmentation using image features | |
CN115359474A (zh) | 适用于移动端的轻量级三维目标检测方法、装置及介质 | |
CN115147723B (zh) | 一种内河船舶识别与测距方法、***、介质、设备及终端 | |
US11966234B2 (en) | System and method for monocular depth estimation from semantic information | |
CN114067142A (zh) | 一种实现场景结构预测、目标检测和车道级定位的方法 | |
CN115115917A (zh) | 基于注意力机制和图像特征融合的3d点云目标检测方法 | |
Li et al. | Vehicle object detection based on rgb-camera and radar sensor fusion | |
CN114048536A (zh) | 一种基于多任务神经网络的道路结构预测与目标检测方法 | |
CN113269147A (zh) | 基于空间和形状的三维检测方法、***、存储及处理装置 | |
Berrio et al. | Fusing lidar and semantic image information in octree maps | |
CN115187959B (zh) | 一种基于双目视觉的飞行汽车山地着陆方法及*** | |
US20230281877A1 (en) | Systems and methods for 3d point cloud densification | |
CN116503602A (zh) | 基于多层级边缘增强的非结构化环境三维点云语义分割方法 | |
CN116630528A (zh) | 基于神经网络的静态场景重建方法 | |
CN113537397B (zh) | 基于多尺度特征融合的目标检测与图像清晰联合学习方法 | |
CN112749662B (zh) | 一种基于激光雷达的非结构化环境可行驶区域提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |