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