N100 미니PC와 OpenVINO로 Frigate NVR 구축하기

N100 미니PC와 OpenVINO로 Frigate NVR 구축하기

Frigate NVR은 객체 감지를 지원하는 오픈소스 NVR(네트워크 비디오 레코더)로, 일반적으로 **구글 코랄 TPU(Google Coral TPU)**와 같은 장치를 이용해 최적화된 성능을 낼 수 있다.

하지만 구글 코랄 TPU에는 몇 가지 단점이 있다.
✔ NVMe E, B+M 타입으로 출시되어 호환되는 보드를 저렴하게 구하기 어렵다.
✔ 출시된 지 오래되어 최신 AI 모델을 돌리기엔 성능이 충분하지 않다.

그렇다면, TPU 없이 Frigate NVR을 구동할 방법은 없을까?
이제는 N100 미니PC와 OpenVINO를 활용하면 TPU 없이도 부하가 적은 객체 감지가 가능하다! 🚀


💡 기존 CPU 기반 객체 감지의 문제점

과거에는 TPU 없이 객체 감지를 하려면 CPU를 활용해야 했다.

하지만 이 방식은 엄청난 리소스를 소모했다.

📌 예시: CPU 기반 객체 감지 부하
🔹 HD 화질(5FPS) 비디오에서 객체 탐지 시, CPU 리소스를 거의 100% 사용
🔹 다수의 카메라를 운영하면, 서버 부하가 급격히 증가

이처럼 CPU만으로 객체 감지를 수행하는 것은 비효율적이었다. 하지만 이제는 시대가 바뀌었다! 🎉


🖥️ N100 미니PC + OpenVINO로 Frigate NVR 구축하기

요즘 N100 미니PC는 저렴하고 성능도 뛰어나서 Frigate NVR을 구현하는 데 매우 적합하다.

📌 OpenVINO를 활용한 객체 감지 설정

구글 코랄 TPU 대신 Intel의 OpenVINO를 사용하면, GPU 가속을 통해 부하를 최소화하면서 Frigate NVR에서 객체 감지를 원활하게 수행할 수 있다.

Frigate 공식 문서에서도 OpenVINO를 활용한 설정이 가능하다고 안내하고 있다.
🔗 Frigate 공식 문서 참고


📄 OpenVINO 기반 Frigate NVR 설정 방법

아래 설정을 Frigate NVR 설정 파일에 추가하면 객체 감지를 사용할 수 있다.

detectors:
  ov:
    type: openvino
    device: GPU

model:
  width: 300
  height: 300
  input_tensor: nhwc
  input_pixel_format: bgr
  path: /openvino-model/ssdlite_mobilenet_v2.xml
  labelmap_path: /openvino-model/coco_91cl_bkgr.txt

이 설정만 추가하면 TPU 없이도 객체 감지가 가능하다!


🎯 OpenVINO 설정, 어느 정도 성능이 나올까?

✔ 카메라 몇 대만 객체 감지가 필요하다면, 위 설정만으로 충분히 동작한다.
✔ 여러 대의 카메라를 운영할 경우, OpenVINO 기반 최적화 설정을 추가하는 것이 좋다.


🛠 마무리: TPU 없이도 Frigate NVR은 가능하다!

이제 구글 코랄 TPU 없이도 N100 미니PC + OpenVINO 조합으로 부하를 최소화하면서 Frigate NVR을 원활하게 운영할 수 있다.

✔ TPU 없이도 객체 감지가 가능
✔ 저렴한 N100 미니PC 활용 가능
✔ CPU 부하 최소화 & GPU 가속 활용

이제 TPU 없이도 Frigate NVR을 구축해 보자! 🚀