?

基于Gabor小波和SSA優化的SVM人臉表情識別研究

2023-12-02 02:33王子凡朱強軍張廣海
太原學院學報(自然科學版) 2023年4期
關鍵詞:搜索算法識別率小波

張 輝,王 楊,,王子凡,朱強軍,張廣海

(1.安徽師范大學皖江學院 電子工程系,安徽 蕪湖 241003;2.安徽師范大學 計算機與信息學院,安徽 蕪湖 241000)

0 引言

自20世紀60年代出現人臉識別技術以來,至今已有大半個世紀的發展史。人臉識別技術也在人們的生活之中得到了廣泛的應用。隨著人工智能技術的發展,用智能技術去識別生物特征已成為目前最受歡迎的技術之一。人臉表情蘊含著大量的信息,從表情中可以提取出非常豐富的信息,在商業方面,可以根據顧客的喜好進行商品的推薦;在教育方面,表情識別可以監控學生在課堂上的狀態,從而達到更好的教育水平,在交通安全方面,可以監控駕駛員的是否疲勞,減少交通事故的發生?;谌斯ぶ悄艿姆椒ㄈプR別人臉表情已成為目前的研究熱點。

人臉表情識別一般包括4步[1]。第1步,進行圖像采集,既包括靜態的采集,也包括動態的采集;第2步,進行圖像中人臉的檢測和定位,目的是定位人臉在圖像中的位置坐標;第3步,圖像的預處理,因為在采集圖像的過程中不可避免地會有一些噪聲的干擾;第4步,特征提取和通過分類器進行分類。人臉表情識別技術的關鍵在于特征的提取,特征提取的好壞可以直接影響到算法的識別結果。人臉表情識別最早是基于幾何結構的算法、基于隱馬爾克夫法等。目前的主流特征提取有基于局部二值特征模式(local binary patterns,LBP)[2]、基于局部方向的模式(local directional pattern,LDP)[3]、Gabor小波+主成分分析法[4]。隨著深度學習的發展,新的方法不斷出現,如基于卷積神經網絡(convolutional neural networks, CNN)[5-6]、基于生成式對抗網絡(wasserstein generative adversarial net,WGAN)[7]等。

本文提出了一種基于Gabor小波和麻雀搜索算法(sparrow search algorithm,SSA)優化支持向量機(SVM)的人臉表情識別方法。實驗在JAFFE數據集和CK+數據集進行訓練和測試,使用Gabor小波先對圖像進行特征提取,將提取之后的特征輸入到主成分分析法(principal component analysis,PCA)進行降維,把降維之后的特征用麻雀優化算法優化之后在SVM之中進行表情分類。麻雀優化算法的優點是快速而且準確地搜索到SVM的核函數參數c和懲罰參數g,從而達到快速訓練的目的。通過實驗和分析得出,本文所提算法在正確率上達到比較高的程度,在尋優速度方面領先于傳統的網格搜索法。

1 Gabor小波紋理特征提取

目前,對數字圖像的處理主要可以分為兩個方面,分別為空域和頻域??沼蛞簿褪强臻g域,是指對圖像進行像素級的處理;頻域是通過將數字圖像從像素級別轉換成頻率級別進行分析。頻域分析法在目前的圖像處理技術中有著廣泛的應用,例如,在可以利用頻率成分和圖像外表之間的關系,將一些空域上很難表述的任務變得簡單,濾波在頻率域更加直觀,它可以解釋空間域濾波的某些性質。從空域分析變換成頻域分析就要用到傅里葉變換。傅里葉變換將空域變換成頻域,為圖像的處理提供了一個新的方法。但是傅里葉變換有很大的局限性,因為,在對數字圖像進行變換時是對整個時域圖像進行積分變換,很難關注到一些局部的變化,導致傅里葉變換很難提取到圖像的邊緣特征,不利于紋理特征的提取。

為了解決傅里葉變換的缺點,D·Gabor在1946年提出了Gabor小波變換[8],在變換之中引入了時間局部變化的窗函數,使圖像的邊緣特征明顯,更加能夠關注到圖像的局部空間變化,Gabor小波對圖像的邊緣敏感,能夠提供良好的方向選擇和尺度選擇。設f為具體的函數,且f∈L2(R),則Gabor變換的定義式為

(1)

(2)

信號重構的表達式為

(3)

Gabor小波是由Gabor變換推導而來,其中二維的Gabor小波的表達式為

(4)

式中:γ表示Gabor濾波器的方向;δ表示濾波器的頻率;z表示圖中像素的坐標;σ表示濾波器的方向;i是算子,為復數。

2 麻雀優化算法優化的SVM

2.1 SSA優化算法原理

麻雀搜索算法是2020年XUE et al[9]提出的一種智能優化算法。算法主要模擬麻雀的覓食行為和反捕食行為。算法比較新穎,具有尋優能力強,收斂速度快等特點。主要的規則如下:

該算法將麻雀的種群按個體在種群中的分工分為發現者和跟隨者。

