新四季網

一種人臉貼圖處理方法及裝置與流程

2023-10-08 18:17:29


本發明涉及圖像處理技術領域,尤其涉及一種人臉貼圖處理方法及裝置。



背景技術:

隨著人臉建模技術的快速發展,人們對人臉建模的要求越來越高,希望可以將人的臉部特徵通過計算機真實的展現出來,生成的人臉儘可能的接近真實人臉。現有技術中圖像處理過程中由於受到模型和計算機能力的限制,生成的圖像往往無法達到人們的需求,不夠協調和逼真,且生成圖像的過程較為複雜。



技術實現要素:

本發明的目的在於提供一種人臉貼圖處理方法及裝置,通過獲取與人臉圖像匹配的人臉模型,對人臉模型進行紋理貼圖處理,形成虛擬人物頭像,可以有效保證生成的虛擬人物頭像與虛擬人物身體各部分的協調。

本發明實施例提供一種人臉貼圖處理方法,所述方法包括:

獲取人臉圖像及一預設模型,根據所述人臉圖像對所述預設模型進行調整,獲取一與所述人臉圖像匹配的人臉模型;

建立所述人臉模型上的向量點與所述人臉圖像上的向量點的映射關係,從而使得所述人臉模型上的向量面與所述人臉圖像上的向量面一一對應;

根據所述人臉圖像上的向量面內的顏色值,以及所述人臉模型上的向量面與所述人臉圖像上的向量面的對應關係,對所述人臉模型進行紋理貼圖處理,生成虛擬人物頭像。

可選的,所述根據所述人臉圖像上的向量面內的顏色值,以及所述人臉模型上的向量面與所述人臉圖像上的向量面的對應關係,對所述人臉模型進行紋理貼圖處理,生成虛擬人物頭像,包括:

根據所述人臉模型創建一空白紋理,所述空白紋理上的向量面與所述人臉 模型上的向量面相對應;

獲取所述人臉圖像上的向量面內的顏色值;

根據所述人臉模型上的向量面與所述人臉圖像上的向量面的對應關係,將所述人臉圖像上的向量面內的顏色值設置到所述空白紋理的對應向量面內,形成一紋理貼圖;

將所述紋理貼圖與所述人臉模型進行貼合處理,形成虛擬人物頭像。

可選的,所述方法還包括:

將獲取的與所述人臉圖像匹配的人臉模型進行拆分,拆分後的人臉模型包括第一類分模型和第二類分模型;

記錄所述第一類分模型上的向量面與所述人臉模型上的向量面的對應關係以及所述第二類分模型上的向量面與所述人臉模型上的向量面的對應關係;

則,所述根據所述人臉圖像上的向量面內的顏色值,以及所述人臉模型上的向量面與所述人臉圖像上的向量面的對應關係,對所述人臉模型進行紋理貼圖處理包括:

根據所述人臉模型創建一空白紋理,所述空白紋理上的向量面與所述人臉模型上的向量面相對應;

根據所述人臉模型上的向量面與所述人臉圖像上的向量面的對應關係,以及記錄的所述第一類分模型上的向量面與所述人臉模型上的向量面的對應關係,獲取所述人臉圖像上的與所述第一類分模型對應的向量面內的顏色值,並將所述人臉圖像上的與所述第一類分模型對應的向量面內的顏色值設置到所述空白紋理的與所述第一類分模型對應的向量面內;

將設置了顏色值的空白紋理所形成的紋理貼圖與所述人臉模型進行貼合處理,形成虛擬人物頭像。

具體的,所述第一類分模型至少包括器官模型。

進一步的,所述器官模型包括第一器官模型;

所述根據所述人臉圖像上的向量面內的顏色值,以及所述人臉模型上的向量面與所述人臉圖像上的向量面的對應關係,對所述人臉模型進行紋理貼圖處理還包括:

根據人臉圖像上的與第一器官模型的向量面對應的向量面內的顏色值,確 定所述第二類分模型的向量面內的顏色值;

根據記錄的所述第二類分模型上的向量面與所述人臉模型上的向量面的對應關係,將確定的第二類分模型的向量面內的顏色值設置到所述空白紋理的與所述第二類分模型對應的向量面內。

可選的,所述第二類分模型包括N個,其中N大於等於1;

所述根據人臉圖像上的與第一器官模型的向量面對應的向量面內的顏色值,確定所述第二類分模型的向量面內的顏色值包括:

提取所述人臉圖像上的與第一器官模型的向量面對應的向量面內的顏色值;

將提取的顏色值轉化為灰度值;

提取所述灰度值的最高值對應的顏色值和所述灰度值的最低值對應的顏色值;

根據所述灰度值的最高值對應的顏色值和所述灰度值的最低值對應的顏色值,確定N個所述第二類分模型的向量面內的顏色值。

具體的,所述第一器官模型為臉頰模型。

可選的,所述人臉圖像上的向量面內的顏色值包括所述人臉圖像上的向量面內的顏色平均值。

可選的,所述第二類分模型包括N個,其中N大於等於1;

所述根據所述人臉圖像上的向量面內的顏色值,以及所述人臉模型上的向量面與所述人臉圖像上的向量面的對應關係,對所述人臉模型進行紋理貼圖處理還包括:

根據記錄的所述第二類分模型上的向量面與所述人臉模型上的向量面的對應關係,將預先設置的第二類分模型的向量面內的顏色值設置到所述空白紋理的與所述第二類分模型對應的向量面內。

可選的,所述第二類分模型包括N個,其中N大於等於1;

所述根據所述人臉圖像上的向量面內的顏色值,以及所述人臉模型上的向量面與所述人臉圖像上的向量面的對應關係,對所述人臉模型進行紋理貼圖處理還包括:

在所述人臉圖像上獲取N個顏色值,將獲取的所述N個顏色值轉化為N 個灰度值;

對所述N個灰度值按照灰度由大到小的順序進行排序,獲得與所述N個灰度值對應的依次排列的N個顏色值;

按照N個第二類分模型的亮度順序,將依次排列的N個顏色值分別一一對應到所述N個第二類分模型,分別確定為所述N個第二類分模型的向量面內的顏色值;

根據記錄的所述第二類分模型上的向量面與所述人臉模型上的向量面的對應關係,將確定的第二類分模型的向量面內的顏色值設置到所述空白紋理的與所述第二類分模型對應的向量面內。

可選的,所述建立所述人臉模型上的向量點與所述人臉圖像上的向量點的映射關係,從而使得所述人臉模型上的向量面與所述人臉圖像上的向量面一一對應,具體為:

根據所述人臉模型上的向量點之間的連接關係建立所述人臉圖像上的向量點之間的連接關係,從而形成所述人臉模型上的向量面與所述人臉圖像上的向量面的一一對應。

本發明實施例提供一種人臉貼圖處理裝置,所述裝置包括:

獲取調整模塊,用於獲取人臉圖像及一預設模型,根據所述人臉圖像對所述預設模型進行調整,獲取一與所述人臉圖像匹配的人臉模型;

建立模塊,用於建立所述人臉模型上的向量點與所述人臉圖像上的向量點的映射關係,從而使得所述人臉模型上的向量面與所述人臉圖像上的向量面一一對應;

處理生成模塊,用於根據所述人臉圖像上的向量面內的顏色值,以及所述人臉模型上的向量面與所述人臉圖像上的向量面的對應關係,對所述人臉模型進行紋理貼圖處理,生成虛擬人物頭像。

可選的,所述處理生成模塊包括:

創建子模塊,用於根據所述人臉模型創建一空白紋理,所述空白紋理上的向量面與所述人臉模型上的向量面相對應;

處理子模塊,用於獲取所述人臉圖像上的向量面內的顏色值,根據所述人臉模型上的向量面與所述人臉圖像上的向量面的對應關係,將所述人臉圖像上 的向量面內的顏色值設置到所述空白紋理的對應向量面內,形成一紋理貼圖;

貼合子模塊,用於將所述紋理貼圖與所述人臉模型進行貼合處理,形成虛擬人物頭像。

可選的,所述裝置還包括:

拆分模塊,用於將獲取的與所述人臉圖像匹配的人臉模型進行拆分,拆分後的人臉模型包括第一類分模型和第二類分模型;

記錄模塊,用於記錄所述第一類分模型上的向量面與所述人臉模型上的向量面的對應關係以及所述第二類分模型上的向量面與所述人臉模型上的向量面的對應關係;

所述處理生成模塊具體用於:

根據所述人臉模型創建一空白紋理,所述空白紋理上的向量面與所述人臉模型上的向量面相對應;

根據所述人臉模型上的向量面與所述人臉圖像上的向量面的對應關係,以及記錄的所述第一類分模型上的向量面與所述人臉模型上的向量面的對應關係,獲取所述人臉圖像上的與所述第一類分模型對應的向量面內的顏色值,並將所述人臉圖像上的與所述第一類分模型對應的向量面內的顏色值設置到所述空白紋理的與所述第一類分模型對應的向量面內;

