蘇成志,金俊杰,毛英坤,丁詩祺,王恩國,蔡夢想
(1.長春理工大學人工智能學院,吉林長春 130022;2.長春理工大學重慶研究院,重慶 401135; 3.長春理工大學機電工程學院,吉林長春 130022;4.哈爾濱飛機工業(yè)集團有限責任公司,黑龍江哈爾濱 150000)
近年來,三維測量技術被廣泛用于航空航天、汽車和船舶等領域,對象被數(shù)字化,用于檢測、識別、路徑規(guī)劃等場景。復雜曲面大量存在于上述領域,由于結構復雜,在沒有先驗信息的情況下,其完整信息的獲取難度較大,國內(nèi)外學者對此開展了深入研究。
基于未知模型的視點規(guī)劃方法分為體積法和表面法兩種。體積法代表性進展如下:MUNKELT等(2006)將視點規(guī)劃分為兩個階段:第一階段,在保證精度的情況下,使可視體素數(shù)量最大化,快速構建對象大致模型;第二階段,針對模型中的遮擋體素和低精度體素進行二次掃描,提高模型質(zhì)量。VASQUEZ-GOMEZ等(2014)將體素空間分為未觀測體素、空體素和已占據(jù)體素,然后在邊界處根據(jù)外接球面模型生成候選視點,最后綜合考量可見性、掃描質(zhì)量和機器人運動代價等因素確定最優(yōu)視點。通過外接球面或者圓柱生成候選視點的方式,使視點位置被限制在固定表面上,方向被約束為只能指向中心,不利于復雜曲面完整三維信息的采集。POTTHAST、SUKHATME(2013)和DELMERICO等(2017)根據(jù)信息增益(IG),基于體素的可見性與當前視圖的差異性評價候選視圖。
體積法一般需要給定先驗的場景信息,同時因為需要將整個工作場景體素化,且涉及到候選視點的生成與評價,計算成本和時間成本高。相比體積法,表面法無需先驗場景信息。表面法代表性進展如下:YUAN(1995)基于群矢量鏈(MVCs)進行視點規(guī)劃,通過當前點云合矢量的反向確定下一視點,以合矢量為0為規(guī)劃終止條件,這種方法對不封閉或者包含孔洞的曲面對象并不適應。CHEN、LI(2005)建議使用趨勢面來預測物體的未知部分,根據(jù)先前掃描表面的整體形狀,確定預估表面的NBV,但是文中依據(jù)曲率的方法只適用于簡單曲面模型。ZHOU等(2009)預測了可視表面左側和右側,并選擇兩者中可視表面較大者,這種方法僅適用于圓柱體模型。KRIEGEL等(2013)根據(jù)邊界區(qū)域的表面趨勢確定掃描路徑,此方法用在一些具有凹入?yún)^(qū)域的雕像上效果很好,但是沒有處理孔洞,影響了最終模型的完整性,同時也沒有給出合理的自終止條件。以上表面法大多僅適用于簡單表面,對于曲率變化大、可能包含孔洞的表面適應能力較差。
基于此,本文作者提出一種基于邊界檢驗的視點規(guī)劃方法,首先進行場景假設,定義規(guī)劃對象、相關坐標系以及三維傳感器模型;其次,提取當前模型邊界,并將邊界分為外邊界以及孔洞邊界;再次,對外邊界先進行分段對應不同潛在趨勢面,之后基于二次曲面擬合預估趨勢面,并根據(jù)趨勢面法矢以及邊界最大主成分方向自主規(guī)劃視點;然后根據(jù)孔洞的中心、大小與中心的法向量規(guī)劃孔洞區(qū)域的觀測視點;最后根據(jù)真?zhèn)芜吔缱灾髋袛嗍欠窭^續(xù)進行規(guī)劃工作。
假設規(guī)劃對象為曲面,事先沒有曲面的任何先驗知識,且對曲面的形狀結構沒有要求,只需給定一個能觀測到曲面的初始視點。
設世界坐標系為{},如圖1所示,曲面被置于世界坐標系{}下,且周邊無遮擋和碰撞的障礙物。設三維傳感器坐標系為{},{}的方向向量為{,,},其中為深度方向,為傳感器水平方向,為傳感器豎直方向。通過標定得到{}與{}之間的變換矩陣。三維傳感器的視場是一個四棱錐,四棱錐以{}的原點為頂點,視場水平角和垂直角分別為和,測量范圍為[,]。
圖1 場景假設示意
設曲面在坐標系{}下的初始視點為,以為視點采集到的點云數(shù)據(jù)為,根據(jù)公式(1)轉化得到坐標系{}下,將三角網(wǎng)格化,得到當前網(wǎng)格模型。
g=g
(1)
1.2.1 邊界提取
如圖2所示,檢索當前網(wǎng)格模型的三角形邊集合={△,=1,2,…,}中的每一條邊△,如果△只關聯(lián)一個三角形,那么認為△為中的一條邊界邊,如果△關聯(lián)兩個三角形,則認為△為中的內(nèi)部邊。以此,從檢索得到邊界邊集合={B,=1,2,…,}和對應的邊界點集合={B,=1,2,…,}。
圖2 邊界提取示意
步驟1,?B∈為初始種子邊,加入種子邊集合,令=1。
步驟2,搜索中與種子邊相連的邊界邊加入種子邊集合。
步驟4,令=+1,并清空。重復步驟1~3,直到=?為止。
1.2.2 邊界分類
(2)
1.3.1 邊界趨勢面估計
由于不同邊界區(qū)域的潛在趨勢面不同,不同趨勢面的視點必然不同,因此需要對外邊界進行分段對應不同趨勢面。
圖3 毛刺示意
如圖4所示,以個邊界點為采樣間隔對邊界進行采樣,即每個邊界點構建一個用于對比的方向向量,通過公式(3)計算向量b(-)b和bb(+)之間的夾角。當小于閾值時,將兩段邊界歸為同一段邊界。
圖4 邊界邊比較示意 圖5 初始幀邊界分段示意
(3)
將邊界分段后,基于每段邊界的形狀結構信息估計曲面未知區(qū)域的表面趨勢,以此作為后續(xù)視點位姿規(guī)劃的依據(jù)。
(4)
對公式(4)求偏導,計算中點的法向量,得式(5)
(5)
1.3.2 視點姿態(tài)規(guī)劃
如圖6所示,為了保證測量質(zhì)量,要求三維傳感器的與預估的趨勢面的法向量平行且反向,如式(6)。一般把三維傳感器的視為正方向,故式(5)中方向的分量取-1。
圖6 邊界視點位姿確定示意
=-
(6)
稱取預處理的紅枸杞粉2g(精確到0.0001),在超聲溫度為60℃,料液比為1∶50,超聲時間為3min的條件下,超聲次數(shù)分別為1次、2次、3次、4次、5次的條件下提取,過濾,醇沉,定容后按照1.3.2.1的方法測定吸光值,計算多糖的提取率。
由公式(7),先通過和叉乘得到,最后再通過和叉乘確定,
(7)
(8)
1.3.3 點位置規(guī)劃
(9)
求得測量距離后,還需根據(jù)實際應用場景,給乘一個安全系數(shù)。當希望使獲取的數(shù)據(jù)之間有更大的重疊區(qū)域時,考慮取>1;當工作場景空間有限時,取<1。結合三維傳感器的測量范圍[,],由公式(10)求得最終的測量距離:
(10)
(11)
1.4.1 孔洞特征提取
孔洞示意如圖7所示。由式(12),計算孔洞的中心:
圖7 孔洞示意
(12)
用式(13),通過各孔洞邊界點h的法向量h求和得到孔洞中心的法向量:
(13)
通過式(14)引進一個描述孔洞大小的參數(shù):
(14)
1.4.2 孔洞視點位姿規(guī)劃
用公式(15)計算得到三維傳感器面向孔洞區(qū)域時的測量距離:
(15)
通過視點集合和中的視點對當前模型的邊界進行觀測采集,每個視點獲取的新點云信息g以為基準進行點云配準。各視點數(shù)據(jù)之間可能僅部分重合,先基于八叉樹提取重疊區(qū)域,再利用迭代最近點算法(ICP)對點云進行精配準,然后根據(jù)文獻[14]中的方法,實時更新當前網(wǎng)格模型。
所有數(shù)據(jù)都配準完成以后,根據(jù)公式(2)提取更新后的模型的邊界,記新邊界點集為′。
如圖8所示,當前模型的邊界,可能為曲面真正的物理邊緣,也可能為由于傳感器的視場限制引入的“偽邊界”。曲面的真正物理邊界,在三維傳感器于邊界處觀測后依然存在,“偽邊界”則會在與新的三維信息融合后消失。不斷基于更新的模型邊界規(guī)劃視點,并進行真?zhèn)芜吔鐧z驗,直到當前模型的邊界全為真邊界或者沒有邊界(如球面)為止,自主完成曲面的完整三維信息采集。在視點規(guī)劃過程中,為了避免重復工作,對已經(jīng)確認為真邊界的邊界點進行標記,后續(xù)不再基于其進行視點規(guī)劃工作。
圖8 邊界對比示意
對視點集合采集前后的模型邊界點集和′進行對比驗證,和′之間的關系如公式(16)所示,設為和′的真邊界,為中的偽邊界,為新的基準邊界。
(16)
由于邊界是一個離散點集,即使是空間上的同一點,每次測量得到的三維坐標也并不唯一。為了方便邊界的比較,如果兩點的距離小于等于自適應閾值,便視兩邊界點重疊。已知所有網(wǎng)格邊集合為={B,=1,2,…,},通過公式(17)計算閾值:
(17)
取′B∈′,若?B∈,滿足公式(18),便認為′B在中找到重疊點。
|′B|≤
(18)
自主判斷是否需要繼續(xù)進行規(guī)劃工作:若′-≠?,此時′∩相當于之前歷史模型中的真邊界,不再基于其進行視點規(guī)劃,以′-為新基準邊界,重復第1.2~1.4節(jié)步驟繼續(xù)進行視點規(guī)劃。
若′-=?,即中所有點均為真邊界,即認為視點沒有獲取到新的構件信息,當前模型邊界不變,視點規(guī)劃任務終止,輸出模型數(shù)據(jù)。
視點規(guī)劃任務完成后,輸出所有歷史視點集合={,}。
不失一般性,以大眾某車型的汽車后保險杠作為目標曲面進行視點規(guī)劃試驗。該汽車后保險杠尺寸約為1 700 mm×480 mm×830 mm,整體尺寸較大、結構復雜,包含多個平面、曲面和U形面,且面與面之間相互遮擋;同時,因為各個面的交接處曲率變化大,又需保證各視點數(shù)據(jù)間一定量的重疊約束,所以視點位姿的規(guī)劃難度較大,人工示教規(guī)劃過程十分繁瑣,費時費力。
搭建如圖9所示的硬件系統(tǒng)用以驗證上述視點規(guī)劃方法的正確性。系統(tǒng)由1臺PC機、1臺埃夫特GR680工業(yè)六軸機器人、1臺圖漾FM830-GI主動式結構光雙目相機和一個二維轉臺組成。所提機器人的運動姿態(tài)由歐拉角來表示,其繞軸旋轉序列為,用、、分別表示繞、、軸的旋轉角度,每個視點在機器人基坐標系下的位姿可由參數(shù)[]表示。雙目相機的測量距離為0.5~8 m,視場FOV(H/V)為(56°/46°),深度圖像分辨率為560像素×460像素。汽車后保險杠通過夾具與二維轉臺剛性連接。
圖9 硬件系統(tǒng)
2.2.1 初始視點
顯然視點規(guī)劃過程與初始視點選擇息息相關。為了快速完成三維測量任務,選擇汽車后保險杠的正面開始初次測量,獲取的構件點云數(shù)據(jù)及邊界分段結果如圖10所示。邊界分段中,構建方向向量時邊界點采樣間隔取50,比較時的夾角閾值取70°。
圖10 初始視點采集數(shù)據(jù)及邊界分段示意
2.2.2 第一輪視點規(guī)劃及采集結果
視點規(guī)劃時,用于二次曲面擬合的近鄰點半徑取15 mm,測量距離的安全系數(shù)取1.5。視點規(guī)劃結果如表1所示,視點位姿示意圖如圖11所示,圖中傳感器坐標系{}的方向向量、、分別用紅、綠、藍三種顏色表示,下同。
表1 第一輪視點位姿
圖11 視點示意
雙目相機在每個視點位姿下獲取的點云數(shù)據(jù),如圖12所示。將每個視點獲取的局部點云,以初始點云為基準,進行配準變換以后,得到配準后模型及其邊界如圖13所示。
圖12 視點觀測數(shù)據(jù)示意
圖13 配準后模型及邊界
2.2.3 第一次邊界檢驗
視點集合拍攝前后構件模型的歷史邊界和當前模型邊界′的對比如圖14所示,兩者交集為后杠的真正物理邊界,為了避免重復掃描工作,從當前邊界集合′中減去歷史邊界中的真邊界,剩下的為后續(xù)視點規(guī)劃所需的基準邊界,使用文中的邊界分段方法,將其分段,結果如圖15所示。
圖14 掃描前后邊界比較 圖15 新的基準邊界及分段示意
2.2.4 第二輪視點規(guī)劃及采集結果
配準后的模型包含孔洞如圖16(a)所示,孔洞存在于后保險杠的底面和側面的連接處??锥创笮〉拿枋鰠?shù)=92.09 mm,通過文中的孔洞區(qū)域的視點規(guī)劃方法,得到孔洞區(qū)域的視點7位姿為[1 603.21 1 120.601 120.98 -76.98 36.03 -6.25] mm。
圖16 孔洞拍攝示意
外邊界處后續(xù)視點規(guī)劃結果如表2及圖17所示。每個視點所采集數(shù)據(jù)如圖18(a)—(g)所示。
表2 第二輪視點位姿
圖17 第二輪視點示意
圖18 第二輪視點觀測數(shù)據(jù)示意
經(jīng)過點云配準以后,得到配準后模型及其邊界如圖19所示。
圖19 第二輪配準模型與邊界
2.2.5 第二次邊界檢驗
當前累積模型的邊界′與歷史模型的邊界的對比如圖20所示,按文中所提的自終止條件進行判斷,邊界不再變化,視點規(guī)劃任務結束。輸出所有視點集合,如圖21所示。
圖20 邊界比較示意
圖21 汽車后保險杠觀測視點集合
通過上述實驗,得到了完整的汽車后保險杠的點云模型,如表3所示,獲取對象模型的整個過程花費了約6 min,其中包括視點規(guī)劃、點云提取與配準以及機器人的移動時間。由于雙目相機獲取的點云數(shù)據(jù)量相對較大,每幀獲取的局部點云都有5萬~12萬的數(shù)據(jù)量(與測量距離有關),雖然實際試驗過程中進行了一定量的精簡,但是點云配準與網(wǎng)格重建依然花費了較長時間,同時機器人的移動過程也花費了較長時間。視點規(guī)劃時每個視點的平均用時僅為67 ms,所以相對來說,視點的位姿規(guī)劃用時只占了整體建模過程中很小一部分的時長。
表3 后保險杠的視點規(guī)劃數(shù)量與時間統(tǒng)計結果
為了估算文中所規(guī)劃的視點集合對后保險杠所能實現(xiàn)的覆蓋率,將一個完整的汽車后保險杠點云模型以文中所建模型為基準進行點云配準,使其與實際場景中后杠的空間位置和姿態(tài)盡量相同。該點云模型由第三方渠道給出,模型包含8 609個點。通過第1.2節(jié)中規(guī)劃的視點集合對第三方點云進行模擬采集,當點云內(nèi)的一點的法向量和的點乘小于0時認為滿足可見性,同時考慮視場角約束、拍攝距離約束和遮擋約束。其中,能獲取到新信息的關鍵視點的采集示意如圖22(a)—(h)所示。
圖22 汽車后保險杠模擬采集流程
表4記錄了各視點采集的數(shù)據(jù)量、累積已采集數(shù)據(jù)量,以及累積覆蓋率。其中,累積覆蓋率為所有累積已采集點除以第三方模型點云總數(shù)。如圖23所示:最終覆蓋率能達到100%,實現(xiàn)全覆蓋。
表4 視點采集數(shù)據(jù)量統(tǒng)計
圖23 覆蓋率變化折線圖
提出一種基于邊界檢驗的視點自主規(guī)劃的方法。實驗結果表明:
(1) 文中方法可在沒有曲面先驗知識的情況下,僅基于曲面初始視點的掃描結果,自主完成未知曲面后續(xù)三維測量視點的規(guī)劃任務。
(2)文中方法可自主實現(xiàn)包含多面、曲率多變等特征的復雜曲面三維測量視點的規(guī)劃工作。
(3)以汽車后保險杠為例,文中方法平均每個視點規(guī)劃用時僅為67 ms,整體建模用時約6 min;通過模擬仿真試驗,累積覆蓋率達到100%,在掃描時間和完整性方面具有良好性能。