国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于圖像識別的防瞌睡系統(tǒng)設(shè)計

2022-03-24 09:11林盛楠
科技創(chuàng)新與應(yīng)用 2022年6期
關(guān)鍵詞:人眼分類器人臉

林盛楠

(武警工程大學(xué)密碼工程學(xué)院,陜西 西安 710086)

作者簡介:林盛楠(1999-),女,碩士研究生在讀,研究方向為圖像識別。

DOI:10.19981/j.CN23-1581/G3.2022.06.032

為保障單位安全,單位內(nèi)部設(shè)有值班室。事實證明,因為生理疲勞等客觀原因,僅從規(guī)章制度上難以有效地杜絕值班人員瞌睡情況發(fā)生。值班人員由于工作壓力大、休息時間不夠及心理情緒影響等因素,均可能導(dǎo)致在值班時瞌睡,從而不能履行好職責(zé)導(dǎo)致事故發(fā)生。因此,通過圖像識別的方法揭示值班人員的瞌睡特征,實時準(zhǔn)確地對值班人員瞌睡狀態(tài)進(jìn)行檢測,并確保正常值班的情況下給出預(yù)警機制,可以很大程度上減少安全事故的發(fā)生。本文針對值班人員打瞌睡不履職盡責(zé)的情況,設(shè)計依托Python Dlib 庫和OpenCV 的圖像識別技術(shù)實現(xiàn)的非接觸防瞌睡系統(tǒng)。在詳細(xì)介紹圖像采集、圖像處理的基礎(chǔ)上,進(jìn)一步比較判定值班人員處在正常或者疲勞狀態(tài)并用聲光提示。

目前,對人員瞌睡檢測的研究已經(jīng)有很多,基于人員生理特征的檢測方法主要有5 種:檢測頭部狀態(tài)、檢測瞳孔信息、檢測腦電信號、檢測脈搏頻率和檢測眼睛活動信息[1]。本課題選擇非接觸式眼動信息檢測技術(shù),對值班人員的瞌睡程度進(jìn)行24 h 實時檢測,如果結(jié)合“人形”檢測還可以進(jìn)一步拓展“脫崗”檢測等功能。

本文介紹了一種基于圖像識別的防瞌睡系統(tǒng),該防瞌睡系統(tǒng)通過攝像頭采集到值班人員人臉的圖像,利用人臉檢測技術(shù)定位人臉區(qū)域并進(jìn)行人眼定位與人眼疲勞狀態(tài)分析,當(dāng)檢測到值班人員瞌睡時,能及時對值班人員進(jìn)行預(yù)警。

1 系統(tǒng)基本結(jié)構(gòu)

本系統(tǒng)主要完成對攝像頭獲得的圖像進(jìn)行分析處理,判定值班人員是否瞌睡,主要包括:利用攝像頭進(jìn)行圖像采集;對采集到的圖像進(jìn)行人臉檢測;在檢測人臉的基礎(chǔ)上進(jìn)行人眼定位;提取人眼特征點位置;對人眼狀態(tài)進(jìn)行識別;判定值班人員是否瞌睡和對處理結(jié)果進(jìn)行分析處理。若判定瞌睡則報警,否則返回,重新檢測圖像(圖1)。

圖1 系統(tǒng)流程圖

通過對目前人臉檢測技術(shù)的對比,本系統(tǒng)人臉檢測部分采用基于Haar 特征的AdaBoost 算法,實效性高。人眼定位技術(shù)采用Dlib 開源庫通過OpenCV 圖像處理進(jìn)行人臉特征點定位,準(zhǔn)確性高,最后利用EAR 值判定值班人員狀態(tài)。

2 系統(tǒng)各部分設(shè)計

該系統(tǒng)主要由圖像數(shù)據(jù)采集、圖像識別以及瞌睡判定與預(yù)警3 部分組成。圖像識別包括了人臉檢測和人眼定位,是整個系統(tǒng)的關(guān)鍵技術(shù)。該系統(tǒng)的各部分內(nèi)容如下。

2.1 人臉檢測

人臉識別[2]的關(guān)鍵環(huán)節(jié)是人臉檢測,由于人臉特征中具有灰度特征,例如,眼睛通常比臉頰顏色深;鼻梁的兩側(cè)比鼻梁顏色深;嘴巴顏色比周圍顏色深。因此,可以簡單地用矩形特征(Haar 特征)描繪面部特征。通過特征模板圖像窗口的大小位置變換得到的特征稱為矩形特征。Haar 特征的數(shù)值編碼反映了人臉圖像的灰度級。在對人臉進(jìn)行檢測時,人臉特征可以通過對Haar 特征的編碼進(jìn)行描述。在固定樣本的前提下,Haar 特征的檢測編碼能夠準(zhǔn)確地顯示指定區(qū)域的形態(tài),而且其檢測速度比用像素檢測的編碼系統(tǒng)要好得多。因此,防瞌睡系統(tǒng)采用基于Haar 特征的AdaBoost 算法進(jìn)行人臉檢測。

