Chuyển đến nội dung

YOLOv7 so với YOLOv8: Sự phát triển của tính năng detect đối tượng thời gian thực

Lĩnh vực thị giác máy tính được định hình bởi sự phát triển nhanh chóng và những đột phá về kiến ​​trúc. Hai trong số những cột mốc quan trọng nhất trong lịch sử này là YOLOv7 , được phát hành vào giữa năm 2022, và YOLOv8 , được phát hành bởi Ultralytics Vào đầu năm 2023. Mặc dù cả hai mẫu đều hướng đến công nghệ tiên tiến nhất (SOTA) khi ra mắt, chúng lại thể hiện những triết lý khác nhau về thiết kế mô hình và trải nghiệm của nhà phát triển.

YOLOv7 Đánh dấu đỉnh điểm trong việc tối ưu hóa phương pháp "túi quà tặng miễn phí" cho các bộ dò dựa trên điểm neo, tập trung mạnh vào các chiến lược kiến ​​trúc có thể huấn luyện được. Ngược lại, YOLOv8 Đã giới thiệu cách tiếp cận hệ sinh thái lấy người dùng làm trung tâm, chuyển sang kiến ​​trúc không cần neo, ưu tiên tính dễ sử dụng, triển khai mô hình và hỗ trợ thống nhất cho các tác vụ đa dạng như phân đoạn và ước tính tư thế.

So sánh hiệu suất

Bảng sau đây minh họa các chỉ số hiệu suất của YOLOv7 Và YOLOv8 mô hình. YOLOv8 Thể hiện hiệu quả vượt trội, đặc biệt là về số lượng tham số và FLOPs, đồng thời duy trì hoặc vượt quá độ chính xác ( mAP ) của phiên bản tiền nhiệm.

Mô hìnhKích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
Tham số
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

YOLOv7 : Tập đoàn hùng mạnh dựa trên nền tảng neo đậu

Được phát hành vào tháng 7 năm 2022, YOLOv7 Nó được thiết kế để đẩy giới hạn về tốc độ và độ chính xác phát hiện đối tượng trong thời gian thực. Nó đã giới thiệu một số cải tiến kiến ​​trúc nhằm tối ưu hóa đường dẫn lan truyền gradient.

Các tính năng kiến trúc chính

YOLOv7 đã giới thiệu Mạng tổng hợp lớp hiệu quả mở rộng (E-ELAN) . Kiến trúc này cho phép mô hình học được nhiều đặc điểm đa dạng hơn bằng cách kiểm soát các đường dẫn gradient ngắn nhất và dài nhất, đảm bảo mạng hội tụ hiệu quả mà không phá hủy dòng gradient.

Nó cũng sử dụng phương pháp điều chỉnh tỷ lệ mô hình dựa trên phép nối , điều chỉnh đồng thời độ sâu và chiều rộng của khối. Mặc dù hiệu quả, kiến ​​trúc này dựa vào các hộp neo , đòi hỏi phải tính toán các neo tối ưu cho các tập dữ liệu tùy chỉnh để đạt hiệu suất tối đa. Điều này làm tăng thêm độ phức tạp cho quá trình huấn luyện so với các phương pháp không sử dụng neo mới hơn.

Độ phức tạp của huấn luyện

YOLOv7 Thông thường, cần có cấu trúc kho lưu trữ chuyên biệt hướng đến nghiên cứu và quản lý thủ công các đầu phụ trợ trong quá trình đào tạo. Người dùng thường phải tự điều chỉnh các siêu tham số cho "túi quà tặng miễn phí" (như...). MixUp hoặc Mosaic) để hoạt động chính xác trên các tập dữ liệu nhỏ hơn.

YOLOv8 : Hệ sinh thái thống nhất và thiết kế không cần neo

Ultralytics YOLOv8 Nó đánh dấu một sự chuyển đổi mô hình từ một công cụ nghiên cứu thuần túy sang một khung công tác cấp doanh nghiệp. Nó đã tối ưu hóa toàn bộ vòng đời của học máy, từ chú thích dữ liệu đến triển khai.

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

Đổi mới Kiến trúc

