欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用照片或視頻重建三維牙模的方法及使用RGBD圖像重建三維牙模的方法與流程

文檔序號:12127738閱讀:857來源:國知局
使用照片或視頻重建三維牙模的方法及使用RGBD圖像重建三維牙模的方法與流程

本發(fā)明涉及圖像處理領(lǐng)域,具體是一種使用照片或視頻重建三維牙模的方法及使用RGBD圖像重建三維牙模的方法。



背景技術(shù):

目前,隨著計算機人工智能以及機器視覺輔助醫(yī)療診斷設(shè)計的發(fā)展,在口腔正畸,修復等領(lǐng)域。越來越多的需要對患者口腔內(nèi)的牙齒進行數(shù)字化三維取模。以方便醫(yī)生對患者的牙齒進行數(shù)字化正畸,數(shù)字化修復治療,或?qū)Σ±闹委熜ЧM行跟蹤,對特殊病例樣例進行保存。因此,掃描數(shù)字化的三維牙模的需求也隨之提升。傳統(tǒng)的鐳射掃描或其他的掃描方式,價格昂貴,處理周期長;設(shè)備體積巨大,無法攜帶。而隨著計算機視覺中虛擬現(xiàn)實領(lǐng)域的高速發(fā)展?;谑褂谜掌铣扇S技術(shù),使用帶深度信息的相機獲取三維牙模,使得無需特殊掃描設(shè)備便可取得牙齒三維牙模成為可能。醫(yī)生可直接使用手機或者使用RGBD相機拍攝照片或者視頻,上傳到圖像處理服務(wù)器進行處理,處理完成就可以得到病患的三維牙齒模型,顛覆了原有使用鐳射等昂貴方式繁瑣的三維模型制作流程。



技術(shù)實現(xiàn)要素:

本發(fā)明針對背景技術(shù)中存在的問題,公開了使用SFM(structure for motion)處理RGB圖像數(shù)據(jù),SLAM處理(simultaneous localization and mapping)RGBD圖像數(shù)據(jù)來獲取三維牙齒模型的方法。

本發(fā)明公開了第一種使用照片或視頻重建三維牙模的方法,它分為增量的方法和全局的方法,具體包括以下步驟:

第一步,拍攝一組多角度多位置RGB牙齒圖像,并去除產(chǎn)生畸變的圖像;

第二步,

對所有的圖像提取特征并匹配(可以使用SIFT,SURF或FAST算法);

第三步,

針對增量的方法,選擇一對圖像做初始的配對,計算相對位姿,估算初始的三維牙模;

針對全局的方法,估算所有圖像的相機位姿;

第四步,

針對增量的方法:通過增量的方式增加圖像,以補全初始的三維牙模,并全局優(yōu)化;

針對全局的方法,估算三維牙模,并做全局優(yōu)化;

第五步,輸出牙齒的三維牙模,并按照標定還原模型尺寸。

優(yōu)選的,針對增量的方法,第二步具體為:

2.1讀取牙齒圖像,并對所有牙齒圖像進行特征提取,每張牙齒圖像都得到:一組 特征點Keypt,一組描述子Descp以及特征點的顏色信息Keycolor,若特征點少于設(shè)定閾值(優(yōu)選的為50)則排除該牙齒圖像;

2.2對所有牙齒圖像中的Descp進行順次匹配,第n張PicN與第n+1張PicN+1進行匹配;并過濾錯誤匹配的點(優(yōu)選的,錯誤匹配的點是指匹配距離大于最小距離四倍的點,此為經(jīng)驗值,隨拍攝的照片而定);最后保存匹配信息M,M由PicN中與PicN+1匹配上的Keypt的索引配對組成;

2.3根據(jù)匹配信息M選取最多有效匹配點的一對牙齒圖像作為種子圖像對(因為有可能增加圖像,增量的方式選取的種子對一般是相對優(yōu)選的),對于種子圖像對中圖像的特征點Keypt,根據(jù)M中的索引,獲取其匹配特征點坐標組pt1(的Keypt);對于圖像的特征點Keypt,根據(jù)M中的索引,獲取其匹配特征點坐標組pt2(的Keypt);并根據(jù)M中的索引,保存匹配特征點的顏色信息Keycolor;

優(yōu)選的,針對全局的方法,第二步具體為:

2.1讀取牙齒圖像,并對所有牙齒圖像進行特征提??;每牙齒圖像都得到:一組特征點Keypt以及一組描述子Descp和特征點的顏色信息Keycolor,若特征點少于設(shè)定閾值(優(yōu)選的為50)則排除該牙齒圖像;

2.2因為全局的方法不考慮新增圖像,因此對所有圖像中的Descp進行匹配,每一圖像與其他所有的圖像進行匹配,并過濾錯誤匹配的點(優(yōu)選的,錯誤匹配的點是指匹配距離大于最小距離四倍的點,此為經(jīng)驗值,隨拍攝的照片而定),每兩圖像成功匹配構(gòu)成一個圖像對;最后保存匹配點信息M。M由PicN中與PicN+1匹配上的Keypt的索引配對組成;

