YOLO Vision 2025를 놓치지 마세요!
2025년 9월 25일
10:00 — 18:00 BST
하이브리드 이벤트
Yolo Vision 2024

R-CNN이란 무엇인가? 간단한 개요

Abirami Vina

6분 소요

2024년 6월 7일

RCNN과 객체 탐지에 미치는 영향에 대해 알아보세요. 주요 구성 요소, 응용 분야, Fast RCNN 및 YOLO와 같은 기술 발전에 있어서의 역할에 대해 다룹니다.

객체 감지자율 주행, 감시의료 영상과 같은 애플리케이션을 위해 이미지 또는 비디오에서 객체를 인식하고 위치를 파악할 수 있는 컴퓨터 비전 작업입니다. Viola-Jones 감지기와 HOG(Histogram of Oriented Gradients)와 SVM(Support Vector Machines)을 사용한 이전 객체 감지 방법은 수작업으로 만든 특징과 슬라이딩 윈도우에 의존했습니다. 이러한 방법은 다양한 모양과 크기의 여러 객체가 있는 복잡한 장면에서 객체를 정확하게 감지하는 데 어려움을 겪는 경우가 많았습니다.

영역 기반 컨볼루션 신경망(R-CNN)은 객체 감지 방식을 변화시켰습니다. 이는 컴퓨터 비전 역사에서 중요한 이정표입니다. YOLOv8과 같은 모델이 등장하게 된 배경을 이해하려면 먼저 R-CNN과 같은 모델을 이해해야 합니다. 

Ross Girshick과 그의 팀이 개발한 R-CNN 모델 아키텍처는 영역 제안을 생성하고, 사전 훈련된 CNN(Convolutional Neural Network)으로 특징을 추출하고, 객체를 분류하고, 경계 상자를 개선합니다. 다소 어렵게 보일 수 있지만, 이 글을 마치면 R-CNN의 작동 방식과 그 영향력에 대해 명확하게 이해할 수 있을 것입니다. 자세히 살펴보겠습니다!

R-CNN은 어떻게 작동하나요?

R-CNN 모델의 객체 감지 프로세스에는 영역 제안 생성, 특징 추출, 객체 분류 및 바운딩 박스 개선의 세 가지 주요 단계가 포함됩니다. 각 단계를 살펴보겠습니다.

Fig 1. R-CNN 작동 방식입니다.

영역 제안: RCNN의 근간

첫 번째 단계에서 R-CNN 모델은 이미지를 스캔하여 수많은 영역 제안을 생성합니다. 영역 제안은 객체를 포함할 수 있는 잠재적 영역입니다. Selective Search와 같은 방법은 색상, 질감 및 모양과 같은 이미지의 다양한 측면을 살펴보고 다른 부분으로 나눕니다. Selective Search는 이미지를 더 작은 부분으로 나누어 시작한 다음 유사한 부분을 병합하여 더 큰 관심 영역을 형성합니다. 이 프로세스는 약 2,000개의 영역 제안이 생성될 때까지 계속됩니다.

Fig 2. Selective Search 작동 방식.

이러한 영역 제안은 객체가 존재할 가능성이 있는 모든 위치를 식별하는 데 도움이 됩니다. 다음 단계에서 모델은 전체 이미지보다는 이러한 특정 영역에 집중하여 가장 관련성이 높은 영역을 효율적으로 처리할 수 있습니다. 영역 제안을 사용하면 철저함과 계산 효율성 사이의 균형을 맞출 수 있습니다.

이미지 특징 추출: 세부 정보 캡처

R-CNN 모델의 객체 감지 프로세스의 다음 단계는 영역 제안에서 특징을 추출하는 것입니다. 각 영역 제안은 CNN이 예상하는 일관된 크기(예: 224x224 픽셀)로 크기가 조정됩니다. 크기 조정은 CNN이 각 제안을 효율적으로 처리하는 데 도움이 됩니다. 워핑하기 전에 각 영역 제안의 크기가 약간 확장되어 영역 주변에 16픽셀의 추가 컨텍스트를 포함하여 더 나은 특징 추출을 위해 더 많은 주변 정보를 제공합니다.

