---
# System prepended metadata

title: IVA - Left Luggage
tags: [IVA, paper]

---

# IVA - Left Luggage
> [name=謝朋諺(Adam Hsieh)]
> [time=Tue, Mar 19, 2019 11:34 AM]
###### tags: `paper`,`IVA` 
---

## Real-Time Deep Learning Method for Abandoned Luggage Detection in Video
[論文連結](https://arxiv.org/pdf/1803.01160.pdf)
{%pdf https://arxiv.org/pdf/1803.01160.pdf %}

### Method
主要有兩階段步驟：
1. SOD 靜態物體檢測
2. 被遺棄的行李辨識

在第一階段也分為兩個小步驟，如下圖 background subtraction 和 motion estimation

![figure 1](https://i.imgur.com/v9gTFiM.jpg) 
* A. 減去背景留下前景 
* B. 基於減去時間上前後 5 frame 抓出移動的物件
* C. 將 A. 與 B. 的結果相減得出靜態前景的物件

最後對 Mask 裡元件中有相連的當作是一個靜態物件，並且對每個靜態物件畫出 bounding box，並且持續追蹤靜態物件在每個 frames 上，如果前後 frame 中的 IoU > 0.5 則判斷為同個物件。

第二階段我們將判斷靜態物件是不是廢棄的行李，使用的是 cascade of convolutional neural networks (CCNN)，使用 GoogLeNet 預訓練在 ILSVRC 上並且只訓練最後一層 Layer。

第一部分的神經網路被訓練為==辨識行李==的物件。第二部分的網路則被訓練為==辨識何種行李箱為廢棄的行李箱==，廢棄的行李箱為陽性，以及旁邊有行人站立的負面案例。第二部分的網路僅應用於由第一網路標記為肯定的圖像樣本，也此被稱為 cascade of classifiers。

對於每個找到物件後的 bounding box 長寬為 $h \times w$，但為了檢測周圍有沒有人站著將會把第一個 CNN 抓出來標記為行李的物件邊界框擴展為 $2h \times 3w$ 擷取較大的 image 出來。而為了即時追蹤靜態物件會在每 10 個 frame 執行一次 CCNN，並對於預測出來的分類分數每 25 frame (1 sec)執行一次高斯濾波平滑。並應用 sign transfer function 將 Object Track score 專換成分類標籤，並利用多數投票來確定相應 Object Track 的分類標籤。

![figure 2](https://i.imgur.com/De0YMGV.jpg)

如上圖，為了訓練兩種 CNN 模型，我們提供兩種類型例子，一種是網路上抓下來的圖片以增加 generalization 能力，另一種則是為了在相應場景中提供最佳的結果而自己產生的圖片。為了微調第一個 CNN model 我們會在各個要預估場景中的背景上隨機位置疊加各種模版的行李物品，以便獲得額外的正樣本，也會從背景中隨機選擇子圖像作為負樣本（沒有行李）。至於第二個 CNN model 的正樣本會使用跟前面一樣的正樣本圖片，但在負樣本則會在旁邊隨機產生人。

### Dataset
* [PETS 2006](https://www.cvg.reading.ac.uk/PETS2006/data.html): 7
* [PETS 2007](https://www.cvg.reading.ac.uk/PETS2007/data.html): 2
* [AVSS 2007](http://www.eecs.qmul.ac.uk/~andrea/avss2007_d.html): 3
* TCD: 2

共 14 部影片，42,869 個 frame

### Evaluation
定義了兩種度量方式： frame-level 跟 pixel-level
* pixel-levle: 如果檢測到的邊界框與正確答案之間 $IoU>0.2$ 則就認為是有正確檢測到。
* frame-level: 如果 Frame 包含至少一個廢棄的行李物件，則該 Frame 被認為有正確檢測到。

### Baseline And Models
Baseline 方法也基於兩階段。靜態物件檢測的第一階段與本文作法相同，第二階段則只用單個 CNN 替換 CCNN。
在 CCNN 中也考慮兩種版本，一種僅使用網路上的資料訓練，另一種是加入了生成樣本的訓練。

![figure 3](https://i.imgur.com/9RdztwD.jpg)

### Results and Discussion

|     Method | Precision | Recall | F1 Score |
| ---------- | --------- | ------ | -------- |
|  First CNN |    97.31% | 82.12% |   96.37% |
| Second CNN |    96.96% | 94.11% |   95.36% |

首先只==初步在網路上的圖片訓練跟測試==，有 2207 張圖片有遺棄的行李、2000 張帶有行李的照片、8035 張帶有其他物品的照片。第一個 CNN 只有將廢棄行李做為正樣本，具有其他物品的為負樣本。第二個 CNN 則由具有廢棄行李的作為正樣本，有人在旁邊的作為負樣本。對原始圖像有使用==翻轉==和==模糊==當作 augmentation。 $Training:Testing＝80:20$ 

![Table 2](https://i.imgur.com/GsTQlmx.png)

在==影片中的 Abandoned luggage 偵測結果==為 Table 2， 在 TCD 上效果都很好高於 98%，在平均上有加入生成樣本的效果都會較好，在沒有生成樣本的情況下訓練 CCNN 比 CNN 高出近於 10%。在 F1 Score 的平均上用生成樣本跟 CCNN 的效果有 90.29% 跟 90.18%。

速度上在 Intel Xeon Processor E5 1.7 GHz CPU 跟 32 GB 的 RAM 大概可以跑到 40 frames/sec，而且是沒有使用平行處理的情況。


