Ultralytics YOLO27: Tham gia danh sách chờ.
Bắt đầu

Ultralytics YOLO27

YOLO27 sắp ra mắt

Các model YOLO27 đang trong giai đoạn R&D cuối cùng, dự kiến ra mắt vào cuối năm nay. Các model này chưa có sẵn và chưa có ngày ra mắt cụ thể. Trang này giới thiệu trước các model sắp ra mắt; tính năng và benchmark có thể thay đổi trước khi phát hành. Các ví dụ mã bên dưới dành để sử dụng sau khi model và hỗ trợ package được phát hành, và sẽ không hoạt động với package công khai hiện tại. Weights, cấu hình và mã triển khai của model hiện chưa được phát hành. Đăng ký danh sách chờ YOLO27 để là người đầu tiên nhận tin khi model ra mắt.

Tổng quan#

Ultralytics YOLO27 là một dòng model thị giác thời gian thực; các model phát hiện sử dụng hai thiết kế bổ trợ cho nhau: kiến trúc CNN tinh gọn cho các model N và S nhỏ gọn, và kiến trúc dựa trên query, không cần NMS cho các model M và L lớn hơn. Cả hai thiết kế đều triển khai qua cùng một giao diện. Các model phát hiện N và S mặc định dùng head one-to-many với NMS; sử dụng nms=False để chọn head không cần NMS.

YOLO27 là dòng model sắp ra mắt trong series Ultralytics YOLO, kế nhiệm YOLO26. Model có bốn kích thước — N, S, M và L — và hỗ trợ phát hiện đối tượng, phân đoạn đối tượng, phân đoạn ngữ nghĩa, ước tính độ sâu, phân loại, ước tính tư thế và phát hiện đối tượng có hướng. Cách chia thành hai thiết kế áp dụng cho phát hiện đối tượng, phân đoạn đối tượng và ước tính tư thế. Phân đoạn ngữ nghĩa, ước tính độ sâu, phân loại và phát hiện đối tượng có hướng sử dụng kiến trúc CNN.

Trên bốn quy mô phát hiện, YOLO27 đạt 42.6-60.5 mAP trên COCO với độ trễ 0.44-1.86 ms trên NVIDIA RTX PRO 6000 — và lên đến 61.4 mAP với YOLO27l ở kích thước đầu vào lớn hơn 800 pixel. YOLO27l là model Ultralytics đầu tiên vượt mốc 60 mAP trên COCO, trong khi YOLO27n/s nhỏ gọn cải thiện độ chính xác so với YOLO26n/s ở tốc độ gần như tương đương.

Bắt đầu nhanh (sau khi phát hành)
from ultralytics import YOLO

model = YOLO("yolo27n.pt")  # load a pretrained YOLO27n model
results = model("path/to/bus.jpg")  # run inference

