亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于樹莓派的駕駛員分心駕駛檢測系統(tǒng)

        2023-11-19 09:20:30莫紫雯王江濤張子翔
        電子制作 2023年21期
        關(guān)鍵詞:級聯(lián)關(guān)鍵點(diǎn)人臉

        莫紫雯,王江濤,張子翔

        (淮北師范大學(xué) 物理與電子信息學(xué)院,安徽淮北,235000)

        0 引言

        隨著社會不斷地發(fā)展,汽車成為人們出行必不可少的交通工具,但每年汽車交通事故的數(shù)量也在不斷增長,而分心駕駛是導(dǎo)致交通事故的重要原因之一。駕駛員分散注意力進(jìn)行非駕駛相關(guān)活動,如低頭看手機(jī)、轉(zhuǎn)頭聊天、發(fā)呆等,會降低對道路和周圍環(huán)境的注意力,增加發(fā)生事故的風(fēng)險(xiǎn)。因此,研究一款分心駕駛檢測系統(tǒng)可以及時發(fā)現(xiàn)駕駛員的分心行為,采取警示措施,減少交通事故的發(fā)生,提高道路安全。

        1 系統(tǒng)總體設(shè)計(jì)

        基于樹莓派的分心駕駛檢測系統(tǒng)由樹莓派4B、樹莓派顯示屏、樹莓派攝像頭、蜂鳴器模塊組成,通過攝像頭進(jìn)行實(shí)時圖像采集,將采集到的人臉特征關(guān)鍵點(diǎn)進(jìn)行數(shù)據(jù)處理,經(jīng)過計(jì)算與設(shè)定閾值進(jìn)行比較判斷是否達(dá)到分心駕駛狀態(tài)。

        圖1 系統(tǒng)總體結(jié)構(gòu)圖

        2 分心駕駛檢測系統(tǒng)的原理

        ■2.1 系統(tǒng)硬件實(shí)現(xiàn)

        完成本次系統(tǒng)設(shè)計(jì)的硬件組成為樹莓派(Raspberry Pi)。其部分參數(shù)配置如表1 所示。

        表1 系統(tǒng)硬件參數(shù)

        圖2 本文分心駕駛系統(tǒng)的具體實(shí)物圖

        ■2.2 系統(tǒng)軟件實(shí)現(xiàn)

        系統(tǒng)的軟件主要是在樹莓派上搭建OpenCV運(yùn)行環(huán)境,程序運(yùn)行時啟動攝像頭,系統(tǒng)進(jìn)行人臉識別并抓取面部關(guān)鍵點(diǎn),然后通過轉(zhuǎn)換3D-2D 模型,將旋轉(zhuǎn)向量轉(zhuǎn)換為旋轉(zhuǎn)矩陣,并分解投影矩陣,對頭部姿態(tài)進(jìn)行識別,與設(shè)定角度進(jìn)行比較并判定是否處于分心駕駛,對數(shù)據(jù)進(jìn)行預(yù)處理,實(shí)現(xiàn)分心駕駛的檢測與提示。

        3 系統(tǒng)設(shè)計(jì)方案

        ■3.1 系統(tǒng)工作流程

        檢測方式通過實(shí)時攝像頭檢測,打開攝像頭后,完成界面和變量的初始化,然后使用基于HOG 特征的級聯(lián)分類器來檢測視頻幀中的人臉,并提取人臉關(guān)鍵點(diǎn)(如眼睛、鼻子、嘴巴等)的坐標(biāo)[1]。然后,定義一個頭部的3D 模型,將2D 的人臉關(guān)鍵點(diǎn)坐標(biāo)與3D 模型中對應(yīng)的點(diǎn)建立起對應(yīng)關(guān)系。通過將2D-3D 對應(yīng)點(diǎn)作為輸入,使用PnP 算法估計(jì)得到的旋轉(zhuǎn)向量和平移向量。最后,通過將旋轉(zhuǎn)向量轉(zhuǎn)換為旋轉(zhuǎn)矩陣,并分解投影矩陣,可以計(jì)算頭部的歐拉角(如俯仰角、偏航角、滾動角)。設(shè)置低頭閾值角度為10 度,如果在連續(xù)3s 內(nèi)檢測的頭部偏轉(zhuǎn)角度都大于閾值角度,則將被判定為分心駕駛;同理,設(shè)置左右偏頭閾值為10 度,如果在連續(xù)3s 內(nèi)檢測的頭部偏轉(zhuǎn)角度大于10 度或小于-10度也將被判定為分心駕駛,系統(tǒng)將進(jìn)行警報(bào)提示。

        圖3 分心駕駛檢測系統(tǒng)軟件實(shí)現(xiàn)流程圖

        圖4 分心駕駛檢測系統(tǒng)總體設(shè)計(jì)流程圖

        ■3.2 關(guān)鍵步驟

        (1)創(chuàng)建一個人臉檢測器detector 和一個關(guān)鍵點(diǎn)預(yù)測器predictor。detector 使用Dlib 的默認(rèn)人臉檢測器來檢測輸入幀中的人臉,predictor 使用預(yù)訓(xùn)練的模型來預(yù)測人臉關(guān)鍵點(diǎn)。

        (2)讀取視頻流的每一幀。對于每一幀,使用人臉檢測器檢測人臉的邊界框face_rects。

        (3)如果檢測到人臉,則利用關(guān)鍵點(diǎn)預(yù)測器獲取人臉的68 個關(guān)鍵點(diǎn)坐標(biāo)shape,這些關(guān)鍵點(diǎn)包括眼睛、眉毛、鼻子、嘴巴等[2]。

        (4)調(diào)用get_head_pose()函數(shù),傳入關(guān)鍵點(diǎn)坐標(biāo)shape,以估計(jì)頭部的旋轉(zhuǎn)角度和俯仰角度。函數(shù)返回投影后的關(guān)鍵點(diǎn)坐標(biāo)reprojectdst 和歐拉角euler_angle。

        (5)將投影后的關(guān)鍵點(diǎn)坐標(biāo)用線段連接起來,以顯示頭部的姿態(tài)估計(jì)。

        (6)將歐拉角的X、Y 和Z 分量分別賦值給變量ab 和yh,若在連續(xù)3 秒內(nèi)ab 大于10 度或yh 大于10 度或yh 小于-10 度,則判定為分心駕駛。

        (7)如果系統(tǒng)被判定為分心駕駛,顯示屏顯示提示字樣且蜂鳴器進(jìn)行警報(bào)提示。

        4 系統(tǒng)算法實(shí)現(xiàn)細(xì)節(jié)

        我們在使用Dlib 庫進(jìn)行人臉識別時,獲取了人臉68 個特征點(diǎn),并根據(jù)這些點(diǎn)的位置信息分別獲取左右眼面部標(biāo)志的索引。在本文中,我們采用了Dlib 庫中的兩個核心函數(shù):dlib.get frontal face detector() 和dlib.shape predictor()。前者是一種基于HOG pyramid 算法的內(nèi)置人臉檢測器,能夠準(zhǔn)確地識別出人臉區(qū)域的范圍。而后者則是針對特定區(qū)域內(nèi)的特征點(diǎn)進(jìn)行檢測和坐標(biāo)輸出的函數(shù),但需要通過文件路徑傳入一個事先練習(xí)好的模型才能工作。

        在這個項(xiàng)目中,我們使用了一個開源的模型shape predictor 68 face,通過它可以獲取到人臉的68 個特征點(diǎn)位置的坐標(biāo)信息。將這些坐標(biāo)點(diǎn)連線之后,可以得到如圖所示的效果展示(紅框?yàn)镠OG pyramid 檢測器的結(jié)果,綠框?yàn)閜redictor 函數(shù)的結(jié)果,僅連接了同一個器官的特征點(diǎn))所得效果如圖5 所示。

        通過數(shù)據(jù)分析,結(jié)合產(chǎn)品總出成和綜合售價(jià)兩個方面的綜合考慮,在毛雞只重為5.10×500g時,有相對較高的總出成和最高的綜合售價(jià)。所以,確定車間肉雞屠宰中毛雞的最佳只重為5.10×500g,對養(yǎng)殖端的毛雞養(yǎng)殖的最佳只重范圍提供一定理論依據(jù),進(jìn)而對屠宰車間的最大化價(jià)值生產(chǎn)提供一定的原料支持。

        圖5 人臉面部68 個特征關(guān)鍵點(diǎn)識別圖

        在這個項(xiàng)目中,我們使用了眼睛長寬比(EAR)來計(jì)算眼睛的狀態(tài)。當(dāng)人眼睜開時,EAR會在一個值域內(nèi)浮動。然而,當(dāng)人眼閉上時,EAR會迅速下降,接近于零。一般情況下,我們設(shè)置同一次眨眼的連續(xù)幀數(shù)為1 到3 幀。因此,兩個閾值都需要根據(jù)實(shí)際情況進(jìn)行設(shè)置。眼部抓取的6 個關(guān)鍵特征點(diǎn)如圖6 所示。

        圖6 眼部6 個關(guān)鍵特征點(diǎn)識別圖

        圖7 面部68 個關(guān)鍵特征點(diǎn)標(biāo)識圖

        圖8 3D 坐標(biāo)系與2D 坐標(biāo)系關(guān)系轉(zhuǎn)換圖

        通過式(1):

        計(jì)算出眼部閾值,我們通過比較當(dāng)前幀與前一幀的兩只眼睛的寬高比的絕對差值,此外,下方的面部關(guān)鍵特征點(diǎn)標(biāo)識圖展示了人臉68 個關(guān)鍵特征點(diǎn)的位置信息,37~42 代表左眼,43~48 代表右眼。

        在該項(xiàng)目中,我們首先需要定義一個合適的坐標(biāo)系來描述頭部的姿態(tài)。通常使用的是一個以人臉中心或眼睛中心為原點(diǎn),與圖像平面垂直的坐標(biāo)系。然后使用dlib.shape predictor()函數(shù)獲取人臉關(guān)鍵點(diǎn),該函數(shù)使用了人臉關(guān)鍵點(diǎn)檢測算法,該算法基于形狀模型和回歸方法,能夠?qū)θ四樳M(jìn)行準(zhǔn)確的特征點(diǎn)定位。通過使用訓(xùn)練好的形狀模型,可以在新的人臉圖像中預(yù)測并定位出相應(yīng)的關(guān)鍵點(diǎn),通常會包括眼睛、鼻子和嘴巴等特征點(diǎn)[3]。接著通過眼睛關(guān)鍵點(diǎn)的均值來計(jì)算眼睛的中心點(diǎn),例如左眼關(guān)鍵點(diǎn)的均值和右眼關(guān)鍵點(diǎn)的均值。使用眼睛中心點(diǎn)計(jì)算頭部在水平方向上的旋轉(zhuǎn)角度。

        ■4.1 Dlib 框架

        本文主要運(yùn)用Dlib 包中的圖像處理庫包,其中包括基本圖像處理、形態(tài)學(xué)運(yùn)算、圖像變換、特征提取等功能。人臉檢測和人臉識別是本文所設(shè)計(jì)系統(tǒng)中的兩個重要功能,其中人臉檢測是Dlib 庫中的人臉檢測算法基于HOG 特征和級聯(lián)分類器[4],該算法能夠快速準(zhǔn)確地檢測出圖像中的人臉。Dlib 提供了多種人臉檢測器,其中正面人臉檢測器是最為常用的,具有高準(zhǔn)確率和快速度。通過使用Dlib 庫提供的人臉檢測器,可以獲得人臉位置和大小等信息。Dlib 提供了基于ResNet 網(wǎng)絡(luò)的人臉識別器,該識別器能夠?qū)⑷四槇D像轉(zhuǎn)換為一個128 維的向量表示。這個向量表示能夠很好地表征人臉的特征,不僅在同一個人的不同姿態(tài)、表情、光照等變化下保持一致,而且在不同人之間也能夠區(qū)分開來。Dlib 還提供了人臉跟蹤器,可以跟蹤一個人臉在視頻中的位置和姿態(tài),并對其進(jìn)行實(shí)時的識別。

        ■4.2 基于HOG 特征的級聯(lián)分類器的詳細(xì)介紹的基本原理

        本文中使用了dlib.get frontal face detector()函數(shù),它的作用是在圖像或視頻中檢測出人臉的位置和邊界框。該函數(shù)使用了基于HOG 特征的級聯(lián)分類器來進(jìn)行人臉檢測。

        (1)HOG 特征

        HOG 特征是一種基于圖像梯度方向的特征表示方法,用于描述圖像中的紋理和形狀信息。它的主要思想是將圖像劃分為小的局部區(qū)域,計(jì)算每個區(qū)域內(nèi)梯度的方向和強(qiáng)度,并統(tǒng)計(jì)這些梯度方向的直方圖作為特征表示。HOG 特征在人臉檢測中非常有效,因?yàn)槿四樀募y理和形狀信息可以通過梯度方向進(jìn)行捕捉。

        級聯(lián)分類器是一種多階段的分類器,由多個弱分類器組成。它的設(shè)計(jì)目標(biāo)是在保持高檢測率的同時降低計(jì)算成本,以實(shí)現(xiàn)實(shí)時目標(biāo)檢測。級聯(lián)分類器通過級聯(lián)的方式將輸入樣本逐步過濾,將大多數(shù)負(fù)樣本(非目標(biāo))快速排除,只保留可能是目標(biāo)的區(qū)域進(jìn)行進(jìn)一步檢測。

        在人臉檢測中,級聯(lián)分類器通常采用AdaBoost 算法來訓(xùn)練弱分類器,并通過級聯(lián)的方式組合這些弱分類器。每個級聯(lián)階段包含多個弱分類器,只有當(dāng)一個區(qū)域通過當(dāng)前階段的所有弱分類器時,才會進(jìn)入下一階段的檢測。

        級聯(lián)分類器的訓(xùn)練過程包括以下步驟:

        (1)提取正樣本和負(fù)樣本的特征(如HOG 特征);

        (2)使用AdaBoost 算法訓(xùn)練弱分類器,通過選擇最佳的特征和閾值進(jìn)行分類;

        (3)逐級訓(xùn)練級聯(lián)階段,每個階段都對前一階段中被錯誤分類的樣本進(jìn)行進(jìn)一步訓(xùn)練;

        (4)在級聯(lián)過程中,隨著階段的增加,誤報(bào)率逐漸降低,同時保持較高的檢測率。

        級聯(lián)分類器的優(yōu)勢在于它能夠在較短的時間內(nèi)快速排除大部分負(fù)樣本,從而減少后續(xù)檢測階段的計(jì)算量,提高整體檢測速度。因此,本文系統(tǒng)中的dlib.get frontal face detector()函數(shù)使用了基于HOG 特征的級聯(lián)分類器來進(jìn)行人臉檢測。

        ■4.3 頭部姿態(tài)

        頭部姿態(tài)估計(jì)在很多應(yīng)用中都有著重要的作用,例如人機(jī)交互、情感識別、安防監(jiān)控等。它可以幫助計(jì)算機(jī)更好地理解人類的行為和意圖,從而提高人機(jī)交互的效率和自然度。

        要將一個3D坐標(biāo)系中的點(diǎn)表示為2D 坐標(biāo)系中的點(diǎn),需要進(jìn)行一定的坐標(biāo)變換。這個變換過程通常包括以下幾個步驟:

        (1)將3D 坐標(biāo)系中的點(diǎn)投影到一個平面上,得到一個2D 平面中的點(diǎn);

        (2)對這個2D 平面中的點(diǎn)進(jìn)行縮放和旋轉(zhuǎn),以適應(yīng)實(shí)際場景中的尺度和方向;

        (3)根據(jù)需要對2D 坐標(biāo)系中的點(diǎn)進(jìn)行平移,以調(diào)整它們在實(shí)際場景中的位置。

        通過使用OpenCV 提供的solvePnP()函數(shù),可以獲得旋轉(zhuǎn)矩陣R。

        繼而通過以下公式求得歐拉角:

        根據(jù)眼睛中心點(diǎn)的坐標(biāo)差異,可以使用函數(shù)來計(jì)算旋轉(zhuǎn)角度。最后計(jì)算頭部俯仰角度,頭部的俯仰角度通常是相對于一個參考點(diǎn)(例如鼻子關(guān)鍵點(diǎn))的頭部與該點(diǎn)之間的角度??梢杂?jì)算參考點(diǎn)到眼睛中心點(diǎn)的向量,然后計(jì)算該向量與圖像平面的夾角。

        5 分心駕駛檢測系統(tǒng)的實(shí)際驗(yàn)證

        系統(tǒng)的實(shí)際驗(yàn)證情況如圖9 所示,圖中立方體為根據(jù)頭部姿態(tài)重新建立的空間姿態(tài)立方體,將它與圖像中的標(biāo)準(zhǔn)坐標(biāo)對比并將頭部的歐拉角信息顯示在幀上,最后,打印輸出頭部的歐拉角信息,并將歐拉角的X、Y 和Z 分量分別賦值給變量,當(dāng)變量大于或小于設(shè)定角度范圍則將被判定出行為特征,而當(dāng)此行為持續(xù)超過3s 則將被系統(tǒng)判斷為分心駕駛。

        圖9 向左轉(zhuǎn)頭時系統(tǒng)識別情況

        圖10 向右轉(zhuǎn)頭時系統(tǒng)識別情況

        圖11 低頭時系統(tǒng)識別情況

        為了測試系統(tǒng)在實(shí)際情況下的綜合性能表現(xiàn),采用了同場景下多樣本的測試,志愿者的分心次數(shù)由兩位計(jì)數(shù)人員和本文所設(shè)計(jì)的分心駕駛檢測系統(tǒng)共同計(jì)數(shù),并將匯總的數(shù)據(jù)整理成表格形式。在這里選取5 名同學(xué)來模擬開車狀態(tài)進(jìn)行分心檢測,試驗(yàn)結(jié)果如表2 所示。

        表2 檢測實(shí)驗(yàn)結(jié)果

        從結(jié)果可以看出,本文所設(shè)計(jì)的分心駕駛檢測系統(tǒng)在實(shí)際測試場景中有較高的測試精度,整體的檢測準(zhǔn)確率達(dá)到了97.4%。其中在對低頭檢測的實(shí)驗(yàn)中,由于測試時所設(shè)閾值角度范圍較小,導(dǎo)致了在檢測低頭時做出了動作但系統(tǒng)誤判成向左或向右偏頭的情況,后續(xù)對本系統(tǒng)的研究仍然需要對這種情況進(jìn)行改進(jìn)。出現(xiàn)了誤判的現(xiàn)象,但是本文設(shè)計(jì)的分心駕駛檢測系統(tǒng)的整體表現(xiàn)尚可,實(shí)際測試結(jié)果驗(yàn)證了本文提出的程序的檢測系統(tǒng)的準(zhǔn)確性和實(shí)時性。

        6 結(jié)論

        本文根據(jù)實(shí)際生活中的需要設(shè)計(jì)了一款準(zhǔn)確且高效的分心駕駛檢測預(yù)警系統(tǒng),解決了駕駛員在行車過程中的無意識駕駛行為和一些已有的分心駕駛檢測系統(tǒng)的不足。該系統(tǒng)的計(jì)數(shù)原理是對OpenCV 捕捉的面部信息和頭部姿態(tài)信息進(jìn)行識別分析,首先定位抓取面部信息和實(shí)時識別駕駛過程中面部關(guān)鍵點(diǎn)和頭部姿態(tài)相對位置變化信息,通過與預(yù)先設(shè)置的分心駕駛判定角度進(jìn)行比較,可以確定當(dāng)前駕駛員是否處于分心駕駛狀態(tài)。該系統(tǒng)具有實(shí)時采集、同步檢測判斷、分心狀態(tài)判定,存儲和實(shí)時顯示計(jì)數(shù)結(jié)果等特性,系統(tǒng)的實(shí)時性較佳,對硬件設(shè)備要求不高,分心駕駛狀態(tài)檢測精確度高,為后續(xù)能真正應(yīng)用于駕駛員駕駛汽車的場景中提供了參考。

        猜你喜歡
        級聯(lián)關(guān)鍵點(diǎn)人臉
        聚焦金屬關(guān)鍵點(diǎn)
        肉兔育肥抓好七個關(guān)鍵點(diǎn)
        有特點(diǎn)的人臉
        三國漫——人臉解鎖
        動漫星空(2018年9期)2018-10-26 01:17:14
        級聯(lián)LDPC碼的STBC-OFDM系統(tǒng)
        電子制作(2016年15期)2017-01-15 13:39:09
        基于級聯(lián)MUSIC的面陣中的二維DOA估計(jì)算法
        馬面部與人臉相似度驚人
        醫(yī)聯(lián)體要把握三個關(guān)鍵點(diǎn)
        長得象人臉的十種動物
        奇聞怪事(2014年5期)2014-05-13 21:43:01
        LCL濾波器在6kV級聯(lián)STATCOM中的應(yīng)用
        電測與儀表(2014年1期)2014-04-04 12:00:34
        欧洲AV秘 无码一区二区三| 亚洲线精品一区二区三区| 国产69久久精品成人看| 亚洲h在线播放在线观看h| 国产精品久久久久久麻豆一区| 91精品国产高清久久久久| 日韩精品极品免费在线视频| 亚洲国产中文字幕精品| 三级做a全过程在线观看| 国外精品视频在线观看免费 | 精品女同一区二区三区在线播放器| 91精品国产九色综合久久香蕉| 亚洲色偷偷偷综合网| 国产精品综合一区二区三区| 巨爆乳中文字幕爆乳区| 亚洲一区二区三区在线| 亚洲国产av一区二区三区天堂| 国产精品日本一区二区在线播放 | 少妇性饥渴无码a区免费| 亚洲第一成人网站| 蜜臀av中文人妻系列| 久久综合另类激情人妖| 五月丁香六月综合缴清无码| 黑人巨大白妞出浆| 免费无遮挡毛片中文字幕| 青青草久久久亚洲一区| 亚洲成av人片一区二区密柚| 一区二区三区人妻无码| 亚洲欧洲精品国产二码| 精品国产麻豆一区二区三区| 熟女一区二区中文字幕| 一本久久a久久精品vr综合 | 免费国产99久久久香蕉| 午夜一区二区三区在线观看| 男女无遮挡高清性视频| 国产办公室沙发系列高清| 亚洲成人免费无码| 国产偷拍自拍在线观看| 天堂资源中文网| 黑人巨茎大战欧美白妇| 日韩一区二区不卡av|