---
# System prepended metadata

title: IVA - Abnormal Behaviour Detection
tags: [IVA, paper]

---

 # 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)