Tính năng chính#

  • Phát hiện hai tỷ lệ Các bộ phát hiện tiêu chuẩn dự đoán đối tượng trên ba feature map — mịn, trung bình và thô. YOLO27 N và S bỏ feature map trung bình, chỉ dự đoán trên feature map mịn (cho đối tượng nhỏ) và feature map thô (cho đối tượng lớn); phép scale cố định trên các feature đã hợp nhất giúp cân bằng hai tỷ lệ. Cách này loại bỏ phần lớn phép tính của detection head, giúp model nhanh hơn mà vẫn huấn luyện ổn định như thiết kế đủ ba tỷ lệ.

  • Phát hiện vật thể nhỏ tốt hơn Giai đoạn đặc trưng ban đầu, có độ phân giải cao, được mở rộng để có thể nắm bắt nhiều chi tiết tinh hơn. Kết hợp với bản đồ dự đoán tinh được giữ lại, điều này cải thiện khả năng định vị và hồi quy cho vật thể nhỏ — nhóm khó nhất đối với các model gọn nhẹ.

  • Giám sát căn chỉnh vùng tiền cảnh Trong quá trình huấn luyện, một nhánh nhẹ bổ sung học cách phân biệt "vật thể" với "nền" tại mọi vị trí. Nhánh này được thiết kế để thu hẹp khoảng cách giữa cơ chế giám sát dày đặc one-to-many được dùng khi huấn luyện và head one-to-one tạo ra dự đoán cuối cùng — giảm khoảng cách độ chính xác từ 0.9/0.8 mAP trên YOLO26n/s xuống chỉ còn 0.4 mAP trên YOLO27n/s, nhờ đó head one-to-one khi triển khai giữ được gần như toàn bộ độ chính xác trong quá trình huấn luyện. Nhánh này chỉ được dùng khi huấn luyện và bị loại bỏ trong quá trình suy luận và export, vì vậy không phát sinh chi phí khi triển khai.

  • Phát hiện dựa trên query không cần NMS Các model lớn hơn thay thế dự đoán dày đặc bằng một bộ giải mã transformer, tinh chỉnh một tập cố định các query đối tượng và trực tiếp xuất ra kết quả phát hiện cuối cùng — không cần hậu xử lý ức chế cực đại không cục bộ. YOLO27m và YOLO27l kết hợp bộ giải mã này với backbone UltraViT, sử dụng self-attention ở giai đoạn sâu nhất để nắm bắt ngữ cảnh toàn cục, tiếp theo là neck FPN/PAN.

  • Một giao diện đơn giản Cả hai kiến trúc đều được sử dụng thông qua cùng một giao diện Python YOLO. Pipeline huấn luyện, validation, dự đoán và export phù hợp sẽ được tự động chọn dựa trên model, vì vậy code được viết cho một kích thước YOLO27 vẫn hoạt động nguyên vẹn với các kích thước còn lại.

Nên sử dụng YOLO27 nào?#

Hướng dẫn sau đây dành cho việc chọn model sau khi YOLO27 được phát hành. Với các dự án hiện nay, hãy dùng YOLO26.

  • YOLO27n / YOLO27s — thiết bị edge, drone và video thời gian thực: các model nhanh nhất trong dòng, với khả năng phát hiện vật thể nhỏ được cải thiện nhờ thiết kế hai tỷ lệ. Xem NVIDIA Jetson và Raspberry Pi để biết cách triển khai dành riêng cho từng thiết bị.
  • YOLO27m — điểm cân bằng tối ưu giữa độ chính xác và tốc độ trên GPU: cải thiện độ chính xác so với YOLO26m ở độ trễ tương đương, phù hợp làm lựa chọn mặc định cho triển khai GPU trong môi trường production.
  • YOLO27l — dành cho các ứng dụng đòi hỏi độ chính xác cao: model Ultralytics đầu tiên đạt trên 60 mAP trên COCO, đạt 61.4 mAP ở kích thước đầu vào lớn hơn mà vẫn chạy theo thời gian thực trên GPU.

Để so sánh với các dòng model khác, xem tất cả model Ultralytics. Để đo lường sự đánh đổi giữa độ chính xác và tốc độ trên phần cứng của bạn thay vì của chúng tôi, xem chế độ Benchmark.


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

Bảng sau xem trước kế hoạch hỗ trợ tác vụ và chế độ trên bốn kích thước model YOLO27. Dấu kiểm cho biết hỗ trợ dự kiến khi phát hành, không phải khả năng cung cấp công khai hiện tại; tất cả các tệp model được liệt kê đều chưa phát hành.

ModelTên tệpTác vụHuấn luyệnValidationSuy luậnExport
YOLO27yolo27n.pt yolo27s.pt yolo27m.pt yolo27l.ptPhát hiện✅✅✅✅
YOLO27-segyolo27n-seg.pt yolo27s-seg.pt yolo27m-seg.pt yolo27l-seg.ptPhân đoạn đối tượng✅✅✅✅
YOLO27-semyolo27n-sem.pt yolo27s-sem.pt yolo27m-sem.pt yolo27l-sem.ptPhân đoạn ngữ nghĩa✅✅✅✅
YOLO27-depthyolo27n-depth.pt yolo27s-depth.pt yolo27m-depth.pt yolo27l-depth.ptƯớc lượng độ sâu✅✅✅✅
YOLO27-clsyolo27n-cls.pt yolo27s-cls.pt yolo27m-cls.pt yolo27l-cls.ptPhân loại✅✅✅✅
YOLO27-poseyolo27n-pose.pt yolo27s-pose.pt yolo27m-pose.pt yolo27l-pose.ptPose/Keypoint✅✅✅✅
YOLO27-obbyolo27n-obb.pt yolo27s-obb.pt yolo27m-obb.pt yolo27l-obb.ptPhát hiện hộp định hướng✅✅✅✅

