YOLO Vision 2026:

Object Detection với Ultralytics YOLO#

Ultralytics YOLO object detection with bounding boxes

Object detection là một tác vụ liên quan đến việc xác định vị trí và lớp của các đối tượng trong một hình ảnh hoặc luồng video.

Đầu ra của một bộ dò đối tượng là tập hợp các khung bao quanh các đối tượng trong ảnh, cùng với nhãn lớp và điểm tin cậy cho mỗi khung. Object detection là lựa chọn tốt khi bạn cần xác định các đối tượng quan tâm trong một cảnh, nhưng không cần biết chính xác vị trí hoặc hình dạng chính xác của đối tượng đó.



Watch: Object Detection with Pretrained Ultralytics YOLO Model.
Mẹo

Các mô hình YOLO26 Detect là các mô hình YOLO26 mặc định, nghĩa là yolo26n.pt, và được huấn luyện trước trên COCO.

Models#

Các mô hình Detect được huấn luyện trước của YOLO26 được hiển thị ở đây. Các mô hình Detect, Segment và Pose được huấn luyện trước trên tập dữ liệu COCO, các mô hình Semantic được huấn luyện trước trên Cityscapes, và các mô hình Classify được huấn luyện trước trên tập dữ liệu ImageNet.

Models được tải xuống tự động từ bản release mới nhất của Ultralytics trong lần sử dụng đầu tiên.

Mô hìnhkích thước
(pixel)
mAPval
50-95
mAPval
50-95(e2e)
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9
  • Các giá trị mAPval dành cho mô hình đơn lẻ trên một tỷ lệ duy nhất trên tập dữ liệu COCO val2017.
    Tái tạo bằng yolo val detect data=coco.yaml device=0
  • Tốc độ được tính trung bình trên các hình ảnh COCO val bằng cách sử dụng một instance Amazon EC2 P4d.
    Tái tạo bằng yolo val detect data=coco.yaml batch=1 device=0|cpu
  • Giá trị ParamsFLOPs dành cho model đã hợp nhất sau model.fuse(), thao tác này gộp các lớp Conv và BatchNorm lại và, đối với các model end2end, loại bỏ phần đầu phát hiện một-sang-nhiều phụ trợ. Các checkpoint đã huấn luyện trước giữ nguyên kiến trúc huấn luyện đầy đủ và có thể hiển thị số lượng cao hơn.

Huấn luyện (Train)#

Huấn luyện YOLO26n trên tập dữ liệu COCO8 trong 100 epochs ở kích thước ảnh 640. Để có danh sách đầy đủ các tham số có sẵn, hãy xem trang Configuration.

Ví dụ
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.yaml")  # build a new model from YAML
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Xem chi tiết đầy đủ về chế độ train trong trang Train. Các mô hình phát hiện cũng có thể được huấn luyện bằng Ultralytics Platform cloud training.

Định dạng tập dữ liệu#

Định dạng tập dữ liệu phát hiện YOLO có thể được tìm thấy chi tiết trong Dataset Guide. Để chuyển đổi tập dữ liệu hiện có của bạn từ các định dạng khác (như COCO, v.v.) sang định dạng YOLO, vui lòng sử dụng công cụ JSON2YOLO của Ultralytics. Bạn cũng có thể chú thích và quản lý các tập dữ liệu phát hiện bằng Ultralytics Platform's AI-assisted annotation tools.

Val#

Xác thực accuracy của mô hình YOLO26n đã được huấn luyện trên tập dữ liệu COCO8. Không cần tham số nào vì model giữ lại data và các tham số huấn luyện của nó dưới dạng các thuộc tính của mô hình.

Ví dụ
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list containing mAP50-95 for each category
metrics.box.image_metrics  # per-image metrics dictionary with precision, recall, F1, TP, FP, and FN

Dự đoán (Predict)#

Sử dụng model YOLO26n đã huấn luyện để chạy dự đoán trên các hình ảnh.

Ví dụ
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image

# Access the results
for result in results:
    xywh = result.boxes.xywh  # center-x, center-y, width, height
    xywhn = result.boxes.xywhn  # normalized
    xyxy = result.boxes.xyxy  # top-left-x, top-left-y, bottom-right-x, bottom-right-y
    xyxyn = result.boxes.xyxyn  # normalized
    names = [result.names[cls.item()] for cls in result.boxes.cls.int()]  # class name of each box
    confs = result.boxes.conf  # confidence score of each box

Xem chi tiết đầy đủ về chế độ predict tại trang Predict.

Đầu ra kết quả#

Phát hiện đối tượng trả về một đối tượng Results cho mỗi hình ảnh. Trường dự đoán chính là result.boxes, chứa tọa độ hộp, ID lớp và điểm độ tin cậy cho mỗi đối tượng được phát hiện.

Thuộc tínhLoạiKích thướcMô tả
result.boxesBoxes(N)Các khung bao phát hiện.
result.boxes.datatorch.float32(N,6/7)[x1,y1,x2,y2,conf,cls] thô, cộng với ID theo dõi tùy chọn.
result.boxes.xyxytorch.float32(N,4)Các hộp pixel xyxy.
result.boxes.conftorch.float32(N,)Điểm độ tin cậy.
result.boxes.clstorch.float32(N,)ID lớp; ép kiểu sang int để lấy tên.

Đối với các trường Results dành riêng cho từng tác vụ trên mọi tác vụ, hãy xem phần Predict Results by Task.

Xuất (Export)#

Xuất model YOLO26n sang một định dạng khác như ONNX, CoreML, v.v.

Ví dụ
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

