Khởi động nhanh YOLOv5 🚀#
Bắt đầu hành trình khám phá lĩnh vực năng động của phát hiện đối tượng theo thời gian thực với Ultralytics YOLOv5! Hướng dẫn này được biên soạn như một điểm khởi đầu toàn diện dành cho những người đam mê và chuyên gia AI muốn làm chủ YOLOv5. Từ thiết lập ban đầu đến các kỹ thuật huấn luyện nâng cao, chúng tôi đều có hướng dẫn cho bạn. Khi hoàn thành hướng dẫn này, bạn sẽ có kiến thức để tự tin triển khai YOLOv5 vào các dự án của mình bằng các phương pháp deep learning tiên tiến nhất. Hãy khởi động động cơ và bay vào thế giới YOLOv5!
Cài đặt#
Chuẩn bị khởi chạy bằng cách clone repository YOLOv5 và thiết lập môi trường. Điều này đảm bảo tất cả các yêu cầu cần thiết đều được cài đặt. Hãy kiểm tra để chắc chắn rằng 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 quan trọng để chạy YOLOv5 hiệu quả.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesSuy luận với PyTorch Hub#
Trải nghiệm sự đơn giản của quá trình suy luận YOLOv5 bằng PyTorch Hub, trong đó các 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à thực thi model dễ dàng, giúp việc tạo dự đoán trở nên đơn giản.
import torch
# Model loading
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # Can be 'yolov5n' - 'yolov5x6', or 'custom'
# Inference on images
img = "https://ultralytics.com/images/zidane.jpg" # Can be a file, Path, PIL, OpenCV, numpy, or list of images
# Run inference
results = model(img)
# Display results
results.print() # Other options: .show(), .save(), .crop(), .pandas(), etc. Explore these in the Predict mode documentation.Suy luận với detect.py#
Tận dụng detect.py để thực hiện suy luận linh hoạt trên nhiều nguồn khác nhau. Công cụ này 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ợ các đầ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 streamTraining#
Tái hiện các benchmark trên bộ dữ liệu 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à bộ dữ liệu cần thiết (chẳng hạn như coco128.yaml hoặc toàn bộ coco.yaml) được lấy 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 lần lượt mất 1/2/4/6/8 ngày (lưu ý rằng các thiết lập huấn luyện Multi-GPU sẽ nhanh hơn). Tối đa hóa hiệu suất bằng cách sử dụng --batch-size ở mức cao nhất có thể hoặc sử dụng --batch-size -1 cho tính năng AutoBatch của YOLOv5, tính năng này sẽ tự động tìm batch size tối ưu. Các batch size sau đây là lý tưởng cho GPU V100-16GB. Tham khảo hướng dẫn cấu hình của chúng tôi để biết chi tiết về các tệp 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
Tóm lại, YOLOv5 không chỉ là một công cụ tiên tiến nhất cho bài toán phát hiện đối tượng mà còn là 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 thấu hiểu hình ảnh. Khi tiếp tục đọc hướng dẫn này và bắt đầu áp dụng YOLOv5 vào các dự án của mình, hãy nhớ rằng bạn đang ở tuyến đầu của một cuộc cách mạng công nghệ, có khả năng đạt được những thành tựu đáng kinh ngạc trong lĩnh vực computer vision. Nếu cần thêm thông tin chuyên sâu hoặc hỗ trợ từ những người cùng đam mê, bạn được mời tham gia repository GitHub của chúng tôi, nơi quy tụ một cộng đồng sôi nổi gồm các developer và nhà nghiên cứu. Khám phá thêm các tài nguyên như Ultralytics Platform để quản lý bộ dữ liệu và huấn luyện model mà không cần viết code, hoặc xem trang Solutions của chúng tôi để tìm hiểu các ứ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 hiệu quả! 🌠🔍