羅昆 王子華 黃祖邦
摘要:隨著無人駕駛技術的迅速發展,交警手勢識別逐漸成為了交通領域的緊迫需求。因肢體運動的任意性都給手勢識別帶來了巨大挑戰,針對交警的指揮手勢檢測與識別的問題,對交警手勢識別的動作檢測和識別技術進行了深入研究,并且基于Python的OpenCV庫函數和目標檢測算法以及BP神經網絡算法實現了智能交警手勢識別系統。實驗表明,系統對交警手勢的識別具有較高的識別率,能夠很好地處理采光環境、手勢動作速度不一致和手勢姿態不同等帶來的識別問題,具有較好的應用前景。
關鍵詞: 無人駕駛; 交警手勢; BP網絡; 手勢檢測; 手勢識別
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)09-0209-03
1 前言
隨著現代科技的迅猛發展,機器視覺技術、人體行為識別系統在交通領域的應用面越來越廣。由于無人駕駛汽車不僅能大幅度緩解交通擁堵,降低公共道路上車禍的發生頻率,還能大幅提高燃油效率、減少溫室氣體的排放,因此使得無人駕駛汽車成為近年來的研究熱點[1]。隨著大量的汽車企業及科技公司加入汽車智能化、自動化的研究行列,使的未來無人駕駛汽車的普及成為可能。
在日常交通生活中,交通指揮除了靠固定式的交通信號來指揮外,交警手勢指揮也是交通指揮的基本方式之一。當道路上遇到特殊緊急的交通事故或者碰到惡劣的天氣環境時,僅靠交通信號燈來調度車輛已然無法滿足要求。因此,需要經驗豐富的交警們對現場的交通情況進行合理靈活的疏導[2]。然而,無人駕駛汽車現如今已逐步的走進了人們的視野,無人駕駛汽車不僅除了需要能夠識別固定式的交通信號,還需對交警靈活多變的手勢快速的作出反應和處理[2]。在無人駕駛技術和智能輔助駕駛系統日益成熟的今天,對于智能交警手勢識別技術的研究有重要的應用價值。對人工智能領域的發展、緩解城市交通壓力、便捷現代人生活具有重要的研究意義[3]。
2 手勢圖像預處理和特征提取
在交警手勢檢測和識別的研究過程中,采用三種不同的方式對交警指揮手勢進行檢測,并在最好的交警手勢檢測效果的基礎上采用PCA特征學習算法來實現交警手勢的特征提取。
2.1 手勢樣本的預處理
獲取的手勢視頻或圖像在產生和傳輸過程中容易受設備性能差異或外部環境以及各種噪聲等客觀因素的影響,導致圖像的質量將難以達到正常識別的標準。因此,進行手勢識別處理前必須要先對手勢視頻或圖像進行預處理。圖像預處理的流程主要包括灰度處理、歸一化處理、二值化處理以及降噪處理等。其具體步驟為:原始圖像首先通過灰度處理轉變為灰度圖像,并對其歸一化,然后采用二值化處理使圖像的背景和前景相對分離,最后利用灰度拉伸增加目標圖像的前景和背景的對比程度。然而,經過前面一系列的處理后發現,處理后的圖像中會存在大量的噪點,此時將需要對其進行降噪處理,降噪主要采用平滑濾波和閾值調節相結合的方式來進行,如此便獲得了經過噪點抑制和歸一化處理的二值圖像。
2.2 PCA特征提取
主成分分析也叫主分量分析,其利用降維的方式將多個指標轉化為的少數幾個綜合指標。這些綜合指標最大化的描述了原指標的大部分信息,且所含信息相互獨立[4]。采用該方法可大幅降低樣本間的相關性和數據冗余,其基本思想是將一個矩陣中的樣本數據投影到一個新的空間中去。若將矩陣拆解為一些向量和系數的線性組合,且這些組合滿足線性無關的原則,則包含重要特征最多的向量可作為主成分方向,即數據的主軸方向。由于PCA具有算法簡單計算量小,且易于實現等優點,因此它的應用場景非常廣泛。
3 手勢檢測技術
人們經常會使用高速攝像機來記錄目標物體在不同時刻的運動信息。而運動目標檢測是利用目標檢測算法將我們感興趣的目標信息從視頻或圖片中分離出來的一種技術。常用的運動目標檢測方法有三種,其中主要包括背景估計的方法、基于差分法的方法和基于光流法的方法[5][6]。
(1)背景減除法是通過對圖像中的所選擇的背景模型和幀序列信息進行比較,其中背景模型是為了反映目標元素所處環境下的背景信息[7]。然而這種檢測方法的局限性比較大,在周圍環境變化幅度較小的情況下才適用于該算法。
(2)幀間差分法是通過圖像灰度值變化來鎖定運動物體的位置,其原理是將檢測范圍縮小到肢體運動的區域,幀間差分法通過像素點的時間差分,提取閾值,檢測范圍鎖定在兩到三幀的圖像內[7]。
(3)光流法一般用來檢測圖像在空間上的瞬時速度,并且通過它還能檢測出物體在運動區域內圖像灰度值的變化。圖像在進行圖像灰度二值化處理后都能基于灰度值之間的相關性和時間的變化來確定每個像素點的位置信息。
4 基于BP神經網絡算法的手勢識別技術
20世紀80年代中期,經過D.E.Rumelhart和J.L.Mc Celland及其研究小組的共同努力下研究并設計出來了BP(Back Propagation)網絡,解決了多層神經網絡隱含層連接權學習問題,并在數學上給出了完整推導。人們把采用這種算法進行誤差校正的多層前饋網絡稱為BP網絡[8]。BP網絡即反向傳播神經網絡,它是一種非常有效的多層神經網絡的學習方法,其主要特點是信號向前傳遞,誤差向后傳播,通過大量的訓練和學習能不斷優化網絡中各神經元節點間的權重值,使得網絡逐漸適應環境的需要,讓網絡的真實輸出盡可能逼近預期輸出,從而達到訓練的目的。由于BP網絡具有算法成熟、結構簡單以及精確尋優等優點,使得其廣泛應用于圖像分類、數據壓縮、模式識別、數學分析與預測等領域。BP網絡主要由輸入節點、輸出節點以及一層或多層的隱含節點構成。圖1是一個典型的多層神經網絡。輸出層的傳遞函數一般需要通過輸入和輸出的映射關系來進行確定,由該映射關系可以確定傳遞函數是線性還是非線性的。隱含層則通常情況下都是非線性函數。
在采用BP神經網絡進行手勢識別前,首先要先將原始圖像或手勢視頻樣本通過前文提到的手勢檢測算法,分割出交警指揮手勢的特征,然后將分割出來的特征向量輸入到BP網絡模型中進行樣本訓練,其中手勢特征向量的維數與網絡中輸入層的神經元個數是相等的。最后將手勢特征與模板數據庫中的手勢進行對比,從而識別出與該圖像所對應的交警指揮手勢。
基于BP神經網絡的手勢識別算法詳細流程如下:
(1)預先設定好訓練模型的參數。其主要包含各層神經元數量、誤差精度、最大訓練次數、學習率等,同時將各層節點的權值設定為0~1內的隨機數。
(2)將挑選好的樣本輸入到手勢檢測的模型中,經模型提取后得到手勢樣本的特征向量,最后將其特征向量輸入到神經網絡中。
(3)循環迭代訓練輸入到網絡中的特征向量,如果訓練次數多于預設次數或者誤差函數比預設誤差精度小,則終止訓練。
(4)網絡訓練完成后,將從待測手勢中獲取到的特征向量重新輸入到訓練后的網絡中進行識別。
5 交警指揮手勢識別系統的設計與實現
該系統由手勢在線識別系統和離線學習系統兩大系統組成,兩個系統分別負責不同的功能。系統主要由樣本上傳、樣本預處理、手勢特征采集、樣本訓練、手勢識別等功能模塊組成。基于前文提出的手勢檢測、BP神經網絡、ELM極限學習機等方法,開發了一套智能交警手勢識別系統,系統以WEB網頁的形式呈現。該系統整體架構如圖3所示。
5.1 交警手勢在線識別系統的實現
交警手勢在線識別系統主要給用戶提供視頻樣本手勢識別的功能。其具體流程如圖4所示。用戶將采集好的樣本通過系統的WEB端程序上傳到手勢在線識別系統中進行訓練和識別。在訓練之前需要對樣本進行預處理,然后將預處理得到的二值化圖像采取動態手勢檢測算法,將運動的手勢參數從視頻中提取出來,再結合PCA特征提取技術得到手勢特征,最后將手勢特征導入到BP網絡或極限學習機中進行訓練和識別。交警在進行交通指揮時,若處于攝像頭的拍攝區域,攝像頭捕捉到的視頻會通過手勢檢測算法將交警的指揮動作從視頻序列中分離出來,為手勢識別做準備。而手勢識別主要是將前面檢測到的運動的手勢參數存儲到數據庫中,然后與標準的交警手勢庫的動作參數進行比對,最后獲得識別結果。
5.2 離線學習系統的實現
離線學習系統,由于需要對大量的樣本進行學習訓練,需要耗費較多的時間,所以不適合設計成在線系統。只能通過定期增加大量新的交警手勢樣本,讓離線學習系統進行學習,將學習后的BP神經網絡和極限學習機得到的網絡結構參數,同步給在線學習系統的BP神經網絡和極限學習機檢測系統,以此不斷提高手勢識別的能力。
離線學習系統具體流程如下:
(1)首先收集大量手勢樣本,用于離線系統的學習訓練。
(2)通過前文的圖像預處理方法,將這些樣本文件轉換成二值化圖像,如圖5所示。
(3)將步驟(2)得到的二值化圖像通過手勢特征采集系統提取每個二值化圖像的特征,并保存在數據庫中,如圖6所示。
(4)將步驟(3)得到的樣本特征庫用于訓練BP神經網絡和極限學習機,并得到訓練后的BP神經網絡和極限學習機的結構參數,將這些離線學習得到的參數更新到同步到在線手勢識別系統中。如此便完成一輪交警手勢識別系統的學習升級。每次的學習訓練,都能逐漸提高交警手勢識別系統的準確度。
5.3 系統功能演示
該系統的功能主要包括:系統登錄、樣本上傳檢測、在線識別、離線學習、識別結果反饋、實驗日志等功能。系統功能主界面如圖7所示。通過點擊“本地上傳”按鈕,將交警的手勢測試視頻上傳到系統中,或者在輸入框中粘貼網絡視頻的URL鏈接,作為測試樣本來源。視頻上傳完成后,點擊“檢測按鈕”,系統會提示“手勢檢測中,請耐心等待!”。手勢識別完成后,系統將自動匹配并鎖定下方相應的交警標準手勢庫的手勢縮略圖,從而完成手勢識別結果的定位和反饋,如下圖所示。
每次系統進行手勢檢測和識別都會生成實驗日志,實驗日志記錄了管理員的每一次的操作記錄以及系統識別結果記錄的生成,如下圖8所示。
6 結論
隨著現代科技的迅速發展,機器視覺技術在交通領域的應用面越來越廣,智能駕駛技術也逐漸進入了人們的生活視野。交警手勢識別技術應用于無人駕駛領域不僅能給交通管理部門提供極大的便利,還能為無人駕駛技術提供強大的功能支持。
文章中對交警手勢識別的手勢檢測和識別技術進行了深入研究,并且基于Python的OpenCV庫函數和手勢檢測以及BP神經網絡算法實現了智能交警手勢識別系統。針對交警的指揮手勢識別的問題,在經過深入的研究和探索后,選取了神經網絡算法作為交警手勢識別的主要研究方向,并實現了基于BP神經網絡的手勢識別算法。經系統測試后發現,該算法對交警手勢的識別具有較高識別率,能夠很好地處理采光環境、手勢動作速度不一致和手勢姿態不同等帶來的識別問題。該智能交警手勢識別系統可高效、智能、動態地識別交警手勢,為今后無人駕駛技術的普及提供了強大的功能支撐,將有利于人工智能的發展,為人們的生活提供了極大的便利,具有很好的應用前景。
參考文獻:
[1] 劉麗,趙曉峰.給發動機葉片穿上“保護衣”[N].科技日報,2014-03-13(007).
[2] 常津津,羅兵,楊銳,等.基于深度學習的交警指揮手勢識別[J].五邑大學學報(自然科學版),2018, 32(02):38-44+66.
[3] 張冰.無線車載網鏈路層HCCA策略優化及服務質量研究[D].天津大學,2017.
[4] 詹小孟.人臉表情識別關鍵技術研究[D].西安電子科技大學,2011.
[5] 李穎晶.基于全方位視覺的運動目標檢測和跟蹤方法研究[D].哈爾濱工程大學,2012.
[6] 周振.基于Kinect深度圖像的手勢識別算法研究[D].湖南大學,2015.
[7] 胡建強.復雜背景下動態手勢跟蹤算法研究[D].蘭州理工大學,2010.
[8] 馮桐.基于神經網絡的手勢識別研究[D].北京理工大學,2015.
【通聯編輯:代影】