將設置了顏色值的空白紋理所形成的紋理貼圖與所述人臉模型進行貼合處理,形成虛擬人物頭像。

可選的,所述第一類分模型至少包括器官模型,所述器官模型包括第一器官模型;

所述處理生成模塊還用於:

根據人臉圖像上的與第一器官模型的向量面對應的向量面內的顏色值,確定所述第二類分模型的向量面內的顏色值;

根據記錄的所述第二類分模型上的向量面與所述人臉模型上的向量面的對應關係,將確定的第二類分模型的向量面內的顏色值設置到所述空白紋理的與所述第二類分模型對應的向量面內。

可選的,所述第二類分模型包括N個,其中N大於等於1;

所述處理生成模塊用於:

提取所述人臉圖像上的與第一器官模型的向量面對應的向量面內的顏色值;

將提取的顏色值轉化為灰度值;

提取所述灰度值的最高值對應的顏色值和所述灰度值的最低值對應的顏色值;

根據所述灰度值的最高值對應的顏色值和所述灰度值的最低值對應的顏色值,確定N個所述第二類分模型的向量面內的顏色值。

可選的,所述第二類分模型包括N個,其中N大於等於1;

所述處理生成模塊用於:

根據記錄的所述第二類分模型上的向量面與所述人臉模型上的向量面的對應關係,將預先設置的第二類分模型的向量面內的顏色值設置到所述空白紋理的與所述第二類分模型對應的向量面內。

可選的,所述第二類分模型包括N個,其中N大於等於1;

所述處理生成模塊用於:

在所述人臉圖像上獲取N個顏色值,將獲取的所述N個顏色值轉化為N個灰度值;

對所述N個灰度值按照灰度由大到小的順序進行排序,獲得與所述N個灰度值對應的依次排列的N個顏色值;

按照N個第二類分模型的亮度順序,將依次排列的N個顏色值分別一一對應到所述N個第二類分模型,分別確定為所述N個第二類分模型的向量面內的顏色值;

根據記錄的所述第二類分模型上的向量面與所述人臉模型上的向量面的對應關係,將確定的第二類分模型的向量面內的顏色值設置到所述空白紋理的與所述第二類分模型對應的向量面內。

可選的,所述建立模塊具體用於:

根據所述人臉模型上的向量點之間的連接關係建立所述人臉圖像上的向量點之間的連接關係,從而形成所述人臉模型上的向量面與所述人臉圖像上的向量面的一一對應。

本發明實施例至少包括以下的有益效果:

本發明實施例通過獲取人臉圖像的人臉特徵點,利用人臉特徵點對預設模型進行調整,獲取與人臉圖像匹配的3d人臉模型,然後通過處理人臉圖像,利用人臉圖像的向量面與人臉模型的向量面的對應關係,形成新的紋理貼圖,並將新的紋理貼圖與人臉模型匹配形成新的虛擬人物頭像,一方面這種方式生成的新的虛擬人物圖像可以有效保證與虛擬人物身體各部分的協調,另一方面還能夠有效提高虛擬人物頭像的逼真度,此外,還可以將形成的新的人物頭像與不同的虛擬人物身體模型結合,形成不同的人物,提高趣味性。本發明實施例方案簡單,人工處理量小,適用於要求簡單且快速的建模需求。

附圖說明

圖1為本發明實施例人臉貼圖處理方法步驟示意圖;

圖2為本發明實施例人臉圖像包圍盒示意圖;

圖3為本發明實施例人臉模型包圍盒示意圖;

圖4為本發明實施例人臉模型臉部輪廓示意圖;

圖5為本發明實施例人臉圖像臉部輪廓示意圖;

圖6為本發明實施例人臉模型面部主要器官包圍盒示意圖;

圖7為本發明實施例人臉圖像面部主要器官包圍盒示意圖;

圖8為本發明實施例面部主要部分模型示意圖;

圖9為本發明實施例人臉模型的眉毛模型示意圖;

圖10為本發明實施例人臉模型的眼睛模型示意圖;

圖11為本發明實施例人臉模型的嘴模型示意圖。

圖12為本發明實施例人臉模型第一模型示意圖;

圖13為本發明實施例人臉模型第二模型示意圖;

圖14為本發明實施例人臉模型第三模型示意圖;

圖15為依據人臉模型的三角面(向量面)映射到人臉圖像上的示意圖;

圖16為根據本發明的一個實施例生成的虛擬人物頭像的示意圖。

具體實施方式

為使本發明要解決的技術問題、技術方案和優點更加清楚,下面將結合附 圖及具體實施例進行詳細描述。

本發明實施例提供一種人臉貼圖處理方法,如圖1所示,所述方法包括:

步驟S10、獲取人臉圖像及一預設模型,根據人臉圖像對預設模型進行調整,獲取一與人臉圖像匹配的人臉模型;

步驟S20、建立人臉模型上的向量點與人臉圖像上的向量點的映射關係,從而使得人臉模型上的向量面與人臉圖像上的向量面一一對應;

步驟S30、根據人臉圖像上的向量面內的顏色值,以及人臉模型上的向量面與人臉圖像上的向量面的對應關係,對人臉模型進行紋理貼圖處理,生成虛擬人物頭像。

具體的,通過攝像頭拍照或者直接使用已有照片的方式採集得到人臉圖像,具體可採用現有的人臉檢測方法,如ASM(Active Shape Model,主動形狀模型)對採集到的人臉圖像進行檢測,獲取人臉圖像上的面部特徵區域,根據獲取得到的面部特徵區域對一預設模型進行調整,從而獲取一與人臉圖像匹配的人臉模型。

本領域技術人員可以理解的是,模型是由若干向量點組成的,至少三個向量點可確定一個向量面,如圖3所示的三角形向量面(簡稱三角面)。本發明以向量面為三角面予以說明,但本發明不限於此。

需要說明的是,預設模型與人臉模型上的各個向量點的數量和標號是相同的,在對預設模型進行調整形成與人臉圖像匹配的人臉模型時,向量點的數量不會發生變化,每個向量點的標號也不會發生變化,所需變化的是向量點的位置。

然後,建立人臉模型上的向量點與人臉圖像上的向量點的映射關係,形成人臉模型上的向量面與人臉圖像上的向量面的一一對應。

需要說明的是,在本發明的一個實施例中,也可以在獲取人臉圖像及一預設模型之後,先建立預設模型與人臉圖像上各向量點的映射關係,由於對預設模型進行調整形成人臉模型時,向量點的數量、每個向量點的標號都不會發生變化,在建立預設模型與人臉圖像上向量點的映射關係後,即也可以建立對預設模型進行調整後形成的人臉模型與人臉圖像上向量點的映射關係。

因此,在建立預設模型與人臉圖像上的向量點的映射關係後,可以形成預 設模型上的向量面與人臉圖像上的向量面的一一對應,同時也可以形成人臉模型上的向量面與人臉圖像上的向量面的一一對應。

在本發明的實施例中,建立人臉模型上的向量點與人臉圖像上的向量點的映射關係,從而使得人臉模型上的向量面與人臉圖像上的向量面一一對應,具體可以為:

根據人臉模型上的向量點之間的連接關係建立人臉圖像上的向量點之間的連接關係,從而形成人臉模型上的向量面與人臉圖像上的向量面的一一對應。

根據人臉模型上的向量點之間的連接關係建立人臉圖像上的向量點之間的連接關係,例如人臉模型上向量點1、2和3之間互相連接形成一三角面,則相應的人臉圖像上的向量點1'、2'和3'之間同樣具有相互連接關係,向量點1'、2'和3'形成一三角面。則人臉模型上向量點1、2和3形成的三角面與人臉圖像上向量點1'、2'和3'形成的三角面同時建立了對應關係。

需要說明的是,也可以在獲取人臉圖像及一預設模型之後,根據預設模型上向量點之間的連接關係建立人臉圖像上向量點之間的連接關係,由於對預設模型進行調整形成人臉模型時,向量點的數量、每個向量點的標號都不會發生變化,在根據預設模型上向量點之間的連接關係建立人臉圖像上向量點之間的連接關係後,可以形成人臉模型上的向量點之間的連接關係與人臉圖像上向量點之間的連接關係的對應。

在建立完映射關係後,根據人臉模型上的向量面與人臉圖像上的向量面的對應關係,將人臉圖像上的向量面內的顏色值填充至相應的人臉模型上的向量面內,完成對人臉模型的紋理貼圖處理,生成虛擬人物頭像。

