陳潔
(福建省特種設備檢驗研究院, 福建 福州 350004)
隨著汽車保有量的迅速增長, 汽車駕乘的舒適性以及安全性日益成為人們選擇的重要因素. 而汽車頭枕作為汽車座椅的重要組成部分, 直接影響到駕乘人員的乘坐舒適性以及安全性.
據相關統計, 在車輛碰撞事故中, 車內乘員頸部扭傷是最主要的傷害之一. 在26%的車輛追尾事故中, 駕駛員的頭部或頸部會受到不同程度的損傷, 而在同等條件下的追尾事故中, 沒有正確使用汽車頭枕的駕駛人員頸部受到損傷的概率比正確使用汽車頭枕的高出約40%. 當車輛發生追尾事故時, 人體的上半身會受慣性影響而維持原有的運動狀態, 車身受到撞擊而產生的急加速或急減速將對人體的頭部及頸部產生巨大的壓力沖擊, 而頭枕則可以在撞擊發生時, 起到對低頭部及頸部受到的沖擊給予緩沖, 從而保護人體的頭部及頸部. 正確的高度調節可以使駕乘人員的頭部位于汽車頭枕中間的最柔軟部位, 從而在發生事故時有效降低碰撞所帶來的沖擊, 起到對頸部的緩沖作用, 降低頸部受到傷害的幾率. 因此, 通過對車內頭枕高度自適應調整裝置的設計及控制方法的研究, 保證駕駛員的乘坐舒適性以及安全性, 具有重要意義.
針對汽車頭枕安全, 國內外學者從機構設計、 運動分析以及安全檢測等方面進行了相關研究. 宋均思[1]針對汽車座椅頭枕的安全結構進行了設計, 闡釋其功能特點并展開相應研究. 嚴莉[2]建立汽車座椅有限元分析模型, 重點對頭枕的強度進行仿真分析, 并根據結果改進了座椅的結構參數. 劉博勛等[3]針對現有汽車主動式頭枕裝置設計的不足, 基于模塊設計方法采用UG/Motion模塊建立運動學模型, 并對其運動狀態進行分析. 韓健康等[4]充分考慮各環境下用戶狀態與需求, 從人機工程學合理性的角度對汽車頭頸保護系統進行設計. 包俊群等[5]與鄭立江[6]通過計算機檢測系統搭建頭枕安全試驗臺, 以實際應用證明了所設計的檢測系統的有效性與穩定性. 上述研究雖然在汽車頭枕安全設計與檢測方面取得了一些成效, 但也有其局限性. 現有的研究缺乏集機構設計、 圖像識別以及主動控制為一體的系統化設計. 故而開展這一方面的研究具有重要的工程意義.
車內頭枕高度自適應調整裝置的總體結構如圖1所示, 由電子攝像頭、 汽車座椅位置傳感器及角位置傳感器、 處理器、 微控制器和電機組成. 電子攝像頭拍攝車內駕乘人員的圖像, 圖像進處理器實現圖像處理和人臉檢測. 汽車座椅傳感器數據與圖像處理數據結合, 計算出人體頭部位置. 計算機與微控制器之間數據通信, 從而控制電機, 實現對汽車頭枕高度的自適應調整. 至于攝像頭的位置, 將根據實車內座椅靠背及頭枕的具體位置進行確定, 圖2為奔馳GLK的座椅參數.

圖1 車內頭枕高度自適應調整裝置總體結構圖Fig.1 Overall structure of headrest height adaptive adjustment device in vehicle

圖2 汽車座椅尺寸(單位: mm)Fig.2 Size of car seat(unit: mm)
為了獲取人臉在圖像中的位置信息, 以奔馳GLK級汽車為例, 建立二維笛卡爾坐標系, 使用解析幾何的方法結合人臉檢測的數據計算出頭部的高度, 如圖3所示.

圖3 座椅在坐標系中的表示Fig.3 Representation of the seat in the coordinate system
為了獲取頭部位置的高度, 首先需要得到人體頭部在相機畫面中的位置, 面部中點在相機視角中的正切值可表示為:

(1)
其中: 坐標系中的具體尺寸選取如下, 長度單位為(mm); BBOX角度單位為(°).
攝像頭和頭部中點的連線與水平方向的夾角加上相機坐標系Z軸與水平方向的夾角的值記為α1:
α1=arctan(z)+10°
(2)
另外測量攝像頭與座椅靠背轉軸處的水平距離為1 000 mm, 攝像頭與車內地面的豎直距離為800 mm, 車內地面與座椅靠背轉軸處的豎直距離為300 mm, 座椅靠背長度為720 mm. 同時將頭部中點在平行于座椅靠背方向上與座椅坐墊平面的交點記為A點,A點與座椅靠背轉軸處的距離記為L2, 由人體頭部的最大尺寸取值, 結合座椅尺寸, 取L2為200 mm.
座椅靠背與水平方向的夾角記為α5:
α5=θ+76°
(3)
其中:θ為座椅靠背的轉動角度.當座椅頭枕的導向桿與豎直方向平行時,θ=0°.
取逆時針方向為正方向, 且此時座椅靠背與水平方向的夾角為76°, 則攝像頭與A點的水平距離記為X3:
X3=X1-L2×cos(180°-α5)
(4)
A點與車內地面的豎直距離記為Y3:
Y3=Y2+L2×sin(180°-α5)
(5)
攝像頭與A點間的距離記為L1:

(6)
攝像頭與A點連線與水平方向的夾角記為α2:

(7)
頭部中點與A點的距離記為L:

(8)
A點和座椅靠背轉軸處連線與頭枕前表面中間的距離記為L0:
L0=L+10×tan(14°-θ)
(9)
則頭枕上升高度記為Δ:
Δ=L0-720
(10)
圖像灰度化處理是指將彩色圖像轉換為灰度圖像的過程, 采用加權平均值法對R、 G、 B三色分量進行加權求和, 算式為:

(11)
托馬斯·揚(T.Yong)與赫爾曼·赫姆霍爾茲(H.Helmholtz)的三色理論指出人的視網膜上存在3種不同的錐狀細胞, 分別對紅、 綠、 藍三色光十分敏感, 它們的視敏度如圖4所示. 由于人眼對綠色最敏感, 其次是紅色, 藍色則最低, 所以權值取b>a>c時識別效果較好. 根據三種細胞的相對視敏度比例, 取a為0.3,b為 0.59,c為0.11[1].

