Fast R-CNN은 이전 모델인 R-CNN(Region-based Convolutional Neural Network)의 속도와 정확성을 크게 개선한 객체 탐지 모델이다. 마이크로소프트 리서치의 로스 기르시크가 개발했으며, 2015년에 소개되었고, 딥 컨볼루션 신경망을 사용하여 이미지 내의 객체를 식별하는 개념을 기반으로 한다. Fast R-CNN의 주요 혁신은 전체 이미지를 단일 컨볼루션 네트워크로 처리한 다음 각 제안된 영역에 대한 특징을 추출하여, 이전 방법을 괴롭혔던 중복 계산을 피하는 것이다.
수천 개의 영역 제안 각각에 대해 별도의 컨볼루션 네트워크 패스를 실행한 R-CNN과 달리, Fast R-CNN은 이미지의 모든 영역에 걸쳐 컨볼루션 계산을 공유한다. 이는 먼저 전체 이미지를 컨볼루션 네트워크에 통과시켜 특징 맵을 생성함으로써 달성된다. 그런 다음 각 영역 제안에 대해 관심 영역(RoI) 풀링 레이어가 특징 맵에서 고정 크기의 특징 벡터를 추출한다. 이 설계는 훈련 및 추론 시간을 극적으로 줄여 실용적인 응용 프로그램에 적합하게 만든다.
아키텍처 및 RoI 풀링
Fast R-CNN의 핵심 아키텍처 구성 요소는 RoI 풀링 레이어이다. 이 레이어는 컨볼루션 네트워크에서 생성된 특징 맵과 영역 제안 집합(일반적으로 선택적 검색과 같은 외부 알고리즘에 의해 생성됨)을 입력으로 받는다. 각 제안에 대해 특징 맵의 해당 영역을 고정 그리드(예: 7x7)로 나누고 각 그리드 셀 내에서 최대 풀링을 적용한다. 이는 원래 영역의 크기나 종횡비와 관계없이 고정 크기의 출력을 생성하여, 후속 완전 연결 레이어가 일정한 입력 차원을 갖도록 한다.
네트워크는 특징 추출기 역할을 하는 컨볼루션 레이어(종종 VGG-16과 같은 사전 훈련된 모델 기반)로 구성되며, 그 다음 RoI 풀링 레이어, 그리고 일련의 완전 연결 레이어가 이어진다. 최종 레이어는 두 개의 출력으로 분기된다. 하나는 영역 내 객체를 분류하는 출력(객체 클래스와 배경 클래스에 대한 소프트맥스 분류기 사용)이고, 다른 하나는 경계 상자 좌표를 정제하는 출력(회귀 헤드 사용)이다.
훈련 및 다중 작업 손실
Fast R-CNN은 분류 및 경계 상자 회귀 손실을 결합한 다중 작업 손실 함수를 사용하여 종단 간 훈련된다. 분류 손실은 일반적으로 객체 클래스에 대한 로그 손실이며, 회귀 손실은 예측된 경계 상자와 실제 값 간의 차이를 측정하는 평활 L1 손실이다. 이 공동 훈련을 통해 네트워크는 객체를 인식하고 정확하게 위치를 파악하는 능력을 동시에 향상시킬 수 있다.
훈련은 신중하게 설계된 샘플링 전략과 함께 확률적 경사 하강법을 사용하여 수행된다. 각 미니 배치 동안 소수의 이미지가 선택되고, 각 이미지에서 고정된 수의 영역 제안이 샘플링되어 양성(객체 포함) 및 음성(배경) 예제 간의 균형을 보장한다. 이 접근 방식은 공유 계산과 결합되어, 분류기와 회귀기에 대한 별도의 훈련을 요구하는 다단계 파이프라인이 필요했던 R-CNN보다 훈련을 훨씬 빠르게 만든다.
성능 및 영향
PASCAL VOC 2012 데이터 세트에서 Fast R-CNN은 평균 정밀도(mAP) 66%를 달성했으며, 이는 R-CNN의 62% 및 SPPnet의 59%보다 상당한 개선이었다. 더 중요한 것은 훈련 중 R-CNN보다 약 9배 빠르고 테스트 시 213배 빨라, 영역 제안 생성(제외) 시 약 0.3초 만에 이미지를 처리했다는 점이다. 이 속도 향상으로 객체 탐지 모델을 대화형 시스템 및 대규모 응용 프로그램에 배포하는 것이 실현 가능해졌다.
이 모델의 성공은 객체 탐지에서 계산 공유와 종단 간 훈련의 중요성을 강조했다. 또한 이후 개발, 특히 영역 제안 네트워크를 도입하여 외부 제안 알고리즘을 제거하고 속도와 정확성을 더욱 향상시킨 Faster R-CNN의 토대를 마련했다. Fast R-CNN은 Deep learning 기반 객체 탐지 분야에서 여전히 기본적인 참조 자료로 남아 있다.
다른 모델과의 관계
Fast R-CNN은 원래 R-CNN에서 진화한 객체 탐지 모델 계열의 일부이다. R-CNN과의 주요 차이점은 공유 특징 계산과 RoI 풀링 사용이다. 계산을 공유했지만 공간 피라미드 풀링 접근 방식을 사용한 SPPnet과 비교하여, Fast R-CNN은 RoI 풀링 레이어를 통해 기울기가 흐르도록 허용하여 모든 레이어의 종단 간 미세 조정을 가능하게 함으로써 훈련 프로세스를 단순화했다. 이는 피라미드 풀링 이전의 컨볼루션 레이어를 미세 조정할 수 없었던 SPPnet에 비해 중요한 이점이었다.
Fast R-CNN의 아이디어는 Residual Network (ResNet) 기반 탐지기 및 U-Net에서 영감을 받은 분할 모델을 포함한 많은 후속 아키텍처에 영향을 미쳤지만, 직접적인 후속 모델은 R-CNN 계열에 있다. 또한 현재 Artificial intelligence 시스템에서 널리 사용되는 개념인 다중 작업 학습의 효과를 입증했다. 외부 영역 제안에 대한 의존성은 나중에 Faster R-CNN에 의해 해결되었으며, 제안 생성을 네트워크에 통합하여 전체 파이프라인을 완전히 훈련 가능하게 만들었다.
한계 및 유산
개선에도 불구하고 Fast R-CNN에는 여전히 한계가 있었다. 영역 제안 단계(예: 선택적 검색)는 계산 비용이 많이 들고 훈련할 수 없어 병목 현상을 만들었다. 또한 제안 생성이 분리되어 있어 모델이 완전히 종단 간이 아니었다. 이러한 문제는 Faster R-CNN에서 해결되었지만, 특징 공유 및 다중 작업 손실에 대한 Fast R-CNN의 기여는 현대 탐지기에 여전히 필수적이다.
Fast R-CNN은 학술 문헌에서 널리 인용되며 새로운 탐지 방법을 비교하기 위한 벤치마크 역할을 한다. 공유 컨볼루션 특징, RoI 풀링 및 공동 최적화라는 설계 원칙은 이제 많은 객체 탐지 프레임워크에서 표준이다. 이 모델은 또한 Machine learning 및 컴퓨터 비전 과정에서 아키텍처 선택이 계산 효율성과 정확성에 어떻게 극적으로 영향을 미칠 수 있는지 보여주는 일반적인 교육 예제이다.