YOLOv8 Đây là một mô hình hiện đại, không cần neo . Bằng cách loại bỏ nhu cầu về các hộp neo được xác định trước, YOLOv8 Giúp đơn giản hóa đầu dò và cải thiện khả năng khái quát hóa đối với các vật thể có hình dạng hoặc tỷ lệ khung hình bất thường.

  1. Mô-đun C2f: Thay thế mô-đun C3 từ các thế hệ trước, mô-đun C2f (lấy cảm hứng từ ELAN) kết hợp các tính năng cấp cao với thông tin ngữ cảnh để cải thiện luồng gradient trong khi vẫn giữ được trọng lượng nhẹ.
  2. Đầu tách rời: YOLOv8 Tách biệt các nhiệm vụ nhận dạng đối tượng, phân loại và hồi quy thành các nhánh khác nhau. Sự tách biệt này cho phép mô hình hội tụ nhanh hơn và chính xác hơn.
  3. Tính linh hoạt trong công việc: Không giống như YOLOv7 , chủ yếu là một mô hình phát hiện, YOLOv8 Hỗ trợ sẵn các chức năng phân loại hình ảnh , ước lượng tư thế , hộp giới hạn định hướng (OBB)phân đoạn đối tượng .

So sánh chi tiết: Tại sao nhà phát triển lựa chọn Ultralytics

Trong khi YOLOv7 vẫn là một mô hình có khả năng, Ultralytics hệ sinh thái xung quanh YOLOv8 (và YOLO26 phiên bản mới hơn) mang lại những lợi thế riêng biệt cho các nhà phát triển và nhà nghiên cứu.

1. Dễ sử dụng và Hệ sinh thái

YOLOv7 Nó chủ yếu được phân phối dưới dạng kho lưu trữ nghiên cứu. Việc huấn luyện nó thường yêu cầu sao chép một kho lưu trữ GitHub cụ thể, sắp xếp các thư mục theo cấu trúc chặt chẽ và chạy các lệnh phức tạp. CLI dây.

Ngược lại, Ultralytics các mẫu có sẵn theo tiêu chuẩn Python bưu kiện (pip install ultralytics). Đối số Nền tảng Ultralytics Nền tảng này còn đơn giản hóa hơn nữa bằng cách cung cấp giao diện đồ họa để quản lý tập dữ liệu và giám sát quá trình huấn luyện. Trải nghiệm "từ con số không đến chuyên gia" này giúp giảm đáng kể rào cản gia nhập ngành phát triển AI.

2. Hiệu Quả Huấn Luyện và Bộ Nhớ

Một trong những yếu tố quan trọng nhất trong trí tuệ nhân tạo hiện đại là việc sử dụng tài nguyên. Các mô hình dựa trên Transformer thường yêu cầu lượng tài nguyên khổng lồ. CUDA Cần nhiều thời gian để rèn luyện và ghi nhớ. Ultralytics YOLO Các mô hình được tối ưu hóa để đạt hiệu quả đào tạo cao nhất .

YOLOv8 Nó sử dụng kỹ thuật tăng cường khảm động, tắt kỹ thuật này trong các giai đoạn cuối để tăng độ chính xác. Điều này, kết hợp với trình tải dữ liệu được tối ưu hóa, cho phép người dùng chạy các kích thước lô lớn hơn trên GPU cấp độ người tiêu dùng so với các phương pháp khác. YOLOv7 hoặc các giải pháp thay thế dựa trên máy biến áp như RT-DETR .

3. Triển khai và Xuất khẩu

Di chuyển mô hình từ một PyTorch Việc kiểm tra và chuyển dữ liệu đến thiết bị sản xuất thường là phần khó nhất trong quy trình. YOLOv8 Điều này được đơn giản hóa bằng chế độ xuất khẩu thống nhất.

Chỉ với một dòng mã, các nhà phát triển có thể xuất khẩu. YOLOv8 ĐẾN:

  • ONNX đảm bảo khả năng tương thích đa nền tảng.
  • TensorRT để đạt tốc độ suy luận tối đa. NVIDIA GPU.
  • CoreML để tích hợp vào iOS và các ứng dụng macOS.
  • TFLite dành cho triển khai trên thiết bị di động và biên mạng. Android hoặc Raspberry Pi.

Ví dụ xuất khẩu

