分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!
自動提取人臉關鍵特徵點
近年來,人臉識別的研究成為模式識別和人工智慧領域的乙個研究熱點。人臉識別過程受到很多因素的干擾,準確地提取人臉的合適特徵是進行正確識別的關鍵,在人臉識別的各類方法中,對基本特徵如眼睛、鼻子和嘴巴等的定位都是必不可少的步驟。我國的科研人員在人臉影象特徵提取方面,進行了大量的研究工作,主要集中在面部幾何特徵點的提取;變換域中的面部特徵提取;利用變形模板進行特徵提取等幾個方面;另外還有利用snake以及asm 等提取特徵邊緣的迭代演算法來定位特徵。
本文提出了基於人類視覺特性原理,利用人臉的幾何特徵,提取具有尺寸、旋轉和位移不變性的人臉特徵點方法,可以快速、有效地確定出人臉主要器官——眼睛、鼻子和嘴巴等部位的關鍵特徵點位置;在進行處理前無需對樣本進行尺寸的規範化,有助於提高對人臉正面像識別的準確率和增強抗干擾能力。
人臉的關鍵特徵點
根據人類視覺特性在人臉識別中的應用,人臉特徵的整個幾何結構足夠用於識別。常用的方法有提取眼、口、鼻、眉等幾個特徵,利用它們之間的距離比例關係來區別人臉(即常用的三停五眼標準)見圖1所示;還有利用可變形模板來精細地描述人臉幾何形狀。
對於一幅人臉影象,通過定位特徵點可以方便地抽取人臉的各部分特徵,若以這些特徵點為基準對抽取的各個特徵值進行歸一化,則這些特徵值具有平移、旋轉和尺度上的不變性,通過這樣對人臉進行規範化處理,可以將不同大小、方向和水平旋轉等情況的人臉統一起來,擴大人臉庫的入庫範圍,提高人臉識別的速度。
人臉關鍵特徵點的定位方法:選取人臉的9個特徵點(如圖2所示),這些特徵點的分布具有角度不變性,分別為2個眼球中心點、4個眼角點、兩鼻孔的中點和2個嘴角點。在此基礎上可以容易地獲得與識別有關的人臉各器官特徵以及擴充套件的其他特徵點位置,用於進一步的識別演算法。
特徵點提取演算法
在進行人臉特徵提取時,由於無法將區域性的邊緣資訊有效地組織起來,傳統的邊緣檢測運算元不能可靠地提取人臉的特徵(眼睛或嘴的輪廓),但從人類視覺特性出發,充分利用邊緣及角點的特徵來進行人臉關鍵特徵點的定位,則會大大提高其可靠性。
其中選擇susan運算元用於提取區域性區域的邊緣和角點特徵。susan運算元的原理為:以半徑為畫素(本文實驗中取 = 4)的圓形區域(面積覆蓋畫素位置)為掩模,考察影象中的每個點在該區域範圍內的所有點的畫素值與當前點的值的一致程度:
其中,表示當前畫素點,表示區域範圍的其它點,代表該畫素的灰度值;是兩個畫素灰度值的相關性度量;為畫素間差異閾值,表明兩個畫素灰度值相差多少被判作不同,一般可設為27;代表usan面積,usan面積越小,則邊緣強度越大;為幾何閾值,可以理解為usan面積的最大值,超過這個值就認為該點不是邊緣,通常可以設定為;
根據susan運算元的特性,它既可用來檢測邊緣,又能用來提取角點。因此與sobel、canny等邊緣檢測運算元相比較而言,susan運算元更適合進行人臉眼部和嘴巴等特徵的提取,尤其是對眼角點和嘴角點的自動定位。
眼球及眼角的自動定位
在眼球及眼角的自動定位過程中,首先採用歸一化模板匹配的方法初步定位人臉,臉部模板見圖3(a)。在整個人臉影象中確定出臉部的大概區域。通常的人眼定位演算法根據眼睛的谷點性質來定位,而此處則採用將谷點的搜尋和方向投影以及眼球的對稱性相結合的方法,利用兩眼之間的相關性可以提高眼睛定位的準確度。對臉部區域的左上和右上部分進行梯度圖積分投影,並對積分投影的直方圖進行歸一化,首先根據水平投影的谷點確定出眼睛在y方向的大致位置,然後讓x在較大的範圍內變化,尋找此區域內的谷點,將檢測到的點作為兩眼的眼球中心點。眼球的定位過程見圖3所示。
在獲得兩眼球位置的基礎上,對眼部區域進行處理,首先採用自適應二值化方法確定門限閾值,得到眼部區域的自動二值化影象,然後結合susan運算元,利用邊緣和角點檢測的演算法在眼部區域內準確定位內外眼角點。
經過上述演算法獲得的眼部區域邊緣影象見圖3(b)所示。在此基礎上對圖中的黑色邊緣曲線進行角點提取即可獲得準確的兩眼內外眼角點位置,提取結果見圖3(c)所示。
鼻域特徵點的自動定位
將人臉鼻子區域的關鍵特徵點確定為兩個鼻孔中心連線的中點處,即鼻唇中心點。人臉鼻唇中心點的位置相對較穩定,而且對於人臉影象歸一化預處理時也可起到基準點的作用。
以找到的兩眼球位置為基礎,採用區域灰度積分投影的方法確定兩個鼻孔的位置,如圖5所示。
首先擷取兩眼瞳孔寬度的條狀區域,進行y方向積分投影,然後對投影曲線進行分析。可以看到,沿著投影曲線自眼球位置的y座標高度向下搜尋,找到第乙個谷點的位置(通過調整選擇適當的峰谷δ值,忽略中間可能由於臉部疤痕或眼鏡等因素產生的毛刺影響),將這個谷點作為鼻孔位置的y座標基準點;第二步選取以兩眼球x座標為寬度,鼻孔y座標上下δ畫素(本文中選取δ=[鼻孔y座標-眼球y座標]×0.06)為高度的區域進行x方向積分投影,然後對投影曲線進行分析,以兩眼瞳孔中點的x座標作為中心點,分別向左右兩側進行搜尋,找到的第乙個谷點即為左右鼻孔的中心點的x座標。計算兩個鼻孔的中點作為鼻唇中點,獲得鼻唇中心點的準確位置,並劃定鼻子區域。
嘴角的自動定位
由於人臉表情的不同可能會引起嘴巴形狀的較大變動,而且嘴巴區域比較容易受到鬍鬚等因素的干擾,因此嘴部特徵點提取的準確性對於識別影響較大。由於嘴角點的位置受表情等影響相對變動較小,角點的位置較準確,所以採取嘴部區域的重要特徵點為兩個嘴角點的定位方式。
在確定了雙眼區域以及鼻域特徵點的基礎上,首先利用區域灰度積分投影的方法確定自鼻孔以下y座標投影曲線的第乙個谷點(同理,需要通過適當的峰谷δ值來消除由於鬍鬚、痣痕等因素產生的毛刺影響)作為嘴巴的y座標位置;然後選定嘴巴區域,對區域影象利用susan運算元進行處理,得到嘴部邊緣圖後;最後進行角點提取,便可以獲得兩個嘴角的精確位置,如圖6所示。
實驗結果及分析
本文實驗主要基於清華大學建立的270人臉庫,庫中包含每個人7張**(正面、左右旋轉小角度、左右旋轉大角度以及表情變化和光照變化等),影象大小為336*480,人臉在影象中所佔的面積大於50%。實驗結果如圖7中所示,自動定位的結果與手工標定位置相比差5個畫素以上則視為定位錯誤,全部正面臉的關鍵特徵點定位準確率達到98%以上。對於小角度旋轉的人臉也取得較好的定位效果,處理大角度旋轉人臉時定位準確率略有下降。同時定位演算法對表情變化不敏感,如果影象質量較好對配戴眼鏡和光照變化也不敏感,當然,強側光會造成部分影響。採用本文演算法在整張影象中檢測全部特徵點需要約265ms時間。與以往的人臉特徵點提取方法相比較,本文方法簡單、快速、準確,是一種可行的人臉特徵點定位方法。
另外,利用攝像頭實時動態採集的人臉集進行大量測試,也同樣取得了不錯的效果,基本可以達到實用的要求,見圖7中的(b)所示。
分析人臉關鍵特徵點定位的結果,如果僅利用灰度圖積分投影的峰谷來判定特徵點的y座標位置,對於多樣化的人臉結構和影象質量來說不夠魯棒,個別情況會發生較大誤差。因此本文充分利用人臉結構的視覺先驗知識,在對關鍵特徵點定位時加入了經過訓練的先驗比例尺關係,即從額頭到眼睛、眼睛到鼻孔、鼻孔到嘴巴和嘴巴到下頜的y座標比例關係,由此可以排除明顯的單個關鍵點的錯誤定位,獲得比較滿意的結果。
本文針對人臉識別中關鍵特徵點提取,給出一種自動獲得人臉9個關鍵特徵點精確位置的方法。實驗證明該方法對人臉影象特徵點自動定位準確、速度快,有助於提高人臉識別演算法的識別率。在此基礎上,提出用兩眼的外眼角點代替兩眼瞳距作為水平基準,以鼻唇中心點位置到兩瞳孔中點的距離作為豎直基準,來進行影象預處理的旋轉和尺度校正,將影象調整到標準的狀態,為進一步的人臉特徵提取和識別工作提供了很大的幫助。
人臉的結構非常複雜,準確地定位每一幅人臉影象的特徵是相當困難的。本文方法本身並不受影象大小的約束,對絕大多數灰度正面人臉影象的特徵點都能準確地自動定位。在小角度旋轉人臉也取得較好的定位效果,並且對表情和光照不敏感,但處理大角度旋轉人臉仍然有一定的侷限,定位準確率稍降。有待於繼續研究,進一步提高自動定位的魯棒性。
(作者單位:影象圖形研究所,清華大學電子工程系)
給我老師的人工智慧教程打call!
自動提取人臉關鍵特徵點
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!自動提取人臉關鍵特徵點 近年來,人臉識別的研究成為模式識別和人工智慧領域的乙個研究熱點。人臉識別過程受到很多因素的干擾,準確地提取人臉的合適特徵是進行正確識別的關鍵,在人臉識別的各類方法中,對基本特徵如眼睛 鼻子和嘴巴等的定位都是必不可少的步驟。我...
深度學習關鍵一點 特徵的自動提取。
深度學習與傳統模式識別方法的最大不同在於它是從大資料中自動學習特徵,而非採用手工設計的特徵。好的特徵可以極大提高模式識別系統的效能。在過去幾十年模式識別的各種應用中,手工設計的特徵處於同統治地位。它主要依靠設計者的先驗知識,很難利用大資料的優勢。由於依賴手工調引數,特徵的設計中只允許出現少量的引數。...
人臉情感特徵提取(二)
人臉情感特徵提取 一 知識背景 如果以下內容對你有所幫助,可以點讚關注一下表示支援哦!import cv2 import dlib 與人臉檢測相同,使用dlib自帶的frontal face detector作為人臉檢測器 detector dlib.get frontal face detecto...