AI-For-Beginners/translations/ko/lessons/4-ComputerVision/11-ObjectDetection
Pikachú 5d34bc4eb8 Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
..
lab Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
README.md Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00

README.md

객체 탐지

지금까지 다룬 이미지 분류 모델은 이미지를 입력받아 '숫자'와 같은 범주형 결과를 생성했습니다. 그러나 많은 경우 우리는 단순히 사진이 객체를 나타내고 있다는 것을 아는 것만으로는 충분하지 않습니다. 우리는 객체의 정확한 위치를 결정할 수 있어야 합니다. 이것이 바로 객체 탐지의 핵심입니다.

사전 강의 퀴즈

객체 탐지

이미지 출처: YOLO v2 웹사이트

객체 탐지에 대한 단순한 접근법

사진에서 고양이를 찾고자 한다고 가정할 때, 객체 탐지에 대한 매우 단순한 접근법은 다음과 같습니다:

  1. 이미지를 여러 개의 타일로 나눕니다.
  2. 각 타일에 대해 이미지 분류를 실행합니다.
  3. 충분히 높은 활성화 결과를 얻은 타일은 해당 객체를 포함하고 있다고 간주할 수 있습니다.

단순 객체 탐지

이미지 출처: 연습 노트북

하지만 이 접근법은 이상적이지 않습니다. 왜냐하면 알고리즘이 객체의 경계 상자를 매우 부정확하게 위치시키는 것만 허용하기 때문입니다. 더 정확한 위치를 위해서는 경계 상자의 좌표를 예측하기 위한 일종의 회귀를 수행해야 하며, 이를 위해서는 특정 데이터셋이 필요합니다.

객체 탐지를 위한 회귀

이 블로그 포스트는 도형 탐지에 대한 훌륭한 소개를 제공합니다.

객체 탐지를 위한 데이터셋

이 작업에 사용할 수 있는 데이터셋은 다음과 같습니다:

  • PASCAL VOC - 20개 클래스
  • COCO - Common Objects in Context. 80개 클래스, 경계 상자 및 분할 마스크

COCO

객체 탐지 메트릭

교차 비율 (Intersection over Union)

이미지 분류의 경우 알고리즘의 성능을 측정하는 것이 쉽지만, 객체 탐지에서는 클래스의 정확성과 추론된 경계 상자 위치의 정밀도를 모두 측정해야 합니다. 후자의 경우, 두 상자(또는 두 임의의 영역)가 얼마나 겹치는지를 측정하는 교차 비율(IoU)을 사용합니다.

IoU

그림 2는 이 훌륭한 IoU 블로그 포스트에서 발췌함

아이디어는 간단합니다. 두 도형 간의 교차 영역을 그들의 합집합 영역으로 나눕니다. 두 개의 동일한 영역의 경우 IoU는 1이 되고, 완전히 분리된 영역의 경우 0이 됩니다. 그렇지 않으면 0에서 1 사이의 값을 가집니다. 우리는 일반적으로 IoU가 특정 값을 초과하는 경계 상자만 고려합니다.

평균 정밀도 (Average Precision)

주어진 클래스 C가 얼마나 잘 인식되는지를 측정하고자 한다면, 평균 정밀도 메트릭을 사용합니다. 이는 다음과 같이 계산됩니다:

  1. 정밀도-재현율 곡선을 고려하여 탐지 임계값(0에서 1까지)에 따라 정확도를 나타냅니다.
  2. 임계값에 따라 이미지에서 탐지되는 객체의 수가 달라지며, 정밀도와 재현율의 값도 달라집니다.
  3. 곡선은 다음과 같이 나타납니다:

이미지 출처: NeuroWorkshop

주어진 클래스 C에 대한 평균 정밀도는 이 곡선 아래의 면적입니다. 보다 정확하게, 재현율 축은 일반적으로 10개 부분으로 나뉘며, 정밀도는 모든 점에 대해 평균화됩니다:


AP = {1\over11}\sum_{i=0}^{10}\mbox{Precision}(\mbox{Recall}={i\over10})

AP와 IoU

우리는 IoU가 특정 값을 초과하는 탐지만 고려합니다. 예를 들어, PASCAL VOC 데이터셋에서는 일반적으로 \mbox{IoU Threshold} = 0.5로 가정하며, COCO에서는 다양한 \mbox{IoU Threshold} 값에 대해 AP가 측정됩니다.

이미지 출처: NeuroWorkshop

평균 평균 정밀도 - mAP

객체 탐지를 위한 주요 메트릭은 평균 평균 정밀도 또는 mAP라고 합니다. 이는 모든 객체 클래스에 대해 평균화된 평균 정밀도의 값이며, 때때로 \mbox{IoU Threshold}에 대해서도 평균화됩니다. mAP를 계산하는 과정에 대한 자세한 설명은 이 블로그 포스트여기 코드 샘플과 함께에서 확인할 수 있습니다.

다양한 객체 탐지 접근법

객체 탐지 알고리즘에는 두 가지 주요 클래스가 있습니다:

  • 영역 제안 네트워크 (R-CNN, Fast R-CNN, Faster R-CNN). 주요 아이디어는 관심 영역(ROI)을 생성하고 CNN을 통해 최대 활성화를 찾는 것입니다. 이는 단순한 접근법과 유사하지만, ROI는 보다 정교한 방식으로 생성됩니다. 이러한 방법의 주요 단점 중 하나는 이미지에 대해 CNN 분류기를 여러 번 통과해야 하므로 속도가 느리다는 것입니다.
  • 단일 패스 (YOLO, SSD, RetinaNet) 방법. 이러한 아키텍처에서는 네트워크를 설계하여 클래스와 ROI를 한 번의 패스로 예측합니다.

R-CNN: 영역 기반 CNN

R-CNN선택적 검색을 사용하여 ROI 영역의 계층 구조를 생성하고, 이를 CNN 특징 추출기와 SVM 분류기를 통해 객체 클래스를 결정하며, 선형 회귀를 통해 경계 상자 좌표를 결정합니다. 공식 논문

RCNN

이미지 출처: van de Sande et al. ICCV11

RCNN-1

이미지 출처: 이 블로그

F-RCNN - Fast R-CNN

이 접근법은 R-CNN과 유사하지만, 영역이 컨볼루션 레이어가 적용된 후 정의됩니다.

FRCNN

이미지 출처: 공식 논문, arXiv, 2015

Faster R-CNN

이 접근법의 주요 아이디어는 신경망을 사용하여 ROI를 예측하는 것입니다. 이를 영역 제안 네트워크라고 합니다. 논문, 2016

FasterRCNN

이미지 출처: 공식 논문

R-FCN: 영역 기반 완전 합성곱 네트워크

이 알고리즘은 Faster R-CNN보다 더 빠릅니다. 주요 아이디어는 다음과 같습니다:

  1. ResNet-101을 사용하여 특징을 추출합니다.
  2. 특징은 위치 민감 점수 맵에 의해 처리됩니다. C 클래스의 각 객체는 k\times k 영역으로 나뉘며, 우리는 객체의 부분을 예측하도록 훈련합니다.
  3. k\times k 영역의 각 부분에 대해 모든 네트워크가 객체 클래스에 투표하고, 최대 투표를 받은 객체 클래스가 선택됩니다.

r-fcn 이미지

이미지 출처: 공식 논문

YOLO - You Only Look Once

YOLO는 실시간 단일 패스 알고리즘입니다. 주요 아이디어는 다음과 같습니다:

  • 이미지를 S\times S 영역으로 나눕니다.
  • 각 영역에 대해 CNNn개의 가능한 객체, 경계 상자 좌표 및 신뢰도 = 확률 * IoU를 예측합니다.

YOLO

이미지 출처: 공식 논문

기타 알고리즘

✍️ 연습문제: 객체 탐지

다음 노트북에서 학습을 계속하세요:

ObjectDetection.ipynb

결론

이번 수업에서는 객체 탐지를 수행할 수 있는 다양한 방법을 빠르게 살펴보았습니다!

🚀 도전 과제

YOLO에 대한 이 기사와 노트북을 읽고 직접 시도해 보세요.

강의 후 퀴즈

복습 및 자가 학습

과제: 객체 탐지

면책 조항:
이 문서는 기계 기반 AI 번역 서비스를 사용하여 번역되었습니다. 정확성을 위해 노력하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있음을 유의하시기 바랍니다. 원본 문서는 해당 언어로 작성된 권위 있는 출처로 간주되어야 합니다. 중요한 정보에 대해서는 전문적인 인간 번역을 권장합니다. 이 번역의 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 우리는 책임을 지지 않습니다.