Mask R-CNN論文導讀

文章鏈接:Mask R-CNN

看到文章出來的第一個感覺就是,哇塞,大神們不光甩大招,還在一起甩~~~讓我們這些小蝦米們怎麼玩呢~廢話不多說,介紹重點。

一、文章思想

文章的主要思路就是把原有的Faster-RCNN進行擴展,添加一個分支使用現有的檢測對目標進行並行預測。同時,這個網絡結構比較容易實現和訓練,速度5fps也算比較快點,可以很方便的應用到其他的領域,像目標檢測,分割,和人物關鍵點檢測等。並且比着現有的算法效果都要好,在後面的實驗結果部分有展示出來。

二、簡介

實例分割的難度在於要先對一張圖片所有的目標進行正確的檢測同時還要對每個示例進行分割。檢測的目的是把每一個單個目標分類然後用bounding box標定出來,而實例分割的目的是區分每一個像素爲不同的分類而不用區別不同的目標。
可能這段話有點生硬難懂,大概意思就是目標檢測就是隻要檢測到一張圖像中有什麼目標同時使用標定框表示出來;而實例分割就是要在每一個像素上都表示出來目標所屬的具體類別。
這裏寫圖片描述
如圖中所示,本文框架爲在原有的基礎上對ROI進行一個分支,預測ROI當中元素所屬分類,使用FCN進行預測。

下面這張圖片能更好的理解檢測和分割的區別。在同一個檢測框中的目標並不屬於同一個類別,可能會有不同的像素被區分出來。
這裏寫圖片描述

三、主要思想

理解了大致的區別和作者所做的工作之後,這個主要思想就算是比較好理解了。首先對圖片做檢測,找出圖像中的ROI,對每一個ROI使用ROIAlign進行像素校正,然後對每一個ROI使用設計的FCN框架進行預測不同的實例所屬分類,最終得到圖像實例分割結果。
介紹一下網絡使用的損失函數爲分類誤差+檢測誤差+分割誤差
這裏寫圖片描述

分類誤差和檢測誤差在farster R-CNN當中已經介紹過了,可以去文獻當中查找。分割誤差爲新的東西,對於每一個ROI,mask分支定義一個Km2維的矩陣表示K個不同的分類對於每一個m*m的區域,對於每一個類都有一個。對於每一個像素,都是用sigmod函數進行求相對熵,得到平均相對熵誤差Lmask。對於每一個ROI,如果檢測得到ROI屬於哪一個分類,就只使用哪一個分支的相對熵誤差作爲誤差值進行計算。(舉例說明:分類有3類(貓,狗,人),檢測得到當前ROI屬於“人”這一類,那麼所使用的Lmask爲“人”這一分支的mask。)這樣的定義使得我們的網絡不需要去區分每一個像素屬於哪一類,只需要去區別在這個類當中的不同分別小類。

Faster R-CNN:包含兩個部分,提出RPN區域,找到目標框,對ROI進行分類。核心思想就是把圖片區域內容送給深度網絡,然後提取出深度網絡某層的特徵,並用這個特徵來判斷是什麼物體(文章把背景也當成一種類別,故如果是判斷是不是20個物體時,實際上在實現是判斷21個類。),最後再對是物體的區域進行微微調整。

Mask Representation:mask 對輸入目標的空間佈局進行編碼。使用m*m的矩陣對每一個ROI進行預測而不是使用向量去進行預測,這樣可以保證ROI當中的空間信息不會損失。

ROIAlign:RoI Pooling就是實現從原圖區域映射到卷積區域最後pooling到固定大小的功能,把該區域的尺寸歸一化成卷積網絡輸入的尺寸。在歸一化的過程當中,會存在ROI和提取的特徵不重合現象出現,作者就提出了這個概念ROIAlign,使用ROIAlign層對提取的特徵和輸入之間進行校準。
改變:我們避免對每一個ROI邊界或者塊進行數字化。使用雙線性內插法計算在ROI 塊當中固定的四個採樣位置得到的輸入特徵值並對結果進行融合。

Network Architecture
分成三個部分進行介紹,第一個是主幹網絡用來進行特徵提取,第二個是頭結構用來做邊界框識別(分類和迴歸),第三個就是mask預測用來對每一個ROI進行區分。

主幹網絡使用的是50層的深度殘差網絡ResNet50。
Head Architecture:
這裏寫圖片描述

Mask網絡使用的是如圖中個所示的簡單的結構,作者指出可能更爲複雜的結構能夠有更好的表現吧,這個需要以後驗證。留給未來的你了~~~

接下來就是一些參數的設置和實驗部分,這部分還是比較好理解的,看看參數,瞅瞅結果(肯定是最好的),這部分比較好理解,不多篇幅在這浪費時間了

四、擴展到行人姿勢預測

作者在最後提了一下擴展的方法,就是使用原有的mask分支進行關鍵點的檢測,然後對姿勢進行預測。可以看看

總體來說這篇文章想法是很好的,雖然東西都是使用的原有的,但是把檢測和分割弄到一起來實現,這樣可以省去很多事,不用分割的時候還要去找不一樣的分類什麼的怎麼分割啊,只需要對檢測得到的目標框中的區域進行分割,同時使用一個簡單的網絡分支就完成了這個任務,還是很有想法的,不過目前代碼沒放出來,只能分析這麼多了,有什麼不到的地方希望能指出~~~~~~~~~~

相關參考文獻:
R-CNN
Fast R-CNN
Faster R-CNN

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