圖4 相對視敏度圖Fig.4 Relative visual acuity map
直方圖均衡化使得圖像的直方圖更加平坦, 直方圖中每個亮度等級出現的概率相同, 如圖5 (a)所示. 將直方圖的亮度等級分為M, 輸入圖像和輸出圖像每個亮度級對應的點數分別用O(l)和N(l)表示, 且有O 圖5 原始與均勻化后的圖像直方圖Fig.5 Original and homogenized image histogram (12) 并且, 對于任意亮度級p, 輸入圖像和輸出圖像的點數應該相同, 才能得到具有均一平坦直方圖的輸出圖像.輸入圖像亮度級為p的累加直方圖應等于輸出圖像亮度級為q的累加直方圖, (13) 由于輸出圖像的直方圖是均一平坦的, 所以輸出圖像直方圖中每個亮度級的點數是圖像總點數與亮度級寬度之比, (14) 對于輸出圖像累加直方圖有: (15) 對于輸入圖像累加直方圖有: (16) 輸入像素亮度級p到輸出像素亮度級q的映射關系: (17) 經過直方圖均衡化處理后圖像的直方圖如圖5(b)所示. 其各個灰度級像素的分布均勻, 且每個灰度級之間的像素值差小, 因此圖像能夠擁有更加豐富的細節. 直方圖均衡化處理在Matlab中實現. 在計算機視覺中, 使用攝像頭拍攝的圖像在處理過程中會受椒鹽噪聲的影響, 對圖像的分割處理、 特征提取、 圖像識別等操作產生不良影響. 因此, 通過攝像頭采集的圖像需要進行圖像濾波才能進一步被使用, 而最常用的去除椒鹽噪聲的濾波方法是中值濾波[7-9]. 中值處理往往是通過模板來實現的, 本實驗中使用的是3 × 3模板, 在使用時需要計算以(x,y)為中心點模板的9個值, 如圖6所示. 其實現步驟大致為: 將模板在圖像中移動, 將模板中心與圖像的某一像素重疊; 讀取模板所覆蓋的所有像素的灰度值; 將讀取的灰度值按升序排列成向量; 取向量中間值為中值; 將該模板的中值賦值給模板中心所對應的像素灰度值. 圖6 中值排序過程Fig.6 Median sorting process Viola-Jones算法是一種快速且高效的人臉檢測算法, 能夠實現實時檢測圖像中的人臉. 該算法使用哈爾特征描述人臉, 并通過使用一種積分圖像實現快速計算, 使用Adaboost算法進行特征選擇以及級聯分類器訓練[10]. 對于人臉檢測, 可以利用檢測人臉一些共有的特性來實現, 例如: 臉頰區域會比眼睛區域亮; 鼻梁區域屬于高光區域, 所以鼻子區域一般會比臉頰區域亮; 對于一張正臉, 眉毛、 眼睛、 鼻子、 嘴巴等特征區域都存在相應的位置關系. 上一節中所介紹的哈爾特征描述的是某一特定位置關系的相鄰區域的灰度值差距, 適合用于人臉檢測的特征提取. 如圖7所示, 分別選擇了邊緣哈爾特征和線性哈爾特征來確定特征, 并對不同的位置區域進行計算. 哈爾特征被用于計算白色區域與黑色區域像素之和的差值. 圖7 邊緣哈爾特征Fig.7 Edge haar feature AdaBoost算法的性質是一種迭代算法, 通過對同一個訓練集進行訓練, 訓練出不同的弱分類器, 并將這些弱分類器組合起來, 構成一個強分類器[11-13]. 本研究中訓練集采用哈爾特征, 使用這些哈爾特征構成的弱分類器來組建一個可用于人臉檢測的強分類器. 在AdaBoost算法中, 弱分類器不是并行的, 只有當一個弱分類器執行完成以后, 才會進入下一個弱分類器. 算法的基本原理是使用加權投票, 如果樣本分類正確, 則減少其權重; 如果分類錯誤, 則增加其權重. 因此可以在之后的弱分類器學習中更加注意分類錯誤的樣本. 每個特征f被認為是一個弱分類器, 定義如下: (18) 其中:x為24 px × 24 px像素圖像;θ為閾值;p為奇偶校驗符. 1) 利用上一個階段的數據xi(t-1)進行加權, 訓練所有弱分類器(d=162 336)并選擇將成為強分類器組成部分的最有效的弱分類器ht. 2) 將弱分類器與在先前階段中聲明為最有效的其他弱分類器組合. (19) 這樣, 下一個弱分類器將集中于訓練較難的示例. 最后, 強分類器將是T個弱分類器的線性組合, 其決策規則為: (20) 其中, 權重為: (21) 對于具有較小誤差的弱分類器, 這些權重將較大, 而對于具有較高分類誤差的弱分類器, 這些權重將較小. 在執行AdaBoost算法后, 將生成一個強分類器, 可以有效地對N×N大小的窗口進行分類. 由于窗口是正圖像的平均概率僅為0.01%, 即人臉, 因此僅需要對潛在的正窗口進行檢查. 為了獲得更高的檢測準確率和較小的誤分類率, 需要使用另一個強分類器, 對未正確分類的圖像進行正確分類. 創建了一個級聯分類器, 如圖8所示. 圖中A為成功, F為失敗. 在級聯分類器的第一層, 將使用具有很少特征的強分類器, 該分類器將過濾大多數負窗口. 接下來是一系列越來越復雜的分類器, 它們將實現更高的檢測率. 圖像需要經過n次強分類器的篩選, 才能檢測出人臉區域, 只要n個強分類器中任何一個檢測為非人臉圖像, 則該圖像將被排除. 圖8 級聯分類器Fig.8 Cascade classifier 訓練過程如下: 為了訓練分類器, 首先將僅包含經過裁剪的臉部的正圖像放入指定文件夾中, 并添加其路徑. 對應的負樣本將根據用戶提供的負圖像自動生成, 負圖像由其文件夾的路徑指定. 之后執行訓練函數, 該函數可訓練虛警率等于0.2且層數等于5的檢測器. 最后使用新訓練的分類器來檢測圖像中的人臉, 并將人臉框選出來讀取圖像. 采用Matlab的串口對象serial實現與Arduino之間的通信, 其流程圖如圖9所示. 首先使用serial定義需要使用的串口COM3; 初始化串口, 使串口波特率與Arduino開發板的波特率一致; 打開串口, 等待數據傳輸; 接收到數據以后使用串口將數據發送給Arduino; 數據傳輸完成, 關閉串口. 圖9 串口通信流程圖Fig.9 Serial communication flow chart 步進電機是將輸入的電脈沖信號轉換為角位移的執行機構, 可以通過控制傳輸給步進電機控制器的脈沖個數, 來實現對步進電機旋轉角度的控制. 步進電機的旋轉速度與步進電機控制器接收到的脈沖頻率有關, 可以通過改變脈沖頻率來實現對步進電機轉速的控制. 為實現電機控制, 首先自定義步進電機不同線路的端口號, 然后設置微控制器的波特率以及不同端口的I/O屬性. 在驅動程序執行前還需定義不同端口的初始狀態, 最后創建一個自定義函數, 從而完成電機旋轉的程序. 在程序運行時, 只需使用該程序便可判斷當前串口狀態, 當串口有數據傳輸時, 執行自定義函數即可實現電機驅動. 在圖像處理各部分功能測試完成后進行系統的整體測試. 攝像頭的布置方案如圖10所示, 攝像頭放置于方向盤后方. 測試共進行20次, 測試圖像如圖11所示. 圖10 布置方案Fig.10 Layout plan 圖11 測試圖像Fig.11 Test image 其中包括10次在光線較暗的地下車庫內的試驗及10次光線充足情況下的試驗. 表1為測試結果的統計, 可得系統的檢測時間平均值為1.470 s, 人臉檢出率為100%, 其中光線較暗中出現2次錯誤(3和6), 光線明亮沒有錯誤, 綜合誤識別率為10%. 根據試驗結果可以看出, 本系統具有識別速度快, 人臉檢出率高, 誤識別率低的優點, 且在某些極限環境下也具有較好的可用性. 表1 試驗結果 主觀評價又稱感覺評價, 是以人的主觀判斷為基礎, 通過合理的組織形式, 由專業試驗評價人員按照一定的主觀感覺評價規范, 對被待測系統進行評價[14-15]. 本研究通過駕駛員與乘客的主觀體驗對此頭枕高度自適應調整系統的實用效果進行輔助驗證. 系統啟動后, 首先通過xxx(原理、 算法、 技術)對人臉圖像進行自動識別與采樣, 信息收集完成后通過xx傳感器輸入處理器, 從而通過微控制器在響應時間內控制電機自動抬升頭枕并調整角度. 駕駛員與乘客倚靠時頭頸與頭枕貼合平整, 并未出現懸空現象, 包裹性能良好. 此外, 頭枕對背部有充分的支撐力, 支撐性能優異. 基于車內頭枕高度自適應調整的客觀需求, 結合圖像識別技術, 通過車內攝像頭, 座椅前后位置傳感器和座椅靠背角位置傳感器實現了汽車頭枕根據駕乘人員頭部位置自動調整. 這避免了因個人習慣導致的頭枕位置調整不正確, 降低車輛在發生碰撞事故時人體頭部及頸部受到的損傷. 通過對參數的調整, 該裝置可實現對不同車內空間設計及不同座椅尺寸的車輛的頭枕高度自適應調整. 主要結論如下: 1) 設計了車內頭枕高度自適應調整裝置的總體結構, 由電子攝像頭, 汽車座椅位置傳感器及角位置傳感器、 處理器、 微控制器和電機組成. 使用解析幾何的方法結合人臉檢測的數據計算出頭部的高度, 基于產品安全理論與人體工學得出頭枕的轉動角度與上升高度的定量公式. 2) 基于圖像預處理手段與人臉識別算法建立了快速且高效的人臉圖像識別系統. 以模塊設計的手段對該系統進行分塊搭建, 并通過訓練集進行訓練, 訓練出不同的弱分類器, 將這些弱分類器組合起來構成一個強分類器, 從而滿足汽車行駛工況時的實際需求. 3) 將客觀評測與主觀體驗相結合對該系統的實際效用進行多層次評價. 通過實驗測得系統的檢測時間平均值為1.470 s, 人臉檢出率為100%, 綜合誤識別率為10%. 駕駛員與乘客的體驗表明倚靠時頭頸與頭枕貼合平整, 并未出現懸空現象, 包裹性能良好. 此外, 頭枕對背部有充分的支撐力, 支撐性能優異. 綜合可以看出, 本系統識別速度快, 人臉檢出率高, 誤識別率低, 安全性能強. 頭枕調整后的主觀體感良好, 舒適性強.





2.3 中值濾波

3 人臉檢測
3.1 Viola-Jones算法

3.2 AdaBoost算法





3.3 級聯分類器

4 電機控制
4.1 串口通信

4.2 電機程序
5 試驗階段



6 結語