劉庭煜,陸 增,孫毅鋒,劉 芳,何必秒,鐘 杰
(1.南京理工大學(xué) 機(jī)械工程學(xué)院,江蘇 南京 210094;2.北京航天新風(fēng)機(jī)械設(shè)備有限責(zé)任公司,北京 100854)
隨著信息技術(shù)和制造技術(shù)的發(fā)展,智能制造已經(jīng)成為制造模式轉(zhuǎn)型與升級的必然趨勢。在智能制造模式下,生產(chǎn)車間的工人數(shù)量不斷減少,然而即使在自動(dòng)化程度極高的汽車生產(chǎn)制造領(lǐng)域,仍然有20%的工作由工人參與完成[1]。工業(yè)機(jī)器人或者其他生產(chǎn)要素通常在安裝完畢后便具有相對獨(dú)立的活動(dòng)空間和工作區(qū)域,但現(xiàn)場工人的活動(dòng)范圍往往遍布整個(gè)生產(chǎn)區(qū)域,并不局限于其所在的工位。鑒于此,作為生產(chǎn)管理的重要元素,人員具有極強(qiáng)的不可替代性和不確定性,是生產(chǎn)過程的重點(diǎn)監(jiān)管對象之一。因此產(chǎn)品生產(chǎn)制造過程中的人員行為管理將成為長期研究的熱點(diǎn)[2-3]。然而由于工人活動(dòng)的多樣性和不確定性,生產(chǎn)車間人員行為管理已經(jīng)成為整個(gè)生產(chǎn)管理中的重要內(nèi)容。
使用科學(xué)有效的方法對工人的行為進(jìn)行記錄、理解和分析,一直是生產(chǎn)管理的重要研究方向。科學(xué)管理之父和工業(yè)工程之父泰勒(Taylor.F.w,1856-1915)通過使用相機(jī)記錄并量化計(jì)算工人的勞動(dòng)行為和勞動(dòng)時(shí)間,制定了標(biāo)準(zhǔn)操作方法和時(shí)間定額,開創(chuàng)了分析生產(chǎn)動(dòng)作的先河。隨后,吉爾布雷思夫婦改進(jìn)了泰勒的工作研究并發(fā)明了“動(dòng)素”的概念,他們將人的生產(chǎn)動(dòng)作歸納成17個(gè)動(dòng)素,通過分析每一個(gè)作業(yè)需要的時(shí)間對動(dòng)作進(jìn)行分解和定量研究[4]。時(shí)至今日,人員行為管理已歷經(jīng)百年發(fā)展,但由于人員行為的高度時(shí)效性和不確定性,有效的管理手段仍然是用攝像機(jī)記錄人員行為,并指定專人目視監(jiān)控。然而,生產(chǎn)車間通常范圍較廣,某些復(fù)雜機(jī)電產(chǎn)品的關(guān)鍵生產(chǎn)工位較多,同時(shí)對大量監(jiān)控圖像進(jìn)行實(shí)時(shí)觀察令監(jiān)控人員應(yīng)接不暇,難以全局全時(shí)高效管控。以項(xiàng)目合作單位為例,為防止在某火工品裝配過程中發(fā)生暴力敲打或使用通訊設(shè)備等違規(guī)行為,避免安全事故,在多個(gè)大型裝配車間部署了一百多個(gè)高清防爆攝像頭,但是1個(gè)專職監(jiān)控人員通常只能監(jiān)控10個(gè)畫面,無法處理大量攝像機(jī)產(chǎn)生的海量視頻數(shù)據(jù)。因此,該系統(tǒng)難以進(jìn)行全面實(shí)時(shí)監(jiān)控,只可用于事后追責(zé)。
近年來,借助計(jì)算機(jī)強(qiáng)大的數(shù)據(jù)分析和數(shù)字圖像處理技術(shù),生產(chǎn)車間的人員行為觀測逐漸由人員主動(dòng)觀測和識(shí)別向基于計(jì)算機(jī)視覺的智能人員行為識(shí)別轉(zhuǎn)變[5-7]。早期研究主要通過光流法或隱馬爾可夫模型選定圖片中的特征點(diǎn)[8-10]來識(shí)別人員行為,也有研究[3]基于深度學(xué)習(xí)算法識(shí)別RGB圖片來判斷車間生產(chǎn)單元的工人行為,輔助控制工業(yè)機(jī)器人協(xié)助工人作業(yè),提高生產(chǎn)效率。然而上述方法主要是基于常規(guī)的二維RGB圖像識(shí)別算法,計(jì)算機(jī)在處理平面圖像中人員的關(guān)節(jié)或軀干時(shí)極易出錯(cuò),識(shí)別效率和效果較差。
隨著Kinect等低成本深度視覺傳感器的商用化,可以大量布置深度傳感器來獲取生產(chǎn)現(xiàn)場三維點(diǎn)云數(shù)據(jù),并通過實(shí)時(shí)高效分割人體軀干和關(guān)節(jié)獲取人員骨架姿態(tài)的結(jié)構(gòu)化數(shù)據(jù),使得人員行為識(shí)別領(lǐng)域取得了長足進(jìn)步[11-16]。Rude等[1]基于Kinect采集自然狀態(tài)下的車間工人行為,利用半監(jiān)督學(xué)習(xí)算法對工人行為進(jìn)行分類,可以較為準(zhǔn)確地識(shí)別工人行為,將該方法應(yīng)用于生產(chǎn)線節(jié)拍平衡可以使生產(chǎn)高效穩(wěn)定。
基于深度視覺的人體行為識(shí)別的本質(zhì)是對不定長的人員姿態(tài)序列進(jìn)行識(shí)別和分類,目前多采用基于隱馬爾可夫模型(Hidden Markov Model, HMM)或循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks, RNN)的算法[5,11,13,15]構(gòu)建基于時(shí)間序列的動(dòng)態(tài)模型。在RNN模型中,由于前層梯度來自于后層梯度的乘積,隨著模型深度的增加會(huì)產(chǎn)生梯度消失或者梯度爆炸,導(dǎo)致模型不穩(wěn)定。為避免此類問題,國內(nèi)外一些學(xué)者提出將時(shí)序的人員行為轉(zhuǎn)換為行為特征圖像的方法[6-7],從容將基于時(shí)序的人員行為識(shí)別問題轉(zhuǎn)換為圖像識(shí)別問題,利用圖像識(shí)別算法對時(shí)序行為特征圖像進(jìn)行特征提取,進(jìn)而實(shí)現(xiàn)基于時(shí)序特征的人員行為識(shí)別。Ke等[6]利用人體主要關(guān)節(jié)點(diǎn)之間的距離構(gòu)造灰度圖片,通過遷移學(xué)習(xí)的方式微調(diào)VGG19圖像識(shí)別網(wǎng)絡(luò)對構(gòu)造的灰度圖片進(jìn)行識(shí)別,得到了良好的效果;Du等[7]將每個(gè)關(guān)節(jié)點(diǎn)x,y,z3個(gè)坐標(biāo)軸的坐標(biāo)值分別置于彩色圖片的RGB 3個(gè)通道中,通過建立卷積神經(jīng)網(wǎng)絡(luò)對圖片進(jìn)行識(shí)別來識(shí)別人員行為。
針對車間生產(chǎn)行為識(shí)別問題,本文基于三維骨架的行為特征和基于卷積神經(jīng)網(wǎng)絡(luò)的RGB圖像識(shí)別方法結(jié)合,提出一種基于三維深度卷積神經(jīng)網(wǎng)絡(luò)(3D-Deep Convolutional Neural Network, 3D-DCNN)的人體行為識(shí)別方法,對人員行為進(jìn)行時(shí)間序列像素化并構(gòu)造人員行為時(shí)空特征RGB圖像,在此基礎(chǔ)上訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò),通過對構(gòu)造的人員行為特征圖像進(jìn)行識(shí)別和分類來有效識(shí)別人員行為。
在生產(chǎn)作業(yè)車間尤其是一些易燃易爆危險(xiǎn)產(chǎn)品的生產(chǎn)裝配車間中,為了保證安全生產(chǎn),需要對生產(chǎn)過程中的人員行為進(jìn)行管控。在這些危險(xiǎn)品的生產(chǎn)裝配過程中,雖然工人的行為都有一套嚴(yán)格的生產(chǎn)行為規(guī)范,但是仍有部分員工無法按照制定的工藝流程標(biāo)準(zhǔn)操作規(guī)范進(jìn)行操作,其中不乏一些具有多年生產(chǎn)經(jīng)驗(yàn)的老員工。為了減少乃至杜絕由此造成的生產(chǎn)安全事故,本文根據(jù)生產(chǎn)現(xiàn)場情況設(shè)計(jì)了一套能夠?qū)ξkU(xiǎn)火工品車間中的人員行為進(jìn)行識(shí)別的方案,以此對車間人員的生產(chǎn)行為進(jìn)行智能監(jiān)控。圖1所示為該系統(tǒng)的總體設(shè)計(jì)方案。
由圖1可知,本文對人員生產(chǎn)行為的識(shí)別過程由行為數(shù)據(jù)獲取、行為數(shù)據(jù)預(yù)處理、識(shí)別模型構(gòu)建和行為識(shí)別與評估4部分組成。
(1)行為數(shù)據(jù)獲取 鑒于骨架序列模型能夠簡潔明了地表達(dá)人體的運(yùn)動(dòng)和行為,本文將基于骨架序列模型獲取人體行為數(shù)據(jù),并對其進(jìn)行預(yù)處理和行為識(shí)別。文中涉及的行為數(shù)據(jù)有兩個(gè)來源:①M(fèi)SR-Action3D公開行為數(shù)據(jù)集,該數(shù)據(jù)集使用KinectV1采集20種人體基本行為,其中骨架序列由人體20個(gè)關(guān)節(jié)點(diǎn)的坐標(biāo)信息構(gòu)成;②自建生產(chǎn)行為數(shù)據(jù)集NJUST3D,該數(shù)據(jù)集基于火工品生產(chǎn)過程常見行為構(gòu)建的行為數(shù)據(jù)集,該數(shù)據(jù)集使用KinectV2采集18種生產(chǎn)行為,其中骨架序列由人體的25個(gè)關(guān)節(jié)點(diǎn)的坐標(biāo)信息構(gòu)成。
(2)行為數(shù)據(jù)預(yù)處理 采集到的人體骨架序列原始數(shù)據(jù)與理想行為數(shù)據(jù)之間存在較大偏差,這些偏差主要由KinectV2對人體關(guān)節(jié)的識(shí)別精準(zhǔn)度和數(shù)據(jù)采集過程中實(shí)驗(yàn)人員的體態(tài)、距離等多方面原因造成。為此,本文設(shè)計(jì)一套人體行為數(shù)據(jù)預(yù)處理方法,對人體的骨架序列進(jìn)行標(biāo)準(zhǔn)化預(yù)處理,將各個(gè)狀態(tài)下的人員行為數(shù)據(jù)統(tǒng)一到相同標(biāo)準(zhǔn)中,消除了由個(gè)體差異導(dǎo)致的識(shí)別誤差。
(3)識(shí)別模型構(gòu)建 基于標(biāo)準(zhǔn)化后的人體骨架姿態(tài)數(shù)據(jù)構(gòu)建人員行為時(shí)空特征RGB圖像,藉此構(gòu)建深度卷積神經(jīng)網(wǎng)絡(luò),對人員行為特征進(jìn)行識(shí)別和分類。
(4)行為識(shí)別與評估 本文分別使用MSR-Action3D行為數(shù)據(jù)集和NJUST3D數(shù)據(jù)集對上述方法進(jìn)行實(shí)驗(yàn)驗(yàn)證,并基于實(shí)驗(yàn)結(jié)果進(jìn)一步分析行為數(shù)據(jù)模型,提出目前存在的問題和需要改進(jìn)的方向。
本文以KinectV2深度傳感器作為數(shù)據(jù)采集設(shè)備,配合Kinect for Windows SDK提供的應(yīng)用程序接口(Application Programming Interface, API),實(shí)時(shí)獲取檢測區(qū)域的人員骨架關(guān)節(jié)位置信息。然而,由于Kinectv2設(shè)備的識(shí)別準(zhǔn)確率和工人個(gè)體差異等原因,導(dǎo)致這些未經(jīng)處理的行為數(shù)據(jù)存在異常,包括將環(huán)境中的物品(機(jī)床、工作臺(tái)等)識(shí)別成車間工人,或者因工人的體態(tài)差異而產(chǎn)生不同的行為識(shí)別結(jié)果,因此需要對采集到的行為數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化預(yù)處理。鑒于人體骨架為一剛性的鉸鏈結(jié)構(gòu),其骨架長度不變,本文通過骨架關(guān)節(jié)向量重構(gòu)的方式對人體骨架信息進(jìn)行標(biāo)準(zhǔn)化處理,剔除行為數(shù)據(jù)中的異常值,消除因個(gè)體之間差異導(dǎo)致識(shí)別異常,保證最終模型的輸入為相對標(biāo)準(zhǔn)的行為數(shù)據(jù)。
KinectV2獲取的數(shù)據(jù)為人體骨架關(guān)節(jié)數(shù)據(jù),共包括25個(gè)關(guān)節(jié)位置坐標(biāo),如圖2所示。每個(gè)關(guān)節(jié)及其對應(yīng)關(guān)系如表1所示。
表1 關(guān)節(jié)標(biāo)號對照表
使用三維骨架數(shù)據(jù)對人體行為進(jìn)行數(shù)字化表示,其本質(zhì)是提取圖片中人員骨架關(guān)節(jié)點(diǎn)的位置信息來描述人員行為。通過Kinectv2深度傳感器及其開發(fā)工具包能夠自動(dòng)捕獲人體25個(gè)關(guān)節(jié)點(diǎn)的三維坐標(biāo),本文用這25個(gè)關(guān)節(jié)點(diǎn)的三維坐標(biāo)構(gòu)造75維向量,作為單幀圖片中行為的特征向量。用frameData表示該特征向量,
frameData={x1,y1,z1,…,x25,y25,z25}。
式中x1,y1,z1,…,x25,y25,z25分別為人體25個(gè)關(guān)節(jié)的位置坐標(biāo),遵循笛卡爾直角坐標(biāo)系,坐標(biāo)軸以Kinect為坐標(biāo)原點(diǎn),X軸為水平坐標(biāo)軸,Y軸垂直向上,Z軸為深度攝像頭的紅外光軸方向。
通常僅依靠單幀圖片對人體行為進(jìn)行描述會(huì)遺漏許多重要的信息,而使用由多幀圖片構(gòu)成的連續(xù)動(dòng)作來描述人體行為則會(huì)更加可靠。因此,本文將多個(gè)單幀的行為特征向量frameData按照時(shí)間先后進(jìn)行組合,構(gòu)造了用來表示連續(xù)動(dòng)作的人體行為特征向量actionData:
式中m為一組行為包含的圖片幀數(shù)。
使用Kinect獲取到人員骨架的關(guān)節(jié)原始數(shù)據(jù)后,需要剔除行為數(shù)據(jù)中的異常值。本文采用Kinect設(shè)備內(nèi)置的人體關(guān)節(jié)識(shí)別算法提取骨架關(guān)節(jié)位置數(shù)據(jù),使用過程中發(fā)現(xiàn)該算法的準(zhǔn)確性不夠,經(jīng)分析,所采集的人員骨架關(guān)節(jié)位置信息主要存在以下兩個(gè)問題:
(1)人員識(shí)別準(zhǔn)確率不高,在采用Kinect進(jìn)行人員行為檢測時(shí),可能會(huì)將周邊的物體(如桌子、椅子等)錯(cuò)誤識(shí)別成工人。鑒于周邊物體相對靜止不動(dòng)的特征,若發(fā)現(xiàn)識(shí)別后的行為數(shù)據(jù)始終保持不變,則將其當(dāng)作誤檢數(shù)據(jù)進(jìn)行剔除。
(2)由于檢測距離、方向等原因?qū)е翶inect設(shè)備對人員骨架關(guān)節(jié)位置進(jìn)行檢測時(shí)出現(xiàn)錯(cuò)亂,主要表現(xiàn)為局部錯(cuò)亂和整體錯(cuò)亂。局部錯(cuò)亂(如圖3a)指身體的某些部位突然變長或變短,導(dǎo)致身體比例不協(xié)調(diào),會(huì)對人員特征提取產(chǎn)生較大影響;整體錯(cuò)亂(如圖3b)指整體骨架關(guān)節(jié)位置整體識(shí)別錯(cuò)亂,導(dǎo)致無法識(shí)別出人員各個(gè)關(guān)節(jié)的位置。對于人員的局部錯(cuò)亂,采用骨骼位置向量重構(gòu)的方法,在對骨骼關(guān)節(jié)位置進(jìn)行標(biāo)準(zhǔn)化的同時(shí)重構(gòu)所有重要關(guān)節(jié)點(diǎn)的位置,得到一個(gè)統(tǒng)一的方向向量;對于整體錯(cuò)亂的骨骼關(guān)節(jié),則通過計(jì)算重要的關(guān)節(jié)長度來設(shè)置檢測閾值(例如膝蓋到腳踝的正常距離為40 cm,設(shè)置閾值上限為60 cm,若超過該長度則將其作為異常值剔除)來排除明顯的異常值。
人體骨架可以看作為一個(gè)剛性的鉸鏈結(jié)構(gòu),其骨架長度在人員活動(dòng)過程中保持不變,可以用兩點(diǎn)之間的歐式距離lenthi_j表示人員兩個(gè)關(guān)節(jié)點(diǎn)之間的長度,
i,j∈[1,25]。
(1)
式中i和j表示關(guān)節(jié)點(diǎn)的標(biāo)號,若標(biāo)號為某一骨骼的兩端,則表示骨骼的長度(lenth18_19表示左邊小腿的長度),否則表示兩關(guān)節(jié)點(diǎn)的距離(lenth2_10表示右肘到脊柱的距離)。
在正常行為中,人員左右半肢的臂長和腿長信息均為對稱,若深度攝像頭誤將機(jī)床等信息識(shí)別為人員,則異常骨架關(guān)節(jié)信息的骨架長度大多不對稱。此處將計(jì)算人員的左、右半肢長度的比例,通過設(shè)定正常值閾值剔除錯(cuò)誤的人員骨架信息。
(2)
D值是衡量左右長度比例的一組指標(biāo),若D值大于所設(shè)定的閾值,則該幀骨架關(guān)節(jié)信息為異常信息,可以剔除該幀信息。
2.3.1 提取標(biāo)準(zhǔn)骨架數(shù)據(jù)
深度攝像頭采集到的每一幀工人的行為數(shù)據(jù)均由25個(gè)關(guān)節(jié)點(diǎn)的位置數(shù)據(jù)組成。由于個(gè)體之間存在差異(高矮、胖瘦等),骨架關(guān)節(jié)數(shù)據(jù)可能不統(tǒng)一,這種差異在識(shí)別過程中被看做為噪音。此處對骨架關(guān)節(jié)位置數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,將不同身高體態(tài)的人員數(shù)據(jù)轉(zhuǎn)化為統(tǒng)一的標(biāo)準(zhǔn)下的數(shù)據(jù),進(jìn)而保證行為識(shí)別過程中的數(shù)據(jù)穩(wěn)定可靠。
本文數(shù)據(jù)標(biāo)準(zhǔn)化參考的標(biāo)準(zhǔn)是國標(biāo)中的中國成年人人體尺寸(GB 10000-88),該標(biāo)準(zhǔn)分區(qū)統(tǒng)計(jì)我國不同地域人體主要尺寸,這里采用18~60歲50分位人體尺寸作為衡量標(biāo)準(zhǔn),如表2所示。
表2 人體部分關(guān)節(jié)長度標(biāo)準(zhǔn)尺寸 mm
通過該標(biāo)準(zhǔn)尺寸長度對采集到的人員關(guān)節(jié)長度數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,從而將所有人員尺寸化歸到統(tǒng)一長度,消除不同身高體態(tài)對人員行為識(shí)別產(chǎn)生的影響。鑒于Kinect深度傳感器在數(shù)據(jù)采集過程中對人員手指等身體細(xì)微部分的API較少,而且這些部位的識(shí)別準(zhǔn)確率較差,會(huì)存在較大誤差,為了保證算法對人員整體行為識(shí)別的準(zhǔn)確性,本文不對人員手指等細(xì)微關(guān)節(jié)進(jìn)行標(biāo)準(zhǔn)化。
2.3.2 提取骨架方向向量
在25個(gè)骨架關(guān)節(jié)位置中,每兩個(gè)關(guān)節(jié)點(diǎn)構(gòu)成一個(gè)方向向量,用sta_di_j表示該方向的單位向量,
i,j∈[1,25]。
(3)
通過長度和方向向量計(jì)算對應(yīng)關(guān)節(jié)點(diǎn)的方向向量
(4)
2.3.3 坐標(biāo)變換
人體骨架信息的初始坐標(biāo)系建立在以Kinect為坐標(biāo)原點(diǎn)的攝像機(jī)坐標(biāo)系,在數(shù)據(jù)采集過程中,人員并非始終正對傳感器,因此采集的行為數(shù)據(jù)與深度傳感器之間存在一定的角度偏差。為了消除此類偏差對人員行為數(shù)據(jù)采集造成的影響,以便后期圖像數(shù)據(jù)處理,需要對該原始坐標(biāo)系進(jìn)行坐標(biāo)變換,構(gòu)成以人的臀中部(關(guān)節(jié)1的位置)為坐標(biāo)原點(diǎn),以人體正面為Z軸、Y軸垂直向上、X軸遵循笛卡爾坐標(biāo)系的人體三維坐標(biāo)。坐標(biāo)變換如下:
(1)坐標(biāo)系平移
(5)
(2)坐標(biāo)旋轉(zhuǎn)
(6)
式中x5,x9和z5,z9分別為左肩和右肩關(guān)節(jié)的坐標(biāo)值。以人體右肩到左肩的方向向量作為新坐標(biāo)系的X軸,求得坐標(biāo)變換后的X軸和Z軸坐標(biāo)值,進(jìn)而得到坐標(biāo)變換后的坐標(biāo)值
(7)
至此,經(jīng)過剔除異常值、數(shù)據(jù)標(biāo)準(zhǔn)化、坐標(biāo)變換和骨架關(guān)節(jié)向量重構(gòu),得到一組比較標(biāo)準(zhǔn)的行為數(shù)據(jù)。
圖4a所示為工人在攝像頭坐標(biāo)系下的骨架位置坐標(biāo),經(jīng)過標(biāo)準(zhǔn)化和坐標(biāo)變換后,變?yōu)閳D4b所示的坐標(biāo)。相比可見,預(yù)處理后主要有以下變換:
(1)坐標(biāo)原點(diǎn)圖4a中坐標(biāo)原點(diǎn)位于攝像機(jī)處,經(jīng)過坐標(biāo)變換后,坐標(biāo)原點(diǎn)位于人的臀中部。
(2)人體骨骼長度對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化后,人體骨骼的長度發(fā)生了變化。通過向量重構(gòu)將人體骨骼變換為統(tǒng)一大小,進(jìn)而將圖4b變換為標(biāo)準(zhǔn)尺寸的人體骨架信息。
(3)坐標(biāo)方向圖4a中的人側(cè)對著攝像機(jī),繪制的骨架圖為一個(gè)側(cè)面。鑒于采集到的為三維骨骼信息,可以通過坐標(biāo)變換繪制出圖4b,X軸的方向?yàn)閮杉邕B線的方向,并且正方向是由右肩指向左肩。
將人體骨架序列的行為數(shù)據(jù)轉(zhuǎn)化為一張行為特征圖像時(shí),最重要的是在數(shù)據(jù)轉(zhuǎn)化過程中要保留相應(yīng)的數(shù)據(jù)特征不變。由2.3節(jié)可知,指定的單幀數(shù)據(jù)經(jīng)過標(biāo)準(zhǔn)化預(yù)處理后,人員行為的骨架關(guān)節(jié)表示為
在實(shí)際生產(chǎn)過程中,對一種行為的描述需要多幀行為數(shù)據(jù),此時(shí)用actionData″表示一組連續(xù)的骨架序列行為數(shù)據(jù),
(1)人體骨架分組
人體的四肢和軀干在運(yùn)動(dòng)過程中的動(dòng)作不同,分別識(shí)別各部分行為后再進(jìn)行綜合,能夠獲得更好的識(shí)別效果[11]。因此,將人體骨架按照左上肢、左下肢、右上肢、右下肢、頭部和腹部分為6部分,如圖5所示。
(2)行為圖像構(gòu)造
骨架序列圖像化的本質(zhì),就是將actionData″用圖片的形式表示,處理過程如圖6所示。
圖6中,在獲得人員的RGB和深度圖像信息后,通過Kinect套件內(nèi)部的深度學(xué)習(xí)算法獲取人體25個(gè)主要骨架關(guān)節(jié)信息和骨架位置坐標(biāo)。圖中Dataframe為25個(gè)關(guān)節(jié)位置坐標(biāo)的向量表示。對于連續(xù)幀數(shù)為m的行為序列,分別提取Dataframe中的x,y,z分量作為轉(zhuǎn)換后圖形中的R,G,B 3個(gè)通道像素點(diǎn)的值,即:
式中Ri,Gi,Bi分別為第i幀骨架關(guān)節(jié)位置信息25個(gè)關(guān)節(jié)點(diǎn)位置的x,y,z軸坐標(biāo)集合。不定長的連續(xù)幀行為序列像素點(diǎn)組合能夠構(gòu)造一個(gè)行為特征圖片。
(3)圖像數(shù)據(jù)歸一化
對數(shù)據(jù)進(jìn)行RGB圖像合成后,由于每組行為拍攝的角度和距離不同,各圖片之間存在一定差異,為了減小這種差異對圖像的影響,通過歸一化將與其對應(yīng)的數(shù)據(jù)變換到0~1之間,同時(shí)為了更為直觀地展示圖像的效果,將處理后的圖像進(jìn)一步擴(kuò)展到0~255之間,即
(8)
式中:px為單一通道單一像素點(diǎn)的數(shù)值;pmin,pmax分別為該通道下訓(xùn)練集的最小值和最大值。經(jīng)過處理得到歸一化后的像素值,為了便于后續(xù)模型訓(xùn)練,將圖像調(diào)整為統(tǒng)一大小60×60。圖7所示為圖像化效果圖的樣例。
識(shí)別生產(chǎn)車間人員行為的本質(zhì)在于提取人員行為特征并進(jìn)行分類,上文通過圖像構(gòu)造的方式將基于時(shí)序的三維骨架序列行為識(shí)別問題轉(zhuǎn)化為圖像識(shí)別問題。
在基于三維骨架信息的行為識(shí)別過程中,所識(shí)別的主要特征為每個(gè)時(shí)間間隔中的人員行為狀態(tài)。CNN圖像濾波器是一個(gè)分層自適應(yīng)二維濾波器體系結(jié)構(gòu),其將處理后的圖片信息的時(shí)序特征和行為特征壓縮在一張圖片中,圖片的水平方向是行為在時(shí)間軸上的特征,垂直方向是圖片在不同骨架關(guān)節(jié)的動(dòng)作特征,根據(jù)這兩個(gè)特征建立模型。
在文獻(xiàn)[12]的基礎(chǔ)上建立行為識(shí)別模型,如圖8所示。該模型包括4個(gè)級聯(lián)卷積網(wǎng)絡(luò),卷積核均為3×3,卷積過程中的所有步長均設(shè)置為1,卷積過程公式為
(9)
式中:x為卷積網(wǎng)絡(luò)的輸入;ω為核函數(shù);輸出s(t)為特征映射,是下一個(gè)神經(jīng)網(wǎng)絡(luò)的輸入。
在前3個(gè)濾波器組中添加最大池化層,即選取相臨矩形區(qū)域內(nèi)的最大值作為下一個(gè)網(wǎng)絡(luò)的輸入,以減小原始動(dòng)作因頻率在不同尺度上發(fā)生變化而對識(shí)別結(jié)果產(chǎn)生的影響。
最后在識(shí)別的末端添加兩個(gè)全連接層,第一個(gè)全連接層由128個(gè)神經(jīng)元組成,第二個(gè)全連接層的數(shù)量由行為的識(shí)別數(shù)決定。
在訓(xùn)練過程中,相比于激活函數(shù)單元tanh,激活函數(shù)單元使用ReLU的模型速度更快。激活函數(shù)單元ReLU的函數(shù)表達(dá)式為
f(x)=max(0,x)。
(10)
若輸入x≤0,則函數(shù)輸出為0,否則函數(shù)輸出為其本身。該特性大大減少了函數(shù)計(jì)算量,減少了參數(shù)間的相互依賴性,可以緩解過擬合現(xiàn)象。
損失函數(shù)使用的是多類對數(shù)損失函數(shù)如式(11)所示,在使用該函數(shù)時(shí),需將標(biāo)簽轉(zhuǎn)化為二值序列。
(11)
式中:M為訓(xùn)練集T中的樣本數(shù)量;A為識(shí)別行為的類別數(shù)量;δ為克羅內(nèi)克函數(shù);p(Ai|xm)表示樣本xm屬于行為Ai的概率。該損失函數(shù)用于評估分類器的概率輸出,通過對懲罰錯(cuò)誤進(jìn)行分類實(shí)現(xiàn)分類器對準(zhǔn)確度的量化。
在模型訓(xùn)練過程中,為了提高收斂速度,采用去均值的方法去除圖片的均值。在所有圖片中,分別從4個(gè)角和中間提取5張圖片,圖像尺寸為52×52,因?yàn)楣羌艿臅r(shí)間序列通過圖像的先后順序體現(xiàn),所以利用圖像在水平方向的翻轉(zhuǎn)來增強(qiáng)圖像。最后通過對5張圖片進(jìn)投票決定圖像的識(shí)別結(jié)果,如果出現(xiàn)5個(gè)不同的結(jié)果,則最終結(jié)果為第一張圖片所代表的識(shí)別結(jié)果,若5張圖片中各有兩張的識(shí)別結(jié)果相同,則最終結(jié)果為第一組圖片所代表的識(shí)別結(jié)果。
本文實(shí)驗(yàn)硬件環(huán)境為戴爾T7920工作站,配置為CPU Intel(R)Xeon E5-2640 v4(10核心),內(nèi)存容量為64GBECC,操作系統(tǒng)為LinuxUbuntu 16.04,程序環(huán)境為Python3.6,在NVIDIAGTX1080Ti和NVIDIACUDA Toolkit GPU加速環(huán)境下開展實(shí)驗(yàn)驗(yàn)證。為了驗(yàn)證算法的準(zhǔn)確性和可靠性,本文分別在微軟的MSR-Action3D[14]和獨(dú)立采集的車間工人行為數(shù)據(jù)集NJUST3D上進(jìn)行相關(guān)測試和驗(yàn)證。
MSR-Action3D是最早基于深度視覺和三維骨架信息展開行為分析研究的數(shù)據(jù)集之一,其基礎(chǔ)數(shù)據(jù)集提供了由RGBD攝像頭采集到的深度圖片和骨架序列圖片,其中深度圖像的分辨率為320×240。該數(shù)據(jù)集包括20個(gè)基本行為,由10名實(shí)驗(yàn)人員面對攝像機(jī),將每組行為重復(fù)2~3次,從而采集到人員的行為數(shù)據(jù)。MSR-Action3D行為數(shù)據(jù)集樣本由深度圖片序列組成,同時(shí)該數(shù)據(jù)集還給出了一組基于這20個(gè)關(guān)節(jié)點(diǎn)的三維位置坐標(biāo)。樣本的行為包括揮手(抬手)、揮手(水平)、敲打、伸手抓、前沖、高拋、畫叉、畫勾、畫圓、擊掌、揮雙手、側(cè)拳、彎腰、前踢、側(cè)踢、慢跑、網(wǎng)球揮桿、網(wǎng)球發(fā)球、高爾夫揮桿、接球/投擲共20種游戲行為,如圖9所示。
為了驗(yàn)證算法的可靠性以及在不同數(shù)據(jù)集上的運(yùn)用效果,本文使用MSR-Action3D數(shù)據(jù)集對行為識(shí)別模型進(jìn)行訓(xùn)練。在訓(xùn)練過程中,為了能與前人的實(shí)驗(yàn)結(jié)果進(jìn)行對比,本文采用文獻(xiàn)[15]的相關(guān)參數(shù)將行為劃分為3類,各分類的詳細(xì)行為如表3所示。將3類行為數(shù)據(jù)分別輸入神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,對測試結(jié)果取均值,獲得3D-DCNN算法下該數(shù)據(jù)集的行為識(shí)別準(zhǔn)確率。
表3 MSR-Action3D行為分類表
續(xù)表3
在模型的訓(xùn)練過程中,需要對數(shù)據(jù)集進(jìn)行訓(xùn)練集和測試集分類。本文將MSR-Action3D數(shù)據(jù)集中的1/2作為訓(xùn)練集,1/2作為測試集,通過實(shí)驗(yàn)對比現(xiàn)有算法[14-16]和本文3D-DCNN算法。表4所示為上述幾種方法的準(zhǔn)確率在MSR-Action3D數(shù)據(jù)集上的表現(xiàn)??梢?,本文算法明顯優(yōu)于文獻(xiàn)[14,16]算法;算法[15]在處理ASR1,ASR2這類簡單行為時(shí)準(zhǔn)確率略優(yōu),但在處理相對復(fù)雜的ASR3數(shù)據(jù)集上的準(zhǔn)確率出現(xiàn)大幅下降,因此綜合準(zhǔn)確率低于本文方法。如表4所示,通過模型訓(xùn)練得到MSR-Action3D數(shù)據(jù)集在該方法下的綜合準(zhǔn)確率為84.27%,相比現(xiàn)有算法[14-16],該方法的行為識(shí)別準(zhǔn)確率有一定提升。
表4 MSR-Action3D數(shù)據(jù)集行為識(shí)別算法對比 %
續(xù)表4
從識(shí)別結(jié)果的混淆矩陣(如圖10)和各行為識(shí)別的準(zhǔn)確率(如圖11)來看,在該行為識(shí)別模型下,絕大多數(shù)行為的識(shí)別準(zhǔn)確率都能達(dá)到80%以上,部分行為的識(shí)別準(zhǔn)確率仍然較低。行為類別1(AS1)和行為類別3(AS3)的8組行為的識(shí)別準(zhǔn)確率分別達(dá)到86.45%和84.27%,處于較高水平;行為類別2(AS2)行為的識(shí)別準(zhǔn)確率只有77.91%,與本次實(shí)驗(yàn)的平均值有一定差距。行為類別2(AS2)行為包括高處揮手、伸手抓物、畫叉、畫勾、畫圈、揮雙手、前踢和側(cè)踢8種行為。
由混淆矩陣可以看出,8種難以識(shí)別的行為包括伸手抓物、畫勾和畫叉3種行為,均為手臂運(yùn)動(dòng),主要特征為大臂帶動(dòng)小臂。在骨架關(guān)節(jié)位置信息圖像化構(gòu)造過程中,這幾類行為的差異僅在手腕關(guān)節(jié),因此存在對此類行為識(shí)別的準(zhǔn)確率較低的問題。
為在實(shí)際生產(chǎn)過程中驗(yàn)證本文方法,對生產(chǎn)行為進(jìn)行模擬和數(shù)據(jù)采集。結(jié)合吉爾布雷斯動(dòng)作分析方法,將生產(chǎn)車間中的人員行為分為前期準(zhǔn)備行為、生產(chǎn)行為、違規(guī)行為和其他行為4類(如圖12),每一類下還有若干小類,共模擬了18種生產(chǎn)車間中常見的人員行為,在實(shí)驗(yàn)室中模擬并采集了部分常見生產(chǎn)行為形成NJUST3D數(shù)據(jù)集。
如圖12所示,將NJUST3D生產(chǎn)行為數(shù)據(jù)集行為進(jìn)行如下分組:
(1)前期準(zhǔn)備行為與普通產(chǎn)品的生產(chǎn)裝配不同,火工品在受外界刺激后容易燃燒或爆炸,這類車間對進(jìn)入生產(chǎn)區(qū)域中的人員有更嚴(yán)格的要求,工作人員進(jìn)入生產(chǎn)區(qū)域后需要穿戴特定的靜電服、鞋套并釋放鞋底的靜電。因?yàn)檫@3種行為比較特殊,所以將其作為進(jìn)入生產(chǎn)車間的前期準(zhǔn)備行為。
(2)生產(chǎn)行為火工品的裝配過程主要是對來料進(jìn)行加工,裝配過程中的物料運(yùn)輸方式包括人工搬運(yùn)、手推車搬運(yùn)和吊車搬運(yùn)3種,對應(yīng)的人員行為為搬運(yùn)物品、堆放物品、使用手推車運(yùn)輸和使用手持設(shè)備4項(xiàng)。在生產(chǎn)過程中可能還會(huì)涉及切割工件、拾起掉落的零件、打掃工位,因此有鋸工件、撿零件和打掃工位3種行為。裝配完成后需要檢查異常記錄,因此添加檢查記錄這一行為。
(3)違規(guī)行為在火工品裝配車間,一切能導(dǎo)致火工品發(fā)生燃燒或爆炸的行為都是違規(guī)行為。生產(chǎn)過程中常見的違規(guī)行為有使用通訊設(shè)備(引發(fā)靜電)、暴力搬運(yùn)、抽煙(引發(fā)火災(zāi))和重敲。
(4)其他行為指生產(chǎn)車間中常見的、不影響生產(chǎn)也非違規(guī)的行為,包括喝水、擦汗和坐著3種行為。
本次實(shí)驗(yàn)通過KinectV2深度傳感器采集獲取生產(chǎn)行為數(shù)據(jù),NJUST3D數(shù)據(jù)集由18組(如圖12)行為組成,包括重敲、搬運(yùn)物料和鋸工件等生產(chǎn)行為,以及抽煙、打掃工位和坐著休息等非生產(chǎn)行為。這些行為是采用兩臺(tái)Kinect攝像機(jī)對20位志愿者進(jìn)行拍攝完成,兩個(gè)攝像機(jī)的擺放位置呈60°夾角,攝像頭高度分別為140 cm和160 cm(如圖13)。其中志愿者被要求分別面對兩個(gè)攝像機(jī)和攝像機(jī)的中間位置,將每組動(dòng)作各執(zhí)行3次,共采集2 160組行為數(shù)據(jù)(如圖14),作為NJUST3D生產(chǎn)行為數(shù)據(jù)集的數(shù)據(jù)示例。
在模型的訓(xùn)練過程中,生產(chǎn)行為數(shù)據(jù)集同樣需要對數(shù)據(jù)集進(jìn)行訓(xùn)練集和測試集分類。本文將NJUST3D數(shù)據(jù)集中每種行為的2/3作為訓(xùn)練集,剩余的1/3作為測試集,用于模型訓(xùn)練。
采用3D-DCNN方法對該數(shù)據(jù)進(jìn)行訓(xùn)練后,NJUST3D數(shù)據(jù)集的行為識(shí)別準(zhǔn)確率為71.36%,這在復(fù)雜生產(chǎn)環(huán)境中比較理想,但是對于某些極端行為,例如在火工品周圍抽煙等嚴(yán)重危害生產(chǎn)的行為,該準(zhǔn)確率仍然不足。對此,按照行為置信度由大到小排序,本文方法置信度排名前三行為的識(shí)別準(zhǔn)確率達(dá)到92.12%,具有一定實(shí)用價(jià)值。為便于后續(xù)研究及結(jié)果分析,繪制混淆矩陣(如圖15)和各行為識(shí)別準(zhǔn)確率(如圖16)。
由圖15和圖16可知,在生產(chǎn)行為識(shí)別過程中,總體識(shí)別準(zhǔn)確率較高,都能達(dá)到60%以上,但是對于部分行為,如行為3(使用通訊設(shè)備)、行為7(抽煙)、行為11(擦汗)的識(shí)別比較困難,原因是這類行為大臂和小臂的運(yùn)動(dòng)軌跡基本相同,行為之間的差異主要體現(xiàn)在手腕動(dòng)作,圖像中的描述并不明顯(如圖17),從而造成識(shí)別準(zhǔn)確率較低。
與MSR-Action3D行為數(shù)據(jù)集84.27%的準(zhǔn)確率相比,此處行為識(shí)別準(zhǔn)確率有所降低,主要有以下原因:①M(fèi)SR-Action3D數(shù)據(jù)集進(jìn)行行為識(shí)別時(shí)將數(shù)據(jù)分為3組,其識(shí)別的本質(zhì)是一個(gè)8分類問題,而本文對NJUST3D生產(chǎn)行為數(shù)據(jù)集進(jìn)行行為識(shí)別時(shí)未分組,是一個(gè)18分類的識(shí)別問題,因識(shí)別種類更多使難度提升而造成準(zhǔn)確率下降;②相比MSR-Action3D數(shù)據(jù)集的行為,NJUST3D生產(chǎn)行為數(shù)據(jù)集的行為更加復(fù)雜,多個(gè)行為之間的相似度比較高,導(dǎo)致識(shí)別準(zhǔn)確度下降。
對生產(chǎn)過程人員行為進(jìn)行管理是實(shí)現(xiàn)企業(yè)高效運(yùn)行和安全生產(chǎn)的一個(gè)重要方式,本文提出基于3D-DCNN的生產(chǎn)行為智能識(shí)別方法,并在國際通用的MSR-Action3D行為數(shù)據(jù)集和實(shí)驗(yàn)室自建行為數(shù)據(jù)集NJUST3D上,驗(yàn)證了該方法的有效性。該識(shí)別結(jié)果將用于車間的安全生產(chǎn)監(jiān)控,尤其對某些特定車間(如危險(xiǎn)品生產(chǎn)車間),通過識(shí)別人員行為能夠發(fā)現(xiàn)安全問題,從而及時(shí)消除隱患,防患于未然。
未來的工作將對人員行為識(shí)別算法進(jìn)行更加深入地研究:
(1)改進(jìn)微動(dòng)作識(shí)別算法的準(zhǔn)確性 本文算法對基本行為具有較好的識(shí)別效果,但在應(yīng)對宏觀行為相近、手部等微觀行為不同的生產(chǎn)行為時(shí),識(shí)別準(zhǔn)確率明顯降低,考慮從兩方面進(jìn)行改進(jìn):①優(yōu)化數(shù)據(jù)采集方法,例如采用多個(gè)深度視覺傳感器采集不同距離的行為數(shù)據(jù)等;②繼續(xù)優(yōu)化行為識(shí)別模型,以應(yīng)對更加復(fù)雜、微觀的實(shí)際應(yīng)用場景。
(2)提升模型的實(shí)用性 本文所用實(shí)驗(yàn)設(shè)備計(jì)算能力較強(qiáng),能夠滿足實(shí)時(shí)生產(chǎn)行為的識(shí)別,但車間現(xiàn)場硬件設(shè)施往往很難達(dá)到,需要適當(dāng)降低模型的復(fù)雜程度,在更經(jīng)濟(jì)的硬件條件下實(shí)現(xiàn)生產(chǎn)行為的實(shí)時(shí)監(jiān)控。