YOLO Vision 2026:

YOLOv3 và YOLOv3u#

Tổng quan#

Tài liệu này tổng quan về ba model phát hiện đối tượng có liên quan mật thiết, đó là YOLOv3, YOLOv3-UltralyticsYOLOv3u.

  1. YOLOv3: Đây là phiên bản thứ ba của thuật toán phát hiện đối tượng You Only Look Once (YOLO). Được phát triển nguyên bản bởi Joseph Redmon, YOLOv3 đã cải tiến so với các phiên bản tiền nhiệm bằng cách giới thiệu các tính năng như dự đoán đa tỉ lệ và ba kích thước kernel phát hiện khác nhau.

  2. YOLOv3u: Đây là phiên bản cập nhật của YOLOv3-Ultralytics tích hợp phần đầu chia tách không dùng anchor (anchor-free) và không dùng điểm số đối tượng (objectness-free) được sử dụng trong các model YOLOv8. YOLOv3u duy trì kiến trúc backbone và neck giống như YOLOv3 nhưng có detection head được cập nhật từ YOLOv8.

YOLOv3 object detection model banner

Tính năng chính#

  • YOLOv3: Giới thiệu việc sử dụng ba tỷ lệ khác nhau cho detection, tận dụng ba kích thước kernel detection khác nhau: 13x13, 26x26 và 52x52. Điều này cải thiện đáng kể độ chính xác detection cho các đối tượng có kích thước khác nhau. Ngoài ra, YOLOv3 bổ sung các tính năng như dự đoán đa nhãn cho mỗi bounding box và mạng trích xuất đặc trưng tốt hơn.

  • YOLOv3u: Model được cập nhật này tích hợp phần đầu chia tách không dùng anchor và không dùng điểm số đối tượng từ YOLOv8. Bằng cách loại bỏ nhu cầu về các hộp anchor được xác định trước và điểm số đối tượng, thiết kế detection head này có thể cải thiện khả năng của model trong việc phát hiện các đối tượng có kích thước và hình dạng khác nhau. Điều này làm cho YOLOv3u trở nên mạnh mẽ và chính xác hơn cho các tác vụ object detection.

Các tác vụ và chế độ được hỗ trợ#

YOLOv3 được thiết kế dành riêng cho các tác vụ object detection. Ultralytics hỗ trợ ba biến thể của YOLOv3: yolov3u, yolov3-tinyuyolov3-sppu. Chữ u trong tên biểu thị rằng các biến thể này sử dụng phần đầu không dùng anchor của YOLOv8, không giống như kiến trúc ban đầu dựa trên anchor của chúng. Các model này nổi tiếng về hiệu quả trong nhiều tình huống thực tế, cân bằng giữa độ chính xác và tốc độ. Mỗi biến thể cung cấp các tính năng và tối ưu hóa độc đáo, khiến chúng phù hợp cho một loạt các ứng dụng.

Cả ba model đều hỗ trợ một tập hợp các chế độ toàn diện, đảm bảo tính linh hoạt trong các giai đoạn khác nhau của quá trình model deployment và phát triển. Các chế độ này bao gồm Inference, Validation, TrainingExport, cung cấp cho người dùng một bộ công cụ hoàn chỉnh để object detection hiệu quả.

Loại modelTrọng số PretrainedCác tác vụ được hỗ trợHuấn luyệnValidationSuy luậnXuất (Export)
YOLOv3(u)yolov3u.ptPhát hiện đối tượng
YOLOv3-Tiny(u)yolov3-tinyu.ptPhát hiện đối tượng
YOLOv3u-SPP(u)yolov3-sppu.ptPhát hiện đối tượng

Bảng này cung cấp cái nhìn tổng quan nhanh chóng về các khả năng của từng biến thể YOLOv3, làm nổi bật tính linh hoạt và mức độ phù hợp của chúng đối với các tác vụ và chế độ vận hành khác nhau trong các quy trình object detection.

Ví dụ Sử dụng#

Ví dụ này cung cấp các ví dụ đơn giản về training và inference cho YOLOv3. Để có tài liệu đầy đủ về các chế độ này và các chế độ khác, hãy xem các trang tài liệu Predict, Train, ValExport.

Ví dụ

