王 亞,朱 明,劉成林
(中國科學技術大學 信息科學技術學院,合肥 230027)
智能視頻監控系統利用計算機視覺、圖像處理等技術自動對監控視頻內容進行識別分析與理解,是視頻監控系統的發展趨勢.而人臉識別模塊是智能視頻監控系統中的重要組成部分.經過近60年的發展,可限制條件下人臉識別方法已逐漸成熟,成果眾多[1].但是基于監控視頻的人臉識別技術仍面臨許多挑戰.一方面,監控環境中存在光照、背景等不斷變化; 另一方面,視頻中的人是自由行動的.因此監控視頻中采集到的人臉經常會存在光照或姿態或表情變化大,甚至由于運動而模糊的低質量人臉圖像.雖然很多方法[2–4]被提出來以增強人臉識別算法對低質量圖像的魯棒性,但是很明顯,大多數識別算法在高質量的人臉圖像上會實現更好的效果[5].以人臉驗證為例,在2010年由NIST組織的MBE中,在高質量人臉數據庫上測試時,人臉驗證錯誤率為0.3%[6],而在非限制數據集LFW[7]上的錯誤率不少于18%[8].將低質量的人臉圖像用于人臉識別,不僅會降低整個系統的人臉識別率,而且由于人臉識別過程中特征計算復雜,造成計算資源浪費.解決此問題的方法之一就是進行人臉質量評估,篩選出高質量的人臉圖像用于后續識別.
本文接下來的結構安排如下: 第1節介紹了常見的人臉圖像質量評估方法; 第2節詳細闡述了本文方法的算法思想及步驟; 相關實驗設置及結果分析在第3節進行被說明; 第4節總結了本文的工作.
圖像質量評估方法可分為主觀評價和客觀評價兩種.主觀評價是以人為視覺感知為主,輔以事先制定的一些評價尺度[9],又可分為絕對評價和相對評價.絕對評價時,評估者直接按照視覺感受給出圖像質量判斷或分數.而相對評價是給出一組圖像,評估者進行相對比較,按照從低到高的分類做出評估.主觀評價方法符合人的主觀感受,但它耗時耗力,且容易受評估者本身的專業背景、動機和情緒等主觀因素影響.客觀評價方法是根據人類視覺特性,利用數學算法,對圖像質量做出客觀量化的評價值,能方便地被集成到實際的相關系統中.客觀評價方法主要用到方差、梯度、信息熵、峰值信噪比、均方誤差等技術指標,根據對參考圖像的依賴程度,可分為全參考、半參考和無參考圖像質量評估方法.
人臉圖像質量評估屬于圖像質量評估的一個分支,既要考慮傳統圖像質量評價中所關注的因素,如圖像對比度、清晰度、光照等,又要考慮人臉所特有的因素,如姿態、表情、遮擋等.2005年,國際標準化組織制定了關于人臉圖像質量的標準,對多種參數做出了規定[10].在此基礎上,許多人臉圖像質量評估方法被提出來.大致可以分為兩種,基于多因素融合的方法和基于全局學習的方法.在多因素融合方法中,先單獨分析某種圖像特性,如對比度、光照、人臉姿態等,然后加權融合形成最后的質量分數.例如,Nasrollahi等將姿態、對比度、亮度、分辨率的分數進行加權融合[11];Castro將對稱性分析與兩種對比度度量方法相結合[12];一種基于人臉位置、圖像對比度、清晰度和明亮度的綜合人臉圖像質量評價方法被蔣剛毅等人提出[13].鄒國鋒等先對包含人臉的原始圖像進行第一級評價,再提取人臉有效區域進行第二級評價[14].多因素融合大方法易受各因素影響,一個因素評價失誤將導致整個評價出現偏差.并且,各因素難以被全面考慮,且對人臉圖像質量的影響權重難以確定.另外,需要分別進行多個因素的質量評估,計算較為繁瑣.基于全局學習的方法是指通過訓練學習自動將各個因素進行融合得到質量分數.Ozay使用一個貝葉斯網絡來擬合圖像特征和質量分數之間的關系[15].Deng[16]利用三個人臉圖像存在明顯差異的數據集,采用學習排序的方法進行質量評估,效果顯著.基于全局學習的方法操作更為簡便,特征自動融合,質量評估結果相對更為可靠.
CNN(卷積神經網絡)具有強大的特征學習能力,通過端到端的訓練,逐層得到由簡單到抽象的特征,在識別、檢測、跟蹤等各個領域取得了許多突破性的成果.Kang等人[17]便提出了一個簡單的CNN結構用作圖像質量評估,并取得了非常好的效果.Liu等人[18]首先利用VGG網絡提取大量圖像特征,再通過稀疏字典學習選擇有效的特征,最后用SVR回歸預測人臉圖像質量分數.在自制監控數據集上實驗發現,此方法能夠挑選到高質量的人臉圖像,從而提高識別率.但學習步驟較為繁瑣,且每一個步驟都是獨立的,沒有端到端的統一調整.
監控視頻中的人臉圖像具有光照、姿態、表情等多種變化,傳統的圖像質量評估方法難以對其進行全方面的評估.CNN的泛化能力顯著優于其他方法,因此本文提出了一種基于CNN的監控視頻中人臉圖像質量評估方法.
網絡模型來源于Alexnet模型[19],并對其進行了改進.Hariharan等人證明,使用CNN網絡中多個層次的特征更有利于完成特定任務[20].而且,低水平特征對于圖像質量有很重要的影響.而CNN的中間卷積層包含了大量的邊緣、幾何等低水平特征.于是,將Alexnet的中間卷積層與全連接層進行連接,從而融合簡單特征與抽象特征.
圖1是Alexnet的基本結構,包括5個卷積層和3個全連接層.為了實現多尺度特征融合,把Conv2、Conv3、Conv4的輸出特征圖分別先進行池化,并裁剪至與Conv5輸出尺寸一致,再連同Conv5一起與fc6層連接.最后,SVR函數被選為損失函數.如圖2所示.

