107. R-CNN, Fast R-CNN, Faster R-CNN (2-Stage 탐지기) / RPN

⚠️ 이 문서는 이미지 속에 있는 강아지와 고양이의 '위치 네모 박스'와 '이름'을 정확하게 찝어내는 객체 탐지(Object Detection) 모델의 초기 역사에서, "물체가 있을 만한 후보 구역(Region)을 먼저 왕창 뽑아내고(1단계), 그 조각들을 하나하나 검사하자(2단계)"라는 무식하지만 정확했던 2-Stage 방식이 굼벵이 같은 속도를 극복하기 위해 어떻게 컨볼루션(CNN)을 공유하고, 최종적으로 RPN(Region Proposal Network)이라는 뇌를 심어 100배 속도 향상을 이뤄낸 눈물겨운 3단 진화 과정을 다룹니다.

핵심 인사이트 (3줄 요약)

  1. 본질: 이미지를 수천 조각으로 쪼개서 하나하나 검사하는 미친 짓(R-CNN)에서 출발해, 이미지를 통째로 1번만 찌고 거기서 조각을 오려내는 방식(Fast)으로 진화하고, 마지막엔 조각을 찾는 행위조차 AI 딥러닝(RPN)에게 맡겨버려(Faster) 속도의 빅뱅을 이뤄낸 아키텍처 진화사다.
  2. 가치: 속도가 매우 빠른 대신 조그만 물체를 잘 놓치는 YOLO(1-Stage) 계열과 달리, 이 Faster R-CNN 계열(2-Stage)은 화면에 깨알같이 박힌 작은 보행자나 미세한 암세포(의료 영상)까지 돋보기로 보듯 족집게처럼 짚어내는 **압도적 탐지 정확도(Accuracy)**의 최강자로 군림하고 있다.
  3. 기술 체계: 고전적 알고리즘으로 후보군 2,000개를 찾는 멍청한 R-CNN, 원본 사진 대신 특성 맵(Feature Map) 위에서 2,000개를 오려내어 속도를 챙긴 Fast R-CNN, 그리고 후보군 2,000개를 찾는 짓마저 자체 신경망 엔진(RPN)으로 0.01초 만에 뽑아낸 완전체 Faster R-CNN으로 진화한다.

Ⅰ. R-CNN (2014)의 등장: 무식함이 만들어낸 놀라운 정확도

사진 1장을 2,000조각으로 자르고, 2,000번 CNN에 집어넣는 노가다.

  1. Selective Search (후보 구역 추출기):
    • "고양이가 어딨는지 어떻게 알지?" R-CNN은 딥러닝 뇌를 쓰지 않고 옛날 뽀샵(OpenCV) 알고리즘인 Selective Search를 썼다.
    • 픽셀의 색깔, 질감이 비슷한 애들끼리 뭉쳐서 "아마도 이게 물체 아닐까?" 싶은 네모 박스(후보 구역, Region Proposal)를 한 사진에서 무려 2,000개나 마구잡이로 찍어낸다.
  2. 2,000번의 CNN 뺑뺑이 (지옥의 병목):
    • 2,000개의 잘린 이미지 쪼가리들을 똑같은 사각형 모양으로 구겨서 억지로 찌그러뜨린다(Warping).
    • 그리고 이 2,000장을 하나하나 순서대로 CNN 모델(AlexNet 등)의 입구에 쑤셔 넣어서 통과시킨다.
    • 마지막에 SVM(분류기)이 "이 조각은 고양이다!"라고 판별하고, 바운딩 박스 회귀(BBox Regression)가 박스 크기를 예쁘게 다듬어준다.
  3. 결과와 끔찍한 한계:
    • 당시 세계 최고의 정확도를 기록하며 객체 탐지의 왕으로 등극했다.
    • 치명적 단점: 사진 1장을 2,000번 CNN에 돌리느라 컴퓨터가 뻗었다. 사진 1장 판독에 40초 이상 걸렸다. 실시간(Real-time) 판독은 꿈도 못 꾸는, 그저 연구실용 논문 깡통이었다.

📢 섹션 요약 비유: 도서관(사진)에서 월리(고양이)를 찾습니다. R-CNN은 직원이 가위로 도서관 사진을 마구 오려내어 '사람 대가리처럼 생긴 종이 조각(후보군)' 2,000장을 만듭니다. 그리고 이 종이 2,000장을 셜록 홈즈(CNN 모델)에게 던져주고 "하나씩 보면서 월리인지 확인해!"라고 시킵니다. 홈즈는 정확하게 월리를 찾아내지만, 2,000장을 일일이 현미경으로 검사하느라 하루 웬종일이 걸려 범인은 이미 국경을 넘어가 버리는 답답한 굼벵이 수사 기법입니다.


Ⅱ. Fast R-CNN (2015): 2,000번의 노동을 1번으로 압축하라

