圖1(圖片來源:ProStockStudio/Shutterstock.com)
與其他識別技術如虹膜識別、指紋識別等相比,以攝像頭為基礎的智能識別系統具有較大優勢。首先,攝像頭可以實現非接觸采集信息,不易引起被監測者的注意和抵觸。第二,指紋等生物特征的采集需要高精度的采集設備和相對嚴苛的采集條件,而攝像頭的采集方式更加快捷便利。第三,攝像頭可以很容易地進行網絡化擴展,從而與大數據等技術相結合,更容易結合多維度信息進行更高精度的識別。
后續的一些研究也立足于特征和分類器兩個方面。在特征方面,現在的安保系統傾向于使用一些相對復雜的特征替代Haar特征,一方面可以提高系統的檢測率,另一方面可以更好地解決非正面臉部帶來的檢測失敗問題。在分類器方面,非極大值抑制(NMS,Non-Maximum Suppression)方法可以組合位置和大小相近的候選框,從而大規模地減少候選框的數量;深度神經網絡可以利用顯卡來進行大部分運算,極大提升運算速度。

圖2(圖片來源:Sp3n/Shutterstock.com)
由于標準的人臉可以讓人臉識別等算法的結果更加穩定,因此一個關鍵步驟就是將不同角度、不同分辨率的人臉經過算法匹配到標準的位置,這就是人臉配準(Facial Alignment)。從這個角度上說,所有人的臉都可以看做是標準人臉經過仿射變換(縮放、旋轉、平移)之后的結果,而人臉配準算法的目標就是根據人臉的特征點還原這個變換過程。
計算機科學家首先定義了人臉的68個特征點,可以勾勒出人臉的主要特征。一個經典的算法思路就是讓計算機學習標準的人臉圖像在這些特征點上是如何一步一步變換成真實圖像的。它通過訓練級聯的回歸器,讓每一個回歸器都學習一部分變換的信息,從而在真實人臉圖像上找到了標準人臉圖像的映射。
人臉的屬性包括性別、種族、年齡、表情等,對于這些屬性的精準區分可以更好地判斷當前人物的喜好和心理狀態等。如果完成了人臉的檢測和配準,人臉屬性識別相對簡單,其實質就是一個在大數據幫助下的圖片分類和回歸問題。
2015年,微軟開發了一款預測年齡的應用(how-old.net),根據用戶上傳的圖片給出圖中人物年齡的預測。在這個系統中,人臉先被圈出,然后提取出的特征向量會經過分類器給出性別的標簽,再經過年齡的回歸分析器得到相應的年齡數字。如果利用深度神經網絡,特征提取和分類回歸就可以集成在一個算法中,同時實現多個屬性的實時預測。類似地,對人臉表情也可以實現相應的分類和回歸,這可以用在一些智能家居和安保系統的控制系統中,遇到危險時,可能僅僅眨眨眼就可以把報警信息傳遞出去。
基于上述算法,就可以判斷兩張圖片是否是同一個人,這就是人臉驗證。推而廣之,對于輸入的任意一張人臉圖像,計算機可以從數據庫中匹配到相關人員,并輸出其身份信息和屬性信息,這個過程就是人臉識別。
由于要進行輸入圖片和數據庫內大量圖片的對比,算法的速度對用戶的體驗至關重要。一個解決的方案就是從圖片中提取特征。一個方法是主成分分析 (Principal Component Analysis),也就是從檢測出來的人臉選框中獲得其特異性特征,然后通過相關性分析獲得最一致的人員信息。另一個重要的特征是SIFT(Scale-Invariant Feature Transform,即尺度不變特征變換),即使圖像有旋轉、尺度變化甚至分辨率的變化或者使用不同的相機,都可以從圖像中匹配特征點,準確率很高。
人臉在不同光照、不同媒介中的樣子是不同的,直接的特征提取方法可能無法滿足所有人臉識別場景的需求,因此就需要把人臉的特征跟光照等信息完成去耦合。經典算法LBP(Local Binary Patterns,即局部二值模式)所做的就是去掉光照信息。在LBP算法中,每一個像素會跟相鄰像素作比較,然后保留整張圖片中像素之間的大小關系,但去掉了其具體的數值。這樣一來面部特征仍然得到保留,但光照或紋理造成的像素值偏移就會被去掉。近幾年發展的去耦合表示法(Disentangled Representation)使用了類似的想法,把深度神經網絡提取出來的人臉特征分成形狀(Shape)和外觀(Appearance)兩部分,可以更好地保留人臉圖像的特征,提升了識別準確率。

