Link to this sectionBắt đầu nhanh với YOLOv5 🚀#
Hãy bắt đầu hành trình của bạn vào 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 xây dựng như một điểm khởi đầu toàn diện cho những người đam mê AI và các chuyên gia đang hướng tới việc 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 đã chuẩn bị sẵn mọi thứ 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ách sử dụng các phương pháp deep learning hiện đại nhất. Hãy khởi động và cất cánh cùng YOLOv5!
Link to this sectionCài đặt#
Chuẩn bị sẵn sàng 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 yêu cầu cần thiết đều đã được cài đặt. Kiểm tra để đảm bảo bạn đã sẵn sàng Python>=3.8.0 và PyTorch>=1.8 để cất cánh. Những công cụ nền tảng này rất quan trọng để chạy YOLOv5 một cách hiệu quả.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesLink to this sectionInference với PyTorch Hub#
Trải nghiệm sự đơn giản của việc inference với YOLOv5 PyTorch Hub, nơi 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 một cách dễ dàng, giúp việc lấy kết quả 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.Link to this sectionInference với detect.py#
Sử dụng detect.py cho các tác vụ inference linh hoạt trên nhiều nguồn dữ liệu khác nhau. Script này tự động lấy các model từ bản phát hành 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 trên dòng lệnh (command-line) 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à thậm chí là 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 streamLink to this sectionHuấn luyện#
Tái lập các benchmark trên COCO dataset của YOLOv5 bằng cách làm theo các hướng dẫn huấn luyện dưới đây. Các model và dataset cần thiết (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 sẽ mất lần lượt 1/2/4/6/8 ngày (lưu ý rằng các thiết lập huấn luyện đa GPU sẽ hoạt động nhanh hơn). Tối đa hóa hiệu suất bằng cách sử dụng --batch-size 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 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
Tóm lại, YOLOv5 không chỉ là một công cụ hiện đại cho object detection 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 hiểu biết 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 ở vị trí tiên phong của một cuộc cách mạng công nghệ, có khả năng đạt được những kỳ tích đáng kinh ngạc trong computer vision. Nếu bạn cần thêm thông tin chuyên sâu hoặc hỗ trợ từ những người cùng tầm nhìn, bạn được chào đón tại GitHub repository, nơi tập trung cộng đồng các nhà phát triển và 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à huấn luyện model không cần code, hoặc xem trang Solutions của chúng tôi để biết các ứng dụng thực tế và lấy 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 detection thành công! 🌠🔍