Bỏ để qua phần nội dung

YOLOv4: Phát hiện đối tượng tốc độ cao và chính xác

Chào mừng bạn đến với Ultralytics trang tài liệu cho YOLOv4, một máy dò đối tượng 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, làm cho nó trở thành một lựa chọn tuyệt vời cho nhiều ứng dụng.

Sơ đồ kiến trúc YOLOv4 Sơ đồ kiến trúc YOLOv4. Thể hiện 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 và các lớp được kết nối với nhau của chúng để phát hiện đối tượng theo thời gian thực 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ột mô hình phát hiện đối tượng thời gian thực được phát triển để giải quyết các hạn chế của 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 máy dò đố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 để 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 thông thường (GPU) cho phép sử dụng hàng loạt với giá cả phải chăng và nó được thiết kế để hoạt động trong thời gian thực trên GPU thông thường trong khi chỉ yêu cầu một GPU như vậy để đào tạo.

Kiến trúc

YOLOv4 sử dụng một số tính năng sáng tạo hoạt động cùng nhau để tối ưu hóa hiệu suất của nó. Chúng 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ả hiện đại.

Một máy dò đối tượng điển hình 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ể là 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 đồ địa vật 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à những gì được sử dụng để thực hiện phát hiện và phân loại đối tượng cuối cùng.

Túi quà tặng

YOLOv4 cũng sử dụng các phương pháp được gọi là "túi quà tặng", là những 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 túi phổ biến của kỹ thuật freebies được sử dụng trong phát hiện đối tượng, làm tăng sự thay đổi 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 trắc quang (điều chỉnh độ sáng, độ tương phản, màu sắc, độ 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, lật và xoay). Những kỹ thuật này giúp mô hình khái quát hóa tốt hơn cho các loại hình ảnh khác nhau.

Tính năng và hiệu suất

YOLOv4 được thiết kế cho tốc độ và độ chính xác tối ưu trong việc 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à cổ và YOLOv3 là đầ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, làm cho nó 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ả hiện đại trong các điểm 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 kiểu máy 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ữ YOLOv4 GitHub để được hướng dẫn cài đặt và sử dụng.

Dưới đây là tổng quan ngắn gọn về các bước điển hình bạn có thể thực hiện để sử dụng YOLOv4:

  1. Truy cập kho lưu trữ YOLOv4 GitHub: https://github.com/AlexeyAB/darknet.

  2. Làm theo hướng dẫn được cung cấp trong tệp README để cài đặt. Điều này thường liên quan đến 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.

  3. 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 liên quan đến việc chuẩn bị tập dữ liệu của bạn, định 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 được đà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 đó, bạn nên tham khảo trực tiếp các hướng dẫn được cung cấp trong kho lưu trữ YOLOv4 GitHub.

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 sau khi hỗ trợ cho YOLOv4 được triển khai.

Kết thúc

YOLOv4 là một mô hình phát hiện đối tượng mạnh mẽ và hiệu quả, tạo ra sự 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à túi 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 trong các tác vụ phát hiện đối tượng thời gian thực. YOLOv4 có thể được đào tạo và sử dụng bởi bất kỳ ai có GPU thông thường, giúp nó có thể truy cập và thiết thực cho một loạt các ứng dụng.

Trích dẫn và xác nhận

Chúng tôi muốn ghi nhận các tác giả YOLOv4 vì những đóng góp đáng kể của họ trong lĩnh vực phát hiện đối tượng thời gian thực:

@misc{bochkovskiy2020yolov4,
      title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
      author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
      year={2020},
      eprint={2004.10934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Giấy YOLOv4 gốc có thể được tìm thấy trên arXiv. Các tác giả đã công bố công khai tác phẩm của họ và cơ sở mã có thể được truy cập 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à làm cho công việc của họ có thể tiếp cận được với cộng đồng rộng lớn hơn.



Đã tạo 2023-11-12, Cập nhật 2024-01-07
Tác giả: glenn-jocher (6), sergiuwaxmann (1)

Ý kiến