圖3(圖片來源:Helloabc/Shutterstock.com)
近年來深度學習算法在行為識別中取得了很大進展。由香港中文大學的計算機科學家提出的TSN(Temporal Segment Network)算法提高了行為識別的水平。在TSN算法中,原始的視頻和其光流圖像被同時用來訓練深度神經網絡,這使得同一個模型同時編碼了外觀信息和動態信息。另外,同一個視頻被隨機采樣成多種組合,使同一動作的不同速度也都可以被識別。除了以TSN為代表的算法之外,新加坡南洋理工大學還標記了大型的行為識別數據庫NTU RGB+D,其中包含一些醫院和養老院中常見的動作(比如坐下、躺下、跌倒等)。用這些算法和數據訓練出來的行為識別系統可以很好地進行重點人員、重點地區的監控。
深度學習算法依然起著重要作用,因為它可以通過輸入大量數據,讓深度神經網絡自動提取特征并分配不同的權重給不同的特征,并訓練多個分類器從不同維度進行判斷。具體來說,身份識別的算法會綜合考慮幾個目標,包括外觀分類(衣著、背包、掛飾等)、體態分類(男女、身高等)、部件分類 (手臂、腿、軀干等),最終的識別結果是多個分類器的加權綜合。近年來,為了同時擴大不同個體的區別和減小同一個體不同場景下的區別,三樣本損失函數(Triplet loss)被引入深度學習算法中,對一組三個樣本進行訓練和區分,獲得了不錯的效果。
人臉識別中,臉部會經常被眼鏡、墨鏡、口罩等遮蓋;行為識別和身份識別中,也存在肢體被遮蓋的情況,這些都給算法帶來不小的考驗。雖然一些光照問題可以通過解耦算法部分解決,但是一些特殊需求如黑暗條件、分辨率不同的攝像頭等,仍然會影響算法精度。另外,長相相似的人臉、穿著和動作相似的人物、隨著時間改變而造成人臉和動作特征的變化,都會造成識別的不準確。
其他算法也在不斷升級,給現有的識別技術帶來新的挑戰。比如近年來的生成對抗網絡已經可以生成真假難辨的人臉圖像,甚至自動換臉的視頻也已經司空見慣。這些生成的人臉甚至可以通過現有的人臉識別系統。另外,最近的一篇論文指出,如果對身份識別系統加入一個干擾,算法的身份匹配結果與真實結果之間可能南轅北轍,不法分子甚至可以通過干擾算法來逃過攝像頭的追蹤。
由此可見,新算法的提出仍然是實現智慧社區智能安保系統的基礎。除了提高現有算法的魯棒性,對大規模數據的處理能力,還需要逐步引入新型的數據和算法保護機制,來應對新的挑戰和需求。計算機科學家也一直在試圖攻克這些困難。基于稀疏表達的人臉識別系統可以很好地識別不同遮蓋條件下的人臉,從而提高人臉識別算法對特殊環境數據的處理能力。在訓練識別算法的同時,引入生成對抗網絡和遷移學習等學習機制,在部署的時候利用容器技術和聯邦學習,不僅可以讓算法完成識別的任務,還可以讓算法分辨數據來源以及惡意攻擊,從而更好地保護數據和算法。在未來,隨著算法在這些方面的不斷迭代,更先進的自動識別技術會成為智慧社區和智慧城市不可或缺的組成部分。
作者:王東昂
該發布文章為獨家原創文章,轉載請注明來源。對于未經許可的復制和不符合要求的轉載我們將保留依法追究法律責任的權利。
貿澤電子設計圈由貿澤電子(Mouser Electronics)開發和運營,服務全球廣大電子設計群體。貿澤電子原廠授權分銷超過1,100家知名品牌,可訂購500多萬種在線產品,為客戶提供一站式采購平臺,歡迎關注我們,獲取第一手的設計與產業資訊信息!