本發(fā)明涉及計(jì)算機(jī)視覺(jué)技術(shù)領(lǐng)域,尤其涉及一種三維建模外點(diǎn)去除的方法、裝置及三維建模的方法。
背景技術(shù):
在計(jì)算機(jī)視覺(jué)領(lǐng)域,基于圖像的三維重建是一項(xiàng)重要的逆向建模手段。為了減少不必要的匹配、重建,往往將被重建物體放置于簡(jiǎn)單背景環(huán)境內(nèi),即放置在純色或者少量的色塊構(gòu)成的弱紋理環(huán)境中。但即使這樣,基于物體多個(gè)方向的圖像對(duì)物體進(jìn)行三維重建時(shí),三維重建物體點(diǎn)云附近也會(huì)附著很多由于弱紋理導(dǎo)致的錯(cuò)誤重建點(diǎn),這些錯(cuò)誤的重建點(diǎn)嚴(yán)重影響物體三維建模的準(zhǔn)確性。
技術(shù)實(shí)現(xiàn)要素:
基于此,有必要針對(duì)上述問(wèn)題,提供一種能夠有效去除外點(diǎn)的三維建模外點(diǎn)去除的方法、裝置,以及包含所述方法的三維建模的方法。
為實(shí)現(xiàn)本發(fā)明目的提供的一種三維建模外點(diǎn)去除的方法,包括:
對(duì)三維建模所用的圖像進(jìn)行前景背景分割,分為前景區(qū)域和背景區(qū)域;所述前景區(qū)域?yàn)樗鰣D像中與物體相對(duì)應(yīng)的部分,所述背景圖像為所述圖像中與圖像拍攝背景相對(duì)應(yīng)的部分;
將已經(jīng)構(gòu)建的三維重建點(diǎn)與對(duì)應(yīng)圖像進(jìn)行比對(duì),刪除落在所述背景區(qū)域的所述三維重建點(diǎn);
將未刪除的三維重建點(diǎn)構(gòu)成最終物體三維重建點(diǎn)集,用于對(duì)應(yīng)物體的三維重建。
在其中一個(gè)實(shí)施例中,所述對(duì)三維建模所用的圖像進(jìn)行前景背景分割,分為前景區(qū)域和背景區(qū)域,包括:
構(gòu)建所述圖像對(duì)應(yīng)的二值圖像;所述二值圖像中與所述三維重建點(diǎn)對(duì)應(yīng)像素點(diǎn)為第一預(yù)設(shè)值,除與所述三維重建點(diǎn)以外的其他像素點(diǎn)為第二預(yù)設(shè)值;
對(duì)所述二值圖像進(jìn)行開(kāi)運(yùn)算處理,得到所述第一預(yù)設(shè)值對(duì)應(yīng)的第一像素集及所述第二預(yù)設(shè)值對(duì)應(yīng)的第二像素集;
將所述圖像中與所述第一像素集對(duì)應(yīng)的區(qū)域標(biāo)記為預(yù)設(shè)前景區(qū)域,經(jīng)所述第二像素集對(duì)應(yīng)的區(qū)域標(biāo)記為預(yù)設(shè)背景區(qū)域;
對(duì)所述圖像根據(jù)對(duì)應(yīng)的預(yù)設(shè)前景區(qū)域及預(yù)設(shè)背景區(qū)域,采用GrabCut算法進(jìn)行迭代優(yōu)化,將所述圖像分為前景區(qū)域和背景區(qū)域。
在其中一個(gè)實(shí)施例中,所述第一預(yù)設(shè)值為255,所述第二預(yù)設(shè)值為0。
在其中一個(gè)實(shí)施例中,所述將已經(jīng)構(gòu)建的三維重建點(diǎn)與對(duì)應(yīng)圖像進(jìn)行比對(duì),刪除落在背景區(qū)域的所述三維重建點(diǎn),包括:
對(duì)每個(gè)所述三維重建點(diǎn)在每個(gè)可見(jiàn)的所述圖像上的投影進(jìn)行前景區(qū)域及背景區(qū)域判斷;
當(dāng)所述三維重建點(diǎn)在一幅以上所述圖像上的投影在所述背景區(qū)域時(shí),標(biāo)記所述三維重建點(diǎn)為無(wú)效重建點(diǎn);
刪除所述無(wú)效重建點(diǎn)。
在其中一個(gè)實(shí)施例中,所述對(duì)所述圖像根據(jù)對(duì)應(yīng)的預(yù)設(shè)前景區(qū)域及預(yù)設(shè)背景區(qū)域,采用GrabCut算法進(jìn)行迭代優(yōu)化,將所述圖像分為前景區(qū)域和背景區(qū)域,包括:
將每一幅圖像及對(duì)應(yīng)的預(yù)設(shè)前景區(qū)域信息、預(yù)設(shè)背景區(qū)域信息輸入GrabCut算法,并進(jìn)行迭代運(yùn)算,將所述圖像中每個(gè)像素點(diǎn)標(biāo)記為確定前景像素點(diǎn)、預(yù)前景像素點(diǎn)、確定背景像素點(diǎn)及預(yù)背景像素點(diǎn);
劃分所述確定前景像素點(diǎn)及所述預(yù)前景像素點(diǎn)覆蓋區(qū)域?yàn)榍熬皡^(qū)域;
劃分所述確定背景像素點(diǎn)及所述預(yù)背景像素點(diǎn)覆蓋區(qū)域?yàn)楸尘皡^(qū)域。
在其中一個(gè)實(shí)施例中,所述二值圖像與對(duì)應(yīng)的所述圖像的大小相等。
基于同一發(fā)明構(gòu)思,還提供一種三維建模外點(diǎn)去除的裝置,所述裝置包括:
區(qū)域分割模塊,用于對(duì)三維建模所用的圖像進(jìn)行前景背景分割,分為前景區(qū)域和背景區(qū)域;
無(wú)效點(diǎn)去除模塊,用于將已經(jīng)構(gòu)建的三維重建點(diǎn)與對(duì)應(yīng)圖像進(jìn)行比對(duì),刪除落在所述背景區(qū)域的所述三維重建點(diǎn);
點(diǎn)集構(gòu)建模塊,用于將未刪除的三維重建點(diǎn)構(gòu)成最終物體三維重建點(diǎn)集;所述最終物體三維重建點(diǎn)用于對(duì)應(yīng)物體的三維重建。
在其中一個(gè)實(shí)施例中,所述區(qū)域分割模塊包括:
二值圖構(gòu)建子模塊,用于構(gòu)建所述圖像對(duì)應(yīng)的二值圖像;所述二值圖像中與所述三維重建點(diǎn)對(duì)應(yīng)像素點(diǎn)為第一預(yù)設(shè)值,除與所述三維重建點(diǎn)以外的其他像素點(diǎn)為第二預(yù)設(shè)值;
像素集處理子模塊,用于對(duì)所述二值圖像進(jìn)行開(kāi)運(yùn)算處理,得到所述第一預(yù)設(shè)值對(duì)應(yīng)的第一像素集及所述第二預(yù)設(shè)值對(duì)應(yīng)的第二像素集;
區(qū)域標(biāo)記子模塊,用于將所述圖像中與所述第一像素集對(duì)應(yīng)的區(qū)域標(biāo)記為預(yù)設(shè)前景區(qū)域,經(jīng)所述第二像素集對(duì)應(yīng)的區(qū)域標(biāo)記為預(yù)設(shè)背景區(qū)域;
區(qū)域劃分子模塊,用于對(duì)所述圖像根據(jù)對(duì)應(yīng)的預(yù)設(shè)前景區(qū)域及預(yù)設(shè)背景區(qū)域,采用GrabCut算法進(jìn)行迭代優(yōu)化,將所述圖像分為前景區(qū)域和背景區(qū)域。
基于同一發(fā)明構(gòu)思,還提供一種三維建模的方法,所述方法包括:
在預(yù)設(shè)背景下從多個(gè)角度拍攝所要建模物體的多張圖像;所述預(yù)設(shè)背景為純色或者包含由預(yù)設(shè)數(shù)量以下的色塊,且所述背景的顏色與所要建模的物體的顏色不同;
根據(jù)所述圖像生成所述物體三維建模的三維重建點(diǎn);所述三維重建點(diǎn)為多個(gè);
采用前述任一實(shí)施例的三維建模的外點(diǎn)去除的方法,對(duì)所述三維重建點(diǎn)進(jìn)行處理,得到最終物體三維重建點(diǎn);
根據(jù)所述最終物體三維重建點(diǎn)對(duì)所述物體進(jìn)行三維建模,得到所述物體的三維模型。
在其中一個(gè)實(shí)施例中,所述根據(jù)所述圖像生成所述物體三維建模的三維重建點(diǎn),包括:
根據(jù)所述圖像,利用bundler進(jìn)行拍攝相機(jī)的標(biāo)定,并進(jìn)行物體三維模型的稀疏重建;
根據(jù)所述稀疏重建結(jié)果,利用PMVS算法生成所述物體三維重建的三維重建點(diǎn);所述三維重建點(diǎn)的點(diǎn)云比所述稀疏重建生成的點(diǎn)云稠密。
本發(fā)明的有益效果包括:
本發(fā)明提供的一種三維建模外點(diǎn)去除的方法,通過(guò)對(duì)所使用圖像進(jìn)行前景和背景區(qū)域分割,并根據(jù)前景背景信息將落在背景區(qū)域中的三維重建點(diǎn)進(jìn)行濾除,保留落在前景區(qū)域中的三維重建點(diǎn)云,整個(gè)方法處理過(guò)程簡(jiǎn)單,可以通過(guò)計(jì)算機(jī)自動(dòng)計(jì)算完成,外點(diǎn)(無(wú)效三維重建點(diǎn))去除效果好,保留三維重建點(diǎn)有效性高,從而能夠更準(zhǔn)確的對(duì)所建模的物體進(jìn)行三維建模,模型構(gòu)建準(zhǔn)確性更高。
附圖說(shuō)明
圖1為本發(fā)明一種三維建模外點(diǎn)去除的方法的一具體實(shí)施例的流程圖;
圖2為本發(fā)明一種三維建模外點(diǎn)去除的裝置的一具體實(shí)施例的結(jié)構(gòu)圖;
圖3為本發(fā)明一種三維建模外點(diǎn)去除的裝置中區(qū)域分割模塊構(gòu)成示意圖;
圖4為本發(fā)明一種三維建模的方法的一具體實(shí)施例的流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖對(duì)本發(fā)明的三維建模外點(diǎn)去除的方法、裝置以及使用前述方法對(duì)物體進(jìn)行三維建模的三維建模的方法的具體實(shí)施方式進(jìn)行說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本領(lǐng)域技術(shù)人員可以理解,所述外點(diǎn)是指在對(duì)物體進(jìn)行三維重建時(shí),所得到的三維重建點(diǎn)云中無(wú)效的三維重建點(diǎn)。
參見(jiàn)圖1,本發(fā)明一實(shí)施例的三維建模外點(diǎn)去除的方法,包括以下步驟:
S100,對(duì)三維建模所用的圖像進(jìn)行前景背景分割,分為前景區(qū)域和背景區(qū)域。
需要說(shuō)明的是,本實(shí)施例的方法是一種對(duì)物體三維重建用三維重建點(diǎn)進(jìn)行處理的方法。在進(jìn)行處理之前,可以先對(duì)要進(jìn)行三維重建的物體從多個(gè)方位進(jìn)行拍照,獲取多張圖像,并對(duì)圖像進(jìn)行三維重建處理,獲取三維重建用的三維重建點(diǎn),一般會(huì)包含數(shù)量較多的三維重建點(diǎn),構(gòu)成三維重建點(diǎn)云。
步驟S100中所述的三維建模所用的圖像即為對(duì)物體事先拍攝的圖像。在實(shí)施過(guò)程中可對(duì)每張所使用的圖像進(jìn)行處理,將圖像分割為前景區(qū)域和背景區(qū)域,所述前景區(qū)域?yàn)樗鰣D像中與物體相對(duì)應(yīng)的部分,也即攝的圖像中對(duì)應(yīng)物體圖像部分的區(qū)域,所述背景圖像為所述圖像中與圖像拍攝背景相對(duì)應(yīng)的部分,也即拍攝到背景圖像的區(qū)域。
在對(duì)物體進(jìn)行三維建模進(jìn)行圖像拍攝時(shí),一般使用圖形圖案簡(jiǎn)單的背景,如使用純色背景或者由少量色塊組成的圖案作為背景。且在進(jìn)行背景設(shè)置時(shí),選用與物體顏色差異大的背景顏色。如彩色的物體(紅色、黃色,或者多種色彩相結(jié)合的物體),可使用純白色作為背景,以使背景顏色與前景顏色能夠進(jìn)行明顯區(qū)分。便于圖像前景區(qū)域和背景區(qū)域的分割。
S200,將已經(jīng)構(gòu)建的三維重建點(diǎn)與對(duì)應(yīng)圖像進(jìn)行比對(duì),刪除落在背景區(qū)域的三維重建點(diǎn)。
本步驟中,是對(duì)每個(gè)三維重建點(diǎn)在所有可見(jiàn)圖像上的投影點(diǎn)根據(jù)前景背景分割信息進(jìn)行判斷。將每個(gè)圖像中的投影點(diǎn)分別與背景區(qū)域和前景區(qū)域范圍進(jìn)行比對(duì),判斷其所屬區(qū)域,并將投影點(diǎn)落在背景區(qū)域中的三維重建點(diǎn)進(jìn)行刪除。作為一種可實(shí)施方式,可以先對(duì)投影點(diǎn)落在背景區(qū)域的三維重建點(diǎn)進(jìn)行標(biāo)記,如可以標(biāo)記為無(wú)效三維重建點(diǎn),并最后統(tǒng)一將標(biāo)記為無(wú)效重建點(diǎn)的三維重建點(diǎn)刪除。當(dāng)然也可以每發(fā)現(xiàn)一個(gè)無(wú)效三維重建點(diǎn)立即將其從三維重建點(diǎn)點(diǎn)云中刪除。
另外,對(duì)于無(wú)效三維重建點(diǎn)的標(biāo)記,也即對(duì)三維重建點(diǎn)的刪除,在其中一個(gè)實(shí)施例中,對(duì)每個(gè)三維重建點(diǎn)在每個(gè)可見(jiàn)的圖像上的投影進(jìn)行前景區(qū)域及背景區(qū)域判斷,當(dāng)三維重建點(diǎn)在一幅以上圖像上的投影在背景區(qū)域時(shí),標(biāo)記三維重建點(diǎn)為無(wú)效重建點(diǎn),刪除該無(wú)效重建點(diǎn)。也即設(shè)定只要某一三維重建點(diǎn)在一個(gè)可見(jiàn)圖像中的投影落在該圖像的背景區(qū)域中,則判定該三維重建點(diǎn)為無(wú)效三維重建點(diǎn),刪除該三維重建點(diǎn)。這種方式在三維重建點(diǎn)云密集的情況下可以更有效的濾除無(wú)效三維重建點(diǎn),使最終物體重建所使用的三維重建點(diǎn)云更準(zhǔn)確,從而物體三維重建受無(wú)效數(shù)據(jù)干擾越小,物體三維重建更精確。
在其他實(shí)施例中,也可以設(shè)定一定的判定比例條件,作為三維重建點(diǎn)是否為無(wú)效重建點(diǎn)的的判斷標(biāo)準(zhǔn)。如設(shè)定三維重建點(diǎn)在所有可見(jiàn)圖像中的投影點(diǎn)超過(guò)50%落在對(duì)應(yīng)圖像的背景區(qū)域中,則判定該三維重建點(diǎn)為無(wú)效重建點(diǎn),進(jìn)行刪除。當(dāng)然,該比例可根據(jù)拍攝圖像的數(shù)量,以及處理需求進(jìn)行設(shè)定,如可以設(shè)定為60%、70%等。而且根據(jù)需求,可以對(duì)所有三維重建設(shè)定一個(gè)統(tǒng)一的判定標(biāo)準(zhǔn)條件,也可以針對(duì)不同的三維重建點(diǎn)設(shè)定不同的判定條件。如根據(jù)物體不同位置對(duì)應(yīng)的三維重建點(diǎn)設(shè)定不同的三維重建點(diǎn)無(wú)效判定條件。
S300,將未刪除的三維重建點(diǎn)構(gòu)成最終物體三維重建點(diǎn)集。
所述最終物體三維重建點(diǎn)集用于對(duì)應(yīng)物體的三維重建,即使用所述最終三維重建點(diǎn)集對(duì)物體進(jìn)行三維重建,從而能夠最終完成物體的三維重建。
本實(shí)施例的三維建模外點(diǎn)去除的方法,通過(guò)對(duì)所使用圖像進(jìn)行前景和背景區(qū)域分割,并根據(jù)前景背景信息將落在背景區(qū)域中的三維重建點(diǎn)進(jìn)行濾除,保留落在前景區(qū)域中的三維重建點(diǎn)云,整個(gè)方法處理過(guò)程簡(jiǎn)單,可以通過(guò)計(jì)算機(jī)自動(dòng)計(jì)算完成,外點(diǎn)(無(wú)效三維重建點(diǎn))去除效果好,保留三維重建點(diǎn)有效性高,從而能夠更準(zhǔn)確的對(duì)所建模的物體進(jìn)行三維建模,模型構(gòu)建準(zhǔn)確性更高。
在其中一個(gè)實(shí)施例中,步驟S100,對(duì)三維建模所用的圖像進(jìn)行前景背景分割,分為前景區(qū)域和背景區(qū)域,包括以下步驟:
S110,構(gòu)建圖像對(duì)應(yīng)的二值圖像。
需要說(shuō)明的是,步驟S100對(duì)圖像的處理針對(duì)每一幅圖像進(jìn)行,本步驟S110中構(gòu)建圖像的二值圖像也是針對(duì)每一幅圖像進(jìn)行,對(duì)三維重建的每幅圖像或者針對(duì)每個(gè)三維重建點(diǎn)進(jìn)行處理時(shí),對(duì)某一三維重建點(diǎn)可見(jiàn)的每一幅圖像構(gòu)建相對(duì)應(yīng)的二值圖像。
較佳地,可以針對(duì)每一相對(duì)應(yīng)的圖像構(gòu)建大小相等的二值圖像,即所構(gòu)建的二值圖像的長(zhǎng)寬與所對(duì)應(yīng)的圖像相等,減小后續(xù)根據(jù)拍攝的圖像及二值圖像進(jìn)行進(jìn)一步處理的數(shù)據(jù)處理量,提高數(shù)據(jù)處理效率。當(dāng)然,在其他實(shí)施例中,也可以按照一定比例構(gòu)建大于或者小于原始圖像的對(duì)應(yīng)二值圖。但應(yīng)保證二值圖中包含的像素點(diǎn)數(shù)量與原圖像素點(diǎn)數(shù)量相同。
具體的,所構(gòu)建的二值圖像中與三維重建點(diǎn)對(duì)應(yīng)像素點(diǎn)為第一預(yù)設(shè)值,也即三維重建點(diǎn)在該圖像中投影點(diǎn)對(duì)應(yīng)的像素點(diǎn)賦值為第一預(yù)設(shè)值。圖像中其他像素點(diǎn),也即除與三維重建點(diǎn)以外的其他像素點(diǎn)賦值為第二預(yù)設(shè)值。當(dāng)然,所述第一預(yù)設(shè)值與所述第二預(yù)設(shè)值不同,且一般設(shè)置兩個(gè)預(yù)設(shè)值的差距較大。如在其中一個(gè)實(shí)施例中,設(shè)置第一預(yù)設(shè)值為255,第二預(yù)設(shè)值為0。當(dāng)然也可以設(shè)置其他兩個(gè)相差值較大的預(yù)設(shè)值。
S120,對(duì)二值圖像進(jìn)行開(kāi)運(yùn)算處理,得到第一預(yù)設(shè)值對(duì)應(yīng)的第一像素集及第二預(yù)設(shè)值對(duì)應(yīng)的第二像素集。
S130,將圖像中與第一像素集對(duì)應(yīng)的區(qū)域標(biāo)記為預(yù)設(shè)前景區(qū)域,經(jīng)第二像素集對(duì)應(yīng)的區(qū)域標(biāo)記為預(yù)設(shè)背景區(qū)域。
需要說(shuō)明的是,本步驟中,所述預(yù)設(shè)前景區(qū)域和所述預(yù)設(shè)背景區(qū)域只是為后續(xù)采用GrabCut算法進(jìn)行精確判斷的一個(gè)參考數(shù)據(jù)。
S140,對(duì)圖像根據(jù)對(duì)應(yīng)的預(yù)設(shè)前景區(qū)域及預(yù)設(shè)背景區(qū)域,采用GrabCut算法進(jìn)行迭代優(yōu)化,將圖像分為前景區(qū)域和背景區(qū)域。
本步驟中,利用OpenCV的Crab Cut圖像分割算法進(jìn)行原始圖像的前景背景分割,輸入了原始圖像及通過(guò)二值圖像獲取的前景和背景的初始劃分信息(預(yù)設(shè)前景區(qū)域和預(yù)設(shè)背景區(qū)域),該算法通過(guò)迭代自動(dòng)進(jìn)行精準(zhǔn)的前景區(qū)域和背景區(qū)域分割。
具體的,在其中一個(gè)實(shí)施例中,采用GrabCut算法進(jìn)行迭代優(yōu)化,對(duì)圖像分為前景區(qū)域和背景區(qū)域劃分時(shí),將每一幅圖像及對(duì)應(yīng)的預(yù)設(shè)前景區(qū)域信息、預(yù)設(shè)背景區(qū)域信息輸入GrabCut算法,并進(jìn)行迭代運(yùn)算,將圖像中每個(gè)像素點(diǎn)標(biāo)記為確定前景像素點(diǎn)、預(yù)前景像素點(diǎn)、確定背景像素點(diǎn)及預(yù)背景像素點(diǎn)。劃分確定前景像素點(diǎn)及預(yù)前景像素點(diǎn)覆蓋區(qū)域均為前景區(qū)域;劃分確定背景像素點(diǎn)及預(yù)背景像素點(diǎn)覆蓋區(qū)域均為背景區(qū)域。如此能夠最大程度的保證重建的完整性。當(dāng)然,在其他實(shí)施例中,對(duì)物體建模精準(zhǔn)度要求更高時(shí),也可只將通過(guò)GrabCut算法確定的確定前景像素點(diǎn)覆蓋區(qū)域劃分為前景區(qū)域,將預(yù)前景像素點(diǎn)、確定背景像素點(diǎn)和預(yù)背景像素點(diǎn)覆蓋區(qū)域均劃分到背景區(qū)域。
需要說(shuō)明的是,所述確定前景像素點(diǎn)是通過(guò)所述GrabCut算法計(jì)算出的一定為前景圖像的像素點(diǎn),所述預(yù)前景像素點(diǎn)為通過(guò)所述GrabCut算法計(jì)算出可能為前景的像素點(diǎn);類似的,所述確定背景像素點(diǎn)是通過(guò)所述GrabCut算法計(jì)算出的一定為背景圖像的像素點(diǎn),所述預(yù)背景像素點(diǎn),為通過(guò)所述GrabCut算法計(jì)算出的可能為背景像素點(diǎn)的像素點(diǎn)。
下面以一具體實(shí)例對(duì)三維建模外點(diǎn)去除方法進(jìn)行說(shuō)明。
設(shè)用于物體三維建模序列圖像集Img={Ii},i=1,2,…m,m為大于等于3的正整數(shù)。使用所述圖像集中的所有圖像經(jīng)過(guò)三維重建(如bundler和PMVS)得到物體的三維重建點(diǎn)云P={pk},k=1,2…,n,n為大于等于3的正整數(shù)。每個(gè)三維中重建點(diǎn)pk的可見(jiàn)圖像vk={Ikj},j為大于等于1的正整數(shù),三維重建點(diǎn)在Ikj上的投影點(diǎn)為ckj,該信息在PMVS時(shí)已得到。每一幅圖像I上所有其可見(jiàn)的三維點(diǎn)投影點(diǎn)集記作Ip。首先針對(duì)參與重建的每一幅圖像I,建立一幅同樣長(zhǎng)寬的二值圖像Ib,并將Ib上Ip對(duì)應(yīng)的像素點(diǎn)賦值為255,其他點(diǎn)賦值為0。對(duì)Ib進(jìn)行開(kāi)運(yùn)算處理,處理后的圖像記作Ib’,記Ib’中值為255的像素集為F,值為0的像素集為B,則將I中F所對(duì)應(yīng)的像素預(yù)設(shè)為前景,B所對(duì)應(yīng)的像素預(yù)設(shè)為背景。
進(jìn)一步的,將每一幅圖像I以及預(yù)設(shè)的前景背景信息輸入GrabCut算法,通過(guò)迭代優(yōu)化,可以得到前背景分割結(jié)果。分割結(jié)果為將圖像I上的每個(gè)像素標(biāo)記為可能背景、確定背景、可能前景、確定前景四類標(biāo)記之一。
最后,對(duì)所有的圖像都進(jìn)行前背景分割的操作后,將每個(gè)在其所有可見(jiàn)圖像上的投影都落在確定前景和可能前景區(qū)域的重建三維點(diǎn)保留,刪除不滿足條件的其他三維點(diǎn)。所有保留的點(diǎn)形成的點(diǎn)集認(rèn)為是最終前景物體的重建點(diǎn)(構(gòu)成最終物體三維重建點(diǎn)集)。
基于同一發(fā)明構(gòu)思,本發(fā)明還提供一種三維建模外點(diǎn)去除的裝置,由于此裝置解決問(wèn)題的原理與前述一種三維建模外點(diǎn)去除的方法相似,因此,該裝置的實(shí)施可以按照前述方法的具體步驟實(shí)現(xiàn),重復(fù)之處不再贅述。
如圖2所示,其中一個(gè)實(shí)施例的三維建模外點(diǎn)去除的裝置包括:區(qū)域分割模塊100、無(wú)效點(diǎn)去除模塊200以及點(diǎn)集構(gòu)成模塊300。其中,所述區(qū)域分割模塊100,用于對(duì)三維建模所用的圖像進(jìn)行前景背景分割,分為前景區(qū)域和背景區(qū)域;所述無(wú)效點(diǎn)去除模塊200,用于將已經(jīng)構(gòu)建的三維重建點(diǎn)與對(duì)應(yīng)圖像進(jìn)行比對(duì),刪除落在背景區(qū)域的三維重建點(diǎn);所述點(diǎn)集構(gòu)建模塊300,用于將未刪除的三維重建點(diǎn)構(gòu)成最終物體三維重建點(diǎn)集。所述最終物體三維重建點(diǎn)用于對(duì)應(yīng)物體的三維重建。
本實(shí)施例的三維建模外點(diǎn)去除的裝置,通過(guò)前景背景區(qū)域的分割,將落在背景區(qū)域的三維外點(diǎn)去除,保留落在前景區(qū)域中的三維重建點(diǎn)。對(duì)三維重建點(diǎn)的處理程序簡(jiǎn)單,可以通過(guò)計(jì)算機(jī)自動(dòng)完成,外點(diǎn)去除效果好。通過(guò)剩余的有效三維重建點(diǎn)能夠更有效、更精確的對(duì)所處理的物體進(jìn)行三維建模。
如圖3所示,在其中一個(gè)實(shí)施例中,所述區(qū)域分割模塊100包括:二值圖構(gòu)建子模塊110、像素集處理子模塊120、區(qū)域標(biāo)記子模塊130及區(qū)域劃分子模塊140。其中,所述二值圖構(gòu)建子模塊110,用于構(gòu)建圖像對(duì)應(yīng)的二值圖像。且所述二值圖像中與三維重建點(diǎn)對(duì)應(yīng)像素點(diǎn)為第一預(yù)設(shè)值,除與三維重建點(diǎn)以外的其他像素點(diǎn)為第二預(yù)設(shè)值。所述像素集處理子模塊120,用于對(duì)二值圖像進(jìn)行開(kāi)運(yùn)算處理,得到第一預(yù)設(shè)值對(duì)應(yīng)的第一像素集及第二預(yù)設(shè)值對(duì)應(yīng)的第二像素集。所述區(qū)域標(biāo)記子模塊130,用于將圖像中與第一像素集對(duì)應(yīng)的區(qū)域標(biāo)記為預(yù)設(shè)前景區(qū)域,經(jīng)第二像素集對(duì)應(yīng)的區(qū)域標(biāo)記為預(yù)設(shè)背景區(qū)域。所述區(qū)域劃分子模塊140,用于對(duì)圖像根據(jù)對(duì)應(yīng)的預(yù)設(shè)前景區(qū)域及預(yù)設(shè)背景區(qū)域,采用GrabCut算法進(jìn)行迭代優(yōu)化,將圖像分為前景區(qū)域和背景區(qū)域。
本實(shí)施例中,采用二值圖的方式對(duì)物體建模所涉及的圖像進(jìn)行前景、背景分割,圖像處理過(guò)程簡(jiǎn)單,整個(gè)過(guò)程適于計(jì)算機(jī)自動(dòng)處理。
需要說(shuō)明的是,對(duì)于二值圖像中各像素點(diǎn)的值,可根據(jù)需要進(jìn)行設(shè)置,如可設(shè)置三維重建點(diǎn)對(duì)應(yīng)的投影點(diǎn)像素點(diǎn)值為255,其他點(diǎn)像素點(diǎn)值為0。當(dāng)然,在其他實(shí)施例中也可以設(shè)置為其他值。
另外,基于前述各實(shí)施例的三維建模外點(diǎn)去除的方法,本發(fā)明還提供一種三維建模的方法。具體的,如圖4所示,其中一個(gè)實(shí)施例的三維建模的方法包括以下步驟:
S001,在預(yù)設(shè)背景下從多個(gè)角度拍攝所要建模物體的多張圖像。
這是對(duì)某一物體采用圖像法進(jìn)行三維建模的必須步驟,通過(guò)該步驟獲取物體多個(gè)角度的圖像。需要強(qiáng)調(diào)的是,在對(duì)物體進(jìn)行圖像拍攝時(shí),所設(shè)置的預(yù)設(shè)背景應(yīng)為純色或者包含由預(yù)設(shè)數(shù)量以下的色塊,且背景的顏色與所要建模的物體的顏色不同。從而便于在后續(xù)處理中從圖像中提取物體的圖像,也即前景圖像。
如,在一具體實(shí)例中,首先將物體放置于轉(zhuǎn)臺(tái)上,轉(zhuǎn)臺(tái)一側(cè)放置相機(jī)(或相機(jī)陣列),正對(duì)著相機(jī)的另一側(cè)放置純色的背景布(或紙)。轉(zhuǎn)臺(tái)每轉(zhuǎn)動(dòng)一定角度,相機(jī)曝光一次。當(dāng)轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)360度后,就采集完物體一周的圖像,且每張圖像背景都是同樣的純色。如此獲取物體各方向的圖像。
S002,根據(jù)圖像生成物體三維建模的三維重建點(diǎn),且所生成的三維重建點(diǎn)為多個(gè)。
本步驟中,通過(guò)圖像對(duì)物體進(jìn)行三維重建,生成物體對(duì)應(yīng)的三維重建點(diǎn)云??刹捎酶鞣N已知的通過(guò)圖像對(duì)物體進(jìn)行三維重建的方法。
在其中一個(gè)實(shí)施例中,首先根據(jù)所獲取的圖像,利用bundler進(jìn)行拍攝相機(jī)的標(biāo)定,并進(jìn)行物體三維模型的稀疏重建;再根據(jù)稀疏重建結(jié)果,利用PMVS算法生成物體三維重建的三維重建點(diǎn)。而且三維重建點(diǎn)的點(diǎn)云比稀疏重建生成的點(diǎn)云稠密。
S003,采用前述任一實(shí)施例的三維建模的外點(diǎn)去除的方法,對(duì)三維重建點(diǎn)進(jìn)行處理,得到最終物體三維重建點(diǎn);
S004,根據(jù)最終物體三維重建點(diǎn)對(duì)物體進(jìn)行三維建模,得到物體的三維模型。
本實(shí)施例的三維重建點(diǎn)的方法,使用前述三維重建外點(diǎn)去除的方法對(duì)三維重建點(diǎn)云進(jìn)行處理,從而濾除三維重建點(diǎn)云中的無(wú)效三維重建點(diǎn),從而使構(gòu)建的物體的三維模型更加精確。
為解決發(fā)明提出的問(wèn)題,全部或部分以計(jì)算機(jī)程序處理流程為基礎(chǔ),通過(guò)計(jì)算機(jī)執(zhí)行按上述流程編制的計(jì)算機(jī)程序,對(duì)計(jì)算機(jī)外部對(duì)象或者內(nèi)部對(duì)象進(jìn)行控制或處理的解決方案。
本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory,RAM)等。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。