基于ARM+DSP的駕駛員眼部疲勞視覺檢測算法設計
2.4 基于Sobel 算子的邊緣檢測
邊緣是圖像灰度變化劇烈的地方, 在從皮膚到眼白再到瞳孔的變化過程中, 包含了豐富的眼部圖像邊緣信
息, 因此可以用邊緣提取的方法將眼部邊緣提取出來作為人眼檢測和定位的基礎。利用Sobel 邊緣算子對初始眼部檢測區(qū)域進行邊緣檢測,能夠有效地將眼部邊緣提取出來。Sobel 算子可用矩陣形式表示為:
2.5 改進積分投影算法確定左右眼角和上下眼瞼的距離
對濾波后的二值圖像, 首先將初始眼部檢測區(qū)域EFGH 從水平方向的中線位置分成如圖3 所示的左右兩個部分(即右眼檢測區(qū)域EMNH 和左眼檢測區(qū)域MFGN),然后利用改進積分投影算法分別在左右眼檢測區(qū)域內確定左右眼的左右眼角距離及上下眼瞼距離。因左、右眼的參數確定方法類似,故僅以右眼檢測區(qū)域EMNH 為例說明參數的確定過程。具體實現過程如下:
(1)為避免計算過程中眼睛上方眉毛對定位結果的影響, 算法在確定上下眼瞼邊緣, 從右眼檢測區(qū)域EMNH
的最下方一行像素開始向上搜索,逐行從左至右統計每行中灰度值等于1 的像素個數, 并將第i 行中灰度值為
1 的像素個數之和存放在數組Nc [i] 中, 規(guī)定右眼檢測區(qū)域EMNH 的最下方一行為第0 行, 即i=0 ; 每搜索統計完一行后i 自動加1。
(2) 對當前第i 行中灰度值等于1 的像素的個數之和進行統計計算, 如果:
3 實驗與分析
為驗證眼睛疲勞特征檢測算法的有效性,在構建的ARM+DSP系統上對采集到的視頻圖像進行實驗驗證。在滬寧高速南京段的實驗結果表明,該系統將算法處理時間控制在50 ms以內,取得了良好的實時效果,疲勞駕駛檢測正確率達97.6%。部分圖像的眼部區(qū)域檢測結果如圖4所示,其中,第一行為人臉檢測后的面部定位圖像,第二行為經Sobel邊緣檢測后的眼部二值圖像,第三行為得到的眼部邊界定位圖像。
通過觀察發(fā)現,通常情況下,駕駛員在睜眼和閉眼時,左、右眼的睜閉情況是同步的,即同時睜開或同時閉合。因此,在對眼睛睜閉狀態(tài)進行判斷時,為減少計算量,僅對左眼的睜閉情況進行判斷。針對圖4所示的眼部區(qū)域檢測結果,利用式(8)計算其左眼睜閉度的大小,計算結果如表1所示。
由表1可知,圖4中第一列和第二列所示的眼睛閉合時的睜閉度值明顯小于第三列和第四列所示的眼睛睜開時的睜閉度值。故只要選擇合適的閾值,根據眼睛睜閉度值的大小,就可對駕駛員眼睛的睜閉狀態(tài)進行有效判斷。本文引用地址:http://butianyuan.cn/article/196358.htm
本文在ARM+DSP系統上實現了基于眼部特征的疲勞駕駛檢測算法。利用基于膚色聚類的臉部檢測算法確定臉部邊界,采用一種簡單有效的改進積分投影算法,實現了駕駛員眼部睜閉狀態(tài)的有效判定和疲勞駕駛的實時檢測。
全息投影相關文章:全息投影原理
評論