呂寶嶺, 李雷星, 李 錦, 郭 拓
(1.陜西科技大學(xué)電子信息與人工智能學(xué)院, 西安 710021; 2.陜西科技大學(xué)電氣與控制工程學(xué)院, 西安 710021)
對(duì)運(yùn)動(dòng)目標(biāo)的檢測,是計(jì)算機(jī)視覺領(lǐng)域的重要的研究方向之一。對(duì)隱藏目標(biāo)的微小運(yùn)動(dòng)進(jìn)行檢測,在生物學(xué)上,可以發(fā)現(xiàn)對(duì)人類而言未知的生物及人類主動(dòng)探索的目標(biāo)生物;對(duì)于生物探索、野外救援以及生物多樣性保護(hù)有一定的應(yīng)用價(jià)值;在軍事領(lǐng)域,對(duì)偽裝目標(biāo)的檢測關(guān)系著軍事安全。因此,對(duì)偽裝目標(biāo)的微小運(yùn)動(dòng)進(jìn)行檢測具有重要意義。在人類生活環(huán)境中,物體無時(shí)無刻不在發(fā)生運(yùn)動(dòng)。然而,人類的視覺感知系統(tǒng)存在有限的感知域[1],生物的運(yùn)動(dòng)變化很微小時(shí),僅僅憑借人類視覺感知難以準(zhǔn)確捕捉到,但其卻可能包含生物特征、脈搏頻率等信息,因此需要對(duì)感知范圍以外的微小運(yùn)動(dòng)做檢測。運(yùn)動(dòng)目標(biāo)檢測方法主要包括幀間差分法[2]、背景差分法[3]、光流法[4]等。光流法依據(jù)運(yùn)動(dòng)目標(biāo)的光流特性隨時(shí)間變化來檢測運(yùn)動(dòng)[5],但計(jì)算復(fù)雜、抗噪性能差,檢測效果并不理想。背景差分法,對(duì)背景的建模要求較高,當(dāng)光照等外界條件發(fā)生突變時(shí),會(huì)導(dǎo)致較大的檢測結(jié)果誤差。幀差法檢測目標(biāo)時(shí),需要在視頻序列里兩個(gè)相鄰幀之間做時(shí)間差分閾值化,從而得到檢測結(jié)果。其優(yōu)點(diǎn)是計(jì)算簡便,實(shí)現(xiàn)難度小,而且在動(dòng)態(tài)環(huán)境中適應(yīng)性很好。這些檢測方法可用于自適應(yīng)目標(biāo)檢測[6]等。
最早進(jìn)行微小運(yùn)動(dòng)檢測的是美國麻省理工學(xué)院(Massachusetts Institute of Technology,MIT)的Freeman團(tuán)隊(duì)[7]。Liu等[8]提出一種用于視頻檢測的運(yùn)動(dòng)放大技術(shù)(motion magnification),對(duì)目標(biāo)特征點(diǎn)聚類跟蹤后放大運(yùn)動(dòng)幅度。Wu等[9]提出歐拉視頻放大技術(shù)(eulerian video magnification,EVM),先做色彩空間轉(zhuǎn)換,再提取感興趣部分放大微小運(yùn)動(dòng),處理過程十分耗時(shí)。為了精準(zhǔn)判定放大參數(shù),Sushma等[10]又提出了一種半自動(dòng)的視頻中微小運(yùn)動(dòng)放大 (semi-automated magnification of small motions in videos,SAM)方法,從前兩幀視頻幀差中提取信息來自動(dòng)確定參數(shù),但是提取結(jié)果不太準(zhǔn)確。雷林等[11]提出了自動(dòng)檢測及放大視頻中的微小運(yùn)動(dòng)方法和使用基于S變換[12]的微小運(yùn)動(dòng)檢測方法。這些對(duì)微小運(yùn)動(dòng)進(jìn)行的檢測技術(shù),目前已經(jīng)取得了一定的顯著成就,應(yīng)用在了很多行業(yè)中,如視覺可視化、脈搏運(yùn)動(dòng)分析、非接觸式醫(yī)療檢測[13]等,應(yīng)用范圍很廣。但是傳統(tǒng)方法本身有耗時(shí)大、速度不夠快、對(duì)設(shè)備要求高等缺點(diǎn)。
要想從復(fù)雜的自然圖像序列中完整地檢測出運(yùn)動(dòng)的目標(biāo),只依靠一種檢測算法,很難達(dá)到較高的檢測精度和效率,因此融合多種檢測方法的研究越來越受到重視。針對(duì)當(dāng)前已有檢測方法存在的缺陷,提出以幀差法為基礎(chǔ),將高斯金字塔算法和雙邊濾波算法相結(jié)合的檢測方法,期望同時(shí)適用于對(duì)野外自然環(huán)境下的偽裝生物目標(biāo)的微小運(yùn)動(dòng)檢測,及日常生活環(huán)境中的生命特征檢測。
高斯金字塔由很多組金字塔構(gòu)成且每組包含若干層。這種模型通常分成兩個(gè)步驟:先是對(duì)圖像做低通濾波,達(dá)到平滑效果,接著對(duì)得到的平滑幀圖,做抽樣或插值,即可獲得一系列的縮小或放大的圖像。將這些圖像組合在一起,構(gòu)造出高斯金字塔,結(jié)構(gòu)如圖1所示。

