人臉識別之人臉關(guān)鍵特征識別

0 評論 8420 瀏覽 17 收藏 11 分鐘

編輯導語:當下人臉識別在生活中被應(yīng)用得愈加廣泛。那么,人臉識別是如何對人臉關(guān)鍵特征進行識別的?在前面文章里,作者對人臉識別的圖像預(yù)處理進行了介紹。本篇文章中,作者則介紹了人臉識別的關(guān)鍵特征識別,讓我們一起來看一下。

在上次人臉識別之圖像預(yù)處理中,我們增加了預(yù)處理環(huán)節(jié)、排除環(huán)境和其他因素的干擾,將注意力集中在人臉上,提升識別效果。

人臉識別的基本原理-3

人臉比對是通過計算兩張照片灰度值矩陣的距離來實現(xiàn)的,圖像預(yù)處理通過各種手段拉近了兩個矩陣間的距離,從而讓計算出來的結(jié)果更精準。

但這樣就夠了嗎?我們的計算是基于像素點的灰度值開展的,在計算中,各個像素點都參與運算,具有同等的重要性,對結(jié)果的貢獻度也是一樣的。這種設(shè)計是否合理,計算的粒度是否太細而影響結(jié)果的可靠性?

從直覺上判斷,圖像中像素的重要性程度肯定不一樣,比如眼睛、鼻子、嘴巴等部位的像素重要性應(yīng)該更高,對結(jié)果有更大的影響。而臉部中間部位的像素重要性比較低,甚至都沒有參與運算的必要性。

研究表明,確實有很多像素沒有參與運算的必要,這些像素被去除后不影響識別結(jié)果,還可以加快識別速度,并提升模型魯棒性。比如,在基于像素級別的人臉對比中,通過在圖像中加入一些噪聲,衍生出對抗攻擊,從而讓識別出現(xiàn)錯誤。

一、人臉特征

不管是傳統(tǒng)的機器識別,還是近幾年大火的深度學習,都是將人類的學習能力通過計算機的計算能力得到表達和遷移。仔細想想,當我們將注意力集中在臉部,會怎么樣描述一個人??赡艿拿枋鰰牵?/p>

人臉識別的基本原理-3

人天生就有很強的抽象和學習能力。當我們面對一張人臉照片時,會自動進行特征處理和變換。當再次面對這張照片時,即使臉部特征有所變形或者缺失,也不影響我們的識別。

人的這種抽象、變換及補全能力卻是計算機所缺少的,我們可以模仿人眼的這種識別手段,讓計算機將注意力轉(zhuǎn)移到鼻子、嘴巴等重要特征上,從而擁有部分程度的智能。

在計算機存儲的時候,不再是整個臉部的信息,而是眼睛、鼻子、嘴巴等臉部部件,通過這些部件間的比對來判斷是否為同一對象。這種方法叫做基于人臉關(guān)鍵特征的識別技術(shù),通常是通過邊緣、輪廓檢測來實現(xiàn)的。

二、邊緣檢測

什么是邊緣?通俗來說就是眼睛、鼻子等外部輪廓,在灰度圖像中就是一些灰度值變化明顯的點,這些變化反映了圖像的重要程度或所蘊含的信息。

直觀上看,圖像的邊緣附近的值出現(xiàn)明顯的分割,灰度值變化較大,而圖像中比較平滑的部分,其灰度值變化較小。對于計算機來說,可以通過灰度階的變化來對圖像信息進行邊緣檢測。

這背后有數(shù)學理論的支撐,我們一般用梯度來描述變化快慢。在圖像中的灰度變化既有方向也有大小,就可以使用圖像梯度來描述這種變化,進而可以檢測出圖像的邊緣。

在數(shù)學上,梯度既有大小,又有方向,并且需要要有一定的條件,比如可導等。在圖像中一般會簡化處理,使用算子進行代替。

算子其實也是一種濾波,但使用算子更強調(diào)其數(shù)學含義和特定用途。目前常用的邊緣檢測算子,包括Sobel,Laplacian算子和Canny等。我們簡單描述下Canny邊緣檢測。

Canny邊緣檢測

Canny邊緣檢測是澳洲計算機科學家 約翰坎尼(John F. Canny)于1986年開發(fā)出來的一個多級邊緣檢測算法,其目標是找到一個最優(yōu)的邊緣,其最優(yōu)邊緣的定義是:

  • 最優(yōu)檢測——算法能夠盡可能多地標示出圖像中的實際邊緣,漏檢和誤檢的概率非常??;
  • 最優(yōu)定位——檢測出的邊緣要與實際圖像中的實際邊緣盡可能接近;
  • 檢測點與邊緣點一一對應(yīng)——算子檢測的邊緣點與實際邊緣點應(yīng)該是一一對應(yīng)的。