크기가 조정되면 이러한 영역 제안은 일반적으로 ImageNet과 같은 대규모 데이터 세트에서 사전 훈련된 AlexNet과 같은 CNN에 공급됩니다. CNN은 각 영역을 처리하여 가장자리, 텍스처 및 패턴과 같은 중요한 세부 정보를 캡처하는 고차원 특징 벡터를 추출합니다. 이러한 특징 벡터는 영역에서 필수 정보를 압축합니다. 원시 이미지 데이터를 모델이 추가 분석에 사용할 수 있는 형식으로 변환합니다. 다음 단계에서 객체를 정확하게 분류하고 배치하는 것은 시각 정보를 의미 있는 데이터로 변환하는 이 중요한 변환에 달려 있습니다.

Fig 3. AlexNet을 사용하여 영역 제안에서 특징을 추출합니다.

객체 분류: 감지된 객체 식별

세 번째 단계는 이러한 영역 내의 객체를 분류하는 것입니다. 이는 제안 내에서 발견된 각 객체의 범주 또는 클래스를 결정하는 것을 의미합니다. 추출된 특징 벡터는 머신 러닝 분류기를 통과합니다.

R-CNN의 경우 SVM(Support Vector Machine)이 일반적으로 이 목적으로 사용됩니다. 각 SVM은 특징 벡터를 분석하고 특정 영역에 해당 클래스의 인스턴스가 포함되어 있는지 여부를 결정하여 특정 객체 클래스를 인식하도록 훈련됩니다. 기본적으로 모든 객체 범주에 대해 해당 특정 객체에 대한 각 영역 제안을 확인하는 전용 분류기가 있습니다.

학습 과정에서 분류기는 긍정 및 부정 샘플로 레이블이 지정된 데이터를 받습니다.

  • Positive 샘플: 대상 객체를 포함하는 영역
  • 부정적 샘플: 객체가 없는 영역입니다.

분류기는 이러한 샘플을 구별하는 방법을 학습합니다. 경계 상자 회귀는 초기에 제안된 경계 상자를 조정하여 실제 객체 경계와 더 잘 일치시켜 감지된 객체의 위치와 크기를 더욱 세분화합니다. R-CNN 모델은 분류 및 경계 상자 회귀를 결합하여 객체를 식별하고 정확하게 찾을 수 있습니다.

Fig 4. 바운딩 박스 회귀의 예시입니다. (출처: towardsdatascience.com)

종합: NMS를 사용한 탐지 개선

분류 및 경계 상자 회귀 단계를 거친 후 모델은 종종 동일한 객체에 대해 여러 개의 겹치는 경계 상자를 생성합니다. NMS(Non-Maximum Suppression)는 이러한 감지를 개선하여 가장 정확한 상자를 유지하는 데 적용됩니다. 모델은 NMS를 적용하여 중복되고 겹치는 상자를 제거하고 가장 신뢰도가 높은 감지만 유지합니다. 

NMS는 모든 경계 상자의 신뢰도 점수(탐지된 객체가 실제로 존재할 가능성을 나타냄)를 평가하고 점수가 높은 상자와 크게 겹치는 상자를 억제하는 방식으로 작동합니다. 

그림 5. Non-Maximum Suppression의 예 (출처: towardsdatascience.com).

다음은 NMS 단계에 대한 분석입니다.

  • 정렬: 바운딩 박스는 신뢰도 점수를 기준으로 내림차순으로 정렬됩니다.
  • 선택: 점수가 가장 높은 상자가 선택되고, IoU(Intersection over Union)를 기준으로 해당 상자와 크게 겹치는 모든 상자가 제거됩니다.
  • 반복: 이 프로세스는 다음으로 가장 높은 점수를 받은 상자에 대해 반복되며 모든 상자가 처리될 때까지 계속됩니다.

종합적으로 말하면, R-CNN 모델은 영역 제안을 생성하고, CNN으로 특징을 추출하고, 객체를 분류하고, 경계 상자 회귀를 통해 위치를 개선하고, NMS(Non-Maximum Suppression)를 사용하여 가장 정확한 감지만 유지함으로써 객체를 감지합니다.

R-CNN은 객체 감지의 이정표입니다.

R-CNN은 정확도와 성능을 크게 향상시킨 새로운 접근 방식을 도입했기 때문에 객체 감지 역사에서 획기적인 모델입니다. R-CNN 이전에는 객체 감지 모델이 속도와 정밀도의 균형을 맞추는 데 어려움을 겪었습니다. R-CNN의 영역 제안 생성 방법과 특징 추출을 위한 CNN 사용은 이미지 내에서 객체의 정확한 위치 파악 및 식별을 가능하게 합니다. 