本發明實施例根據人臉圖像對預設模型進行調整獲取與人臉圖像匹配的人臉模型,根據建立的人臉模型上的向量面與人臉圖像上的向量面的對應關係,以及人臉圖像上的向量面內的顏色值,對人臉模型進行紋理貼圖處理,形成新的虛擬人物頭像。一方面這種方式生成的新的虛擬人物圖像可以有效保證與虛擬人物身體各部分的協調,另一方面還能夠有效提高虛擬人物頭像的逼真度,此外,還可以將形成的新的虛擬人物頭像與不同的虛擬人物身體模型結合,形成不同的人物,增強了方案的多樣性與可玩性。

下面對根據人臉圖像對預設模型進行調整獲取與人臉圖像匹配的人臉模 型的過程進行詳細闡述。

首先採集人臉圖像,獲取人臉圖像中的人臉特徵點;

根據人臉特徵點標定人臉圖像獲取面部特徵區域;

根據面部特徵區域調整預設模型以獲取與人臉圖像匹配的人臉模型。

人臉特徵點可包括用於表徵人臉圖像中面部輪廓的面部輪廓特徵點和用於表徵人臉圖像中面部器官的面部器官特徵點,根據面部輪廓特徵點可以確定人臉的形狀,根據面部器官特徵點可確定各個器官在人臉上的準確位置以及各個器官的形狀。

在本發明上述實施例中,根據人臉特徵點標定人臉圖像獲取面部特徵區域可包括:

獲取面部輪廓特徵點和面部器官特徵點;

根據面部輪廓特徵點和面部器官特徵點劃定面部特徵區域。

通過獲取面部輪廓特徵點和面部器官特徵點來劃定面部特徵區域,具體的,根據面部輪廓特徵點、面部器官特徵點來確定人臉包圍盒。如圖2所示。例如可以在眼部橫向中心線上確定P1、P2、P3和P4,其中P1、P2分別為兩眼之間相互距離最近的兩點,且關於人臉豎直中心線對稱,P3、P4分別位於人臉輪廓邊緣位置且關於人臉豎直中心線對稱,P1和P3位於人臉左側,在人臉豎直中心線的最下方確定P5,P1、P2屬於面部器官特徵點,P3、P4和P5屬於面部輪廓特徵點。根據P1、P2、P3、P4和P5確定一人臉包圍盒RTF,定義人臉圖像的左上角為坐標(0,0),x軸向右,y軸向下:

RTF.TOP=(P1.y+P2.y)/2

RTF.LEFT=P3.x

RTF.RIGHT=P4.x

RTF.BOTTOM=P5.y

其中,P1.y為P1在y方向上的坐標分量,P2.y為P2在y方向上的坐標分量,P3.x為P3在x方向上的坐標分量,P4.x為P4在x方向上的坐標分量,P5.y為P5在y方向上的坐標分量。

可以理解的是,上述人臉包圍盒RTF是通過各特徵點的x、y二維坐標予以確定的,即RTF是通過二維坐標予以表徵,但本發明不限於此,RTF也可 通過各特徵點的三維坐標予以確定,即RTF是通過三維坐標予以表徵,這裡不做詳述。

在本發明上述實施例中,根據面部特徵區域調整預設模型以獲取與人臉圖像匹配的人臉模型可包括:

根據劃定的面部特徵區域,獲得面部特徵區域的第二特徵值;

根據面部特徵區域的第二特徵值,從預設的模型庫中選擇與人臉圖像匹配的預設模型,並對預設模型進行調整以獲取與人臉圖像匹配的人臉模型,或者,根據面部特徵區域的第二特徵值調整預設模型以獲取與人臉圖像匹配的人臉模型。

具體的,根據確定的人臉包圍盒RTF確定表徵面部特徵區域的第二特徵值,第二特徵值為人臉圖像的面部特徵區域的寬高比值,也可以為人臉圖像的面部特徵區域的高寬比值,第二特徵值為人臉圖像的面部特徵區域的寬高比值時,第二特徵值的計算公式為:

RWHF=(RTF.RIGHT-RTF.LEFT)/(RTF.BOTTOM-RTF.TOP);

第二特徵值為人臉圖像的面部特徵區域的高寬比值時,第二特徵值的計算公式為:

RHWF=(RTF.BOTTOM-RTF.TOP)/(RTF.RIGHT-RTF.LEFT)。

本發明實施例中,可以預設一個模型資料庫,資料庫中包括至少2個模型,例如,由胖到瘦的至少2個模型,在獲得第二特徵值之後,根據第二特徵值首先從預設模型庫中選取與人臉圖像匹配的預設模型,然後對預設模型進行調整,獲取與人臉圖像匹配的人臉模型。

當然,在只有一個預設模型的情況下,也可以直接根據面部特徵區域的第二特徵值,對一預設模型進行調整,獲取與人臉圖像匹配的人臉模型。

具體的,根據面部特徵區域的第二特徵值,從預設的模型庫中選擇與人臉圖像匹配的預設模型,並對預設模型進行調整包括:

根據面部特徵區域的第二特徵值,從預設的模型庫中選擇滿足第一預設條件的模型,作為與人臉圖像匹配的預設模型;

第一預設條件包括:模型特徵區域的第一特徵值與第二特徵值的差值小於預設閾值,或者在模型庫中的模型中,模型特徵區域的第一特徵值最接近第二 特徵值,或者模型特徵區域的第一特徵值與第二特徵值的比值與1的差值小於預設閾值。本步驟主要是用於在多個預設模型中確定出面部尺寸與人臉圖像的面部尺寸相似亦即最接近的預設模型作為人臉模型,當滿足第一預設條件時,證明該預設模型與人臉圖像的面部寸大致相似,即可將該預設模型確定為與人臉圖像匹配的人臉模型。

本領域技術人員可以對第一預設條件進行設定,本發明不做限制。

根據第二特徵值和與人臉圖像匹配的預設模型的第一特徵值,計算第一調整參數,第一調整參數為第二特徵值與與人臉圖像匹配的預設模型的第一特徵值的比值;

根據第一調整參數對預設模型進行調整。

具體的,根據面部特徵區域的第二特徵值,在預設的模型庫中選擇一模型,作為與人臉圖像匹配的預設模型,其中預設模型需要滿足第一預設條件,第一預設條件可以為:模型特徵區域的第一特徵值與面部特徵區域的第二特徵值的差值小於預設閾值;或者在模型庫中的模型中,模型特徵區域的第一特徵值最接近面部特徵區域的第二特徵值。

這裡要說明的是,本發明實施例中所述的模型特徵區域和面部特徵區域是對應的,即模型特徵區域在預設模型上的區域和面部特徵區域在人臉圖像上的區域是相同的,模型特徵區域的劃定方式是與面部特徵區域的劃定方式也是相同的,下面會進行詳細說明。

可選的,根據面部特徵區域的第二特徵值調整預設模型包括:

根據第二特徵值和預設模型的模型特徵區域的第一特徵值,計算第一調整參數,第一調整參數為第二特徵值與與人臉圖像匹配的預設模型的第一特徵值的比值;

根據第一調整參數對預設模型進行調整。

該方式為直接根據面部特徵區域的第二特徵值,對一預設模型進行調整,獲取與人臉圖像匹配的人臉模型。在此過程中,同樣需要計算第一調整參數,然後根據第一調整參數對預設模型進行調整,以獲取與人臉圖像匹配的人臉模型。

其中第一特徵值可以是預先設定的,也可以是通過以下方式獲取的:

獲取用於表徵預設模型中模型輪廓的模型輪廓特徵點和用於表徵預設模型中模型器官的模型器官特徵點;

根據模型輪廓特徵點和模型器官特徵點劃定預設模型的模型特徵區域;

根據劃定的模型特徵區域獲得模型特徵區域的第一特徵值。

通過獲取模型輪廓特徵點和模型器官特徵點來劃定模型特徵區域,具體為,根據模型輪廓特徵點、模型器官特徵點來確定人臉模型包圍盒RTM,如圖3所示,從預設模型上選出如圖3所示的五個特徵點PM1、PM2、PM3、PM4和PM5,根據這五個特徵點確定預設模型的人臉模型包圍盒RTM,其中PM1、PM2為模型器官特徵點,PM3、PM4和PM5為模型輪廓特徵點,其中預設模型的坐標是預先設置的。

RTM.TOP=(PM1.y+PM2.y)/2

RTM.LEFT=PM3.x

RTM.RIGHT=PM4.x

RTM.BOTTOM=PM5.y

其中,PM1.y為PM1在y方向上的坐標分量,PM2.y為PM2在y方向上的坐標分量,PM3.x為PM3在x方向上的坐標分量,PM4.x為PM4在x方向上的坐標分量,PM5.y為PM5在y方向上的坐標分量。

可以理解的是,上述人臉模型包圍盒RTM是通過各特徵點的x、y二維坐標予以確定的,即RTM是通過二維坐標予以表徵,但本發明不限於此,RTM也可通過各特徵點的三維坐標予以確定,即RTM是通過三維坐標予以表徵,這裡不做詳述。