Các định dạng xuất YOLO26 có sẵn nằm trong bảng bên dưới. Bạn có thể xuất sang bất kỳ định dạng nào bằng cách sử dụng tham số format, nghĩa là format='onnx' hoặc format='engine'. Bạn có thể dự đoán hoặc xác thực trực tiếp trên các mô hình đã xuất, nghĩa là yolo predict model=yolo26n.onnx. Các ví dụ sử dụng được hiển thị cho mô hình của bạn sau khi quá trình xuất hoàn tất.

Định dạngĐối số formatMô hìnhMetadataTham số
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, quantize, dynamic, nms, batch, device
ONNXonnxyolo26n.onnximgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, quantize, dynamic, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, quantize, dynamic, simplify, opset, workspace, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, quantize, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, quantize, opset, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, opset, batch, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, quantize, opset, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, dynamic, quantize, simplify, opset, nms, device
NCNNncnnyolo26n_ncnn_model/imgsz, quantize, batch, device
IMX500imxyolo26n_imx_model/imgsz, quantize, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, quantize, simplify, opset, data, fraction, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, quantize, data, fraction, device
DEEPXdeepxyolo26n_deepx_model/imgsz, quantize, simplify, opset, data, optimize, device
Qualcomm QNNqnnyolo26n_qnn.onnximgsz, batch, name, quantize, simplify, opset, data, fraction, device
LiteRTlitertyolo26n.tfliteimgsz, quantize, batch, data, fraction, device
Hailohailoyolo26n_hailo_model/imgsz, name, quantize, data, fraction, simplify, conf, iou
Huawei Ascendascendyolo26n_ascend_model/imgsz, batch, name, quantize, opset, simplify, nms
Apple Core AIcoreaiyolo26n.aimodelimgsz, batch, quantize

Xem chi tiết đầy đủ về export tại trang Export.

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

  • Có. Ultralytics Platform quickstart bao gồm quy trình làm việc dựa trên trình duyệt để chú thích tập dữ liệu, huấn luyện các mô hình phát hiện trên GPU đám mây và triển khai chúng tới các điểm cuối suy luận.

  • Việc huấn luyện model YOLO26 trên tập dữ liệu tùy chỉnh bao gồm một vài bước:

    1. Chuẩn bị Tập dữ liệu: Đảm bảo tập dữ liệu của bạn ở định dạng YOLO. Để được hướng dẫn, hãy tham khảo Dataset Guide của chúng tôi.
    2. Tải Model: Sử dụng thư viện Ultralytics YOLO để tải một model đã được huấn luyện trước hoặc tạo một model mới từ tệp YAML.
    3. Huấn luyện Mô hình: Thực thi phương thức train trong Python hoặc lệnh yolo detect train trong CLI.
    Ví dụ
    from ultralytics import YOLO
    
    # Load a pretrained model
    model = YOLO("yolo26n.pt")
    
    # Train the model on your custom dataset
    model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)

    Để biết các tùy chọn cấu hình chi tiết, hãy truy cập trang Configuration.

  • Ultralytics YOLO26 cung cấp nhiều mô hình huấn luyện trước khác nhau cho object detection, instance segmentation, semantic segmentationpose estimation. Các mô hình này được huấn luyện trước trên tập dữ liệu COCO, Cityscapes cho phân đoạn ngữ nghĩa, hoặc ImageNet cho các tác vụ phân loại. Dưới đây là một số mô hình có sẵn:

    Để có danh sách chi tiết và các chỉ số hiệu suất, hãy tham khảo phần Models.

  • Để xác thực độ chính xác của mô hình YOLO26 đã huấn luyện của bạn, bạn có thể sử dụng phương thức .val() trong Python hoặc lệnh yolo detect val trong CLI. Thao tác này sẽ cung cấp các chỉ số như mAP50-95, mAP50 và nhiều hơn nữa.

    Ví dụ
    from ultralytics import YOLO
    
    # Load the model
    model = YOLO("path/to/best.pt")
    
    # Validate the model
    metrics = model.val()
    print(metrics.box.map)  # mAP50-95

    Để biết thêm chi tiết xác thực, hãy truy cập trang Val.

  • Ultralytics YOLO26 cho phép xuất các mô hình sang nhiều định dạng khác nhau như ONNX, TensorRT, CoreML và nhiều định dạng khác để đảm bảo tính tương thích trên các nền tảng và thiết bị khác nhau.

    Ví dụ
    from ultralytics import YOLO
    
    # Load the model
    model = YOLO("yolo26n.pt")
    
    # Export the model to ONNX format
    model.export(format="onnx")

    Kiểm tra danh sách đầy đủ các định dạng được hỗ trợ và hướng dẫn trên trang Export.

  • Ultralytics YOLO26 được thiết kế để mang lại hiệu suất tối tân cho object detection, instance segmentation, semantic segmentationpose estimation. Dưới đây là một số ưu điểm chính:

    1. Mô hình được huấn luyện trước: Tận dụng các mô hình đã được huấn luyện trước trên các tập dữ liệu phổ biến như COCOImageNet để phát triển nhanh hơn.
    2. Độ chính xác cao: Đạt được điểm mAP ấn tượng, đảm bảo việc phát hiện đối tượng đáng tin cậy.
    3. Tốc độ: Được tối ưu hóa cho real-time inference, giúp nó trở nên lý tưởng cho các ứng dụng đòi hỏi xử lý nhanh chóng.
    4. Tính linh hoạt: Xuất các model sang nhiều định dạng khác nhau như ONNX và TensorRT để triển khai trên nhiều nền tảng.

    Khám phá Blog của chúng tôi để tìm hiểu các trường hợp sử dụng và câu chuyện thành công giới thiệu YOLO26 đang hoạt động.

Bình luận