Barracuda :: Yolo v4 tiny/ Yolo v2 tiny

TinyYOLOv2Barracuda는 Unity의 Barracuda 신경망 추론 라이브러리를 활용하여 Tiny YOLOv2 객체 탐지 모델을 구현한 샘플 프로젝트입니다.

 

주요 기능:

  • 실시간 객체 탐지: Tiny YOLOv2 모델을 통해 이미지나 비디오에서 다양한 객체를 실시간으로 탐지하고 분류합니다.

시스템 요구 사항:

  • Unity 2021.3
  • Barracuda 3.0.0

모델 정보:

  • 이 프로젝트는 ONNX Model Zoo에서 제공하는 Tiny YOLOv2 모델을 사용합니다.

설치 및 사용 방법:

  1. 이 저장소를 클론하거나 다운로드하여 Unity 프로젝트에 추가합니다.
  2. ONNX Model Zoo에서 Tiny YOLOv2 모델 파일을 다운로드하여 Assets/ONNX 디렉토리에 저장합니다.
  3. Unity에서 프로젝트를 열고, 제공된 샘플 장면을 실행하여 기능을 테스트하거나, 자신의 프로젝트에 스크립트와 리소스를 통합하여 사용합니다.

샘플 장면:

  • VisualizerGpu: 모든 객체 탐지 및 시각화 과정을 GPU에서 처리하여 CPU 부하와 시각화 지연을 최소화합니다.
  • VisualizerCpu: 객체 탐지를 GPU에서 수행한 후 결과를 CPU로 가져와 Unity UI 시스템을 통해 시각화합니다. 이 방법은 GPU 전용 방법보다 느리지만, C# 스크립팅을 통해 복잡한 처리가 가능합니다.
  • Pixelizer: 입력 비디오 스트림에서 사람을 감지하고 해당 영역에 픽셀화 효과를 적용합니다. YOLO 탐지기를 활용한 이미지 효과 구현 예시입니다.

자세한 내용과 최신 정보는 GitHub 저장소를 참고하시기 바랍니다.

 

https://github.com/keijiro/TinyYOLOv2Barracuda

 

GitHub - keijiro/TinyYOLOv2Barracuda: Tiny YOLOv2 on Unity Barracuda

Tiny YOLOv2 on Unity Barracuda. Contribute to keijiro/TinyYOLOv2Barracuda development by creating an account on GitHub.

github.com

 

 


YoloV4TinyBarracuda는 Unity의 Barracuda 신경망 추론 라이브러리를 활용하여 YOLOv4-tiny 객체 탐지 모델을 구현한 프로젝트입니다.

주요 기능:

  • 실시간 객체 탐지: YOLOv4-tiny 모델을 통해 이미지나 비디오에서 다양한 객체를 실시간으로 탐지하고 분류합니다.

시스템 요구 사항:

  • Unity 2020.3 LTS 이상 버전이 필요합니다.

모델 정보:

  • 이 패키지에 포함된 사전 학습된 모델은 Bubbliiiing이 PASCAL VOC 데이터셋을 사용하여 학습시킨 YOLOv4-tiny 모델입니다.
  • 해당 모델은 PINTO0309(Katsuya Hyodo)에 의해 ONNX 형식으로 변환되었으며, 이후 Barracuda와 호환되도록 추가 변환되었습니다.

설치 및 사용 방법:

  1. Unity 프로젝트에 이 저장소를 클론하거나 다운로드하여 추가합니다.
  2. 프로젝트 설정에서 Barracuda 패키지가 설치되어 있는지 확인합니다.
  3. 제공된 예제 장면을 열어 기능을 테스트하거나, 자신의 프로젝트에 스크립트와 리소스를 통합하여 사용합니다.

참고 사항:

  • 일부 사용자들은 Mac 환경에서 성능 문제가 발생할 수 있음을 보고하였습니다.
  • 모델 변환 및 사용과 관련된 추가 정보는 GitHub 저장소를 참고하시기 바랍니다.

