劉三毛,,朱文球,,孫文靜,王業(yè)祥
(湖南工業(yè)大學(xué) 計算機學(xué)院,,湖南 株洲 412007)
摘要:針對室內(nèi)環(huán)境單目視覺的室內(nèi)場景三維重建速度慢的問題,,采用華碩Xtion單目視覺傳感器獲取的室內(nèi)場景彩色圖像和深度圖像進行快速三維重建。在圖像特征提取上使用ORB特征檢測算法,,并對比了幾種經(jīng)典特征檢測算法在圖像匹配中的效率,,在圖像匹配融合中采用Ransac算法和ICP算法進行點云融合。實現(xiàn)了一種室內(nèi)簡單、小規(guī)模的靜態(tài)環(huán)境快速三維重建方法,,通過實驗驗證了該方法有較好的精確性,、魯棒性、實時性和靈活性,。
關(guān)鍵詞:單目視覺,;點云;三維重建
中圖分類號:TP391文獻標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.01.014
引用格式:劉三毛,,朱文球,,孫文靜,等.基于RGBD單目視覺的室內(nèi)場景三維重建[J].微型機與應(yīng)用,2017,36(1):44-47.
0引言
三維重建(3D Reconstruction)是指利用計算機,、傳感器,,通過對場景的紋理、深度等數(shù)據(jù)進行分析和處理后構(gòu)建適合計算機表示和處理的數(shù)學(xué)模型,。隨著工業(yè)信息技術(shù)的發(fā)展三維重建得到了廣泛應(yīng)用,,如在移動機器人自主導(dǎo)航、SLAM,、虛擬現(xiàn)實和3D打印等諸多方面都發(fā)揮著十分重要的作用[1],。
1965年ROBERT L提出了使用計算機視覺方法從二維圖像獲取物體三維信息的可能性。FAUGRAS M A和Hartley[23]于1992年開創(chuàng)性地提出了基于圖像系列的三維重建理論,,在他們的論文中,,把三維重建總結(jié)為3個步驟:基礎(chǔ)矩陣的估計、攝像機的標(biāo)定以及計算投影矩陣和相應(yīng)的三維空間坐標(biāo),。即輸入二維圖像,,通過求解對應(yīng)攝像機運動參數(shù)及幾何結(jié)構(gòu),生成圖像場景的三維模型,。隨著RGBD相機的成熟,,它可提供彩色深度圖像和稠密深度圖像視頻流,這使得結(jié)合三維深度感測的視覺功能優(yōu)勢來快速,、準(zhǔn)確地創(chuàng)建大場景的三維場景信息[45]成為現(xiàn)實,。
采用RGBD相機獲取彩色圖像和深度圖像,使用深度圖像信息結(jié)合稀疏特征點創(chuàng)建三維場景模型,。首先提取每幀圖像的特征點,,通過特征匹配找到兩幀圖像之間的對應(yīng)特征點,由深度圖像信息計算出對應(yīng)點對的空間坐標(biāo)(Xw,Yw,Zw),。針對圖像特征點誤匹配導(dǎo)致位姿估計的精度低的問題,,采用隨機采樣一致性算法(Random Sample Consensus,RANSAC)[6]剔除誤匹配點,其次在點云融合上,,結(jié)合迭代最近算法(Iterative Closest Point,,ICP)[7] 進行點云配準(zhǔn)以進一步改善位姿精度,,減少相機位姿漂移造成的誤差。
12D到3D坐標(biāo)轉(zhuǎn)換
設(shè)三維空間中任意一點P的坐標(biāo)為(Xw,Yw,Zw),,該點對應(yīng)的相機坐標(biāo)系坐標(biāo)為(Yc,,Zc),(x,y),、(u,v)分別是二維圖像中的物理坐標(biāo)和像素坐標(biāo),。根據(jù)針孔相機模型,相機坐標(biāo)系與世界坐標(biāo)系關(guān)系如圖1所示,。
對空間任意一點P(Xw,,Yw,Zw)進行剛體變換,,映射到相機坐標(biāo)系中點P(Xc,Yc,,Zc),,如式(1):
其中T是三維空間平移向量,R是3×3的正交旋轉(zhuǎn)矩陣,。得到相機坐標(biāo)系坐標(biāo)后通過透射投影得到物理系坐標(biāo)P(x,y),,考慮到相機畸變因子,得到P(x,y)為:
其中k1,、k2,、p1、p2為畸變系數(shù),,是相機外部參數(shù)矩陣M2,,由物理坐標(biāo)轉(zhuǎn)換為像素坐標(biāo)P(u,v)關(guān)系如下:
其中,,fx,、fy指相機在x、y軸上的焦距,,cx,、cy指相機的光圈中心點坐標(biāo),fx,、fy,、cx、cy這4個參數(shù)為相機的內(nèi)參矩陣M1,,給定相機內(nèi)參之后,,每個點的空間位置與像素坐標(biāo)就可以用矩陣模型表示:
其中,R和T是相機的姿態(tài),。R代表旋轉(zhuǎn)矩陣,,T代表位移矢量,s是深度距離與實際距離的比例因子。由上述結(jié)果進行齊次變換后得到三維空間點P與二維圖像像素坐標(biāo)的映射關(guān)系:
s·p=M1M2P(5)
其中,,M1,、M2為相機的內(nèi)參和外參,由標(biāo)定結(jié)果得到,。P=(X,,Y,Z)為空間點齊次坐標(biāo),,p=(u,,v,l)為二維圖像像素齊次坐標(biāo),。
2點云融合
2.1特征檢測
圖像的特征提取與匹配是實現(xiàn)三維重建的基礎(chǔ),,現(xiàn)在常用的特征檢測算法為1999年David Lowe提出的SIFT(Scale Invariant Feature Transform)算法,并于2004年進行了深入的發(fā)展和完善[8],。SIFT算法最大的優(yōu)點是具有尺度不變性,,圖像之間發(fā)生了平移、旋轉(zhuǎn),、仿射變換的情況下仍可以進行特性匹配,。SIFT算法提取到的特征點豐富,適合圖像精準(zhǔn)匹配,,但時間復(fù)雜度高,,實時性差。BAY H等人于2006年改進了SIFT算法,,提出了SURF[9](Speeded Up Robust Features)算法,,SURF算法繼承了SIFT算法尺度不變的優(yōu)點,且大大提高了執(zhí)行效率,。ROSTEN E和DRUMMOND T于2006年提出了FAST[10]算法,,該算法通過檢查圖像塊中是否存在角點來判斷特征點,算法簡單,,避免了求解二階導(dǎo)數(shù),,因此運算速度上快于SURF和SIFT算法。
RUBLEE E等人于2011年提出了ORB[11]算法,,該算法采用視覺信息特征點檢測與描述方法,,結(jié)合了FAST算法特征點檢測速度快的優(yōu)勢,加入FAST特征的方向信息,,改進了FAST算法不具備檢測特征點方向性的問題,。特征點描述部分則是利用基于像素點二進制位比較的BRIEF[12]特征描述子,并改進了 BRIEF描述子對圖像噪聲敏感和不具備旋轉(zhuǎn)不變性的缺點,。準(zhǔn)確,、快速的特征提取與匹配算法是實時三維重建的重要前提,,本文在特征匹配中比較了這幾種常用的特征檢測算法。
2.2基于ORB的特征匹配
由于同一場景的RGB圖像和深度圖像數(shù)據(jù)一一對應(yīng)關(guān)系,,通過二維圖像坐標(biāo)與三維坐標(biāo)的映射關(guān)系可以得到場景的三維點云圖像,。相機的廣度不能獲取室內(nèi)場景的全局圖像,所以需要對連續(xù)幀進行融合獲取大場景的圖像,。假設(shè)相機水平旋轉(zhuǎn)獲取的兩幀相鄰場景圖像為K1,、K2,使用ORB特征點匹配得到結(jié)果如圖2所示,。
可以看出兩幀圖像的特征匹配存在誤匹配特征點,,對匹配特征點進行篩選可以提高匹配的準(zhǔn)確性和效率。由于相機是水平旋轉(zhuǎn)的,,首先剔除水平距離過大的匹配點,,然后采用RANSAC(隨機采樣一致性)算法[6]剔除誤匹配,進一步提高匹配的準(zhǔn)確性,。通過特征匹配得到兩幅圖像的特征點均為800個,,匹配特征點為788個,篩選后得到的匹配個數(shù)為72個,,結(jié)果如圖3,。
本文實驗環(huán)境為Liunx平臺下基于Opencv采用C++語言實現(xiàn),,運行硬件環(huán)境為Intel Pentium 3.0 GHz CPU,,運行內(nèi)存4 GB。
SIFT,、SURF,、FAST、ORB 4種角點檢測算法在特征提取和幀間匹配中的比較結(jié)果如表1,。
2.3點云拼接
相機緩慢移動獲得連續(xù)的圖像幀序列,,要進行圖像的匹配融合首先要知道連續(xù)圖像的運動關(guān)系,設(shè)相機運動如圖4所示,,其旋轉(zhuǎn)矩陣為R,、位移矩陣為T。
提取相鄰幀K1,、K2間的特征點匹配對,,描述為K1={p1,p2,…,pN},K2={q1,q2,…,qN},,其中p,、q都是三維坐標(biāo)的點,于是有:
i,pi=Rqi+T+Ni(6)
其中Ni代表噪聲,。根據(jù)最優(yōu)化理論,,求解旋轉(zhuǎn)矩陣R和平移矩陣T,,需要滿足下式最小:
通過求解最小誤差可求得R和T,,采用經(jīng)典的ICP[7]算法求解,。該算法是一種非線性迭代方法,通過不斷迭代最近的匹配點求解變換矩陣,,實現(xiàn)局部點云到整體點云的融合,。
3基于ICP算法的三維重建框架
3.1算法框架
實驗采用華碩公司的Xtion深度相機緩慢轉(zhuǎn)動獲取連續(xù)的數(shù)據(jù)幀,先將起始幀圖像集合(RGB圖像和深度圖像)轉(zhuǎn)換成點云,,實現(xiàn)局部圖像的二維到三維的轉(zhuǎn)換,,當(dāng)相機采集到下一幀圖像集合時,通過提取兩幀圖像的特征進行匹配,,并計算相機的平移和旋轉(zhuǎn)向量進行點云融合,。通過相機移動形成完整的三維模型。算法流程如圖5所示,。
主要步驟有:
?。?)相機標(biāo)定,獲取RGB圖像和深度圖像,;
?。?)對彩色圖像進行特征提取,結(jié)合特征點的深度信息實現(xiàn)2D到3D的轉(zhuǎn)換,,生成局部點云圖,;
(3)相機跟蹤,,將當(dāng)前幀3D 點云和由現(xiàn)有模型生成的預(yù)測的3D 點云進行ICP 匹配,,計算得到當(dāng)前幀相機的位姿;
?。?)點云融合,,根據(jù)所計算出的當(dāng)前相機位姿,將當(dāng)前幀的3D 點云融合到現(xiàn)有模型中,。
3.2相機標(biāo)定
相機標(biāo)定的目的是建立有效的成像模型,,并確定相機內(nèi)外部屬性參數(shù),以便建立空間與平面像素點之間的對應(yīng)關(guān)系,。相機是物體空間(三維空間)到2D圖像之間的一種映射,,而這種映射由相機成像的幾何模型決定,幾何模型的參數(shù)就是相機的參數(shù),,由這些參數(shù)可以推導(dǎo)三維空間坐標(biāo)與二維圖像坐標(biāo)之間的變換關(guān)系,。
實驗使用張正友棋盤標(biāo)定算法[13],通過MATLAB工具箱(Camera Calibration Toolbox)中提供的方法進行相機標(biāo)定,。使用A4紙自制7×9方格標(biāo)定模板,,正方形小方格邊長為27.8 mm,,選取相機不同位姿拍攝的20幅標(biāo)定模板圖像對相機進行標(biāo)定。
通過華碩Xtion深度相機獲取同一場景的RGB圖像和中值濾波后的深度圖像如圖6所示,,圖(a)為RGB圖像,,圖(b)為深度圖像。
3.3實驗結(jié)果
華碩(Xtion pro live)深度相機的深度有效距離約0.2~5 m,,彩色圖像和深度圖像的分辨率都為640×480,。由于相機的廣度有限不能獲取室內(nèi)場景的全局圖像,需要對獲取的連續(xù)幀進行點云融合來獲取大場景的圖像,。實驗通過手持Xtion相機掃描室內(nèi)場景,,獲取連續(xù)的數(shù)據(jù)幀,實現(xiàn)室內(nèi)場景的實時三維重建,,相機移動軌跡如圖7所示,。
相機在室內(nèi)移動采集數(shù)據(jù)幀,相鄰幀之間可進行特征匹配,,計算出相機運動的R和T矩陣,,結(jié)合特征點的深度信息得到三維匹配關(guān)系, 基于ICP算法迭代相鄰點云圖像,,不斷融合新信息形成由局部三維點云場景到整個室內(nèi)場景的三維重建,。如圖8所示,圖(a)為局部三維場景點云圖,,圖(b)為整體三維場景點云圖,。
4結(jié)論
本文實現(xiàn)了基于RGB-D相機的室內(nèi)場景三維重建方法,通過華碩(Xtion pro live)深度相機在室內(nèi)環(huán)境中能夠得到準(zhǔn)確,、稠密的三維模型,,在特征提取上采用了ORB算法,,特征匹配和點云拼接采用RANSAC和ICP算法,。該方法在室內(nèi)靜態(tài)環(huán)境中有很強的實時性、準(zhǔn)確性和魯棒性,,且大大提高了三維重建的效率,。隨著深度相機的價格不斷下降,尤其是室內(nèi)機器人自主導(dǎo)航的研究和發(fā)展,,基于RGB-D的三維重建系統(tǒng)將會對人們的日常生活產(chǎn)生巨大的影響,。
參考文獻
[1] THOMAS D, SUGIMOTO A. A flexible scene representation for 3D reconstruction using an RGBD camera[C]. IEEE International Conference on Computer Vision, IEEE Computer Society, 2013:2800-2807.
?。?] HARTLEY R I. Estimation of relative camera positions for uncalibrated cameras[C]. European Conference on Computer Vision, SpringerVerlag, 1992:579-587.
?。?] FISCHLER M A, BOLLES R C. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography[M]. Readings in Computer Vision: Issues, Problems, Principles, and Paradigms. Morgan Kaufmann Publishers Inc. 1987:726-740.
[4] LEE K R, NGUYEN T. Realistic surface geometry reconstruction using a handheld RGBD camera[J]. Machine Vision & Applications, 2016,27(3):377-385.
?。?] KERL C, STURM J, CREMERS D. Dense visual SLAM for RGBD cameras[C]. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2013:2100-2106.
?。?] SCHNABEL R, WAHL R, KLEIN R. Efficient RANSAC for pointcloud shape detection[J]. Computer Graphics Forum, 2007, 26(2):214-226.
?。?] BESL P J, MCKAY N D. Method for registration of 3D shapes[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1992, 14(3):239-256.
[8] LOWE D G. Distinctive image features from scaleinvariant keypoints[J]. International Journal of Computer Vision, 2004, 60(60):91-110.
?。?] BAY H, TUYTELAARS T, GOOL L V. SURF: speeded up robust features[J]. Computer Vision & Image Understanding, 2006, 110(3):404-417.
?。?0] ROSTEN E, DRUMMOND T. Machine learning for highspeed corner detection[C]. European Conference on Computer Vision, SpringerVerlag, 2006:430-443.
[11] RUBLEE E, RABAUD V, KONOLIGE K, et al. ORB: an efficient alternative to SIFT or SURF[C]. In International Conference of Computer Vision(ICCV),2011: 2564-2571.
?。?2] CALONDER′ M, LEPETIT V, STRECHA C, et al. Brief: binary robust independent elementary features[C]. In European Conference on Computer Vision,2010:778-792.
?。?3] Zhang Zhengyou. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2000,22(11):1330-1334.