2.3對于每個圖像對中的圖像PicN的Keypt,根據(jù)M中的索引,獲取其匹配特征點坐標組pt1(pt1∈PicN的Keypt);對于圖像的PicN+1的的Keypt,根據(jù)M中的索引,獲取其匹配特征點坐標組pt2(pt2∈PicN+1的Keypt);并根據(jù)M中的索引,保存匹配特征點的顏色信息Keycolor。

優(yōu)選的,針對增量的方法,第三步具體為:

3.1估算圖像對的相機位姿,先求取圖像對中與的相對變化矩陣,使用opencv庫函數(shù)findEssentialMat函數(shù)計算兩圖像的本征矩陣E,findEssentialMat需要提供關(guān)鍵參數(shù)如下:

1.圖像對匹配點組信息pt1和pt2

2.從相機內(nèi)參矩陣K提取像素焦距fpix和光心坐標Pp(cx,cy)

3.選擇隨機抽樣一致性算法RANSAC作為參數(shù)

然后通過分解本征矩陣E進行SVD奇異值分解,可得到相對變換;使用opencv庫函數(shù)recoverPose反算圖像對的相對變換,也就是計算R和T;recoverPose輸入?yún)?shù)如下:

1.圖像對匹配點組信息pt1和pt2

2.本征矩陣E

3.從相機內(nèi)參矩陣K提取像素焦距fpix和光心坐標Pp(cx,cy)

3.2使用三角測量計算圖像對對應(yīng)點的空間坐標,即圖像對的三維牙模的初始估算;P為空間中一點,x1為空間點P在PicN的投影,x1’為空間點P在PicN+1的投影;通過兩個相機投影矩陣Camproj1和Camproj2,以及匹配點組pt1(x1∈pt1)和pt2(x1’∈pt2),使用opencv庫函數(shù)triangulatePoints計算三維結(jié)構(gòu),得到三維結(jié)構(gòu)Struc;在這個計算過程中,匹配點的深度信息得以獲取。其中Camproj1與Camproj2均為相機投影矩陣,由相機內(nèi)參矩陣K乘以相機外參矩陣得到,相機外參矩陣即圖像對中各自的旋轉(zhuǎn)矩陣R與平移向量T組合得到;triangulatePoints使用的關(guān)鍵參數(shù)如下:

1.投影矩陣Camproj1和Camproj2

2.匹配點組pt1和pt2

優(yōu)選的,針對全局的方法,第三步具體為:

3.1估算所有圖像對的相機位姿:首先求取所有圖像對中PicN與PicN+1的相對變換矩陣,使用opencv庫函數(shù)findEssentialMat計算兩張圖像的本征矩陣E,findEssentialMat需要提供參數(shù)如下

1.圖像對匹配點組信息pt1和pt2,

2.從相機內(nèi)參矩陣K提取像素焦距fpix和光心坐標Pp(cx,cy)

3.選擇隨機抽樣一致性算法RANSAC作為參數(shù)

然后通過分解本征矩陣E進行SVD奇異值分解,可得到相對變換;將本征矩陣帶入opencv庫函數(shù)recoverPose反算圖像對的相對變換,也就是計算Rij和Tij;recoverPose輸入?yún)?shù)如下:

1.圖像對匹配點組信息pt1和pt2

2.本征矩陣E

3.從相機內(nèi)參矩陣K提取像素焦距fpix和光心坐標Pp(cx,cy)

3.2根據(jù)所有圖像,估算幾何結(jié)構(gòu):全局的方式和增量的方式的不同在于,對所有幀計算相機位姿。對于相機i,其位置信息(Ri,Ti),對于相機j,其位置信息(Rj,Tj);二者之間的絕對旋轉(zhuǎn)可以通過對以下公式求解求得:

Rj=RijRi

其中:

Rij為圖PicN與PicN+1的相對旋轉(zhuǎn),已由上一步獲?。?/p>

Ri與Rj為圖PicN與PicN+1的絕對旋轉(zhuǎn);

計算方法:首先構(gòu)造位姿圖,將兩圖像間有相對位姿的圖像加入圖,如圖像PicN為節(jié)點1,節(jié)點1的子節(jié)點PicN+1為節(jié)點2,節(jié)點2的子節(jié)點PicN+2為節(jié)點3;將PicN的絕對旋轉(zhuǎn)設(shè)為單位矩陣,使用以上公式求得節(jié)點2的絕對旋轉(zhuǎn);當PicN+1的絕對旋轉(zhuǎn)被確定下來后,隨之繼續(xù)計算所有剩余的圖中的絕對旋轉(zhuǎn);通過3.1步,相對旋轉(zhuǎn)Rij和平移向量Tij已知,可根據(jù)下式求解絕對平移Ti

