行動裝置導入臉孔辨識 資安娛樂加值 智慧應用 影音
TERADYNE
ST Microsite

行動裝置導入臉孔辨識 資安娛樂加值

  • DIGITIMES企劃

在Android 4.0(Ice Cream Sandwich,ICS)版本更新中,即整合Face Unlock
在Android 4.0(Ice Cream Sandwich,ICS)版本更新中,即整合Face Unlock

過去,在嵌入式應用平台,運算資源、硬體資源過低是可預見的開發問題,但實際上現在新一代行動裝置產品,已將嵌入式系統的硬體規格不斷提升,原有主流1GHz的嵌入式處理器,2013、2014年主流產品已經朝2GHz系統外頻的倍數提升,而原有800MB~1GB的系統記憶體,目前主流產品已有2GB系統記憶體產品規格推出,嵌入式運算產品的硬體平台性能與資源已漸能與個人電腦相抗衡。

原本在資源相對較寬裕的桌上型電腦平台,臉孔辨識技術已有相當成熟的發展成果,主要應用領域多在電腦資料安全、取代電腦登入密碼等資安應用為主,相同地,在智慧型行動電話、平板電腦這類高度可攜式的產品,若也能將臉孔辨識整合實踐設計,即可將腦人的資安密碼、裝置登入密碼改用臉孔辨識技術替代,將為產品的使用經驗大幅加分。

在iOS嵌入式系統生態系,就有第三方開發商開發基於臉部辨識的應用程式,圖為FaceVault App操作畫面。FaceVault

在iOS嵌入式系統生態系,就有第三方開發商開發基於臉部辨識的應用程式,圖為FaceVault App操作畫面。FaceVault

OpenCV是一款基於圖像分析的開發工具,其中即提供大量的臉部辨識應用功能與函式庫,可加速產品原型開發,圖為以Android平板電腦為開發平台,架構的臉部辨識應用雛形。OpenCV.org

OpenCV是一款基於圖像分析的開發工具,其中即提供大量的臉部辨識應用功能與函式庫,可加速產品原型開發,圖為以Android平板電腦為開發平台,架構的臉部辨識應用雛形。OpenCV.org

臉孔辨識用途多 不僅限於資安應用

而臉孔辨識其實也不光僅有資訊安全應用,新一代的設計方案,已可將臉孔辨識與更生活化的應用進行整合,例如,新款中/高階數位相機,大多在嵌入式影像處理系統內追加臉孔自動辨識、追焦功能,這是臉孔辨識最入門的應用方式,而更進階的數位攝影應用,則可將臉孔辨識功能作連結,與臉部微笑表情動作快門直接連動,自動拍攝出最佳照片。

臉孔辨識除數位相機、攝影機等嵌入式硬體系統整合應用外,在智慧型手機、平板電腦結合個人資訊保護的臉孔辨識登入應用,也是相當常見的設計方案。但在這類嵌入式應用環境中,同樣遭遇到的問題是必須在嵌入式系統極有限的尺寸、功耗條件、成本要求下提供較高的嵌入式系統視覺功能應用,而這類應用也可延伸至汽車安全、安全監控、互動遊戲等應用開發需求。

影像擷取品質 左右臉孔辨識使用效益

而在產品中整合臉孔辨識的關鍵,首先須先定義辨識的臉孔資訊深度,若只是如數位相機的臉孔自動對焦用途,在使用者利用數位相機進行構圖時,嵌入式系統可在旁同步進行畫面中的人臉圖像辨識,同時透過多組人臉進行估算最佳的光圈/快門/ISO(感光度)組合,若只是需要系統辨識出人臉即可,在分析的運算負荷就不會太高,但若是要利用臉孔特徵辨識取代系統登入、資料安全保護用途,那臉孔辨識的資料量與複雜度就會相對提升,設計方向截然不同。

對於如數位相機微笑快門設計需求,嵌入式系統辨識CCD或CMOS感光器上的臉部偵測,所要求的運算速度要快,分析結果可以有容錯空間,辨識感光元件上臉部圖像的目的在輔助對焦,速度決定使用體驗。

至於針對資安系統、系統登入系統的取代性臉孔辨識,對分析臉孔的準確度要求就會高於速度要求,特徵辨識的容錯率必須要求更高。至於嵌入式系統導入的臉孔辨識技術方案,針對不同的應用情境,所使用的臉孔分析演算法就大不相同,這在嵌入式裝置部署臉孔辨識技術時,也必須深入考量。

