人臉識別之圖像預(yù)處理
編輯導(dǎo)讀:雖然技術(shù)的進步,人臉識別在生活中的應(yīng)用越來越普遍。在上篇人臉識別的基本原理中,作者介紹了人臉識別背后的原理和方法,本文順著這個思路繼續(xù)完善人臉識別的基本產(chǎn)品原型,希望對你有幫助。
一、產(chǎn)品原型
簡化的產(chǎn)品原型中包括識別前端和識別服務(wù)器兩部分。
識別前端承擔(dān)人臉照片采集和識別結(jié)果反饋職責(zé),是面向用戶交互的入口。目前主流的產(chǎn)品形態(tài)包括人臉考勤機、人證核驗終端和人臉識別閘機等。
人臉識別服務(wù)器主要包括人臉底庫管理和識別算法管理,并基于產(chǎn)品特點包含對應(yīng)的業(yè)務(wù)模塊,如考勤報表、預(yù)警記錄等,實現(xiàn)基本的業(yè)務(wù)閉環(huán)。
目前的產(chǎn)品原型,已有了基本框架,但系統(tǒng)需求和設(shè)計較簡單,無容錯能力,用戶體驗較差,離可用有較大的差距,需要繼續(xù)對需求深化和細化。
人臉識別在實際使用中可能出現(xiàn)以下情況:
- 采集到的人臉照片角度、大小等和預(yù)設(shè)的人臉底庫不一致,系統(tǒng)無法辨識;
- 采集的人臉照片和人臉底庫像素不一致,系統(tǒng)無法進行相似度計算;
- 環(huán)境、燈光等干擾造成成像質(zhì)量較差,導(dǎo)致漏識別、誤識別;
- 比對速度較慢,精準度不夠,用戶使用抱怨多。
二、解決思路
在產(chǎn)品研發(fā)過程中,經(jīng)常會出現(xiàn)這種產(chǎn)品實際體驗和預(yù)設(shè)體驗不一致的狀況。當(dāng)發(fā)生這種情況時,需要認真分析原因,理順解決思路,不斷對產(chǎn)品迭代升級。
上面的問題其實可以分為兩類:
第一類是因為環(huán)境、距離、角度等因素干擾使得采集到的照片和系統(tǒng)底庫照片不一致,導(dǎo)致相似度計算有問題;
第二類問題是人臉相似度計算速度太慢、精度偏低。
其中第二種問題一般出現(xiàn)在算法層面,需要協(xié)同算法工程師進行算法更新、升級進行解決。
我們將目標聚焦在第一類問題,即待識別照片和識別底庫不一致的情況。這種情況下,我們可以分別從采集照片和底庫照片兩個角度入手,提出針對性的解決思路:
思路一:限制通過前端采集到的照片,保持與人臉底庫的一致性。
比如,當(dāng)強制采集照片和底庫都采用身份證照片時,系統(tǒng)比對通過率較高。類似的方法在較早的人臉考勤機中使用,通過限制用戶在打卡時的表情、距離、光線等提升精度,并強迫用戶通過同樣的前端采集并識別人臉,俗稱「同源識別」。
強迫用戶在人臉打卡時保持姿勢固定不動,用戶體驗很差。目前市面上主流的人臉識別系統(tǒng)均采用「動態(tài)識別技術(shù)」,不限制用戶保持靜止,在移動過程中即可完成識別過程,并且不要求采集照片和識別照片同源。
思路二:增加底庫中照片的數(shù)量,將人員不同角度、環(huán)境、距離的照片都錄入系統(tǒng),提高比對的成功率。
這種做法操作難度很大,變量條件過多,基本無法實施。即使系統(tǒng)存儲了多張照片,問題沒有完全解決,識別精度并沒有明顯提升,且由于增大了數(shù)據(jù)量,增加了運算的復(fù)雜性,降低運算速度,系統(tǒng)響應(yīng)時間也相應(yīng)延長。
既然沒有辦法限制采集照片和底庫照片,在基本不影響精度和速度的前提下,可以在采集和比對之間插入中間環(huán)節(jié),對照片進行處理,使得兩者盡可能相似。
在人臉識別和其他圖像處理領(lǐng)域這是種通用做法,并有專業(yè)名稱叫做「圖像預(yù)處理」。不管是在傳統(tǒng)的人臉識別系統(tǒng)還是基于深度學(xué)習(xí)的人臉識別系統(tǒng)中,都少不了這個環(huán)節(jié)。對原有的系統(tǒng)設(shè)計更新如下。
接下來對圖像預(yù)處理所包含的內(nèi)容和需求做簡單的介紹。
1)設(shè)置ROI
當(dāng)圖像內(nèi)容包含過多像素時,系統(tǒng)很難定位到有效信息。比如,當(dāng)圖像整體像素大小為800*800,包含人臉的區(qū)域像素只有200×200,其他均為背景,直接比對效果很差??梢詫D像進行預(yù)處理,快速找到包含有效信息的目標區(qū)域,即Region of Interest(ROI),「感興趣區(qū)域」。
在人臉識別系統(tǒng)中,可以對采集到的人臉照片,通過方框、圓、橢圓、不規(guī)則多邊形等方式勾勒出需要處理的區(qū)域,在這個區(qū)域內(nèi)進行進一步處理或者直接對比。
尋找ROI有很多方法,比如基于膚色。從顏色上看,不同顏色人種的膚色在照片上具有穩(wěn)定的特征,不會隨表情、角度、尺寸等而發(fā)生變化??梢愿鶕?jù)膚色屬性的這種特點和規(guī)律建模,快速識別到人臉ROI,從而將人臉區(qū)域和非人臉區(qū)域分開。
2)幾何變換
由于成像、采集角度等原因可能造成采集的人臉有一定的變形,對于肉眼來說這些變形并不會帶來太大的干擾,但對計算機來說卻是截然不同的。
這種情況叫做圖像的「幾何失真」,可以對圖像進行縮放、翻轉(zhuǎn)、仿射、映射等幾何變換最大程度地消除。幾何變換通常不改變圖像的像素值,而是將像素進行坐標變換,改變像素之間的排列關(guān)系,進而將注意力集中在圖像內(nèi)容本身的特征,而不是位置、角度、尺度等其他信息。
3)閾值處理
幾何變換由于不改變圖片的像素值,無法解決由于燈光等環(huán)境因素導(dǎo)致圖像呈現(xiàn)出不同情況。以灰度圖像為例,使用8bit表示某一像素時,單像素就存在256個灰度階,直接利用灰度階進行計算會帶來計算誤差。
這種情況下,需要對灰度階進行限制,盡量將采集圖像和底庫照片的灰度階統(tǒng)一,從肉眼上圖片可能會有些失真,但不影響計算機的處理和識別。可以根據(jù)實際情況,將256個灰度階劃分為幾個區(qū)間,將區(qū)間內(nèi)的像素指定為某一個像素值,減少不同灰度值所帶來的影響,這種處理方法稱為「閾值處理」。
4)噪聲去除
圖像在形成、傳輸過程中往往會受到干擾,在結(jié)果圖像中引入噪聲。輕度的噪聲信號不會干擾圖像的可觀測性,但當(dāng)噪聲嚴重時,圖像中呈現(xiàn)出較多的無用信息,人臉無法識別或出現(xiàn)誤識別等情況。
在盡量保留圖像可觀測信息的情況下,檢測出現(xiàn)的噪聲并進行過濾,這個過程叫做「圖像濾波」。圖像濾波是圖像預(yù)處理中不可缺少的環(huán)節(jié),一般通過構(gòu)造圖像濾波器進行解決。濾波器可以高效地去除噪音,能夠保留圖像目標的特征,并不會損壞圖像輪廓及邊緣。
對于圖片中經(jīng)常出現(xiàn)的噪聲,通過統(tǒng)計學(xué)手段可以發(fā)現(xiàn)其特點,進而開發(fā)出通用濾波器,比如均值、中值、方框、雙邊等濾波進行噪音過濾。
當(dāng)然,有一些噪聲使用成熟的濾波技術(shù)去除時效果較差,而必須自行設(shè)計濾波,這種方法也被稱為「卷積技術(shù)」。
不管是在傳統(tǒng)機器學(xué)習(xí)還是基于深度學(xué)習(xí)的人臉識別系統(tǒng)中,都采用了卷積技術(shù),不同點在于值的填充方式。傳統(tǒng)系統(tǒng)由人工進行設(shè)計并填充,而深度學(xué)習(xí)可以通過自動學(xué)習(xí)得到所需要的值,處理起來更加靈活、高效。
5)其他處理
除了列舉到的常規(guī)預(yù)處理手段,人臉識別系統(tǒng)中還會用到其他預(yù)處理手段,比如顏色變換、圖像分割等。這些需求可以根據(jù)具體場景下圖像的特點和產(chǎn)品需求進行細化,實現(xiàn)圖像更精細化的處理。
除了進行圖像質(zhì)量處理,在產(chǎn)品設(shè)計時也需要考慮性能指標。由于增加了預(yù)處理手段,可能會影響人臉識別速度,增大了系統(tǒng)響應(yīng)時間,所以必須在精度和速度之間取得平衡。
很多時候,往往是由用戶需求驅(qū)動技術(shù)的進步。對于人臉識別系統(tǒng)來說也是如此,為了增強抗干擾能力而增加了圖像預(yù)處理階段,雖并不完美但保證了產(chǎn)品的落地,驅(qū)動技術(shù)尋找更優(yōu)的方案,達到產(chǎn)品和技術(shù)的良性互動。
接下來,我們繼續(xù)從產(chǎn)品的角度對人臉識別進行拆解,并提出完善思路。
作者: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é)議
學(xué)習(xí)了
大學(xué)教程