서론
YOLO (You Only Look Once)는 실시간 객체 인식을 위한 혁신적인 방법론으로 널리 알려져 있다. YOLO의 최신 버전인 YOLOv8는 이전 버전의 성공을 기반으로 새로운 기능과 개선 사항을 도입하여 성능과 유연성을 더욱 향상시켰다. YOLOv8는 빠르고 정확하며 사용하기 쉽게 설계되어 다양한 객체 탐지 및 추적, 인스턴스 분할, 이미지 분류 및 포즈 추정과 같은 작업이 가능하다.
YOLOv8의 주요 특징
- 빠르고 정확한 객체 탐지: YOLOv8는 최첨단의 성능을 제공하면서도 실시간 객체 탐지를 위해 설계되었다.
- 사용자 친화적 설계: 쉬운 설치 및 사용을 위한 명령어와 도구가 포함되어 있다.
- YOLO 이전 버전과 비교할 때도 더 빠르고 더 작은 파라미터로 높은 성능을 만들어 낼 수 있다.
아래 모델의 다른 버전과 비교하여 성능 그래프를 통해 직접 확인해 보자.
YOLOv8 설치하기
기본 요구사항
- Python 3.8 이상
- PyTorch 1.8 이상
설치 방법
pip install ultralytics
Conda, Docker 등 다른 설치 방법이 필요하신 분은 Quickstart Guide를 참고 하면 된다.
YOLOv8 사용해보기
CLI 기본 사용법
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
이 명령어는 주어진 이미지에서 객체를 탐지하고 ./runs/detect/
폴더에 결과 이미지를 저장한다.
- 이미지에서 객체 탐지
yolo predict model=yolov8n.pt source='image.jpg'
- 비디오에서 객체 탐지
yolo predict model=yolov8n.pt source='video.mp4'
- 웹캠을 사용하여 실시간 객체 탐지
yolo predict model=yolov8n.pt source=0 show=True
위의 명령어 외에도 다양한 옵션과 함께 yolo
명령어를 사용할 수 있다. 자세한 사용법은 CLI Docs에서 확인할 수 있다.
결론
YOLOv8는 객체 인식 분야에서 빠르고 정확한 성능으로 인해 많은 주목을 받고 있다.
이미지와 영상을 기준으로 개발 PC(i9-13900KF, RTX4090 2Way)에서 ‘Device=’CPU”로 테스트를 해보았더니(물론 이미지의 크기에 영향을 받는다.) ‘n’ 모델의 경우 이미지 객체인식에 약 40~50[ms]가 소요 된다. 이는 약 20~25[fps]의 영상을 실시간으로 처리할 수 있는 능력이다. 반면 ‘x’ 모델의 경우 이미지 객체 인식에 약 300~400[ms]가 소요된다. ‘x’ 모델은 실시간 객체 인식으로 활용은 힘들지만, 디테일하게 확인해야 할 경우 활용하면 좋을 것 같다.
추가로 GPU를 사용할 때 걸리는 시간과 파인 튜닝에 대한 평가해 보고 포스팅할 예정이다.
YOLOv8을 사용하면 객체 탐지 성능을 쉽게 얻을 수 있지만, 정확도 측면에서는 아쉬운 부분이 있으므로, 파인 튜닝으로 충분히 학습을 진행해줘야 좋은 모델을 완성할 수 있을 것이다.