YOLOv5 Khởi Đầu Nhanh 🚀
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 tạo ra để đóng vai trò là điểm khởi đầu toàn diện cho những người đam mê AI và các chuyên gia mong muốn làm chủ YOLOv5. Từ thiết lập ban đầu đến các kỹ thuật đào tạo nâng cao, chúng tôi sẽ hỗ trợ bạn. Đến cuối 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 học sâu hiện đại. Hãy khởi động động cơ và bay vào YOLOv5!
Cài đặt
Chuẩn bị khởi chạy bằng cách sao chép kho lưu trữ YOLOv5 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 xem bạn đã có Python>=3.8.0 và PyTorch>=1.8 sẵn sàng để khởi động chưa. Các 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 dependencies
Suy luận với PyTorch Hub
Trải nghiệm sự đơn giản của suy luận YOLOv5 PyTorch Hub, nơi các mô hình được tải xuống liền mạch từ phiên 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 để dễ dàng tải và thực thi mô hình, giúp bạn dễ dàng nhận được các dự đoá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
Khai thác detect.py
cho sự linh hoạt suy luận trên nhiều nguồn khác nhau. Nó tự động tìm nạp mô hình từ YOLOv5 mới nhất phát hành và lưu kết quả một cách dễ dàng. Tập lệnh này lý tưởng cho việc sử dụng 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ả 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
Sao chép YOLOv5 Bộ dữ liệu COCO điểm chuẩn bằng cách làm theo hướng dẫn đào tạo bên dưới. Các điều cần thiết mô hình và các bộ dữ liệu (ví dụ như coco128.yaml
hoặc đầy đủ coco.yaml
) được lấy trực tiếp từ YOLOv5 mới nhất phát hành. Huấn luyện YOLOv5n/s/m/l/x trên V100 GPU thường sẽ mất lần lượt 1/2/4/6/8 ngày (lưu ý rằng Đào tạo đa GPU thiết lập hoạt động nhanh hơn). Tối đa hóa hiệu suất bằng cách sử dụng mức cao nhất có thể --batch-size
hoặc sử dụng --batch-size -1
cho YOLOv5 AutoBatch tính năng, tự động tìm ra tối ưu kích thước lô. Kích thước batch sau đây lý tưởng cho GPU V100-16GB. Tham khảo hướng dẫn cấu hình để biết chi tiết về các tệp cấu hình mô hình (*.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 để phát hiện đối tượng mà còn là minh chứng cho sức mạnh của học máy 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 trực quan. Khi bạn tiến bộ thông 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 kỳ tích đáng chú ý trong thị giác máy tính. Nếu bạn cần thêm thông tin chi tiết hoặc hỗ trợ từ những người có tầm nhìn xa, bạn có thể truy cập kho lưu trữ GitHub của chúng tôi, nơi có một cộng đồng các 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 HUB để quản lý tập dữ liệu và đào tạo mô hình mà không cần mã, hoặc xem trang Giải pháp của chúng tôi để biết các ứng dụng và nguồn cảm hứng trong thế giới thực. 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 dò tìm vui vẻ! 🌠🔍