티스토리 뷰

728x90
반응형

 

서론

 

컴퓨터 비전은 이미지나 비디오에서 의미 있는 정보를 추출하는 기술로, 

 

자율주행, 보안, 헬스케어, 제조업, 소매업 등 다양한 분야에서 사용된다. 

 

예를 들어, 자율주행 차량은 도로에서 차량과 보행자를 인식해 안전한 주행 경로를 결정하며, 

 

보안 시스템은 침입자를 탐지하거나 얼굴 인식을 통해 출입 통제를 할 수 있다. 

 

헬스케어 분야에서는 의료 영상을 분석해 암과 같은 질병을 조기 진단할 수 있다. 

 

이러한 성과는 컴퓨터 비전 기술 중 객체 인식의 발전에 크게 의존한다.

객체 인식은 컴퓨터 비전의 중요한 하위 분야로, 

 

이미지 내 객체가 무엇인지(Classification)와 그 위치(Bounding Box)를 동시에 인식하는 기술이다. 

 

이 기술은 이미지의 정보 추출 속도를 높이고 정확도를 개선하며, 이를 통해 여러 산업에서 자동화와 효율화를 실현하고 있다. 

 

이번 글에서는 객체 인식 기술 중 대표적인 모델인 YOLO와 R-CNN의 특징, 장단점, 발전 과정과 함께

 

객체 인식의 주요 평가 지표에 대해 간결히 다룬다.

 

객체 인식 기본 개념

 

객체 인식이란

 

객체 인식은 이미지를 분석해 객체의 종류와 위치를 찾아내는 작업이다. 이 작업은 크게 두 가지 질문에 답한다:

  1. 이미지 내에 어떤 객체가 있는가?
  2. 해당 객체는 어디에 있는가?

객체 인식은 컴퓨터 비전 분야의 핵심 기술로, 

 

객체 탐지(Object Detection)와 객체 분류(Object Classification)의 두 가지 과정을 결합한다. 

 

객체 탐지는 이미지에서 객체의 위치를 나타내는 경계 상자를 생성하고, 객체 분류는 해당 상자 안의 객체가 무엇인지 분류한다.

이 기술은 자율주행차에서 도로의 교통 표지판을 탐지하거나, CCTV에서 특정 움직임을 실시간으로 감지하는 데 사용된다. 

 

또한, 전자상거래에서는 상품 이미지를 분석해 관련 상품을 추천하는 데 활용되며, 

 

스포츠 분석에서는 선수의 움직임과 위치를 추적해 경기 전략을 세우는 데 기여한다.

 

객체 인식 모델의 종류

 

객체 인식 모델은 크게 두 가지 방식으로 분류된다:

  1. 지역 제안 기반 모델(Region Proposal based)

    • 대표 모델: R-CNN(Region-based Convolutional Neural Network)
    • 특징: 객체 후보 영역을 생성한 후, 해당 영역을 분류하고 경계 상자를 조정하는 Two-Stage Detection 방식이다.
    • 장점: 높은 정확도와 정밀도. 복잡한 장면에서도 우수한 성능을 보임.
    • 단점: 연산량이 많아 속도가 느리고 실시간 처리에 부적합하다.
  2. 회귀/분류 기반 모델(Regression/Classification based)

    • 대표 모델: YOLO(You Only Look Once)
    • 특징: 객체 후보 영역을 생성하지 않고, 이미지 전체를 한 번에 처리하는 One-Stage Detection 방식이다.
    • 장점: 매우 빠른 처리 속도로 실시간 애플리케이션에 적합하다.
    • 단점: 상대적으로 낮은 정확도와 작은 객체 인식 성능 저하.

이 두 가지 방식은 정확도와 속도라는 상충하는 목표를 가지고 있어, 사용 사례에 따라 적절한 모델을 선택해야 한다.

 

이번 글에서는 앞으로 내가 사용하게 될 YOLO모델에 대해 조금 더 알아본다.

 

YOLO 모델

 

YOLO의 기본 개념

 

YOLO(You Only Look Once)는 실시간 객체 감지를 위한 혁신적인 딥러닝 모델로, 

 

단일 신경망을 사용하여 이미지에서 객체의 클래스와 위치를 동시에 예측한다. 

 

YOLO의 핵심 개념은 이미지를 한 번만 보고 객체를 감지하고 분류한다는 점이다. 

 

이 모델은 전체 이미지를 한 번에 처리함으로써 매우 높은 속도를 제공하며, 실시간 애플리케이션에 특히 적합하다.

 

YOLO의 발전 과정

 

  1. YOLOv1 (2015)

    • 초기 버전으로, 이미지를 고정된 셀(grid)로 나누어 각 셀이 하나의 객체를 예측하도록 설계됨.
    • 제한된 표현력으로 인해 작은 객체 인식이 어려움.
  2. YOLOv2 (2016)

    • Anchor Box, 일괄 정규화, 차원 클러스터링과 같은 개념을 도입하여 성능을 개선.
    • 다양한 크기의 객체를 더 효과적으로 처리 가능.
  3. YOLOv3 (2018)

    • 다중 스케일 예측 도입으로 작은 객체 인식 성능 향상.
    • 더 효율적인 백본 네트워크 사용.
  4. YOLOv4 (2020)

    • 모자이크 데이터 증강, 새로운 앵커 프리 감지 헤드 도입.
    • 다양한 최적화 기법으로 속도와 정확도를 크게 향상.
  5. YOLOv5 (2020)

    • Python 기반의 쉬운 설치와 구현으로 접근성을 높임.
    • 다양한 작업에 대한 유연성을 제공.
  6. YOLOv6-v7 (2022)

    • 효율적인 레이어 구조를 채택하여 모델 크기를 줄이고 속도를 향상.
    • YOLOv7에서는 포즈 추정 기능 추가.
  7. YOLOv8-v11 (2023 이후)

    • YOLOv8은 탐지, 세분화, 포즈 추정, 추적 등 다양한 작업을 지원하며, 직관적인 API를 제공.
    • YOLOv10은 비최대 억제(NMS)를 제거한 엔드투엔드 감지 헤드를 도입하여 더욱 실시간성을 강화.
    • YOLOv11은 최첨단(SOTA) 성능을 제공하며 다양한 AI 응용 프로그램에 적합함.

YOLO의 장단점

 

  • 장점

    • 높은 처리 속도: 단일 통합 신경망 구조로 매우 빠른 처리가 가능.
    • 실시간 애플리케이션에 적합: CCTV, 자율주행, 스포츠 분석 등에서 활용 가능.
    • 높은 정확도: 객체와 배경을 효과적으로 구분하며, 컨텍스트 정보를 활용하여 새로운 데이터에서도 높은 일반화 성능을 보임.
  • 단점

    • 복잡한 장면에서 성능 저하: 매우 밀집된 객체나 복잡한 배경에서는 오탐률 증가 가능.
    • 작은 객체 인식의 한계: 특히 초기 버전에서는 작은 객체를 효과적으로 감지하지 못했으나, 최신 버전에서 많이 개선됨.

주석(Annotation)과 데이터 불균형 문제

 

주석의 역할

 

객체 인식을 학습하기 위해 데이터셋에 객체 클래스와 위치 정보를 주석으로 제공한다. 주석은 (c, x, y, w, h) 형식으로 작성된다:

  • c: 클래스
  • x, y: 중심 좌표
  • w, h: 박스의 너비와 높이

주석은 모델이 객체를 정확히 인식하고 분류하도록 돕는 필수적인 요소이다.

 

주석 데이터가 정확하고 세밀할수록 모델의 학습 성능이 향상되며, 불필요한 오류를 줄일 수 있다.

 

반대로, 잘못된 주석은 모델의 성능을 크게 저하시킬 수 있다.

 

데이터 불균형 문제

 

데이터셋의 클래스 간 불균형은 모델 학습 과정에서 특정 클래스에 대한 편향을 초래할 수 있다. 

 

예를 들어, COCO 데이터셋은 80개의 클래스, Pascal VOC는 20개의 클래스를 포함하지만, 

 

각 클래스별 데이터 수는 크게 차이 날 수 있다. 

 

이로 인해 모델이 자주 등장하는 클래스에 대해서는 높은 정확도를 보이지만, 

 

드물게 등장하는 클래스는 제대로 학습하지 못하는 경우가 발생한다.

이를 해결하기 위한 방법으로 다음과 같은 전략을 활용할 수 있다:

  1. 데이터 증강: 드문 클래스의 데이터를 증강해 클래스 간 균형을 맞춘다.
  2. 가중치 조정: 손실 함수에 클래스 가중치를 부여해 드문 클래스의 중요도를 높인다.
  3. 데이터 샘플링: 학습 과정에서 클래스별 데이터를 균형 있게 샘플링한다.

데이터 불균형 문제를 해결하면 모델의 전반적인 성능과 클래스 간 균형 잡힌 성능을 보장할 수 있다.

 

객체 인식 평가 지표

 

