《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于改進(jìn)SFM的三維重建算法研究
基于改進(jìn)SFM的三維重建算法研究
2019年電子技術(shù)應(yīng)用第2期
蔣華強1,,2,蔡 勇1,,2,,張建生1,李自勝1,,2
1.西南科技大學(xué) 制造科學(xué)與工程學(xué)院,,四川 綿陽621010; 2.制造過程測試技術(shù)省部共建教育部重點實驗室,,四川 綿陽621010
摘要: 針對現(xiàn)有運動恢復(fù)結(jié)構(gòu)算法重建模型存在點云稀疏等問題,,提出一種利用不同匹配數(shù)據(jù)進(jìn)行模型重建的算法。首先通過對比上下文直方圖(CCH)生成匹配數(shù)據(jù),,利用M估計抽樣一致(MSAC)估算圖像基礎(chǔ)矩陣,,進(jìn)而分解得到平移和旋轉(zhuǎn)矩陣,并根據(jù)相機內(nèi)參計算投影矩陣,,然后利用KLT匹配算法更新匹配數(shù)據(jù),,最后三角化生成三維點云。該算法匹配精度高,,圖像基礎(chǔ)矩陣易于收斂,,通過位移實現(xiàn)特征點匹配,彌補了圖像低頻區(qū)域匹配數(shù)據(jù)不足的缺陷,。實驗結(jié)果表明,,與現(xiàn)有算法相比,該算法生成的點云更致密,;在真實環(huán)境下,,該算法可用于物體三維重建。
中圖分類號: TP391.7
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.183096
中文引用格式: 蔣華強,,蔡勇,,張建生,等. 基于改進(jìn)SFM的三維重建算法研究[J].電子技術(shù)應(yīng)用,,2019,,45(2):88-92.
英文引用格式: Jiang Huaqiang,Cai Yong,Zhang Jiansheng,,et al. Research on 3D reconstruction algorithm based on improved SFM[J]. Application of Electronic Technique,,2019,45(2):88-92.
Research on 3D reconstruction algorithm based on improved SFM
Jiang Huaqiang1,,2,,Cai Yong1,2,,Zhang Jiansheng1,,Li Zisheng1,2
1.School of Manufacturing Science and Engineering,,Southwest University of Science and Technology,,Mianyang 621010,China,; 2.Key Laboratory of Testing Technology for Manufacturing Process,,Mianyang 621010,China
Abstract: Aiming at the sparse problem of object point cloud based on structure from motion method, a 3D reconstruction method using different matching data is proposed. The matching points are calculated by contrast context histogram(CCH) algorithm. The M-estimation sampling consensus(MSAC) algorithm is used to calculate the fundamental matrix, the translation and rotation matrix are decomposed from fundamental matrix. The image projection matrix is obtained combining the camera internal parameters. KLT algorithm is used to update the matching data, and the point cloud is generated by triangulation principle. This method makes use of the advantage of high accuracy of CCH algorithm to make the calculation results of the basic matrix converge. Using KLT algorithm to realize the matching by displacement instead of description vector, it makes up for the deficiency of matching data in low frequency region. The experimental results show that the proposed algorithm is effective and feasible, and the reconstructed point cloud has advantages in comparison with existing algorithms, it can be used for building 3D model of objects in the real scene.
Key words : 3D reconstruction,;improved SFM,;CCH;MSAC,;KLT algorithm

