本發(fā)明涉及圖像處理領域,尤其涉及一種自拍圖像的優(yōu)化方法、裝置和拍攝終端。
背景技術:
隨著移動通信和微電子技術的迅速發(fā)展,各種拍攝終端(如相機、攝像機和具有拍照功能的手機、平板電腦等)的攝像頭分辨率已經(jīng)達到了十萬、數(shù)十萬、乃至百萬級像素,促使越來越多的人們習慣于通過這些拍攝終端進行自拍來記錄自己的各種生活狀態(tài)。
用戶在自拍時,很多人都會根據(jù)當前的光線而調(diào)整自拍的角度,或左邊臉自拍,或右邊臉自拍。而科學研究表明左邊臉的照片比右邊臉被愉悅度評分更高,瞳孔直徑也更大,從而更容易得到照片瀏覽者的喜歡。若用戶對右邊臉自拍的照片不滿意時,可以通過拍攝終端的操作界面來設置自拍照片的存儲方式,如選擇鏡像存儲等。但這種手動設置仍然不夠智能,不能自動識別用戶的左右臉圖像而做出相應調(diào)整。
在人臉識別中,五官定位技術尤其關鍵,通常是預測一些預先設計的人臉特征點,如眼角、眉梢、鼻尖和嘴角等部位。但用戶在自拍時通常面部會有一定的旋轉(zhuǎn)角度,這無疑會加大五官定位的難度。
技術實現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種自拍圖像的優(yōu)化方法、裝置和拍攝終端。
根據(jù)本發(fā)明的一個方面,提供一種自拍圖像的優(yōu)化方法,適于在拍攝終端中執(zhí)行,該方法包括:采集多張人臉圖像并對其中的人臉特征點進行標注,形成訓練圖像集合;將所述已標注的訓練圖像集合輸入卷積神經(jīng)網(wǎng)絡進行人臉特征點的訓練,得到人臉特征點的卷積神經(jīng)網(wǎng)絡模型;將所述待處理的自拍圖像輸入到所述人臉特征點的卷積神經(jīng)網(wǎng)絡模型中進行預測,得到所述自拍圖像的人臉特征點;根據(jù)所述自拍圖像的人臉特征點獲取左右臉的同類距離參數(shù);判斷所述左臉的同類距離參數(shù)是否大于右臉的同類距離參數(shù);若是則按原樣保存所述自拍圖像,否則進行鏡像保存。
可選地,在根據(jù)本發(fā)明的方法中,人臉特征點包括鼻子頂點C、嘴唇的左右頂點E和F,以及以下任意一組的眼睛特征點:左右眼中心點A1和B1、左眼左頂點A2和右眼右頂點B2;其中,C點分別與直線A1B1和EF垂直相交于D點和G點。
可選地,在根據(jù)本發(fā)明的方法中,所述左右臉的同類距離參數(shù)至少包括以下五組距離參數(shù)中的任意一組:ⅰ、A1點與D點之間的距離A1D和B1點與D點之間的距離B1D;ⅱ、A2點與D點之間的距離A2D和B2點與D點之間的距離B2D;ⅲ、E點與G點之間的距離EG和F點與G點之間的距離FG;ⅳ、C點到A1點與到E點的距離之和A1C+CE、以及C點到B1點與到F點的距離之和B1C+CF;ⅴ、C點到A2點與到E點的距離之和A2C+CE、以及C點到B2點與到F點的距離之和B2C+CF。
可選地,在根據(jù)本發(fā)明的方法中,還包括:對所述待處理的自拍圖像進行人臉檢測,得到人臉區(qū)域,并對該人臉區(qū)域進行裁剪及縮放處理。
可選地,在根據(jù)本發(fā)明的方法中,還包括:根據(jù)所述自拍圖像的人臉特征點參數(shù),計算所述自拍圖像進行平面旋轉(zhuǎn)的變換矩陣,并根據(jù)該變換矩陣將所述自拍圖像旋轉(zhuǎn)為水平正面圖像。
可選地,在根據(jù)本發(fā)明的方法中,還包括:在采集到的多張人臉圖像中對人種、年齡、人臉旋轉(zhuǎn)角度進行標注,形成訓練圖像集合;將所述標注有人臉旋轉(zhuǎn)角度的訓練圖像集合輸入卷積神經(jīng)網(wǎng)絡進行訓練,輸出預設的人臉旋轉(zhuǎn)角度的區(qū)間范圍所對應的人臉姿態(tài)類型,得到人臉旋轉(zhuǎn)角度的卷積神經(jīng)網(wǎng)絡模型。
可選地,在根據(jù)本發(fā)明的方法中,計算所述輸出預設的人臉旋轉(zhuǎn)角度的區(qū)間范圍的公式為:
其中,其中m表示分割的角度區(qū)間數(shù)目,i表示第i個區(qū)間,σi(Z)表示輸出結(jié)果在第i個區(qū)間的概率,Z表示神經(jīng)網(wǎng)絡的輸出。
可選地,在根據(jù)本發(fā)明的方法中,還包括:根據(jù)所述人臉旋轉(zhuǎn)角度的卷積神經(jīng)網(wǎng)絡模型以及所述標注的人臉特征點對所述訓練圖像集合的人臉特征點坐標進行回歸訓練,回歸計算公式為:
其中,N表示所要輸出的人臉特征點的個數(shù),x1i表示卷積神經(jīng)網(wǎng)絡輸出的人臉特征點的坐標,x2i表示人工標注的人臉特征點的坐標,D表示卷積神經(jīng)網(wǎng)絡輸出的人臉特征點的坐標與人工標注的人臉特征點的坐標的誤差值。
可選地,在根據(jù)本發(fā)明的方法中,所述卷積神經(jīng)網(wǎng)絡包括重復疊加的卷積層、ReLU層、下采樣層,并在最后疊加全連接層得到多個輸出分支;其中每個輸出分支對應人臉一個屬性特征,并在模型訓練中回傳對應屬性的誤差值。
可選地,在根據(jù)本發(fā)明的方法中,還包括:如果檢測到待處理的自拍圖像中存在多張人臉,則根據(jù)以下方式對圖像進行處理:分別獲取每個人臉的最左端和最右端特征點的橫坐標xleft和xright,以及最上端和最下端特征點的縱坐標ytop和ybottom;根據(jù)坐標值計算每張人臉的區(qū)域面積size=|(xright-xleft)*(ybottom-ytop)|;確定自拍圖像中區(qū)域面積最大的一張人臉,并計算其左右臉的同類距離參數(shù);根據(jù)計算得到的同類距離參數(shù)對自拍圖像進行鏡像保存或原樣處理。
可選地,在根據(jù)本發(fā)明的方法中,還包括:如果檢測到待處理的自拍圖像中存在多張人臉,則根據(jù)以下方式對圖像進行處理:根據(jù)每張人臉的特征點分別計算其左右臉的同類距離參數(shù);將所有人臉的左右臉的同類距離參數(shù)求和;判斷左臉的同類距離參數(shù)總和是否大于右臉的同類距離參數(shù)總和;若是則按原樣保存所述自拍圖像,否則進行鏡像保存。
根據(jù)本發(fā)明的另一方面,提供一種自拍圖像的優(yōu)化裝置,適于駐留在拍攝終端中,該裝置包括:圖像訓練模塊,適于采集多張人臉圖像并對人臉特征點進行標注,形成訓練圖像集合;模型訓練模塊,適于將所述已標注的訓練圖像集合輸入卷積神經(jīng)網(wǎng)絡進行人臉特征點的訓練,得到人臉特征點的卷積神經(jīng)網(wǎng)絡模型;特征點計算模塊,適于將所述待處理的自拍圖像輸入到所述人臉特征點的卷積神經(jīng)網(wǎng)絡模型中進行預測,得到所述自拍圖像的人臉特征點;距離計算模塊,適于根據(jù)所述自拍圖像的人臉特征點獲取左右臉的同類距離參數(shù);圖像保存模塊,適于判斷所述左臉的同類距離參數(shù)是否大于右臉的同類距離參數(shù);若是則按原樣保存所述自拍圖像,否則進行鏡像保存。
可選地,在根據(jù)本發(fā)明的裝置中,所述人臉特征點包括鼻子頂點C、嘴唇的左右頂點E和F,以及以下任意一組的眼睛特征點:左右眼中心點A1和B1、左眼左頂點A2和右眼右頂點B2;其中所述C點分別與直線A1B1和EF垂直相交于D點和G點。
可選地,在根據(jù)本發(fā)明的裝置中,所述左右臉的同類距離參數(shù)包括以下五組距離參數(shù)中的任意一組:ⅰ、A1點與D點之間的距離A1D和B1點與D點之間的距離B1D;ⅱ、A2點與D點之間的距離A2D和B2點與D點之間的距離B2D;ⅲ、E點與G點之間的距離EG和F點與G點之間的距離FG;ⅳ、C點到A1點與到E點的距離之和A1C+CE、以及C點到B1點與到F點的距離之和B1C+CF;ⅴ、C點到A2點與到E點的距離之和A2C+CE、以及C點到B2點與到F點的距離之和B2C+CF。
可選地,在根據(jù)本發(fā)明的裝置中,還包括:人臉檢測模塊,適于對所述待處理的自拍圖像進行人臉檢測,得到人臉區(qū)域,并對該人臉區(qū)域進行裁剪及縮放處理。
可選地,在根據(jù)本發(fā)明的裝置中,還包括:圖像旋轉(zhuǎn)模塊,根據(jù)所述自拍圖像的人臉特征點參數(shù),計算所述自拍圖像進行平面旋轉(zhuǎn)的變換矩陣,并根據(jù)該變換矩陣將所述自拍圖像旋轉(zhuǎn)為水平正面圖像。
可選地,在根據(jù)本發(fā)明的裝置中,所述圖像訓練模塊還適于在采集到的多張人臉圖像中對人種、年齡、人臉旋轉(zhuǎn)角度進行標注,形成訓練圖像集合;所述模型訓練模塊還適于將所述標注有人臉旋轉(zhuǎn)角度的訓練圖像集合輸入卷積神經(jīng)網(wǎng)絡進行訓練,輸出預設的人臉旋轉(zhuǎn)角度的區(qū)間范圍所對應的人臉姿態(tài)類型,得到人臉旋轉(zhuǎn)角度的卷積神經(jīng)網(wǎng)絡模型。
可選地,在根據(jù)本發(fā)明的裝置中,計算所述輸出預設的人臉旋轉(zhuǎn)角度的區(qū)間范圍的公式為:
其中,其中m表示分割的角度區(qū)間數(shù)目,i表示第i個區(qū)間,σi(Z)表示輸出結(jié)果在第i個區(qū)間的概率,Z表示神經(jīng)網(wǎng)絡的輸出。
可選地,在根據(jù)本發(fā)明的裝置中,所述模型訓練模塊還適于根據(jù)所述人臉旋轉(zhuǎn)角度的卷積神經(jīng)網(wǎng)絡模型以及所述標注的人臉關鍵點對所述訓練圖像集合的人臉特征點坐標進行回歸訓練,回歸計算公式為:
其中,N表示所要輸出的人臉特征點的個數(shù),x1i表示卷積神經(jīng)網(wǎng)絡輸出的人臉特征點的坐標,x2i表示人工標注的人臉特征點的坐標,D表示卷積神經(jīng)網(wǎng)絡輸出的人臉特征點的坐標與人工標注的人臉特征點的坐標的誤差值。
可選地,在根據(jù)本發(fā)明的裝置中,所述卷積神經(jīng)網(wǎng)絡包括重復疊加的卷積層、ReLU層、下采樣層,并在最后疊加全連接層得到多個輸出分支;其中每個輸出分支對應人臉一個屬性特征,并在模型訓練中回傳對應屬性的誤差值。
可選地,在根據(jù)本發(fā)明的裝置中,人臉檢測模塊還適于檢測所述待處理的自拍圖像是否存在多張人臉;特征點計算模塊還適于在所述人臉檢測模塊檢測到多張人臉時,分別獲取每個人臉的最左端和最右端特征點的橫坐標xleft和xright,以及最上端和最下端特征點的縱坐標ytop和ybottom;距離計算模塊還適于根據(jù)所述坐標值計算每張人臉的區(qū)域面積size=|(xright-xleft)*(ybottom-ytop)|,并確定所述自拍圖像中區(qū)域面積最大的一張人臉,以及計算其左右臉的同類距離參數(shù);圖像保存模塊還適于根據(jù)所述計算得到的同類距離參數(shù)對自拍圖像進行鏡像保存或原樣處理。
可選地,在根據(jù)本發(fā)明的裝置中,距離計算模塊還適于在所述人臉檢測模塊檢測到多張人臉時,根據(jù)每張人臉的特征點分別計算其左右臉的同類距離參數(shù),并將所有人臉的左右臉的同類距離參數(shù)求和;圖像保存模塊還適于判斷左臉的同類距離參數(shù)總和是否大于右臉的同類距離參數(shù)總和;若是則按原樣保存所述自拍圖像,否則進行鏡像保存。
根據(jù)本發(fā)明的又一個方面,提供一種拍攝終端,包括如上所述的自拍圖像的優(yōu)化裝置。
根據(jù)本發(fā)明的技術方案,通過構造人臉特征點的卷積神經(jīng)網(wǎng)絡模型,根據(jù)五官定位技術識別出的人臉特征點,計算出待處理自拍圖像的左右臉距離參數(shù),從而判斷出用戶是在使用左臉拍照還是右臉拍照,若是左臉拍照則原樣保存照片,若是右臉拍照則采用鏡像保存。這樣,智能地實現(xiàn)了自拍照片的最優(yōu)化展現(xiàn),提高了用戶形象。另外,還通過構造人臉旋轉(zhuǎn)角度的卷積神經(jīng)網(wǎng)絡模型,基于人臉的旋轉(zhuǎn)角度對人臉特征點進行回歸計算,從而保證了人臉特征點的準確定位,有效消除了拍照時的臉部傾斜對五官定位時的影響。
附圖說明
為了實現(xiàn)上述以及相關目的,本文結(jié)合下面的描述和附圖來描述某些說明性方面,這些方面指示了可以實踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護的主題的范圍內(nèi)。通過結(jié)合附圖閱讀下面的詳細描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯。遍及本公開,相同的附圖標記通常指代相同的部件或元素。
圖1示出了根據(jù)本發(fā)明一個實施例的移動終端100的結(jié)構框圖;
圖2示出了根據(jù)本發(fā)明一個實施例的自拍圖像的優(yōu)化方法200的流程圖;
圖3示出了根據(jù)本發(fā)明一個實施例的自拍圖像的優(yōu)化裝置300的結(jié)構框圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領域的技術人員。
本發(fā)明提供一種自拍圖像的優(yōu)化裝置,可以駐留在拍攝終端中,如相機、攝像機和具有拍照功能的移動終端等,圖1布置為實現(xiàn)根據(jù)本發(fā)明的自拍圖像的優(yōu)化裝置的示例移動終端100的結(jié)構框圖。
如圖1所述,移動終端可以包括存儲器接口102、一個或多個數(shù)據(jù)處理器、圖像處理器和/或中央處理單元104,以及外圍接口106。存儲器接口102、一個或多個處理器104和/或外圍接口106既可以是分立元件,也可以集成在一個或多個集成電路中。在移動終端100中,各種元件可以通過一條或多條通信總線或信號線來耦合。傳感器、設備和子系統(tǒng)可以耦合到外圍接口106,以便幫助實現(xiàn)多種功能。
例如,運動傳感器110、光線傳感器112和距離傳感器114可以耦合到外圍接口106,以方便定向、照明和測距等功能。其他傳感器116同樣可以與外圍接口106相連,例如定位系統(tǒng)(例如GPS接收機)、溫度傳感器、生物測定傳感器或其他感測設備,由此可以幫助實施相關的功能。
相機子系統(tǒng)120和光學傳感器122可以用于方便諸如記錄照片和視頻剪輯的相機功能的實現(xiàn),其中所述相機子系統(tǒng)和光學傳感器例如可以是電荷耦合器件(CCD)或互補金屬氧化物半導體(CMOS)光學傳感器??梢酝ㄟ^一個或多個無線通信子系統(tǒng)124來幫助實現(xiàn)通信功能,其中無線通信子系統(tǒng)可以包括射頻接收機和發(fā)射機和/或光(例如紅外)接收機和發(fā)射機。無線通信子系統(tǒng)124的特定設計和實施方式可以取決于移動終端100所支持的一個或多個通信網(wǎng)絡。例如,移動終端100可以包括被設計成支持LTE、3G、GSM網(wǎng)絡、GPRS網(wǎng)絡、EDGE網(wǎng)絡、Wi-Fi或WiMax網(wǎng)絡以及BlueboothTM網(wǎng)絡的通信子系統(tǒng)124。音頻子系統(tǒng)126可以與揚聲器128以及麥克風130相耦合,以便幫助實施啟用語音的功能,例如語音識別、語音復制、數(shù)字記錄和電話功能。
I/O子系統(tǒng)140可以包括觸摸屏控制器142和/或一個或多個其他輸入控制器144。觸摸屏控制器142可以耦合到觸摸屏146。舉例來說,該觸摸屏146和觸摸屏控制器142可以使用多種觸摸感測技術中的任何一種來檢測與之進行的接觸和移動或是暫停,其中感測技術包括但不局限于電容性、電阻性、紅外和表面聲波技術。一個或多個其他輸入控制器144可以耦合到其他輸入/控制設備148,例如一個或多個按鈕、搖桿開關、拇指旋輪、紅外端口、USB端口、和/或指示筆之類的指點設備。所述一個或多個按鈕(未顯示)可以包括用于控制揚聲器128和/或麥克風130音量的向上/向下按鈕。
存儲器接口102可以與存儲器150相耦合。該存儲器150可以包括高速隨機存取存儲器和/或非易失性存儲器,例如一個或多個磁盤存儲設備,一個或多個光學存儲設備,和/或閃存存儲器(例如NAND,NOR)。存儲器150可以存儲操作系統(tǒng)152,例如Android、iOS或是Windows Phone之類的操作系統(tǒng)。該操作系統(tǒng)152可以包括用于處理基本系統(tǒng)服務以及執(zhí)行依賴于硬件的任務的指令。存儲器150還可以存儲應用154。
在移動設備運行時,會從存儲器150中加載操作系統(tǒng)152,并且由處理器104執(zhí)行。應用154在運行時,也會從存儲器150中加載,并由處理器104執(zhí)行。應用154運行在操作系統(tǒng)之上,利用操作系統(tǒng)以及底層硬件提供的接口實現(xiàn)各種用戶期望的功能,如即時通信、網(wǎng)頁瀏覽、圖片管理等。應用154可以是獨立于操作系統(tǒng)提供的,也可以是操作系統(tǒng)自帶的。另外,應用154被安裝到移動終端100中時,也可以向操作系統(tǒng)添加驅(qū)動模塊。
在上述各種應用154中,其中的一種應用為與本發(fā)明相關的自拍圖像的優(yōu)化裝置300。在一些實施例中,移動終端100被配置為執(zhí)行根據(jù)本發(fā)明的自拍圖像的優(yōu)化方法200。
圖2示出了根據(jù)本發(fā)明一個實施例的自拍圖像的優(yōu)化方法200,適于在拍攝終端中執(zhí)行,該方法始于步驟S210。
在步驟S210中,采集多張人臉圖像并對其中的人臉特征點進行標注,形成訓練圖像集合。具體地,人臉特征點至少包括鼻子頂點C、嘴唇的左右頂點E和F,以及以下任意一組的眼睛特征點:左右眼中心點A1和B1、左眼左頂點A2和右眼右頂點B2;其中C點分別與直線A1B1和EF垂直相交于D點和G點。此外,通常還包括人臉其他部位的特征點,如額頭區(qū)域、下巴區(qū)域、左右臉頰、臉部外圍環(huán)線區(qū)域等。
另外,對人臉的特征點進行標注時,還可以對人種、年齡和人臉旋轉(zhuǎn)角度進行標注,以得到盡可能多的人臉屬性特征。當然,還可以根據(jù)評分軟件對這些圖像中的五官進行評分標注。
隨后,在步驟S220中,將上述標注有人臉特征點的訓練圖像集合輸入卷積神經(jīng)網(wǎng)絡進行人臉特征點的訓練,得到人臉特征點的卷積神經(jīng)網(wǎng)絡模型。其中,卷積神經(jīng)網(wǎng)絡包括重復疊加的卷積層、ReLU層、下采樣層,并在最后疊加全連接層得到多個輸出分支;其中每個輸出分支對應人臉一個屬性特征,并在模型訓練中回傳對應屬性的誤差值。具體地,可以包括:輸入→卷積層C1→下采樣層P1→卷積層C2→下采樣層P2→全連接層F1→全連接層F2→輸出,其中,輸入的時所述訓練圖像集合的尺寸,輸出為所述訓練圖像的人臉特征點、年齡、人種等屬性特征的初始結(jié)果。
隨后,在步驟S230中,將待處理的自拍圖像輸入到人臉特征點的卷積神經(jīng)網(wǎng)絡模型中進行預測,得到該自拍圖像的人臉特征點。
其中,在這一步之前,還可以先對所述待處理的自拍圖像進行人臉檢測,得到人臉區(qū)域,并對該人臉區(qū)域進行適當?shù)牟眉襞c縮放處理。
隨后,在步驟S240中,根據(jù)自拍圖像的人臉特征點獲取左右臉的同類距離參數(shù)。其中左右臉的同類距離參數(shù)至少包括以下五組距離參數(shù)中的任意一組:
ⅰ、A1點與D點之間的距離A1D和B1點與D點之間的距離B1D;
ⅱ、A2點與D點之間的距離A2D和B2點與D點之間的距離B2D;
ⅲ、E點與G點之間的距離EG和F點與G點之間的距離FG;
ⅳ、C點到A1點與到E點的距離之和A1C+CE、以及C點到B1點與到F點的距離之和B1C+CF;
ⅴ、C點到A2點與到E點的距離之和A2C+CE、以及C點到B2點與到F點的距離之和B2C+CF。
隨后,在步驟S250中,判斷所述左臉的同類距離參數(shù)是否大于右臉的同類距離參數(shù)。如判斷左眼中心點A1與D點之間的距離A1D是否大于右眼中心點B1與D點之間的距離B1D;或判斷左眼左頂點A2與D點之間的距離A2D是否大于右眼右頂點B2與D點之間的距離B2D,其他組的距離參數(shù)也按照同樣方法。
若判斷左臉的距離參數(shù)大于右臉的距離參數(shù),則在步驟S260按原樣保存自拍圖像,否則在步驟S270進行鏡像保存。具體地,拍照回調(diào)函數(shù)在接收拍照采樣的數(shù)據(jù)后通常通過字節(jié)數(shù)組的形式返回自拍圖像,在進行鏡像保存時將該圖像按照翻轉(zhuǎn)Y軸的方式進行矩陣變換,并將翻轉(zhuǎn)后的自拍圖像進行存儲。
另外,在某些情況下,用戶希望將有一定傾斜角度的自拍圖像設置為水平正面,此時,本發(fā)明還可以根據(jù)自拍圖像的人臉特征點參數(shù),計算自拍圖像進行平面旋轉(zhuǎn)的變換矩陣,并根據(jù)該變換矩陣將所述自拍圖像旋轉(zhuǎn)為水平正面圖像。例如,可以計算出直線CD與經(jīng)過D點的豎直線的夾角,從而將自拍圖像旋轉(zhuǎn)該角度為水平正面圖像,但方法并不局限于此。
根據(jù)一個實施例,還可以將已標注過人臉旋轉(zhuǎn)角度的訓練圖像集合輸入卷積神經(jīng)網(wǎng)絡進行訓練,輸出預設的人臉旋轉(zhuǎn)角度的區(qū)間范圍所對應的人臉姿態(tài)類型,得到人臉旋轉(zhuǎn)角度的卷積神經(jīng)網(wǎng)絡模型。其中,人臉旋轉(zhuǎn)角度的區(qū)間范圍,是指根據(jù)人臉旋轉(zhuǎn)角度將人臉的正面和側(cè)面進行平均分割為兩個或兩個以上的區(qū)間范圍,每個人臉旋轉(zhuǎn)角度的區(qū)間范圍對應一種人臉姿態(tài)類型。例如,可以將人臉旋轉(zhuǎn)角度分割以下5個區(qū)間范圍:[-180°,-120°],[-120°,-60°],[-60°,+60°],[+60°,+120°],[+120°,+180°]。其中,輸出預設的人臉旋轉(zhuǎn)角度的區(qū)間范圍的計算公式為:
其中,其中m表示分割的角度區(qū)間數(shù)目,i表示第i個區(qū)間,σi(Z)表示輸出結(jié)果在第i個區(qū)間的概率,Z表示神經(jīng)網(wǎng)絡的輸出。
此外,因為人臉旋轉(zhuǎn)角度的影響,有可能導致對人臉特征點的標注不太準確。此時就可以根據(jù)上述人臉旋轉(zhuǎn)角度的卷積神經(jīng)網(wǎng)絡模型以及已標注的人臉特征點對所述訓練圖像集合的人臉特征點坐標進行回歸訓練,回歸計算公式為:
其中,N表示所要輸出的人臉特征點的個數(shù),x1i表示卷積神經(jīng)網(wǎng)絡輸出的人臉特征點的坐標,x2i表示人工標注的人臉特征點的坐標,D表示卷積神經(jīng)網(wǎng)絡輸出的人臉特征點的坐標與人工標注的人臉特征點的坐標的誤差值。通過回歸訓練盡可能的降低兩個坐標之間的誤差值,即可有效保證人臉特征點的準確定位。
根據(jù)一個實施例,如果檢測到待處理的自拍圖像中存在多張人臉,則可以根據(jù)人臉區(qū)域面積最大的那張人臉作為圖像保存的判斷依據(jù)。具體地,首先獲取每張人臉的最左端和最右端特征點、最上端和最下端特征點的數(shù)值,其中最左端和最右端的數(shù)值可以取其橫坐標值xleft和xright,最上端和最下端的數(shù)值可以取其縱坐標值ytop和ybottom,然后根據(jù)以下公式計算人臉區(qū)域面積size:
size=|(xright-xleft)*(ybottom-ytop)|
也就是,在所有特征點中的數(shù)值中,將其中橫向數(shù)值中的最大值減去最小值,縱向數(shù)值中的最大值也減去最小值,然后將兩個差值相乘即得到每張人臉所占的區(qū)域面積。
之后,根據(jù)計算得到的區(qū)域面積值確定自拍圖像中區(qū)域面積最大的一張人臉,并計算其左右臉的同類距離參數(shù)。最后,根據(jù)計算得到的同類距離參數(shù)對自拍圖像進行鏡像保存或原樣處理,即左臉參數(shù)大于右臉則原樣保存,否則鏡像保存。
另外,如果檢測到待處理的自拍圖像中存在多張人臉,則還可以將所有的人臉的同類距離參數(shù)的數(shù)值總和作為判斷依據(jù)。具體地,根據(jù)每張人臉的特征點分別計算其左右臉的同類距離參數(shù);將所有人臉的左右臉的同類距離參數(shù)求和;判斷左臉的同類距離參數(shù)總和是否大于右臉的同類距離參數(shù)總和;若是則按原樣保存所述自拍圖像,否則進行鏡像保存。
根據(jù)一個實施例,還可以分別從五官、皮膚和圖像質(zhì)量等局部特征來訓練構建人臉評分的卷積神經(jīng)網(wǎng)絡模型。這樣,就可以更智能地根據(jù)自拍照片中左右臉的評分情況調(diào)整保存方式。如果顯示左臉狀態(tài)的評分高則原樣保存,若顯示右臉狀態(tài)的評分高則鏡像保存。
圖3示出了根據(jù)本發(fā)明的一個實施例的自拍圖像的優(yōu)化裝置300,適于駐留在拍攝終端中,該裝置包括圖像訓練模塊310、模型訓練模塊320、特征點計算模塊330、距離計算模塊340和圖像保存模塊350。
圖像訓練模塊310采集多張人臉圖像并對人臉特征點進行標注,形成訓練圖像集合。其中,人臉特征點包括鼻子頂點C、嘴唇的左右頂點E和F,以及以下任意一組的眼睛特征點:左右眼中心點A1和B1、左眼左頂點A2和右眼右頂點B2;其中C點分別與直線A1B1和EF垂直相交于D點和G點。此外,圖像訓練模塊210還可以在采集到的多張人臉圖像中對人種、年齡、人臉旋轉(zhuǎn)角度進行標注,形成更豐富的訓練圖像集合。
模型訓練模塊320將已標注有人臉特征點的訓練圖像集合輸入卷積神經(jīng)網(wǎng)絡進行人臉特征點的訓練,得到人臉特征點的卷積神經(jīng)網(wǎng)絡模型。其中,卷積神經(jīng)網(wǎng)絡絡包括重復疊加的卷積層、ReLU層、下采樣層,并在最后疊加全連接層得到多個輸出分支;其中每個輸出分支對應人臉一個屬性特征,并在模型訓練中回傳對應屬性的誤差值。具體地,可以包括:輸入→卷積層C1→下采樣層P1→卷積層C2→下采樣層P2→全連接層F1→全連接層F2→輸出。
根據(jù)一個實施例,模型訓練模塊320還可以將已標注有人臉旋轉(zhuǎn)角度的訓練圖像集合輸入卷積神經(jīng)網(wǎng)絡進行訓練,輸出預設的人臉旋轉(zhuǎn)角度的區(qū)間范圍所對應的人臉姿態(tài)類型,得到人臉旋轉(zhuǎn)角度的卷積神經(jīng)網(wǎng)絡模型。計算所述輸出預設的人臉旋轉(zhuǎn)角度的區(qū)間范圍的公式為:
其中,其中m表示分割的角度區(qū)間數(shù)目,i表示第i個區(qū)間,σi(Z)表示輸出結(jié)果在第i個區(qū)間的概率,Z表示神經(jīng)網(wǎng)絡的輸出。
根據(jù)一個實施例,模型訓練模塊320還可以根據(jù)人臉旋轉(zhuǎn)角度的卷積神經(jīng)網(wǎng)絡模型以及所述標注的人臉關鍵點對所述訓練圖像集合的人臉特征點坐標進行回歸訓練,回歸計算公式為:
其中,N表示所要輸出的人臉特征點的個數(shù),x1i表示卷積神經(jīng)網(wǎng)絡輸出的人臉特征點的坐標,x2i表示人工標注的人臉特征點的坐標,D表示卷積神經(jīng)網(wǎng)絡輸出的人臉特征點的坐標與人工標注的人臉特征點的坐標的誤差值。
特征點計算模塊330將待處理的自拍圖像輸入到所述人臉特征點的卷積神經(jīng)網(wǎng)絡模型中進行預測,得到該自拍圖像的人臉特征點。
距離計算模塊340根據(jù)所述自拍圖像的人臉特征點獲取左右臉的同類距離參數(shù)。其中,距離參數(shù)至少包括以下五組距離參數(shù)中的任意一組:ⅰ、A1點與D點之間的距離A1D和B1點與D點之間的距離B1D;ⅱ、A2點與D點之間的距離A2D和B2點與D點之間的距離B2D;ⅲ、E點與G點之間的距離EG和F點與G點之間的距離FG;ⅳ、C點到A1點與到E點的距離之和A1C+CE、以及C點到B1點與到F點的距離之和B1C+CF;ⅴ、C點到A2點與到E點的距離之和A2C+CE、以及C點到B2點與到F點的距離之和B2C+CF。
圖像保存模塊350判斷所述左臉的同類距離參數(shù)是否大于右臉的同類距離參數(shù);若是則按原樣保存上述自拍照片,否則進行鏡像保存。
根據(jù)一個實施例,本發(fā)明的自拍圖像的優(yōu)化裝置300還可以包括人臉檢測模塊,對待處理的自拍圖像進行人臉檢測,得到人臉區(qū)域,并對該人臉區(qū)域進行適當?shù)夭眉艏翱s放處理。
根據(jù)另一個實施例,還可以包括圖像旋轉(zhuǎn)模塊,根據(jù)所述自拍圖像的人臉特征點參數(shù),計算所述自拍圖像進行平面旋轉(zhuǎn)的變換矩陣,并根據(jù)該變換矩陣將所述自拍圖像旋轉(zhuǎn)為水平正面圖像。
另外,裝置300中的人臉檢測模塊還適于檢測所述待處理的自拍圖像是否存在多張人臉;特征點計算模塊還適于在所述人臉檢測模塊檢測到多張人臉時,分別獲取每個人臉的最左端和最右端特征點的橫坐標xleft和xright,以及最上端和最下端特征點的縱坐標ytop和ybottom;距離計算模塊還適于根據(jù)所述坐標值計算每張人臉的區(qū)域面積size=|(xright-xleft)*(ybottom-ytop)|,并確定所述自拍圖像中區(qū)域面積最大的一張人臉,以及計算其左右臉的同類距離參數(shù);圖像保存模塊還適于根據(jù)所述計算得到的同類距離參數(shù)對自拍圖像進行鏡像保存或原樣處理。
根據(jù)另一個實施例,在本發(fā)明的自拍圖像的優(yōu)化裝置300中,距離計算模塊還適于在所述人臉檢測模塊檢測到多張人臉時,根據(jù)每張人臉的特征點分別計算其左右臉的同類距離參數(shù),并將所有人臉的左右臉的同類距離參數(shù)求和;圖像保存模塊還適于判斷左臉的同類距離參數(shù)總和是否大于右臉的同類距離參數(shù)總和;若是則按原樣保存所述自拍圖像,否則進行鏡像保存。
根據(jù)本發(fā)明的自拍圖像的優(yōu)化裝置300,其具體細節(jié)已在基于圖1和圖2的描述中詳細公開,在此不再贅述。
根據(jù)本發(fā)明的技術方案,利用人臉檢測和五官定位的技術判斷當前自拍圖像的角度是屬于左邊臉還是右邊臉:如果是左邊臉的話,則保持原來的方向并進行保存;如果是右邊臉的話,則對當前圖像進行左右鏡像得到左邊臉的圖像進行保存,從而使得所有保存的自拍圖像都是左邊臉的角度,提高用戶的照片形象。其中,五官定位的技術通過訓練圖像集合構建人臉特征點的卷積神經(jīng)網(wǎng)絡模型,并加入了人臉旋轉(zhuǎn)角度的校正因素,從而能夠準確定位人臉的特征點。這種方法精度高、魯棒性強,并且訓練所得的模型占用空間也較小,從而實現(xiàn)了在不影響拍攝終端性能的前提下對自拍圖像的優(yōu)化處理。
A9、如A1所述的方法,其中所述卷積神經(jīng)網(wǎng)絡包括重復疊加的卷積層、ReLU層、下采樣層,并在最后疊加全連接層得到多個輸出分支;其中每個輸出分支對應人臉一個屬性特征,并在模型訓練中回傳對應屬性的誤差值。
A10、如A4所述的方法,還包括:如果檢測到待處理的自拍圖像中存在多張人臉,則根據(jù)以下方式對圖像進行處理:分別獲取每個人臉的最左端和最右端特征點的橫坐標xleft和xright,以及最上端和最下端特征點的縱坐標ytop和ybottom;根據(jù)所述坐標值計算每張人臉的區(qū)域面積size=|(xright-xleft)*(ybottom-ytop)|;確定所述自拍圖像中區(qū)域面積最大的一張人臉,并計算其左右臉的同類距離參數(shù);根據(jù)所述計算得到的同類距離參數(shù)對自拍圖像進行鏡像保存或原樣處理。
A11、如A4所述的方法,還包括:如果檢測到待處理的自拍圖像中存在多張人臉,則根據(jù)以下方式對圖像進行處理:根據(jù)每張人臉的特征點分別計算其左右臉的同類距離參數(shù);將所有人臉的左右臉的同類距離參數(shù)求和;判斷所述左臉的同類距離參數(shù)總和是否大于右臉的同類距離參數(shù)總和;若是則按原樣保存所述自拍圖像,否則進行鏡像保存。
B13、如B12所述的裝置,其中所述人臉特征點包括鼻子頂點C、嘴唇的左右頂點E和F,以及以下任意一組的眼睛特征點:左右眼中心點A1和B1、左眼左頂點A2和右眼右頂點B2;其中所述C點分別與直線A1B1和EF垂直相交于D點和G點。
B14、如B13所述的裝置,其中所述左右臉的同類距離參數(shù)包括以下五組距離參數(shù)中的任意一組:
ⅰ、A1點與D點之間的距離A1D和B1點與D點之間的距離B1D;
ⅱ、A2點與D點之間的距離A2D和B2點與D點之間的距離B2D;
ⅲ、E點與G點之間的距離EG和F點與G點之間的距離FG;
ⅳ、C點到A1點與到E點的距離之和A1C+CE、以及C點到B1點與到F點的距離之和B1C+CF;
ⅴ、C點到A2點與到E點的距離之和A2C+CE、以及C點到B2點與到F點的距離之和B2C+CF。
B15、如B12所述的裝置,還包括:人臉檢測模塊,適于對所述待處理的自拍圖像進行人臉檢測,得到人臉區(qū)域,并對該人臉區(qū)域進行裁剪及縮放處理。
B16、如B12所述的裝置,還包括:圖像旋轉(zhuǎn)模塊,根據(jù)所述自拍圖像的人臉特征點參數(shù),計算所述自拍圖像進行平面旋轉(zhuǎn)的變換矩陣,并根據(jù)該變換矩陣將所述自拍圖像旋轉(zhuǎn)為水平正面圖像。
B17、如B12所述的裝置,其中,所述圖像訓練模塊還適于在采集到的多張人臉圖像中對人種、年齡、人臉旋轉(zhuǎn)角度進行標注,形成訓練圖像集合;所述模型訓練模塊還適于將所述標注有人臉旋轉(zhuǎn)角度的訓練圖像集合輸入卷積神經(jīng)網(wǎng)絡進行訓練,輸出預設的人臉旋轉(zhuǎn)角度的區(qū)間范圍所對應的人臉姿態(tài)類型,得到人臉旋轉(zhuǎn)角度的卷積神經(jīng)網(wǎng)絡模型。
B18、如B17所述的裝置,其中計算所述輸出預設的人臉旋轉(zhuǎn)角度的區(qū)間范圍的公式為:
其中,其中m表示分割的角度區(qū)間數(shù)目,i表示第i個區(qū)間,σi(Z)表示輸出結(jié)果在第i個區(qū)間的概率,Z表示神經(jīng)網(wǎng)絡的輸出。
B19、如B17所述的裝置,其中所述模型訓練模塊還適于根據(jù)所述人臉旋轉(zhuǎn)角度的卷積神經(jīng)網(wǎng)絡模型以及所述標注的人臉關鍵點對所述訓練圖像集合的人臉特征點坐標進行回歸訓練,回歸計算公式為:
其中,N表示所要輸出的人臉特征點的個數(shù),x1i表示卷積神經(jīng)網(wǎng)絡輸出的人臉特征點的坐標,x2i表示人工標注的人臉特征點的坐標,D表示卷積神經(jīng)網(wǎng)絡輸出的人臉特征點的坐標與人工標注的人臉特征點的坐標的誤差值。
B20、如B12所述的裝置,其中所述卷積神經(jīng)網(wǎng)絡包括重復疊加的卷積層、ReLU層、下采樣層,并在最后疊加全連接層得到多個輸出分支;其中每個輸出分支對應人臉一個屬性特征,并在模型訓練中回傳對應屬性的誤差值。
B21、如B15所述的裝置,其中,所述人臉檢測模塊還適于檢測所述待處理的自拍圖像是否存在多張人臉;所述特征點計算模塊還適于在所述人臉檢測模塊檢測到多張人臉時,分別獲取每個人臉的最左端和最右端特征點的橫坐標xleft和xright,以及最上端和最下端特征點的縱坐標ytop和ybottom;所述距離計算模塊還適于根據(jù)所述坐標值計算每張人臉的區(qū)域面積size=|(xright-xleft)*(ybottom-ytop)|,并確定所述自拍圖像中區(qū)域面積最大的一張人臉,以及計算其左右臉的同類距離參數(shù);所述圖像保存模塊還適于根據(jù)所述計算得到的同類距離參數(shù)對自拍圖像進行鏡像保存或原樣處理。
B22、如B21所述的裝置,其中,所述距離計算模塊還適于在所述人臉檢測模塊檢測到多張人臉時,根據(jù)每張人臉的特征點分別計算其左右臉的同類距離參數(shù),并將所有人臉的左右臉的同類距離參數(shù)求和;所述圖像保存模塊還適于判斷所述左臉的同類距離參數(shù)總和是否大于右臉的同類距離參數(shù)總和;若是則按原樣保存所述自拍圖像,否則進行鏡像保存。
在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下被實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多特征。更確切地說,如下面的權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發(fā)明的單獨實施例。
本領域那些技術人員應當理解在本文所公開的示例中的設備的模塊或單元或組件可以布置在如該實施例中所描述的設備中,或者可替換地可以定位在與該示例中的設備不同的一個或多個設備中。前述示例中的模塊可以組合為一個模塊或者此外可以分成多個子模塊。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
此外,所述實施例中的一些在此被描述成可以由計算機系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實施的方法或方法元素的組合。因此,具有用于實施所述方法或方法元素的必要指令的處理器形成用于實施該方法或方法元素的裝置。此外,裝置實施例的在此所述的元素是如下裝置的例子:該裝置用于實施由為了實施該發(fā)明的目的的元素所執(zhí)行的功能。
如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞“第一”、“第二”、“第三”等等來描述普通對象僅僅表示涉及類似對象的不同實例,并且并不意圖暗示這樣被描述的對象必須具有時間上、空間上、排序方面或者以任意其它方式的給定順序。
盡管根據(jù)有限數(shù)量的實施例描述了本發(fā)明,但是受益于上面的描述,本技術領域內(nèi)的技術人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設想其它實施例。此外,應當注意,本說明書中使用的語言主要是為了可讀性和教導的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權利要求書的范圍和精神的情況下,對于本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。對于本發(fā)明的范圍,對本發(fā)明所做的公開是說明性的,而非限制性的,本發(fā)明的范圍由所附權利要求書限定。