欧美成人精品第一区二区三区,-亚洲综合偷拍欧美一区色-少妇亚洲一区二区19p-少妇3p欧美一区二区三区

虛擬試衣鏡開(kāi)發(fā)方案
來(lái)源:作者:日期:2019-12-27 09:33:28點(diǎn)擊:4625次

  本開(kāi)發(fā)方案屬于圖像處理和虛擬現(xiàn)實(shí)技術(shù)領(lǐng)域,具體涉及一種虛擬試衣鏡的實(shí)現(xiàn)方法。

  背景技術(shù):

  隨著物聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)虛擬購(gòu)物已經(jīng)成了時(shí)代潮流。國(guó)內(nèi)商家對(duì)于虛擬試衣技術(shù)不斷嘗試創(chuàng)新,以積極的態(tài)度迎接虛擬顯示技術(shù)時(shí)代的到來(lái),但是現(xiàn)有的在線的試衣系統(tǒng),或是基于移動(dòng)終端的試衣軟件,其顯示效果仍然無(wú)法與實(shí)物相提并論,也因此影響了虛擬試衣鏡的發(fā)展與推廣。
 

虛擬試衣鏡開(kāi)發(fā)方案
 

  技術(shù)實(shí)現(xiàn)要素:

  本發(fā)明的目的在于克服現(xiàn)有技術(shù)存在的問(wèn)題,提供一種虛擬試衣鏡的實(shí)現(xiàn)方法。

  為實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明采用如下技術(shù)方案:

  一種虛擬試衣鏡的實(shí)現(xiàn)方法,包括如下步驟:

  S1服裝建模,并對(duì)服裝根據(jù)身材類型分類,包括Y型、A型、H型和X型;

  S2用戶人體圖像數(shù)據(jù)采集;所述用戶人體圖像數(shù)據(jù)為二維數(shù)據(jù)或三維數(shù)據(jù);

  所述二維數(shù)據(jù)獲取方式包括:采用LibSVM訓(xùn)練進(jìn)行數(shù)據(jù)訓(xùn)練,獲取訓(xùn)練模型;LibSVM訓(xùn)練的訓(xùn)練集數(shù)據(jù)包括用戶身高體重、四圍信息和身材類型信息;所述四維信息包括胸圍、腰圍、臀圍、肩圍;

  用戶上傳標(biāo)準(zhǔn)全身照片和身高體重?cái)?shù)據(jù),對(duì)用戶上傳標(biāo)準(zhǔn)全身照片進(jìn)行圖像處理,提取四圍信息,將身高體重?cái)?shù)據(jù)和四維信息導(dǎo)入訓(xùn)練模型,獲取身材類型分類;

  S3將人體圖像數(shù)據(jù)和服裝建模數(shù)據(jù)關(guān)聯(lián)并顯示。

  用戶不在現(xiàn)場(chǎng)的時(shí)候,可以由用戶提供影像采集二維數(shù)據(jù),在軟件上顯示試衣效果;用戶在現(xiàn)場(chǎng)時(shí),可以采集三維數(shù)據(jù)。所述三維數(shù)據(jù)基于kinect體感機(jī)通過(guò)骨骼識(shí)別定位獲取。

  本發(fā)明的方法,所述S2中,LibSVM訓(xùn)練方法如下:

  將單個(gè)用戶的數(shù)據(jù)作為一個(gè)樣本,表示為Di(xi,yi),其中yi為樣本標(biāo)簽,xi為六維的數(shù)據(jù)點(diǎn)xi(x身高+x體重+x肩圍+x臀圍+x胸圍+x腰圍),設(shè)所求SVM空間的超平面方程為g(x)=+b,w由樣本決定,將w寫成a1y1x1+a2y2x2+...+anynxn,式中a為拉格朗日乘子,式中對(duì)最終所求的結(jié)果產(chǎn)生影響的樣本點(diǎn)即所需樣本點(diǎn),即支持向量:

  設(shè)核函數(shù)形式為K(xi,x),則所求的超平面形式變化為:

  LibSVM訓(xùn)練選擇的svm類型為c_svm類型,核函數(shù)為多項(xiàng)式核,迭代次數(shù)選擇3,gamma選擇0.166667,分類類別數(shù)為60,獲取訓(xùn)練模型。

  用戶上傳圖像數(shù)據(jù)的處理步驟包括:

  S2.1用戶上傳標(biāo)準(zhǔn)全身照片,包括正面標(biāo)準(zhǔn)照,背面標(biāo)準(zhǔn)照和側(cè)面標(biāo)準(zhǔn)照;

  S2.2對(duì)標(biāo)準(zhǔn)照片進(jìn)行圖像分割,將圖劃分為背景和前景兩部分,前景即為用戶人體圖像數(shù)據(jù);

  S2.3對(duì)用戶三圍進(jìn)行定位,包括胸部、腰部、臀部定位,從用戶人體圖像數(shù)據(jù)中提取三圍信息;并對(duì)用戶肩部進(jìn)行定位。

  所述S2.2中,采用GrabCut算法對(duì)標(biāo)準(zhǔn)照片進(jìn)行圖像分割。

  所述S2.3中,基于分割后的用戶背面標(biāo)準(zhǔn)照獲取胸部定位,識(shí)別出手臂后,對(duì)手臂下方位置,占人體高度5%長(zhǎng)度的位置處取得人體寬度信息取均值,計(jì)算得到胸部位置寬度Bo:

  其中Bo為胸部位置寬度,Ho為人體高度,Bp為檢測(cè)到胸部位置的水平高度,Bwi為所在行人體寬度;

  識(shí)別出手臂后,通過(guò)寬度檢測(cè),檢測(cè)到第一個(gè)寬度最小值時(shí)將其作為腰部中點(diǎn),對(duì)上下取人體高度5%長(zhǎng)度取平均值:

  其中Wo為腰部位置寬度,Wp為檢測(cè)到腰部位置的水平高度,Wwi為所在行人體寬度;

  在識(shí)別出腰部所在位置后,向下檢測(cè)至第一個(gè)寬度峰值,將其定位為臀部中心點(diǎn);根據(jù)人體高度5%長(zhǎng)度的位置取得人體寬度信息取均值,計(jì)算出臀部寬度信息Co:

  其中Co為臀部位置寬度,Cp為檢測(cè)到臀部位置的水平高度,Cwi為所在行人體寬度。

  所述S2.3中,基于人體輪廓信息定位肩部:

  S2.2.1基于人體輪廓線檢測(cè)人體寬度,從上至下掃描前景圖,掃描線寬度大小第二個(gè)峰值處為肩部,掃描線寬度大小第一個(gè)谷值處為脖頸;

  S2.2.2對(duì)人體輪廓線計(jì)算斜率,取如下輪廓線:

  斜率絕對(duì)值接近于零;

  向肩部定位下方檢測(cè)到手臂,斜率開(kāi)始增加直到接近于正無(wú)窮;

  向肩部定位上方檢測(cè)到脖頸,斜率開(kāi)始增加直到接近于正無(wú)窮;

  取滿足上述要求的輪廓線,限制肩部定位點(diǎn)范圍,確定肩部定位。

  所述S3中,根據(jù)模型訓(xùn)練后確認(rèn)的身材類型,選擇對(duì)應(yīng)身材類型的服裝;服裝模型的長(zhǎng)度與寬度確定方法為:

  服裝長(zhǎng)度cL=(sH-Cp)/(ho/Ho);服裝寬度bW=(fB+Co)/2;

  其中cL為合成圖中服裝長(zhǎng)度,sH為合成圖中肩部高度,Cp為圖中臀部高度,ho為用戶真實(shí)身高,Ho為圖中人體身高;bW為圖中服裝寬度,fB為圖中正面胸部寬度,Co為圖中胸部位置寬度。

  所述S2中,所述三維數(shù)據(jù)基于kinect體感機(jī)通過(guò)骨骼識(shí)別定位獲取。

  所述S3中,還包括手勢(shì)控制,所述人體圖像數(shù)據(jù)采集過(guò)程中,利用LibSVM進(jìn)行特征訓(xùn)練,實(shí)現(xiàn)手勢(shì)識(shí)別;或通過(guò)kinect體感機(jī)進(jìn)行指尖判定,實(shí)現(xiàn)手勢(shì)識(shí)別。

  本發(fā)明的方法可以方便實(shí)現(xiàn)虛擬試衣,并在用戶到場(chǎng)或不到場(chǎng)兩種情況下均可以實(shí)現(xiàn),并且操作方便,尺寸匹配效果好,顯示效果好。

  具體實(shí)施方式

  實(shí)施例1

  本實(shí)施例用于說(shuō)明本發(fā)明方法的具體技術(shù)方案。

  本發(fā)明的方法包括如下步驟:

  1)服裝建模;

  采用已有建模軟件,如3DMAX對(duì)服裝進(jìn)行建模;并對(duì)服裝根據(jù)身材類型分類,包括Y型、A型、H型和X型;

  2)人體圖像數(shù)據(jù)采集;

  采集二維數(shù)據(jù)或三維數(shù)據(jù)的人體圖像數(shù)據(jù);

  用戶不在現(xiàn)場(chǎng)的時(shí)候,可以由用戶提供影像采集二維數(shù)據(jù),用戶在現(xiàn)場(chǎng)時(shí),可以采集三維數(shù)據(jù)。其中,所述二維數(shù)據(jù)基于SVM分類和圖像處理獲取。所述三維數(shù)據(jù)基于kinect體感機(jī)通過(guò)骨骼識(shí)別定位獲取;

  所述二維數(shù)據(jù)獲取方式包括:采用LibSVM訓(xùn)練進(jìn)行數(shù)據(jù)訓(xùn)練,獲取訓(xùn)練模型;LibSVM訓(xùn)練的訓(xùn)練集數(shù)據(jù)包括用戶身高體重、四圍信息和身材類型信息;所述四維信息包括胸圍、腰圍、臀圍、肩圍;

  用戶上傳標(biāo)準(zhǔn)全身照片和身高體重?cái)?shù)據(jù),對(duì)用戶上傳標(biāo)準(zhǔn)全身照片進(jìn)行圖像處理,提取四圍信息,將身高體重?cái)?shù)據(jù)和四維信息導(dǎo)入訓(xùn)練模型,獲取身材類型分類;

  LibSVM訓(xùn)練方法如下:

  將單個(gè)用戶的數(shù)據(jù)作為一個(gè)樣本,表示為Di(xi,yi),其中yi為樣本標(biāo)簽,xi為六維的數(shù)據(jù)點(diǎn)xi(x身高+x體重+x肩圍+x臀圍+x胸圍+x腰圍),設(shè)所求SVM空間的超平面方程為g(x)=+b,w由樣本決定,將w寫成a1y1x1+a2y2x2+...+anynxn,式中a為拉格朗日乘子,式中對(duì)最終所求的結(jié)果產(chǎn)生影響的樣本點(diǎn)即所需樣本點(diǎn),即支持向量:

  設(shè)核函數(shù)形式為K(xi,x),則所求的超平面形式變化為:

  LibSVM訓(xùn)練選擇的svm類型為c_svm類型,核函數(shù)為多項(xiàng)式核,迭代次數(shù)選擇3,gamma選擇0.166667,分類類別數(shù)為60,獲取訓(xùn)練模型。

  本發(fā)明中在核函數(shù)的選擇中,分別試驗(yàn)了線性核,多項(xiàng)式核,RBF核,sigmoid核,參數(shù)gamma均為0.166667,在用測(cè)試樣本進(jìn)行檢驗(yàn)時(shí),發(fā)現(xiàn)平均召回率分別為82.121%,80.7%,8.65%,8.575%。同時(shí)發(fā)現(xiàn),在使用原始樣本代回測(cè)試時(shí),召回率分別為99.1%,100%,100%,8.4%。因此選擇使用多項(xiàng)式核作為核函數(shù)。本發(fā)明的SVM分類平均準(zhǔn)確率可達(dá)82。

  所述S2中,用戶上傳圖像數(shù)據(jù)的處理步驟包括:

  S2.1用戶上傳標(biāo)準(zhǔn)全身照片,包括正面標(biāo)準(zhǔn)照,背面標(biāo)準(zhǔn)照和側(cè)面標(biāo)準(zhǔn)照;

  標(biāo)準(zhǔn)照基于如下標(biāo)準(zhǔn):

  正面標(biāo)準(zhǔn)照:用戶身體直立,手臂自然下垂;

  背面標(biāo)準(zhǔn)照:用戶身體直立,手臂水平伸展;

  側(cè)面標(biāo)準(zhǔn)照:用戶身體直立,手臂自然下垂。

  S2.2采用GrabCut算法對(duì)標(biāo)準(zhǔn)照片進(jìn)行圖像分割,將圖劃分為背景和前景兩部分,前景即為用戶人體圖像數(shù)據(jù);

  S2.3對(duì)用戶三圍進(jìn)行定位,包括胸部、腰部、臀部定位,從用戶人體圖像數(shù)據(jù)中提取三圍信息;并對(duì)用戶肩部進(jìn)行定位。

  首先,基于分割后的用戶背面標(biāo)準(zhǔn)照獲取胸部定位,識(shí)別出手臂后,對(duì)手臂下方位置,占人體高度5%長(zhǎng)度的位置處取得人體寬度信息取均值,計(jì)算得到胸部位置寬度Bo:

  其中Bo為胸部位置寬度,Ho為人體高度,Bp為檢測(cè)到胸部位置的水平高度,Bwi為所在行人體寬度;

  識(shí)別出手臂后,通過(guò)寬度檢測(cè),檢測(cè)到第一個(gè)寬度最小值時(shí)將其作為腰部中點(diǎn),對(duì)上下取人體高度5%長(zhǎng)度取平均值:

  其中Wo為腰部位置寬度,Wp為檢測(cè)到腰部位置的水平高度,Wwi為所在行人體寬度;

  在識(shí)別出腰部所在位置后,向下檢測(cè)至第一個(gè)寬度峰值,將其定位為臀部中心點(diǎn);根據(jù)人體高度5%長(zhǎng)度的位置取得人體寬度信息取均值,計(jì)算出臀部寬度信息Co:

  其中Co為臀部位置寬度,Cp為檢測(cè)到臀部位置的水平高度,Cwi為所在行人體寬度。

  基于人體輪廓信息定位肩部:

  S2.2.1基于人體輪廓線檢測(cè)人體寬度,從上至下掃描前景圖,掃描線寬度大小第二個(gè)峰值處為肩部,掃描線寬度大小第一個(gè)谷值處為脖頸;

  S2.2.2對(duì)人體輪廓線計(jì)算斜率,取如下輪廓線:

  斜率絕對(duì)值接近于零;

  向肩部定位下方檢測(cè)到手臂,斜率開(kāi)始增加直到接近于正無(wú)窮;

  向肩部定位上方檢測(cè)到脖頸,斜率開(kāi)始增加直到接近于正無(wú)窮;

  取滿足上述要求的輪廓線,限制肩部定位點(diǎn)范圍,確定肩部定位。

  為實(shí)現(xiàn)通過(guò)手勢(shì)控制進(jìn)行衣服的篩選,在人體圖像數(shù)據(jù)采集過(guò)程中可,利用SVM進(jìn)行特征訓(xùn)練,實(shí)現(xiàn)手勢(shì)識(shí)別;或通過(guò)kinect體感機(jī)進(jìn)行指尖判定,實(shí)現(xiàn)手勢(shì)識(shí)別;

  S3將人體圖像數(shù)據(jù)和服裝建模數(shù)據(jù)關(guān)聯(lián),在顯示器上顯示;

  根據(jù)模型訓(xùn)練后確認(rèn)的身材類型,選擇對(duì)應(yīng)身材類型的服裝;服裝模型的長(zhǎng)度與寬度確定方法為:

  服裝長(zhǎng)度cL=(sH-Cp)/(ho/Ho);服裝寬度bW=(fB+Co)/2;

  其中cL為圖中服裝長(zhǎng)度,sH為圖中肩部高度,Cp為圖中臀部高度,ho為用戶真實(shí)身高,Ho為圖中人體身高;bW為圖中服裝寬度,fB為圖中正面胸部寬度,Co為圖中胸部位置寬度。

  當(dāng)服裝的匹配效果出現(xiàn)誤差或者不符合用戶的意圖時(shí),可以手動(dòng)微調(diào)服裝位置與大小。

  服裝與人體的肩部定位點(diǎn)的區(qū)域大小不一致的,因此本發(fā)明中對(duì)用戶調(diào)整的范圍進(jìn)行了限制,以防止用戶的誤操作。限定方法是:用戶對(duì)服裝的位置進(jìn)行調(diào)節(jié)時(shí)兩者的匹配區(qū)域必須有重合區(qū)域,否則不能調(diào)整。對(duì)于服裝的大小可以通過(guò)手指對(duì)屏幕的觸控調(diào)整。