0 引言

    物體建模往往需要大量人力和物力,,但隨著計算機算力提高,,計算機視覺研究的不斷深入和攝影設(shè)備的普及,,基于視覺的建模技術(shù)成為解決此問題的一種新方法,并成功運用于文物保護(hù),、增強現(xiàn)實,、自動駕駛、大規(guī)模場景三維重建以及醫(yī)學(xué)圖像處理等領(lǐng)域[1],。三維重建作為計算機視覺的一個重要研究內(nèi)容,,基于Marr理論框架,形成了多種理論方法,,運動恢復(fù)結(jié)構(gòu)(Structure from Motion,,SFM)方法[2]是最廣泛采用的方法之一。近年來,,基于SFM研制出多種建模系統(tǒng),,如Visual SFM[3]、ETH-3D[4],、LS-ACTS[5]等,。

    特征點匹配是基于SFM重建算法中最關(guān)鍵的一步,直接影響重建效果[2]。目前主要匹配算法有KLT(Kanade Lucas Tomasi Tracking,,KLT)算法[6],、尺度不變特征轉(zhuǎn)換(Scale Invariant Feature Transform,SIFT)算法[7]和加速穩(wěn)健特征(Speeded Up Robust Features,,SURF)算法[8]等,,以及一些上述算法的改進(jìn)算法,如基于仿射變換的SURF算法[9],。文獻(xiàn)[10]采用SIFT算法提取圖像特征點并匹配,,結(jié)合相機參數(shù)將一組匹配點映射為一組空間直線,由于各種誤差的存在,,直線間將異面,,取異面直線公垂線的中點為三維空間點。但SIFT算法實時性差,,不利于未來工程應(yīng)用,。文獻(xiàn)[11]使用SURF算法,尋找圖像序列中的特征點,,利用隨機抽樣一致(Random Sample Consensus,,RANSAC)算法優(yōu)化求解相機位置參數(shù),得到圖像的投影矩陣,,并三角化生成空間點云,,利用投影矩陣將三維點反投影回原圖像,消除與原匹配點誤差太大的特征點,。但SIFT和SURF算法得到的匹配數(shù)據(jù)都比較稀疏,,導(dǎo)致模型不完整。

    基礎(chǔ)矩陣描述了兩幅圖像間對極幾何的關(guān)系,,估計基礎(chǔ)矩陣是重建過程中重要的一步,。估計基礎(chǔ)矩陣常用的方法有七點法和八點法等方法,具有計算速度快的優(yōu)點,,但對噪聲敏感[12],。HARLEY R I提出了歸一化八點算法,在估計基礎(chǔ)矩陣前對匹配點歸一化處理,,提高了算法的抗噪能力[13],。

    在基于SFM重建算法中,基礎(chǔ)矩陣的估計要求匹配數(shù)據(jù)精度高,,三角化重建要求匹配數(shù)據(jù)數(shù)量大,,二者對匹配數(shù)據(jù)的要求不同。本文提出一種采用不同匹配數(shù)據(jù)的重建算法,,首先通過對比上下文直方圖(Contrast context histogram,,CCH)算法[14-15]提取圖像匹配點對,,使用歸一化八點算法和M估計抽樣一致(M-estimator Sample and Consensus,MSAC)算法[11]計算基礎(chǔ)矩陣F,,結(jié)合攝像機內(nèi)參得到本質(zhì)矩陣后,,計算圖像旋轉(zhuǎn)矩陣R和平移矩陣T,并得到相機投影矩陣P,;然后使用KLT特征跟蹤算法更新匹配數(shù)據(jù),,三角化得到匹配點三維信息;最后將圖像匹配點的顏色賦予三維空間點,,得到具有顏色信息的點云模型,。實驗表明,本文算法能有效得到目標(biāo)點云模型,。

1 相關(guān)研究工作

1.1 CCH匹配算法

    計算CCH描述子之前,,通過多尺度拉普拉斯金字塔下提取Harris角點[15]。將每一個角點Pc的鄰域分為4個同心圓,,每個圓區(qū)域均勻分為8個不重疊子區(qū)域,,因此,存在32個子區(qū)域(r1,,r2,,…,r32),。將Pc點的方向設(shè)置為CCH描述子的0°方向,,并以最小半徑同心圓0°的子區(qū)域為r1,如圖1所示,。定義角點Pc鄰域內(nèi)一點P的對比度值:

jsj4-gs1-3.gif

jsj4-t1.gif

    遍歷待匹配圖像和匹配圖像之間的特征點以進(jìn)行匹配,,CCH算法采用基于最近距離的匹配:

jsj4-gs4.gif

1.2 KLT算法

    SFM建模算法為獲得高質(zhì)量的匹配數(shù)據(jù),使用的圖像大都是在尺度和光照等條件相差不大時取得的,,而這正滿足KLT算法的假設(shè),。Kanade等提出的KLT算法假設(shè)在圖像的亮度恒定或相差不大,、空間一致或有小運動情況下,,通過計算特征點的位移,得到對應(yīng)的匹配點[6],。

    KLT算法采用計算Hessian矩陣特征值的方法提取圖像上特征點,。假定在t時刻圖像中的一點P1(x,y),,對應(yīng)灰度為I(x,,y,t),,經(jīng)過時間dt后運動到新的位置P2(x+dx,,y+dy),,對應(yīng)的灰度為I(x+dx,y+dy,,t+dt),,d=[dx,dy]為位移量,,dt為時間變化量,。

jsj4-gs5-7.gif

式中,Ir為兩幀圖像局部窗口內(nèi)灰度之差,,因而位移d=G-1e,,從而得到該點對應(yīng)的匹配點。

2 改進(jìn)的三維重建算法

2.1 基礎(chǔ)矩陣估算

jsj4-gs8-9.gif

2.2 投影矩陣計算

    從二維圖像得到三維空間信息,,需要相機的參數(shù),,包括相機內(nèi)參矩陣K、平移矩陣T和旋轉(zhuǎn)矩陣R,。

jsj4-gs10-12.gif

其中,,[R  t]為3×4的外參矩陣,P=K×[R  t]為內(nèi)外參組合后3×4的投影矩陣,。