||Tj-RijTiijTij||=0

其中λij為比例因子,λij設(shè)定大于等于1,令T1為{0,0,0},將T1使代入上式,可使用Ceres Solver進行非線性最小二乘法進行估算。

優(yōu)選的,針對增量的方法,第四步具體為:

4.1為了提高三維牙模及估算出的相機位姿的精度,減少重新投影的誤差,使用BundleAdjustment做全局優(yōu)化;當牙模數(shù)據(jù)的三維結(jié)構(gòu)不夠完整時,增加新的牙齒圖像;上一步通過對圖像對中PicN與PicN+1進行三維重建后,獲取了三維結(jié)構(gòu)Struc;新增圖像為圖像PicN+2,使用opencv庫中的solvePnPRansac的函數(shù),求得PicN+2的相對旋轉(zhuǎn)矩陣R與平移向量T;繼續(xù)使用三角測量計算并將新的未添加進三維牙模結(jié)構(gòu)的點增加到三維牙模Struc中,并保存新增點的顏色信息Keycolor

solvePnPRansac使用的關(guān)鍵參數(shù)如下:

1.三維結(jié)構(gòu)Struc

2.圖PicN+2二維匹配信息pt2

3.3*3的相機內(nèi)參矩陣K

若仍有新增圖像,則重復本步驟;

優(yōu)選的,針對全局的方法,第四步具體為:

使用三角測量計算圖像對對應(yīng)點的空間坐標,即圖像對的三維牙模的初始估算:P為空間中一點,x1為空間點P在PicN的投影,x1’為空間點P在PicN+1的投影;通過兩個相機投影矩陣Camproj1和Camproj2,以及匹配點組pt1(x1∈pt1)和pt2(x1’∈pt2),使用opencv庫函數(shù)triangulatePoints計算三維結(jié)構(gòu),得到三維結(jié)構(gòu)Struc;在這個計算過程中,匹配點的深度信息得以獲取。其中Camproj1與Camproj2均為相機投影矩陣,由相機內(nèi)參矩陣K乘以相機外參矩陣得到,外相機參矩陣即圖像對中各自的旋轉(zhuǎn)矩陣R與平移向量T組合得到;triangulatePoints使用的關(guān)鍵參數(shù)如下:

1.投影矩陣Camproj1和Camproj2

2.匹配點組pt1和pt2

為了提高三維牙模及估算出的相機位姿的精度,減少重新投影的誤差,使用BundleAdjustment做全局優(yōu)化。

本發(fā)明還公開了第二種使用照片或視頻重建三維牙模的方法,它分為增量優(yōu)化(所述優(yōu)化是指在第一種增量式的方法的基礎(chǔ)上更為優(yōu)化)的方法和全局優(yōu)化(所述優(yōu)化是指在第一種全局式的方法的基礎(chǔ)上更為優(yōu)化)的方法,具體包括以下步驟:

第一步,拍攝一組多位置且固定角度差的RGB牙齒圖像,拍攝時,將牙模位置固定在托盤圓心上,每次按照固定角度旋轉(zhuǎn)托盤,此時每兩張圖的旋轉(zhuǎn)矩陣相同,每兩張圖的平移向量T也相同,將問題簡化為以牙模為軸心的固定軌跡的周期運算,并去除產(chǎn)生畸變的圖像;

第二步,對所有的圖像提取特征并匹配(可以使用SIFT,SURF或FAST算法);

針對增量的方法,第二步具體為:

2.1讀取牙齒圖像,并對所有牙齒圖像進行特征提取,每張牙齒圖像都得到:一組特征點Keypt,一組描述子Descp以及特征點的顏色信息Keycolor,若特征點少于設(shè)定閾值(優(yōu)選的為50)則排除該牙齒圖像;

2.2對所有牙齒圖像中的Descp進行順次匹配,第n張PicN與第n+1張PicN+1進行匹配;并過濾錯誤匹配的點(優(yōu)選的,錯誤匹配的點是指匹配距離大于最小距離四倍的點,此為經(jīng)驗值,隨拍攝的照片而定);最后保存匹配信息M,M由PicN中與PicN+1匹配上的Keypt的索引配對組成;

2.3根據(jù)匹配信息M選取最多有效匹配點的一對牙齒圖像作為種子圖像對(因為有可能增加圖像,增量的方式選取的種子對一般是相對優(yōu)選的),對于種子圖像對中圖像的特征點Keypt,根據(jù)M中的索引,獲取其匹配特征點坐標組pt1(的Keypt);對于圖像的特征點Keypt,根據(jù)M中的索引,獲取其匹配特征點坐標組pt2(的Keypt);并根據(jù)M中的索引,保存匹配特征點的顏色信息Keycolor;

