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

          手把手教你使用 YOLOV5 訓(xùn)練目標(biāo)檢測(cè)模型

          共 3522字,需瀏覽 8分鐘

           ·

          2022-01-23 08:08

          來(lái)自于點(diǎn)擊下方卡片,關(guān)注“新機(jī)器視覺”公眾號(hào)

          視覺/圖像重磅干貨,第一時(shí)間送達(dá)

          ?

          作者 |?肆十二

          來(lái)源 | CSDN博客

          這次要使用YOLOV5來(lái)訓(xùn)練一個(gè)口罩檢測(cè)模型,比較契合當(dāng)下的疫情,并且目標(biāo)檢測(cè)涉及到的知識(shí)點(diǎn)也比較多。
          先來(lái)看看我們要實(shí)現(xiàn)的效果,我們將會(huì)通過(guò)數(shù)據(jù)來(lái)訓(xùn)練一個(gè)口罩檢測(cè)的模型,并用pyqt5進(jìn)行封裝,實(shí)現(xiàn)圖片口罩檢測(cè)、視頻口罩檢測(cè)和攝像頭實(shí)時(shí)口罩檢測(cè)的功能。
          下載代碼
          代碼的下載地址是:[YOLOV5-mask-42: 基于YOLOV5的口罩檢測(cè)系統(tǒng)-提供教學(xué)視頻 (gitee.com)](https://github.com/ultralytics/yolov5)
          配置環(huán)境
          anaconda安裝完成之后請(qǐng)切換到國(guó)內(nèi)的源來(lái)提高下載速度 ,命令如下:
          conda config --remove-key channelsconda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/conda config --set show_channel_urls yespip?config?set?global.index-url?https://mirrors.ustc.edu.cn/pypi/web/simple
          首先創(chuàng)建python3.8的虛擬環(huán)境,請(qǐng)?jiān)诿钚兄袌?zhí)行下列操作:
          conda create -n yolo5 python==3.8.5conda?activate?yolo5
          pytorch安裝(gpu版本和cpu版本的安裝)
          實(shí)際測(cè)試情況是YOLOv5在CPU和GPU的情況下均可使用,不過(guò)在CPU的條件下訓(xùn)練那個(gè)速度會(huì)令人發(fā)指,所以有條件的小伙伴一定要安裝GPU版本的Pytorch,沒有條件的小伙伴最好是租服務(wù)器來(lái)使用。
          需要注意以下幾點(diǎn):
          • 安裝之前一定要先更新你的顯卡驅(qū)動(dòng),去官網(wǎng)下載對(duì)應(yīng)型號(hào)的驅(qū)動(dòng)安裝

          • 30系顯卡只能使用cuda11的版本

          • 一定要?jiǎng)?chuàng)建虛擬環(huán)境,這樣的話各個(gè)深度學(xué)習(xí)框架之間不發(fā)生沖突

          我這里創(chuàng)建的是python3.8的環(huán)境,安裝的Pytorch的版本是1.8.0,命令如下:
          conda install pytorch==1.8.0 torchvision torchaudio cudatoolkit=10.2 # 注意這條命令指定Pytorch的版本和cuda的版本conda?install?pytorch==1.8.0?torchvision==0.9.0?torchaudio==0.8.0?cpuonly?#?CPU的小伙伴直接執(zhí)行這條命令即可

          安裝完畢之后,我們來(lái)測(cè)試一下GPU是否

          pycocotools的安裝
          后面我發(fā)現(xiàn)了windows下更簡(jiǎn)單的安裝方法,大家可以使用下面這個(gè)指令來(lái)直接進(jìn)行安裝,不需要下載之后再來(lái)安裝
          pip?install?pycocotools-windows


          其他包的安裝
          另外的話大家還需要安裝程序其他所需的包,包括opencv,matplotlib這些包,不過(guò)這些包的安裝比較簡(jiǎn)單,直接通過(guò)pip指令執(zhí)行即可,我們cd到y(tǒng)olov5代碼的目錄下,直接執(zhí)行下列指令即可完成包的安裝。
          pip install -r requirements.txtpip install pyqt5pip?install?labelme
          測(cè)試一下
          在yolov5目錄下執(zhí)行下列代碼:
          python?detect.py?--source?data/images/bus.jpg?--weights?pretrained/yolov5s.pt
          執(zhí)行完畢之后將會(huì)輸出下列信息
          在runs目錄下可以找到檢測(cè)之后的結(jié)果
          按照官方給出的指令,這里的檢測(cè)代碼功能十分強(qiáng)大,是支持對(duì)多種圖像和視頻流進(jìn)行檢測(cè)的,具體的使用方法如下:
           python detect.py --source 0  # webcam                            file.jpg  # image                             file.mp4  # video                            path/  # directory                            path/*.jpg  # glob                            'https://youtu.be/NUsoVlDFqZg'  # YouTube video????????????????????????????'rtsp://example.com/media.mp4'??#?RTSP,?RTMP,?HTTP?stream
          數(shù)據(jù)處理
          這里改成yolo的標(biāo)注形式,之后專門出一期數(shù)據(jù)轉(zhuǎn)換的內(nèi)容。
          數(shù)據(jù)標(biāo)注這里推薦的軟件是labelimg,通過(guò)pip指令即可安裝
          在你的虛擬環(huán)境下執(zhí)行:
          pip install labelimg -i https://mirror.baidu.com/pypi/simple命令進(jìn)行安裝,然后在命令行中直接執(zhí)行l(wèi)abelimg軟件即可啟動(dòng)數(shù)據(jù)標(biāo)注軟件。
          軟件啟動(dòng)后的界面如下:
          數(shù)據(jù)標(biāo)注
          雖然是yolo的模型訓(xùn)練,但是這里我們還是選擇進(jìn)行voc格式的標(biāo)注,一是方便在其他的代碼中使用數(shù)據(jù)集,二是我提供了數(shù)據(jù)格式轉(zhuǎn)化
          標(biāo)注的過(guò)程是:
          1.打開圖片目錄
          2.設(shè)置標(biāo)注文件保存的目錄并設(shè)置自動(dòng)保存
          3.開始標(biāo)注,畫框,標(biāo)記目標(biāo)的label,crtl+s保存,然后d切換到下一張繼續(xù)標(biāo)注,不斷重復(fù)重復(fù)
          labelimg的快捷鍵如下,學(xué)會(huì)快捷鍵可以幫助你提高數(shù)據(jù)標(biāo)注的效率。
          標(biāo)注完成之后你會(huì)得到一系列的txt文件,這里的txt文件就是目標(biāo)檢測(cè)的標(biāo)注文件,其中txt文件和圖片文件的名稱是一一對(duì)應(yīng)的,如下圖所示:
          打開具體的標(biāo)注文件,你將會(huì)看到下面的內(nèi)容,txt文件中每一行表示一個(gè)目標(biāo),以空格進(jìn)行區(qū)分,分別表示目標(biāo)的類別id,歸一化處理之后的中心點(diǎn)x坐標(biāo)、y坐標(biāo)、目標(biāo)框的w和h。
          4.修改數(shù)據(jù)集配置文件
          標(biāo)記完成的數(shù)據(jù)請(qǐng)按照下面的格式進(jìn)行放置,方便程序進(jìn)行索引。
          YOLO_Mask└─ score       ├─ images       │    ├─ test # 下面放測(cè)試集圖片       │    ├─ train # 下面放訓(xùn)練集圖片       │    └─ val # 下面放驗(yàn)證集圖片       └─ labels              ├─ test # 下面放測(cè)試集標(biāo)簽              ├─ train # 下面放訓(xùn)練集標(biāo)簽??????????????├─?val?#?下面放驗(yàn)證集標(biāo)簽
          這里的配置文件是為了方便我們后期訓(xùn)練使用,我們需要在data目錄下創(chuàng)建一個(gè)mask_data.yaml的文件,如下圖所示:
          到這里,數(shù)據(jù)集處理部分基本完結(jié)撒花了,下面的內(nèi)容將會(huì)是模型訓(xùn)練!
          模型訓(xùn)練
          模型的基本訓(xùn)練
          在models下建立一個(gè)mask_yolov5s.yaml的模型配置文件,內(nèi)容如下:
          模型訓(xùn)練之前,請(qǐng)確保代碼目錄下有以下文件
          執(zhí)行下列代碼運(yùn)行程序即可:
          python?train.py?--data?mask_data.yaml?--cfg?mask_yolov5s.yaml?--weights?pretrained/yolov5s.pt?--epoch?100?--batch-size?4?--device?cpu
          訓(xùn)練代碼成功執(zhí)行之后會(huì)在命令行中輸出下列信息,接下來(lái)就是安心等待模型訓(xùn)練結(jié)束即可。
          根據(jù)數(shù)據(jù)集的大小和設(shè)備的性能,經(jīng)過(guò)漫長(zhǎng)的等待之后模型就訓(xùn)練完了,輸出如下:
          在train/runs/exp3的目錄下可以找到訓(xùn)練得到的模型和日志文件
          當(dāng)然還有一些騷操作,比如模型訓(xùn)練到一半可以從中斷點(diǎn)繼續(xù)訓(xùn)練,這些就交給大家下去自行探索嘍。


          本文僅做學(xué)術(shù)分享,如有侵權(quán),請(qǐng)聯(lián)系刪文。


          —THE END—
          瀏覽 116
          點(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>
                  女人被男人操黄色午夜网止 | 中文字幕在线码 | 欧美操逼手机视频 | 欧美亚洲成人电影 | 最新欧美日韩中文 |