積分圖[3]模型是一種能夠描述圖像中全局矩形特征信息的矩陣表示方法。Viola 將積分圖[4]應(yīng)用到計算Haar特征中。定義圖像中坐標(biāo)為(x,y)的點的積分圖=此點左上角方向上所有像素值的和,點(x,y)的積分圖等于陰影部分的所有像素和。通過一個圖像區(qū)域端點的積分圖能夠計算該圖像區(qū)域的像素值。

AdaBoost[5]是集成學(xué)習(xí)系統(tǒng)中的最常用的特征分析方法之一,它將許多弱分類器的特征分析與結(jié)合,達(dá)到一個強分類器h(x,f,p,θ)的特征分類和訓(xùn)練效果。在確定各訓(xùn)練窗口樣本中Haar 特征的數(shù)量和特征值后,對Haar特征窗口中的每一個矩形特征f,訓(xùn)練弱分類器,x 是一個24×24 大小的子窗口,p 是表示不等號的特征方向,θ是Haar 特征的閾值。

級聯(lián)分類器是由幾個簡單分類器和AdaBoost 強分類器連接而成的。分類器訓(xùn)練過程:

選擇一個級聯(lián)分類器每層的誤檢率f;檢測率d,標(biāo)準(zhǔn)誤檢率Ftarget;

設(shè)P 為一組正例,N 為一組負(fù)例;

初始值設(shè)F0=1.0,D0=1.0;令i=1;

當(dāng)Fi>Ftarget時;i=i+1;ni=0,F(xiàn)i=Fi-1;

當(dāng)Fi>f×Fi-1;ni=ni+1;

訓(xùn)練一個有n 個特征的級聯(lián)分類器;

分類器的數(shù)量每層遞增,訓(xùn)練得出Fi和Di;

訓(xùn)練直至完全達(dá)到目標(biāo)分類器的檢測準(zhǔn)確率和誤檢率。

綜上所述,基于Haar 特征的AdaBoost 人臉檢測算法共包括4 部分:Haar 特征、積分圖快速計算像素值、AdaBoost 訓(xùn)練強分類器和將多個強分類器級聯(lián)的級聯(lián)分類器,提高人臉檢測精確度。

進(jìn)行人臉檢測時,由于人臉大小具有差異性,可選擇2 種方式實現(xiàn)檢測:縮小檢測圖像和放大檢測窗口??s小檢測圖像的方法是固定檢測窗口不變,將檢測圖像進(jìn)行大小變換,將變換后的圖像通過檢測窗口進(jìn)行圖像輸入。放大檢測窗口的方法是保持檢測圖像不變,將檢測窗口進(jìn)行大小變換,然后依次使用變換后的檢測窗口檢測圖像。

由于人臉尺寸不同,放大檢測窗口不易控制變換程度,可能會造成漏檢率或誤檢率上升。因此,本系統(tǒng)采用縮小檢測圖像的方法進(jìn)行人臉檢測。

2.2 人眼定位

人臉檢測技術(shù)已經(jīng)解決了圖上是否有人臉的問題,人眼定位解決了人眼的位置問題。通過ERT 算法訓(xùn)練,在Python 中建立了Dlib 官方開源庫[6],效果較好。因此,本系統(tǒng)在Python 平臺下采用Dlib 庫進(jìn)行人眼定位。

Python Dlib 庫是在Python3 中用于在人臉圖像處理的經(jīng)典模型庫,Dlib 庫中有一個經(jīng)過ERT 算法訓(xùn)練的人臉關(guān)鍵點[7]檢測器,在利用AdaBoost 算法確定人臉大致位置后,在OpenCV 平臺下使用Dlib 庫正式訓(xùn)練的68 點模型“shape_predictor_68_face_landmarks.dat”進(jìn)行圖像處理,在人臉上繪制68 個點并顯示序列號。通過Dlib 庫人臉識別68 特征點檢測,分別獲取左右眼面部標(biāo)志的索引,利用OpenCV 對視頻流進(jìn)行灰度化處理,檢測出人眼的位置信息。利用數(shù)字序號定位人眼[8],使用該模型庫可以方便地用于人臉檢測和簡單的應(yīng)用(圖2)。

