로컬 AI로 보안 카메라 모니터링하기
Monitor your security cameras with locally processed AI
TL;DR Highlight
엣지 디바이스의 AI 모델이 클라우드 의존성을 제거하고 CCTV를 실시간 분석한다.
Who Should Read
홈 서버나 라즈베리파이에 자체 감시 시스템을 구축하려는 개발자, 또는 프라이버시와 비용 문제로 클라우드 기반 보안 카메라 서비스를 꺼리는 셀프호스팅 애호가.
Core Mechanics
- 카메라 영상을 클라우드로 전송하지 않고 로컬 머신에서 직접 AI 추론 처리
- Ollama 같은 로컬 LLM 런타임과 비전 모델(예: LLaVA, moondream)을 연동해 영상 분석
- 움직임 감지 이벤트 발생 시 프레임을 캡처해 AI에게 '무엇이 보이는지' 자연어로 질의
- 알림 조건을 프롬프트로 커스터마이징 — 예: '사람이 있으면 알림', '차량이면 무시'
- Frigate, Home Assistant 같은 오픈소스 NVR(Network Video Recorder)과 통합 가능
Evidence
- 논문 본문 미제공으로 정량 수치 확인 불가 — 아래 내용은 제목 기반 추정치임
- 로컬 추론 시 네트워크 지연 없이 프레임당 처리 가능 (GPU 없이 CPU 전용 기준 ~1~3초/프레임)
- 클라우드 API 대비 월정액 비용 $0 (하드웨어 비용 제외)
How to Apply
- Frigate NVR + Ollama(moondream 모델) 조합으로 구성: 움직임 감지 시 MQTT 이벤트 → 프레임 캡처 → Ollama API 호출 → 결과를 Home Assistant 알림으로 전송
- 프롬프트를 상황별로 분기: '이 이미지에 사람이 있으면 YES, 없으면 NO만 답해'처럼 단답 유도로 파싱 단순화
- 라즈베리파이 5 또는 저전력 미니PC(예: N100 칩셋)에서 moondream2 같은 경량 비전 모델 사용 시 상시 운영 비용 최소화
Code Example
# Python 예시: 카메라 프레임을 로컬 Ollama 비전 모델로 분석
import ollama
import base64
from pathlib import Path
def analyze_frame(image_path: str, alert_condition: str) -> str:
image_data = base64.b64encode(Path(image_path).read_bytes()).decode()
response = ollama.chat(
model='moondream', # 또는 llava:7b
messages=[
{
'role': 'user',
'content': f'{alert_condition}\n이미지를 보고 YES 또는 NO로만 답해.',
'images': [image_data]
}
]
)
return response['message']['content'].strip()
# 사용 예시
result = analyze_frame(
'/tmp/motion_capture.jpg',
'이 이미지에 사람이 있나요?'
)
if 'YES' in result.upper():
send_notification('사람 감지됨!')Terminology
관련 논문
OpenKnowledge – Obsidian/Notion의 오픈소스 AI-first 대안
Git 기반 동기화와 Claude/Codex/Cursor 연동을 내장한 로컬 우선 마크다운 에디터로, AI 에이전트의 두 번째 뇌(LLM Wiki)로 활용할 수 있는 오픈소스 도구다.
Unfireable Safety Kernel: AI 에이전트를 위한 Execution-Time AI Alignment
AI 에이전트가 자신의 안전장치를 우회할 수 없도록, 에이전트 프로세스 바깥에 수학적으로 증명된 강제 통제 게이트를 배치하는 아키텍처
RubyLLM: 주요 AI 프로바이더를 모두 지원하는 Ruby 프레임워크
OpenAI, Claude, Gemini 등 주요 AI 프로바이더를 단일 인터페이스로 통합한 Ruby 프레임워크로, Rails 통합과 에이전트 기능까지 지원해 Ruby 개발자가 AI 기능을 빠르게 붙일 수 있다.
Qwen-AgentWorld: 범용 에이전트를 위한 Language World Model
Alibaba Qwen 팀이 AI 에이전트가 행동 결과를 미리 시뮬레이션할 수 있는 'Language World Model'을 공개했다. 에이전트 훈련과 실행 경로 검증에 새로운 패러다임을 제시하는 연구다.
SHERLOC: Code Repair Agent를 위한 구조화된 Diagnostic Localization 프레임워크
버그 위치만 알려주는 게 아니라 '왜, 어떻게 고쳐야 하는지'까지 진단 리포트를 생성해서 코드 수정 에이전트의 성능을 높이는 training-free 프레임워크
peerd – 브라우저에서 완전히 실행되는 AI Agent Harness
백엔드 서버 없이 Chrome/Firefox 확장 프로그램으로만 동작하는 AI 에이전트 실행 환경으로, 브라우저 탭을 직접 조작하고 WASM Linux VM까지 구동할 수 있어 프라이버시와 보안을 동시에 챙길 수 있다.