[ECCV2018]點監督實現物體定位計數
6 人贊了文章
https://arxiv.org/pdf/1807.09856.pdf
Where are the Blobs: Counting by Localization with Point Supervision
物體計數是一個計算機視覺的任務,可以應用於監控,車輛計數,日常物體計數上。現在這一類數數的數據集還挺多的,包括數人,數車,數企鵝(據說可以應用於動物保護)。
計數問題有兩個難點,一個是物體的相互遮擋問題,另一個是在圖片中物體特別密集特別小的時候,每個物體只有非常少的像素。
目前的基於回歸的計數演算法要優於直接物體檢測後計數的方法,因為物體檢測需要適應物體不同的大小、形狀。檢測演算法的誤差會導致計數更大的誤差。
起初人們用一些聚類演算法來解決這個問題。深度學習時代,用了一些比較暴力的做法,如「glance(瀏覽)"、「subitizing(感知)」,前者直接輸入圖,輸出計數結果,後者輸出一個物體分割圖,需要像素級別的標註數據。這些方法目前還好於各種基於檢測的方法。
基於密度圖的做法,通常假設一個物體的大小(通過定義一個高斯核)來生成密度圖,讓網路擬合一個密度圖。
本文設計了一個損失函數,讓模型給出每個物體所在的區域塊,最後對區域數進行計數,而且需要的監督信號是每個物體一個位置點,而非邊界框。
損失函數叫做 localization-based counting loss (基於定位的計數損失函數),簡稱 LC。LC 有四項,前兩項要求模型給出圖的每個像素的語義標籤,後兩項要求模型學會分離有多個物體的區域,並且移除沒有物體的區域。

其中 S 表示 ground truth (GT)給出的圖,其中標註出的位置點為 c ( c 是該物體的類別),其它地方置為 0 。而 T 是網路的輸出,每一個像素上是一個 softmax 向量,表示這個像素屬於每一類物體的概率。
最後在輸出的每個像素上取 argmax 來劃分區域。

其中 是這張圖的 GT 給出的,圖中存在的物體類別集合,
表示不存在的物體類別集合。
是對 S 每個像素的 c 類別的概率取最大值。
也就是說,如果 GT 中有類別 c,就鼓勵模型預測出 c,反之懲罰預測出 c。
這一項只對有標註的位置點進行計算。

第三項是根據標註計算一個物體的邊界,要求模型把這些邊界分為背景類,邊界的確定是用分水嶺演算法,或者每個標註點找最近的點,在它們之間畫一條線段。

第四項對所有不包含標註點的區域計算損失。

從效果圖上可以看出各個 loss 的重要性。
目前這個方法的局限性就是仍然無法應付高密度相互遮擋的物體計數。
推薦閱讀:
※目標檢測演算法綜述 | 基於候選區域的目標檢測器 | CV | 機器視覺
※阿里獲全球知名計算機視覺大賽第一 幫農場打造「實時防蟲牆」
※5殺!張學友演唱會上屢立奇功的人臉識別,到底是什麼鬼?
※skimage例子學習(六)局部直方圖均衡化
※體積減半畫質翻倍,他用TensorFlow實現了這個圖像極度壓縮模型
TAG:計算機視覺 | 深度學習DeepLearning |

