耿 曼,錢國(guó)明,王 宇
(1.南京郵電大學(xué),江蘇 南京 210000;2.中國(guó)科學(xué)院 上海高等研究院,上海 200120)
虛擬試衣系統(tǒng)服裝圖像匹配算法研究
耿 曼1,2,錢國(guó)明1,王 宇2
(1.南京郵電大學(xué),江蘇 南京 210000;2.中國(guó)科學(xué)院 上海高等研究院,上海 200120)
在目前虛擬試衣系統(tǒng)的研究中,服裝圖像的獲取和處理一直是一個(gè)關(guān)鍵的研究問(wèn)題,同時(shí)如何根據(jù)人體姿態(tài)匹配正確的姿態(tài)服裝圖像也一直是虛擬試衣系統(tǒng)中實(shí)現(xiàn)實(shí)時(shí)試衣的關(guān)鍵問(wèn)題。對(duì)前人研究的以輪廓信息作為服裝匹配的關(guān)鍵字進(jìn)行了改進(jìn),結(jié)合圖像識(shí)別算法去識(shí)別和返回人體的24個(gè)關(guān)節(jié)點(diǎn)的三維坐標(biāo),將骨骼信息關(guān)節(jié)點(diǎn)坐標(biāo)作為匹配的關(guān)鍵字進(jìn)行服裝圖像的轉(zhuǎn)移匹配,然后使用輪廓信息提取算法進(jìn)行人體輪廓的獲取,使后續(xù)的轉(zhuǎn)移算法利用當(dāng)前圖像幀輪廓檢索數(shù)據(jù)庫(kù),以進(jìn)行服裝圖像信息匹配,獲取與當(dāng)前幀最接近的圖像幀。實(shí)驗(yàn)結(jié)果表明,使用人體關(guān)節(jié)點(diǎn)信息作為服裝圖像匹配的關(guān)鍵字可以更加快速和準(zhǔn)確地檢索到要匹配的關(guān)鍵幀服裝圖像。
虛擬試衣系統(tǒng);服裝轉(zhuǎn)移算法;Kinect
近年來(lái),隨著計(jì)算機(jī)圖形處理技術(shù)和增強(qiáng)現(xiàn)實(shí)技術(shù)的快速發(fā)展和應(yīng)用,虛擬試衣系統(tǒng)的研發(fā)也逐漸成熟起來(lái)。虛擬試衣系統(tǒng)是一種利用計(jì)算機(jī)技術(shù)將網(wǎng)上的服裝真實(shí)地展示在試衣者身上的虛擬現(xiàn)實(shí)技術(shù),對(duì)虛擬試衣系統(tǒng)的研究主要包含人體建模技術(shù)以及服裝建模技術(shù)兩方面的內(nèi)容[1]。對(duì)于服裝建模技術(shù)的研究,傳統(tǒng)的虛擬試衣系統(tǒng)偏向于研究服裝的模擬方法,如使用2D圖像技術(shù)對(duì)服裝的平面圖片進(jìn)行處理再貼到人體模型上的貼圖模式或者使用3D圖像處理軟件進(jìn)行衣服圖像三維建模再導(dǎo)入系統(tǒng)中[2],然后轉(zhuǎn)到人體身上再進(jìn)行動(dòng)畫仿真的形式進(jìn)行服裝的模擬。但是在這些過(guò)程中服裝材質(zhì)模擬和服裝三維重建問(wèn)題一直是一個(gè)難點(diǎn)。
2011年,Stefan提出了一種基于圖像的服裝轉(zhuǎn)移算法[3],該算法避免了使用服裝材質(zhì)模擬和服裝三維重建的問(wèn)題[4-5],轉(zhuǎn)而使用其創(chuàng)建的離線服裝數(shù)據(jù)庫(kù)的方法,結(jié)合輪廓匹配法,就可以從數(shù)據(jù)庫(kù)中找到與當(dāng)前輪廓最匹配的衣服圖像,進(jìn)行服裝匹配。文中對(duì)該方法進(jìn)行了改進(jìn)[6],在Stefan的研究方法中使用人體輪廓特征點(diǎn)作為匹配的關(guān)鍵字進(jìn)行輪廓匹配,即讓模特穿上指定的服裝進(jìn)入經(jīng)過(guò)特殊布置的圖像信息采集房間,隨意擺出各種姿勢(shì),從中采集10幀圖像保存到本地,再對(duì)圖像進(jìn)行輪廓提取和摳圖等后期處理。文中使用的方法是使用計(jì)算機(jī)圖像處理獲取硬件來(lái)替換原先需要使用的8臺(tái)攝像機(jī)進(jìn)行圖像信息的獲取,并運(yùn)用圖像識(shí)別算法計(jì)算出骨骼信息關(guān)節(jié)點(diǎn)坐標(biāo),將其作為服裝轉(zhuǎn)移算法的匹配關(guān)鍵字,再使用輪廓提取算法提取圖像輪廓,避免了后期人工摳圖帶來(lái)的一些不可避免的瑕疵和巨大的工作量等問(wèn)題。
Stefan提出的離線數(shù)據(jù)庫(kù)的創(chuàng)建方法是在一個(gè)小房間里前后左右放置10個(gè)攝像頭,然后讓模特穿上服裝在這個(gè)房間里來(lái)回地自由走動(dòng),攝像機(jī)從不同的角度對(duì)模特的影像進(jìn)行采集,并將采集到的10幅圖像保存到本地,然后再進(jìn)行后期的摳圖處理,得到每幅圖像的人物輪廓信息,存儲(chǔ)到數(shù)據(jù)庫(kù)中。
文中方法是只使用一個(gè)Kinect采集圖像設(shè)備(如圖1所示),將Kinect放在顯示器的上方,然后根據(jù)采集設(shè)備Kinect的放置高度和張角等信息,限制模特的最近和最遠(yuǎn)的活動(dòng)距離。這種采集設(shè)備不需要一個(gè)密閉的房間,也不需要許多攝像頭,使數(shù)據(jù)庫(kù)的創(chuàng)建過(guò)程更加靈活,并且人體每幅圖像的輪廓也使用Kinect來(lái)獲取,這樣可以節(jié)省后期的人工制作成本。
圖1 Kinect圖像采集設(shè)備
Kinect可以為開發(fā)者提供彩色圖像、深度信息和人體關(guān)節(jié)點(diǎn)等信息。Kinect數(shù)據(jù)采集過(guò)程見(jiàn)圖2。
圖2 Kinect圖像采集過(guò)程
Kinect上有一個(gè)紅外發(fā)射器,當(dāng)驅(qū)動(dòng)Kinect時(shí)發(fā)射紅外線掃描視場(chǎng)范圍,紅外接收器接收到物體反射回來(lái)的紅外光,經(jīng)過(guò)內(nèi)部芯片處理后輸出深度圖像數(shù)據(jù),而RGB圖像傳感器就直接采集到彩色圖像數(shù)據(jù)[7-8]。Kinect數(shù)據(jù)采集的主要過(guò)程是首先初始化Context對(duì)象,創(chuàng)建程序鏈,初始化Context的目的是為了把Context作為Create函數(shù)的參數(shù),這樣就可以創(chuàng)建生成器了。Generator:depth Generator是深度圖像生成器,Imagegenerator是彩色圖像生成器。
另外,文中通過(guò)Kinect SDK人體骨骼追蹤技術(shù)來(lái)獲取人體骨骼數(shù)據(jù)[9]。骨骼追蹤技術(shù)通過(guò)處理深度圖像數(shù)據(jù)來(lái)建立人體各個(gè)關(guān)節(jié)點(diǎn)坐標(biāo),骨骼追蹤能確定人體各個(gè)關(guān)節(jié)點(diǎn)的位置坐標(biāo),并且通過(guò)(x,y,z)三維坐標(biāo)系來(lái)確定各個(gè)關(guān)節(jié)點(diǎn)的位置。其中,z表示人體到圖像感知系統(tǒng)的距離,x與y分別為人體圖像的寬度和高度。
Kinect所能觀測(cè)的人體關(guān)節(jié)點(diǎn)距離范圍與其放置高度的關(guān)系,如表1所示。
表1 Kinect放置高度與人體距離關(guān)系表
經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證表明,Kinect放置的高度越高最近觀察距離越遠(yuǎn),但是相應(yīng)的最遠(yuǎn)觀察距離越小,對(duì)下半身的身體關(guān)節(jié)點(diǎn)的追蹤能力就會(huì)下降。所以文中選擇將Kinect放置在0.9m處,這樣最近和最遠(yuǎn)觀察距離都能得到很好的中和,并且人相距Kinect的距離為2.0~3.0m,這樣可以保證獲取良好的圖像質(zhì)量。在Kinect的圖像采集過(guò)程中除了要保存每一幀的圖像外還要保存相應(yīng)的骨骼位置信息。
編寫人體骨骼數(shù)據(jù)捕獲代碼后,結(jié)合Kinect得到人體骨架圖像,如圖3所示。
圖3 人體骨骼圖像
使用開源的OpenNI[10]來(lái)進(jìn)行識(shí)別并返回人體的24個(gè)骨骼關(guān)節(jié)點(diǎn)的三維坐標(biāo)。由這24個(gè)值組成的特征向量可以表示為RT,其表達(dá)方式如下:
RT=[T1,T2,…,T24]
(1)
每一維的T均表示一個(gè)三維坐標(biāo):
Ti=[xi,yi,zi],i∈[1,24]
(2)
文中的算法流程主要為:
(1)捕獲當(dāng)前幀對(duì)應(yīng)的圖像,通過(guò)Kinect獲取骨骼位置信息,構(gòu)建特征向量RT。
(2)對(duì)數(shù)據(jù)庫(kù)進(jìn)行檢索,進(jìn)行特征匹配。
(3)獲取目標(biāo)圖像,并與當(dāng)前幀進(jìn)行貼合。
具體算法流程圖如圖4所示。
圖4 圖像匹配算法流程
在整個(gè)算法流程中,第二步是核心階段,在這一步中,系統(tǒng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行檢索,將得到的特征向量與數(shù)據(jù)庫(kù)中的圖像特征值進(jìn)行匹配。文中采用距離測(cè)量的方法從數(shù)據(jù)庫(kù)中選擇圖像,對(duì)每一幅預(yù)處理圖像進(jìn)行距離計(jì)算得到距離值,通過(guò)對(duì)距離F的控制和限定,選出目標(biāo)圖像,如式(3)所示:
F=μA(li-1,li)+B(li,i)+λC(li+1,li)
(3)
其中,λ與μ為閾值,為常數(shù),具體需要通過(guò)實(shí)驗(yàn)來(lái)測(cè)定;i和li均為n維特征向量,n是經(jīng)過(guò)主成分分析得到的特征點(diǎn)的數(shù)量,li是數(shù)據(jù)庫(kù)中當(dāng)前檢索到的圖像的特征向量,i是當(dāng)前幀圖像的特征向量;B(li,i)是i和li的歐氏距離,具體如下:
i=[i1,i2,…,in]
(4)
li=[li1,li2,…,lin]
(5)
B(li,i)=
(6)
文中使用歐氏距離作為距離測(cè)量的計(jì)算公式,可以很好地實(shí)現(xiàn)各特征點(diǎn)之間的匹配功能,并且為了能很好地體現(xiàn)出相鄰幀的連貫性,還使用了兩個(gè)連貫性判別函數(shù):A(li-1,li)和C(li,li+1)。
(7)
(8)
其中,A(li-1,li)和C(li,li+1)的意義在于通過(guò)距離測(cè)量判別出前一幀的檢索結(jié)果與當(dāng)前數(shù)據(jù)庫(kù)圖像的關(guān)系和當(dāng)前數(shù)據(jù)庫(kù)圖像與下一幀檢索圖像的關(guān)系,通過(guò)判斷前一幀的檢索結(jié)果使得相鄰幀的距離值小于非相鄰幀,從而擁有更大的機(jī)會(huì)成為目標(biāo)圖像,而方法則是給非相鄰幀加上閾值(文中實(shí)驗(yàn)值為100)。用添加了連慣性判別函數(shù)的圖像匹配公式,使相鄰兩幀圖像所匹配的正好是數(shù)據(jù)庫(kù)中相鄰的圖像,就可以解決短時(shí)間內(nèi)由于服裝的“閃動(dòng)”或“突變”現(xiàn)象造成服裝突然失常的變形現(xiàn)象。
提取出每幅圖像的人體輪廓信息則是為了方便后續(xù)的轉(zhuǎn)移算法利用當(dāng)前幀所對(duì)應(yīng)的輪廓信息來(lái)檢索數(shù)據(jù)庫(kù),然后經(jīng)過(guò)信息匹配,查找出與當(dāng)前幀最接近的圖像幀。目前輪廓提取方式主要有采取編寫輪廓提取算法進(jìn)行自動(dòng)處理的方式,這種方式效率高,但通過(guò)算法自動(dòng)提取的結(jié)果難免會(huì)有一些瑕疵;此外,還有另一種處理方式,即通過(guò)手工處理獲取輪廓剪影,手工處理可以使用Photoshop等圖像處理軟件中的選區(qū)工具,將人物的輪廓剪影選中并分離出來(lái)。但是這種方法后期的人工制作成本巨大。
為了獲取到更好的人體輪廓圖像同時(shí)也降低人工處理的成本,文中使用Kinect進(jìn)行人體輪廓的提取和處理。Kinect具有RGB攝像頭和紅外線感應(yīng)器,可以獲得所照射區(qū)域的數(shù)據(jù)信息[11]。并且,人在照片中的信息可以通過(guò)距離信息進(jìn)行識(shí)別,這樣距離圖像就可以轉(zhuǎn)化為距離數(shù)據(jù)的圖像。假設(shè)對(duì)一個(gè)要進(jìn)行人體輪廓提取的圖像作這樣的設(shè)定:要提取的人體區(qū)域是彩色的,其他區(qū)域是黑色的,通過(guò)這個(gè)準(zhǔn)則,就可以得到只有人的區(qū)域圖像,這樣就可以從這個(gè)圖像中得到人體的輪廓,如圖5所示。
經(jīng)過(guò)前兩部分的特征匹配過(guò)程后,就可以從數(shù)據(jù)庫(kù)中得到一幀需要的目標(biāo)圖像,但是要將獲取的目標(biāo)圖像準(zhǔn)確貼合到當(dāng)前圖像中,還需要經(jīng)過(guò)對(duì)應(yīng)比例上的校準(zhǔn)才可以[12]。例如一件上衣,如果要精確地確定一件衣服的尺寸大小,需要測(cè)量肩寬、袖長(zhǎng)、胸圍、衣長(zhǎng),其中肩寬是最重要的上衣尺寸之一,如果肩寬不適合,衣服穿起來(lái)就不會(huì)像自己的衣服。文中通過(guò)肩寬來(lái)計(jì)算縮放比例scale,如果要增加其他地方的尺寸縮放比例也可以按照這種方式來(lái)調(diào)整,公式如下:
(9)
其中,xr,xl分別表示當(dāng)前圖像的左右關(guān)節(jié)橫坐標(biāo);xr1,xl1分別表示搜索到的數(shù)據(jù)庫(kù)中圖像的左右關(guān)節(jié)的橫坐標(biāo)。
圖5 人體輪廓圖像
假設(shè)兩幅圖像的坐標(biāo)軸以XOY坐標(biāo)系為標(biāo)準(zhǔn)坐標(biāo)系,則有以下幾種情況發(fā)生:
(1)當(dāng)xr=xl,xr1=xl1時(shí),scale=1,這種情況下所獲取的數(shù)據(jù)庫(kù)圖像不需要進(jìn)行縮放就可以直接與獲得的當(dāng)前圖像進(jìn)行貼合。
(2)當(dāng)scale=1時(shí)有可能會(huì)出現(xiàn)一種特殊情況,那就是當(dāng)目標(biāo)圖像的左右肩關(guān)節(jié)坐標(biāo)正好相對(duì)于當(dāng)前圖像進(jìn)行了同時(shí)的左移或者右移,那么即使scale為1,兩幅圖像仍然不能進(jìn)行貼合,所以還應(yīng)定義一個(gè)左右肩關(guān)節(jié)連線中點(diǎn)坐標(biāo)橫坐標(biāo)x=0,其中
x=xr1+xl1
(10)
假如x=0,則表示兩幅圖像正好貼合;如果x>0,則表示目標(biāo)圖像相對(duì)于當(dāng)前圖像進(jìn)行了右移,所以應(yīng)按照得到的x的值左移x/2個(gè)坐標(biāo)單位;同理,若x<0,則將目標(biāo)圖像右移x/2個(gè)單位。
(3)當(dāng)xr=xr1,xl=xl1時(shí),就需要對(duì)數(shù)據(jù)庫(kù)中的圖像進(jìn)行縮放才能貼合到需要的當(dāng)前圖像中,這種情況下,如何縮放是主要的研究問(wèn)題。當(dāng)scale>1時(shí),表明目標(biāo)圖像的肩寬大于當(dāng)前圖像,要對(duì)目標(biāo)圖像進(jìn)行放大,放大倍數(shù)按照給出的scale值進(jìn)行。假如給出的scale值為1.5,則對(duì)目標(biāo)圖像放大1.5倍。當(dāng)scale<1時(shí),就要對(duì)目標(biāo)圖像進(jìn)行縮小,同樣,縮小倍數(shù)也按照得到的scale來(lái)計(jì)算。
文中在前人提出的基于輪廓特征的服裝匹配算法的基礎(chǔ)上,對(duì)匹配的關(guān)鍵字進(jìn)行改進(jìn)。采用體感設(shè)備進(jìn)行編碼計(jì)算得到骨骼關(guān)節(jié)點(diǎn)信息作為匹配的關(guān)鍵字,與輪廓信息相比,具有更高的準(zhǔn)確性,并降低了計(jì)算復(fù)雜度,且所需硬件的成本大大降低,實(shí)用性增強(qiáng)。
[1] 王兆其.虛擬人合成研究綜述[J].中國(guó)科學(xué)院研究生院學(xué)報(bào),2000,17(2):89-98.
[2]HauswiesnerS,StrakaM,ReitmayrG.Image-basedclothestransfer[C]//10thIEEEinternationalsymposiumonmixedandaugmentedreality.Basel:IEEE,2011:169-172.
[3]NakamuraR,IzutsuM,HatakeyamaS.Estimationmethodofclothessizeforvirtualfittingroomwithkinectsensor[C]//IEEEinternationalconferenceonsystems,man,andcybernetics.[s.l.]:IEEE,2013:3733-3738.
[4] 劉炯宙,李基拓,陸國(guó)棟.三維服裝物理-幾何實(shí)時(shí)混合模擬[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2014,26(12):2244-2250.
[5]XuWeiwei,UmetaniN,ChaoQianwen,etal.Sensitivity-optimizedriggingforexample-basedreal-timeclothingsynthesis[J].ACMTransactionsonGraphics, 2014,33(4):1-11.
[6]GabelM,Gilad-BachrachR,RenshawE,etal.FullbodygaitanalysiswithKinect[C]//AnnualinternationalconferenceoftheIEEE.[s.l.]:IEEE,2012:1964-1967.
[7]LiRong,ZouKun,XuXiang,etal.Researchofinteractive3Dvirtualfittingroomonwebenvironment[C]//Fourthinternationalsymposiumoncomputationalintelligenceanddesign.Hangzhou:IEEE,2011:32-35.
[8]GarciaC,BessouN,ChadoeufA,etal.Imageprocessingdesignflowforvirtualfittingroomapplicationsusedinmobiledevices[C]//IEEEinternationalconferenceonelectro/informationtechnology.Indianapolis,IN:IEEE,2012:1-5.
[9]JiaNan,ZhouFan,WangRuomei.Heatandmoisturetransfercomputationmodelbasedonparallelsimulationinclothedhuman[C]//5thinternationalconferenceondigitalhome.[s.l.]:[s.n.],2014:412-418.
[10]HauswiesnerS,StrakaM,ReitmayrG.Virtualtry-onthroughimage-basedrendering[J].IEEETransactionsonVisualizationandComputerGraphics,2013,19(9):1552-1565.
[11]ShimuraK,AndoY,YoshimiT,etal.ResearchonpersonfollowingsystembasedonRGB-Dfeaturesbyautonomousrobotwithmulti-Kinectsensor[C]//IEEE/SICEinternationalsymposiumonsystemintegration.[s.l.]:IEEE,2014:304-309.
[12] 朱紫陽(yáng),施霞萍,陳家訓(xùn).基于部件分解的三維服裝人體建模[J].計(jì)算機(jī)工程,2009,35(2):271-273.
Research on Clothing Image Matching of Virtual Fitting Room
GENG Man1,2,QIAN Guo-ming1,WANG Yu2
(1.Nanjing University of Posts and Telecommunications,Nanjing 210000,China; 2.Shanghai Academy of Sciences,Chinese Academy of Sciences,Shanghai 200120,China)
At present,for virtual fitting room research,the acquisition and processing of clothing image has been a key research topics.At the same time,how to match the correct posture clothing image according to the human body posture has also been a key issue of realizing real-time fitting in virtual fitting system.The outline information as a clothing matching keywords of previous studies is improved,and 24 key points of 3d coordinates of human body are recognized and returned combined with image recognition algorithm,using the skeleton information as the matching key words to match clothing transfer image.The Kinect is also used to extract the human body contours,so that the subsequent transfer algorithm can use the current frame profile to retrieve database and match information,obtaining in touch with the current frame closest image frame.Experimental results show that the use of the human body joint point as matching keywords can be more fast and accurate retrieval to match the key frames of clothing image.
virtual fitting system;clothing transfer algorithm;Kinect
2015-10-09
2016-02-25
時(shí)間:2017-01-04
國(guó)家自然科學(xué)基金資助項(xiàng)目(61302093)
耿 曼(1991-),女,碩士研究生,研究方向?yàn)橹悄苄畔⑻幚?;錢國(guó)明,教授,研究方向無(wú)線通信技術(shù)和信號(hào)處理;王 宇,副研究員,研究方向?yàn)榉植际接?jì)算、數(shù)據(jù)管理等。
http://www.cnki.net/kcms/detail/61.1450.TP.20170104.1017.020.html
TP301.6
A
1673-629X(2017)01-0126-04
10.3969/j.issn.1673-629X.2017.01.028