<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>

          起飛 | 應(yīng)用YOLOV4 - DeepSort 實(shí)現(xiàn)目標(biāo)跟蹤

          共 5975字,需瀏覽 12分鐘

           ·

          2020-09-25 20:16

          點(diǎn)擊上方AI算法與圖像處理”,選擇加"星標(biāo)"或“置頂”

          重磅干貨,第一時(shí)間送達(dá)

          本文分享利用yolov4+deepsort實(shí)現(xiàn)目標(biāo)跟蹤,主要是講解如何使用,具體原理可以根據(jù)文中的參考資料更加深入學(xué)習(xí)。目前主流的趨勢(shì)是將算法更加易用,讓更多人感受到視覺(jué)的魅力,也能讓更多有意向從事這個(gè)領(lǐng)域的人才進(jìn)入。但受限于某些客觀的限制,比如github下載容易失敗,谷歌網(wǎng)盤(pán)無(wú)法下載等,讓部分人不得不退卻。 


          因此,我想我的分享的價(jià)值就在于感受視覺(jué)魅力的“最后一公里”。

          完整的權(quán)重文件和項(xiàng)目都放在后臺(tái)了,回復(fù)“yolov4” 即可獲取。


          歡迎分享,幫助更多的小伙伴!


          使用YOLOv4、DeepSort和TensorFlow實(shí)現(xiàn)的目標(biāo)跟蹤。YOLOv4是一種非常優(yōu)秀的算法,它使用深卷積神經(jīng)網(wǎng)絡(luò)來(lái)執(zhí)行目標(biāo)檢測(cè)。更詳細(xì)的介紹可以參考之前文章。

          吊打一切的YOLOv4的tricks匯總!附參考論文下載

          今天分享的內(nèi)容是將YOLOv4的輸出輸入到Deep-SORT(Simple Online and Realtime Tracking with a Deep Association Metric),以創(chuàng)建一個(gè)高精度的目標(biāo)跟蹤器。

          demo效果展示:


          開(kāi)始實(shí)操

          1、克隆項(xiàng)目

          git clone https://github.com/theAIGuysCode/yolov4-deepsort.git

          2、環(huán)境配置

          從github項(xiàng)目的requirements-gpu.txt 文件我們可以知道所需要的依賴文件內(nèi)容(這里以GPU版本為例,也可以選擇安裝requirements.txt ):

          tensorflow-gpu==2.3.0rc0
          opencv-python==4.1.1.26
          lxml
          tqdm
          absl-py
          matplotlib
          easydict
          pillow

          強(qiáng)烈建議使用conda 創(chuàng)建虛擬環(huán)境避免污染其他環(huán)境

          # 創(chuàng)建虛擬環(huán)境
          conda create xxx
          # 激活虛擬環(huán)境

          # 安裝依賴,這里使用的TensorFlow 2 
          pip install -r requirements-gpu.txt

          PS:建議使用的 cuda 版本是 10.1

          可能存在的問(wèn)題,tensorflow和opencv下載太慢

          # 通過(guò)指定源來(lái)下載https://www.cnblogs.com/whw1314/p/11748096.html
          # 以pip 安裝 tensorflow-gpu==2.3.0rc0 為例:
          pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow-gpu==2.3.0rc0

          3、預(yù)訓(xùn)練模型下載

          我們的目標(biāo)跟蹤器使用 YOLOv4 進(jìn)行目標(biāo)檢測(cè),然后使用 deep sort 進(jìn)行跟蹤。這里提供官方的 YOLOv4 目標(biāo)檢測(cè)模型 作為預(yù)訓(xùn)練模型,該模型能夠檢測(cè) 80 類(lèi)物體。

          為了便于演示,我們將使用預(yù)訓(xùn)練的權(quán)重作為我們的跟蹤器。下載預(yù)訓(xùn)練的yolov4.weights文件:

          https://drive.google.com/open?id=1cewMfusmPjYWbrnuJRuKhPMwRe_b9PaT

          將下載好的權(quán)重文件復(fù)制到 data 文件夾下。

          PS:如果你向使用 yolov4-tiny.weights,一個(gè)更小的模型,運(yùn)行更快但精度略低一些,可以在這里下載

          https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights

          使用 YOLOv4 運(yùn)行跟蹤器

          為了將 YOLOv4 應(yīng)用到目標(biāo)跟蹤上,首先我們需要將權(quán)重文件轉(zhuǎn)換 成對(duì)應(yīng)的TensorFlow 模型,并將保存到 checkpoints 文件夾中。然后我們需要運(yùn)行 object_tracker.py 來(lái)實(shí)現(xiàn)目標(biāo)跟蹤。

          # Convert darknet weights to tensorflow model
          python save_model.py --model yolov4 

          # Run yolov4 deep sort object tracker on video
          python object_tracker.py --video ./data/video/test.mp4 --output ./outputs/demo.avi --model yolov4

          # Run yolov4 deep sort object tracker on webcam (set video flag to 0)
          python object_tracker.py --video 0 --output ./outputs/webcam.avi --model yolov4

          --output 后面接的是目標(biāo)跟蹤輸出結(jié)果視頻文件的存儲(chǔ)路徑。

          當(dāng)然如果你希望使用YOLOv4-Tiny 可以參考下面的操作

          使用 YOLOv4-Tiny 運(yùn)行跟蹤器

          下面的命令將可以運(yùn)行yolov4-tiny模型。Yolov4-tiny允許你獲得一個(gè)更高的速度(FPS)的跟蹤器,但可能在精度上有一點(diǎn)損失。確保你已經(jīng)下載了權(quán)重文件,并將其添加到“data”文件夾中。

          # save yolov4-tiny model
          python save_model.py --weights ./data/yolov4-tiny.weights --output ./checkpoints/yolov4-tiny-416 --model yolov4 --tiny

          # Run yolov4-tiny object tracker
          python object_tracker.py --weights ./checkpoints/yolov4-tiny-416 --model yolov4 --video ./data/video/test.mp4 --output ./outputs/tiny.avi --tiny

          輸出結(jié)果

          如上所述,生成的視頻將保存到設(shè)置 --output 命令行標(biāo)志路徑的位置。這里把它設(shè)置為保存到‘output’文件夾。你也可以通過(guò)調(diào)整--output_format標(biāo)志來(lái)改變保存的視頻類(lèi)型,默認(rèn)情況下它被設(shè)置為AVI編解碼器,也就是XVID。

          示例視頻顯示跟蹤所有coco數(shù)據(jù)集類(lèi):

          目標(biāo)跟蹤器跟蹤的類(lèi)別

          默認(rèn)情況下,代碼被設(shè)置為跟蹤coco數(shù)據(jù)集中的所有80個(gè)類(lèi),這是預(yù)先訓(xùn)練好的YOLOv4模型所使用的。但是,可以簡(jiǎn)單地調(diào)整幾行代碼,以跟蹤80個(gè)類(lèi)中的任意一個(gè)或任意一個(gè)組合。只選擇最常見(jiàn)的person類(lèi)或car類(lèi)非常容易。

          要自定義選擇的類(lèi),所需要做的就是注釋掉object_tracker.py的第159行和第162行allowed_classes列表,并需要添加想要跟蹤的任何類(lèi)。這些類(lèi)可以是模型訓(xùn)練的80個(gè)類(lèi)中的任何一個(gè),可以在data/classes/ cocoa .names文件中看有那些跟蹤類(lèi)

          這個(gè)示例將允許跟蹤person和car的類(lèi)。

          目標(biāo)跟蹤demo將跟蹤的類(lèi)別設(shè)置為“person”

          目標(biāo)跟蹤demo將跟蹤的類(lèi)別設(shè)置為“car”

          命令行參數(shù)參考

          save_model.py:  --weights: path to weights file    (default: './data/yolov4.weights')  --output: path to output    (default: './checkpoints/yolov4-416')  --[no]tiny: yolov4 or yolov4-tiny    (default: 'False')  --input_size: define input size of export model    (default: 416)  --framework: what framework to use (tf, trt, tflite)    (default: tf)  --model: yolov3 or yolov4    (default: yolov4)     object_tracker.py:  --video: path to input video (use 0 for webcam)    (default: './data/video/test.mp4')  --output: path to output video (remember to set right codec for given format. e.g. XVID for .avi)    (default: None)  --output_format: codec used in VideoWriter when saving video to file    (default: 'XVID)  --[no]tiny: yolov4 or yolov4-tiny    (default: 'false')  --weights: path to weights file    (default: './checkpoints/yolov4-416')  --framework: what framework to use (tf, trt, tflite)    (default: tf)  --model: yolov3 or yolov4    (default: yolov4)  --size: resize images to    (default: 416)  --iou: iou threshold    (default: 0.45)  --score: confidence threshold    (default: 0.50)  --dont_show: dont show video output    (default: False)  --info: print detailed info about tracked objects    (default: False)

          參考資料

          • tensorflow-yolov4-tflite:https://github.com/hunglc007/tensorflow-yolov4-tflite

          • Deep SORT Repository:

            https://github.com/nwojke/deep_sort

          https://github.com/theAIGuysCode/yolov4-deepsort



          下載1:OpenCV黑魔法


          AI算法與圖像處公眾號(hào)后臺(tái)回復(fù):OpenCV黑魔法,即可下載小編精心編寫(xiě)整理的計(jì)算機(jī)視覺(jué)趣味實(shí)戰(zhàn)教程


          下載2 CVPR2020

          AI算法與圖像處公眾號(hào)后臺(tái)回復(fù):CVPR2020即可下載1467篇CVPR 2020論文
               
          個(gè)人微信(如果沒(méi)有備注不拉群!
          請(qǐng)注明:地區(qū)+學(xué)校/企業(yè)+研究方向+昵稱


          覺(jué)得有趣就點(diǎn)亮在看吧




          瀏覽 74
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  四虎乱伦视频 | 波多野结衣一级婬片A片免费下载 | 日日夜夜精品视品 | www.caopeng | www.中文字幕 |