mmdetection目標檢測框架安裝與測試

2021-03-06 天方夜譚計算機視覺實驗室

一、mmdetection簡介

項目地址:https://github.com/open-mmlab/mmdetection

香港中文大學-商湯科技聯合實驗室開源了基於 PyTorch 的檢測庫——mmdetection。商湯科技和港中大組成的團隊在 2018年的COCO 比賽的物體檢測(Detection)項目中奪得冠軍,而 mmdetection 正是基於 COCO 比賽時的 codebase 重構。這個開源庫提供了已公開發表的多種視覺檢測核心模塊。通過這些模塊的組合,可以迅速搭建出各種著名的檢測框架,比如 Faster RCNN,Mask RCNN,R-FCN,RetinaNet , Cascade R-CNN及ssd 等,以及各種新型框架,從而大大加快檢測技術研究的效率。遺憾的是現在還沒有出yolo網絡。相比 FAIR 此前開源的 Detectron,mmdetection 有以下幾大優勢:

1、Performance 稍高 2、訓練速度稍快 3、所需顯存稍小 4、易用性更好 

二、正式安裝mmdetection

(1)使用命令行進行虛擬環境安裝:

conda create -n mmdetection python=3.7

conda 是anaconda安裝的常規命令,mmdetection是我們所起的虛擬環境名稱,虛擬環境可以理解為與anaconda自身環境類似的一個環境,就是可以將所需要的安裝包下載在其中。

安裝後即可激活環境,命令為:

source activate mmdetection

(2)安裝pytorch和torchvision

      為何要先安裝pytorch和torchvision?因為在mmdetection中,存在著版本的差異,如果在確定安裝pytorch的情況下可以調用gpu,很可能在安裝了mmdetection後不能進行gpu的調用,運行時十分慢,可能跑幾天都不一定能將模型跑出來。

conda install pytorch torchvision cudatoolkit=10.1 -c pytorch

最好不要用後綴 

       因為此為默認將下載源設置為pytorch官方下載地址,未調用anaconda的國內源進行下載,就會很慢。安裝下載成功後進行pytorch的gpu版本進行測試如下:

import torchprint(torch.cuda.is_available())

(3)安裝mmdetection

       在安裝mmdetection時需要安裝mmcv,安裝mmcv和mmdetection順序上沒有什麼區別,如果先安裝mmdetection時會報錯「未安裝mmcv」,但是可以不用管它進行安裝,因為安裝mmcv經常報錯。

進行克隆,同時可以進行網站直接下載。

git clone https://github.com/open-mmlab/mmdetection.gitcd mmdetection

pip install -r requirements/build.txtpip install -v -e .

第一行為mmdetection所需依賴進行安裝。

因為mmdetection項目內含有很多的C/C++代碼,需要進行編譯。第二行為編譯命令,注意,末尾有一「.」。

至此,mmdetection已經安裝好,可以進行mmcv的安裝。

(4)安裝mmcv

pip install mmcv-full==1.2.4 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.7.0/index.html

單純以上代碼會很慢,單純mmcv快,但是安裝mmcv時,會順帶安裝opencv,opencv需要和torch、cuda版本對應,否則無法調用cuda加速。使用torch1.7.0即可,使用torch1.7.1會報錯。

pip install mmcv-full==1.2.4 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.7.1/index.html -i https://mirrors.aliyun.com/pypi/simple/

同時,在後面加上阿里源,即可在安裝opencv時進行國內源安裝,切記,不可直接

一定會報錯,安裝到此結束。

三、測試mmdetection

       進入mmdetection項目進行命令行測試,命令行運行以下文件即可。mmdet/utils/collect_env.py

結果如上圖即為mmdetection安裝成功!

毛主席語錄:星星之火,可以燎原。

