日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Mask RCNN笔记

發(fā)布時(shí)間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mask RCNN笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

mask rcnn簡介

mask rcnn是何凱明基于以往的faster rcnn架構(gòu)提出的新的卷積網(wǎng)絡(luò),一舉完成了object instance segmentation. 該方法在有效地目標(biāo)的同時(shí)完成了高質(zhì)量的語義分割。 文章的主要思路就是把原有的Faster-RCNN進(jìn)行擴(kuò)展,添加一個(gè)分支使用現(xiàn)有的檢測對(duì)目標(biāo)進(jìn)行并行預(yù)測。同時(shí),這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)比較容易實(shí)現(xiàn)和訓(xùn)練,速度5fps也算比較快點(diǎn),可以很方便的應(yīng)用到其他的領(lǐng)域,像目標(biāo)檢測,分割,和人物關(guān)鍵點(diǎn)檢測等。并且比著現(xiàn)有的算法效果都要好,在后面的實(shí)驗(yàn)結(jié)果部分有展示出來。

場景理解



Mask R-CNN: overview




從上面可以知道,mask rcnn主要的貢獻(xiàn)在于如下:
1. 強(qiáng)化的基礎(chǔ)網(wǎng)絡(luò)
通過 ResNeXt-101+FPN 用作特征提取網(wǎng)絡(luò),達(dá)到 state-of-the-art 的效果。
2. ROIAlign解決Misalignment 的問題
3. Loss Function

細(xì)節(jié)描述

1. resnet +FPN

作者替換了在faster rcnn中使用的vgg網(wǎng)絡(luò),轉(zhuǎn)而使用特征表達(dá)能力更強(qiáng)的殘差網(wǎng)絡(luò)

另外為了挖掘多尺度信息,作者還使用了FPN網(wǎng)絡(luò)。

2. ROIAlign

說到這里,自然要與roi pooling對(duì)比。
我們先看看roi pooling的原理,這里我們可以看https://github.com/deepsense-ai/roi-pooling 的動(dòng)圖,一目了然。

對(duì)于roi pooling,經(jīng)歷了兩個(gè)量化的過程:
第一個(gè):從roi proposal到feature map的映射過程。方法是[x/16],這里x是原始roi的坐標(biāo)值,而方框代表四舍五入。
第二個(gè):從feature map劃分成7*7的bin,每個(gè)bin使用max pooling。


這兩種情況都會(huì)導(dǎo)致證輸入和輸出之間像素級(jí)別上的一一對(duì)應(yīng)(pixel-to-pixel alignment between network input and output)。

因此作者設(shè)計(jì)了ROI Align layer。

作者的ROI Align layer想法很簡單,就是去掉ROI Pooling過程中所有的量化過程,包括從原圖proposal到最后一層feature map映射,以及把feature map劃分成m*m的bin過程中的量化。

我們使用何凱明在iccv2017的ppt來說明。可以在百度云盤下載。鏈接: https://pan.baidu.com/s/1jHRubfK 密碼: jh5c

如上,roi映射到feature map后,不再進(jìn)行四舍五入。然后將候選區(qū)域分割成k x k個(gè)單元, 在每個(gè)單元中計(jì)算固定四個(gè)坐標(biāo)位置,用雙線性內(nèi)插的方法計(jì)算出這四個(gè)位置的值,然后進(jìn)行最大池化操作。

