发布于 2026-01-06 0 阅读
0

การใช้ YOLO อัลกอริทึ่มในการตรวจจับวัตถุ(对象检测)

การใช้ YOLO อัลกอริทึ่มในการตรวจจับวัตถุ(对象检测)

YOLO是什么?
YOLO 是什么?

YOLO ย่อมากจาก“你只看一次” เป็นโมเดลอัลกอริทั่มในการตรวจจับวัตถุ
约瑟夫·雷蒙 (Joseph Redmon)

YOLOคือการแบ่งภาพออกเป็นช่องๆขนาด N*N หละจะใช้อัลกอริทั่มคำนวนค่ ความเป็นไปได้ของข่องนั้นๆ数据集 ว่าจะเป็นวัตถุที่อยู่ใน数据集

图片描述

หัวข้อถัดไปการตรวจจับวัตถุ
การตรวจจับวัตถุคืออะไร?

物体检测คือความสามารถในการตรวจจับวัตถุและบ่ง บอกว่าวัตถุนั้นคืออะไรได้อย่างถูกต้อง
计算机视觉 计算机视觉AI คอมพิวเตอร์
ให้สามารถมองเห็นและเข้าใจในสิ่งที่ม ุษย์สามารถทำได้ผ่านการรับค่ารูปภาพ目标检测
机器学习深度学习 深度学习深度学习 人工智能ให้ทำหน้าที่ได้เหมือนมนุษย์

โดยณปัจจุบันYOLOมีถึง版本8ในบทความนี้เราจะใช้YOLOV5特色功能ที่เพิ่มเข้ามาในเวอร์ชั่นหลังๆนั้นเอง

เอาหละ เมื่อเกริ่นคร่าวๆเสร็จแล ้วเรามาเริ่มกันเลยดีกว่า!

ขั้นตอนแรก

เปิด Google Colab ใช่แล้วเราจะใช้ Google Colab ในบทความนี้ Python 库ค่อนข้างเยอะ
เราเลยตัดปัญหาใช้ Google colabเลยง่ายดี ลิ้งไปGoogle Colab

图片描述

ให้ทำการสร้าง笔记本อันใหม่ขึ้นมาโล่ด!
笔记本电脑ด้วยนะจะได้ไม่สับสนทีหลัง

2、
Git hub、YoloV5、Colab 和 YoloV5 โดยใช้ชุดโค้ดคำสั่งดังนี้



!git clone https://github.com/ultralytics/yolov5  
%cd yolov5
%pip install -qr requirements.txt  


Enter fullscreen mode Exit fullscreen mode

และจากนั้นจะมีโฟลเดอร์ชื่อ yolov5 มาแบบนี้

图片描述

ข้อควรระวัง!!!代码 นี้หลายๆรอบ จะทำให้โฟลเดอร์ซ้อนกันเรื่อยๆแบบนี้ จะมีปัญหาในการดึงค่า路径ภายหลัง

第 3 章

รันโค้ดชุดนี้和导入库



import torch
from yolov5 import utils
display = utils.notebook_init() 


Enter fullscreen mode Exit fullscreen mode

ถ้าใครมีปัญหาแนะนำให้ดูเรื่อง路径ของโฟลเดอร์ yolov5 ดีๆ
รันเสร็จจะได้แบบนี้

图片描述

第 4 章

数据集和模型数据集
โดยในบทความครั้งนี้จะใช้ไฟล์ชื่อcoco128.yaml เนื่องจากเป็นไฟล์ที่YOLOV5 มีในตัว自定义数据集 自定义
数据集สามารถไปแก้ไขภายในไฟล์ได้
ใช้โค้ดชุดนี้ในการรันคำสั่ง



!python train.py --img 640 --batch 8 --epochs 10 --data coco128.yaml --weights yolov5s.pt --cache


Enter fullscreen mode Exit fullscreen mode

