国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單目圖像序列的鑄件三維重建方法

2018-12-19 05:05:44張洪鑫王明珠仇浩然姜金剛
中國(guó)機(jī)械工程 2018年23期
關(guān)鍵詞:單目毛刺三維重建

張洪鑫 王明珠 仇浩然 姜金剛

哈爾濱理工大學(xué)機(jī)械動(dòng)力工程學(xué)院,哈爾濱,150080

0 引言

因?yàn)殍T件在生產(chǎn)過(guò)程中自身的工藝特點(diǎn),使得成形后的鑄件表面存在毛刺、飛邊等外觀缺陷,影響后續(xù)的鑄件精加工和裝配等。目前,鑄件毛刺的檢測(cè)和剔除主要依靠人工完成,工作量大,效率低,很難滿足生產(chǎn)需求,因此,研究基于機(jī)器視覺(jué)的鑄件毛刺自動(dòng)檢測(cè)與識(shí)別具有重要意義。

機(jī)器視覺(jué)具有廣闊的應(yīng)用市場(chǎng),如機(jī)器人導(dǎo)航、工業(yè)自動(dòng)化、恢復(fù)建筑原貌等[1]。按照工業(yè)相機(jī)的數(shù)量,機(jī)器視覺(jué)獲取圖像方法可分為單目視覺(jué)、雙目視覺(jué)和多目視覺(jué)[2]。雙目和多目視覺(jué)不僅需要準(zhǔn)確標(biāo)定相機(jī)之間的相對(duì)位置,還要保證拍攝時(shí)的同步性和穩(wěn)定性,且拍攝空間大、拍攝過(guò)程難、成本較高[3-5]。單目視覺(jué)僅需通過(guò)一個(gè)相機(jī)圍繞單個(gè)目標(biāo)旋轉(zhuǎn)拍攝一組圖像序列,就可根據(jù)圖像處理算法重建出三維物體或場(chǎng)景。單目視覺(jué)無(wú)需對(duì)相機(jī)相對(duì)于目標(biāo)的位置進(jìn)行標(biāo)定,拍攝空間小,裝置簡(jiǎn)單,成本低,易于實(shí)現(xiàn)[6]。

本文提出一種基于單目圖像序列的三維重建方法,通過(guò)單目相機(jī)對(duì)鑄件進(jìn)行多個(gè)角度旋轉(zhuǎn)拍攝獲得一組圖像序列,然后通過(guò)云計(jì)算對(duì)圖像序列進(jìn)行特征點(diǎn)檢測(cè)與匹配,建立匹配點(diǎn)集合。利用從運(yùn)動(dòng)中恢復(fù)結(jié)構(gòu)(structure from motion,SFM) 方法對(duì)匹配點(diǎn)進(jìn)行稀疏點(diǎn)云重構(gòu)和稠密點(diǎn)云重建獲得三維點(diǎn)陣,再對(duì)點(diǎn)陣進(jìn)行泊松表面重建,即可獲得具有良好幾何表面特征和細(xì)節(jié)的鑄件三維重建表面。該方法有助于提高工業(yè)機(jī)器人對(duì)鑄件進(jìn)行精確加工的智能程度。

1 特征點(diǎn)檢測(cè)與匹配

圖像特征點(diǎn)檢測(cè)與匹配是基于圖像序列的三維重建的第一步,本文依據(jù)LOWE[7]提出的尺度不變特征變換算法( scale invariant feature transform,SIFT) 進(jìn)行圖像特征點(diǎn)的檢測(cè)與匹配,并在此基礎(chǔ)上提出“兩步匹配法”對(duì)特征點(diǎn)進(jìn)行優(yōu)化,然后利用圖像間的極線約束,采用隨機(jī)采樣一致算法(random sample consensus,RANSAC)提純,得到鑄件特征點(diǎn)優(yōu)化匹配結(jié)果[8]。