2.3 瞌睡狀態(tài)檢測指標(biāo)

在人臉特征點68 位定位中可以看到37-42 為左眼位置,43-48 為右眼位置。當(dāng)人眨眼時,這6 個點之間的距離會發(fā)生變化(圖2)。

圖2 人臉特征點位置編號示意圖

本防瞌睡系統(tǒng)主要提取值班人員眼睛狀態(tài)的EAR值[9]指標(biāo),基于EAR 值在視頻處理序列的基礎(chǔ)上,判定值班人員瞌睡狀態(tài)。其中,指標(biāo)定義如下:

EAR(Eye Aspect Ratio)是描述眼睛張開程度,即眼睛縱橫比。利用上下眼皮特征點之間的距離描述眼睛張開程度,當(dāng)EAR 低于閾值時,眼睛處于閉合狀態(tài)。

在進(jìn)行人眼定位后,開始根據(jù)人眼定位坐標(biāo)計算眼睛縱橫比EAR,根據(jù)大量實驗數(shù)據(jù)顯示,正常狀態(tài)下,人眼縱橫比大概在0.2~0.3 之間。在本系統(tǒng)中,設(shè)定閾值為0.2。當(dāng)前幀2 只眼睛縱橫比與前1 幀的差值的絕對值大于0.2,則認(rèn)為值班人員處于瞌睡狀態(tài)[10](圖3)。

圖3 眼長寬比方程

在OpenCV 平臺下,構(gòu)造函數(shù)計算左右眼EAR 值,而后求平均值作為最終的EAR 值與設(shè)定的閾值做對比,若小于閾值,則更換下一個值班室的攝像頭繼續(xù)檢測,若連續(xù)3 次小于閾值,則屏幕顯示睡著,判定值班人員瞌睡,并發(fā)出警報聲,對值班人員進(jìn)行預(yù)警,然后重置眼幀計數(shù)器,繼續(xù)檢測。

3 實驗與結(jié)果

實驗中主要運用前文所說的原理和方法,軟件編程[11]實現(xiàn),并對人臉檢測和人眼定位算法進(jìn)行測試。在進(jìn)行檢測人臉的過程中,利用Python 平臺和OpenCV 中訓(xùn)練好的基于Haar 特征的AdaBoost 級聯(lián)分類器來進(jìn)行對人臉的檢測。檢測中,通過ORL 人臉數(shù)據(jù)庫人臉檢測技術(shù)的準(zhǔn)確率進(jìn)行測試,并通過統(tǒng)計得出算法的測試結(jié)果,最后對測試結(jié)果的準(zhǔn)確率進(jìn)行分析。在人臉檢測的基礎(chǔ)上,通過標(biāo)定人臉特征點方法進(jìn)行人眼定位,得出測試結(jié)果,并分析該方法的檢測準(zhǔn)確率。

3.1 人臉檢測結(jié)果分析

本系統(tǒng)中,通過OpenCV[12]中已經(jīng)訓(xùn)練好的級聯(lián)分類器檢測人臉,由于值班室一般是單人執(zhí)勤,所以在檢測過程中,我們只取單人的圖像來驗證算法的精確度。因此,本系統(tǒng)使用ORL 人臉數(shù)據(jù)庫來檢測系統(tǒng)的精確度。ORL人臉數(shù)據(jù)庫包含40 個人在不同表情下的人臉圖像共400 張,圖片大小為92×112(單位/像素)。部分樣本如圖4所示。

圖4 ORL 人臉數(shù)據(jù)庫

利用OpenCV 中已經(jīng)訓(xùn)練好的人臉分類器進(jìn)行人臉數(shù)正確檢測,測試結(jié)果見表1。

表1 人臉檢測結(jié)果

上述數(shù)據(jù)表明,本系統(tǒng)進(jìn)行人臉檢測時具有較高的精確度,對于復(fù)雜的光照環(huán)境,仍能精確檢測到人臉。部分正確的檢測結(jié)果如圖5 所示。但本系統(tǒng)使用的是OpenCV 平臺[13]中訓(xùn)練好的級聯(lián)分類器,還不夠精確,但能夠說明基于Haar 算法的AdaBoost 算法在人臉檢測上可以滿足本系統(tǒng)對于人臉檢測實效性和準(zhǔn)確性的需求。

圖5 人臉正確檢測結(jié)果

3.2 人眼定位結(jié)果分析

在本系統(tǒng)人眼定位技術(shù)中,采取利用Python Dlib 開源庫進(jìn)行人臉特征點定位的方法進(jìn)行檢測,測試樣本集仍采用ORL 人臉數(shù)據(jù)庫,在檢測到人臉的基礎(chǔ)上繼續(xù)定位人眼,定位結(jié)果見表2。

