การติดตั้งและใช้งาน YOLOv5

การติดตั้ง

1. โคลน yolov5

git clone https://github.com/ultralytics/yolov5.git

2. เปิด Anaconda สร้าง environment

conda create --name=yolov5 python=3.7
conda activate yolov5

3. เข้าไปยังโฟลเดอร์ที่โคลนมา ติดตั้งไลบรารีที่จำเป็น

cd yolov5
pip install -U -r requirements.txt

4. ติดตั้ง pycocotools

pip install git+https://github.com/philferriere/cocoapi.git#egg=pycocotools^&subdirectory=PythonAPI

5. ติดตั้ง pytorch

pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

6. ติดตั้ง wandb ไว้ monitor การเทรน (optional) ให้ไปสมัครสมาชิกที่ wandb.ai ด้วย

pip install wandb  

การใช้งาน

1. โหลดข้อมูล 

ที่มา: link ดาวน์โหลดข้อมูล Weed-Crop

โครงสร้าง ในโฟลเดอร์ weed ดังนี้ 

  • images
    • train
    • val
    • test
  • labels
    • train
    • val
    • test

นำ weed มาวางไว้ในโฟลเดอร์ yolov5/data/

2. สร้างไฟล์ weed.yaml มาวางไว้ในโฟลเดอร์ yolov5/data/

# train val and test datasets (image directory or *.txt file with image paths)
train: ./data/weed/images/train/
val: ./data/weed/images/val/
test: ./data/weed/images/test/

# number of classes
nc: 2

# class names
names: ['Crop', 'Weed']

3. โหลดค่าน้ำหนักไว้เทรนเอาไปไว้ในโฟลเดอร์ yolov5/weights

https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt
https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5m.pt
https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5l.pt
https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5x.pt

3. เริ่มต้นเทรน รันคำสั่งในพาธที่เราวางไว้

python train.py --img 512 --batch 8 --epochs 10 --data ./data/weed.yaml --weights ./weights/yolov5s.pt --cfg ./models/yolov5s.yaml --nosave --cache

4. ระหว่างที่โปรแกรมกำลังรันอยู่เราสามารถ monitor ค่าต่าง ๆ ได้โดยให้เปิด terminal ใหม่ขึ้นมาจากนั้นให้รัน

conda activate yolov5
cd yolov5
load_ext tensorboard
tensorboard --logdir=./ 

แล้วเปิดไปที่ http://localhost:6006/

หรือใช้ wandb

wandb login

5. ทดสอบรูปในโฟลเดอร์ test (มีเฉลย)

python test.py --img 512 --iou 0.5 --data ./data/weed.yaml --weights ./runs/train/exp/weights/last.pt --task test --verbose --save-txt

6. ทดสอบรูปแบบไม่มีเฉลย

python detect.py --weights ./runs/train/exp/weights/last.pt --img 512 --conf 0.25 --source ./data/sample/weed.jpg

7. Export

python ./models/export.py --weights ./runs/train/exp/weights/last.pt --img-size 512

Previous
Next Post »