不同臉部辨識開發取向 演算法與辨識邏輯差異大

在以性能、速度優先的臉部辨識嵌入式設計要求,多半可以針對單禎圖片或式影像串流畫面進行嵌入式系統即時分析、運算,並產生對應的執行程序,例如資安監控攝影機內嵌的入侵主動感測、遺留物主動偵測等,為了維持嵌入式設備原有的即時影音數據傳輸量,嵌入式系統介入分析影像與執行對應產生的系統回應,其反饋速度就是要快,否則將造成附加功能卻影響了核心應用功能的窘境。

而對於嵌入式人臉辨識的開發挑戰,除了先前提到的系統記憶體、運算效能與影像傳輸頻寬等限制外,最大個關鍵就在演算法的架構方面,如果是以一定畫素下的人臉縮圖為例,這類小圖的區塊灰階組合就有數十萬種,由於人臉的構成其實是有高度複雜度的,要利用數據明確描述一張臉是有極高難度的,必須建構極高的3D空間,再搭配以統計模型為分析基礎的辨識方法。

持續優化臉孔比對演算法 提升辨識應用效益

另外,嵌入式人臉分析、臉孔比對演算法,必須克服的挑戰相當多,例如,人所處的姿態差異就會造成辨識樣本與比對數據產生極大誤差,像是正面、側面、顛倒或是臉部側傾等圖像差異,若參照的數據統計模型不佳,比對失敗的比例就會相當地高,另外人臉也有結構化的差異變化,例如,使用者是否有蓄鬍、配戴眼鏡、臉部表情、臉部外傷等變化時,辨識機制與演算法是否能提供一定程度的樣本容錯。

影響辨識品質的另一關鍵在於影像擷取的品質,例如嵌入式行動裝置若要整合臉孔辨識功能,通常使用情境是機主自行進行臉部驗證,但實際上智慧型手機、平板電腦的設備前方鏡頭,通常僅有130~200MP解析度,取像品質若因為鏡頭拾取畫面呈現細節不佳,在圖像進行系統分析比對時則會產生極大誤差。另外,造成成像品質劣化的原因也相當多,例如使用者持握裝置拍攝產生搖晃、拍攝時處於環境弱光或是逆光,都會影響成像品質進而降低了分析比對的正確率。

優化臉孔分析效能 增加產品加值體驗

為了加速嵌入式系統的臉孔辨識分析回應速度,減少因嵌入式系統效能產生的限制,必須用更有效率的方法進行功能整合,因此多數嵌入式臉孔辨識方案,會將分析比對程序進行切割,利用高度差異化的特徵來加速比對速度。例如利用多層次的特徵分類程序,將人臉特徵進行數據化進而快速比對分析,先排除擷取圖像非人臉的樣本畫素,僅針對人臉部分進行分析比對,利用多層特徵比對處理進行每種特徵的快速篩選、比對。

雖然比對特徵越多、分類越複雜,也代表著辨識成果更精確,但實際上比對程序過多、過雜,也代表著耗用嵌入式系統功耗與性能資源越多,這並非產品開發者所樂見,必須在有限的資源內進行最大化的臉孔特徵比對,必須利用大量的實驗與演算法優化,才能將關鍵的分析效能與實用性做最大平衡設計。

實際上,為了減省臉部分析耗用過多資源,在嵌入式的臉部特徵比對方面也有相當多取巧設計,例如,一般臉孔辨識進行前會先針對畫面圖像,進行非人臉區的排除分析,避免分析能量耗用在非人臉區塊,而新的嵌入式臉部分析已在拍攝前先在畫面中繪製人臉拍攝參考線,透過使用者拍攝時即自覺改善拍攝臉部歪斜、側傾問題,同時也能讓嵌入式系統直接避開分析畫面中非人臉部位,大幅節省資源。但拍攝時改善了非人臉區塊的比對速度,但實際拍攝時也會出現臉孔前傾或後仰造成的圖像比對誤差,這部份則可在拍攝參考線追加建議眼部參考線與建議嘴部參考線,讓操作者的拍攝品質更臻完美,利於快速比對分析。

功能,利用臉部辨識取代行動裝置的登入密碼。(Google)