Các PyTorch model *.pt đã được huấn luyện sẵn cũng như các file cấu hình *.yaml có thể được truyền vào class YOLO() để tạo một instance model trong python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Trích dẫn và Ghi nhận#

Nếu bạn sử dụng YOLOv3 trong nghiên cứu của mình, vui lòng trích dẫn các bài báo YOLO gốc và repository Ultralytics YOLOv3:

Trích dẫn
@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Cảm ơn Joseph Redmon và Ali Farhadi vì đã phát triển YOLOv3 gốc.

Câu hỏi thường gặp#

Sự khác biệt giữa YOLOv3, YOLOv3-Ultralytics và YOLOv3u là gì?#

YOLOv3 là phiên bản lặp lại thứ ba của thuật toán object detection YOLO (You Only Look Once) do Joseph Redmon phát triển, nổi tiếng với sự cân bằng giữa accuracy và tốc độ, tận dụng ba tỷ lệ khác nhau (13x13, 26x26 và 52x52) cho các detection. YOLOv3-Ultralytics là bản chuyển đổi YOLOv3 của Ultralytics, bổ sung hỗ trợ cho nhiều pretrained model hơn và tạo điều kiện tùy chỉnh model dễ dàng hơn. YOLOv3u là một biến thể được nâng cấp của YOLOv3-Ultralytics, tích hợp phần đầu chia tách không dùng anchor và không dùng điểm số đối tượng từ YOLOv8, cải thiện độ mạnh mẽ và độ chính xác của detection cho các kích thước đối tượng khác nhau. Để biết thêm chi tiết về các biến thể, hãy tham khảo dòng YOLOv3.

Làm thế nào tôi có thể train một model YOLOv3 bằng cách sử dụng Ultralytics?#

Training một model YOLOv3 với Ultralytics rất đơn giản. Bạn có thể train model bằng Python hoặc CLI:

Ví dụ
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Để có các tùy chọn training và hướng dẫn toàn diện hơn, hãy truy cập tài liệu Chế độ Train của chúng tôi.

Điều gì làm cho YOLOv3u chính xác hơn cho các tác vụ object detection?#

YOLOv3u cải tiến dựa trên YOLOv3 và YOLOv3-Ultralytics bằng cách tích hợp phần đầu chia tách không dùng anchor và không dùng điểm số đối tượng được sử dụng trong các model YOLOv8. Bản nâng cấp này loại bỏ nhu cầu về các hộp anchor được xác định trước và điểm số đối tượng, nâng cao khả năng phát hiện chính xác hơn các đối tượng có kích thước và hình dạng khác nhau. Điều này làm cho YOLOv3u trở thành sự lựa chọn tốt hơn cho các tác vụ object detection phức tạp và đa dạng. Để biết thêm thông tin, hãy tham khảo phần Key Features.

Làm cách nào tôi có thể sử dụng các model YOLOv3 để inference?#

Bạn có thể thực hiện inference bằng các model YOLOv3 thông qua các Python script hoặc lệnh CLI:

Ví dụ
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

# Run inference with the YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Tham khảo tài liệu Chế độ Inference để biết thêm chi tiết về cách chạy các model YOLO.

Những tác vụ nào được hỗ trợ bởi YOLOv3 và các biến thể của nó?#

YOLOv3, YOLOv3-Tiny và YOLOv3-SPP chủ yếu hỗ trợ các tác vụ object detection. Các model này có thể được sử dụng cho các giai đoạn khác nhau của quá trình model deployment và phát triển, chẳng hạn như Inference, Validation, Training và Export. Để có một tập hợp toàn diện các tác vụ được hỗ trợ và biết thêm chi tiết sâu hơn, hãy truy cập tài liệu Tác vụ Object Detection của chúng tôi.

Tôi có thể tìm tài nguyên để trích dẫn YOLOv3 trong nghiên cứu của mình ở đâu?#

Nếu bạn sử dụng YOLOv3 trong nghiên cứu của mình, vui lòng trích dẫn các bài báo YOLO gốc và repository Ultralytics YOLOv3. Ví dụ trích dẫn BibTeX:

Trích dẫn
@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

Để biết thêm chi tiết trích dẫn, hãy tham khảo phần Citations and Acknowledgments.

Bình luận