Chuyển đến nội dung

So sánh kỹ thuật chi tiết: YOLOv5 so với EfficientDet

Trong bối cảnh thị giác máy tính đang phát triển không ngừng, việc lựa chọn kiến trúc phát hiện đối tượng phù hợp là yếu tố then chốt cho sự thành công của dự án. Bài so sánh này sẽ khám phá hai mô hình có ảnh hưởng lớn: Ultralytics YOLOv5 , nổi tiếng với sự cân bằng giữa tốc độ và tính dễ sử dụng, và EfficientDet của Google , được đánh giá cao về khả năng mở rộng và hiệu quả tham số. Bằng cách xem xét kiến trúc, số liệu hiệu suất và khả năng triển khai của chúng, các nhà phát triển có thể đưa ra quyết định sáng suốt phù hợp với nhu cầu ứng dụng cụ thể của mình.

Phân tích hiệu suất: Tốc độ so với Hiệu quả

Sự khác biệt chính giữa hai kiến trúc này nằm ở triết lý thiết kế liên quan đến tài nguyên tính toán so với độ trễ suy luận. EfficientDet tối ưu hóa cho các phép toán dấu chấm động (FLOP) lý thuyết, khiến nó trở nên hấp dẫn cho việc đánh giá chuẩn mực học thuật. Ngược lại, YOLOv5 ưu tiên độ trễ thấp trên phần cứng thực tế, đặc biệt là GPU, mang lại tốc độ suy luận thời gian thực cần thiết cho môi trường sản xuất.

Bảng dưới đây minh họa sự đánh đổi này trên tập dữ liệu COCO val2017 . Mặc dù các mô hình EfficientDet đạt được mAP cao với ít tham số hơn, YOLOv5 chứng minh thời gian suy luận nhanh hơn đáng kể trên NVIDIA GPU T4 sử dụng TensorRT .

Mô hìnhKích thước
(pixels)
mAP giá trị
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
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

Như đã hiển thị, YOLOv5n đạt được độ trễ cực nhanh 1,12 ms trên GPU , vượt trội hơn đáng kể so với biến thể EfficientDet nhỏ nhất. Đối với các ứng dụng đòi hỏi từng mili giây, chẳng hạn như xe tự hành hoặc dây chuyền sản xuất tốc độ cao, lợi thế về tốc độ này là vô cùng quan trọng.

Sự khác biệt về kiến trúc

Hiểu được thiết kế cấu trúc của từng mô hình giúp làm rõ đặc điểm hiệu suất của chúng.

Ultralytics YOLOv5

YOLOv5 sử dụng xương sống CSPDarknet kết hợp với cổ PANet. Kiến trúc này được thiết kế để tối đa hóa luồng gradient và hiệu quả trích xuất đặc trưng.

  • Xương sống: Sử dụng các kết nối từng phần giữa các giai đoạn (CSP) để giảm thông tin gradient dư thừa, cải thiện khả năng học tập đồng thời giảm các tham số.
  • Cổ: Có Mạng tổng hợp đường dẫn (PANet) để hợp nhất các tính năng đa tỷ lệ đáng tin cậy, nâng cao khả năng phát hiện các đối tượng ở nhiều kích cỡ khác nhau.
  • Đầu: Một tiêu chuẩn YOLO Đầu phát hiện dựa trên mỏ neo dự đoán trực tiếp các lớp và hộp giới hạn.

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

EfficientDet

EfficientDet được xây dựng trên nền tảng EfficientNet và giới thiệu Mạng kim tự tháp tính năng hai chiều có trọng số (BiFPN).

  • Backbone: Sử dụng EfficientNet, có khả năng điều chỉnh độ sâu, chiều rộng và độ phân giải một cách đồng đều bằng cách sử dụng hệ số hợp thành.
  • Neck (BiFPN): Một lớp tích hợp tính năng phức tạp cho phép thông tin truyền theo cả hướng từ trên xuống và từ dưới lên, áp dụng trọng số cho các tính năng đầu vào khác nhau để nhấn mạnh tầm quan trọng của chúng.
  • Mở rộng quy mô hợp chất: Một cải tiến quan trọng trong đó xương sống, BiFPN và mạng lưới dự đoán hộp/lớp đều được mở rộng cùng nhau.

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

Các Ultralytics Ưu điểm: Hệ sinh thái và khả năng sử dụng

Mặc dù số liệu thô rất quan trọng, nhưng kinh nghiệm của nhà phát triển thường quyết định sự thành công của một dự án. Ultralytics YOLOv5 nổi trội trong việc cung cấp một môi trường hoàn thiện, lấy người dùng làm trung tâm, giúp giảm đáng kể thời gian phát triển.

Dễ sử dụng và tích hợp

YOLOv5 nổi tiếng với khả năng sử dụng "ngay lập tức". Mô hình có thể được cài đặt thông qua lệnh pip đơn giản và sử dụng với mã nguồn tối thiểu. Ngược lại, việc triển khai EfficientDet thường yêu cầu thiết lập phức tạp hơn trong TensorFlow hệ sinh thái hoặc kho lưu trữ nghiên cứu cụ thể.

Quy trình làm việc hợp lý

