YOLOv4: Phát hiện đối tượng chính xác và tốc độ cao
Chào mừng đến với Ultralytics trang tài liệu cho YOLOv4, một công cụ phát hiện vật thể thời gian thực hiện đại được Alexey Bochkovskiy ra mắt vào năm 2020 tại https://github.com/AlexeyAB/darknet . YOLOv4 được thiết kế để cung cấp sự cân bằng tối ưu giữa tốc độ và độ chính xác, khiến nó trở thành lựa chọn tuyệt vời cho nhiều ứng dụng.
Sơ đồ kiến trúc YOLOv4. Trình bày thiết kế mạng phức tạp của YOLOv4, bao gồm các thành phần xương sống, cổ và đầu, cùng các lớp kết nối của chúng để phát hiện đối tượng theo thời gian thực một cách tối ưu.
Giới thiệu
YOLOv4 là viết tắt của You Only Look Once phiên bản 4. Đây là mô hình phát hiện đối tượng thời gian thực được phát triển để giải quyết những hạn chế của các phiên bản trước. YOLO các phiên bản như YOLOv3 và các mô hình phát hiện đối tượng khác. Không giống như các bộ phát hiện đối tượng dựa trên mạng nơ-ron tích chập (CNN) khác, YOLOv4 không chỉ áp dụng cho các hệ thống đề xuất mà còn cho quản lý quy trình độc lập và giảm đầu vào của con người. Hoạt động của nó trên các đơn vị xử lý đồ họa (GPU) thông thường cho phép sử dụng hàng loạt với giá cả phải chăng và được thiết kế để hoạt động theo thời gian thực trên một GPU trong khi chỉ cần một cái như vậy GPU để đào tạo.
Ngành kiến trúc
YOLOv4 sử dụng một số tính năng cải tiến hoạt động cùng nhau để tối ưu hóa hiệu suất của nó. Những tính năng này bao gồm Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP), Cross mini-Batch Normalization (CmBN), Self-adversarial-training (SAT), Mish-activation, Mosaic data augmentation , DropBlock regularization và CIoU loss. Các tính năng này được kết hợp để đạt được kết quả tiên tiến.
Một máy dò đối tượng thông thường bao gồm một số bộ phận bao gồm đầu vào, xương sống, cổ và đầu. Xương sống của YOLOv4 được đào tạo trước trên ImageNet và được sử dụng để dự đoán các lớp và hộp giới hạn của các đối tượng. Xương sống có thể đến từ một số mô hình bao gồm VGG, ResNet, ResNeXt hoặc DenseNet. Phần cổ của máy dò được sử dụng để thu thập bản đồ đặc điểm từ các giai đoạn khác nhau và thường bao gồm một số đường dẫn từ dưới lên và một số đường dẫn từ trên xuống. Phần đầu là phần được sử dụng để thực hiện các phát hiện và phân loại đối tượng cuối cùng.
Túi quà tặng miễn phí
YOLOv4 cũng sử dụng các phương pháp được gọi là "túi miễn phí", là các kỹ thuật cải thiện độ chính xác của mô hình trong quá trình đào tạo mà không làm tăng chi phí suy luận. Tăng cường dữ liệu là một kỹ thuật túi miễn phí phổ biến được sử dụng trong phát hiện đối tượng, giúp tăng tính biến thiên của hình ảnh đầu vào để cải thiện độ mạnh mẽ của mô hình. Một số ví dụ về tăng cường dữ liệu bao gồm biến dạng quang học (điều chỉnh độ sáng, độ tương phản, sắc thái, độ bão hòa và nhiễu của hình ảnh) và biến dạng hình học (thêm tỷ lệ ngẫu nhiên, cắt xén, lật và xoay). Các kỹ thuật này giúp mô hình khái quát hóa tốt hơn đối với các loại hình ảnh khác nhau.
Tính năng và hiệu suất
YOLOv4 được thiết kế để có tốc độ và độ chính xác tối ưu trong phát hiện đối tượng. Kiến trúc của YOLOv4 bao gồm CSPDarknet53 làm xương sống, PANet làm cổ và YOLOv3 làm đầu phát hiện. Thiết kế này cho phép YOLOv4 thực hiện phát hiện đối tượng với tốc độ ấn tượng, phù hợp với các ứng dụng thời gian thực. YOLOv4 cũng vượt trội về độ chính xác, đạt được kết quả tiên tiến trong các chuẩn phát hiện đối tượng.
Ví dụ sử dụng
Tính đến thời điểm viết bài, Ultralytics hiện không hỗ trợ các mô hình YOLOv4. Do đó, bất kỳ người dùng nào quan tâm đến việc sử dụng YOLOv4 sẽ cần tham khảo trực tiếp kho lưu trữ GitHub của YOLOv4 để biết hướng dẫn cài đặt và sử dụng.
Sau đây là bản tóm tắt ngắn gọn về các bước thông thường bạn có thể thực hiện để sử dụng YOLOv4:
-
Truy cập kho lưu trữ GitHub YOLOv4: https://github.com/AlexeyAB/darknet .
-
Thực hiện theo hướng dẫn được cung cấp trong tệp README để cài đặt. Điều này thường bao gồm việc sao chép kho lưu trữ, cài đặt các phụ thuộc cần thiết và thiết lập bất kỳ biến môi trường cần thiết nào.
-
Sau khi cài đặt hoàn tất, bạn có thể đào tạo và sử dụng mô hình theo hướng dẫn sử dụng được cung cấp trong kho lưu trữ. Điều này thường bao gồm việc chuẩn bị tập dữ liệu của bạn, cấu hình các tham số mô hình, đào tạo mô hình và sau đó sử dụng mô hình đã đào tạo để thực hiện phát hiện đối tượng.
Xin lưu ý rằng các bước cụ thể có thể khác nhau tùy thuộc vào trường hợp sử dụng cụ thể của bạn và trạng thái hiện tại của kho lưu trữ YOLOv4. Do đó, chúng tôi đặc biệt khuyến nghị bạn tham khảo trực tiếp hướng dẫn được cung cấp trong kho lưu trữ GitHub YOLOv4.
Chúng tôi rất tiếc về bất kỳ sự bất tiện nào mà điều này có thể gây ra và sẽ cố gắng cập nhật tài liệu này với các ví dụ sử dụng cho Ultralytics khi hỗ trợ cho YOLOv4 được triển khai.
Phần kết luận
YOLOv4 là một mô hình phát hiện đối tượng mạnh mẽ và hiệu quả, cân bằng giữa tốc độ và độ chính xác. Việc sử dụng các tính năng độc đáo và nhiều kỹ thuật miễn phí trong quá trình đào tạo cho phép nó thực hiện xuất sắc các tác vụ phát hiện đối tượng theo thời gian thực. YOLOv4 có thể được đào tạo và sử dụng bởi bất kỳ ai có GPU , làm cho nó dễ tiếp cận và thiết thực cho nhiều ứng dụng khác nhau.
Trích dẫn và Lời cảm ơn
Chúng tôi muốn ghi nhận những đóng góp quan trọng của các tác giả YOLOv4 trong lĩnh vực phát hiện đối tượng theo thời gian thực:
Bài báo gốc YOLOv4 có thể được tìm thấy trên arXiv . Các tác giả đã công khai công trình của họ và có thể truy cập cơ sở mã trên GitHub . Chúng tôi đánh giá cao những nỗ lực của họ trong việc thúc đẩy lĩnh vực này và giúp công trình của họ tiếp cận được với cộng đồng rộng lớn hơn.
CÂU HỎI THƯỜNG GẶP
YOLOv4 là gì và tại sao tôi nên sử dụng nó để phát hiện đối tượng ?
YOLOv4, viết tắt của "You Only Look Once version 4", là mô hình phát hiện đối tượng thời gian thực tiên tiến do Alexey Bochkovskiy phát triển vào năm 2020. Mô hình này đạt được sự cân bằng tối ưu giữa tốc độ và độ chính xác , khiến nó rất phù hợp cho các ứng dụng thời gian thực. Kiến trúc của YOLOv4 kết hợp một số tính năng cải tiến như Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP) và Self-adversarial-training (SAT), cùng nhiều tính năng khác, để đạt được kết quả tiên tiến. Nếu bạn đang tìm kiếm một mô hình hiệu suất cao hoạt động hiệu quả trên GPU thông thường, YOLOv4 là một lựa chọn tuyệt vời.
Kiến trúc của YOLOv4 nâng cao hiệu suất như thế nào?
Kiến trúc của YOLOv4 bao gồm một số thành phần chính: backbone, neck và head. backbone, có thể là các mô hình như VGG, ResNet hoặc CSPDarknet53, được đào tạo trước để dự đoán các lớp và hộp giới hạn. Neck, sử dụng PANet, kết nối các bản đồ đặc điểm từ các giai đoạn khác nhau để trích xuất dữ liệu toàn diện. Cuối cùng, head, sử dụng các cấu hình từ YOLOv3, thực hiện các phát hiện đối tượng cuối cùng. YOLOv4 cũng sử dụng các kỹ thuật "túi quà tặng miễn phí" như tăng cường dữ liệu mosaic và điều chỉnh DropBlock, tối ưu hóa tốc độ và độ chính xác của nó hơn nữa.
"Túi quà tặng miễn phí" trong bối cảnh YOLOv4 là gì?
"Bag of freebies" đề cập đến các phương pháp cải thiện độ chính xác đào tạo của YOLOv4 mà không làm tăng chi phí suy luận. Các kỹ thuật này bao gồm nhiều dạng tăng cường dữ liệu khác nhau như biến dạng quang học (điều chỉnh độ sáng, độ tương phản, v.v.) và biến dạng hình học (thay đổi tỷ lệ, cắt xén, lật, xoay). Bằng cách tăng tính biến thiên của hình ảnh đầu vào, các phép tăng cường này giúp YOLOv4 tổng quát hóa tốt hơn đối với các loại hình ảnh khác nhau, do đó cải thiện độ mạnh mẽ và độ chính xác của nó mà không ảnh hưởng đến hiệu suất thời gian thực của nó.
Tại sao YOLOv4 được coi là phù hợp để phát hiện vật thể theo thời gian thực trên GPU thông thường?
YOLOv4 được thiết kế để tối ưu hóa cả tốc độ và độ chính xác, khiến nó trở nên lý tưởng cho các tác vụ phát hiện đối tượng theo thời gian thực đòi hỏi hiệu suất nhanh và đáng tin cậy. Nó hoạt động hiệu quả trên GPU thông thường, chỉ cần một GPU cho cả đào tạo và suy luận. Điều này làm cho nó dễ tiếp cận và thiết thực cho nhiều ứng dụng khác nhau, từ hệ thống đề xuất đến quản lý quy trình độc lập, do đó giảm nhu cầu thiết lập phần cứng mở rộng và biến nó thành giải pháp tiết kiệm chi phí cho phát hiện đối tượng theo thời gian thực.
Làm thế nào tôi có thể bắt đầu với YOLOv4 nếu Ultralytics hiện tại không hỗ trợ?
Để bắt đầu với YOLOv4, bạn nên truy cập kho lưu trữ GitHub chính thức của YOLOv4 . Làm theo hướng dẫn cài đặt được cung cấp trong tệp README, thường bao gồm sao chép kho lưu trữ, cài đặt các phụ thuộc và thiết lập các biến môi trường. Sau khi cài đặt, bạn có thể đào tạo mô hình bằng cách chuẩn bị tập dữ liệu của mình, cấu hình các tham số mô hình và làm theo hướng dẫn sử dụng được cung cấp. Vì Ultralytics hiện không hỗ trợ YOLOv4, bạn nên tham khảo trực tiếp YOLOv4 GitHub để biết hướng dẫn chi tiết và mới nhất.