孔慶博 何 麗 袁 亮 劉貝貝
(新疆大學機械工程學院 新疆 烏魯木齊 830047)
三維重建技術在獲取物體場景的圖像或視頻后,對其處理后可得到三維場景信息并完成物體重建[1],然后可對重建物體進行測量、檢驗、裝配等工作。在三維重建測量技術中,如何有效地對離群點進行濾波剔除,以獲得準確的點云圖從而高效、精準地重建出目標物體三維模型,是能否進行后續(xù)工作的關鍵所在。國內外許多學者都對點云濾波算法進行了大量研究。文獻[2]通過將采樣點移動到其相對應的最小二乘曲面上來去除噪聲,具有較好的魯棒性;文獻[3]通過Laplace-Beltrami算子生成一個平滑曲面來處理高頻噪聲;文獻[4]利用對點模型進行二次擬合而構造出的三維模型特征因子,與雙邊濾波中的距離因子、相似度因子結合形成三邊濾波器,利用所得濾波器對點模型的曲率、法向量和距離進行濾波;文獻[5]針對特征點和非特征點噪聲信息的不同,采用兩種不同的雙邊濾波因子對其分別進行濾波,對三維模型特征的保留具有較好效果。以上方法雖都取得了一定效果,但都或多或少存在匹配效率低且重建耗時、不完整等問題。
本文以德國達姆施塔特工業(yè)大學開發(fā)的MVE開源工具為基礎[6],針對目前點云濾波算法存在耗時長、效果差的問題,在稠密點云模型重建的過程中提出了一種改進的點云濾波算法,即將PMVS算法同統(tǒng)計分析法相融合,利用統(tǒng)計分析法對經(jīng)由PMVS算法得到的稠密點云進行離群點的去除,從而在保證物體表面細節(jié)特征的情況下對離群點進行快速濾除,提高后期三維重建效率及精度,保證后期裝配的準確度。
特征點是一個同周圍圖像點具有明顯區(qū)別,且包含大量信息的圖像點[7],只有通過特征點才可以重建出目標物體的三維模型,因此本文采用David Lowe提出的SIFT算法和Bay提出的SURF算法進行圖像特征點的檢測與匹配,以保證在邊緣點處能夠匹配到足夠多的特征點數(shù)量。
SIFT算法是在基于不變量技術特征檢測算法提出的一種基于尺度空間的,對圖像旋轉、縮放、仿射變換均保持不變性的特征檢測匹配算法,因此SIFT算法具有對旋轉、尺度變換、光度變化保持不變性,以及對視角變換、噪聲保持一定穩(wěn)定性的優(yōu)點,該算法實現(xiàn)流程如下[7]:(1)尺度空間極值檢測;(2)關鍵點定位;(3)方向定位;(4)特征描述子;(5)特征匹配。
SURF算法流程與SIFT算法大致相同但方法不同,采用海森矩陣(Hessian Matrix)行列式進行特征點檢測并利用積分圖加速運算,在構造SURF特征點描述子時選用64維向量表示[8]。雖然SURF算法在邊緣檢測方面不如Harris算法,但Harris算法不具備尺度不變性,提取到的特征點不具備特征描述符且在圖像尺度、光照、噪聲變化劇烈時,缺乏可靠的魯棒性[9],因此選用匹配速度快且與SIFT算法相似的SURF算法進行二次特征匹配。
在完成圖像的特征匹配后,需要對目標物體進行稀疏點云的重建,采用SFM法[10]對經(jīng)由單目相機拍攝的無序圖像進行稀疏三維點云重建,在相機參數(shù)和場景三維信息未知的情況下,通過迭代計算出相機矩陣及三維點坐標,得到初始重建結果后利用全局捆綁調整[11](Bundle Adjustment,BA)進行非線性優(yōu)化,可使得誤差均勻分布到各個圖像中,得到更為精準的重建結果。
SFM法是一個迭代求解的過程,每一步都是先恢復相機的運動,再通過三角測量的方法恢復場景結構[12]。全局捆綁調整是一種無約束非線性最小二乘優(yōu)化方法,通過調整多幅圖像的相機參數(shù)和構造參數(shù),以獲得測量點與觀察點之間的最小化誤差,從而得到更為精準的重建結果。本文選用Levenberg-Marquardt(L-M)算法,其原理就是一種利用“信賴閾”的方法,當收斂速度較快時,信賴閾增大使算法偏向于牛頓法,反之偏向于最速下降法[13],具體過程如下:
▽2g(θt)δθ=-▽g(θt)
(1)
(2)
式中:λ代表信賴域半徑,當其趨向于無窮大時,JT(θt)J(θt)δθ=-▽g(θt),則增量正規(guī)方程轉變?yōu)榕nD法;反之當λ趨向于零時,δθ=-▽g(θt),則增量正規(guī)方程轉變?yōu)樽钏傧陆捣ā?/p>
經(jīng)由SFM法得到的稀疏三維點云是稀疏且低密度的,無法體現(xiàn)被重建物體的細節(jié)特征,因此還需要對稀疏點云進行稠密匹配算法以獲得稠密點云模型。
本文采用由Furukawa等[14]提出的PMVS算法來實現(xiàn)稠密點云匹配。PMVS算法是一種基于空間path擴散的方法,該算法不需要任何的初始化,就能夠準確、簡單且高效地檢測到外部點和障礙點并予以排除。采用“匹配—擴張—濾波”的重建流程[7],其中擴張和濾波這兩步驟交替迭代進行,從可信度較高的區(qū)域開始,在匹配階段對未匹配區(qū)域采用光度一致性約束,在濾波階段利用可視性約束去除錯誤匹配,由此不斷擴張最終獲得稠密的三維點云模型。但本文在利用PMVS算法進行小范圍場景稠密點云重建時發(fā)現(xiàn),得到的稠密點云模型存在大量離群點,影響后期三維重建效果,因此本文提出一種改進的點云濾波法,即在PMVS算法中融合統(tǒng)計分析法以去除離群點。
利用統(tǒng)計分析法消除離群點的原理就是對每一個點的鄰域進行統(tǒng)計分析,去除不滿足要求的點[15],具體方法為計算輸入數(shù)據(jù)中每一個點到它所有鄰近點的平均距離,假設得到的是一個形狀由均值和標準差決定的高斯分布[16]:
(3)
式中:k代表鄰近點個數(shù);di表示某一點到它所有鄰近點的距離;D為符合高斯分布的平均距離。設定標準范圍S,則平均距離在標準范圍之外的點可被定義為離群點并剔除,如圖1中的b點。
S=μ±gσg=1,2,…
(4)
式中:μ為均值;σ為標準差。
圖1 統(tǒng)計分析濾波法[16]
本實驗選用智能手機攝像頭對目標物體旋轉一周進行拍攝,旋轉拍攝照片時只需獲取物體表面信息即可,對旋轉角度沒有嚴格的要求,既不用固定拍攝位置,也無須固定旋轉角度,但前后兩幅照片的旋轉角度不宜過大,否則難以獲取足夠的特征點進行匹配;對于拍攝所得照片無須做任何處理,以方便從可交換圖像文件中讀取Exif初始值,從而獲得像素、焦距等信息,省略了相機標定過程。本實驗平臺布局如圖2所示,圖3為拍攝的部分物體圖像。
圖2 實驗平臺布局
圖3 部分拍攝圖像
在得到大量無序圖像后,即可利用MVE開源工具進行三維重建實驗,最終在MeshLab中對稠密三維點云模型進行泊松表面重建以得到最終的重建結果。
首先進行目標物體特征點的檢測與匹配工作,以圖3中減速器上箱體的兩幅圖像為例,利用SIFT算法對圖像進行特征點的匹配,結果如圖4所示。
圖4 SIFT特征點匹配結果
在利用SIFT算法進行特征點的檢測與匹配后,經(jīng)統(tǒng)計共提取匹配到211對特征點,可以看出經(jīng)由該算法處理后的圖像匹配點較多且對應較準確,但對于目標物體邊緣點的匹配不夠明顯,會對三維重建的結果產生影響,因此利用SURF算法進行二次匹配,如圖5所示。
圖5 SURF特征點的匹配結果
圖5中,經(jīng)統(tǒng)計利用SURF算法共提取匹配到162對特征點,雖然匹配點對數(shù)少于經(jīng)SIFT算法提取得到的特征點對數(shù),但匹配效率高且在邊緣點處的匹配效果優(yōu)于SIFT算法,因此將二者的匹配結果融合作為最終的匹配結果,如圖6所示。
圖6 最終的匹配結果
在完成所有圖像的特征點匹配后,可通過SFM法得到目標物體的稀疏三維點云模型,如圖7所示。
圖7 稀疏三維點云模型
可以看出,經(jīng)SFM法得到的稀疏點云雖然能夠對物體的外部輪廓進行大致描述,但無法清晰地描述出細節(jié)特征,因此還需要對物體進行稠密點云重建,利用PMVS算法可重建出物體的稠密點云模型,如圖8所示。
圖8 稠密點云模型
可以看出,經(jīng)由PMVS算法得出的稠密點云模型基本體現(xiàn)了目標物體的三維表面,一些細節(jié)特征也得以展現(xiàn)。但是因為在拍攝過程中設備或外界環(huán)境等多方面因素所造成的影響,在重建模型中出現(xiàn)了大量離群點,離群點的存在會影響物體局部表面特征的估計以及點云的融合匹配,最終會使重建結果產生很大誤差。
利用融合點云濾波算法重建的稠密點云模型如圖9所示。
圖9 優(yōu)化后的稠密點云圖
可看出,利用融合算法得到的稠密點云較PMVS算法得到的要更加清晰,通過MeshLab統(tǒng)計可知特征點數(shù)量由最初的8 181 719下降至7 459 633,不僅剔除了大量離群點,還在一定程度上對冗余點進行了消除。
在得到優(yōu)化前后的稠密點云圖后,利用MeshLab可得到泊松表面重建結果,以用來佐證重建物體表面細節(jié)特征上的提升。重建對比結果如圖10所示。
(a) 優(yōu)化前泊松表面重建結果
可以看出,經(jīng)過優(yōu)化后的重建結果在細節(jié)表現(xiàn)上比優(yōu)化前的更加突出,而且因為離群點的去除大大減少了對錯誤匹配的重建,使得目標物體在細節(jié)處的體現(xiàn)更加清晰完整,通過表1可以更加直觀地看出前后差異。
表1 優(yōu)化前后泊松表面重建對比結果
優(yōu)化后表面重建時間雖然比優(yōu)化前耗費了更多,但在頂點數(shù)量以及面片數(shù)量上要遠遠高于優(yōu)化前,由此更加證明了優(yōu)化后的重建結果在細節(jié)處理上要比優(yōu)化前更加精準、全面。同樣可得到優(yōu)化后下箱體的泊松表面重建結果,如圖11所示。
圖11 下箱體優(yōu)化后泊松表面重建結果
在得到上、下箱體的三維重建模型后,可在MeshLab中進行三維測量以確保裝配準確度。因重建物體與實際物體間存在比例關系,所以首先通過實際物體寬度l1與重建物體寬度l2之比獲得比例因子k,則有:
(5)
利用比例因子k以及上、下箱體的重建模型,可求出相應實際的理論長度,再與箱蓋、箱體實際測量結果相對比可得出整體裝配的準確度,以圖12中的測量對象為例,對比結果如表2所示。
圖12 測量檢測對象
表2 三維重建測量結果cm
可以看出,該三維模型的求解結果同實際測量結果間的誤差位于0.1~0.2 mm之間,符合減速器設計標準[17],證明本實驗能夠達到預期目標,最終的裝配結果如圖13所示。
圖13 最終裝配重建模型
本文針對PMVS算法在小范圍場景稠密點云重建時,因拍攝過程中設備或外界環(huán)境等多方面不可避免因素的影響,導致最終得到的稠密點云模型存有大量離群點的現(xiàn)象,提出一種改進的點云濾波算法,即在PMVS算法的基礎上融入統(tǒng)計分析法以去除離群點。實驗證明,利用融合算法處理的點云模型,不僅剔除了大量離群點,還在保證目標物體細節(jié)特征的情況下對冗余的特征點進行一定程度的消除,再通過表面重建結果以及數(shù)據(jù)對比兩方面的佐證,表明優(yōu)化后的重建結果在細節(jié)處理上要比優(yōu)化前的更加精準、全面,為下一步減速器的精準裝配提供了保證。