基于單攝像機(jī)sfs算法的三維重建方法
【專利摘要】本發(fā)明公開(kāi)了基于單攝像機(jī)SFS算法的三維重建方法,具體按以下步驟實(shí)施:首先標(biāo)定攝像機(jī),然后提取目標(biāo)輪廓,最后采用SFS算法基于體素進(jìn)行目標(biāo)三維重建。本發(fā)明采用單攝像機(jī)拍攝圖片,降低了三維建模的成本;對(duì)物體三維重建采用的基于體素的方法,而不是基于面片和物體特征點(diǎn),基于面片比較耗時(shí),而基于物體特征點(diǎn)方法特征點(diǎn)確定難度大,直接影響三維重建的效果;在三維重建過(guò)程中,通過(guò)預(yù)計(jì)算和快速體素投影算法尋找內(nèi)部體素,大大的節(jié)省了內(nèi)存和運(yùn)算時(shí)間,加快了三維建模速度。
【專利說(shuō)明】基于單攝像機(jī)SFS算法的三維重建方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于三維建模及圖像處理【技術(shù)領(lǐng)域】,涉及一種基于單攝像機(jī)SFS算法的三 維重建方法。
【背景技術(shù)】
[0002] 在計(jì)算機(jī)視覺(jué)中,三維重建是指根據(jù)單視圖或者多視圖的圖像重建出物體三維信 息的過(guò)程。三維模型技術(shù)在工業(yè)設(shè)計(jì)、瑕疵檢測(cè)、逆向工程、機(jī)器人導(dǎo)引、地貌測(cè)量、醫(yī)學(xué)信 息、生物信息、刑事鑒定、數(shù)字文物典藏、電影制片、游戲創(chuàng)作素材等等都可見(jiàn)其應(yīng)用。
[0003] 三維建模常用方法一是通過(guò)三維掃描儀,該方法是主動(dòng)的向物體投射激光或者結(jié) 構(gòu)光等,通過(guò)時(shí)差測(cè)距或者三角測(cè)距法獲得物體三維表面的距離信息,創(chuàng)建物體幾何表面 的點(diǎn)云,這些點(diǎn)可用來(lái)插補(bǔ)成物體的表面形狀,越密集的點(diǎn)云可以創(chuàng)建更精確的模型。大量 的點(diǎn)云數(shù)據(jù)就是對(duì)物體表面通過(guò)激光進(jìn)行采樣,將點(diǎn)云數(shù)據(jù)相鄰的點(diǎn)拼接為面片,就是物 體的三維模型。但是三維掃描儀價(jià)格特別昂貴,此外,光學(xué)技術(shù)不易處理閃亮(高反照率)、 鏡面或半透明的表面,而激光技術(shù)不適用于脆弱或易變質(zhì)的表面,所以尋找一種實(shí)惠的,具 有普適性的三維重建方法是很有必要的。
[0004] 三維建模另一類方法是基于視覺(jué)的方法對(duì)物體建模,又細(xì)分出眾多不同的技術(shù)方 法。使用可見(jiàn)光圖像達(dá)成建模的方法,又稱作基于機(jī)器視覺(jué)的方式,是今日機(jī)器視覺(jué)研究主 流之一。基于機(jī)器視覺(jué)的方式,將額外的能量投射至物體,借由能量的反射來(lái)計(jì)算三維空間 信息;然后由待測(cè)物表面反射周遭輻射線的方法,達(dá)到預(yù)期的效果。由于環(huán)境中的可見(jiàn)光輻 射,是相當(dāng)容易取得并利用的,大部分這類型的三維重建以偵測(cè)環(huán)境的可見(jiàn)光為主。獲得物 體表面反射周遭輻射線的方法主要包括立體視覺(jué)法和輪廓法。傳統(tǒng)的立體成像系統(tǒng)使用兩 個(gè)放在一起的攝影機(jī),平行注視待重建之物體,測(cè)定物體的深度信息對(duì)物體建模。輪廓法是 使用一系列物體的輪廓線條構(gòu)成三維形體常見(jiàn)的方式是將待測(cè)物放置于電動(dòng)轉(zhuǎn)盤(pán)上,每次 旋轉(zhuǎn)一小角度后拍攝其圖像,再經(jīng)由圖像處理技巧去除背景并取出輪廓線條,由各角度的 輪廓線后建成物體三維模型?;谝曈X(jué)的三維重建方法并不需要規(guī)格太特殊的硬件支持, 這類產(chǎn)品往往相當(dāng)便宜。
[0005] 基于計(jì)算機(jī)視覺(jué)的三維建模技術(shù)具有實(shí)際意義,其優(yōu)勢(shì)如下:(1)相對(duì)于三維掃 描儀來(lái)說(shuō),獲取圖像的代價(jià)很低,而且速度很快;(2)解決了三維重建的紋理映射難題,圖 像采集的是顏色信息,本身含有豐富紋理信息,而激光掃描獲得的只是距離信息沒(méi)有紋理 信息。
[0006] 現(xiàn)有基于機(jī)器視覺(jué)的三維建模方法,以輪廓法居多,SFS(Shape From Silhouette)算法就是其中一種。SFS算法是一種根據(jù)物體的多幅輪廓圖去估計(jì)物體外形 的一種方法?;赟FS算法進(jìn)行三維重建的一般方法是拍攝物體一周的多角度的多幅圖 片,八幅或更多,提取每一幅圖片的輪廓,以攝像機(jī)的焦點(diǎn)為中心,將輪廓圖投影到三維空 間,可以得到一個(gè)錐形空間,這個(gè)空間是一個(gè)包含了物體的錐體空間,稱為視覺(jué)錐體。攝像 機(jī)拍攝位于轉(zhuǎn)盤(pán)上的物體一周的多幅圖片,相當(dāng)于多個(gè)攝像機(jī)從不同角度去拍攝物體,不 同角度的視覺(jué)錐體空間的交集是一個(gè)不規(guī)則形狀。當(dāng)攝像機(jī)足夠多時(shí),不規(guī)則形狀就越趨 近于物體的外表形狀,可以估計(jì)出目標(biāo)物的三維模型。但是現(xiàn)有采用SFS算法在三維重建 的過(guò)程中存在標(biāo)定方法成本高,靈活性差的缺點(diǎn)。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的是提供一種基于單攝像機(jī)SFS算法的三維重建方法,解決了現(xiàn)有三 維重建中標(biāo)定方法成本高,靈活性差的問(wèn)題。
[0008] 本發(fā)明的技術(shù)方案是,基于單攝像機(jī)SFS算法的三維重建方法,具體步驟如下:
[0009] 步驟1 :標(biāo)定攝像機(jī);
[0010] 步驟2:提取目標(biāo)輪廓;
[0011] 步驟3 :SFS算法三維重建,在計(jì)算機(jī)虛擬三維空間坐標(biāo)系中,設(shè)定一個(gè)感興趣的 空間,將感興趣空間均勻的分割為大小相等的離散的體素,對(duì)體素在目標(biāo)輪廓中的投影位 置進(jìn)行預(yù)計(jì)算,并運(yùn)用快速體素投影算法尋找內(nèi)部體素,對(duì)所有的內(nèi)部體素進(jìn)行組合,得到 重建后的三維物體。
[0012] 本發(fā)明的特點(diǎn)還在于,
[0013] 步驟1具體按照以下步驟實(shí)施:
[0014] 1. 1)設(shè)定世界坐標(biāo)系:將標(biāo)定板放置在三維重建系統(tǒng)的轉(zhuǎn)盤(pán)上,設(shè)置世界坐標(biāo)系 的方向;
[0015] 1. 2)標(biāo)定攝像機(jī),具體為:
[0016] 1. 2. 1)調(diào)整轉(zhuǎn)盤(pán)平面至水平,使標(biāo)定板和轉(zhuǎn)盤(pán)的平面平行;調(diào)整攝像機(jī)位置,使 標(biāo)定板在攝像機(jī)的視野范圍內(nèi);調(diào)整攝像機(jī)焦距,使標(biāo)定板在初始位置時(shí)圖像最清晰;
[0017] 1. 2. 2)捕獲標(biāo)定板在初始位置及前后移動(dòng)狀態(tài)的圖片,實(shí)際的三維空間點(diǎn)與圖片 中的-維空間點(diǎn)存在如下關(guān)系:
[0018] [像]=M[物],
[0019] 其中M為攝像機(jī)投影矩陣,包含參數(shù)為攝像機(jī)參數(shù);
[0020] 1. 2. 3)捕獲圖片后,提取標(biāo)定板圖像上圓心的空間點(diǎn)的坐標(biāo)(u, V),其對(duì)應(yīng)的世 界坐標(biāo)系中的點(diǎn)為(XW,YW,Zw),點(diǎn)的世界坐標(biāo)和圖像坐標(biāo)存在如下關(guān)系:
【權(quán)利要求】
1. 基于單攝像機(jī)SFS算法的三維重建方法,其特征在于,具體按以下步驟實(shí)施: 步驟1 :標(biāo)定攝像機(jī); 步驟2:提取目標(biāo)輪廓; 步驟3 :SFS算法三維重建,在計(jì)算機(jī)虛擬三維空間坐標(biāo)系中,設(shè)定一個(gè)感興趣的空間, 將感興趣空間均勻的分割為大小相等的離散的體素,對(duì)體素在目標(biāo)輪廓中的投影位置進(jìn)行 預(yù)計(jì)算,并運(yùn)用快速體素投影算法尋找內(nèi)部體素,對(duì)所有的內(nèi)部體素進(jìn)行組合,得到重建后 的三維物體。
2. 根據(jù)權(quán)利要求1所述的基于單攝像機(jī)SFS算法的三維重建方法,其特征在于,所述的 步驟1具體按照以下步驟實(shí)施: I. 1)設(shè)定世界坐標(biāo)系:將標(biāo)定板放置在三維重建系統(tǒng)的轉(zhuǎn)盤(pán)上,設(shè)置世界坐標(biāo)系的方 向; 1. 2)標(biāo)定攝像機(jī),具體為: 1. 2. 1)調(diào)整轉(zhuǎn)盤(pán)平面至水平,使標(biāo)定板和轉(zhuǎn)盤(pán)的平面平行;調(diào)整攝像機(jī)位置,使標(biāo)定 板在攝像機(jī)的視野范圍內(nèi);調(diào)整攝像機(jī)焦距,使標(biāo)定板在初始位置時(shí)圖像最清晰; 1. 2. 2)捕獲標(biāo)定板在初始位置及前后移動(dòng)狀態(tài)的圖片,實(shí)際的三維空間點(diǎn)與圖片中的 -維空間點(diǎn)存在如下關(guān)系: [像]=M[物], 其中M為攝像機(jī)投影矩陣,包含參數(shù)為攝像機(jī)參數(shù); 1. 2. 3)捕獲圖片后,提取標(biāo)定板圖像上圓心的空間點(diǎn)的坐標(biāo)(u,V),其對(duì)應(yīng)的世界坐 標(biāo)系中的點(diǎn)為(XW,YW,Zw),點(diǎn)的世界坐標(biāo)和圖像坐標(biāo)存在如下關(guān)系:
其中H。是一個(gè)比例因子,對(duì)世界坐標(biāo)系中的點(diǎn)用MATLAB標(biāo)定工具箱處理求得投影矩 陣M。
3. 根據(jù)權(quán)利要求2所述的基于單攝像機(jī)SFS算法的三維重建方法,其特征在于,所述的 標(biāo)定板為圓形的靶標(biāo)。
4. 根據(jù)權(quán)利要求1所述的基于單攝像機(jī)SFS算法的三維重建方法,其特征在于,所述的 步驟2具體按照以下步驟實(shí)施: 2. 1)提取目標(biāo)物; 在放置物體的轉(zhuǎn)盤(pán)下放置藍(lán)色的背景板,同時(shí)設(shè)置重建系統(tǒng)拍攝背景和攝像機(jī)拍攝界 面背景為藍(lán)色,拍攝圖片,并對(duì)得到的圖片進(jìn)行摳圖處理,提取目標(biāo)物; 2. 2)提取目標(biāo)輪廓; 設(shè)定目標(biāo)點(diǎn)為非零值,背景點(diǎn)為零值,遍歷經(jīng)步驟2. 1)處理的圖片的像素點(diǎn),若一個(gè) 點(diǎn)為非零值,而且四周的八個(gè)點(diǎn)都是非零值,則將該點(diǎn)置為零值,最終得到多個(gè)目標(biāo)輪廓, 保留點(diǎn)數(shù)最多的輪廓,即為目標(biāo)輪廓。
5. 根據(jù)權(quán)利要求4所述的基于單攝像機(jī)SFS算法的三維重建方法,其特征在于,所述摳 圖處理,具體為:獲取藍(lán)色背景的像素值,將拍攝的圖中每一個(gè)像素的藍(lán)色通道和藍(lán)色背景 值做差,得到一幅差值圖;給定一個(gè)閾值th,差圖中像素值如果大于th的保留,否則像素值 置為零。
6. 根據(jù)權(quán)利要求1所述的基于單攝像機(jī)SFS算法的三維重建方法,其特征在于,所述預(yù) 計(jì)算,具體為:將體素在輪廓圖中投影形成的多邊形區(qū)域表示成一個(gè)矩形,矩形長(zhǎng)、寬邊分 別是多邊形最大行值與最小行值的差值、最大列值與最小列值的差值,計(jì)算每個(gè)體素在每 一幅輪廓圖中投影區(qū)域的位置,并將其在輪廓圖中的位置信息保存到數(shù)組中,然后將這些 數(shù)據(jù)寫(xiě)入文件。
7. 根據(jù)權(quán)利要求6所述的基于單攝像機(jī)SFS算法的三維重建方法,其特征在于,所述文 件的寫(xiě)入格式為:第一行保存第一個(gè)體素在感興趣空間中的坐標(biāo),接下來(lái)的行依次保存該 體素在每一幅輪廓圖中的預(yù)計(jì)算出來(lái)的矩形坐標(biāo)值,依次如上進(jìn)行每個(gè)體素?cái)?shù)據(jù)的保存。
8. 根據(jù)權(quán)利要求7所述的基于單攝像機(jī)SFS算法的三維重建方法,其特征在于,所述矩 形坐標(biāo)值包括矩形左上角在輪廓圖中坐標(biāo)和矩形的寬、高。
9. 根據(jù)權(quán)利要求1所述的基于單攝像機(jī)SFS算法的三維重建方法,其特征在于,所述快 速體素投影算法尋找內(nèi)部體素,具體為: 1) 從預(yù)計(jì)算后保存的文件中讀入體素 Vn在第k幅輪廓圖中的矩形坐標(biāo)值,在此矩形內(nèi) 部隨機(jī)的挑選Q個(gè)點(diǎn); 2) 初始化計(jì)數(shù)器Count為O ; 3) 對(duì)于i = 1?Q進(jìn)行循環(huán)遍歷,如果i點(diǎn)是在第k幅輪廓圖輪廓的內(nèi)部,貝U Count增 加一個(gè)值; 4) 若Count < Qe,Qe是一個(gè)給定的標(biāo)準(zhǔn)值,體素 vn分類為外部體素;Count > Qe,則 該體素為內(nèi)部體素。
【文檔編號(hào)】G06T7/00GK104331924SQ201410696811
【公開(kāi)日】2015年2月4日 申請(qǐng)日期:2014年11月26日 優(yōu)先權(quán)日:2014年11月26日
【發(fā)明者】高磊, 謝凡凡, 衛(wèi)永波 申請(qǐng)人:西安冉科信息技術(shù)有限公司