SIFT特征點(diǎn)檢測(cè)主要步驟如下:①尺度空間極值檢測(cè)。搜索所有尺度上的圖像位置,通過(guò)高斯微分函數(shù)來(lái)識(shí)別潛在的對(duì)尺度和旋轉(zhuǎn)不變的興趣點(diǎn)。②特征點(diǎn)定位。在每個(gè)候選的位置上,通過(guò)一個(gè)擬合精細(xì)的模型來(lái)確定位置和尺度。③方向確定?;趫D像局部的梯度方向,分配給每個(gè)特征點(diǎn)位置一個(gè)或多個(gè)方向。④特征點(diǎn)描述。采用該特征點(diǎn)鄰域的梯度幅值大小和梯度方向來(lái)進(jìn)行描述。以特征點(diǎn)為中心,用高斯窗確定特征點(diǎn)鄰域的范圍,高斯窗可用圓來(lái)代替。計(jì)算鄰域內(nèi)每個(gè)采樣點(diǎn)的梯度幅值和梯度方向,然后將若干個(gè)采樣點(diǎn)的計(jì)算值累加到n×n個(gè)統(tǒng)計(jì)窗口內(nèi),每個(gè)窗口用r表示梯度方向數(shù),每個(gè)梯度方向的計(jì)算值為累加之后的梯度幅值大小。一個(gè)特征點(diǎn)有n×n×r維的特征向量描述子。根據(jù)文獻(xiàn)[7],當(dāng)n=4,r=8時(shí),特征點(diǎn)匹配率較高,如果n取更大值,則計(jì)算量增大,因此本文一個(gè)特征點(diǎn)有4×4×8=128維特征向量描述子。SIFT特征點(diǎn)檢測(cè)方法不但增強(qiáng)了算法的抗噪能力,還為后續(xù)特征點(diǎn)匹配提供了容錯(cuò)性。圖1所示為相鄰兩幅單目圖像的特征點(diǎn)檢測(cè)結(jié)果。

圖1 特征點(diǎn)檢測(cè)結(jié)果Fig.1 Results of feature points detection

一個(gè)特征點(diǎn)由一個(gè)128維的特征向量來(lái)描述,當(dāng)相鄰圖像間的特征向量生成后,就可以進(jìn)行特征點(diǎn)匹配。常見(jiàn)的特征點(diǎn)匹配方法是用特征點(diǎn)特征向量的歐氏距離來(lái)判斷兩幅圖像中特征點(diǎn)的相似程度,即用特征向量的最近鄰距離與次近鄰距離的比值作為匹配約束條件。匹配原理是:Xa是圖像1中的某個(gè)特征向量,Xb和Xb′是圖像2所有特征向量中與Xa距離最近的兩個(gè)向量,設(shè)Xa與Xb的距離小于Xa與Xb′的距離;如果最近鄰距離與次近鄰距離之比小于某個(gè)閾值T, 則Xb為Xa的匹配向量,表示為dist(Xa,Xb)/dist(Xa,Xb′)

上述粗匹配存在的問(wèn)題是:在匹配過(guò)程中由于歐氏距離只計(jì)算了兩向量之間的距離,而忽略了各向量分量之間的相關(guān)性,所以會(huì)出現(xiàn)大量誤匹配點(diǎn)對(duì),數(shù)據(jù)冗余量大,后期計(jì)算量大。

本文提出“兩步匹配法”,在將歐氏距離作為粗匹配約束條件的基礎(chǔ)上,進(jìn)一步通過(guò)向量空間余弦相似度匹配來(lái)增加匹配約束條件[9],從而減少誤匹配點(diǎn)對(duì)數(shù)。余弦相似度進(jìn)一步考慮了上述粗匹配中兩個(gè)特征向量之間的方向相關(guān)性,在向量空間中用這兩個(gè)特征向量的夾角余弦值衡量特征點(diǎn)對(duì)差異的大小。余弦值越接近0,則表明兩個(gè)特征向量夾角越接近于90°,也就說(shuō)明此特征點(diǎn)對(duì)不相關(guān),是誤匹配點(diǎn),予以剔除。Xa(Xa1,Xa2,…,Xa128)與Xb(Xb1,Xb2,…,Xb128)的余弦相似度為

(1)

