Link to this sectionPhát hiện đối tượng#
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 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.
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ị ở đâ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.
Model được tự động tải xuống từ bản phát hành mới nhất của Ultralytics khi sử dụng lần đầu.
| Mô hình | kí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) |
|---|---|---|---|---|---|---|---|
| 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 dành cho model đơn ở quy mô đơn trên tập dữ liệu COCO val2017.
Tái tạo bằngyolo val detect data=coco.yaml device=0 - Tốc độ được tính trung bình trên các ảnh COCO val bằng cách sử dụng instance Amazon EC2 P4d.
Tái tạo bằngyolo val detect data=coco.yaml batch=1 device=0|cpu - Các giá trị Params và FLOPs dành cho model đã hợp nhất sau khi chạy
model.fuse(), giúp gộp các lớp Conv và BatchNorm, và đối với các model end2end, sẽ loại bỏ đầu ra detection một-nhiều phụ trợ. Các checkpoint tiền huấn luyện giữ lại kiến trúc huấn luyện đầy đủ và có thể hiển thị số lượng cao hơn.
Link to this sectionHuấn luyện (Train)#
Huấn luyện YOLO26n trên tập dữ liệu COCO8 trong 100 epochs với kích thước ảnh 640. Để xem danh sách đầy đủ các đối số khả dụng, hãy xem trang 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 tại 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 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 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 trực tiếp trên Ultralytics Platform bằng các công cụ gán nhãn hỗ trợ AI.
Link to this sectionVal#
Xác thự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 huấn luyện và các đối số của nó dưới dạng thuộc tính của 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 sectionDự đoán (Predict)#
Sử dụng model YOLO26n đã huấn luyện để chạy dự đoán trên các 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 trong trang Dự đoán.
Link to this sectionĐầu ra kết quả#
Object detection 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 | Kích thước | Mô tả |
|---|---|---|---|
result.boxes | Boxes | (N) | Các khung bao phát hiện. |
result.boxes.data | torch.float32 | (N,6/7) | Dữ liệu thô [x1,y1,x2,y2,conf,cls], kèm track ID tùy chọn. |
result.boxes.xyxy | torch.float32 | (N,4) | Các khung bao pixel xyxy. |
result.boxes.conf | torch.float32 | (N,) | Điểm độ tin cậy. |
result.boxes.cls | torch.float32 | (N,) | ID lớp; ép kiểu sang int để lấy tên. |
Để biết các trường Results cụ thể cho từng tác vụ, hãy xem phần Dự đoán kết quả theo tác vụ.
Link to this sectionXuất (Export)#
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 khả dụng của YOLO26 có trong bảng dưới đây. Bạn có thể xuất sang bất kỳ định dạng nào bằ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 | Tham số format | Mô hình | Metadata | Tham số |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, quantize, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, quantize, dynamic, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, quantize, dynamic, simplify, workspace, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, quantize, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, quantize, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, quantize, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, quantize, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, quantize, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, quantize, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, quantize, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, quantize, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, quantize, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, quantize, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, quantize, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn.onnx | ✅ | imgsz, batch, name, quantize, 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 mã không?#
Có. Ultralytics Platform cung cấp 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 điểm cuối suy luận. Xem Platform quickstart để bắt đầu.
Link to this sectionLàm thế nào để tôi huấn luyện model YOLO26 trên tập dữ liệu tùy chỉnh của mình?#
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:
- 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. Các model này được huấn luyện trước trên tập dữ liệu COCO, Cityscapes cho semantic segmentation, hoặc ImageNet cho các tác vụ phân loại. Dưới đây là một số model khả dụng:
Để biết danh sách chi tiết và các chỉ số hiệu suất, hãy tham khảo phần Models.
Link to this sectionLàm cách nào tôi có thể xác thực độ chính xác của model YOLO đã huấn luyện của mình?#
Để xác thực độ 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.v.
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ề xác thực, hãy truy cập trang Val.
Link to this sectionTôi có thể xuất model YOLO26 sang các định dạng nào?#
Ultralytics YOLO26 cho phép xuất model sang các đị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 nhiều 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ế để cung cấp hiệu suất hiện đại cho object detection, instance segmentation, semantic segmentation và pose estimation. Dưới đây là một số ưu điểm chính:
- Pretrained Models: Sử 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 để tăng tốc độ phát triể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 để biết 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ế.