陳潔
(福建省特種設(shè)備檢驗(yàn)研究院, 福建 福州 350004)
隨著汽車保有量的迅速增長(zhǎng), 汽車駕乘的舒適性以及安全性日益成為人們選擇的重要因素. 而汽車頭枕作為汽車座椅的重要組成部分, 直接影響到駕乘人員的乘坐舒適性以及安全性.
據(jù)相關(guān)統(tǒng)計(jì), 在車輛碰撞事故中, 車內(nèi)乘員頸部扭傷是最主要的傷害之一. 在26%的車輛追尾事故中, 駕駛員的頭部或頸部會(huì)受到不同程度的損傷, 而在同等條件下的追尾事故中, 沒有正確使用汽車頭枕的駕駛?cè)藛T頸部受到損傷的概率比正確使用汽車頭枕的高出約40%. 當(dāng)車輛發(fā)生追尾事故時(shí), 人體的上半身會(huì)受慣性影響而維持原有的運(yùn)動(dòng)狀態(tài), 車身受到撞擊而產(chǎn)生的急加速或急減速將對(duì)人體的頭部及頸部產(chǎn)生巨大的壓力沖擊, 而頭枕則可以在撞擊發(fā)生時(shí), 起到對(duì)低頭部及頸部受到的沖擊給予緩沖, 從而保護(hù)人體的頭部及頸部. 正確的高度調(diào)節(jié)可以使駕乘人員的頭部位于汽車頭枕中間的最柔軟部位, 從而在發(fā)生事故時(shí)有效降低碰撞所帶來的沖擊, 起到對(duì)頸部的緩沖作用, 降低頸部受到傷害的幾率. 因此, 通過對(duì)車內(nèi)頭枕高度自適應(yīng)調(diào)整裝置的設(shè)計(jì)及控制方法的研究, 保證駕駛員的乘坐舒適性以及安全性, 具有重要意義.
針對(duì)汽車頭枕安全, 國(guó)內(nèi)外學(xué)者從機(jī)構(gòu)設(shè)計(jì)、 運(yùn)動(dòng)分析以及安全檢測(cè)等方面進(jìn)行了相關(guān)研究. 宋均思[1]針對(duì)汽車座椅頭枕的安全結(jié)構(gòu)進(jìn)行了設(shè)計(jì), 闡釋其功能特點(diǎn)并展開相應(yīng)研究. 嚴(yán)莉[2]建立汽車座椅有限元分析模型, 重點(diǎn)對(duì)頭枕的強(qiáng)度進(jìn)行仿真分析, 并根據(jù)結(jié)果改進(jìn)了座椅的結(jié)構(gòu)參數(shù). 劉博勛等[3]針對(duì)現(xiàn)有汽車主動(dòng)式頭枕裝置設(shè)計(jì)的不足, 基于模塊設(shè)計(jì)方法采用UG/Motion模塊建立運(yùn)動(dòng)學(xué)模型, 并對(duì)其運(yùn)動(dòng)狀態(tài)進(jìn)行分析. 韓健康等[4]充分考慮各環(huán)境下用戶狀態(tài)與需求, 從人機(jī)工程學(xué)合理性的角度對(duì)汽車頭頸保護(hù)系統(tǒng)進(jìn)行設(shè)計(jì). 包俊群等[5]與鄭立江[6]通過計(jì)算機(jī)檢測(cè)系統(tǒng)搭建頭枕安全試驗(yàn)臺(tái), 以實(shí)際應(yīng)用證明了所設(shè)計(jì)的檢測(cè)系統(tǒng)的有效性與穩(wěn)定性. 上述研究雖然在汽車頭枕安全設(shè)計(jì)與檢測(cè)方面取得了一些成效, 但也有其局限性. 現(xiàn)有的研究缺乏集機(jī)構(gòu)設(shè)計(jì)、 圖像識(shí)別以及主動(dòng)控制為一體的系統(tǒng)化設(shè)計(jì). 故而開展這一方面的研究具有重要的工程意義.
車內(nèi)頭枕高度自適應(yīng)調(diào)整裝置的總體結(jié)構(gòu)如圖1所示, 由電子攝像頭、 汽車座椅位置傳感器及角位置傳感器、 處理器、 微控制器和電機(jī)組成. 電子攝像頭拍攝車內(nèi)駕乘人員的圖像, 圖像進(jìn)處理器實(shí)現(xiàn)圖像處理和人臉檢測(cè). 汽車座椅傳感器數(shù)據(jù)與圖像處理數(shù)據(jù)結(jié)合, 計(jì)算出人體頭部位置. 計(jì)算機(jī)與微控制器之間數(shù)據(jù)通信, 從而控制電機(jī), 實(shí)現(xiàn)對(duì)汽車頭枕高度的自適應(yīng)調(diào)整. 至于攝像頭的位置, 將根據(jù)實(shí)車內(nèi)座椅靠背及頭枕的具體位置進(jìn)行確定, 圖2為奔馳GLK的座椅參數(shù).
圖1 車內(nèi)頭枕高度自適應(yīng)調(diào)整裝置總體結(jié)構(gòu)圖Fig.1 Overall structure of headrest height adaptive adjustment device in vehicle
圖2 汽車座椅尺寸(單位: mm)Fig.2 Size of car seat(unit: mm)
為了獲取人臉在圖像中的位置信息, 以奔馳GLK級(jí)汽車為例, 建立二維笛卡爾坐標(biāo)系, 使用解析幾何的方法結(jié)合人臉檢測(cè)的數(shù)據(jù)計(jì)算出頭部的高度, 如圖3所示.
圖3 座椅在坐標(biāo)系中的表示Fig.3 Representation of the seat in the coordinate system
為了獲取頭部位置的高度, 首先需要得到人體頭部在相機(jī)畫面中的位置, 面部中點(diǎn)在相機(jī)視角中的正切值可表示為:
(1)
其中: 坐標(biāo)系中的具體尺寸選取如下, 長(zhǎng)度單位為(mm); BBOX角度單位為(°).
攝像頭和頭部中點(diǎn)的連線與水平方向的夾角加上相機(jī)坐標(biāo)系Z軸與水平方向的夾角的值記為α1:
α1=arctan(z)+10°
(2)
另外測(cè)量攝像頭與座椅靠背轉(zhuǎn)軸處的水平距離為1 000 mm, 攝像頭與車內(nèi)地面的豎直距離為800 mm, 車內(nèi)地面與座椅靠背轉(zhuǎn)軸處的豎直距離為300 mm, 座椅靠背長(zhǎng)度為720 mm. 同時(shí)將頭部中點(diǎn)在平行于座椅靠背方向上與座椅坐墊平面的交點(diǎn)記為A點(diǎn),A點(diǎn)與座椅靠背轉(zhuǎn)軸處的距離記為L(zhǎng)2, 由人體頭部的最大尺寸取值, 結(jié)合座椅尺寸, 取L2為200 mm.
座椅靠背與水平方向的夾角記為α5:
α5=θ+76°
(3)
其中:θ為座椅靠背的轉(zhuǎn)動(dòng)角度.當(dāng)座椅頭枕的導(dǎo)向桿與豎直方向平行時(shí),θ=0°.
取逆時(shí)針方向?yàn)檎较颍?且此時(shí)座椅靠背與水平方向的夾角為76°, 則攝像頭與A點(diǎn)的水平距離記為X3:
X3=X1-L2×cos(180°-α5)
(4)
A點(diǎn)與車內(nèi)地面的豎直距離記為Y3:
Y3=Y2+L2×sin(180°-α5)
(5)
攝像頭與A點(diǎn)間的距離記為L(zhǎng)1:
(6)
攝像頭與A點(diǎn)連線與水平方向的夾角記為α2:
(7)
頭部中點(diǎn)與A點(diǎn)的距離記為L(zhǎng):
(8)
A點(diǎn)和座椅靠背轉(zhuǎn)軸處連線與頭枕前表面中間的距離記為L(zhǎng)0:
L0=L+10×tan(14°-θ)
(9)
則頭枕上升高度記為Δ:
Δ=L0-720
(10)
圖像灰度化處理是指將彩色圖像轉(zhuǎn)換為灰度圖像的過程, 采用加權(quán)平均值法對(duì)R、 G、 B三色分量進(jìn)行加權(quán)求和, 算式為:
(11)
托馬斯·揚(yáng)(T.Yong)與赫爾曼·赫姆霍爾茲(H.Helmholtz)的三色理論指出人的視網(wǎng)膜上存在3種不同的錐狀細(xì)胞, 分別對(duì)紅、 綠、 藍(lán)三色光十分敏感, 它們的視敏度如圖4所示. 由于人眼對(duì)綠色最敏感, 其次是紅色, 藍(lán)色則最低, 所以權(quán)值取b>a>c時(shí)識(shí)別效果較好. 根據(jù)三種細(xì)胞的相對(duì)視敏度比例, 取a為0.3,b為 0.59,c為0.11[1].
圖4 相對(duì)視敏度圖Fig.4 Relative visual acuity map
直方圖均衡化使得圖像的直方圖更加平坦, 直方圖中每個(gè)亮度等級(jí)出現(xiàn)的概率相同, 如圖5 (a)所示. 將直方圖的亮度等級(jí)分為M, 輸入圖像和輸出圖像每個(gè)亮度級(jí)對(duì)應(yīng)的點(diǎn)數(shù)分別用O(l)和N(l)表示, 且有O 圖5 原始與均勻化后的圖像直方圖Fig.5 Original and homogenized image histogram (12) 并且, 對(duì)于任意亮度級(jí)p, 輸入圖像和輸出圖像的點(diǎn)數(shù)應(yīng)該相同, 才能得到具有均一平坦直方圖的輸出圖像.輸入圖像亮度級(jí)為p的累加直方圖應(yīng)等于輸出圖像亮度級(jí)為q的累加直方圖, (13) 由于輸出圖像的直方圖是均一平坦的, 所以輸出圖像直方圖中每個(gè)亮度級(jí)的點(diǎn)數(shù)是圖像總點(diǎn)數(shù)與亮度級(jí)寬度之比, (14) 對(duì)于輸出圖像累加直方圖有: (15) 對(duì)于輸入圖像累加直方圖有: (16) 輸入像素亮度級(jí)p到輸出像素亮度級(jí)q的映射關(guān)系: (17) 經(jīng)過直方圖均衡化處理后圖像的直方圖如圖5(b)所示. 其各個(gè)灰度級(jí)像素的分布均勻, 且每個(gè)灰度級(jí)之間的像素值差小, 因此圖像能夠擁有更加豐富的細(xì)節(jié). 直方圖均衡化處理在Matlab中實(shí)現(xiàn). 在計(jì)算機(jī)視覺中, 使用攝像頭拍攝的圖像在處理過程中會(huì)受椒鹽噪聲的影響, 對(duì)圖像的分割處理、 特征提取、 圖像識(shí)別等操作產(chǎn)生不良影響. 因此, 通過攝像頭采集的圖像需要進(jìn)行圖像濾波才能進(jìn)一步被使用, 而最常用的去除椒鹽噪聲的濾波方法是中值濾波[7-9]. 中值處理往往是通過模板來實(shí)現(xiàn)的, 本實(shí)驗(yàn)中使用的是3 × 3模板, 在使用時(shí)需要計(jì)算以(x,y)為中心點(diǎn)模板的9個(gè)值, 如圖6所示. 其實(shí)現(xiàn)步驟大致為: 將模板在圖像中移動(dòng), 將模板中心與圖像的某一像素重疊; 讀取模板所覆蓋的所有像素的灰度值; 將讀取的灰度值按升序排列成向量; 取向量中間值為中值; 將該模板的中值賦值給模板中心所對(duì)應(yīng)的像素灰度值. 圖6 中值排序過程Fig.6 Median sorting process Viola-Jones算法是一種快速且高效的人臉檢測(cè)算法, 能夠?qū)崿F(xiàn)實(shí)時(shí)檢測(cè)圖像中的人臉. 該算法使用哈爾特征描述人臉, 并通過使用一種積分圖像實(shí)現(xiàn)快速計(jì)算, 使用Adaboost算法進(jìn)行特征選擇以及級(jí)聯(lián)分類器訓(xùn)練[10]. 對(duì)于人臉檢測(cè), 可以利用檢測(cè)人臉一些共有的特性來實(shí)現(xiàn), 例如: 臉頰區(qū)域會(huì)比眼睛區(qū)域亮; 鼻梁區(qū)域?qū)儆诟吖鈪^(qū)域, 所以鼻子區(qū)域一般會(huì)比臉頰區(qū)域亮; 對(duì)于一張正臉, 眉毛、 眼睛、 鼻子、 嘴巴等特征區(qū)域都存在相應(yīng)的位置關(guān)系. 上一節(jié)中所介紹的哈爾特征描述的是某一特定位置關(guān)系的相鄰區(qū)域的灰度值差距, 適合用于人臉檢測(cè)的特征提取. 如圖7所示, 分別選擇了邊緣哈爾特征和線性哈爾特征來確定特征, 并對(duì)不同的位置區(qū)域進(jìn)行計(jì)算. 哈爾特征被用于計(jì)算白色區(qū)域與黑色區(qū)域像素之和的差值. 圖7 邊緣哈爾特征Fig.7 Edge haar feature AdaBoost算法的性質(zhì)是一種迭代算法, 通過對(duì)同一個(gè)訓(xùn)練集進(jìn)行訓(xùn)練, 訓(xùn)練出不同的弱分類器, 并將這些弱分類器組合起來, 構(gòu)成一個(gè)強(qiáng)分類器[11-13]. 本研究中訓(xùn)練集采用哈爾特征, 使用這些哈爾特征構(gòu)成的弱分類器來組建一個(gè)可用于人臉檢測(cè)的強(qiáng)分類器. 在AdaBoost算法中, 弱分類器不是并行的, 只有當(dāng)一個(gè)弱分類器執(zhí)行完成以后, 才會(huì)進(jìn)入下一個(gè)弱分類器. 算法的基本原理是使用加權(quán)投票, 如果樣本分類正確, 則減少其權(quán)重; 如果分類錯(cuò)誤, 則增加其權(quán)重. 因此可以在之后的弱分類器學(xué)習(xí)中更加注意分類錯(cuò)誤的樣本. 每個(gè)特征f被認(rèn)為是一個(gè)弱分類器, 定義如下: (18) 其中:x為24 px × 24 px像素圖像;θ為閾值;p為奇偶校驗(yàn)符. 1) 利用上一個(gè)階段的數(shù)據(jù)xi(t-1)進(jìn)行加權(quán), 訓(xùn)練所有弱分類器(d=162 336)并選擇將成為強(qiáng)分類器組成部分的最有效的弱分類器ht. 2) 將弱分類器與在先前階段中聲明為最有效的其他弱分類器組合. (19) 這樣, 下一個(gè)弱分類器將集中于訓(xùn)練較難的示例. 最后, 強(qiáng)分類器將是T個(gè)弱分類器的線性組合, 其決策規(guī)則為: (20) 其中, 權(quán)重為: (21) 對(duì)于具有較小誤差的弱分類器, 這些權(quán)重將較大, 而對(duì)于具有較高分類誤差的弱分類器, 這些權(quán)重將較小. 在執(zhí)行AdaBoost算法后, 將生成一個(gè)強(qiáng)分類器, 可以有效地對(duì)N×N大小的窗口進(jìn)行分類. 由于窗口是正圖像的平均概率僅為0.01%, 即人臉, 因此僅需要對(duì)潛在的正窗口進(jìn)行檢查. 為了獲得更高的檢測(cè)準(zhǔn)確率和較小的誤分類率, 需要使用另一個(gè)強(qiáng)分類器, 對(duì)未正確分類的圖像進(jìn)行正確分類. 創(chuàng)建了一個(gè)級(jí)聯(lián)分類器, 如圖8所示. 圖中A為成功, F為失敗. 在級(jí)聯(lián)分類器的第一層, 將使用具有很少特征的強(qiáng)分類器, 該分類器將過濾大多數(shù)負(fù)窗口. 接下來是一系列越來越復(fù)雜的分類器, 它們將實(shí)現(xiàn)更高的檢測(cè)率. 圖像需要經(jīng)過n次強(qiáng)分類器的篩選, 才能檢測(cè)出人臉區(qū)域, 只要n個(gè)強(qiáng)分類器中任何一個(gè)檢測(cè)為非人臉圖像, 則該圖像將被排除. 圖8 級(jí)聯(lián)分類器Fig.8 Cascade classifier 訓(xùn)練過程如下: 為了訓(xùn)練分類器, 首先將僅包含經(jīng)過裁剪的臉部的正圖像放入指定文件夾中, 并添加其路徑. 對(duì)應(yīng)的負(fù)樣本將根據(jù)用戶提供的負(fù)圖像自動(dòng)生成, 負(fù)圖像由其文件夾的路徑指定. 之后執(zhí)行訓(xùn)練函數(shù), 該函數(shù)可訓(xùn)練虛警率等于0.2且層數(shù)等于5的檢測(cè)器. 最后使用新訓(xùn)練的分類器來檢測(cè)圖像中的人臉, 并將人臉框選出來讀取圖像. 采用Matlab的串口對(duì)象serial實(shí)現(xiàn)與Arduino之間的通信, 其流程圖如圖9所示. 首先使用serial定義需要使用的串口COM3; 初始化串口, 使串口波特率與Arduino開發(fā)板的波特率一致; 打開串口, 等待數(shù)據(jù)傳輸; 接收到數(shù)據(jù)以后使用串口將數(shù)據(jù)發(fā)送給Arduino; 數(shù)據(jù)傳輸完成, 關(guān)閉串口. 圖9 串口通信流程圖Fig.9 Serial communication flow chart 步進(jìn)電機(jī)是將輸入的電脈沖信號(hào)轉(zhuǎn)換為角位移的執(zhí)行機(jī)構(gòu), 可以通過控制傳輸給步進(jìn)電機(jī)控制器的脈沖個(gè)數(shù), 來實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)旋轉(zhuǎn)角度的控制. 步進(jìn)電機(jī)的旋轉(zhuǎn)速度與步進(jìn)電機(jī)控制器接收到的脈沖頻率有關(guān), 可以通過改變脈沖頻率來實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)轉(zhuǎn)速的控制. 為實(shí)現(xiàn)電機(jī)控制, 首先自定義步進(jìn)電機(jī)不同線路的端口號(hào), 然后設(shè)置微控制器的波特率以及不同端口的I/O屬性. 在驅(qū)動(dòng)程序執(zhí)行前還需定義不同端口的初始狀態(tài), 最后創(chuàng)建一個(gè)自定義函數(shù), 從而完成電機(jī)旋轉(zhuǎn)的程序. 在程序運(yùn)行時(shí), 只需使用該程序便可判斷當(dāng)前串口狀態(tài), 當(dāng)串口有數(shù)據(jù)傳輸時(shí), 執(zhí)行自定義函數(shù)即可實(shí)現(xiàn)電機(jī)驅(qū)動(dòng). 在圖像處理各部分功能測(cè)試完成后進(jìn)行系統(tǒng)的整體測(cè)試. 攝像頭的布置方案如圖10所示, 攝像頭放置于方向盤后方. 測(cè)試共進(jìn)行20次, 測(cè)試圖像如圖11所示. 圖10 布置方案Fig.10 Layout plan 圖11 測(cè)試圖像Fig.11 Test image 其中包括10次在光線較暗的地下車庫內(nèi)的試驗(yàn)及10次光線充足情況下的試驗(yàn). 表1為測(cè)試結(jié)果的統(tǒng)計(jì), 可得系統(tǒng)的檢測(cè)時(shí)間平均值為1.470 s, 人臉檢出率為100%, 其中光線較暗中出現(xiàn)2次錯(cuò)誤(3和6), 光線明亮沒有錯(cuò)誤, 綜合誤識(shí)別率為10%. 根據(jù)試驗(yàn)結(jié)果可以看出, 本系統(tǒng)具有識(shí)別速度快, 人臉檢出率高, 誤識(shí)別率低的優(yōu)點(diǎn), 且在某些極限環(huán)境下也具有較好的可用性. 表1 試驗(yàn)結(jié)果 主觀評(píng)價(jià)又稱感覺評(píng)價(jià), 是以人的主觀判斷為基礎(chǔ), 通過合理的組織形式, 由專業(yè)試驗(yàn)評(píng)價(jià)人員按照一定的主觀感覺評(píng)價(jià)規(guī)范, 對(duì)被待測(cè)系統(tǒng)進(jìn)行評(píng)價(jià)[14-15]. 本研究通過駕駛員與乘客的主觀體驗(yàn)對(duì)此頭枕高度自適應(yīng)調(diào)整系統(tǒng)的實(shí)用效果進(jìn)行輔助驗(yàn)證. 系統(tǒng)啟動(dòng)后, 首先通過xxx(原理、 算法、 技術(shù))對(duì)人臉圖像進(jìn)行自動(dòng)識(shí)別與采樣, 信息收集完成后通過xx傳感器輸入處理器, 從而通過微控制器在響應(yīng)時(shí)間內(nèi)控制電機(jī)自動(dòng)抬升頭枕并調(diào)整角度. 駕駛員與乘客倚靠時(shí)頭頸與頭枕貼合平整, 并未出現(xiàn)懸空現(xiàn)象, 包裹性能良好. 此外, 頭枕對(duì)背部有充分的支撐力, 支撐性能優(yōu)異. 基于車內(nèi)頭枕高度自適應(yīng)調(diào)整的客觀需求, 結(jié)合圖像識(shí)別技術(shù), 通過車內(nèi)攝像頭, 座椅前后位置傳感器和座椅靠背角位置傳感器實(shí)現(xiàn)了汽車頭枕根據(jù)駕乘人員頭部位置自動(dòng)調(diào)整. 這避免了因個(gè)人習(xí)慣導(dǎo)致的頭枕位置調(diào)整不正確, 降低車輛在發(fā)生碰撞事故時(shí)人體頭部及頸部受到的損傷. 通過對(duì)參數(shù)的調(diào)整, 該裝置可實(shí)現(xiàn)對(duì)不同車內(nèi)空間設(shè)計(jì)及不同座椅尺寸的車輛的頭枕高度自適應(yīng)調(diào)整. 主要結(jié)論如下: 1) 設(shè)計(jì)了車內(nèi)頭枕高度自適應(yīng)調(diào)整裝置的總體結(jié)構(gòu), 由電子攝像頭, 汽車座椅位置傳感器及角位置傳感器、 處理器、 微控制器和電機(jī)組成. 使用解析幾何的方法結(jié)合人臉檢測(cè)的數(shù)據(jù)計(jì)算出頭部的高度, 基于產(chǎn)品安全理論與人體工學(xué)得出頭枕的轉(zhuǎn)動(dòng)角度與上升高度的定量公式. 2) 基于圖像預(yù)處理手段與人臉識(shí)別算法建立了快速且高效的人臉圖像識(shí)別系統(tǒng). 以模塊設(shè)計(jì)的手段對(duì)該系統(tǒng)進(jìn)行分塊搭建, 并通過訓(xùn)練集進(jìn)行訓(xùn)練, 訓(xùn)練出不同的弱分類器, 將這些弱分類器組合起來構(gòu)成一個(gè)強(qiáng)分類器, 從而滿足汽車行駛工況時(shí)的實(shí)際需求. 3) 將客觀評(píng)測(cè)與主觀體驗(yàn)相結(jié)合對(duì)該系統(tǒng)的實(shí)際效用進(jìn)行多層次評(píng)價(jià). 通過實(shí)驗(yàn)測(cè)得系統(tǒng)的檢測(cè)時(shí)間平均值為1.470 s, 人臉檢出率為100%, 綜合誤識(shí)別率為10%. 駕駛員與乘客的體驗(yàn)表明倚靠時(shí)頭頸與頭枕貼合平整, 并未出現(xiàn)懸空現(xiàn)象, 包裹性能良好. 此外, 頭枕對(duì)背部有充分的支撐力, 支撐性能優(yōu)異. 綜合可以看出, 本系統(tǒng)識(shí)別速度快, 人臉檢出率高, 誤識(shí)別率低, 安全性能強(qiáng). 頭枕調(diào)整后的主觀體感良好, 舒適性強(qiáng).2.3 中值濾波
3 人臉檢測(cè)
3.1 Viola-Jones算法
3.2 AdaBoost算法
3.3 級(jí)聯(lián)分類器
4 電機(jī)控制
4.1 串口通信
4.2 電機(jī)程序
5 試驗(yàn)階段
6 結(jié)語