1. 程式人生 > >cs231n spring 2017 lecture11 聽課筆記

cs231n spring 2017 lecture11 聽課筆記

window play 分支 執行 logs line display 像素 ssi

1. Semantic Segmentation

  把每個像素分類到某個語義。

  為了減少運算量,會先降采樣再升采樣。降采樣一般用池化層,升采樣有各種“Unpooling”、“Transpose Convolution”(文獻中也叫“Upconvolution”之類的其他名字)。

  這個問題的訓練數據的獲得非常昂貴,因為需要一個像素一個像素的貼標簽。

技術分享圖片

2. Classification + Localizatoin

  一般用同一個網絡,一方面得出分類,一方面得出Bounding box的位置和大小。

技術分享圖片

3. Object Detection

  預先設定好要找哪些objects,一旦圖片裏發現,就框出來。Classification + Localizatoin一般是針對單個物體,而這裏是針對多個物體。

  Sliding window:計算量太大,舍棄。

  Region Proposals:先找可能有物體的圖片區域,然後一個個處理,在CPU上大概幾秒的時間。這種方法在深度學習之前就出來了。

  R-CNN:先找出region proposal,然後把region proposal調整成神經網絡需要的大小,然後給神經網絡計算,最後通過SVM分類。

      訓練很慢(84h),也非常耗內存。預測也很慢(47秒 VGG16)

技術分享圖片

  Fast R-CNN:相比R-CNN快很多,訓練(8.75h),預測(計算region proposal花2秒,神經網絡預測花0.32秒)。

        訓練的時候把下圖中的Linear + softmax和Linear加起來得到multi-task loss。

技術分享圖片

  Faster R-CNN:用卷積層去預測region proposal。比Fast R-CNN更快,預測耗時0.2秒。

技術分享圖片

  YOLO(Redmon et al., CVPR 2016)/SSD(Liu et al, "Single-Shot MultiBox Detecotr", ECCV 2016):這兩種方法沒有用region proposal,更快,但是相對不那麽準。Faster R-CNN更慢,但是更準。

  Object Detection + Captioning (DenseCap, CVPR 2016)

4. Instance Segmentation

  Semantic Segmentation和Object Detection的結合,找出多個物體,並且判斷每個像素屬於哪個分類。

  Mask R-CNN (He et al., 2017),網絡有兩個分支,第一個執行Object Detection,第二個執行Semantic Segmentation。這個網絡把之前的都融合起來,是集大成者,表現非常非常好。在Object Detection分支加入對人體關節的識別,還能識別人的pose。基於Faster R-CNN,接近real-time。

技術分享圖片

cs231n spring 2017 lecture11 聽課筆記