<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          (附鏈接)YoloALL: 解決不同版本YOLO的選擇進行目標檢測推理

          共 3519字,需瀏覽 8分鐘

           ·

          2021-09-25 08:49

          點擊左上方藍字關注我們



          一個專注于目標檢測與深度學習知識分享的公眾號

          編者薦語
          目標檢測是現(xiàn)在最熱門的研究課題,也一直是工業(yè)界重點研究的對象,最近幾年內,也出現(xiàn)了各種各樣的檢測框架,所屬于YOLO系列是最經(jīng)典也是目前被大家認可使用的檢測框架。但是,我們又該怎樣抉擇呢?

          鏈接:https://github.com/DL-Practise/YoloAll
          不得不說,yolo(“You Only Look Once”是一個對象檢測算法的名字,這是Redmon等人在2016年的一篇研究論文中命名的)真的是一個神奇的存在。
          人們看到圖像以后,可以立即識別其中的對象、它們的位置和相對位置。這使得我們能夠在幾乎無意識的情況下完成復雜的任務,比如開車。因此,對汽車進行自動駕駛訓練需要類似水平的反應能力和準確性。在其最基本的形式中,這樣的系統(tǒng)必須能夠分析實時視頻中的道路,并能夠在繼續(xù)確定路徑之前檢測各種類型的對象及其在現(xiàn)實世界中的位置,所有這些都必須是實時的。
          先前的檢測系統(tǒng)使用分類器對測試圖像的不同切片進行評估,涉及到在圖像中均勻間隔的位置上滑動窗口并在這些部件上運行分類器。但是,速度慢、優(yōu)化困難一直困擾著這種YOLO之前的系統(tǒng)。
          YOLO將對象檢測重新定義為一個回歸問題,它將單個卷積神經(jīng)網(wǎng)絡(CNN)應用于整個圖像,將圖像分成網(wǎng)格,并預測每個網(wǎng)格的類概率和邊界框,很好的解決了這些問題。那么問題來了,基于yolo發(fā)展出了眾多的版本,我們又該如何解決不同版本YOLO的選擇并進行目標檢測推理呢?


          最近我們創(chuàng)辦了通過視頻來詳解前研技術,有興趣的同學可以通過觀看視屏了解最新檢測框架,如目前發(fā)布的視頻鏈接:

          • https://www.bilibili.com/video/BV17b4y1m7xy/

          • https://www.bilibili.com/video/BV1vU4y1j7Ms/


          1

          前言&背景


          在通用目標檢測中,從yolov1,v2,v3,v4,v5到最近的yolox,都充分說明了yolo在學術界以及工業(yè)界的受歡迎程度。


          YOLOR論文地址:https://arxiv.org/pdf/2105.04206.pdf

          YOLObile論文地址:https://arxiv.org/pdf/2009.05697.pdf

          Yolov5代碼地址:https://github.com/ultralytics/yolov5

          Yolov4論文地址:https://arxiv.org/pdf/2004.10934.pdf

          Tiny YOLOv3代碼地址:https://github.com/yjh0410/yolov2-yolov3_PyTorch

          Yolov3論文地址:https://arxiv.org/pdf/1804.02767.pdf

          YoloV2(Yolo9000)論文地址:https://arxiv.org/pdf/1612.08242.pdf

          YoloV1論文地址:https://arxiv.org/pdf/1506.02640.pdf


          除了基線的頻繁迭代更新之外,還有很多針對yolo的優(yōu)化精簡版本,如下表所示:

          在如此眾多的yolo版本中,除了官方的評測數(shù)據(jù)之外,有沒有更加直觀的方式來對比各種不同版本的yolo性能呢?

          很早之前鄭老師就幻想著能有一個集成各種yolo的版本,能夠對圖片,視頻,實時碼流進行對比,于是就有了這個YoloAll的想法。希望能在一個software里面對同一張圖片,同一段視頻,或者同一個camera的碼流進行對比分析。

           


          2

          YoloAll演示



          下面是一段YoloAll的演示視頻。目前支持yolo_v3, yolo_v5, yolox, yolo_fastest四個版本;并且支持從圖片,視頻(mp4)以及camera進行推理分析。



          02:27

          3

          結構介紹



          YoloAll使用pyqt設計,整體工程結構如下圖所示,其中model_zoo下面放置了所有支持的yolo版本,包括里面的各種小版本。

          目前支持4個版本的yolo,并且提供了簡單的擴展方法,可以把你喜歡的yolo擴展進去。詳情見下章節(jié)的“擴展模型”。

          • Yolov3:https://github.com/eriklindernoren/PyTorch-YOLOv3

          • Yolov5:https://github.com/ultralytics/yolov5

          • Yolox:https://github.com/Megvii-BaseDetection/YOLOX

          • Yolo-fastest:https://github.com/dog-qiuqiu/Yolo-FastestV2

          感謝以上開源項目以及作者,感謝帶來了這么好的yolo項目。




          4

          使用教程



          • 下載源碼


          git clone https://github.com/DL-Practise/YoloAll


          • 安裝依賴

          下載的yolo版本全部放在model_zoo目錄下面,進入到model_zoo中的各個yolo版本中,執(zhí)行:


          pip install -r requirements.txt


          • 下載預訓練模型

          當前的YoloAll對于每個yolo版本已經(jīng)內置了一個最小模型,如下圖所示。

          如果還想測試其他較大模型,如yolov5_l、yolox_l等,可以從如下鏈接下載預訓練模型,并放置在對應的目錄下面:

          Yolov3:

          • https://pjreddie.com/media/files/yolov3.weights

          下載完畢之后,將模型放在model_zoo/yolov3下面即可

          Yolov5:

          • https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt

          • https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5m.pt

          • https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5l.pt

          • https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5x.pt

          下載完畢之后,將模型放在model_zoo/yolov5下面即可

          Yolox:

          • https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_s.pth

          • https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_m.pth

          • https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_l.pth

          • https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_x.pth

          下載完畢之后,將模型放在model_zoo/yolox下面即可

          此時,重新打開界面,能夠顯示出所有的yolo版本:

          • 擴展模型

          YoloAll提供了非常方便的接口來集成自己的yolo版本。將自己的yolo版本放置在model_zoo中。并提供一個api.py的模塊,里面實現(xiàn)如下方法:


          #獲取支持的子類型接口。例如yolov5中支持yolov5_s;yolov5_m; yolov5_l等def get_support_models()
          #創(chuàng)建模型。根據(jù)模型的子類型名稱,以及設備類型創(chuàng)建模型def create_model(model_name='yolov5_s', dev='cpu')
          #進行一次推理,傳入的img_array為opencv讀取的圖片def inference(img_array)


          具體可以參考model_zoo下面的YoloV5/api.py, YoloX/api.py等。


          END



          雙一流大學研究生團隊創(chuàng)建,專注于目標檢測與深度學習,希望可以將分享變成一種習慣!

          整理不易,點贊鼓勵一下吧↓

          瀏覽 135
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  夜夜嗨AV一区二区三区网页 | 中文字幕第十二页 | 五月丁香俺也去国产 | 91麻豆一区二区三区 | 黄色视频在线免费观看国产 |