張鈺敏 葉傳奇 張淑媛 王展 田雨薇 秦佳帥


摘要:該文以OpenCV視覺庫為核心,設計了基于樹莓派為硬件基礎的人臉識別系統,該系統可對人臉進行識別并估算人的年齡。首先將攝像頭采集的人的面部圖像進行灰度化處理、特征值計算,在此基礎上訓練出數據。經過對數據的分析處理,可估算出面部年齡。經過測試,該系統可對人的年齡進行較準確的判斷。
關鍵詞:樹莓派;OpenCV;人臉識別;圖像處理
中圖分類號:TP3 文獻標識碼:A
文章編號:1009-3044(2020)13-0221-02
1研究背景及內容介紹
隨著計算機網絡技術的發展和普及,人臉識別在生活中的應用越來越廣泛,與面部識別相關的軟硬件技術也越來越成熟,因為人臉識別具有獨特性,穩定性等優點,而樹莓派具有物美價廉便攜帶等優點,所以本文采用人臉識別技術的基礎上開發一個小設備去估算人的年齡。
2基本理論
2.1 OpenCV簡介
OpenCV是一個基于伯克利軟件套件許可而發行的跨平臺計算機視覺庫,可以運行在Linux操作系統、Windows系統、An-droid系統等。它由一系列C函數和少量C++類構成,便于有編程語言基礎的人了解學習。除了C和C++,它還提供了Pvthon、Ruby、MATLAB等多種語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。
2.2樹莓派簡介
Raspberry Pi簡稱樹莓派,簡單來說是性價比較高的迷你計算機,是英國的慈善組織學習計算機編程教育而設計。樹莓派的系統基于Linux。它是一款低成本RISC微型處理器的微型電腦。它有Tvpe-C接口,MicroUSB接口,以及3.5mm的音頻輸出接口等等,可以在本次實驗中連接攝像頭,電源等。正是其微小型、全面性,成為本項目開發的最佳芯片選型。
3主要算法
Adaboost是adaptive boosting的縮寫,是Freund和Sehapire根據在線分配算法提出的,主要思想是將多個弱分類器通過添加權值組合成一個強分類器。對于分類效果好的弱分類器則是增加權值,分類效果不好則是減少權值。
開始訓練的時候,每個樣本的權重都是一樣的,先在樣本分布下訓練出弱分類器,反之,對于分類錯誤的樣本,增加這個樣本對應的權重,對于分類正確的樣本降低這個樣本的權重。多次訓練之后,得到了新的樣本分布。在新的樣本分布下,對弱分類器進行訓練,得到了弱分類器。循環多次,把這些弱分類器的權重疊加之后,就得到了相應的強分類器。
大致過程如下:
(1)訓練一些樣本的概率分布,并且訓練弱分類器;
(2)計算出弱分類器的錯誤率;
(3)基于弱分類器調整各個樣本的權重;
(4)得到了強分類器。
訓練識別的結果如圖1所示。
該算法具有自適應特點,其自適應表現在:每一個基本分類器分錯的樣本會因為權值的變化得到加強,通過加權后的全體樣本再次被用來訓練下一個分類器,這個弱分類器之后會用來轉換成強分類器。在多次的訓練中都會產生一個弱分類器,直到達到預先設置的錯誤率。
4系統的整體設計
在采集樣本之后通過數據訓練模型,大致流程是先通過攝像頭讀取到的畫面進行灰度處理,當人臉檢測到的數據通過人臉檢測分類器傳遞給人臉識別,人臉識別是數據和人臉數據模型推測出的結果。
除此之外,在訓練出的人臉數據模型時,通過對人臉檢測數據是否滿足精確度,如果這個數據滿足精確度則不對這個模型進行更新,如果不滿足精確度,則可以進行模型更新升級模型,提高測試的精確度。大致流程如圖2所示。
5結束語
隨著圖像軟件的發展,圖像的中得到了很好的發展。同時利用軟件技術與OpencV的算法也實現了采集樣本,更新模塊等功能,使精準度越來越高。通過一系列的測試,發現更新過后的模塊比更新前的預測精準度有所提高。