Frigate NVR 오인식 해결 가이드: N100에서 YOLOv9 적용으로 정확도 높이기

3줄 요약

  • 핵심: Frigate NVR 오인식 해결 가이드: N100에서 YOLOv9 적용으로 정확도 높이기의 설치/구성 흐름을 한 번에 따라갈 수 있도록 단계와 체크포인트를 정리했습니다.
  • 실전: 실패가 잦은 구간(권한, 네트워크, 버전/의존성)을 먼저 점검해 재시도 비용을 줄입니다.
  • 운영: 적용 후 검증 기준(로그·접속·동작 확인)을 남겨 유지보수 난이도를 낮춥니다.

트러블슈팅

  • 설정 적용이 안 되면 브라우저 캐시/서비스 재시작 후 동일 증상을 로그 기준으로 재현하세요.
  • 외부 접속 문제가 있으면 DNS/포트포워딩/리버스프록시 순서로 분리 진단하세요.
  • 업데이트 이후 오류는 직전 버전·설정 백업 기준으로 롤백 경로를 먼저 확보하세요.

결론 + 다음 단계

이 글의 절차를 기준으로 기본 동작을 안정화한 뒤, 모니터링/백업/자동복구를 추가하면 장기 운영 품질이 크게 올라갑니다.

내부 링크

이 글은 Frigate NVR에서 오인식(오탐/미탐)을 줄이기 위해 N100 환경에 YOLOv9을 적용하는 방법을 정리한다. 핵심은 모델을 바꾸는 것만이 아니라, 카메라/ROI/threshold 등 설정을 함께 조정해 실제 정확도를 끌어올리는 것이다.

이 글의 목표(성공 기준)

  • Frigate에서 YOLOv9 디텍터가 정상 동작한다.
  • 오탐/미탐이 체감상 줄고, 이벤트/알림 품질이 개선된다.
  • 문제 발생 시(모델 로딩/성능/CPU 사용률) 점검 순서가 정리되어 있다.

1. 우리 집 CCTV는 연기를 사람이라 부른다

평화로운 나의 홈랩(HomeLab) 세계에서 Frigate NVR은 꽤 든든한 파수꾼이었다. N100이라는 저전력 미니 PC 한 대에 Proxmox를 올리고, LXC 컨테이너로 도커를 돌려 만든 이 시스템은 내 스마트 홈의 자부심이기도 했다. 심지어 **얼굴 인식까지 성공해서 도어락을 연동**했을 때만 해도 나는 내가 홈 시큐리티계의 전설이라도 된 줄 알았다.

하지만 현실은 그리 호락호락하지 않았다. 밤이 오자 이 녀석이 ‘과잉 충성’을 시작한 것이다. 새벽 2시, 스마트폰 진동 소리에 눈을 뜨면 “Person Detected”라는 알림이 떠 있다. 심장이 덜컥 내려앉아 화면을 확인해 보면, 정작 보이는 건 우리집 보일러 굴뚝에서 모락모락 피어오르는 하얀 연기뿐이다.

바람에 흔들리는 나뭇가지 그림자를 보고 “주인님! 침입자입니다!”라고 확신에 차서 외쳐대는 Frigate의 순수함(?)을 보고 있자니, 이제는 기본 모델인 MobileNet을 놓아줄 때가 됐음을 직감했다. 아무래도 이 녀석, 시력 교정이 좀 필요해 보였다.

특히나 n8n 자동화를 하거나 요즘 핫한 Clawdbot(클로드봇), 홈 어시스턴트 연동을 건다고 생각하면 이 객체 감지의 정확성은 더할나위 없이 중요해진다.


2. N100 미니 PC의 새로운 눈, 후보 모델 정밀 비교

고가의 Coral TPU가 없는 나 같은 서민 홈랩 유저에게 N100의 내장 그래픽(iGPU)을 활용한 OpenVINO 가속은 선택이 아닌 생존이다. Gemini와 머리를 맞대고 어떤 ‘눈’을 새로 끼워줄지 고민하며 모델별 상세 스펙을 비교해 보았다.

모델명아키텍처N100 추론 속도 (ms)정확도 (mAP)오인식 내성비고
MobileNet-SSDv1/v28 ~ 12ms낮음매우 낮음기본 모델. 빛 번짐과 연기에 쥐약.
YOLOv8nNano18 ~ 22ms중간보통가볍지만 원거리 객체 인식률 아쉬움.
YOLOv9sSmall28 ~ 35ms높음우수N100 iGPU의 잠재력 최대 활용.
YOLO-NASNAS55ms 이상매우 높음최상N100이 감당하기엔 너무 무거운 그녀.

내가 결국 YOLOv9s를 선택한 이유

처음엔 속도가 깡패인 YOLOv8n을 고려했다. 하지만 홈랩의 본질은 결국 ‘안정성’과 ‘신뢰’가 아닌가. 10ms의 속도 차이를 얻느니, 차라리 10ms를 더 쓰더라도 새벽에 보일러 연기 때문에 깨는 일을 없애는 게 더 가치 있다고 판단했다.