在確定人臉模型包圍盒RTM,即劃定模型特徵區域後,根據劃定的模型特徵區域獲得模型特徵區域的第一特徵值。其中第一特徵值的獲取方式如下:

根據確定的人臉模型包圍盒RTM確定用於表徵預設模型尺寸的第一特徵值,第一特徵值可以為預設模型的模型特徵區域的寬高比值,也可以為預設模型的模型特徵區域的高寬比值,當第一特徵值為預設模型的模型特徵區域的寬高比值時,第一特徵值的計算公式為:

RWHM=(RTM.RIGHT-RTM.LEFT)/(RTM.BOTTOM-RTM.TOP);

當第一特徵值為預設模型的模型特徵區域的高寬比值,第一特徵值的計算 公式為:

RHWM=(RTM.BOTTOM-RTM.TOP)/(RTM.RIGHT-RTM.LEFT)。

在得到第一特徵值後,根據第二特徵值與第一特徵值的比值計算第一調整參數,當第一特徵值為預設模型的模型特徵區域的高寬比值RHWM時,相應的第二特徵值為人臉圖像的面部特徵區域的高寬比值RHWF。當第一特徵值為預設模型的模型特徵區域的寬高比值RWHM時,相應的第二特徵值為人臉圖像的面部特徵區域的寬高比值RWHF。

上述步驟根據面部特徵區域的第二特徵值,從預設的模型庫中選擇滿足第一預設條件的模型,作為與人臉圖像匹配的預設模型,主要是用於在模型庫中的多個預設模型中確定出面部尺寸與人臉圖像的面部尺寸相似亦即最接近的預設模型作為人臉模型,舉例而言,當RHWF和RHWM之間的比值接近1時,證明兩者的面部尺寸大致相似,即可將該預設模型確定為與人臉圖像匹配的預設模型。同樣,當RWHF和RWHM之間的比值接近1時,證明兩者的面部尺寸大致相似,即可將該預設模型確定為與人臉圖像匹配的預設模型。舉例而言,第一預設條件可以為RHWF和RHWM之間的比值(或者RWHF和RWHM的比值)與1之間的差的絕對值不大於一特定值,該特定值可以為0-0.2。

需要說明的是,所有預設模型的第一特徵值可以預先計算好,放置在預設模型的資料庫中,在獲取人臉圖像後,利用人臉圖像的第二特徵值和各預先存儲的預設模型的第一特徵值,選擇與人臉圖像匹配的預設模型,進而在對預設模型進行調整,得到人臉模型。

以下實施例以第一特徵值為RWHM時,第二特徵值為RWHF為例進行闡述,此時第一調整參數r=RWHF/RWHM。

在確定第一調整參數後,根據第一調整參數對預設模型進行調整,包括:

獲取預設模型的n個模型向量點,其中,預設模型由n個模型向量點組成;

根據第一調整參數對n個模型向量點的坐標進行伸縮處理獲得模型參數坐標。

具體的,獲取預設模型的n個模型向量點,根據第一調整參數r對n個模型向量點的坐標進行處理獲得模型參數坐標。

舉例來講,對預設模型上所有的模型向量點,在x軸方向上,做r倍的伸 縮,獲得模型參數坐標。當然,在本發明一個實施例中,也在x軸和y軸方向,均做r倍的伸縮,獲得模型參數坐標。

假定預設模型上的模型向量點為PMi,i=1,2,----,M,對每一個模型向量點做如下運算,得到模型參數坐標:

PMi.x=r*PMi.x

PMi.y=PMi.y

PMi.z=PMi.z

按照該模型參數坐標,對與人臉匹配的預設模型進行調整。

在根據第一調整參數對n個模型向量點的坐標進行伸縮處理獲得模型參數坐標後,為了有效提高預設模型與人臉圖像的匹配度,從而達到更加逼真的效果,本發明實施例的方法還可包括:

設定一個模型向量點的模型參數坐標為模型初始坐標;

根據模型初始坐標對預設模型的模型輪廓特徵點的模型參數坐標進行坐標換算得到模型向量點坐標。

具體的,可以對人臉模型包圍盒RTM中的輪廓特徵點的模型參數坐標進行換算。

舉例說明,如圖4所示,取PM1、PM2的中心做為中心點PMCENTER,將PMCENTER設置為模型初始坐標:

PMCENTER.X=(PM1.X+PM2.X)/2.0;PMCENTER.Y=(PM1.Y+PM2.Y)/2.0

根據模型初始坐標對模型輪廓特徵點的模型參數坐標進行坐標換算,本實施例以人臉模型包圍盒RTM中的人臉模型輪廓特徵點為例,對人臉模型輪廓特徵點的模型參數坐標進行坐標換算得到模型向量點坐標。如圖4所示,人臉模型輪廓特徵點包括標號3-17的輪廓特徵點,對標號3-17的輪廓特徵點的模型參數坐標進行換算,得到模型向量點坐標。

RMHi=(PMi.Y-PMCENTER.Y)/(PM3.Y-PMCENTER.Y)i=3,4---17;

RMWi=(PMi.X-PMCENTER.X)/(PM3.Y-PMCENTER.Y),或者

RMWi=PMi.X/(PM3.Y-PMCENTER.Y)i=3,4---17;

其中,RMHi為任一人臉模型輪廓特徵點相對於模型初始坐標的高度,也稱為模型向量點坐標的縱向坐標, RMWi為任一人臉模型輪廓特徵點相對於模型初始坐標的寬度,也稱為模型向量點坐標的橫向坐標,PMi.Y為任一人臉模型輪廓特徵點在y方向上的坐標分量,PMi.X為任一人臉模型輪廓特徵點在x方向的坐標分量,PMCENTER.Y為模型初始坐標在y方向上的坐標分量,PMCENTER.x為模型初始坐標在x方向上的坐標分量。

進一步的,在根據第一調整參數對n個模型向量點的坐標進行伸縮處理獲得模型參數坐標後,還可包括:

選取人臉圖像上的一個圖像向量點的圖像坐標作為圖像初始坐標;

根據圖像初始坐標對人臉圖像的面部輪廓特徵點的圖像坐標進行坐標換算得到圖像向量點坐標;

根據圖像向量點坐標和模型向量點坐標,對預設模型的模型特徵區域進行約束處理。

具體的,可以對人臉包圍盒RTF中的輪廓特徵點的坐標進行換算。在人臉圖像上定義人臉圖像的左上角為坐標(0,0),x軸向右,y軸向下,得到的n個圖像向量點的坐標即為圖像坐標。在n個圖像向量點中確定一圖像初始坐標,如圖5所示,本實施例以P1、P2的中心做為中心點PCENTER,將PCENTER設置為圖像初始坐標:

PCENTER.X=(P1.X+P2.X)/2.0;PCENTER.Y=(P1.Y+P2.Y)/2.0

根據圖像初始坐標對圖像坐標進行坐標變換,本實施例以人臉包圍盒RTF中的人臉輪廓特徵點為例,對人臉輪廓特徵點的圖像坐標進行坐標換算得到圖像向量點坐標。如圖5所示,人臉包圍盒RTF包括標號3-15的輪廓特徵點。

RHi=(Pi.Y-PCENTER.Y)/(P5.Y-PCENTER.Y)i=3,4---15;

RWi=(Pi.X-PCENTER.X)/(P5.Y-PCENTER.Y),或者

RWi=Pi.X/(P5.Y-PCENTER.Y),i=3,4---15;

其中RHi為任一人臉輪廓特徵點相對於圖像初始坐標的高度,也稱為圖像向量點坐標的縱向坐標,RWi為任一人臉輪廓特徵點相對於圖像初始坐標的寬度,也稱為圖像向量點坐標的橫向坐標,Pi.Y為任一人臉輪廓特徵點在y方向上的坐標分量,Pi.X為任一人臉輪廓特徵點在x方向的坐標分量,PCENTER.Y為圖像初始坐標在y方向上的坐標分量,PCENTER.x為圖像初 始坐標在x方向上的坐標分量。

在得到圖像向量點坐標和模型向量點坐標後,根據圖像向量點坐標和模型向量點坐標,對預設模型的模型特徵區域型進行約束處理包括:

選取預設模型的模型特徵區域中的一個向量點,根據選取的向量點的模型參數坐標,確定向量點的縱向比值;

根據縱向比值,在模型向量點坐標中確定縱向坐標值與縱向比值最接近的兩組模型向量點坐標,根據縱向比值和兩組模型向量點坐標,確定預設模型的橫向比值,以及,根據縱向比值,在圖像向量點坐標中確定縱向坐標值與縱向比值最接近的兩組圖像向量點坐標,根據縱向比值和兩組圖像向量點坐標,確定人臉圖像的橫向比值;