圖1 金字塔結(jié)構(gòu)圖
當(dāng)分辨率有差異時(shí),獲得的檢測結(jié)果的特征也有差異。高分辨率情況下,對(duì)目標(biāo)的細(xì)節(jié)的分辨,可以取得很好的效果,但是同時(shí)大量的背景噪聲在動(dòng)態(tài)背景中產(chǎn)生的干擾十分嚴(yán)重。與此相反,當(dāng)處于低分辨率情況時(shí),背景噪聲基本沒有影響,但很難取得目標(biāo)的構(gòu)造特性。此外,還可能會(huì)弄丟圖像結(jié)構(gòu)細(xì)節(jié)。
對(duì)圖像序列進(jìn)行高斯金字塔采樣,每一級(jí)與它的前一級(jí)之間的采樣過程如式(1)所示:
(1)
式(1)中:Gk(x,y)為第k層高斯金字塔圖像;G0為原始圖像;G1為高斯金字塔第1層,依次類推。w(m,n)=h(m)h(n)是有低通特性的窗口函數(shù),其中h為高斯密度分布函數(shù)。
對(duì)視頻圖像序列做高斯金字塔多尺度分解后的結(jié)果如圖2所示。從林鴟、手臂、嬰兒的結(jié)果圖可以看出,從左至右圖像尺度依次縮小,經(jīng)過采樣,更容易觀察出圖像的輪廓信息。

圖2 圖像的高斯金字塔分解
圖像中相鄰位置的像素點(diǎn)在空域內(nèi)有相連的關(guān)系,但是噪聲及其附近的像素點(diǎn)不相關(guān)。根據(jù)噪聲和像素點(diǎn)之間的獨(dú)立性,選擇在空域?yàn)V波[14]去噪,采用空域?yàn)V波中的快速雙邊濾波法[15],其優(yōu)點(diǎn)是可以保邊去噪,原理圖如圖3所示,圖3中的點(diǎn)A為任一像素點(diǎn)。

圖3 雙邊濾波原理圖
進(jìn)行雙邊濾波[16]時(shí),要考慮像素點(diǎn)的空域信息和值域信息。它包括高斯模板和創(chuàng)建的模板這兩個(gè)模板。計(jì)算公式如式(2)、式(3)所示:
(2)
(3)

對(duì)于將要濾波的點(diǎn)來說,其鄰域內(nèi)像素點(diǎn)的權(quán)重跟兩個(gè)像素點(diǎn)的距離、相似度有關(guān)。結(jié)合空間距離、相似程度,得出雙邊濾波的結(jié)果。計(jì)算公式如式(4)、式(5)所示:

(4)
(5)
式中:h(x)為點(diǎn)x濾波后的灰度值;獲得權(quán)重的方法是計(jì)算c、s,其中c代表的是closeness,即基于高斯空間的權(quán)重;s為像素之間相似程度的高斯權(quán)重[17],像素點(diǎn)的像素值,用f(x)來表示,從f(x)到h(x),表示濾波之前和濾波之后的圖像;k-1(x)為歸一化因子;k(x)的作用是對(duì)得到的結(jié)果進(jìn)行單位化。
視頻圖像序列中的噪聲往往和目標(biāo)信息混雜在一起,濾除噪聲時(shí)可能會(huì)丟失一部分圖像邊緣細(xì)節(jié)。在運(yùn)動(dòng)檢測中使用雙邊濾波可以保留邊界的細(xì)節(jié),并且模糊變化不明顯的區(qū)域,可獲得出色的濾波效果。
通常情況下,視頻在時(shí)間上都是連續(xù)的。但是相連的視頻幀之間還是會(huì)有變化的,不同情況下的變化不同。環(huán)境場景內(nèi)不存在目標(biāo)時(shí),連續(xù)幀圖之間變化不明顯;若存在運(yùn)動(dòng)物體,則發(fā)生明顯變化。幀間差分法[18]借鑒此思想,幀間差分法的基本流程圖如圖4所示。

圖4 幀間差分法基本流程圖
將圖像序列里連續(xù)的第k-1幀和第k幀圖像,分別用Ik-1(i,j)和Ik(i,j)來表示。其差分過程如式(6)所示:
D(k,k-1)(i,j)=|Ik(i,j)-Ik-1(i,j)|
(6)
式(6)中:D(k,k-1)為差分圖像序列。
接著對(duì)差分圖像進(jìn)行二值化,得到二值化[19]后的圖像R(k,k-1)(i,j)。設(shè)定一個(gè)閾值T,若某點(diǎn)的像素值比T大,將像素值設(shè)為255作為二值化圖像前景,反之,則當(dāng)作背景,像素值設(shè)為0。對(duì)D進(jìn)行二值化過程如式(7)所示:
(7)
式(7)中:R(k,k-1)(i,j)為二值化后的圖像。
對(duì)視頻圖像做幀間差分處理時(shí),需要注意閾值T的選取,可能會(huì)受到環(huán)境里光線的變化等情況的影響。若想更好地抑制噪聲,閾值T就不能取的過小;同時(shí),以防遮蓋住差分圖像里的目標(biāo)的一些信息,它的取值必須在合適的范圍里,不能太大。通過幀間差分法可以獲取運(yùn)動(dòng)目標(biāo)的存在區(qū)域,但同時(shí)會(huì)存在空洞效應(yīng)。
選取野外自然環(huán)境下的林鴟、室內(nèi)環(huán)境中的靜止手臂、熟睡中的嬰兒,其相鄰幀間差分結(jié)果分別如圖5(a)~圖5(c)所示。
從圖5可以看出,圖5(a)紅色方框標(biāo)記的主體目標(biāo)中,兩幅圖像素點(diǎn)分布不同,左圖的左下區(qū)域黑色像素點(diǎn)密度大,而右圖對(duì)應(yīng)位置則大部分為空白。圖5(b)紅色方框標(biāo)記的主體目標(biāo)中,左圖輪廓線條連貫流暢且較粗,輪廓線周圍像素點(diǎn)分布較緊密,右圖線條較細(xì)且有中斷部分,輪廓線周圍像素點(diǎn)分布較分散。圖5(c)紅色方框標(biāo)記的主體目標(biāo)中,左圖目標(biāo)像素排列呈從左上至右下方向的趨勢,中間有一較大空白區(qū)域,右圖目標(biāo)像素點(diǎn)排列基本分布于整個(gè)框中,不再大多集中于左上角分布,而是向右下分散,而右下方向位置對(duì)應(yīng)于嬰兒的身體部分,說明嬰兒的呼吸引起的肚皮起伏,這種呼吸引起的微小運(yùn)動(dòng)變化在幀間差分結(jié)果圖中體現(xiàn)了出來。

圖5 幀間差分圖
以上分析表明,幀差法檢測出了目標(biāo)的運(yùn)動(dòng)變化。幀間差分的運(yùn)算量比較小,實(shí)時(shí)性也強(qiáng),并且對(duì)環(huán)境光線的變化也沒那么的敏感,但僅僅用這個(gè)方法檢測出來的目標(biāo),內(nèi)部不是很完整,有“空洞”。
不同尺度視角看到的大自然性狀各異,計(jì)算機(jī)無法預(yù)知圖像中物體的尺度,因此,需要同時(shí)考慮圖像在多尺度下的描述[20]。對(duì)人類的視角而言,金字塔模型對(duì)圖像的尺度表達(dá)特別直觀,所以對(duì)視頻幀采用金字塔分解,分解過程如圖6所示。

