本文用于學(xué)習(xí)記錄
前言
YOLO v5 實(shí)現(xiàn)目標(biāo)檢測(cè)
一、YOLO v5 環(huán)境配置
1.1 安裝 anaconda 與 pycharm
- 安裝完成以后,按下開(kāi)始鍵( win 鍵)出現(xiàn) anaconda3 這個(gè)文件夾,說(shuō)明 anaconda 已經(jīng)安裝好了
- 點(diǎn)擊左下圖中標(biāo)紅的圖標(biāo),就可打開(kāi) anaconda 的終端如右下圖:
1.2 創(chuàng)建虛擬環(huán)境
conda create -n 環(huán)境名字(英文) python=x.x(python版本)
- 輸入 conda create -n pytorch1 python=3.9,在 base 環(huán)境中這條命令,就會(huì)創(chuàng)建一個(gè)新的虛擬環(huán)境,這個(gè)虛擬環(huán)境會(huì)安裝一些基礎(chǔ)的包,如左下圖所示:
- 詢(xún)問(wèn)是否安裝的時(shí)候,輸入 y 就可以創(chuàng)建環(huán)境了
1.3 進(jìn)入 pytorch 環(huán)境
conda activate pytorch1
- 安裝完成后顯示如下,輸入 conda activate pytorch1 進(jìn)入 pytorch 環(huán)境,輸入 pip list 查看已經(jīng)安裝的包
1.4 安裝 pytorch
#如果電腦沒(méi)有英偉達(dá)的顯卡輸入:(在 pytorch 環(huán)境下輸入)
conda install pytorch torchvision cpuonly -c pytorch
二、YOLO v5 項(xiàng)目下載實(shí)現(xiàn)
2.1 YOLO v5 項(xiàng)目下載
-
下載源碼,并保存至本地
2.2 解壓 yolo v5 項(xiàng)目并導(dǎo)入 Pycharm
- 將本地的 yolov5 項(xiàng)目解壓至 Pycharm 特定的 Project 項(xiàng)目中,Pycharm 將會(huì)自動(dòng)識(shí)別,并完成加載
- 如左下圖所示,已完成 yolov5 項(xiàng)目的導(dǎo)入,進(jìn)入 File 下的 Settings 進(jìn)行 python 解釋器設(shè)置
2.3 添加 Python interpreter
- 選擇 Settings 中的 Project yolov5-master 下的 Python interpreter,點(diǎn)擊右上角標(biāo)紅的設(shè)置選擇 add 添加;
2.4 選擇 Existing environment
- 進(jìn)入 Add Python interpreter 選擇 Conda Environment 下標(biāo)紅的 Existing environment,點(diǎn)擊 OK 之后 python 解釋器設(shè)置就配置好了;
2.5 直接運(yùn)行 detect.py
- 直接運(yùn)行 detect.py,會(huì)出現(xiàn)以下問(wèn)題,即缺少依賴(lài)包;
2.6 配置 requirements.txt
#需要導(dǎo)入的 requirements.txt 文件配置,里面包含 yolo5 運(yùn)行所需依賴(lài),在 Pycharm 的 Terminal 終端輸入:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2.7 重新運(yùn)行 detect.py
- 安裝成功后,再次運(yùn)行 detect.py,將會(huì)檢測(cè) data/images 中的圖片;
2.8 yolov5s.pt 權(quán)重文件下載超時(shí)
- 運(yùn)行結(jié)果會(huì)在 runs 目錄下,但這里沒(méi)有看到所預(yù)測(cè)的圖片,原因是 yolov5s.pt 權(quán)重文件下載超時(shí);
2.9 下載 yolov5s.pt 權(quán)重文件
- yolov5s.pt 權(quán)重文件下載超時(shí)后,可重新運(yùn)行 detec.py,
- 如果下載太慢,也可進(jìn)入官網(wǎng)地址下載 yolov5s.pt;
2.10 detect.py 運(yùn)行成功
- detect.py 運(yùn)行結(jié)果保存到 runs\detect\exp 中,
2.11 檢測(cè)視頻
- 前面是檢測(cè)圖片,可以把想檢測(cè)的視頻放入新建的 data/video 的文件夾中,將代碼改成 default=ROOT / ‘data/video’ 即可;
2.12 檢測(cè)攝像頭
- 開(kāi)啟攝像頭檢測(cè),將代碼改成 default=‘0’,便可開(kāi)啟自帶攝像頭
- 將代碼改成 default=‘1’,便可開(kāi)啟 USB 攝像頭,進(jìn)行動(dòng)態(tài)的實(shí)時(shí)檢測(cè)
2.13 連接手機(jī)攝像頭
-
手機(jī)和電腦在同一局域網(wǎng)下(即連接的是同一個(gè) WIFI)
-
下載 IP 攝像頭 Lite
-
點(diǎn)擊打開(kāi) IP 攝像頭 Lite
-
點(diǎn)擊打開(kāi) IP 攝像頭服務(wù)器
# 修改 detect.py 代碼,運(yùn)行即可 parser.add_argument('--source', type=str, default='http://admin:admin@192.168.0.130:8081', help='file/dir/URL/glob/screen/0(webcam)')
-
報(bào)錯(cuò)原因:上述修改未加上用戶(hù)名和密碼 admin:admin@
三、自制數(shù)據(jù)集訓(xùn)練自己的模型
3.1 新建文件夾存儲(chǔ)數(shù)據(jù)集圖片和標(biāo)簽
- 新建文件夾 train_data,在該文件夾下新建 images、labels 兩個(gè)文件夾
- 分別在這里兩個(gè)文件夾下新建 train 文件夾
- 將采集的圖片(采用手機(jī)拍照或者走網(wǎng)上搜索你所需要的數(shù)據(jù)集)放入 train_data/images/train 文件夾,此時(shí) train_dat/labels/train 文件夾是空的
3.2 圖片標(biāo)注
-
這是一個(gè)在線標(biāo)注工具,點(diǎn)擊 Get Started 進(jìn)入右圖
-
選擇自己前面采集的8張要訓(xùn)練的圖片,點(diǎn)擊 Object Detection
-
輸入你所需要的標(biāo)簽,在這都是貓的圖片,如果種類(lèi)多樣,按 Enter 繼續(xù)添加輸入即可,不需要?jiǎng)t點(diǎn)擊刪除
-
畫(huà)框打上標(biāo)簽,給所有圖片都打完標(biāo)簽后,選擇導(dǎo)出模型標(biāo)簽,如下圖所示:
-
選擇第一個(gè) yolo 模型,然年導(dǎo)出,你可以看到你需要的標(biāo)簽已經(jīng)下載下來(lái)了;
-
導(dǎo)出后,你可以看到該標(biāo)簽文件夾下有8個(gè)已經(jīng)標(biāo)注好的 txt 文件
-
把它們復(fù)制到之前空的 train_data/labels/train 文件夾中
3.3 yaml 文件修改
- 復(fù)制 coco128.yaml 修改為 cat.yaml ,并對(duì)其內(nèi)容進(jìn)行修改;
3.4 修改并運(yùn)行 train.py
-
(這里是由于內(nèi)存不足報(bào)錯(cuò),)1個(gè) epoch 表示過(guò)了1遍訓(xùn)練集中的所有樣本
-
batch-size:1次迭代所使用的樣本量
-
例如定義10000次迭代為1個(gè) epoch,若每次迭代的 batch-size 設(shè)為256,那么1個(gè) epoch 相當(dāng)于過(guò)了2560000個(gè)訓(xùn)練樣本。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-794071.html
-
于是把 epoch 設(shè)置為3,能成功訓(xùn)練,但這樣訓(xùn)練出來(lái)的模型就沒(méi)啥效果,所以還得將 epoch 設(shè)置的高點(diǎn),比較不同值訓(xùn)練后的結(jié)果,看哪個(gè)效果更好。
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-794071.html
總結(jié)
以上就是 yolov5 的環(huán)境配置、運(yùn)行與訓(xùn)練過(guò)程及其中可能出現(xiàn)的問(wèn)題與解決辦法。
到了這里,關(guān)于YOLO v5 實(shí)現(xiàn)目標(biāo)檢測(cè)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!