일러두기 (Disclaimer)
본 글은 AI의 도움을 받아 작성되었습니다. 최대한 정확한 정보를 전달하기 위해 검수를 거쳤으나, AI 모델의 특성상 내용에 일부 오류나 부정확한 정보가 포함될 수 있습니다. 따라서 실제 논문의 상세한 수식이나 실험 세부 조건 등은 반드시 원문을 직접 확인하시기 바랍니다.
논문 링크 : https://arxiv.org/abs/1904.08189
CenterNet: Keypoint Triplets for Object Detection
In object detection, keypoint-based approaches often suffer a large number of incorrect object bounding boxes, arguably due to the lack of an additional look into the cropped regions. This paper presents an efficient solution which explores the visual patt
arxiv.org
초록 (Abstract)
객체 탐지(Object detection) 분야에서 키포인트(Keypoint) 기반의 접근법들은 크롭된(cropped) 영역 내부에 대한 추가적인 확인 과정이 부족하여 대량의 잘못된 바운딩 박스(Bounding box)를 생성하는 문제를 자주 겪습니다. 본 논문은 최소한의 비용으로 각 크롭된 영역 내의 시각적 패턴을 탐색하는 효율적인 해결책을 제시합니다. 연구진은 코너넷(CornerNet)이라는 대표적인 1단계(One-stage) 키포인트 기반 탐지기를 기반으로 프레임워크를 구축했습니다. 센터넷(CenterNet)이라 명명된 이 접근법은 각 객체를 키포인트의 쌍(pair)이 아닌 세 개의 점(triplet)으로 탐지하여 정밀도(precision)와 재현율(recall)을 모두 향상시킵니다. 이에 맞추어 좌상단과 우하단 모서리에서 수집된 정보를 풍부하게 하고 중심 영역에서 더 잘 인식할 수 있는 정보를 제공하는 역할을 하는 캐스케이드 코너 풀링(cascade corner pooling)과 센터 풀링(center pooling)이라는 두 가지 맞춤형 모듈을 설계했습니다. MS-COCO 데이터셋에서 CenterNet은 47.0%의 AP(평균 정밀도)를 달성하여 기존의 모든 1단계 탐지기를 최소 4.9% 이상 뛰어넘었습니다. 동시에 더 빠른 추론 속도로 최상위권의 2단계(Two-stage) 탐지기들과 상당히 비견될 만한 성능을 보여줍니다.
1. 한줄 요약 & 3줄 핵심 (Executive Summary)
이 논문은 객체를 감싸는 두 개의 모서리 점에 '중심점'을 추가하여 세 개의 점(Triplet)으로 객체를 규정함으로써 가짜 객체를 걸러내고 탐지 성능을 극대화한 1단계 객체 탐지 모델입니다.
- 기존의 문제점 (Pain point): 기존의 키포인트 기반 모델은 객체의 외곽 모서리만 확인하고 내부를 보지 않아, 속이 빈 배경이나 엉뚱한 영역을 객체로 인식하는 오탐지(False Discovery) 비율이 높았습니다.
- 이 논문의 해결책 (Solution): 바운딩 박스 중앙에 동일한 클래스의 '중심점(Center Keypoint)'이 존재하는지 검증하는 과정을 추가하고, 모서리와 중심의 시각적 특징을 효과적으로 추출하는 새로운 풀링(Pooling) 기법들을 제안했습니다.
- 달성한 성과 (Key Result): MS-COCO 데이터셋에서 47.0%의 평균 정밀도(AP)를 기록하여 기존 1단계 모델들을 큰 격차로 제치고 최고 성능을 달성했으며, 특히 작은 객체 탐지 성능을 획기적으로 향상시켰습니다.
2. 들어가며: 왜 이 연구가 필요했나? (The "Why")
객체 탐지(Object Detection) 기술은 입력된 이미지 안에서 특정한 사물이 어디에 위치해 있는지(Localization), 그리고 그 사물이 무엇인지(Classification)를 동시에 찾아내는 컴퓨터 비전의 핵심 분야입니다. 이 분야의 발전사를 이해하는 것은 CenterNet 연구진이 어떤 고민을 거쳐 이 모델을 고안하게 되었는지 공감하는 데 필수적입니다.
딥러닝이 도입된 이후 객체 탐지 기술은 주로 '앵커 박스(Anchor Box)'를 기반으로 발전해 왔습니다. 앵커 박스란, 이미지 전체에 미리 깔아두는 다양한 크기와 비율의 가상 네모 상자들을 의미합니다. Faster R-CNN, YOLO, SSD와 같은 유명한 탐지 모델들은 이 앵커 박스들을 기본 틀로 삼아, 정답 객체의 위치에 맞게 상자의 크기와 위치를 미세하게 조정(Regression)하는 방식을 사용했습니다.
하지만 앵커 박스 방식에는 구조적인 단점들이 존재했습니다. 높은 정확도를 달성하기 위해서는 이미지 한 장당 수만 개에서 수십만 개의 앵커 박스를 촘촘하게 배치해야 했으며, 이로 인해 연산량이 기하급수적으로 증가했습니다. 또한, 사용자가 직접 탐지하고자 하는 데이터셋의 특성에 맞추어 앵커 박스의 크기와 가로세로 비율(Aspect Ratio)을 수동으로 설계하고 조정해야 하는 번거로움이 있었습니다. 무엇보다도, 생성된 수많은 앵커 박스 중 실제 객체를 포함하는 것은 극소수이고 나머지는 모두 의미 없는 배경을 가리키게 되므로, 객체와 배경 간의 극심한 데이터 불균형(Class Imbalance) 문제를 야기했습니다.
이러한 앵커 박스의 굴레에서 벗어나고자 연구자들은 '앵커 프리(Anchor-free)' 방식, 그중에서도 키포인트(Keypoint) 기반의 객체 탐지 방식으로 눈을 돌렸습니다. 그 대표적인 혁신이 바로 코너넷(CornerNet)입니다. 코너넷은 객체를 감싸는 바운딩 박스를 수많은 앵커 박스 중에서 고르는 대신, 객체의 '좌상단 모서리(Top-left corner)'와 '우하단 모서리(Bottom-right corner)'라는 단 두 개의 특징점만 찾아서 연결하는 직관적인 발상을 제시했습니다. 이 방식은 앵커 박스를 완전히 제거하여 모델을 단순화시켰고, 1단계(One-stage) 탐지기로서 당시 최고 수준의 성능을 달성했습니다.
그러나 코너넷 역시 치명적인 약점을 가지고 있었습니다. 객체를 단 두 개의 모서리 점으로만 정의하다 보니, 모델이 객체의 경계선(Boundary)을 찾는 데는 민감해졌지만, 정작 그 두 점을 연결한 네모 박스 '내부'에 실제 객체가 존재하는지 확인하는 능력이 부족했습니다. 이로 인해, 테두리 특징만 우연히 맞아떨어지면 그 내부가 텅 빈 배경이거나 전혀 상관없는 객체의 일부분임에도 불구하고 이를 하나의 온전한 객체로 잘못 인식하는 문제, 즉 오탐지(False Discovery)가 빈번하게 발생했습니다. 특히 이 문제는 객체의 크기가 작을수록 더욱 심각하게 나타났습니다.
2단계(Two-stage) 모델들인 Faster R-CNN이나 Mask R-CNN의 경우, 후보 영역을 제안한 뒤 그 영역을 잘라내어 내부의 특징을 다시 한번 정밀하게 분석하는 RoI Pooling 기법을 사용하므로 이러한 오탐지 문제가 적습니다. 하지만 이 방식은 연산 과정이 무거워 속도가 느려진다는 명백한 단점이 있었습니다. 따라서 연구자들은 "어떻게 하면 2단계 모델처럼 객체 내부의 시각적 패턴을 확인하면서도, 1단계 모델의 빠르고 효율적인 연산 구조를 유지할 수 있을까?"라는 근본적인 고민에 도달하게 되었습니다. CenterNet은 바로 이러한 배경에서, 최소한의 연산 비용으로 크롭된 영역 내부를 들여다보기 위한 해결책으로 탄생했습니다.
3. 이 논문의 뿌리 (Key Reference)
CenterNet(키포인트 트리플릿)이 세상에 나오기까지 가장 큰 영감을 주었거나 비판적으로 계승한 핵심 논문들과의 관계를 정리합니다. 이 논문이 어느 기술적 계보에 위치하는지 파악하는 것은 모델의 동작 원리를 이해하는 데 큰 도움이 됩니다.
1. CornerNet: Detecting Objects as Paired Keypoints (2018) CenterNet의 가장 직접적인 뿌리이자 뼈대(Baseline)가 되는 논문입니다. 코너넷은 앵커 박스를 사용하지 않고, 좌상단과 우하단 두 개의 키포인트를 히트맵(Heatmap)으로 예측하여 객체를 탐지하는 방식을 최초로 정립했습니다. CenterNet은 코너넷의 네트워크 구조, 모서리 풀링(Corner Pooling)의 기본 개념, 그리고 손실 함수(Loss function)의 상당 부분을 그대로 차용했습니다. 하지만 코너넷이 객체의 내부를 보지 못해 오탐지가 많다는 치명적인 단점을 비판적으로 분석하고, 이를 보완하기 위해 '중심점'을 추가하는 방향으로 코너넷을 진화시켰습니다.
2. Fast R-CNN 및 Faster R-CNN (2015) 객체 탐지 분야의 패러다임을 바꾼 2단계(Two-stage) 모델의 표준입니다. 이 모델들은 제안된 후보 영역(Region Proposal)에서 객체 내부의 특징을 추출하기 위해 RoI Pooling이라는 기법을 사용했습니다. CenterNet의 연구진은 이 RoI Pooling이 객체 내부를 확인하여 오탐지를 줄이는 훌륭한 기능임을 인정했습니다. 다만 그 연산 비용이 높다는 점을 지적하며, RoI Pooling의 무거운 역할을 '중심점 하나를 확인하는 작업'으로 가볍게 대체하는 영감을 얻었습니다. 즉, 1단계 탐지기에 2단계 탐지기의 철학을 효율적으로 이식한 것입니다.
3. Objects as Points (Xingyi Zhou 등, 2019) - 동명이인 모델의 등장 이 논문을 공부할 때 학부생들이 가장 많이 겪는 혼란 중 하나는 비슷한 시기에 발표된 또 다른 "CenterNet" 논문의 존재입니다. Xingyi Zhou 등이 발표한 이 논문은 객체의 바운딩 박스를 모서리가 아닌 객체의 정중앙 '점 하나'로 정의하고, 그 점으로부터 바운딩 박스의 가로세로 크기를 예측(Regression)하는 방식을 취합니다. 반면 본 리뷰에서 다루는 Kaiwen Duan 등의 CenterNet은 '세 개의 점(두 모서리와 하나의 중심점)'을 조합하는 방식입니다. 두 모델 모두 앵커 프리(Anchor-free) 방식의 한계를 극복하려 했고 이름이 같지만, 내부적인 접근 철학과 작동 방식은 확연히 다릅니다. 학계에서는 두 논문을 구별하기 위해 본 리뷰의 논문을 'CenterNet (Keypoint Triplets)', 다른 논문을 'CenterNet (Objects as Points)'로 구분하여 부릅니다.
4. 핵심 아이디어: 무엇이 다른가? (The "Aha!" Moment)
가장 중요하고 직관적인 변화는 객체를 인식하는 점의 개수가 두 개(Pair)에서 세 개(Triplet)로 늘어났다는 것입니다.
기존 코너넷의 방식은 과수원에서 과일을 고를 때, 과일의 양 끝 테두리 위치만 보고 "크기를 보아하니 이 안에 수박이 있겠구나"라고 추측하는 것과 같습니다. 하지만 만약 호박 두 개가 나란히 놓여 있을 때, 모델이 실수로 왼쪽 호박의 왼쪽 끝과 오른쪽 호박의 오른쪽 끝을 연결해버린다면 어떻게 될까요? 모델은 그 안에 거대한 수박이 있다고 착각하게 됩니다. 경계선만 보고 내부를 보지 못했기 때문입니다.
CenterNet 연구진은 여기서 발상의 전환을 이루어냅니다. "양 끝을 잡아 박스를 만든 후, 그 박스의 정중앙을 한 번 찔러보자"는 것입니다. 박스를 만들고 나서 그 중앙을 확인했을 때, 수박의 고유한 무늬(중심점)가 존재한다면 그것은 진짜 수박으로 인정합니다. 하지만 중앙을 확인했는데 빈 공간이거나 호박의 무늬가 있다면, 그 박스는 모서리가 잘못 연결된 가짜로 판명하여 과감하게 버립니다.
모델이 좌상단 모서리와 우하단 모서리를 예측해 후보 바운딩 박스를 먼저 생성합니다. 만약 이 예측된 박스가 실제 정답 객체(Ground-truth)의 위치와 정확히 일치한다면, 생성된 박스의 중심 영역에는 해당 객체와 동일한 클래스(Class)를 가진 '중심점(Center Keypoint)'이 높은 확률로 예측되어 있을 것입니다. 반대로 모서리들을 잘못 연결하여 엉뚱한 배경을 감싸고 있다면 중심 영역에는 아무것도 없거나 다른 클래스의 점이 존재할 것입니다. CenterNet은 이전에는 모서리 두 개만 맹신했던 구조에서, 중심점이라는 검증관을 하나 더 배치하는 구조로의 발상의 전환을 이뤄냈습니다. 이 단순하면서도 비용이 적게 드는 검증 단계를 도입함으로써, 무수히 많은 가짜 바운딩 박스(오탐지)를 효과적으로 걸러낼 수 있었습니다.
5. 작동 원리: 어떻게 돌아가는가? (The "How")
이제 CenterNet에 이미지가 입력되어 최종 바운딩 박스가 출력되기까지의 데이터 흐름(Flow)을 단계별로 자세히 살펴보겠습니다. 전체 아키텍처는 특징 추출, 히트맵 예측, 모서리 매칭, 그리고 중앙 검증의 순서로 진행됩니다.
1단계: 특징 추출 (Feature Extraction)
입력된 이미지는 가장 먼저 콘볼루션 신경망(CNN)인 백본(Backbone) 네트워크를 통과합니다. 본 논문에서는 사람의 뼈대 추정 등에서 뛰어난 성능을 보인 모래시계 형태의 'Stacked Hourglass Network'를 사용합니다. 이 네트워크는 이미지의 해상도를 점진적으로 줄였다가 다시 키우는 과정을 반복하며, 이미지의 전반적인 문맥(Global context)과 세밀한 특징(Local detail)을 모두 담은 깊이 있는 '특징 맵(Feature Map)'을 추출해냅니다.
2단계: 세 가지 히트맵 생성 (Heatmap Generation)
백본 네트워크를 통과해 생성된 특징 맵은 세 개의 각기 다른 예측 분기(Branch)로 나뉩니다. 신경망은 이 특징 맵을 바탕으로 다음과 같은 세 장의 히트맵(Heatmap)을 그립니다. 히트맵이란 이미지의 어느 위치에 우리가 찾는 특정 점이 있을 확률이 높은지를 온도차처럼 픽셀별로 나타낸 확률 지도입니다.
- 좌상단 모서리가 있을 확률을 나타내는 히트맵
- 우하단 모서리가 있을 확률을 나타내는 히트맵
- 중심점이 있을 확률을 나타내는 히트맵 (CenterNet의 핵심 추가 요소)
3단계: 후보 박스 생성 및 임베딩 매칭 (Bounding Box Proposal)
코너넷의 원리와 동일하게, 모델은 좌상단 히트맵과 우하단 히트맵에서 확률 점수가 높은 상위 k개의 모서리들을 각각 뽑아냅니다. 이때 이미지 안에 여러 마리의 강아지가 있다면, 어떤 좌상단 점과 어떤 우하단 점이 같은 강아지의 것인지 짝을 지어주어야 합니다. 이를 위해 모델은 각 모서리 점마다 '임베딩(Embedding)'이라는 고유한 신분증 번호(벡터 값)를 부여합니다. 이 신분증 번호 간의 거리가 가까운, 즉 비슷한 값을 가진 좌상단 점과 우하단 점을 하나의 세트로 묶어 수많은 후보 바운딩 박스를 만듭니다.
4단계: 중앙 영역 검증 (Central Region Exploration)
이 단계가 CenterNet이 가짜 박스를 걸러내는 핵심 과정입니다. 생성된 각각의 후보 박스에 대해, 박스의 정중앙을 기준으로 일정한 비율의 '중앙 영역(Central Region)'을 설정합니다. 그리고 2단계에서 만들어둔 중심점 히트맵을 확인하여, 이 중앙 영역 안에 박스와 동일한 클래스의 중심점이 들어있는지 검사합니다.
- 중앙 영역 내에 클래스가 일치하는 중심점이 발견되면: 모델은 이를 진짜 객체로 인정하여 박스를 보존합니다. 이때 박스의 최종 신뢰도 점수는 좌상단 점, 우하단 점, 중심점의 세 점수를 평균 내어 결정합니다.
- 중앙 영역 내에 중심점이 발견되지 않으면: 모서리가 잘못 연결된 가짜 박스로 판단하여 즉시 삭제합니다.
5단계: 크기에 맞춘 중앙 영역 조절 (Scale-aware Central Region)
여기서 중요한 디테일이 하나 더 있습니다. 작은 객체와 큰 객체는 중앙 영역을 판별하는 기준이 달라야 합니다. 예를 들어, 멀리 있는 작은 자동차 박스의 중앙 영역을 너무 좁게 설정하면 중심점 예측이 1픽셀만 빗나가도 진짜 자동차를 통째로 놓칠 수 있습니다. 반면, 화면을 꽉 채우는 큰 자동차의 중앙 영역을 너무 넓게 설정하면 다른 객체의 중심점을 자동차의 중심점으로 오해할 수 있습니다. 이를 해결하기 위해 CenterNet은 '크기 인식 중앙 영역(Scale-aware Central Region)' 방식을 제안합니다. 박스의 크기가 작을 때(크기가 150 미만)는 상대적으로 넓은 비율의 중앙 영역을 할당하고, 박스의 크기가 클 때(크기가 150 이상)는 상대적으로 좁은 비율의 중앙 영역을 할당하여 크기 변화에 유연하게 대처합니다.
한 걸음 더: 특징을 모으는 기술, Center Pooling & Cascade Corner Pooling
세 개의 점 위치를 히트맵 상에서 더욱 정확하고 선명하게 찾기 위해, CenterNet은 단순한 콘볼루션 연산을 넘어 두 가지 독특한 풀링(Pooling) 모듈을 고안했습니다. 풀링이란 특정 영역 내에서 가장 강력하고 두드러진 특징 값을 뽑아내는 압축 과정입니다.
- 센터 풀링 (Center Pooling): 객체의 시각적 중심이 항상 기하학적인 정중앙에 있지는 않습니다. 예를 들어 사람의 전신 이미지가 있을 때, 바운딩 박스의 기하학적 중앙은 배꼽이나 허리 부근이지만, 시각적으로 '사람'임을 가장 구별하기 쉬운 패턴은 머리나 얼굴 쪽에 있을 수 있습니다. 센터 풀링은 이러한 문제를 해결합니다. 중심점을 예측할 때, 현재 픽셀 위치를 기준으로 가로축 전체와 세로축 전체에서 가장 강력한 특징값(최댓값)을 찾아 더합니다. 이를 통해 정중앙에 뚜렷한 특징이 없더라도 십자가 형태로 넓게 정보를 수집하여 객체의 중심을 의미하는 점을 효과적으로 찾아냅니다.
- 캐스케이드 코너 풀링 (Cascade Corner Pooling): 바운딩 박스의 모서리 점들은 주로 객체의 바깥쪽 빈 공간(배경)에 위치하는 경우가 많습니다. 빈 공간에는 시각적인 특징이 없으므로 모델이 모서리의 정확한 위치를 파악하기 어렵습니다. 기존 코너넷은 모서리를 찾기 위해 외곽 경계선을 따라 시선을 이동하며 가장 큰 특징을 찾았습니다. 하지만 이 방식은 객체의 외곽 경계에만 지나치게 민감해져 노이즈에 취약했습니다. CenterNet의 캐스케이드 코너 풀링은 한 단계 더 나아갑니다. 먼저 경계선을 따라 가장 큰 특징값을 찾은 뒤, 그 위치에서 객체 내부 방향으로 시선을 한 번 더 꺾어 안쪽의 강력한 특징값까지 찾아내어 두 값을 더합니다. 즉, 테두리 정보뿐만 아니라 객체 내부의 시각적 패턴까지 모서리 예측에 반영하여 노이즈에 강하고 안정적인 모서리 검출을 가능하게 하는 섬세한 구조입니다.
6. 작동 원리: 어떻게 학습하는가? (The "How")
딥러닝 모델이 세 개의 점을 정확히 찾아내어 객체를 탐지하도록 학습시키기 위해서는 방대한 양의 정답 데이터와 모델의 오차를 알려주는 정교한 지표가 필요합니다. 학습 과정에서 입력되는 데이터와 모델이 도출해야 하는 출력 데이터, 그리고 학습의 기준이 되는 오차 함수에 대해 구체적으로 설명합니다.
1. 입력 데이터 (Input Data)
학습에는 150만 개 이상의 객체 인스턴스가 포함된 대규모 표준 데이터셋인 MS-COCO 데이터셋이 사용됩니다.
- 포맷 및 수량: 학습을 위해 511x511 해상도로 조정된 2D RGB 이미지가 입력됩니다. 데이터 증강(Data Augmentation) 기법을 통해 이미지를 뒤집거나 크기를 변경하여 모델이 다양한 상황에 적응하도록 합니다.
- 정답 라벨 (Ground-truth): 각 이미지에는 정답 객체의 바운딩 박스 위치를 나타내는 좌표(예: $x_{min}, y_{min}, x_{max}, y_{max}$)와 해당 객체가 80개의 카테고리 중 무엇인지 나타내는 텍스트 라벨(예: 사람, 강아지, 자동차 등)이 매칭되어 제공됩니다.
2. 출력 데이터 (Output Data) 신경망을 통과하여 최종적으로 도출되는 출력 데이터는 입력 크기보다 축소된 128x128 해상도의 여러 히트맵과 보조 데이터들로 구성됩니다.
- 히트맵 (Heatmaps): 좌상단, 우하단, 중심점 각각에 대한 히트맵이 출력됩니다. COCO 데이터셋의 클래스가 80개이므로, 각 히트맵은 80개의 채널을 가집니다. 픽셀 값은 0에서 1 사이의 확률로 표현됩니다.
- 오프셋 (Offsets): 입력 이미지(511x511)가 네트워크를 거치며 히트맵(128x128)으로 크기가 줄어들면, 필연적으로 소수점 단위의 픽셀 위치 오차가 발생합니다. 오프셋은 이 미세한 픽셀 위치의 어긋남을 보정해 주는 $x, y$ 이동 값입니다.
- 임베딩 (Embeddings): 앞서 설명한 모서리 점들의 신분증 번호입니다. 좌상단과 우하단 모서리가 출력될 때 각각의 고유한 벡터 값을 가집니다.
3. 학습의 이정표: 손실 함수 (Loss Functions의 언어적 번역) 네트워크는 자신이 예측한 출력값과 실제 정답 간의 차이, 즉 오차(Loss)를 줄이는 방향으로 내부의 가중치를 업데이트하며 학습합니다. CenterNet은 여러 가지 오차를 복합적으로 계산합니다.
- 초점 오차 (Focal Loss): 히트맵에서 세 개의 점 위치를 정확히 예측하도록 돕습니다. 이미지의 대부분을 차지하는 식별하기 쉬운 배경 영역에 대한 학습 오차는 작게 무시하고, 점이 존재할지도 모르는 헷갈리고 어려운 영역에 가중치를 두어 모델이 집중적으로 학습하도록 유도합니다. 정답 위치 주변에 가우시안 범프(Gaussian Bumps)라는 부드러운 언덕 모양의 관용 구간을 주어, 정답에서 살짝 벗어나더라도 패널티를 덜 받도록 설계되었습니다.
- 끌어당김과 밀어냄 오차 (Pull & Push Loss): 임베딩 값에 적용되는 오차입니다. 같은 객체에 속한 정답 좌상단 모서리와 우하단 모서리의 신분증 번호는 서로 비슷해지도록 당기고(Pull), 서로 다른 객체의 모서리들은 신분증 번호가 크게 달라지도록 밀어내어(Push) 올바른 짝을 찾도록 강제합니다.
- 위치 보정 오차 (L1 Loss): 줄어든 해상도로 인해 발생한 위치 오프셋 값을 실제 정답의 오차 수치와 최대한 가깝게 맞추도록 직관적인 거리 차이를 계산하여 학습합니다.
이러한 오차들을 모두 합산하여 역전파(Backpropagation) 과정을 거치며, 모델은 점차 정확한 세 개의 점을 찍는 전문가로 거듭납니다.
7. 결과: 얼마나 좋아졌나? (Results)
CenterNet의 평가는 객체 탐지 분야에서 가장 극악의 난이도를 자랑하는 MS-COCO 테스트 데이터셋을 통해 이루어졌습니다. 객체의 크기가 다양하고 겹침이 많은 이 환경에서 CenterNet은 괄목할 만한 성과를 거두었습니다.
1. 전례 없는 성능 달성 (SOTA)
단일 해상도 이미지(Single-scale)를 입력하여 테스트했을 때, Hourglass-104 백본을 사용한 CenterNet은 44.9%의 평균 정밀도(AP)를 기록했습니다. 나아가 다양한 크기의 이미지를 섞어 입력하는 다중 스케일(Multi-scale) 테스트 환경에서는 47.0%의 AP를 달성했습니다. 이는 당시 존재하던 모든 1단계(One-stage) 탐지기를 최소 4.9% 이상의 큰 격차로 따돌린 압도적인 1위 성능이었습니다. 더불어, 구조적으로 연산이 무겁고 정확도가 높은 2단계 탐지기(예: PANet)의 최고 성능인 47.4%에 거의 근접하는 놀라운 지표를 보여주었습니다.
다음 표는 주요 모델들과 CenterNet의 성능을 비교한 결과입니다.
| 모델 계열 | 모델명 (Method) | 백본 (Backbone) | 테스트 방식 | 전체 AP (%) | 소형 객체 AP (%) | 대형 객체 AP (%) |
| 2단계 | Faster R-CNN | ResNet-101 | 단일 스케일 | 36.2 | 18.2 | 48.2 |
| 2단계 | PANet | ResNeXt-101 | 다중 스케일 | 47.4 | 30.1 | 60.0 |
| 1단계 | RetinaNet | ResNet-101 | 단일 스케일 | 39.1 | 21.8 | 50.2 |
| 1단계 | CornerNet | Hourglass-104 | 다중 스케일 | 42.1 | 20.8 | 56.7 |
| 1단계(본 논문) | CenterNet | Hourglass-104 | 다중 스케일 | 47.0 | 28.9 | 58.9 |
2. 소형 객체 탐지율의 획기적 상승 및 오탐지 감소
중심점 확인 메커니즘이 가져온 가장 큰 수확은 오탐지 비율(False Discovery Rate)의 극적인 감소입니다. 다음 표는 코너넷과 센터넷의 오탐지 비율을 비교한 수치입니다.
| 모델명 (Method) | 전체 오탐지율 (%) | 소형 객체 오탐지율 (%) | 대형 객체 오탐지율 (%) |
| CornerNet (Hourglass-104) | 37.8 | 60.3 | 25.1 |
| CenterNet (Hourglass-104) | 32.4 | 50.7 | 23.0 |
표에서 볼 수 있듯, 기존 코너넷에서 가장 심각한 오류를 발생시켰던 '작은 객체(Small objects)'에 대한 오탐지율이 무려 9.6%나 하락했습니다. 이는 잘못 생성된 가짜 바운딩 박스의 크기가 작을수록, 중앙 영역에서 우연히 동일한 클래스의 중심점이 발견될 수학적 확률이 매우 낮아지기 때문입니다. 그 결과 소형 객체에 대한 정밀도(AP)가 기존 대비 8.1% 상승하는 쾌거를 이루었습니다.
3. 준수한 추론 속도
1단계 모델의 정체성인 '속도' 면에서도 훌륭한 타협점(Trade-off)을 보여주었습니다. NVIDIA Tesla P100 GPU를 기준으로 실험한 결과, 무거운 Hourglass-104 백본을 사용할 경우 이미지 장당 340ms, 상대적으로 가벼운 Hourglass-52 백본을 사용할 경우 장당 270ms가 소요되었습니다. Hourglass-52를 탑재한 CenterNet은 기존 코너넷(Hourglass-104, 300ms)보다 처리 속도가 더 빠르면서도 정확도는 훨씬 높다는 점을 증명했습니다. 극단적인 초당 프레임을 요구하는 실시간 모델보다는 조금 느리지만, 2단계 모델의 정확도를 원하면서도 더 빠른 속도를 필요로 하는 환경에 최적의 솔루션을 제공합니다.
4. 솔직한 실패 케이스와 한계점 (Error Analysis)
논문의 저자들은 모델의 한계를 감추지 않고 솔직한 오류 분석(Error Analysis) 결과를 포함시켰습니다. 중심점 검증 메커니즘은 가짜 박스를 걸러내는 데 매우 강력하지만, 역설적으로 "애초에 모델이 중심점을 찾아내지 못하면 객체 자체가 통째로 누락된다"는 뚜렷한 아킬레스건을 가집니다. 실제로 연구진이 예측된 중심점 대신, 사람이 직접 찍은 완벽한 정답 중심점(Ground-truth)을 강제로 네트워크에 주입해 보는 실험을 진행했습니다. 그 결과, AP가 기존 44.8%에서 58.1%로 무려 13% 이상 수직으로 상승하는 것을 확인했습니다. 즉, 현재 모델이 성능의 한계에 부딪히는 병목(Bottleneck) 현상의 원인은 모서리가 아니라 '중심점을 찾아내는 능력' 그 자체에 있으며, 이 부분을 개선한다면 향후 폭발적인 성능 향상의 여지가 남아있음을 시사합니다.
8. 이 논문의 계보와 발전 (Impact & Follow-ups)
CenterNet(키포인트 트리플릿)은 단순히 성능 좋은 하나의 모델로 끝난 것이 아니라, '바텀업(Bottom-up) 방식의 키포인트 탐지기가 탑다운(Top-down) 방식의 앵커 기반 탐지기와 대등하게 겨룰 수 있다'는 것을 강력하게 증명하며 수많은 후속 연구와 산업적 응용에 영감을 주었습니다.
1. 저자들의 후속 연구: CenterNet++ (2024) 이 논문의 저자인 Kaiwen Duan 등은 후속 연구인 CenterNet++를 발표했습니다. 초기 CenterNet은 입력 이미지를 단일 해상도의 특징 맵으로만 출력하는 모래시계(Hourglass) 네트워크 구조에 강하게 종속되어 있었습니다. CenterNet++는 이러한 구조적 제약을 극복하여, Res2Net이나 Swin-Transformer와 같이 다양한 해상도의 특징 맵을 겹겹이 쌓아 올리는 피라미드 구조(Feature Pyramid Network)에서도 완벽하게 작동하도록 알고리즘을 일반화했습니다. 이를 통해 모델의 성능을 57.1% AP까지 끌어올렸으며, 가벼운 구조를 채택할 경우 30.5 FPS의 속도를 달성해 실시간 탐지(Real-time detection) 영역까지 발을 성공적으로 넓혔습니다.
2. 산업 현장으로의 폭넓은 응용 (Industrial Applications)
CenterNet 구조는 앵커 박스의 미리 정해진 비율에 얽매이지 않고 자유로운 형태와 크기를 인식할 수 있다는 강력한 장점 덕분에, 정형화되지 않은 특수 목적 산업 분야에 적극적으로 도입되고 있습니다.
- 인쇄 회로 기판(PCB) 결함 탐지: 스마트 팩토리의 전자 기판 표면 결함은 그 크기와 모양이 매우 불규칙하고 긁힘, 오염 등 다양하게 나타나 기존 앵커 방식으로는 정확한 경계를 탐지하기가 매우 어렵습니다. CenterNet을 활용하여 미세한 점들을 조립해 결함을 탐지하는 연구들이 PCB 불량 검출에서 뛰어난 성과를 내고 있습니다.
- 해상 객체 및 항공 이미지 분석: 위성이나 고도 비행 드론에서 촬영한 해상(Maritime) 이미지의 소형 선박이나, 농경지 위에서 병해충의 곤충 개체 수를 집계하는 작업은 배경이 매우 복잡하고 객체가 모래알처럼 작습니다. 이러한 극한의 환경(ABOships 데이터셋 등)에서도 오탐지를 줄여주는 CenterNet의 중심점 검증 능력이 탁월한 진가를 발휘하고 있습니다.
- 로봇 팔 파지(Grasping) 시스템: G-RCenterNet과 같은 응용 모델은 물류 창고 등 복잡한 배경 환경에서 로봇 팔이 물건을 집어 올릴 수 있는 최적의 파지 박스를 실시간으로 예측하고 찾아내는 데 사용되며 로봇 공학의 효율성을 높이고 있습니다.
9. 마무리
지금까지 살펴본 "CenterNet: Keypoint Triplets for Object Detection"은 바운딩 박스를 단순히 외곽 테두리로만 정의하던 기존의 관성을 과감히 깨고, '중심 영역 검증'이라는 매우 직관적이면서도 비용 효율적인 로직을 추가하여 객체 탐지의 고질적인 병폐였던 오탐지 문제를 훌륭하게 해결한 연구입니다.
이 논문은 복잡하고 무거운 구조를 겹겹이 쌓아 연산량을 늘리는 대신, "점 하나를 더 찾아서 확인한다"라는 알고리즘적인 통찰력만으로 성능을 비약적으로 높일 수 있음을 증명했습니다. 특히 인간이 수동으로 설정해야 하는 앵커 박스라는 인위적인 사전 지식(Prior) 없이, 데이터 자체가 가지고 있는 시각적 특징만으로 픽셀 단위에서 객체를 조립해 낸다는 점에서 인공지능 네트워크의 자율성을 한 단계 끌어올렸다고 평가할 수 있습니다.
하지만, 이 알고리즘을 실제 비즈니스나 실무 환경에 적용할 때 반드시 고려해야 할 몇 가지 주의사항들이 존재합니다.
첫째, GPU 메모리 소모량과 학습 난이도입니다. CenterNet이 채택한 Stacked Hourglass 네트워크 구조는 이미지의 특징을 잃지 않기 위해 중간 해상도를 크게 유지하며 깊은 연산을 수행하므로 필연적으로 VRAM 메모리 사용량이 상당합니다. 모델을 처음부터 학습(Training)시키기 위해서는 다수의 고성능 GPU(논문 기준 32GB VRAM을 갖춘 8대의 Tesla V100)와 수십만 번의 긴 반복 학습 시간이 요구됩니다. 추론(Inference) 시에도 대략 1.5GB 이상의 VRAM이 필요하므로 메모리가 극도로 제한된 모바일 기기나 초소형 에지(Edge) 디바이스에 곧바로 탑재하기 위해서는 네트워크를 경량화하는 최적화 작업이 선행되어야 합니다.
둘째, 앞서 오류 분석에서 언급했듯 중심점에 대한 의존도가 너무 높다는 태생적 한계가 있습니다. 실제 환경에서 조명이 너무 어둡거나, 객체의 중앙 부분이 다른 물체에 의해 절반 이상 가려져 있는 겹침(Occlusion) 환경에서는 중심점 히트맵이 제대로 형성되지 않아 모델이 객체 전체를 통째로 인식하지 못하고 놓쳐버리는 현상이 발생할 수 있습니다.
셋째, 목적에 맞는 속도와 정확도의 저울질(Trade-off)이 필요합니다. 1초에 60프레임 이상을 즉각적으로 처리해야 하는 자율주행 자동차의 긴급 보행자 회피 모듈과 같은 상황에서는, 구조가 훨씬 단순하고 속도가 극단적으로 빠른 YOLO 최신 시리즈나 점 하나만 예측하는 동명의 Objects as Points 방식이 유리할 수 있습니다. 반면, 의료 영상에서의 미세 종양 외곽선 검출이나 공장 라인에서의 정밀한 부품 품질 검사와 같이 속도보다는 객체의 경계를 픽셀 단위로 정밀하게 잡아내고 오탐지율을 0에 가깝게 낮추는 것이 최우선인 분야에는 CenterNet의 Triplet 논리가 훨씬 더 적합하고 강력한 무기가 될 것입니다.