Kiểm tra màu xanh lá cây
Liên kết được sao chép vào khay nhớ tạm

R-CNN là gì? Tổng quan nhanh

Tìm hiểu về RCNN và tác động của nó đối với việc phát hiện đối tượng. Chúng tôi sẽ đề cập đến các thành phần chính, ứng dụng và vai trò của nó trong việc nâng cao các kỹ thuật như RCNN nhanh và YOLO.

Phát hiện đối tượng là một nhiệm vụ thị giác máy tính có thể nhận dạng và định vị các đối tượng trong hình ảnh hoặc video cho các ứng dụng như lái xe tự động, giám sáthình ảnh y tế. Các phương pháp phát hiện đối tượng trước đó, chẳng hạn như máy dò Viola-Jones và Biểu đồ độ dốc định hướng (HOG) với Máy vector hỗ trợ (SVM), dựa trên các tính năng thủ công và cửa sổ trượt. Những phương pháp này thường gặp khó khăn trong việc phát hiện chính xác các đối tượng trong các cảnh phức tạp với nhiều đối tượng có hình dạng và kích thước khác nhau.

Mạng nơ-ron tích chập dựa trên khu vực (R-CNN) đã thay đổi cách chúng ta giải quyết vấn đề phát hiện đối tượng. Đây là một cột mốc quan trọng trong lịch sử thị giác máy tính. Để hiểu các mô hình như thế nào YOLOv8 Trước tiên, chúng ta cần hiểu các mô hình như R-CNN. 

Được tạo ra bởi Ross Girshick và nhóm của ông, kiến trúc mô hình R-CNN tạo ra các đề xuất khu vực, trích xuất các tính năng với Mạng nơ-ron tích chập (CNN) được đào tạo trước, phân loại các đối tượng và tinh chỉnh các hộp giới hạn. Mặc dù điều đó có vẻ khó khăn, nhưng đến cuối bài viết này, bạn sẽ hiểu rõ về cách R-CNN hoạt động và tại sao nó lại có tác động như vậy. Hãy cùng xem!

R-CNN hoạt động như thế nào?

Quy trình phát hiện đối tượng của mô hình R-CNN bao gồm ba bước chính: tạo các đề xuất khu vực, trích xuất các tính năng và phân loại các đối tượng trong khi tinh chỉnh các hộp giới hạn của chúng. Hãy đi qua từng bước.

Hình 1. Cách hoạt động của R-CNN.

Đề xuất khu vực: Xương sống của RCNN

Trong bước đầu tiên, mô hình R-CNN quét hình ảnh để tạo ra nhiều đề xuất khu vực. Đề xuất khu vực là các khu vực tiềm năng có thể chứa các đối tượng. Các phương pháp như Tìm kiếm chọn lọc được sử dụng để xem xét các khía cạnh khác nhau của hình ảnh, chẳng hạn như màu sắc, kết cấu và hình dạng, chia nhỏ nó thành các phần khác nhau. Tìm kiếm chọn lọc bắt đầu bằng cách chia hình ảnh thành các phần nhỏ hơn, sau đó hợp nhất các phần tương tự để tạo thành các khu vực quan tâm lớn hơn. Quá trình này tiếp tục cho đến khi khoảng 2.000 đề xuất khu vực được tạo ra.

Hình 2. Cách hoạt động của Tìm kiếm chọn lọc.

Các đề xuất khu vực này giúp xác định tất cả các điểm có thể có nơi một đối tượng có thể có mặt. Trong các bước sau đây, người mẫu có thể xử lý hiệu quả các khu vực phù hợp nhất bằng cách tập trung vào các khu vực cụ thể này thay vì toàn bộ hình ảnh. Sử dụng các đề xuất khu vực cân bằng sự kỹ lưỡng với hiệu quả tính toán.

Trích Xuất Tính Năng Hình Ảnh: Chụp Chi Tiết

Bước tiếp theo trong quy trình phát hiện đối tượng của mô hình R-CNN là trích xuất các tính năng từ các đề xuất khu vực. Mỗi đề xuất khu vực được thay đổi kích thước thành kích thước nhất quán mà CNN mong đợi (ví dụ: 224x224 pixel). Thay đổi kích thước giúp CNN xử lý từng đề xuất một cách hiệu quả. Trước khi cong vênh, kích thước của mỗi đề xuất khu vực được mở rộng một chút để bao gồm 16 pixel bối cảnh bổ sung xung quanh khu vực để cung cấp thêm thông tin xung quanh để trích xuất tính năng tốt hơn.

Sau khi thay đổi kích thước, các đề xuất khu vực này được đưa vào CNN như AlexNet, thường được đào tạo trước trên một tập dữ liệu lớn như ImageNet. CNN xử lý từng khu vực để trích xuất các vectơ tính năng chiều cao nắm bắt các chi tiết quan trọng như cạnh, kết cấu và mẫu. Các vectơ tính năng này cô đọng thông tin cần thiết từ các khu vực. Họ chuyển đổi dữ liệu hình ảnh thô thành định dạng mà mô hình có thể sử dụng để phân tích thêm. Phân loại và định vị chính xác các đối tượng trong các giai đoạn tiếp theo phụ thuộc vào việc chuyển đổi thông tin thị giác quan trọng này thành dữ liệu có ý nghĩa.

