陳伯云,陸安江,趙麒,黃際瑋,彭熙舜
激光點云中散亂電子元器件分割方法
陳伯云1,陸安江1,趙麒2,黃際瑋1,彭熙舜1
(1.貴州大學 大數據與信息工程學院,貴陽 550025;2.貴州民族大學 機械電子工程學院,貴陽 550025)
針對散亂電子元器件計數過程中電子元器件分割困難的問題,提出一種基于點云簇平均法線夾角、平均點云密度邊緣提取和區域生長閾值自適應的散亂電子元器件分割方法。通過體素化處理、RANSAC算法和統計離群濾波算法對原始點云數據進行預處理,去除大量無關點云;使用歐式聚類算法對預處理結果粗分割得到電子元器件點云簇,以點云簇為閾值設置單元,避免閾值設置不合理的情況;通常邊緣點較非邊緣點法線夾角更大、鄰域點更少,提出通過點云簇平均法線夾角和平均點云密度自適應約束來去除點云簇中邊緣點的方法;對去邊緣點后的點云簇細分割,根據細分割后點云簇的平均法線夾角進行區域生長閾值的自適應選擇,通過改進的區域生長算法將每個電子元器件從點云簇中分割出來。實驗結果證明,文中方法分割正確率達97%以上,每10個目標分割耗時約345 ms。提出的方法具有良好的準確性和實用性,分割效果優于傳統分割算法,能夠準確地將每個電子元器件從復雜場景中分割出來。
點云分割;數量檢測;邊緣提取;散亂電子元器件;區域生長
在工業自動化包裝過程中,經常需要對電子元器件進行計數,以確保銷售產品數量的一致性。如采用人工計數方式[1],不僅任務繁雜、工作效率低,還可能出現人為主觀因素造成的計數偏差。使用稱量的方法雖然節省人力,但在計數準確性上會有所欠缺。使用三維掃描設備獲取散亂電子元器件點云實現散亂電子元器件的數量檢測具有無接觸、快速高效、準確率高等特點。由于散亂電子元器件分布的隨機性,以及相互之間的重疊、密接觸等因素的影響,將單個電子元器件從復雜場景中分割出來并不容易。分割的結果將直接影響電子元器件數量檢測的準確性。所以,對散亂電子元器件點云的準確分割是實現散亂電子元器件數量檢測的重要基礎。
目前,針對電子元器件計數的研究主要使用二維圖像。二維視覺通常難以提取有效信息,存在識別困難的問題[2],只能應對電子元器件分布離散且無相互遮擋的簡單場景。例如,陳孝威等[3]根據微小電子元器件的形狀和正反兩面的紋理特征對圖像中電子元器件的正面和反面分別處理最終獲得分割結果,計數準確率達到了100%。這種方法雖然計數精度高,但無法應對電子元器件出現散亂堆疊的復雜場景,且受光照環境影響較大。黃梓淳[4]將圖像處理的計數算法與深度學習結合,采用改進的基于卷積神經網絡的區域定位(Faster R-CNN)網絡模型[5]算法提高了檢測的速度和精度,計數準確率達到了98.3%,但同樣不適用于電子元器件出現散亂堆疊的復雜場景且不具有實時性。近年來,隨著三維數據獲取精度的提高和成本的降低,點云數據處理成為了研究熱點[6-7]。采用三維激光掃描技術采集點云數據具有高速度、高精度、可量測等優點[8]。點云分割是點云數據處理的重要環節[9],目前常用的分割方法包括聚類分割、基于模型的分割、基于邊緣的分割以及區域生長分割[10],但這些傳統的分割算法都無法直接應用于散亂電子元器件這一復雜場景。
針對散亂電子元器件這一復雜場景分割困難的問題,文中提出基于點云簇平均法線夾角、平均點云密度邊緣提取和區域生長閾值自適應的散亂電子元器件分割方法。該方法以點云簇為重點處理對象,有效地解決分割過程中因閾值選擇不合理而造成的過分割和欠分割現象[11-12],極大地提高分割的準確率,為工業自動化包裝中實現散亂電子元器件自動計數提供技術支持。
文中提出的散亂電子元器件分割算法主要包括點云數據預處理和點云數據分割2部分,具體算法流程見圖1。
點云數據通常是使用線陣激光掃描[13],獲取的點云數據過于稠密,同時由于外界環境和相機自身等因素的影響,在獲取的點云數據中存在大量離群點和冗余點。點云的數據量過大會導致后續分割和計算過程中耗費大量時間。離群點指遠離目標點,主要來自數據采集過程中深度相機和環境干擾產生的噪聲和未完全去除的冗余點。離群點的存在會對分割結果造成影響。冗余點則往往來自載物臺背景,同樣會造成數據量過大從而耗費計算時間。針對上述問題,需要對從深度相機獲得的點云數據進行預處理。預處理步驟如下。
1)點云數據體素化處理。將輸入的點云數據劃分為微小立方體的集合,使用每個立方體內點的重心代替立方體內所有點,從而在保證原有形狀不變的情況下降低整個點云的數據量。
2)使用隨機采樣一致性(RANSAC)算法[14]對輸入數據進行平面擬合,將擬合出的載物臺平面內點去除。算法的基本思想:從樣本集中隨機選取3點,使用這3點進行平面擬合,計算所有點到該平面模型的距離,將小于距離閾值的點加入內點集合,否則加入外點集合。將步驟1—2進行次迭代,迭代次數中內點最多的擬合平面即為載物臺平面。
3)去除離群點。使用統計濾波器對非感興趣點進行剔除。基本思想:給定鄰域半徑,點距其半徑內所有鄰域點的平均距離呈高斯分布,如果該平均距離在標準范圍(由全局平均距離和方差定義)之外,則被定義為離群點移除。
為驗證預處理的有效性,以圖2a所示散亂電子元器件點云數據Data1為例進行實驗,Data1點數為1 297 820,包含16個電子元器件點云數據。Data1預處理各階段見圖2,各階段點數變化見表1。
表1 Data1預處理各階段點數變化情況
根據散亂電子元器件點云特征進行分析,分割的難點主要在于分布的隨機性、相互之間的重疊和密接觸。對邊緣進行提取可減少電子元器件相互之間的碰撞,同時降低后續區域生長過分割的可能。文中使用歐式聚類算法對預處理后的點云數據進行粗分割,將空間上相鄰的電子元器件點云分割為點云簇,將每個點云簇與基準向量的平均夾角、點云簇的鄰域點密度作為約束條件進行邊緣提取,以Data1為實驗對象,Data1部分點云簇邊緣提取結果見圖3。