針對全局的方法,第二步具體為:

2.1讀取牙齒圖像,并對所有牙齒圖像進行特征提取;每牙齒圖像都得到:一組特征點Keypt以及一組描述子Descp和特征點的顏色信息Keycolor,若特征點少于設(shè)定閾值(優(yōu)選的為50)則排除該牙齒圖像;

2.2因為全局的方法不考慮新增圖像,因此對所有圖像中的Descp進行匹配,每一圖像與其他所有的圖像進行匹配,并過濾錯誤匹配的點(優(yōu)選的,錯誤匹配的點是指匹配距離大于最小距離四倍的點,此為經(jīng)驗值,隨拍攝的照片而定),每兩圖像成功匹配構(gòu)成一個圖像對;最后保存匹配點信息M。M由PicN中與PicN+1匹配上的Keypt的索引配對組成;

2.3對于每個圖像對中的圖像PicN的Keypt,根據(jù)M中的索引,獲取其匹配特征點坐標組pt1(pt1∈PicN的Keypt);對于圖像的PicN+1的的Keypt,根據(jù)M中的索引,獲取其匹配特征點坐標組pt2(pt2∈PicN+1的Keypt);并根據(jù)M中的索引,保存匹配特征點的顏色信息Keycolor

第三步,

針對增量的方法/針對全局的方法,估算所有圖像的相機位姿;

3.1對于相對旋轉(zhuǎn),將歐拉角轉(zhuǎn)換為旋轉(zhuǎn)矩陣帶入相機外參矩陣,直接獲取相對旋轉(zhuǎn)矩陣。再通過計算可以得到平移向量。

首先基于歐拉角生成旋轉(zhuǎn)矩陣:

然后,根據(jù)軸向(XYZ)旋轉(zhuǎn)的不同,通過矩陣相乘得到3*3的旋轉(zhuǎn)矩陣R;再根據(jù)X′1=RX1+T求解平移向量T,其中匹配點組x1∈pt1,x1’∈pt2

最后將計算出的相對旋轉(zhuǎn)矩陣R和平移向量T代入下式:

以上求得的旋轉(zhuǎn)矩陣R與平移向量T可直接代入其他圖像對的相機外參矩陣;

3.2使用三角測量計算圖像對對應(yīng)點的空間坐標,即圖像對的三維牙模的初始估算;P為空間中一點,x1為空間點P在PicN的投影,x1’為空間點P在PicN+1的投影;通過兩個相機投影矩陣Camproj1和Camproj2,以及匹配點組pt1(x1∈pt1)和pt2(x1’∈pt2),使用opencv庫函數(shù)triangulatePoints計算三維結(jié)構(gòu),得到三維結(jié)構(gòu)Struc;在這個計算過程中,匹配點的深度信息得以獲取。其中Camproj1與Camproj2均為相機投影矩陣,由相機內(nèi)參矩陣K乘以相機外參矩陣得到,相機外參矩陣即圖像對中各自的旋轉(zhuǎn)矩陣R與平移向量T組合得到;triangulatePoints使用的關(guān)鍵參數(shù)如下:

1.投影矩陣Camproj1和Camproj2

2.匹配點組pt1和pt2;

第四步,

針對增量的方法:通過增量的方式增加圖像,以補全初始的三維牙模,并全局優(yōu)化:

4.1為了提高三維牙模及估算出的相機位姿的精度,減少重新投影的誤差,使用BundleAdjustment做全局優(yōu)化;當牙模數(shù)據(jù)的三維結(jié)構(gòu)不夠完整時,增加新的牙齒圖像;上一步通過對圖像對中PicN與PicN+1進行三維重建后,獲取了三維結(jié)構(gòu)Struc;新增圖像為圖像PicN+2,使用已經(jīng)計算出的相對旋轉(zhuǎn)矩陣R與平移向量T;繼續(xù)使用三角測量計算并將新的未添加進三維牙模結(jié)構(gòu)的點增加到三維牙模Struc中,并保存新增點的顏色信息Keycolor;

4.2若仍有新增圖像,則重復本步驟;

針對全局的方法,

使用三角測量計算圖像對對應(yīng)點的空間坐標,即圖像對的三維牙模的初始估算:P為空間中一點,x1為空間點P在PicN的投影,x1’為空間點P在PicN+1的投影;通過兩個相機投影矩陣Camproj1和Camproj2,以及匹配點組pt1(x1∈pt1)和pt2(x1’∈pt2),使用opencv庫函數(shù)triangulatePoints計算三維結(jié)構(gòu),得到三維結(jié)構(gòu)Struc;在這個計算過程中,匹配點的深度信息得以獲取。其中Camproj1與Camproj2均為相機投影矩陣,由相機內(nèi)參矩陣K乘以相機外參矩陣得到,外相機參矩陣即圖像對中各自的旋轉(zhuǎn)矩陣R與平移向量T組合得到;triangulatePoints使用的關(guān)鍵參數(shù)如下:

1.投影矩陣Camproj1和Camproj2

2.匹配點組pt1和pt2

為了提高三維牙模及估算出的相機位姿的精度,減少重新投影的誤差,使用Bundle Adjustment做全局優(yōu)化。

本發(fā)明還公開了第一種使用RGBD圖像重建三維牙模的方法,包括以下步驟:

第一步,拍攝一組多角度RGBD牙齒圖像;

第二步,特征提取匹配及配準(可以使用SIFT,SURF或FAST算法);

第三步,將圖像轉(zhuǎn)化為點云數(shù)據(jù);

第四步,拼接點云數(shù)據(jù);

第五步,輸出牙齒的三維牙模,并按照標定還原模型尺寸。

優(yōu)選的,第二步具體為:讀取RGB圖像,并對所有圖像進行特征提取,每個圖像都得到:一組特征點Keypt,一組描述子Descp以及特征點的顏色信息Keycolor,若特征點少于設(shè)定閾值(優(yōu)選的為50)則排除該牙齒圖像;對所有圖像中的Descp進行順次匹配,第n張PicN與第n+1張PicN+1進行匹配;可使用基于KD-Tree的ANN算法匹配,并過濾錯誤匹配的點(優(yōu)選的,錯誤匹配的點是指匹配距離大于最小距離四倍的點,此為經(jīng)驗值,隨拍攝的照片而定),匹配距離大于最小距離四倍的點(此為經(jīng)驗值,隨拍攝的照片而定)。最后保存匹配信息M,M由PicN中與PicN+1匹配上的Keypt的索引配對組成;根據(jù)匹配信息M選取最多有效匹配點的一對圖像作為種子圖像對,對于種子圖像對中的圖從M中獲取其所有特征點坐標組pt1,對于圖像從M中獲取其所有特征點坐標組pt2。

優(yōu)選的,第三步具體為:

遍歷深度圖,從圖像的深度圖獲取特征點組pt1的深度信息d;利用深度信息,相機焦距和光心坐標,反算三維空間點坐標組

對中的一個空間點(x,y,z)和它在圖像中的像素坐標(u,v,d)有如下關(guān)系:

z=d/s

x=(u-cx)*z/fx

y=(v-cy)*z/fy

cx,cy:光心坐標,在圖像的中心,由最高分辨率除以2得到;

fpix:像素焦距;

u,v,d,為空間點投影到圖像的像素坐標,其中d為深度信息;

x,y,z,為世界坐標系中空間點的齊次坐標;

s:深度圖的縮放因子,可根據(jù)不同設(shè)備獲??;

從RGB圖像顏色圖獲取顏色信息Color,使用opencv庫中的solvePnPRansac的函數(shù),計算相對矩陣[R|T];solvePnPRansac使用的關(guān)鍵參數(shù)如下:

1.三維空間點坐標組

2.圖二維匹配信息pt2

3.3*3的相機內(nèi)參矩陣K。

優(yōu)選的,第四步具體為:

拼接點云數(shù)據(jù),將圖像PicN與圖像PicN+1轉(zhuǎn)換為點云數(shù)據(jù)Ptcloud1與Ptcloud2,以及變換矩陣[R|T]來拼接點云,利用點云庫函數(shù)pcl::transformPointCloud來拼接點云數(shù)據(jù);Ptcloud1與Ptcloud2合并得到Ptall;對于新增的圖像,使用opencv庫中的solvePnPRansac的函數(shù),將新圖像中匹配點的二維坐標帶入,計算新的[R|T];solvePnPRansac使用的關(guān)鍵參數(shù)如下:

1.三維空間點坐標組

2.圖PicN+2二維匹配信息pt2

3.3*3的相機內(nèi)參矩陣K

若有新圖像則繼續(xù)計算,將未添加進三維牙模結(jié)構(gòu)的點合并到Ptall中,最后繼續(xù)使用BundleAdjustment做全局優(yōu)化。

本發(fā)明還公開了第二種使用RGBD圖像優(yōu)化重建三維牙模的方法(所述優(yōu)化是指在第一種使用RGBD圖像的方法的基礎(chǔ)上更為優(yōu)化),包括以下步驟:

第一步,拍攝一組多位置且固定角度差的RGBD牙齒圖像;

第二步,特征提取匹配及配準(可以使用SIFT,SURF或FAST算法):