這里對(duì)上述步驟的第三點(diǎn)作一些說明:這個(gè)固定位置是指在每一個(gè)矩形單元(bin)中按照比例確定的相對(duì)位置。比如,如果采樣點(diǎn)數(shù)是1,那么就是這個(gè)單元的中心點(diǎn)。如果采樣點(diǎn)數(shù)是4,那么就是把這個(gè)單元平均分割成四個(gè)小方塊以后它們分別的中心點(diǎn)。顯然這些采樣點(diǎn)的坐標(biāo)通常是浮點(diǎn)數(shù),所以需要使用插值的方法得到它的像素值。在相關(guān)實(shí)驗(yàn)中,作者發(fā)現(xiàn)將采樣點(diǎn)設(shè)為4會(huì)獲得最佳性能,甚至直接設(shè)為1在性能上也相差無幾。事實(shí)上,ROI Align 在遍歷取樣點(diǎn)的數(shù)量上沒有ROIPooling那么多,但卻可以獲得更好的性能,這主要?dú)w功于解決了misalignment的問題。值得一提的是,在做實(shí)驗(yàn)的時(shí)候發(fā)現(xiàn),ROI Align在VOC2007數(shù)據(jù)集上的提升效果并不如在COCO上明顯。經(jīng)過分析為造成這種區(qū)別的原因是COCO上小目標(biāo)的數(shù)量更多,而小目標(biāo)對(duì)misalignment問題的影響更為明顯(比如,同樣是0.5個(gè)像素點(diǎn)的偏差,對(duì)于較大的目標(biāo)而言顯得微不足道,但是對(duì)于小目標(biāo),誤差的影響就要高很多)

下面摘取上面百度云盤里的一個(gè)ppt的插圖,更加細(xì)致地描述roialign。






也可以參考:http://blog.leanote.com/post/afanti.deng@gmail.com/b5f4f526490b

上面這篇文章還介紹了ROI Align的反向傳播算法。
roi pooling的求導(dǎo)可以參考:http://ow680yzep.bkt.clouddn.com/iccv15_tutorial_training_rbg.pdf

下圖對(duì)比了三種方法的不同,其中roiwarp來自:J. Dai, K. He, and J. Sun. Instance-aware semantic segmentation via multi-task network cascades

3. loss function

損失函數(shù)就是分類,回歸加mask預(yù)測的損失之和。

其中,對(duì)于mask分支和其他的分類分支一樣,使用全卷積網(wǎng)絡(luò)輸出,輸出了k類的mask。注意這里mask的輸出使用了sigmoid函數(shù)。最后可以通過與閾值0.5作比較輸出二值mask。這樣避免了類間的競爭,將分類的任務(wù)交給專業(yè)的classification分支。

而Lmask對(duì)于每一個(gè)像素使用二值的sigmoid交叉熵?fù)p失。

參考theano的文檔,二值的交叉熵定義如下: 這里的o就是sigmoid輸出。

4. 整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)


這里實(shí)際上有兩個(gè)網(wǎng)絡(luò)結(jié)構(gòu),一個(gè)就是:Mask R-CNN: overview的那副圖(或者如上左邊)。使用resnet-c4作為前面的卷積網(wǎng)絡(luò),將rpn生成的roi映射到C4的輸出,并進(jìn)行roi pooling,最后進(jìn)行分叉預(yù)測三個(gè)目標(biāo)。

另一個(gè)網(wǎng)絡(luò)就是這里的faster rcnn with fpn。

上述圖像同樣來自何凱明的ICCV2017 ppt
如上,使用fpn網(wǎng)絡(luò),每一個(gè)階層連接一個(gè)三分支網(wǎng)絡(luò)。考慮了多尺度信息,因此可以檢測更加小的目標(biāo)。
至于是否像之前的FPN在各階層共享三分支網(wǎng)絡(luò),不太清楚。

總結(jié)

mask rcnn的主要貢獻(xiàn)其實(shí)就是roi align以及加了一個(gè)mask分支。
目前開源代碼有:

  • https://github.com/TuSimple/mx-maskrcnn

    • https://github.com/CharlesShang/FastMaskRCNN

    • CAFFE :https://github.com/jasjeetIM/Mask-RCNN

期待官方的源碼放出~~

參考文獻(xiàn)

  • Mask R-CNN論文導(dǎo)讀
  • 如何評(píng)價(jià) Kaiming He 最新的 Mask R-CNN?
  • Mask-RCNN技術(shù)解析 [重點(diǎn)推薦]
  • ROI Align 原理解析和實(shí)現(xiàn)細(xì)節(jié) [重點(diǎn)推薦]
  • 論文閱讀-《Mask R-CNN》
  • Mask R-CNN - Notes
  • Notes: From Faster R-CNN to Mask R-CNN
  • Implementing Mask R-CNN[重點(diǎn)推薦]
  • Instance segmentation with Mask R-CNN
  • 總結(jié)

    以上是生活随笔為你收集整理的Mask RCNN笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。