李 陽(yáng),華 馳,唐庭龍
(1.江蘇信息職業(yè)技術(shù)學(xué)院物聯(lián)網(wǎng)工程學(xué)院,江蘇 無(wú)錫 214153;2.三峽大學(xué)計(jì)算機(jī)與信息學(xué)院,湖北 宜昌 443002 )
運(yùn)動(dòng)目標(biāo)檢測(cè)就是將場(chǎng)景的前景與背景進(jìn)行分離,它是后續(xù)視頻處理的基礎(chǔ),比如場(chǎng)景理解、識(shí)別、目標(biāo)檢測(cè)等[1-3]。針對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)問(wèn)題,大量有效的方法被提出,如高斯混合模型、PBAS等[4],它們已經(jīng)得到了廣泛的使用。
近些年,基于Robust Principal Component Analysis (RPCA)子空間學(xué)習(xí)的方法傳統(tǒng)被成功地應(yīng)用到運(yùn)動(dòng)目標(biāo)檢測(cè)中,RPCA[4]模型可以有效地實(shí)現(xiàn)簡(jiǎn)單場(chǎng)景下的運(yùn)動(dòng)目標(biāo)檢測(cè),比如運(yùn)動(dòng)目標(biāo)速度較快,背景中沒(méi)有晃動(dòng)的樹(shù),沒(méi)有波動(dòng)的湖面等[5]。
但是在復(fù)雜背景下,RPCA模型則會(huì)錯(cuò)誤地把動(dòng)態(tài)背景歸為前景運(yùn)動(dòng)目標(biāo)。如圖1所示,檢測(cè)結(jié)果圖中出現(xiàn)了很多的波動(dòng)的湖面,造成了誤檢。
為了更加魯棒地實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)檢測(cè),許多RPCA擴(kuò)展模型被提出并廣泛地應(yīng)用在運(yùn)動(dòng)目標(biāo)檢測(cè)中,如Decolor[5]、ThreeWayDec[6]、SSC-RPCA[7]模型。這些模型可以有效地處理緩慢運(yùn)動(dòng)和動(dòng)態(tài)背景下的運(yùn)動(dòng)目標(biāo)檢測(cè),但是它們的時(shí)間復(fù)雜度較高。
為此,本文提出了一種基于RPCA和和支持向量機(jī)[8](Support Vector Machine, SVM)的快速運(yùn)動(dòng)目標(biāo)檢測(cè)算法。本文方法先使用RPCA對(duì)視頻進(jìn)行分解,得到稀疏候選前景,同時(shí)使用超像素分割對(duì)圖像序列進(jìn)行分割,然后提取每個(gè)超像素對(duì)應(yīng)的稀疏前景和背景特征,并使用支持向量機(jī)進(jìn)行訓(xùn)練模型。當(dāng)進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)任務(wù)時(shí),只要對(duì)相應(yīng)的超像素塊進(jìn)行特征提取再使用模型進(jìn)行判斷即可實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)檢測(cè)。實(shí)驗(yàn)表明,本文的方法在保證精度精度的情況下,速度是現(xiàn)有模型的50倍左右。
現(xiàn)有的RPCA擴(kuò)展模型,如ThreeWayDec,它們通過(guò)增加對(duì)模型的約束來(lái)實(shí)現(xiàn)更加魯棒的運(yùn)動(dòng)目標(biāo)檢測(cè),雖然提高了檢測(cè)準(zhǔn)確率,但是使得模型變得較為復(fù)雜,且還有一些預(yù)處理,因此模型的時(shí)間復(fù)雜度較高。為此本文提出了一種基于RPCA和SVM的快速運(yùn)動(dòng)目標(biāo)檢測(cè)算法。接下來(lái)從四個(gè)部分來(lái)介紹本文的方法,這四個(gè)部分分別為RPCA模型提取稀疏前景、超像素特征提取、模型訓(xùn)練和測(cè)試應(yīng)用。
RPCA模型在提取視頻中前景信息時(shí),將視頻中的每一幀Ii拉成一列vec(Ii),再將連續(xù)的幀vec(Ii)組成一個(gè)新的二維矩陣D=[vec(I1),…,vec(In)],接下來(lái)采用RPCA模型對(duì)矩陣D∈Rm×n進(jìn)行分解,RPCA模型假設(shè)數(shù)據(jù)矩陣D是由一個(gè)背景矩陣A和一個(gè)前景矩陣E相加得到,它的模型如下
D=A+E
(1)
為了求解A和E需要將模型轉(zhuǎn)換為如下形式
(2)
通過(guò)RPCA模型分解,可以得到稀疏的前景信息。因?yàn)榍熬靶畔?huì)受到動(dòng)態(tài)背景的影響,所以前景矩陣中包含了很多背景。
為了處理動(dòng)態(tài)背景被誤認(rèn)為前景運(yùn)動(dòng)目標(biāo)的問(wèn)題,本文對(duì)前景矩陣進(jìn)行超像素分割并提取超像素塊的特征,進(jìn)行超像素約束。
本文采用Simple Linear Iterative Clustering (SLIC)算法來(lái)獲取超像素塊。SLIC的步驟如下:
1)先將圖像分為大小一致的小塊;
2)在每一塊中隨機(jī)選擇一個(gè)點(diǎn)作為聚類的中心Zi;
3)計(jì)算像素點(diǎn)到聚類中心的距離;
4)根據(jù)更新的圖像塊,重新計(jì)算聚類中心,重復(fù)步驟2)到4),直到聚類中心距離小于設(shè)定的閾值。通過(guò)以上步驟就可以得到超像素分割結(jié)果。
圖1 RPCA運(yùn)動(dòng)檢測(cè)結(jié)果
圖1(a)為超像素分割結(jié)果,處于同一個(gè)超像素塊的像素具有相同的屬性,要么都為前景,要么都為背景,屬于同一個(gè)類別。得到超像素塊后,便可以對(duì)超像素塊進(jìn)行特征提取。圖1(b)為經(jīng)過(guò)RPCA分解提取到的前景矩陣,可以看出圖1(b)中包含了背景信息。
接下來(lái)根據(jù)圖1(a)中超像素區(qū)域信息對(duì)圖1(b)中A超像素塊和B超像素塊進(jìn)行直方圖統(tǒng)計(jì)。其中圖1(b)中的超像素信息與圖1(a)中超像素信息相同。
圖2給出了前景矩陣超像素塊的直方圖,從中可以看出屬于背景的超像素塊的像素的值相對(duì)較小,相對(duì)集中,屬于前景的超像素塊的像素的絕對(duì)值相對(duì)較大,相對(duì)分散。
圖2 超像素塊直方圖
本文提取前景矩陣超像素的均值、方差、0范數(shù)和直方圖作為特征,提取完成后將它們組成一個(gè)特征向量。均值表示的一個(gè)超像素塊所有異常值的絕對(duì)值的均值
(3)
其中Xi為超像素塊中的一個(gè)像素。
方差為一個(gè)超像素塊所有異常值的方差
(4)
0范數(shù)的均值表示一個(gè)超像素塊非0元素個(gè)數(shù)占所有元素個(gè)數(shù)的比例
(5)
最后本文將所有特征組成一個(gè)特征向量F,F(xiàn)為一個(gè)1×37的向量,公式如下:
F=[X,S2,L0,p(Ck)]
(6)
圖3 訓(xùn)練過(guò)程
從前景矩陣的超像素塊中提取特征后,本文選擇線性支持向量機(jī)(Support Vector Machine, SVM)[8]作為分類器,每個(gè)視頻選擇了3000個(gè)前景超像素塊和3000個(gè)背景超像素塊進(jìn)行特征提取。令訓(xùn)練圖像的超像素特征為z,其中z=1表示超像素為前景,否則超像素為背景。訓(xùn)練步驟如圖3所示。
測(cè)試應(yīng)用分為如下幾個(gè)步驟:進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)任務(wù)時(shí),只要對(duì)相應(yīng)的超像素塊進(jìn)行體征提取再使用之前已經(jīng)訓(xùn)練得到的模型進(jìn)行判斷即可實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)檢測(cè),具體如圖4所示。
圖4 檢測(cè)過(guò)程
本文選擇CDNET2014[5]公共數(shù)據(jù)集中的7個(gè)視頻序列進(jìn)行實(shí)驗(yàn)。其中使用的視頻序列名稱如下:“canoe”、“Boats”、“Fall”、“Overpass”、“Snowfall”、“Skating”和“Blizzard”。
采用時(shí)間和綜合評(píng)價(jià)指標(biāo)F-measure[4]來(lái)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行客觀評(píng)價(jià),F(xiàn)-measure值越高,說(shuō)明檢測(cè)效果越好。其中時(shí)間采用的是每秒處理視頻的幀數(shù)(Frames Per Second, fps)來(lái)進(jìn)行評(píng)價(jià),fps值越高說(shuō)明檢測(cè)速度越快。F-measure的定義如下
(9)
其中P為精確率,R為召回率,TP為把正類的樣本歸為正類的個(gè)數(shù),F(xiàn)P為把負(fù)類的樣本歸為正類的個(gè)數(shù),F(xiàn)N為把正類的樣本歸為負(fù)類的個(gè)數(shù)。
實(shí)驗(yàn)環(huán)境為Windows 10 64位操作系統(tǒng),Matlab 2018a,20GB內(nèi)存,I5-9500處理器。
本文采用以下對(duì)比方法與本文方法進(jìn)行對(duì)比:RPCA[4]、DECOLOR[5]、ThreeWayDec[6]、SWCD[9]、MST[7]、GMM[10]。
表1為時(shí)間損耗表,表2為實(shí)驗(yàn)結(jié)果客觀評(píng)價(jià)F-measure結(jié)果,圖5為可視化結(jié)果。
表1 時(shí)間損耗(單位:fps)
表2 F-measure結(jié)果
圖5 部分可視化結(jié)果
從表1可以看出,本文的方法的運(yùn)算速度只比SWCD、MST和GMM方法的速度低,相對(duì)于其它基于RPCA擴(kuò)展模型的方法有了很大的提升,這主要是因?yàn)椴捎玫氖亲罨镜腞PCA模型,而其它模型DECOLOR、ThreeWayDec的模型相對(duì)復(fù)雜,計(jì)算量大。從表2可以看出,本文的方法在7個(gè)視頻中雖然只有一個(gè)F-measure值是最高的,但是另外5個(gè)視頻中取得的結(jié)果都和最好的結(jié)果相接近,只相差了0.01到0.02的指標(biāo)。只在Skating視頻中,與最好的結(jié)果相差較大,但是本文的方法在這個(gè)視頻中取得了與第二名、第三名相當(dāng)?shù)慕Y(jié)果。除此之外,本文方法在F-measure均值中是最高的。從圖5中可以看出文中的方法可以抑制背景中晃動(dòng)的樹(shù)葉、波動(dòng)的湖面等噪聲,同時(shí)提取出的前景也相對(duì)更加完整。
針對(duì)傳統(tǒng)RPCA擴(kuò)展模型在進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)時(shí)速度較慢的問(wèn)題,本文提出了一種基于RPCA和支持向量機(jī)的快速運(yùn)動(dòng)目標(biāo)檢測(cè)算法。該方法先使用RPCA對(duì)視頻進(jìn)行分解得到前景信息,同時(shí)對(duì)視頻中的圖像序列進(jìn)行超像素分割;然后分別提取前景和背景超像素塊的特征,并使用支持向量機(jī)進(jìn)行訓(xùn)練得到模型。在進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)時(shí),只要將RPCA分解和超像素分割的結(jié)果進(jìn)行特征提取,再使用已經(jīng)得到的模型進(jìn)行判斷既可實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)檢測(cè)。實(shí)驗(yàn)表明,在保持精度的同時(shí),大大提高了檢測(cè)效率。