圖1 Alexnet網絡結構
具體參數為:
輸入: 227×227的三通道圖像;
Conv1: 96個11×11的卷積核,步長為4; 最大池化,核大小為3,步長為2;
Conv2: 256個5×5的卷積核,步長為1,填充值為2; 最大池化,核大小為3,步長為2;
Conv3: 384個3×3的卷積核,步長為1,填充值為1;
Conv4: 384個3×3的卷積核,步長為1,填充值為1;
Conv5: 256個3×3的卷積核,步長為1,填充值為1; 最大池化,核大小為3,步長為2;
新增加兩個pool層: 最大池化,核大小為3,步長為2;
Fc6和Fc7分別輸出4096維特征,Fc8輸出1維的質量分數.

圖2 本文網絡結構
傳統的人臉圖像質量評估方法使用了人類視覺系統的先驗知識,于是得到的人臉圖像質量分數只與人的視覺感受相一致.但實際上,評估人臉圖像質量時,應考慮到人臉識別系統本身的運行機制,將質量分數與識別算法聯系起來.例如,圖3(a)是一張光照偏暗的正臉圖像,圖3(b)是一張光照均勻的側臉圖像.對于一個對人臉姿態魯棒性很好的識別算法來說,圖3(b)的質量分數自然要高于圖3(a).而若識別算法對光照并不敏感,則圖3(a)比圖3(b)更適合用于識別.

圖3 不同變化因素的人臉圖像
因此,本文采用具體的人臉識別算法來對人臉圖像進行質量分數的標定.在這里,我們選擇VGGFace模型[21]加余弦相似度的識別算法,以余弦相似度作為質量分數.同時,這種標定方式也解決了訓練CNN模型所需大量帶標簽訓練樣本的問題.具體操作步驟如圖4所示.

圖4 結合識別算法的人臉圖像標定過程
Color FERET數據集[22]是由美國Feret項目組收集的人臉數據庫,包含994個類別多姿態、光照的人臉圖像,共11 338張.其可分為三部分: fa子集是統一光照的正臉圖像集; fb子集也是統一光照的正臉圖像,但其表情與fa集有差距; 其他是各種姿態變化的人臉圖像.PIE人臉數據庫[23]由美國卡耐基梅隆大學創建,在嚴格控制條件下采集了41 368張包含姿態、光照變化的人臉圖像.
另外,本文通過學校監控系統平臺,收集到實際場景下的監控視頻數據集.數據集中包含183個類別,每類別有100張左右的人臉圖像,包括姿態、光照、表情、分辨率等多種變化因素.平均尺寸在56×56左右.圖5其中的一些人臉圖像示例.

圖5 實際監控視頻中的人臉圖像樣例
為了驗證本文方法對人臉圖像質量評估的準確性,綜合Color FERET和PIE數據集,進行了以下實驗.
3.2.1 數據準備
為了增加訓練樣本數量以及樣本多樣性,先對數據集進行增強.將fb子集中的每張圖片做如下變換:(1)水平與豎直方向分別平移 0,±2,±4,±6,±8 個像素;(2)平面內正逆時針分別旋轉 0°,±10°,±20°,±30°;(3)分別在0.7~1.3不同尺度截取人臉; (4)先將人臉圖像縮放為原來的0.25,0.75,1.25,1.75倍,再恢復到原尺寸.這四種變換為數據庫分別加入了對齊誤差和清晰度變化.Color FERET 中包含有 15°,22.5°,45°,67.5°不同姿態的人臉圖像,被用來評估姿態對圖像質量的影響.而針對光照對人臉圖像質量的影響,選取了PIE 中光源角度為 54°~67°的人臉圖像.最后,形成一個大約包含35萬張不同光照、姿態、分辨率的人臉圖像數據集.部分人臉圖像如圖6~圖8所示.

