ECCV-2018最佼佼者的目標檢測算法

轉眼間,離上次9月3日已有9天的時間,好久沒有將最新最好的“乾貨”分享給大家,讓大家一起在學習羣裏討論最新技術,那今天我給大家帶來ECCV-2018年最優paper之一,也是目標檢測裏的佼佼者,值得我們去深挖,去學習!

目標檢測算法概述

CornerNet可以說是今年ECCV一大亮點,其主要是由密歇根大學Hei Law等人創作,並在ECCV2018上發表,主要實現了更加精準的目標檢測算法。但是,今天在開始介紹接下來主角“CornerNet”之前,我帶大家先簡單回憶下object detection領域的主流算法,如果有興趣的您,可以瀏覽如下的文章:

接下來主要回顧之前流行算法的原因,是因爲CornerNet的主要算法和現在的主流算法框架很很多不一樣。

在深度學習領域的目標檢測算法中,現在主要分爲One-stage(如:SSD, YOLO,YOLO後期還出了更多的精確度和速度極高的版本)和Two-stage(如經典的RCNN系列)兩種。

One-stage是直接在輸入的圖片上經過各種卷積池化類的計算,從其意思也可以理解,就是一個階段,一般爲end-to-end框架,經過複雜的計算後,最終生成detections。但是,Two-stage則與其與衆不同,其主要是先去提取候選區域, 再基於提取的候選區域進行第二次修正。

通過實驗和框架的計算複雜度明顯可以看得出,One-stage的網絡框架速度快, 但是最終的檢測精度會較低點,而Two-stage精度高, 但由於框架複雜度提高,檢測速度會隨之變慢,最終的選擇取決使用的實際應用。

自從AlexNet在ImageNet大賽上取得第一的成績,而且遠遠超越第二名,因此深度學習有一次出名,掀起了深度學習新的一次浪潮。之後,Ross Girshick又將卷積神經網絡(CNN)取代了傳統的HOG、HOF和DPM等特徵提取方法。