G0為原始圖像;G1為高斯金字塔第1層;G2為第2層;G3為第3層
視頻圖像在獲取過程中難免會(huì)產(chǎn)生各式各樣的噪聲,比如光照、相機(jī)抖動(dòng)、圖像傳感器等帶來的噪聲,再加上環(huán)境中本身已有的噪聲,影響最終檢測結(jié)果。傳統(tǒng)的濾波方法,在消除噪聲時(shí)也使圖像的邊緣變平滑,造成圖像目標(biāo)邊緣細(xì)節(jié)缺失。而快速雙邊濾波是在空域矩陣中模糊去噪,值域矩陣內(nèi)保護(hù)邊緣,去噪的同時(shí)可以保留邊緣,濾波示意圖如圖7所示。圖7(a)是濾波前的圖像,含有許多不規(guī)則噪聲,且邊緣不清晰;圖7(b)是一個(gè)濾波模板,圖7(c)是濾波后的圖像,噪聲基本濾除且邊緣清晰。

圖7 雙邊濾波示意圖
僅使用幀差法的情況下,目標(biāo)的微小運(yùn)動(dòng)檢測變化效果一般。將高斯金字塔分解與雙邊濾波相結(jié)合,不僅提升了檢測速度,還很好地反映了偽裝目標(biāo)[21]的微小運(yùn)動(dòng)變化。
對(duì)獲取的視頻幀進(jìn)行灰度轉(zhuǎn)換,經(jīng)過快速雙邊濾波去噪后,并對(duì)圖像序列進(jìn)行視頻重建。此時(shí)再對(duì)視頻進(jìn)行幀差處理,進(jìn)一步提取圖像局部顯性特征,使目標(biāo)的圖像的局部信息得到更完整的表達(dá)。實(shí)驗(yàn)流程如圖8所示。

圖8 基于高斯金字塔與雙邊濾波的微小運(yùn)動(dòng)檢測流程圖
將本文采集到的視頻分解成視頻幀建立數(shù)據(jù)集,選取500幀圖像進(jìn)行測試。第一段“偽裝大師”林鴟的視頻數(shù)據(jù)來源于網(wǎng)絡(luò),第二段視頻為室內(nèi)拍攝作者2靜止不動(dòng)的手臂,第三段來源于MIT的計(jì)算機(jī)科學(xué)與人工智能(computer science and artificial intelligence,CSAIL)實(shí)驗(yàn)室視頻數(shù)據(jù)庫。分別對(duì)自然環(huán)境下一動(dòng)不動(dòng)的林鴟、手臂脈搏跳動(dòng)、熟睡嬰兒呼吸進(jìn)行微小運(yùn)動(dòng)變化檢測。實(shí)驗(yàn)平臺(tái)的配置如下:處理器為Intel(R) Core(TM) i5-3210 M CPU @2.50 GHz 2.50 GHz,軟件環(huán)境為matlabR2017b、python3.8.2及opencv。
以野外自然環(huán)境下的林鴟、室內(nèi)環(huán)境中靜止的手臂部分以及熟睡中呼吸的嬰兒為檢測對(duì)象,將本文檢測方法與幀差法、雙邊濾波結(jié)合幀差法、高斯金字塔分解結(jié)合幀差法做對(duì)比,檢測結(jié)果如圖9~圖11所示。
選取第6幀和第34幀的檢測結(jié)果圖,依次是原始圖像,幀差法結(jié)果圖,雙邊濾波結(jié)合幀差法結(jié)果圖,高斯分解結(jié)合幀差法結(jié)果圖,本文方法檢測結(jié)果圖。從圖9可以看出,本文方法檢測到的林鴟的微小運(yùn)動(dòng)范圍更大,變化效果更明顯。

圖9 林鴟的檢測結(jié)果對(duì)比
選取第43幀和第78幀的檢測結(jié)果圖,從圖10可以看出,本文方法檢測到的手臂脈搏跳動(dòng)的邊緣變化效果更明顯。

圖10 手臂的檢測結(jié)果對(duì)比
選取第17幀和第56幀的檢測結(jié)果圖,圖片次序同圖10。從圖11可以看出,本文方法檢測到的嬰兒呼吸的輪廓變化效果更明顯。

