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