日本在线看黄a美女久草|日本动漫亚洲在线一区|日韩人妻无码免费视频|A√有码中文字幕|日韩一级片视频热久久久|一区二区三区四区精品无码在线|亚洲AV成人无码一二三app|亚洲综合图片绯色|91极品人妻在线网站|国产成人精品一区二三区四区五区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給AI研習社-譯站
發(fā)送

0

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

本文作者: AI研習社-譯站 2018-05-15 16:45
導(dǎo)語:一次來個痛快

雷鋒網(wǎng)按:本文為雷鋒字幕組編譯的技術(shù)博客,原標題 What do we learn from region based object detectors (Faster R-CNN,R-FCN, FPN)?,作者為 Jonathan Hui 。

翻譯 | 唐青  李振    整理 |  凡江

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

在這個系列中,我們將對目標檢測算法進行全面探討。 第 1 部分,我們介紹常見的基于區(qū)域的目標檢測器,包括 Fast R-CNN , Faster R-CNN , R-FCN 和 FPN 。 第 2 部分,我們介紹單步檢測器(single shoot dectors, SSD )。第 3 部分,我們探討算法性能和一些具體的例子。通過在相同的環(huán)境研究這些算法,我們研究哪些部分在其作用,哪些部分是重要的,可以在哪些部分進一步改進。希望通過對算法如何發(fā)展到今天的研究,會給我們未來的研究提供方向。

第1部分:我們從基于區(qū)域的目標檢測器中學到了什么(Faster R-CNN,R-FCN,F(xiàn)PN)?

第2部分:我們從單步檢測器中學到了什么(SSD,YOLO),F(xiàn)PN 和 Focal loss?

第3部分:目標檢測的設(shè)計選型,經(jīng)驗教訓和發(fā)展趨勢?

滑動窗口檢測器(Sliding-window detectors)

自從 AlexNet 贏得了 2012 年 ILSVRC 挑戰(zhàn)的冠軍,使用 CNN 進行分類成為領(lǐng)域的主導(dǎo)。一種用于目標檢測的簡單粗暴的方法是將滑動窗口從左到右,從上到下滑動使用分類來識別目標。為了區(qū)分在不同視覺距離下的目標類型,我們使用了不同尺寸和高寬比的窗口。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

我們按照滑動窗口從圖片中剪切出部分圖像塊。由于通常分類器都采用固定的圖像大小,所以圖像塊需要進行形變。然而,這對分類精度并沒有什么影響,應(yīng)為分類器訓練時也使用了形變的圖像。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

形變的圖像塊被送進 CNN 分類器中提取 4096 個特征。然后,我們用一個 SVM 分類器進行分類,用一個線性回歸器得到邊界框。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

以下是偽代碼。 我們生成了很多窗口來檢測不同位置、不同形狀的目標。 為了提高性能,減少窗口數(shù)量是一個顯而易見的解決方案。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

選擇性搜索(Selective Search)

不再用簡單粗暴的方法,我們用區(qū)域提議方法(region proposal method)生成感興趣區(qū)域 ( regins of interest, ROIs ) 來進行目標檢測。在選擇性搜索算法(Selective Search, SS)中,我們讓每個獨立像素作為一個起始的組。然后,計算每個組的紋理,合并最接近的兩個組。為了避免一個區(qū)域吞所有,我們優(yōu)先合并較小的組。持續(xù)進行合并,直到所有可能合并的區(qū)域均完成合并。下圖中,第一行展示了如何進行區(qū)域生長。第二行展示了在合并過程中所有可能的 ROIs 。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

R-CNN

R-CNN 利用區(qū)域提議方法(region proposal method)生成了約 2000 個感興趣區(qū)域(regins of interest, ROIs)。這些圖像塊進行形變到固定的大小,分別送入到一個 CNN 網(wǎng)絡(luò)中。然后,經(jīng)過全連接層,進行目標分類和邊界框提取。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

以下是系統(tǒng)的工作流。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

利用數(shù)量更少,但質(zhì)量更高的 ROIs ,R-CNN 比滑動窗口的方法運行的更快、更準確。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

邊界框回歸器(Boundary box regressor)

區(qū)域提議方法的計算量很大。為了加速這個過程,我們常采用一個簡易版的區(qū)域提議網(wǎng)絡(luò)來生成 ROIs ,然后,接線性回歸器(使用全連接層)來提取邊界框。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

Fast R-CNN

R-CNN 需要足夠多的提議區(qū)域才能保證準確度, 而很多區(qū)域是相互重疊的。R-CNN 的訓練和推理過程都很緩慢。例如,我們生成了 2000 個的區(qū)域提議,每個區(qū)域提議分別進入 CNN。換句話說,我們對不同的 ROIs 重復(fù)了進行了 2000 次的提取特征。

CNN 中的特征映射表達了一個更緊密的空間中的空間特征。我們能否利用這些特征映射來進行目標檢測,而不是原始圖像?

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