圖11 嬰兒的檢測結(jié)果對(duì)比
從以上檢測結(jié)果圖可以看出,對(duì)圖像直接做幀差法和經(jīng)過雙邊濾波再幀差,所達(dá)到的效果相差不是很大,但比其他兩種方法的檢測速度更慢。這是因?yàn)閳D片經(jīng)過高斯金字塔分解后尺寸縮小,進(jìn)一步減小了數(shù)據(jù)處理量,提升了檢測速度。雖然4種方法都不同程度的檢測到了運(yùn)動(dòng)變化,但針對(duì)不同環(huán)境下、不同對(duì)象的微小運(yùn)動(dòng),本文方法檢測出的運(yùn)動(dòng)變化最明顯,得到的檢測效果明顯優(yōu)于其他3種方法,說明本文方法的魯棒性和判斷相較于其他幾種方法更好。
將本文方法與對(duì)比方法在數(shù)據(jù)集上的整體性能進(jìn)行對(duì)比分析,將從檢測速度和幀差結(jié)果圖相似度兩個(gè)方面做評(píng)價(jià)。分別對(duì)4種算法進(jìn)行不同的組合,針對(duì)視頻序列偽裝的林鴟、靜止的手臂以及熟睡的嬰兒得到的不同算法下檢測速度的結(jié)果比較,如表1所示。
表1所示為檢測速度的對(duì)比結(jié)果。從表1的第4列可以看出,僅僅使用傳統(tǒng)的幀間差分法所達(dá)到的檢測速度最慢,以幀間差分法作為基準(zhǔn),分別觀察其他三種算法得到的檢測結(jié)果的速度。可以看出當(dāng)對(duì)數(shù)據(jù)集做高斯金字塔分解后檢測速度明顯提升,說明高斯金字塔分解可以有效提高檢測速度。相比傳統(tǒng)幀差法等,本文方法的檢測速度分別提高了4.23、4.83、3.36倍,檢測速度達(dá)到最快,實(shí)驗(yàn)范圍內(nèi)最高可以達(dá)到56.76 frame/s。

表1 不同算法檢測速度比較
此外,還以相似度做評(píng)價(jià)指標(biāo)來評(píng)價(jià)檢測方法性能。相似度可選擇哈希算法[22]或結(jié)構(gòu)相似性(structural similarity index,SSIM)法[23]來檢測。對(duì)每種方法的幀差結(jié)果圖,分別做相似度檢測。如果得到的檢測結(jié)果相似度越高,說明幀差圖越相似,則它們之間的運(yùn)動(dòng)變化越不明顯,對(duì)微小運(yùn)動(dòng)變化的檢測效果越差。SSIM算法的檢測結(jié)果在[0,1]之間,在這個(gè)范圍內(nèi),檢測值越大,相似度越高。對(duì)每種方法實(shí)驗(yàn)后得到的結(jié)果做SSIM相似度檢測,如圖12所示。
從圖12可以看出,在3種不同的視頻狀態(tài)下,本文方法的SSIM檢測相似度均為最低,說明幀差結(jié)果圖之間的相似性最低,差別最大,則說明微小運(yùn)動(dòng)變化反應(yīng)的越明顯。尤其是當(dāng)處理的圖片尺寸較小時(shí),檢測效果更好。

圖12 幀差結(jié)果圖的SSIM相似度檢測曲線
提出的基于高斯金字塔與快速雙邊濾波相結(jié)合的算法,以幀間差分為基礎(chǔ),對(duì)視頻中偽裝目標(biāo)的微小運(yùn)動(dòng)進(jìn)行檢測。將高斯金字塔的空間分解優(yōu)勢及雙邊濾波保邊去噪的優(yōu)勢,與幀差法簡潔高效的特點(diǎn)融合,完成了對(duì)視頻目標(biāo)的微小運(yùn)動(dòng)檢測。實(shí)驗(yàn)結(jié)果表明,采用基于高斯金字塔和雙邊濾波相結(jié)合的運(yùn)動(dòng)檢測方法,提高了存在微小運(yùn)動(dòng)目標(biāo)的視頻的檢測速度,達(dá)到56.76/s,速度大幅提升,比傳統(tǒng)幀差法等用時(shí)短,得到的微小運(yùn)動(dòng)變化結(jié)果也更顯著,具有較高的魯棒性。下一步將在本文檢測方法的基礎(chǔ)上對(duì)多尺寸目標(biāo)檢測做進(jìn)一步研究,提高算法實(shí)時(shí)性。