사진을 조각내서 넣지 마라. 통째로 넣고, 뇌 속에서 조각을 오려내라.

  1. 아이디어의 전환 (특성 맵의 공유):
    • 로스 기쉬크(Ross Girshick)가 빡쳐서 천재적인 생각을 해냈다. "미쳤다고 똑같은 픽셀들을 2,000번이나 CNN에 중복해서 쑤셔 넣어? 그냥 원본 사진 전체를 통째로 1번만 딱 CNN에 넣어버려!"
  2. RoI Pooling (특성 맵 위에서의 가위질):
    • 원본 사진이 CNN을 1번 통과하면 두툼하게 요약된 '특성 맵(Feature Map)'이 1장 나온다.
    • 아까 Selective Search가 찾아낸 2,000개의 위치 좌표(X, Y)를 원본 사진이 아니라 이 뽑혀 나온 '특성 맵' 지도 위에 그대로 투영시켜서 오려낸다(RoI Pooling).
    • 이렇게 하면 무거운 CNN 연산은 사진 1장당 딱 '1번'만 하면 되고, 그 뒤에 가볍게 2,000번 찢어진 엑기스 조각들만 뒷단(FC 층)에 쓱 던져주면 끝난다.
  3. 결과:
    • 기존 R-CNN보다 학습 속도가 9배 빠르고, 판독 시간(테스트)은 무려 213배 빨라져 40초짜리가 0.2초 컷으로 줄어드는 혁명을 이룩했다. 하지만 여전히 자율주행엔 모자랐다.

📢 섹션 요약 비유: 아까는 셜록 홈즈(CNN)에게 종이 2,000장을 하나하나 줬습니다(R-CNN). Fast R-CNN은 다릅니다. 원본 사진을 초정밀 스캐너(CNN 통째 1번 통과)에 한 번 싹 밀어 넣어서 완벽한 '형광펜 요약본 지도(Feature Map)' 딱 1장만 뽑아냅니다. 그리고 가위질 담당(RoI Pooling)이 그 요약본 지도 위에서 2,000개의 엑기스 조각을 오려낸 뒤 셜록 홈즈에게 딱 갖다 바칩니다. 홈즈가 돋보기(CNN)를 2,000번 드는 미친 뻘짓을 1번으로 확 압축해 버린 미친 작업 혁신입니다.


Ⅲ. Faster R-CNN (2015): 후보군 찾는 짓도 AI에게 맡겨라

아직도 후보군을 옛날 뽀샵 알고리즘으로 찾고 있어? 뇌(RPN)를 하나 더 달아버려!

  1. 마지막 남은 병목 (Selective Search):
    • Fast R-CNN이 아무리 CNN을 1번만 돌려도, 애초에 맨 처음에 물체 후보군 2,000개를 찾아내는 Selective Search라는 놈이 낡아빠진 옛날 알고리즘(CPU 연산)이라 그놈 혼자서 2초를 다 까먹고 있었다.
  2. RPN (Region Proposal Network)의 위대한 탄생 $\star$:
    • "이 후보군 2,000개 짚어내는 짓도 구식 알고리즘 쓰지 말고, 아예 딥러닝 인공지능(신경망)을 조그맣게 하나 만들어서 걔한테 시켜버리자!"
    • CNN을 통과해 나온 특성 맵(Feature Map) 위에 조그마한 돋보기 뇌세포(RPN)를 올린다.
    • 이 RPN이 특성 맵을 스윽 훑으면서 "음, 이 구역엔 99% 확률로 뭔가 물체(Object)가 있네. 여기 박스 쳐!"라고 1초에 300개의 후보 박스를 0.01초 만에 빛의 속도로 쏟아낸다 (GPU 가속 100% 활용).
    • 심지어 Anchor Box(미리 정해둔 비율의 템플릿 박스 9개)라는 개념을 도입해, 길쭉한 사람인지 뚱뚱한 자동차인지를 광속으로 찍어 맞춘다.
  3. 완전체 딥러닝의 완성:
    • 이제 후보군을 찾는 RPN(눈 1)과, 진짜 개인지 고양이인지 맞추는 Fast R-CNN(눈 2)이 하나의 CNN 뼈대(특성 맵) 위에서 완벽하게 합체(End-to-End) 되었다.
    • 모든 낡은 병목이 뚫려 초당 5~17장(FPS)의 속도가 나오면서, 드디어 실시간 판독이 가능한 2-Stage 객체 탐지기의 절대 군주 자리에 오르게 되었다.

📢 섹션 요약 비유: Fast R-CNN 시절엔 아무리 뒷단 요약이 빨라도, 범인 얼굴 후보 2,000장을 고르는 동네 순경(Selective Search)이 너무 멍청하고 느려서 전체 수사가 지연되었습니다. Faster R-CNN은 이 동네 순경을 모가지 치고, 그 자리에 초인공지능 특수요원(RPN)을 앉혀버렸습니다. RPN 요원은 현장 사진을 0.01초 만에 스캔하며 "저기, 저기, 저기 300군데에 범인이 있을 확률 99%다!"라고 광속으로 좌표를 찍어 셜록 홈즈(본체 모델)에게 넘겨버립니다. 1단계(후보 찾기)와 2단계(범인 맞추기)가 모두 100% 인공지능 뇌로 돌아가는 진정한 완전체 스나이퍼의 탄생입니다.