人臉辨識的核心問題,不管是人臉確認(face verification)或是人臉識別(face identification),都必須在人臉上取出具有「辨別度」的特徵值。
也就是說,同個人的多張照片,即使在不一樣的光源、時間、打扮、些微的表情、視角變化之下拍攝,還具有非常類似的高維數值(可以想像在高維空間中非常相近的點群),相反地,對於不同人的照片,需很容易區別,在高維空間中維持相當的距離。
這目標聽起來很直覺,但是研究人員幾十年來的努力到最近才有突破性的發展。
人臉辨識的一般步驟為:人臉偵測、人臉校正、人臉特徵值的擷取。目的在照片中,找到人臉的位置,利用人臉的特徵點(如嘴角、人中、眼睛等)為錨點,將人臉校正到同一個比較基準,然後取出特徵值來進行辨識。
早期的人臉偵測大多基於效率的考量,利用組合一系列簡易的運算來檢測畫面中的可能人臉,甚至可以在相機的硬體中實現。但是在實際場域中的應用仍然有諸多限制,直到這幾年深度卷積神經網路(Convolutional Neural Network;CNN )的使用,才讓偵測率大大提升。
人臉特徵值的擷取是最核心的問題。早期廣泛採用的方法為特徵臉(eigenface),這是1991年MIT提出的方法,原理是人臉具有大致的輪廓,可以找出特徵人臉為基礎來線性組合出各個人臉。理論上同一個人的線性組合參數應該類似,所以就用這些組合參數來作為人臉特徵值。
此外,還可以利用人臉各個器官之間的相對位置、比例等作為特徵值。或是利用鄰近畫素的亮度差來表示特徵值的局部二值樣式(Local Binary Patterns;LBP)。或是將人臉特定位置的外觀,利用具代表性的小區塊進行編碼的稀疏編碼法(sparse coding)。這些技術都為人臉辨識的落實往前推進一步。為求系統穩定,大部分應用系統都採用雞尾酒作法,也就是混搭各種特徵值。
為何早期使用人臉辨識的場域不多呢?因為錯誤率所造成的困擾遠大於技術的效率。舉例來說,保全系統使用人臉辨識作為門禁卡,如果錯誤率5%的話,每100人次進出,就有5次需要人為介入,不勝其煩。
技術的正確率、穩定度的提升關乎可否全面落實到產品上,也就只有等到深度學習(更真確為卷積神經網路)技術的突破,才讓人臉辨識數十年的研究有機會在產業界帶來廣泛應用的機會,而且有機會溢出傳統安控領域而成為「個人化」的基礎引擎。
前文請見<人臉辨識的核心問題與商機>
徐宏民(Winston Hsu)現任富智捷(MobileDrive)技術長暨副總經理以及台大資訊工程學系教授。哥倫比亞大學電機博士,專精於機器學習、大規模影像視訊搜尋與辨識。為訊連科技研發團隊創始成員,慧景科技(thingnario)共同創辦人,NVIDIA AI Lab計畫主持人;曾任IBM華生研究中心客座研究員、美國微軟研究院客座研究員。習慣從學術及產業界的角度檢驗技術發展的機會;十餘年產學合作及新創經驗。曾獲2018 IBM Research Pat Goldberg Memorial Best Paper Award 、2018偽裝人臉辨識冠軍、傑出資訊人才獎、吳大猷先生紀念獎等國內外研究獎項。