李 陽,華 馳,唐庭龍
(1.江蘇信息職業技術學院物聯網工程學院,江蘇 無錫 214153;2.三峽大學計算機與信息學院,湖北 宜昌 443002 )
運動目標檢測就是將場景的前景與背景進行分離,它是后續視頻處理的基礎,比如場景理解、識別、目標檢測等[1-3]。針對運動目標檢測問題,大量有效的方法被提出,如高斯混合模型、PBAS等[4],它們已經得到了廣泛的使用。
近些年,基于Robust Principal Component Analysis (RPCA)子空間學習的方法傳統被成功地應用到運動目標檢測中,RPCA[4]模型可以有效地實現簡單場景下的運動目標檢測,比如運動目標速度較快,背景中沒有晃動的樹,沒有波動的湖面等[5]。
但是在復雜背景下,RPCA模型則會錯誤地把動態背景歸為前景運動目標。如圖1所示,檢測結果圖中出現了很多的波動的湖面,造成了誤檢。
為了更加魯棒地實現運動目標檢測,許多RPCA擴展模型被提出并廣泛地應用在運動目標檢測中,如Decolor[5]、ThreeWayDec[6]、SSC-RPCA[7]模型。這些模型可以有效地處理緩慢運動和動態背景下的運動目標檢測,但是它們的時間復雜度較高。
為此,本文提出了一種基于RPCA和和支持向量機[8](Support Vector Machine, SVM)的快速運動目標檢測算法。本文方法先使用RPCA對視頻進行分解,得到稀疏候選前景,同時使用超像素分割對圖像序列進行分割,然后提取每個超像素對應的稀疏前景和背景特征,并使用支持向量機進行訓練模型。當進行運動目標檢測任務時,只要對相應的超像素塊進行特征提取再使用模型進行判斷即可實現運動目標檢測。實驗表明,本文的方法在保證精度精度的情況下,速度是現有模型的50倍左右。
現有的RPCA擴展模型,如ThreeWayDec,它們通過增加對模型的約束來實現更加魯棒的運動目標檢測,雖然提高了檢測準確率,但是使得模型變得較為復雜,且還有一些預處理,因此模型的時間復雜度較高。為此本文提出了一種基于RPCA和SVM的快速運動目標檢測算法。接下來從四個部分來介紹本文的方法,這四個部分分別為RPCA模型提取稀疏前景、超像素特征提取、模型訓練和測試應用。
RPCA模型在提取視頻中前景信息時,將視頻中的每一幀Ii拉成一列vec(Ii),再將連續的幀vec(Ii)組成一個新的二維矩陣D=[vec(I1),…,vec(In)],接下來采用RPCA模型對矩陣D∈Rm×n進行分解,RPCA模型假設數據矩陣D是由一個背景矩陣A和一個前景矩陣E相加得到,它的模型如下
D=A+E
(1)
為了求解A和E需要將模型轉換為如下形式

(2)


通過RPCA模型分解,可以得到稀疏的前景信息。因為前景信息會受到動態背景的影響,所以前景矩陣中包含了很多背景。
為了處理動態背景被誤認為前景運動目標的問題,本文對前景矩陣進行超像素分割并提取超像素塊的特征,進行超像素約束。
本文采用Simple Linear Iterative Clustering (SLIC)算法來獲取超像素塊。SLIC的步驟如下:
1)先將圖像分為大小一致的小塊;
2)在每一塊中隨機選擇一個點作為聚類的中心Zi;
3)計算像素點到聚類中心的距離;
4)根據更新的圖像塊,重新計算聚類中心,重復步驟2)到4),直到聚類中心距離小于設定的閾值。通過以上步驟就可以得到超像素分割結果。

圖1 RPCA運動檢測結果
圖1(a)為超像素分割結果,處于同一個超像素塊的像素具有相同的屬性,要么都為前景,要么都為背景,屬于同一個類別。得到超像素塊后,便可以對超像素塊進行特征提取。圖1(b)為經過RPCA分解提取到的前景矩陣,可以看出圖1(b)中包含了背景信息。
接下來根據圖1(a)中超像素區域信息對圖1(b)中A超像素塊和B超像素塊進行直方圖統計。其中圖1(b)中的超像素信息與圖1(a)中超像素信息相同。
圖2給出了前景矩陣超像素塊的直方圖,從中可以看出屬于背景的超像素塊的像素的值相對較小,相對集中,屬于前景的超像素塊的像素的絕對值相對較大,相對分散。

