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

Abirami Vina

6 phút đọc

Ngày 7 tháng 6 năm 2024

Tìm hiểu về RCNN và tác động của nó đến 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 thúc đẩy các kỹ thuật như Fast RCNN và YOLO.

Phát hiện đối tượng là một tác 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à Histogram of Oriented Gradients (HOG) với Support Vector Machines (SVM), dựa vào các tính năng thủ công và cửa sổ trượt. Các 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ó nhiều hình dạng và kích thước khác nhau.

Mạng nơ-ron tích chập theo vùng (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ách các mô hình như YOLOv8 ra đời, 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 vùng, trích xuất các tính năng bằng 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õ cách R-CNN hoạt động và lý do tại sao nó lại có tác động lớn như vậy. Chúng ta hãy cùng xem nhé!

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 đề xuất vùng, trích xuất các đặc điểm và phân loại đối tượng trong khi tinh chỉnh hộp giới hạn của chúng. Hãy cùng xem qua từng bước.

__wf_reserved_thừa kế
Hình 1. R-CNN hoạt động như thế nào.

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

Ở bước đầu tiên, mô hình R-CNN quét hình ảnh để tạo ra nhiều đề xuất vùng. Đề xuất vùng 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 có 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ỏ hình ảnh thành các phần khác nhau. Tìm kiếm có 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 tạo ra khoảng 2.000 đề xuất vùng.

__wf_reserved_thừa kế
Hình 2. Tìm kiếm có chọn lọc hoạt động như thế nào.

Những đề xuất vùng này giúp xác định tất cả các điểm có thể có mà một đối tượng có thể hiện diện. Trong các bước sau, mô hình có thể xử lý hiệu quả các khu vực có liên quan 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 vùng cân bằng tính kỹ lưỡng với hiệu quả tính toán.

Trích xuất đặc điểm hình ảnh: Ghi lại các 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 đặc điểm từ các đề xuất vùng. Mỗi đề xuất vùng đượ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). Việc 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 biến dạng, kích thước của mỗi đề xuất vùng được mở rộng một chút để bao gồm 16 pixel ngữ cảnh bổ sung xung quanh vùng để cung cấp thêm thông tin xung quanh để trích xuất đặc điểm tốt hơn.

Sau khi thay đổi kích thước, các đề xuất vùng 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 vùng để trích xuất các vectơ đặc trưng có chiều cao để nắm bắt các chi tiết quan trọng như cạnh, kết cấu và hoa văn. Các vectơ đặc trưng này cô đọng thông tin cần thiết từ các vùng. Chúng 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. Việc 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 quá trình chuyển đổi quan trọng này của thông tin trực quan thành dữ liệu có ý nghĩa.

__wf_reserved_thừa kế
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 vùng 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ơ đặc điểm được trích xuất sau đó được chuyển qua bộ phân loại học máy.

Trong trường hợp của R-CNN, Support Vector Machines (SVM) thường được sử dụng cho mục đích này. Mỗi SVM được đào tạo để nhận dạng một lớp đối tượng cụ thể bằng cách phân tích các vectơ đặc trưng và quyết định xem một vùng 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 vùng 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ó nhãn với các mẫu dương và âm:

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

Các bộ 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 tinh chỉnh thêm 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.

__wf_reserved_thừa kế
Hình 4. Một ví dụ về hồi quy hộp giới hạn. (nguồn: towarddatascience.com)

Tổng hợp tất cả lại: Tinh chỉnh phát hiện bằng NMS

Sau các bước phân loại và hồi quy hộp 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. Non-Maximum Suppression (NMS) được áp dụng để tinh chỉnh các phát hiện này, giữ lại các hộp chính xác nhất. Mô hình loại bỏ các hộp trùng lặp và chồng chéo bằng cách áp dụng NMS và chỉ giữ lại các phát hiện đáng tin cậy nhất. 

NMS hoạt động bằng cách đánh giá điểm tin cậy (cho biết khả năng thực sự có một vật thể được phát hiện) của tất cả các hộp giới hạn và loại bỏ những hộp có điểm cao hơn chồng chéo đáng kể. 

__wf_reserved_thừa kế
Hình 5. Một ví dụ về sự ức chế không tối đa. (nguồn: towardsdatascience.com)

Sau đây là phân tích các bước trong NMS:

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

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

R-CNN là một cột mốc trong 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 phương pháp 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 giữa tốc độ và độ chính xác. Phương pháp tạo đề xuất vùng và sử dụng CNN để trích xuất đặc điểm của R-CNN cho phép định vị và nhận dạng 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 hiệu quả và độ chính xác hơn nữa. Bằng cách kết hợp học sâu với phân tích dựa trên vùng, R-CNN đã thiết lập một tiêu chuẩn mới trong lĩnh vực này và mở ra nhiều khả năng cho nhiều ứng dụng thực tế 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. Sử dụng mô hình R-CNN trong hình ảnh y tế giúp cải thiện độ chính xác của 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ả những 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 việc điều trị và tiên lượng các bệnh như ung thư.

__wf_reserved_thừa kế
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ụ chụp ả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 bệnh võng mạc trong quá trình 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ả điều trị tốt hơn cho bệnh nhân . Bằng cách áp dụng độ chính xác của R-CNN trong việc xác định và định vị 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 vật thể hợp lý hóa quy 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

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 khiến mô hình R-CNN không phù hợp với các ứng dụng thời gian thực. Việc tách các đề xuất và phân loại vùng 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 đã ra đời để giải quyết những mối quan tâm này. Fast R-CNN kết hợp các đề xuất vùng và trích xuất đặc điểm CNN thành một bước duy nhất, giúp tăng tốc quá trình. Faster R-CNN giới thiệu Mạng đề xuất vùng (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.

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

Cùng thời điểm với Faster R-CNN, loạt YOLO (You Only Look Once) bắt đầu phát triển phát hiện đối tượng theo thời gian thực. Các mô hình YOLO dự đoán các hộp giới hạn và xác suất lớp trong một lần chạy 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 cách học sâu có thể thay đổi phát hiện đối tượng. 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 đã xuất hiện để khắc phục các lỗi của RCNN, nhưng đóng góp của nó là một cột mốc lớn cần ghi 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 vật thể tốt hơn và nhanh hơn. Những tiến bộ này không chỉ cải thiện cách máy móc hiểu thế giới mà còn dẫn đến sự tiến bộ trong nhiều ngành công nghiệp. Tương lai của phát hiện vật thể có vẻ thú vị!

Bạn muốn tiếp tục khám phá về AI? Hãy trở thành một phần của cộng đồng Ultralytics! 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. Xem các giải pháp AI của chúng tôi trải dài trên nhiều lĩnh vực khác nhau như nông nghiệpsản xuất . Hãy tham gia cùng chúng tôi để học hỏi và tiến bộ!

Hãy cùng 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 máy học

Bắt đầu miễn phí
Liên kết đã được sao chép vào clipboard