현재 프로젝트를 진행하며 사진 속 요소들의 종류를 파악해야 하는 문제에 직면했다. 이를 해결하기 위해 AI 기술 중 하나인 객체 탐지 모델을 도입하기로 결정하였으며, 학습한 내용과 개인적인 견해를 정리한다.
우선 컴퓨터비전에서의 문제들은 크게 다음과 같이 분류할 수 있다.
- Classification (분류)
- Object Detection (객체 탐지):
- Image Segmentation (이미지 분할)

이중 현재 글에 다룰것은 Object Detection 이다.
1. 객체 탐지 모델이란?
객체 탐지 모델은 사진이나 영상 속에서 물체의 종류를 식별하는 기술이다. 이 모델의 가장 큰 특징은 단순히 객체의 존재 여부를 판단하는 것을 넘어, 해당 요소가 어느 좌표에 있는지 사각형 박스로 표시한다는 점이다. 위치 정보를 정확히 파악하는 것이 중요한 프로젝트에서 핵심적인 역할을 수행한다.
객체 탐지의 대표적인 두가지와 방법이 있는데 대표적인 모델 두가지를 소개해보겠다.
2. YOLO (You Only Look Once)
YOLO는 이름 그대로 이미지를 보고 바로 물체를 찾아내는 방식이다. 기술적으로는 1-Stage Detector로 분류된다.

YOLO의 동작 방식
- 이미지 분할: 입력 이미지를 $S \times S$ 크기의 균일한 그리드로 나눈다.
- Bounding Box 예측: 각 그리드 셀에서 $B$개의 박스를 예측한다. 일반적으로 셀당 2개씩 예측하여 총 $2S^2$개의 박스 후보를 도출한다.
- 신뢰도 점수 계산:
- $Confidence = Pr(Object) \times IOU(pred, truth)$
- 박스 내 객체 존재 확률($Pr$)과 실제 박스와의 겹침 정도($IOU$)를 곱해 점수를 산출한다.
- 클래스 확률 계산: 각 셀에서 검출된 물체가 어떤 클래스에 속하는지 확률을 구한다.
- 최종 검출: 신뢰도 점수가 높은 박스들만 남기고 나머지는 제거하여 최종 위치를 결정한다.
한 번의 연산으로 모든 과정을 처리하기 때문에 속도가 매우 빠르며 실시간 영상 분석에 최적화되어 있다.
3. R-CNN (Region-based CNN)
R-CNN은 YOLO와 달리 객체가 있을 법한 영역을 먼저 찾고 분류하는 2-Stage Detector 방식이다.
R-CNN의 동작 방식

- 영역 제안: 이미지 내에서 객체가 있을 법한 후보 영역을 약 2,000개 정도 추출한다. (주로 Selective Search 알고리즘 사용)
- 특징 추출: 추출된 각 후보 영역을 동일한 크기로 조절한 후, CNN 모델에 통과시켜 특징 벡터를 추출한다.
- 분류: 추출된 특징을 바탕으로 SVM(Support Vector Machine)을 통해 해당 영역이 어떤 물체인지 분류한다.
- 경계 상자 조정: 예측된 박스의 위치를 실제 물체 위치에 더 가깝도록 정밀하게 조정한다.
이 방식은 단계별로 연산이 이루어지므로 YOLO보다 속도는 느리지만, 더 높은 정확도를 기대할 수 있다.
4. YOLO vs R-CNN: 비교와 선택
두 모델은 성능과 목적에 따라 확연한 차이를 보인다.
비교 항목 YOLO (1-Stage) R-CNN 계열 (2-Stage)
| 속도 | 매우 빠름 (실시간 가능) | 비교적 느림 |
| 정확도 | 상대적으로 낮음 (특히 작은 객체) | 매우 높음 (정밀한 검출) |
| 학습 난이도 | 상대적으로 낮음 | 복잡하고 연산 자원 많이 소모 |
언제 어떤 모델을 사용해야 하는가?
- YOLO 선택 시점: 자율주행, 실시간 CCTV 보안 관제, 모바일 기기 구동 등 실시간 응답성이 최우선일 때 사용한다.
- R-CNN 선택 시점: 의료 영상 분석(X-ray, MRI), 정밀한 불량품 검수 등 속도보다는 오탐 없는 정확도가 절대적으로 중요할 때 사용한다.
5. 개발 시 비용에 대한 고찰
현재 멀티모달 LLM이 등장하여 해상 사진 분석이나 OCR 결과를 매우 쉽게 얻을 수 있다. 그럼에도 불구하고 전용 모델 개발자가 개발 해야된다면 이유는 다음과 같을것 같다.
첫째, 압도적인 운영 비용,
즉 토큰을 엄청 소모한다. LLM API는 호출당 비용이 발생한다. 하루 수만 건 이상의 데이터를 처리하는 서비스라면 API 비용만으로 막대한 지출이 발생한다. 반면, 직접 구축한 YOLO 모델은 초기 학습 후 자체 서버에서 운영하므로 데이터 처리량이 늘어날수록 단가가 급격히 낮아진다.

둘째, 지연 시간과 데이터 보안 문제
API 방식은 외부 서버를 거쳐야 하므로 통신 속도의 영향을 받으며, 민감한 내부 데이터를 외부 서버로 전송해야 한다는 리스크가 있다. 직접 모델을 구축하면 로컬에서 즉각 처리가 가능하며 보안성 또한 완벽하게 확보할 수 있다.
끝으로
이러한 이유로 어떤 서비스할 때 확실히 문제에 따라 올바른 AI 솔루션을 내는것이 중요하다고 생각한다.프로젝트의 규모와 목적에 맞춰 이 둘을 전략적으로 선택하는 능력이 현대 AI 개발자의 진정한 경쟁력이라 판단한다.
참고
https://ganghee-lee.tistory.com/35
https://dotiromoook.tistory.com/24
https://www.ultralytics.com/ko/blog/what-is-r-cnn-a-quick-overview
'AI' 카테고리의 다른 글
| Windsurf 로 코드 수정한 후기 (2) | 2025.06.12 |
|---|---|
| 맥북에 MCP (Claude) 설치 방법 (1) | 2025.06.07 |
| Claude 3.5 탐구 (1) | 2024.07.22 |