R-CNN은 효율성과 정확성을 더욱 향상시킨 Fast R-CNN, Faster R-CNN 및 Mask R-CNN과 같은 모델의 길을 열었습니다. 딥 러닝과 영역 기반 분석을 결합함으로써 R-CNN은 해당 분야에서 새로운 표준을 설정하고 다양한 실제 애플리케이션에 대한 가능성을 열었습니다.

R-CNN을 이용한 의료 영상 혁신

R-CNN의 흥미로운 활용 사례 중 하나는 의료 영상 분야입니다. R-CNN 모델은 MRI 및 CT 스캔과 같은 의료 영상에서 뇌종양과 같은 다양한 유형의 종양을 탐지하고 분류하는 데 사용되었습니다. 의료 영상에서 R-CNN 모델을 사용하면 진단 정확도가 향상되고 방사선 전문의가 악성 종양을 조기에 식별하는 데 도움이 됩니다. R-CNN은 작고 초기 단계의 종양까지 탐지할 수 있어 암과 같은 질병의 치료 및 예후에 큰 차이를 만들 수 있습니다.

Fig 6. RCNN을 사용한 뇌종양 감지.

R-CNN 모델은 종양 감지 외에도 다른 의료 영상 작업에 적용할 수 있습니다. 예를 들어 골절을 식별하고, 눈 스캔에서 망막 질환을 감지하고, 폐렴 및 COVID-19와 같은 상태에 대해 폐 이미지를 분석할 수 있습니다. 의료 문제에 관계없이 조기 발견은 더 나은 환자 결과로 이어질 수 있습니다. R-CNN의 이상 징후 식별 및 지역화 정확도를 적용함으로써 의료 제공자는 의료 진단의 신뢰성과 속도를 향상시킬 수 있습니다. 객체 감지가 진단 프로세스를 간소화함에 따라 환자는 시기적절하고 정확한 치료 계획의 혜택을 누릴 수 있습니다.

R-CNN의 한계와 후속 모델

R-CNN은 인상적이지만 높은 계산 복잡성과 느린 추론 시간과 같은 단점이 있습니다. 이러한 단점 때문에 R-CNN 모델은 실시간 애플리케이션에 적합하지 않습니다. 영역 제안과 분류를 별개의 단계로 분리하면 성능이 저하될 수 있습니다.

수년에 걸쳐 이러한 문제점을 해결하는 다양한 객체 탐지 모델이 등장했습니다. Fast R-CNN은 영역 제안과 CNN 특징 추출을 단일 단계로 결합하여 프로세스 속도를 높입니다. Faster R-CNN은 영역 제안 네트워크(RPN)를 도입하여 제안 생성을 간소화하고, Mask R-CNN은 픽셀 수준 분할을 추가하여 더욱 상세한 탐지를 제공합니다.

Fig 7. R-CNN, fast R-CNN, faster R-CNN 및 mask R-CNN 비교.

Faster R-CNN과 거의 동시에 YOLO(You Only Look Once) 시리즈는 실시간 객체 감지를 발전시키기 시작했습니다. YOLO 모델은 네트워크를 한 번 통과하여 경계 상자와 클래스 확률을 예측합니다. 예를 들어 Ultralytics YOLOv8은 많은 컴퓨터 비전 작업을 위한 고급 기능으로 향상된 정확도와 속도를 제공합니다.

주요 내용

RCNN은 딥 러닝이 객체 감지를 어떻게 변화시킬 수 있는지 보여주면서 컴퓨터 비전 분야의 판도를 바꾸었습니다. RCNN의 성공은 이 분야에서 많은 새로운 아이디어를 불러일으켰습니다. Faster R-CNN 및 YOLO와 같은 최신 모델이 RCNN의 결함을 수정하기 위해 등장했지만, RCNN의 기여는 기억해야 할 중요한 이정표입니다.

연구가 계속 진행됨에 따라 훨씬 더 훌륭하고 빠른 객체 탐지 모델을 보게 될 것입니다. 이러한 발전은 기계가 세상을 이해하는 방식을 개선할 뿐만 아니라 많은 산업 분야에서 발전을 이끌 것입니다. 객체 탐지의 미래는 매우 밝습니다!

AI에 대해 계속 탐색하고 싶으십니까? Ultralytics 커뮤니티에 참여하세요! GitHub 저장소를 탐색하여 최신 인공 지능 혁신을 확인하십시오. 농업제조와 같은 다양한 분야에 걸친 AI 솔루션을 확인하십시오. 함께 배우고 발전하세요!

함께 미래의 AI를 만들어 갑시다!

미래의 머신러닝 여정을 시작하세요

무료로 시작하기
클립보드에 링크가 복사되었습니다.