<ruby id="66w77"><video id="66w77"></video></ruby>
<ruby id="66w77"><option id="66w77"><thead id="66w77"></thead></option></ruby>
  • <ruby id="66w77"><table id="66w77"></table></ruby>

  • <ruby id="66w77"><table id="66w77"></table></ruby>
    <strong id="66w77"></strong>
    虛擬試衣鏡開(kāi)發(fā)方案
    來(lái)源:作者:日期:2019-12-27 09:33:28點(diǎn)擊:4556次

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

      背景技術(shù):

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

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

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

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

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

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

      S1服裝建模,并對服裝根據身材類(lèi)型分類(lèi),包括Y型、A型、H型和X型;

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

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

      用戶(hù)上傳標準全身照片和身高體重數據,對用戶(hù)上傳標準全身照片進(jìn)行圖像處理,提取四圍信息,將身高體重數據和四維信息導入訓練模型,獲取身材類(lèi)型分類(lèi);

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

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

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

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

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

      LibSVM訓練選擇的svm類(lèi)型為c_svm類(lèi)型,核函數為多項式核,迭代次數選擇3,gamma選擇0.166667,分類(lèi)類(lèi)別數為60,獲取訓練模型。

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

      S2.1用戶(hù)上傳標準全身照片,包括正面標準照,背面標準照和側面標準照;

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

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

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

      所述S2.3中,基于分割后的用戶(hù)背面標準照獲取胸部定位,識別出手臂后,對手臂下方位置,占人體高度5%長(cháng)度的位置處取得人體寬度信息取均值,計算得到胸部位置寬度Bo:

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

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

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

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

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

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

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

      S2.2.2對人體輪廓線(xiàn)計算斜率,取如下輪廓線(xiàn):

      斜率絕對值接近于零;

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

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

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

      所述S3中,根據模型訓練后確認的身材類(lèi)型,選擇對應身材類(lèi)型的服裝;服裝模型的長(cháng)度與寬度確定方法為:

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

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

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

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

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

      具體實(shí)施方式

      實(shí)施例1

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

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

      1)服裝建模;

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

      2)人體圖像數據采集;

      采集二維數據或三維數據的人體圖像數據;

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

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

      用戶(hù)上傳標準全身照片和身高體重數據,對用戶(hù)上傳標準全身照片進(jìn)行圖像處理,提取四圍信息,將身高體重數據和四維信息導入訓練模型,獲取身材類(lèi)型分類(lèi);

      LibSVM訓練方法如下:

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

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

      LibSVM訓練選擇的svm類(lèi)型為c_svm類(lèi)型,核函數為多項式核,迭代次數選擇3,gamma選擇0.166667,分類(lèi)類(lèi)別數為60,獲取訓練模型。

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

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

      S2.1用戶(hù)上傳標準全身照片,包括正面標準照,背面標準照和側面標準照;

      標準照基于如下標準:

      正面標準照:用戶(hù)身體直立,手臂自然下垂;

      背面標準照:用戶(hù)身體直立,手臂水平伸展;

      側面標準照:用戶(hù)身體直立,手臂自然下垂。

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

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

      首先,基于分割后的用戶(hù)背面標準照獲取胸部定位,識別出手臂后,對手臂下方位置,占人體高度5%長(cháng)度的位置處取得人體寬度信息取均值,計算得到胸部位置寬度Bo:

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

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

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

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

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

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

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

      S2.2.2對人體輪廓線(xiàn)計算斜率,取如下輪廓線(xiàn):

      斜率絕對值接近于零;

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

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

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

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

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

      根據模型訓練后確認的身材類(lèi)型,選擇對應身材類(lèi)型的服裝;服裝模型的長(cháng)度與寬度確定方法為:

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

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

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

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

    92视频在线精品国自产拍_乱色熟女综合一区二区_国产精品毛片久久久久久久_久天啪天天久久99久孕妇
    <ruby id="66w77"><video id="66w77"></video></ruby>
    <ruby id="66w77"><option id="66w77"><thead id="66w77"></thead></option></ruby>
  • <ruby id="66w77"><table id="66w77"></table></ruby>

  • <ruby id="66w77"><table id="66w77"></table></ruby>
    <strong id="66w77"></strong>