Link to this sectionPhát hiện đối tượng#
Phát hiện đối tượng 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 hình ảnh hoặc luồng video.
Đầu ra của một bộ phát hiện đối tượng là tập hợp các bounding box bao quanh các đối tượng trong hình ảnh, cùng với nhãn lớp và điểm tin cậy cho mỗi hộp. Phát hiện đối tượng là một 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í của đối tượng đó hoặc hình dạng chính xác của nó.
Watch: Object Detection with Pretrained Ultralytics YOLO Model.
Các model YOLO26 Detect là các model YOLO26 mặc định, ví dụ: yolo26n.pt, và được huấn luyện trước trên COCO.
Link to this sectionModel#
Các model Detect được huấn luyện trước của YOLO26 được hiển thị tại đây. Các model Detect, Segment, và Pose được huấn luyện trước trên tập dữ liệu COCO, các model Semantic được huấn luyện trước trên Cityscapes, và các model Classify được huấn luyện trước trên tập dữ liệu ImageNet.
Các Model đượ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.
| Model | kích thước (pixel) | mAPval 50-95 | mAPval 50-95(e2e) | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 193.9 |
- Các giá trị mAPval là dành cho model đơn trên một quy mô đơn trên tập dữ liệu COCO val2017.
Tái tạo bằng lệnhyolo 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 instance Amazon EC2 P4d.
Tái tạo bằng lệnhyolo val detect data=coco.yaml batch=1 device=0|cpu - Các giá trị Params và FLOPs là dành cho model đã hợp nhất (fused) sau khi gọi
model.fuse(), giúp gộp các lớp Conv và BatchNorm và, đối với các model end2end, loại bỏ head phát hiện auxiliary one-to-many. Các checkpoint được 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.
Link to this sectionTrain#
Huấn luyện YOLO26n trên tập dữ liệu COCO8 trong 100 epochs với kích thước ảnh là 640. Để biết danh sách đầy đủ các đối số khả dụng, hãy xem trang Cấu hình (Configuration).
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 trên trang Train. Các model phát hiện cũng có thể được huấn luyện trên GPU đám mây thông qua Nền tảng Ultralytics (Ultralytics Platform).
Link to this sectionĐị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 Hướng dẫn tập dữ liệu (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ể gắn nhãn và quản lý các tập dữ liệu phát hiện trực tiếp trên Nền tảng Ultralytics (Ultralytics Platform) với các công cụ gắn nhãn có hỗ trợ AI.
Link to this sectionVal#
Xác thực độ chính xác (accuracy) của model YOLO26n đã được huấn luyện trên tập dữ liệu COCO8. Không cần đối số nào vì model giữ lại data và các đối số huấn luyện của nó dưới dạng các thuộc tính model.
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 FNLink to this sectionPredict#
Sử dụng model YOLO26n đã được huấn luyện để chạy dự đoán trên hình ảnh.
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 boxXem chi tiết đầy đủ về chế độ predict trên trang Predict.
Link to this sectionKết quả đầu ra#
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ính | Loại | Shape | Mô tả |
|---|---|---|---|
result.boxes | Boxes | (N) | Các hộp phát hiện. |
result.boxes.data | torch.float32 | (N,6/7) | Dữ liệu thô [x1,y1,x2,y2,conf,cls], cộng với ID theo dõi tùy chọn. |
result.boxes.xyxy | torch.float32 | (N,4) | Các hộp pixel xyxy. |
result.boxes.conf | torch.float32 | (N,) | Điểm tin cậy. |
result.boxes.cls | torch.float32 | (N,) | ID lớp; chuyển đổi sang int để lấy tên. |
Đối với các trường Results cụ thể theo từng tác vụ, hãy xem phần Dự đoán kết quả theo tác vụ (Predict Results by Task).
Link to this sectionExport#
Xuất model YOLO26n sang một định dạng khác như ONNX, CoreML, v.v.
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 khả dụng có trong bảng dưới đây. Bạn có thể xuất sang bất kỳ định dạng nào bằng cách sử dụng đối số format, ví dụ: 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 model đã xuất, ví dụ: yolo predict model=yolo26n.onnx. Các ví dụ sử dụng được hiển thị cho model của bạn sau khi quá trình xuất hoàn tất.
| Định dạng | Đối số format | Model | Metadata | Đối số |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
Xem chi tiết export đầy đủ trong trang Export.
Link to this sectionCâu hỏi thường gặp#
Link to this sectionTôi có thể huấn luyện và triển khai các model phát hiện mà không cần viết code không?#
Có. Ultralytics Platform cung cấp một 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 model phát hiện trên GPU đám mây và triển khai chúng tới các endpoint suy luận. Xem Platform quickstart để bắt đầu.
Link to this sectionLàm thế nào để tôi huấn luyện một model YOLO26 trên tập dữ liệu tùy chỉnh của mình?#
Việc huấn luyện một model YOLO26 trên tập dữ liệu tùy chỉnh bao gồm một vài bước:
- 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.
- 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.
- Huấn luyện Model: Thực thi phương thức
traintrong Python hoặc lệnhyolo detect traintrong CLI.
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.
Link to this sectionNhững model nào đã được huấn luyện trước có sẵn trong YOLO26?#
Ultralytics YOLO26 cung cấp nhiều model đã được huấn luyện trước cho object detection, instance segmentation, semantic segmentation, và pose estimation. Những model 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ố model khả dụng:
Để có danh sách chi tiết và các chỉ số hiệu suất, hãy tham khảo mục Models.
Link to this sectionLàm thế nào tôi có thể kiểm chứng độ chính xác của model YOLO đã huấn luyện của mình?#
Để kiểm chứng độ chính xác của model YOLO26 đã huấn luyện, bạn có thể sử dụng phương thức .val() trong Python hoặc lệnh yolo detect val trong CLI. Điều này sẽ cung cấp các chỉ số như mAP50-95, mAP50, và hơn thế nữa.
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 về kiểm chứng, hãy truy cập trang Val.
Link to this sectionTôi có thể xuất model YOLO26 sang những định dạng nào?#
Ultralytics YOLO26 cho phép xuất các model sang nhiều định dạng khác nhau như ONNX, TensorRT, CoreML, và nhiều hơn nữa để đảm bảo tính tương thích trên các nền tảng và thiết bị khác nhau.
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.
Link to this sectionTại sao tôi nên sử dụng Ultralytics YOLO26 cho object detection?#
Ultralytics YOLO26 được thiết kế để mang lại hiệu suất tối tân cho object detection, instance segmentation, semantic segmentation, và pose estimation. Dưới đây là một số ưu điểm chính:
- Model đã được huấn luyện trước: Tận dụng các model đã được huấn luyện trước trên các tập dữ liệu phổ biến như COCO và ImageNet để phát triển nhanh hơn.
- Độ 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.
- Tốc độ: Được tối ưu hóa cho real-time inference, khiến nó trở nên lý tưởng cho các ứng dụng đòi hỏi xử lý nhanh chóng.
- 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 để xem các trường hợp sử dụng và câu chuyện thành công giới thiệu YOLO26 trong thực tế.