耿 曼,錢國明,王 宇
(1.南京郵電大學,江蘇 南京 210000;2.中國科學院 上海高等研究院,上海 200120)
虛擬試衣系統服裝圖像匹配算法研究
耿 曼1,2,錢國明1,王 宇2
(1.南京郵電大學,江蘇 南京 210000;2.中國科學院 上海高等研究院,上海 200120)
在目前虛擬試衣系統的研究中,服裝圖像的獲取和處理一直是一個關鍵的研究問題,同時如何根據人體姿態匹配正確的姿態服裝圖像也一直是虛擬試衣系統中實現實時試衣的關鍵問題。對前人研究的以輪廓信息作為服裝匹配的關鍵字進行了改進,結合圖像識別算法去識別和返回人體的24個關節點的三維坐標,將骨骼信息關節點坐標作為匹配的關鍵字進行服裝圖像的轉移匹配,然后使用輪廓信息提取算法進行人體輪廓的獲取,使后續的轉移算法利用當前圖像幀輪廓檢索數據庫,以進行服裝圖像信息匹配,獲取與當前幀最接近的圖像幀。實驗結果表明,使用人體關節點信息作為服裝圖像匹配的關鍵字可以更加快速和準確地檢索到要匹配的關鍵幀服裝圖像。
虛擬試衣系統;服裝轉移算法;Kinect
近年來,隨著計算機圖形處理技術和增強現實技術的快速發展和應用,虛擬試衣系統的研發也逐漸成熟起來。虛擬試衣系統是一種利用計算機技術將網上的服裝真實地展示在試衣者身上的虛擬現實技術,對虛擬試衣系統的研究主要包含人體建模技術以及服裝建模技術兩方面的內容[1]。對于服裝建模技術的研究,傳統的虛擬試衣系統偏向于研究服裝的模擬方法,如使用2D圖像技術對服裝的平面圖片進行處理再貼到人體模型上的貼圖模式或者使用3D圖像處理軟件進行衣服圖像三維建模再導入系統中[2],然后轉到人體身上再進行動畫仿真的形式進行服裝的模擬。但是在這些過程中服裝材質模擬和服裝三維重建問題一直是一個難點。
2011年,Stefan提出了一種基于圖像的服裝轉移算法[3],該算法避免了使用服裝材質模擬和服裝三維重建的問題[4-5],轉而使用其創建的離線服裝數據庫的方法,結合輪廓匹配法,就可以從數據庫中找到與當前輪廓最匹配的衣服圖像,進行服裝匹配。文中對該方法進行了改進[6],在Stefan的研究方法中使用人體輪廓特征點作為匹配的關鍵字進行輪廓匹配,即讓模特穿上指定的服裝進入經過特殊布置的圖像信息采集房間,隨意擺出各種姿勢,從中采集10幀圖像保存到本地,再對圖像進行輪廓提取和摳圖等后期處理。文中使用的方法是使用計算機圖像處理獲取硬件來替換原先需要使用的8臺攝像機進行圖像信息的獲取,并運用圖像識別算法計算出骨骼信息關節點坐標,將其作為服裝轉移算法的匹配關鍵字,再使用輪廓提取算法提取圖像輪廓,避免了后期人工摳圖帶來的一些不可避免的瑕疵和巨大的工作量等問題。
Stefan提出的離線數據庫的創建方法是在一個小房間里前后左右放置10個攝像頭,然后讓模特穿上服裝在這個房間里來回地自由走動,攝像機從不同的角度對模特的影像進行采集,并將采集到的10幅圖像保存到本地,然后再進行后期的摳圖處理,得到每幅圖像的人物輪廓信息,存儲到數據庫中。
文中方法是只使用一個Kinect采集圖像設備(如圖1所示),將Kinect放在顯示器的上方,然后根據采集設備Kinect的放置高度和張角等信息,限制模特的最近和最遠的活動距離。這種采集設備不需要一個密閉的房間,也不需要許多攝像頭,使數據庫的創建過程更加靈活,并且人體每幅圖像的輪廓也使用Kinect來獲取,這樣可以節省后期的人工制作成本。

圖1 Kinect圖像采集設備
Kinect可以為開發者提供彩色圖像、深度信息和人體關節點等信息。Kinect數據采集過程見圖2。