Các model YOLO27 Detect, Segment, Pose và OBB cũng hoạt động với mode Track, chạy trên mode predict để theo dõi nhiều đối tượng qua các khung hình video.

Hai hướng kiến trúc

Các tác vụ phát hiện đối tượng, phân đoạn đối tượng và ước tính tư thế của YOLO27 sử dụng hai thiết kế trong cùng một interface: các scale N và S sử dụng kiến trúc CNN, trong khi các scale M và L sử dụng kiến trúc dựa trên query, không cần NMS. Phân đoạn ngữ nghĩa, ước tính độ sâu, phân loại và phát hiện đối tượng có hướng sử dụng kiến trúc CNN.


Chỉ số hiệu năng#

Độ chính xác phát hiện được báo cáo trên tập validation COCO. Xem Chỉ số hiệu năng YOLO để tìm hiểu về mAP, precision và recall. Để đánh giá độ chính xác ngoài COCO, xem Ultralytics Benchmark, đo macro mAP50-95 trên 37 bộ dữ liệu phát hiện trong thế giới thực thuộc các lĩnh vực như chẩn đoán hình ảnh y tế, viễn thám, công nghiệp, bán lẻ và nhiều lĩnh vực khác. Tốc độ suy luận được đo trên NVIDIA RTX PRO 6000 (TensorRT 11, FP16) cho GPU và AMD EPYC 9655 (ONNX Runtime, FP32) cho CPU. Sau khi phát hành, có thể tái tạo các số liệu độ chính xác bằng yolo val model=yolo27n.pt data=coco.yaml imgsz=640 nms=False save_json=True. Các bảng phát hiện đối tượng, phân đoạn đối tượng và ước tính tư thế sử dụng head không cần NMS và phép đánh giá COCO. Quá trình validation tư thế N/S sử dụng các batch hình chữ nhật (rect=True).

Kết quả sơ bộ

Các kết quả nghiên cứu này có thể thay đổi trong quá trình R&D cuối cùng. Trọng số công khai và hướng dẫn tái tạo sẽ được cung cấp cùng với bản phát hành.

Hiệu năng

Xem Tài liệu Detection để biết ví dụ sử dụng các model này được huấn luyện trên COCO, bao gồm 80 class được huấn luyện trước. Bảng sử dụng đầu vào 640 pixel; phần tổng quan cũng báo cáo YOLO27l ở 800 pixel.

Modelkích thước
(pixel)
mAPval50-95Tốc độ
CPU ONNX
(ms)
Tốc độ
RTX PRO 6000 TensorRT11
(ms)
params
(M)
FLOPs
(B)
YOLO27n64042.616.1 ± 1.60.44 ± 0.003.07.2
YOLO27s64050.133.2 ± 0.10.64 ± 0.0011.828.2
YOLO27m64056.474.8 ± 0.51.01 ± 0.0024.664.6
YOLO27l64060.5149.6 ± 1.41.86 ± 0.0072.3166.7

Các giá trị Params và FLOPs áp dụng cho model đã hợp nhất sau khi gộp Conv/BatchNorm và loại bỏ nhánh phát hiện không được sử dụng. Các phép đo phát hiện đối tượng, phân đoạn đối tượng và ước tính tư thế chọn head không cần NMS bằng nms=False; độ chính xác của N/S phụ thuộc vào head được chọn. FLOPs bao gồm các phép nhân ma trận attention của bộ giải mã. Các checkpoint pretrained giữ nguyên kiến trúc huấn luyện đầy đủ và có thể cho số liệu cao hơn.


Ví dụ sử dụng#

