基于AdaBoost+膚色模型的多人臉檢測(cè)考勤系統(tǒng)
摘要:為解決多人場(chǎng)景下的身份注冊(cè)問(wèn)題,將人臉檢測(cè)作為依據(jù),提出一種多人臉檢測(cè)考勤系統(tǒng)。該系統(tǒng)以智能終端拍攝圖像作為輸入,基于人臉檢測(cè)獲取考勤目標(biāo),最后通過(guò)用戶注冊(cè)獲得待考勤目標(biāo)的身份信息。目前系統(tǒng)已投入課堂學(xué)生的點(diǎn)名應(yīng)用中,實(shí)驗(yàn)結(jié)果驗(yàn)證了該系統(tǒng)中各環(huán)節(jié)方法的有效性和魯棒性。
關(guān)鍵詞:人臉檢測(cè);考勤;多人;自動(dòng)識(shí)別
一、概述
人臉檢測(cè)不僅是生物特征識(shí)別領(lǐng)域的重要課題,同時(shí)也是計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn)。它是人臉定位、身份驗(yàn)證、身份查找等多種應(yīng)用的基礎(chǔ)。由于具有重要的理論和應(yīng)用價(jià)值,因此越來(lái)越受到研究人員的重視。目前,人臉檢測(cè)技術(shù)已經(jīng)廣泛的應(yīng)用于門禁、攝像監(jiān)視等系統(tǒng)中。
人臉檢測(cè)利用圖像或視頻作為輸入,對(duì)探測(cè)區(qū)域進(jìn)行檢測(cè),以確定其中是否存在人臉及其可能的位置和區(qū)域。常用的人臉檢測(cè)的方法主要分為兩大類:(1)基于知識(shí)的方法。這類方法主要利用人臉的明顯特征如眼睛、眉毛、嘴巴、鼻子等器官特征及其相互之間的位置關(guān)系進(jìn)行判斷。包括基于人臉幾何特征的人臉檢測(cè)、基于膚色模型的人臉檢測(cè)等。(2)基于統(tǒng)計(jì)的方法。這類方法將人臉看成一個(gè)整體,用統(tǒng)計(jì)的方法使用大量人臉圖像樣本的訓(xùn)練構(gòu)造人臉模式空間,再根據(jù)相似度量檢測(cè)人臉是否存在。包括基于神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)、基于AdaBoost算法的人臉檢測(cè)等。
AdaBoost具有精度高、弱分類器構(gòu)造簡(jiǎn)單、檢測(cè)率高且速度快等優(yōu)點(diǎn),但是AdaBoost算法僅考慮灰度特征,容易造成誤檢;谀w色模型的人臉檢測(cè)方法在實(shí)際應(yīng)用中容易將與顏色相近的區(qū)域誤檢為人臉。通過(guò)AdaBoost定位出入臉位置,再運(yùn)用膚色模型對(duì)其進(jìn)行膚色校驗(yàn)則可以很好的.規(guī)避兩者缺點(diǎn)。因此本文提出了一種基于AdaBoost與膚色模型的人臉檢測(cè)方法,并應(yīng)用于多人臉考勤系統(tǒng)中。
二、人臉檢測(cè)
2.1數(shù)據(jù)采集
人臉數(shù)據(jù)獲取是人臉檢測(cè)的基礎(chǔ)。系統(tǒng)對(duì)輸入數(shù)據(jù)并無(wú)過(guò)多限制條件,輸入數(shù)據(jù)可來(lái)自用戶隨身攜帶的智能手機(jī),也可以是室內(nèi)監(jiān)控?cái)z像機(jī)的拍攝結(jié)果。對(duì)于某些無(wú)法用一副圖像采集完全的大尺度場(chǎng)景,可利用智能手機(jī)中自帶的全景拍攝功能,完成拼接后上傳全景數(shù)據(jù)。經(jīng)過(guò)調(diào)查,目前包括iPhone、三星、小米等絕大多數(shù)智能手機(jī)均自帶全景拍攝功能。即使用戶手機(jī)中無(wú)此功能,官方的應(yīng)用商店如App Store. Google Play也具有諸多相關(guān)應(yīng)用如:Photosynth,可免費(fèi)下載用以獲取拍攝場(chǎng)景的全景圖像。實(shí)驗(yàn)證明,借助手機(jī)全景拍攝功能采集的圖像可以作為有效的輸入,同時(shí)方便考勤人員采集考勤數(shù)據(jù),獲取數(shù)據(jù)的便襯|生大幅增加。
2.2基于AdaBoost人臉檢測(cè)
AdaBoost是由Yoav Freund和Robert E.Schapire在1995年提出的一種迭代分類算法,其核心思想是將同一訓(xùn)練集的不同弱分類器集合起來(lái),從而構(gòu)造一個(gè)強(qiáng)分類器。不同的弱分類器具有不同的權(quán)值,且它能根據(jù)上一次的結(jié)果確定每個(gè)樣本的權(quán)值,然后繼續(xù)通過(guò)分類器訓(xùn)練,最后將每次訓(xùn)練得到的分類器集合起來(lái)得到最終的分類器。
AdaBoost在人臉檢測(cè)應(yīng)用中需要通過(guò)訓(xùn)練大量可以區(qū)分人臉和非人臉區(qū)域的Haar特征,并從中挑選一些重要的特征并組合起來(lái)構(gòu)成級(jí)聯(lián)分類器,最終生成強(qiáng)分類器。這個(gè)過(guò)程中需要大量的Haar特征參與訓(xùn)練。經(jīng)過(guò)大量樣本訓(xùn)練來(lái)區(qū)分人臉和非人臉區(qū)域,最后經(jīng)過(guò)AdaBoost對(duì)分類器進(jìn)行計(jì)算,即可用于人臉檢測(cè)。
2.3膚色模型檢測(cè)
應(yīng)用AdaBoost方法的漏檢率相對(duì)較低,但誤檢率相對(duì)較高。因此需要通過(guò)處理將一些誤檢區(qū)域去除。本文選取基于膚色模型的方法對(duì)已檢測(cè)到的人臉部分進(jìn)行分析,以減少單純利用AdaBoost方法造成的誤檢率過(guò)高問(wèn)題。
三、系統(tǒng)實(shí)現(xiàn)
3.1硬件環(huán)境
系統(tǒng)硬件環(huán)境包括:Intel Core Duo E7500 2.93GHzCPU, 2G內(nèi)存以及NVIDIA GT210獨(dú)立顯卡。
3.2軟件系統(tǒng)
系統(tǒng)采用B/S架構(gòu),前端采用ASP.NET開(kāi)發(fā),主要包括:考勤人員上傳考勤圖像模塊、結(jié)果、考勤人員登錄確認(rèn)模塊、顯示考勤結(jié)果等模塊。后臺(tái)服務(wù)器端采用C++借助OpenCV庫(kù)實(shí)現(xiàn)上傳圖像或視頻的多人臉檢測(cè)。
3.3考勤實(shí)現(xiàn)
系統(tǒng)中AdaBoost人臉檢測(cè)模塊包括收集樣本、訓(xùn)練樣本生成分類器、使用生成的分類器進(jìn)行人臉檢測(cè)等步驟。
樣本包括正樣本和反樣本,即包含人臉部分圖像和不包含人臉部分的圖像。樣本數(shù)量越多則生成的分類器越可靠,后期人臉檢測(cè)更準(zhǔn)確。樣本訓(xùn)練前需要對(duì)圖像進(jìn)行歸一化處理,即需要使各圖像像素尺寸一致。歸一化處理后,建立正反樣本描述文件,正樣本描述文件每行內(nèi)容包括圖像名字、該圖像中正樣例(人臉區(qū)域)個(gè)數(shù)、圖像的寬、圖像的高,使用空格間隔。反樣本描述文件每行內(nèi)容僅包括圖像名字。之后通過(guò)OpenCV提供的opencv_createSamples可執(zhí)行程序創(chuàng)建正反樣本vec文件。
正反樣本vec文件生成后需要通過(guò)_Opencv提供的opencv_haartraining可執(zhí)行程序進(jìn)行樣本訓(xùn)練。訓(xùn)練完成后將生成一個(gè)xml文件,即通過(guò)AdaBoost算法生成的用于人臉檢測(cè)的分類器文件。此處主要利用了AdaBoost的OpenCV實(shí)現(xiàn)。
使用生成的分類器進(jìn)行人臉檢測(cè)時(shí)主要使用了OpenCV提供的兩個(gè)方法:
(l)load()方法,其主要功能為載人生成的分類器。
(2)detectMultiScale()方法。此方法通過(guò)使用之前載入的分類器,在輸入的圖像中查找人臉區(qū)域并返回人臉區(qū)域的位置。
在AdaBoost初步確定人臉區(qū)域后,采用膚色模型校驗(yàn)。膚色檢測(cè)需要設(shè)置膚色范圍,通過(guò)將圖像中的像素點(diǎn)與“標(biāo)準(zhǔn)膚色”相比較,從而區(qū)分圖像中的膚色區(qū)域與非膚色區(qū)域。
在設(shè)置“標(biāo)準(zhǔn)膚色”范圍時(shí),實(shí)驗(yàn)中采用了三種廣泛使用的顏色空間:RGB色彩空間、HSV色彩空間、YCbCr色彩空間。
實(shí)驗(yàn)中,共設(shè)置兩個(gè)RGB標(biāo)準(zhǔn)膚色模型。RGB膚色模型一的閾值范圍應(yīng)滿足:G>40、B>20、R>G、R>B、MAX(R,GB)-MIN(R,GB》15。RGB膚色模型二的閾值范圍應(yīng)滿足:R>220.|R-G|<15. R>G. R>B。
將RGB顏色轉(zhuǎn)換為HSV顏色,然后設(shè)置HSV標(biāo)準(zhǔn)膚色閾值范圍應(yīng)滿足:O 將RGB顏色轉(zhuǎn)換為YCbCr顏色,然后設(shè)置YCbCr標(biāo)準(zhǔn)膚色閾值范圍為:Y>20、135 通過(guò)與標(biāo)準(zhǔn)膚色數(shù)據(jù)對(duì)比,圖像某區(qū)域像素同時(shí)符合三種標(biāo)準(zhǔn)膚色閾值范圍時(shí)即認(rèn)為是膚色區(qū)域。結(jié)合AdaBoost檢測(cè)結(jié)果綜合判定人臉區(qū)域。最后通過(guò)rectangle方法在圖像上使用矩形框標(biāo)注入臉位置。
使用時(shí),首先由教師通過(guò)手機(jī)拍攝課堂照像(如圖1所示)并登錄系統(tǒng)上傳考勤圖像。后臺(tái)服務(wù)器監(jiān)測(cè)到有圖像上傳即對(duì)圖像進(jìn)行人臉檢測(cè),并對(duì)不同人臉逐一標(biāo)注序號(hào)。被考勤人員分別登錄系統(tǒng),選擇圖像與自身相對(duì)應(yīng)的序號(hào)。當(dāng)系統(tǒng)發(fā)生漏檢時(shí),系統(tǒng)還向用戶提供手工框選接口,以修正系統(tǒng)對(duì)人臉的漏檢。系統(tǒng)會(huì)實(shí)時(shí)將每次考勤結(jié)果存人數(shù)據(jù)庫(kù)系統(tǒng),同時(shí)生成考勤圖像、考勤表等方便考勤查看。系統(tǒng)流程圖如圖2所示。
四、實(shí)驗(yàn)結(jié)果
為驗(yàn)證該考勤系統(tǒng)的實(shí)際效果,作者將該考勤系統(tǒng)應(yīng)用于課堂的學(xué)生點(diǎn)名中。實(shí)驗(yàn)發(fā)現(xiàn),僅在AdaBoost算法檢測(cè)下,會(huì)出現(xiàn)較為嚴(yán)重的誤檢現(xiàn)象。在加入了膚色校驗(yàn)之后,誤檢率明顯下降。結(jié)合兩種方法后,基于AdaBoost算法結(jié)合膚色模型進(jìn)行人臉檢測(cè)具有很好的可用性以及魯棒性,可顯著降低誤檢率。
基于人臉檢測(cè)結(jié)果,通過(guò)學(xué)生分別登錄選擇注冊(cè),獲得了實(shí)際上課學(xué)生的考勤結(jié)果。
五、結(jié)束語(yǔ)
本文基于AdaBoost算法和膚色模型校驗(yàn),結(jié)合用戶選擇注冊(cè),實(shí)現(xiàn)了多入場(chǎng)景下的考勤。實(shí)驗(yàn)證明,該方法具有良好的可用性及魯棒性,目前,考勤系統(tǒng)已經(jīng)作為課堂考勤工具正在使用,能夠獲得準(zhǔn)確的學(xué)生到課結(jié)果。然而,該系統(tǒng)還存在較多問(wèn)題,當(dāng)存在如遮擋、側(cè)臉、低頭等姿態(tài)時(shí),檢測(cè)精度下降,尚不魯棒。系統(tǒng)可使用人臉識(shí)別方法取代人工注冊(cè),減少用戶操作。在人臉檢測(cè)過(guò)程中,通過(guò)將采集到的人臉入庫(kù),供后續(xù)人臉識(shí)別使用。由于傳統(tǒng)人臉識(shí)別方法如:PCA、LBP等,在多人大尺度場(chǎng)景中識(shí)別率較低,尚不滿足統(tǒng)計(jì)需求,因此探索多入場(chǎng)景下高精度人臉識(shí)別算法將是未來(lái)研究工作的重點(diǎn)。
【基于AdaBoost+膚色模型的多人臉檢測(cè)考勤系統(tǒng)】相關(guān)文章:
1.東莞不動(dòng)產(chǎn)登記中心人臉識(shí)別流程