# IVA - Abnormal Behaviour Detection > [name=謝朋諺(Adam Hsieh)] > [time=Thu, Mar 21, 2019 4:36 PM] ###### tags: `paper`,`IVA` --- ## Unsupervised abnormal behaviour detection with overhead crowd video [論文連結](http://hubertshum.com/info/publications/skima2017crowd/files/skima2017crowd.pdf) {%pdf https://hubertshum.com/info/publications/skima2017crowd/files/skima2017crowd.pdf %} ### Method Outline 方法由兩步驟組成: 1. 利用 CV 演算法追蹤行人軌跡。 2. 利用無監督式演算法迭代的 k-means cluster 來識別場景中的路徑,從而將不對勁的行人軌跡識別判斷為異常。 ### Advantages 1. 只需要 Overhead Video 當作輸入,不用抓取個人隱私資訊,如臉部資訊。 2. 不需要手動標記軌跡的類別標籤,節省大量人力成本。 3. 這個系統可以適應群眾變化。例如不會因為某條路被封起來而大家行為統一變化而發生警告。 ### System Overview ![Figure 1](https://i.imgur.com/9Ne3l9C.png) 整個系統概述如上圖,首先在真實環境中架設俯視鏡頭,再來實施半自動工具來跟蹤行人軌跡。我們提出了一種 Two-Pass 的跟蹤演算法。 第一個 pass 快速跟蹤每個行人有一個手動識別的位置。 第二個 pass 不斷循環校正每個錯誤的軌跡。 最後設計一個迭代的 k-means cluster 演算法,該算法會自動找出場景中的可能路徑,不適合的路徑就被判斷為異常。 ### Databse Creation ![Figure 2](https://i.imgur.com/eMC5OUL.jpg) 在真實環境中架設俯視鏡頭 1920X1080 50 frame/sec。 執行跟蹤演算法(在這邊使用的是 DSST 演算法) ### A two-pass interface for effective tracking 系統的第一個 pass 會要求用戶初始化每個行人軌跡中的一個位置,然後即時的追蹤行人直到軌跡碰到兩種情況: 1. 超出影片邊界 2. 進入了建築物的入口 本系統追蹤方式使用的是 offline 方式運行,先把資料都抓到之後才進行追蹤,但這些結果並不一定正確。 因此到了第二次的 pass 就是在糾正所有錯誤跟蹤的軌跡。基於跟蹤結果用戶可以識別哪些行人軌跡不正確,然後去手動更動這些軌跡在每個 frame 上,直到在下個 frame 有對上正確的軌跡。在這種情況下即使有個位置出錯了,也能在下個指示中得到糾正。因此可以得到一組高度準確的行人軌跡。 ![Figure 3](https://i.imgur.com/DxRlOmy.jpg) ![Figure 4](https://i.imgur.com/tZxXKzu.jpg) ### Trajectories Representation 由於不同的人具有不同的步行速度,所以跟蹤軌跡具有不同的長度。為了避免步行速度影響,我們講所有軌跡均勻的子採樣為預定長度。 每個軌跡標記為: $P(t)\ \ \forall\ \ t\ \ \in\ \ [1, t']$ * $P(t)$ 是在軌道上的第 t 個 2D 位置 * $t'$ 指的是軌道上預訂的樣本數 我們發現 $t'=40$ 效果會最好。 而我們也定義了兩個軌跡之間的距離函式:$D(P_1, P_2)=\displaystyle\sum_{t=1}^{t'}\sqrt{(P_1(t)-P_2(t))^2}$ ### Path Detection 使用 K-means clustering 並從 k=1 開始迭代一路往上疊加,並利用 Davies-Bouldin 指數評估 K-means 的好壞,Davies-Bouldin 值越小越好,代表著即 不同集群間的資料點差異性高,而同一集群內的資料點相似度高,我們利用 K-means 分群完之後,並開始取每個群集的平均軌跡,平均軌跡的公式為: $P'_i\ \ \forall\ i\in [1,k]$ 為了應對時間上的變化,我們每次取過去 m 分鐘,每 n 分鐘聚類一次,以反映最新的行人行為,在本文我們是設定 m=30、n=5。 ### Abnormal Trajectories Identification 為了評估各個軌跡以確定它們是否異常,本文定義了一個計算考慮軌蹟的評估函數: $E(P)=min_{\forall\ i\in [1,k]}(D(P, P'_i))$ P 為要被檢測到的路徑, D 就是前面的距離函式,假設 $E(P) > threshold$ 就代表路徑 $P$ 為異常路徑。 ### Dataset 105 分鐘的全高清影片 (1920X1080) 的校園俯視影片。總共提取了 350 位的行人軌跡,如下圖: ![Figure 5](https://i.imgur.com/0ySc6pn.jpg) 當我們 K-means 利用迭代去訓練之後,發現在 K=8 的時候效果最好,結果如下表: ![Table 1](https://i.imgur.com/3PxZEXX.png) 每隔五分鐘就會聚類一次,因此可以得到 8 條的平均路徑,如下圖: ![Figure 6](https://i.imgur.com/h2VzYPl.jpg) 我們實驗後發現 $threshold=3200$ 是效果最好的,如下圖就是較為詭異的路徑 ![Figure 7](https://i.imgur.com/noXayQ6.jpg) ![](https://i.imgur.com/GBslxvY.jpg) ![](https://i.imgur.com/w8c9Fgg.jpg) ![](https://i.imgur.com/JXmeXKD.jpg)