圖2 超像素塊直方圖
本文提取前景矩陣超像素的均值、方差、0范數和直方圖作為特征,提取完成后將它們組成一個特征向量。均值表示的一個超像素塊所有異常值的絕對值的均值

(3)
其中Xi為超像素塊中的一個像素。
方差為一個超像素塊所有異常值的方差

(4)
0范數的均值表示一個超像素塊非0元素個數占所有元素個數的比例

(5)

最后本文將所有特征組成一個特征向量F,F為一個1×37的向量,公式如下:
F=[X,S2,L0,p(Ck)]
(6)

圖3 訓練過程
從前景矩陣的超像素塊中提取特征后,本文選擇線性支持向量機(Support Vector Machine, SVM)[8]作為分類器,每個視頻選擇了3000個前景超像素塊和3000個背景超像素塊進行特征提取。令訓練圖像的超像素特征為z,其中z=1表示超像素為前景,否則超像素為背景。訓練步驟如圖3所示。
測試應用分為如下幾個步驟:進行運動目標檢測任務時,只要對相應的超像素塊進行體征提取再使用之前已經訓練得到的模型進行判斷即可實現運動目標檢測,具體如圖4所示。

圖4 檢測過程
本文選擇CDNET2014[5]公共數據集中的7個視頻序列進行實驗。其中使用的視頻序列名稱如下:“canoe”、“Boats”、“Fall”、“Overpass”、“Snowfall”、“Skating”和“Blizzard”。
采用時間和綜合評價指標F-measure[4]來對實驗結果進行客觀評價,F-measure值越高,說明檢測效果越好。其中時間采用的是每秒處理視頻的幀數(Frames Per Second, fps)來進行評價,fps值越高說明檢測速度越快。F-measure的定義如下

(9)
其中P為精確率,R為召回率,TP為把正類的樣本歸為正類的個數,FP為把負類的樣本歸為正類的個數,FN為把正類的樣本歸為負類的個數。
實驗環境為Windows 10 64位操作系統,Matlab 2018a,20GB內存,I5-9500處理器。
本文采用以下對比方法與本文方法進行對比:RPCA[4]、DECOLOR[5]、ThreeWayDec[6]、SWCD[9]、MST[7]、GMM[10]。
表1為時間損耗表,表2為實驗結果客觀評價F-measure結果,圖5為可視化結果。

表1 時間損耗(單位:fps)

表2 F-measure結果

圖5 部分可視化結果
從表1可以看出,本文的方法的運算速度只比SWCD、MST和GMM方法的速度低,相對于其它基于RPCA擴展模型的方法有了很大的提升,這主要是因為采用的是最基本的RPCA模型,而其它模型DECOLOR、ThreeWayDec的模型相對復雜,計算量大。從表2可以看出,本文的方法在7個視頻中雖然只有一個F-measure值是最高的,但是另外5個視頻中取得的結果都和最好的結果相接近,只相差了0.01到0.02的指標。只在Skating視頻中,與最好的結果相差較大,但是本文的方法在這個視頻中取得了與第二名、第三名相當的結果。除此之外,本文方法在F-measure均值中是最高的。從圖5中可以看出文中的方法可以抑制背景中晃動的樹葉、波動的湖面等噪聲,同時提取出的前景也相對更加完整。
針對傳統RPCA擴展模型在進行運動目標檢測時速度較慢的問題,本文提出了一種基于RPCA和支持向量機的快速運動目標檢測算法。該方法先使用RPCA對視頻進行分解得到前景信息,同時對視頻中的圖像序列進行超像素分割;然后分別提取前景和背景超像素塊的特征,并使用支持向量機進行訓練得到模型。在進行運動目標檢測時,只要將RPCA分解和超像素分割的結果進行特征提取,再使用已經得到的模型進行判斷既可實現運動目標檢測。實驗表明,在保持精度的同時,大大提高了檢測效率。