YOLOv9 so với YOLOv7 : Một cái nhìn sâu sắc về sự phát triển của công nghệ phát hiện đối tượng
Bối cảnh của thị giác máy tính được đặc trưng bởi sự đổi mới nhanh chóng, nơi những đột phá về kiến trúc liên tục định nghĩa lại ranh giới của tốc độ và độ chính xác. Hai cột mốc quan trọng trong hành trình này là YOLOv9 Và YOLOv7 Cả hai mô hình đều bắt nguồn từ nghiên cứu của Chien-Yao Wang và các đồng nghiệp, đại diện cho các thế hệ khác nhau của gia đình "Bạn chỉ nhìn một lần".
Trong khi YOLOv7 đã đặt ra tiêu chuẩn cho việc phát hiện đối tượng theo thời gian thực khi ra mắt vào năm 2022, YOLOv9 xuất hiện vào năm 2024 với các cơ chế mới để giải quyết vấn đề mất mát thông tin trong các mạng sâu. Bài so sánh này khám phá các thông số kỹ thuật, sự khác biệt về kiến trúc và ứng dụng thực tế của chúng để giúp các nhà phát triển lựa chọn mô hình tối ưu cho nhu cầu của mình.
Chỉ số hiệu suất và hiệu quả
Sự tiến hóa từ YOLOv7 ĐẾN YOLOv9 thể hiện rõ nhất ở sự đánh đổi giữa chi phí tính toán và hiệu suất phát hiện. YOLOv9 mang lại hiệu quả tăng đáng kể, cho phép đạt được Độ chính xác trung bình ( mAP ) cao hơn với ít tham số hơn so với thế hệ trước.
Ví dụ, mô hình YOLOv9m đạt được cùng mức 51,4% mAP val như YOLOv7l nhưng sử dụng gần một nửa số tham số (20,0M so với 36,9M) và ít FLOP hơn đáng kể. Hiệu quả này làm cho YOLOv9 đặc biệt hấp dẫn đối với các ứng dụng AI biên giới nơi tài nguyên phần cứng bị hạn chế.
| Mô hình | Kích thước (pixels) | mAP giá trị 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
YOLOv9 : Thông tin Gradient có thể lập trình
YOLOv9 đại diện cho một sự thay đổi mô hình trong cách mạng nơ- ron sâu xử lý việc truyền dữ liệu qua các lớp. Được phát hành vào đầu năm 2024, giải pháp này đặc biệt nhắm đến vấn đề "nút thắt cổ chai thông tin", trong đó dữ liệu bị mất khi truyền qua các lớp liên tiếp của mạng sâu.
Tác giả: Chien-Yao Wang, Hong-Yuan Mark Liao
Tổ chức: Viện Khoa học Thông tin, Academia Sinica
Ngày: 2024-02-21
Arxiv: 2402.13616
GitHub: WongKinYiu/yolov9
Tài liệu: Ultralytics YOLOv9
Đổi mới kiến trúc
Sự đổi mới cốt lõi trong YOLOv9 là sự ra đời của Thông tin Gradient có thể lập trình (PGI) . PGI cung cấp một khuôn khổ giám sát bổ trợ đảm bảo các gradient được truyền lại một cách đáng tin cậy đến các lớp ban đầu, bảo toàn thông tin đầu vào thiết yếu có thể bị mất trong quá trình trích xuất đặc điểm .
Bổ sung cho PGI là Mạng Tổng hợp Lớp Hiệu quả Tổng quát (GELAN) . Kiến trúc này cho phép các nhà phát triển xếp chồng các khối tính toán khác nhau (như CSP hoặc ResBlock) một cách linh hoạt, tối ưu hóa trọng số mô hình cho các ràng buộc phần cứng cụ thể mà không làm giảm độ chính xác.
Điểm mạnh và Điểm yếu
- Điểm mạnh:
- Độ chính xác vượt trội: Đạt được kết quả tiên tiến nhất trên tập dữ liệu COCO , với YOLOv9 -Mô hình E đạt 55,6% mAP .
- Hiệu quả tham số: Mang lại hiệu suất tương đương với các mô hình cũ hơn khi sử dụng ít tham số hơn đáng kể, giúp giảm yêu cầu về bộ nhớ trong quá trình suy luận.
- Bảo tồn thông tin: Những cải tiến về mặt lý thuyết trong luồng gradient dẫn đến sự hội tụ và biểu diễn tính năng tốt hơn.
- Điểm yếu:
- Độ phức tạp khi đào tạo: Các nhánh phụ trợ được sử dụng trong quá trình đào tạo (và loại bỏ để suy luận) có thể làm tăng mức sử dụng bộ nhớ GPU trong giai đoạn đào tạo so với các kiến trúc đơn giản hơn.
YOLOv7 : Tiêu chuẩn Túi quà tặng miễn phí
Trước YOLOv9 , YOLOv7 là nhà vô địch đương nhiệm của YOLO gia đình. Nó giới thiệu những cải tiến về kiến trúc tập trung vào việc tối ưu hóa quá trình đào tạo mà không làm tăng chi phí suy luận, một khái niệm được gọi là "túi quà tặng miễn phí".
Tác giả: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
Tổ chức: Viện Khoa học Thông tin, Academia Sinica
Ngày: 2022-07-06
Arxiv: 2207.02696
GitHub: WongKinYiu/yolov7
Tài liệu: Ultralytics YOLOv7
Tổng quan về kiến trúc
YOLOv7 Giới thiệu E-ELAN (Mạng Tổng hợp Lớp Hiệu quả Mở rộng) , kiểm soát các đường dẫn gradient ngắn nhất và dài nhất để cải thiện khả năng học của mạng. Mạng cũng sử dụng các kỹ thuật mở rộng mô hình để điều chỉnh đồng thời độ sâu và chiều rộng của mạng, đảm bảo kiến trúc tối ưu cho các thiết bị mục tiêu khác nhau.
Điểm mạnh và Điểm yếu
- Điểm mạnh:
- Độ tin cậy đã được chứng minh: Được cộng đồng sử dụng và xác thực rộng rãi trong nhiều năm khiến đây trở thành lựa chọn ổn định cho các hệ thống cũ.
- Tốc độ cao: Được tối ưu hóa đặc biệt cho suy luận thời gian thực trên tiêu chuẩn GPU phần cứng.
- Điểm yếu:
- Hiệu quả thấp hơn: Yêu cầu nhiều tham số và FLOP hơn để phù hợp với mức độ chính xác mà các mô hình mới hơn thích YOLOv9 hoặc YOLO11 có thể đạt được với kiến trúc nhẹ hơn.
- Công cụ cũ hơn: Thiếu một số tích hợp gốc và các tính năng dễ sử dụng có trong công cụ hiện đại Ultralytics hệ sinh thái.
Các trường hợp sử dụng và ứng dụng lý tưởng
Sự lựa chọn giữa hai mô hình này thường phụ thuộc vào những hạn chế cụ thể của môi trường triển khai và độ chính xác cần thiết của nhiệm vụ.
Khi nào nên chọn YOLOv9
YOLOv9 rất phù hợp cho những tình huống đòi hỏi tỷ lệ chính xác/hiệu quả cao nhất.
- Điều hướng tự động: Trong xe tự lái , việc phát hiện các vật thể nhỏ ở khoảng cách xa là rất quan trọng. YOLOv9 Khả năng lưu giữ thông tin giúp nhận biết các mối nguy hiểm ở xa.
- Chụp ảnh y tế: Đối với các nhiệm vụ như phát hiện khối u , trong đó việc thiếu phát hiện dương tính là rất quan trọng, khả năng thu hồi và độ chính xác cao của YOLOv9 có lợi.
- Thiết bị Edge: Hàm
yolov9tbiến thể cung cấp một giải pháp mạnh mẽ cho Thiết bị IoT giống như Raspberry Pis, mang lại độ chính xác tốt với chi phí tính toán tối thiểu.
Khi nào nên chọn YOLOv7
YOLOv7 vẫn phù hợp với các đường ống hiện có đã được tối ưu hóa cho kiến trúc của nó.
- Hệ thống kế thừa: Dây chuyền sản xuất công nghiệp đã được xác thực YOLOv7 để kiểm soát chất lượng có thể muốn duy trì tính nhất quán hơn là nâng cấp ngay lập tức.
- Cơ sở nghiên cứu: Đây là chuẩn mực tuyệt vời để so sánh các chiến lược phát hiện mới với các tiêu chuẩn đã được thiết lập trong nghiên cứu học thuật .
Cân bằng hiệu suất với Ultralytics
Trong khi YOLOv9 Và YOLOv7 mạnh mẽ, các nhà phát triển đang tìm kiếm sự cân bằng tối ưu giữa tốc độ, độ chính xác và kinh nghiệm của nhà phát triển nên cân nhắc Ultralytics YOLO11 . YOLO11 tích hợp các tính năng tốt nhất của thế hệ trước với API hợp lý, hỗ trợ phát hiện, phân đoạn, ước tính tư thế và phân loại trong một khuôn khổ duy nhất.
Các Ultralytics Lợi thế
Việc sử dụng các mô hình này trong hệ sinh thái Ultralytics mang lại những lợi thế rõ rệt so với việc sử dụng kho lưu trữ nghiên cứu thô. Ultralytics Python API tóm tắt mã mẫu phức tạp, cho phép các nhà nghiên cứu và kỹ sư tập trung vào dữ liệu và kết quả.
- Dễ sử dụng: Giao diện thống nhất cho phép bạn hoán đổi giữa YOLOv8 , YOLOv9 , Và YOLO11 chỉ với một dòng mã.
- Hiệu quả đào tạo: Ultralytics các mô hình được tối ưu hóa để hội tụ nhanh hơn, thường yêu cầu ít dữ liệu đào tạo hơn để đạt được độ chính xác cao.
- Yêu cầu về bộ nhớ: Khung được thiết kế để giảm thiểu việc sử dụng bộ nhớ CUDA , cho phép đào tạo các lô lớn hơn trên phần cứng cấp tiêu dùng so với các mô hình Transformer có nhiều bộ nhớ.
- Tính linh hoạt: Ngoài các hộp giới hạn đơn giản, hệ sinh thái còn hỗ trợ phân đoạn thể hiện , ước tính tư thế và các tác vụ Hộp giới hạn định hướng (OBB) , biến nó thành một công cụ toàn diện cho nhiều thách thức AI khác nhau.
Ví dụ triển khai
Chạy các mô hình này rất đơn giản với Ultralytics thư viện. Đoạn mã sau đây trình bày cách tải một mô hình được đào tạo trước và chạy suy luận trên một hình ảnh.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on a local image
results = model.predict("path/to/image.jpg", save=True, conf=0.5)
# Process results
for result in results:
result.show() # Display predictions
Đối với những người quan tâm đến việc đào tạo trên các tập dữ liệu tùy chỉnh, quy trình này cũng đơn giản không kém, sử dụng các chiến lược điều chỉnh siêu tham số và tăng cường dữ liệu mạnh mẽ được tích hợp vào khuôn khổ.
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
Kết luận
Cả hai YOLOv9 Và YOLOv7 đại diện cho những thành tựu đáng kể trong lĩnh vực thị giác máy tính . YOLOv9 là thế hệ kế thừa kỹ thuật rõ ràng, mang lại hiệu suất và độ chính xác tham số vượt trội nhờ kiến trúc PGI và GELAN tiên tiến. Đây là lựa chọn được khuyến nghị cho người dùng tìm kiếm hiệu suất cao từ dòng nghiên cứu cụ thể của Wang và cộng sự.
Tuy nhiên, đối với các nhà phát triển đang tìm kiếm trải nghiệm phát triển AI toàn diện nhất, Ultralytics YOLO11 vẫn là lựa chọn hàng đầu. Với dịch vụ bảo trì tích cực, tài liệu hướng dẫn chi tiết và hỗ trợ rộng rãi cho các tác vụ đa phương thức, YOLO11 đảm bảo rằng các dự án của bạn có khả năng thích ứng với tương lai và sẵn sàng đưa vào sản xuất.
Khám phá các Mô hình Khác
Để mở rộng hiểu biết của bạn về bối cảnh phát hiện đối tượng, hãy cân nhắc khám phá các mô hình và so sánh liên quan sau:
- YOLO11 so với YOLOv9 - So sánh phiên bản mới nhất Ultralytics mô hình với YOLOv9 .
- YOLOv8 so với YOLOv7 - Xem thế hệ trước so sánh như thế nào.
- RT-DETR so với YOLOv9 - So sánh phát hiện dựa trên Transformer với CNN.
- YOLOv10 - Khám phá mô hình phát hiện đối tượng đầu cuối, thời gian thực.
- Ultralytics HUB - Cách dễ nhất để đào tạo và triển khai mô hình của bạn.