Ultralytics YOLO27:
Get Started

Bắt đầu nhanh với YOLOv5 🚀#

Bắt đầu hành trình khám phá thế giới năng động của phát hiện đối tượng thời gian thực với Ultralytics YOLOv5! Hướng dẫn này được biên soạn như điểm khởi đầu toàn diện dành cho những người đam mê AI và chuyên gia muốn thành thạo YOLOv5. Từ thiết lập ban đầu đến các kỹ thuật huấn luyện nâng cao, hướng dẫn này sẽ hỗ trợ bạn. Khi hoàn thành, bạn sẽ có kiến thức để tự tin tích hợp YOLOv5 vào dự án bằng các phương pháp deep learning tiên tiến nhất. Hãy khởi động và bắt đầu khám phá YOLOv5!

Cài đặt#

Chuẩn bị bắt đầu bằng cách clone repository YOLOv5 và thiết lập môi trường. Việc này đảm bảo tất cả yêu cầu cần thiết đều được cài đặt. Đảm bảo bạn đã sẵn sàng với Python>=3.8.0 và PyTorch>=1.8. Những công cụ nền tảng này rất cần thiết để chạy YOLOv5 hiệu quả.

git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependencies

Inference với PyTorch Hub#

Trải nghiệm sự đơn giản của inference YOLOv5 qua PyTorch Hub, nơi model được tải xuống liền mạch từ bản phát hành YOLOv5 mới nhất. Phương pháp này tận dụng sức mạnh của PyTorch để tải và chạy model dễ dàng, giúp việc nhận dự đoán trở nên đơn giản.

import torch

# Tải model
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # Có thể là 'yolov5n' - 'yolov5x6', hoặc 'custom'

# Inference trên hình ảnh
img = "https://ultralytics.com/images/zidane.jpg"  # Có thể là tệp, Path, PIL, OpenCV, numpy hoặc danh sách hình ảnh

# Chạy suy luận
results = model(img)

# Hiển thị kết quả
results.print()  # or .show(), .save(), .crop(), .pandas(), etc.

Suy luận bằng detect.py#

Sử dụng detect.py để suy luận linh hoạt trên nhiều nguồn khác nhau. Công cụ tự động tải model từ bản phát hành YOLOv5 mới nhất và dễ dàng lưu kết quả. Script này lý tưởng cho việc sử dụng trên dòng lệnh và tích hợp YOLOv5 vào các hệ thống lớn hơn, hỗ trợ đầu vào như hình ảnh, video, thư mục, webcam và cả luồng trực tiếp.

python detect.py --weights yolov5s.pt --source 0                              # webcam
python detect.py --weights yolov5s.pt --source image.jpg                      # image
python detect.py --weights yolov5s.pt --source video.mp4                      # video
python detect.py --weights yolov5s.pt --source screen                         # screenshot
python detect.py --weights yolov5s.pt --source path/                          # directory
python detect.py --weights yolov5s.pt --source list.txt                       # list of images
python detect.py --weights yolov5s.pt --source list.streams                   # list of streams
python detect.py --weights yolov5s.pt --source 'path/*.jpg'                   # glob pattern
python detect.py --weights yolov5s.pt --source 'https://youtu.be/LNwODJXcvt4' # YouTube video
python detect.py --weights yolov5s.pt --source 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream

Huấn luyện#

Tái tạo các benchmark trên dataset COCO của YOLOv5 bằng cách làm theo hướng dẫn huấn luyện bên dưới. Các model và dataset cần thiết (chẳng hạn như coco128.yaml hoặc coco.yaml đầy đủ) được tải trực tiếp từ bản phát hành YOLOv5 mới nhất. Việc huấn luyện YOLOv5n/s/m/l/x trên GPU V100 thường mất lần lượt 1/2/4/6/8 ngày (lưu ý rằng các cấu hình huấn luyện đa GPU sẽ nhanh hơn). Tối đa hóa hiệu năng bằng cách sử dụng --batch-size cao nhất có thể hoặc dùng --batch-size -1 cho tính năng AutoBatch của YOLOv5, tính năng này tự động tìm batch size tối ưu. Các batch size sau đây phù hợp nhất với GPU V100-16GB. Xem Tóm tắt kiến trúc để biết chi tiết về các file cấu hình model (*.yaml).

# Train YOLOv5n on COCO128 for 3 epochs
python train.py --data coco128.yaml --epochs 3 --weights yolov5n.pt --batch-size 128

# Train YOLOv5s on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5s.yaml --batch-size 64

# Train YOLOv5m on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5m.yaml --batch-size 40

# Train YOLOv5l on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5l.yaml --batch-size 24

# Train YOLOv5x on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5x.yaml --batch-size 16
YOLOv5 training curves for COCO dataset

Tóm lại, YOLOv5 không chỉ là công cụ phát hiện đối tượng tiên tiến mà còn minh chứng cho sức mạnh của machine learning trong việc thay đổi cách chúng ta tương tác với thế giới thông qua khả năng hiểu hình ảnh. Khi tiếp tục tìm hiểu hướng dẫn này và bắt đầu áp dụng YOLOv5 vào các dự án, hãy nhớ rằng bạn đang đi đầu trong cuộc cách mạng công nghệ, với khả năng đạt được những thành tựu đáng kể trong thị giác máy tính. Nếu cần thêm thông tin hoặc hỗ trợ từ những người cùng chí hướng, hãy ghé thăm repository GitHub của chúng tôi, nơi cộng đồng nhà phát triển và nhà nghiên cứu đang phát triển mạnh mẽ. Khám phá thêm các tài nguyên như Ultralytics Platform để quản lý dataset và huấn luyện model không cần code, hoặc xem trang Giải pháp để tìm hiểu ứng dụng thực tế và nguồn cảm hứng. Hãy tiếp tục khám phá, tiếp tục đổi mới và tận hưởng những điều kỳ diệu của YOLOv5. Chúc bạn phát hiện đối tượng thành công! 🌠🔍

Câu hỏi thường gặp#

  • Không cần thiết khi suy luận. PyTorch Hub tải code và weights theo yêu cầu bằng torch.hub.load("ultralytics/yolov5", "yolov5s"). Cần clone repository để chạy các script train.py, val.py, detect.py và export.py.

  • yolov5s.pt có sự cân bằng tốt nhất giữa tốc độ và độ chính xác cho phần lớn dự án. Dùng yolov5n.pt cho các thiết bị edge, yolov5m.pt đến yolov5x.pt khi độ chính xác quan trọng hơn tốc độ, và các biến thể P6 như yolov5s6.pt để huấn luyện ở kích thước 1280 pixel. Xem bảng checkpoint pretrained để biết danh sách đầy đủ.

  • Đặt hình ảnh và nhãn theo định dạng YOLO trong các thư mục song song images/ và labels/, mô tả chúng trong một dataset.yaml, rồi chạy python train.py --data dataset.yaml --weights yolov5s.pt. Hướng dẫn Huấn luyện dữ liệu tùy chỉnh trình bày từng bước.

  • YOLOv5 ổn định và vẫn được hỗ trợ đầy đủ trong repository độc lập, nhưng không còn là model mới nhất. Với các dự án mới, YOLO26 trong package ultralytics nhanh hơn, chính xác hơn và xuất end-to-end mà không cần NMS, sử dụng cùng quy trình pip install ultralytics được mô tả trong Hướng dẫn bắt đầu nhanh.

Người đóng góp

Bình luận