讀取RGB圖像,并對所有圖像進行特征提取,每個圖像都得到:一組特征點Keypt,一組描述子Descp以及特征點的顏色信息Keycolor,若特征點少于設(shè)定閾值(優(yōu)選的為50)則排除該牙齒圖像;對所有圖像中的Descp進行順次匹配,第n張PicN與第n+1張PicN+1進行匹配;可使用基于KD-Tree的ANN算法匹配,并過濾錯誤匹配的點(優(yōu)選的,錯誤匹配的點是指匹配距離大于最小距離四倍的點,此為經(jīng)驗值,隨拍攝的照片而定),匹配距離大于最小距離四倍的點(此為經(jīng)驗值,隨拍攝的照片而定)。最后保存匹配信息M,M由PicN中與PicN+1匹配上的Keypt的索引配對組成;根據(jù)匹配信息M選取最多有效匹配點的一對圖像作為種子圖像對,對于種子圖像對中的圖從M中獲取其所有特征點坐標組pt1,對于圖像從M中獲取其所有特征點坐標組pt2

第三步,將圖像轉(zhuǎn)化為點云數(shù)據(jù):

3.1遍歷深度圖,從圖像的深度圖獲取特征點組pt1的深度信息d;利用深度信息,相機焦距和光心坐標,反算三維空間點坐標組

對中的一個空間點(x,y,z)和它在圖像中的像素坐標(u,v,d)有如下關(guān)系:

z=d/s

x=(u-cx)*z/fx

y=(v-cy)*z/fy

cx,cy:光心坐標,在圖像的中心,由最高分辨率除以2得到;

fpix:像素焦距;

u,v,d,為空間點投影到圖像的像素坐標,其中d為深度信息;

x,y,z,為世界坐標系中空間點的齊次坐標;

s:深度圖的縮放因子,可根據(jù)不同設(shè)備獲??;

3.2對于相對旋轉(zhuǎn),將歐拉角轉(zhuǎn)換為旋轉(zhuǎn)矩陣帶入相機外參矩陣,直接獲取相對旋轉(zhuǎn)矩陣。再通過計算可以得到平移向量。

首先基于歐拉角生成旋轉(zhuǎn)矩陣將歐拉角轉(zhuǎn)換為旋轉(zhuǎn)矩陣:

然后,根據(jù)軸向(XYZ)旋轉(zhuǎn)的不同,通過矩陣相乘得到3*3的旋轉(zhuǎn)矩陣R;再根據(jù)X′1=RX1+T求解平移向量T,其中匹配點組x1∈pt1,x1’∈pt2

最后將計算出的相對旋轉(zhuǎn)矩陣R和平移向量T代入下式:

以上求得的旋轉(zhuǎn)矩陣R與平移向量T可直接代入其他圖像對的相機外參矩陣;

第四步,拼接點云數(shù)據(jù):

拼接點云數(shù)據(jù),將圖像PicN與圖像PicN+1轉(zhuǎn)換為點云數(shù)據(jù)Ptcloud1與Ptcloud2,以及變換矩陣[R|T]來拼接點云,利用點云庫函數(shù)pcl::transformPointCloud來拼接點云數(shù)據(jù);Ptcloud1與Ptcloud2合并得到Ptall;對于新增的圖像,使用已經(jīng)計算出的相機外參矩陣[R|T];并將未添加進三維牙模結(jié)構(gòu)的點合并到Ptall中,最后繼續(xù)使用BundleAdjustment做全局優(yōu)化;

第五步,輸出牙齒的三維牙模,并按照標定還原模型尺寸。

本發(fā)明的有益效果

本發(fā)明公開了一種使用照片或視頻重建三維牙模的方法,

第一種增量式的方法具有:增量式的方案可以滿足當生成牙模不夠完整,或者在某些關(guān)鍵區(qū)域不夠清晰的情況下。增加新角度的照片,進行處理,以達到更好的生成效果。

第一種全局式的方法具有:全局式的方案可以滿足當拍攝角度固定而且完整,確保關(guān)鍵區(qū)域可以清晰的表達的情況下。一次性生成牙模,不再需要人工判斷或干預(yù)。

第二種(優(yōu)化)增量式的方法在第一種增量式的基礎(chǔ)上,還具有:增量優(yōu)化的方式可以簡單的根據(jù)物理世界的平移旋轉(zhuǎn),減少處理流程中最不精確和耗時的旋轉(zhuǎn)矩陣和平移向量的計算。減少了處理流程,增加了處理精度。

第二種(優(yōu)化)全局式的方法在第一種全局式的基礎(chǔ)上,還具有:全局優(yōu)化的方式同樣可以簡單的根據(jù)物理世界的平移旋轉(zhuǎn),減少處理流程中最不精確和耗時的旋轉(zhuǎn)矩陣和平移向量的計算。減少了處理流程,增加了處理精度。

本發(fā)明還公開了一種使用RGBD圖像重建三維牙模的方法,

第一種RGBD的方法具有:RGBD的圖像不需要計算深度信息是對于非RGBD圖像計算上的優(yōu)化。對于深度信息的計算,使用RGBD圖像可以獲取深度信息的精度高于需要估算的非RGBD圖像。

