傳統辨識方法

特徵臉

特徵臉(eigenfaces)是 1991 年奠基性的人臉辨識方法(Turk 與 Pentland),它把一張人臉影像當成極高維空間中的單一個點,然後大幅壓縮它。一張 100×100 的灰階人臉是一個由 10,000 個數字組成的向量,但真實人臉並非隨機散布在這 10,000 維空間中——它們群聚在一張薄片上,因為人臉共享極龐大的結構(兩隻眼睛、一個鼻子、平滑的皮膚)。特徵臉找出人臉實際變化最大的那數十個方向,並用一張臉沿著每個方向移動了多遠來描述它,把 10,000 個數字壓縮成大約 50 個。

其機制是主成分分析(principal component analysis, PCA)。你蒐集許多對齊好、相同大小的人臉影像,計算平均臉,並從每張臉減去它,於是只剩下相對於平均的偏差。PCA 接著找出這些偏差中變異量最大的正交方向——也就是資料共變異數矩陣的特徵向量,依其捕捉到的變異量排序。把這些特徵向量重塑回影像,它們看起來像鬼影般、通用的類臉圖樣,就稱為特徵臉。任一張臉於是被近似為「平均臉加上前幾個特徵臉的加權和」;這串權重(投影係數)就是這張臉精簡的特徵簽章。辨識不過是在這個低維權重空間中做最近鄰:把新臉投影下去,把它的權重與資料庫比較,挑出最接近的身分。一張臉與特徵臉子空間本身的距離,也能標示出輸入究竟是不是一張臉。

特徵臉之所以重要,是因為它引入了「外觀的子空間觀點」——也就是某一類影像活在一個可從資料學得的低維流形上的想法——並由此孕育了一整代以外觀為基礎的辨識。它的弱點很有教育意義:PCA 保留的是總變異量最大的方向,但人臉影像中最大的變異通常是光照與姿態,而非身分,所以特徵臉對光照的敏感度可能高於對「這個人是誰」。它也要求嚴格對齊與一致尺度,且是純粹線性、非監督式的壓縮。Fisher 臉藉由使用類別標籤修正了「身分對干擾」的問題,而現代深度人臉嵌入(DeepFace、FaceNet、ArcFace)則用學得的非線性子空間取代了手工建立的線性子空間,但特徵臉仍是表示人臉的經典第一課。

把一張 100×100 的人臉(10,000 個數字)投影到前 50 個特徵臉上,得到一個 50 個數字的特徵簽章——縮減 200 倍。辨識變成在這些 50 維向量上的最近鄰查找,而從這 50 個權重重建人臉,看起來仍可辨認出是同一個人。

又稱
PCA face recognitionEigenface method