Giới thiệu Phân đoạn đối tượng trong Ultralytics YOLOv5 v7.0
Khám phá YOLOv5 v7.0 với các mô hình phân đoạn đối tượng mới, vượt trội hơn các tiêu chuẩn SOTA về độ chính xác và tốc độ AI hàng đầu. Tham gia cộng đồng của chúng tôi.

YOLOv5 v7.0, phiên bản mới nhất trong kiến trúc AI của chúng tôi, đã ra mắt và chúng tôi vô cùng hào hứng khi giới thiệu các model phân đoạn thực thể mới!

Trong quá trình thực hiện bản phát hành mới nhất này, chúng tôi luôn tập trung vào hai mục tiêu chính. Mục tiêu đầu tiên là sứ mệnh làm cho AI trở nên dễ dàng, và mục tiêu thứ hai là định nghĩa lại ý nghĩa thực sự của "trạng thái tiên tiến" (state-of-the-art).
Với những cải tiến, sửa lỗi và nâng cấp đáng kể, chúng tôi đã hoàn thành mục tiêu đó. Giữ nguyên các workflow đơn giản như các model phát hiện đối tượng YOLOv5 hiện tại, việc huấn luyện, kiểm thử (validate) và triển khai các model với YOLOv5 v7.0 giờ đây dễ dàng hơn bao giờ hết. Bên cạnh đó, chúng tôi đã vượt qua tất cả các SOTA benchmarks, giúp YOLOv5 trở nên nhanh và chính xác nhất thế giới.
Vì đây là bản phát hành đầu tiên về các model phân đoạn của chúng tôi, chúng tôi rất tự hào về cột mốc quan trọng này. Chúng tôi chân thành cảm ơn cộng đồng và những người đóng góp tận tâm, những người đã giúp hiện thực hóa bản phát hành này.

Vậy, hãy cùng bắt đầu với ghi chú phát hành YOLOv5 v7.0!
Link to this sectionCác bản cập nhật quan trọng của YOLOv5#
Dưới đây là những nội dung đã được cập nhật trong YOLOv5 kể từ phiên bản YOLOv5 v6.2 được phát hành vào tháng 8 năm 2022.
- Model Phân đoạn ⭐ MỚI: Các model phân đoạn SOTA YOLOv5-seg đã được pretrained trên COCO nay đã khả dụng lần đầu tiên (#9052 bởi @glenn-jocher, @AyushExel, và @Laughing-q)
- Xuất sang PaddlePaddle: Xuất bất kỳ model YOLOv5 nào (cls, seg, det) sang định dạng Paddle với python export.py --include paddle (#9459 bởi @glenn-jocher)
- YOLOv5 AutoCache: Sử dụng python train.py --cache ram giờ đây sẽ quét bộ nhớ khả dụng và so sánh với mức sử dụng RAM dự kiến của tập dữ liệu. Điều này giúp giảm thiểu rủi ro khi lưu vào cache và thúc đẩy việc áp dụng tính năng caching tập dữ liệu, giúp tăng tốc độ huấn luyện đáng kể. (#10027 bởi @glenn-jocher)
- Tích hợp Ghi nhật ký và Trực quan hóa Comet: Miễn phí trọn đời, Comet cho phép bạn lưu các model YOLOv5, tiếp tục quá trình huấn luyện, cũng như trực quan hóa và debug các dự đoán một cách tương tác. (#9232 bởi @DN6)
Link to this sectionCác checkpoint phân đoạn mới#
Chúng tôi đã huấn luyện các model phân đoạn YOLOv5 trên COCO trong 300 epochs ở kích thước ảnh 640 sử dụng GPU A100. Chúng tôi đã xuất tất cả các model sang ONNX FP32 để kiểm tra tốc độ trên CPU và sang TensorRT FP16 để kiểm tra tốc độ trên GPU. Tất cả các bài kiểm tra tốc độ được chạy trên notebook Google Colab Pro để đảm bảo khả năng tái lập dễ dàng.
- Tất cả các checkpoint được huấn luyện đến 300 epoch với trình tối ưu hóa SGD, lr0=0.01 và weight_decay=5e-5 tại kích thước ảnh 640 cùng tất cả các cài đặt mặc định. Mọi lần chạy đều được ghi lại trong Weights & Biases training logs.
- Các giá trị độ chính xác được đo cho model đơn, quy mô đơn trên tập dữ liệu COCO. Hãy tái lập bằng lệnh python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
- Tốc độ trung bình trên 100 ảnh suy luận (inference) sử dụng instance A100 High-RAM trên Colab Pro. Các giá trị chỉ thể hiện tốc độ suy luận (NMS thêm khoảng 1ms cho mỗi ảnh). Hãy tái lập bằng lệnh python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
- Xuất sang ONNX ở định dạng FP32 và TensorRT ở định dạng FP16 được thực hiện bằng export.py. Hãy tái lập bằng lệnh python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
Link to this sectionVí dụ sử dụng phân đoạn mới#
Link to this sectionHuấn luyện#
Việc huấn luyện phân đoạn YOLOv5 hỗ trợ tự động tải tập dữ liệu phân đoạn COCO128-seg với tham số --data coco128-seg.yaml và tải thủ công tập dữ liệu COCO-segments với bash data/scripts/get_coco.sh --train --val --segments, sau đó chạy python train.py --data coco.yaml.
Link to this sectionSingle-GPU#
python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640
Link to this sectionMulti-GPU DDP#
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3
Link to this sectionVal (Kiểm thử)#
Kiểm thử độ chính xác của YOLOv5m-seg trên tập dữ liệu COCO:
bash data/scripts/get_coco.sh --val --segments # tải tập dữ liệu COCO val segments (780MB, 5000 ảnh) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # kiểm thử
Link to this sectionPredict (Dự đoán)#
Sử dụng YOLOv5m-seg đã pretrained để dự đoán bus.jpg:
python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg
model = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5m-seg.pt') # tải từ PyTorch Hub (CẢNH BÁO: chưa hỗ trợ suy luận)

Link to this sectionExport (Xuất)#
Xuất model YOLOv5s-seg sang ONNX và TensorRT:
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0

Bạn có câu hỏi nào không? Hãy hỏi trên diễn đàn Ultralytics, tạo một issue, hoặc gửi một PR trên repo. Bạn cũng có thể bắt đầu với notebook Colab về phân đoạn YOLOv5 của chúng tôi để có các hướng dẫn khởi động nhanh.






