丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能學(xué)術(shù) 正文
發(fā)私信給楊鯉萍
發(fā)送

0

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

本文作者: 楊鯉萍 2019-07-08 09:33
導(dǎo)語:關(guān)于新版 MMDetection

雷鋒網(wǎng) AI 科技評論按:去年 10 月,香港中文大學(xué)-商湯聯(lián)合實驗室在 OpenMMLab 的首期計劃中,開放了 MMCV 和 MMDetection(初期版本)。其初衷是為了在計算機視覺的一些重要方向建立統(tǒng)一而開放的代碼庫,并不斷把新的算法沉淀其中。在過去的半年多時間,這些代碼庫已經(jīng)產(chǎn)生了重要影響,越來越多的 MMLab 以外的研究團隊開始把 MMDetection 作為實現(xiàn)新的目標檢測算法的基礎(chǔ),并不斷將其新算法回饋到 MMDetection 中。

最近,OpenMMLab 第二期正式發(fā)布,由多個大學(xué)和機構(gòu)的研究人員聯(lián)合提出了新一代 Open MMLab Detection,這將有效促進目標檢測領(lǐng)域的應(yīng)用和新方法的研究與發(fā)展。

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

概述

本文中,我們介紹了一個目標檢測工具箱 MMDetection,它包含了豐富的目標檢測和實例分割方法以及相關(guān)的組件和模塊。這個工具箱由 MMDet 團隊主導(dǎo)開發(fā),該團隊曾打破了 2018 年 COCO 挑戰(zhàn)賽的檢測記錄并獲得冠軍。此后,MMDetection 逐漸發(fā)展成為一個統(tǒng)一的平臺,涵蓋了許多主流檢測方法和現(xiàn)代模塊。它不僅包括訓(xùn)練和推理代碼,而且還為 200 多個網(wǎng)絡(luò)模型提供了權(quán)重參數(shù)。我們相信這個工具箱是迄今為止最完整的檢測工具箱。

本文介紹了該工具箱的各種特點。此外,我們還對不同的方法、組件及其超參數(shù)進行了基準研究。我們希望工具箱和基準能夠提供完善、靈活的工具包來復(fù)現(xiàn)現(xiàn)有方法并開發(fā)自定義的新探測器,從而為日益壯大的研究社區(qū)服務(wù)。

MMDetection 新功能

目標檢測和實例分割都是基本的計算機視覺任務(wù)。檢測流程通常比分類任務(wù)更復(fù)雜,并且不同的實現(xiàn)環(huán)境可能導(dǎo)致截然不同的結(jié)果。為了提供高質(zhì)量的代碼庫和統(tǒng)一的基準測試,我們使用 PyTorch 構(gòu)建了一個目標檢測和實例分段代碼庫 MMDetection。