Hình 3. Trích xuất các tính năng từ đề xuất khu vực bằng AlexNet.

Phân loại đối tượng: Xác định các đối tượng được phát hiện

Bước thứ ba là phân loại các đối tượng trong các khu vực này. Điều này có nghĩa là xác định danh mục hoặc lớp của từng đối tượng được tìm thấy trong các đề xuất. Các vectơ tính năng được trích xuất sau đó được chuyển qua một bộ phân loại học máy.

Trong trường hợp của R-CNN, Máy vector hỗ trợ (SVM) thường được sử dụng cho mục đích này. Mỗi SVM được đào tạo để nhận ra một lớp đối tượng cụ thể bằng cách phân tích các vectơ tính năng và quyết định xem một khu vực cụ thể có chứa một thể hiện của lớp đó hay không. Về cơ bản, đối với mỗi danh mục đối tượng, có một bộ phân loại chuyên dụng kiểm tra từng đề xuất khu vực cho đối tượng cụ thể đó.

Trong quá trình đào tạo, các bộ phân loại được cung cấp dữ liệu được dán nhãn với các mẫu dương tính và âm tính:

  • Mẫu dương tính: Vùng chứa đối tượng đích.
  • Mẫu âm tính: Vùng không có đối tượng.

Các nhà phân loại học cách phân biệt giữa các mẫu này. Hồi quy hộp giới hạn tiếp tục tinh chỉnh vị trí và kích thước của các đối tượng được phát hiện bằng cách điều chỉnh các hộp giới hạn được đề xuất ban đầu để phù hợp hơn với ranh giới đối tượng thực tế. Mô hình R-CNN có thể xác định và định vị chính xác các đối tượng bằng cách kết hợp phân loại và hồi quy hộp giới hạn.

Hình 4. Một ví dụ về hồi quy hộp giới hạn.

Kết hợp tất cả lại với nhau: Tinh chỉnh phát hiện với NMS

Sau các bước hồi quy hộp phân loại và giới hạn, mô hình thường tạo ra nhiều hộp giới hạn chồng chéo cho cùng một đối tượng. Triệt tiêu không tối đa (NMS) được áp dụng để tinh chỉnh các phát hiện này, giữ các hộp chính xác nhất. Mô hình loại bỏ các hộp dư thừa và chồng chéo bằng cách áp dụng NMS và chỉ giữ lại các phát hiện tự tin nhất. 

NMS hoạt động bằng cách đánh giá điểm tin cậy (cho biết khả năng một đối tượng được phát hiện thực sự có mặt) của tất cả các hộp giới hạn và triệt tiêu những hộp trùng lặp đáng kể với các hộp có điểm cao hơn. 

Hình 5. Một ví dụ về triệt tiêu không tối đa.

Dưới đây là bảng phân tích các bước trong NMS:

  • Phân loại: Các hộp giới hạn được sắp xếp theo điểm tin cậy của chúng theo thứ tự giảm dần.
  • Lựa chọn: Hộp có điểm cao nhất được chọn và tất cả các hộp trùng lặp đáng kể (dựa trên Giao lộ qua Union, IoU) với nó sẽ bị xóa.
  • Lặp: Quá trình này lặp lại cho hộp có điểm cao nhất tiếp theo và tiếp tục cho đến khi tất cả các hộp đã được xử lý.

Để kết hợp tất cả lại với nhau, mô hình R-CNN phát hiện các đối tượng bằng cách tạo các đề xuất vùng, trích xuất các tính năng với CNN, phân loại các đối tượng và tinh chỉnh vị trí của chúng với hồi quy hộp giới hạn và sử dụng Non-Maximum Suppression (NMS) chỉ giữ các phát hiện chính xác nhất.

R-CNN là một cột mốc quan trọng trong việc phát hiện đối tượng

R-CNN là một mô hình mang tính bước ngoặt trong lịch sử phát hiện đối tượng vì nó đã giới thiệu một cách tiếp cận mới giúp cải thiện đáng kể độ chính xác và hiệu suất. Trước R-CNN, các mô hình phát hiện đối tượng phải vật lộn để cân bằng tốc độ và độ chính xác. Phương pháp của R-CNN tạo ra các đề xuất khu vực và sử dụng CNN để trích xuất tính năng cho phép định vị và xác định chính xác các đối tượng trong hình ảnh. 

R-CNN đã mở đường cho các mô hình như Fast R-CNN, Faster R-CNN và Mask R-CNN, giúp nâng cao hơn nữa hiệu quả và độ chính xác. Bằng cách kết hợp học sâu với phân tích dựa trên khu vực, R-CNN đã thiết lập một tiêu chuẩn mới trong lĩnh vực này và mở ra khả năng cho các ứng dụng trong thế giới thực khác nhau.