具體的一些之前流行算法,您可以點擊如下鏈接進行閱讀。(RNNYOLO等,藍色字體可以鏈接到對應的paper

度學習近期總結分析

圖 1 Faster RCNN算法框架

Motivation

CornerNet認爲Two-stage目標檢測最明顯的缺點是區域候選階段需要提取的anchor boxes。

  • 提取的anchor boxes數量較多,比如DSSD使用40k,RetinaNet使用100k,anchor boxes衆多造成anchor boxes征服樣本均衡;
  • Anchor boxes需要調整很多超參數,比如anchor boxes數量、尺寸、比率,影響模型的訓練和推斷速率。

本次提出的One-stage的檢測方法,捨棄傳統的 anchor boxes思路,提出CornerNet模型預測目標邊界框的左上角和右下角一對頂點,即,使用單一卷積模型生成熱點圖和連接矢量:所有目標的左上角和所有目標的右下角熱點圖,每個頂點的連接矢量(embedding vector)。

圖 2 CornerNet框架

主要思路其實來源於一篇多人姿態估計的論文。

基於CNN的2D多人姿態估計方法,通常有2個思路(Bottom-Up ApproachesTop-Down Approaches):

  • Top-Down framework:就是先進行行人檢測,得到邊界框,然後在每一個邊界框中檢測人體關鍵點,連接成每個人的姿態,缺點是受人體檢測框影響較大,代表算法有RMPE;
  • Bottom-Up framework:就是先對整個圖片進行每個人體關鍵點部件的檢測,再將檢測到的人體部位拼接成每個人的姿態,代表方法就是openpose。

本次的第一個創新是講目標檢測上升到方法論,基於多人姿態估計的Bottom-Up思想,首先同時預測定位框的頂點對(左上角和右下角)熱點圖和embedding vector,根據embedding vector對頂點進行分組。

第二個創新是提出了corner pooling用於定位頂點。自然界的大部分目標是沒有邊界框也不會有矩形的頂點,依top-left corner pooling 爲例,對每個channel,分別提取特徵圖的水平和垂直方向的最大值,然後求和。

圖 3 corner pooling計算方式

本次paper認爲corner pooling之所以有效,是因爲:

  • 目標定位框的中心難以確定,和邊界框的4條邊相關,但是每個頂點只與邊界框的兩條邊相關,所以corner 更容易提取;
  • 頂點更有效提供離散的邊界空間,實用O(wh)頂點可以表示O(w2h2) anchor boxes。

Paper的第三個創新是模型基於hourglass架構,使用focal loss的變體訓練神經網絡。

論文提出的CornerNet在MS COCO測試驗證,達到42.1% AP,完勝所有的One-stage目標檢測方法,基於PyTorch源碼請在公衆號回覆CornerNet

Architecture

  • Overview

圖 4 CornerNet模型架構

如圖 4所示,CornerNet模型架構包含三部分,Hourglass Network,Bottom-right corners&Top-left Corners Heatmaps和Prediction Module。

Hourglass Network是人體姿態估計的典型架構,論文堆疊兩個Hourglass Network生成Top-left和Bottom-right corners,每一個corners都包括corners Pooling,以及對應的Heatmaps, Embeddings vector和offsets。embedding vector使相同目標的兩個頂點(左上角和右下角)距離最短, offsets用於調整生成更加緊密的邊界定位框。

  • Detecting Corners

Paper模型生成的heatmaps包含C channels(C是目標的類別,沒有background channel),每個channel是二進制掩膜,表示相應類別的頂點位置。

對於每個頂點,只有一個ground-truth,其他位置都是負樣本。在訓練過程,模型減少負樣本,在每個ground-truth頂點設定半徑r區域內都是正樣本,這是因爲落在半徑r區域內的頂點依然可以生成有效的邊界定位框,論文中設置IoU=0.7。

pcij表示類別爲c,座標是(i,j)的預測熱點圖,ycij表示相應位置的ground-truth,論文提出變體Focal loss表示檢測目標的損失函數:

由於下采樣,模型生成的熱點圖相比輸入圖像分辨率低。論文提出偏移的損失函數,用於微調corner和ground-truth偏移。

  • Grouping Corners

輸入圖像會有多個目標,相應生成多個目標的左上角和右下角頂點。對頂點進行分組,論文引入Associative Embedding的思想,模型在訓練階段爲每個corner預測相應的embedding vector,通過embedding vector使同一目標的頂點對距離最短,既模型可以通過embedding vector爲每個頂點分組。

模型訓練Lpull損失函數使同一目標的頂點進行分組, Lpush損失函數用於分離不同目標的頂點。

  • Hourglass Network

Hourglass Network同時包含了bottom-up(from high resolutions to low resolutions)和top-down (from low resolutions to high resolutions)。而且,整個網絡有多個bottom-up和top-down過程。這樣設計的目的是在各個尺度下抓取信息。針對目標檢測任務,論文調整了Hourglass一些策略。

Experiments

論文的訓練損失函數包含了第三部分介紹的4個損失函數,α, β γ用於調整相應損失函數的權重:

模型訓練過程中使用10個Titan X (PASCAL) GPUs,詳細的訓練參數可參考原論文。模型的推斷時間是244ms/ image (Titan XPASCAL GPU)。

CornerNet相比其它one-stage目標檢測算法,MS COCO數據集測試AP有明顯提高,雖然性能接近於Two-stage檢測算法,但是推斷時間無明顯優勢。

Table 4MS COCO test-dev數據集性能對比

Discussion

個人觀點:CornerNet創新來自於多人姿態估計的Bottom-Up思路,預測corner的heatmps,根據Embeddings vector對corner進行分組,其主幹網絡也來自於姿態估計的Hourglass Network。模型的源碼請在公衆號回覆:CornerNet獲取,可以放心研究測試。

CV的很多任務之間是相通的,CVPR2018 best paper也印證這一觀點,在不同的子領域尋找相似性,遷移不同領域的算法,是CV行業一個趨勢。

多人姿態估計的Hourglass Network算法也不斷改進中,其實論文模型的推斷速率受限於Hourglass Network的特徵提取,有志青年也可以沿着這個思路取得更好的性能。

  • Newell, A., Huang, Z., Deng, J.: Associative embedding: End-to-end learning for joint detection and grouping. In: Advances in Neural Information Processing Systems. pp. 2274{2284 (2017)
  • Hei Law, Jia Deng :CornerNet: Detecting Objects as Paired Keypoints.ECCV2018
  • Girshick, R.: Fast r-cnn. arXiv preprint arXiv:1504.08083 (2015)
  • Girshick, R., Donahue, J., Darrell, T., Malik, J.: Rich feature hierarchies for accurate object detection and semantic segmentation. In: Proceedings of the IEEE conference on computer vision and pattern recognition. pp. 580{587 (2014)
  • Lin, T.Y., Goyal, P., Girshick, R., He, K., Doll´ar, P.: Focal loss for dense object detection. arXiv preprint arXiv:1708.02002 (2017)
  • Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., Fu, C.Y., Berg, A.C.:SSD: Single shot multibox detector. In: European conference on computer vision.pp. 21{37. Springer (2016)
  • Newell, A., Yang, K., Deng, J.: Stacked hourglass networks for human pose estimation. In: European Conference on Computer Vision. pp. 483{499. Springer (2016)
  • Amir R. Zamir , Alexander Sax Taskonomy: Disentangling Task Transfer Learning.CVPR2018
文章地址

https://arxiv.org/abs/1808.01244

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章