人類隻需要很短的時間,就可以記住一個人的樣子,並在下次遇到他(她)的時候說出這個人的名字。但是對計算機來說,像人類一樣識別人臉是很困難的任務。在深度學習之前,有很多技術嚐試讓計算機實現“識別”人臉的功能,但是效果都差強人意。現在在深度學習的支持下,人臉識別取得了巨大的成功,已經廣泛應用於各類場景。例如,在金融支付領域,已經在越來越多地使用人臉識別技術,誤差達到了億分之一的水平。
那麽人臉識別是如何做到的呢?人類是通過提取不同的個體所對應的人臉的特征後,根據這些特征進行識別。特征是學習過程中的重要概念,是一個對象區別於其他對象的地方,任何“識別”都需要通過找到這些“特征”才能完成。
例如,對於汽車來說,車標就是最好的特征之一,通過車標可以快速識別出它是什麽品牌。進一步,如果想獲得車輛的具體型號,就需要更深層的特征,例如:
①車的形狀;
②車的發動機和排量;
③車的其他參數等。
一般地,用來進行識別的特征需要滿足下述特點。
①能夠區分不同的對象;
②容易提取;
③容易比對。
例如,區分不同的人,一個常用的方法是識別他們的指紋特征。指紋特征包括分叉數量、分叉點、指紋形狀等,這些特征,用指紋采集器瞬間就可以確定。指紋能夠區分不同的人,同時在采集器地支持下容易提取也容易比對。也就是說,指紋是滿足上述特點的“特征”。
在人臉識別這樣的任務中,人臉的特征是什麽?有些非常簡單的特征,例如:
①眼睛數量:2;
②鼻子數量:1;
③眼睛連線與鼻子中線垂直。
但絕大多數人的這些特征是相同的,所以此類特征並不足以區分兩個人。如何挖掘更深層次的人臉特征呢?在使用深度學習之前,直方圖以及基於直方圖的特征使用得較為廣泛,而且基於直方圖的識別方法現在仍然在行業中使用。下麵給出直方圖的定義和說明。