計算人臉圖像的橫向比值和預設模型的橫向比值的比值;

根據比值,對預設模型的模型特徵區域的向量點的模型參數坐標進行伸縮處理。

具體為,在人臉模型包圍盒RTM中選取一點PM,確定PM的縱向比值RPMH,如圖4所示:

RPMH=PM.Y/(PM3.Y-PMCENTER.Y)

在人臉圖像上確定與RPMH最近的兩個縱向坐標RHi,即RPMH與RHi的值的差值的絕對值最小的兩個RHi,即找到兩個縱向坐標值與RPMH最接近的圖像向量點坐標(RHi,RWi)。

如圖5所示,如果PM.X-PMCENTER.X>=0則,在RHi,i=4,5,11,---,15,即人臉圖像右半部分的輪廓特徵點中,取與RPMH距離最近的兩個RHi,該RHi滿足如下條件:

RHJ:(RPMH-RHi)>=0&&min(RPMH-RHi)i=4,5,11,---,15

RHQ:(RPMH-RHi)<0&&min(|RPMH–Rhi|)i=4,5,11,---,15

J、Q是得到的值的索引,J、Q是4,5,11,---,15中的兩個。J、Q確定後,即同時可以得到RWJ和RWQ。

如果PM.X-PMCENTER.X<0,在RHi,i=3,5,6,---,10,即人臉圖像左半部分的輪廓特徵點中,取與RPMH距離最近的兩個RHi,最後得到的RHJ和RHQ,J、Q是3,5,6,---,10中的兩個。J、Q確定後,即同時可 以得到RWJ和RWQ。

根據RHJ、RHQ、RWJ和RWQ確定第一直線方程:

K1=(RHJ–RHQ)/(RWJ–RWQ)、RHJ=B1+K1*RWJ;

將PM的縱向比值RPMH帶入第一直線方程RHJ=B1+K1*RWJ,即將RPMH作為RHJ代入該方程,得到橫向比值RPMW=(RPMH–B1)/K1,其中RPMH替代RHJ,RPMW替代RWJ。

用上述同樣的方法可以在人臉模型上確定與RPMH最近的兩個點RMHJ和RMWQ,同時得到RMWJ和RMWQ,這裡不再贅述。

根據RMHJ、RMHQ、RMWJ和RMWQ確定第二直線方程:

K2=(RMHJ–RMHQ)/(RMWJ–RMWQ)、RMHJ=B2+K2*RMWJ;

將RPMH帶入第二直線方程RMHJ=B2+K2*RMWJ,即將RPMH作為RMHJ代入該方程,得到模型上的橫向比值RPMWM=(RPMH–B2)/K2,其中RPMH替代RMHJ,RPMWM替代RMWJ;

計算人臉圖像上的橫向比值RPMW和模型上的橫向比值RPMWM的比值rx,rx=RPMW/RPMWM;

確定PM的最終坐標:

PM.X=rx*PM.X

PM.Y=PM.Y

PM.Z=PM.Z

重複上述步驟,確定人臉模型包圍盒RTM中所有點的最終坐標,完成人臉模型包圍盒RTM中所有點的調整,進而完成預設模型的調整。

在本發明上述實施例中,需要說明的是,在本發明的一個實施例中,在經過上述步驟後,還可以使用類似的方法,根據人臉圖像上的器官對人臉模型上的主要器官進行調整。原理上來講,上述步驟是對於人臉模型整體的一個調整,即人臉模型胖瘦部分的調整,是根據人臉圖像的人臉輪廓來進行調整,接下來,執行對於人臉模型上的器官的調整,可以與前述步驟類似的方法,根據人臉檢測出的主要器官的關鍵點的位置,確定人臉模型上主要器官的變化,從而形成一個與人臉圖像匹配的人臉模型。具體可以依據人臉圖像的關鍵點的外包圍盒的高寬比和人臉模型的器官模型的關鍵點的外包圍盒的高寬比,來調整人臉模 型上的主要器官,一般情況,人臉模型的主要器官的寬度不變,依據外包圍盒的寬高比,對人臉模型上的主要器官的高度進行調整。例如,根據眼睛和嘴巴的外包圍盒,和模型的眼睛和嘴巴的外包圍盒,進行人臉模型上眼睛和嘴大小的調整。外包圍盒的獲得方式與前述獲得人臉圖像和人臉模型的包圍盒的步驟相似。

根據面部特徵區域調整預設模型以獲取與人臉圖像匹配的人臉模型,還包括:

從預設模型中獲取面部主要器官;

根據第二調整參數對面部主要器官進行調整。

對面部主要器官進行調整主要是通過第二調整參數進行調整,首先需要說明第二調整參數的計算方法:獲取人臉圖像上的面部主要器官的第三特徵值以及預設模型上的面部主要器官的第四特徵值;

根據第三特徵值和第四特徵值的比值,計算第二調整參數。

需要說明的是,可以從前述已經進行過調整的人臉模型中獲取面部主要器官,也可以從確定出的與人臉圖像匹配的、尚未進行調整的人臉模型中獲取面部主要器官,這種情況下,前述的調整可以是對摳除了面部主要器官的人臉模型所進行的調整,當然也可以是對未摳除面部主要器官的人臉模型所進行的調整。可以理解的是,在預先建立預設模型的資料庫時,可以將模型上的面部主要器官的相關數據一併存儲,例如,面部器官的高寬比或寬高比等,在使用時直接查詢資料庫獲得數據。

第三特徵值為人臉圖像的面部主要器官的寬高比值,第四特徵值為預設模型的面部主要器官的寬高比值;或者

第三特徵值為人臉圖像的面部主要器官的高寬比值,第四特徵值為預設模型的面部主要器官的高寬比值。

如圖6所示,從人臉模型中獲取面部主要器官,在獲取的面部主要器官上選取面部器官特徵點,根據面部器官特徵點獲取人臉模型面部器官包圍盒RT_ORGAN,並根據獲取的人臉模型面部器官包圍盒RT_ORGAN來確定預設模型面部器官的高寬比RHW_ORGAN和/或寬高比RWH_ORGAN。當然,該高寬比RHW_ORGAN和寬高比RWH_ORGAN可以是預先存儲好的。

以嘴為例進行說明:

RHW_MOUTH=(RT_MOUTH.BOTTOM-RT_MOUTH.TOP)/(RT_MOUTH.RIGHT-RT_MOUTH.LEFT)

RWH_MOUTH=(RT_MOUTH.RIGHT-RT_MOUTH.LEFT)/(RT_MOUTH.BOTTOM-RT_MOUTH.TOP);

RHW_MOUTH為預設模型嘴部高寬比,RWH_MOUTH為預設模型嘴部寬高比,RT_MOUTH.BOTTOM為人臉模型嘴部包圍盒下頂點,RT_MOUTH.TOP為人臉模型嘴部包圍盒上頂點,RT_MOUTH.RI GHT為人臉模型嘴部包圍盒右頂點,RT_MOUTH.LEFT為人臉模型嘴部包圍盒左頂點。

具體的,如圖7所示,在人臉圖像上獲取面部主要器官,在獲取的面部主要器官上選取面部器官特徵點,根據面部器官特徵點獲取人臉面部器官包圍盒FRT_ORGAN,並根據獲取的人臉面部器官包圍盒FRT_ORGAN來確定人臉面部器官的高寬比FRHW_ORGAN和寬高比FRWH_ORGAN。

以嘴為例進行說明:

FRHW_MOUTH=(FRT_MOUTH.BOTTOM-FRT_MOUTH.TOP)/(FRT_MOUTH.RIGHT-FRT_MOUTH.LEFT);

FRWH_MOUTH=(FRT_MOUTH.RIGHT-FRT_MOUTH.LEFT)/(FRT_MOUTH.BOTTOM-FRT_MOUTH.TOP);

FRHW_MOUTH為人臉圖像嘴部高寬比,FRWH_MOUTH為人臉圖像嘴部寬高比,FRT_MOUTH.BOTTOM為人臉圖像嘴部包圍盒下頂點,FRT_MOUTH.TOP為人臉圖像嘴部包圍盒上頂點,FRT_MOUTH.RI GHT為人臉圖像嘴部包圍盒右頂點,FRT_MOUTH.LEFT為人臉圖像嘴部包圍盒左頂點。

然後,根據人臉圖像嘴部寬高比FRWH_MOUTH和人臉模型嘴部寬高比RWH_MOUTH,確定兩者的比值R1=FRWH_MOUTH/RWH_MOUTH;

根據人臉圖像嘴部高寬比FRHW_MOUTH和人臉模型嘴部高寬比RHW_MOUTH,確定兩者的比值R2=FRHW_MOUTH/RHW_MOUTH。

其中,R1或R2即作為第二調整參數。

