2:30 - 4:45
這篇文章是 利用 deconv net 進行 semantic segmentation的先作,在之前ZF曾利用deconv net 做 neural network的可視化工作,它相當於 conv net 的mirror。
作者利用的是VGG16,應該是fine-trunning 其所有層的參數。(文中沒有提到,所以是猜測)。
訓練過程分爲兩個階段,第一個階段:根據ground truth 進行 central box 選擇單個instance(中心 tight box 的max side 的1.2x),對這個square box 進行crop。因爲VGG16的
後兩層fc被保留,所以網絡應該是fixed input,因此,上面的square box 應該進行縮放到原圖大小,再輸入網絡。這一步主要是instance-wise segmentation training。
第二個階段: 先利用 edge box 方法進行proposal,然後將整張圖片輸入進網絡,進行訓練;注意:要平衡兩步的訓練樣例個數。
interface階段: 整個網絡的output,即deconv-net 的output應該是多通道的,個數爲C,每一個channel記錄了與原圖大小相同的對應位置的概率(前景、背景的概率),然後選擇概率最大的channel作爲mask,或者將各個channel summation。最後將前面的概率和CRF結合,輸出 pixel-wise labeling。
網絡架構圖如下:
可以看到網絡的層數較多,幾乎兩倍的VGG16,訓練時用了BN,和前面的兩階段訓練方法。deconv net的主要目的是memory conv net 的pooling switch variables。
網絡是和FCN互補的,即克服FCN的對於太大太小區域效果不好的缺點,於是結合FCN對coarse feature的提取,對object shape semantic 有較好的正確率,結合兩者的優點,可產生最佳的效果。
如下圖:
另外,對deconv net 的分析:
可以看到,沒經過一層 deconvolution net (圖b d f h j)能夠rich feature,沒經過一層 uppooling net,能夠sparse feature。噪聲被抑制,和類別相關的信息被放大。高層的deconv layer 能夠捕獲 class-specific shape infomation。
論文:Learning Deconvolution Network for Semantic Segmentation