2.3 三角化

jsj4-gs13-15.gif

2.4 改進(jìn)三維重建的流程

    序列圖像的重建是在兩幅圖像重建基礎(chǔ)上通過增加匹配數(shù)據(jù),,得到更密集的點云。所以兩幅圖像的重建是SFM重建的基礎(chǔ),,若兩幅圖像間重建得到大量的數(shù)據(jù),,可以極大地減少工作量。本文均以兩幅圖像為重建數(shù)據(jù),,分為以下幾步:

    (1)計算CCH描述子:導(dǎo)入圖像,,根據(jù)1.1節(jié)中方法得到CCH描述子,并得到匹配點對,;

    (2)估計基礎(chǔ)矩陣F:基礎(chǔ)矩陣的估計是為了得到本質(zhì)矩陣E,。使用2.1節(jié)中提到的方法估計基礎(chǔ)矩陣,結(jié)合內(nèi)參矩陣得到本質(zhì)矩陣,;

    (3)計算投影矩陣P:通過對本質(zhì)矩陣E的分解得旋轉(zhuǎn)矩陣R和平移矩陣T,,結(jié)合相機內(nèi)參恢復(fù)出相機的投影矩陣;

    (4)更新匹配數(shù)據(jù):采用1.2節(jié)中提到的KLT算法,,跟蹤特征點,,更新匹配數(shù)據(jù);

    (5)三角化:利用2.3節(jié)方法,,計算三維點生成點云,;

    (6)點著色:將圖像匹配點對的顏色賦予空間三維點,得到有色彩的點云,。

3 實驗結(jié)果與分析

    本文算法在Intel i3 CPU,、4 GB RAM的Windows 7操作系統(tǒng)下,,使用MATLAB R2016a實現(xiàn)。實驗由兩部分組成:(1)Fountain和Herz-Jesu圖像[16],,并將本文算法與文獻(xiàn)[10]和文獻(xiàn)[11]中的算法進(jìn)行對比,;(2)Desktop和Symbol圖像,采用IMX258攝像頭(Nubia手機內(nèi)置)拍攝,,分別為電腦桌面和西南科技大學(xué)制造科學(xué)與工程學(xué)院標(biāo)志,,以驗證本文算法在真實場景下的可行性。

3.1 算法對比實驗

    圖2和圖3分別為Fountain圖像和Herz-Jesu圖像重建結(jié)果,,算法均采用為兩幅圖像重建生成點云,,圖中只列舉了其中一幅,表1和表2為重建點云的數(shù)量和時間的對比,??梢钥吹奖疚乃惴ㄉ傻狞c云在點的數(shù)量上優(yōu)勢明顯。Herz-Jesu圖像分辨率為3 024×2 048,,建模效果比分辨率為720×480的Fountain圖像要好,,因為高分辨率意味著更豐富的信息。采用文獻(xiàn)[10]和文獻(xiàn)[11]中特征提取與匹配的方法,,在特征匹配階段,,對于圖像低頻特征區(qū)域,描述子之間相似度較高,,容易被認(rèn)為是誤匹配而被剔除,,導(dǎo)致顯示為空洞,如Herz-Jesu圖像的“墻”部分,,而采用本文算法可以得到“墻”部分點云,。

jsj4-t2.gif

jsj4-t3.gif

jsj4-b1.gif

jsj4-b2.gif

    基于SIFT和SURF提取特征并匹配的方法,能夠在圖像光照,、旋轉(zhuǎn)及尺度等多種條件的變化下取得很好的匹配效果,。而對于SFM來說,圖像都是在光照和尺度等條件變化比較小的情況下取得的,,以相機為參考系,,可以認(rèn)為場景內(nèi)物體進(jìn)行了小運動。此前提下,,采用KLT特征追蹤算法更新匹配數(shù)據(jù),,可以得到更好的效果,。KLT算法基于特征的小運動假說,,通過計算特征點的位移實現(xiàn)匹配,在圖像低頻區(qū)域,,避免了特征點匹配時描述子相似度高而被剔除,。因此,,對于SFM重建方法,生成點云時,,使用基于KLT的跟蹤算法更合適,。

    SFM三維重建方法中兩次使用匹配數(shù)據(jù),第一次用于計算基礎(chǔ)矩陣,,第二次用于三維重建,。在圖像匹配上CCH算法具有很高精度,同時匹配點數(shù)量較其他方法減少,,利于MSAC算法迭代計算基礎(chǔ)矩陣,,使計算結(jié)果收斂。