具體的,一個實施例中,根據第二調整參數對預設模型的面部主要器官進行調整,包括:

獲取預設模型的面部主要器官的m個器官向量點,其中面部主要器官由m個器官向量點組成;

根據第二調整參數對m個器官向量點的坐標進行處理獲得器官參數坐標。

獲取預設模型面部主要器官的m個器官向量點後,根據R1來調整預設模型上面部器官特徵點的坐標,在x方向上做R1倍的伸縮。

在x方向做R1倍的伸縮後,將伸縮後的向量點坐標稱為器官參數坐標。

具體的,在本發明的一個實施例中,根據第二調整參數對預設模型的面部主要器官進行調整包括:

獲取預設模型面部主要器官的m個器官向量點;

選取一個器官向量點作為器官初始坐標;

根據器官初始坐標和第二調整參數對m個器官向量點的當前坐標進行坐標換算。

其中,根據器官初始坐標所處理的當前坐標可以是器官參數坐標,也可以未經過X方向上的伸縮的原始坐標。當所處理的坐標可以是器官參數坐標或原始坐標時,對器官參數坐標或原始坐標進行坐標換算得到器官向量點坐標。

具體的,在人臉模型上標定面部主要器官上的任意一點為PMMi(i=1,2,------,N),確定面部器官初始坐標為PCENTER1;

PCENTER1.x=(RT_ORGAN.RIGHT+RT_ORGAN.LEFT)/2

PCENTER1.y=(RT_ORGAN.BOTTOM+RT_ORGAN.TOP)/2,其中PCENTER1.x為PCENTER1在x方向上的坐標分量,PCENTER1.y為PCENTER1在y方向上的坐標分量,RT_ORGAN.RIGHT為RT_ORGAN的右頂點,RT_ORGAN.LEFT為RT_ORGAN的左頂點,RT_ORGAN.BOTTOM為RT_ORGAN的下頂點,RT_ORGAN.TOP為RT_ORGAN的上頂點;

然後,根據R2和器官初始坐標確定人臉模型上面部主要器官的所有相量點的器官向量點坐標,完成面部主要器官的所有點的調整,形成人臉模型。

PMMi.x=PMMi.x

PMMi.y=PCENTER1.y+R 2*(PMMi.y–PCENTER1.y)

PMMi.z=PMMi.z,其中PMMi.x為PMMi在x方向上的坐標分量,其中PMMi.y為PMMi在y方向上的坐標分量,其中PMMi.z為PMMi在z方向上 的坐標分量。

通過上述方式,即可獲得與人臉圖像匹配的人臉模型。

在獲取一與人臉圖像匹配的人臉模型後,本發明實施例還需要根據人臉圖像對人臉模型進行紋理貼圖處理,生成虛擬人物頭像。具體的,本發明實施例中,首先需要建立人臉模型上的向量點與人臉圖像上的向量點的映射關係,具體可根據所述人臉模型上的向量點坐標和所述人臉圖像上的向量點坐標,建立所述人臉模型和所述人臉圖像的向量點的映射關係,其中,可以理解的是,人臉模型上的向量點坐標即為前述步驟調整後的得到的人臉模型的向量點的當前坐標,從而使得人臉模型上的向量面與人臉圖像上的向量面一一對應;然後根據人臉圖像上的向量面內的顏色值,以及人臉模型上的向量面與人臉圖像上的向量面的對應關係,對人臉模型進行紋理貼圖處理,生成虛擬人物頭像。

其中,由於前述步驟中已經對人臉模型進行了調整,因此,人臉模型的高寬比與人臉圖像的高寬比是相同的,因此,可將模型上的向量點映射到圖像上,從而建立人臉模型上的向量點與人臉圖像上的向量點的映射關係。

根據人臉模型上的向量點之間的連接關係建立人臉圖像上的向量點之間的連接關係,從而形成人臉模型上的向量面與人臉圖像上的向量面的一一對應。

根據人臉模型上的向量點之間的連接關係建立人臉圖像上的向量點之間的連接關係,例如人臉模型上向量點1、2和3之間互相連接形成一三角面,則相應的人臉圖像上的向量點1'、2'和3'之間同樣具有相互連接關係,向量點1'、2'和3'形成一三角面。則人臉模型上向量點1、2和3形成的三角面與人臉圖像上向量點1'、2'和3'形成的三角面同時建立了對應關係。

需要說明的是,也可以在獲取人臉圖像及一預設模型之後,根據預設模型上向量點之間的連接關係建立人臉圖像上向量點之間的連接關係,由於對預設模型進行調整形成人臉模型時,向量點的數量、每個向量點的標號都不會發生變化,在根據預設模型上向量點之間的連接關係建立人臉圖像上向量點之間的連接關係後,可以形成人臉模型上的向量點之間的連接關係與人臉圖像上向量點之間的連接關係的對應。

在建立完映射關係後,根據人臉模型上的向量面與人臉圖像上的向量面的對應關係,將人臉圖像上的向量面內的顏色值填充至相應的人臉模型上的向量 面內,完成對人臉模型的紋理貼圖處理,生成虛擬人物頭像。

在本發明的一個實施例中,根據人臉圖像上的向量面內的顏色值,以及人臉模型上的向量面與人臉圖像上的向量面的對應關係,對人臉模型進行紋理貼圖處理,生成虛擬人物頭像具體包括:

根據人臉模型創建一空白紋理;其中,空白紋理的向量面是與人臉模型上的向量面一一對應的,進而與人臉圖像上的向量面也是一一對應的。

獲取人臉圖像上的向量面內的顏色值,根據人臉模型上的向量面與人臉圖像上的向量面的對應關係,將人臉圖像上的向量面內的顏色值設置到空白紋理的對應向量面內,形成一紋理貼圖;

將紋理貼圖與人臉模型進行貼合處理,形成虛擬人物頭像。

具體的,根據人臉模型創建一由多個向量面組成的空白紋理,這裡的向量面優選三角面,其中空白紋理的各個向量面與人臉模型的各個向量面一一對應。在創建空白紋理後,獲取人臉圖像上各個向量面內的顏色值。可選的,可對人臉圖像上各個向量面內的顏色值計算平均值,獲取計算得到的各個向量面內的平均顏色值,將該平均顏色值作為人臉圖像上各個向量面內的顏色值。具體的,可獲取各個向量面內的各個像素的顏色值,然後,對這些顏色值進行平均值計算。然後,根據預先建立的人臉模型上的向量面與人臉圖像上的向量面的對應關係,將獲取的人臉圖像上的向量面內的平均顏色值設置到空白紋理的對應向量面內,形成一紋理貼圖,然後將紋理貼圖與人臉模型進行貼合處理,形成虛擬人物頭像。具體實現中,可以創建一個數組FaceColor[]來保存人臉圖像上每個向量面的顏色值,數組的大小與人臉模型的向量面以及人臉圖像的向量面的個數相同,即FaceColor[i]=Ci,i=0,1,---,N-1;N為模型三角面的個數,Ci為各個向量面的顏色值。

在本發明的一個實施例中,為了簡化運算數量同時保證虛擬人物圖像的逼真度和協調性,針對人臉上的面部主要器官,採用上述實施例的空白紋理貼圖處理,而對於除了主要器官之外的人臉部分,可採用賦值的方法,即為這些部分設置顏色值,從而生成虛擬人物頭像。其中,所設置的顏色值可以是預先設定的,也可以是根據人臉圖像確定的。

具體實施中,在本發明的一個實施例中,方法還包括:

將獲取的與人臉圖像匹配的人臉模型進行拆分,拆分後的人臉模型包括第一類分模型和第二類分模型,並記錄第一類分模型上的向量面與人臉模型上的向量面的對應關係以及第二類分模型上的向量面與人臉模型上的向量面的對應關係;

這時,在根據人臉圖像上的向量面內的顏色值,以及人臉模型上的向量面與人臉圖像上的向量面的對應關係,對人臉模型進行紋理貼圖處理時,首先同樣根據人臉模型創建一空白紋理,空白紋理上的向量面與人臉模型上的向量面相對應,然後,針對第一類分模型,利用與上述實施例類似的方法,根據人臉模型上的向量面與人臉圖像上的向量面的對應關係,以及記錄的第一類分模型上的向量面與人臉模型上的向量面的對應關係,獲取人臉圖像上的與第一類分模型對應的向量面內的顏色值,並將人臉圖像上的與第一類分模型對應的向量面內的顏色值設置到空白紋理的與第一類分模型對應的向量面內。舉例來說,第一類分模型可以至少包括器官模型,例如器官模型可以包括如圖8所示的面頰模型,眉毛模型,眼睛模型和嘴模型,眉毛模型、眼睛模型和嘴模型如圖9-11所示。這類分模型的顏色差別較大,因此,按照人臉圖像上的第一類分模型對應的向量面的顏色值設置人臉模型上的第一類分模型的向量面內的顏色值,可以有效保證人臉模型的逼真度和協調性。

