本發(fā)明涉及駕駛員行為分析領域,具體涉及基于車輛傳感器校正數據的駕駛員身份識別方法及系統(tǒng)。
背景技術:
目前用于駕駛員身份識別的方式主要有三類:外部設備識別,生物特征識別和人臉識別。
外部設備識別,主要是通過檢測駕駛員攜帶的外部設備來識別身份。此處的外部設備例如接觸式ic卡、非接觸式ic卡或usb可移動磁盤等,然而這些外部設備很容易丟失和被偽造,難以達到實時地、準確地識別駕駛員的目的,安全性低。
生物特征識別,主要是通過檢測人體生物特征如指紋、虹膜等來識別駕駛員身份。這種方式相對于外部設備識別的方式,雖不存在會丟失的問題且安全性和實時性也高,但實施起來不現實,主要是價格昂貴以及識別設備安裝操作困難,同時進行識別時對駕駛員要求較苛刻,需要以特定的姿勢和合適的位置保持一定時間,難以做到實時采集駕駛員的生物特征;另一方面,由于大多數傳感器需要和人體接觸并貼入電極,具有很強的干擾性,可能影響駕駛操作,造成行車安全隱患,該種方式并不實用。
人臉識別,即通過掃描人臉并進行一系列的圖像數據處理后識別駕駛員身份,中國公開號為cn202130310u的專利文獻中使用了這一方法。此種方式同樣價格不菲,而且主要應用于道路監(jiān)控設備采集圖像,在車內安裝人臉識別系統(tǒng)有一定困難;另一方面,駕駛員的裝扮、膚色、環(huán)境光線明暗以及車輛搖晃對采集到的圖像有較大影響,可直接影響到圖像處理結果,從而影響識別的準確度;再者,攝像裝置需要對準駕駛員面部,操作起來效率低,也并不實用。
技術實現要素:
為了克服上述現有的識別方式所存在的缺陷,本發(fā)明提出一種基于車輛傳感器校正數據的駕駛員身份識別方法,能夠以較低的成本達到較為精確、隱秘的身份識別,且識別過程不會影響駕駛。
本發(fā)明為達上述目的所提出的技術方案如下:
一種基于車輛傳感器校正數據的駕駛員身份識別方法,包括以下步驟:
s1、接收駕駛員輸入的身份數據并保存;
s2、獲取車輛傳感器采集到的駕駛員駕駛時的傳感器數據,該傳感器數據至少包括三軸加速度數據;
s3、根據預先設定的加速度閾值從所述傳感器數據中選取車輛水平靜止時和車輛在水平地面直線運動時的三軸加速度數據,用來計算車輛運動坐標系與傳感器三軸加速度坐標系之間的旋轉矩陣;
s4、通過旋轉矩陣對步驟s2中獲取的傳感器數據進行校正,以將所述傳感器數據由所述傳感器三軸加速度坐標系映射到所述車輛運動坐標系;
s5、對經過步驟s4校正后的傳感器數據提取統(tǒng)計特征,得到特征向量;
s6、將步驟s5得到的特征向量作為訓練集輸入到一神經網絡模型中進行訓練,待網絡參數收斂時得到訓練好的身份識別模型;
s7、對身份未知的駕駛員執(zhí)行步驟s2至s5得到待識別特征向量;
s8、將所述待識別特征向量輸入到所述身份識別模型中,輸出身份識別結果。
本發(fā)明提供的上述方法,基于車輛傳感器采集數據而實現,傳感器設備首先價格低廉,其次安裝隱秘,通過對采集到的傳感器數據執(zhí)行上述各步驟的數據處理后進行身份識別,整個識別過程隱秘而不會影響駕駛過程;另一方面,能夠進行實時的識別,不存在現有技術中設備被盜/丟失/偽造的風險。
本發(fā)明另還提供一種基于車輛傳感器校正數據的駕駛員身份識別系統(tǒng),包括車輛傳感器、處理器、存儲器以及人機交互界面;所述存儲器上存儲有一計算機程序;所述人機交互界面用于供駕駛人員輸入信息以操作所述系統(tǒng);所述處理器執(zhí)行所述計算機程序時實現前述方法的步驟。
本發(fā)明提供的上述駕駛員身份識別系統(tǒng),基于車輛傳感器來實現,通過對實時采集的傳感器數據進行一系列數據處理后進行身份識別,系統(tǒng)易于實現和安裝且總體成本低,系統(tǒng)在識別過程中不影響駕駛,且能夠實時地、較為準確地實現駕駛員身份識別。
附圖說明
圖1是傳感器三軸加速度坐標系與車輛運動坐標系之間的關系圖;
圖2是數據窗口示意圖;
圖3是神經網絡訓練過程的示意圖;
圖4是身份識別過程的示意圖。
具體實施方式
下面結合附圖和優(yōu)選的實施方式對本發(fā)明作進一步說明。
本發(fā)明的具體實施方式提供了一種基于車輛傳感器校正數據的駕駛員身份識別方法,本方法包括兩大流程,身份識別模型的訓練過程以及實際使用中的身份識別過程。其中模型訓練過程的原理是通過駕駛過程中的傳感器數據進行統(tǒng)計而得到表征各人駕駛習慣的特征向量,再基于機器學習,用駕駛員輸入的身份數據和表征該駕駛員駕駛習慣的特征向量分別作為訓練時神經網絡的輸出和輸入,進行神經網絡的訓練直至網絡參數滿足收斂條件而得到訓練好的可用于對身份未知駕駛員(沒有經歷過模型訓練過程的駕駛員)進行身份識別的神經網絡(可稱為身份識別模型)。實際使用中的身份識別過程即采集當前駕駛員駕駛車輛所產生的傳感器數據并進行與模型訓練時同樣的數據處理而得到特征向量,再將特征向量輸入身份識別模型中,輸出身份識別結果。
基于上述的原理而提出的基于車輛傳感器校正數據的駕駛員身份識別方法,主要包括如圖3所示的模型訓練過程和如圖4所示的識別過程,對于某一車輛而言,具有最高權限的人員(例如車主)可以啟動進入模型訓練過程,以供作為車輛駕駛人員的人事先錄入自己的身份數據并進行識別模型的訓練,訓練完成可關閉模型訓練功能,則車輛處于可進行身份識別的狀態(tài)。
如圖3所示,模型訓練過程包括以下步驟1至6:
步驟1、接收駕駛員輸入的身份數據并保存;
步驟2、獲取車輛傳感器采集到的駕駛員駕駛時的傳感器數據并緩存,該傳感器數據至少包括x軸、y軸、z軸三軸加速度數據;數據在進行后述的處理之前可先進行預處理以去除在寫入過程中可能出現的亂碼;
步驟3、根據預先設定的加速度閾值從所述傳感器數據中選取車輛水平靜止時和車輛在水平地面直線運動時的三軸加速度數據,用來計算車輛運動坐標系與傳感器三軸加速度坐標系之間的旋轉矩陣;
步驟4、通過旋轉矩陣對步驟2中獲取的傳感器數據進行校正,以將所述傳感器數據由所述傳感器三軸加速度坐標系映射到所述車輛運動坐標系;
步驟5、對經過步驟4校正后的傳感器數據提取統(tǒng)計特征得到特征向量;
步驟6、將步驟5得到的特征向量作為輸入、同時將所述身份數據作為輸出來對一神經網絡模型進行訓練,直至參數滿足收斂條件時得到可用于進行駕駛員身份識別的神經網絡(或稱作身份識別模型)。其中,神經網絡模型的訓練過程利用反向傳播算法來最小化模型的交叉熵,運用批量梯度下降法來訓練模型參數,直到滿足收斂條件。
對于每個被允許駕駛某一車輛的駕駛員,可在開啟模型訓練的情況下通過上述步驟1至6參與神經網絡模型的訓練,以使得往后在識別狀態(tài)下,駕駛時能夠通過本發(fā)明的身份識別過程識別出自己的身份。
模型訓練完成,則具有最高權限的人員(例如車主)即可關閉模型訓練功能,關閉后即自動處于可進行駕駛員身份識別的狀態(tài),身份識別過程參考圖4,包括以下步驟7和步驟8:
步驟7、車輛啟動后實時、連續(xù)地獲取當前身份未知(對于系統(tǒng)而言,身份是未知的)駕駛人員駕駛的傳感器數據,并進行前述步驟2至5的處理過程,得到對應的多個特征向量;
步驟8、將經過步驟7得到的特征向量輸入到上述已訓練好的神經網絡中,則神經網絡可輸出身份識別結果。具體地,特征向量由神經網絡的輸入層輸入,經過隱藏層,最后由輸出層的softmax函數得到輸出結果,softmax函數的輸出是長度為特定維度的向量,向量中每一維度的計算結果表示輸入數據來源于該維度所對應的駕駛員的概率,取概率最高的維度作為身份識別結果輸出。對于某一車輛而言,如果有n個被允許的駕駛員,則可通過前述模型訓練過程生成輸出維度為n+1維的神經網絡,即該車輛的身份識別模型存有n個不同駕駛員身份數據,可以設置softmax函數的輸出維度為n+1維,前n維對應于已有的n個不同的駕駛員。當實際識別過程中,輸入數據(傳感器數據處理后形成的特征向量)不屬于這n個駕駛員時,softmax函數的輸出中第n+1維的概率值最高,輸出結果為n+1(通常在編碼時我們是用[0,0,…,0,1]表示該結果,前面n個均為0,哪個維度為1則代表當前駕駛員屬于哪個維度,其他維度的值均為0,可以在輸出給用戶的時候轉換成對應的駕駛員,比如結果為[0,0,…,0,1]時,我們輸出給用戶“未知駕駛員”,這只是交互方式上的選擇問題,不構成對本發(fā)明的限制),表示該輸入數據不屬于已知的n個駕駛員,則同時系統(tǒng)可以針對目前未知人員駕駛車輛的情況采取一定的措施(例如后述談及的控制車輛熄火等)。例如:假設經過上述模型訓練的車輛a的身份識別模型里已有對應于3個不同身份駕駛員的數據,分別被編碼為1000、0100、0010,當車輛a由不屬于這3個已存儲的駕駛員駕駛時,身份識別模型輸出的識別結果為0001,表示當前身份為未知身份。若當前駕駛員的身份無法識別,系統(tǒng)可針對無法識別的情況執(zhí)行進一步的處理,例如通過發(fā)送一指令來使車輛熄火以禁止繼續(xù)前行,還可同時通過一無線收發(fā)模塊向車主進行報警。
在步驟4中對傳感器數據進行校正是因為車輛傳感器在安裝過程中難以避免會存在誤差,參考圖1,導致車輛運動坐標系xyz和傳感器三軸加速度坐標系x’y’z’不重合,存在如圖1所示的關系,可通過計算兩者之間的旋轉矩陣來進行校正。每輛車而言,旋轉矩陣只需計算一次,計算出旋轉矩陣后,用采集到的傳感器數據與旋轉矩陣作矩陣乘法運算,即可將傳感器數據映射到車輛運動坐標系中,消除傳感器安裝誤差帶來的對后期數據處理的影響。
所述旋轉矩陣的計算可采用如下的方式:
根據預先設定的加速度閾值,當加速度較長時間小于該閾值時,我們取該數據為水平靜止的加速度;當加速度在較短時間小于該閾值,且該較短時間段前后都有明顯的加速度變化時,我們設定此時的數據為車輛處于水平直線運動狀態(tài)下的加速度數據。如圖1所示,汽車水平靜止狀態(tài)下,獲得三軸加速度傳感器數據分別為ax0、ay0、az0。由于靜止狀態(tài)下汽車僅受地球引力作用,重力加速度g滿足
記oz‘與oz的夾角為α,oy’與oz的夾角為β,ox‘與oz的夾角為γ,則有
考慮到汽車在靜止狀態(tài)下水平方向加速度為零,因此有
汽車在水平地面直線運動時,汽車僅受到前向的牽引力和重力作用,因此對加速度傳感器采集到的加速度數據進行豎直方向和水平方向的分解,易知豎直方向矢量和為重力加速度。水平方向矢量和指向oy方向,此時獲得三軸加速度傳感器數據分別axt、ayt、azt,有
根據上述兩種情況下的數值求解旋轉矩陣r,其中r的表達式如下所示。
二者的轉換關系為(ax,ay,az)t=rt·(ax′,ay′,az′)t。其中(ax′,ay′,az′)t和(ax,ay,az)t分別為傳感器上的數據和校正后的數據。
在優(yōu)選的實施例中,對校正后的傳感器數據進行統(tǒng)計特征的提取具體包括如下的步驟一和二:
步驟一、采集到的很多組傳感器數據(每一組包括x、y、z三軸加速度數據acc_x、acc_y、acc_z),按照時間先后排序(實時地接收并存儲數據,因此無需刻意進行排序)的多組傳感器數據劃分為多個連續(xù)的數據窗口,劃分方式例如是:相鄰兩個數據窗口的首尾至少重合一組傳感器數據,每個數據窗口均包含相同組數的傳感器數據。比如,參考圖2,每個數據窗口包括l=8組數據(此處l的值僅為示例,l為整數且l≥2),相鄰兩個數據窗口(例如圖中的window1和window2)之間重合有4組數據,即前一個窗口的后4組數據即為相鄰后一窗口的前4組數據,依此類推,將當前得到的所有傳感器數據進行這樣的劃分,得到很多個數據窗口。之所以要讓相鄰窗口的首尾有數據重合,是因為前一個窗口的尾部數據與后一個窗口的頭部數據之間可能存在一定關系而具有一定信息,如果不重合,會造成信息丟失。
步驟二、進行上述的窗口劃分后,假設當前得到1000個數據窗口,分別對每個窗口執(zhí)行以下操作:
對每列數據做差分,以圖2所示的例子而言,得到含有l(wèi)-1=7組差分數據的新窗口,對所述新窗口和所述數據窗口的每列分別求9種統(tǒng)計特征,每列得到9個統(tǒng)計量,所述九種統(tǒng)計特征包括平均值、最小值、25%分位點、中位數、75%分位點、最大值、標準差、峰度和偏度。一般來說,上述這些統(tǒng)計特征幾何起來可以較為準確地表征一個人的駕駛習慣。
從而,每個數據窗口得到54個統(tǒng)計量,使得每個數據窗口得到一個含有54個特征的特征向量,從而當前的1000個數據窗口可得到1000個這樣的特征向量。假設當前是在進行模型訓練的過程中,則這1000個特征向量即可作為訓練集輸入到待訓練的神經網絡中。假設是在識別過程中,需要得到多少個特征向量才進行身份識別可以事先通過程序設計而設定的。
本發(fā)明的方法可形成一套身份識別系統(tǒng)用于車輛,可實現車輛防盜和個性化定制車輛保險金額,車輛防盜例如前述提到的,當發(fā)現身份無法識別時,系統(tǒng)可控制車輛熄火并發(fā)出警報。車輛保險的應用我們通過智能終端可以定時記錄不同駕駛員各自駕駛同一車輛的時間,根據各個駕駛員的駕齡、違規(guī)記錄、年齡等信息對于該車輛個性化定制保險金額,對于長時間由駕齡較長、違規(guī)記錄較少、正值壯年的駕駛員駕駛的車輛可以設置較低的保險金額,反之亦然。該系統(tǒng)應當包括一無線收發(fā)模塊,用于與車主或主要駕駛人的智能終端之間進行無線通信,以通過智能終端對所述系統(tǒng)進行操控以及將所述系統(tǒng)的身份識別結果反饋到所述智能終端。對系統(tǒng)進行操控包括關閉/打開系統(tǒng)、駕駛時間統(tǒng)計、啟動/關閉系統(tǒng)的模型訓練功能等。
基于本發(fā)明方法的身份識別系統(tǒng),包括車輛傳感器、處理器、存儲器以及人機交互界面;所述存儲器上存儲有一計算機程序;所述人機交互界面用于供駕駛人員輸入信息以操作所述系統(tǒng);所述處理器執(zhí)行所述計算機程序時即可實現本發(fā)明前述的駕駛員身份識別方法的步驟。
以上內容是結合具體的優(yōu)選實施方式對本發(fā)明所作的進一步詳細說明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術領域的技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干等同替代或明顯變型,而且性能或用途相同,都應當視為屬于本發(fā)明的保護范圍。