本發(fā)明涉及一種便攜設(shè)備的交互材質(zhì)獲取系統(tǒng)和方法,屬于圖形圖像處理領(lǐng)域。
背景技術(shù):
近年來,利用單幅圖像獲取材質(zhì)外觀屬性并生成材質(zhì)貼圖技術(shù),取得了一些進展,例如,在工業(yè)界技術(shù)人員利用CrazyBump計算Normal圖;在研究領(lǐng)域,微軟亞洲研究院開發(fā)出了一款交互式材質(zhì)獲取系統(tǒng)AppGen。但是相關(guān)系統(tǒng)均假設(shè)輸入的單幅圖像沒有明顯的高光,限制了此類方法的應(yīng)用。另一方面,利用此類方法恢復(fù)的材質(zhì)貼圖,很難制作出類似于真實光照條件下的渲染效果。
YUV是被歐洲電視系統(tǒng)所采用的一種顏色編碼方法,是PAL和SECAM模擬彩色電視制式采用的顏色空間。在現(xiàn)代彩色電視系統(tǒng)中,通常采用三管彩色攝影機或彩色CCD攝影機進行取像,然后把取得的彩色圖像信號經(jīng)分色、分別放大校正后得到RGB,再經(jīng)過矩陣變換電路得到亮度信號Y和兩個色差信號B-Y(即U)、R-Y(即V),最后發(fā)送端將亮度和色差三個信號分別進行編碼,用同一信道發(fā)送出去。這種色彩的表示方法就是所謂的YUV色彩空間表示。YUV的亮度信號Y和色度信號U、V是分離的。如果只有Y信號分量而沒有U、V分量,那么這樣表示的圖像就是黑白灰度圖像。彩色電視采用YUV空間正是為了用亮度信號Y解決彩色電視機與黑白電視機的兼容問題,使黑白電視機也能接收彩色電視信號。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的不足,本發(fā)明的技術(shù)方案公開了一種便攜設(shè)備的交互材質(zhì)獲取系統(tǒng)方法,圖像數(shù)據(jù)通過手機、單反相機等設(shè)備拍攝帶閃光和無閃光照片獲得。
本發(fā)明的技術(shù)方案包括一種便攜設(shè)備的交互材質(zhì)獲取系統(tǒng),其特征在于,該系統(tǒng)包括:采集模塊,用于使用便攜設(shè)備采集無閃光材質(zhì)圖像,還用于利用便攜設(shè)備采集帶閃光材質(zhì)圖像;高光分離模塊,用于將所述采集模塊采集的無閃光原始RGB顏色空間圖像轉(zhuǎn)化成YUV顏色空間圖像,并基于用戶輸入的分離參數(shù)以及YUV顏色空間圖像的原始明暗圖計算得到新的明暗圖,進一步將YUV圖像分離得到鏡像反射圖和漫反射圖;法向圖模塊,根據(jù)高光分離模塊得到新明暗圖的像素差,在切空間創(chuàng)建第一切向量和第二切向量,進一步,根據(jù)第一切向量和第二切向量計算法向圖初始值;漫反射模塊,用于獲取所述高光分離得到的漫反射圖,計算漫反射系數(shù)圖初始值;高光指數(shù)模塊,用于獲取所述高光分離模塊得到新明暗圖,進一步,基于用戶輸入的高光系數(shù)計算高光指數(shù)圖的初始值;鏡像反射模塊,用于獲取所述高光分離得到的鏡像反射圖,進一步計算鏡像反射系數(shù)圖的初始值;參數(shù)優(yōu)化模塊,用于獲取根據(jù)所述法向圖模塊、漫反射模塊、高光指數(shù)模塊和鏡像反射模塊得到的初始化參數(shù),還獲取所述采集模塊的帶閃光材質(zhì)圖像,使用非線性優(yōu)化技術(shù)計算材質(zhì)貼圖參數(shù)并生成材質(zhì)貼圖。
根據(jù)所述的便攜設(shè)備的交互材質(zhì)獲取系統(tǒng),所述的高光分離模塊還包括:轉(zhuǎn)換子模塊,用于將采集的無閃光材質(zhì)圖像的原始RGB顏色空間轉(zhuǎn)換為YUV顏色空間的材質(zhì)圖像,原始明暗圖Y1、以及原始顏色圖U及飽和度V;分離子模塊,用于根據(jù)用戶自定義設(shè)置的分離參數(shù)p,其中新明暗圖Y2為Y2=Y(jié)1*p,進一步,基于新明暗圖Y2、原始顏色圖U及飽和度V組合為新RGB圖像,并將新RGB圖像作為漫反射圖,鏡像反射圖像與漫反射圖的和為原始RGB圖像。
根據(jù)所述的便攜設(shè)備的交互材質(zhì)獲取系統(tǒng),所述的法向圖模塊還包括:用于獲取所述新明暗圖Y2的像素差,進一步,對于任意像素點(i,j)的值D(i,j),在S和T方向的切向量分別為S(i,j)=(1,0,D(i+1,j)-D(i-1,j),),T(i,j)=(0,1,D(i,j+1)-D(i,j-1),),則第一切向量S與第二切向量T的積為法向圖初始值。
根據(jù)所述的便攜設(shè)備的交互材質(zhì)獲取系統(tǒng),所述的漫反射模塊還包括:用于對漫反射初始值進行計算,其中,漫反射系數(shù)圖=漫反射圖/NdotL,NdotL為像素法向量與光照向量的內(nèi)積。
根據(jù)所述的便攜設(shè)備的交互材質(zhì)獲取系統(tǒng),所述的高光指數(shù)模塊還包括:用于根據(jù)用戶自定義輸入的高光參數(shù),對高光指數(shù)圖的初始值進行計算,其計算方式為,高光指數(shù)圖=新的明暗圖Y2*高光參數(shù)。
根據(jù)所述的便攜設(shè)備的交互材質(zhì)獲取系統(tǒng),所述的鏡像反射模塊還包括:用于計算鏡面反射系數(shù)圖的初始值,其計算方式為,鏡面反射系數(shù)圖=鏡面反射圖/pow(NdotH,g(x))/NdotL,其中H表示光照、視線中間分量,NdotH為像素法向量與H的內(nèi)積,g(x)表示任意像素點x的高光指數(shù)。
根據(jù)所述的便攜設(shè)備的交互材質(zhì)獲取系統(tǒng),所述的參數(shù)優(yōu)化模塊還包括:聚類子模塊,用于對參數(shù)初始化的無閃光圖像的所有像素點進行N聚類,N表示聚類個數(shù);采集參數(shù)子模塊,用于獲取便攜設(shè)備的FOV參數(shù),初始化帶閃光圖像每個像素點的光照Lj、視線Vj參數(shù);像素處理子模塊,用于對所述帶閃光圖像的每個像素類別Ci進行處理。
根據(jù)所述的便攜設(shè)備的交互材質(zhì)獲取系統(tǒng),在一個優(yōu)選的實施方案中,所述的像素處理子模塊對每個像素類別Ci處理,包括:像素選取子模塊,用于獲取當前像素類別中的任意一個像素點P的值;讀取初始參數(shù)子模塊,用于獲取與像素點P對應(yīng)的無閃光材質(zhì)圖像像素點的初始化參數(shù);讀取采集參數(shù)子模塊,用于讀取當前像素類別Ci的每一個像素點Pj的RGB值、光照Lj、視線Vj;非線性優(yōu)化子模塊,用于分別調(diào)取所述像素選取子模塊、讀取初始參數(shù)子模塊、讀取采集參數(shù)子模塊獲取的數(shù)據(jù),使用非線性優(yōu)化計算像素點P的參數(shù),并存儲作為當前像素類別Ci對應(yīng)的貼圖參數(shù)基;貼圖參數(shù)子模塊,用于一一計算當前像素類別Ci的剩余像素點與像素點P的比值,作為剩余像素點的權(quán)重系數(shù),進一步,根據(jù)當前像素類別Ci的貼圖參數(shù)基,計算剩余像素點的貼圖參數(shù)。
本發(fā)明的技術(shù)方案還包括一種交互材質(zhì)獲取方法,其特征在于,該方法包括:使用便攜設(shè)備采集無閃光材質(zhì)圖像,還用于利用便攜設(shè)備采集帶閃光材質(zhì)圖像;將所述采集模塊采集的無閃光原始RGB顏色空間圖像轉(zhuǎn)化成YUV顏色空間圖像,并基于用戶輸入的分離參數(shù)以及YUV顏色空間圖像的原始明暗圖計算得到新的明暗圖,進一步將YUV圖像分離得到鏡像反射圖和漫反射圖;根據(jù)高光分離模塊得到新明暗圖的像素差,在切空間創(chuàng)建第一切向量和第二切向量,進一步,根據(jù)第一切向量和第二切向量計算法向圖初始值;獲取所述高光分離得到的漫反射圖,計算漫反射系數(shù)圖初始值;獲取所述高光分離模塊得到新明暗圖,進一步,基于用戶輸入的高光系數(shù)計算高光指數(shù)圖的初始值;獲取所述高光分離得到的鏡像反射圖,進一步計算鏡像反射系數(shù)圖的初始值;獲取根據(jù)所述法向圖模塊、漫反射模塊、高光指數(shù)模塊和鏡像反射模塊得到的初始化參數(shù),還獲取所述采集模塊的帶閃光材質(zhì)圖像,使用非線性優(yōu)化技術(shù)計算材質(zhì)貼圖參數(shù)并生成材質(zhì)貼圖。
進一步,該方法還包括:將采集的無閃光材質(zhì)圖像的原始RGB顏色空間轉(zhuǎn)換為YUV顏色空間的材質(zhì)圖像,原始明暗圖Y1、以及原始顏色圖U及飽和度V;根據(jù)用戶自定義設(shè)置的分離參數(shù)p,其中新明暗圖Y2為Y2=Y(jié)1*p,進一步,基于新明暗圖Y2、原始顏色圖U及飽和度V組合為新RGB圖像,并將新RGB圖像作為漫反射圖,鏡像反射圖像與漫反射圖的和為原始RGB圖像。
進一步,該方法還包括:獲取所述新明暗圖Y2的像素差,進一步,對于任意像素點(i,j)的值D(i,j),在S和T方向的切向量分別為S(i,j)=(1,0,D(i+1,j)-D(i-1,j),),T(i,j)=(0,1,D(i,j+1)-D(i,j-1),),則第一切向量S與第二切向量T的積為法向圖初始值。
進一步,該方法還包括:對漫反射初始值進行計算,其中,漫反射系數(shù)圖=漫反射圖/NdotL,NdotL為像素法向量與光照向量的內(nèi)積。
進一步,該方法還包括:根據(jù)用戶自定義輸入的高光參數(shù),對高光指數(shù)圖的初始值進行計算,其計算方式為,高光指數(shù)圖=新的明暗圖Y2*高光參數(shù)。
進一步,該方法還包括:計算鏡面反射系數(shù)圖的初始值,其計算方式為,鏡面反射系數(shù)圖=鏡面反射圖/pow(NdotH,g(x))/NdotL,其中H表示光照、視線中間分量,NdotH為像素法向量與H的內(nèi)積,g(x)表示任意像素點x的高光指數(shù)。
進一步,該方法還包括:對參數(shù)初始化的無閃光圖像的所有像素點進行N聚類,N表示聚類個數(shù);獲取便攜設(shè)備的FOV參數(shù),初始化帶閃光圖像每個像素點的光照Lj、視線Vj參數(shù);對所述帶閃光圖像的每個像素類別Ci進行處理。
進一步,該方法還對沒個Ci進行計算,包括:獲取當前像素類別中的任意一個像素點P的值;獲取與像素點P對應(yīng)的無閃光材質(zhì)圖像像素點的初始化參數(shù);讀取當前像素類別Ci的每一個像素點Pj的RGB值、光照Lj、視線Vj;分別調(diào)取所述像素選取子模塊、讀取初始參數(shù)子模塊、讀取采集參數(shù)子模塊獲取的數(shù)據(jù),使用非線性優(yōu)化計算像素點P的參數(shù),并存儲 作為當前像素類別Ci對應(yīng)的貼圖參數(shù)基;一一計算當前像素類別Ci的剩余像素點與像素點P的比值,作為剩余像素點的權(quán)重系數(shù),進一步,根據(jù)當前像素類別Ci的貼圖參數(shù)基,計算剩余像素點的貼圖參數(shù)。的權(quán)重系數(shù),進一步,根據(jù)當前像素類別Ci的貼圖參數(shù)基,計算剩余像素點的貼圖參數(shù)。
本發(fā)明的有益效果為:本發(fā)明的材質(zhì)外觀獲取系統(tǒng)利用手機、單反相機等便攜設(shè)備采集帶閃光、無閃光兩張圖像,交互式生成更為真實的材質(zhì)貼圖,從而解決目前游戲制作、影視動畫等領(lǐng)域材質(zhì)制作周期長、成本高、精度低等問題。
附圖說明
圖1所示為根據(jù)本發(fā)明實施方式的系統(tǒng)框圖;
圖2所示為根據(jù)本發(fā)明實施方式的詳細流程圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。本發(fā)明的便攜設(shè)備的交互材質(zhì)獲取系統(tǒng)和方法適用于圖形圖像處理。
圖1所示為根據(jù)本發(fā)明實施方式的系統(tǒng)模塊圖與流程圖。其中才采集模塊用于實現(xiàn)圖像源數(shù)據(jù)采集,其中的高光分離模塊、法向圖模塊、漫反射模塊、鏡像反射模塊用于根據(jù)無閃光圖像初始化材質(zhì)貼圖參數(shù),其中的參數(shù)模塊用于對閃光材質(zhì)圖像處理。該采集模塊,用于采集第一便攜設(shè)備的閃光材質(zhì)圖像,還用于采集第二便攜設(shè)備的非閃光材質(zhì)圖像;高光分離模塊,用于基于用戶輸入的分離參數(shù)將所述采集模塊采集的非閃光原始RGB顏色空間圖像轉(zhuǎn)化成YUV顏色空間圖像,并對轉(zhuǎn)化YUV圖像二次轉(zhuǎn)化為新的RGB圖像并進行分離得到鏡像反射圖和漫反射圖,其中YUV顏色空間包括原始明暗圖、原始顏色圖及飽和度;法向圖模塊,用于獲取YUV顏色空間圖像的新明暗圖,根據(jù)新明暗圖的像素差在切空間創(chuàng)建第一切向量和第二切向量,進一步,根據(jù)第一切向量和第二切向量計算法向圖初始值;漫反射模塊,用于獲取所述高光分離得到的漫反射圖,計算漫反射系數(shù)圖初始值;高光指數(shù)模塊,用于獲取所述高光分離模塊得到新明暗圖,進一步,基于用戶輸入的高光系數(shù)計算高光指數(shù)圖的初始值;鏡像反射模塊,用于獲取所述高光分離得到的鏡像反射圖,進一步計算鏡像反射系數(shù)圖的初始值,根據(jù)所述高光分離模塊、法向圖模塊、漫反射模塊和高光指數(shù)模塊得到最終非閃光材質(zhì)圖像;參數(shù)模塊,用于根據(jù)所述高光分離模塊、法向圖模塊、漫反射模塊和高光指數(shù)模塊得到最終非閃光材質(zhì)圖像的初始化參數(shù),還獲取所述采集模塊的閃光材質(zhì)圖像,使用非線性優(yōu)化技術(shù)計算材質(zhì)貼圖參數(shù),進一步,得到材質(zhì)圖像外觀屬性并生成材質(zhì)貼圖。
圖2所示為根據(jù)本發(fā)明實施方式的詳細流程圖。其具體實施步驟包括S201~
S201,數(shù)據(jù)采集,通過手機、單反相機等設(shè)備拍攝帶閃光和無閃光兩張材質(zhì)圖像。
S202,高光分離,本發(fā)明的技術(shù)方案利用YUV顏色空間的明暗值Y將原始RGB圖像分離成漫反射圖、鏡面反射圖兩部分。
其具體實施如下(1)~(5)所示,包括:
(1)根據(jù)原始RGB圖像計算原始明暗圖Y、以及原始顏色圖U、V;
(2)用戶交互輸入分離參數(shù)(一般為0.6~0.8);
(3)新的明暗圖Y2=原始明暗圖Y*分離參數(shù);
(4)根據(jù)新的明暗圖Y2以及原始顏色圖U、V生成新的RGB圖像,作為漫反射圖;
(5)鏡面反射圖=原始RGB圖像-漫反射圖。
S203,法向圖初始化,基本思想是根據(jù)新的明暗圖Y2的像素值差,在切空間構(gòu)造S向量和T向量,由S×T得到ND。具體如下:
根據(jù)象素點(i,j)的值D(i,j),在S和T方向的切向量為,
S(i,j)=(1,0,D(i+1,j)-D(i-1,j),),
T(i,j)=(0,1,D(i,j+1)-D(i,j-1),)。
因此,根據(jù)ND(i,j)=S(i,j)×T(i,j)可計算法向圖。
S204,漫反射系數(shù)圖初始化,漫反射系數(shù)=漫反射圖/NdotL。其中,NdotL為像素法向量與光照向量的內(nèi)積。在本階段假設(shè)光照垂直于材質(zhì)表面,即L(0,0,1)。
S205,高光指數(shù)圖初始化,用戶交互式輸入高光參數(shù)(一般為0.1~0.5),高光指數(shù)圖=新的明暗圖Y2*高光參數(shù)。
S206,鏡面反射系數(shù)圖初始化,鏡面反射系數(shù)圖=鏡面反射圖/pow(NdotH,g(x))/NdotL。NdotL:為像素法向量與光照向量的內(nèi)積;NdotH:為像素法向量與H(光照、視線中間分量)的內(nèi)積;g(x):任意像素點x高光指數(shù);pow(NdotH,g(x)):NdotH的g(x)次方。
S207,根據(jù)帶閃光圖像,利用非線性優(yōu)化技術(shù)計算材質(zhì)貼圖參數(shù),包括如下(1)~(3):
(1)對無閃光圖像的所有像素點進行聚類(N為聚類個數(shù))。
(2)根據(jù)相機的FOV參數(shù),初始化帶閃光圖像每個像素點的光照Lj、視線Vj參數(shù)。
(3)按照以下步驟依次處理每一類像素Ci。
對于步驟(3),其還包括(A)~(E)6個子模塊:
(A)從當前類別Ci隨機選擇一個像素點P;
(B)讀取像素點P對應(yīng)的材質(zhì)貼圖參數(shù)(在步驟S202~S206根據(jù)無閃光圖像初始化得到);
(C)讀取當前類別Ci的每一個像素點Pj的RGB值、光照Lj、視線Vj;
(D)將(B)和(C)的值分別作為像素點P的材質(zhì)貼圖參數(shù)初始值和已知輸入數(shù)據(jù),利用非線性優(yōu)化技術(shù),重新計算像素點P的貼圖參數(shù),并作為當前類別的的貼圖參數(shù)基。
(E)依次計算當前類別Ci其他像素點與像素點P的比值,作為其他像素點的權(quán)重系數(shù),根據(jù)當前類別的貼圖參數(shù)基,計算其他像素點的貼圖參數(shù)。
以上所述,只是本發(fā)明的較佳實施例而已,本發(fā)明并不局限于上述實施方式,只要其以相同的手段達到本發(fā)明的技術(shù)效果,都應(yīng)屬于本發(fā)明的保護范圍。在本發(fā)明的保護范圍內(nèi)其 技術(shù)方案和/或?qū)嵤┓绞娇梢杂懈鞣N不同的修改和變化。