왜 이미지 분류란? 입력에서 특징 추출, 분류까지가 필요한가? 실무에서 이 개념 없이는 문제를 해결할 수 없습니다. 핵심 동기와 배경을 먼저 이해합시다.
이미지 분류란?
이미지 분류(Image Classification)는 컴퓨터 비전의 가장 기본적인 문제예요. 하나의 이미지가 주어졌을 때, 그것이 어떤 카테고리에 속하는지 판별하는 것이죠.
이미지 분류의 3단계:
1.
입력(Input): 이미지를 숫자 행렬(텐서)로 변환 — RGB 3채널, 각 픽셀 0~255
2.
특징 추출(Feature Extraction): 이미지에서 의미 있는 패턴을 자동으로 찾아냄
3.
분류(Classification): 추출된 특징을 바탕으로 "이것은 고양이다" 같은 결정을 내림
전통 방식 vs CNN:
- 전통 방식: 사람이 직접 특징을 설계 (SIFT, HOG 등) → 한계가 명확
- CNN 방식: 데이터에서 특징을
자동으로 학습 → 2012년 이후 압도적 성능
ImageNet의 역사적 의미:
ImageNet은 1,400만 장, 2만 개 카테고리의 거대한 이미지 데이터베이스예요.
-
2010: 전통 방식 — 오류율 28%
-
2012 (AlexNet): CNN 최초 우승 — 오류율
16% (12%p 격차!)
-
2015 (ResNet): 오류율 3.57% — 인간(5.1%)을 처음으로 넘어섬
AlexNet의 2012년 우승은 딥러닝 혁명의 시작점이에요. 이때부터 "특징은 설계하는 게 아니라 학습하는 것"이라는 패러다임이 자리잡았어요.
왜 CNN인가?
이미지는 공간적 구조를 가지고 있어요. 인접한 픽셀들이 함께 의미를 형성하죠.
- FC(완전연결)만 쓰면? 공간 구조를 무시 + 파라미터 폭발
- CNN은
지역적 연결(local connectivity)과
파라미터 공유(weight sharing)로 효율적으로 공간 패턴을 잡아냄
왜 중요한가? CNN의 합성곱 레이어는 수작업 특징 설계(SIFT, HOG 등)를 자동으로 대체합니다. 초기 레이어는 엣지와 색상 같은 저수준 특징을, 깊은 레이어는 눈, 바퀴, 글자 같은 고수준 특징을 자동으로 학습합니다. 이 계층적 특징 학습이 CNN의 핵심 강점이며, 사람이 정의할 수 없는 복잡한 패턴까지 데이터에서 직접 발견합니다. 깊이가 증가할수록 더 추상적인 특징을 학습할 수 있어, 네트워크 깊이가 성능과 직결됩니다.
이미지넷 대규모 시각 인식 챌린지(ILSVRC)가 CNN 혁명을 촉발했다 (Russakovsky et al., 2015).