人臉識別會(huì )議簽到的嵌入式系統設計
2.2.2 Adaboost算法介紹
Adaboost算法主要思想:在給定有限的數據情況下,基于特征的檢測能夠編碼特定區域的狀態(tài),而且基于特征的系統比基于像素的系統要快得多。矩形特征對一些簡(jiǎn)單的圖形結構(比如邊緣、線(xiàn)段)比較敏感。但是其只能描述特定走向(水平、垂直、對角)的結構,因此比較粗略。臉部一些特征能夠由矩形特征簡(jiǎn)單地描繪,例如:眼睛要比臉頰顏色更深;鼻梁兩側要比鼻梁顏色要深;嘴巴要比周?chē)伾睢?p>人臉檢測是人臉?lè )治龅牡谝徊?,對于任意一幅給定的圖像,采用一定的策略對其進(jìn)行搜索以確定其中是否含有人臉,如果含有則返回人臉的位置、大小和姿態(tài)。本系統采用的是OpenCV庫中提供的Adaboost算法來(lái)實(shí)現人臉檢測,人臉檢測效果如圖4所示。

2.2.3 PCA算法介紹
PCA(主成分分析)算法是人臉識別中比較新的一種算法,該算法的優(yōu)點(diǎn)是識別率高、識別速度快。OpenCV庫中cvEigenDecomposite()函數的作用是將人臉圖像通過(guò)Eigenface變換矩陣,投射到子空間中。子空間中的人臉向量是一個(gè)1×nEigens(nEigens由自己取得)的行向量,極大地降低了數據維度,便于下一步的聚類(lèi)、識別。人臉識別成功后的效果如圖5所示。
2.2.4 系統測試
本軟件具有人臉檢測、人臉識別會(huì )議簽到等功能。首先需要通過(guò)人臉檢測存儲一定數量的與會(huì )者照片,經(jīng)過(guò)訓練生成人臉特征數據保存在數據庫中。在實(shí)現會(huì )議簽到時(shí),只要保持臉在攝像頭的正前方,軟件識別好后會(huì )在屏幕上顯示與會(huì )人員的姓名,并且把與會(huì )者的會(huì )議簽到信息通過(guò)ZigBee無(wú)線(xiàn)模塊,以單播的方式發(fā)送到上位機。系統首先采集5個(gè)人的人臉特征照片,經(jīng)過(guò)訓練得到人臉特征數據并且存儲于數據庫中。然后開(kāi)始對這5個(gè)人再進(jìn)行人臉識別測試,經(jīng)過(guò)測試得到的實(shí)驗結果如表1所列。

通過(guò)實(shí)驗結果可以得出:本系統的人臉識別率在82%以上,可以區分數據庫內外的人臉。
2.3 上位機軟件設計
QT是1991年奇趣科技公司開(kāi)發(fā)的一個(gè)跨平臺的C++圖形用戶(hù)界面應用程序框架。它提供給應用程序開(kāi)發(fā)者建立藝術(shù)級的圖形用戶(hù)界面所需的功能。本設計的上位機軟件正是用QT開(kāi)發(fā),選用的集成開(kāi)發(fā)環(huán)境是QT Creator。上位機界面如圖6所示。

表2是上位機和人臉識別會(huì )議簽到終端之間數據傳輸所遵循的協(xié)議。下面分別對上位機和人臉識別會(huì )議簽到終端之間發(fā)送數據、接收數據、系統重啟、系統關(guān)機等操作的協(xié)議進(jìn)行簡(jiǎn)要的說(shuō)明。

①上位機發(fā)送數據到部分下位機:上位機需要往部分下位機發(fā)送數據時(shí),需要在待發(fā)送的數據前加上msd1~n,1~n代表某一臺下位機,如msd1代表數據發(fā)送到編號為1的下位機。
②上位機發(fā)送數據到所有下位機:上位機需要將數據發(fā)送到所有的下位機時(shí),在待發(fā)送的數據前加上all標志。
③系統重啟:如果希望下位機重新啟動(dòng),發(fā)送數據rb即可以使下位機重新啟動(dòng)。
④系統關(guān)機:如果希望下位機執行關(guān)機操作,發(fā)送數據ht即可以使下位機執行關(guān)機操作。
結語(yǔ)
本設計利用人臉識別的獨特性,設計了一種基于人臉識別的會(huì )議簽到系統。本系統在TQ210核心板的基礎上,利用OpenCV計算機視覺(jué)庫和QT圖形庫,通過(guò)普通的USB攝像頭實(shí)現了自動(dòng)人臉識別,準確率較高,方便易用。
評論