技術(shù)領(lǐng)域
本發(fā)明涉及電子領(lǐng)域,尤其涉及一種檢測(cè)疲勞駕駛的方法和裝置。
背景技術(shù):
生活中,駕駛員疲勞駕駛的情況時(shí)有發(fā)生,危及交通安全。
現(xiàn)有技術(shù)中,對(duì)駕駛員疲勞駕駛的檢測(cè)不夠準(zhǔn)確,經(jīng)常導(dǎo)致誤報(bào)警,給駕駛員帶來(lái)困擾。
為了解決檢測(cè)駕駛員疲勞駕駛中出現(xiàn)的各種問(wèn)題,需要對(duì)現(xiàn)有技術(shù)中的缺陷進(jìn)行改進(jìn),同時(shí)使整體的駕駛員駕駛的安全性提高,使交通事故減少。
技術(shù)實(shí)現(xiàn)要素:
基于以上問(wèn)題,本發(fā)明提出一種檢測(cè)疲勞駕駛的方法和裝置,通過(guò)從拍攝裝置獲取人臉圖像,對(duì)人臉圖像中的特征部位進(jìn)行識(shí)別,得到特征部位圖像,若連續(xù)多個(gè)特征部位圖像中特征部位的特征值滿足預(yù)設(shè)條件,則判定為疲勞駕駛的方式,能夠準(zhǔn)確的判斷出駕駛員是否為疲勞駕駛,從而提高了駕駛的安全性,使檢測(cè)疲勞駕駛的成本降低。
一方面,本發(fā)明提出一種檢測(cè)疲勞駕駛的方法,包括:
獲取人臉圖像步驟,包括:從拍攝裝置獲取人臉圖像;
識(shí)別特征部位步驟,包括:對(duì)所述人臉圖像中的特征部位進(jìn)行識(shí)別,得到特征部位圖像;
判斷步驟,包括:若連續(xù)多個(gè)所述特征部位圖像中所述特征部位的狀態(tài)滿足預(yù)設(shè)條件,則判定為疲勞駕駛。
此外,所述識(shí)別特征部位步驟中所述特征部位包括眼睛和/或嘴。
此外,所述特征部位為眼睛,所述識(shí)別特征部位步驟具體包括:對(duì)所述人臉圖像中的眼睛進(jìn)行識(shí)別,得到左眼睛圖像、右眼睛圖像或兩只眼睛圖像。
此外,所述判斷步驟具體包括:若連續(xù)多個(gè)左眼睛圖像、右眼睛圖像或兩只眼睛圖像中眼睛的上邊緣位置與下邊緣位置之間的絕對(duì)差值小于預(yù)設(shè)第一差值,則判斷為疲勞駕駛;
或所述判斷步驟具體包括:計(jì)算左眼睛圖像、右眼睛圖像或兩只眼睛圖像中眼睛的上邊緣位置與下邊緣位置之間的眼睛絕對(duì)差值,計(jì)算眼球的上邊緣位置與下邊緣位置之間的眼球絕對(duì)差值,若連續(xù)多個(gè)眼球絕對(duì)差值與眼睛絕對(duì)差值之間的比例小于預(yù)設(shè)比例值,則判斷為疲勞駕駛;
或所述判斷步驟具體包括:若連續(xù)多個(gè)左眼睛圖像、右眼睛圖像或兩只眼睛圖像中眼睛為閉合狀態(tài),則判斷為疲勞駕駛。
此外,所述特征部位為嘴,所述識(shí)別特征部位步驟具體包括:對(duì)所述人臉圖像中的嘴進(jìn)行識(shí)別,得到嘴圖像。
此外,所述判斷步驟具體包括:若連續(xù)多個(gè)嘴圖像中嘴的上邊緣位置與下邊緣位置之間的絕對(duì)差值大于預(yù)設(shè)第二差值,則判斷為疲勞駕駛;
或所述判斷步驟具體包括:若連續(xù)多個(gè)嘴圖像中的嘴為張開狀態(tài),則判斷為疲勞駕駛。
此外,所述識(shí)別特征部位步驟中對(duì)所述人臉圖像中的特征部位進(jìn)行識(shí)別,具體包括:通過(guò)滑窗圖像對(duì)所述人臉圖像中的所述特征部位進(jìn)行搜索,識(shí)別出所述特征部位。
此外,所述判斷步驟之前還包括樣本訓(xùn)練步驟,包括:對(duì)人臉樣本進(jìn)行訓(xùn)練、對(duì)非人臉樣本進(jìn)行訓(xùn)練、對(duì)眼睛樣本進(jìn)行訓(xùn)練、對(duì)非眼睛樣本進(jìn)行訓(xùn)練、對(duì)眼睛睜開樣本進(jìn)行訓(xùn)練、對(duì)眼睛閉合樣本進(jìn)行訓(xùn)練、對(duì)嘴樣本進(jìn)行訓(xùn)練、對(duì)非嘴樣本進(jìn)行訓(xùn)練、對(duì)嘴張開樣本進(jìn)行訓(xùn)練和/或?qū)ψ扉]合樣本進(jìn)行訓(xùn)練。
此外,所述判斷步驟之后,還包括提示步驟,包括:若判斷為疲勞駕駛,則通過(guò)聲音或圖像的方式進(jìn)行提示。
另一方面,本發(fā)明提出一種檢測(cè)疲勞駕駛的裝置,包括:
獲取人臉圖像模塊,用于:從拍攝裝置獲取人臉圖像;
識(shí)別特征部位模塊,用于:對(duì)所述人臉圖像中的特征部位進(jìn)行識(shí)別,得到特征部位圖像;
判斷模塊,用于:若連續(xù)多個(gè)所述特征部位圖像中所述特征部位的特征值滿足預(yù)設(shè)條件,則判定為疲勞駕駛。
采用上述技術(shù)方案,具有以下有益效果:
通過(guò)從拍攝裝置獲取人臉圖像,對(duì)人臉圖像中的特征部位進(jìn)行識(shí)別,得到特征部位圖像,若連續(xù)多個(gè)特征部位圖像中特征部位的特征值滿足預(yù)設(shè)條件,則判定為疲勞駕駛的方式,能夠準(zhǔn)確的判斷出駕駛員是否為疲勞駕駛,從而提高了駕駛的安全性,使檢測(cè)疲勞駕駛的成本降低。
附圖說(shuō)明
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的檢測(cè)疲勞駕駛的方法的流程圖;
圖2是根據(jù)本發(fā)明另一個(gè)實(shí)施例的獲取的人臉的灰度圖像示意圖;
圖3是根據(jù)本發(fā)明另一個(gè)實(shí)施例的對(duì)人臉進(jìn)行截取后的示意圖;
圖4是根據(jù)本發(fā)明另一個(gè)實(shí)施例的識(shí)別的人眼的示意圖;
圖5是根據(jù)本發(fā)明另一個(gè)實(shí)施例的檢測(cè)疲勞駕駛的方法的流程圖;
圖6是根據(jù)本發(fā)明另一個(gè)實(shí)施例的檢測(cè)疲勞駕駛的裝置的框圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參照?qǐng)D1,本發(fā)明提出一種檢測(cè)疲勞駕駛的方法,包括:
獲取人臉圖像步驟S001,包括:從拍攝裝置獲取人臉圖像;
識(shí)別特征部位步驟S002,包括:對(duì)人臉圖像中的特征部位進(jìn)行識(shí)別,得到特征部位圖像;
判斷步驟S003,包括:若連續(xù)多個(gè)特征部位圖像中特征部位的特征值滿足預(yù)設(shè)條件,則判定為疲勞駕駛。
獲取人臉圖像步驟S001中,拍攝裝置為可連續(xù)拍照的裝置,如攝像頭。人臉圖像為駕駛員的人臉圖像,從拍攝裝置連續(xù)的獲取駕駛員的人臉圖像。由安裝在駕駛員前方的攝像頭獲取得到路面的實(shí)況圖。
由于駕駛員的座位固定,并且駕駛員需要系安全帶,所以駕駛員的位置基本固定不變,即駕駛員的人臉的位置變化不大,所以可以采用對(duì)駕駛員的人臉進(jìn)行識(shí)別的方式,判斷駕駛員是否疲勞駕。
識(shí)別特征部位步驟S002中,對(duì)人臉圖像先進(jìn)行圖像處理,具體如下:
將人臉圖像轉(zhuǎn)換為灰度圖像,圖像庫(kù)中的轉(zhuǎn)換函數(shù)為cvCvtColor,然后對(duì)灰度圖像進(jìn)行去噪處理,圖像庫(kù)中的去噪函數(shù)為cvSmooth。
對(duì)灰度圖像中的人臉進(jìn)行粗略檢測(cè),可以采用圖像庫(kù)函數(shù)cvHaarDetectObjects對(duì)人臉進(jìn)行粗略檢測(cè)。
然后,通過(guò)訓(xùn)練樣本去除掉非駕駛員的人臉圖像,如訓(xùn)練樣本為model_face,通過(guò)model_face去掉非駕駛員的人臉圖像,保留同訓(xùn)練樣本相似度高的人臉圖像。
支持向量機(jī),因其英文名為support vector machine,故一般簡(jiǎn)稱SVM。
在機(jī)器學(xué)習(xí)中,支持向量機(jī)(SVM,還支持矢量網(wǎng)絡(luò))是與相關(guān)的學(xué)習(xí)算法有關(guān)的監(jiān)督學(xué)習(xí)模型,可以分析數(shù)據(jù),識(shí)別模式,用于分類和回歸分析。給定一組訓(xùn)練樣本,每個(gè)標(biāo)記為屬于兩類,一個(gè)SVM訓(xùn)練算法建立了一個(gè)模型,分配新的實(shí)例為一類或其他類,使其成為非概率二元線性分類。一個(gè)SVM模型的例子,如在空間中的點(diǎn),映射,使得所述不同的類別的例子是由一個(gè)明顯的差距是盡可能寬劃分的表示。新的實(shí)施例則映射到相同的空間中,并預(yù)測(cè)基于它們落在所述間隙側(cè)上屬于一個(gè)類別。
除了進(jìn)行線性分類,支持向量機(jī)可以使用所謂的核技巧,它們的輸入隱含映射成高維特征空間中有效地進(jìn)行非線性分類。
將保留下的人臉圖像中非人臉的部分截取掉,只保留人臉的部分。在其中的一個(gè)實(shí)施例中,將截取后的人臉圖像縮放到分辨率為100x100,以標(biāo)準(zhǔn)尺寸存儲(chǔ)人臉圖像,方便后續(xù)的特征部位識(shí)別,特征部位比較。
在其中的一個(gè)實(shí)施例中,當(dāng)人臉圖像的光照不均時(shí),可采用歸一化的方法處理,使圖像中不同部位的圖像的亮度差減少,使亮度均勻。
對(duì)截取后的人臉圖像進(jìn)行特征部位識(shí)別,特征部位包括:眼睛或嘴??刹捎没八惴▽?duì)特征部位進(jìn)行識(shí)別。
滑窗算法 (sliding window algorithm)中滑窗的尺寸為12x32,使滑窗在截取后的人臉圖像中進(jìn)行搜索,得到900個(gè)滑動(dòng)窗口,對(duì)900個(gè)滑動(dòng)窗口分別進(jìn)行分類,根據(jù)眼睛訓(xùn)練樣本model_eye對(duì)分類中的圖像計(jì)算得分,得分最高的滑窗為眼睛圖像。根據(jù)右眼睛的眼睛訓(xùn)練樣本得到右眼圖像img_eye_right, 根據(jù)左眼睛的眼睛訓(xùn)練樣本得到左眼圖像img_eye_left。
用眼睛睜開樣本和眼睛閉合樣本model_open_close識(shí)別眼睛圖像中的眼睛是睜開還是閉合。
舉例:人臉圖像灰度處理后的灰度圖像如圖2所示,將灰度圖像中非人臉部分去掉,保持人臉部分的圖像如圖3所示,通過(guò)滑窗算法識(shí)別出的眼睛圖像如圖4所示。
同樣,可以采用嘴訓(xùn)練樣本對(duì)嘴進(jìn)行識(shí)別。
判斷步驟S003中,若連續(xù)多個(gè)特征部位圖像中特征部位的狀態(tài)滿足預(yù)設(shè)條件,則判定為疲勞駕駛。當(dāng)連續(xù)多張人臉圖像中眼睛處于閉合狀態(tài),那么認(rèn)為疲勞駕駛。
在其中的一個(gè)實(shí)施例中,檢測(cè)截取后人臉圖像中眼睛的輪廓,若判斷眼睛的上邊緣位置與下邊緣位置之間的絕對(duì)差值小于預(yù)設(shè)第一差值,則判斷為疲勞駕駛。若連續(xù)多個(gè)嘴圖像中嘴的上邊緣位置與下邊緣位置之間的決定差值大于預(yù)設(shè)第二差值,則判斷為疲勞駕駛。
例如,一秒中獲取30幀人臉圖像,那么當(dāng)眼睛閉合的時(shí)間持續(xù)達(dá)到3秒鐘,則判斷駕駛員為疲勞駕駛?;虍?dāng)檢測(cè)到嘴持續(xù)保持張開狀態(tài)3秒,則判斷駕駛員為疲勞駕駛。
在其中的一個(gè)實(shí)施例中,若人臉圖像發(fā)生畸變,則對(duì)人臉圖像進(jìn)行校正處理。若檢測(cè)到人臉圖像發(fā)生旋轉(zhuǎn),則可以通過(guò)檢測(cè)到的兩只眼睛之間的連線與水平線之間的角度值,來(lái)校正圖像,使圖像處于水平。
通過(guò)從拍攝裝置獲取人臉圖像,對(duì)人臉圖像中的特征部位進(jìn)行識(shí)別,得到特征部位圖像,若連續(xù)多個(gè)特征部位圖像中特征部位的特征值滿足預(yù)設(shè)條件,則判定為疲勞駕駛的方式,能夠準(zhǔn)確的判斷出駕駛員是否為疲勞駕駛,從而提高了駕駛的安全性,使檢測(cè)疲勞駕駛的成本降低。
在其中的一個(gè)實(shí)施例中,識(shí)別特征部位步驟中特征部位包括眼睛和/或嘴。通過(guò)眼睛的閉合時(shí)間判斷駕駛員是否在閉眼睡覺(jué)。通過(guò)嘴的張開時(shí)間判斷駕駛員是否在打哈欠。通過(guò)這兩個(gè)特征部位能夠準(zhǔn)確的判斷駕駛員是否為疲勞駕駛。
在其中的一個(gè)實(shí)施例中,特征部位為眼睛,識(shí)別特征部位步驟具體包括:對(duì)人臉圖像中的眼睛進(jìn)行識(shí)別,得到左眼睛圖像、右眼睛圖像或兩只眼睛圖像。通過(guò)滑窗算法對(duì)人臉圖像中的眼睛進(jìn)行識(shí)別。
在其中的一個(gè)實(shí)施例中,判斷步驟具體包括:若連續(xù)多個(gè)左眼睛圖像、右眼睛圖像或兩只眼睛圖像中眼睛的上邊緣位置與下邊緣位置之間的絕對(duì)差值小于預(yù)設(shè)第一差值,則判斷為疲勞駕駛;
或判斷步驟具體包括:計(jì)算左眼睛圖像、右眼睛圖像或兩只眼睛圖像中眼睛的上邊緣位置與下邊緣位置之間的眼睛絕對(duì)差值,計(jì)算眼球的上邊緣位置與下邊緣位置之間的眼球絕對(duì)差值,若連續(xù)多個(gè)眼球絕對(duì)差值與眼睛絕對(duì)差值之間的比例小于預(yù)設(shè)比例值,則判斷為疲勞駕駛;
或判斷步驟具體包括:若連續(xù)多個(gè)左眼睛圖像、右眼睛圖像或兩只眼睛圖像中眼睛為閉合狀態(tài),則判斷為疲勞駕駛。
采用檢測(cè)眼睛的輪廓圖像中眼睛的上邊緣位置與下邊緣位置之間的絕對(duì)差值是否小于預(yù)設(shè)第一差值,來(lái)判斷駕駛員是否瞇眼或者閉眼,從而判斷駕駛員是否疲勞駕駛。
因?yàn)椴煌说娜搜鄣拇笮〔煌?,所以還可以通過(guò)判斷眼球絕對(duì)差值與眼睛絕對(duì)差值之間的比例是否小于預(yù)設(shè)比例值的方式,判斷駕駛員是否為疲勞駕駛。從而解決因?yàn)槿搜鄄煌?,而采用同樣的?biāo)準(zhǔn)對(duì)人眼進(jìn)行判斷帶來(lái)的誤判。
采用與眼睛訓(xùn)練樣本匹配的方式,得到眼睛的狀態(tài),若眼睛為閉合狀態(tài),則判斷為疲勞駕駛。
在其中的一個(gè)實(shí)施例中,特征部位為嘴,識(shí)別特征部位步驟具體包括:對(duì)人臉圖像中的嘴進(jìn)行識(shí)別,得到嘴圖像。
在其中的一個(gè)實(shí)施例中,判斷步驟具體包括:若連續(xù)多個(gè)嘴圖像中嘴的上邊緣位置與下邊緣位置之間的絕對(duì)差值大于預(yù)設(shè)第二差值,則判斷為疲勞駕駛;
或判斷步驟具體包括:若連續(xù)多個(gè)嘴圖像中的嘴為張開狀態(tài),則判斷為疲勞駕駛。
檢測(cè)嘴的輪廓,若嘴的上邊緣位置與下邊緣位置之間的絕對(duì)差值大于預(yù)設(shè)第二差值,則判斷為疲勞駕駛。當(dāng)嘴在打哈欠的時(shí)候,嘴會(huì)持續(xù)張開一段時(shí)間,所以通過(guò)對(duì)嘴的檢測(cè)可以準(zhǔn)確判斷駕駛員是否為疲勞駕駛。
在其中的一個(gè)實(shí)施例中,識(shí)別特征部位步驟中對(duì)人臉圖像中的特征部位進(jìn)行識(shí)別,具體包括:通過(guò)滑窗圖像對(duì)人臉圖像中的特征部位進(jìn)行搜索,識(shí)別出特征部位。通過(guò)滑窗圖像配合訓(xùn)練樣本方法,使識(shí)別出的特征部位更加準(zhǔn)確。
在其中的一個(gè)實(shí)施例中,判斷步驟之前還包括樣本訓(xùn)練步驟,包括:對(duì)人臉樣本進(jìn)行訓(xùn)練、對(duì)非人臉樣本進(jìn)行訓(xùn)練、對(duì)眼睛樣本進(jìn)行訓(xùn)練、對(duì)非眼睛樣本進(jìn)行訓(xùn)練、對(duì)眼睛睜開樣本進(jìn)行訓(xùn)練、對(duì)眼睛閉合樣本進(jìn)行訓(xùn)練、對(duì)嘴樣本進(jìn)行訓(xùn)練、對(duì)非嘴樣本進(jìn)行訓(xùn)練、對(duì)嘴張開樣本進(jìn)行訓(xùn)練和/或?qū)ψ扉]合樣本進(jìn)行訓(xùn)練。
在其中的一個(gè)實(shí)施例中,判斷步驟之后,還包括提示步驟,包括:若判斷為疲勞駕駛,則通過(guò)聲音或圖像的方式進(jìn)行提示。通過(guò)對(duì)駕駛員進(jìn)行提示,使駕駛員可以解除睡意,或者選擇休息后再駕駛,從而可以避免危險(xiǎn)駕駛。
參照?qǐng)D5,說(shuō)明本發(fā)明一個(gè)實(shí)施例的流程。
步驟S501,從攝像裝置連續(xù)獲取人臉圖像;
步驟S502,對(duì)人臉圖像進(jìn)行灰度處理、去噪聲處理;
步驟S503,將人臉圖像中非人臉部分去掉,只保留人臉部分;
步驟S504,采用滑窗算法,配合訓(xùn)練樣本,對(duì)人臉圖像中的特征部位:眼睛和嘴進(jìn)行識(shí)別;
步驟S505,判斷眼睛和嘴的狀態(tài),若持續(xù)3秒鐘眼睛的狀態(tài)為閉合狀態(tài)或嘴的狀態(tài)為張開狀態(tài),則判斷駕駛員為疲勞駕駛;
步驟S506,通過(guò)聲音對(duì)駕駛員進(jìn)行提示。
參照?qǐng)D6,本發(fā)明還提出一種檢測(cè)疲勞駕駛的裝置,包括:
獲取人臉圖像模塊601,用于:從拍攝裝置獲取人臉圖像;
識(shí)別特征部位模塊602,用于:對(duì)人臉圖像中的特征部位進(jìn)行識(shí)別,得到特征部位圖像;
判斷模塊603,用于:若連續(xù)多個(gè)特征部位圖像中特征部位的特征值滿足預(yù)設(shè)條件,則判定為疲勞駕駛。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。