圖2 Data1預處理各階段結果

圖3 Data1部分點云簇邊緣提取結果圖
1.2.1 歐式聚類獲取點云簇
使用歐式聚類算法將原始場景點云數據分割為由1個或多個電子元器件構成的點云簇。歐式聚類算法是一種基于歐式距離度量的分割算法,它使用Kdtree建立點的拓撲關系,通過計算點與其鄰域點的歐式距離,將在閾值范圍內的點分割為一類,反復迭代直到沒有新的點加入。點與其鄰域中的一點的歐式距離為:
(1)
1.2.2 基于點云簇平均法線夾角和平均點云密度的邊緣提取
由于相機視場和外界環境等因素的影響,電子元器件表面的點云分布通常不是均勻的,因此文中提出以點云簇為約束條件設置單元,以提高邊緣提取的準確率。具體步驟如下。
1)法線向量估計。使用PCA(主成分分析法)[15-16]計算每個點的法線向量,對于任意一點,以為半徑搜索其鄰近點,得到鄰近點數量為,使用最小二乘法對鄰域內的點進行平面擬合,見式(2)。
(2)
(3)
(4)
點云簇的法線夾角均值為:
(5)
(6)
統計實驗數據Data1不同點云簇的平均法線夾角和=1 mm鄰域內平均點密度見表2。
3)自適應閾值邊緣提取。對任一點云簇,其平均法線夾角為,平均點密度為,根據多次實驗統計分析,提取邊緣閾值法線夾角約束,鄰域內點密度約束時邊緣提取效果最好。對于點云簇中任一點,基準向量與該點法線的夾角為,在鄰域內該點鄰近點數為,則該點被定義為邊緣點被去除的約束條件為:
(7)
表2 Data1點云簇平均法線夾角和平均點云密度