首先在粗匹配基礎(chǔ)上,判斷Xa與Xb這兩個(gè)特征向量的余弦相似度cosθ,如果大于某一經(jīng)驗(yàn)閾值k,則進(jìn)一步確定粗匹配點(diǎn)對(duì)為匹配點(diǎn),否則粗匹配就被判斷為誤匹配點(diǎn)被剔除。利用余弦相似度匹配法可剔除大量誤匹配點(diǎn),如圖2b所示。然后通過(guò)RANSAC算法優(yōu)化提純,得到最優(yōu)匹配結(jié)果,如圖2c所示。利用“兩步匹配法”提高了特征點(diǎn)匹配的精度,剔除了大量誤匹配點(diǎn),提高了圖像處理效率。

(a)特征點(diǎn)粗匹配結(jié)果

(b)余弦相似度匹配結(jié)果

(c)RANSAC優(yōu)化匹配結(jié)果圖2 特征點(diǎn)匹配結(jié)果Fig.2 Results of feature point match

2 鑄件三維重建

2.1 稀疏點(diǎn)云重建

本文采用SFM方法[10]進(jìn)行基于單目圖像序列的鑄件三維稀疏點(diǎn)云重建。SFM方法是一個(gè)迭代計(jì)算的過(guò)程。首先選取具有最多匹配點(diǎn)的圖像作為初始圖像對(duì),計(jì)算得到初始的相機(jī)運(yùn)動(dòng)信息及鑄件結(jié)構(gòu)信息,通過(guò)兩幅圖像之間匹配點(diǎn)對(duì)的三角測(cè)量過(guò)程得到鑄件的初始空間三維點(diǎn)云,重建的每個(gè)點(diǎn)都對(duì)應(yīng)著被重構(gòu)鑄件的某一部分;然后逐漸增加新的圖像進(jìn)行迭代,SFM方法中每加入一幅新的圖像就可以獲得該圖像所對(duì)應(yīng)相機(jī)的運(yùn)動(dòng)信息以及鑄件的結(jié)構(gòu)信息;最后使用集束調(diào)整(bundle adjustment ,BA)[11]方法來(lái)進(jìn)行參數(shù)優(yōu)化[12-13]。

集束調(diào)整是一種非線性最小二乘法優(yōu)化技術(shù),通過(guò)估計(jì)相機(jī)姿態(tài)和圖像序列之間的相對(duì)運(yùn)動(dòng),以迭代方式添加和細(xì)化三維點(diǎn)。集束調(diào)整使用成本函數(shù)來(lái)最小化由運(yùn)動(dòng)結(jié)構(gòu)三角測(cè)量預(yù)測(cè)的三維點(diǎn)與其相應(yīng)觀察位置之間的重投影誤差,直至重建完整的圖像集合,獲得鑄件的最優(yōu)三維點(diǎn)云重建模型。重投影誤差計(jì)算式為

(2)

其中,n個(gè)三維物點(diǎn)在m張圖片中,Xij為第j張圖片上看到的第i個(gè)物點(diǎn),vij為第i個(gè)物點(diǎn)在第j張圖片上的映射判斷系數(shù),若vij=1,表明有映射,若vij=0,則無(wú)映射。每張圖片的相機(jī)j用向量aj參數(shù)化表示,每個(gè)三維物點(diǎn)i用向量bi參數(shù)化表示。函數(shù)Q(aj,bi)表示物點(diǎn)bi在相機(jī)aj下的投影坐標(biāo),也就是預(yù)測(cè)值。函數(shù)d表示觀測(cè)到的圖像坐標(biāo)與預(yù)測(cè)的圖像坐標(biāo)之間的歐氏距離。

2.2 稠密點(diǎn)云重建

使用SFM方法生成的稀疏點(diǎn)云僅具有SIFT識(shí)別的特征點(diǎn)的三維坐標(biāo),所得到的點(diǎn)云是低密度的,不包含被重建鑄件的更多細(xì)節(jié),因此,還需要對(duì)稀疏點(diǎn)云進(jìn)行稠密重建來(lái)獲得稠密點(diǎn)云匹配。