表2 人眼定位檢測結(jié)果

根據(jù)以上結(jié)果可以發(fā)現(xiàn),基于Dlib 庫的人臉特征點定位法對人眼進(jìn)行定位的精確度較高,同時定位速率也較快,符合本系統(tǒng)實時性和實效性要求。部分正確定位人眼的結(jié)果如圖6 所示。但若人眼附近有遮擋物,眉毛與眼睛相近時,很可能導(dǎo)致因定位相近而無法定位眼睛準(zhǔn)確位置,從而無法檢測。當(dāng)圖像分辨率小于63×74 時,無法識別圖像中人臉及人眼位置,當(dāng)圖像亮度為-129 或+125時,圖像也無法識別。

圖6 人眼正確定位測試結(jié)果

3.3 人眼狀態(tài)檢測結(jié)果分析

對于人眼狀態(tài)檢測,本系統(tǒng)利用EAR 值即眼睛縱橫比進(jìn)行判定,設(shè)定閾值為0.2,若檢測到的EAR 值小于0.2,則判定為閉眼。檢測中仍采用ORL 人臉數(shù)據(jù)庫作為測試樣本集。由于需先定位到人眼,才能檢測到閉眼情況,因此此次檢測在人眼定位結(jié)果下繼續(xù)進(jìn)行。

對人眼狀態(tài)的檢測結(jié)果見表3。

表3 人眼狀態(tài)檢測結(jié)果

下面是部分誤檢的圖像,如圖7 所示。

圖7 人臉錯誤檢測圖像

通過以上檢測結(jié)果發(fā)現(xiàn),錯識誤識人眼狀態(tài)的主要原因有:人臉視線向下、人眼區(qū)域光照不均勻和人眼的個體性強、不能適應(yīng)閾值設(shè)置等。

實驗結(jié)果表明:使用EAR 值作為眼睛的閉合標(biāo)準(zhǔn)準(zhǔn)確率較高,閾值設(shè)定為0.2 也比較符合人眼的生理特征。因此,本系統(tǒng)使用EAR 值檢測法具有較高的精確度,同時算法簡便,也符合值班室檢測環(huán)境。

4 結(jié)論

本系統(tǒng)通過攝像頭對值班人員臉部圖像進(jìn)行采集,通過對人眼狀態(tài)的檢測判定值班人員是否瞌睡。檢測指標(biāo)為眼睛縱橫比EAR 值。本系統(tǒng)檢測的主要步驟為人臉采集與檢測和人眼定位與狀態(tài)識別。采集到圖像后進(jìn)行人臉檢測,確定人臉位置后進(jìn)行人眼定位和人眼狀態(tài)分析。本系統(tǒng)主要使用在OpenCV 中訓(xùn)練好的級聯(lián)分類器來進(jìn)行人臉檢測,在此基礎(chǔ)上通過Dlib 庫進(jìn)行了人眼識別與人眼定位,而后利用EAR 值進(jìn)行人眼狀態(tài)判斷,最后通過眨眼次數(shù)判定值班人員是否瞌睡。實驗結(jié)果證明,本系統(tǒng)可實時有效地檢測值班人員是否瞌睡。繼續(xù)優(yōu)化級聯(lián)分類器算法,精確分析值班人員眼部狀態(tài)是下一步研究的重點。

猜你喜歡
人眼分類器人臉
少樣本條件下基于K-最近鄰及多分類器協(xié)同的樣本擴增分類
田志強
學(xué)貫中西(6):闡述ML分類器的工作流程
有特點的人臉
玻璃窗上的人臉
基于樸素Bayes組合的簡易集成分類器①
基于AdaBoost算法的在線連續(xù)極限學(xué)習(xí)機集成算法
閃瞎人眼的,還有唇
“領(lǐng)家系”可愛臉VS“高冷系”美人臉
看人,星光璀璨繚人眼
荔浦县| 三亚市| 大宁县| 芜湖市| 和林格尔县| 安阳市| 平泉县| 博白县| 沭阳县| 林周县| 遂平县| 呼图壁县| 贡嘎县| 定兴县| 霍邱县| 麻城市| 正安县| 平谷区| 保德县| 肇州县| 奉新县| 福鼎市| 东至县| 怀宁县| 夏津县| 德化县| 北辰区| 洪雅县| 阜阳市| 伊宁市| 天门市| 连南| 滁州市| 昭通市| 潜山县| 贵南县| 巴林左旗| 武汉市| 陆丰市| 佛山市| 济宁市|