摘 要:本研究介紹了一種在焊裝裝備智能設(shè)計過程中的零部件匹配方法。該方法利用深度學習AI技術(shù),改進了Foldingnet網(wǎng)絡(luò)框架,對零部件特征信息進行高速提取和模型訓練,構(gòu)建了一個零部件特征歷史向量庫。該方法將零部件的點云信息轉(zhuǎn)化為算法模型進行訓練,對零部件特征進行捕捉和學習。在匹配過程中,計算待匹配零部件的特征向量與歷史零部件特征向量的相似度,選取相似度高于90%的結(jié)果作為推薦。試驗結(jié)果證明,該方法有效地解決了現(xiàn)有技術(shù)中零部件搜索準確率低、時間長的問題,提升了設(shè)計效率,縮短了開發(fā)周期。
關(guān)鍵詞:零部件檢索;特征信息;Foldingnet;深度學習;特征向量庫;相似度計算
中圖分類號:TP 391" " " " " " 文獻標志碼:A
在產(chǎn)品開發(fā)過程中,焊裝裝備大量零部件重復設(shè)計,全新的設(shè)計只占很低比例。因此,從數(shù)據(jù)庫中快速、準確地搜索相似的零部件模型并進行匹配,成為提高設(shè)計效率、縮短開發(fā)周期的關(guān)鍵。
點云配準[1]是計算機視覺和機器人技術(shù)領(lǐng)域的一項基本任務(wù),應用廣泛。最典型的點云配準算法是BESL等[2]1992年提出的迭代最近點算法,該算法簡單、直觀且易于完成。王飛等[3]使用4PSC(4-points congrunt sets)算法對多期道路車載激光點云進行粗配準,縮短了配準時間。朱啟兵等[4]利用點到面的ICP算法對盆栽進行配準,配準精度還需要提高。Shen等利用源點云生成目標點云,獲取源點云和目標點云的內(nèi)部差異來進行內(nèi)部區(qū)分。胡江豪等提出了一種匹配幾何特征的新型部分重疊點云配準算法。王琛[5]提出了一種圍繞三維重建的點云配準算法,提升了三維重建模型的精度。
本研究提出基于Folding Net的零部件匹配方法,旨在提高現(xiàn)有技術(shù)中零部件檢索的準確率。
1 點云訓練模型結(jié)構(gòu)設(shè)計
1.1 問題描述
零部件模型的目標點云是一系列三維坐標點的集合,特征信息包括零部件的幾何結(jié)構(gòu)特征信息,轉(zhuǎn)化為N×3的數(shù)組;材料屬性特征信息轉(zhuǎn)化為N×M1的獨熱編碼;加工工藝特征信息轉(zhuǎn)化為N×M2的獨熱編碼。將零部件的特征信息輸入預設(shè)學習模型,得到零部件的特征向量。本研究將在訓練過程中幾何信息的損失函數(shù)設(shè)為倒角距離損失函數(shù),材料屬性信息的損失函數(shù)和加工工藝信息的損失函數(shù)設(shè)為歐式距離損失函數(shù)。用倒角距離表示幾何結(jié)構(gòu)信息損失,倒角距離損失函數(shù)如公式(1)所示。
(1)
式中:L1為幾何結(jié)構(gòu)信息損失;dCD為倒角距離;S1為所述歷史零部件的點云集合;S2為所述重構(gòu)后的歷史零部件的點云集合;x為所述歷史零部件的點云集合中的任意1個點;y為所述重構(gòu)后的歷史零部件的點云集合中的任意1個點。
材料屬性信息和加工工藝信息損失可以利用歐式距離損失函數(shù)計算,計算過程如公式(2)所示。
(2)
式中:L2為工藝信息損失;n為點的總數(shù)量;xi為歷史零部件的材料屬性(加工工藝)信息第i個元素;yi為重構(gòu)后的歷史零部件的材料屬性(加工工藝)信息第i個元素。
根據(jù)幾何結(jié)構(gòu)信息損失、材料屬性信息損失和加工工藝信息損失,可以得到歷史零部件的特征向量與重構(gòu)后的歷史零部件的特征向量之間的最終損失,最終損失函數(shù)如公式(3)所示。
Loss=a·Loss1+b·Loss2 " " " " " " " " " " " " " " "(3)
式中:a、b分別為2個可學習的超參數(shù);Loss為最終損失函數(shù)值。
方案流程如圖1所示。
1.2 模型網(wǎng)絡(luò)結(jié)構(gòu)
目前,主流點云深度學習算法直接將點作為網(wǎng)絡(luò)模型的輸入,點云具有無序特性,因此空間位置相似的點存儲在內(nèi)存的非連續(xù)位置[6]。基于深度學習,本研究在FoldingNet結(jié)構(gòu)的基礎(chǔ)上設(shè)計一種匹配幾何特征的網(wǎng)絡(luò)架構(gòu),使用PointNet特征提取網(wǎng)絡(luò)作為輸入網(wǎng)絡(luò),F(xiàn)oldingNet解碼器作為輸出網(wǎng)絡(luò)。
PointNet是一個可以端到端處理點云數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)架構(gòu),其廣泛應用于處理點云分類和分割任務(wù)。其是第一個處理點云數(shù)據(jù)的架構(gòu),簡潔、有效的網(wǎng)絡(luò)結(jié)構(gòu)為后續(xù)研究新方法提供了啟發(fā)。
FoldingNet是由Yang等提出的1個網(wǎng)格可深度變形的點云自編碼器。提出了新的端到端graph-based編碼器和folding-based編碼器。點云結(jié)構(gòu)一般由稀疏的三維點表示,很難應用于傳統(tǒng)的深度學習框架中。該方法可以解決點云結(jié)構(gòu)不規(guī)則導致的問題。
算法模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,特征提取網(wǎng)絡(luò)包括輸入變換(input transform)、特征變換(feayure transform)和最大池化(maxpooling),解碼輸出網(wǎng)絡(luò)利用感知器、圖像層和折疊操作進行特征解碼。其減少了參數(shù)個數(shù),根據(jù)定義損失函數(shù)來評估匹配結(jié)果的差異。
解碼器包括2次folding操作。這種設(shè)計減少了參數(shù)個數(shù)。最后定義損失函數(shù)來評價差異大小。
2 零部件點云模型訓練
2.1 數(shù)據(jù)集準備
在深度學習領(lǐng)域,數(shù)據(jù)集是進行訓練和優(yōu)化的重要工具。PointNet特征提取網(wǎng)絡(luò)需要輸入合適的零部件點云數(shù)據(jù)集。為保證解碼輸出網(wǎng)絡(luò)處理效果達到預期,點云數(shù)據(jù)集應具備足夠豐富的數(shù)據(jù)量,本研究采用超過100 000個焊裝夾具零部件的點云數(shù)據(jù)作為訓練數(shù)據(jù)集。部分歷史零部件點云如圖3所示。
2.2 數(shù)據(jù)處理
為了增加數(shù)據(jù)集數(shù)量,提升數(shù)據(jù)集的多樣性,本研究對原點云進行數(shù)據(jù)增強處理,包括對點云進行旋轉(zhuǎn)處理、隨機抖動[7]以及歸一化處理[8]。每個點云數(shù)據(jù)隨機選擇一個旋轉(zhuǎn)角度,生成不同姿態(tài)的零部件點云數(shù)據(jù),在其坐標上添加一個隨機的擾動值。對點云數(shù)據(jù)進行歸一化處理,將其坐標控制在[-1,1]。具體步驟如下。
2.2.1 旋轉(zhuǎn)處理和隨機抖動
當參照系統(tǒng)不同時,點云中點的坐標會發(fā)生變化,因此須對點云數(shù)據(jù)進行處理,使其具有規(guī)律性和一致性。本研究選擇以下2種點云擾動處理方法。
2.2.1.1 隨機抖動
對點云進行隨機抖動,增加噪聲的變化和多樣性,使模型更好地適應真實場景中的噪聲情況。
2.2.1.2 旋轉(zhuǎn)處理
每1輪訓練后,改變點云角度,影響特征的提取與描述。旋轉(zhuǎn)點云,提高模型的魯棒性,適應不用的應用場景。
2.2.2 歸一化處理
為增加數(shù)據(jù)集數(shù)量,加快訓練計算速度,對點云數(shù)據(jù)進行規(guī)范化處理,使其具有統(tǒng)一的尺度和范圍。點云歸一化有助于提高點云數(shù)據(jù)的可比性、對齊性,增強處理效果。歸一化處理過程如公式(4)~公式(7)所示。
(4)
(5)
(6)
(7)
式中:Rxy、Rxz和Ryz分別為xy、xz和yz平面旋轉(zhuǎn)矩陣;xi、yi和zi( i=1,2,…,n)為初始點云坐標;x'i、y'i和z'i(i=1,2,…,n)為旋轉(zhuǎn)變換后的點云坐標;x\"i、y\"i和z\"i(i=1,2,…,n)為平移變換后的點云坐標;σi為一定閾值內(nèi)的隨機數(shù);θ為旋轉(zhuǎn)角度。
2.3 模型訓練
模型訓練有以下3個步驟。1)建立歷史零部件的特征信息庫。2)訓練信息轉(zhuǎn)化模型,學習歷史零部件特征信息與特征向量的映射關(guān)系。3)評估、優(yōu)化并輸出訓練后的信息轉(zhuǎn)化模型。在訓練過程中,利用歷史零部件和重構(gòu)后的歷史零部件,對初始學習模型進行優(yōu)化,得到預設(shè)學習模型,計算歷史零部件的幾何結(jié)構(gòu)信息缺失;計算樣本模型的材料屬性信息與重構(gòu)后的樣本模型的材料屬性信息缺失;計算歷史零部件的加工工藝信息與重構(gòu)后的加工工藝信息缺失。在訓練過程中,編碼-解碼結(jié)構(gòu)的網(wǎng)絡(luò)模型的損失函數(shù)包括3個維度,總損失函數(shù)記為Loss。損失函數(shù)值如圖4所示。本研究訓練網(wǎng)絡(luò)模型采用初始學習率、樣本數(shù)和訓練輪次3個模型參數(shù)配置訓練網(wǎng)絡(luò)。模型參數(shù)見表1。
從圖4可以看出,損失函數(shù)值在第100輪處發(fā)生抖動,在整體迭代過程中呈現(xiàn)下降趨勢。以定位孔和立柱為例,點云訓練結(jié)果如圖5所示。
模型對整體訓練集的處理能力如公式(8)所示。
(8)
式中:S為各個零部件與歷史零部件匹配的準確率;N為樣本數(shù);T為真例數(shù)。
3 零部件點云匹配算例
從圖5可以看出,零部件匹配模型準確度較高,黑色框中為匹配失敗的點云,當整個模型對零部件點云的相似結(jié)構(gòu)進行匹配時可能會出現(xiàn)誤差。將歷史方案與點云進行匹配,比對并智能調(diào)整新的設(shè)計參數(shù),生成符合這些參數(shù)的新方案。這種智能化的匹配和調(diào)整過程能夠提高設(shè)計效率和準確性,為產(chǎn)品開發(fā)提供支持。零部件匹配結(jié)果如圖6所示。
自動匹配方案與歷史方案的相似度達到90%以上,可以滿足生產(chǎn)需要。本文改進網(wǎng)絡(luò)結(jié)構(gòu),構(gòu)建特征向量庫,計算相似度,成功地提高了零部件匹配的準確率和效率。試驗結(jié)果顯示,與傳統(tǒng)的人工設(shè)計方法相比,新方法的設(shè)計效率提高了84%。
4 結(jié)論
本文改進了FoldingNet網(wǎng)絡(luò),使其適用于零部件點云的匹配任務(wù),對零部件模型進行自動匹配。使用PointNet特征提取網(wǎng)絡(luò)替換FoldingNet提取網(wǎng)絡(luò),本文消除了點云排列順序的影響,能夠處理不同數(shù)量的點云數(shù)據(jù)。
本文制作了零部件的CATIA模型,對點云進行數(shù)據(jù)增強處理,獲得零部件點云模型。使用改進后的FoldingNet網(wǎng)絡(luò)進行訓練,成功構(gòu)建1個有效匹配零部件點云的歷史零部件庫。根據(jù)匹配結(jié)果,本文設(shè)計的零部件庫解決了零部件匹配準確率低的問題。
為了進一步提高零部件模型匹配的可靠性,本文將優(yōu)化點云訓練集,提升網(wǎng)絡(luò)性能。確定目標特征向量在零部件特征向量庫中的索引,可以獲取與目標特征向量對應的零部件,將其確定為搜索結(jié)果。這個步驟將進一步完善零部件搜索方法,保證搜索結(jié)果的準確性和可靠性,提高效率。
參考文獻
[1]胡江豪,王豐.基于重疊域采樣混合特征的點云配準算法[J].計算機應用研究,2022,39(11):3503-3508.
[2]BESL P J,MCKAY N D.A method for registration of 3-D shape[J].IEEE Transcations on pattem analysis and machine intelligence,1992,14(2):239-256.
[3]王飛,劉如飛,任紅偉,等.利用道路目標特征的多期車載激光點云配準[J].測繪科學技術(shù)學報,2020,37(5):496-502.
[4]朱啟兵,張夢,劉振方,等.基于點云配準的盆栽金桔果實識別與技術(shù)方法[J].農(nóng)業(yè)機械學報,2022,53(5):209-216.
[5]王琛.三維重建中的點云配準算法研究[D].成都:電子科技大學,2023.
[6]李潞洋.三維點云深度學習分析的關(guān)鍵技術(shù)研究[D].太原:中北大學,2023.
[7]申美勝.基于深度學習網(wǎng)絡(luò)的點云數(shù)據(jù)的識別和分割[D].上海:華東師范大學,2021.
[8]阮劍,朱連海,胡三寶.基于PointNet的車身分割方法[J].武漢大學學報(工學版),2023,56(3):347-352.
作者簡介:魯峰(1997—),男,碩士,湖北鄂州人,機械工程師,從事智能制造方面的研究。
電子郵箱:a821995833@qq.com。
通信作者:陳君寶(1975—),男,黑龍江哈爾濱人 ,教授,研究方向為智能制造。
電子郵箱:13872821175@139.com。