자세한 내용과 최신 정보는 GitHub 저장소를 참고하시기 바랍니다.

 

https://github.com/keijiro/YoloV4TinyBarracuda

 

GitHub - keijiro/YoloV4TinyBarracuda: YOLOv4-tiny on Unity Barracuda

YOLOv4-tiny on Unity Barracuda. Contribute to keijiro/YoloV4TinyBarracuda development by creating an account on GitHub.

github.com


 

TinyYOLOv2BarracudaYoloV4TinyBarracuda는 모두 Unity의 Barracuda를 활용한 객체 탐지 프로젝트이지만, 사용된 YOLO(You Only Look Once) 모델 버전과 기능에서 차이가 있습니다. 두 버전을 비교하여 설명하겠습니다:


1. TinyYOLOv2Barracuda

  • 모델 버전: YOLOv2의 경량화된 버전인 Tiny YOLOv2
  • 특징:
    • YOLOv2는 비교적 초기 버전으로, 빠르고 가벼운 모델입니다.
    • 더 적은 연산량으로 실시간 객체 탐지가 가능하지만, 최신 모델에 비해 정확도가 낮을 수 있습니다.
    • ONNX Model Zoo에서 제공하는 Tiny YOLOv2 모델을 사용합니다.
    • CPU와 GPU를 모두 지원하며, GPU 전용 시각화와 CPU 기반 시각화 샘플이 제공됩니다.
  • 장점:
    • 낮은 하드웨어 요구사항
    • 빠른 연산 속도
  • 단점:
    • 최신 YOLO 모델들에 비해 객체 탐지 정확도와 성능이 낮음.

2. YoloV4TinyBarracuda

  • 모델 버전: YOLOv4의 경량화된 버전인 YOLOv4-Tiny
  • 특징:
    • YOLOv4는 YOLO 시리즈의 최신 기술을 포함한 모델로, YOLOv2에 비해 탐지 정확도와 성능이 크게 개선되었습니다.
    • YOLOv4-Tiny는 YOLOv4의 경량화된 버전으로, 빠른 속도와 상대적으로 높은 정확도를 제공합니다.
    • PASCAL VOC 데이터셋을 기반으로 학습된 사전 학습 모델을 사용하며, ONNX 모델을 Barracuda와 호환되도록 변환한 후 사용합니다.
  • 장점:
    • 최신 기술을 반영하여 높은 탐지 정확도 제공
    • 경량화된 모델로 높은 성능과 속도 유지
  • 단점:
    • YOLOv2보다 하드웨어 요구사항이 더 높을 수 있음.

주요 차이점 요약

특성 TinyYOLOv2Barracuda YoloV4TinyBarracuda
모델 버전 Tiny YOLOv2 YOLOv4-Tiny
정확도 중간 (초기 YOLO 모델 기반) 높음 (최신 YOLO 기술 기반)
속도 매우 빠름 (가벼운 모델) 빠름 (최적화된 경량화 모델)
데이터셋 ONNX Model Zoo 기본 데이터셋 PASCAL VOC 기반 학습 모델
하드웨어 요구사항 낮음 중간 (정확도를 위해 더 높은 요구사항 가능)
Barracuda 지원 GPU 및 CPU 샘플 제공 GPU 기반 초점

어떤 것을 선택해야 할까?

  • TinyYOLOv2Barracuda:
    • 가벼운 모델이 필요하거나 저사양 환경에서 객체 탐지를 수행하고 싶을 때 적합합니다.
    • 빠른 결과가 중요하고, 높은 정확도가 크게 필요하지 않은 경우 사용하기 좋습니다.
  • YoloV4TinyBarracuda:
    • 최신 모델과 더 높은 정확도가 필요한 경우 선택합니다.
    • 상대적으로 고성능 하드웨어(GPU)를 활용할 수 있는 환경에서 적합합니다.

두 버전 모두 Unity 환경에서 객체 탐지를 수행하기 위한 훌륭한 도구이며, 프로젝트의 요구사항에 따라 적합한 버전을 선택하면 됩니다.