Phần này cung cấp các ví dụ đơn giản về huấn luyện và suy luận YOLO27. Đối với dataset tùy chỉnh, hãy xem Mẹo để đạt kết quả huấn luyện tốt nhất và Hướng dẫn tinh chỉnh hyperparameter.

Ví dụ bên dưới dành cho model YOLO27 Detect dùng để phát hiện đối tượng.

Huấn luyện và suy luận (sau khi phát hành)

Có thể truyền các model *.pt được huấn luyện trước trên PyTorch cũng như các tệp cấu hình *.yaml cho class YOLO() để tạo một instance model trong Python:

from ultralytics import YOLO

# Nạp model YOLO27n được huấn luyện trước trên COCO
model = YOLO("yolo27n.pt")

# Chạy suy luận bằng model YOLO27n trên ảnh 'bus.jpg'
results = model("path/to/bus.jpg")

# Huấn luyện model trên dataset mẫu COCO8 trong 100 epoch
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

    • Phát hiện hai tỷ lệ (N/S): bỏ bản đồ dự đoán trung bình để có detection head nhanh hơn mà vẫn duy trì độ chính xác cạnh tranh
    • Phát hiện vật thể nhỏ tốt hơn (N/S): mở rộng giai đoạn trích xuất đặc trưng ban đầu để cải thiện định vị vật thể nhỏ
    • Giám sát căn chỉnh vùng tiền cảnh (N/S): thu hẹp khoảng cách độ chính xác giữa one-to-many và one-to-one từ 0.9/0.8 mAP trên YOLO26n/s xuống còn 0.4 mAP trên YOLO27n/s, không phát sinh chi phí suy luận
    • Phát hiện dựa trên query, không cần NMS (M/L): decoder Transformer xuất trực tiếp các detection cuối cùng
    • Một giao diện đơn giản: cả hai kiến trúc đều chạy thông qua cùng một class YOLO
  • Chưa — YOLO27 chưa được phát hành. Hãy tiếp tục dùng YOLO26 cho các dự án hiện tại. Kết quả sơ bộ cho thấy độ chính xác được cải thiện ở mọi kích thước model, trong đó YOLO27l vượt 60 mAP trên COCO. Hãy đánh giá các model chính thức sau khi phát hành với workload của bạn trước khi chuyển đổi.

  • Sau khi phát hành, YOLO27 dự kiến sẽ dùng cùng class YOLO và cùng API train/val/predict/export như YOLO26 — pipeline phù hợp (CNN hoặc dựa trên query) sẽ được tự động chọn dựa trên model. Khi YOLO27 được hỗ trợ và có sẵn weights, việc thay yolo26n.pt bằng yolo27n.pt là thay đổi lựa chọn model dự kiến.

  • Hầu hết detector dự đoán trên ba feature map ở các độ phân giải khác nhau. YOLO27 N và S giữ lại bản đồ chi tiết mà các vật thể nhỏ phụ thuộc vào cùng bản đồ thô cần thiết cho các vật thể lớn, đồng thời bỏ qua bản đồ trung bình. Điều này giúp giảm đáng kể phần tính toán của detection head; các cải tiến huấn luyện nêu trên giúp duy trì sự cân bằng cạnh tranh giữa độ chính xác và độ trễ.

  • YOLO27l là model Ultralytics đầu tiên vượt mốc 60 mAP trên COCO, đạt 60.5 mAP với đầu vào 640 pixel (1.9 ms trên NVIDIA RTX PRO 6000) và 61.4 mAP với đầu vào 800 pixel (2.4 ms). Model kết hợp backbone UltraViT, hợp nhất đặc trưng đa tỷ lệ và detector dựa trên query tạo trực tiếp các kết quả phát hiện cuối cùng mà không cần NMS.

  • YOLO27 đang trong giai đoạn R&D cuối cùng và dự kiến ra mắt vào cuối năm nay. Hiện chưa có ngày ra mắt cụ thể. Weights của model và code triển khai chưa được công khai.

  • Sau khi YOLO27 được phát hành, hãy xem Quickstart để cài đặt hoặc cập nhật package ultralytics, sau đó nạp model như minh họa bên dưới. Ví dụ này dành cho thời điểm sau khi phát hành:

    from ultralytics import YOLO
    
    # Nạp model YOLO27 nano được huấn luyện trước
    model = YOLO("yolo27n.pt")
    
    # Chạy suy luận trên một ảnh
    results = model("image.jpg")

    Xem Ví dụ sử dụng để biết các ví dụ huấn luyện và suy luận, hoặc xem hướng dẫn Val và Export cho các chế độ đó.

