侯現坤 谷敏惠 周瑋 胡華朝
摘 要:提出用多尺度直方圖解決特征提取中的塊大小選擇問題,并用歐拉公式白化矩陣。遮擋下的人臉識別一直是現實場景中的一個難題。提出了一個新的框架修復人臉,利用邊緣生成網絡還原遮擋區域的邊緣,在此基礎上再利用區域填充網絡恢復被遮擋的人臉,同時保留身份信息。為提升模型的性能,提出空間加權對抗損失和身份一致性損失訓練上述網絡,并利用關鍵點信息,構建了兩個戴口罩的人臉數據集。該文根據霍夫線檢測判斷人臉是否戴口罩,通過提取未覆蓋部分的hog特征和級聯分類器來提高口罩覆蓋人臉識別的準確率。
關鍵詞:口罩遮擋;人臉識別;嵌入式系統
基于邊緣檢測的人臉識別是目前主流的生物識別技術,廣泛應用于日常生活中。應用于門禁系統、電腦手機安全、ATM智能報警系統、人員跟蹤等領域。它具有誤識率低、不易偽造、不易察覺、不接觸、自然等優點。人臉識別技術對于小區門禁管理、人臉門禁考勤、車站人臉閘機等場合都是不可或缺的。在新冠肺炎疫情期間,口罩使人臉識別技術這一身份驗證的重要手段基本失效。因此,它引起了許多研究者的關注。
一、嵌入式系統設計
一個嵌入式系統的搭建離不開硬件設備的支持,本系統硬件由以下幾個模塊組成:⑴主控模塊:主芯片采用具備主流性能Arm So C的RK3228H,搭載OPEN AI LAB嵌入式AI開發平臺AID(包含支持異構計算庫HCL、嵌入式深度學習框架Tengine以及輕量級嵌入式計算機視覺加速庫Blade CV),控制整個系統的運行;⑵人臉采集模塊:使用Usb攝像頭設備采集戴口罩的人臉數據;⑶網絡通信模塊:通過網口使嵌入式平臺與PC機能夠通信,以便調試應用程序;⑷顯示模塊:使用HDMI接口的觸摸屏來顯示人臉圖像;⑸外部存儲模塊:在TF卡槽中插入TF卡來擴展存儲空間。
嵌入式系統軟件設計一般包括環境搭建和程序設計兩個部分。其中,環境搭建主要內容是加載引導程序U-Boot、燒寫Linux內核以及根文件系統,自己搭建的話比較麻煩,而且很容易出錯所以本文使用了官方打包好的Linux系統Fedora 28。
而程序設計根據需求有以下幾個過程:首先,是戴口罩的人臉采集,它使用了V4L2接口以及UVC協議來控制攝像頭采集的規格,并且調用函數打開Usb攝像頭進行圖像采集;然后,是人臉檢測,它采用Adaboost檢測算法對戴口罩的人臉進行定位;之后,是戴口罩的人臉模型訓練,將采集到的人臉進行預處理,并且在用戶人臉數據上進行標記用來訓練人臉模型;最后,是戴口罩的人臉識別,將采集到的實時人臉同樣使用Adboost算法定位人臉,進行預處理,再調用人臉識別算法,即可識別出是不是戴口罩的本人。
二、算法設計
(一)人臉檢測算法設計
當前運用比較廣泛的人臉檢測方法大多是以Harr+Adaboost的方式實現的。其中harr特征由黑白兩種矩形組成特征模板,并且定義特征值為白色矩形像素和減黑色矩形像素和,所以Harr特征值反映了圖像的灰度變化[5]。而Adaboost是一種迭代算法,它可以通過大量的Harr特征來訓練很多個弱分類器,最后再將這些弱分類器集合在一起構成一個強分類器,使用強分類器來區分是不是人臉,達到人臉檢測的目的。
(二)人臉識別算法設計
Opencv中分別有Eigenface、Fisherface以及LBPH三種人臉識別算法。其中Eigenface就是特征臉的意思,是一種從主成分分析(PCA)中導出的人臉識別和描述技術。特征臉方法的主要思路就是將輸入的人臉圖像看作一個個矩陣,通過在人臉空間中一組正交向量,并選擇最重要的正交向量,作為“主成分”來描述原來的人臉空間。Fisheerface主要是結合了PCA降維以及LDA特征提取的優點,將多維的人臉投影在一維的特征空間上,從而得到一組特征向量來代表人臉的特征。而LBPH主要是通過LBP提取人臉特征的方式來實現人臉的識別。
三、系統測試
嵌入式人臉識別系統在過去的幾十年里已經發展得很成熟了,但是由于人臉識別過程中容易受到光照、姿勢、表情、年齡等因素的影響,導致人臉識別系統的不完善。除此之外,嵌入式硬件的發展也達到了瓶頸。
嵌入式人臉識別系統想要再一次發展,一方面就是解決人臉識別中的影響因素,另一方面就是發展新型的嵌入式人工智能平臺,它不僅能夠促進嵌入式系統硬件的發展,更可以滿足一些實時性高的場景中,比如無人駕駛。而本文使用Eaidk-310這一款嵌入式人工智能平臺,有很大的原因就是為了將人臉識別系統運用在新型的嵌入式平臺上。