天天看點

YOLO V5的安裝與使用YOLOV5 的安裝與使用

YOLOV5 的安裝與使用

預備環境:pytorch

第一步,從github上下載下傳工程檔案

因為版本會經常更新,是以還是從官方下載下傳比較好,百度下很容易出現依賴與yolov5版本不一緻,權重檔案不比對等問題(别問我是怎麼知道的)。本文所有步驟需要的包都從可靠來源下載下傳。

github網址

在搜尋欄中搜尋yolov5。

YOLO V5的安裝與使用YOLOV5 的安裝與使用

如果沒有git,那麼直接下載下傳zip包即可。

YOLO V5的安裝與使用YOLOV5 的安裝與使用

如果嫌下載下傳慢,可以把這個倉庫克隆到碼雲,從碼雲上下載下傳。這個方法百度一下有很多部落格寫道。百度一下:“github遷移碼雲”這類關鍵字即可。下載下傳完後,解壓到想要的路徑。以下所說的工程路徑就是這個解壓後的檔案夾。

第二步 下載下傳依賴

在解壓好的工程檔案中,可以找到requirements.txt檔案。在yolov5目錄下打開指令行,或者在開始菜單打開指令行,通過 cd /d(如果想要跳轉的目錄分區和目前指令行運作分區相同則不用輸入/d) yolov5工程路徑進入指定路徑 。

YOLO V5的安裝與使用YOLOV5 的安裝與使用

然後輸入指令

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple,等待pip自動下載下傳所需要的依賴。-i 參數是從清華鏡像中下載下傳依賴包,如果不加,則從國外源下載下傳,不僅速度慢,還容易下載下傳失敗。

第三步 下載下傳權重檔案

在https://github.com/ultralytics/yolov5/releases中下載下傳4個權重檔案,放到工程路徑下的weights檔案夾中。

YOLO V5的安裝與使用YOLOV5 的安裝與使用

可以不全部下載下傳,先下載下傳最小的(容易下載下傳成功)。等到以後要用的時候再想辦法下載下傳其他的權重檔案。

第四步 測試detect.py

在工程檔案在運作cmd。

然後輸入python detect.py --source 0 --weights=“weights/yolov5s.pt” (如果裝置有攝像頭)

或者python detect.py --source=“data/images/bus.jpg” --weights=“weights/yolov5s.pt”(裝置沒有攝像頭)

前者會打開攝像頭并實時探測物品,後者将用工程自帶的一張測試圖檔進行測試。運作結束後,會列印結果檔案的位置。在這個位置中可以找到測試結果。

YOLO V5的安裝與使用YOLOV5 的安裝與使用

第五步 制作自己的資料集–下載下傳LabelImg

任意位置運作cmd,然後 pip install LabelImg -i https://pypi.tuna.tsinghua.edu.cn/simple

下載下傳安裝完成後運作cmd,輸入LabelImg,打開程式

YOLO V5的安裝與使用YOLOV5 的安裝與使用

第六步 制作自己的資料集–打标簽

把準備好的圖檔放到一個檔案夾中,在LabelImg中打開這個檔案夾。然後設定标簽檔案輸出位置(change save Dir)。不要放在與圖檔相同的位置就行。然後對每張圖檔畫框打标簽。按w鍵可以畫框,畫完框後,就會彈出對話框,然後在對話框上寫上标簽名就行(這步工作就是說明圖檔上這個位置是什麼東西)。打完标簽後,你就得到兩個檔案夾。圖檔和标簽。在标簽檔案夾中,你還得到了一個classes.txt檔案。這個檔案記錄了資料集中所有類别。标簽檔案中記錄的是引索。需要通過這個classes.txt檔案才能知道對應的物品名稱。圖檔和标簽兩個檔案夾中的檔案一一對應,它們名字相同,字尾名不同。然後你需要把資料分為訓練集和測試集,比例要适中。

此時,你擁有4個檔案夾和一個class.txt檔案。

  1. train圖檔
  2. train标簽(與train 圖檔一一對應,名字相同,字尾不同)
  3. test圖檔
  4. test标簽 (與test 圖檔一一對應,名字相同,字尾不同)

第七步 把自己的資料集轉移到yolov5工程目錄

在工程目錄下找到data檔案夾,在這個檔案夾裡建立一個檔案夾。可以任意命名(為友善說明,這裡用命名為mydataset。在mydataset下建立兩個檔案夾。一個命名為images,另一個命名為labels。這兩個檔案夾名字是規定的,不能随意。然後分别在這兩個檔案夾下都建立兩個檔案夾,命名為train,test。

YOLO V5的安裝與使用YOLOV5 的安裝與使用
YOLO V5的安裝與使用YOLOV5 的安裝與使用
YOLO V5的安裝與使用YOLOV5 的安裝與使用

然後把第六步得到的4個檔案夾中的檔案轉移到對應目錄中

  1. train圖檔->images/train
  2. train标簽->labels/train
  3. test圖檔->images/test
  4. test标簽->labels/test

第七步 調整配置檔案

  1. 打開工程目錄/models/yolov5s.yaml檔案(如果訓練的是其他模型則打開其他模型的yaml檔案),然後把nc改為第六步中classes.txt中類别的數量。(你資料集中标簽了多少樣東西,這個數字就是幾)
  2. 打開工程目錄/data/coco128.yaml檔案。
    YOLO V5的安裝與使用YOLOV5 的安裝與使用

    把train:設定為第六步的train圖檔的存放位置

    把val:設定為第六步的test圖檔的存放位置

    程式會自動搜尋labels檔案的位置。這也就是第六步為什麼要規定圖檔與标簽檔案夾名字的原因。這個搜尋是通過簡單字元串替換實作的

    把nc:改為資料集的類别數目(1中的一樣)

    把names改為類别名稱,順序要和第六步得到的classes.txt中的一樣。

  3. (可選)在train.py後面追加一句

    strip_optimizer(best)

    追加這一句可以使得得到的權重檔案的大小與公布的一緻,否則,會比較大。

第七步 訓練權重

指令行切換到工程目錄下。運作指令(運作之前確定修改的配置檔案都儲存好了)

python train.py --img 640 --data data/coco128.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt --batch-size 8 --epochs 50

這些參數根據實際情況進行調整。–cfg 訓示用到的模型的配置檔案的位置。–weights 訓示對應模型權重檔案的位置。

在開始訓練前。會列印輸出的位置。我們會得到訓練名額,訓練後的兩個權重檔案(一個是最佳權重,一個是最後一輪訓練得到的權重)。

YOLO V5的安裝與使用YOLOV5 的安裝與使用

訓練完成後,就可以去那個目錄檢視結果。

第八步 用訓練得到的權重進行預測

與第四步一樣,不同的是權重檔案的位置變了

python detect.py --source 0 --weights=“weights/yolov5s.pt”。改一下權重路徑就行。

=>python detect.py --source 0 --weights=“runs\train\exp3\weights\best.pt”

source 參數說明

如果是0,則打開攝像頭

如果是圖檔路徑,則對圖檔進行預測。結果路徑會列印

如果是檔案夾,則對檔案夾中的圖檔和視訊進行預測。

如果是視訊,則對視訊進行預測。

繼續閱讀