本文采用多視角密集匹配(CMVS/PMVS)實(shí)現(xiàn)稠密點(diǎn)云匹配,其中點(diǎn)云多視角立體匹配(CMVS)[14]通過(guò)優(yōu)化SFM輸入的稀疏點(diǎn)云數(shù)據(jù)來(lái)對(duì)圖像序列進(jìn)行聚簇分類,以消減重建過(guò)程的數(shù)據(jù)量,提高運(yùn)算速度和重建精度;然后基于面片模型的多視角立體匹配(PMVS)[15]根據(jù)聚簇分類后的圖像序列和由SFM算法計(jì)算出的各自的投影矩陣,利用稀疏點(diǎn)云重構(gòu)結(jié)果將點(diǎn)云向周圍進(jìn)行漫射,得到定向點(diǎn)云,同時(shí)利用局部光度一致性和全局可見(jiàn)性約束經(jīng)過(guò)匹配、擴(kuò)展、過(guò)濾等過(guò)程完成稠密重建過(guò)程,建立稠密點(diǎn)云模型。

PMVS是一種基于區(qū)域增長(zhǎng)的方法:首先是匹配,在圖像中采用Harris和Difference-of-Gaussian算法搜索圖像特征f,在其他圖像中搜索與f相匹配的圖像特征f′,形成一個(gè)匹配子集F,利用點(diǎn)對(duì)(f,f′)構(gòu)成三維點(diǎn)云,由點(diǎn)云再生成稀疏面片,然后將其保存在覆蓋圖像的網(wǎng)格中;其次是擴(kuò)展,通過(guò)迭代算法在已經(jīng)生成的稀疏面片鄰近的空區(qū)域中,通過(guò)重復(fù)利用點(diǎn)云再生成新的面片,增加重構(gòu)點(diǎn)的密度,獲得稠密點(diǎn)云;最后是濾波,對(duì)重構(gòu)點(diǎn)云通過(guò)兩步濾波算法,增強(qiáng)可視密度并濾除不匹配誤差。擴(kuò)展和濾波步驟是交替迭代進(jìn)行的,最終創(chuàng)建了一個(gè)致密的定向三維貼片云,獲得三維稠密點(diǎn)云模型。

2.3 泊松表面重建

稠密點(diǎn)云模型比較形象地還原鑄件模型,但仍是大量孤立的三維空間點(diǎn)集合,且表面還存在一些小的空洞。本文采用泊松曲面重構(gòu)[16]方法,將對(duì)點(diǎn)云數(shù)據(jù)的曲面重構(gòu)轉(zhuǎn)化為求解泊松方程,通過(guò)求解稠密點(diǎn)云的最佳擬合表面,從而獲得鑄件連續(xù)光滑的三維表面。

▽x≡▽·▽x=▽·V

(3)

(a)有向點(diǎn)集 (b)指示函數(shù)梯度

(c)指示函數(shù) (d)模型表面圖3 曲面重建示意圖Fig.3 Diagram of curved surface reconstruction

泊松表面重建不但綜合了全部的點(diǎn)云信息,而且無(wú)需具體細(xì)節(jié)就可以很好地過(guò)濾冗余信息。

3 實(shí)驗(yàn)結(jié)果與分析

圖4為基于單目圖像序列鑄件三維重建方法的流程圖。采用智能手機(jī)的攝像頭圍繞一個(gè)帶有毛刺的鑄件旋轉(zhuǎn)拍攝42張圖片,每張圖片像素大小為4608×3456。旋轉(zhuǎn)拍攝時(shí)只要求獲得鑄件的表面信息即可,對(duì)旋轉(zhuǎn)沒(méi)有嚴(yán)格要求。不要求以鑄件為固定中心,不要求相機(jī)按照固定位置或間隔固定角度拍攝。

圖4 鑄件三維重建流程圖Fig.4 The flow chart of the 3D reconstruction of casting

圖5為拍攝的部分圖像。圖6a為SFM方法迭代計(jì)算恢復(fù)的相機(jī)拍攝位置分布圖;圖6b為鑄件稀疏點(diǎn)云重建結(jié)果,稀疏點(diǎn)云只是給出了鑄件的一部分空間三維點(diǎn)陣,重建了部分輪廓。圖7為鑄件的稠密點(diǎn)云重建結(jié)果,稠密點(diǎn)云基本上重構(gòu)了鑄件的三維表面,一些明顯的毛刺能顯示出來(lái),但是三維表面粗糙,外部輪廓局部點(diǎn)缺失明顯,還存在一些明顯的孔洞。圖8所示為鑄件的泊松表面重建結(jié)果,鑄件的三維表面與稠密點(diǎn)云圖像相比,重建點(diǎn)密集,表面光滑,表面細(xì)節(jié)基本修復(fù),鑄件上的毛刺的細(xì)節(jié)也能顯示出來(lái)。實(shí)驗(yàn)結(jié)果表明,基于單目無(wú)標(biāo)定拍攝圖像序列的鑄件三維重建方法能夠?qū)崿F(xiàn)基于機(jī)器視覺(jué)的鑄件毛刺檢測(cè),為下一步鑄件毛刺的自動(dòng)配準(zhǔn)與剔除提供了可行性。

