趙 琴, 趙團(tuán)結(jié), 鄭新橋, 秦 琴, 龍 念, 鄧 超
(1 武昌工學(xué)院 國(guó)際教育學(xué)院 武漢 430065 ;2 武漢科技大學(xué) 汽車與交通工程學(xué)院 武漢 430065;3 武漢科技大學(xué) 智能汽車工程研究院 武漢 430065)
隨著計(jì)算機(jī)視覺技術(shù)的不斷發(fā)展、計(jì)算機(jī)硬件的處理速度以及存儲(chǔ)能力不斷提升,監(jiān)控設(shè)備成本的逐漸下降,攝像頭等監(jiān)控裝置已經(jīng)被廣泛的應(yīng)用到各種場(chǎng)合,視頻監(jiān)控系統(tǒng)也逐步在監(jiān)護(hù)領(lǐng)域扮演著越來越重要的角色。 目前人體運(yùn)動(dòng)異常行為分析是計(jì)算視覺領(lǐng)域最活躍的研究主題之一,其核心是利用圖像處理、圖像分析、計(jì)算機(jī)視覺分析等技術(shù)從圖像序列中檢測(cè)、識(shí)別、跟蹤行人并對(duì)其行為進(jìn)行理解和描述,進(jìn)而找到異常行為[1]。
有學(xué)者提出了許多異常行為識(shí)別算法,李一波[2]等使用運(yùn)動(dòng)能量圖像(MEI)的傅里葉描述子來區(qū)分人的摔倒行為及正常的躺下行為,這種方簡(jiǎn)單有效,但由于只是對(duì)MEI 圖像進(jìn)一步的處理,丟失了大量的信息,不能用于提取人單獨(dú)某個(gè)部位的動(dòng)作,如當(dāng)人的兩只手都在揮動(dòng)時(shí),用這種方法得不到手的揮動(dòng)的方向;也有些學(xué)者使用人體關(guān)節(jié)模型圖的方法,如張軍[3]等提出一種簡(jiǎn)化的關(guān)節(jié)模型圖方法,由四肢和軀干組成,定義了5 個(gè)對(duì)人體運(yùn)動(dòng)產(chǎn)生影響的角度參數(shù)確定人的行為,從而實(shí)現(xiàn)對(duì)人體異常行為識(shí)別,有益于識(shí)別人體不同部位的運(yùn)動(dòng),如判別手在運(yùn)動(dòng)還是腳在運(yùn)動(dòng),從而識(shí)別出人體的動(dòng)作,但由于只是針對(duì)某一幀的圖像提取動(dòng)作,并不能用來表述行為特征;也有學(xué)者使用運(yùn)動(dòng)方向來提取人的動(dòng)作,胡芝蘭[4]等根據(jù)不同行為具有不同運(yùn)動(dòng)方向這一特點(diǎn),使用塊運(yùn)動(dòng)方向描述不同行為,并用支持向量機(jī)(SVM)分類器對(duì)異常行為進(jìn)行識(shí)別這種方法可以得到人的運(yùn)動(dòng)方向,進(jìn)而提取出人的行為,但由于不同的動(dòng)作有可能運(yùn)動(dòng)方向也是相同的,因此也會(huì)出現(xiàn)問題;吳艷平[5]等使用運(yùn)動(dòng)歷史圖像(MHI),提取人體運(yùn)動(dòng)方向和運(yùn)動(dòng)區(qū)域,最后由運(yùn)動(dòng)方向來識(shí)別動(dòng)作,但這種僅依靠動(dòng)作方向的方法只對(duì)特定情況下的異常行為檢測(cè)有效。 在動(dòng)作分割領(lǐng)域,Kahol[6]等提出了層次活動(dòng)分割(Hierarchical Activity Segmentation, HAS)的概念;也有些學(xué)者使用隱馬爾科夫鏈(HMM)來分割連續(xù)動(dòng)作,如Lee 和Kim[7]提出復(fù)雜動(dòng)作的非典型動(dòng)作閾值模型,但是這種方法隨著動(dòng)作復(fù)雜性的增加,狀態(tài)數(shù)也會(huì)大大的增加,計(jì)算困難。
由于人的動(dòng)作很多,本文選擇其中一部分基本動(dòng)作進(jìn)行特征描述,包括行走、摔倒、蹲下、站起、躺著不動(dòng)。 為了識(shí)別人體的異常行為,本文改進(jìn)MHI算法,使得異常行為檢測(cè)具有普適性。 首先,結(jié)合人體運(yùn)動(dòng)基本特征處理人體對(duì)應(yīng)的前景,得到運(yùn)動(dòng)歷史圖像,運(yùn)用運(yùn)動(dòng)歷史圖像進(jìn)行運(yùn)動(dòng)分割,并判定運(yùn)動(dòng)方向;其次,結(jié)合運(yùn)動(dòng)角度將得到的特征與訓(xùn)練出的動(dòng)作庫里的動(dòng)作進(jìn)行特征匹配,并組合這些動(dòng)作,進(jìn)而判斷人體行為是否異常。
為了提取出人體行為特征,必須識(shí)別出視頻中的人的位置。 首先需要得到視頻的前景,前景提取算法有很多。 本文重點(diǎn)考慮背景減和混合高斯前景提取算法。
對(duì)于一個(gè)視頻,首先儲(chǔ)存一幅認(rèn)為是背景的圖像B(b(x,y)),當(dāng)視頻中的每一幀傳入時(shí),記作A(a(x,y)),將當(dāng)前幀減去背景圖像。 再設(shè)定一個(gè)閾值,若減去后的值小于這個(gè)閾值,則認(rèn)為是背景,否則,認(rèn)為是前景。 用公式(1) 表示,f(x,y) 為1 時(shí)表示此圖像此處為前景,為0 表示為背景。
其中,T表示閾值。
背景減算法適用于背景幾乎不變的情形,算法簡(jiǎn)單。 然而,如果背景本身出現(xiàn)了小規(guī)模的晃動(dòng)或抖動(dòng),求解的前景效果并不好;另外,對(duì)于前景與背景相差不大的情況效果也不好。 為了在背景有小幅抖動(dòng)的情況下也能夠得到準(zhǔn)確的前景,采用另一種前景提取算法混合高斯背景模型進(jìn)行處理。
混合高斯背景提取算法認(rèn)為任何一個(gè)點(diǎn)的像素在時(shí)間軸上符合高斯分布,可以用多個(gè)高斯分布構(gòu)建背景模型。 通過不斷更新背景模型來適應(yīng)背景的變化,當(dāng)背景變化時(shí)也能夠得到較好的效果。 對(duì)于圖像中的點(diǎn),t時(shí)刻該點(diǎn)屬于前景的概率,如式(2)所示:
其中,wi,t為t時(shí)刻第i個(gè)高斯分布的權(quán)值,η(xt,μi,t,σi,t) 為以μi,t為均值、以σi,t為方差的高斯分布(正態(tài)分布) 在xt處的概率的值。
取最大的高斯通道數(shù)K為3~7 個(gè),每個(gè)像素高斯通道總是按照優(yōu)先級(jí)wi,t/σi,t從大到小排列。 一般對(duì)于k有1 ≤k≤K。 背景模型初始化時(shí),取當(dāng)前像素的值為均值μ0。 設(shè)定一個(gè)較大的值σ0,設(shè)定一個(gè)較小的值wo。
開始訓(xùn)練背景模型時(shí), 當(dāng)t時(shí)刻一個(gè)新的像素xt到來時(shí),按照優(yōu)先級(jí)wi,t/σi,t的高低,開始將其與已有的k個(gè)高斯通道匹配,匹配條件如式(3) 所示:
加強(qiáng)肛門括約肌反饋訓(xùn)練可有效提高腹腔鏡下大腸癌根治術(shù)后病人肛門括約肌力量,減少術(shù)后排便困難發(fā)生率,避免病人因疾病并發(fā)癥產(chǎn)生焦慮、抑郁等負(fù)面情緒,提高病人生活質(zhì)量[29]。肛門括約肌反饋訓(xùn)練過程中,護(hù)理人員應(yīng)將攜帶氣囊的測(cè)壓導(dǎo)管直接插入大腸相應(yīng)區(qū)域,根據(jù)顯示器反饋的壓力情況調(diào)整閾值,增強(qiáng)病人肛門括約肌力量[30]。Arafa等[31-32]通過對(duì)病人實(shí)施電刺激生物反饋實(shí)驗(yàn)發(fā)現(xiàn):將誘發(fā)電位檢測(cè)儀應(yīng)用到肛門括約肌收縮刺激中,對(duì)腹腔鏡下大腸癌根治術(shù)病人術(shù)后康復(fù)具有重要意義。
匹配的同時(shí)進(jìn)行參數(shù)更新,若匹配成功,參數(shù)更新如式(4)所示:
其中,α、β為學(xué)習(xí)率。
對(duì)于參數(shù)Mi,t,若匹配則為1,不匹配時(shí)為0。 若不匹配,則權(quán)值按式(4) 更新,均值、方差保持不變。 如果k個(gè)高斯通道都不匹配,就新增加一個(gè)高斯分布。 如果此時(shí)k =K,則去掉一個(gè)優(yōu)先級(jí)最低的高斯通道。 新增的高斯通道的均值為xt,方差可以設(shè)置為一個(gè)較大的值,權(quán)重可以設(shè)置為一個(gè)較小的值。
每一次更新后,都按照優(yōu)先級(jí)wi,t/σi,t由高到低對(duì)高斯分布重新排序。 取前B個(gè)高斯分布組合描述背景,如式(5) 所示:
其中,T為閾值。
只要前B個(gè)高斯組合分布中有一個(gè)與xt匹配,就認(rèn)為為背景,否則認(rèn)為為前景。
按照上述方法,可以根據(jù)視頻流不斷的更新背景的模型,達(dá)到獲取前景的目的。 使用GMM 方法可以抑制背景的規(guī)律運(yùn)動(dòng),如小草的晃動(dòng)以及電風(fēng)扇的轉(zhuǎn)動(dòng)等。 但這個(gè)方法也有缺點(diǎn),即不能用來識(shí)別非運(yùn)動(dòng)的目標(biāo)。 而且人一開始就在視頻中時(shí),剛開始得到的前景會(huì)有問題。
由于在所建立的人體動(dòng)作模型中動(dòng)作是已知的,而用來表示這些動(dòng)作的視頻也是已知的。 因此,在提取前景時(shí),當(dāng)提取靜止的狀態(tài)(如躺在地上不動(dòng))時(shí),本文使用背景減的方法;當(dāng)提取運(yùn)動(dòng)的狀態(tài)(如跑步)時(shí),本文使用GMM 方法。
得到前景的掩碼后對(duì)前景進(jìn)行處理,為后續(xù)的動(dòng)作識(shí)別做準(zhǔn)備。 本文選用MHI(Motion History Image)對(duì)前景進(jìn)行處理。 MHI 可以保存一段時(shí)間的前景圖像,并且算法復(fù)雜度低,適合提取動(dòng)作。
MHI 圖像主要是保存最近一段時(shí)間的前景圖像,其中像素值賦值為對(duì)應(yīng)前景的時(shí)間戳。 若有重復(fù)交叉的前景部分,以最新的前景的時(shí)間戳為準(zhǔn)。非前景的部分以及一段時(shí)間之前的前景賦值為0。首先進(jìn)行初始化,將MHI 圖像全部賦值為0。 當(dāng)接收到新圖像時(shí),更新方式如式(6)所示:
其中,τ為當(dāng)前的時(shí)間戳,δ為前景的保存時(shí)間。
由于時(shí)間戳是浮點(diǎn)數(shù)類型,因而MHI 圖像也是一個(gè)浮點(diǎn)數(shù)類型的圖像。 如果直接顯示, 當(dāng)τ≥1時(shí),將無法分辨不同時(shí)刻之間的區(qū)別。 因此,在顯示時(shí)對(duì)MHI 圖像做一個(gè)映射,將其映射到0~255 的灰度區(qū)間,并用8 位無符號(hào)整形數(shù)表示。 視頻的連續(xù)8 幀原圖及使用映射后的MHI 圖像如圖1 所示,可見當(dāng)前的前景最亮,而較早的前景較暗。
圖1 原圖及映射后的MHI 圖像Fig.1 Original and MHI Image
為了處理MHI 圖像,首先可以對(duì)MHI 圖像做動(dòng)作分割并提取運(yùn)動(dòng)方向,然后判斷人的動(dòng)作。
當(dāng)提取動(dòng)作特征時(shí),需要對(duì)動(dòng)作進(jìn)行分割。 算法流程如下:
(1)遍歷MHI 圖像,尋找屬于當(dāng)前前景(即I(x,y)=τt) 的點(diǎn),該點(diǎn)是在當(dāng)前前景邊界上的點(diǎn);
(2)判斷該點(diǎn)周圍的點(diǎn)中是否有與該點(diǎn)鄰近時(shí)間戳的點(diǎn)(即I(x,y)=τt-1),若沒有則繼續(xù)逆時(shí)針遍歷當(dāng)前前景邊界上的點(diǎn),直到有這種點(diǎn),則進(jìn)行第3 步,或回到初始邊界點(diǎn)為止;
(3)用一個(gè)新值標(biāo)記這個(gè)相鄰點(diǎn),并用新值標(biāo)記這個(gè)相鄰點(diǎn)的連通域,若這個(gè)連通域周圍存在此連通域前一個(gè)時(shí)間戳的連通域,則此點(diǎn)周圍的連通域也使用該連通域的標(biāo)記,再以這個(gè)連通域?yàn)榛鶞?zhǔn),依此不斷尋找周圍前一個(gè)時(shí)間戳的連通域并標(biāo)記,若不能標(biāo)記,則返回第2 步;
(4)標(biāo)記完后,將標(biāo)記的區(qū)域提取出來,就得到了分割后的運(yùn)動(dòng)區(qū)域。
依據(jù)得到的MHI 圖像可以求得屬于前景的每一點(diǎn)的梯度方向。 使用Sobel 算子求梯度,Sobel 算子模板如式(7)所示:
求解x和y方向的導(dǎo)數(shù)Fx(x,y) 和Fy(x,y),并由此求得到梯度方向,如式(8) 所示:
梯度方向即運(yùn)動(dòng)方向,需要說明的是并非所有在MHI 圖像中表示前景的點(diǎn)都可以表示運(yùn)動(dòng)方向。如梯度為0 的點(diǎn)是前景內(nèi)部的點(diǎn),不能用來表示運(yùn)動(dòng)方向;邊界上的點(diǎn)才能表示運(yùn)動(dòng)方向,有些邊界上的點(diǎn)旁邊是背景,梯度很大,梯度大的點(diǎn)不能用來求運(yùn)動(dòng)方向,即用來求運(yùn)動(dòng)方向的點(diǎn)的梯度值不能太大也不能太小。
為了求得運(yùn)動(dòng)方向,就需要求全局梯度方向。先求符合要求的點(diǎn)的梯度方向,取其中次數(shù)最多的梯度方向?ref作為全局梯度方向,采用公式(9)來求全局梯度方向:
其中, angDiff(?(x,y),?ref) 為當(dāng)前點(diǎn)的梯度方向和?ref之間的差值,norm(τ,δ,t,MHIδ(x,y)) 為將MHI 圖像的值從τ和τ - δ之間歸一化到0~1 后得到的值,用來作為差值的權(quán)值,即時(shí)間上離現(xiàn)在越近的點(diǎn),求得的梯度方向的權(quán)值越大。 同時(shí),也可以對(duì)之前動(dòng)作分割中得到的區(qū)域求運(yùn)動(dòng)方向,效果如圖2 所示。 圖2 方框即是識(shí)別出來的運(yùn)動(dòng)區(qū)域,而圓中指針的方向就是識(shí)別出來的運(yùn)動(dòng)方向。
圖2 運(yùn)動(dòng)區(qū)域及方向的提取Fig.2 Extraction of motion area and direction
視頻監(jiān)控系統(tǒng)在監(jiān)護(hù)領(lǐng)域扮演著越來越重要的角色。 本文建立了一個(gè)能夠較好地識(shí)別和預(yù)測(cè)人體摔倒等異常行為的算法模型。 結(jié)合人體運(yùn)動(dòng)基本特征處理人體對(duì)應(yīng)的前景,得到運(yùn)動(dòng)歷史圖像,運(yùn)用運(yùn)動(dòng)歷史圖像進(jìn)行運(yùn)動(dòng)分割,并判定運(yùn)動(dòng)方向,結(jié)合運(yùn)動(dòng)角度將得到的特征與訓(xùn)練出的動(dòng)作庫里的動(dòng)作進(jìn)行特征匹配,并組合這些動(dòng)作,進(jìn)而判斷人體行為是否異常。 通過這種方法構(gòu)建的視頻監(jiān)控系統(tǒng)兼具實(shí)時(shí)性和智能性,可以為視頻監(jiān)控系統(tǒng)的開發(fā)提供理論依據(jù)。 未來將開展更多的實(shí)驗(yàn),對(duì)具體的應(yīng)用場(chǎng)景進(jìn)行圖像標(biāo)定,對(duì)該算法模型的識(shí)別精度和實(shí)時(shí)性進(jìn)行驗(yàn)證。