葉甘 薛毛毛 賈宛瑜 黃江衡 戴澤麟
摘要:在人臉維度里,對稱性是一個重要特征。以往許多研究人員利用PCA把相關(guān)數(shù)據(jù)從高維降到低維來實現(xiàn)人臉識別、提升識別效率。該文在PCA(主成分分析法)的框架下探討了面部的對稱性。研究通過平均兩半臉來操縱面部的對稱,認為良好估計的對稱臉位于一個低維的子空間。受此啟發(fā),在研究中提出一種類似于PCA的模型,即鏡像PCA,分析和提取人臉的低秩對稱特征及其主要發(fā)展方向,在現(xiàn)有的優(yōu)化框架下大大提高了人臉的識別效果。通過試驗,證明了這種方法的科學有效性和魯棒性。
關(guān)鍵詞:PCA;特征提取;人臉識別;對稱性
中圖分類號:TP181? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)04-0100-03
對稱性是自然界最重要的特征之一, 21世紀隨著進入信息大數(shù)據(jù)時代以來,人們的生活以及生產(chǎn)方式逐漸被數(shù)字和數(shù)據(jù)化,圖形、視頻、聲音等信息被轉(zhuǎn)化為數(shù)字信息在機器中不斷運算著轉(zhuǎn)變成機器所能理解的形式,由此邁入人工智能時代。
在某種意義上說,機器在不斷地探知人類所能認知的領(lǐng)域,從阿爾法狗戰(zhàn)勝圍棋大師,智能時代又迎來突飛猛進的發(fā)展。
人臉識別過程是把圖像感知信息轉(zhuǎn)化為高維的數(shù)字信息,通過PCA(主成分分析法)對數(shù)字信息進行降維,傳統(tǒng)研究往往是將整張人臉圖片轉(zhuǎn)化為通道的數(shù)字信息進行特征提取和識別,但基于人臉是對稱的,于是可以用人臉的對稱性對圖像來進行鏡像的對稱識別,由此來提高識別率、提升識別容錯率。
1 PCA算法
PCA (Principal Component Analysis ),即主成分分析法,它也是目前在人工智使用最廣泛的一種數(shù)據(jù)降維方法,其設(shè)計思路是把m維的特征直接映射到 [k(k<n)]維上,這[k]維特征是新的正交特征,全新構(gòu)造得出的[k]維特征,也被統(tǒng)一叫作主元,即保留原數(shù)據(jù)最大的方向,此方向使數(shù)據(jù)的損失降到最低。
1.1空間坐標軸
根據(jù)進行變換時的坐標方向軸基的工作法則,工作邏輯原理是在原始二維空間中依次尋找并得到一個非常適合進行變換時的坐標基,也是需要重新得到一個與所有數(shù)據(jù)高度投影相關(guān)且互為一個正交的變換坐標方向軸,其中第一個新的正交坐標點在軸高度必須是原來的兩個數(shù)據(jù)高度投影后方差最大的一個坐標方向,第三個新的坐標軸是與第1、2個軸所正交的平面中方差最大的,按照此邏輯類推,可以得到[n]個這樣的坐標軸。
假設(shè)圖1中的兩個形狀類里有許多數(shù)據(jù)點,按原基即[x]軸方向投影會發(fā)現(xiàn)兩個數(shù)據(jù)類中會有許多數(shù)據(jù)點重合,所以會導(dǎo)致原始數(shù)據(jù)大量丟失,因此原始基不是最佳的方向。衡量最基投影方向的方法是數(shù)據(jù)在新投影到基的方向使數(shù)據(jù)之間方差最大,其所保留數(shù)據(jù)也將是最大化,新基的具體產(chǎn)生過程以及方差為什么最大的方向保留的數(shù)據(jù)越多,其核心原理思想會在下兩個小結(jié)來進行具體說明。
1.2 基的理論
在二維笛卡爾坐標里一個二維向量對應(yīng)的是從原點出發(fā)的有向線段,向量實際表示是在x軸和y軸上的投影值,投影值是一個矢量,可以表示正負。引入一個簡要的定義:以[x]軸和[y]軸上的正方向長度相等于1的一個矢量作為表示標準,不難證明所有的矢量都可用這個組合公式來表示。即被稱作二維空間的某一個基。為了方便,都會默認地選擇[(1,0)]和[(0,1)]作為基,因為它們分別代表的是[x]和[y]在兩軸正相同方向上的一個單位坐標和向量,因此可以使得在二維平面上每一點的坐標和向量都有相同的對應(yīng)性,這樣坐標的可讀性非常高。但實際上任何兩個與二維線性向量無關(guān)的二維線性向量都必須是它們可以相互構(gòu)造并形成一組基,所謂的二維線性向量無關(guān)是在二維線性平面,甚至可以簡單地直接認為它們可以是兩個與之無關(guān)且不在同一條二維直線上的二維線性向量。
1.2.1變換基的表示方法
采取一種簡單而有效地禁止使用基布爾變換的解決方法。舉一個實際例子,將[(x,y)]坐標變換表示成一個放在新基上的一個坐標,首先使用[(x,y)]與第一個基之間最后做了內(nèi)積的一個運算,作為第一個新基上坐標的一個分量,然后又再使用[(x,y)]與第二個基之間最后做了內(nèi)積的一個運算,作為第二個新基上坐標的一個分量。實際上,已經(jīng)發(fā)現(xiàn)可以通過利用兩個矩陣上的互數(shù)向量相乘的這種形式簡單地用來表示這個基的轉(zhuǎn)移位置變換,即將新基上的矩陣分別乘以兩個對應(yīng)的原始位置向量,結(jié)果剛好因此成了一個新基的起始位置??梢园裑n]維的數(shù)據(jù)經(jīng)過基轉(zhuǎn)換后放置在較低的維度空間里,這樣變換后的維度大小主要依賴于基。
1.3協(xié)方差矩陣及最優(yōu)情況
其中一個最為關(guān)鍵的課題:是怎樣選擇一個基才能成為最優(yōu)?;蛘呤钦f,如果已經(jīng)有了一組 n 維的向量,現(xiàn)在需要將其下限值降為[k]維[(k<n)],應(yīng)該選擇最優(yōu)的[k]個基,這樣才能盡可能地保留原來的信息。
1.3.1協(xié)方差和散度矩陣
(1)方差的特征計算公式主要目的是針對一維的各殊特征,即針對相同的各殊特征不同維度樣本的特征取樣,差值需要進行一個相應(yīng)的特征計算才能得到。協(xié)方差則必須在這種特殊情況下,即要求至少樣本能夠同時滿足兩個不同維度的特征;方差公式是協(xié)方差的一種特殊特征的表現(xiàn)。
(2) 方差和協(xié)方差的除數(shù)是[n-1],這是為了得到方差和協(xié)方差的無偏估計。協(xié)方差為正時,說明[X]和Y是正相關(guān)關(guān)系;協(xié)方差為負時,說明[X]和[Y]是負相關(guān)關(guān)系;協(xié)方差為0時,說明[X]和[Y]是相互獨立。[Cov(X,X)]是[X]的方差。當樣本是[n]維數(shù)據(jù)時,它們的協(xié)方差實際上是協(xié)方差矩陣(對稱方陣)。例如,對于三維數(shù)據(jù)[(x,y,z)],計算它的協(xié)方差是:
1.3.2最優(yōu)情況
如圖2,下方的點代表太陽粒子,上方的點代表在上的一個投影,直線的方向傾斜和曲率是一個直線的時間方向長度矢量,而且它們也都是以直線時間長度為測量單位的方向矢量。上方的點是一個樣例投影樣本點,離這個原點的維度距離是0,由于這些投影樣本點(樣本比例)的各個投影維度距離特征平均值都是0,因此從一個樣例投影在原點可以得到上的一個樣本點(僅因為有一個樣例投影在原點而得到另一個投影原點的維度距離特征平均值)仍然是0。
其中[u]為一個具有特征值的矢量。最佳特征投影矢量直線所指的是當最佳特征投影值最高時所給出對應(yīng)的第二個最佳特征投影矢量,其次指的為第二個相同時所對應(yīng)的最佳特征投影矢量,依次往后進行以此類推。
因此,在高維設(shè)計時,如果想要獲得最佳的[k]維特征值,可以通過對協(xié)方差矢量矩陣模型中的一個特征的取值函數(shù)進行矢量分解,從而直接得到前面較大的[k]維新特征值矢量,而且在設(shè)計最后[k]個新維時,它必須是正交的。在實例得到之前的第[k]個[u]以后,樣例經(jīng)過以下的幾次變換后已經(jīng)可以直接獲得一個新的實例樣本。
其中的低[j]維是[x(i)]在[uj上的投影],通過選取最大的[k]個[u],使得方差較小的特征被丟棄,從而達到降維后損失的信息較少。
2鏡像對稱
平面鏡面的成像是一種非常具有光學特殊性的天體物理學成像現(xiàn)象。指的是一個太陽或者它的火焰把光從鏡中直接照射到每一個普通人身上,被它們直接反射出來到了這個鏡面,這個平面鏡又把它的光直接反射到每一個普通人眼睛里,因此已經(jīng)觀察他在這個平面鏡中的真實形象和虛擬影像。當你在家里照著一面大的鏡子時,可以從這面鏡子里直接看到另外一個“你”,鏡子里的“人”本身其實是你的“像”(image)。
2.1人臉鏡像對稱
所謂人臉鏡像對稱宏觀來說,是基于已知半張臉的圖像信息,中間直線為對稱軸,一一對應(yīng)復(fù)刻出另外半張臉,鏡像臉與原來半張臉的數(shù)據(jù)一模一樣。從微觀數(shù)字信息的角度來看,鏡像的過程是把一通道像素所對應(yīng)的數(shù)字矩陣按反方向復(fù)制一份展現(xiàn)出來。
2.2鏡像核心代碼
for mx in range(0,420):
for ma in range(0,10304):
if (ma+1)%92==0:
p=1
mi=ma-91
md=ma-45
mg=ma+1
for my in range(md,mg):
mp=2*p-1
X[mx][my]=X[mx][my-mp]
p=p+1
print(type(X))
S=X
im=[]
for zh in range(0,420):
b=numpy.array(S[zh]).reshape(112,92)
im.append(b)
print(S[419])
print(X[0][0:92])
print(X[1][0:92])
print(X[419][0:92])
print(X.shape)
fig, axes = plt.subplots(42,10
,figsize=(15,50)
,subplot_kw = {"xticks":[],"yticks":[]} #不要顯示坐標軸
)
#填充圖像
for i, ax in enumerate(axes.flat):
ax.imshow(im[i],cmap="gray") #選擇色彩的模式
2.3鏡像效果
2.4識別率的對比
(1)將訓練集圖像和測試集圖像映射到特征空間。
要把訓練集和測試集在主成分的特征空間內(nèi)進行對比。
(2)判決測試
對正確率進行計算,確定算法所判斷結(jié)果與真實結(jié)果是否一致,用除以同類個數(shù)并取整的方法進行判斷。
(3)劃分數(shù)據(jù)集
x_train,x_test,y_train,y_test = train_test_split(X, y, test_size=0.2)
通過對測試集進行測試,發(fā)現(xiàn)鏡像后比鏡像前的識別率提升了0.2%。
3結(jié)論
本文在基于PCA人臉識別的基礎(chǔ)上,提出了對原始圖像信息采用鏡像對稱,提出新的識別方法,通過訓練集實驗表明,此方法整體上提升了識別率,相比于原始半張臉的識別效率提升了0.2%,展現(xiàn)出了更大的優(yōu)勢。不足之處是原先能識別部分圖片在鏡像對稱之后反而未能識別,這也是以后想改進的地方。
參考文獻:
[1] 李奇杰,楊洪臣.基于局部特征提取人臉識別方法優(yōu)化研究[J].金融科技時代,2021,29(4):46-52.
[2] 孫德剛.PCA算法的人臉識別技術(shù)研究[J].電子世界,2021(6):33-34.
[3] 袁旭,遲耀丹,吳博琦,等.基于PCA算法的人臉識別技術(shù)研究[J].信息技術(shù)與信息化,2021(3):34-37,41.
[4] 陳銘,周先春,周杰.基于鏡像圖的LRC和CRC偏差結(jié)合的人臉識別[J].南京信息工程大學學報(自然科學版),2019,11(3):340-345.
[5] 房夢玉,馬明棟.改進的PCA-LDA人臉識別算法的研究[J].計算機技術(shù)與發(fā)展,2021,31(2):65-69.
[6] 李妹.基于Opencv的人臉識別系統(tǒng)的應(yīng)用研究[J].信息系統(tǒng)工程,2020(12):85-87.
[7] 范文豪.基于深度學習的低分辨率人臉識別[D].南京:南京郵電大學,2020.
[8] 張娜,劉坤,韓美林,等.一種基于PCA和LDA融合的人臉識別算法研究[J].電子測量技術(shù),2020,43(13):72-75.
收稿日期:2021-05-22
作者簡介:葉甘(1998—),男,湖北監(jiān)利人,在讀碩士生,現(xiàn)研究方向為信息大數(shù)據(jù);薛毛毛(1997—),女,山西呂梁人,在讀碩士生,現(xiàn)研究方向為信息大數(shù)據(jù);賈宛瑜(1998—),女 河南南陽人,在讀碩士生,現(xiàn)研究方向為信息大數(shù)據(jù);黃江衡(1996—),男,廣西南寧人,在讀碩士生,現(xiàn)研究方向為信息大數(shù)據(jù);戴澤麟(1994—),男,湖北黃岡人,在讀碩士生,現(xiàn)研究方向為信息大數(shù)據(jù)。