Fisher 臉
Fisher 臉(fisherfaces)是一種人臉辨識方法,修正了特徵臉的核心盲點:特徵臉是針對總變異量壓縮,但人臉資料中最吵雜的變異通常是光照與表情,而非身分。Fisher 臉改為針對鑑別力壓縮——它刻意尋找能把不同的人拉開、同時把同一個人的影像擠在一起的方向。直覺是一場拔河:把人臉投影到一條線(或幾個方向)上,使不同身分投影後的群集彼此相距甚遠,而每個群集本身又很緊密。
這就是線性判別分析(linear discriminant analysis, LDA,此處為 Fisher 準則)。你從有標籤的訓練人臉定義兩個量:類內散布(within-class scatter),量測同一個人的影像有多分散;以及類間散布(between-class scatter),量測不同人的平均臉相距多遠。Fisher 臉找出能讓「類間散布對類內散布之比」最大化的投影方向——把各類的平均值推開、把每一類的成員拉近。由於資料維度極高、類內散布矩陣會奇異(影像數遠少於像素數),Belhumeur、Hespanha 與 Kriegman 的標準作法是先用 PCA(特徵臉)降維,再在降維後的空間中套用 LDA;其結果至多有(類別數 − 1)個判別方向。辨識同樣是最近鄰,但此時是在這個具鑑別力的子空間中進行。
在實證上,Fisher 臉對光照與表情明顯比特徵臉更穩健,因為它在設計上就能學會忽略這些因素造成的同人內部干擾——這正是「除以類內散布」的整個用意。問題在於 LDA 是監督式的,需要每個身分有數個樣本才能估計類內散布;當每人只有一張影像時會吃力,類別太小時會過度擬合,而且它仍是純粹線性的投影。它是視覺中監督式降維的經典範例,而其血脈清晰可見:正如特徵臉讓位給學得的嵌入,現代深度人臉辨識(FaceNet 的三元組損失、ArcFace 的角度邊際)追求的正是同一個目標——身分之間大幅分離、身分之內緊密聚集——只是在一個學得的非線性空間中進行。
要內化的關鍵對比:PCA/特徵臉是非監督式的,保留變異量最大的方向(可能是光照);LDA/Fisher 臉是監督式的,保留類別可分性最大的方向。若你的干擾變異(光照)佔主導且你有標籤,LDA 勝出;若你每類只有一張影像或沒有標籤,PCA 才是你實際能估計的。