Mục lục[Ẩn giấu][Chỉ]
Một trong những ý tưởng đơn giản nhưng hấp dẫn nhất trong học sâu là phát hiện đối tượng. Ý tưởng cơ bản là chia mỗi mục thành các lớp kế tiếp nhau đại diện cho các đặc điểm có thể so sánh được và sau đó vẽ một hộp xung quanh nó.
Những đặc điểm phân biệt này có thể đơn giản như hình thức hoặc màu sắc, giúp chúng ta có khả năng phân loại chúng.
Các ứng dụng của Phát hiện đối tượng được sử dụng rộng rãi trong khoa học y tế, lái xe tự hành, quốc phòng và quân sự, hành chính công, và nhiều lĩnh vực khác nhờ những cải tiến đáng kể trong Thị giác máy tính và Xử lý hình ảnh.
Ở đây chúng tôi có MMDetection, một bộ công cụ phát hiện đối tượng nguồn mở tuyệt vời được xây dựng trên Pytorch. Trong bài viết này, chúng tôi sẽ xem xét chi tiết MMDetection, thực hành với nó, thảo luận về các tính năng của nó và hơn thế nữa.
Là gì MMPhát hiện?
Sản phẩm MMPhát hiện hộp công cụ được tạo dưới dạng cơ sở mã Python đặc biệt cho các vấn đề liên quan đến nhận dạng đối tượng và phân đoạn phiên bản.
Việc triển khai PyTorch được sử dụng và nó được tạo theo kiểu mô-đun. Để nhận dạng đối tượng và phân đoạn cá thể, một loạt các mô hình hiệu quả đã được tổng hợp thành nhiều phương pháp luận khác nhau.
Nó cho phép suy luận hiệu quả và đào tạo nhanh chóng. Mặt khác, hộp công cụ bao gồm trọng số cho hơn 200 mạng được đào tạo trước, giúp nó nhanh chóng sửa chữa trong lĩnh vực nhận dạng đối tượng.
Với khả năng thích ứng với các kỹ thuật hiện tại hoặc tạo ra một máy dò mới bằng cách sử dụng các mô-đun có sẵn, MMDetection có chức năng như một điểm chuẩn.
Tính năng chính của hộp công cụ là bao gồm các bộ phận mô-đun, đơn giản từ một hộp thông thường. phát hiện đối tượng khung có thể được sử dụng để tạo các đường ống độc đáo hoặc các mô hình độc đáo.
Khả năng đo điểm chuẩn của bộ công cụ này giúp đơn giản hóa việc xây dựng một khung dò mới trên khung hiện có và so sánh hiệu suất của nó.
Tính năng
- Các khung phát hiện phổ biến và hiện đại, chẳng hạn như Faster RCNN, Mask RCNN, RetinaNet, v.v., được hỗ trợ trực tiếp bởi bộ công cụ.
- Sử dụng hơn 360 mô hình được đào tạo trước để tinh chỉnh (hoặc đào tạo lại).
- Đối với các bộ dữ liệu tầm nhìn nổi tiếng bao gồm COCO, Cityscapes, LVIS và PASCAL VOC.
- Trên GPU, tất cả các hoạt động bbox và mặt nạ cơ bản đều được thực thi. Các cơ sở mã khác, chẳng hạn như Detectron2, maskrcnn-benchmark và SimpleDet, có thể được đào tạo với tốc độ nhanh hơn hoặc ngang bằng với cơ sở này.
- Các nhà nghiên cứu phá vỡ các phát hiện đối tượng framework thành nhiều mô-đun, sau đó có thể kết hợp các mô-đun này để tạo ra một hệ thống phát hiện đối tượng duy nhất.
Kiến trúc MMDetection
MMDetection chỉ định một thiết kế chung có thể được áp dụng cho bất kỳ mô hình nào vì nó là một hộp công cụ với nhiều mô hình được tạo sẵn, mỗi mô hình có kiến trúc riêng. Các thành phần sau tạo nên kiến trúc tổng thể này:
- Xương sống: Backbone, chẳng hạn như ResNet-50 không có lớp cuối cùng được kết nối đầy đủ, là thành phần chuyển đổi hình ảnh thành bản đồ đặc trưng.
- Cái cổ: Cổ là đoạn kết nối xương sống với đầu. Trên bản đồ tính năng thô của xương sống, nó thực hiện một số điều chỉnh hoặc cấu hình lại. Tính năng Mạng Kim tự tháp là một minh họa (FPN).
- đầu dày đặc (AnchorHead / AnchorFreeHead): Là thành phần hoạt động trên các khu vực dày đặc của bản đồ đối tượng, chẳng hạn như AnchorHead và AnchorFreeHead, chẳng hạn như RPNHead, RetinaHead và FCOSHead.
- RoIExtractor: Với việc sử dụng các toán tử giống như RoIPooling, đây là phần kéo các đối tượng địa lý của RoIwise từ một hoặc một tập hợp các bản đồ đối tượng địa lý. Mẫu SingleRoIExtractor trích xuất các tính năng RoI từ mức độ phù hợp của các kim tự tháp đặc trưng.
- RoIHead (BBoxHead / MaskHead): Là phần của hệ thống sử dụng các đặc tính RoI làm đầu vào và tạo ra các dự đoán cụ thể về nhiệm vụ dựa trên RoI, chẳng hạn như phân loại / hồi quy hộp giới hạn và dự đoán mặt nạ.
Việc xây dựng các máy dò một giai đoạn và hai giai đoạn được minh họa bằng cách sử dụng các khái niệm đã đề cập ở trên. Chúng tôi có thể phát triển các quy trình của riêng mình chỉ bằng cách xây dựng một vài phần mới và kết hợp một số phần hiện có.
Danh sách các mô hình có trong MMDetection
MMDetection cung cấp các cơ sở mã hàng đầu cho một số mô hình nổi tiếng và các mô-đun hướng tác vụ. Các mô hình đã được thực hiện trước đây và các phương pháp thích ứng có thể được sử dụng với hộp công cụ MMDetection được liệt kê bên dưới. Danh sách tiếp tục phát triển khi nhiều mô hình và phương pháp được thêm vào.
- R-CNN nhanh
- R-CNN nhanh hơn
- Mặt nạ R-CNN
- RetinaNet
- DCN
- DCNv2
- Cascade R-CNN
- M2Det
- Ghm
- ScratchDet
- Hai đầu R-CNN
- Lưới R-CNN
- FSAF
- Libra R-CNN
- GCNet
- mạng nhân sự
- Chấm điểm mặt nạ R-CNN
- FCOS
- SSD
- R-FCN
- Đào tạo về độ chính xác hỗn hợp
- Tiêu chuẩn hóa trọng lượng
- Xếp tầng tác vụ kết hợp
- Neo có hướng dẫn
- Sự chú ý tổng quát
Xây dựng mô hình phát hiện đối tượng bằng MMDetection
Trong hướng dẫn này, chúng tôi sẽ là sổ ghi chép cộng tác của Google vì nó rất dễ cài đặt và sử dụng.
của DINTEK
Để cài đặt mọi thứ chúng ta cần, trước tiên chúng ta sẽ cài đặt các thư viện cần thiết và sao chép dự án MMdetection GitHub.
Đang nhập env
Môi trường cho dự án của chúng tôi bây giờ sẽ được nhập từ kho lưu trữ.
Nhập thư viện và MMdetection
Bây giờ chúng tôi sẽ nhập các thư viện được yêu cầu, cùng với MMdetection, tất nhiên.
Tải xuống các điểm kiểm tra được đào tạo trước
Các điểm kiểm tra mô hình được đào tạo trước từ MMdetection bây giờ sẽ được tải xuống để điều chỉnh và suy luận thêm.
Xây dựng mô hình
Bây giờ chúng ta sẽ xây dựng mô hình và áp dụng các điểm kiểm tra cho tập dữ liệu.
Suy luận máy dò
Bây giờ mô hình đã được xây dựng và tải đúng cách, hãy kiểm tra xem nó xuất sắc như thế nào. Chúng tôi sử dụng trình phát hiện suy luận API cấp cao của MMDetection. API này được thiết kế để làm cho quá trình suy luận dễ dàng hơn.
Kết quả
Chúng ta hãy nhìn vào kết quả.
Kết luận
Kết luận, hộp công cụ MMDetection hoạt động tốt hơn các cơ sở mã được phát hành gần đây như SimpleDet, Detectron và Maskrcnn-benchmark. Với một bộ sưu tập mô hình lớn,
MMDetection hiện là công nghệ tiên tiến nhất. MMDetection vượt trội hơn tất cả các cơ sở mã khác về hiệu quả và hiệu suất.
Một trong những điều tuyệt vời nhất về MMdetection là giờ đây bạn có thể chỉ đến một tệp cấu hình khác, tải xuống một điểm kiểm tra khác và chạy cùng một mã nếu bạn muốn thay đổi mô hình.
Tôi khuyên bạn nên nhìn vào họ hướng dẫn nếu bạn gặp sự cố với bất kỳ giai đoạn nào hoặc muốn thực hiện một số giai đoạn trong số đó theo cách khác.
Bình luận