-
为了表达点云数据中目标的三维信息,通过建立立体视觉测量模型对点云的边界进行限定与分析。由于点云获取主要是通过激光雷达扫描获得,所以为了便于数据匹配,采用球形网络作为三维数据节点的构建方式。将目标数模的中心定义为三维坐标系中原点位置o(x, y, z)。x轴的方向在激光入射方向的垂直平面上,从原点向水平方向延伸;y轴的方向在激光入射方向的垂直平面上,从原点向竖直方向延伸;z轴为激光入射方向。原点到最远点的距离值为r,作为圆形区域的范围。
由此可以得到视点的最佳距离估计[11],为了同时满足三个方向上覆盖率与重建精度,则坐标系与拟合球模型存在最佳距离估计Dbest,其可表示为:
$$ {D_{best}} = \min \left[ {\sqrt {{{\left( {{x_i} - {x_o}} \right)}^2} + {{\left( {{y_i} - {y_o}} \right)}^2} + {{\left( {{z_i} - {z_o}} \right)}^2}} } \right] $$ (1) 式中:i和o分别表示测试点云坐标系和拟合球模型的坐标系;xi, yi, zi和xo, yo, zo分别表示对应坐标系中的三个坐标轴方向。故坐标对其后所有位置之间的最小距离就是最佳距离。
-
由于三维点云中待测目标涉及位姿状态问题[12],所以需要对目标点云数模与测试坐标系点云进行对齐,其中基线中心计算关系可表示为:
$$ \left\{ \begin{array}{l} {X_i} = \left( {a + {D_{best}}} \right)\cos \left( {{\alpha _i}} \right)\cos \left( {{\beta _i}} \right) \\ {Y_i} = \left( {b + {D_{best}}} \right)\sin \left( {{\beta _i}} \right) \\ {Z_i} = \left( {c + {D_{best}}} \right)\sin \left( {{\alpha _i}} \right)\cos \left( {{\beta _i}} \right) \end{array} \right. $$ (2) 式中:Xi, Yi, Zi为基线中心坐标值;a, b, c分别表示在x, y, z轴上最佳距离的修正参数;αi, βi分别表示对应第i个点的角度偏量,αi = αi−1+Δα,βi = βi−1+Δβ,其中Δα和Δβ表示测试点与测试源之间的角度差异。
-
立体视觉的本质是通过目标的三维立体结构去辅助构建待测目标的三维结构。在识别过程中,因为目标是具有固定外形结构的,所以可以将待测目标的数字模型作为模板,对点云数据进行分析。对于立体视觉的影响最明显的是测试角度,将不同测试角度投影得到的点云重叠分布特性作为目标识别依据,可以有效提升目标识别概率。估计算法步骤如下:
(1) 选定待测目标存在的点云区域三个坐标轴的区间分别是(xm, xm1),(yn, yn1),(zl, zl1),则其中任意一点P可以表示为(px, py, pz),当从激光雷达位置向该方向投影时,可以得到任意两个测试点之间在该角度θ上的投影距离值Dt;
(2) 因为立体视觉过程中是三维到二维的投影,故在相应的投影角度θ下,如果存在目标,则目标边沿位置的点云堆积最为明显,即投影距离值Dt与绝对距离Dj之间的变化最大。遍历计算所有点的Dt/Dj值,以一定比例选取(n%)其中的最小值就能得到目标点云区域。如果不存在目标,则该运算结果无法符合预设的边界范围值,从而判断目标不存在;
(3) 根据不同的θ值,设置待测目标不同的选取比率n%,通过训练集完成对n%的训练,得到最优n%,从而使不同θ值具有合理的选取比率;
(4) 对选取测试点云区间中的点云数据进行视觉估计,将多种形状的组合进行排列分类,符合立体视觉预设逻辑的进行保留,不符合的剔除。由此可以剔除设定区域中的杂散点,通过该操作对目标点云集合进行滤波处理,进而获得较好的点云识别效果。
-
由于点云数据是三维的,所以在完成立体视觉计算前,首先需要选定三维到二维的映射方向,因为获取点云的激光雷达方向是已知的,同时,该方向又是真实的投影方向,所以选取激光雷达方向作为投影方向。
对于点云集合进行特征提取,特征组中包括目标大小f1,目标与激光雷达的距离f2,目标长宽高对应的几何尺寸f3、f4、f5,长宽比f6,宽高比f7,反射强度比f8。由这些特征值可以构成任意点的特征匹配矩阵,通过计算该矩阵的特征值[13]得到点云之间特征匹配关系,从而确定目标是否存在及存在目标的类型。设协方差A可由特征矩阵C求解,则:
$$ \begin{split} A =& {\left( {r - 1} \right)^{ - 1}}{C^{\rm T}}C =\\& \left( {\begin{array}{*{20}{c}} {{\rm{cov}} \left( {x,x} \right)}&{{\rm{cov}} \left( {x,y} \right)}&{{\rm{cov}} \left( {x,{\textit{z}}} \right)} \\ {{\rm{cov}} \left( {y,x} \right)}&{{\rm{cov}} \left( {y,y} \right)}&{{\rm{cov}} \left( {y,{\textit{z}}} \right)} \\ {{\rm{cov}} \left( {{\textit{z}},x} \right)}&{{\rm{cov}} \left( {{\textit{z}},y} \right)}&{{\rm{cov}} \left( {{\textit{z}},{\textit{z}}} \right)} \end{array}} \right) \end{split} $$ (3) 式中:协方差矩阵A是对称的,所以可通过特征分解得到特征值。
对于不同的特征值而言,不同的测试点云之间有相似的情况[14]。为了区分这之间的区别,采用相似度函数r进行区分,有:
$$ r\left( {{f_P},{f_Q}} \right) = \frac{{n\displaystyle\sum {{f_P}{f_Q} - \displaystyle\sum {{f_P}\displaystyle\sum {{f_Q}} } } }}{{\sqrt {n\displaystyle\sum {f_P^2 - {{\left( {\displaystyle\sum {{f_P}} } \right)}^2}} } \cdot \sqrt {n\displaystyle\sum {f_Q^2 - {{\left( {\displaystyle\sum {{f_Q}} } \right)}^2}} } }} $$ (4) 式中:P、Q表示两个测试点;fP和fQ为两个点对应的特征集合;n为需要计算的特征参数个数。
-
为了提高点云数据中目标识别的精度,将立体视觉作为边界条件导入特征匹配算法中,从而限定特征匹配过程中点云的选取范围,起到在点云源头进行滤波的效果。
只有符合待测目标边界条件的点云集才进入点云特征匹配算法,这样就可以降低由于特征数据中非特征量对解算精度的影响。将单纯的符合特征的点云匹配算法转化成符合立体视觉要求范围内的特征识别,则其实现步骤为:
(1) 对拟检测目标种类进行点云数模库构建,形成不同类型目标对应的点云集合,同时按照相应集合进行不同投影角度θ的分区;
(2) 在不同投影角度θ分区中,完成对合适的选取比率n%进行计算,计算过程中通过网路训练的方式实现,从而得到根据类别划分的选取比率集合N;
(3) 对测试点云数据集进行区域选取,然后遍历计算Dt/Dj值,并通过比较Dt/Dj值与选取比率n%之间的关系,对区域内点云进行筛选;
(4) 识别目标后,采用多种形状的相应点云集合去分析目标特征尺寸特征数,获得特征匹配集合F;
(5) 通过公式(2)计算特征匹配的协方差矩阵,从而解算特征值,用于判断目标的准确参数及位姿信息;
(6) 通过相似度函数r(fP, fQ)的对比计算,消除伪目标点。综上所述,算法对应的程序流程如图1所示。
-
实验采用ARIES激光雷达[15]采集待测区域的点云数据,处理系统为Windows 10,主要测试对象为停放路边的车辆,对不同姿态和类型的车辆进行检测与识别。首先,通过激光雷达完成点云数据采集,经过滤波后获得点云由MATLAB显示如图2所示。实验测试数据已经经过基于时间带通滤波处理,即符合测试距离的测试点被保留,其余由于杂散光、远背景噪声等产生的点云直接被消除。测试实验选取的场景是从笔者学校同一位置不同角度得到的,其测试目标也是一致的。
如图2所示,为了测试算法对不同点云情况中目标的识别效果,选取了三种典型的测试条件(无遮挡、部分、多目标重叠)。图2(a)为目标分离度高的无遮挡状态,目标与背景具有一定距离,具有很好的区分度;图2(b)为部分目标存在部位遮挡现象,有少量目标不易识别;图2(c)为多目标存在重复遮挡的现象,目标均属于不易识别的状态。
-
为了验证文中算法的目标识别能力,将文中算法与未加入立体视觉作为边界条件的点云识别算法进行对比。测试点云为3.1节中激光雷达采集得到的三种典型点云分布。
由测试获得的识别概率可知,不同的测试算法结果不尽相同。对于第一种情况,由于目标分离度高,三种方式获得目标点云都是较为完整的,所以识别精度都在90%以上。同时,相比对人的识别精度略低于汽车,因为无论哪种汽车的车型是固定的,其数模边界清晰,所以其识别概率更高。相比第一种情况,第二种情况存在部分遮挡,从实验结果可以看出,识别概率明显降低,三个目标的平均识别率仅有71.2%,当采用文中算法进行改进后,识别概率提升至81.1%,但相比无遮挡时识别效果变差。分析认为部分遮挡虽然仍能够提取目标部分特征,但由于整体性判断依旧缺失,导致类别分析能力大大减弱。对于第三种情况而言,多目标重叠使有效信息进一步减小,如果不采用边界条件限制,仅通过特征匹配解算的识别概率均值仅为48.1%,加入边界条件限制后系统识别概率均值达71.4%。检出率与识别概率如表1所示。
表 1 检出率与识别概率
Table 1. Detection and recognition probability
Situation Pa Pc Pt A
Q1: B
C92.2% 91.3% 91.6% 98.3% 98.2% 98.6% 98.4% 98.4% 98.7% A
Q2: B
C67.5% 66.4% 73.6% 75.6% 74.2% 84.5% 70.7% 71.5% 85.4% A
Q3: B
C58.2% 52.3% 69.2% 61.7% 46.2% 73.3% 60.4% 45.7% 71.7% 注:Q1、Q2和Q3分别表示三种测试条件;A、B和C分别表示目标人、I型目标车辆和II型目标车辆;Pa、Pc和Pt分别表示激光雷达内置算法、传统特征匹配算法和文中算法的识别概率 -
实验中处理的是相同的点云数据,但是采用立体视觉进行优化会形成不同的目标点云集,这些目标点云集会影响对目标存在及类别的判断,其中对种类判断的影响主要是由于保留的点云之间特征值发生了变化,为了量化分析其对特征值的影响,选取了目标数字模型点云中300个点,与实际测试点中滤波后最近距离的点进行偏差计算,从而观察算法在引入立体视觉后对最优匹配点的保留程度,位置精度结果如图3所示。
图3中d表示所选取点与数模中相应位置点的绝对距离。由图3(a)和3(b)对比可知,在采用立体视觉对特征匹配算法进行边界限制与优化前,随机选取的300个测试点与数模点云中相应点的位置偏差平均值为0.74 mm,最大偏差值为0.38 mm;而采用优化后,位置偏差平均值为0.55 mm,最大偏差值为0.21 mm。对比两种方法可知位置偏差平均值提高了0.19 mm。由此可见,采用算法优化后保留点目标点集合与目标数模点云位置更匹配,也印证了优化后目标识别概率会得到提升。
-
在提高目标识别概率的基础上,还需要对算法的处理速度进行分析,从而分析算法的实用性。反映算法处理速度的技术参数主要是算法的收敛时间,对比引入立体视觉边界条件前后的数据处理时间就能分析算法的时效性。当目标尺寸不变时,探测视场内点云数据总量的增加会导致处理时间的增长,所以对点云数据总量递增变化时的收敛时间进行分析就能区分算法改进前后的时效性,优化前后的收敛时间如图4所示。该测试数据曲线将三种不同条件下的测试数据进行均值后得到。
从图4结果可以看出,随着测试数据量的增大,采用立体视觉优化后的收敛时间明显减小。在点云总量小于1000时,采用立体视觉优化由于同样需要进行数据预处理,所以此时相比传统方式更费时,但随着数据量的不断增大,预处理分类的优势逐渐显现。并且在实际测试的情况中往往数据量在3000点以上(由激光雷达测试区域和采样频率决定),所以,将立体视觉作为优化的边界条件可以提高大多数情况下的点云数据处理速度。优化前后的收敛时间分别趋近于12.76 s和8.33 s,由计算可知,优化后收敛周期约为优化前的65%左右。但相比之下优化后大约在3500点以后才出现较为平稳的收敛曲线,相比优化前在3000点左右略慢一些,即优化后对数据总量的依赖性更强,但考虑测试过程中的点云数据总量而言,该差异对算法完成目标识别基本没有影响。
Point cloud target recognition algorithm based on stereo vision and feature matching
-
摘要: 准确提取三维点云数据中待测目标的点云集合是三维点云目标识别技术的一个关键问题,也是近年来目标识别领域从二维向三维拓展的一个重要挑战,其主要难点在于快速寻找离散点云之间的相关函数关系。结合立体视觉与特征匹配构建了可以表征不同视场条件下的目标点云约束的机制,通过采用立体视觉作为约束条件完成了对原有特征匹配算法的优化。设计了基于立体视觉的估计算法,通过训练学习获得了不同选取比例条件下的识别规则。实验采用ARIES激光雷达采集点云,并通过MATLAB选取三种典型目标状态。当目标区分度高时,优化前后的目标识别率都在98%以上;当目标区分度低时,优化后对目标边界的限定条件可以很好地提高识别概率。采用优化的点云数据位置偏差量可达到0.55 mm,相比未优化的0.74 mm提高了0.19 mm。同时,优化后算法的收敛时间曲线要优于未优化的,3000点以上的收敛时间均值约为8.33 s,优于未优化的12.76 s。综上所述,优化后的算法具有更好的识别效率。Abstract: Accurately extracting the point cloud collection of the target to be measured in the three-dimensional point cloud data is a key issue of the three-dimensional point cloud target recognition technology, and it is also an important challenge in the field of target recognition from 2D to 3D in recent years. The main difficulty is to quickly find the correlation function relationship between discrete point clouds. Combining stereo vision and feature matching, a constraint mechanism of target point cloud that can characterize different field of view conditions is constructed, and the original feature matching algorithm is optimized by using stereo vision as the constraint condition. An estimation algorithm based on stereo vision is designed, and recognition rules under different selection ratios are obtained through training and learning. The experiment uses ARIES Lidar to collect point clouds, and selects three typical target states through MATLAB. When the target discrimination is high, the target recognition rate before and after optimization is above 98%. When the target discrimination is low, the restriction conditions of the target boundary after optimization can improve the recognition probability. The position deviation of the optimized point cloud data can reach 0.55 mm, which is 0.19 mm higher than 0.74 mm before optimization. At the same time, the convergence time curve of the optimized algorithm is better than before optimization. The average convergence time above 3000 points is about 8.33 s, which is better than 12.76 s before optimization. In summary, the optimized algorithm has better recognition efficiency.
-
Key words:
- target recognition /
- point cloud data processing /
- stereo vision /
- feature matching
-
表 1 检出率与识别概率
Table 1. Detection and recognition probability
Situation Pa Pc Pt A
Q1: B
C92.2% 91.3% 91.6% 98.3% 98.2% 98.6% 98.4% 98.4% 98.7% A
Q2: B
C67.5% 66.4% 73.6% 75.6% 74.2% 84.5% 70.7% 71.5% 85.4% A
Q3: B
C58.2% 52.3% 69.2% 61.7% 46.2% 73.3% 60.4% 45.7% 71.7% 注:Q1、Q2和Q3分别表示三种测试条件;A、B和C分别表示目标人、I型目标车辆和II型目标车辆;Pa、Pc和Pt分别表示激光雷达内置算法、传统特征匹配算法和文中算法的识别概率 -
[1] Ren S, He K, Girshick R, et al. Faster R-CNN: Real-time target detection in regional planning network [J]. IEEE Pair Model Analysis and Machinery Information, 2017, 39(6): 1137-1149. [2] Qiao Y J, Jia B M, Jiang J G, et al. Networking method of multi-view stereo-vision measurement network [J]. Infrared and Laser Engineering, 2020, 49(7): 20190492. (in Chinese) doi: 10.3788/IRLA20190492 [3] Choi C, Taguchi Y, Tuzel O, et al. Voting-based pose estimation for robotic assembly using a 3D sensor [C]//IEEE International Conference on Robotics & Automation. IEEE, 2013: 1724-1731. [4] Mousaviana A, Anguelov D, Flynnn J, et al. 3D bounding box estimation using deep learning and geometroy [C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition, July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 5632-5640. [5] Engelcke M, Rao D, Wang D Z, et al. Vote3-deep: Fast object detection in 3D pot clouds using efficient convolutional neural networks [C]//Proceedings of 2017 IEEE International Conference on Robotics an Automation. May 29-June 03, 2017, Singapore. New York: IEEE, 2017: 1355-1361. [6] Yan Y, Mao Y, Li B. Second: Sparsely embedded convolutional detection [J]. Sensors, 2018, 18(10): 3337. doi: 10.3390/s18103337 [7] Yang S Y, Zheng J Y. Vehicle target classification algorithm based on roadside 3D LiDAR [J]. Transducer and Microsystem Technologies, 2020, 39(7): 123-126. (in Chinese) [8] Guo Y L, Sohel F, Bennamoun M, et al. A novel local surface feature for 3D object recognition under clutter and occlusion [J]. Information Sciences, 2015, 293: 196-213. doi: 10.1016/j.ins.2014.09.015 [9] Zhang Z, Xu H L, Yi H. A fast point cloud registration algorithm based on key point selection [J]. Laser and Optoelectronics Progress, 2017, 54(12): 121002. (in Chinese) [10] Yang J H, Liu W, Liu Y, et al. Calibration of binocular vision measurement system [J]. Optics and Precision Engineering, 2016, 24(2): 300-308. (in Chinese) doi: 10.3788/OPE.20162402.0300 [11] Gao H, Cheng B, Wang J, et a1. Object classification using CNN—based fusion of vision and LiDAR in autonomous vehicle environment [J]. IEEE Transactions on Industrial Informatics, 2018, 14(9): 4224-4231. doi: 10.1109/TII.2018.2822828 [12] Yoshoka M, Suganuma N, Yoneda K, et a1. Object classification for autonomous vehicles using omni-directional LiDAR [J]. The Japan Society of Mechanical Engineers, 2016, 2016(25): 2307-2316. [13] Diyi L, Shogo A, Jiaqi M, et al. Point pair feature-based pose estimation with multiple edge appearance models (ppfmeam) for robotic bin picking [J]. Sensors, 2018, 18(8): 2719-2738. doi: 10.3390/s18082719 [14] Aliniya Z, Mirroshandel S A. A novel combinatorial merge-split approach for automatic clustering using imperialist competitive algorithm [J]. Expert Systems with Applications, 2018, 117(5): 243-266. [15] Lu Ch Q, Yang M F, Wu Y P, et al. Research on pose measurement and ground object recognition technology based on C-TOF imaging [J]. Infrared and Laser Engineering, 2020, 49(1): 0113005. (in Chinese) doi: 10.3788/IRLA202049.0113005