โดยค่าข้างในเราสามารถปรับแต่งเองได้ดังนี้

  1. 图片 จะกำหนดค่าขนาดของภาพที่ใช้ในการเทรน
  2. 批处理 จะเป็นการแบ่ง数据集ให้เล็กลงว่าจะหารเท่าไร (128/8 16)
  3. epochs ให้เทรนทั้งหมดกี่ครั้งหลังจากรัน批次ทั้งหมดจะเพิ่มค่าความแม่นยำ
  4. 数据ไฟล์ที่จะใช้เทรนในที่นี้คือcoco128.yaml
  5. 权重输出ไฟล์ที่เทรนเสร็จแล้ว

ทริค!!高速缓存 高速缓存 高速缓存 高速缓存 内存 高速缓存 磁盘ในการทำให้เทรนเร็วขึ้นแต่กินสเปคคอมนะจ๊ะ

第 5 章

รอเทรนใช่แล้วรอเทรนให้เสร็จยังไงหละ รออย่างเดียวจะค่อนข้างนาน
时代ว่ากี่รอบโดยเริ่มจาก 0
ในที่นี้ก็คือ 0-9 รอบ รอไป!

图片描述

ram 和磁盘หละก็อย่างต่ำครึ่งชม.ต้องมา

เทรนเสร็จแล้ว! จะได้ภาพคร่าวๆดังนี้

图片描述

และดูว่าไฟล์จะไปเซฟที่ไหน ถ้าเกิดเราเทรนหลายๆครั้งและย กเลิกชื่อโฟลเดอร์จะเปลี่ยนไป
ให้หาโฟลเดอร์ชื่อ体重/ และใช้ไฟล์ best.pt แบบนี้

图片描述

第 6 章

谷歌合作实验室สามารถข้ามตรงนี้ได้ถ้าอยากอัพไฟล์ขึ้นเอง

* โดยจะใช้โค้ดคำสั่งชุดนี้ *



from google.colab import files
uploaded = files.upload()


Enter fullscreen mode Exit fullscreen mode

图片描述

หละก็อัพโหลดภาพขึ้นโหลดหลังจากนั้นจะแก้ช ื่อภาพหรือย้ายไปโฟลเดอร์ไหนตามใจได้เลยจ้า

พอได้มากดคลิ๊กขวา!复制路径มันมาซะเราจะเอาไปใช้ในขั้นตอนต่อไป!

图片描述

第 7 章

ได้เวลาแห่งความจริงในการตรวจจับภาพ

图片描述

ใช้โค้ดคำสั่งชุดนี้ในการรัน



!python detect.py --source /content/yolov5/myfriend.jpg --weights /content/yolov5/runs/train/exp/weights/best.pt


Enter fullscreen mode Exit fullscreen mode

โดยหาไฟล์ชื่อ detector.py ให้เจอนะถ้าใครไม่มี!第 2 章

ต่อมาคือการใช้路径ไฟล์

--source คือ ต่ำแหน่งของภาพที่ก็อปมาเมื่อกี้ มาวางตรงนี้โล่ด
--weight คือ模型ที่เราเทรนเสร็จแล้ว复制路径ไฟล์ best.pt มาแปะ

แล้วก็รันโล่ด!!!

图片描述

จะได้ผลลัพธ์ออกมาประมาณนี้
640 号ภาพเลยจะมีขนาดแคบกว่าปกติ

第 1 章:
图片描述

第 2 章:

图片描述

第 3 章:

图片描述

*错误AI ตรวจจับเป็นโทรศัพท์มือถือแทน แนะนำว่าควรเพิ่มจำนวนครั้งที่เทรน เพื่อเพิ่มค่าความแม่นยำขึ้น *

教程 教程 YoloV5对象检测 对象检测 目标检测 目标检测ขอบคุณที่อ่านมาจนจบถึงตอนนี้ หวังว่าบทความนี้จะเป็นประโยชน ์ไม่น้อยก็มากต่อผู้อ่านนะครับขอบคุณครับผม

参考文献
เนื่องจากบล็อกนี้เขียนขึ้นมาใหม่เอง
เป็นการรรวมกันของหลายๆเ ว็บจึงมีเรฟค่อนข้างเยอะ

文章来源:https://dev.to/gfstealer666/kaaraich-yolo-alkrithuemainkaartrwcchcchabwatthu-object-detection-3lef