国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      實(shí)現(xiàn)虛擬試戴的方法和裝置制造方法

      文檔序號(hào):6549912閱讀:270來源:國知局
      實(shí)現(xiàn)虛擬試戴的方法和裝置制造方法
      【專利摘要】本發(fā)明提供一種實(shí)現(xiàn)虛擬試戴的方法和裝置,能夠使用戶利用普通的圖像采集裝置例如手機(jī)上的或者計(jì)算機(jī)上的攝像頭即可實(shí)現(xiàn)虛擬試戴。本發(fā)明的實(shí)現(xiàn)虛擬試戴的方法包括:對(duì)采集的初始幀進(jìn)行人臉檢測(cè),在檢測(cè)到人臉的情況下,在初始位置生成物品圖像然后與所述初始幀疊加后輸出,該初始位置與所述初始幀中的人臉的指定位置重疊;對(duì)當(dāng)前幀中的人臉進(jìn)行人臉姿勢(shì)檢測(cè)得到當(dāng)前幀的人臉姿勢(shì);根據(jù)所述物品圖像的當(dāng)前位置和所述人臉姿勢(shì)再次生成物品圖像,并使該物品圖像中的物品姿勢(shì)與所述人臉姿勢(shì)一致,然后將該物品圖像與所述當(dāng)前幀疊加后輸出。
      【專利說明】實(shí)現(xiàn)虛擬試戴的方法和裝置

      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù),特別地涉及一種實(shí)現(xiàn)虛擬試戴的方法和裝置。

      【背景技術(shù)】
      [0002] 隨著電子商務(wù)的發(fā)展,網(wǎng)上購物成為越來越多的用戶的選擇。服飾作為主要的消 費(fèi)品之一,也成為很多用戶網(wǎng)購的目標(biāo)。購買服飾時(shí)通常需要試穿試戴,于是虛擬試衣以及 虛擬試戴技術(shù)應(yīng)運(yùn)而生。
      [0003] 目前的虛擬試戴技術(shù)主要有兩類實(shí)現(xiàn)途徑:
      [0004] 1、人工合成模型試戴
      [0005] 這種方法采用將虛擬商品佩戴在預(yù)先生成的人體或人體局部的模型上,給用戶虛 擬試戴的效果。這種方式?jīng)]有用戶的實(shí)際身體信息,試戴效果不佳。
      [0006] 2、特殊裝置采集真實(shí)人體信息試戴
      [0007] 該方法利用特殊裝置例如景深傳感器采集用戶實(shí)際身體信息,形成人體或人體局 部的模型,供用戶試戴。這種方式雖然獲得了用戶實(shí)際的身體信息,但是需要特殊裝置,目 前通常在商家提供的專門場(chǎng)所才具備。一般用戶僅具有普通的圖像采集裝置例如設(shè)置在手 機(jī)上的或計(jì)算機(jī)上的攝像頭。


      【發(fā)明內(nèi)容】

      [0008] 有鑒于此,本發(fā)明提供一種實(shí)現(xiàn)虛擬試戴的方法和裝置,能夠使用戶利用普通的 圖像采集裝置例如手機(jī)上的或者計(jì)算機(jī)上的攝像頭即可實(shí)現(xiàn)虛擬試戴。
      [0009] 為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了 一種實(shí)現(xiàn)虛擬試戴的方法。
      [0010] 本發(fā)明的實(shí)現(xiàn)虛擬試戴的方法包括:對(duì)采集的初始幀進(jìn)行人臉檢測(cè),在檢測(cè)到人 臉的情況下,在初始位置生成物品圖像然后與所述初始幀疊加后輸出,該初始位置與所述 初始幀中的人臉的指定位置重疊;對(duì)當(dāng)前幀中的人臉進(jìn)行人臉姿勢(shì)檢測(cè)得到當(dāng)前幀的人臉 姿勢(shì);根據(jù)所述物品圖像的當(dāng)前位置和所述人臉姿勢(shì)再次生成物品圖像,并使該物品圖像 中的物品姿勢(shì)與所述人臉姿勢(shì)一致,然后將該物品圖像與所述當(dāng)前幀疊加后輸出。
      [0011] 可選地,所述對(duì)當(dāng)前幀中的人臉進(jìn)行人臉姿勢(shì)檢測(cè)得到當(dāng)前幀的人臉姿勢(shì)的步驟 包括:在所述初始幀中確定人臉圖像上的多個(gè)特征點(diǎn);針對(duì)每個(gè)特征點(diǎn)進(jìn)行如下處理:對(duì) 特征點(diǎn)進(jìn)行跟蹤以確定該特征點(diǎn)在當(dāng)前幀的位置,根據(jù)前一幀的人臉姿勢(shì),將所述初始幀 中的該特征點(diǎn)的鄰域進(jìn)行仿射變換以得到該鄰域在當(dāng)前幀中的投影區(qū)域,計(jì)算所述初始幀 中的所述鄰域與當(dāng)前幀中的所述投影區(qū)域之間的顏色偏移量并作為該特征點(diǎn)的跟蹤偏差, 對(duì)于確定的所述多個(gè)特征點(diǎn),選擇跟蹤偏差較小的多個(gè)特征點(diǎn);根據(jù)所述跟蹤偏差較小的 多個(gè)特征點(diǎn)在所述初始幀的位置以及在當(dāng)前幀的位置確定當(dāng)前幀的人臉姿勢(shì)。
      [0012] 可選地,所述對(duì)于所述多個(gè)特征點(diǎn),選擇跟蹤偏差較小的多個(gè)特征點(diǎn)的步驟包括: 對(duì)于確定的所述多個(gè)特征點(diǎn)的跟蹤偏差,以其中的最大值和最小值作為初始中心,按跟蹤 偏差的大小進(jìn)行聚類得到兩類;選擇所述兩類中跟蹤偏差較小的一類所對(duì)應(yīng)的特征點(diǎn)。
      [0013] 可選地,所述確定當(dāng)前幀的人臉姿勢(shì)的步驟之后,還包括:將所述兩類中跟蹤偏差 較大的一類所對(duì)應(yīng)的特征點(diǎn)按照所述當(dāng)前幀的人臉姿勢(shì)投影到當(dāng)前幀圖像平面,以投影位 置代替這些特征點(diǎn)在當(dāng)前幀的位置。
      [0014] 可選地,所述對(duì)采集的初始幀進(jìn)行人臉檢測(cè)的步驟之前,還包括:在接收到復(fù)位指 令的情況下,將采集的當(dāng)前幀作為所述初始幀;所述按跟蹤偏差的大小進(jìn)行聚類得到兩類 的步驟之后,還包括:在所述跟蹤偏差較小的一類特征點(diǎn)的數(shù)目占特征點(diǎn)總數(shù)目的比例小 于第一預(yù)設(shè)值的情況下,或者,在當(dāng)前幀中采集到的特征點(diǎn)的數(shù)目占在前一幀采集到的特 征點(diǎn)總數(shù)目的比例小于第二預(yù)設(shè)值的情況下,輸出提示信息,然后接收復(fù)位指令。
      [0015] 可選地,所述物品圖像為眼鏡圖像、頭部飾品圖像、或者頸部飾品圖像。
      [0016] 根據(jù)本發(fā)明的另一方面,提供了一種實(shí)現(xiàn)虛擬試戴的裝置。
      [0017] 本發(fā)明的實(shí)現(xiàn)虛擬試戴的裝置包括:人臉檢測(cè)模塊,用于對(duì)采集的初始幀進(jìn)行人 臉檢測(cè);第一輸出模塊,用于在所述人臉檢測(cè)模塊采集到人臉的情況下,在初始位置生成 物品圖像然后與所述初始幀疊加后輸出,該初始位置與所述初始幀中的人臉的指定位置重 疊;人臉姿勢(shì)檢測(cè)模塊,用于對(duì)當(dāng)前幀中的人臉進(jìn)行人臉姿勢(shì)檢測(cè)得到當(dāng)前幀的人臉姿勢(shì); 第二輸出模塊,用于根據(jù)所述物品圖像的當(dāng)前位置和所述人臉姿勢(shì)再次生成物品圖像,并 使該物品圖像中的物品姿勢(shì)與所述人臉姿勢(shì)一致,然后將該物品圖像與所述當(dāng)前幀疊加后 輸出。
      [0018] 可選地,所述人臉姿勢(shì)檢測(cè)模塊還用于:在所述初始幀中確定人臉圖像上的多個(gè) 特征點(diǎn);針對(duì)每個(gè)特征點(diǎn)進(jìn)行如下處理:對(duì)特征點(diǎn)進(jìn)行跟蹤以確定該特征點(diǎn)在當(dāng)前幀的位 置,根據(jù)前一幀的人臉姿勢(shì),將所述初始幀中的該特征點(diǎn)的鄰域進(jìn)行仿射變換以得到該鄰 域在當(dāng)前幀中的投影區(qū)域,計(jì)算所述初始幀中的所述鄰域與當(dāng)前幀中的所述投影區(qū)域之間 的顏色偏移量并作為該特征點(diǎn)的跟蹤偏差,對(duì)于確定的所述多個(gè)特征點(diǎn),選擇跟蹤偏差較 小的多個(gè)特征點(diǎn);根據(jù)所述跟蹤偏差較小的多個(gè)特征點(diǎn)在所述初始幀的位置以及在當(dāng)前幀 的位置確定當(dāng)前幀的人臉姿勢(shì)。
      [0019] 可選地,所述人臉姿勢(shì)檢測(cè)模塊還用于:對(duì)于確定的所述多個(gè)特征點(diǎn)的跟蹤偏差, 以其中的最大值和最小值作為初始中心,按跟蹤偏差的大小進(jìn)行聚類得到兩類;選擇所述 兩類中跟蹤偏差較小的一類所對(duì)應(yīng)的特征點(diǎn)。
      [0020] 可選地,還包括修改模塊,用于在所述人臉姿勢(shì)檢測(cè)模塊確定當(dāng)前幀的人臉姿勢(shì) 之后,將所述兩類中跟蹤偏差較大的一類所對(duì)應(yīng)的特征點(diǎn)按照所述當(dāng)前幀的人臉姿勢(shì)投影 到當(dāng)前幀圖像平面,以投影位置代替這些特征點(diǎn)在當(dāng)前幀的位置。
      [0021] 可選地,還包括復(fù)位模塊和提示模塊,其中:所述復(fù)位模塊用于接收復(fù)位指令,以 及在接收到復(fù)位指令的情況下,將采集的當(dāng)前幀作為所述初始幀;所述提示模塊用于在所 述人臉姿勢(shì)檢測(cè)模塊按跟蹤偏差的大小進(jìn)行聚類得到兩類之后,在所述跟蹤偏差較小的一 類特征點(diǎn)的數(shù)目占特征點(diǎn)總數(shù)目的比例小于第一預(yù)設(shè)值的情況下,或者,在當(dāng)前幀中采集 到的特征點(diǎn)的數(shù)目占在前一幀采集到的特征點(diǎn)總數(shù)目的比例小于第二預(yù)設(shè)值的情況下,輸 出提示信息。
      [0022] 可選地,所述物品圖像為眼鏡圖像、頭部飾品圖像、或者頸部飾品圖像。
      [0023] 根據(jù)本發(fā)明的技術(shù)方案,通過檢測(cè)各幀的人臉姿勢(shì),再按人臉姿勢(shì)調(diào)整眼鏡姿勢(shì), 能夠使用戶利用普通的圖像采集裝置就可完成虛擬試戴,并且用戶可能轉(zhuǎn)動(dòng)頭部以觀察多 個(gè)角度的佩戴效果,具有比較高的真實(shí)性。

      【專利附圖】

      【附圖說明】
      [0024]附圖用于更好地理解本發(fā)明,不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。其中:
      [0025]圖1是根據(jù)本發(fā)明實(shí)施例的實(shí)現(xiàn)虛擬試戴的方法的基本步驟的示意圖;
      [0026]圖2是根據(jù)本發(fā)明實(shí)施例的人臉姿勢(shì)檢測(cè)的主要步驟的示意圖;
      [0027]圖3是根據(jù)本發(fā)明實(shí)施例的采集到的特征點(diǎn)的示意圖;
      [0028]圖4A和圖4B分別是根據(jù)本發(fā)明實(shí)施例的在初始幀中和在當(dāng)前幀中取紋理區(qū)域的 示意圖;
      [0029]圖5是根據(jù)本發(fā)明實(shí)施例的實(shí)現(xiàn)虛擬試戴的裝置的基本結(jié)構(gòu)的示意圖。

      【具體實(shí)施方式】
      [0030]以下結(jié)合附圖對(duì)本發(fā)明的示范性實(shí)施例做出說明,其中包括本發(fā)明實(shí)施例的各種 細(xì)節(jié)以助于理解,應(yīng)當(dāng)將它們認(rèn)為僅僅是示范性的。因此,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí) 至IJ,可以對(duì)這里描述的實(shí)施例做出各種改變和修改,而不會(huì)背離本發(fā)明的范圍和精神。同 樣,為了清楚和簡(jiǎn)明,以下的描述中省略了對(duì)公知功能和結(jié)構(gòu)的描述。
      [0031 ]本發(fā)明實(shí)施例的虛擬試戴技術(shù)可應(yīng)用于具有攝像頭的手機(jī),或者應(yīng)用于連接或內(nèi) 置攝像頭的計(jì)算機(jī),包括平板電腦??蓪?shí)現(xiàn)眼鏡、飾品等物品的試戴。本實(shí)施例中,以試戴 眼鏡為例加以說明。使用時(shí),用戶選擇試戴的眼鏡,并將攝像頭對(duì)準(zhǔn)自己的面部,單擊屏幕 或指定的鍵,此時(shí)攝像頭采集用戶頭像并將眼鏡呈現(xiàn)在用戶頭像的眼睛處。用戶可以點(diǎn)擊 屏幕中的眼鏡并將其平移以進(jìn)一步調(diào)整其與眼睛的位置關(guān)系。用戶可以上下或左右轉(zhuǎn)動(dòng)頸 部以觀看各個(gè)角度的眼鏡佩戴效果。在該過程中,應(yīng)用本實(shí)施例的技術(shù),使屏幕上的眼鏡圖 像中的眼鏡的姿勢(shì)與人臉的姿勢(shì)保持一致,從而使眼鏡能夠跟蹤人臉移動(dòng),以實(shí)現(xiàn)眼鏡固 定地佩戴在臉部。以下對(duì)本發(fā)明實(shí)施例的技術(shù)方案做出說明。
      [0032]圖1是根據(jù)本發(fā)明實(shí)施例的實(shí)現(xiàn)虛擬試戴的方法的基本步驟的示意圖。如圖i所 示,該方法主要包括如下的步驟S11至步驟S17。
      [0033]步驟S11 :采集初始幀??梢允窃跀z像頭啟動(dòng)的情況下自動(dòng)開始采集或者根據(jù)用 戶的操作指令開始采集。例如用戶點(diǎn)擊觸摸屏,或者按下鍵盤上的任意或指定按鈕。
      [0034] 步驟S12 :對(duì)初始幀進(jìn)行人臉檢測(cè)??刹捎矛F(xiàn)有的各種人臉檢測(cè)方式,確認(rèn)初始幀 中包含人臉并確定人臉的大致范圍。該大致范圍可用人臉的外接矩形來表示。
      [0035]步驟S13 :生成眼鏡圖像并與初始幀疊加。具體生成哪個(gè)眼鏡的圖像,由用戶進(jìn)行 選擇。例如用戶點(diǎn)擊屏幕中出現(xiàn)的多個(gè)眼鏡圖標(biāo)中的一個(gè)。本實(shí)施例中,預(yù)先設(shè)定從人臉 范圍的上端起占人臉范圍上下總長(zhǎng)的〇· 3?0· 35:1處的分點(diǎn)為眼睛位置。在本步驟中,將 眼鏡圖像與初始幀疊加時(shí),要使眼鏡圖像的初始位置與設(shè)定的眼睛位置重疊。用戶可以通 過拖動(dòng)眼鏡圖像對(duì)呈現(xiàn)在人臉上的眼鏡進(jìn)行微調(diào)。
      [0036] 步驟S14:采集當(dāng)前幀。
      [0037] 步驟S15 :對(duì)當(dāng)前幀中的人臉進(jìn)行人臉姿勢(shì)檢測(cè)。人臉姿勢(shì)可采用現(xiàn)有的各種人 臉姿勢(shì)(或稱人臉姿態(tài))檢測(cè)技術(shù)來實(shí)現(xiàn)。人臉姿勢(shì)可以用旋轉(zhuǎn)參數(shù)R(r0,rl, r2)與平移 參數(shù)T(t0,tl,t2)共同確定。旋轉(zhuǎn)參數(shù)與平移參數(shù)分別表示在空間直角坐標(biāo)系中,相對(duì)于 初始位置,一個(gè)平面在三個(gè)坐標(biāo)平面上的旋轉(zhuǎn)角度以及在三個(gè)坐標(biāo)軸上的平移長(zhǎng)度。在本 實(shí)施例中,人臉圖像的初始位置是初始幀中人臉圖像的位置,這樣,對(duì)于每個(gè)當(dāng)前幀,是將 其與初始幀進(jìn)行比較而得出當(dāng)前幀中的人臉姿勢(shì),即上述旋轉(zhuǎn)參數(shù)和平移參數(shù)。即初始幀 之后每一幀的人臉姿勢(shì)是相對(duì)于初始幀中的人臉姿勢(shì)而言形成的姿勢(shì)。
      [0038] 步驟S16 :根據(jù)眼鏡圖像的當(dāng)前位置和步驟S15中檢測(cè)到的人臉姿勢(shì)再次生成眼 鏡圖像。在本步驟中,需使眼鏡圖像中的眼鏡姿勢(shì)與人臉姿勢(shì)一致。因此要以眼鏡圖像的 當(dāng)前位置為起始位置,按照人臉姿勢(shì)的旋轉(zhuǎn)參數(shù)和平移參數(shù)來確定眼鏡圖像中的眼鏡的旋 轉(zhuǎn)末值和平移末值然后據(jù)此生成眼鏡圖像。
      [0039]步驟S17 :將步驟S16中生成的眼鏡圖像與當(dāng)前幀疊加然后輸出。此時(shí)輸出的眼鏡 圖像因?yàn)榻?jīng)過步驟S16的處理,已經(jīng)位于當(dāng)前幀中的人臉上的眼睛附近。至本步驟,當(dāng)前幀 上已經(jīng)疊加了眼鏡圖像。對(duì)于此后采集的每一幀,同樣按上述流程處理,即返回步驟S14。
      [0040] 在當(dāng)前幀上疊加了眼鏡圖像的情況下,用戶即可看到如圖3所示的狀態(tài)。為示意 清晰,圖中以黑白單線的人像30代替實(shí)際攝像頭采集的人像。該人像佩戴有眼鏡32。本方 案不僅可實(shí)現(xiàn)眼鏡試戴,還可實(shí)現(xiàn)耳環(huán)、項(xiàng)鏈等飾品的試戴。對(duì)于試戴項(xiàng)鏈來說,采集的人 臉需包括其頸部。
      [0041] 以下結(jié)合圖2,對(duì)本實(shí)施例中采用的人臉姿勢(shì)檢測(cè)的方式加以說明。圖2是根據(jù)本 發(fā)明實(shí)施例的人臉姿勢(shì)檢測(cè)的主要步驟的示意圖。如圖2所示,該方法主要包括如下的步 驟S20至步驟S29。
      [0042] 步驟S20 :在初始幀中確定人臉圖像上的多個(gè)特征點(diǎn)。因?yàn)樵诤罄m(xù)的步驟中要進(jìn) 行特征點(diǎn)跟蹤,因此本步驟中對(duì)于特征點(diǎn)的選擇要考慮其便于跟蹤??梢赃x擇周圍紋理豐 富的點(diǎn)或者顏色梯度較大的點(diǎn),這樣的點(diǎn)在人臉位置發(fā)生變化時(shí)仍比較便于被識(shí)別??蓞?考如下文獻(xiàn):
      [0043] Jean-Yves Bouguet, ^Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the algorithm,,) Technical report, Microprocessor Research Labs, Intel Corporation(1999);
      [0044] Jianbo Shi Carlo Tomasi, "Good features to track",Proc. IEEE Comput· Soc. Conf. Comput. Vision and Pattern Recogn. , pages 593-600, 1994〇
      [0045] 采集到的特征點(diǎn)如圖3所示。圖3是根據(jù)本發(fā)明實(shí)施例的采集到的特征點(diǎn)的示意 圖。圖3中的多個(gè)小圓圈例如圓圈31表示采集到的特征點(diǎn)。接下來對(duì)每個(gè)特征點(diǎn)確定其 紋理區(qū)域的偏差,該偏差實(shí)際上即為該特征點(diǎn)的跟蹤誤差。
      [0046]步驟SW :取1個(gè)特征點(diǎn)作為當(dāng)前特征點(diǎn)??梢詫?duì)特征點(diǎn)進(jìn)行編號(hào),每次按編號(hào)順 序來取。從步驟S22至步驟S24,是對(duì)一個(gè)特征點(diǎn)的處理。
      [0047] 步驟S22 :對(duì)當(dāng)前特征點(diǎn)進(jìn)行跟蹤以確定該特征點(diǎn)在當(dāng)前幀的位置。可采用現(xiàn)有 的各種特征點(diǎn)跟蹤方法,例如光流跟蹤法、模板匹配法、粒子濾波法、特征點(diǎn)檢測(cè)法等方式。 其中光流跟蹤法可采用Lucas & Kanade方法。對(duì)于特征點(diǎn)跟蹤的各類算法,在應(yīng)用中都存 在一定誤差,難以保證所有特征點(diǎn)都能被準(zhǔn)確地在新的一幀中被定位,所以本實(shí)施例中,對(duì) 特征點(diǎn)的跟蹤作出改進(jìn),對(duì)于每個(gè)特征點(diǎn),比較其在初始幀時(shí)其一定范圍的鄰域(在后續(xù) 步驟的描述中稱作紋理區(qū)域)與其在當(dāng)前幀時(shí)相應(yīng)范圍的鄰域的差異來確定該特征點(diǎn)是 否被跟蹤得準(zhǔn)確。即接下來的步驟中的處理方式。
      [0048] 步驟S23 :根據(jù)前一幀的人臉姿勢(shì),將初始幀中的該特征點(diǎn)的鄰域進(jìn)行仿射變換 以得到該鄰域在當(dāng)前幀中的投影區(qū)域。因?yàn)閮蓭g的人臉不可避免地存在或多或少的旋 轉(zhuǎn),所以最好是進(jìn)行仿射變換以使兩幀的局部區(qū)域具有可比性。參考圖4A和圖4B,圖4A和 圖4B分別是根據(jù)本發(fā)明實(shí)施例的在初始幀中和在當(dāng)前幀中取紋理區(qū)域的示意圖。一般是 以特征點(diǎn)為中心的矩形區(qū)域作為該特征點(diǎn)的紋理區(qū)域。如圖4A和圖4B所示,特征點(diǎn)45(圖 中白色點(diǎn))在初始幀41(圖中示出幀的局部)中的紋理區(qū)域?yàn)榫匦?2,在當(dāng)前幀43中的紋 理區(qū)域?yàn)樘菪?4。這是因?yàn)榈疆?dāng)前幀時(shí),人臉向左轉(zhuǎn)過了一定角度,如果仍按矩形42的大 小在圖4B中的特征點(diǎn)45周圍取紋理區(qū)域,就會(huì)采集到過大的范圍的像素甚至在另外一些 情況下會(huì)采集到背景圖像。所以最好是作仿射變換,將特征點(diǎn)在初始幀中的紋理區(qū)域投影 到當(dāng)前幀平面,使特征點(diǎn)在不同幀中的紋理區(qū)域具有可比性。這樣,特征點(diǎn)在當(dāng)前幀的紋理 區(qū)域?qū)嶋H上是上述投影區(qū)域。
      [0049] 步驟S24 :計(jì)算當(dāng)前特征點(diǎn)在初始幀中的紋理區(qū)域與該紋理區(qū)域在當(dāng)前幀中的投 影區(qū)域之間的顏色偏移量。該顏色偏移量即為對(duì)該特征點(diǎn)的跟蹤偏差。在計(jì)算時(shí),將當(dāng)前 特征點(diǎn)在初始幀中的紋理區(qū)域中的各個(gè)像素點(diǎn)的灰度值按像素的行或列連接成一個(gè)向量, 該向量長(zhǎng)度即為該紋理區(qū)域的像素點(diǎn)總數(shù)量;另將上述投影區(qū)域的像素按行或列連接,再 按該總數(shù)量進(jìn)行等分,在等分得到的每一格的灰度值取占比較大的像素的灰度值,所有格 的灰度值連接成另一個(gè)向量,其長(zhǎng)度等于上述的總數(shù)量。計(jì)算這兩個(gè)向量的距離得到一個(gè) 數(shù)值,該數(shù)值的大小即體現(xiàn)特征點(diǎn)的跟蹤偏差。因?yàn)閮H需得到跟蹤偏差,所以采用灰度值比 采用RGB值得到的向量更短,有助于減少計(jì)算量。這里的向量距離可采用歐氏距離、馬氏距 離、余弦距離、相關(guān)系統(tǒng)等來表示。本步驟之后進(jìn)入步驟S25。
      [0050] 步驟S25 :判斷所有特征點(diǎn)是否都已處理。若是,則進(jìn)入步驟S26,否則返回步驟 S21。
      [0051] 步驟S26 :對(duì)所有特征點(diǎn)的跟蹤偏差按大小聚為兩類??刹捎萌我庖环N自聚類方 法來實(shí)現(xiàn),例如K均值自聚類方法。計(jì)算時(shí)以所有特征點(diǎn)的跟蹤偏差的最大值和最小值作 為初始中心從而聚類為跟蹤偏差較大和較小兩類。
      [0052] 步驟S27 :根據(jù)步驟S26的聚類結(jié)果,取跟蹤偏差較小的一類特征點(diǎn)作為有效特征 點(diǎn)。相應(yīng)地,其他特征點(diǎn)作為無效特征點(diǎn)。
      [0053] 步驟S28 :計(jì)算有效特征點(diǎn)從初始幀到當(dāng)前幀的坐標(biāo)變換關(guān)系。該坐標(biāo)變換關(guān)系 由一個(gè)矩陣P表示??刹捎矛F(xiàn)有的各種算法,例如Levenberg-Marquardt算法,可參考: Z. Zhang. VA flexible new technique for camera calibration . IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334,2000.還可以參考如下 文獻(xiàn)中的算法:
      [0054] F_Moren〇-Noguer,V. L印etit and P.Fua"EPnP:Efficient Perspective-n-Point Camera Pose Estimation"
      [0055] X. S. Gao, X. -R. Hou, J. Tang, H. -F. Chang ^'Complete Solution Classification for the Perspective-Three-Point Problem"
      [0056] 步驟S29 :根據(jù)步驟S28中的坐標(biāo)變換關(guān)系和初始幀中的人臉姿勢(shì)得出當(dāng)前幀的 人臉姿勢(shì)。即按上述的矩陣p和上述的旋轉(zhuǎn)參數(shù)R、平移參數(shù)T計(jì)算得出當(dāng)前幀(第η幀) 的旋轉(zhuǎn)參數(shù)Rn和平移參數(shù)Τη。
      [0057] 以上說明了當(dāng)前幀中的人臉姿勢(shì)的一種計(jì)算方式。在實(shí)現(xiàn)中還可以采用其他的人 臉姿勢(shì)檢測(cè)算法來得到當(dāng)前幀中的人臉姿勢(shì)??梢岳卯?dāng)前幀中的人臉姿勢(shì)對(duì)上述的無效 特征點(diǎn)進(jìn)行修正。即按上述的旋轉(zhuǎn)參數(shù)Rn和平移參數(shù)Τη以及無效特征點(diǎn)在初始幀中的坐 標(biāo)計(jì)算這些無效特征點(diǎn)的新坐標(biāo),將該新坐標(biāo)替換它們?cè)诋?dāng)前巾貞中的坐標(biāo)。替換后的當(dāng)前 幀中的所有特征點(diǎn)的坐標(biāo)將用來進(jìn)行下一幀的數(shù)據(jù)處理。這有助于提高下一幀處理的精 度。也可僅將當(dāng)前幀中的有效特征值用來進(jìn)行下一幀的處理,但這會(huì)減少可用的數(shù)據(jù)量。 [0058] 按上述方式,每一幀上都會(huì)疊加眼鏡圖像,使用戶在轉(zhuǎn)動(dòng)頭部的情況下仍可看到 眼鏡是"佩戴"在臉上。如果用戶頭部動(dòng)作比較劇烈,導(dǎo)致姿勢(shì)變化過大,特別是在光線不 足的情況下這樣動(dòng)作,則難以準(zhǔn)確跟蹤特征點(diǎn),屏幕中的眼鏡也將脫離眼部的位置。在這種 情況下,可以提示用戶進(jìn)行復(fù)位操作。例如再次單擊屏幕或指定的鍵,此時(shí)攝像頭采集用戶 頭像并將眼鏡呈現(xiàn)在用戶頭像的眼睛處。在這種情況下,用戶的操作發(fā)出了復(fù)位指令,手機(jī) 或計(jì)算機(jī)接收復(fù)位指令后,將攝像頭采集的當(dāng)前幀作為上述的初始幀并按上面的方法進(jìn)行 處理。在處理過程中,于步驟S27得到聚類的處理結(jié)果,可以對(duì)其進(jìn)行判斷,如果有效特征 點(diǎn)的比例小于一個(gè)設(shè)定值,例如60%,或者在本幀采集到的特征點(diǎn)占上一幀采集到的特征 點(diǎn)的比例小于一個(gè)設(shè)定值,例如30%,則輸出提示信息,例如文本"單擊屏幕以復(fù)位",提示 用戶重新"試戴"眼鏡。
      [0059]圖5是根據(jù)本發(fā)明實(shí)施例的實(shí)現(xiàn)虛擬試戴的裝置的基本結(jié)構(gòu)的示意圖。該裝置作 為軟件可設(shè)置在手機(jī)或計(jì)算機(jī)中。如圖5所示,實(shí)現(xiàn)虛擬試戴的裝置50主要包括人臉檢測(cè) 模塊51、第一輸出模塊52、人臉姿勢(shì)檢測(cè)模塊53、以及第二輸出模塊54。
      [0060]人臉檢測(cè)模塊51用于對(duì)采集的初始幀進(jìn)行人臉檢測(cè);第一輸出模塊52用于在人 臉檢測(cè)模塊51采集到人臉的情況下,在初始位置生成物品圖像然后與所述初始幀疊加后 輸出,該初始位置與初始幀中的人臉的指定位置重疊;人臉姿勢(shì)檢測(cè)模塊53用于對(duì)當(dāng)前 幀中的人臉進(jìn)行人臉姿勢(shì)檢測(cè)得到當(dāng)前幀的人臉姿勢(shì);第二輸出模塊54用于根據(jù)物品圖 像的當(dāng)前位置和人臉姿勢(shì)再次生成物品圖像,并使該物品圖像中的物品姿勢(shì)與人臉姿勢(shì)一 致,然后將該物品圖像與當(dāng)前幀疊加后輸出。
      [0061]人臉姿勢(shì)檢測(cè)模塊53還可用于:在初始幀中確定人臉圖像上的多個(gè)特征點(diǎn);針對(duì) 每個(gè)特征點(diǎn)進(jìn)行如下處理:對(duì)特征點(diǎn)進(jìn)行跟蹤以確定該特征點(diǎn)在當(dāng)前幀的位置,根據(jù)前一 幀的人臉姿勢(shì),將初始幀中的該特征點(diǎn)的鄰域進(jìn)行仿射變換以得到該鄰域在當(dāng)前幀中的投 影區(qū)域,計(jì)算初始幀中的鄰域與當(dāng)前幀中的投影區(qū)域之間的顏色偏移量并作為該特征點(diǎn)的 跟蹤偏差;對(duì)于確定的多個(gè)特征點(diǎn),選擇跟蹤偏差較小的多個(gè)特征點(diǎn);根據(jù)跟蹤偏差較小 的多個(gè)特征點(diǎn)在初始幀的位置以及在當(dāng)前幀的位置確定當(dāng)前幀的人臉姿勢(shì)。
      [0062]人臉姿勢(shì)檢測(cè)模塊53還可用于:對(duì)于確定的多個(gè)特征點(diǎn)的跟蹤偏差,以其中的最 大值和最小值作為初始中心,按跟蹤偏差的大小進(jìn)行聚類得到兩類;選擇上述兩類中跟蹤 偏差較小的一類所對(duì)應(yīng)的特征點(diǎn)。
      [0063]實(shí)現(xiàn)虛擬試戴的裝置50還可包括修改模塊(圖中未示出),用于在所述人臉姿勢(shì) 檢測(cè)模塊確定當(dāng)前幀的人臉姿勢(shì)之后,將所述兩類中跟蹤偏差較大的一類所對(duì)應(yīng)的特征點(diǎn) 按照所述當(dāng)前幀的人臉姿勢(shì)投影到當(dāng)前幀圖像平面,以投影位置代替這些特征盧在當(dāng)前幀 的位置。 一 ^ '
      [0064]實(shí)現(xiàn)虛擬試戴的裝置50還可包括復(fù)位模塊和提示模塊(圖中未示出),其中:復(fù) 位模塊用于接收復(fù)位指令,以及在接收到復(fù)位指令的情況下,將采集的當(dāng)前幀作為初始幀; 提示模塊用于在人臉姿勢(shì)檢測(cè)模塊按跟蹤偏差的大小進(jìn)行聚類得到兩類之后,在跟蹤偏差 較小的一類特征點(diǎn)的數(shù)目占特征點(diǎn)總數(shù)目的比例大于第一預(yù)設(shè)值的情況下,或者,在當(dāng)前 幀中采集到的特征點(diǎn)的數(shù)目占特征點(diǎn)總數(shù)目的比例小于第二預(yù)設(shè)值的情況下,輸出提示信 息。
      [0065]根據(jù)本發(fā)明實(shí)施例的技術(shù)方案,通過檢測(cè)各幀的人臉姿勢(shì),再按人臉姿勢(shì)調(diào)整眼 鏡姿勢(shì),能夠使用戶利用普通的圖像采集裝置就可完成虛擬試戴,并且用戶可能轉(zhuǎn)動(dòng)頭部 以觀察多個(gè)角度的佩戴效果,具有比較高的真實(shí)性。
      [0066]以上結(jié)合具體實(shí)施例描述了本發(fā)明的基本原理,但是,需要指出的是,對(duì)本領(lǐng)域的 普通技術(shù)人員而言,能夠理解本發(fā)明的方法和設(shè)備的全部或者任何步驟或者部件,可以在 任何計(jì)算裝置(包括處理器、存儲(chǔ)介質(zhì)等)或者計(jì)算裝置的網(wǎng)絡(luò)中,以硬件、固件、軟件或者 它們的組合加以實(shí)現(xiàn),這是本領(lǐng)域普通技術(shù)人員在閱讀了本發(fā)明的說明的情況下運(yùn)用他們 的基本編程技能就能實(shí)現(xiàn)的。
      [0067]因此,本發(fā)明的目的還可以通過在任何計(jì)算裝置上運(yùn)行一個(gè)程序或者一組程序來 實(shí)現(xiàn)。所述計(jì)算裝置可以是公知的通用裝置。因此,本發(fā)明的目的也可以僅僅通過提供包 含實(shí)現(xiàn)所述方法或者裝置的程序代碼的程序產(chǎn)品來實(shí)現(xiàn)。也就是說,這樣的程序產(chǎn)品也構(gòu) 成本發(fā)明,并且存儲(chǔ)有這樣的程序產(chǎn)品的存儲(chǔ)介質(zhì)也構(gòu)成本發(fā)明。顯然,所述存儲(chǔ)介質(zhì)可以 是任何公知的存儲(chǔ)介質(zhì)或者將來開發(fā)出的任何存儲(chǔ)介質(zhì)。
      [0068] 還需要指出的是,在本發(fā)明的裝置和方法中,顯然,各部件或各步驟是可以分解和 /或重新組合的。這些分解和/或重新組合應(yīng)視為本發(fā)明的等效方案。并且,執(zhí)行上述系列 處理的步驟可以自然地按照說明的順序按時(shí)間順序執(zhí)行,但是并不需要一定按照時(shí)間順序 執(zhí)行。某些步驟可以并行或彼此獨(dú)立地執(zhí)行。
      [0069]上述【具體實(shí)施方式】,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限制。本領(lǐng)域技術(shù)人員應(yīng)該明 白的是,取決于設(shè)計(jì)要求和其他因素,可以發(fā)生各種各樣的修改、組合、子組合和替代。任何 在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)范圍 之內(nèi)。
      【權(quán)利要求】
      1. 一種實(shí)現(xiàn)虛擬試戴的方法,其特征在于,包括: 對(duì)采集的初始幀進(jìn)行人臉檢測(cè),在檢測(cè)到人臉的情況下,在初始位置生成物品圖像然 后與所述初始幀疊加后輸出,該初始位置與所述初始幀中的人臉的指定位置重疊; 對(duì)當(dāng)前幀中的人臉進(jìn)行人臉姿勢(shì)檢測(cè)得到當(dāng)前幀的人臉姿勢(shì); 根據(jù)所述物品圖像的當(dāng)前位置和所述人臉姿勢(shì)再次生成物品圖像,并使該物品圖像中 的物品姿勢(shì)與所述人臉姿勢(shì)一致,然后將該物品圖像與所述當(dāng)前幀疊加后輸出。
      2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)當(dāng)前幀中的人臉進(jìn)行人臉姿勢(shì)檢 測(cè)得到當(dāng)前幀的人臉姿勢(shì)的步驟包括: 在所述初始幀中確定人臉圖像上的多個(gè)特征點(diǎn); 針對(duì)每個(gè)特征點(diǎn)進(jìn)行如下處理: 對(duì)特征點(diǎn)進(jìn)行跟蹤以確定該特征點(diǎn)在當(dāng)前幀的位置, 根據(jù)前一幀的人臉姿勢(shì),將所述初始幀中的該特征點(diǎn)的鄰域進(jìn)行仿射變換以得到該鄰 域在當(dāng)前幀中的投影區(qū)域, 計(jì)算所述初始幀中的所述鄰域與當(dāng)前幀中的所述投影區(qū)域之間的顏色偏移量并作為 該特征點(diǎn)的跟蹤偏差, 對(duì)于確定的所述多個(gè)特征點(diǎn),選擇跟蹤偏差較小的多個(gè)特征點(diǎn); 根據(jù)所述跟蹤偏差較小的多個(gè)特征點(diǎn)在所述初始幀的位置以及在當(dāng)前幀的位置確定 當(dāng)前幀的人臉姿勢(shì)。
      3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對(duì)于所述多個(gè)特征點(diǎn),選擇跟蹤偏差 較小的多個(gè)特征點(diǎn)的步驟包括: 對(duì)于確定的所述多個(gè)特征點(diǎn)的跟蹤偏差,以其中的最大值和最小值作為初始中心,按 跟蹤偏差的大小進(jìn)行聚類得到兩類; 選擇所述兩類中跟蹤偏差較小的一類所對(duì)應(yīng)的特征點(diǎn)。
      4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述確定當(dāng)前幀的人臉姿勢(shì)的步驟之后, 還包括: 將所述兩類中跟蹤偏差較大的一類所對(duì)應(yīng)的特征點(diǎn)按照所述當(dāng)前幀的人臉姿勢(shì)投影 到當(dāng)前幀圖像平面,以投影位置代替這些特征點(diǎn)在當(dāng)前幀的位置。
      5. 根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述對(duì)采集的初始幀進(jìn)行人臉檢測(cè)的步驟之前,還包括:在接收到復(fù)位指令的情況下, 將采集的當(dāng)前幀作為所述初始幀; 所述按跟蹤偏差的大小進(jìn)行聚類得到兩類的步驟之后,還包括: 在所述跟蹤偏差較小的一類特征點(diǎn)的數(shù)目占特征點(diǎn)總數(shù)目的比例小于第一預(yù)設(shè)值的 情況下,或者,在當(dāng)前幀中釆集到的特征點(diǎn)的數(shù)目占在前一幀采集到的特征點(diǎn)總數(shù)目的比 例小于第二預(yù)設(shè)值的情況下,輸出提示信息,然后接收復(fù)位指令。
      6. 根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,所述物品圖像為眼鏡圖像、 頭部飾品圖像、或者頸部飾品圖像。
      7. -種實(shí)現(xiàn)虛擬試戴的裝置,其特征在于,包括: 人臉檢測(cè)模塊,用于對(duì)采集的初始幀進(jìn)行人臉檢測(cè); 第一輸出模塊,用于在所述人臉檢測(cè)模塊采集到人臉的情況下,在初始位置生成物品 圖像然后與所述初始幀疊加后輸出,該初始位置與所述初始幀中的人臉的指定位置重疊; 人臉姿勢(shì)檢測(cè)模塊,用于對(duì)當(dāng)前幀中的人臉進(jìn)行人臉姿勢(shì)檢測(cè)得到當(dāng)前幀的人臉姿 勢(shì); 第二輸出模塊,用于根據(jù)所述物品圖像的當(dāng)前位置和所述人臉姿勢(shì)再次生成物品圖 像,并使該物品圖像中的物品姿勢(shì)與所述人臉姿勢(shì)一致,然后將該物品圖像與所述當(dāng)前幀 置加后輸出。
      8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述人臉姿勢(shì)檢測(cè)模塊還用于: 在所述初始幀中確定人臉圖像上的多個(gè)特征點(diǎn); 針對(duì)每個(gè)特征點(diǎn)進(jìn)行如下處理: 對(duì)特征點(diǎn)進(jìn)行跟蹤以確定該特征點(diǎn)在當(dāng)前幀的位置, 根據(jù)前一幀的人臉姿勢(shì),將所述初始幀中的該特征點(diǎn)的鄰域進(jìn)行仿射變換以得到該鄰 域在當(dāng)前幀中的投影區(qū)域, 計(jì)算所述初始幀中的所述鄰域與當(dāng)前幀中的所述投影區(qū)域之間的顏色偏移量并作為 該特征點(diǎn)的跟蹤偏差, 對(duì)于確定的所述多個(gè)特征點(diǎn),選擇跟蹤偏差較小的多個(gè)特征點(diǎn); 根據(jù)所述跟蹤偏差較小的多個(gè)特征點(diǎn)在所述初始幀的位置以及在當(dāng)前幀的位置確定 當(dāng)前幀的人臉姿勢(shì)。
      9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述人臉姿勢(shì)檢測(cè)模塊還用于: 對(duì)于確定的所述多個(gè)特征點(diǎn)的跟蹤偏差,以其中的最大值和最小值作為初始中心,按 跟蹤偏差的大小進(jìn)行聚類得到兩類; 選擇所述兩類中跟蹤偏差較小的一類所對(duì)應(yīng)的特征點(diǎn)。
      10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括修改模塊,用于在所述人臉姿勢(shì) 檢測(cè)模塊確定當(dāng)前幀的人臉姿勢(shì)之后,將所述兩類中跟蹤偏差較大的一類所對(duì)應(yīng)的特征點(diǎn) 按照所述當(dāng)前幀的人臉姿勢(shì)投影到當(dāng)前幀圖像平面,以投影位置代替這些特征點(diǎn)在當(dāng)前幀 的位置。
      11. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括復(fù)位模塊和提示模塊,其中: 所述復(fù)位模塊用于接收復(fù)位指令,以及在接收到復(fù)位指令的情況下,將采集的當(dāng)前幀 作為所述初始幀; 所述提示模塊用于在所述人臉姿勢(shì)檢測(cè)模塊按跟蹤偏差的大小進(jìn)行聚類得到兩類之 后,在所述跟蹤偏差較小的一類特征點(diǎn)的數(shù)目占特征點(diǎn)總數(shù)目的比例小于第一預(yù)設(shè)值的情 況下,或者,在當(dāng)前幀中采集到的特征點(diǎn)的數(shù)目占在前一幀采集到的特征點(diǎn)總數(shù)目的比例 小于第二預(yù)設(shè)值的情況下,輸出提示信息。
      12. 根據(jù)權(quán)利要求7至11中任一項(xiàng)所述的裝置,其特征在于,所述物品圖像為眼鏡圖 像、頭部飾品圖像、或者頸部飾品圖像。
      【文檔編號(hào)】G06K9/00GK104217350SQ201410270449
      【公開日】2014年12月17日 申請(qǐng)日期:2014年6月17日 優(yōu)先權(quán)日:2014年6月17日
      【發(fā)明者】張斯聰 申請(qǐng)人:北京京東尚科信息技術(shù)有限公司, 北京京東世紀(jì)貿(mào)易有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1