我們不再為每個圖像塊重新提取特征,而是在開始時采用一個特征提取器(一個 CNN 網(wǎng)絡(luò))為整個圖像提取特征。然后,直接在特征映射上應(yīng)用區(qū)域提議方法。例如,F(xiàn)ast R-CNN 選擇 VGG16 的卷積層 conv5 來生成待合并 ROIs 來進行目標檢測,其中,包括了與相應(yīng)特征的映射。我們利用 ROI Pooling 對圖像塊進行形變轉(zhuǎn)換成固定大小,然后將其輸入到全連接層進行分類和定位(檢測出目標的位置)。由于不重復(fù)特征提取,F(xiàn)ast R-CNN 顯著的縮短了處理時間。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

以下是網(wǎng)絡(luò)工作流:

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

在下面的偽代碼中,計算量很大的特征提取操作被移出了 for 循環(huán)。由于同時為 2000 個 ROIs 提取特征,速度有顯著的提升。Fast R-CNN 比 R-CNN 的訓練速度快 10 倍,推理速度快 150 倍。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

Fast R-CNN 的一個主要特點是整個網(wǎng)絡(luò)(特征提取器,分類器和邊界框回歸器)可以通過多任務(wù)損失 multi-task losses(分類損失和定位損失)進行端到端的訓練。這樣的設(shè)計提高了準確性。

ROI Pooling

由于 Fast R-CNN 使用了全連接層,因此我們應(yīng)用 ROI Pooling 將不同大小的 ROIs 轉(zhuǎn)換為預(yù)定義大小形狀。

舉個例子,我們將 8×8 特征映射轉(zhuǎn)換為預(yù)定義的 2×2 大小。

  • 左上:特征映射圖。

  • 右上:ROI(藍色)與特征映射圖重疊。

  • 左下:我們將 ROI 分成目標維度。 例如,我們的目標大小是 2×2,我們將 ROI 分為 4 個大小相似或相等的部分。

  • 右下:取每個部分的最大值,結(jié)果是特征映射轉(zhuǎn)換后的結(jié)果。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

結(jié)果,得到了一個 2×2 的特征塊,我們可以將它輸入到分類器和邊界框回歸器中。

Faster R-CNN

Fast R-CNN 采用類似選擇性搜索(Selective Search)這樣額外的區(qū)域提議方法。 但是,這些算法在 CPU 上運行,且速度很慢。測試時, Fast R-CNN 需要 2.3 秒進行預(yù)測,而其中 2 秒花費在生成 2000 個ROIs 上。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

Faster R-CNN 采用與 Fast R-CNN 相似的設(shè)計,不同之處在于它通過內(nèi)部深度網(wǎng)絡(luò)取代區(qū)域提議方法。 新的區(qū)域提議網(wǎng)絡(luò)(Region Proposal Network, RPN)效率更高。單副圖像生成 ROIs 只需要 10ms 。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

網(wǎng)絡(luò)工作流。區(qū)域提議方法被新的卷積網(wǎng)絡(luò)(RPN)取代。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN


區(qū)域提議網(wǎng)絡(luò)(Region proposal network)

區(qū)域提議網(wǎng)絡(luò)( RPN )用第一個卷積網(wǎng)絡(luò)輸出的特征圖作為輸入。在特征圖上用 3×3 的濾波器進行滑動(濾波),采用諸如 ZF 網(wǎng)絡(luò)(如下圖)的卷積網(wǎng)絡(luò)來得到未知類的建議區(qū)域。其他如 VGG 或者 ResNet 可以被用來提取更全面的特征,但需以速度為代價。 ZF 網(wǎng)絡(luò)輸出的 256 個值分別被送入兩個不一樣的全連接層來預(yù)測邊界框和對象性分數(shù)(2 objectness score)。對象性描述了框內(nèi)是否包含有一個物體。我們可以用回歸器來計算單個物體的分數(shù),但是為了簡單起見,F(xiàn)aster R-CNN使用了一個分類器分類出兩種可能的類別:「 存在物體 」類和「 不存在物體/背景 」類。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

RPN 對特征圖里的每個位置(像素點)做了 K 次猜測。因此 RPN 在每個位置都輸出 4×k 個坐標和 2×k 個分數(shù)。以下圖例演示了一個使用 3×3 過濾器的 8×8 特征圖,它一共輸出 8×8×3 個興趣區(qū)( ROI )( 當k=3時)。右側(cè)圖例展示了在單個位置得到的 3 個提議區(qū)域。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

我們現(xiàn)在有 3 個猜測,隨后我們也會逐漸改善我們的猜想。因為我們最終只需要一個正確的猜測,所以我們使用不同形狀和大小的的初始猜測會更好。因此, Faster R-CNN 不是隨機的選擇提議邊界框。而是預(yù)測了相對于一些被稱為錨的參考框的左上角的偏移量,比如 ?x, ?y  。因為我們約束了偏移量,所以我們的猜測仍然類似與錨。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

為了對每個位置都進行 k 次預(yù)測,我們需要在每個位置中心放置 k 個錨。每次預(yù)測都和不同位置但是相同形狀的特定錨相關(guān)。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