3.2 真實場景重建實驗

    采用張正友相機標(biāo)定方法將IMX258攝像頭進(jìn)行相機標(biāo)定,,標(biāo)定得到對應(yīng)于式(10)中相機的參數(shù):αx=3 115.833 678,、γ=7.867 908、u0=1 527.096 651,、αy=3 132.207 642,、v0=2 073.525 058。表3為使用本文算法得到的圖像運動參數(shù),。圖4(a)和圖4(c)為拍攝得到的Desktop圖像與Symbol圖像,,分辨率均為4 160×3 120;圖4(b)和圖4(d)分別是使用本文算法建模的對應(yīng)結(jié)果,,點云模型點數(shù)量分別為43 374和56 013,。可以看出,,采用本文算法實現(xiàn)的物體的三維重建,,其得到的點云模型相對完整。

jsj4-b3.gif

jsj4-t4.gif

4 結(jié)束語

    本文通過分析基于SFM的三維重建算法對匹配數(shù)據(jù)的要求不同,,提出一種改進(jìn)的三維重建算法,。使用CCH算法得到匹配數(shù)據(jù)計算基礎(chǔ)矩陣,使用KLT角點跟蹤算法更新匹配數(shù)據(jù),,最后得到有色彩的點云模型,。與現(xiàn)有的算法相比,本文算法在圖像低頻區(qū)域能得到更豐富的匹配數(shù)據(jù),,重建模型更完整,。

    本文算法實現(xiàn)了基于圖像的建模,并取得了較好效果,。由于手機透鏡采用塑膠透鏡,,光學(xué)性能較玻璃透鏡低;同時手機CMOS傳感器性能比專業(yè)單反低,。因此Desktop和Symbol的圖像質(zhì)量比Fountain和Herz-Jesu差,,下一步將研究提高手機拍攝圖像質(zhì)量的算法,,結(jié)合本文算法開發(fā)基于序列圖像的三維重建APP,實現(xiàn)使用手機完成圖像的拍攝和重建全過程,。

參考文獻(xiàn)

[1] 佟帥,,徐曉剛,易成濤,,等.基于視覺的三維重建技術(shù)綜述[J].計算機應(yīng)用研究,,2011,28(7):2411-2417.

[2] CAO M,,CAO L,,JIA W,et al.Evaluation of local features for structure from motion[J].Multimedia Tools & Applications,,2018,,77(9):1-15.

[3] WU C.Towards linear-time incremental structure from motion[C].International Conference on 3D Vision,IEEE Computer Society,,2013:127-134.

[4] ZACH C.Robust bundle adjustment revisited[C].European Conference on Computer Vision.Springer,,2014:772-787.

[5] ZHANG G,LIU H,,DONG Z,,et al.Efficient non-consecutive feature tracking for robust structure from motion[J].IEEE Trans Image Process,2015,,25(12):5957-5970.

[6] SHI J,,TOMASI C.Good features to track[C].Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.IEEE,2002:593-600.

[7] LOWE D G.Distinctive image features from scale-invariant keypoints[J].International Journal of Computer Vision,,2004,,60(2):91-110.

[8] BAY H,ESS A,,TUYTELAARS T,,et al.Speeded-up robust features[J].Computer Vision & Image Understanding,2008,,110(3):404-417.

[9] 劉欣,,李校林,謝燦,,等.一種基于仿射變換的SURF圖像配準(zhǔn)算法[J].電子技術(shù)應(yīng)用,,2014,40(6):130-132.

[10] 胡影峰.基于SIFT特征匹配算子的三維重建方法研究[J].自動化儀表,,2011,,32(1):30-32.

[11] 景子君.運動法三維重建的研究與實現(xiàn)[D].合肥:中國科學(xué)技術(shù)大學(xué),2018.

[12] 闞江明.基于計算機視覺的活立木三維重建方法[D].北京:北京林業(yè)大學(xué),2008.

[13] HARTLEY R I.In defence of the 8-point algorithm[C].International Conference on Computer Vision,,IEEE Computer Society,,1995:1064-1070.

[14] HUANG C R,,CHEN C S,,CHUNG P C.Contrast context histogram a discriminating local descriptor for image matching[C].International Conference on Pattern Recognition.IEEE,2006:53-56.

[15] HUANG C R,,CHEN C S,,CHUNG P C.Contrast context histogram—An efficient discriminating local descriptor for object recognition and image matching[J].Pattern Recognition,2008,,41(10):3071-3077.

[16] STRECHA C,,HANSEN W V,GOOL L V,,et al.On benchmarking camera calibration and multi-view stereo for high resolution imagery[C].2018 IEEE Conference on Computer Vision and Pattern Recognition.IEEE,,2008:1-8.



作者信息:

蔣華強1,2,,蔡  勇1,,2,張建生1,,李自勝1,,2

(1.西南科技大學(xué) 制造科學(xué)與工程學(xué)院,四川 綿陽621010,;

2.制造過程測試技術(shù)省部共建教育部重點實驗室,,四川 綿陽621010)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。