(a)角度為0° (b)角度為8.32°

(c)角度為15.56° (d)角度為23.20°

(e)角度為33.54° (f)角度為40.37°圖5 圖像序列中的部分圖像Fig.5 Some image sequences

(a)相機(jī)圍繞鑄件拍照的位置分布

(b)鑄件稀疏點(diǎn)云重建效果圖6 相機(jī)的位置分布和鑄件稀疏點(diǎn)云重建效果Fig.6 The location distribution of the camera and the effect of casting sparse point cloud reconstruction

圖7 鑄件的稠密點(diǎn)云重建結(jié)果Fig.7 Dense point cloud reconstruction results of casting

圖8 鑄件的泊松表面重建結(jié)果Fig.8 Effect of the casting of poisson surface reconstruction

4 結(jié)論

本文提出并實(shí)現(xiàn)了基于單目無(wú)標(biāo)定拍攝圖像序列的鑄件三維重建方法。對(duì)圖像序列進(jìn)行特征點(diǎn)匹配中,通過(guò)余弦相似度匹配法增加對(duì)特征向量的約束條件,剔除大量誤匹配點(diǎn),壓縮冗余數(shù)據(jù),提高圖像處理效率。以SFM迭代計(jì)算的方法從運(yùn)動(dòng)中恢復(fù)結(jié)構(gòu)獲得相機(jī)的位置信息以及鑄件的稀疏點(diǎn)云,并重建了稠密點(diǎn)云。最后通過(guò)泊松表面重建,獲得了鑄件三維表面的細(xì)節(jié)特征。實(shí)驗(yàn)結(jié)果表明,本文提出的方法無(wú)需對(duì)相機(jī)的位置進(jìn)行標(biāo)定,所需拍攝空間小,對(duì)拍攝環(huán)境、鏡頭位置和圖像序列數(shù)目也沒(méi)有嚴(yán)格的要求,適用于機(jī)械加工環(huán)境下零件三維表面檢測(cè)和毛刺識(shí)別。

猜你喜歡
單目毛刺三維重建
一種鑄鐵鉆孔新型去毛刺刀具的應(yīng)用
基于Mimics的CT三維重建應(yīng)用分析
軟件(2020年3期)2020-04-20 00:56:34
一種筒類零件孔口去毛刺工具
一種單目相機(jī)/三軸陀螺儀/里程計(jì)緊組合導(dǎo)航算法
可抑制毛刺的鉆頭結(jié)構(gòu)
單目SLAM直線匹配增強(qiáng)平面發(fā)現(xiàn)方法
新型銅合金化學(xué)去毛刺劑的研制
基于關(guān)系圖的無(wú)人機(jī)影像三維重建
基于CAD模型的單目六自由度位姿測(cè)量
三維重建結(jié)合3D打印技術(shù)在腔鏡甲狀腺手術(shù)中的臨床應(yīng)用
佳木斯市| 康马县| 新邵县| 平远县| 额尔古纳市| 福建省| 漾濞| 阿坝| 南宁市| 盱眙县| 顺昌县| 鄂托克前旗| 德阳市| 留坝县| 灯塔市| 休宁县| 庐江县| 新化县| 衡东县| 舞钢市| 漳平市| 秭归县| 广宁县| 恩施市| 通辽市| 定日县| 宁陵县| 宣城市| 昭苏县| 凤阳县| 揭西县| 喀喇沁旗| 会东县| 泽州县| 黄山市| 雅安市| 高尔夫| 邵武市| 乌拉特中旗| 东港市| 元氏县|