카테고리 없음

[OpenCv] YOLOv8 스터디

외손잡이 2024. 3. 14. 21:10
작성자 장원준
일 시 2024. 3. 14 (목) 18:00 ~ 21:00
장 소 복지관 b128-1호
참가자 명단 임혜진, 이재영, 성창민, 김명원, 장원준
 사 진

 

YOLO(You Only Look Once) 란?

실시간 객체 탐지 시스템에서 널리 사용되는 모델 중 하나입니다. 기존의 객체 탐지 방법들이 이미지 내 객체를 찾기 위해 여러 번의 스캔을 수행하는 반면, YOLO는 이미지를 한 번만 보고(look once) 객체의 종류와 위치를 동시에 예측합니다. 이 접근 방식은 빠른 속도와 높은 정확도를 동시에 달성하기 위해 개발되었습니다. 

 처음 인풋 이미지가 들어오면 이미지를 격자무늬 그디드 셀(Grid cell) 로 나눈 뒤 각 그리드 셀별로 2개의 Bounding Box를 예측합니다.

이 결과로 나온 1장의 이미지에 대한 98개의 Bounding Box를 예측하게 되고, 마지막으로 NMS(Non-Maximum Suppression)이라는 과정을 통해서 최종적으로 확률값이 높은 예측결과만을 남깁니다.

 

YOLO 모델의 특징

 

  • 이미지 전체를 한번만 본다 
    • 이전의 R-CNN계열의 방식처럼 이미지를 여러장 분할해 여러번 분석하는 일을 하지 않는다. 그래서, YOLO는 원본 이미지 그대로를 CNN에 통과 시킨다. 이 특징 때문에 모델 이름이 You only look once 인듯하다..?
  • region proposal, feature extraction, classification, bbox regression => one-stage detection로 통합하여 빠르다
    • 기존에는 region proposal, feature extraction, classification, bbox regression 등의 작업을 별도로 진행했다면  YOLO는 한 모델만을 사용해 앞의 과정들을 한 번에 진행한다.  따라서 속도가 이전 모델들에 비해 상대적으로 빠르고 그로 인해 실시간으로 객체를 탐지할 수 있다.
  • 주변 정보까지 학습하여 이미지 전체를 처리하기 때문에 background error가 적다
  • 훈련 단계에서 보지 못한 새로운 이미지에 대해서도 검출 정확도가 높다

YOLO의 한계점

  YOLO의 한계 점으로는 작은 물체에 대해 탐지 성능이 낮다는 것이다. object 가 크면 bbox 간에 IOU값의 차이가 커져서 적절한 predictor을 선택할 수 있지만, object가 작으면 bbox간 IOU값의 차이가 작아서 근소한 차이로 predictor가 결정되어 정확하지가 않다. 그리고 object비율이 달라지면 detection 성능이 낮아진다는 것이다.

 

YOLOv8

 YOLOv8 은 YOLO모델 중 가장 최신버전으로 정확도와 속도 면에서 최첨단 성능을 제공합니다.

 

 확실히 이전 모델들 보다 더 성능이 높아진 것을 볼 수 있다.

 

주요기능

  • 고급 백본 및 넥 아키텍처: YOLOv8 은 최첨단 백본 및 넥 아키텍처를 채택하여 특징 추출 및 객체 감지 성능을 향상시킵니다.
  • 앵커 프리 스플릿 Ultralytics 헤드: YOLOv8 앵커 프리 스플릿 Ultralytics 헤드는 앵커 기반 접근 방식에 비해 더 나은 정확도와 더 효율적인 탐지 프로세스에 기여하는 앵커 프리 스플릿을 채택합니다.
  • 최적화된 정확도-속도 트레이드오프: 정확도와 속도 간의 최적의 균형을 유지하는 데 중점을 둔 YOLOv8 은 다양한 애플리케이션 영역에서 실시간 물체 감지 작업에 적합합니다.
  • 다양한 사전 학습 모델: YOLOv8 에서는 다양한 작업 및 성능 요구 사항을 충족하는 다양한 사전 학습 모델을 제공하므로 특정 사용 사례에 적합한 모델을 쉽게 찾을 수 있습니다.

 또한 YOLOv8은 컴퓨터 비전의 특정 작업에 다양한 모델을 제공한다. 객체 감지부터 인스턴스 분할, 포즈/키포인트 감지, 방향성 객체 감지 및 분류와 같은 보다 복잡한 작업까지 다양한 요구 사항을 충족하도록 설계되었습니다. YOLOv8 시리즈의 각 변형은 각각의 작업에 최적화되어 있어 높은 성능과 정확성을 보장합니다. 또한 이러한 모델은 추론검증교육  내보내기 포함한 다양한 운영 모드와 호환되므로 배포 및 개발의 여러 단계에서 쉽게 사용할 수 있습니다. 

 

 

 

YOLOv8 은 위 코드를 기본으로 불러올 수 있습니다. 앞으로 진행될 프로젝트에서 이 모델을 활용해서 더 효율적으로 객체 감지를 하기 위한 딥러닝을 진행해 볼 예정입니다!!!

 

 

 

모델 스터디를 해본 것은 처음이었는데 생각보다 공부해야 할 부분도 방대하고 논문도 여러개를 찾아봐야해서 당황했다. 하지만, 막상 공부를 마치고 나니 이 모델을 어떻게 활용할지에 대해 다양한 아이디어들이 떠올라서 뿌듯하다..!