圖2 Kinect圖像采集過程
Kinect上有一個紅外發射器,當驅動Kinect時發射紅外線掃描視場范圍,紅外接收器接收到物體反射回來的紅外光,經過內部芯片處理后輸出深度圖像數據,而RGB圖像傳感器就直接采集到彩色圖像數據[7-8]。Kinect數據采集的主要過程是首先初始化Context對象,創建程序鏈,初始化Context的目的是為了把Context作為Create函數的參數,這樣就可以創建生成器了。Generator:depth Generator是深度圖像生成器,Imagegenerator是彩色圖像生成器。
另外,文中通過Kinect SDK人體骨骼追蹤技術來獲取人體骨骼數據[9]。骨骼追蹤技術通過處理深度圖像數據來建立人體各個關節點坐標,骨骼追蹤能確定人體各個關節點的位置坐標,并且通過(x,y,z)三維坐標系來確定各個關節點的位置。其中,z表示人體到圖像感知系統的距離,x與y分別為人體圖像的寬度和高度。
Kinect所能觀測的人體關節點距離范圍與其放置高度的關系,如表1所示。

表1 Kinect放置高度與人體距離關系表
經過實驗驗證表明,Kinect放置的高度越高最近觀察距離越遠,但是相應的最遠觀察距離越小,對下半身的身體關節點的追蹤能力就會下降。所以文中選擇將Kinect放置在0.9m處,這樣最近和最遠觀察距離都能得到很好的中和,并且人相距Kinect的距離為2.0~3.0m,這樣可以保證獲取良好的圖像質量。在Kinect的圖像采集過程中除了要保存每一幀的圖像外還要保存相應的骨骼位置信息。
編寫人體骨骼數據捕獲代碼后,結合Kinect得到人體骨架圖像,如圖3所示。

圖3 人體骨骼圖像
使用開源的OpenNI[10]來進行識別并返回人體的24個骨骼關節點的三維坐標。由這24個值組成的特征向量可以表示為RT,其表達方式如下:
RT=[T1,T2,…,T24]
(1)
每一維的T均表示一個三維坐標:
Ti=[xi,yi,zi],i∈[1,24]
(2)
文中的算法流程主要為:
(1)捕獲當前幀對應的圖像,通過Kinect獲取骨骼位置信息,構建特征向量RT。
(2)對數據庫進行檢索,進行特征匹配。
(3)獲取目標圖像,并與當前幀進行貼合。
具體算法流程圖如圖4所示。

圖4 圖像匹配算法流程
在整個算法流程中,第二步是核心階段,在這一步中,系統對數據庫進行檢索,將得到的特征向量與數據庫中的圖像特征值進行匹配。文中采用距離測量的方法從數據庫中選擇圖像,對每一幅預處理圖像進行距離計算得到距離值,通過對距離F的控制和限定,選出目標圖像,如式(3)所示:
F=μA(li-1,li)+B(li,i)+λC(li+1,li)
(3)
其中,λ與μ為閾值,為常數,具體需要通過實驗來測定;i和li均為n維特征向量,n是經過主成分分析得到的特征點的數量,li是數據庫中當前檢索到的圖像的特征向量,i是當前幀圖像的特征向量;B(li,i)是i和li的歐氏距離,具體如下:
i=[i1,i2,…,in]
(4)
li=[li1,li2,…,lin]
(5)
B(li,i)=

