[0065] 步驟VI、對(duì)下一個(gè)像素點(diǎn)pi+1,執(zhí)行步驟I到步驟V,直到彩色紋理點(diǎn)圖遍歷結(jié)束。
[0066]自適應(yīng)鄰域顏色插值方法最后得到的結(jié)果是一張完整的建模物體表面彩色紋理 圖片。
[0067] 步驟六、計(jì)算機(jī)軟件程序?qū)?jīng)過(guò)紋理映射后的三維模型,進(jìn)行模型渲染生成二維 圖像。
[0068] 本發(fā)明的優(yōu)點(diǎn)在于:
[0069] (1)本發(fā)明一種實(shí)體三維模型自動(dòng)建模方法,基于的建模系統(tǒng)設(shè)備簡(jiǎn)單,價(jià)格廉 價(jià),主要利用微軟的深度傳感器Kinect來(lái)搭建,具有重要的實(shí)用價(jià)值,Kinect作為主動(dòng)傳 感器,不受環(huán)境可見(jiàn)光譜的干擾。
[0070] (2)本發(fā)明一種實(shí)體三維模型自動(dòng)建模方法,三維建模過(guò)程實(shí)現(xiàn)自動(dòng)化,從放置建 模對(duì)象、啟動(dòng)系統(tǒng)開(kāi)始,全過(guò)程通過(guò)軟件控制,建模的操作步驟簡(jiǎn)單,無(wú)須像其他三維建模 工具一樣在建模過(guò)程中頻繁地進(jìn)行手動(dòng)交互,或者手動(dòng)調(diào)整參數(shù);
[0071] (3)本發(fā)明一種實(shí)體三維模型自動(dòng)建模方法,利用微軟Kinect Fusion提供的函 數(shù)接口實(shí)現(xiàn)實(shí)時(shí)自動(dòng)的點(diǎn)云配準(zhǔn),大大縮短建模時(shí)間,最終所得模型的精度可以滿足一般 需求;
[0072] (4)本發(fā)明一種實(shí)體三維模型自動(dòng)建模方法,經(jīng)過(guò)基于彩色信息的紋理映射和模 型渲染,表面重建后的物體三維模型在真實(shí)感上得到增強(qiáng)。
【附圖說(shuō)明】
[0073] 圖1是本發(fā)明一種實(shí)體三維模型自動(dòng)建模方法的流程圖;
[0074] 圖2是本發(fā)明一種實(shí)體三維模型自動(dòng)建模方法中點(diǎn)云預(yù)處理的流程圖;
[0075] 圖3(a)是本發(fā)明沒(méi)有放置建模物體時(shí)的轉(zhuǎn)臺(tái)點(diǎn)云效果圖;
[0076] 圖3(b)是本發(fā)明物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云效果圖;
[0077] 圖4 (a)是采用RANSAC方法處理后的物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云效果圖;
[0078] 圖4(b)是濾除轉(zhuǎn)臺(tái)底座點(diǎn)云后得到的轉(zhuǎn)臺(tái)旋轉(zhuǎn)平臺(tái)部分的點(diǎn)云效果圖;
[0079] 圖5是物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云與轉(zhuǎn)臺(tái)點(diǎn)云的特征點(diǎn)云進(jìn)行配準(zhǔn)之后的點(diǎn)云效果 圖;
[0080] 圖6 (a)是經(jīng)過(guò)RANSAC方法處理后的物體混合點(diǎn)云效果圖;
[0081] 圖6 (b)是RANSAC方法提取出的轉(zhuǎn)臺(tái)旋轉(zhuǎn)平臺(tái)點(diǎn)云效果圖;
[0082] 圖6(c)是歐式距離聚類方法處理物體點(diǎn)云后得到的沒(méi)有底部的物體點(diǎn)云效果 圖;
[0083] 圖7是帶有底面點(diǎn)的建模物體的表面點(diǎn)云效果圖;
[0084] 圖8 (a)是水杯經(jīng)過(guò)Poisson表面重建的效果圖;
[0085] 圖8(b)是水杯經(jīng)過(guò)表面重建后的三角形網(wǎng)格效果圖;
[0086] 圖8(c)是水杯的三角形網(wǎng)格效果局部放大圖;
[0087] 圖9(a)是紙盒模型簡(jiǎn)化前的效果對(duì)比圖;
[0088] 圖9(b)是紙盒模型簡(jiǎn)化后的效果對(duì)比圖;
[0089] 圖10是投影過(guò)程的示意圖;
[0090] 圖11是本發(fā)明一種實(shí)體三維模型自動(dòng)建模方法中投影的流程圖;
[0091] 圖12是投影方法形成的彩色紋理點(diǎn)圖;
[0092] 圖13是顏色插值得到的紙盒的紋理圖片;
[0093] 圖14是本發(fā)明一種實(shí)體三維模型自動(dòng)建模方法中鄰域顏色插值的流程圖;
[0094] 圖15是自適應(yīng)鄰域檢索發(fā)生跨越的示意圖;
[0095] 圖16是自適應(yīng)鄰域顏色插值方法形成的紙盒的紋理圖片;
[0096] 圖17(a)是紋理映射之前的紙盒三維模型示意圖;
[0097] 圖17(b)是紋理映射之后的紙盒三維模型示意圖;
[0098] 圖18是三個(gè)典型物體的重建效果圖;
[0099] 圖19(a)是未簡(jiǎn)化的物體模型在OGRE中的顯示效果圖;
[0100] 圖19(b)是簡(jiǎn)化后的物體模型在OGRE中的顯示效果圖。
【具體實(shí)施方式】
[0101] 下面將結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
[0102] -種實(shí)體三維模型自動(dòng)建模方法,基于Kinect傳感器搭建實(shí)體三維模型建模系 統(tǒng),該系統(tǒng)包括Kinect傳感器、轉(zhuǎn)臺(tái)和計(jì)算機(jī)。
[0103] 計(jì)算機(jī)具有獨(dú)立顯卡配置,通過(guò)RS232串口連接步進(jìn)電機(jī),驅(qū)動(dòng)轉(zhuǎn)臺(tái)做勻速360° 旋轉(zhuǎn)運(yùn)動(dòng)。同時(shí)通過(guò)信號(hào)線與Kinect傳感器連接,控制Kinect傳感器的采集過(guò)程。
[0104] 轉(zhuǎn)臺(tái)選用單軸變速轉(zhuǎn)臺(tái)系統(tǒng),包括旋轉(zhuǎn)平臺(tái)和底座;轉(zhuǎn)臺(tái)由步進(jìn)電機(jī)驅(qū)動(dòng),步進(jìn)電 機(jī)控制轉(zhuǎn)臺(tái)的旋轉(zhuǎn)速度和圈數(shù),實(shí)現(xiàn)平臺(tái)上物體的旋轉(zhuǎn)運(yùn)動(dòng)。
[0105] Kinect傳感器則通過(guò)USB 2. 0接口與計(jì)算機(jī)進(jìn)行通訊,Kinect傳感器是微軟公 司開(kāi)發(fā)的Xbox-360游戲主機(jī)的周邊設(shè)備,由彩色相機(jī)、紅外發(fā)射裝置和紅外深度傳感器構(gòu) 成,Kinect傳感器定時(shí)地采集不同視角下物體的表面信息;表面信息包括深度信息和彩色 信息,深度信息為物體表面點(diǎn)相對(duì)Kinect傳感器坐標(biāo)系的距離,彩色信息為物體表面點(diǎn)的 顏色或紋理等。
[0106] -種實(shí)體三維模型自動(dòng)建模方法,分為實(shí)時(shí)處理和離線處理兩部分。
[0107] 實(shí)時(shí)處理獲取建模物體的點(diǎn)云數(shù)據(jù),實(shí)時(shí)配準(zhǔn)生成物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云后,進(jìn) 行離線處理,實(shí)現(xiàn)自動(dòng)化的處理,處理過(guò)程中無(wú)需進(jìn)行參數(shù)調(diào)整等手動(dòng)交互過(guò)程。
[0108] 實(shí)時(shí)處理為:放置物體后啟動(dòng)轉(zhuǎn)臺(tái)和Kinect傳感器,Kinect傳感器以固定的時(shí)間 間隔采集物體的表面彩色信息和深度信息,同時(shí),計(jì)算機(jī)中將每一幀的深度信息轉(zhuǎn)化成點(diǎn) 云數(shù)據(jù),并做預(yù)處理;采樣時(shí)刻h獲得的點(diǎn)云數(shù)據(jù)將會(huì)與前一時(shí)刻t η已經(jīng)配準(zhǔn)的點(diǎn)云進(jìn) 行實(shí)時(shí)的匹配;實(shí)現(xiàn)對(duì)相鄰幀的點(diǎn)云進(jìn)行實(shí)時(shí)配準(zhǔn)。當(dāng)轉(zhuǎn)臺(tái)旋轉(zhuǎn)一周后,實(shí)時(shí)處理結(jié)束,得 到物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云,然后對(duì)物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云做離線處理。
[0109] 離線處理包括:點(diǎn)云處理、表面重建、模型簡(jiǎn)化以及紋理映射四個(gè)部分。
[0110] 點(diǎn)云處理對(duì)實(shí)時(shí)處理獲得的物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云進(jìn)行過(guò)濾,并將其與未放置建 模物體前采集到的轉(zhuǎn)臺(tái)點(diǎn)云配準(zhǔn),得到帶有底面點(diǎn)的全封閉的物體表面點(diǎn)云。
[0111] 表面重建,連接物體表面點(diǎn)云上的點(diǎn),使物體點(diǎn)云上的點(diǎn)與點(diǎn)之間形成三角形網(wǎng) 格,生成物體表面點(diǎn)云的三維網(wǎng)格模型。
[0112] 模型簡(jiǎn)化,根據(jù)仿真系統(tǒng)的具體要求,采用邊折疊模型簡(jiǎn)化方法,按照比例刪去三 維網(wǎng)格模型上的點(diǎn)和邊,建立點(diǎn)數(shù)較少、三角形面片數(shù)較少的三維模型。
[0113] 紋理映射包括紋理圖片生成和紋理貼圖,經(jīng)過(guò)映射后創(chuàng)建該物體的mesh文件,仿 真系統(tǒng)直接調(diào)用mesh文件,進(jìn)行模型渲染,在OGRE環(huán)境中顯示、瀏覽。
[0114] 具體步驟,如圖1所示:
[0115] 步驟一、利用Kinect傳感器采集轉(zhuǎn)臺(tái)點(diǎn)云和建模物體點(diǎn)云,并通過(guò)實(shí)時(shí)配準(zhǔn)獲得 物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云;
[0116] 點(diǎn)云是指,通過(guò)測(cè)量?jī)x器得到的建模物體外觀表面的點(diǎn)數(shù)據(jù)集合,其中通常記錄 了空間點(diǎn)集的三維坐標(biāo)信息、表面法向量、RGB值或者灰度值。
[0117] 步驟101、啟動(dòng)Kinect傳感器,采集沒(méi)有放置建模物體時(shí)的轉(zhuǎn)臺(tái)點(diǎn)云。
[0118] 如圖3(a)所示,沒(méi)有放置建模物體時(shí)的轉(zhuǎn)臺(tái)點(diǎn)云。
[0119] 步驟102、放置建模物體后,啟動(dòng)轉(zhuǎn)臺(tái),Kinect傳感器采集建模物體的表面信息。
[0120] 計(jì)算機(jī)驅(qū)動(dòng)轉(zhuǎn)臺(tái)做勾速360°旋轉(zhuǎn)運(yùn)動(dòng),同時(shí),Kinect傳感器定時(shí)地采集物體表 面信息的彩色信息和深度信息。
[0121] 步驟103、根據(jù)Kinect傳感器采集到的表面信息生成建模物體點(diǎn)云,從而獲得不 同時(shí)刻所采集到的不同視角下的建模物體點(diǎn)云。
[0122] Kinect傳感器采集到的物體表面信息輸入到計(jì)算機(jī)的軟件程序中,生成建模物體 的點(diǎn)云。該點(diǎn)云記錄的是空間點(diǎn)集的三維坐標(biāo)和三原色光模式RGB值。
[0123] 步驟104、對(duì)不同時(shí)刻所采集到的不同視角下的建模物體點(diǎn)云進(jìn)行實(shí)時(shí)配準(zhǔn),得到 物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云。
[0124] 點(diǎn)云配準(zhǔn),是將在不同時(shí)刻獲取的不同視角下同一物體的點(diǎn)云統(tǒng)一到同一個(gè)三維 坐標(biāo)系下的過(guò)程。
[0125] 在步驟103中,Kinect傳感器在每個(gè)采樣時(shí)刻只能得到一個(gè)視角下的物體表面信 息,采集到物體的一部分表面信息,不同視角下的信息只體現(xiàn)出物體的部分特征。當(dāng)轉(zhuǎn)臺(tái)旋 轉(zhuǎn)一周后,不同視角下的物體表面信息經(jīng)過(guò)點(diǎn)云配準(zhǔn)整合成一個(gè)完整的模型來(lái)表示建模物 體的外形特征。
[0126] 利用微軟開(kāi)發(fā)的實(shí)時(shí)場(chǎng)景三維重建項(xiàng)目Kinect Fusion對(duì)不同時(shí)刻采集的點(diǎn)云進(jìn) 行實(shí)時(shí)配準(zhǔn)。Kinect Fusion Explorer程序利用高性能GPU處理Kinect傳感器采集的數(shù) 據(jù),在轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)過(guò)程中實(shí)時(shí)自動(dòng)地配準(zhǔn)點(diǎn)云,重建出包含三維建模場(chǎng)景全表面信息的點(diǎn)云, 即物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云,如圖3(b)所示。
[0127] 步驟二、對(duì)物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云做點(diǎn)云預(yù)處理,得到帶有底面點(diǎn)的建模物體的 表面點(diǎn)云。
[0128] 物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云中包含大量噪聲點(diǎn),需過(guò)濾噪聲和聚類分割。采用RANSAC 方法、歐氏距離聚類分割方法、點(diǎn)云FPFH(快速點(diǎn)特征直方圖,F(xiàn)ast Point Feature Histograms)三維特征估算方法以及點(diǎn)云配準(zhǔn)方法等系列處理,過(guò)濾物體和轉(zhuǎn)臺(tái)混合點(diǎn)云 中的屬于轉(zhuǎn)臺(tái)旋轉(zhuǎn)平臺(tái)部分的點(diǎn)云以及其他噪點(diǎn),填充物體底部點(diǎn)云空洞,得到全封閉的 帶有底面點(diǎn)的物體表面點(diǎn)云。
[0129] 具體步驟,如圖2所示。
[0130] 步驟201、采用RANSAC平面提取方法,提取并刪除物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云中包含 的轉(zhuǎn)臺(tái)的底座點(diǎn)云;
[0131] 物體和轉(zhuǎn)臺(tái)的混合點(diǎn)云中包括了建模物體的點(diǎn)云,轉(zhuǎn)臺(tái)底座點(diǎn)云和轉(zhuǎn)臺(tái)旋轉(zhuǎn)平臺(tái) 部分的點(diǎn)云,米用RANSAC平面提取方法,提取出轉(zhuǎn)臺(tái)底座點(diǎn)云,并將該部分點(diǎn)云剔除,從而 獲得物體和轉(zhuǎn)臺(tái)旋轉(zhuǎn)平臺(tái)的混合點(diǎn)云,如圖4(a)所示。
[0132] 步驟202、采用歐氏距離聚類分割方法,濾除步驟一得到的轉(zhuǎn)臺(tái)點(diǎn)云中所包含的轉(zhuǎn) 臺(tái)底座點(diǎn)云;
[0133] 步驟一中沒(méi)有放置建模物體的轉(zhuǎn)臺(tái)點(diǎn)云中包括了轉(zhuǎn)臺(tái)底座的點(diǎn)云和轉(zhuǎn)臺(tái)旋轉(zhuǎn)平 臺(tái)點(diǎn)云。采用歐氏距離聚類分割方法,濾除轉(zhuǎn)臺(tái)底座點(diǎn)云,效果如圖4(b)所示,得到聚類后 的轉(zhuǎn)臺(tái)旋轉(zhuǎn)平臺(tái)部分的點(diǎn)云。
[0134] 歐氏距離聚類分割