賀志洋,秦 蕾,陳 璽,李 楊
(北京計(jì)算機(jī)技術(shù)及應(yīng)用研究所,北京 100854)
基于機(jī)器視覺(jué)的運(yùn)動(dòng)目標(biāo)檢測(cè)是根據(jù)視頻序列圖像在時(shí)間和空間上的信息,經(jīng)過(guò)一定推理計(jì)算來(lái)確定運(yùn)動(dòng)目標(biāo)的位置。運(yùn)動(dòng)目標(biāo)檢測(cè)也稱前景檢測(cè),是視頻分析技術(shù)領(lǐng)域的重要內(nèi)容,也是目標(biāo)跟蹤和行為分析的前提,它在AR、人機(jī)交互、視頻監(jiān)控等多領(lǐng)域得到廣泛應(yīng)用[1]。在物聯(lián)網(wǎng)的視頻監(jiān)控領(lǐng)域,運(yùn)動(dòng)目標(biāo)檢測(cè)過(guò)程往往是在本地邊緣計(jì)算層完成的。由于本地的計(jì)算能力有限,所以邊緣計(jì)算中亟需計(jì)算成本低且不影響準(zhǔn)確率和精度的輕量化檢測(cè)算法。
目前已有專家學(xué)者提出多種運(yùn)動(dòng)目標(biāo)檢測(cè)方法,主要有幀間差分法、背景建模法、光流法和機(jī)器學(xué)習(xí)法四類。
幀間差分法是利用視頻中時(shí)間相近的若干幅圖像(幀)的差異,檢測(cè)出運(yùn)動(dòng)目標(biāo)[2]。楊嘉琪等人[3]采用基于自適應(yīng)學(xué)習(xí)率的混合高斯背景建模,以像素點(diǎn)間的匹配次數(shù)作為參考量來(lái)修正模型的學(xué)習(xí)速率,提高算法對(duì)動(dòng)態(tài)環(huán)境的適應(yīng)性;通過(guò)基于邊緣提取的三幀差分改進(jìn)算法對(duì)視頻圖像的目標(biāo)輪廓進(jìn)行提取,保證目標(biāo)信息的完整。余長(zhǎng)生等人[4]提出了一種將TFDM與混合高斯模型(GMM)相結(jié)合的運(yùn)動(dòng)目標(biāo)檢測(cè)方法;與單獨(dú)的TFDM和GMM算法相比,既能得到相對(duì)完整的運(yùn)動(dòng)目標(biāo),又能減小噪聲等外部干擾帶來(lái)的影響。幀間差分法雖然簡(jiǎn)單,但目標(biāo)中往往出現(xiàn)空洞,需要累積多幅圖像(幀)后才能得到完成的目標(biāo)。
光流法是利用圖像序列中像素在時(shí)間域上的變化以及相鄰幀之間的相關(guān)性來(lái)找到上一幀跟當(dāng)前幀之間存在的對(duì)應(yīng)關(guān)系,從而計(jì)算出相鄰幀之間物體的運(yùn)動(dòng)信息的一種方法。它是通過(guò)視頻中多個(gè)點(diǎn)在不同幀間的移動(dòng),檢測(cè)移動(dòng)的目標(biāo)[5]。Xia等人[6]利用光流的高階特征進(jìn)行復(fù)雜背景下的人體動(dòng)作識(shí)別。崔捷等人[7]為了保證生成器能夠利用正常的視頻幀產(chǎn)生清晰的高質(zhì)量預(yù)測(cè)結(jié)果,而讓異常的幀預(yù)測(cè)不清晰,基于U-Net設(shè)計(jì)了輸入具有時(shí)間差的兩幀雙流生成器,并取得較佳的檢測(cè)效果。但是光流法計(jì)算量相對(duì)較大,不適合性能較低的視頻采集分析設(shè)備,尤其是邊緣計(jì)算設(shè)備。
背景建模法是建立視頻中的背景模型,再利用當(dāng)前圖像幀與背景模型的差異,分離出運(yùn)動(dòng)目標(biāo)[8]。劉志豪等人[9]提出一種以ViBe算法為基礎(chǔ)的改進(jìn)算法,采用多幀初始化背景模型的方式,為背景模型引入可靠真實(shí)的背景樣本。楊國(guó)萍[10]在動(dòng)態(tài)場(chǎng)景中準(zhǔn)確高效地檢測(cè)到監(jiān)控內(nèi)的環(huán)境異常變化,并展開研究,提出一種參數(shù)自適應(yīng)的高斯混合背景模型,并獲得較佳的測(cè)試效果。但是背景建模法計(jì)算量較大,不適合性能較低的視頻采集分析設(shè)備。
機(jī)器學(xué)習(xí)法是利用待識(shí)別對(duì)象的多幅圖像訓(xùn)練神經(jīng)網(wǎng)絡(luò),再用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)分離圖像中的目標(biāo)[11]。王震宇等人[12]利用深度卷積神經(jīng)網(wǎng)絡(luò)在公開的OPPORTUNITY傳感器數(shù)據(jù)集中進(jìn)行運(yùn)動(dòng)識(shí)別,實(shí)驗(yàn)證明該方法能夠改進(jìn)以前手工設(shè)計(jì)的模型結(jié)構(gòu),且是可行有效的。但是機(jī)器學(xué)習(xí)法需要大量的訓(xùn)練圖像、大量的訓(xùn)練時(shí)間、高性能的計(jì)算設(shè)備,對(duì)運(yùn)行模型的設(shè)備性能要求也較高。
上述研究在運(yùn)動(dòng)目標(biāo)檢測(cè)中均取得了較大進(jìn)展,但是針對(duì)物聯(lián)網(wǎng)的邊緣計(jì)算均難以滿足輕量化的計(jì)算需求。因此本文提出一種差分分塊運(yùn)動(dòng)目標(biāo)快速檢測(cè)算法。該算法的輸入是相近兩幀圖像,避免了背景模型的構(gòu)建和更新步驟。同時(shí),該算法具有計(jì)算復(fù)雜度和時(shí)間復(fù)雜度較低的優(yōu)點(diǎn)。
差分分塊運(yùn)動(dòng)目標(biāo)快速檢測(cè)算法是對(duì)采集視頻中時(shí)間相近的兩幅圖像(幀)進(jìn)行差分,并將圖像分塊,選擇移動(dòng)塊對(duì)圖像進(jìn)行二分法查找,最終確定運(yùn)動(dòng)目標(biāo)。該算法主要包括如下步驟:采集視頻中時(shí)間相近的兩幅圖像(幀)并將圖像分塊,計(jì)算采集到的兩幅圖像的差異圖像并二值化,在采集時(shí)間靠后的圖像上選擇移動(dòng)塊,在選擇的移動(dòng)塊的鄰接塊中選擇移動(dòng)塊,組成運(yùn)動(dòng)目標(biāo),其流程如圖1所示。
圖1 差分分塊的運(yùn)動(dòng)目標(biāo)快速檢測(cè)算法流程
采集視頻中時(shí)間相近的兩幅圖像(幀)并將圖像分塊。采集到的兩幅圖像(幀)分別為圖像I1和圖像I2,圖像I2的采集時(shí)間靠后,通常時(shí)間差在200 ms左右。圖像I1和圖像I2的大小相同,為M行N列,劃分為m行n列的小塊,m 圖2 圖像分塊示意圖 計(jì)算采集到的兩幅圖像的差異圖像并二值化。首先,進(jìn)行差分運(yùn)算,兩幅圖像I1和I2的差異圖像I3的像素值是圖像I1和I2對(duì)應(yīng)像素值之差的絕對(duì)值,即I3(x, y)=|I2(x, y)-I1(x, y)|,其中圖像I3的大小與圖像I1和I2相同,也劃分為m行n列的小塊。其次,對(duì)差分圖像I3進(jìn)行二值化。二值化的閾值根據(jù)經(jīng)驗(yàn)設(shè)定為:閾值T=均值+標(biāo)準(zhǔn)差。 在采集時(shí)間靠后的圖像上選擇移動(dòng)塊。二值化后圖像I3中的塊包含的差異像素?cái)?shù)目大于等于塊中像素?cái)?shù)目的1/10時(shí),標(biāo)記為差異塊。如果采集時(shí)間靠后的圖像I2的某個(gè)塊在差異圖像I3中對(duì)應(yīng)塊的鄰接塊是差異塊,則圖像I2中的這個(gè)塊就標(biāo)記為候選移動(dòng)塊。圖像I2的某個(gè)塊在差異圖像I3中對(duì)應(yīng)塊的上、下、左、右、左上、左下、右上、右下等8個(gè)鄰接塊中,有一個(gè)鄰接塊是差異塊,則圖像I2中的這個(gè)塊就標(biāo)記為候選移動(dòng)塊。計(jì)算候選移動(dòng)塊在圖像I1中對(duì)應(yīng)的運(yùn)動(dòng)向量和運(yùn)動(dòng)向量處的差異。如果圖像I2中的這個(gè)塊在運(yùn)動(dòng)向量處的差異小于等于閾值T,則標(biāo)記為移動(dòng)塊,否則不標(biāo)記。運(yùn)動(dòng)向量個(gè)數(shù)計(jì)算可以采用視頻圖像編碼的方法計(jì)算,運(yùn)動(dòng)向量的絕對(duì)值不超過(guò)圖像塊的大小。 在選擇的移動(dòng)塊的鄰接塊中選擇移動(dòng)塊,組成運(yùn)動(dòng)目標(biāo)。具體實(shí)施時(shí),如果采集時(shí)間靠后的圖像I2的某個(gè)塊與某個(gè)移動(dòng)塊鄰接,且其在圖像I1中的運(yùn)動(dòng)向量與移動(dòng)塊的運(yùn)動(dòng)向量相近,差值在-1~min(M/m,N/n)范圍內(nèi),且在運(yùn)動(dòng)向量處的差異小于等于閾值T,則這個(gè)塊也標(biāo)記為移動(dòng)塊。所有鄰接的移動(dòng)塊組成運(yùn)動(dòng)目標(biāo)。 為了驗(yàn)證提出的差分分塊運(yùn)動(dòng)目標(biāo)快速檢測(cè)算法的有效性,利用MATLAB2019軟件在ThinkPadE450c硬件平臺(tái)上進(jìn)行實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)對(duì)象為2007年英國(guó)的基于視頻和信號(hào)的監(jiān)控系統(tǒng)會(huì)議提供的AVSS數(shù)據(jù)集。 通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),該方法對(duì)上述實(shí)驗(yàn)對(duì)象均可有效識(shí)別其運(yùn)動(dòng)目標(biāo),其中一組的實(shí)驗(yàn)過(guò)程及效果如圖3所示。其中,測(cè)試視頻的幀率為30 fps,視頻的單幀圖像像素為240×320。實(shí)驗(yàn)所使用的樣本視頻為50組,每組樣本視頻時(shí)間長(zhǎng)度為10 s。圖3中:(a)是視頻中前幀圖像,(b)是視頻中后幀圖像,(c)是兩幀圖像的差分圖像,(d)是對(duì)差分圖像做二值化運(yùn)算并分塊得到的圖像,(e)是在視頻中的后幀圖像中檢測(cè)并標(biāo)記出的移動(dòng)塊,將移動(dòng)塊合并后則得到圖像(f),圖像(f)也是所得到的運(yùn)動(dòng)目標(biāo)識(shí)別結(jié)果。 圖3 實(shí)驗(yàn)過(guò)程及效果 為了進(jìn)一步驗(yàn)證差分分塊運(yùn)動(dòng)目標(biāo)快速檢測(cè)算法的實(shí)時(shí)性,引入了光流法和已經(jīng)訓(xùn)練好的YOLO3作為對(duì)比方法。其中,光流法是基于光流假設(shè)的一種傳統(tǒng)運(yùn)動(dòng)目標(biāo)識(shí)別方法;YOLO3是近年來(lái)提出的一種圖像快速分割的網(wǎng)絡(luò)模型,將對(duì)象檢測(cè)重新定義為一個(gè)回歸問(wèn)題。它將單個(gè)卷積神經(jīng)網(wǎng)絡(luò)(CNN)應(yīng)用于整個(gè)圖像,將圖像分成網(wǎng)格,并預(yù)測(cè)每個(gè)網(wǎng)格的類概率和邊界框。這兩種對(duì)比方法均可有效識(shí)別出視頻中的運(yùn)動(dòng)目標(biāo)。 利用上述實(shí)驗(yàn)平臺(tái)和實(shí)驗(yàn)對(duì)象分別使用光流法和YOLO3進(jìn)行定位識(shí)別,其平均耗時(shí)見(jiàn)表1所列,其中光流法和YOLO3的平均耗時(shí)分別為8.437 s和0.352 s。 表1 運(yùn)動(dòng)目標(biāo)識(shí)別耗時(shí) 為了滿足物聯(lián)網(wǎng)中視覺(jué)設(shè)備邊緣計(jì)算的輕量化需求,提出了差分分塊運(yùn)動(dòng)目標(biāo)快速檢測(cè)算法,并通過(guò)實(shí)驗(yàn)進(jìn)行了驗(yàn)證。結(jié)果表明,本文所提出的算法可有效識(shí)別視頻圖像中運(yùn)動(dòng)目標(biāo),且計(jì)算復(fù)雜度和時(shí)間復(fù)雜度低,具有耗時(shí)低的特點(diǎn)。對(duì)硬件設(shè)備的計(jì)算能力要求不高,能夠滿足邊緣計(jì)算的輕量化需求。2 實(shí)驗(yàn)驗(yàn)證
3 結(jié) 語(yǔ)