Chuyển đổi hình ảnh y tế với R-CNN

Một trường hợp sử dụng thú vị của R-CNN là trong hình ảnh y tế. Các mô hình R-CNN đã được sử dụng để phát hiện và phân loại các loại khối u khác nhau, chẳng hạn như khối u não, trong các lần quét y tế như MRI và CT scan. Sử dụng mô hình R-CNN trong hình ảnh y tế cải thiện độ chính xác chẩn đoán và giúp các bác sĩ X quang xác định khối u ác tính ở giai đoạn đầu. Khả năng phát hiện ngay cả các khối u nhỏ và giai đoạn đầu của R-CNN có thể tạo ra sự khác biệt đáng kể trong điều trị và tiên lượng các bệnh như ung thư.

Hình 6. Phát hiện khối u não bằng RCNN.

Mô hình R-CNN có thể được áp dụng cho các nhiệm vụ hình ảnh y tế khác ngoài việc phát hiện khối u. Ví dụ, nó có thể xác định gãy xương, phát hiện các bệnh võng mạc trong quét mắt và phân tích hình ảnh phổi để tìm các tình trạng như viêm phổi và COVID-19. Bất kể vấn đề y tế nào, phát hiện sớm có thể dẫn đến kết quả bệnh nhân tốt hơn. Bằng cách áp dụng độ chính xác của R-CNN trong việc xác định và khoanh vùng các bất thường, các nhà cung cấp dịch vụ chăm sóc sức khỏe có thể cải thiện độ tin cậy và tốc độ chẩn đoán y tế. Với việc phát hiện đối tượng hợp lý hóa quá trình chẩn đoán, bệnh nhân có thể được hưởng lợi từ các kế hoạch điều trị kịp thời và chính xác.

Những hạn chế của R-CNN và những người kế nhiệm của nó

Mặc dù ấn tượng, R-CNN có một số nhược điểm nhất định, như độ phức tạp tính toán cao và thời gian suy luận chậm. Những nhược điểm này làm cho mô hình R-CNN không phù hợp với các ứng dụng thời gian thực. Tách các đề xuất và phân loại khu vực thành các bước riêng biệt, có thể dẫn đến hiệu suất kém hiệu quả hơn.

Trong những năm qua, nhiều mô hình phát hiện đối tượng khác nhau đã xuất hiện đã giải quyết những mối quan tâm này. Fast R-CNN kết hợp các đề xuất khu vực và trích xuất tính năng CNN thành một bước duy nhất, đẩy nhanh quá trình. Faster R-CNN giới thiệu Mạng đề xuất khu vực (RPN) để hợp lý hóa việc tạo đề xuất, trong khi Mask R-CNN bổ sung phân đoạn cấp pixel để phát hiện chi tiết hơn.

Hình 7. So sánh R-CNN, R-CNN nhanh, R-CNN nhanh hơn và mặt nạ R-CNN.

Cùng khoảng thời gian với Faster R-CNN, các YOLO Sê-ri (You Only Look Once) bắt đầu nâng cao khả năng phát hiện đối tượng theo thời gian thực. YOLO Các mô hình dự đoán các hộp giới hạn và xác suất lớp trong một lần đi qua mạng. Ví dụ: Ultralytics YOLOv8 Cung cấp độ chính xác và tốc độ được cải thiện với các tính năng nâng cao cho nhiều tác vụ thị giác máy tính.

Những điểm chính

RCNN đã thay đổi trò chơi trong thị giác máy tính, cho thấy học sâu có thể thay đổi việc phát hiện đối tượng như thế nào. Thành công của nó đã truyền cảm hứng cho nhiều ý tưởng mới trong lĩnh vực này. Mặc dù các mô hình mới hơn như Faster R-CNN và YOLO đã đưa ra để sửa chữa những sai sót của RCNN, đóng góp của nó là một cột mốc quan trọng cần nhớ.

Khi nghiên cứu tiếp tục, chúng ta sẽ thấy các mô hình phát hiện đối tượng tốt hơn và nhanh hơn. Những tiến bộ này sẽ không chỉ cải thiện cách máy móc hiểu thế giới mà còn dẫn đến tiến bộ trong nhiều ngành công nghiệp. Tương lai của phát hiện đối tượng có vẻ thú vị!

Bạn muốn tiếp tục khám phá về AI? Trở thành một phần của Ultralytics cộng đồng! Khám phá kho lưu trữ GitHub của chúng tôi để xem những cải tiến trí tuệ nhân tạo mới nhất của chúng tôi. Kiểm tra các giải pháp AI của chúng tôi trải rộng trên nhiều lĩnh vực khác nhau như nông nghiệpsản xuất. Hãy cùng chúng tôi học hỏi và thăng tiến!

Logo FacebookBiểu trưng TwitterBiểu trưng LinkedInBiểu tượng sao chép liên kết

Đọc thêm trong danh mục này

Hãy xây dựng tương lai
của AI cùng nhau!

Bắt đầu hành trình của bạn với tương lai của machine learning