(6)
文中使用歐氏距離作為距離測量的計算公式,可以很好地實現各特征點之間的匹配功能,并且為了能很好地體現出相鄰幀的連貫性,還使用了兩個連貫性判別函數:A(li-1,li)和C(li,li+1)。
(7)
(8)
其中,A(li-1,li)和C(li,li+1)的意義在于通過距離測量判別出前一幀的檢索結果與當前數據庫圖像的關系和當前數據庫圖像與下一幀檢索圖像的關系,通過判斷前一幀的檢索結果使得相鄰幀的距離值小于非相鄰幀,從而擁有更大的機會成為目標圖像,而方法則是給非相鄰幀加上閾值(文中實驗值為100)。用添加了連慣性判別函數的圖像匹配公式,使相鄰兩幀圖像所匹配的正好是數據庫中相鄰的圖像,就可以解決短時間內由于服裝的“閃動”或“突變”現象造成服裝突然失常的變形現象。
提取出每幅圖像的人體輪廓信息則是為了方便后續的轉移算法利用當前幀所對應的輪廓信息來檢索數據庫,然后經過信息匹配,查找出與當前幀最接近的圖像幀。目前輪廓提取方式主要有采取編寫輪廓提取算法進行自動處理的方式,這種方式效率高,但通過算法自動提取的結果難免會有一些瑕疵;此外,還有另一種處理方式,即通過手工處理獲取輪廓剪影,手工處理可以使用Photoshop等圖像處理軟件中的選區工具,將人物的輪廓剪影選中并分離出來。但是這種方法后期的人工制作成本巨大。
為了獲取到更好的人體輪廓圖像同時也降低人工處理的成本,文中使用Kinect進行人體輪廓的提取和處理。Kinect具有RGB攝像頭和紅外線感應器,可以獲得所照射區域的數據信息[11]。并且,人在照片中的信息可以通過距離信息進行識別,這樣距離圖像就可以轉化為距離數據的圖像。假設對一個要進行人體輪廓提取的圖像作這樣的設定:要提取的人體區域是彩色的,其他區域是黑色的,通過這個準則,就可以得到只有人的區域圖像,這樣就可以從這個圖像中得到人體的輪廓,如圖5所示。
經過前兩部分的特征匹配過程后,就可以從數據庫中得到一幀需要的目標圖像,但是要將獲取的目標圖像準確貼合到當前圖像中,還需要經過對應比例上的校準才可以[12]。例如一件上衣,如果要精確地確定一件衣服的尺寸大小,需要測量肩寬、袖長、胸圍、衣長,其中肩寬是最重要的上衣尺寸之一,如果肩寬不適合,衣服穿起來就不會像自己的衣服。文中通過肩寬來計算縮放比例scale,如果要增加其他地方的尺寸縮放比例也可以按照這種方式來調整,公式如下:
(9)
其中,xr,xl分別表示當前圖像的左右關節橫坐標;xr1,xl1分別表示搜索到的數據庫中圖像的左右關節的橫坐標。

圖5 人體輪廓圖像
假設兩幅圖像的坐標軸以XOY坐標系為標準坐標系,則有以下幾種情況發生:
(1)當xr=xl,xr1=xl1時,scale=1,這種情況下所獲取的數據庫圖像不需要進行縮放就可以直接與獲得的當前圖像進行貼合。
(2)當scale=1時有可能會出現一種特殊情況,那就是當目標圖像的左右肩關節坐標正好相對于當前圖像進行了同時的左移或者右移,那么即使scale為1,兩幅圖像仍然不能進行貼合,所以還應定義一個左右肩關節連線中點坐標橫坐標x=0,其中
x=xr1+xl1
(10)
假如x=0,則表示兩幅圖像正好貼合;如果x>0,則表示目標圖像相對于當前圖像進行了右移,所以應按照得到的x的值左移x/2個坐標單位;同理,若x<0,則將目標圖像右移x/2個單位。
(3)當xr=xr1,xl=xl1時,就需要對數據庫中的圖像進行縮放才能貼合到需要的當前圖像中,這種情況下,如何縮放是主要的研究問題。當scale>1時,表明目標圖像的肩寬大于當前圖像,要對目標圖像進行放大,放大倍數按照給出的scale值進行。假如給出的scale值為1.5,則對目標圖像放大1.5倍。當scale<1時,就要對目標圖像進行縮小,同樣,縮小倍數也按照得到的scale來計算。
文中在前人提出的基于輪廓特征的服裝匹配算法的基礎上,對匹配的關鍵字進行改進。采用體感設備進行編碼計算得到骨骼關節點信息作為匹配的關鍵字,與輪廓信息相比,具有更高的準確性,并降低了計算復雜度,且所需硬件的成本大大降低,實用性增強。
[1] 王兆其.虛擬人合成研究綜述[J].中國科學院研究生院學報,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] 劉炯宙,李基拓,陸國棟.三維服裝物理-幾何實時混合模擬[J].計算機輔助設計與圖形學學報,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] 朱紫陽,施霞萍,陳家訓.基于部件分解的三維服裝人體建模[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
時間:2017-01-04
國家自然科學基金資助項目(61302093)
耿 曼(1991-),女,碩士研究生,研究方向為智能信息處理;錢國明,教授,研究方向無線通信技術和信號處理;王 宇,副研究員,研究方向為分布式計算、數據管理等。
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