Tab.2 Average normal angle and average point cloud density of Data1 point cloud cluster
區域生長算法[17-18]是通過比較法向量,將符合平滑約束條件的鄰近點分割在一起,其基本原理是將點的曲率值進行排序,選取曲率值最小的點作為種子點開始生長,曲率最小的點所在的區域稱為平坦區域,從此處開始分割能夠降低重復分割率,提高效率。傳統的區域生長算法由于適用性的不同,生長閾值的設置比較困難且容易出現過分割和欠分割的現象,無法應對散亂電子元器件這樣復雜場景的分割,因此,文中基于點云簇的平均法線夾角來進行區域生長閾值的自適應選擇,有效地提高了分割的準確率。具體過程為如下。
2)遍歷點云簇,計算所有點的曲率并將曲率值按大小排序,選取曲率最小的點開始生長。
3)統計分割結束后剩余點云的點數,如果剩余點數大于輸入點云簇點數的30%則將剩余點云再次輸入重復上述步驟1、2、3,直到分割剩余點云點數不再大于第1次輸入點云簇點數的30%。
統計不同點云簇平均法線夾角區間對應的平滑度約束閾值見表3。
表3 平滑度約束閾值對應表

Tab.3 Correspondence table of smoothness constraint threshold
文中使用的電子元器件為6.0 mm×8.0 mm×4.0 mm的貼片鉭電容。實驗數據采用VS–PCA–P600 3D深度相機獲取,該相機使用近紅外激光光源,軸重復精度為0.1~0.5 mm,滿足文中對電子元器件點云數據采集的需求,搭建的實驗數據采集平臺見圖4。實驗使用的軟硬件環境:Windows10專業版、Intel(R) Core(TM) i5–6200U CPU@2.30 GHz 2.40 Hz、8 GB內存。算法開發環境為:Microsoft Visual Studio 2017結合pcl1.8.1點云庫。

圖4 實驗數據采集平臺
為驗證文中分割方法的可行性,以Data1作為原始數據輸入,按照文中算法流程進行分割。實驗中體素柵格大小size設置為0.3,RANSAC算法中平面模型內點和外點閾值t設置為2.2 mm,統計濾波器標準差設置為1.0,歐式聚類算法中歐式距離閾值t為0.5 mm,最小點云簇點數大于150,用于法線估計的點的鄰域點數目為50,鄰域半徑設置為1.0 mm。
Data1分割結果見圖5。同一點云簇中每個區域生長分割結果用不同顏色表示,可以看出,每個分割聚類均僅包含一個電子元器件,沒有出現過分割和欠分割的現象。統計實驗相關數據見表4。
為進一步驗證文中分割方法的有效性,以3組不同散亂分布、不同數量的電子元器件點云數據為例進行實驗,并使用傳統歐式聚類算法和區域生長算法對同樣的預處理結果進行對比實驗,實驗相關數據和統計實驗結果見表5。表5中分別記錄了3組數據使用文中算法和其他2種用于對比的算法的分割結果,其中A為文中算法,B為傳統歐式聚類算法,C為傳統區域生長算法。分割聚類數為不同算法從點云數據中最終分割出的聚類個數,正確分割數量統計了分割算法分割出的聚類中確為單個電子元器件點云的聚類數量,即正確分割出目標的數量。為了便于進行算法性能分析,表5中還統計了文中算法和對比算法分割的正確率和分割耗時。

圖5 Data1分割結果
表4 Data1實驗結果

Tab.4 Experimental results of Data1
表5 多組數據實驗結果

Tab.5 Experimental results of multiple data sets
文中算法和對比算法對實驗數據Test1、Test2和Test3的分割結果見圖6,不同顏色代表一個分割聚類,相鄰電子元器件構成的點云簇中出現同色聚類則說明該點云簇分割不完整,出現欠分割現象;單一電子元器件點云中出現2個及以上顏色則說明該點云簇出現過分割現象。
從圖6—8可以看出,文中算法基本能夠準確地將每個電子元器件從復雜場景中分割出來,分割準確性遠遠高于傳統分割算法。由于傳統的歐式聚類分割算法是基于歐式距離進行分割的,對相互重疊、粘連的電子元器件容易出現欠分割的現象,而傳統的區域生長算法受限于生長閾值,不能自動調節,既有過分割又有欠分割現象,因此對這樣復雜的場景分割效果極差。對比提到的傳統算法,文中算法具有分割準確率高、閾值自適應選擇、不易出現過分割和欠分割等優勢。從表6可以發現,文中分割算法分割正確率達97%以上,平均正確率較傳統歐式聚類算法提高了47.5%,較傳統區域生長算法提高了19.1%。雖然耗時方面有所增加,但對實驗中這樣量級數據的分割,平均耗時也僅需1.104 s,平均每10個目標分割耗時約345 ms,具有良好的實用性。