第二種(優(yōu)化)RGBD的方法在第一種RGBD的基礎(chǔ)上,還具有:優(yōu)化的RGBD的圖像處理方式可以簡單的根據(jù)物理世界的平移旋轉(zhuǎn),減少處理流程中最不精確和耗時的旋轉(zhuǎn)矩陣和平移向量的計算。減少了處理流程,增加了處理精度。也將為未來機器人大規(guī)模實時計算建模提供了思路,既當運行軌跡固定,拍攝角度可以設(shè)定的情況下,自動的完成三維牙模的生成和處理。

使用本發(fā)明的以上任一種方法均可以避免使用鐳射等昂貴大型設(shè)備,而且,使用分布式計算可以大大提升本發(fā)明圖像處理的處理時間。

附圖說明

圖1為第一種增量式/全局式重建三維牙模的流程圖。

圖2為第一種增量式重建三維牙模的詳細流程圖。

圖3為第一種全局式重建三維牙模的詳細流程圖。

圖4為第二種(優(yōu)化)增量式/全局式重建三維牙模的流程圖。

圖5為第二種(優(yōu)化)增量式重建三維牙模的詳細流程圖。

圖6為第二種(優(yōu)化)全局式重建三維牙模的詳細流程圖。

圖7為第一種RGBD重建三維牙模的流程圖。

圖8為第二種(優(yōu)化)RGBD重建三維牙模的詳細流程圖。

圖9為牙齒圖像采集方式示意圖。

圖10為估算圖相對的相機位姿的原理分析圖。

圖11為優(yōu)化的原理分析圖。

具體實施方式

下面結(jié)合實施例對本發(fā)明作進一步說明,但本發(fā)明的保護范圍不限于此:

技術(shù)方案如發(fā)明內(nèi)容所述:圖1給出了第一種增量式/全局式重建三維牙模的流程圖,圖2給出了第一種增量式重建三維牙模的詳細流程圖,圖3給出了第一種全局式重建三維牙模的詳細流程圖,圖4給出了第二種(優(yōu)化)增量式/全局式重建三維牙模的流程圖,圖5給出了增量式重建三維牙模的詳細流程圖,圖6給出了第二種(優(yōu)化)全局式重建三維牙模的詳細流程圖,圖7給出了第一種RGBD重建三維牙模的流程圖,圖8給出了第二種(優(yōu)化)RGBD重建三維牙模的詳細流程圖,此處不再贅述?,F(xiàn)對技術(shù)方案的可替代方案以及原理進行說明。

結(jié)合圖1、圖4、圖7,其第一步中所述拍攝一組多角度牙齒圖像是指拍攝至少一圈,其所圍平面與牙模所處平面重合。如附圖9所示,更優(yōu)的實施例中,它還包括附加的兩圈,第二圈所圍平面邊緣與牙模呈40-60度夾角;第三圈所圍平面邊緣與牙模呈80-90度夾角。如附圖9所示,更優(yōu)的實施例中,它還包括第四圈,第四圈縱向圍繞牙模拍攝。在圖1、圖4中所述第一步中拍攝一組多角度多位置RGB牙齒圖像是通過拍攝照片獲得;或者是拍攝視頻通過提取關(guān)鍵幀獲得。

輸出牙齒的三維牙模,并按照標定還原模型尺寸,具體為:輸出三維牙模,使用PMVS或者CMVS等工具將牙齒模型的稀疏矩陣轉(zhuǎn)化為三維稠密矩陣;最后使用Meshlab等工具將點云數(shù)據(jù)轉(zhuǎn)化為帶顏色的ply等格式三維牙模文件或者不帶顏色的stl等格式三維牙模文件;通過測量三維牙模上的標定,計算三維牙模與真實牙模的比例,并放大模型至真實大小。

原理說明(以增量式重建三維牙模為例,第三步中):

使用針孔攝像機的投影矩陣模型,可以將空間三維點投影到像平面;相機內(nèi)參完成從圖像坐標系到相機坐標系的變換,因為相機坐標是毫米為單位,而圖像坐標是以像素為單位,因此需要線性變換;內(nèi)參矩陣K表示如下:

其中:

K:3*3的矩陣,代表相機內(nèi)部參數(shù)

cx,cy:光心坐標,通常在圖像的中心,由最高分辨率除以2得到

fpix:像素焦距(可由下面的算法計算)

為了優(yōu)化相機內(nèi)參,可以根據(jù)不同設(shè)備計算不同的像素焦距,當所有圖像均由統(tǒng)一設(shè)備拍攝,計算使用設(shè)備的像素焦距可由下面等式計算:

fpix=max(wpix,hpix)*fmm/ccdwmm

其中:

wpix是圖像的像素寬,hpix像素高

ccdwmm感應(yīng)器的寬,毫米為單位

fmm為毫米焦距