這些錨都是精心預(yù)選好的,所以它們多種多樣,同時非常合理的覆蓋了不同尺度和不同長寬比的現(xiàn)實生活中的物體。這使了初始訓練將具有更好的猜測,同時允許每次預(yù)測都有特定、不同的形狀。這種方式使早期的訓練更加穩(wěn)定和容易。

Faster R-CNN 使用了更多的錨。Faster R-CNN 在一個位置上使用了 9 個錨:3 種不同尺度并使用三種長寬比。在每個位置使用 9 種錨,所以對于每個位置,它一共產(chǎn)生了 2×9 個對象性分數(shù)和 4×9 個坐標。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

錨在不同的論文中也被稱為先驗或者默認邊界框。

R-CNN的性能

如下圖,F(xiàn)aster R-CNN 要快得多。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN


基于區(qū)域的全卷積網(wǎng)絡(luò)

假設(shè)我們只有一張?zhí)卣鲌D用來檢測臉上的右眼。我們是否可以用此來決定臉的位置呢?是可以的。因為右眼應(yīng)該位于一張面部圖像的左上角,我們也可以用此信息來確定臉的位置。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

如果我們有另外的特征圖專門用來分別檢測左眼、鼻子、嘴,我們可以將這些結(jié)果結(jié)合在一起使對臉部的定位更準確。

那為什么我們要如此麻煩呢?在 Faster R-CNN 里,檢測器使用多個全連接層來做預(yù)測,有 2000 多個 ROI ,這消耗很高。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

R-FCN 通過減少每個 ROI 需要的工作總量來提高速度,以上基于區(qū)域的特征圖獨立于 ROIs ,同時可以在每一個ROI的外部進行計算。接下來的工作就更簡單了,因此 R-FCN 比 Faster R-CNN 要快。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

我們可以想想一下這種情況,M 是一個 5*5 大小,有一個藍色的正方形物體在其中的特征圖,我們將方形物體平均分割成 3*3 的區(qū)域?,F(xiàn)在我們從 M 中創(chuàng)建一個新的特征圖并只用其來檢測方形區(qū)域的左上角。這個新的特征圖如下右圖,只有黃色網(wǎng)格單元被激活。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

因為我們將方形分為了 9 個部分,我們可以創(chuàng)建 9 張?zhí)卣鲌D分別來檢測對應(yīng)的物體區(qū)域。因為每張圖檢測的是目標物體的子區(qū)域,所以這些特征圖被稱為位置敏感分數(shù)圖(position-sensitive score maps)。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN


比如,我們可以說,下圖由虛線所畫的紅色矩形是被提議的 ROIs 。我們將其分為 3*3 區(qū)域并得出每個區(qū)域可能包含其對應(yīng)的物體部分的可能性。例如, ROIs 的左上區(qū)域中存在左眼的可能性。我們將此結(jié)果儲存在 3*3 的投票陣列(如下右圖)中。比如,投票陣列 [0][0] 中數(shù)值的意義是在此找到方形目標左上區(qū)域的可能性。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

將分數(shù)圖和 ROIs 映射到投票陣列的過程叫做位置敏感 ROI 池化(position-sensitive ROI-pool)。這個過程和我們之前提到的 ROI pool 非常相似。這里不會更深入的去講解它,但是你可以參考以后的章節(jié)來獲取更多信息。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN


在計算完位置敏感 ROI 池化所有的值之后,分類的得分就是所有它元素的平均值。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

如果說我們有 C 類物體需要檢測。我們將使用 C+1個類,因為其中多包括了一個背景(無目標物體)類。每類都分別有一個 3×3 分數(shù)圖,因此一共有 (C+1)×3×3 張分數(shù)圖。通過使用自己類別的那組分數(shù)圖,我們可以預(yù)測出每一類的分數(shù)。然后我們使用 softmax 來操作這些分數(shù)從而計算出每一類的概率。

接下來是數(shù)據(jù)流(圖),比如我們的例子中,k=3。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

至今為止我們的歷程

我們從最基礎(chǔ)的滑動窗口算法開始。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

然后我們嘗試減少窗口數(shù),并盡可能的將可以移出 for-loop 的操作移出。

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

第 2 部分里,我們更加完全的移除了 for-loop 。單次檢測器(single shot detectors)使物體檢測能一次性完成,而不需要額外的區(qū)域提議步驟。

RPN,R-FCN,Mask R-CNN的延伸閱讀

 FPN 和 R-FCN 都要比我們在這里所描述的更加復(fù)雜,如果您想進一步學習,請參考如下:

  • https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c

  • https://medium.com/@jonathan_hui/understanding-region-based-fully-convolutional-networks-r-fcn-for-object-detection-828316f07c99

博客原址 https://medium.com/@jonathan_hui/what-do-we-learn-from-region-based-object-detectors-faster-r-cnn-r-fcn-fpn-7e354377a7c9

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

雷鋒網(wǎng)雷鋒網(wǎng)

雷鋒網(wǎng)雷鋒網(wǎng)

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

「目標檢測算法」連連看:從Faster R-CNN 、 R-FCN 到 FPN

分享:
相關(guān)文章

知情人士

AI研習社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學習知識的門檻。(原雷鋒字幕組)
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說