MMDetection 有幾個主要的特點:

  • 模塊化設(shè)計。我們將目標檢測的網(wǎng)絡(luò)架構(gòu)分解為不同的組件,并且可以通過多樣化的模塊組合來輕松地構(gòu)建自定義的目標檢測架構(gòu)。

  • 支持多樣化的模型架構(gòu)。該工具箱支持各類主流檢測架構(gòu),包括單階段、雙階段和多階段的檢測架構(gòu)。

  • 計算效率高。所有基礎(chǔ)元件和模塊都進行了 GPU 實現(xiàn),訓(xùn)練速度比其他代碼庫(包括 Detectron [ https://github.com/facebookresearch/detectron ],maskrcnn-benchmark [ https://github.com/facebookresearch/maskrcnn-benchmark ] 和 SimpleDet 等)更快。

  • 最先進的檢測性能。工具箱由 2018 年 COCO 目標檢測冠軍 MMDet 團隊主導(dǎo)開發(fā),并且模型性能還在持續(xù)不斷地提升。

除了介紹代碼庫和基準測試結(jié)果外,我們還報告了訓(xùn)練目標檢測器的過程和最佳方法。并討論了關(guān)于超參數(shù)、體系結(jié)構(gòu)、訓(xùn)練策略的燒蝕實驗。我們希望該研究能夠有助于未來的研究,并促進不同方法之間的比較。

支持架構(gòu)

MMDetection 包含主流目標檢測和實例分割方法的高質(zhì)量實現(xiàn)。下圖中提供了與其他代碼庫相比支持的架構(gòu)和功能的摘要。MMDetection 支持比其他代碼庫更多的方法和功能,特別是相比最新的代碼庫。

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 1 MMDetection 工具箱支持的檢測模型數(shù)量上遠遠超過了其他現(xiàn)有目標檢測代碼庫

網(wǎng)絡(luò)架構(gòu)

一、模型表示

雖然不同探測器的模型架構(gòu)不同,但它們具有共同的組件,可以粗略地概括為以下類: 

  • 主干網(wǎng)絡(luò)(Backbone):其作用是從圖像中抽取特征,將圖像從像素空間轉(zhuǎn)換到高維的特征空間,例如 VGG 和 ResNet-50 等都是常用的主干網(wǎng)絡(luò);  

  • 銜接部分(Neck):連接主干網(wǎng)絡(luò)和頭部的結(jié)構(gòu)。它對主干網(wǎng)絡(luò)生成的原初始特征圖執(zhí)行一些優(yōu)化或重新配置,例如特征金字塔網(wǎng)絡(luò)(FPN)就是一種典型的 Neck。   

  • 密集連接頭(DenseHead):用于在特征圖所映射的密集位置上進行操作,包括 AnchorHead 和 AnchorFreeHead,代表性操作有 RPN、Retina、FCOS 等。      

  • RoI 抽取器:從一個或多個特征映射中提取 RoIPooling 類算子特征。從相應(yīng)級別的特征金字塔中提取 RoI 特征的示例是 SingleRoIExtractor。     

  • RoI 連接頭(BBoxHead / MaskHead):將 RoI 特征作為輸入并計算出對于的任務(wù)結(jié)果,包括 bbox 的位置、分類或者分割的預(yù)測結(jié)果。   

通過這些通用模塊,我們可以通過簡單地創(chuàng)建一些新組件并組裝現(xiàn)有組件來進行開發(fā)與探索。   

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 2 單階段和兩階段檢測器的架構(gòu)分解圖

二、訓(xùn)練流程

我們設(shè)計了一個帶鉤子觸發(fā)的標準訓(xùn)練流程。該方法不僅可以用于目標檢測,還可以用于其他計算機視覺任務(wù),例如圖像分類和語義分割。許多任務(wù)的訓(xùn)練過程可通用類似的工作流程,其中訓(xùn)練和驗證流程可以循環(huán)的運行,并且驗證流程可選。在每個周期,我們都會在模型上運行多次前傳和反傳操作。

為了使流程更加靈活和個性化,我們定義了一個最小流程單位,其他行為由鉤子來觸發(fā)。為了運行自定義訓(xùn)練流程,我們希望在某些特定步驟之前或之后執(zhí)行一些自定義操作。我們定義了一些時間點,用戶可以在其中插入任何可執(zhí)行方法(鉤子),在運行的各個時期,都能實現(xiàn)在優(yōu)先級之后的指定時間點觸發(fā)插入的鉤子。MMDetection 中的典型訓(xùn)練流程如下圖所示,驗證流程未在圖中顯示。  

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 3 典型訓(xùn)練流程

基準

一、實驗設(shè)置

  • 數(shù)據(jù)集。MMDetection 支持 VOC 類型和 COCO 類型的數(shù)據(jù)集。我們采用 MS COCO 2017 作為所有實驗的主要基準,因為它更具挑戰(zhàn)性,并且使用更廣泛。    

  • 其它參數(shù)。(1) 在不改變寬高比的情況下,將圖像調(diào)整為最大尺寸 1333×800。(2) 我們使用 8 個 V100 GPU 進行訓(xùn)練,總批量為 16(每個 GPU 2 個圖像)和單個 V100 GPU 進行推理。(3) 訓(xùn)練計劃與 Detectron 相同?!?x」和「2x」分別表示 12 個時期和 24 個時期,級聯(lián)模型采用「20e」,表示 20 個時期。     

  • 評估指標。我們采用 COCO 數(shù)據(jù)集的標準評估指標,其中應(yīng)用了 0.5 到 0.95 的多個 IoU 閾值。區(qū)域生成網(wǎng)絡(luò)(RPN)的結(jié)果用召回率(AR)測量,檢測結(jié)果用 mAP 評估。 

二、基準結(jié)果

1、主要結(jié)果     

我們對 COCO 2017 val 的不同方法進行了基準測試,包括 SSD,RetinaNet,F(xiàn)aster RCNN,Mask RCNN,Cascade R-CNN,Hybrid Task Cascade 和 FCOS 。我們使用四種廣泛使用的主干網(wǎng)絡(luò)來評估這些結(jié)果,包括 ResNet-50,ResNet-101,ResNet-101-32x4d 和 ResNeXt101-64x4d。

在圖中我們展現(xiàn)了這些方法的推理速度和他們的邊界框(bbox)與實例分割(mask)AP 值之間的關(guān)系。推理時間由單個 Tesla V100 GPU 測試得出。

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 4 不同方法的基準測試結(jié)果

2、與其他代碼庫的比較   

除了 MMDetection 之外,還有其他流行的代碼庫,如 Detectron,maskrcnn-benchmark 和 SimpleDet。它們分別建立在 caffe21,PyTorch 和 MXNet 的深層學(xué)習(xí)架構(gòu)之上。我們從性能、速度和內(nèi)存三個方面來對 MMDetection 和 Detectron(@ a6a835f),maskrcnnbenchmark(@ c8eff2c)和 SimpleDet(@ cf4fce4)進行比較。

Mask R-CNN 和 RetinaNet 分別代表兩級探測儀和單級探測器。由于這些代碼庫也在開發(fā)中,因此在其模型倉庫中報告的結(jié)果可能已過時,并且這些結(jié)果是在不同的硬件上所進行的測試。為了公平比較,我們提取最新的代碼并在相同的環(huán)境中進行測試,結(jié)果顯示在下圖中。

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 5 不同代碼庫在性能、速度和內(nèi)存的比較

不同架構(gòu)所得內(nèi)存以不同方式進行測量。MMDetection 顯示所有 GPU 的最大內(nèi)存,maskrcnn-benchmark 顯示 GPU 0 的內(nèi)存,Detectron 使用 caffe2 API 測量 GPU,SimpleDet 測量 NVIDIA 提供的命令顯示的內(nèi)存。通常,MMDetection 和 maskrcnn-benchmark 的實際內(nèi)存使用率相似且低于其他內(nèi)存。

3、不同 GPU 的推理速度   

不同的研究人員可能會使用各種 GPU,這里我們展示了常見 GPU 的速度基準,例如 TITAN X,TITAN Xp,TITAN V,GTX 1080 Ti,RTX 2080 Ti 和 V100。我們對每種類型的 GPU 進行了三種模型的評估,并將最終的推理速度展示在下圖中。需要注意的是,這些服務(wù)器的其他硬件并不完全相同,例如 CPU 和硬盤,但結(jié)果可以為速度基準提供基礎(chǔ)的參考。

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 6 不同 GPU 的推理速度基準

4、混合精度訓(xùn)練  

MMDetection 支持混合精度訓(xùn)練,以減少 GPU 內(nèi)存并加快訓(xùn)練速度,同時性能幾乎保持不變;支持以 apex2 為基礎(chǔ)的混合精度訓(xùn)練;SimpleDet 也有不同的實現(xiàn)方式;Detectron 目前還不支持混合精度訓(xùn)練。我們在同一個 V100 節(jié)點上測試了三個代碼庫,并在下圖中展示了 MMDetection 與 maskrcnn-benchmark、SimpleDet 的比較結(jié)果。

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 7 混合精度訓(xùn)練測試結(jié)果

此外,我們研究了更多模型,以確定混合精度訓(xùn)練的有效性。如下圖所示,我們可以了解到更大的批量大小可以節(jié)省更多內(nèi)存。當批量增加到 12 時,F(xiàn)P16 訓(xùn)練的內(nèi)存減少到 FP32 訓(xùn)練的近一半;并且混合精度訓(xùn)練在應(yīng)用于 RetinaNet 等更簡單的框架時內(nèi)存效率更高。

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 8 不同模型在 MMDetection 上的混合精度訓(xùn)練結(jié)果

5、多節(jié)點可擴展性

由于 MMDetection 支持多個節(jié)點上的分布式訓(xùn)練,因此我們分別在 GPU 不同的節(jié)點上測試其可擴展性。我們采用 Mask R-CNN 作為基準測試方法,并在另一個 V100 節(jié)點上進行實驗。接著我們采用不同的節(jié)點數(shù)量時,基本學(xué)習(xí)率被調(diào)整為線性,實驗結(jié)果展示在下圖中。

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 9 Mask R-CNN 在多個節(jié)點上的訓(xùn)練速度

回歸損失函數(shù)

通常我們采用多任務(wù)損失函數(shù)來訓(xùn)練目標檢測器,該目標檢測器由分類和回歸的特征表示。最廣泛采用的回歸損失函數(shù)是 Smooth L1 Loss;但最近也出現(xiàn)了更多的回歸損失函數(shù),例如,Bounded IoU Loss,IoU Loss,GIoU Loss,Balanced L1 Loss。L1 Loss 也是衍生的一種損失函數(shù)。然而這些損失函數(shù)通常以不同的方法和設(shè)置實現(xiàn)。    

在這里,我們評估同一環(huán)境下的所有損失。值得注意的是,最終的測試性能會隨著回歸損失函數(shù)的不同損失權(quán)重而變化,因此我們執(zhí)行粗網(wǎng)格搜索以找出每個損失的最佳損失權(quán)重。下圖結(jié)果表明,通過簡單地增加 Smooth L1 Loss 的損失權(quán)重,最終性能可以提高 0.5%。  

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 10 不同損失權(quán)重下不同回歸損失的比較

在沒有調(diào)整損失重量的情況下,L1 Loss 函數(shù)比 Smooth L1 Loss 函數(shù)性能高 0.6%,而增加損失權(quán)重不會帶來進一步的增益。L1 Loss 比 Smooth L1 Loss 具有更大的損耗值,尤其是對于相對準確的邊界框,差距更明顯。根據(jù)分析結(jié)果,提高定位精度較好的邊界框梯度將有利于定位。L1 Loss 的損失值已經(jīng)非常大,所以增加損失權(quán)重不會帶來增益。

對于端到端速度更快的 R-CNN,Balanced L1 Loss 函數(shù)的 mAP 值比 L1 Loss 高 0.3%,這與采用預(yù)先計算方法的實驗結(jié)果略有不同。然而,我們發(fā)現(xiàn) Balanced L1 Loss 可以在 IoU balanced 采樣或平衡 FPN 的基線上的帶來更高的增益。除了 Bounded IoU Loss 函數(shù)外,基于 IoU 的損失表現(xiàn)略好于具有最佳損耗權(quán)重的基于 L1 的損失。GIoU Loss 比 IoU Loss 高 0.1%,Bounded IoU Loss 與 Smooth L1 Loss 具有相似的性能,但前者需要更大的損失權(quán)重值。       

歸一化

由于 GPU 內(nèi)存有限,訓(xùn)練檢測器時用到的數(shù)據(jù)量通常很小(1 或 2),因此 BN 層通常置為典型設(shè)定。配置 BN 層有兩個選項:是否更新統(tǒng)計數(shù)據(jù) E(x)和 Var(x),以及是否優(yōu)化仿射權(quán)重 γ 和 β。按照 PyTorch 的參數(shù)名稱,我們將這兩個選項分別表示為 eval 和 requires-grad。eval = True 表示不更新統(tǒng)計數(shù)據(jù);requires-grad = True 意味著 γ 和 β 在訓(xùn)練期間被優(yōu)化。除了凍結(jié) BN 層外,還有其他標準化層也可以解決小批量的問題,例如 Synchronized BN(SyncBN)[25] 和 Group Normalization(GN)。

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 11 不同 BN 設(shè)置和 LR 時間表的結(jié)果

在這里我們研究兩個問題:不同的歸一化層如何相互比較?在哪里為檢測器添加標準化層?

為了回答這兩個問題,我們用 ResNet-50-FPN 進行 Mask R-CNN 的三次實驗,并分別用 FrozenBN,SyncBN 和 GN 代替主干中的 BN 層,下圖中的結(jié)果顯示出:

(1)如果我們只用相應(yīng)標準化層替換主干中的 BN 層,F(xiàn)rozenBN,SyncBN 和 GN 也能夠?qū)崿F(xiàn)類似的性能。      

(2)將 SyncBN 或 GN 添加到 FPN 和 bbox / mask head 不會帶來進一步的好處。

(3)用 4conv1fc 替換 2fc bbox head 以及向 FPN 和 bbox / mask head 添加歸一化層可將性能提高約 1.5%。

(4)具有更多卷積層的 bbox head 將展現(xiàn)出更高的性能。 

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 12 采用不同歸一化層添加在不同組件上的對比

訓(xùn)練數(shù)據(jù)規(guī)模

作為典型的慣例,訓(xùn)練圖像被調(diào)整大小到預(yù)定義的比例而不改變縱橫比。以前的研究通常更喜歡 1000×600 的規(guī)模,現(xiàn)在通常采用 1333×800。         

在 MMDetection 中,我們采用 1333×800 作為默認訓(xùn)練數(shù)據(jù)規(guī)模。結(jié)果如下圖所示,其中 1333×[640:800:32] 表示較長的邊緣固定為 1333,較短的邊緣是從 {640,672,704,736,768 的池中隨機選擇的,800},對應(yīng)「值」模式。設(shè)置 1333×[640:800] 表示在 640 和 800 之間隨機選擇較短邊緣,這對應(yīng)于「范圍」模式。 

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 13  不同訓(xùn)練數(shù)據(jù)規(guī)模的比較

從結(jié)果中我們可以了解到,「范圍」模式與具有相同最小和最大尺度的「值」模式執(zhí)行類似或稍微好一些。通常更寬的范圍帶來更多改進,特別是對于更大的最大尺度。具體地,就 bbox 和 mask 的 AP 值而言,[640:960] 比 [640:800] 高 0.4%且高 0.5%。但是,較小的最小比例(如 480)將無法獲得更好的性能。

其它超參數(shù)

MMDetection 主要遵循 Detectron 中的超參數(shù)設(shè)置,以及根據(jù)我們所需要進行設(shè)定。根據(jù)經(jīng)驗,我們發(fā)現(xiàn) Detectron 的一些超參數(shù)不是最優(yōu)的,特別是對于 RPN。在下圖中,我們列出了可以進一步提高 RPN 性能的那些超參數(shù)。雖然調(diào)整可能有利于性能,但在 MMDetection 中我們默認采用與 Detectron 相同的設(shè)置,并將此研究留作參考。

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 14 RPNResNet-50 超參數(shù)的研究結(jié)果

詳細結(jié)果

我們提供了下圖中某些方法的詳細基準測試結(jié)果。

R-50 和 R-50(c)分別表示 pytorch 類型和 caffe 類型的 ResNet-50 主干網(wǎng)絡(luò)。在瓶頸殘差模塊中,pytorch 類型的 ResNet 采用了 1x1 步幅,1 卷積層;然后是采用了 3x3 步幅,2 卷積層;而 caffe 類型的 ResNet 采用 1x1 步幅,2 卷積層;然后是 3x3 步幅,1 卷積層。

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱 OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

圖 15 COCO val2017 的不同檢測方法的結(jié)果(APb 和 APm 分別表示 box 和 mask 的 mAP 值)

更多詳細設(shè)置和組件方面的信息,請參閱 https://github.com/open-mmlab/mmdetection/blob/master/MODEL_ZOO.md 。

原文鏈接

https://arxiv.org/abs/1906.07155          

GitHub 地址

https://github.com/open-mmlab/mmdetection      

雷鋒網(wǎng) AI 科技評論   雷鋒網(wǎng)

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

OpenMMLab 第二版發(fā)布:吸引業(yè)界「目光」的史上最完整的目標檢測工具箱

分享:
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說