陳 天,閆雨寒,徐達(dá)偉,劉忠育,丁恩杰
(中國礦業(yè)大學(xué)a.礦山物聯(lián)網(wǎng)應(yīng)用技術(shù)國家地方聯(lián)合工程實(shí)驗(yàn)室;b.信息與控制工程學(xué)院,江蘇 徐州 221008)
煤炭行業(yè)是以礦工為主體的勞動密集型產(chǎn)業(yè),盡管煤炭開采技術(shù)能夠?qū)崿F(xiàn)自動化和機(jī)械化,但目前還做不到“無人化”。人的不安全行為是導(dǎo)致安全事故發(fā)生的最主要原因,嚴(yán)重制約著煤礦企業(yè)的安全生產(chǎn)和發(fā)展。由于礦工行為與環(huán)境交互密集,不僅對環(huán)境更加敏感,在識別時需要融合環(huán)境特征和行為特征,而且行為之間有一定相似度,需要進(jìn)行細(xì)粒性識別分析,因此,礦工行為識別與普通行為識別相比具有更大的識別難度。
目前,針對行為識別的方法主要分3種:基于骨骼點(diǎn)的行為識別[1-4]、基于圖像的行為識別[5-6]以及基于視頻的行為識別[7-10]。國內(nèi)主要利用礦工佩戴傳感器采集的骨骼點(diǎn)數(shù)據(jù),構(gòu)造運(yùn)動姿態(tài)相對位置特征、角度特征和幀間位移特征來對礦工行為進(jìn)行描述[11-12]。這種方法雖然能夠在光線昏暗的環(huán)境中準(zhǔn)確捕捉到人的行為,但卻忽略了行為與環(huán)境之間的交互,且無法識別易混淆的動作。為此,文獻(xiàn)[13-14]將礦工行為的骨骼點(diǎn)特征和視頻圖像特征進(jìn)行特征降維,再通過支持向量機(jī)對融合的行為特征進(jìn)行分類。但由于礦工行為數(shù)據(jù)量龐大,手工提取上述特征十分困難,因此該方法在數(shù)據(jù)集應(yīng)用方面具有一定的局限性。
針對目前研究存在的問題,本文提出了一種端到端的方法自主學(xué)習(xí)礦工行為特征并實(shí)現(xiàn)行為分類。利用雙流法[15]模型從原始視頻中獲取描述礦工動作的時間特征和空間特征,在學(xué)習(xí)行為時域變化的同時,還構(gòu)建了場景和目標(biāo)信息,能準(zhǔn)確識別出人與物、人與場景交互的行為。同時,提出了量子遺傳優(yōu)化雙流模型算法,探索在分類網(wǎng)絡(luò)識別達(dá)到極限時,利用全局搜索算法進(jìn)一步提高模型識別的準(zhǔn)確率和魯棒性。
雙流網(wǎng)絡(luò)包含兩個分支,一流是時間流,采用提取的光流特征圖構(gòu)建時間特征,利用圖像序列中像素的時域變化和相關(guān)性來確定各像素位置的“運(yùn)動”。光流表達(dá)了圖像的變化,因此可被觀察者用來確定目標(biāo)的運(yùn)動情況。還有一流是空間流,空間流由三原色(red,green and blue,RGB)圖像構(gòu)成,不僅用于提取礦工的行為特征,還攜帶了視頻描繪的場景和目標(biāo)信息,可以解決行為與環(huán)境交互的問題。
從原始礦工視頻中分別提取RGB圖像和光流圖,RGB圖像序列由通過將視頻分段后隨機(jī)從每段視頻中抽取1幀關(guān)鍵幀構(gòu)成。光流特征圖的提取方法見1.2節(jié)。將RGB圖像和光流特征圖作為網(wǎng)絡(luò)的輸入,分別送入由卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成的時間流網(wǎng)絡(luò)和空間流網(wǎng)絡(luò)中進(jìn)行特征提取和分類,在softmax層后進(jìn)行分?jǐn)?shù)融合得出最終的分類結(jié)果。
本文主要采用3種主流的識別網(wǎng)絡(luò)實(shí)現(xiàn)礦工行為的識別:Two-Stream ConvNet[15]、TSN[16]和I3D[17]。Two-Stream ConvNet要求輸入的RGB特征圖為給定視頻里的任意一幀,網(wǎng)絡(luò)結(jié)構(gòu)由5層卷積層和2層全連接層構(gòu)成,兩流拓?fù)浣Y(jié)構(gòu)相同,softmax層的融合方法為計算兩流的平均分?jǐn)?shù)或者將兩流分?jǐn)?shù)作為特征訓(xùn)練再進(jìn)行支持向量機(jī)(support vector machine,SVM)分類。TSN的結(jié)構(gòu)與Two-Stream ConvNet相同,但它將整個視頻分為3段,對提取的每段特征進(jìn)行學(xué)習(xí)訓(xùn)練,最后做疊加。I3D是一個基于3D卷積的雙流模型,將Inception-v1網(wǎng)絡(luò)中的2D卷積核和pooling核膨脹成3D、H、W,對應(yīng)的參數(shù)均直接從Inception中獲取,僅需要訓(xùn)練D參數(shù)。
光流特征圖的實(shí)質(zhì)是描述視頻中兩張相鄰圖像中像素點(diǎn)信息移動的圖像。假設(shè)一個像素點(diǎn)在某一幀(t時刻)的光強(qiáng)度為I(x,y,t)=I(x+dx,y+dy,t+dt),經(jīng)過dt的時間移動了(dx,dy)的距離到達(dá)下一幀。由于同一目標(biāo)在不同幀間運(yùn)動時,其亮度不會發(fā)生改變,因此得到:
I(x,y,t)=I(x+dx,y+dy,t+dt)。
(1)
將式(1)用泰勒展開得:
(2)
由此可得:
(3)
Ixu+Iyv+It=0,
(4)
其中:Ix、Iy和It均可由圖像數(shù)據(jù)求得。
這只是一個約束方程,由此不能求出確切的參數(shù)u和v,因此需要引入一個約束條件,即基于梯度的光流估計算法。利用時變圖像灰度的時空微分來計算像素的速度矢量,在方程(4)的基礎(chǔ)上附加了全局平滑假設(shè),假設(shè)在整個圖像上光流的變化是光滑的,在目標(biāo)像素的m×m區(qū)域內(nèi)每個像素的光流矢量相同。最后對光流表達(dá)式的加權(quán)平方和最小化估算出光流矢量。
量子遺傳算法[18]是一種概率搜索算法,在量子遺傳算法中染色體上的一個基因用量子態(tài)表示,量子態(tài)的表示為:
ψ〉=α0〉+β1〉。
(5)
量子比特0〉和1〉表示微觀粒子的兩種基本狀態(tài),其中,α,β均是復(fù)數(shù),分別表示狀態(tài)0和1的概率幅,且滿足:
(6)
則n個量子位的染色體形式為:
(7)
因此,每條染色體包含上下兩條基因鏈,每條基因鏈?zhǔn)莾?yōu)化問題的一個候選解。由此可知,量子遺傳算法在種群規(guī)模不變的情況下,候選解個數(shù)比遺傳算法多1倍,增加了解空間的多樣性,提高了尋優(yōu)成功的概率。
由于量子染色體呈現(xiàn)多態(tài),因此量子位的更新除了通過染色體交叉變異外,采用量子旋轉(zhuǎn)門改變量子比特相位,以更新量子位的概率幅,從而達(dá)到基因變異的效果。設(shè)[αi,βi]′是經(jīng)旋轉(zhuǎn)后的第i個量子位,θi為旋轉(zhuǎn)角,則更新過程為:
(8)
其中:Ui為量子旋轉(zhuǎn)門,其形式如下:
(9)
量子遺傳算法與經(jīng)典遺傳算法最大的不同就是,不再采用二進(jìn)制位來對解空間中的可行解進(jìn)行編碼,而是采用具有01疊加態(tài)的量子位編碼。由量子信息的疊加性表達(dá)基因包含所有可能的信息,使得量子遺傳在用同等長度的位數(shù)進(jìn)行編碼時比經(jīng)典遺傳算法表示出更多的信息。
利用量子遺傳算法優(yōu)化網(wǎng)絡(luò)主要是先通過對雙流網(wǎng)絡(luò)中的卷積核參數(shù)進(jìn)行量子編碼,將n×n維的卷積核伸展成n2×1的向量,對n2的參數(shù)進(jìn)行優(yōu)化后再重塑成n×n維的卷積核。接著再利用量子交叉、量子門旋轉(zhuǎn)實(shí)現(xiàn)染色體交叉變異,最終達(dá)到種群進(jìn)化的目的。量子遺傳優(yōu)化算法流程如圖1所示。
圖1 量子遺傳優(yōu)化算法流程圖
由于梯度下降算法[19]具有使模型實(shí)現(xiàn)較快收斂、搜索到相對優(yōu)越的模型參數(shù)等優(yōu)點(diǎn),本文引入梯度下降法對雙流網(wǎng)絡(luò)進(jìn)行訓(xùn)練。但它也伴隨著容易使模型陷入局部最優(yōu)的缺點(diǎn),因此需要對梯度下降算法進(jìn)行改進(jìn)。先利用量子遺傳優(yōu)化算法搜索出多個最優(yōu)參數(shù)的可能出現(xiàn)區(qū)域,再利用梯度下降法從多個局部參數(shù)盆地中搜索出最小值以獲得最佳參數(shù)模型。
首先,隨機(jī)產(chǎn)生規(guī)模為n的一代種群,即初始卷積核。由于種群中每個個體的染色體由量子位表示,因此需要將量子態(tài)染色體轉(zhuǎn)化為二進(jìn)制串。構(gòu)造策略為:對于每個染色體的每個量子位,產(chǎn)生一個[0,1]的隨機(jī)數(shù)γ,若對應(yīng)位的αi的范數(shù)平方值大于γ,則該位取 1,否則取 0。該策略也稱為測量。
其次,評價種群中各個個體的適應(yīng)值。將編碼后的卷積核送入雙流網(wǎng)絡(luò)中,配合梯度下降法進(jìn)行訓(xùn)練,將雙流網(wǎng)絡(luò)每次訓(xùn)練得到的損失值的相反數(shù)作為對應(yīng)個體的適應(yīng)度。雙流網(wǎng)絡(luò)通過訓(xùn)練得到的損失函數(shù)值越小,種群適應(yīng)度函數(shù)越大,選取適應(yīng)度最大的個體作為種群最好個體,在進(jìn)行下一代進(jìn)化時,所有個體都朝著這個個體的方向進(jìn)化。
最后,對種群個體進(jìn)行交叉變異。進(jìn)行量子交叉實(shí)現(xiàn)種群個體更新,即相互配對的兩個染色體,在編碼串中隨機(jī)選取兩個交叉點(diǎn),然后兩者互換交叉點(diǎn)之間的部分,從而產(chǎn)生兩個新個體。當(dāng)交叉產(chǎn)生的最優(yōu)個體適應(yīng)度不再變化時,意味著算法早熟。通過比較當(dāng)前個體和最優(yōu)個體的染色體適應(yīng)度值,選擇量子旋轉(zhuǎn)的方向和角度,利用量子旋轉(zhuǎn)門進(jìn)行變異。如此迭代,直到適應(yīng)度值和網(wǎng)絡(luò)識別準(zhǔn)確率達(dá)到標(biāo)準(zhǔn),則停止迭代。
本實(shí)驗(yàn)構(gòu)建了礦工行為數(shù)據(jù)集,利用Kinect[20]設(shè)備對10個實(shí)驗(yàn)對象進(jìn)行動作采集,每個動作重復(fù)3次。數(shù)據(jù)集包含單人、人與物交互、人與人交互等50種礦工行為,其中交互行為20種,文件大小共1.5 GB,圖像大小為640 pixels×480 pixels。首先,對視頻幀隨機(jī)剪裁成大小為224 pixels×224 pixels的圖片,從原始視頻中提取出光流特征圖和單幀的RGB圖像,并為每個動作做標(biāo)簽。
在3種主流的識別網(wǎng)絡(luò)中,Two-Stream ConvNet和TSN的輸入均為從動作視頻中采樣的25個RGB幀和光流堆,而I3D是將RGB和光流分開訓(xùn)練的,對光流特征提取主要是盡量選擇前面的幀以保證光流幀的數(shù)目足夠多。對70%的視頻片段進(jìn)行訓(xùn)練,30%的視頻片段進(jìn)行測試,Two-Stream ConvNet在測試集上的識別準(zhǔn)確率為55.33%,TSN和I3D的識別準(zhǔn)確率分別為60.71%和71.97%。
圖2 交互行為對混淆矩陣
對比3種網(wǎng)絡(luò)識別準(zhǔn)確率可知,Two-Stream ConvNet識別率較低,I3D識別準(zhǔn)確率最好。這是由于Two-Stream ConvNet的網(wǎng)絡(luò)結(jié)構(gòu)較簡單,并且只隨機(jī)抽取了一幀視頻作為RGB特征圖。而TSN將視頻分成3段,每部分分別送入雙流網(wǎng)絡(luò)進(jìn)行識別,這樣處理有效提高了識別準(zhǔn)備率。I3D結(jié)構(gòu)最為復(fù)雜,并且采用3D卷積核代替2D卷積核,由于其網(wǎng)絡(luò)參數(shù)成倍增長,訓(xùn)練時間也最長。
為了分析雙流網(wǎng)絡(luò)對交互行為識別準(zhǔn)確率的影響,本文繪制了10種交互行為對混淆矩陣,如圖2所示。從圖2可以看出: 摘安全帽和戴安全帽的動作是兩個互逆的動作,無論是空間特征還是時間特征都有著極高的相似度,因此識別準(zhǔn)確率較低。涉及人與人交互的打斗行為識別準(zhǔn)確率較高,達(dá)到了83%。需要注意的是,本文運(yùn)用的模型可以對抽煙、喝酒、吃東西3個行為作出細(xì)節(jié)判斷,三者都有抬手動作,但雙流網(wǎng)絡(luò)可以捕獲除此之外的目標(biāo)信息并進(jìn)行分類,這是骨骼點(diǎn)識別做不到的。
本文設(shè)置種群規(guī)模為15,量子旋轉(zhuǎn)角大小為0.02π,對雙流網(wǎng)絡(luò)中的卷積核進(jìn)行量子編碼并訓(xùn)練,將每次訓(xùn)練得到的損失函數(shù)作為目標(biāo)函數(shù),共執(zhí)行20個進(jìn)化循環(huán)。以TSN為例,經(jīng)過20代后,各代準(zhǔn)確率、適應(yīng)度函數(shù)以及適應(yīng)度方差如表1所示。
表1 識別準(zhǔn)確率隨量子遺傳進(jìn)化代數(shù)的變化
由表1可以看出:在初始代時,最好個體的識別準(zhǔn)確率為57.79%,在進(jìn)化結(jié)束時,最好個體的識別準(zhǔn)確率提升為61.58%。個體平均識別準(zhǔn)確率隨著進(jìn)化的推進(jìn)逐步提高,平均損失值逐步下降,這表明種群中個體的識別準(zhǔn)確率普遍得到了提升。雖然進(jìn)化前期出現(xiàn)了識別準(zhǔn)確率波動的情況,但個體間損失值方差卻在逐步下降,說明種群整體得到進(jìn)化。
表2是量子遺傳算法參與雙流網(wǎng)絡(luò)前后識別準(zhǔn)確率對比結(jié)果。由表2可知:3種網(wǎng)絡(luò)在識別準(zhǔn)確率方面都得到了提升,其中對于Two-Stream ConvNet的影響較大。這是由于量子遺傳算法雖然能夠跳出局部最優(yōu)解,但在參數(shù)量較大時,全局搜索能力受到限制。即便如此,量子遺傳的優(yōu)化算法仍可以探索在梯度下降法搜索能力達(dá)到極限時的全局最優(yōu)解,使得網(wǎng)絡(luò)的分類能力得到提升。
表2 雙流網(wǎng)絡(luò)優(yōu)化前后識別準(zhǔn)確率對比表 %
圖3 量子遺傳算法優(yōu)化網(wǎng)絡(luò)前后損失值對比
圖3是在Two-Stream ConvNet網(wǎng)絡(luò)上應(yīng)用量子遺傳算法優(yōu)化前后的損失值對比結(jié)果。不采用量子遺傳優(yōu)化時,一代表示網(wǎng)絡(luò)完全訓(xùn)練一次。由圖3可知:不使用量子遺傳優(yōu)化時,測試集損失值呈現(xiàn)振蕩趨勢,通過反復(fù)訓(xùn)練網(wǎng)絡(luò),雖有下降但效果不明顯;優(yōu)化網(wǎng)絡(luò)后,測試集損失值偶有波動,但總體趨勢呈下降狀態(tài),到第20代時測試集損失值已下降到45.50%。
為論證所提方法的有效性,本文對比了基于骨骼點(diǎn)的礦工識別方法。對50種礦工行為進(jìn)行了基于骨骼點(diǎn)特征的識別驗(yàn)證,采用隨機(jī)森林的模型對關(guān)節(jié)點(diǎn)特征及骨骼點(diǎn)角度特征進(jìn)行行為分類。從多角度進(jìn)行了識別有效性的對比,結(jié)果如表3所示。其中,單行為識別耗時是指利用訓(xùn)練好的模型測試一個不經(jīng)特征提取的原始輸入所耗時間,以此來驗(yàn)證模型的實(shí)時性。
表3 雙流法與骨骼點(diǎn)構(gòu)建法識別對比表
由表3可以看出:基于骨骼點(diǎn)的行為識別方法比雙流法平均識別準(zhǔn)確率低了14.19%,這是由于數(shù)據(jù)集中存在大量相似動作,如喝酒、抽煙、喝水,骨骼點(diǎn)構(gòu)建法只能識別出抬手動作,無法做出細(xì)粒性識別。雙流法的準(zhǔn)確率方差較小,魯棒性較好,普適性強(qiáng),對動作識別的準(zhǔn)確差別較小。在單行為耗時方面,雙流法實(shí)現(xiàn)了端到端識別,無需自主提取特征即可得到識別結(jié)果,在實(shí)時性方面有較好的表現(xiàn)。而骨骼點(diǎn)構(gòu)建法需要手動提取骨骼點(diǎn)特征,再將特征送入網(wǎng)絡(luò)中,無法做到端到端,也無法達(dá)到實(shí)時識別的效果。
本文與國內(nèi)其他礦工行為識別的方法進(jìn)行了對比。為了增加實(shí)驗(yàn)的可對比性,實(shí)驗(yàn)均在本文構(gòu)建的數(shù)據(jù)集上進(jìn)行。由于目前國內(nèi)的礦工行為識別基本都是在小數(shù)據(jù)上進(jìn)行,沒有在像本文構(gòu)建的大數(shù)據(jù)集上試驗(yàn),因此本文分別對比了10種經(jīng)典動作和50種普遍動作的識別準(zhǔn)確率。10種經(jīng)典動作即走、坐、站、撿、提、扔、推、拉、攀爬、摘安全帽,50種普通動作即數(shù)據(jù)集的全部行為。表4是礦工行為識別方法的準(zhǔn)確率對比。
表4 礦工行為識別方法準(zhǔn)確率對比 %
由表4可以看出:基于骨骼點(diǎn)的行為識別[21-22]在小數(shù)據(jù)集上展現(xiàn)出優(yōu)勢,在區(qū)分度較大的數(shù)據(jù)集上識別準(zhǔn)確率較高,但在大數(shù)據(jù)集上不僅耗時(無法自主生成特征),而且識別準(zhǔn)確率很低。而基于圖像的行為識別在處理相似動作時細(xì)粒度較高,并且可以有監(jiān)督的自主學(xué)習(xí)特征,在大數(shù)據(jù)上識別準(zhǔn)確率下降相對低一些。而本文提出的基于量子遺傳優(yōu)化的雙流算法由于融合特征較多、網(wǎng)絡(luò)較深,在兩種數(shù)據(jù)集上都達(dá)到了最高的識別準(zhǔn)確率。
本文提出了一種改進(jìn)雙流算法的行為識別方法,可以自動學(xué)習(xí)礦工視頻數(shù)據(jù)集上的空間信息和時間信息并對行為進(jìn)行分類。該方法可以解決以往礦工行為識別方法中手動提取特征耗時,背景識別不敏感等問題。從原始視頻中提取RGB特征和光流特征,再分別送入時域網(wǎng)絡(luò)和空域網(wǎng)絡(luò),實(shí)現(xiàn)網(wǎng)絡(luò)自主學(xué)習(xí)和行為分類。為了提高模型的準(zhǔn)確率,采用量子遺傳尋優(yōu)的方法尋找參數(shù)的全局最優(yōu)解。通過對自建的礦工數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)以及和其他礦工行為識別方法進(jìn)行對比,驗(yàn)證了基于量子遺傳算法優(yōu)化的雙流網(wǎng)絡(luò)在識別礦工行為方面的有效性。