本發明涉及一種能夠預判駕駛員轉向意圖的輔助車燈控制方法。
背景技術:
隨著汽車工業的發展,汽車在平常百姓中的普及率越來越高,隨之而來的是越來越多的安全事故。車燈作為汽車的“眼睛”,在夜間行車過程中擔任著至關重要的作用。傳統的汽車車燈是固結在車體上,在拐彎的時候,無法提供足夠的側向照明,從而造成較大的視野盲區,容易引起事故。
針對這種情況,人們把目光轉向智能隨動照明系統,即根據車輛的車速和方向盤轉角等汽車的實時姿態信息來決定車燈相對于車體的角度。然而這種算法也存在著一定的問題,即必須在車輛已經發生轉彎智能系統才能開始工作,反應比較落后,屬于被動開啟。
技術實現要素:
針對現有技術中存在的問題,本發明的目的在于,提供一種能夠預判駕駛員轉向意圖的輔助車燈控制方法,能夠提前判斷司機是否要轉向以及轉彎角度,從而進行更加主動地補光操作。
為了實現上述目的,本發明采用如下技術方案:
一種能夠預判駕駛員轉向意圖的輔助車燈控制方法,包括以下步驟:
步驟一:將攝像頭安裝在車輛駕駛室內,通過攝像頭采集駕駛員的人臉圖像,人臉圖像中包含駕駛員的人眼信息;
步驟二:對采集到的人臉圖像進行預處理,預處理包括灰度處理和圖像濾波,預處理后得到平滑圖像;
步驟三:對平滑圖像進行人眼識別,得到平滑圖像中的兩個人眼區域;
步驟四:針對每個人眼區域確定瞳孔的位置;
步驟五:針對每個人眼區域確定人眼對應的兩個角點的位置;
步驟六:針對每個人眼區域中瞳孔的位置和兩個角點的位置,計算初步瞳孔偏移量;求取兩個人眼區域得到的兩個初步瞳孔偏移量的平均值,作為瞳孔偏移量;
步驟七:在車輛的車輪上安裝車速傳感器,計算得到車速;
步驟八:根據步驟六得到的瞳孔偏移量和步驟七得到的車速,利用模糊算法,求取輔助燈應偏轉角度;
步驟九:在車輛的輔助燈上安裝角度傳感器,得到輔助燈的實際偏轉角度;將輔助燈實際偏轉角度和步驟八得到的輔助燈應偏轉角度進行對比,得出輔助燈還需要偏轉的角度。
具體地,所述步驟三中對平滑圖像進行人眼識別,得到平滑圖像中的兩個人眼區域,具體包括以下步驟:
針對平滑圖像求取橫向灰度投影圖和縱向灰度投影圖;
針對橫向灰度投影圖,查找橫向灰度投影圖中的峰值,并查找峰值兩個的第一個谷底,分別以兩個谷底為中心,向左右兩側各擴展n個像素點,分別得到兩個人眼區域的水平區域;
針對縱向灰度投影圖,在縱向灰度投影圖的上半部分查找局部最小值,以局部最小值為中心,向上和向下各擴展m個像素點,得到人眼區域的豎直區域;
根據兩個水平區域和一個豎直區域確定兩個人眼區域。
具體地,所述步驟四中的針對每個人眼區域中確定瞳孔的位置,具體包括以下步驟:
選取一個p*q大小的矩形框,使該矩形框在人眼區域內滑動,計算矩形框內的矩形區域的像素點的灰度值的最大值與像素點的灰度值的最小值,選取最大值與最小值的差值小于P的多個矩形區域,計算選取的多個矩形區域中的每個矩形區域內的所有像素點的灰度值的平均值,選取平均值最小的矩形區域,即為人眼區域中的瞳孔區域;瞳孔區域的中心點即為瞳孔的位置。
具體地,所述步驟五中的針對每個人眼區域中確定人眼對應的兩個角點的位置,具體包括以下步驟:
選取a*b大小的矩形框,將人眼區域中的任意一個像素點置于矩形框的中心位置,將矩形框沿人眼區域的橫軸方向移動,每次移動一個像素點的距離,計算矩形框內的矩形區域的所有像素點的灰度值的平均值,計算矩形框移動過程中,相鄰的矩形區域求取的所有像素點的灰度值的平均值的變化量Iu;
將矩形框將縱軸方向移動移動,每次移動一個像素點的距離,計算矩形框內的矩形區域的所有像素點的灰度值的平均值,計算矩形框移動過程中,相鄰的矩形區域求取的所有像素點的灰度值的平均值的變化量Iv;
Iuv=Iu·Iv,得到方針
求取Harris算子R,R=det(C)-k*tr2(C),其中,tr(C)表示方陣C的跡,det(C)表示方陣C行列式的值,k為經驗值。
若人眼區域中的某像素點對應的Harris算子R大于設定閾值T,則該像素點為角點。
具體地,所述步驟八中的根據步驟六得到的瞳孔偏移量和步驟七得到的車速,利用模糊算法,求取輔助燈應偏轉角度,具體包括以下步驟:
步驟8.1:建立車速模糊集合,分別為FR,F,M,S,SR;建立瞳孔偏移量模糊集合,分別為LB,LM,LS,Z,RS,RM,RB;建立輔助燈轉角模糊集合,分別為
步驟8.2:針對車速模糊集合、瞳孔偏移量模糊集合和輔助燈轉角模糊集合,分別建立車速隸屬度函數μ車速、瞳孔偏移量隸屬度函數μ瞳孔和輔助燈轉角隸屬度函數μ轉角;
步驟8.3:建立模糊控制表;根據車速隸屬度函數μ車速求取步驟七得到的車速對應的車速隸屬度;根據瞳孔偏移量隸屬度函數μ瞳孔求取步驟六得到的瞳孔偏移量對應的瞳孔偏移量隸屬度;
根據模糊控制表,結合車速隸屬度和瞳孔偏移量隸屬度,求得輔助燈轉角所屬的輔助燈轉角模糊集合,以及輔助燈轉角隸屬度;
步驟8.4:根據輔助燈轉角所屬的輔助燈轉角模糊集合,將得到的輔助燈轉角隸屬度的值代入輔助燈轉角隸屬度函數μ轉角中,求取輔助燈應偏轉角度。
具體地,所述步驟8.3中的根據模糊控制表,結合車速隸屬度和瞳孔偏移量隸屬度,求得輔助燈轉角所屬的輔助燈轉角模糊集合,以及輔助燈轉角隸屬度,具體包括以下步驟:
某一車速對應的車速隸屬度包括兩個值,某一瞳孔偏移量對應的瞳孔偏移量包括兩個值,兩個車速隸屬度和兩個瞳孔偏移量隸屬度形成四組對應關系,每組對應關系根據模糊控制表求得一個輔助燈轉角所屬的輔助燈轉角模糊集合,求該組對應關系中的車速隸屬度和瞳孔偏移量隸屬度的最小值作為輔助燈轉角隸屬度;
四組對應關系求得四個初步燈轉角隸屬度的值,將所述四個輔助燈轉角隸屬度的值的最大值作為最終的輔助燈轉角隸屬度,該輔助燈轉角隸屬度對應的輔助燈轉角模糊集合作為最終的輔助燈轉角所屬的輔助燈轉角模糊集合。
與現有技術相比,本發明具有以下技術效果:
本發明具有以下技術效果:本發明通過攝像頭識別人眼球動作,并綜合考慮此時的車速信息,通過模糊算法,預判車輛是否將進入彎道,計算出輔助燈應轉動的角度,并對比目前輔助燈所處的位置控制步進電機轉動,進行主動補光,提前消除彎道盲區,有效降低夜間車輛發生事故的概率。該系統彌補了傳統輔助車燈只能被動響應的缺點,具有預測準確、反應靈敏等特點。
附圖說明
圖1為本發明中的裝置在汽車上的安裝示意圖;
圖2為本發明的方法流程圖;
下面結合附圖和具體實施方式對本發明的方案作進一步詳細地解釋和說明。
具體實施方式
本發明的能夠預判駕駛員轉向意圖的輔助車燈控制方法,包括以下步驟:
步驟一:將攝像頭安裝在車輛駕駛室內,通過攝像頭采集駕駛員的人臉圖像,人臉圖像中包含駕駛員的人眼信息。
步驟二:對采集到的人臉圖像進行預處理。具體方法如下:對采集到的人臉圖像進行灰度處理,得到灰度圖像;對灰度圖像進行圖像濾波,采用中值濾波的方法,使得圖像變得平滑,圖像濾波后得到平滑圖像。
步驟三:對平滑圖像進行人眼識別,得到平滑圖像中的人眼區域。具體方法如下:
針對平滑圖像利用按行或按列求灰度值之和的方法得到橫向灰度投影圖和縱向灰度投影圖;其中,橫向灰度投影圖的橫軸表示平滑圖像的橫軸方向,橫向灰度投影圖的縱軸表示平滑圖像上沿橫軸的每一坐標點在縱軸方向的所有像素點的灰度值之和。縱向灰度投影圖的縱軸表示平滑圖像的縱向方向,縱向灰度投影圖的橫軸表示平滑圖像上沿縱軸的每一坐標點在橫軸方向的所有像素點的灰度值之和。
針對橫向灰度投影圖,查找圖中的峰值,并查找峰值兩側的第一個谷底,分別以兩個谷底為中心,向左右兩側各擴展50個像素點,分別得到兩個人眼區域的水平區域;針對縱向灰度投影圖,在縱向灰度投影圖的上半部分查找局部最小值,以局部最小值為中心,向上下兩側各擴展15個像素點,得到人眼的豎直區域。根據兩個水平區域和一個豎直區域得到兩個人眼區域。
步驟四:在步驟三得到的人眼區域中確定兩個瞳孔的位置。具體方法如下:
選取一個10*10大小的矩形框,使該矩形框在人眼區域內滑動,計算矩形框內的矩形區域的像素點的灰度值的最大值與像素點的灰度值的最小值,選取最大值與最小值的差值小于20的多個矩形區域,計算選取的多個矩形區域中的每個矩形區域內的所有像素點的灰度值的平均值,選取平均值最小的矩形區域,即為人眼區域中的瞳孔區域;瞳孔區域的中心點即為瞳孔的位置。另一個瞳孔的位置求取方法相同。
步驟五:分別在步驟三得到的兩個人眼區域中確定所有角點的位置。具體方法如下:
定義3*3的矩形框,將人眼區域內的任意一個像素點置于矩形框的中心位置,將矩形框沿橫軸方向移動,每次移動一個像素點的距離,計算每移動一次的矩形框內的9個像素點的灰度值的平均值,計算相鄰的矩形框的平均值的變化量Iu,同理,將矩形框將縱軸方向移動,每次移動一個像素點的距離,計算每移動一次的矩形框內的9個像素點的灰度值的平均值,計算相鄰的矩形框的平均值的變化量Iv,令Iuv=Iu·Iv,得到方針利用方針C計算上述像素點的Harris算子R,R=det(C)-k*tr2(C),其中,tr(C)表示方陣C的跡,det(C)表示方陣C行列式的值。k為經驗值,通常取0.04~0.06。
若某像素點的Harris算子R大于設定閾值T,T取0.9,則該像素點為角點。最終得到所有角點,即4個角點。
步驟六:根據瞳孔位置和所有角點的位置,計算瞳孔偏移量。具體方法如下:
分別計算每個瞳孔與其對應的兩個角點的連線中點,在橫軸方向的距離d,分別為d1和d2,計算d1和d2的平均值,即為瞳孔偏移量。
步驟七:在車輛的左前輪和右后輪分別安裝一個車速傳感器,分別測得左前輪和右后輪的轉速,根據左前輪的轉速得到車速V1,根據右后輪的轉速得到車速V2,最終得到車速
步驟八:根據瞳孔偏移量和車速,利用模糊算法,得到輔助燈應偏轉角度。具體方法如下:
步驟8.1:對車速、瞳孔偏移量和輔助燈轉角進行模糊化;包括以下步驟:
步驟8.1.1:車速模糊化。設定判斷車速為0~100km/h,將判斷車速范圍均分成5個車速模糊集合,分別為FR(很快),F(快),M(中),S(慢),SR(很慢)
步驟8.1.2:瞳孔偏移量模糊化。設瞳孔偏移量值為-30~+30個像素值,其中負值表示向左偏移,正值表示向右偏移。將其均分為7個瞳孔偏移量模糊集合:LB(左偏移量大),LM(左偏移量中),LS(左偏移量小),Z(無偏移),RS(右偏移量小),RM(右偏移量中),RB(右偏移量大);
步驟8.1.3:輔助燈轉角模糊化。輔助燈轉角范圍是-60°~+60°,負值表示向左轉動,正值表示向右轉動。將其均分為7個輔助燈轉角模糊集合:(左轉角大),(左轉角中),(左轉角小),(無轉角),(右轉角小),(右轉角中),(右轉角大)。
步驟8.2:采用三角函數分別針對車速模糊集合、瞳孔偏移量模糊集合和輔助燈轉角模糊集合,建立車速隸屬度函數、瞳孔偏移量隸屬度函數和輔助燈轉角隸屬度函數。具體方法如下:
建立車速x的車速隸屬度函數μ車速
建立瞳孔偏移量y的瞳孔偏移量隸屬度函數μ瞳孔
建立輔助燈轉角z的輔助燈轉角隸屬度函數μ轉角:
步驟8.3:建立模糊控制表;根據車速隸屬度函數求取步驟七得到的車速對應的車速隸屬度;根據瞳孔偏移量隸屬度函數求取步驟六得到的瞳孔偏移量對應的瞳孔偏移量隸屬度;根據模糊控制表,結合車速隸屬度和瞳孔偏移量隸屬度,求得輔助燈轉角所屬的輔助燈轉角模糊集合,以及輔助燈轉角隸屬度;
步驟8.3.1:建立模糊控制規則:瞳孔向左偏移,左側輔助燈啟動,瞳孔向右偏移,右側輔助燈啟動。瞳孔偏移越大,車速越快,輔助燈角度越大;瞳孔偏移適中,車速適中,輔助燈角度適中;瞳孔偏移越小,車速越慢,輔助燈角度越小;瞳孔不偏移,輔助燈角度為零。
步驟8.3.2:根據模糊控制規則建立模糊控制表:
對上述表格舉例說明,如,若車速為FR模糊集合,且瞳孔偏移量為LB模糊集合,則輔助燈轉角為模糊集合;
步驟8.3.3:將步驟七得到的車速代入車速x的隸屬度函數μ車速中,求得該車速下的車速隸屬度;將步驟六得到的瞳孔偏移量代入瞳孔偏移量的隸屬度函數μ瞳孔中,求得該瞳孔偏移量下的瞳孔偏移量隸屬度;
根據車速x的隸屬度函數μ車速,針對某一車速會求出兩個車速隸屬度,如某一車速屬于模糊集合F(很快),則根據車速的隸屬度函數μ車速的求取公式,可求出其針對的兩個車速隸屬度μF和μM,記,μF=1/5,μM=4/5。
根據瞳孔偏移量y的隸屬度函數μ瞳孔,針對某一瞳孔偏移量會求出兩個瞳孔偏移量隸屬度,如某一瞳孔偏移量屬于模糊集合LS(左偏移量小),則根據瞳孔偏移量的隸屬度函數μ瞳孔的求取公式,可求出其針對的兩個瞳孔偏移量隸屬度μLM和μLS,記μLM=1/5,μLS=4/5。根據模糊控制表可知:
若車速為F模糊集合,其對應的車速隸屬度μF=1/5,瞳孔偏移量為LM模糊集合,其對應的瞳孔偏移量隸屬度μLM=1/5,則輔助燈轉角為輔助燈模糊集合,求車速隸屬度μF=1/5和瞳孔偏移量隸屬度μLM=1/5的最小值,作為輔助燈轉角為模糊集合的隸屬度
若車速為F模糊集合,其對應的車速隸屬度μF=1/5,瞳孔偏移量為LS模糊集合,其對應的瞳孔偏移量隸屬度μLS=4/5,則輔助燈轉角為模糊集合;求車速隸屬度μF=1/5和瞳孔偏移量隸屬度μLS=4/5的最小值,作為輔助燈轉角為模糊集合的隸屬度
若車速為M模糊集合,其對應的車速隸屬度μM=4/5,瞳孔偏移量為LM模糊集合,其對應的瞳孔偏移量隸屬度μLM=1/5,則輔助燈轉角為模糊集合;求車速隸屬度μM=4/5和瞳孔偏移量隸屬度μLM=1/5的最小值,作為輔助燈轉角為模糊集合的隸屬度
若車速為M模糊集合,其對應的車速隸屬度μM=4/5,瞳孔偏移量為LS模糊集合,其對應的瞳孔偏移量隸屬度μLS=4/5,則輔助燈轉角為模糊集合;求車速隸屬度μM=4/5和瞳孔偏移量隸屬度μLS=4/5的最小值,作為輔助燈轉角為模糊集合的隸屬度
求取上述四個隸屬度結果的最大值,即
得到輔助燈轉角屬于模糊集合輔助燈轉角隸屬度的大小為4/5。
步驟8.4:將步驟8.3得到的的值代入隸屬度函數μ轉角中的求取偏轉角度z的值;若求取的偏轉角度z有兩個值,則取兩個值的平均值作為輔助燈應偏轉角度。
步驟九:在輔助燈上安裝角度傳感器,得到輔助燈實際偏轉角度;將輔助燈實際偏轉角度與步驟八得到的輔助燈應偏轉角度進行對比,得出輔助燈還應該偏轉的角度大小;駕駛員根據求得的輔助燈還需要偏轉的角度大小,控制輔助燈的偏轉大小。