本發(fā)明涉及紋理映射領(lǐng)域,具體的涉及自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法及系統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展與計(jì)算機(jī)圖形技術(shù)在游戲、影視、模擬仿真、虛擬旅游、文物數(shù)字化等領(lǐng)域日益廣泛的應(yīng)用,圖形顯示的真實(shí)感成為了計(jì)算機(jī)圖形學(xué)中最引人注目的研究問題。然而要生成一幅比較真實(shí)的圖形需要解決各種各樣的問題,比如圖像繪制、明暗處理、反走樣、光線跟蹤等等,從而導(dǎo)致了較低的計(jì)算效率。為了提高圖形的生成效率,一般會(huì)用簡(jiǎn)單的幾何模型描述復(fù)雜的對(duì)象,而為了保證生成圖形的真實(shí)感,紋理映射就成為計(jì)算機(jī)圖形學(xué)中必不可少的重要方法。
紋理映射的過程是根據(jù)二維影像與三維模型之間的相對(duì)位置關(guān)系,構(gòu)建映射算法,將二維影像紋理覆蓋到三維空間物體的表面。因此,如何快速準(zhǔn)確的重建二維影像與三維模型的相對(duì)位置關(guān)系成為紋理映射的重點(diǎn)。
目前存在的重建方法有:
1)通過若干對(duì)紋理影像與三維表面的2D-3D控制點(diǎn)來解算相機(jī)的參數(shù)。大量的研究表明,目前,自動(dòng)的2D-3D對(duì)應(yīng)控制點(diǎn)的提取及匹配工作困難,還沒有能夠可靠適應(yīng)任意實(shí)際應(yīng)用狀況的自動(dòng)化算法,因此,在實(shí)際應(yīng)用中通常采用人工交互式選取2D-3D對(duì)應(yīng)控制點(diǎn),重建效率低。
2)通過人工匹配二維影像紋理和三維幾何模型中側(cè)影輪廓線等較大的圖像特征來實(shí)現(xiàn)2D-3D匹配,線特征作為配準(zhǔn)基元比點(diǎn)特征要穩(wěn)定許多,這類方法對(duì)于細(xì)節(jié)豐富的對(duì)象有較好的配準(zhǔn)效果,但是人工尋找側(cè)影輪廓線的繁瑣,重建效率低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法,可以避免人工選取控制點(diǎn)或者人工尋找側(cè)影輪廓線的繁瑣工作,自動(dòng)的尋找準(zhǔn)確的相對(duì)位置,提高了重建過程的效率。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法,包括以下步驟:
S1,根據(jù)拍攝二維影像時(shí)的視場(chǎng)角設(shè)置二維影像與三維模型的初始相對(duì)位置;
S2,根據(jù)二維影像與三維模型的初始相對(duì)位置將三維模型投影到二維影像上后,獲取二維影像中前景和后景的種子點(diǎn);
S3,通過二維影像中前景和后景的種子點(diǎn),利用圖像分割算法將二維影像中的前景和后景分離,得到二維影像的前后景二值圖;
S4,調(diào)整三維模型的位置,并將調(diào)整后的三維模型投影到二維影像上,獲得三維模型的投影二值圖;
S5,以三維模型的投影二值圖和二維影像的前后景二值圖的異或累加值作為優(yōu)化條件,利用單純形法優(yōu)化并求取二維影像與三維模型的相對(duì)位置。
本發(fā)明的有益效果是:本發(fā)明的自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法是根據(jù)給定的三維模型相對(duì)于二維影像的初始位置,選取二維影像分割的種子點(diǎn),將二維影像中的模型部分與背景分離開來,通過調(diào)整三維空間中模型相對(duì)于影像的位置,利用單純形法求取準(zhǔn)確的相對(duì)位置;本發(fā)明充分利用了三維幾何形狀信息和二維紋理信息,基于圖像分割技術(shù)和單純形算法,盡量減少人工交互的工作,自動(dòng)重建二維影像與三維模型的準(zhǔn)確相對(duì)位置,減少人工干預(yù)的工作量。
在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
進(jìn)一步,步驟S1具體為:
S11,根據(jù)二維影像的EXIF信息,計(jì)算拍攝二維影像時(shí)的視場(chǎng)角;
S12,然后將三維模型和二維影像顯示在同一個(gè)三維空間中,根據(jù)計(jì)算得出的拍攝二維影像時(shí)的視場(chǎng)角設(shè)置三維空間視場(chǎng)角大小,根據(jù)三維空間視場(chǎng)角大小調(diào)整三維模型相對(duì)于二維影像中三維模型邊界的一個(gè)初始相對(duì)位置。
進(jìn)一步,步驟S2具體為:根據(jù)二維影像與三維模型的初始相對(duì)位置將三維模型投射在二維影像平面上,得到二值化影像,并對(duì)二值化影像進(jìn)行腐蝕和膨脹處理,獲取二維影像中前景和后景的種子點(diǎn);
步驟S3具體為:采用GraphCuts算法,將二維影像中前景和后景的種子點(diǎn)作為GraphCuts算法的輸入,GraphCuts算法的輸出為二維影像的前后景二值圖。
進(jìn)一步,步驟S4具體為:
S41,確定三維模型與二維影像的相對(duì)位置的六個(gè)調(diào)整參數(shù),初始化三維模型相對(duì)二維影像位置的七個(gè)初始解,其中每個(gè)初始解包含六個(gè)調(diào)整參數(shù),初始化三維模型相對(duì)二維影像位置的七個(gè)初始解對(duì)應(yīng)誤差的收斂條件,初始化三維模型相對(duì)二維影像位置的七個(gè)初始解的擴(kuò)張系數(shù)和收縮系數(shù);
S42,根據(jù)每個(gè)初始解中的六個(gè)調(diào)整參數(shù)調(diào)整三維模型的位置,并將每次調(diào)整后的三維模型分別投影到二維影像上,獲得三維模型的七個(gè)投影二值圖。
進(jìn)一步,步驟S5具體為:
S51,獲得所述三維模型的七個(gè)投影二值圖和所述二維影像的前后景二值圖的異或累加值,并將所述異或累加值作為三維模型相對(duì)二維影像位置的七個(gè)初始解所對(duì)應(yīng)的誤差,并對(duì)七個(gè)初始解的誤差進(jìn)行誤差排序;
S52,計(jì)算當(dāng)前七個(gè)初始解所對(duì)應(yīng)的誤差的迭代誤差,并判斷迭代誤差是否滿足初始化的收斂條件,如果不滿足,則執(zhí)行步驟S53,如果滿足,則執(zhí)行步驟S54;
S53,根據(jù)七個(gè)初始解所對(duì)應(yīng)的誤差的大小和/或初始化的擴(kuò)張系數(shù)和/或收縮系數(shù)計(jì)算三維模型相對(duì)二維影像位置的反射點(diǎn)或壓縮點(diǎn)或擴(kuò)張點(diǎn),并用反射點(diǎn)或壓縮點(diǎn)或擴(kuò)張點(diǎn)相對(duì)二維影像位置的初始解替代原七個(gè)初始解中誤差最大的初始解,得到替換后的7個(gè)初始解,并返回至步驟S42;
S54,獲得S51中的七個(gè)初始解所對(duì)應(yīng)的誤差中誤差最小的初始解,根據(jù)誤差最小的初始解中的六個(gè)調(diào)整參數(shù)調(diào)整三維模型的空間位置,此時(shí)三維模型與二維影像的相對(duì)位置關(guān)系即為拍照時(shí)二維影像與三維模型的相對(duì)位置關(guān)系。
基于上述自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法,本發(fā)明還提供一種自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的系統(tǒng)。
自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的系統(tǒng),該系統(tǒng)根據(jù)自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法構(gòu)建,包括初始位置設(shè)置模塊、種子點(diǎn)獲取模塊、分離模塊、投影二值圖生成模塊和相對(duì)位置生成模塊;
所述初始位置設(shè)置模塊,其用于根據(jù)拍攝二維影像時(shí)的視場(chǎng)角設(shè)置二維影像與三維模型的初始位置;
所述種子點(diǎn)獲取模塊,其用于根據(jù)二維影像與三維模型的初始相對(duì)位置將三維模型投影到二維影像上后,獲取二維影像中前景和后景的種子點(diǎn);
所述分離模塊,其用于通過二維影像中前景和后景的種子點(diǎn),利用圖像分割算法將二維影像中的前景和后景分離,得到二維影像的前后景二值圖;
所述投影二值圖生成模塊,其用于調(diào)整三維模型的位置,并將調(diào)整后的三維模型投影到二維影像上,獲得三維模型的投影二值圖;
所述相對(duì)位置生成模塊,其用于以三維模型的投影二值圖和二維影像的前后景二值圖的異或累加值作為優(yōu)化條件,利用單純形法優(yōu)化并求取二維影像與三維模型的相對(duì)位置。
本發(fā)明的有益效果是:本發(fā)明的自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的系統(tǒng)是根據(jù)給定的三維模型相對(duì)于二維影像的初始位置,選取二維影像分割的種子點(diǎn),將二維影像中的模型部分與背景分離開來,通過調(diào)整三維空間中模型相對(duì)于影像的位置,利用單純形法求取準(zhǔn)確的相對(duì)位置;本發(fā)明充分利用了三維幾何形狀信息和二維紋理信息,基于圖像分割技術(shù)和單純形算法,盡量減少人工交互的工作,自動(dòng)重建二維影像與三維模型的準(zhǔn)確相對(duì)位置,減少人工干預(yù)的工作量。
在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
進(jìn)一步,所述初始位置設(shè)置模塊具體為:根據(jù)二維影像的EXIF信息,計(jì)算拍攝二維影像時(shí)的視場(chǎng)角;將三維模型和二維影像顯示在同一個(gè)三維空間中,根據(jù)計(jì)算得出的拍攝二維影像時(shí)的視場(chǎng)角設(shè)置三維空間視場(chǎng)角大小,調(diào)整三維模型相對(duì)于二維影像中三維模型邊界的一個(gè)初始相對(duì)位置。
進(jìn)一步,所述種子點(diǎn)獲取模塊具體為:根據(jù)二維影像與三維模型的初始相對(duì)位置將三維模型投射在二維影像平面上,得到二值化影像,并對(duì)二值化影像進(jìn)行腐蝕和膨脹處理,獲取二維影像中前景和后景的種子點(diǎn);
所述分離模塊具體為:采用GraphCuts算法,將二維影像中前景和后景的種子點(diǎn)作為GraphCuts算法的輸入,GraphCuts算法的輸出為二維影像的前后景二值圖。
進(jìn)一步,所述投影二值圖生成模塊具體為:
確定三維模型與二維影像的相對(duì)位置的六個(gè)調(diào)整參數(shù),初始化三維模型相對(duì)二維影像位置的七個(gè)初始解,其中每個(gè)初始解包含六個(gè)調(diào)整參數(shù),初始化收斂條件、擴(kuò)張系數(shù)和收縮系數(shù);
根據(jù)每個(gè)初始解中的六個(gè)調(diào)整參數(shù)調(diào)整三維模型的位置,并將每次調(diào)整后的三維模型分別投影到二維影像上,獲得三維模型的七個(gè)投影二值圖。
進(jìn)一步,所述相對(duì)位置生成模塊具體為:
獲取三維模型的七個(gè)投影二值圖和二維影像的前后景二值圖的異或累加值,并將所述異或累加值作為三維模型相對(duì)二維影像位置的七個(gè)初始解所對(duì)應(yīng)的誤差,并對(duì)七個(gè)初始解的誤差進(jìn)行誤差排序;
計(jì)算當(dāng)前七個(gè)初始解所對(duì)應(yīng)的誤差的迭代誤差,并判斷迭代誤差是否滿足收斂條件;
如果迭代誤差不滿足收斂條件,根據(jù)七個(gè)初始解所對(duì)應(yīng)的誤差的大小和/或擴(kuò)張系數(shù)和/或收縮系數(shù)計(jì)算三維模型相對(duì)二維影像位置的反射點(diǎn)或壓縮點(diǎn)或擴(kuò)張點(diǎn),并用反射點(diǎn)或壓縮點(diǎn)或擴(kuò)張點(diǎn)相對(duì)二維影像位置的初始解替代原七個(gè)初始解中誤差最大的初始解,得到替換后的7個(gè)初始解,并返回至投影二值圖生成模塊中;
如果迭代誤差滿足收斂條件,獲得七個(gè)初始解所對(duì)應(yīng)的誤差中誤差最小的初始解,根據(jù)誤差最小的初始解中的六個(gè)調(diào)整參數(shù)調(diào)整三維模型的空間位置,此時(shí)三維模型與二維影像的相對(duì)位置關(guān)系即為拍照時(shí)二維影像與三維模型的相對(duì)位置關(guān)系。
附圖說明
圖1為本發(fā)明自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法的整體流程圖;
圖2為本發(fā)明自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法的具體流程圖;
圖3為本發(fā)明自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法中三維模型初始位置示意圖;
圖4為本發(fā)明自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法中二維影像分割種子點(diǎn)的示意圖;
圖5為本發(fā)明自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法中二維影像分割后前后景二值圖示意圖;
圖6為本發(fā)明自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法中三維模型投射影像示意圖;
圖7為本發(fā)明自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法中單純形法調(diào)整前邊界處的誤差示意圖;
圖8為本發(fā)明自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法中單純形法調(diào)整后邊界處的誤差示意圖;
圖9為本發(fā)明自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法中單純形法調(diào)整后的效果示意圖;
圖10為本發(fā)明自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
如圖1所示,自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法,包括以下步驟:
S1,根據(jù)拍攝二維影像時(shí)的視場(chǎng)角設(shè)置二維影像與三維模型的初始相對(duì)位置;
S2,根據(jù)二維影像與三維模型的初始相對(duì)位置將三維模型投影到二維影像上后,獲取二維影像中前景和后景的種子點(diǎn);
S3,通過二維影像中前景和后景的種子點(diǎn),利用圖像分割算法將二維影像中的前景和后景分離,得到二維影像的前后景二值圖;
S4,調(diào)整三維模型的位置,并將調(diào)整后的三維模型投影到二維影像上,獲得三維模型的投影二值圖;
S5,以三維模型的投影二值圖和二維影像的前后景二值圖的異或累加值作為優(yōu)化條件,利用單純形法優(yōu)化并求取二維影像與三維模型的相對(duì)位置。
其中:二維影像中的前景是三維模型投影到二維影像上后,在二維影像中的三維模型部分;二維影像中的后景是二維影像的背景,即空白部分。
圖2為本發(fā)明自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法的具體流程圖。
在步驟S1中:S11,根據(jù)二維影像的EXIF信息,計(jì)算拍攝二維影像時(shí)的視場(chǎng)角;S12,將三維模型和二維影像顯示在同一個(gè)三維空間中,根據(jù)計(jì)算得出的拍攝二維影像時(shí)的視場(chǎng)角設(shè)置三維空間視場(chǎng)角大小,根據(jù)三維空間視場(chǎng)角大小調(diào)整三維模型相對(duì)于二維影像中三維模型邊界的一個(gè)初始相對(duì)位置。三維模型相對(duì)于二維影像中模型邊界的一個(gè)粗略位置如圖3所示。
其中:二維影像的EXIF信息包含了所拍影像的各種元數(shù)據(jù):如焦距、相機(jī)品牌、相機(jī)型號(hào)等信息;計(jì)算視場(chǎng)角的方法是:構(gòu)建相機(jī)品牌、相機(jī)型號(hào)和相機(jī)感光元件大小之間的數(shù)據(jù)庫(kù),使用時(shí)根據(jù)查詢數(shù)據(jù)庫(kù)的結(jié)果和視場(chǎng)角公式計(jì)算視場(chǎng)角的大小。
在步驟S2中,根據(jù)二維影像與三維模型的初始相對(duì)位置,將三維模型投射在二維影像平面上,得到二值化影像,對(duì)二值化影像進(jìn)行腐蝕和膨脹處理,獲得二維影像中前景和后景的種子點(diǎn),二維影像中前景和后景的種子點(diǎn)如圖4所示。
在步驟S3中,本發(fā)明分離二維影像中的模型部分采用的是GraphCuts算法,該算法根據(jù)圖像的亮度分布、邊緣等信息將圖像分割為若干子圖;利用步驟S2得到的二維影像的前景和后景的種子點(diǎn),作為GraphCuts算法的輸入,輸出為分離后的二維影像的前景和后景的影像,用二值化圖像表示,即得到二維影像的前后景二值圖,分離后的二維影像的前后景二值圖如圖5所示。
在步驟S4中:
S41,確定三維模型與二維影像的相對(duì)位置的六個(gè)調(diào)整參數(shù),初始化三維模型相對(duì)二維影像位置的七個(gè)初始解,其中每個(gè)初始解包含六個(gè)調(diào)整參數(shù),初始化三維模型相對(duì)二維影像位置的七個(gè)初始解對(duì)應(yīng)誤差的收斂條件,初始化三維模型相對(duì)二維影像位置的七個(gè)初始解的擴(kuò)張系數(shù)和收縮系數(shù);
S42,根據(jù)每個(gè)初始解中的六個(gè)調(diào)整參數(shù)調(diào)整三維模型的位置,并將每次調(diào)整后的三維模型投影到二維影像上,獲得三維模型的七個(gè)投影二值圖。調(diào)整后的三維模型的投射影像如圖6所示。
其中:三維模型與二維影像的相對(duì)位置的六個(gè)調(diào)整參數(shù)包括三個(gè)平移參數(shù)和三個(gè)旋轉(zhuǎn)參數(shù),當(dāng)三維模型和二維影像顯示在同一個(gè)三維空間中時(shí),這六個(gè)參數(shù)就控制了模型相對(duì)于影像的位置;在三維模型相對(duì)三維空間位置的七個(gè)初始解中,其中每個(gè)初始解代表三維模型的一個(gè)空間位置,由六個(gè)調(diào)整參數(shù)組成;收斂條件是優(yōu)化算法停止迭代的終止條件,擴(kuò)張系數(shù)和壓縮系數(shù)在后續(xù)步驟中求取擴(kuò)張點(diǎn)或壓縮點(diǎn)使用。
在步驟S5中:
步驟S5具體為:
S51,根據(jù)S42中獲得的三維模型的七個(gè)投影二值圖和S3中獲得的二維影像的前后景二值圖的異或累加值,并將所述異或累加值作為三維模型相對(duì)二維影像位置的七個(gè)初始解所對(duì)應(yīng)的誤差,并對(duì)七個(gè)初始解的誤差進(jìn)行誤差排序;如圖7所示,圖7為單純形法調(diào)整前邊界處的誤差示意圖;
S52,計(jì)算當(dāng)前七個(gè)初始解所對(duì)應(yīng)的誤差的迭代誤差,并判斷迭代誤差是否滿足S41中初始化的收斂條件,如果不滿足,則執(zhí)行步驟S53,如果滿足,則執(zhí)行步驟S54;
S53,根據(jù)七個(gè)初始解所對(duì)應(yīng)的誤差的大小和/或S41中初始化的擴(kuò)張系數(shù)和/或收縮系數(shù)計(jì)算三維模型相對(duì)二維影像位置的反射點(diǎn)或壓縮點(diǎn)或擴(kuò)張點(diǎn),并用反射點(diǎn)或壓縮點(diǎn)或擴(kuò)張點(diǎn)替代七個(gè)初始解中誤差最大的初始解,得到替換后的7個(gè)初始解,并返回至步驟S42;如圖8所示,圖8為單純形法調(diào)整后邊界處的誤差示意圖;
S54,獲得S51中的七個(gè)初始解所對(duì)應(yīng)的誤差中誤差最小的初始解,根據(jù)誤差最小的初始解中的六個(gè)調(diào)整參數(shù)調(diào)整三維模型的空間位置,此時(shí)三維模型與二維影像的相對(duì)位置關(guān)系即為拍照時(shí)二維影像與三維模型的相對(duì)位置關(guān)系。如圖9所示,圖9為準(zhǔn)確調(diào)整后的效果示意圖。
其中:計(jì)算三維模型相對(duì)三維空間位置的七個(gè)初始解所對(duì)應(yīng)的誤差可以通過三維模型的投影二值圖和二維影像的前后景二值圖之間的異或運(yùn)算進(jìn)行統(tǒng)計(jì);迭代誤差是對(duì)當(dāng)前七個(gè)初始解所對(duì)應(yīng)誤差的整體評(píng)估。
本發(fā)明的自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法是根據(jù)拍攝時(shí)的視場(chǎng)角和據(jù)此給定的三維模型相對(duì)于二維影像的初始位置,選取二維影像分割的種子點(diǎn),將二維影像中的模型部分與背景分離開來,通過調(diào)整三維空間中模型相對(duì)于影像的位置,利用單純形法求取準(zhǔn)確的相對(duì)位置;本發(fā)明充分利用了三維幾何形狀信息和二維紋理信息,基于圖像分割技術(shù)和單純形算法,盡量減少人工交互的工作,自動(dòng)重建二維影像與三維模型的準(zhǔn)確相對(duì)位置,減少人工干預(yù)的工作量。
基于上述自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法,本發(fā)明還提供一種自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的系統(tǒng)。
如圖10所示,自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的系統(tǒng),該系統(tǒng)根據(jù)自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的方法構(gòu)建,包括初始位置設(shè)置模塊、種子點(diǎn)獲取模塊、分離模塊、投影二值圖生成模塊和相對(duì)位置生成模塊;
所述初始位置設(shè)置模塊,其用于根據(jù)拍攝二維影像時(shí)的視場(chǎng)角設(shè)置二維影像與三維模型的初始位置;
所述種子點(diǎn)獲取模塊,其用于根據(jù)二維影像與三維模型的初始相對(duì)位置將三維模型投影到二維影像上后,獲取二維影像中前景和后景的種子點(diǎn);
所述分離模塊,其用于通過二維影像中前景和后景的種子點(diǎn),利用圖像分割算法將二維影像中的前景和后景分離,得到二維影像的前后景二值圖;
所述投影二值圖生成模塊,其用于調(diào)整三維模型的位置,并將調(diào)整后的三維模型投影到二維影像上,獲得三維模型的投影二值圖;
所述相對(duì)位置生成模塊,其用于以三維模型的投影二值圖和二維影像的前后景二值圖的異或累加值作為優(yōu)化條件,利用單純形法優(yōu)化并求取二維影像與三維模型的相對(duì)位置。
所述初始位置設(shè)置模塊具體為:首先根據(jù)二維影像的EXIF信息,計(jì)算拍攝二維影像時(shí)的視場(chǎng)角;然后將三維模型和二維影像顯示在同一個(gè)三維空間中,根據(jù)計(jì)算得出的拍攝二維影像時(shí)的視場(chǎng)角設(shè)置三維空間視場(chǎng)角大小,調(diào)整三維模型相對(duì)于二維影像中三維模型邊界的一個(gè)初始相對(duì)位置。
所述種子點(diǎn)獲取模塊具體為:根據(jù)二維影像與三維模型的初始相對(duì)位置將三維模型投射在二維影像平面上,得到二值化影像,并對(duì)二值化影像進(jìn)行腐蝕和膨脹處理,自動(dòng)獲取二維影像中前景和后景的種子點(diǎn)。
所述分離模塊具體為:采用GraphCuts算法,將二維影像中前景和后景的種子點(diǎn)作為GraphCuts算法的輸入,GraphCuts算法的輸出為二維影像的前后景二值圖。
所述投影二值圖生成模塊具體為:
首先確定三維模型與二維影像的相對(duì)位置的六個(gè)調(diào)整參數(shù),初始化三維模型相對(duì)二維影像位置的七個(gè)初始解,其中每個(gè)初始解包含六個(gè)調(diào)整參數(shù),初始化收斂條件、擴(kuò)張系數(shù)和收縮系數(shù);
然后根據(jù)每個(gè)初始解中的六個(gè)調(diào)整參數(shù)調(diào)整三維模型的位置,并將每次調(diào)整后的三維模型分別投影到二維影像上,獲得三維模型的七個(gè)投影二值圖;
所述相對(duì)位置生成模塊具體為:
首先,獲取三維模型的七個(gè)投影二值圖和二維影像的前后景二值圖的異或累加值,并將所述異或累加值作為三維模型相對(duì)二維影像位置的七個(gè)初始解所對(duì)應(yīng)的誤差,并對(duì)七個(gè)初始解的誤差進(jìn)行誤差排序;
然后,計(jì)算當(dāng)前七個(gè)初始解所對(duì)應(yīng)的誤差的迭代誤差,并判斷迭代誤差是否滿足收斂條件;
接著,如果迭代誤差不滿足收斂條件,根據(jù)七個(gè)初始解所對(duì)應(yīng)的誤差的大小和/或擴(kuò)張系數(shù)和/或收縮系數(shù)計(jì)算三維模型相對(duì)二維影像位置的反射點(diǎn)或壓縮點(diǎn)或擴(kuò)張點(diǎn),并用反射點(diǎn)或壓縮點(diǎn)或擴(kuò)張點(diǎn)相對(duì)二維影像位置的初始解替代原七個(gè)初始解中誤差最大的初始解,得到替換后的7個(gè)初始解,并返回至投影二值圖生成模塊中;
最后,如果迭代誤差滿足收斂條件,獲得七個(gè)初始解所對(duì)應(yīng)的誤差中誤差最小的初始解,根據(jù)誤差最小的初始解中的六個(gè)調(diào)整參數(shù)調(diào)整三維模型的空間位置,此時(shí)三維模型與二維影像的相對(duì)位置關(guān)系即為拍照時(shí)二維影像與三維模型的相對(duì)位置關(guān)系。
本發(fā)明的自動(dòng)重建二維影像與三維模型準(zhǔn)確相對(duì)位置的系統(tǒng)是根據(jù)給定的三維模型相對(duì)于二維影像的初始位置,選取二維影像分割的種子點(diǎn),將二維影像中的模型部分與背景分離開來,通過調(diào)整三維空間中模型相對(duì)于影像的位置,利用單純形法求取準(zhǔn)確的相對(duì)位置;本發(fā)明充分利用了三維幾何形狀信息和二維紋理信息,基于圖像分割技術(shù)和單純形算法,盡量減少人工交互的工作,自動(dòng)重建二維影像與三維模型的準(zhǔn)確相對(duì)位置,減少人工干預(yù)的工作量。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。