Xuất khẩu YOLOv8 mô hình này liền mạch thông qua Python API:

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
model.export(format="onnx", opset=12)

Ví dụ mã: API hợp nhất

Cái Ultralytics Python API cho phép bạn chuyển đổi giữa các kiến ​​trúc mô hình một cách dễ dàng. Bạn có thể tải một YOLOv8 mô hình hoặc một YOLOv7 mô hình (được hỗ trợ để tương thích với các hệ thống cũ) sử dụng cùng một giao diện.

from ultralytics import YOLO

# Load the latest YOLOv8 Nano model for efficiency
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
# The API handles dataset downloading and configuration automatically
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

# Run inference on a sample image
# Returns a list of Results objects containing boxes, masks, or keypoints
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

# NOTE: You can also load YOLOv7 weights using the same API
# model_v7 = YOLO("yolov7.pt")

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

Khi nào nên sử dụng YOLOv7

  • So sánh hiệu năng cũ: Nếu bạn đang sao chép các bài báo học thuật từ năm 2022/2023 mà so sánh cụ thể với kiến ​​trúc E-ELAN.
  • Các đầu vào độ phân giải cao cụ thể: Hàm yolov7-w6 Các phiên bản được tinh chỉnh đặc biệt cho đầu vào 1280px, mặc dù các phiên bản hiện đại Ultralytics các mô hình hiện xử lý Độ phân giải P6/1280 bản địa.

Khi nào nên sử dụng YOLOv8

  • Điện toán biên: Các mô hình như yolov8n rất phù hợp cho chạy trên Raspberry Pi hoặc Jetson Nano do số lượng tham số ít và tốc độ cao.
  • Ứng dụng đa nhiệm: Nếu ứng dụng của bạn yêu cầu theo dõi người dùng đồng thời xác định tư thế (khung xương) của họ, YOLOv8 Phương pháp ước lượng tư thế gốc của nó là lựa chọn lý tưởng.
  • Tự động hóa công nghiệp: Đối với các dây chuyền sản xuất năng suất cao, nơi độ trễ là yếu tố quan trọng, việc dễ dàng xuất dữ liệu sang TensorRT mang lại nhiều lợi ích. YOLOv8 thượng đẳng.
  • Tạo mẫu nhanh: Nền tảng Ultralytics cho phép các nhóm nhanh chóng thử nghiệm và cải tiến các tập dữ liệu và mô hình mà không cần quản lý cơ sở hạ tầng phức tạp.

Hướng tới tương lai: Sức mạnh của YOLO26

Trong khi so sánh với YOLOv7 nêu bật những điểm mạnh của YOLOv8 Lĩnh vực này vẫn tiếp tục phát triển. Đối với các nhà phát triển bắt đầu các dự án mới ngày nay, YOLO26 đại diện cho đỉnh cao của sự phát triển này.

YOLO26 được xây dựng dựa trên sự dễ sử dụng của YOLOv8 nhưng giới thiệu thiết kế không có NMS từ đầu đến cuối . Bằng cách loại bỏ hiện tượng triệt tiêu cực đại không cần thiết (Non-Maximum Suppression) NMS Nhờ xử lý hậu kỳ, YOLO26 đạt được logic triển khai đơn giản hơn đáng kể và độ trễ thấp hơn trong các cảnh phức tạp. Nó cũng tích hợp Trình tối ưu hóa MuSGD , lấy cảm hứng từ các kỹ thuật huấn luyện Mô hình Ngôn ngữ Lớn (LLM), đảm bảo sự hội tụ ổn định hơn trong quá trình huấn luyện.

Hơn nữa, với việc loại bỏ Distribution Focal Loss (DFL), YOLO26 nhanh hơn tới 43% khi xử lý trên CPU , trở thành lựa chọn tối ưu cho các ứng dụng AI biên (edge ​​AI) nơi không có GPU. Đối với các tác vụ chuyên biệt, nó mang đến những cải tiến dành riêng cho từng tác vụ như Residual Log-Likelihood Estimation (RLE) cho Pose và hàm mất mát góc chuyên dụng cho OBB .

Để có giải pháp hiệu quả, chính xác và đáp ứng được nhu cầu trong tương lai tốt nhất, chúng tôi khuyên bạn nên tham khảo YOLO26 .


Bình luận