圖6 實驗數據Test1 3種算法分割結果

圖7 實驗數據Test2 3種算法分割結果

圖8 實驗數據Test3 3種算法分割結果
為滿足工業自動化包裝過程中散亂電子元器件計數需求,提出一種散亂電子元器件分割新方法,通過基于點云簇平均法線夾角和平均點云密度的邊緣提取有效減少了電子元器件間相互重疊、密接觸等情況,提高了分割的準確率。基于點云簇的平均法線夾角來進行區域生長閾值的自適應選擇,有效減少了由于閾值設置不合理而導致的過分割和欠分割現象。實驗證明,文中提出的散亂電子元器件分割算法分割正確率達97%以上,相較于傳統的歐式聚類算法和區域生長算法在分割正確率上有很大提升,解決了散亂電子元器件這樣復雜場景分割困難的問題,為實現散亂電子元器件計數提供了技術支持。同時,每10個目標的分割耗時僅需約345 ms,兼顧了分割的準確性和實用性。然而,文中算法目前分割的對象比較單一,適用于規則形狀的電子元器件,對于不規則形狀的電子元器件尚不具有可行性,如何實現多類型元器件的分割將是下一步的研究重點。
[1] 方志強, 肖書浩, 熊禾根, 等. 基于機器視覺及SVM的零件產品計數系統[J]. 制造業自動化, 2018, 40(7): 37-40.
FANG Zhi-qiang, XIAO Shu-hao, XIONG He-gen, et al. Part Product Counting System Based on Machine Vision and SVM[J]. Manufacturing Automation, 2018, 40(7): 37-40.
[2] 梁雪. 基于三維視覺的散亂零件抓取技術研究[D]. 濟南: 山東大學, 2020: 1-5.
LIANG Xue. Research on the Robotic Grabbing Technology of Scattered Parts Based on 3D Vision[D]. Jinan: Shandong University, 2020: 1-5.
[3] 陳孝威, 王茵. 基于圖像處理的微小電子元器件自動計數算法[J]. 計算機工程與設計, 2009, 30(17): 4100-4103.
CHEN Xiao-wei, WANG Yin. Algorithm for Automatic Counting Tiny Electronic Device Based on Digital Image Processing[J]. Computer Engineering and Design, 2009, 30(17): 4100-4103.
[4] 黃梓淳. 深度學習在電子元器件計數中的應用研究[D]. 廣州: 華南理工大學, 2017: 36-42.
HUANG Zi-chun. Research on Deep Learning and Its Application on the Electronic Components Counting[D]. Guangzhou: South China University of Technology, 2017: 36-42.
[5] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[6] 李明磊, 宗文鵬, 李廣云, 等. 基于體素生長的點云結構直線段提取[J]. 光學學報, 2018, 38(1): 0112001.
LI Ming-lei, ZONG Wen-peng, LI Guang-yun, et al. Extraction of Structure Line Segments from Point Clouds Using Voxel-Based Region Growing[J]. Acta Optica Sinica, 2018, 38(1): 0112001.
[7] PU Shi, VOSSELMAN G. Knowledge Based Reconstruction of Building Models from Terrestrial Laser Scanning Data[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2009, 64(6): 575-584.
[8] 趙夢娜, 花向紅, 馮紹權, 等. 基于點云切片的建筑物門窗信息提取[J]. 中國激光, 2020, 47(6): 183-192.
ZHAO Meng-na, HUA Xiang-hong, FENG Shao-quan, et al. Information Extraction of Buildings, Doors, and Windows Based on Point Cloud Slices[J]. Chinese Journal of Lasers, 2020, 47(6): 183-192.
[9] 汪文琪, 李宗春, 付永健, 等. 基于改進多規則區域生長的點云多要素分割[J]. 光學學報, 2021, 41(5): 198-212.
WANG Wen-qi, LI Zong-chun, FU Yong-jian, et al. Multi-Factor Segmentation of Point Cloud Based on Improved Multi-Rule Region Growing[J]. Acta Optica Sinica, 2021, 41(5): 198-212.
[10] 田青華, 白瑞林, 李杜. 基于改進歐氏聚類的散亂工件點云分割[J]. 激光與光電子學進展, 2017, 54(12): 316-324.
TIAN Qing-hua, BAI Rui-lin, LI Du. Point Cloud Segmentation of Scattered Workpieces Based on Improved Euclidean Clustering[J]. Laser & Optoelectronics Progress, 2017, 54(12): 316-324.
[11] BEN-SHABAT Y, AVRAHAM T, LINDENBAUM M, et al. Graph Based Over-Segmentation Methods for 3D Point Clouds[J]. Computer Vision and Image Understanding, 2018, 174: 12-23.
[12] XU Sheng, WANG Rui-sheng, WANG Hao, et al. Plane Segmentation Based on the Optimal-Vector-Field in LiDAR Point Clouds[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 43(11): 1-9.
[13] 熊駿偉, 劉全香. 基于物體表面變化的點云自適應切片算法[J]. 包裝工程, 2016, 37(5): 167-171.
XIONG Jun-wei, LIU Quan-xiang. Adaptive Cloud Point Slicing Algorithm Based on Change of Object Surface[J]. Packaging Engineering, 2016, 37(5): 167-171.
[14] SCHNABEL R, WAHL R, KLEIN R. Efficient RANSAC for Point-Cloud Shape Detection[J]. Computer Graphics Forum, 2007, 26(2): 214-226.
[15] NURUNNABI A, WEST G, BELTON D. Outlier Detection and Robust Normal-Curvature Estimation in Mobile Laser Scanning 3D Point Cloud Data[J]. Pattern Recognition, 2015, 48(4): 1404-1419.
[16] QIN Xu-jia, HU Zhong-tian, ZHENG Hong-bo, et al. Surface Reconstruction from Unorganized Point Clouds Based on Edge Growing[J]. Advances in Manufacturing, 2019, 7(3): 343-352.
[17] VO A V, TRUONG-HONG L, LAEFER D F, et al. Octree-Based Region Growing for Point Cloud Segmentation[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2015, 104: 88-100.
[18] ANGELINA S, SURESH L P, VENI S H K. Image Segmentation Based on Genetic Algorithm for Region Growth and Region Merging[C]// 2012 International Conference on Computing, Electronics and Electrical Technologies(ICCEET), 2012: 970-974.
Segmentation Method of Scattered Electronic Components in Laser Point Cloud
CHEN Bo-yun1, LU An-jiang1, ZHAO Qi2, HUANG Ji-wei1, PENG Xi-shun1
(1. School of Big Data and Information Engineering,Guizhou University, Guiyang 550025, China; 2. School of Mechatronics Engineering,Guizhou Minzu University, Guiyang 550025, China)
The work aims to propose a segmentation method of scattered electronic components based on edge extraction and adaptive region growth threshold of average normal angle and average point cloud density of point cloud cluster, so as to overcome the difficulty of dividing electronic components in counting of scattered electronic components. The original point cloud data were preprocessed by voxel processing, RANSAC algorithm and statistical outlier filtering algorithm to remove a large number of irrelevant point clouds. The European clustering algorithm was used to roughly segment the preprocessing results to obtain the point cloud cluster of electronic components. The point cloud cluster was used as the threshold setting unit to avoid the unreasonable threshold setting. In general, edge points had larger normal angle and fewer neighborhood points than non-edge points. A method was proposed to remove the edge points in point cloud cluster by adaptive constraints of average normal angle and average point cloud density. Finally, the point cloud cluster with the edge points removed was finely segmented, and the region growth threshold was adaptively selected according to the average normal angle of the point cloud cluster after fine segmentation. Thus, each electronic component was segmented from the point cloud cluster through the improved region growth algorithm. Experimental results proved that the segmentation accuracy of the method was over 97%, and it took about 345 ms to segment 10 targets. The proposed method has good accuracy and practicability, and has better segmentation effect than the traditional segmentation algorithm, which can accurately segment each electronic component from the complex scene.
point cloud segmentation; quantity detection; edge extraction; scattered electronic components; region growth
TP391.41
A
1001-3563(2022)13-0216-09
10.19554/j.cnki.1001-3563.2022.13.028
2021?10?16
國家自然科學基金(62065002,61865002)
陳伯云(1998—),男,貴州大學碩士生,主攻計算機視覺。
陸安江(1976—),男,博士,貴州大學副教授,主要研究方向為圖像處理與分析、MEMS微機電系統。
責任編輯:曾鈺嬋