圖6 Color FERET中人臉姿態變化樣本示例

圖7 Color FERET中fb子集人臉圖像變化示例

圖8 PIE中人臉圖像光照變化樣本示例
用上文提到的標定方法對數據集進行標定.對于Color FERET數據集,fa被選為基準圖像,而PIE數據集中正面光照條件下采集的圖像被選為基準圖像.圖9展示了部分標定結果.由圖可知,被水平或豎直移動變換的圖像質量分數依然較高,而被旋轉或尺度縮小的圖像質量分數變低.這與本文所采用的人臉識別算法對于人臉水平或豎直移動敏感度較小,而對旋轉及尺度變化較為敏感的特性相符合.從而說明了本文的圖像質量分數標定方法與識別算法的本身特性聯系緊密.

圖9 結合識別算法的樣本標注示例
3.2.2 模型訓練
將數據集分成訓練集、驗證集和測試集三部分.訓練前,對所有圖片進行歸一化,并統一尺寸為227×227.訓練時,采用了調優的方法.初始參數模型是已在Imagenet數據庫訓練好的Alexnet模型[21],然后重新學習新的全連接層.設置新的學習率為0.0001,batchsize為64,采用SGD優化方法,迭代了12 000次,大約6個epoch,最終達到收斂.
3.2.3 結果展示及分析
將訓練好的人臉圖像質量評估模型在測試集上進行測試,部分測試圖像的質量分數如圖10所示.由圖可知,對于姿態、光照、清晰度或光照變化,我們模型給出的質量分數都能有效進行區分.

圖10 人臉圖像質量評估結果
圖像質量評估算法常見評價指標有LCC (線性相關系數)和SROCC (秩相關系數).LCC描述算法評價值與參考值之間的相關性,從而衡量了算法預測的準確性.SROCC衡量算法預測的單調性.在測試集上計算這兩項指標,并與只考慮單一因素的評估方法進行比較,如表1所示.從表中可以發現,基于CNN學習的方法比根據單一因素評估的方法效果好很多,而本文對Alexnet進行改進后,效果更加提升.

表1 Color FERET測試集上的LCC和SROCC
為了驗證本文方法能夠提高監控視頻中人臉識別系統識別率,在自制的監控視頻數據集上進行了實驗.
首先,用訓練好的模型評估監控視頻中的人臉圖像質量,結果如圖11所示.雖然整體質量分數偏低(這與監控視頻中人臉圖像本身質量低也是相符的),但依然能對姿態 (圖 11(a)、(d)、(e)、(f))、清晰度(圖11(a)、(c))、表情(圖11(a)、(b))變化進行區分.另外,由于人臉檢測算法存在誤差,檢測出一些非人臉圖像.但是其質量分數非常低,可以通過質量分數將其剔除(圖11(g)、(h)).

圖11 監控視頻中人臉圖像質量評估結果
然后,將質量評估模塊加入人臉識別系統中,簡單流程圖如圖12所示.先對監控視頻進行人臉檢測及跟蹤,得到同一個人的一連串人臉圖像,再對這些人臉圖像進行質量評估并由高到低進行排名,分別選出其中質量排名為1,2,4,8,16以及所有人臉圖像進行后續人臉識別,識別準確率如圖13所示.由圖可看出,對于改進后的Alexnet,當選擇質量排名為前8的人臉圖像進行人臉識別時,識別率最高達到91%.若不進行質量評估,而將所有人臉圖像全部用于識別,識別率只有64%.從而證明了本文提出的質量評估方法能提高監控視頻中人臉識別準確率.

圖12 加入質量評估模塊的人臉識別系統

圖13 選擇不同質量排名的人臉圖像進行識別的結果
本文提出了一種基于CNN的監控視頻中人臉圖像質量評估方法.主要有兩點: 一是傳統圖像評估方法大多只考慮到部分因素對圖像的影響,且融合過程需人為設計.本文通過將Alexnet的中間卷積層與全連接層連接,自動融合多尺度特征進行圖像質量評估; 二是網絡訓練需要大量帶標簽樣本,人工進行標定耗時耗力,且標定結果與人的視覺系統相一致,而脫離了實際人臉識別系統.因此采用結合人臉識別算法的方法自動標定.實驗證明,本文方法能夠對姿態、表情、光照、清晰度變化引起的圖像質量變化給予準確的評估,篩選出高質量的人臉圖像,提高識別準確率.