Canny邊緣檢測分為如下幾個步驟。

1)圖像去噪

噪聲會影響邊緣檢測的準確性,因此首先要將噪聲過濾掉,通常使用高斯濾波。

2)計算梯度的幅度與方向

使用高斯濾波器來進行計算,讓距離中心點越近的像素點權(quán)重越大。

3)梯度非極大值抑制

對像素點進行遍歷,判斷當前圖像是否為局部最大值,即是否是周圍像素點中具有相同梯度方向的最大值。如果不是,則不是圖像的邊緣點,將灰度值置零,讓邊緣“變瘦”。

4)使用雙閾值算法確定最終的邊緣

經(jīng)過前面的步驟已經(jīng)基本可以得到圖像的邊緣,接下來對得到的邊緣進行修正。

設(shè)置兩個閾值:高閾值和低閾值。保留比高閾值高的邊緣,去除低于低閾值的邊緣,處于中間部分的則其連接情況進行再次處理:僅保留與其他邊緣連接的部分。

三、輪廓檢測

通過算子計算出來的邊緣一般是不連續(xù)的,很難形成相對完整和封閉的目標輪廓,這樣提取出來的特征效果可能不好。通過使用輪廓檢測算法,可以忽略背景和目標內(nèi)部的紋理以及噪聲干擾的影響,對邊緣進行細化并進行連接,解決那些不能依靠亮度建模而檢測出來的紋理邊界。

輪廓檢測也有一些方法,比如使用專門設(shè)計的檢測算子等。通過使用這些算子,可以生成更好的臉部特征,有利于后續(xù)的計算和比對。

四、實現(xiàn)過程

以上簡單描述了人臉關(guān)鍵特征的計算方法。在實際應(yīng)用中,需要借助于統(tǒng)計分析的技術(shù),從大量的人臉中找到對應(yīng)的特征,并通過訓練出不同的分類器,如嘴巴分類器、眼睛分類器等,從而實現(xiàn)人臉及關(guān)鍵部位的檢測。

在進行比對時,需要對包含臉部的所有可能檢測窗口進行窮舉搜索,得到關(guān)鍵部位信息,并進行存儲或比對,這個過程相對比較耗時。在比對過程中,可以使用各個部位進行相似性比對,并進行結(jié)果合并;或者直接對包含各個部件的全局特征進行比對,直接輸出比對結(jié)果。

這兩種方法同樣對應(yīng)著人類的識別過程,有研究表明,兒童識別目標(如人臉)往往依據(jù)目標的某些局部特征,而成年人則側(cè)重于記住目標的全局。

人臉特征的探測也可作為一種圖像預(yù)處理手段,如果確定了兩眼的位置,得到兩眼間的距離,依此就可得到人臉的尺度大小,進行尺度標準化處理,解決人員距離采集器遠近的問題。

五、算法評價

從理論上來說,人臉的關(guān)鍵部位特征相對比較穩(wěn)定,對人臉、方向等沒有過多要求,通過算法提取的特征能準確反映對象的特征,具有一定的不變性,保證了結(jié)果輸出的一致性,能夠滿足人臉識別在早期各應(yīng)用場景的使用。

當然,這里面的算子設(shè)計和模型構(gòu)建都需要有領(lǐng)域知識的支撐。算子的構(gòu)建、特征的提取以及模型的建立都影響著最終的匹配結(jié)果,需要具有深厚的專家知識和經(jīng)驗。這個過程往往是手工建模完成的,各個模型及參數(shù)的設(shè)置都比較耗時,具有一定的主觀性。

同時,特征工程的適配性較差。比如,各地區(qū)人員臉部特征不同,會導致已經(jīng)調(diào)整好的算法在落地時,需要手動多次調(diào)整參數(shù),過程耗時、耗力,嚴重阻礙了算法的大規(guī)模部署。

雖然,從表面上看,基于人臉關(guān)鍵特征的識別方法有諸多缺點,且效率較低。但算法能夠從人類的先驗知識出發(fā),直觀而樸素,一定程度上推動了人臉識別技術(shù)的發(fā)展和普及,為后續(xù)更智能的算法奠定了基礎(chǔ)。

 

作者:AIoT產(chǎn)品,10年B端產(chǎn)品設(shè)計經(jīng)驗;微信公眾號:AIoT產(chǎn)品

本文由@AIoT產(chǎn)品 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!