而本實施例中第二類分模型與人臉圖像上顏色區別不大的區域相對應,人臉圖像上每個第二類分模型對應的區域上的顏色值基本相似,因此,可以為每個第二類分模型設置一個顏色值,將該顏色值設置到空白紋理的對應向量面內,具體可以採用如下幾種方式:

其一,利用人臉圖像上與第一類模型中的第一器官模型對應的向量面的顏色來確定第二類分模型的向量面的顏色值,該第一器官模型例如為臉頰模型。這是因為,臉頰部分的顏色比較均衡,接近臉部的其他區域。具體的,根據人臉圖像上的與第一器官模型的向量面對應的向量面內的顏色值,確定第二類分模型的向量面內的顏色值;根據記錄的第二類分模型上的向量面與人臉模型上的向量面的對應關係,將確定的第二類分模型的向量面內的顏色值設置到空白紋理的與第二類分模型對應的向量面內。本發明實施例對如何根據人臉圖像上的與第一器官模型的向量面對應的向量面內的顏色值,確定第二類分模型的向 量面內的顏色值不做限定,本領域技術人員可以進行選擇。具體的,在第二類分模型包括N個,其中N大於等於1的情況下,可以提取人臉圖像上的與第一器官模型的向量面對應的向量面內的顏色值;將提取的顏色值轉化為灰度值;提取灰度值的最高值對應的顏色值和灰度值的最低值對應的顏色值;根據灰度值的最高值對應的顏色值和灰度值的最低值對應的顏色值,確定N個第二類分模型的向量面內的顏色值。舉例說明,假設灰度值最低的顏色值為C1,灰度值最高的顏色值為C2,有N個第二類分模型,可以按照N個第二類分模型的亮度要求,根據C1和C2確定各個第二類分模型的顏色值。例如,亮度要求最高的第二類分模型的向量面內的顏色值為C2,按照步長遞減(C2-C1)/(N-1),最低的第二類分模型的向量面內的顏色值為C1,以此類推。本發明實施例對如何根據C1和C2確定第二類分模型的向量面顏色值不做限定,本領域技術人員可以進行選擇。

其二,預先設定好第二類分模型上的向量面的顏色值,本領域技術人員可以根據人臉數據的統計結果和經驗值等進行預先設置,根據記錄的第二類分模型上的向量面與人臉模型上的向量面的對應關係,將預先設置的第二類分模型的向量面內的顏色值設置到空白紋理的與第二類分模型對應的向量面內。

其三,在第二類分模型包括N個,其中N大於等於1的情況下,在人臉圖像上獲取N個顏色值,將獲取的N個顏色值轉化為N個灰度值;對N個灰度值按照灰度由大到小的順序進行排序,獲得與N個灰度值對應的依次排列的N個顏色值;按照N個第二類分模型的亮度順序,將依次排列的N個顏色值分別一一對應到N個第二類分模型,分別確定為N個第二類分模型的向量面內的顏色值;根據記錄的第二類分模型上的向量面與人臉模型上的向量面的對應關係,將確定的第二類分模型的向量面內的顏色值設置到空白紋理的與第二類分模型對應的向量面內。其中,N個第二類分模型的亮度順序可以是預先設定好的,也可以是根據人臉圖像的相應區域確定的。

在設置了空白紋理中的第一類分模型和第二類分模型對應的向量面的顏色值後,形成了一張紋理貼圖,將所形成的紋理貼圖與人臉模型進行貼合處理,從而形成虛擬了人物頭像。

需要說明的是,本發明實施例中,人臉圖像上的向量面內的顏色值均可以 是該向量面內的像素顏色的平均值。

以下通過一個具體的實施例進行詳細說明:

首先,將人臉模型上的向量點映射到人臉圖像上,從而形成人臉圖像上的向量面與人臉模型上的向量面上的一一對應關係。

具體的,由於人臉圖像的RHWF與與人臉圖像匹配的人臉模型的高寬比RHWM是相同的,r=(RTF.BOTTOM-RTF.TOP)/(RTM.BOTTOM-RTM.TOP)=(RTF.RIGHT-RTF.LEFT)/(RTM.RIGHT-RTM.LEFT);將模型上的向量點映射到圖像上,其方法為:

對於模型上任意一點PM,其在圖像上的坐標PI為

PI.X=PCENTER.X+r*(PM.X-PMCENTER.X)

PI.Y=PCENTER.Y+r*(PM.Y-PMCENTER.Y)

參見圖15,圖15為依據人臉模型的三角面(向量面)映射到人臉圖像上的示意圖。

在人臉模型的基礎上對模型進行拆分,拆分為兩類分模型,第一類分模型和第二類分模型。分模型的作用是為了標定特殊紋理的位置。分模型的分割原則是依據人臉的特徵,及人臉顏色的一般規律。本實施例中,第一類分模型包括器官模型,具體為眉毛模型,眼睛模型,嘴模型,臉部主要部分模型(臉頰模型),其中,臉頰模型如圖8所示,眉毛模型、眼睛模型和嘴模型如圖9-11所示。第二類分模型包括與頭部輪廓對應的第一模型,與眼周對應的第二模型和與額頭和顴骨對應的第三模型。第一至第三模型分別如圖12~圖14所示。第一類分模型和第二類分模型相加組成了一完整的人臉模型。

將分出來的模型與人臉模型匹配,記錄下各個分模型在人臉模型上的位置,即記錄了分模型的向量面與人臉模型的向量面的對應關係。

假設人臉模型上有M個向量點,點的集合為V,向量點可表示為Pi,i=0,1,2------,M-1;同時人臉模型上有N個向量面,向量面的集合為F,向量面可表示為Fi,i=0,1,2------,N-1;向量面優選三角面,每個三角面由三個向量點組成。

分模型都是人臉模型的子集,假如分拆後有K個分模型,對任意分模型,假如模型上有Mj,j=1,2,---,K個向量點,點的集合為Vj,j=1,2, ---,K;其上任意一點為Pjm,m=0,1,2,-----,Mm-1;並且Mm<M;即Vj是V的子集;同時分模型上有Nj個向量面,向量面的集合為Fn,n=0,1,2------,Nn-1;同樣,其中任意一個向量面為Fjn,n=0,1,2,-----,Nn-1;

對於每一個分模型,都需要有兩個數組記錄該分模型與人臉模型向量點的對應和向量面的對應。記錄對應向量點的數組為Vj[Mj]j=1,2,---,K,數組的長度為Mj;記錄對應向量面的數組為Fj[Nj]j=1,2,---,K,數組的長度為Nj.記錄方法如下:

從分模型中任意取一點Pjm j=1,2,---,K m=0,1,2,-----,Mm-1(第j個模型,第m個點),與人臉模型中的向量點Pi,i=0,1,2------,M-1;進行比較,如果Pjm.x==Pi.x並且Pjm.y==Pi.y並且Pjm.z==Pi.z,

則Vj[m]=i,i=0,1,2------,M-1。

從分模型中任意取一個向量面Fjn j=1,2,---,K;n=0,1,2,-----,Nn-1;與人臉模型中的向量面Fi進行比較,如果組成向量面Fjn的向量點與向量面Fi組成的向量點相同,

則Fj[n]=i j=1,2,---,K;i=0,1,2------,N-1;n=0,1,2,-----,Nn-1。

生成一個與人臉模型對應的空白紋理,向量面與人臉模型上的向量面相對應。

對第一類分模型,可以獲取人臉圖像上相應向量面中的顏色值,將該顏色值設置在空白紋理上的與第一類分模型對應的向量面上。

為了對分模型上的向量面進行紋理貼圖處理,可以建立用於保存向量面的顏色值的數組。具體的,與面頰模型、眉毛模型、眼睛模型和嘴模型對應的人臉圖像上的用於保存各個向量面顏色的數組分別為:Fface[Nface]、Fbrow[Nbrow],Feye[Neye]和眼Fmouth[Nmoith],將人臉圖像上對應向量面的顏色值保存在這些數組裡,然後根據讀取這些數組中的顏色值,形成紋理貼圖,即將顏色值填充到空白紋理上,亦即將這些值賦予空白紋理的向量面顏色值數組中,形成紋理貼圖,進而將貼圖貼合到人臉模型上,從而將顏色值賦予到人臉模型上的面部主要部分模型、眉毛模型、眼睛模型和嘴模型的向量面內:

FaceColorD[Fface[i]]=FaceColorS[Fface[i]]i=0,1,----,Nface-1;

FaceColorD[Fbrow[i]]=FaceColorS[Fbrow[i]]i=0,1,----,Nbrow-1;

FaceColorD[Feye[i]]=FaceColorS[Feye[i]]i=0,1,----,Neye-1;

