本公開涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種人臉定位方法及裝置。
背景技術(shù):
隨著圖像處理技術(shù)的快速發(fā)展,終端可以通過獲取人臉圖像來進行人臉定位。其中,人臉定位是指定位人的臉部器官在人臉圖像中的實際位置,該臉部器官包括但不限于眉毛、眼睛、鼻子、嘴巴和臉部外輪廓等。由于在人臉圖像中,一般是利用多個關(guān)鍵點描述各個臉部器官,因此,在人臉定位過程中,需要定位人臉圖像中的多個關(guān)鍵點,以實現(xiàn)人臉定位。
在傳統(tǒng)的人臉定位過程中,通常需要人工操作來定位該多個關(guān)鍵點,也即是,需要人工在人臉圖像中標記出該多個關(guān)鍵點,以實現(xiàn)人臉定位。
技術(shù)實現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本公開提供一種人臉定位方法及裝置。
第一方面,提供了一種人臉定位方法,所述方法包括:
獲取待定位的人臉圖像,并按照預(yù)設(shè)尺寸大小對所述人臉圖像進行縮放處理,得到第一預(yù)處理人臉圖像;
基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定所述第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置;
基于所述多個關(guān)鍵點的初始位置,通過指定神經(jīng)網(wǎng)絡(luò)模型,確定所述多個關(guān)鍵點在所述人臉圖像中的實際位置,以實現(xiàn)人臉定位。
可選地,所述基于所述多個關(guān)鍵點的初始位置,通過指定神經(jīng)網(wǎng)絡(luò)模型,確定所述多個關(guān)鍵點在所述人臉圖像中的實際位置,包括:
基于所述多個關(guān)鍵點的初始位置,通過所述指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量,各個偏差量是指各個關(guān)鍵點的初始位置與所述初始位置對應(yīng)的真實位置之間的偏差量;
分別將各個關(guān)鍵點的初始位置與對應(yīng)的各個偏差量之和,重新確定為各個關(guān)鍵點的初始位置;
統(tǒng)計重新確定次數(shù),并返回至所述基于所述多個關(guān)鍵點的初始位置,通過所述指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量的步驟,所述重新確定次數(shù)是指分別將各個關(guān)鍵點的初始位置與對應(yīng)的各個偏差量之和重新確定為各個關(guān)鍵點的初始位置的次數(shù);
當(dāng)所述重新確定次數(shù)達到N次時,將經(jīng)過N次重新確定后的各個關(guān)鍵點的初始位置確定為所述各個關(guān)鍵點在所述人臉圖像中的實際位置,其中,所述N大于或等于1。
可選地,所述基于所述多個關(guān)鍵點的初始位置,通過所述指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量,包括:
對于所述多個關(guān)鍵點中的每個關(guān)鍵點,確定以所述關(guān)鍵點的初始位置為中心的預(yù)設(shè)尺寸窗口內(nèi),所有像素點中每個像素點的梯度,并根據(jù)所確定的梯度,確定所述關(guān)鍵點的尺度不變特征變換SIFT特征向量;
將所述多個關(guān)鍵點的SIFT特征向量依次進行串聯(lián),得到串聯(lián)特征向量;
基于所述串聯(lián)特征向量,通過所述指定神經(jīng)網(wǎng)絡(luò)模型,確定所述多個偏差量。
可選地,所述基于所述串聯(lián)特征向量,通過所述指定神經(jīng)網(wǎng)絡(luò)模型,確定所述多個偏差量,包括:
將所述串聯(lián)特征向量輸入至所述指定神經(jīng)網(wǎng)絡(luò)模型中,通過所述指定神經(jīng)網(wǎng)絡(luò)模型回歸確定所述多個偏差量。
可選地,所述方法還包括:
對所述第一預(yù)處理人臉圖像進行歸一化處理,得到第二預(yù)處理人臉圖像;
相應(yīng)地,所述基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定所述第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置,包括:
基于所述指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定所述第二預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置。
第二方面,提供了一種人臉定位裝置,所述裝置包括:
獲取模塊,用于獲取待定位的人臉圖像,并按照預(yù)設(shè)尺寸大小對所述人臉圖像進行縮放處理,得到第一預(yù)處理人臉圖像;
第一確定模塊,用于基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定所述第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置;
第二確定模塊,用于基于所述第二確定模塊確定的所述多個關(guān)鍵點的初始位置,通過指定神經(jīng)網(wǎng)絡(luò)模型,確定所述多個關(guān)鍵點在所述人臉圖像中的實際位置,以實現(xiàn)人臉定位。
可選地,所述第二確定模塊包括:
第一確定子模塊,用于基于所述多個關(guān)鍵點的初始位置,通過所述指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量,各個偏差量是指各個關(guān)鍵點的初始位置與所述初始位置對應(yīng)的真實位置之間的偏差量;
第二確定子模塊,用于分別將各個關(guān)鍵點的初始位置與對應(yīng)的各個偏差量之和,重新確定為各個關(guān)鍵點的初始位置;
統(tǒng)計子模塊,用于統(tǒng)計重新確定次數(shù),并返回至所述基于所述多個關(guān)鍵點的初始位置,通過所述指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量的步驟,所述重新確定次數(shù)是指分別將各個關(guān)鍵點的初始位置與對應(yīng)的各個偏差量之和重新確定為各個關(guān)鍵點的初始位置的次數(shù);
第三確定子模塊,用于當(dāng)所述重新確定次數(shù)達到N次時,將經(jīng)過N次重新確定后的各個關(guān)鍵點的初始位置確定為所述各個關(guān)鍵點在所述人臉圖像中的實際位置,其中,所述N大于或等于1。
可選地,所述第一確定子模塊用于:
對于所述多個關(guān)鍵點中的每個關(guān)鍵點,確定以所述關(guān)鍵點的初始位置為中心的預(yù)設(shè)尺寸窗口內(nèi),所有像素點中每個像素點的梯度,并根據(jù)所確定的梯度,確定所述關(guān)鍵點的尺度不變特征變換SIFT特征向量;
將所述多個關(guān)鍵點的SIFT特征向量依次進行串聯(lián),得到串聯(lián)特征向量;
基于所述串聯(lián)特征向量,通過所述指定神經(jīng)網(wǎng)絡(luò)模型,確定所述多個偏差量。
可選地,所述第一確定子模塊用于:
將所述串聯(lián)特征向量輸入至所述指定神經(jīng)網(wǎng)絡(luò)模型中,通過所述指定神經(jīng)網(wǎng)絡(luò)模型回歸確定所述多個偏差量。
可選地,所述裝置還包括:
歸一化處理模塊,用于對所述第一預(yù)處理人臉圖像進行歸一化處理,得到第二預(yù)處理人臉圖像;
相應(yīng)地,所述第一確定模塊用于:
基于所述指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定所述第二預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置。
第三方面,提供了一種人臉定位裝置,所述裝置包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
獲取待定位的人臉圖像,并按照預(yù)設(shè)尺寸大小對所述人臉圖像進行縮放處理,得到第一預(yù)處理人臉圖像;
基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定所述第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置;
基于所述多個關(guān)鍵點的初始位置,通過指定神經(jīng)網(wǎng)絡(luò)模型,確定所述多個關(guān)鍵點在所述人臉圖像中的實際位置,以實現(xiàn)人臉定位。
本公開的實施例提供的技術(shù)方案可以包括以下有益效果:獲取待定位的人臉圖像,為了便于后續(xù)處理,按照預(yù)設(shè)尺寸大小對獲取的人臉圖像進行縮放處理,得到該第一預(yù)處理人臉圖像,之后,基于指定CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置,如此,可以減小多個關(guān)鍵點的初始位置與實際位置之間的差值,從而提高人臉定位的準確性。在通過指定CNN模型確定該多個關(guān)鍵點的初始位置后,根據(jù)所確定的初始位置,再通過指定神經(jīng)網(wǎng)絡(luò)模型,即可確定該多個關(guān)鍵點在人臉圖像中的實際位置,如此,避免需要人工手動操作,提高了人臉定位的效率。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。
圖1是根據(jù)一示例性實施例示出的一種人臉定位方法的流程圖。
圖2是根據(jù)另一示例性實施例示出的一種人臉定位方法的流程圖。
圖3A是根據(jù)一示例性實施例示出的一種人臉定位裝置的框圖。
圖3B是根據(jù)另一示例性實施例示出的一種人臉定位裝置的框圖。
圖4是根據(jù)一示例性實施例示出的一種人臉定位裝置400的框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
在對本公開實施例進行詳細地解釋說明之前,先對本公開實施例的應(yīng)用場景予以說明。本公開實施例所提供的人臉定位方法可以由終端來執(zhí)行,該終端可以為諸如平板電腦、計算機等之類的設(shè)備,本公開實施例對此不做限定。其中,該終端具有圖像處理等功能,以實現(xiàn)下述圖1或圖2實施例所涉及的人臉定位方法。
圖1是根據(jù)一示例性實施例示出的一種人臉定位方法的流程圖,如圖1所述,該人臉定位方法用于終端中,可以包括以下幾個步驟。
在步驟101中,獲取待定位的人臉圖像,并按照預(yù)設(shè)尺寸大小對該人臉圖像進行縮放處理,得到第一預(yù)處理人臉圖像。
在步驟102中,基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置。
在步驟103中,基于該多個關(guān)鍵點的初始位置,通過指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個關(guān)鍵點在該人臉圖像中的實際位置,以實現(xiàn)人臉定位。
在本公開實施例中,獲取待定位的人臉圖像,為了便于后續(xù)處理,按照預(yù)設(shè)尺寸大小對獲取的人臉圖像進行縮放處理,得到該第一預(yù)處理人臉圖像,之后,基于指定CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置,如此,可以減小多個關(guān)鍵點的初始位置與實際位置之間的差值,從而提高人臉定位的準確性。在通過指定CNN模型確定該多個關(guān)鍵點的初始位置后,根據(jù)所確定的初始位置,再通過指定神經(jīng)網(wǎng)絡(luò)模型,即可確定該多個關(guān)鍵點在人臉圖像中的實際位置,如此,避免需要人工手動操作,提高了人臉定位的效率。
在另一實施例中,基于該多個關(guān)鍵點的初始位置,通過指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個關(guān)鍵點在該人臉圖像中的實際位置,包括:
基于該多個關(guān)鍵點的初始位置,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量,各個偏差量是指各個關(guān)鍵點的初始位置與該初始位置對應(yīng)的真實位置之間的偏差量;
分別將各個關(guān)鍵點的初始位置與對應(yīng)的各個偏差量之和,重新確定為各個關(guān)鍵點的初始位置;
統(tǒng)計重新確定次數(shù),并返回至該基于該多個關(guān)鍵點的初始位置,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量的步驟,該重新確定次數(shù)是指分別將各個關(guān)鍵點的初始位置與對應(yīng)的各個偏差量之和重新確定為各個關(guān)鍵點的初始位置的次數(shù);
當(dāng)該重新確定次數(shù)達到N次時,將經(jīng)過N次重新確定后的各個關(guān)鍵點的初始位置確定為該各個關(guān)鍵點在該人臉圖像中的實際位置,其中,該N大于或等于1。
上述通過多次迭代方式來確定該多個關(guān)鍵點的實際位置,增加了定位的準確性。
在另一實施例中,基于該多個關(guān)鍵點的初始位置,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量,包括:
對于該多個關(guān)鍵點中的每個關(guān)鍵點,確定以該關(guān)鍵點的初始位置為中心的預(yù)設(shè)尺寸窗口內(nèi),所有像素點中每個像素點的梯度,并根據(jù)所確定的梯度,確定該關(guān)鍵點的尺度不變特征變換SIFT特征向量;
將該多個關(guān)鍵點的SIFT特征向量依次進行串聯(lián),得到串聯(lián)特征向量;
基于該串聯(lián)特征向量,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個偏差量。
上述通過確定該多個關(guān)鍵點中每個關(guān)鍵點的SIFT特征向量,將該多個關(guān)鍵點的SIFT特征向量依次進行串聯(lián),得到串聯(lián)特征向量,并基于該串聯(lián)特征向量,通過該指定神經(jīng)網(wǎng)絡(luò)模型,即可以確定該多個偏差量。
在另一實施例中,基于該串聯(lián)特征向量,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個偏差量,包括:
將該串聯(lián)特征向量輸入至該指定神經(jīng)網(wǎng)絡(luò)模型中,通過該指定神經(jīng)網(wǎng)絡(luò)模型回歸確定該多個偏差量。
上述將串聯(lián)得到的串聯(lián)特征向量輸入至指定神經(jīng)網(wǎng)絡(luò)模型中,通過該指定神經(jīng)網(wǎng)絡(luò)模型回歸確定該多個偏差量,由于通過諸如多層神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到的指定神經(jīng)網(wǎng)絡(luò)模型能夠擬合任意的非線性函數(shù),比傳統(tǒng)采用的線性回歸更精準地得到結(jié)果,具有較好的表達能力和建模能力,如此,可以進一步地提高定位的準確性,另外,該指定神經(jīng)網(wǎng)絡(luò)還對部分遮擋區(qū)域的處理具有較好的魯棒性。
在另一實施例中,該方法還包括:
對該第一預(yù)處理人臉圖像進行歸一化處理,得到第二預(yù)處理人臉圖像;
相應(yīng)地,該基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置,包括:
基于該指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第二預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置。
上述在基于指定CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置之前,還將該第二預(yù)處理人臉圖像進行歸一化處理,簡化了指定CNN模型確定多個關(guān)鍵點的初始位置的處理流程,提高了處理效率。
上述所有可選技術(shù)方案,均可按照任意結(jié)合形成本公開的可選實施例,本公開實施例對此不再一一贅述。
圖2是根據(jù)一示例性實施例示出的一種人臉定位方法的流程圖,如圖2所示,該人臉定位方法用于終端中,可以包括以下幾個步驟:
在步驟201中,獲取待定位的人臉圖像,并按照預(yù)設(shè)尺寸大小對該人臉圖像進行縮放處理,得到第一預(yù)處理人臉圖像。
在實際生活中,通常需要對人臉進行定位,以便對人臉進行識別等。隨著電子設(shè)備的快速發(fā)展,可以通過終端進行人臉定位,在該過程中,終端獲取待定位的人臉圖像,其中,在一種可能的實現(xiàn)方式中,終端可以通過拍攝方式來獲取待定位的人臉圖像。
在獲取人臉圖像后,由于在后續(xù)步驟202中基于指定CNN(Convolutional Neural Networks,卷積神經(jīng)網(wǎng)絡(luò))模型,確定該人臉圖像中的多個關(guān)鍵點的初始位置時,需要保證該人臉圖像的尺寸大小為固定尺寸大小,而獲取的人臉圖像可能為不同尺寸規(guī)格的圖像,因此,在獲取到待定位的人臉圖像后,終端還需要按照預(yù)設(shè)尺寸大小對該人臉圖像進行縮放處理,以將獲取的不同尺寸規(guī)格的人臉圖像處理成統(tǒng)一尺寸的第一預(yù)處理人臉圖像。
其中,該預(yù)設(shè)尺寸大小可以由用戶根據(jù)實際需求自定義設(shè)置,也可以由終端默認設(shè)置,本公開實施例對此不做限定。
例如,在一種可能的實現(xiàn)方式中,可以將待定位的人臉圖像縮放處理為尺寸大小為64*64的第一預(yù)處理人臉圖像。
在步驟202中,基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置。
終端得到上述第一預(yù)處理人臉圖像之后,即可通過指定CNN模型對該第一預(yù)處理人臉圖像進行回歸處理,如此,該終端即可確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置。通常情況下,該初始位置可以用坐標來表示,同理,下文中所涉及的所有位置也均是指坐標。
其中,上述指定CNN模型通常包括輸入層和輸出層,假設(shè)人臉的關(guān)鍵點的個數(shù)為n,在該種情況下,該指定CNN模型的輸入層則為上述第一預(yù)處理人臉圖像,該指定CNN模型的輸出層則是長度為2*n的位置向量,該位置向量用于指示人臉的多個關(guān)鍵點的初始位置,例如,得到的位置向量為p1=(x1,y1,x2,y2,...xn,yn)。其中,x1代表關(guān)鍵點1的初始位置的橫坐標,y1代表關(guān)鍵點1的初始位置的縱坐標,以此類推,該xn代表關(guān)鍵點n的初始位置的橫坐標,yn代表關(guān)鍵點n的初始位置的縱坐標,另外,上述符號“*”代表相乘。
上述基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置,如此,可以減小該多個關(guān)鍵點的初始位置與實際位置之間的差值,避免該多個關(guān)鍵點的初始位置與實際位置之間的差值過大引起的算法陷入局部最小值的問題,提高了定位的準確性。
需要說明的是,上述通過該指定CNN模型對該第一預(yù)處理人臉圖像進行回歸處理過程可以參見相關(guān)技術(shù),本公開實施例對此不做限定。
在一種可能的實現(xiàn)方式中,為了簡化該指定CNN模型對該第一預(yù)處理人臉圖像進行回歸處理的操作,在基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置之前,還可以對該第一預(yù)處理人臉圖像進行進一步地處理。
也即是,在該步驟202之前,終端還可以對該第一預(yù)處理人臉圖像進行如下處理:對該第一預(yù)處理人臉圖像進行歸一化處理,得到第二預(yù)處理人臉圖像。
其中,上述對該第一預(yù)處理人臉圖像進行歸一化處理的實現(xiàn)過程可以包括減均值、除方差等處理過程,也即是,終端可以確定該第一預(yù)處理人臉圖像中所有像素點的平均像素值和像素方差值,并將該第一預(yù)處理人臉圖像中的每個像素點的像素值減去所確定的平均像素值后,除以該像素方差值,使得該第一預(yù)處理人臉圖像中的每個像素點的分布均符合正態(tài)分布。
相應(yīng)地,終端對該第一預(yù)處理人臉圖像進行歸一化處理后,該步驟202的實現(xiàn)過程即包括:基于該指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第二預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置。
其中,上述在對該第一預(yù)處理人臉圖像進行歸一化處理后,再基于該指定CNN模型對處理后的第二預(yù)處理人臉圖像進行回歸處理,簡化了處理流程,提高了處理效率。
其中,上述基于該指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第二預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置的實現(xiàn)原理與上述基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置的實現(xiàn)原理類似,這里不再贅述。
另外,需要說明的是,在上述執(zhí)行過程中,上述指定CNN模型可以預(yù)先通過訓(xùn)練確定得到,在一種可能的實現(xiàn)方法中,確定該指定CNN模型的實現(xiàn)過程可以包括:將多個指定人臉圖像確定為第一訓(xùn)練樣本,其中,該多個指定人臉圖像中的每個指定人臉圖像包括的多個關(guān)鍵點均通過人工手動標記確定,將該第一訓(xùn)練樣本輸入至待訓(xùn)練的CNN模型中進行訓(xùn)練,并經(jīng)過隨機梯度下降處理后,得到該指定CNN模型,其具體實現(xiàn)過程可以參見相關(guān)技術(shù),本公開實施例對此不做限定。
在步驟203中,基于該多個關(guān)鍵點的初始位置,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量,各個偏差量是指各個關(guān)鍵點的初始位置與該初始位置對應(yīng)的真實位置之間的偏差量。
其中,該多個關(guān)鍵點的初始位置與多個偏差量一一對應(yīng)。
其中,基于該多個關(guān)鍵點的初始位置,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量的實現(xiàn)過程可以包括:對于該多個關(guān)鍵點中的每個關(guān)鍵點,確定以該關(guān)鍵點的初始位置為中心的預(yù)設(shè)尺寸窗口內(nèi)所有像素點中每個像素點的梯度,并根據(jù)所確定的梯度,確定該關(guān)鍵點的SIFT特征向量,將該多個關(guān)鍵點的SIFT特征向量依次進行串聯(lián),得到串聯(lián)特征向量,基于該串聯(lián)特征向量,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個偏差量。
其中,該預(yù)設(shè)尺寸窗口可以由用戶根據(jù)實際需求自定義設(shè)置,也可以由終端默認設(shè)置,本公開實施例對此不做限定。
另外,各個關(guān)鍵點的SIFT特征向量的維數(shù)也可以由用戶根據(jù)實際需求自定義設(shè)置,也可以由該終端默認設(shè)置,本公開實施例對此不做限定。
例如,在一種可能的實現(xiàn)方式中,該SIFT特征向量可以為128維,在該種情況下,將該多個關(guān)鍵點的SIFT特征向量串聯(lián)處理后,得到的串聯(lián)特征向量的維度即為128*n。
其中,上述對于該多個關(guān)鍵點中的每個關(guān)鍵點,確定以該關(guān)鍵點的初始位置為中心的預(yù)設(shè)尺寸窗口內(nèi)所有像素點中每個像素點的梯度的實現(xiàn)過程可以參見相關(guān)技術(shù),本公開實施例對此不做限定。
另外,上述根據(jù)所確定的梯度,確定該關(guān)鍵點的SIFT特征向量的具體實現(xiàn)過程也可以參見相關(guān)技術(shù),本公開實施例對此也不做限定。
其中,上述基于該串聯(lián)特征向量,通過指定神經(jīng)網(wǎng)絡(luò)模型,確定該各個關(guān)鍵點的初始位置對應(yīng)的偏差量的實現(xiàn)過程可以包括:將該串聯(lián)特征向量輸入至指定神經(jīng)網(wǎng)絡(luò)模型中,通過該指定神經(jīng)網(wǎng)絡(luò)模型回歸確定多個偏差量。
也即是,將該串聯(lián)特征向量輸入至上述指定神經(jīng)網(wǎng)絡(luò)模型,之后,該指定神經(jīng)網(wǎng)絡(luò)模型進行回歸處理,如此,即可確定該多個偏差量。這里以Δp來表示該多個偏差量,例如,該多個偏差量可以為:Δp=(Δp1x,Δp1y,Δp2x,Δp2y,...Δpnx,Δpny),其中,Δp1x代表關(guān)鍵點1的初始位置的橫坐標對應(yīng)的偏差量,Δp1y代表關(guān)鍵點1的初始位置的縱坐標對應(yīng)的偏差量,以此類推。
與上述指定CNN模型類似,該指定神經(jīng)網(wǎng)絡(luò)模型也可以預(yù)先通過訓(xùn)練確定得到,其中,在一種可能的實現(xiàn)方式中,確定該指定神經(jīng)網(wǎng)絡(luò)的實現(xiàn)過程可以包括:將上述串聯(lián)特征向量和通過人工標記確定的多個關(guān)鍵點的實際位置與初始位置之間的偏差量確定為第二訓(xùn)練樣本,并將第二訓(xùn)練樣本輸入至待訓(xùn)練的神經(jīng)網(wǎng)絡(luò)中進行訓(xùn)練,并經(jīng)過隨機梯度下降處理后,得到該指定神經(jīng)網(wǎng)絡(luò)模型,其中,該待訓(xùn)練的神經(jīng)網(wǎng)絡(luò)可以為多層神經(jīng)網(wǎng)絡(luò),也可以為單層神經(jīng)網(wǎng)絡(luò)。
在實際應(yīng)用過程中,由于通過諸如多層神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到的指定神經(jīng)網(wǎng)絡(luò)模型能夠擬合任意的非線性函數(shù),比傳統(tǒng)采用的線性回歸更精準地得到結(jié)果,具有較好的表達能力和建模能力,如此,可以進一步地提高定位的準確性,另外,該指定神經(jīng)網(wǎng)絡(luò)還對部分遮擋區(qū)域的處理具有較好的魯棒性。
在步驟204中,分別將各個關(guān)鍵點的初始位置與對應(yīng)的各個偏差量之和,重新確定為各個關(guān)鍵點的初始位置。
上述在確定各個關(guān)鍵點的初始位置對應(yīng)的偏差量之后,將各個關(guān)鍵點的初始位置與所確定的偏差量相加,即將p1與Δp進行求和,重新得到該多個關(guān)鍵點的初始位置,即終端將該初始位置重新確定為該多個關(guān)鍵點的初始位置。
在步驟205中,統(tǒng)計重新確定次數(shù),并返回至基于該多個關(guān)鍵點的初始位置,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量的步驟,該重新確定次數(shù)是指分別將各個關(guān)鍵點的初始位置與對應(yīng)的各個偏差量之和重新確定為各個關(guān)鍵點的初始位置的次數(shù)。
在步驟206中,當(dāng)重新確定次數(shù)達到N次時,將經(jīng)過N次重新確定后的各個關(guān)鍵點的初始位置確定為該各個關(guān)鍵點在該人臉圖像中的實際位置,其中,該N大于或等于1。
在實際實現(xiàn)過程中,由于通過上述指定神經(jīng)網(wǎng)絡(luò)模型確定的偏差量可能并不是該多個關(guān)鍵點的初始位置與實際位置之間的偏差量,因此,在實際實現(xiàn)時,需要經(jīng)過多次迭代處理后,才能確定該多個關(guān)鍵點在該人臉圖像中的實際位置,即該多個關(guān)鍵點的實際位置pN=pN-1+Δp,其中,N代表迭代的次數(shù)。
其中,該N可以由用戶根據(jù)實際需求自定義設(shè)置,也可以由終端默認設(shè)置,本公開實施例對此不做限定。
在實際實現(xiàn)過程中,經(jīng)過試驗得出,該N通??梢栽O(shè)置為3,即在更新過程中,當(dāng)?shù)?次后,通常即可達到收斂效果,即可以準確地確定該多個關(guān)鍵點在該人臉圖像中的實際位置。
需要說明的是,上述步驟203至步驟206用于實現(xiàn):基于該多個關(guān)鍵點的初始位置,通過指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個關(guān)鍵點在該人臉圖像中的實際位置,以實現(xiàn)人臉定位的步驟。
在本公開實施例中,獲取待定位的人臉圖像,為了便于后續(xù)處理,按照預(yù)設(shè)尺寸大小對獲取的人臉圖像進行縮放處理,得到該第一預(yù)處理人臉圖像,之后,基于指定CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置,如此,可以減小多個關(guān)鍵點的初始位置與實際位置之間的差值,從而提高人臉定位的準確性。在通過指定CNN模型確定該多個關(guān)鍵點的初始位置后,根據(jù)所確定的初始位置,再通過指定神經(jīng)網(wǎng)絡(luò)模型,即可確定該多個關(guān)鍵點在人臉圖像中的實際位置,如此,避免需要人工手動操作,提高了人臉定位的效率。
圖3A是根據(jù)一示例性實施例示出的一種人臉定位裝置的框圖。參照圖3A,該裝置包括獲取模塊310,第一確定模塊320和第二確定模塊330。
獲取模塊310,用于獲取待定位的人臉圖像,并按照預(yù)設(shè)尺寸大小對該人臉圖像進行縮放處理,得到第一預(yù)處理人臉圖像;
第一確定模塊320,用于基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置;
第二確定模塊330,用于基于該第二確定模塊320確定的該多個關(guān)鍵點的初始位置,通過指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個關(guān)鍵點在該人臉圖像中的實際位置,以實現(xiàn)人臉定位。
在另一實施例中,第二確定模塊330包括:
第一確定子模塊,用于基于該多個關(guān)鍵點的初始位置,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量,各個偏差量是指各個關(guān)鍵點的初始位置與該初始位置對應(yīng)的真實位置之間的偏差量;
第二確定子模塊,用于分別將各個關(guān)鍵點的初始位置與對應(yīng)的各個偏差量之和,重新確定為各個關(guān)鍵點的初始位置;
統(tǒng)計子模塊,用于統(tǒng)計重新確定次數(shù),并返回至該基于該多個關(guān)鍵點的初始位置,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量的步驟,該重新確定次數(shù)是指分別將各個關(guān)鍵點的初始位置和各個偏差量之和重新確定為各個關(guān)鍵點的初始位置的次數(shù);
第三確定子模塊,用于當(dāng)該重新確定次數(shù)達到N次時,將經(jīng)過N次重新確定后的各個關(guān)鍵點的初始位置確定為該各個關(guān)鍵點在該人臉圖像中的實際位置,其中,該N大于或等于1。
在另一實施例中,該第一確定子模塊用于:
對于該多個關(guān)鍵點中的每個關(guān)鍵點,確定以該關(guān)鍵點的初始位置為中心的預(yù)設(shè)尺寸窗口內(nèi),所有像素點中每個像素點的梯度,并根據(jù)所確定的梯度,確定該關(guān)鍵點的尺度不變特征變換SIFT特征向量;
將該多個關(guān)鍵點的SIFT特征向量依次進行串聯(lián),得到串聯(lián)特征向量;
基于該串聯(lián)特征向量,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個偏差量。
在另一實施例中,該第一確定子模塊用于:
將該串聯(lián)特征向量輸入至該指定神經(jīng)網(wǎng)絡(luò)模型中,通過該指定神經(jīng)網(wǎng)絡(luò)模型回歸確定該多個偏差量。
在另一實施例中,請參考圖3B,該裝置還包括:
歸一化處理模塊340,用于對該第一預(yù)處理人臉圖像進行歸一化處理,得到第二預(yù)處理人臉圖像;
相應(yīng)地,該第一確定模塊320用于:
基于該指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第二預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置。
在本公開實施例中,獲取待定位的人臉圖像,為了便于后續(xù)處理,按照預(yù)設(shè)尺寸大小對獲取的人臉圖像進行縮放處理,得到該第一預(yù)處理人臉圖像,之后,基于指定CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置,如此,可以減小多個關(guān)鍵點的初始位置與實際位置之間的差值,從而提高人臉定位的準確性。在通過指定CNN模型確定該多個關(guān)鍵點的初始位置后,根據(jù)所確定的初始位置,再通過指定神經(jīng)網(wǎng)絡(luò)模型,即可確定該多個關(guān)鍵點在人臉圖像中的實際位置,如此,避免需要人工手動操作,提高了人臉定位的效率。
關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
圖4是根據(jù)一示例性實施例示出的一種人臉識別裝置400的框圖。例如,裝置400可以是移動電話,計算機,數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個人數(shù)字助理等。
參照圖4,裝置400可以包括以下一個或多個組件:處理組件402,存儲器404,電源組件406,多媒體組件408,音頻組件410,輸入/輸出(I/O)的接口412,傳感器組件414,以及通信組件416。
處理組件402通常控制裝置400的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關(guān)聯(lián)的操作。處理組件402可以包括一個或多個處理器420來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件402可以包括一個或多個模塊,便于處理組件402和其他組件之間的交互。例如,處理組件402可以包括多媒體模塊,以方便多媒體組件408和處理組件402之間的交互。
存儲器404被配置為存儲各種類型的數(shù)據(jù)以支持在裝置400的操作。這些數(shù)據(jù)的示例包括用于在裝置400上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器404可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
電源組件406為裝置400的各種組件提供電源。電源組件406可以包括電源管理系統(tǒng),一個或多個電源,及其他與為裝置400生成、管理和分配電源相關(guān)聯(lián)的組件。
多媒體組件408包括在所述裝置400和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。在一些實施例中,多媒體組件408包括一個前置攝像頭和/或后置攝像頭。當(dāng)裝置400處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
音頻組件410被配置為輸出和/或輸入音頻信號。例如,音頻組件410包括一個麥克風(fēng)(MIC),當(dāng)裝置400處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風(fēng)被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器404或經(jīng)由通信組件416發(fā)送。在一些實施例中,音頻組件410還包括一個揚聲器,用于輸出音頻信號。
I/O接口412為處理組件402和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
傳感器組件414包括一個或多個傳感器,用于為裝置400提供各個方面的狀態(tài)評估。例如,傳感器組件414可以檢測到裝置400的打開/關(guān)閉狀態(tài),組件的相對定位,例如所述組件為裝置400的顯示器和小鍵盤,傳感器組件414還可以檢測裝置400或裝置400一個組件的位置改變,用戶與裝置400接觸的存在或不存在,裝置400方位或加速/減速和裝置400的溫度變化。傳感器組件414可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件414還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應(yīng)用中使用。在一些實施例中,該傳感器組件414還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件416被配置為便于裝置400和其他設(shè)備之間有線或無線方式的通信。裝置400可以接入基于通信標準的無線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個示例性實施例中,通信組件416經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個示例性實施例中,所述通信組件416還包括近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍牙(BT)技術(shù)和其他技術(shù)來實現(xiàn)。
在示例性實施例中,裝置400可以被一個或多個應(yīng)用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質(zhì),例如包括指令的存儲器404,上述指令可由裝置400的處理器420執(zhí)行以完成上述方法。例如,所述非臨時性計算機可讀存儲介質(zhì)可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。
一種非臨時性計算機可讀存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由移動終端的處理器執(zhí)行時,使得移動終端能夠執(zhí)行一種人臉定位方法,所述方法包括:
獲取待定位的人臉圖像,并按照預(yù)設(shè)尺寸大小對該人臉圖像進行縮放處理,得到第一預(yù)處理人臉圖像;
基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置;
基于該多個關(guān)鍵點的初始位置,通過指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個關(guān)鍵點在該人臉圖像中的實際位置,以實現(xiàn)人臉定位。
在另一實施例中,基于該多個關(guān)鍵點的初始位置,通過指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個關(guān)鍵點在該人臉圖像中的實際位置,包括:
基于該多個關(guān)鍵點的初始位置,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量,各個偏差量是指各個關(guān)鍵點的初始位置與該初始位置對應(yīng)的真實位置之間的偏差量;
分別將各個關(guān)鍵點的初始位置與對應(yīng)的各個偏差量之和,重新確定為各個關(guān)鍵點的初始位置;
統(tǒng)計重新確定次數(shù),并返回至該基于該多個關(guān)鍵點的初始位置,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量的步驟,該重新確定次數(shù)是指分別將各個關(guān)鍵點的初始位置和各個偏差量之和重新確定為各個關(guān)鍵點的初始位置的次數(shù);
當(dāng)該重新確定次數(shù)達到N次時,將經(jīng)過N次重新確定后的各個關(guān)鍵點的初始位置確定為該各個關(guān)鍵點在該人臉圖像中的實際位置,其中,該N大于或等于1。
在另一實施例中,基于該多個關(guān)鍵點的初始位置,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定多個偏差量,包括:
對于該多個關(guān)鍵點中的每個關(guān)鍵點,確定以該關(guān)鍵點的初始位置為中心的預(yù)設(shè)尺寸窗口內(nèi),所有像素點中每個像素點的梯度,并根據(jù)所確定的梯度,確定該關(guān)鍵點的尺度不變特征變換SIFT特征向量;
將該多個關(guān)鍵點的SIFT特征向量依次進行串聯(lián),得到串聯(lián)特征向量;
基于該串聯(lián)特征向量,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個偏差量。
在另一實施例中,基于該串聯(lián)特征向量,通過該指定神經(jīng)網(wǎng)絡(luò)模型,確定該多個偏差量,包括:
將該串聯(lián)特征向量輸入至該指定神經(jīng)網(wǎng)絡(luò)模型中,通過該指定神經(jīng)網(wǎng)絡(luò)模型回歸確定該多個偏差量。
在另一實施例中,該方法還包括:
對該第一預(yù)處理人臉圖像進行歸一化處理,得到第二預(yù)處理人臉圖像;
相應(yīng)地,該基于指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置,包括:
基于該指定卷積神經(jīng)網(wǎng)絡(luò)CNN模型,確定該第二預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置。
在本公開實施例中,獲取待定位的人臉圖像,為了便于后續(xù)處理,按照預(yù)設(shè)尺寸大小對獲取的人臉圖像進行縮放處理,得到該第一預(yù)處理人臉圖像,之后,基于指定CNN模型,確定該第一預(yù)處理人臉圖像中的多個關(guān)鍵點的初始位置,如此,可以減小多個關(guān)鍵點的初始位置與實際位置之間的差值,從而提高人臉定位的準確性。在通過指定CNN模型確定該多個關(guān)鍵點的初始位置后,根據(jù)所確定的初始位置,再通過指定神經(jīng)網(wǎng)絡(luò)模型,即可確定該多個關(guān)鍵點在人臉圖像中的實際位置,如此,避免需要人工手動操作,提高了人臉定位的效率。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。