Với Ultralytics Bạn có thể chuyển đổi từ tập dữ liệu sang mô hình đã được đào tạo chỉ trong vài phút. Việc tích hợp với các công cụ như Ultralytics HUB cho phép quản lý, trực quan hóa và triển khai mô hình liền mạch mà không cần mã nguồn mẫu phức tạp.

Hiệu quả đào tạo và trí nhớ

Ultralytics Các mô hình được tối ưu hóa cho hiệu quả đào tạo . Chúng thường hội tụ nhanh hơn và yêu cầu ít hơn CUDA bộ nhớ so với các kiến trúc phức tạp như các tầng mở rộng cao hơn của EfficientDet hoặc các mô hình dựa trên bộ biến đổi. Rào cản gia nhập thấp hơn này cho phép các nhà phát triển đào tạo các mô hình tiên tiến trên phần cứng dành cho người tiêu dùng hoặc các phiên bản đám mây tiêu chuẩn như Google Colab .

Tính linh hoạt và đa nhiệm

Không giống như việc triển khai EfficientDet tiêu chuẩn, chủ yếu là một trình phát hiện đối tượng, Ultralytics Khung hỗ trợ nhiều tác vụ khác nhau. Các nhà phát triển có thể tận dụng cùng một API cho các tác vụ như phân đoạnphân loại hình ảnh , cung cấp giải pháp thống nhất cho nhiều thách thức về thị giác máy tính.

Các trường hợp sử dụng lý tưởng

Lựa chọn giữa YOLOv5 và EfficientDet phụ thuộc phần lớn vào các mục tiêu và ràng buộc triển khai.

Khi nào nên chọn Ultralytics YOLOv5

  • Ứng dụng thời gian thực: Các dự án yêu cầu độ trễ thấp, chẳng hạn như giám sát video, robot hoặc phân tích thể thao trực tiếp.
  • Triển khai Edge: Chạy trên các thiết bị như NVIDIA Jetson hoặc Raspberry Pi khi hiệu quả GPU /Việc sử dụng NPU là chìa khóa.
  • Nguyên mẫu nhanh: Khi các chu kỳ lặp lại nhanh và dễ sử dụng được ưu tiên để chứng minh giá trị nhanh chóng.
  • Hệ thống sản xuất: Triển khai mạnh mẽ, dễ bảo trì và được hỗ trợ bởi cộng đồng nguồn mở lớn.

Khi nào nên chọn EfficientDet

  • Nghiên cứu và đánh giá chuẩn: Các nghiên cứu học thuật tập trung vào hiệu quả FLOP hoặc quy luật mở rộng kiến trúc.
  • Xử lý ngoại tuyến: Các tình huống có thể chấp nhận được độ trễ cao và mục tiêu là đạt được phần trăm chính xác cuối cùng trên hình ảnh tĩnh.
  • Suy luận CPU công suất thấp: Trong trường hợp rất cụ thể CPU -chỉ những môi trường mà hoạt động BiFPN được tối ưu hóa cao cho bộ lệnh phần cứng cụ thể.

Nguồn gốc và chi tiết của mô hình

Hiểu được bối cảnh của các mô hình này sẽ giúp hiểu rõ hơn về mục tiêu thiết kế của chúng.

Ultralytics YOLOv5

EfficientDet

Ví dụ về mã: Bắt đầu với YOLOv5

Ultralytics làm cho suy luận trở nên cực kỳ đơn giản. Dưới đây là một ví dụ hợp lệ, có thể chạy được bằng cách sử dụng Python API để detect các đối tượng trong một hình ảnh.

import torch

# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image URL
img_url = "https://ultralytics.com/images/zidane.jpg"

# Perform inference
results = model(img_url)

# Display results
results.show()

# Print detection data (coordinates, confidence, class)
print(results.pandas().xyxy[0])

Đoạn mã đơn giản này xử lý việc tải xuống mô hình, xử lý trước hình ảnh, chạy lệnh chuyển tiếp và giải mã đầu ra—các tác vụ này sẽ yêu cầu nhiều mã hơn đáng kể với các triển khai EfficientDet thô.

Kết luận

Mặc dù EfficientDet đã đóng góp đáng kể vào nghiên cứu về khả năng mở rộng mô hình và hiệu quả tham số, Ultralytics YOLOv5 vẫn là lựa chọn hàng đầu cho việc triển khai thực tế. Sự cân bằng vượt trội giữa tốc độ và độ chính xác, kết hợp với hệ sinh thái phát triển mạnh mẽ và được bảo trì tốt , đảm bảo các nhà phát triển có thể xây dựng, đào tạo và triển khai các giải pháp một cách hiệu quả.

Đối với những người muốn tận dụng công nghệ thị giác máy tính mới nhất, Ultralytics đã tiếp tục đổi mới vượt ra ngoài YOLOv5 . Các mô hình như YOLOv8YOLO11 tiên tiến cung cấp những cải tiến hơn nữa về kiến trúc, hỗ trợ nhiều tác vụ hơn như ước tính tư thếphát hiện đối tượng định hướng , đồng thời vẫn duy trì tính dễ sử dụng đặc trưng xác định Ultralytics kinh nghiệm.

Khám phá các Mô hình Khác

Nếu bạn muốn tìm hiểu thêm các so sánh để tìm ra mẫu máy hoàn hảo cho nhu cầu của mình, hãy cân nhắc các nguồn sau:


Bình luận