Bắt đầu nhanh với YOLOv5 🚀#
Hướng dẫn này là điểm khởi đầu để thực hiện phát hiện đối tượng thời gian thực với Ultralytics YOLOv5. Hướng dẫn trình bày cách cài đặt, suy luận bằng PyTorch Hub và detect.py, cũng như huấn luyện, giúp bạn ứng dụng model học sâu này vào các dự án của mình.
Cài đặt#
Clone repository YOLOv5 và cài đặt các gói phụ thuộc trong môi trường có Python>=3.8.0 và PyTorch>=1.8.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesInference với PyTorch Hub#
Chạy suy luận YOLOv5 qua PyTorch Hub, công cụ tự động tải model từ bản phát hành YOLOv5 mới nhất. Phương pháp này dùng PyTorch để tải và chạy model, giúp tạo dự đoán một cách đơ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#
Dùng detect.py để suy luận trên nhiều loại nguồn đầu vào. Công cụ tự động tải model từ bản phát hành YOLOv5 mới nhất và lưu kết quả vào runs/detect. Script này phù hợp để dùng qua dòng lệnh và tích hợp YOLOv5 vào các hệ thống lớn hơn; script hỗ trợ đầu vào 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 streamHuấ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
Khi ứng dụng YOLOv5 vào các dự án thị giác máy tính, repository GitHub là nơi bạn có thể đặt câu hỏi và chia sẻ kết quả với các nhà phát triển và nhà nghiên cứu khác. Bạn cũng có thể dùng Ultralytics Platform để quản lý dataset và huấn luyện model không cần viết code, hoặc xem trang Giải pháp để tìm hiểu các ứng dụng thực tế.
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 scripttrain.py,val.py,detect.pyvàexport.py.yolov5s.ptcó 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ùngyolov5n.ptcho các thiết bị edge,yolov5m.ptđếnyolov5x.ptkhi độ 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ộtdataset.yaml, rồi chạypython 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à tiếp tục đượ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 gói
ultralyticsnhanh hơn, chính xác hơn và export đầu-cuối không cần NMS, sử dụng cùng quy trìnhpip install ultralyticsđược mô tả trong Hướng dẫn bắt đầu nhanh.
Bình luận
Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.