Bình luận9

Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.

  1. sergshadrapGitHub

    Guys! You are doing incredible job , The thing I'd asked for is the total size for running model. When we speak about small devices embedded solutions that the -n model is intended to the size is very limited by the SoC properties and that is though to predict if it fits to the board or not. I think pointing the size is also important along the performance metrics for tiny models. Thanks again!

    1. Paula DerrengerUltralytics

      Thanks from the Ultralytics team and YOLO community—good suggestion. The preview lists YOLO27n at 3.0M parameters, but actual storage and runtime memory depend on the export format, precision, input size, and backend; exact measurements cannot be published until the models are released. We’ll consider adding artifact-size and memory benchmarks to the YOLO27 documentation, and please keep sharing embedded-device requirements here for team visibility.

    2. sergshadrapGitHub

      Thanks for you! Definitely nobody will ask about exact sizes of the models. What I meant is that most of the camera's SoCs ( for instance) we can split for three major segments, where the middle one is about Arm 1Ggz , 16m flash, and 128m Ram, the high is everything that has more advanced scu with multicores ,spaced flash and Ram and definitely folds more expensive and the low that everything below that. Trying to fit yolo26 to the gk7205v300 that exactly the middle one was a challenge even quantitized to 8. So ... what about the v27? Does it belong to the high-end only or I can try it for the middle one?

    3. Paula DerrengerUltralytics

      YOLO27n is intended for edge devices, so it is not high-end-only; its preliminary 3.0M parameters suggest INT8 weights around 3 MB, but 128 MB RAM may still be the limiting factor because activations and backend buffers depend on input size and runtime. For the GK7205V300, consider it a plausible target—not a confirmed fit—until the released model can be exported, profiled at reduced imgsz, and benchmarked on-device; YOLO27m/l are unlikely choices for those constraints. Please keep sharing your embedded results in this discussion so the Ultralytics team can track them alongside the YOLO27 documentation.

    4. Mohammed YasinUltralytics

      @sergshadrap How's the performance of YOLO26 on such SoCs? Because if it's too big to fit the SoC, then isn't it also too heavy to run? You can always reduce the size of the YOLO models by modifying the YAML file and removing some layers or reducing channels.

    5. sergshadrapGitHub

      Yeah , that is quite heavy stuff for 1 core 0.9 Ghz SoC , but I have it run . The most stable and sensible (for object recognition) configuration turns to be fp16 288x384 nano , that goes about 0.8 fps in continues run . That's pretty slow , but enough for my current cascade version, where IVE hardware detector is catching "something" and yolo refine the output. Would be glad to get a hint - how to reduce size and reduce layers/ channels. Now I'm on ncnn export tools , so it seems there is no fp8 variant for that tool? Forth to mention I'm on OpenIpc firmware and the majestic additionally quite a leaky guy , so with 128M of memory for all we're on the floor..

    6. Mohammed YasinUltralytics(đã chỉnh sửa)

      You can create a copy of this YAML and reduce the float values. Lowering width (the second float value) brings the biggest drop in model file size. Of course, all of these also reduces accuracy. The modified YAML can be loaded and used with

      model = YOLO("path/to/yaml")

      The ending suffix letter like n determines which of the scale values are used from this YAML.

      https://github.com/ultralytics/ultralytics/blob/b739caa8d2a0b8c83f7f65c228d006e197d4e5dc/ultralytics/cfg/models/26/yolo26.yaml#L13

    7. sergshadrapGitHub

      If only I change the model , do I need to re-train the model completely or I could move the weights from existing with some algorithm?