相關焦點

  • PaddleDetection目標檢測套件
    軟硬體環境簡介引用官方的項目介紹PaddleDetection飛槳目標檢測開發套件,旨在幫助開發者更快更好地完成檢測模型的組建、訓練、優化及部署等全開發流程。PaddleDetection模塊化地實現了多種主流目標檢測算法,提供了豐富的數據增強策略、網絡模塊組件(如骨幹網絡)、損失函數等,併集成了模型壓縮和跨平臺高性能部署能力。經過長時間產業實踐打磨,PaddleDetection已擁有順暢、卓越的使用體驗,被工業質檢、遙感圖像檢測、無人巡檢、新零售、網際網路、科研等十多個行業的開發者廣泛應用。
  • MMDetection環境搭建與安裝教程
    點擊上方「海邊的拾遺者」,選擇「星標」公眾號第一時間獲取價值內容MMDetection是商湯和港中文大學聯合開源的基於PyTorch的目標檢測工具箱,支持Faster-RCNN,Mask-RCNN等主流目標檢測框架。
  • 開源 | 商湯聯合港中文開源 mmdetection
    ,這是一個基於 PyTorch 的開源目標檢測工具包,屬於香港中文大學多媒體實驗室 open-mmlab 項目的一部分。該工具包支持 Mask RCNN 等多種流行的檢測框架,讀者可在 PyTorch 環境下測試不同的預訓練模型及訓練新的檢測分割模型。
  • MMDetection V2.0來了!更快更強的通用目標檢測平臺
    https://github.com/open-mmlab/mmdetection太長不看版:經過對模型各個組件的重構和優化,我們全面提升了 MMDetection 的速度和精度,達到了現有檢測框架中的最優水平。通過更細粒度的模塊化設計,MMDetection 的任務拓展性大大增強,成為了檢測相關項目的基礎平臺。同時對文檔和教程進行了完善,增強用戶體驗。
  • mmdetection最小復刻版(一):整體概覽
    mmdetection的最小實現版本簡稱 mmdetection-mini。其實不然,基於我目前的理解,出於一下幾點原因:學習目的 mmdetection無疑是非常優異的目標檢測框架,但是其整個框架代碼其實非常多。我希望通過從0構建整個結構,來徹底熟悉整個框架,而不是僅僅熟悉算法部分。
  • MMDetection目標檢測工具箱
    MMDetection是基於深度學習的目標檢測算法框架,使用MMDetection能快速搭建目標檢測網絡,實現目標檢測。本文將介紹MMDetection:MMDetection,包含一組豐富的對象檢測和實例細分方法以及相關的組件和模塊。
  • MMDetection v2.0 訓練自己的數據集
    這個項目是打算記錄安裝環境,訓練模型最後到源碼解析。-i -t : 交互模式執行mm_det : 容器名稱/bin/bash :執行腳本2 準備自己的VOC數據集mmdetection 支持VOC數據集,還有COCO數據集格式,還可以自定義數據格式,現在我們採用VOC的數據格式,mm_det容器已經映射宿主目錄了,在宿主目錄/train_data,新建目錄存放數據集,可在容器內/mmdetection
  • mmdetection專題之詳解hook機制
    本文是CV檢測第二篇,面向對象是【mmdetection hook機制】,其他精彩內容請移步菜單欄。mmdetection專題旨在分析mmdetection的框架邏輯,主要從註冊器、HOOK機制等幾個非常重要的機制來看mmdetection的整體邏輯。mmdetection是一款優秀的基於PyTorch的開源目標檢測系統,由香港中文大學(CUHK)多媒體實驗室(mmlab)開發。
  • 如何用PaddleDetection做一個完整的目標檢測項目
    【飛槳開發者說】:餘志良,菲特(天津)智能科技有限公司項目經理,百度黃埔學院二期學員PaddleDetection 是百度飛槳推出的物體檢測統一框架
  • 資源 | 一個基於PyTorch的目標檢測工具箱,商湯聯合港中文開源mmdetection
    近日,商湯和港中文聯合開源了 mmdetection,這是一個基於 PyTorch 的開源目標檢測工具包,屬於香港中文大學多媒體實驗室 open-mmlab
  • 目標檢測三大開源神器:Detectron2/mmDetectron/SimpleDet
    Please see detectron2, which includes implementations for all models in maskrcnn-benchmark話題說回主人公:Detectron2(新一代目標檢測和分割框架)Detectron2 不僅支持 Detectron已有的目標檢測、實例分割、姿態估計等任務,還支持語義分割和全景分割
  • 香港中文大學多媒體實驗室 | 開源視頻目標檢測&跟蹤平臺(附源碼下載)
    從去年2020年,說起目標檢測,大多數人也許會知道「MMDetection框架」。今天框架還是香港中文大學實驗室貢獻,首先我們說下MMDetection框架,然後詳細介紹一體化視頻感知平臺「MMTracking」。
  • 一區SCI新目標檢測框架 | one-shot的條件目標檢測
    然而,在許多場景下可能並不總是有足夠的樣本,從而導致當前基於深度學習的目標檢測模型的性能下降。為了克服上述的問題,有研究者提出了一種新的one-shot條件檢測框架(OSCD)。給予一個含有target object的support  image和query image作為輸入,OSCD可以在查詢圖像中檢測屬於目標對象類別的所有目標。
  • 目標檢測四大開源神器:Detectron2/mmDetectron/darknet/SimpleDet
    大家反映內容很棒,不少同學開始用起來這些目標檢測工具,不管用於發Paper還是做項目。如今過去半年多,目標檢測領域發展迅速,Amusi 再次系統調研現在開源的目標檢測神器。同時也有很多同學開始入坑目標檢測,希望此文可以有所幫助,避免踩坑!
  • 港中文開源視頻動作分析庫MMAction,目標檢測庫算法大更新
    點擊文末「閱讀原文」立刻申請入群~本文轉載自公眾號:機器之心近日,香港中文大學多媒體實驗室(MMLab)OpenMMLab 發布動作識別和檢測庫 MMAction,同時也對去年發布的目標檢測工具箱 mmdetection 進行了升級,提供了一大批新的算法實現。
  • 綜述:在RGB-D圖像上進行目標檢測(Object detection in RGB-D images)
    ,根據構圖先驗和背景先驗的方法進行顯著目標檢測。本文根據論文先後發表的時間順序,帶大家速覽自2014年以來的,在RGB-D圖像上進行目標檢測的典型論文。>>加入極市CV技術交流群,走在計算機視覺的最前沿CNN(convolutional neural network)在目標檢測中大放異彩,R-CNN系列,YOLO,SSD各類優秀的方法層出不窮。在2D圖像的目標檢測上,不少學術界提出的框架已經投入商用。
  • Kaggle實戰目標檢測奇淫技巧合集
    這裡分享一下我總結的一些目標檢測中會用到的 「奇淫技巧」,牽扯到代碼的我就直接拿 mmdetection[1] 來舉例了,修改起來比較簡單。1.模型選擇近一年多以來目標檢測領域沒有太大的動靜,即使最近一段時間的 Anchor Free 和神經網絡搜索框架比較熱,但都沒有太大的革新,當前檢測競賽圈的通用配置還是 Cascade-R-CNN + ResNeXt/ResNet 系列 + FPN+DCN 2,畢竟二階段為王!然後就是一些根據實驗結果的調整了,由於商湯沒有開源 SeNet 系列的訓練模型,所以如果有卡的話可以自己搞。
  • Windows系統如何安裝Tensorflow Object Detection API
    什麼是Tensorflow Object Detection API基於tensorflow的一套高級訓練、檢測、可配置的API框架,支持多種預訓練模型檢測,自定義對象檢測、遷移學習等訓練。十分方便的模型構建、訓練、導出、部署框架,是針對計算機視覺的獨特而快速的解決方案框架大致可以分為如下三步1.
  • MMSkeleton 快速開始,使用 WebCam 測試
    安裝首先安裝 MMDetection ,可見 MMDetection 使用。然後安裝 MMSkeleton ,# 啟用 Python 虛擬環境conda activate open-mmlab# 下載 MMSkeletongit clone https://github.com/open-mmlab/mmskeleton.gitcd mmskeleton# 安裝 MMSkeleton
  • 如何在windows系統上安裝Tensorflow Object Detection API?
    從GitHub下載官方的存儲庫依賴庫的安裝用protobuf解析API中的一些文件測試API是否安裝成功運行官方教程中的代碼查看效果具體操作不談基本依賴庫和框架版本的教程就是耍流氓!相信在各種博客上查找教程的小夥伴們一定有這種感覺吧。