【機器學習】coco2017presentation學習筆記

Note: 本人為初學者,下文僅為學習筆記,歡迎討論。

閱讀材料:COCO2017 三項task(detection, keypoint, stuff)優勝小組的presentation PPT ,資料來源於coco官網。下載地址可以到本人github:fangwudi/COCO2017presentation。以下涉及圖片,侵刪。

一 Detection相關

1. Megvii (Face++) 曠視科技

(1)觀點明確地指出,在detection中batch過小(小於16),會導致梯度下降不穩定、Batch Normalization 不精確、類不平衡的加劇(這點我認為本質不是它引起,只是略微加劇)。MegNet藉助其計算平台的力量,將batchsize做到了256,並且訓練時間縮短至2小時。

我認為這點是非常突出的優勢。訓練時間的大大縮短,加快了他們idea快速迭代的過程。另外,在以往,我也有體會,batchsize因為GPU顯存的限制而不得不大幅縮小,確實是個痛點。

(2)learning rate中先是有一段線性升高(從0.02到0.32),有可能是出於對大學習率的「預熱」考慮,盼大神解答 @skicy Yu 。

(3)RoI Align。思路應該是和Mask R-CNN類似。暫未深究,待續。

(4)網路結構。

圖1 overview

圖2 context extractor

沒有更多講解。暫時認為是FPN的變體結構。

2. MSRA 亞洲微軟研究院

(1)使用了可變形卷積網路

可變形卷積網路是MSRA在之前就想力推的結構,參見Deformable Convolutional Networks,代碼也在其github上。在presentation中指出,可以在卷積網路中對複雜空間轉換進行有效建模,也不需要額外的監督學習,對複雜視覺任務有顯著精度改善。

(2)最終模型使用了Aligned XCeption + FPN 並帶有可變形卷積的結構。

注意到的是,PPT中寫的是輸入圖片為224*224,這點我存有疑問,感覺應該是用更大的尺寸。

順帶說一句,挺喜歡知乎上的MSRA @微軟亞洲研究院 ,哈哈。

二 Keypoint相關

1 face++

(1)模型結構採用了Inception-ResNet(V2?)(輸入尺寸384x288),加類似FPN變體的結構。

圖中左半部分目的是定位易識別部位,右半部分是利用全局信息定位難識別部位。

(2)其他增強措施。使用裁剪、縮放、旋轉等圖像增強。採用Segmentation supervision,有可能指的是利用了數據標註中的segmentation信息,用於增強分辨擁擠場景的能力。ensemble中使用了Heatmap merge,這個不太清楚,盼解答 @王志成 ,個人理解是利用keypoint生成高斯熱圖。

事實上我個人也認為keypoint任務,仍然有著挖掘空間。

2 OKS 商湯

(1)傳統方法是person detection stage的模型結構為FPN+Mask-RCNN, backbone為ResNet-50;pose estimation stage的模型結構為Stacked Hourglass。而此處,基於MPII數據集,採用了Q-learning進行了自動網路優化設計,並遷移至coco。

所生成模型與Hourglass 2 stacks對比結果,似乎未見改善。

(2)在Box proposal中,相較傳統方法,增加了keypoint score,來生成合理的box。

這一點我認為是值得借鑒的,不過實現細節不清楚,因為傳統方法是兩個stage分的比較清楚,而為了引入它這個方法,有可能需要耦合。這個問題初衷可能是和我之前的考慮差不多,第一個person stage的box框結果往往是偏小,使得手部、腳、頭頂往往被裁到box外面。我最初的解決設想僅僅是對box取一定餘量擴大這樣的簡單辦法。

(3)使用模型從外部數據(AI Challenge)篩選出難識別樣本,再將該樣本補充回COCO進行聯合訓練。最終模型似乎用的是Hourglass 8 stacks。

----------------手動分割線-------------------

針對keypoint,臨時插入一段討論。最近在看一篇文章,A Coarse-Fine Network for Keypoint Localization。其在coco test-dev可以獲得AP72.2,重要的是它的AP mudium是78.7超過了AP large。

結合他的模型結構進行分析,我認為這個模型是在對中小尺寸目標做了重點優化。它會將所有提取出的單人圖像統一放大至448× 448,再進行多尺度特徵提取,並進行多層級熱圖匹配,以及融合特徵的fine熱圖。在這個過程中,實際上從大尺寸目標所學習到的能力也應用於了中小尺寸。這是一個我認為新穎、很有價值的method。 @NoahCao @彭雨翔

另外,我認為應該還存在一種辦法,可以使得AP m 和 AP L都達到較高。

--------------------------------------------------

三 Stuff相關

這個項目是比較有新意的。以往在detection中作為背景的天空、草地等,將會作為被識別對象。下面介紹一下Kaiming He的ResNeXt-FPN方法。

(1)目標識別領域當前四種深度網路

在目標識別與分割方面,有傳統的分類網路如Fast、Faster R-CNN,和FPN網路如Mask R-CNN;在語義分割方面,有以DeepLab各版本為代表的空洞卷積網路,和編碼-解碼網路如SegNet等。下文思路為對語義分割任務,使用FPN-net。

(2)具體實現

【本文正持續更新和完善中】


推薦閱讀:

機器學習-變數離散之MDLP-20180217
深入機器學習系列21-最大熵模型
實現屬於自己的TensorFlow(三) - 反向傳播與梯度下降實現
Fenchel-Lengendre Duality觀點下的優化演算法們(I):前言
Learning Explanatory Rules from Noisy Data 閱讀筆記2

TAG:深度學習DeepLearning | 機器學習 | 計算機視覺 |