1. YOLOv8 은 무엇인가?
YOLO 모델은 단일 단계의 객체 탐지기입니다. YOLO 모델에서 이미지 프레임은 백본(backbone)을 통해 피처화 됩니다.(=분석에 활용화 할 수 있도록 가공 됩니다).
이러한 피처는 넥에서 결합되고 혼합되며, 그런 다음 네트워크의 헤드로 전달됩니다. YOLO는 객체 주위에 경계 상자를 그릴 위치와 클래스를 예측합니다.
![YOLOv8](https://160log.com/wp-content/uploads/2023/07/image-176-1024x682-optimized.png)
YOLOv8는 비최대 억제 (non-maximum suppression, NMS)를 통해 후처리를 수행하여 최종 예측을 도출합니다.
백본(Backbone)은 객체 탐지 모델에서 이미지에서 피처를 추출하는 데 사용되는 네트워크의 일부분입니다. 일반적으로, 백본은 컨볼루션(Convolution) 레이어와 풀링(Pooling) 레이어로 구성된 심층 신경망(Convolutional Neural Network, CNN)입니다. 백본의 역할은 입력 이미지에서 고수준의 추상적인 피처를 추출하여 객체의 특징을 표현하는 것입니다. 이 추출된 피처는 후속 단계에서 객체의 위치와 클래스를 예측하기 위해 사용됩니다. 백본은 일반적으로 이미지의 공간적인 정보를 보존하면서 이미지를 다운샘플링하여 피처의 크기를 줄이는 역할을 합니다. 이는 계산 효율성과 모델의 성능을 향상시키는 데 도움이 됩니다. YOLO의 경우, 다양한 버전에서 다양한 백본 아키텍처가 사용되며, 이는 모델의 정확도와 속도에 영향을 미칠 수 있습니다. 주로 ResNet, DarkNet, MobileNet 등의 백본 아키텍처가 YOLO 모델에서 많이 사용됩니다.
![](https://160log.com/wp-content/uploads/2023/07/image-178-1024x891-optimized.png)
YOLOv3와 YOLOv5 모델의 저자인 Ultralytics에서 개발되었으며, YOLOv8는 앵커 없는 디자인으로 객체 검출을 더욱 발전시켰습니다. 하지만 최신 정확도에만 중점을 두는 것은 아닙니다. YOLOv8는 실제 세계에서의 배포를 고려하여 속도, 지연 시간 및 가격 대비 성능에 초점을 맞췄습니다.
YOLO의 최신 버전 및 DeepSparse를 사용하여 YOLOv8s(작은 버전)에서 209 FPS, YOLOv8n(나노 버전)에서 525 FPS를 달성하며, PyTorch 및 ONNX Runtime에 비해 10배의 가속을 얻을 수 있습니다!
![](https://160log.com/wp-content/uploads/2023/07/image-181-optimized.png)
2. YOLOv8를 사용하는 이유
다음은 다음 컴퓨터 비전 프로젝트에서 고려해야 하는 몇 가지 주요 이유입니다:
COCO와 Roboflow 100에 의해 측정된 정확도가 높습니다. YOLOv8은 높은 정확도를 가지고 있으며, COCO 및 Roboflow 100에서 측정된 결과가 이를 입증하고 있습니다.
많은 개발자 편의 기능을 제공합니다. 사용하기 쉬운 CLI(Command Line Interface)와 잘 구성된 Python 패키지 등의 기능을 제공합니다.
YOLO를 중심으로 한 커뮤니티가 크고, 점점 성장하고 있습니다. 이는 컴퓨터 비전 분야에서 여러분이 도움이 필요할 때 도움을 줄 수 있는 많은 사람들이 있다는 것을 의미합니다.
COCO에서 강력한 정확도를 달성합니다. 예를 들어, 중간 모델인 YOLOv8m은 COCO에서 50.2%의 mAP를 달성합니다. Roboflow 100에서 평가된 결과도 YOLOv5보다 훨씬 우수합니다. 성능 분석에서 자세한 정보를 확인할 수 있습니다.
또한, 개발자 편의 기능도 매우 중요합니다. 다른 모델들과는 달리, 작업이 여러 다른 Python 파일에 분산되는 것이 아니라 모델을 학습하는 데 더 직관적인 CLI가 함께 제공됩니다. 이는 이전 모델들보다 더 원활한 코딩 경험을 제공하는 Python 패키지와 함께 제공됩니다.
사용할 때 커뮤니티의 역할도 고려해야 합니다. 많은 컴퓨터 비전 전문가들이 YOLO에 대해 알고 있으며, 실제로 사용하는 데 대한 온라인 가이드도 많이 있습니다. 이 글을 쓰는 시점에서 YOLOv8은 새로운 모델이지만, 온라인에서 도움을 줄 수 있는 많은 가이드가 있습니다.
2.1 적용 가이드
적용 가이드는 아래 링크에 자세히 나와있습니다.
![](https://160log.com/wp-content/uploads/2023/07/image-180-optimized.png)
https://github.com/sjinzh/awesome-yolo-object-detection
3. 어디에 적용 할 수 있을까?
객체 추적은 시간에 따라 프레임 시퀀스에서 특정 객체 또는 여러 객체를 식별하는 과정입니다. 이는 각 프레임에서 객체의 위치를 파악하고 프레임 간 이동을 추적하는 것을 포함합니다. 객체 추적은 감시, 로봇공학, 자율 주행, 스포츠 분석 등 다양한 분야에서 다양한 응용 분야를 가지고 있습니다.
추적 알고리즘은 색상 히스토그램, 움직임 분석, 딥 러닝 등 다양한 기술을 사용하여 비디오 또는 이미지 시퀀스에서 객체를 찾고 따라가는 것입니다. 객체 감지와 추적이 다양한 산업에서 증가함에 따라 정확하고 실시간 추적 알고리즘의 필요성은 이전보다 더욱 중요해졌습니다.
![](https://160log.com/wp-content/uploads/2023/07/image-179-optimized.png)
객체를 정확하고 신속하게 추적하는 능력은 보안 감시와 같은 응용 분야에서 매우 중요합니다. 이를 통해 잠재적인 위협을 식별하고 수상한 행동을 탐지하는 데 도움을 줄 수 있습니다. 스포츠 분석 분야에서는 객체 추적을 통해 경기 중 선수들의 움직임을 분석하여 선수의 성과와 게임 전략에 대한 유용한 통찰력을 제공할 수 있습니다.
4. YOLO Licenses
- AGPL-3.0 License
AGPL-3.0 라이선스는 상업적 이용을 허용합니다. 상업적으로 소프트웨어를 이용하고 수정하여 사용할 수 있습니다. 하지만 AGPL-3.0 라이선스의 조건을 준수해야 합니다.
이는 소스 코드의 공개, 라이선스 조건의 준수, 웹 애플리케이션의 경우 사용자에게 소스 코드 접근을 허용하는 등의 규정을 포함합니다.
따라서, AGPL-3.0 라이선스를 사용하는 소프트웨어를 상업적으로 이용하려면 해당 라이선스의 조건을 충족시켜야 합니다.
소스 코드의 공개와 라이선스 조건의 준수는 AGPL-3.0 라이선스의 핵심 요소이며, 이를 준수하지 않는다면 라이선스 위반으로 간주될 수 있습니다.
따라서, AGPL-3.0 라이선스를 사용하는 소프트웨어를 상업적으로 이용하고자 할 경우, 해당 라이선스의 조건을 자세히 검토하고 준수해야 합니다.