Bắt đầu nhanh với YOLOv5 🚀#
Khám phá thế giới năng động của object detection thời gian thực cùng Ultralytics YOLOv5! Hướng dẫn này được thiết kế làm điểm khởi đầu toàn diện cho các nhà phát triển AI và chuyên gia nhằm làm chủ YOLOv5. Từ khâu thiết lập ban đầu đến các training techniques nâng cao, chúng tôi đã chuẩn bị đầy đủ cho bạn. Đến cuối hướng dẫn này, bạn sẽ có đủ kiến thức để triển khai YOLOv5 vào các dự án của mình một cách tự tin bằng các phương pháp deep learning tối tân. Hãy khởi động động cơ và bay cao cùng YOLOv5!
Cài đặt#
Chuẩn bị khởi chạy bằng cách clone YOLOv5 repository và thiết lập môi trường. Điều này đảm bảo rằng tất cả các requirements cần thiết đã được cài đặt. Kiểm tra xem bạn đã sẵn sàng với Python>=3.8.0 và PyTorch>=1.8 để cất cánh chưa. Các công cụ nền tảng này đóng vai trò 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 dependenciesInference với PyTorch Hub#
Trải nghiệm sự đơn giản của suy luận PyTorch Hub YOLOv5, nơi các models được tải xuống liền mạch từ bản release 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 đưa ra dự đoán trở nên trực quan.
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.Inference với detect.py#
Tận dụng detect.py để thực hiện inference linh hoạt trên nhiều nguồn dữ liệu khác nhau. Hệ thống sẽ tự động lấy các models từ bản release YOLOv5 mới nhất và lưu kết quả một cách dễ dàng. Script này lý tưởng cho việc sử dụng qua 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à thậm chí cả live streams.
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 streamHuấn luyện#
Tái tạo các benchmark COCO dataset của YOLOv5 bằng cách làm theo các training instructions bên dưới. Các models và datasets cần thiết (như coco128.yaml hoặc bản đầy đủ coco.yaml) được tải trực tiếp từ bản release YOLOv5 mới nhất. Quá trình train 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 thiết lập Multi-GPU training hoạt động nhanh hơn). Tối đa hóa hiệu năng bằng cách sử dụng --batch-size lớn 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 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 configuration guide 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ụ tối tân cho tác vụ phát hiện đối tượng mà còn minh chứng cho sức mạnh của machine learning trong việc chuyển đổi cách chúng ta tương tác với thế giới thông qua khả năng hiểu thị giác. Khi bạn tiến bộ qua 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 chú ý trong lĩnh vực computer vision. Nếu bạn cần thêm thông tin chi tiết hoặc hỗ trợ từ những người có chung tầm nhìn, bạn được chào đón tham gia GitHub repository của chúng tôi, nơi quy tụ cộng đồng các nhà phát triển và nhà nghiên cứu thịnh vượng. Khám phá thêm các tài nguyên như Ultralytics Platform để quản lý dataset và train model mà không cần code, hoặc xem trang Solutions của chúng tôi để tìm các ứng dụng thực tế và nguồn cảm hứng. 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 hiệu quả! 🌠🔍