IoU(Intersection over Union)

 

IoU는 객체 탐지 성능 평가에서 가장 기본적인 지표로, 예측 경계 상자와 실제 경계 상자 사이의 겹치는 정도를 측정한다. 

 

이는 두 영역 간의 교집합을 합집합으로 나눈 값으로 계산된다.

 

  • 의미: IoU 값이 높을수록 예측이 정확하다는 것을 나타낸다.
  • 활용: IoU는 일반적으로 0.5 이상의 값을 만족할 때 True Positive로 간주된다. 이는 객체 탐지의 정확도를 평가하는 기반이 된다.

Average Precision (AP)

 

AP는 객체 탐지에서 특정 클래스에 대한 Precision-Recall 관계를 기반으로 한 지표이다. 

 

Precision-Recall Curve 아래의 면적(AUC)을 계산해 얻어진다.

 

  • 의미: 한 클래스에서 모델의 정밀도와 재현율의 균형을 평가한다.
  • 활용: AP는 각 클래스별로 계산되며, 이를 평균 낸 값이 mAP이다. 특히 클래스 간의 성능 차이를 종합적으로 평가하는 데 유용하다.

Precision-Recall Curve

 

Precision과 Recall 간의 관계를 곡선으로 시각화한 것으로, 모델의 성능을 종합적으로 평가할 수 있다.

  • 의미: 높은 Recall에서 Precision이 유지되면 더 우수한 모델로 간주된다.
  • 활용: 이 곡선은 AP 및 mAP 계산에 사용되며, 특정 IoU 임계값에서 모델의 전반적인 성능을 나타낸다.

 

mAP(mean Average Precision)

 

mAP는 객체 탐지 모델의 전반적인 성능을 평가하는 대표적인 지표이다. 이는 각 클래스에 대한 AP의 평균값으로 계산된다.

 

  • 의미: mAP는 모델이 모든 클래스에서 얼마나 일관되게 높은 정확도를 보이는지를 평가한다.
  • 활용: mAP@50은 IoU가 0.5 이상일 때의 mAP, mAP@75는 IoU가 0.75 이상일 때의 mAP를 나타낸다.

Precision, Recall, Accuracy, F1 Score

 

 

  • TP(True Positive): 실제 객체를 정확히 탐지한 경우.
  • FP(False Positive): 객체가 아닌 것을 객체로 잘못 탐지한 경우.
  • FN(False Negative): 실제 객체를 탐지하지 못한 경우.
  • TN(True Negative): 탐지할 필요가 없는 것을 정확히 탐지하지 않은 경우.

  • Precision: 모델이 탐지한 객체 중 실제로 올바른 비율.

  • Recall: 실제 객체 중 모델이 올바르게 탐지한 비율.

  • Accuracy: 모델이 전체 데이터 중에서 올바르게 예측한 비율

  • F1 Score: Precision과 Recall의 조화 평균으로, 두 지표 간의 균형을 평가.

    • 조화 평균의 이유
      Precision과 Recall의 중요도를 동일하게 고려하기 위해 조화 평균을 사용한다.
      조화 평균은 두 값 중 하나가 극단적으로 낮을 경우 전체 값을 낮게 만들어, Precision과 Recall 간의 균형을 강조한다.
    • 데이터 불균형과의 관계
      데이터 불균형이 심한 경우 Precision 또는 Recall 중 하나가 왜곡될 수 있다.
      F1 Score는 이 두 지표의 균형을 평가하기 때문에, 데이터 불균형이 있는 상황에서도
      모델의 성능을 상대적으로 공정하게 평가할 수 있다.

 

Precision은 오탐률, Recall은 누락률을 평가하며, 

 

F1 Score는 Precision과 Recall 간의 균형을 측정해 모델 성능을 종합적으로 평가한다. 

 

Accuracy는 전반적인 정확도를 평가하지만, 데이터 불균형이 심한 경우 F1 Score가 더 유용하다.

 

결론

 

YOLO는 객체 인식에서 빠른 속도와 실시간 응용 가능성을 제공하는 혁신적인 모델이다. 

 

그러나 모델의 성능을 객관적으로 평가하기 위해 IoU, mAP와 같은 지표를 이해하고 적절히 활용해야 한다. 

 

또한, 데이터셋의 품질과 주석 작업의 중요성을 인식하고 이를 개선하려는 노력이 필요하다. 

 

컴퓨터 비전과 객체 인식은 여전히 발전 중이며, 앞으로도 다양한 연구와 실험을 통해 더 나은 결과를 기대할 수 있다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함