YOLOv9는 최신 SOTA(State-of-the-Art) 모델답게 객체를 분리해내는 능력이 탁월하다. 특히 N100의 iGPU 가속을 타면 30ms 내외로 끊어주는데, 이건 실시간 감시용으로 ‘가장 이상적인 밸런스’다. 더 자세한 모델 가이드가 필요하다면 **Frigate 공식 문서**를 정독해 보자.


3. 삽질의 시작: 경로와 오타의 늪

자, 이제 수술을 시작할 시간. Gemini에게 질문을 하고 그에 맞는 터미널에 명령어를 때려 박기 시작했다. 참고로 나는 root 권한이기 때문에 sudo는 생략했다. 경우에 따라 필요하다면 앞에 sudo를 붙여주면 된다.

Step 1: 모델 파일 가져오기

먼저 모델 파일을 저장할 전용 보관소를 만든다. 경로를 헷갈리면 나중에 컨테이너가 “파일이 어디 있느냐”며 울부짖으니 정신을 똑바로 차려야 한다.

Bash

# 모델 저장 폴더 생성 (root 홈 디렉토리 기준)
mkdir -p ~/config/model_cache
cd ~/config/model_cache

# YOLOv9s ONNX 모델과 객체 라벨 파일 다운로드
wget https://github.com/blakeblackshear/frigate/raw/main/docs/docs/configuration/models/yolov9s.onnx
wget https://github.com/blakeblackshear/frigate/raw/main/docs/docs/configuration/models/coco-80.txt

Step 2: 심장 이식(config.yml 수정)

Frigate에게 새 모델을 썼으니 이걸로 세상을 보라고 지시해야 한다. 여기서 주의할 건 YAML 특유의 ‘들여쓰기 지옥’이다. 8번 줄 주변에서 공백 한 칸만 틀려도 컨테이너는 사망한다.

YAML

detectors:
  ov:
    type: openvino
    device: AUTO     # N100의 GPU를 알아서 찾아 써라
    num_threads: 3   # 컨테이너 자원 싸움을 방지하기 위한 안전장치
    model:
      path: /config/model_cache/yolov9s.onnx
      labelmap_path: /config/model_cache/coco-80.txt
      width: 640
      height: 640
      input_tensor: nchw
      input_pixel_format: rgb

4. Gemini는 나의 구원자

설정 중간에 FileNotFoundError가 떴을 땐 정말 앞이 깜깜했다. 분명히 파일을 넣었는데 없단다. 이때 내 조수 Gemini가 등판했다. 로그를 보여주니 “지금 호스트 경로와 컨테이너 내부 경로가 따로 놀고 있어요!”라며 팩폭을 날려주더라.

Docker Compose 볼륨 매핑이 꼬였을 때의 해결책으로 docker cp 명령어를 알려주는데, 마치 가뭄에 단비 같았다. 역시 인공지능 시대에 홈랩은 혼자 하는 게 아니라 똑똑한 조수 한 명 끼고 하는 거라는 걸 다시금 깨달았다.


5. 결과 보고: 30ms의 마법과 60도의 평화

모든 수술이 끝나고 docker compose up -d를 날렸다. 로그에 에러 대신 깨끗한 메시지가 올라오는 걸 볼 때의 그 카타르시스란!

  • 추론 속도: 평균 30ms 근처다. 1초에 약 33번 판단한다는 뜻인데, 초당 5프레임 정도로 설정한 내 환경에선 카메라 5대 정도는 껌이다.
  • 시스템 상태: GPU가 열일을 하니 CPU는 여유롭다. 온도는 55~60도 사이. N100 미니 PC가 땀도 안 흘리고 조용히 일하는 걸 보니 흐뭇하다.
  • 오인식 개선: 이제 굴뚝 연기는 그냥 ‘연기’로 남는다. 더 이상 나를 깨우는 가짜 알림은 없다. 나뭇가지 그림자도 이제는 침입자가 아니라 자연의 일부로 받아들여진다.

마치며: 홈랩은 계속되어야 한다

홈랩의 완성은 장비 구축이 아니라 최적화에 있다는 걸 이번에도 뼈저리게 느꼈다. 우리가 가진 저렴한 하드웨어로 최신 AI 기술을 돌리는 것, 그게 바로 공대생 감성 아니겠나.

혹시 Frigate 사용 중 객체 오인식으로 고민하고 있다면 당장 YOLOv9로 갈아타는 것을 권장한다. 설정이 좀 귀찮을 순 있어도, 약간의 GPU를 더 사용하는 단점에 비해서 오감지는 획기적으로 줄어들기 때문이다.

함께 보면 좋은 글

연관 글을 같이 보면 설정과 운영 흐름을 더 빠르게 익힐 수 있습니다.

댓글 남기기

WordPress Appliance - Powered by TurnKey Linux