FaceColorD[Fmouth[i]]=FaceColorS[Fmouth[i]]i=0,1,----,Nmouth-1。

其中,FaceColorD[]為空白紋理的向量面的顏色值數組,FaceColorS[]為人臉模型上的向量面的顏色值數組。

針對第二類分模型,對於利用人臉圖像上與臉頰模型對應的向量面的顏色來確定第二類分模型的向量面的顏色值。

在面部主要部分模型對應的人臉圖像上的數組Fface[Nface]中選出顏色最暗的顏色值C1,顏色最亮的顏色值C2並計算二者的平均值C3。

其中選擇的方法如下:

將數組Fface[Nface]中的顏色值轉化為灰度值:

如顏色值Ci=Fface[i]i=0,1,----,Nface-1;

則灰度值Di=0.299*Ci.r+0.587*Ci.g+0.114*Ci.b,i=0,1,----,Nface-1;

在Di中找出這些灰度值的最小值Dmin和最大值Dmax,並記錄下此時的顏色值Cmin和Cmax,

所以C1=Cmin

C2=Cmax

C3=(C1+C2)/2

對於第一模型,第二模型和第三模型的數組分別為Fpart1[Npart1],Fpart2[Npart2]和Fpart3[Npart3]。按照三個模型的亮度順序,其中第一模型的亮度最低,第二模型的亮度中等,第三模型的亮度最高。

則有

FaceColorD[Fpart1[i]]=C1 i=0,1,----,Npart1-1;

FaceColorD[Fpart2[i]]=C3 i=0,1,----,Npart3-1;

FaceColorD[Fpart3[i]]=C2 i=0,1,----,Npart2-1。

顏色數組FaceColorD被設置完成後,再對空白紋理進行顏色的設置。

將FaceColorD[i]的顏色值Ci賦給所有的空白紋理與其對應的向量面上的 所有像素點。此處i=0,1,----,N-1。

對空白紋理設置完顏色值後,形成了紋理貼圖,在依據圖形圖像學裡的方式,對模型進行紋理貼圖,從而完成人臉模型的紋理貼圖處理。

具體的,所生成的人臉模型可如圖16所示。

在本發明上述實施例中,建立人臉模型上的向量點與人臉圖像上的向量點的映射關係,從而使得人臉模型上的向量面與人臉圖像上的向量面一一對應,具體為:

根據人臉模型上的向量點之間的連接關係建立人臉圖像上的向量點之間的連接關係,從而形成人臉模型上的向量面與人臉圖像上的向量面的一一對應。

根據人臉模型上的向量點之間的連接關係建立人臉圖像上的向量點之間的連接關係,例如人臉模型上向量點1、2和3之間互相連接形成一三角面,則相應的人臉圖像上的向量點1、2和3之間同樣具有相互連接關係,向量點1、2和3形成一三角面。則人臉模型上向量點1、2和3形成的三角面與人臉圖像上向量點1、2和3形成的三角面同時建立了對應關係。

需要說明的是,也可以在獲取人臉圖像及一預設模型之後,根據預設模型上向量點之間的連接關係建立人臉圖像上向量點之間的連接關係,由於對預設模型進行調整形成人臉模型時,向量點的數量、每個向量點的標號都不會發生變化,在根據預設模型上向量點之間的連接關係建立人臉圖像上向量點之間的連接關係後,可以形成人臉模型上的向量點之間的連接關係與人臉圖像上向量點之間的連接關係的對應。

本發明實施例提供一種人臉貼圖處理裝置,包括:

獲取調整模塊,用於獲取人臉圖像及一預設模型,根據人臉圖像對預設模型進行調整,獲取一與人臉圖像匹配的人臉模型;

建立模塊,用於建立人臉模型上的向量點與人臉圖像上的向量點的映射關係,從而使得人臉模型上的向量面與人臉圖像上的向量面一一對應;

處理生成模塊,用於根據人臉圖像上的向量面內的顏色值,以及人臉模型上的向量面與人臉圖像上的向量面的對應關係,對人臉模型進行紋理貼圖處理,生成虛擬人物頭像。

其中,處理生成模塊可包括:

創建子模塊,用於根據人臉模型創建一空白紋理,空白紋理上的向量面與人臉模型上的向量面相對應;

處理子模塊,用於獲取人臉圖像上的向量面內的顏色值,根據人臉模型上的向量面與人臉圖像上的向量面的對應關係,將人臉圖像上的向量面內的顏色值設置到空白紋理的對應向量面內,形成一紋理貼圖;

貼合子模塊,用於將紋理貼圖與人臉模型進行貼合處理,形成虛擬人物頭像。

其中,在本發明一個實施例中,裝置還包括:

拆分模塊,用於將獲取的與人臉圖像匹配的人臉模型進行拆分,拆分後的人臉模型包括第一類分模型和第二類分模型;

記錄模塊,用於記錄第一類分模型上的向量面與人臉模型上的向量面的對應關係以及第二類分模型上的向量面與人臉模型上的向量面的對應關係;

則,處理生成模塊具體用於:

根據人臉模型創建一空白紋理,空白紋理上的向量面與人臉模型上的向量面相對應;

根據人臉模型上的向量面與人臉圖像上的向量面的對應關係,以及記錄的第一類分模型上的向量面與人臉模型上的向量面的對應關係,獲取人臉圖像上的與第一類分模型對應的向量面內的顏色值,並將人臉圖像上的與第一類分模型對應的向量面內的顏色值設置到空白紋理的與第一類分模型對應的向量面內;

將設置了顏色值的空白紋理所形成的紋理貼圖與人臉模型進行貼合處理,形成虛擬人物頭像。

具體的,第一類分模型至少包括器官模型。

進一步的,器官模型包括第一器官模型;

處理生成模塊還用於:

根據人臉圖像上的與第一器官模型的向量面對應的向量面內的顏色值,確定第二類分模型的向量面內的顏色值;

根據記錄的第二類分模型上的向量面與人臉模型上的向量面的對應關係, 將確定的第二類分模型的向量面內的顏色值設置到空白紋理的與第二類分模型對應的向量面內。

具體的,第二類分模型包括N個,其中N大於等於1;

處理生成模塊用於:

提取人臉圖像上的與第一器官模型的向量面對應的向量面內的顏色值;

將提取的顏色值轉化為灰度值;

提取灰度值的最高值對應的顏色值和灰度值的最低值對應的顏色值;

根據灰度值的最高值對應的顏色值和灰度值的最低值對應的顏色值,確定N個第二類分模型的向量面內的顏色值。

具體的,第二類分模型包括N個,其中N大於等於1;

處理生成模塊用於:

根據記錄的第二類分模型上的向量面與人臉模型上的向量面的對應關係,將預先設置的第二類分模型的向量面內的顏色值設置到空白紋理的與第二類分模型對應的向量面內。

具體的,第二類分模型包括N個,其中N大於等於1;

處理生成模塊用於:

在人臉圖像上獲取N個顏色值,將獲取的N個顏色值轉化為N個灰度值;

對N個灰度值按照灰度由大到小的順序進行排序,獲得與N個灰度值對應的依次排列的N個顏色值;

按照N個第二類分模型的亮度順序,將依次排列的N個顏色值分別一一對應到N個第二類分模型,分別確定為N個第二類分模型的向量面內的顏色值;

根據記錄的第二類分模型上的向量面與人臉模型上的向量面的對應關係,將確定的第二類分模型的向量面內的顏色值設置到空白紋理的與第二類分模型對應的向量面內。

可選的,建立模塊具體用於:

根據人臉模型上的向量點之間的連接關係建立人臉圖像上的向量點之間的連接關係,從而形成人臉模型上的向量面與人臉圖像上的向量面的一一對應。

其中,人臉圖像上的向量面內的顏色值包括人臉圖像上的向量面內的顏色 平均值。

本發明實施例人臉貼圖處理方法,通過獲取人臉圖像的人臉特徵點,利用人臉特徵點對預設模型進行調整,獲取與人臉匹配的3d人臉模型,並通過處理人臉圖像,利用人臉圖像的向量面與人臉模型的向量面的對應關係,形成,形成新的紋理貼圖,將新的紋理貼圖與人臉模型匹配,形成新的虛擬人物頭像,一方面這種方式生成的新的虛擬人物圖像可以有效保證所生成的新的人物頭像與虛擬人物身體各部分的協調,另一方面還能夠將形成的新的人物頭像與不同的虛擬人物身體模型結合,形成不同的人物,提高趣味性。本發明實施例方案簡單,人工處理量小,適用於要求簡單且快速的建模需求。

需要說明的是,本發明實施例提供的人臉貼圖處理裝置是應用上述方法的裝置,則上述方法的所有實施例均適用於該裝置,且均能達到相同或相似的有益效果。

以上所述是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