摘 要:人臉自動定位技術在智能視頻通信、視頻監控以及娛樂等領域有著廣泛的應用。通過將基于膚色的人臉檢測和基于人工神經網絡的控制策略相結合,提出一種新的人臉自動定位算法。該算法簡單有效,克服傳統跟蹤算法中需要利用幀間相關信息和需要標定攝像機的缺點,只需通過人臉檢測程序給出人臉特征點在計算機圖像中的坐標,就可直接得出攝像機水平調整量和垂直調整量,根據調整量控制攝像機運動即可將人臉自動定位在圖像中心。最后利用面向對象的方法實現了系統,并且取得了滿意的效果。
關鍵詞:人臉定位;人臉檢測;神經網絡;膚色模型
Face Auto-Location and Its System Implementation
WANG Meng,JI hong
(School of Electronic Information Engineering,Tianjin University,Tianjin,300072,China
Abstract:Face auto-location has a wide range of usage,such as intelligent video communication,video surveillance and entertainment.A new approach to face auto-location based on traditional face detection and new artificial neural network control strategy is proposed.The algorithm is simple and effective.Neither requiring the information of correlative frames nor camera calibration,the algorithm can locate the faces′ feature point in the image center quickly using the face feature points and coordinates.Implemented by object-oriented method,the system works fine and has practical value.
eywords:face location;face detection;neural network;skin-color model
1 引 言
人臉的自動定位是應用視覺研究領域的一個重要課題。它首先需要檢測到人臉的位置和特征點,然后采用一定的控制策略控制攝像機運動將人臉定位到圖像的中心。人臉自動定位屬于人臉跟蹤的范疇,在人臉識別、人機交互、智能視頻通信、監視和安全以及娛樂等領域有著廣泛的應用,發展前景巨大[1-4]。例如在人臉識別應用中,首先需要獲得符合一定大小的正面清晰人臉;又如在安全監控應用中,需要對人的各項特征進行有針對性的監視,對于監控對象的身高、衣著等特征,可以在較模糊圖像中獲得,但是對人臉部分的特征,卻必須要清晰的圖像才能獲得,因此需要對人臉做針對性的監控。
人臉定位到圖像中心比之人臉跟蹤,主要有以下幾個區別:
(1 人臉跟蹤不需要定位人臉到圖像的中心,只需將人臉限定在圖像區域內即可,而人臉定位要求人臉必須在圖像的中心;
(2 人臉跟蹤實時性要求很高,人臉運動速度較快,而人臉定位只是針對靜止目標或目標只做小范圍的動作。
目前人臉自動定位圖像中心系統尚不多見,參照人臉跟蹤系統,可知相關算法主要有兩類:基于目標跟蹤的方法、人臉檢測和目標跟蹤算法相結合的方法。基于目標跟蹤的方法完全依賴于好的運動目標跟蹤算法,從運動目標中找出人臉,沒有充分利用人臉的特征,因此在人臉跟蹤中很少單獨使用。人臉檢測和跟蹤算法相結合的方法是在基于目標跟蹤的方法上,利用人臉的相關信息(例如膚色、器官分布等)達到快速跟蹤的目的。在一些典型的約束環境下(如背景簡單靜止的視頻、工作臺前的人臉或頭肩部人臉視頻等)可以取得很好的人臉跟蹤效果。需要說明的是,這些方法一般建立在人臉初始位置大致已知的基礎上,需要使用其他方法解決起始幀中人臉的檢測問題,這就增加了系統實現的難度。
目標跟蹤的實現算法主要有3類:幀間變化檢測法、運動矢量法和偏移量法。其中幀間變化檢測法主要適用于靜止背景下的運動目標檢測,利用相關幀間的信息恢復背景并進行運動目標的提取[5]。運動矢量法主要用于運動背景下的運動目標的檢測,一般配合卡爾曼濾波器使用。首先建立運動模型,然后根據運動模型得出目標點在圖像平面上的位置、速度和加速度的相關信息,再利用卡爾曼濾波器根據這些信息預測下一幀圖像中目標點的位置、速度和加速度等相關信息,最后將這些預測信息反饋給控制設備驅動攝像機運動,從而將運動目標定位在圖像中心[6]。以上2種方法主要針對運動目標的跟蹤,都需要利用幀間信息,計算量偏大。而偏移量法則是首先通過圖像預處理方法檢測目標位置距圖像中心的偏差(Δx,Δy,然后計算攝像機的水平調整量α和垂直調整量β,根據調整量控制攝像機運動,從而將目標定位在圖像中心[7]。偏移量法的優點是算法非常簡單,缺點是精度低,可拓展性差,不利于今后進一步的研究。另外,以上幾種方法在控制攝像機運動定位目標時均需要利用攝像機成像的參數,而這些參數需要標定。標定內容包括攝像機焦距、計算機圖像中心坐標、像平面單位距離上的像素數等。由于攝像機存在著許多畸變,所以標定的精度直接影響算法的精度。
目前的標定方法雖然多種多樣,但是大部分方法都是利用成像幾何性質,首先建立一定的模型形式,然后將需要標定的各個參數分解,分別進行計算。由于攝像機鏡頭存在著多種非線性失真,所以要得到較高的標定精度,計算方法復雜而且計算量大[8]。
鑒于此,本文提出一種基于膚色的人臉檢測和基于人工神經網絡的控制方法相結合的人臉自動定位的方法。首先,采用基于L膚色的人臉初定位、積分投影法和小灰度值聚類法確定眼球中心的人臉檢測和特征點獲取的方法檢測人臉的位置。該方法逐步縮小圖像處理的區域,檢測速度快,能夠滿足實時性的要求。然后提出一種新的基于人工神經網絡反向傳播算法的目標定位圖像中心的控制方法,用來控制攝像機快速定位人臉到圖像中心區域。該方法克服傳統跟蹤算法中需要利用幀間相關信息和需要標定攝像機的缺點,只需通過目標檢測程序給出目標特征點在計算機圖像中的坐標,就可直接得出攝像機水平調整量和垂直調整量,根據調整量控制攝像機運動即可將目標自動定位在圖像中心。最后通過VC++編程實現該系統。該系統主要針對簡單背景下單個靜止正面人臉的定位,但是對于其他較為復雜的情況,也有很好的拓展性。
2 人臉檢測及特征點獲取
2.1 基于L膚色的人臉初定位
本文采用膚色信息進行人臉的初定位。人臉具有比較穩定的特征,在灰度圖中表現為眉毛、眼睛、鼻子和嘴相對臉部其他區域而言灰度要深一些;在彩色圖像中,從顏色上觀察,發現消除了亮度的影響后,眼睛和眼睛周圍的顏色分布具有很分明的特點,除了眼睛顏色偏黑外,眼睛周圍大部分均為膚色,而且臉頰部分在一般情況下都可成功地將膚色檢測出來。在人臉檢測算法中加入對膚色信息的運用,目的是希望通過利用膚色信息判斷圖像中的各點像素是否屬于膚色,從而排除非膚色區域,即不可能存在人臉的區域,以達到減小搜索空間、提高人臉檢測算法的時間效率、降低誤報率的作用。由此可見,選擇恰當的聚類空間和膚色區間閾值以確定最終的膚色模型是非常重要的,它將影響到人臉檢測的正確率和實用性。
經過大量實驗的驗證,最終選取L膚色坐標系建立膚色模型。它的特點是通過采用降維的特征臉空間描述人臉,使得每個人臉都是特征臉的線性組合,因而能用一組系數簡單而完備地表示。這樣,可以將人臉識別和特征檢測過程轉換到代數空間進行,這種變換對于膚色有更好的聚類特性。這里借鑒了文獻[9]中的L膚色坐標系。通過L變換,得到其變換矩陣為: