王碩珩 羅凱鴻 趙梓鑒 趙航 劉雪飛



摘要:針對人臉圖像的性別識別領域,從準確率、計算速度、穩定性等多個角度出發,采用無監督學習、半監督學習、有監督學習等多種機器學習方法進行計算識別。將不同機器學習方法的運行結果進行統計整理,分析各個方法的優缺點。通過參數特征的對比,得出不同應用場景下的機器學習方法適用性結論,為實際應用場景提供具有參考價值的機器學習方法選擇方案。
關鍵詞:性別識別;機器學習方法;適用性
中圖分類號:TP181? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)18-0064-03
開放科學(資源服務)標識碼(OSID):
隨著機器學習方法的不斷發展,人臉識別技術的水平也在逐漸提高。與其他的生物特征相比較而言,人臉特征更加清晰且易于觀察,輪廓與構造的微小差異即可提供較為顯著的區分效果。這使得對于人臉特征的識別與分析,在身份驗證及日常生活中的人機交互等方面的應用存在巨大的提升空間與潛在價值。在生活中,人們通過自身視覺的判斷可以輕易通過人臉來判斷其性別,但是讓計算機來進行識別判斷并不容易。這需要計算機能夠對人臉圖像進行特征處理及提取,并使用搭建好的模型進行訓練。目前,人臉識別技術的應用場景,大多數情況采用人臉圖像特征提取存儲,在人臉識別時進行相關特征點差異性分析比較。
人臉識別在生活中應用的深度與廣度都在持續增加,應用場景的不斷擴展使得識別過程對所采取的機器學習方法有了不同的側重,需要針對不同具體場景的功能需求做出選擇。與此同時,性別識別作為人臉識別重要的前置工作,能夠大幅降低人臉識別的工作量,節約資源并提高效率。因此,研究不同機器學習方法對人臉性別識別的適用程度,分析得出在不同種類應用場景中,適用度較高的機器學習方法,為人臉識別的后端實現提供相應建議與參考。以人臉圖像性別識別為著手點,嘗試使用多種機器學習方法,并且對比分析這些方法在此領域的適用性,在學習使用多種機器學習方法的同時,判斷在此領域上哪種機器學習方法更具優勢。
1 核心技術
PCA(主成分分析方法)[1];K-Means[2];標簽傳播算法[3];K最近鄰分類算法[4];卷積神經網絡[5]。
2 數據集
2.1 數據集信息
數據集分為兩類,一類是無性別標簽的人臉圖像,另一類是已根據性別劃分好的有標簽人臉圖像。其中,無標簽數據集摻雜有建筑、動物等非人臉的無效數據,以及側面照、模糊照等不良數據。
2.2 數據讀取
數據集較大,故使用Total Commander文件管理器,將數據集包含數據劃分到多個文件夾中,劃分文件夾結構見圖1。采用多線程方式進行讀取,以提高數據讀取效率。使用Python的Threading庫創建多線程,劃分了多少個文件夾即為多少個線程。關鍵代碼截取如下:
path:劃分的文件夾所在路徑
x:讀取劃分文件夾編號
"""
threads = []
x = 1
for t in range(0, 5):
t = threading.Thread(target=read_img, args=(path, x))
threads.append(t)
x += 1
2.3 數據預處理
數據集圖像均為彩色,像素較高、規模較大,通過圖片灰度化操作進行優化。在RGB模型中,當R=G=B時,可表示一種灰度顏色,灰度圖像中的每個像素只需要一個字節用于存放灰度值即可?;叶然幚砗?,圖像所占空間從原先存放R、G、B三個軌道信息變為存放灰度值一個軌道的信息,能夠大幅減小圖像的規模。
數據集中包含個別非人臉的無效圖像,通過人工篩選縮略圖的方式進行刪除處理。
數據集中存在側面人像、模糊人像、全身人像等,通過人臉裁剪的方式,將人臉以外的部分進行篩選及裁剪,排除圖片背景與無用信息,保留面部主要特征。
運用主成分分析技術(PCA),對人臉圖像進行降維處理,在保留人臉主要特征的前提下,壓縮數據空間,將多元數據的特征在低維空間里直觀地表示出來。
最后,將預處理后的數據轉存到本地,以便后續使用數據集時節省時間。
3 數據集添加標簽
3.1 無監督學習
采用K均值聚類算法。算法將按照數據最明顯的特征進行聚類,聚類中心通過參數K進行設置。預處理后的圖像,男女人臉特征差異不大,性別特征無法在圖片中直觀顯現。進行灰度化處理后,灰度值特征貢獻度超過男女性別特征,使聚類算法按照灰度值劃分,最終導致結果不準確,結果為不宜采用K均值聚類算法添加標簽。
3.2 半監督學習
采用標簽傳播算法。面對數據集中的人臉圖像,通過人工識別的方式判斷性別,幾乎不會出現判斷錯誤。因此,首先隨機選擇一部分人臉圖像,通過人工識別判斷性別,為無標簽的數據添加標簽。隨后,以這部分人工添加標簽的數據為基礎,使用標簽傳播算法,對模型進行訓練,通過迭代的方式為剩余無標簽的數據添加性別標簽。
4 適用性分析
針對有標簽的人臉圖像數據,即可進行不同機器學習方法的適用性分析。通過分析結果,便可為實際運用中機器學習方法的選擇提供較為準確的參考意見。本項目中,使用KNN算法和CNN兩種算法進行適用性分析及比較。
4.1 KNN
如圖4所示,K值在1~100的取值范圍中,可直觀地觀察到K值與模型預測準確率的關系變化。首先,將K取值為1作為起點,隨著K值取值的逐漸變大,預測準確率整體處于上升的大趨勢中。當K值處于1~30的取值區間時,準確率數值處于不穩定的震蕩狀態,不具備參考價值與實際意義。當K值處于30~60的取值區間時,震蕩幅度減小,準確率開始穩定上升。繼續增大K的取值,當K值處于60~100的取值區間時,準確率趨于穩定,以較小幅度的波動分布于0.7以上。由上述可知,使用KNN算法時,K值取60以上,可得到穩定準確率高于0.7的預測結果。
4.2 CNN
如圖5所示,參數Epoch取值范圍設定為0~60,代表準確度的accuracy值隨著Epoch的增大而逐漸增加。初始的增長速度較快,當Epoch值超過50時,accuracy的增長速度逐漸降低,趨于平緩。而loss值與lr值都隨epoch值增加而減少,有所不同的是,loss值從初始便急劇減少,而lr值下降則是呈階梯狀的。此外,lr的實際數值變化不大,圖中的lr數值的坐標軸數量級很小,這樣做的原因是為了通過放大圖形細節,清晰地觀察參數數值的變化規律。在epoch值趨近于60時,loss值與lr值均趨近于0。
4.3 綜合比對
綜合比對KNN和CNN兩種算法,在參數設置為最優時,采用CNN算法的模型,其判斷的準確率平均高于KNN算法模型的準確率 10個百分點。然而在運行速度上,KNN算法的計算速度遠快于CNN算法。因此,對準確率的需求較高情況下,建議在一定程度上降低運算速度為代價,使用CNN算法建立模型,從而在識別人臉圖像性別的過程中獲得更佳的效果。
5 結語
近年來,人臉識別隨著計算機技術的發展與算法的優化逐漸成熟,并與傳統技術相結合,在許多領域初步投入使用,如銀行業務辦理、人臉身份識別、刷臉支付技術等。與此同時,在多領域應用的反饋,又加快了人臉識別技術的發展與改進。作為一個已經基本明確的發展方向與趨勢,大量專業人員涌入,為該技術添磚加瓦,注入活力,呈現出百花齊放的盛況,這為人臉識別技術的飛速發展奠定了基礎。而在市場競爭日趨激烈的今天,百家爭鳴,意味著在效率和準確率等參數方面的錙銖必較。項目中,筆者僅針對人臉圖像性別識別領域,使用了有限的幾種機器學習方法進行計算,對比結果具有局限性。
下一步工作,有兩個研究方向可供選擇。一是擴展識別的功能維度,如通過面部特征識別人臉所屬年齡段,又如通過表情特征判斷人臉此刻大致的心情狀況等。二是擴充對比隊列中的機器學習方法。機器學習方法種類繁多,本項目所涉及的僅為極小部分,而每種機器學習方法都有其特征及適用場景。不僅如此,同一種機器學習方法,其本身,也是在人們的不斷改進與完善中保持成長的。如項目中使用到的K-means聚類算法,其改進算法之一是K-means++算法,聚類中心的選擇由完全隨機變為距離其他聚類中心更遠的點,有更高的概率被選為新的中心。另一種改進是ISODATA,在算法過程中可根據某個類別的樣本數占比和分散程度,自動調整聚類中心的數量。此外還有將樣本映射到特征空間再進行聚類的Kernel K-means等。改進后的機器學習方法,其特征及使用場景均值得深入研究和探索。
參考文獻:
[1] 陳佩.主成分分析法研究及其在特征提取中的應用[D].西安:陜西師范大學,2014.
[2] 李正兵,羅斌,翟素蘭,等.基于關聯圖劃分的K-means算法[J].計算機工程與應用,2013,49(21):141-144,151.
[3] 陶劍文,Fu-Lai CHUNG,王士同,等.稀疏標簽傳播:一種魯棒的領域適應學習方法[J].軟件學報,2015,26(5):977-1000.
[4] 張著英,黃玉龍,王翰虎.一個高效的KNN分類算法[J].計算機科學,2008,35(3):170-172.
[5] 周飛燕,金林鵬,董軍.卷積神經網絡研究綜述[J].計算機學報,2017,40(6):1229-1251.
【通聯編輯:唐一東】