1)發現者通常在種群中儲存較高的能量,負責在整個種群中尋找食物豐富的區域,并為所有參與者提供覓食的區域和方向。在建立模型時,能量儲備的高低取決于個體麻雀的適應度值。

2)當麻雀發現捕食者時,個體麻雀會發出警報信號。如果報警值高于安全值,發現者會將跟隨者帶到另一個安全的地方進行覓食。

3)發現者和追隨者的身份是動態不固定的。只要能找到更好的食物來源,每只麻雀個體都可以成為發現者,但發現者和追隨者在整個種群中的比例保持不變。換句話說,當一只麻雀個體成為發現者時,另一只麻雀個體成為追隨者。

2.1.1發現者位置更新

(5)

2.1.2更新跟隨者位置

(6)

2.1.3偵查預警行為

(7)

麻雀優化算法主要是不斷的迭代更新發現者和跟隨者的位置,最終找到全局的最優值,本算法的主體流程如圖1所示。

圖1 麻雀搜索算法優化流程

2.2 主成分分析法(PCA)

主成分分析法(PCA)是一種對多維特征進行降維的算法。在用SVM分類器對數據進行分類之前,如果輸入的特征維度較高,就要對特征的維度進行降維。PCA就是目前應用最為廣泛的數據降維算法。

PCA算法的主要思想是將在特征中關系可能比較緊密的變量,通過計算將其變成盡可能少的變量,這些新的變量能夠最大程度地保留原來的特征,去除原來的冗余特征,使維度變低,減少樣本的存儲空間,能夠加速計算速度,減少訓練模型出現過擬合的情況。

2.3 支持向量機算法(SVM)

支持向量機(SVM)是一種有監督方式的機器學習算法。機器學習算法是能夠按照監督的方式很好地完成二分類的廣義線性分類器。SVM是在特征空間中最大化間隔的線性分類器。將SVM進行推廣即可以完成數據線性不可分的問題。首先,SVM通過選擇一個核函數K,將低維的非線性數據映射到高維的空間中。在高維空間中完成線性分割,構造出最優分類超平面。

核函數是計算兩個向量在隱式空間映射后空間中的內積函數。核函數的定義為

φ(x)X→H

(8)

式中:X為輸入特征;H為映射之后的希爾伯特空間特征。使所有的x,y∈X函數K(x,y)=φ(x)φ(z),則K(x,y) 為核函數;φ(x) 為映射函數;φ(x),φ(y)為x,y映射到特征空間的內積。

目前主要的核函數有:

線性核函數,主要用來解決線性可分的數據,直接在原始空間進行分類,對于線性可分數據,其表現良好;多項式核函數,可以將低維的輸入特征空間映射到高維的輸入特征空間,比較適用于正交歸一化的數據;高斯核函數,是一個局部性很強的核函數,目前應用非常廣泛。

本實驗采用高斯核函數。

高斯核函數也稱徑向基函數,其定義式為

(9)

式中:x′ 為核函數中心;x-x′2為x和x′ 的歐式距離,值隨兩個向量之間的距離增加而增加;σ2控制著核函數的作用范圍。核函數無論是在大樣本還是小樣本數據中都有著很廣泛的應用。

2.4 使用SSA優化SVM

SVM中的核函數參數c與懲罰參數g會直接影響SVM分類器的分類性能。核函數參數c過大,會造成模型結構復雜,容易出現過擬合;核函數參數過小,會造成模型結構過于簡單,對樣本的擬合能力就會下降。而懲罰參數g過大或過小,都會在測試時導致泛化能力下降。因此選擇一對合適的核函數參數c與懲罰參數g是SVM分類器分類性能高低的關鍵。使用SSA優化SVM就是對SVM的核函數參數c與懲罰參數g進行尋優。算法主要步驟如下:

1)初始化麻雀種群規模的總數,確定最大迭代次數,分配發現者和跟隨者的比例,并確定需要優化參數的個數及每個參數的上限1、上限2,下限1、下限2。

2)計算種群之中每個麻雀的適應度,并為其分配種類。

3)根據公式(5)-公式(7),對麻雀種群進行位置更新,并重新計算每個麻雀的適應度,重新分配麻雀種類。

4)是否達到最大迭代次數,若未達到繼續執行步驟3,若達到則結束迭代。

5)計算種群中最優位置的適應度,所對應的位置就為最優的核函數參數c與懲罰參數g。

3 實驗設計及分析

3.1 數據集和實驗設備描述

本文采用的數據集為JAFFE和CK+人臉表情數據庫。

JAFFE數據集一共有213張圖片,分別來自10名日本女學生。每人做出7種表情,分別為憤怒、厭惡、恐懼、高興、悲傷、驚訝、中性。每種表情的數量分布如表1所示。

表1 JAFFE每種表情的數量分布

CK+數據集[10]由123名年齡從18歲到30歲的參與者組成,共593張圖片序列。7種表情分別為憤怒、厭惡、恐懼、高興、悲傷、驚訝、蔑視。本實驗從每次序列中提取最后3個幀,共981張圖片。每種表情的數量分布如表2所示。

