0
本文作者: 不靈叔 | 2018-03-20 11:44 | 專題:CVPR 2018 |
雷鋒網(wǎng) AI 科技評論按:本文為上海交通大學(xué)林天威為 AI 科技評論撰寫的獨(dú)家稿件,未經(jīng)雷鋒網(wǎng)許可不得轉(zhuǎn)載。
安防作為近年最熱門的計(jì)算機(jī)視覺研究落地方向,與視頻分析研究有著很緊密的關(guān)系。在真實(shí)的監(jiān)控視頻中,一個常見的需求就是要自動識別視頻流中的異常事件,也就是異常事件檢測任務(wù)(Anomaly detection)。
這個任務(wù)有許多的難點(diǎn),比如:
1.異常事件發(fā)生的頻率很低,導(dǎo)致數(shù)據(jù)的收集和標(biāo)注比較困難;
2.異常事件的稀少導(dǎo)致訓(xùn)練中的正樣本遠(yuǎn)少于負(fù)樣本;
在監(jiān)控場景中,不管是通常(normaly)還是異常(anomaly)事件都是很多樣且復(fù)雜的,即類別內(nèi)的多樣性很高,variance很嚴(yán)重。
最近UCF的CV研究中心就在CVPR18上發(fā)表了一篇關(guān)于監(jiān)控視頻異常事件檢測的論文(Real-world Anomaly Detection in Surveillance Videos, arxiv 1801.04264),提出了一種基于深度多實(shí)例排序的弱監(jiān)督算法框架,同時提出了一個新的大規(guī)模異常事件檢測數(shù)據(jù)集。這篇筆記主要對這篇文章進(jìn)行介紹,也算是幫助自己理解,若有錯誤煩請指正。
很多先前的方法都先學(xué)習(xí)一個通常的模式,并假定任何違背這個通常模式的 模式應(yīng)該是異常的。但事實(shí)上,一個方法很難也幾乎不可能去定義一個所謂的通常模式,因?yàn)橥ǔDJ嚼锩婵赡馨嗖煌氖录托袨榱?。同樣,也很難去定義異常事件,因?yàn)楫惓J录瑯右部赡馨囝愋偷那闆r了。所以,這篇文章主要提出了兩點(diǎn)motivations。
異常事件檢測任務(wù)應(yīng)該要在弱監(jiān)督框架下進(jìn)行學(xué)習(xí)。此處弱監(jiān)督指在訓(xùn)練時,只知道一段視頻中有或沒有異常事件,而異常事件的種類以及具體的發(fā)生時間是未知的。
異常事件檢測任務(wù)應(yīng)該采取兩階段的框架,即不管異常事件的種類,生成異常事件的proposal,之后再對proposal中包含的異常事件進(jìn)行分類。這樣有助于提高異常事件檢測的召回率(應(yīng)該是因?yàn)檫@樣可以找到一些不在現(xiàn)有類別中的異常)。這樣的框架和目標(biāo)檢測中的RCNN類方法十分相似。這篇文章則主要針對異常proposal階段進(jìn)行研究。
基于這樣的想法,該文采用了多示例學(xué)習(xí)(Multiple instance learning, MIL)方法來構(gòu)建算法框架,并提出了包含 稀疏和平滑約束的MIL 排序損失來訓(xùn)練模型。算法框架如下圖所示,主要使用MIL的思路構(gòu)建訓(xùn)練集合,使用C3D+FC 的網(wǎng)絡(luò)來獲取異常評分,最后采用提出的MIL排序損失來訓(xùn)練模型。
首先簡單的介紹一下多示例學(xué)習(xí),這是在20世紀(jì)90年代在機(jī)器學(xué)習(xí)領(lǐng)域中提出的方法。在MIL中,“包”被定義為多個示例的集合,其中”正包“中至少包含一個正示例,而“負(fù)包”中則只有負(fù)示例(此處示例的概念與樣本相同,以下不區(qū)分)。MIL的目的是得到一個分類器,使得對于待測試的示例,可以得到其正負(fù)標(biāo)簽??梢钥闯?,在異常檢測任務(wù)中,弱監(jiān)督實(shí)際上就是MIL的另外一種表達(dá)形式,所以MIL的求解算法很適合用于該弱監(jiān)督任務(wù)中。多示例學(xué)習(xí)的更多介紹可以參考這篇博客 多示例學(xué)習(xí)(Multiple Instance Learning)。
接下來介紹該文提出的算法。文中將異常檢測定義為一個回歸任務(wù),即異常樣本(anormal)的異常值要高于通常樣本(normal)。直觀的考慮可以將排序損失定義為:
此處Va和Vn分別為異常和通常樣本,f則為模型預(yù)測函數(shù)。由于在MIL中,并不知道正包中每個樣本的真實(shí)標(biāo)簽,所以采用以下的形式:
此處即指,在訓(xùn)練中對于正包和負(fù)包都只使用分?jǐn)?shù)最大的樣本來訓(xùn)練。具體而言,正包中分?jǐn)?shù)最大的樣本最可能是正樣本,而負(fù)包中分?jǐn)?shù)最大的樣本則被認(rèn)為是hard negative,即難例?;诖耸剑瑸榱俗屨?fù)樣本之間的距離盡可能遠(yuǎn),作者采用了hinge-loss的形式。
但這樣的loss并沒有考慮視頻的時序結(jié)構(gòu),所以作者提出了兩點(diǎn)改進(jìn)的motivation:
1.由于視頻片段是連續(xù)的,所以異常的分?jǐn)?shù)也應(yīng)該是相對平滑的。
2.由于正包中的正樣本(異常事件)比例是很低的,所以正包里面的分?jǐn)?shù)應(yīng)該是稀疏的。
基于這兩點(diǎn)motivation,作者在loss function中添加了兩個約束項(xiàng),分別為時序平滑約束以及稀疏約束。如下所示。
最后,再添加上模型參數(shù)的l2正則,就得到了最后的損失函數(shù)。
在具體實(shí)現(xiàn)中,本文采用了在其他數(shù)據(jù)集上預(yù)訓(xùn)練好的C3D模型來提取視頻片段的特征,此處不對C3D模型進(jìn)行訓(xùn)練。對提取好的特征,再使用3層全連接層來獲得最后的預(yù)測異常值。以上提出的MIL排序損失也是用來對這幾層FC層訓(xùn)練的。
在訓(xùn)練數(shù)據(jù)處理方面,該文將每個視頻均勻分為32個片段,作為一個包。訓(xùn)練時,隨機(jī)選取30個正包和30個負(fù)包作為mini-batch進(jìn)行訓(xùn)練。
本文的另外一個貢獻(xiàn)是提出了一個新的較大規(guī)模的異常事件檢測數(shù)據(jù)集UCF-Crime,參考下表,該數(shù)據(jù)集比起之前的數(shù)據(jù)集的優(yōu)點(diǎn)主要是兩方面:一是視頻的數(shù)量和視頻的總時長要遠(yuǎn)遠(yuǎn)多于之前的數(shù)據(jù)集,二是其中包含的異常事件類型比較豐富。
在數(shù)據(jù)集構(gòu)成方面,該數(shù)據(jù)集共包含13種異常事件。共有1900個視頻,其中異常和通常視頻各占950個。數(shù)據(jù)集劃分方面,訓(xùn)練集包含1610個視頻(800個通常視頻,810個異常視頻),測試集包含290個視頻(150個通常,140個異常視頻)。
數(shù)據(jù)集網(wǎng)址及該論文項(xiàng)目頁見:Real-world Anomaly Detection in Surveillance Videos
本文主要以ROC曲線下的AUC來衡量異常檢測算法的效果,其實(shí)驗(yàn)結(jié)果如下圖和下表所示??梢钥闯?,其算法比起之前的方法還是有很大的提高的。此外,添加訓(xùn)練中的約束項(xiàng)也帶來了一定的效果提升,不過不是很明顯。
下圖則是一些可視化的結(jié)果,可以看出在作者挑選的這些例子中,異常檢測的效果還是很不錯的,最右一列則為一些失敗案例。
在監(jiān)控任務(wù)場景中,一個可靠的系統(tǒng)應(yīng)該具備較高的召回率和較低的誤報(bào)率,作者比較了0.5閾值下的誤報(bào)率,也具備不錯的效果。
該文的方法只是做異常事件proposal,但該文的數(shù)據(jù)集實(shí)際上還能做異常時間分類任務(wù),所以此處作者還用C3D和TCNN兩種行為識別算法跑了一個baseline,可以看出此處TCNN的效果還是比C3D要好很多。
這篇文章主要針對異常事件檢測問題提出了一種新的弱監(jiān)督算法和一個新的數(shù)據(jù)集。算法方面,主要就是將這個問題套用進(jìn)了MIL的框架。這個數(shù)據(jù)集的提出應(yīng)該對這個方向的發(fā)展會有比較大的幫助,此前異常檢測一直沒有比較大的數(shù)據(jù)集。
缺點(diǎn)方面,我認(rèn)為對于異常檢測這種數(shù)據(jù)不平衡任務(wù),用PRC曲線會比ROC曲線能更好得起到衡量算法效果的作用。即應(yīng)該用Average Precision 來衡量異常檢測效果。另外文中還著重衡量了虛報(bào)率,而在真實(shí)場景中對于異常事件的召回率要更重要一些,畢竟漏過幾個異常事件比起虛報(bào)幾個異常事件帶來的負(fù)面影響更大。
總的來說,異常事件檢測作為真實(shí)場景中一個非常重要的任務(wù),目前針對性的研究還不是很多?;谶@篇文章提出的算法思路和數(shù)據(jù)集,后面應(yīng)該也會有更多的工作跟進(jìn)吧。
雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。
本專題其他文章