• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于RGB—D相機(jī)的農(nóng)機(jī)三維點(diǎn)云拼接方法

      2016-12-21 13:06譚雅斯張建敏
      電腦知識(shí)與技術(shù) 2016年28期
      關(guān)鍵詞:對(duì)應(yīng)點(diǎn)角點(diǎn)棋盤

      譚雅斯+張建敏

      摘要: RGB-D相機(jī),例如微軟的Kinect是一種比較新的傳感器系統(tǒng),它可以在得到RGB圖像的同時(shí)得到每個(gè)像素的深度信息。這篇文章利用RGB-D相機(jī)獲得的三維點(diǎn)云,提出一種基于投影圖像獲取匹配點(diǎn)加速ICP迭代的點(diǎn)云拼接的方法,解決由于計(jì)算機(jī)顯存的限制,普通PC機(jī)上不能一次性獲得較大模型的情況。并實(shí)驗(yàn)證明了這種拼接算法的可能性。這些模型可以運(yùn)用到農(nóng)機(jī)的真實(shí)感三維交互,虛擬現(xiàn)實(shí),增強(qiáng)現(xiàn)實(shí)三維模型逆向工程等多個(gè)領(lǐng)域。

      關(guān)鍵詞:RGB-D傳感器;相機(jī)標(biāo)定;KinectFusion;SURF;RANSAC

      中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)28-0256-04

      Abstract: RGB-D cameras are novel sensing systems that capture RGB images along with per-pixel depth information. In this paper we use RGB-D cameras to acquire 3D Point cloud model and propose a projected image based matching point searching method to accelerate ICP iteration in point clouds registration, and solved the GPU memory limitations which unable to get a large model point cloud model in one-time on an ordinary PC. The experimental results proved the possibility of this algorithm. These models can be applied to the agricultural realistic 3D model interaction, virtual reality, augmented reality and 3D model reverse engineering.

      Key words: RGB-D sensor; Camera Calibration; KinectFusion; SURF; RANSAC; ICP

      1 引言

      1.1 RGB-D相機(jī)

      沉浸式虛擬現(xiàn)實(shí)體驗(yàn)很重要的一個(gè)任務(wù)就是建立豐富真實(shí)感的三維模型。RGB-D相機(jī)就是一種傳感器系統(tǒng),它可以在得到RGB圖像的同時(shí)得到每個(gè)像素的深度信息。我們采用的kinect2.0[1]主要采用飛行時(shí)間[2.3]法獲得大量像素的深度值估計(jì)。近些年來廣泛被計(jì)算機(jī)視覺團(tuán)隊(duì)用于研究使用,實(shí)際上RGB-D相機(jī)系統(tǒng)主要的發(fā)展動(dòng)力與應(yīng)用在于電腦游戲與家庭娛樂設(shè)備。

      圖1,2,3顯示了RGB-D相機(jī)的采樣圖,它在三維重建里有幾個(gè)明顯的缺陷:深度圖距離有限制,(一般大于0.5m小于5m),估計(jì)的深度圖噪聲明顯,相比專業(yè)三維掃描儀的視角比較小(小于60°)。這篇文章中我們將介紹基于RGB-D相機(jī)獲得的三維點(diǎn)云,提出一種彩色點(diǎn)云拼接的方法。

      1.2點(diǎn)云拼接

      拼接方法中最廣泛應(yīng)用的是由Paul.J.等人提出的迭代最近點(diǎn)(Iterative Closest Point-ICP)算法[4],由于它需要于一個(gè)初始位置,步驟將拼接分為粗拼接和精確拼接。對(duì)于比較大規(guī)模的點(diǎn)云,粗拼接一般用三點(diǎn)法或多點(diǎn)法獲得點(diǎn)云的初始位置,精確拼接則使用最短距離匹配對(duì)應(yīng)點(diǎn)的ICP算法,迭代直至誤差范圍之內(nèi)。實(shí)踐證明該算法一定程度上是解決拼接問題的有效方法,它通過迭代點(diǎn)的距離和變換使兩片點(diǎn)云之間的距離均方誤差最小。該算法的關(guān)鍵技術(shù)是快速查找最近點(diǎn),較好的初始位置定位和求解變換。對(duì)點(diǎn)云建立KD樹的話,可以加快對(duì)應(yīng)點(diǎn)對(duì)的查找,人工判斷若干個(gè)點(diǎn)也可以使得點(diǎn)云具有較好的初始位置?,F(xiàn)在的配準(zhǔn)算法大多都是基于此基礎(chǔ)上進(jìn)行改進(jìn)的。ICP算法研究改進(jìn)的主要目標(biāo)是解決優(yōu)化兩個(gè)問題:良好的初始值和在迭代過程的精確的對(duì)應(yīng)關(guān)系。確立正確對(duì)應(yīng)點(diǎn),剔除噪聲點(diǎn)對(duì)也是改進(jìn)的關(guān)鍵。此外,如何提高對(duì)應(yīng)點(diǎn)對(duì)的搜索效率也很重要。

      2 算法基礎(chǔ)

      實(shí)時(shí)的三維重建算法是近幾年虛擬現(xiàn)實(shí)領(lǐng)域的研究熱點(diǎn),在眾多算法中, NewCombe[5]和Izadi[6]提出的KinectFusion實(shí)現(xiàn)實(shí)時(shí)重建,提出利用截?cái)喾?hào)距離函數(shù)算法(TSDF)[7]來表達(dá)三維場(chǎng)景,其基本原理是首先利用傳感器采集得到的深度圖,彩色圖和深度相機(jī)標(biāo)定的相機(jī)參數(shù),用ICP[2]快速投影算法配準(zhǔn)。KinectFusion算法有如下問題,(1)設(shè)定的三維網(wǎng)格的大小限制內(nèi)存,從而影響場(chǎng)景的尺度。(2)大量的計(jì)算依賴于GPU(Graphic Processing Unit)并行計(jì)算。

      本算法主要分成四個(gè)階段,第一階段:利用Kinecfusion獲取有重疊區(qū)域的兩次單幀三維點(diǎn)云,分別以此兩幀為起始幀移動(dòng)kinect獲得更大模型,共計(jì)四個(gè)模型。第二階段:利用相機(jī)標(biāo)定確定相機(jī)內(nèi)參矩陣,使用內(nèi)參矩陣投影兩次單幀三維點(diǎn)云成RGB圖像。第三階段:對(duì)二維圖像預(yù)處理,利用surf算法快速獲得兩次投影的二維圖像對(duì)應(yīng)點(diǎn),并利用改進(jìn)的RANSAC剔除錯(cuò)配。第四階段:利用二維圖像的對(duì)應(yīng)信息返回投影之前三維點(diǎn)的對(duì)應(yīng)信息,給ICP算法一個(gè)很好的初始值迭代求解最優(yōu)變換矩陣應(yīng)用到兩個(gè)大模型,從而得到拼接以后的模型。

      2.1相機(jī)標(biāo)定

      為了標(biāo)定相機(jī),需要拍攝三維場(chǎng)景中坐標(biāo)已知的一組。然后,必須確定這些點(diǎn)在圖像中的位置。顯然,為了得到精確的結(jié)果,我們需要觀察多個(gè)點(diǎn)。事實(shí)上為了求解方程需要至少五對(duì)對(duì)應(yīng)點(diǎn)。來求解以下方程的內(nèi)參與外參數(shù):

      一種方法是拍攝由許多已知點(diǎn)組成的場(chǎng)景。為了方便也可以從不同角度多次拍攝一組點(diǎn)。Opencv使用棋盤圖來生成一組三維點(diǎn),每個(gè)點(diǎn)都位于方塊的角點(diǎn)處。由于這是平面圖案,我們可以假設(shè)棋盤位于Z=0的平面上,而X軸和Y軸與網(wǎng)絡(luò)對(duì)齊。標(biāo)定的過程中,我們從不同視角展示棋盤圖案。Opencv提供自動(dòng)檢測(cè)棋盤中角點(diǎn)的函數(shù)。需要提供一幅圖像以及棋盤的尺寸(水平方向及垂直方向內(nèi)部角點(diǎn)的個(gè)數(shù))該函數(shù)返回棋盤角點(diǎn)在圖像中的位置。同時(shí)有用于在棋盤圖像上繪制檢測(cè)到角點(diǎn)的函數(shù),通過直線依次將他們相連,連接角點(diǎn)的直線展示了角點(diǎn)在向量中的順序。為了標(biāo)定相機(jī),我們需要同屬輸入圖像點(diǎn)以及對(duì)應(yīng)的3D點(diǎn)。標(biāo)定過程封裝在Camera Calibrator中。如前所述,只要我們將坐標(biāo)系放置于棋盤上,那么角點(diǎn)的3D坐標(biāo)可以輕易確定。利用這些對(duì)應(yīng)關(guān)系可計(jì)算標(biāo)定參數(shù)。10-20幅棋盤圖像便足夠,但是它們必須是不同距離不同視角進(jìn)行拍攝。由于透鏡的影響實(shí)際上應(yīng)考慮相機(jī)畸變參數(shù),Opencv考慮到這種情況,也提供了校正畸變的函數(shù)。

      2.2投影與特征匹配

      我們利用獲得的參數(shù)與公式(2)得到二維的投影坐標(biāo)(圖4),和每個(gè)像素的RGB值,農(nóng)機(jī)三維模型投影成的二維圖片如(圖5)所示。為了提高圖像的質(zhì)量,增加正確匹配特征點(diǎn)個(gè)數(shù),我們使用了Telea在2004年提出的基于快速行進(jìn)的修復(fù)算法[7]對(duì)圖像進(jìn)行修補(bǔ)。并且使用surf[8]算法尋找圖像特征點(diǎn)(圖6),然后是使用RANSAC[9]剔除錯(cuò)配。

      成比例調(diào)整fx,fy可沿Z軸調(diào)整移動(dòng)投影面。但并不是投影越大越好,因?yàn)樽x入的是離散點(diǎn)云,點(diǎn)云總數(shù)確定,投影圖越大獲得的圖越稀疏,并不利于后面使用surf算法尋找圖像特征點(diǎn)。我們測(cè)試了垂直與光軸的幾個(gè)平行投影面的投影圖匹配效果如圖7所示。從左至右fx,fy依次減小。錯(cuò)誤匹配是因?yàn)閒x,fy太大造成修補(bǔ)算法插值過多,影響到圖片精度,隨著匹配點(diǎn)的減少正確率越來越高,但匹配點(diǎn)過少也不利于ICP迭代求解旋轉(zhuǎn)矩陣。通過優(yōu)先尋找周圍四個(gè)像素,剔除空洞點(diǎn)的方法可以解決投影到二維圖像是亞像素級(jí)的問題。

      2.3獲得良好ICP初始位置迭代求解

      基于Paul.J.的ICP點(diǎn)云拼接改進(jìn)算法是假設(shè)有兩片點(diǎn)云和P和Q具有相似重疊部分,通過之前步驟二維像素與三維點(diǎn)具有對(duì)應(yīng)關(guān)系,所以P中的特征點(diǎn)可以直接對(duì)應(yīng)到Q中的則m=n。對(duì)于P=RQ+T,優(yōu)化問題即是求解非線性最小二乘問題:

      步驟如下:

      1) 初始化旋轉(zhuǎn)矩陣 為單位陣,平移矩陣 (為零矩陣。

      2) 利用公式(4)(5)求出點(diǎn)集P、Q的質(zhì)心。

      3) 根據(jù)公式(6)(7)求出點(diǎn)集P、Q相對(duì)于各自質(zhì)心的平移量,得到新點(diǎn)集、

      4) 利用公式(8)求出兩個(gè)新點(diǎn)集的3x3協(xié)方差矩陣H.

      5) 對(duì)H矩陣進(jìn)行奇異值分解,其中矩陣D是一個(gè)對(duì)角矩陣,

      6) 定義矩陣 如果rank(H)>1,則可以得到第j次迭代時(shí),平移矩陣

      7) 由于對(duì)應(yīng)點(diǎn)的選取基于二維圖像對(duì)應(yīng)點(diǎn)。誤差很小,因此大大減小的原始ICP迭代次數(shù),很快使得誤差最小,迭代結(jié)束。實(shí)驗(yàn)性拼接結(jié)果如圖8所示.

      8) 性拼接結(jié)果如圖8所示。

      3 結(jié)語

      本文提供了一種彩色點(diǎn)云基于RGB信息投影至二維得以拼接的方法。速度的提高主要是相對(duì)于建立KD樹的方法加速了正確匹配點(diǎn)尋找過程。不過該算法也存在以下缺陷:1)模型必須帶有顏色;2)模型必須完整,否則投影照片大部分空;3)模型相交處紋理豐富,紋理信息的豐富程度主要取決于深度圖與彩色相機(jī)的合并對(duì)齊圖,如果該模型沒有紋理信息或者紋理信息比較單一(純白色的墻面),可能會(huì)影響拼接效果。硬件上深度相機(jī)的精度也影響到了模型的匹配的準(zhǔn)確度。相信從軟硬件上同時(shí)提高,該算法的效果會(huì)更加魯棒。

      參考文獻(xiàn):

      [1] Microsoft.http://www.xbox.com/en-US/kinect,2010.

      [2] Canesta.http://www.canesta.com/.

      [3] Mesa Imaging.http://www.mesa-imaging.ch/.

      [4] P. J. Besl and N. D. McKay. A method for registration of 3D shapes. IEEE Trans. Pattern Anal. Mach. Intell., 14:239–256,F(xiàn)ebruary1992.

      [5] S. Izadi, D. Kim, O. Hilliges, D. Molyneaux, R. A. Newcombe, P. Kohli, S. Shotton, J. Hodges, D. Freeman, A. J. Davison, and A. Fitzgibbon. KinectFusion: Real-time 3D reconstruction and inter action using a moving depth camera. In Symposiumon UserInterface Software and Technology (UIST), 2011.

      [6] R. A. Newcombe et al. KinectFusion: Real-time dense surface mapping and tracking.

      [7] An Image Inpainting Technique Based on the Fast Marching Method.《Journal of Graphics Tools》,2004,9(1):23-34

      [8] H Bay,T Tuytelaars,LV Gool.SURF: Speeded Up Robust Features, Computer Vision & ImageUnderstanding》,2006,110(3):404-417.

      [9] M. Fischler and R. Bolles, Random sample consensus: A paradigm for model fitting with application to image analysis and automated cartography, Comm. Assoc. Comp. Mach.24, 1981:381-395.

      [10] 朱笑笑,曹其新,楊揚(yáng),等. 一種改進(jìn)的KinectFusion三維重構(gòu)算法[J].機(jī)器人,2014(2):129-136.

      猜你喜歡
      對(duì)應(yīng)點(diǎn)角點(diǎn)棋盤
      凸四邊形的若干翻折問題
      三點(diǎn)定形找對(duì)應(yīng)點(diǎn)
      “一定一找”話旋轉(zhuǎn)
      基于邊緣的角點(diǎn)分類和描述算法
      比較大小有訣竅
      基于圓環(huán)模板的改進(jìn)Harris角點(diǎn)檢測(cè)算法
      基于Harris角點(diǎn)和質(zhì)量評(píng)價(jià)的圖像篡改檢測(cè)
      棋盤疑案
      棋盤游樂園
      北票市| 张家川| 无为县| 绥中县| 庆元县| 六盘水市| 年辖:市辖区| 余庆县| 吴堡县| 武定县| 子长县| 阿拉善右旗| 贞丰县| 铜陵市| 博爱县| 营口市| 玉田县| 荆门市| 通江县| 聂拉木县| 万山特区| 泸西县| 永城市| 博兴县| 融水| 皮山县| 正宁县| 信宜市| 秦安县| 南丹县| 丹江口市| 龙游县| 海兴县| 涿鹿县| 乌拉特中旗| 曲沃县| 温宿县| 锦州市| 宜宾市| 平陆县| 岑溪市|