表2 CK+每種表情的數量分布

采用MATLAB R2021a進行實驗,在Intel(R) Core(TM) i5-7300HQ 2.50 GHz,8 GB內存,win10的設備上進行。

3.2 實驗過程設計

本文結合Gabor小波、麻雀搜索算法、快速主成分分析法、支持向量機技術,完成對7種人臉表情的分類。通過Gabor小波技術先進行圖片紋理特征提取,之后,通過快速主成分分析法進行降維,將降維之后的數據輸入SVM分類器。將人臉分類器分為兩組,一組用于訓練,剩下的用于測試。算法的主要步驟如下:

1)完成人臉表情數據庫的訓練集和測試集的分類,將訓練集輸入Gabor小波進行紋理提取,每個Gabor小波提取的特征有1 440維。

2)由于Gabor小波提取出的特征過高,不能直接輸入SVM分類器進行分類。將提取出的特征輸入主成分分析法進行降維。

3)將降維之后的特征輸入經過麻雀搜索算法優化后的SVM分類器進行分類。

重復1) 和2) 兩個步驟,調整測試集和訓練集的比例和主成分分析法的維度。

實驗總體流程如圖2所示。

圖2 實驗總體流程圖

3.3 實驗結果及分析

JAFFE數據集中劃分的數量比例為7∶3或8∶2,每張圖片的維度從5維開始。測試的結果如表3所示。

表3 JAFFE數據集測試結果

由表3數據可知,當JAFFE數據集的訓練集和測試集的比例達到8∶2且維度達到30維時可以到達最佳的識別率90%,當維度達到30時,正確率不再上升。達到最高識別率時測試集的識別情況如圖3所示。

圖3 JAFFE數據集的最高識別率圖

CK+數據集中訓練集和測試集劃分的數量比例為7∶3或8∶2,每張圖片的維度降到5維開始。每次測試的平均正確率如表4所示。

表4 CK+數據集測試結果

由表4可知,訓練集和測試集比例為7∶3或8∶2時都有較高的識別率,當比例為7∶3、維度為15維時,最高識別率可達97%。當訓練集和測試集的比例達到8∶2時,在25維就可以達到平均99%的準確率。在CK+數據集上的表現較為優越。當CK+數據集達到最高識別率時,測試集的識別情況如圖4所示。

圖4 CK+數據集的最高識別率圖

由表3和表4可知,本文算法在JAFFE數據集上的識別率最高可以達到90.69%,在CK+數據集上的識別率最高可達99%。

3.4 實驗結果對比

3.4.1算法尋優時間對比

在JAFFE數據集上選取訓練集和數據集之比為8∶2、主成分分析法降維到35維時,將本文所提麻雀搜索算法(SSA)和傳統網格搜索算法優化的SVM進行比較。設置傳統網格搜索算法的搜索步長為0.2,將麻雀搜索算法和傳統網格搜索算法的時間進行比較,兩個算法的平均尋優時間如表5所示。

表5 算法尋優時間的對比

從表5可以看出,本文所采用的麻雀搜索優化算法與傳統的網格小步長搜索算法相比,在尋優間上大幅度領先。

3.4.2算法識別率對比

將本文算法與已有的機器學習算法進行對比,在JAFFE數據集上進行實驗,訓練集與測試集的劃分為8∶2,PCA將Gabor小波提取的特征降維到30維,如表6所示,可以看出本文所提算法在正確率上較為有優勢。

表6 算法識別率對比

4 結語

針對傳統支持向量機的網格搜索算法尋優速度慢,提出了一種采用SSA優化SVM的策略。先對數據集采用Gabor小波提取特征,將提取的特征經PCA降維之后,輸入到經SSA優化后得到核函數參數c與懲罰參數g的SVM中進行分類。實驗結果表明,本文算法在JAFFE數據集上平均可以達到90% 左右的識別率;在 CK+ 圖片序列數據集上最高可達100% 的正確率。將本文所提算法在JAFFE數據集上與傳統網格搜索算法對比,其在尋優時間上優勢明顯。在今后的研究中,還可以針對麻雀搜索算法進行優化改進,根據其在尋優過程中種群數量減少等問題,增加其尋優能力,或者使用特征融合策略進一步提高正確率。

猜你喜歡
搜索算法識別率小波
構造Daubechies小波的一些注記
改進的和聲搜索算法求解凸二次規劃及線性規劃
基于類圖像處理與向量化的大數據腳本攻擊智能檢測
基于MATLAB的小波降噪研究
基于真耳分析的助聽器配戴者言語可懂度指數與言語識別率的關系
提升高速公路MTC二次抓拍車牌識別率方案研究
基于改進的G-SVS LMS 與冗余提升小波的滾動軸承故障診斷
高速公路機電日常維護中車牌識別率分析系統的應用
基于汽車接力的潮流轉移快速搜索算法
基于逐維改進的自適應步長布谷鳥搜索算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合