Ultralytics YOLO27:
Get Started

EfficientDet và YOLOX#

Khi thiết kế pipeline thị giác máy tính hiện đại, lựa chọn model phù hợp là quyết định then chốt, chi phối cả độ chính xác lẫn khả năng hoạt động thời gian thực. Hướng dẫn kỹ thuật này so sánh chuyên sâu hai kiến trúc quan trọng trong quá trình phát triển mạng neural: EfficientDet của Google và YOLOX của Megvii. Chúng ta sẽ phân tích các mô hình kiến trúc, đánh giá hiệu năng qua benchmark và tìm hiểu cách chúng so sánh với những giải pháp tiên tiến như Ultralytics YOLO26 mới ra mắt.

Tổng quan về EfficientDet#

Được nhóm Google Brain giới thiệu, EfficientDet tiên phong trong cách tiếp cận có cấu trúc cao đối với việc scale model, cho thấy có thể đạt độ chính xác cao với ít tham số hơn đáng kể so với các mạng đương thời có số lượng tham số lớn.

Thông tin chi tiết về EfficientDet:

Điểm nổi bật về kiến trúc#

EfficientDet được xây dựng trên backbone EfficientNet và áp dụng phương pháp compound scaling để scale đồng đều độ phân giải, độ sâu và độ rộng của mạng. Đặc điểm nổi bật của model là Mạng Kim tự tháp Đặc trưng Hai chiều (BiFPN), cho phép kết hợp đặc trưng đa tỉ lệ nhanh chóng và hiệu quả. Bằng cách sử dụng trọng số có thể học cho các đặc trưng đầu vào khác nhau, BiFPN đảm bảo mạng ưu tiên dữ liệu không gian quan trọng hơn.

Dù FLOPs lý thuyết của EfficientDet rất thấp, việc phụ thuộc vào hệ sinh thái TensorFlow và các cấu hình AutoML cũ có thể khiến việc tích hợp model vào quy trình PyTorch hiện đại, phát triển nhanh trở nên cồng kềnh. Ngoài ra, mạng nhiều nhánh phức tạp đôi khi tiêu thụ bộ nhớ khi huấn luyện cao hơn dự kiến so với các biến thể YOLO hiện đại.

Tìm hiểu thêm về EfficientDet

Tổng quan về YOLOX#

Ra mắt hai năm sau đó, YOLOX hướng đến thu hẹp khoảng cách giữa nghiên cứu học thuật và triển khai công nghiệp bằng cách chuyển đổi kiến trúc YOLO truyền thống thành framework không anchor.

Thông tin YOLOX:

Điểm nổi bật về kiến trúc#

YOLOX đơn giản hóa đáng kể mô hình phát hiện vật thể. Bằng cách chuyển sang thiết kế không anchor, YOLOX loại bỏ nhu cầu tinh chỉnh anchor box phức tạp, phụ thuộc vào từng dataset, qua đó giảm phần việc xử lý bằng heuristic. Model cũng tích hợp head tách rời—phân chia tác vụ phân loại và định vị—giúp cải thiện đáng kể tốc độ hội tụ. Ngoài ra, chiến lược gán nhãn SimOTA được giới thiệu để tối ưu linh hoạt việc phân bổ các mẫu dương trong quá trình huấn luyện.

Dù có những tiến bộ này, việc quản lý các kho YOLOX thường đòi hỏi biên dịch extension C++ thủ công và xử lý các dependency phức tạp, có thể cản trở triển khai model nhanh chóng ở những đội ngũ ít kinh nghiệm.

Tìm hiểu thêm về YOLOX

So sánh hiệu năng#

Khi đánh giá model cho production, việc cân bằng độ chính xác trung bình (mAP) với tốc độ suy luận là tối quan trọng. Bảng dưới đây so sánh trực tiếp các họ EfficientDet và YOLOX theo các benchmark COCO tiêu chuẩn.

Modelkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
Nhận định về hiệu năng

Trong khi EfficientDet đạt độ chính xác cao với các biến thể lớn hơn d7, YOLOX có độ trễ thấp hơn nhiều trên phần cứng GPU (thông qua TensorRT), nên phù hợp hơn với các ứng dụng FPS cao như xe tự hành hoặc theo dõi thể thao.

Trường hợp sử dụng và khuyến nghị#

Việc chọn giữa EfficientDet và YOLOX phụ thuộc vào yêu cầu cụ thể của dự án, giới hạn triển khai và sở thích về hệ sinh thái.

Khi nào nên chọn EfficientDet#

EfficientDet là lựa chọn phù hợp nếu:

  • Pipeline Google Cloud và TPU: Các hệ thống tích hợp sâu với API Google Cloud Vision hoặc hạ tầng TPU, nơi EfficientDet được tối ưu hóa nguyên bản.
  • Nghiên cứu mở rộng theo hệ số: Benchmark học thuật tập trung nghiên cứu tác động của việc mở rộng cân bằng độ sâu, chiều rộng và độ phân giải của mạng.
  • Triển khai di động qua LiteRT: Các dự án yêu cầu cụ thể việc xuất sang LiteRT (trước đây là TensorFlow Lite) cho Android hoặc thiết bị Linux nhúng.

Khi nào nên chọn YOLOX#

YOLOX được khuyến nghị cho:

  • Nghiên cứu phát hiện không anchor: Nghiên cứu học thuật sử dụng kiến trúc không anchor rõ ràng của YOLOX làm baseline để thử nghiệm các head phát hiện hoặc hàm loss mới.
  • Thiết bị biên siêu nhẹ: Triển khai trên vi điều khiển hoặc phần cứng di động đời cũ, nơi kích thước cực nhỏ của biến thể YOLOX-Nano (0.91M tham số) là yếu tố then chốt.
  • Nghiên cứu gán nhãn SimOTA: Các dự án nghiên cứu tìm hiểu chiến lược gán nhãn dựa trên vận tải tối ưu và ảnh hưởng của chúng đến quá trình hội tụ khi huấn luyện.

Khi nào nên chọn Ultralytics (YOLO26)#

Với hầu hết dự án mới, Ultralytics YOLO26 mang đến sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm dành cho nhà phát triển:

  • Triển khai trên thiết bị biên không cần NMS: Các ứng dụng cần inference có độ trễ thấp và ổn định mà không phải xử lý hậu kỳ Non-Maximum Suppression phức tạp.
  • Môi trường chỉ có CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ CPU inference nhanh hơn đến 43% của YOLO26 mang lại lợi thế rõ rệt.
  • Phát hiện vật thể nhỏ: Các tình huống khó như ảnh chụp từ drone trên không hoặc phân tích cảm biến IoT, trong đó ProgLoss và STAL cải thiện đáng kể độ chính xác khi phát hiện vật thể rất nhỏ.

Ưu thế của Ultralytics: Giới thiệu YOLO26#

Mặc dù EfficientDet và YOLOX từng tạo ra những bước tiến đáng kể trong thời đại của mình, thị giác máy tính hiện đại đòi hỏi tính linh hoạt cao hơn, quy trình làm việc tinh gọn hơn và tốc độ vượt trội. Với các developer ưu tiên tính dễ sử dụng, yêu cầu bộ nhớ thấp hơn và hệ sinh thái được duy trì tốt, chúng tôi đặc biệt khuyến nghị nâng cấp lên Ultralytics YOLO26, ra mắt vào tháng 1 năm 2026.