以上參數(shù)均可由設(shè)備參數(shù)提供:

而當使用多種拍攝設(shè)備,也可以使用固定像素焦距,固定像素焦距的計算公式:

fpix=max(wpix,hpix)*1.2

相機外參完成從相機坐標系到世界坐標系的變換,是通過旋轉(zhuǎn)矩陣R和平移矩陣T完成的。

其中:

R:代表相機坐標到世界坐標的旋轉(zhuǎn)變換,R就是r11到r33構(gòu)成3*3的矩陣

T:代表相機坐標到世界坐標的平移變換,tx,ty,tz:相機在xyz方向上的平移

則圖像中的兩維點與三維世界坐標點的關(guān)系如下:

其中u,v,為空間點投影到圖像的像素坐標,X,Y,Z,為世界坐標系中空間點的齊次坐標。

原理說明(以增量式重建三維牙模為例,第三步中):

估算圖像對的相機位姿,實際上就是求取圖像對中圖n與圖n+1的相對變換矩陣;使用opencv庫函數(shù)findEssentialMat可計算兩張圖的本征矩陣E,參數(shù)使用第二步獲取的匹配點組pt1和pt2,從相機內(nèi)參矩陣K提取像素焦距fpix光心坐標pp(cx,cy),以及使用RANSAC算法;通過分解本征矩陣E進行SVD奇異值分解,可得到相對變換;將本征矩陣帶入opencv庫函數(shù)recoverPose可以反算圖像對的相對變換,也就是計算R和T;

結(jié)合圖10所示,對于兩個相機坐標系來說,兩張圖片上匹配上的兩個點,具有以下關(guān)聯(lián):

X′1=RX1+T

點X1'是點X1經(jīng)過旋轉(zhuǎn)和平移得到的;

因此其本征矩陣則為:

若以圖像對中包含點X1'的圖像n的相機位姿作為參考相機初始位姿,R就是圖像對中圖像n+1的點X1'相對于圖像n中點X1的旋轉(zhuǎn)矩陣。T就是圖像對中圖像n+1的點X1'相對于圖像n的X1的位移矩陣;因此通過使用OpenCV的函數(shù)findEssentialMat可以計算出本征矩陣E,進而由OpenCV的函數(shù)recoverPose計算相對變換矩陣R與T。

原理說明(優(yōu)化):

對于牙模的拍攝,與普通的SFM或者SLAM處理場景可以做如下優(yōu)化。對于工業(yè)領(lǐng)域,并不需要在隨機的位置圍繞牙模牙齒模型進行拍攝,可通過固定相機,固定拍攝角度,同時,使用圓盤周期旋轉(zhuǎn),可以固定相對位移。如圖11所示,圓心處放置牙模。相機中心在O1,O2,O3處拍攝,g1與g2角度相等。O1到O2的距離為l1,O2到O3距離為l2,l1=l2。因此旋轉(zhuǎn)矩陣相同,平移向量相同。

無論SFM的方式還是SLAM的方式拍攝牙模,也不管使用增量還是全局的方式求解,當將牙模位置固定在托盤圓心上,每次旋轉(zhuǎn)固定角度??梢詫栴}簡化為繞軸心(圓心)固定軌跡的周期運算。這樣使得相對旋轉(zhuǎn)以及相對平移的運算大大簡化。

1.首先對于本征矩陣的運算以及分解只要一次即可。因為物理世界中旋轉(zhuǎn)角度固定,平移位置固定。當本征矩陣分解出相對旋轉(zhuǎn)和平移向量也隨之固定。每兩幀的本征矩陣相等,之后的運算可直接使用。

2.對于相對旋轉(zhuǎn),可以將歐拉角轉(zhuǎn)換為旋轉(zhuǎn)矩陣帶入矩陣,直接獲取相對旋轉(zhuǎn)矩陣。再通過計算可以得到平移向量。X1'=RX1+T

將歐拉角轉(zhuǎn)換為旋轉(zhuǎn)矩陣

根據(jù)軸向旋轉(zhuǎn)的不同,矩陣相乘得到旋轉(zhuǎn)矩陣。再根據(jù)以下公式求解平移:

X′1=RX1+T

本文中所描述的具體實施例僅僅是對本發(fā)明精神做舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但并不會偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
定南县| 山丹县| 孝感市| 微博| 潢川县| 社会| 洪湖市| 龙里县| 深州市| 南充市| 宣化县| 宣武区| 昭觉县| 隆德县| 洛阳市| 呼伦贝尔市| 福贡县| 沾益县| 沭阳县| 鹤山市| 内黄县| 自贡市| 永州市| 德惠市| 丰城市| 托克逊县| 昌图县| 达州市| 体育| 尉氏县| 新乡市| 海伦市| 南投市| 郓城县| 库车县| 称多县| 佳木斯市| 华容县| 金寨县| 临西县| 寿光市|