熊俊濤,劉梓健,孫寶霞,俞守華,陳建國
(1.華南農(nóng)業(yè)大學(xué)信息學(xué)院,廣東 廣州 510642;2.廣東工程職業(yè)技術(shù)學(xué)院,廣東 廣州 510520)
隨著經(jīng)濟的發(fā)展,許多技術(shù)因應(yīng)市場發(fā)展的需要而正在實現(xiàn)機械化與自動化。動作分析作為工業(yè)工程的1項關(guān)鍵技術(shù),其實現(xiàn)方法卻一直停留在手工操作的狀態(tài),這種方法不僅工作量大,而且效率低。計算機視覺及圖像處理技術(shù)的發(fā)展使得生產(chǎn)中實現(xiàn)自動化的動作分析成為可能。
動作研究又稱“方法研究”或“工作方法設(shè)計”,其主要內(nèi)容是通過各種分析手段尋求最為經(jīng)濟有效的工作方法[1]。近年來很多研究都是基于制造業(yè)的工藝優(yōu)化、生產(chǎn)線平衡、裝配線平衡等,涉及汽車制造業(yè)、紡織業(yè)等各行各業(yè)[2-3]。在動作分析的研究中,手部動作的檢測與識別是關(guān)鍵技術(shù)之一,該技術(shù)的實現(xiàn)能有效減輕工人的工作量,并提高動作分析的效率。
國內(nèi)關(guān)于手勢或者動作分析的相關(guān)研究主要有:成娟以精細手指按鍵動作、手語手勢動作以及下肢步態(tài)動作為研究對象,對基于表面肌電信號和加速度信號的多類行為動作的感知與識別進行了深入研究,對指導(dǎo)人類行為理解、康復(fù)醫(yī)學(xué)工程等領(lǐng)域的研究具有實際應(yīng)用意義[4]。劉吉慶進行了基于視頻的人體動作識別研究,提出了1種新的軌跡提取方法,用1種場景特征Gist來對場景結(jié)構(gòu)進行建模,實現(xiàn)人體動作識別[5]。趙瓊進行了視頻或三維動作捕捉數(shù)據(jù)自動識別人體動作類別的研究,總結(jié)出人體動作識別算法中的2個關(guān)鍵性因素:高效的人體動作特征提取方法和高效的動作分類算法[6]。
綜上所述,以上研究分別針對專門的應(yīng)用領(lǐng)域,或者專門的動作流程、人體的特有動作進行了研究,對動作分解和識別的圖像處理技術(shù)研究較少?;谏鲜銮闆r,本文進行了生產(chǎn)線上規(guī)范化操作的動作分析的技術(shù)研究。利用圖像處理技術(shù)進行視頻中手部區(qū)域的檢測,然后通過改進擴展有限狀態(tài)機實現(xiàn)手部運動的動作分解;再利用Hausdorff距離匹配算法,判斷分解的手部動作與模板動作匹配度,實現(xiàn)了動作識別。通過設(shè)計的動作識別試驗,驗證了該算法對背景干擾和攝像頭輕微震動具有一定的抗噪能力和實用性。
生產(chǎn)線上手部動作的識別系統(tǒng)由1臺PC機,1臺CCD視頻攝像機以及固定支架和流水線工作臺組成。在PC機上安裝有MATLAB圖像處理軟件以及Simulink組件,其中Simulink用來對動態(tài)系統(tǒng)進行建模、仿真和分析,CCD攝像機主要用來進行視頻的采集。
利用皮膚顏色檢測手部是手部檢測最直接的方法。皮膚的顏色具有一定的穩(wěn)定性,不容易受到縮放、平移和旋轉(zhuǎn)的影響,且對圖像的尺寸、拍攝方向和角度的依賴性較小[7]。
本文通過對膚色顏色進行特征分析(選取黃種人的膚色),選取了YCbCr顏色空間進行手部區(qū)域檢測。對輸入圖像做YCbCr顏色空間變換,選取Cr分量進行閾值分割,獲得手部區(qū)域,然后進行圖像二值化,獲取一定數(shù)量連通區(qū)域,通過形態(tài)學(xué)濾波去除小面積連通區(qū)域以及填充孔洞,最后得到識別的手部區(qū)域,處理過程如圖1所示。
圖1 手部膚色檢測的處理過程
在手部區(qū)域檢測的基礎(chǔ)上,進而對手部的動作進行識別。人的手部動作具有高自由度和非線性的特點[8],直接識別圖像序列中整個手部運動的難度很高,可以先把復(fù)雜的動作分解為一個個簡單的動作,然后再識別。
1)計算手部運動軌跡。運用膚色檢測得出圖像中的手部區(qū)域之后,可計算出該手部區(qū)域的中心點,如圖2所示。經(jīng)過計算中心點可得到1組離散的運動軌跡,這組軌跡代表多個運動組成的運動序列,如圖2(b)。要識別這組復(fù)雜運動,必須首先把該復(fù)雜運動分解成各個簡單的運動,再逐一識別各個動作。
圖2 標(biāo)定手部中心特征點
2)計算手部運動速度。本文以手部的靜止點作為分割每個動作的標(biāo)志點,因此需要計算手部移動速度用于判斷手部的運動狀態(tài)是屬于運動抑或靜止。如圖2所示得到軌跡點依次連接得到的折線可以近似等于手部運動的曲線軌跡。由于圖像序列中2幀之間相隔時間很短,因此2個軌跡點之間的運動軌跡可視為是直線。
采用Euclidean距離變換計算2個軌跡點間的距離[9]。其實現(xiàn)原理為:設(shè)有2個軌跡點p(xp,yp)和q(xq,yq),p 與 q 之間的距離為 de(p,q),則有:
設(shè)圖像序列的采樣頻度為每秒fps幀,2幀之間的時間差為t,則有:
由此可得運動目標(biāo)在軌跡點上的移動速度vc為:
由式(1)、式(2)以及式(3)計算得到的速度是計算機視角中運動目標(biāo)移動的速度。在拍攝視頻時,攝像機與運動目標(biāo)的距離、拍攝的角度都是不固定的,因此從上式得到的結(jié)果會造成誤差。為消除上述問題帶來的影響,需設(shè)置1個距離系數(shù),使得不同視頻中運動目標(biāo)的速度與真實的速度值盡可能相似。設(shè)目標(biāo)的實際運動速度ve,有距離系數(shù)d,使得:
3)手部動作分割。當(dāng)實現(xiàn)了手部速度的計算后,可以基于手部速度進行動作分割。本文基于擴展有限狀態(tài)機數(shù)學(xué)模型進行手部動作分割,同時利用軟件Simulink及其組件Stateflow實現(xiàn)擴展有限狀態(tài)機動作分割的流程仿真,根據(jù)仿真結(jié)果進行有效的動作分割。
擴展有限狀態(tài)機(Extended Finite State Machine,EFSM)是1種具有離散輸入輸出系統(tǒng)的數(shù)學(xué)模型[10]。EFSM由有限個狀態(tài)以及狀態(tài)之間的轉(zhuǎn)移關(guān)系構(gòu)成。狀態(tài)是2次轉(zhuǎn)移發(fā)生之間系統(tǒng)信息的載體,反映著系統(tǒng)輸入的變化[11-12]。
該算法有 4 種狀態(tài) s={s1,s2,s3,s4},s1表示運動目標(biāo)不在視頻區(qū)域內(nèi),或運動目標(biāo)處于靜止?fàn)顟B(tài);s2表示運動目標(biāo)處于臨時運動狀態(tài),用于消除噪聲或誤檢測對動作分割造成的不良影響;s3表示運動目標(biāo)處于運動狀態(tài);s4表示運動目標(biāo)處于臨時靜止?fàn)顟B(tài),作用與s2類似。有2種輸入I={i1,i2},設(shè)置1個用于判別運動目標(biāo)瞬時運動狀態(tài)的閾值vt,對公式(4)的結(jié)果 ve,當(dāng) ve< vt時,輸入 i1;當(dāng) ve≥vt時,輸入 i2。i1表示運動目標(biāo)處于瞬時靜止?fàn)顟B(tài),i2表示運動目標(biāo)處于瞬時運動狀態(tài)。同時,允許狀態(tài)機從外部獲得系統(tǒng)的模擬運行時間。有2種輸出 o={(t,o1),(t,o2)},t代表該輸出對應(yīng)圖像序列的幀數(shù)。o1代表運動目標(biāo)處于靜止?fàn)顟B(tài);o2代表運動目標(biāo)處于運動狀態(tài)。有1個系統(tǒng)變量D={r},r是1個用于排除干擾幀的計數(shù)器。設(shè)1個正整數(shù)閾值R,使得當(dāng)r∈(0,R)時,系統(tǒng)處于臨時運動/臨時靜止?fàn)顟B(tài),否則系統(tǒng)處于運動/靜止?fàn)顟B(tài)。
通過以上處理確定了各個動作的臨界點以后,然后對獲得的動作軌跡點集進行動作識別。利用動作的軌跡點進行動作識別,其實質(zhì)是利用二維點集的形式記錄三維空間中的動作,去除運動的時間因素和速度因素,這樣能有效降低動作數(shù)據(jù)的復(fù)雜度,減少數(shù)據(jù)量。
4)動作識別的判斷。對分割的動作,利用Hausdorff距離匹配算法進行判斷。Hausdorff距離是對2個有限閉集合之間距離的度量,可用于計算2個集合之間匹配的相似程度[13-15]。其實現(xiàn)原理是:設(shè)有識別目標(biāo)動作點集o以及模板集M=(M1,…,Mn),設(shè)置1個閾值λ。當(dāng)o與M滿足:
即認為目標(biāo)動作是可識別的并且該動作是模板庫中的第i種動作,否則認為目標(biāo)動作與任何一個模板都不相配,從而無法識別[16]。這種匹配方法對視頻有一定的要求,拍攝目標(biāo)動作與拍攝模板動作時,攝像機必須與被觀察者保持相同的距離和拍攝角度。因此這種方法適用于用固定攝像機監(jiān)控固定崗位的情況。
這里動作模板的建立方法為:想建立某個動作的模板,只需把這個動作拍成視頻,然后把這個動作的二維軌跡點集從視頻中提取出來作為模板。本文選擇了4種比較有代表性的動作制成模板。4種動作分別是橫向直線移動、縱向直線移動、斜向直線移動和曲線運動,如圖3所示。動作識別算法的處理流程如圖4所示。
圖3 手部運動的4種動作
圖4 手部動作的識別處理流程圖
本文設(shè)計了動作識別實驗。實驗是模擬真實的生產(chǎn)線工作環(huán)境,用模擬的裝配線工人操作視頻來測試,從而驗證本文算法在模擬工作環(huán)境下的效果。圖5是模擬工作環(huán)境的場景圖。
實驗過程為:操作者模擬裝配線工人的工作,并用攝像機拍下4個周期的動作。然后利用手部檢測方法獲得軌跡點,計算手部運動的速度并分割動作。搭建的試驗環(huán)境有:實驗工作臺上固定1個攝像機,配有穩(wěn)定光源提供照明,并放置操作的工作臺和PC機。
圖5 實驗室模擬工作臺的布置
首先對拍攝視頻的每1幀都進行膚色檢測與圖像預(yù)處理,進行手部檢測。手部檢測之后利用檢測結(jié)果獲得軌跡點,計算手部運動速度并分割動作,其中手部檢測的結(jié)果如圖6所示。在這里根據(jù)試驗獲得經(jīng)驗值,確定了計算目標(biāo)移動速度的距離系數(shù)d=0.06;判斷手部運動狀態(tài)的閾值vt=2;EFSM中判定臨時狀態(tài)的變量R=3;MHD篩選閾值λ=20。
圖6 工作臺手部膚色檢測的結(jié)果
通過本文算法對工作臺的手部動作進行識別。模擬裝配動作如表1所示。進行了4個周期的動作視頻拍攝,然后選取第2周期動作進行識別處理。表2是第2周期動作的分割結(jié)果,進行了人工動作分割結(jié)果與算法動作分割結(jié)果作對比,表3是第2周期動作的軌跡圖,表4是第2周期動作的識別結(jié)果統(tǒng)計。
表1 模擬裝配動作
表2 第2周期動作分割結(jié)果對比
表3 第2周期分割動作的軌跡圖
表4 第2周期的動作識別結(jié)果
本文進行了工業(yè)生產(chǎn)線上規(guī)范操作的手部檢測與動作識別技術(shù)的研究,確定了在YCbCr顏色空間中進行手部膚色檢測,然后進行圖像的預(yù)處理,實現(xiàn)了手部區(qū)域的識別。
實現(xiàn)了動作的分割與動作識別。通過提取各幀圖像中手部中心點為運動特征點,確定了手部運動軌跡;然后利用Euclidean距離變換計算方法確定各幀手部運動速率,實現(xiàn)手部動作分割;通過擴展有限狀態(tài)機分解手部運動為多個簡單的動作;進行分割的手部動作與模板動作匹配,實現(xiàn)了動作識別。
通過設(shè)計工業(yè)生產(chǎn)線上的動作識別試驗,驗證了本文算法對背景干擾和攝像頭輕微震動具有一定的抗噪能力,能夠在現(xiàn)實工作環(huán)境下運行,具有一定的實用性。
[1] Bobick A F.Movement,activity and action:The role of knowledge in the perception of motion[J].Philosophical Transactions of the Royal Society of London B Biological Sciences,1997,352(1358):1257-1265.
[2] 葉隱隱,徐軍,顧朝暉.基于微觀動作分析西裝口袋工藝流程[J].上海紡織科技,2009,37(3):21-22.
[3] 郭伏,張國民,溫婕.工作研究在轎車裝配流水線能力平整中的應(yīng)用[J].工業(yè)工程與管理,2006,11(2):119-122.
[4] 成娟.基于表面肌電和加速度信號融合的動作識別和人體行為分析研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2013.
[5] 劉吉慶.基于視頻的人體動作識別方法研究[D].濟南:山東大學(xué),2013.
[6] 趙瓊.基于視頻和三維動作捕捉數(shù)據(jù)的人體動作識別方法的研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2013.
[7] 劉萍萍.災(zāi)難現(xiàn)場人手部分檢測方法研究[D].哈爾濱:哈爾濱工程大學(xué),2010.
[8] 郭康德,張明敏,孫超,等.基于視覺技術(shù)的三維指尖跟蹤算法[J].計算機研究與發(fā)展,2010,47(6):1013-1019.
[9] Maurer C R Jr,Qi Rensheng,Raghavan V.A linear time algorithm for computing exact Euclidean distance transforms of binary images in arbitrary dimensions[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(2):265-270.
[10] 李蕊,李永亮,李仁發(fā),等.基于擴展有限狀態(tài)機模型的故障檢測[J].計算機應(yīng)用研究,2009,26(7):2583-2585.
[11] 馮競楠.利用有限狀態(tài)機的交通燈控制系統(tǒng)設(shè)計與仿真[J].電子設(shè)計工程,2011,19(12):156-159.
[12] 郭曦.基于視覺的運動檢測與手部動作識別[D].上海:上海交通大學(xué),2010.
[13] 高晶,孫繼銀,劉婧.基于鄰域灰度信息的Hausdorff距離圖像匹配方法[J].計算機應(yīng)用,2011,31(3):741-744.
[14] 祝明波,張東興,范照盛,等.灰度相關(guān)圖像匹配算法噪聲適應(yīng)性仿真[J].海軍航空工程學(xué)院學(xué)報,2009,24(1):62-64.
[15] Vivek E P,Sudha N.Robust Hausdorff distance measure for face recognition[J].Pattern Recognition,2007,40(2):431-442.
[16] Sasikanth B S.Modified Hausdorff Distance[CP/OL].http://www.mathworks.com/matlabcentral/fileexchange/29968-modified-hausdorff-distance/content/ModHausdorffDist.m,2011-01-08.