How to Run YOLOv7 in Google Colab

gary.TsAI(Taiwan A.I.)
7 min readAug 30, 2022

--

我們使用 Google Colab 實操 YOLO 系列的最新版本 「YOLOv7」,輕鬆實現最新的物件偵測模型。

如果想要拿自己的數據訓練 YOLOv7 物件偵測模型,可以點選下方連結唷!

如果對 YOLOv7 人體姿態估計和實例分割有興趣的小夥伴,也可以點選下方連結唷!

在實際操作之前,先上幾張雷神的帥照!

一、YOLOv7 介紹

YOLOv7 2022 年 7 月發布的最新版本,在速度和準確率方面突破天際,在 5 FPS ~ 160 FPS 範圍內的速度和準確率都超過了所有已知的物件偵測器。

尤其是 YOLOv7-E6(56 FPS V100, 55.9% AP)比基於 Transformer SWIN-L Cascade Mask R-CNN(9.2 FPS A100, 53.9% AP)509%,準確率提高551%,並且比基於卷積的 ConvNeXt-XL, Cascade-Mask R-CNN (8.6 FPS A100, 55.2% AP) 準確率高 0.7%,甚至與之前的 YOLOR、YOLOX、Scaled-YOLOv4、YOLOv5、DETR、Deformable DETR、DINO-5scale-R50、ViT-Adapter-B 相比高上許多。

YOLOv7 通過參數的「擴展」和「複合縮放」方法,將參數量減少約 40%,計算複雜度減少約 50%。

YOLOv7 的測試結果如下表所示。

二、Google Colab 設定

讓我們馬上開始使用 YOLOv7 吧!我們將使用 Google Colab 來實現。首先,配置 GPU 使其可以使用。“Runtime” -> “Change runtime type” -> “Hardware accelerator” 更改為 GPU。

接著安裝 Google Drive

from google.colab import drive
drive.mount('/content/drive')
%cd ./drive/MyDrive

從官方 git clone

!git clone https://github.com/WongKinYiu/yolov7

然後導入所需的函式庫。這裡我們使用 pip 安裝。

%cd yolov7
!pip install -r requirements.txt

我們現在可以使用 YOLOv7 囉!開始出發吧!

三、YOLOv7 運行環境檢查

先檢查一下是否安裝順利。通過代碼查看 YOLOv7 針對 coco 數據集的性能。

!python test.py --data data/coco.yaml --img 640 --batch 32 --conf 0.001 --iou 0.65 --device 0 --weights yolov7.pt --name yolov7_640_val

四、使用範例圖片 inference

讓我們用範例圖片 inference 吧!首先下載訓練好的模型,正如一開始有介紹 YOLOv7 有多個預訓練的模型。這裡我們使用準確率最高的 “yolov7-e6e.pt”

!wget https://github.com/WongKinYiu/yolov7/releases/download/v0.1/yolov7-e6e.pt

使用範例圖片 'yolov7/inference/images/horses.jpg' 進行推理。

!python detect.py --source inference/images/horses.jpg --weights yolov7-e6e.pt --conf 0.25 --img-size 1280 --device 0

運行結果會保存在 “yolov7/runs/detect/exp” 中,可以看到精準檢測到馬。

我們能夠輕鬆地在範例圖片上運行物件偵測囉!

五、使用任意圖片 inference

讓我們用任意圖片 inference 吧!將圖片儲存到 “yolov7/inference/images/” 文件夾底下,像上述一樣運行推理演示。將 “--source” 參數更改為您上傳的圖像 “inference/images/dog.jpg”

!python detect.py --source inference/images/dog.jpg --weights yolov7-e6e.pt --conf 0.25 --img-size 1280 --device 0

運行結果會保存在 “yolov7/runs/detect/exp” 中,可以看到精準檢測到狗。

我們能夠輕鬆地在任何圖片上運行物件偵測囉!

六、使用任意視頻進行 inference

讓我們用任意視頻 inference 吧!將視頻儲存到 “yolov7/inference/images/” 文件夾底下,像上述一樣運行推理演示。將 “ — source” 參數更改為您上傳的視頻 “inference/images/road.mp4”

!python detect.py --source inference/images/road.mp4 --weights yolov7-e6e.pt --conf 0.25 --img-size 1280 --device 0

我們能夠輕鬆地在任何視頻上運行物件偵測囉!

最後來偵測一下比石頭還硬的巨石強森和地表最帥的光頭傑森斯坦森吧!

如果拿來偵測鋼鐵人會發生什麼事呢 ?

是不是帥爆了呢?大家趕快去嘗試看看唄!!!

--

--