Giới thiệu Phân đoạn phiên bản trong Ultralytics YOLOv5 v7.0

Đội ngũ Ultralytics

3 phút đọc

Ngày 23 tháng 11 năm 2022

Khám phá YOLOv5 v7.0 với các mô hình phân đoạn phiên bản mới, vượt trội hơn 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 của kiến trúc AI của chúng tôi, đã ra mắt và chúng tôi rất vui mừng được giới thiệu các mô hình phân đoạn phiên bản mới của mình!

Trong khi làm việc trên bản phát hành mới nhất này, chúng tôi đã giữ hai mục tiêu ở vị trí trung tâm. 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à mục tiêu định nghĩa lại ý nghĩa thực sự của "hiện đại".

Vì vậy, với những cải tiến, bản sửa lỗi và nâng cấp đáng kể, chúng tôi đã làm được điều đó. Giữ nguyên quy trình làm việc đơn giản như các mô hình phát hiện đối tượng YOLOv5 hiện có của chúng tôi, giờ đây việc đào tạo, xác thực và triển khai các mô hình của bạn với YOLOv5 v7.0 dễ dàng hơn bao giờ hết. Trên hết, chúng tôi đã vượt qua tất cả các tiêu chuẩn SOTA , thực sự biến YOLOv5 trở thành mô hình nhanh nhất và chính xác nhất trên thế giới.

Vì đây là lần đầu tiên chúng tôi phát hành mô hình phân đoạn , chúng tôi vô cùng tự hào về cột mốc này. Chúng tôi vô cùng cảm ơn cộng đồng và những người đóng góp tận tụy đã giúp chúng tôi có thể phát hành sản phẩm này.  

Phân đoạn phiên bản thời gian thực SOTA của Ultralytics YOLOv5 v7.0

Vậy, chúng ta hãy bắt đầu với ghi chú phát hành YOLOv5 v7.0 nhé!

Cập nhật quan trọng của YOLOv5

Sau đây là những nội dung đã được cập nhật trong YOLOv5 kể từ bản phát hành YOLOv5 v6.2 gần đây nhất vào tháng 8 năm 2022.

  • Mô hình phân đoạn ⭐ MỚI : Các mô hình phân đoạn được đào tạo trước SOTA YOLOv5-seg COCO hiện đã có sẵn lần đầu tiên ( #9052 của @glenn-jocher, @AyushExel và @Laughing-q)
  • PaddlePaddle Export : Xuất bất kỳ mô hình YOLOv5 nào (cls, seg, det) sang định dạng Paddle bằng python export.py --include paddle #9459 của @glenn-jocher)
  • YOLOv5 AutoCache : Sử dụng python train.py --cache ram hiện sẽ quét bộ nhớ khả dụng và so sánh với mức sử dụng RAM của tập dữ liệu dự đoán. Điều này làm giảm rủi ro trong bộ nhớ đệm và sẽ giúp cải thiện việc áp dụng tính năng bộ nhớ đệm tập dữ liệu, có thể tăng tốc đáng kể quá trình đào tạo. ( #10027 của @glenn-jocher)
  • Tích hợp ghi nhật ký và trực quan hóa Comet : Miễn phí mãi mãi, Comet cho phép bạn lưu các mô hình YOLOv5, tiếp tục đào tạo và trực quan hóa và gỡ lỗi dự đoán một cách tương tác. ( #9232 của @DN6)

Điểm kiểm tra phân đoạn mới

Chúng tôi đã đào tạo các mô hình phân đoạn YOLOv5 trên COCO trong 300 kỷ nguyên ở kích thước hình ảnh 640 bằng GPU A100. Chúng tôi đã xuất tất cả các mô hình sang ONNX FP32 để kiểm tra tốc độ CPU và sang TensorRT FP16 để kiểm tra tốc độ GPU. Chúng tôi đã chạy tất cả các bài kiểm tra tốc độ trên máy tính xách tay Google Colab Pro để dễ dàng tái tạo.

  • Tất cả các điểm kiểm tra được đào tạo đến 300 kỷ nguyên với trình tối ưu hóa SGD với lr0=0.01 và weight_decay=5e-5 ở kích thước hình ảnh 640 và tất cả các thiết lập mặc định. Tất cả các lần chạy được ghi lại ở đây .
  • Giá trị độ chính xác dành cho mô hình đơn lẻ trên tập dữ liệu COCO. Tái tạo bằng python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
  • Tốc độ trung bình trên 100 hình ảnh suy luận sử dụng phiên bản Colab Pro A100 High-RAM. Các giá trị chỉ biểu thị tốc độ suy luận (NMS thêm khoảng 1ms cho mỗi hình ảnh). Tái tạo bằng python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
  • Xuất sang ONNX ở FP32 và TensorRT ở FP16 được thực hiện bằng export.py. Tái tạo bằng python export.py --weights yolov5s-seg.pt --include engine --device 0 --half

Ví dụ sử dụng phân đoạn mới

Xe lửa

Đào tạo phân đoạn YOLOv5 hỗ trợ tự động tải xuống tập dữ liệu phân đoạn COCO128-seg với đối số --data coco128-seg.yaml và tải xuống thủ công tập dữ liệu COCO-segments với bash data/scripts/get_coco.sh --train --val --segments và sau đó là python train.py --data coco.yaml.

GPU đơn

python phân đoạn/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640

DDP đa GPU

python -m torch.distributed.run --nproc_per_node 4 --master_port 1 phân đoạn/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3

Giá trị

Xác thực độ chính xác của YOLOv5m-seg trên tập dữ liệu ImageNet-1k:

bash data/scripts/get_coco.sh --val --segments # tải xuống COCO val phân đoạn chia nhỏ (780MB, 5000 hình ảnh) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # xác thực

Dự đoán

Sử dụng YOLOv5m-seg được đào tạo trước để dự đoán bus.jpg:

python phân đoạn/predict.py --weights yolov5m-seg.pt --data dữ liệu/hình ảnh/bus.jpg

model = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5m-seg.pt') # tải từ PyTorch Hub (CẢNH BÁO: suy luận chưa được hỗ trợ)

Phân đoạn phiên bản Ultralytics YOLOv5 v7.0


Xuất khẩu

Xuất mô hình YOLOv5s-seg sang ONNX và TensorRT:

python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0

Phân đoạn phiên bản Ultralytics YOLOv5 v7.0

Bạn có thắc mắc nào không? Hãy hỏi diễn đàn Ultralytics , nêu vấn đề hoặc gửi PR trên kho lưu trữ. Bạn cũng có thể bắt đầu với sổ ghi chép Colab phân đoạn YOLOv5 của chúng tôi để biết hướng dẫn bắt đầu nhanh.

Hãy cùng xây dựng tương lai
của AI cùng nhau!

Bắt đầu hành trình của bạn với tương lai của máy học

Bắt đầu miễn phí
Liên kết đã được sao chép vào clipboard