YOLO26 đánh dấu một bước chuyển đổi mang tính đột phá trong dòng YOLO, khắc phục có hệ thống những hạn chế của các model cũ hơn như YOLOX và EfficientDet:

  • Thiết kế đầu cuối không cần NMS: Khác với EfficientDet và YOLOX, vốn yêu cầu bước hậu xử lý Non-Maximum Suppression (NMS) tốn kém, YOLO26 hỗ trợ suy luận đầu cuối nguyên bản thông qua head one-to-one tùy chọn (nms=False). Điều này loại bỏ nút thắt độ trễ do NMS và đơn giản hóa đáng kể việc triển khai trên edge.
  • CPU inference nhanh hơn tới 43%: Nhờ tinh chỉnh kiến trúc có chủ đích và loại bỏ DFL (Distribution Focal Loss), YOLO26 được tối ưu hóa đặc biệt cho các môi trường không có GPU chuyên dụng, mang lại hiệu năng xuất sắc trên phần cứng AI biên như Raspberry Pi.
  • Optimizer MuSGD: Lấy cảm hứng từ các đổi mới trong huấn luyện LLM (như Kimi K2 của Moonshot AI), YOLO26 sử dụng phương pháp kết hợp SGD và Muon. Nhờ đó, quá trình huấn luyện cực kỳ ổn định và hội tụ nhanh hơn, vượt trội rõ rệt so với các bộ ước lượng TensorFlow cũ.
  • ProgLoss + STAL: Các hàm loss nâng cao giúp cải thiện đáng kể khả năng nhận diện vật thể nhỏ, vốn là điểm yếu lâu năm của cả YOLOX lẫn EfficientDet. Điều này rất quan trọng đối với phân tích dữ liệu drone và IoT.
  • Tính linh hoạt vượt trội: Trong khi EfficientDet và YOLOX chỉ là các bộ phát hiện bounding box, YOLO26 hỗ trợ nguyên bản phân đoạn đối tượng, ước tính tư thế (thông qua Residual Log-Likelihood Estimation) và bounding box định hướng (OBB).

Trải nghiệm người dùng tinh gọn và hiệu quả huấn luyện#

Một trong những trở ngại lớn nhất khi sử dụng các model như YOLOX là thiết lập môi trường huấn luyện. API Python hợp nhất của Ultralytics giúp bạn chỉ cần vài dòng code để huấn luyện một model tiên tiến. Ngoài ra, các model YOLO có data loader được tối ưu hóa cao, giúp giảm đáng kể mức sử dụng bộ nhớ CUDA so với các model nặng về Transformer hoặc mạng đa nhánh cũ.

from ultralytics import YOLO

# Tải model YOLO26n tiên tiến nhất (có thể suy luận không cần NMS bằng nms=False)
model = YOLO("yolo26n.pt")

# Huấn luyện model trên dataset tùy chỉnh của bạn
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Xuất model dễ dàng sang ONNX hoặc OpenVINO để triển khai trên edge
model.export(format="openvino")

Kết luận: Lựa chọn phù hợp#

Nếu bạn đang duy trì một hệ thống cũ phụ thuộc sâu vào hệ sinh thái TensorFlow, EfficientDet vẫn là lựa chọn ổn định, đặc biệt trong những trường hợp về mặt lý thuyết cần mở rộng quy mô tổ hợp ở mức lớn. Ngược lại, nếu bạn cần tốc độ thuần túy trên các codebase cũ không dùng anchor, YOLOX là bộ phát hiện nhanh và đáng tin cậy.

Tuy nhiên, với mọi dự án mới chuẩn bị đưa vào production, lựa chọn rõ ràng là Ultralytics YOLO26 (hoặc YOLO11 có độ ổn định cao để hỗ trợ hệ thống enterprise cũ). Với khả năng suy luận đầu cuối không cần NMS tùy chọn, tốc độ CPU được cải thiện đáng kể và quy trình triển khai liền mạch thông qua các nền tảng như OpenVINO và TensorRT, YOLO26 giúp các ứng dụng thị giác máy tính của bạn sẵn sàng cho tương lai, có độ chính xác cao và cực kỳ dễ bảo trì.

Người đóng góp

Bình luận