AI (인공지능): 서버

정보

Agent DVR는 DeepStack AI, CodeProject AI, PlateRecognizer.com, Claude, Gemini, OpenAI(ChatGPT) 및 Ollama, vLLM, LM Studio와 같은 로컬 LLM과 완전히 통합되어 스마트 알림 필터링, 객체 인식, 장면 인식 및 지능형 이벤트 제어를 추가합니다.

DeepStack 및 CodeProject AI 외에도 동일한 API를 지원하는 다른 AI 서버를 사용할 수 있습니다:

객체 인식 & 컴퓨터 비전

클라우드 AI 서비스

로컬 AI 서버(LLM)

참고: 클라우드 AI 서비스는 API 키가 필요하며 사용 비용이 발생할 수 있습니다. 로컬 AI 서버는 자신의 하드웨어에서 실행되며 데이터를 비공개로 유지하지만 더 많은 시스템 리소스가 필요합니다.

AI 모델 추가

사용자 정의 AI 모델을 사용하면 Agent DVR의 객체 감지 기능을 확장할 수 있습니다. 예를 들어 야생동물, 배송 차량 또는 학습된 모델이 찾을 수 있는 다른 항목을 인식할 수 있습니다. 자신의 모델 파일을 Agent DVR에 추가하려면 서버 설정 > AI 설정으로 이동하여 AI 모델 아래의 객체 인식을 클릭합니다. Agent는 Agent DVR용으로 성능을 조정한 두 개의 사전 구축된 모델과 함께 제공됩니다.

모델을 설정하기 전에 Agent DVR의 모델 폴더에 추가해야 합니다(AI 모델 구축 참조). 이는 보통 Agent/Media/Models/ONNX에 있습니다(경로는 OS에 따라 다를 수 있습니다). 전체 경로는 확실하지 않은 경우 모델 추가 페이지에 표시됩니다. Agent는 .onnx 모델을 사용합니다. Python 도구를 사용하여 다른 AI 모델 형식을 ONNX로 변환할 수 있습니다.

모델을 구축하고 복사한 후 Agent에 추가하는 것은 간단합니다. 클릭하여 모델을 추가합니다:

  • 이름: 모델에 이름을 지정합니다. 아무 이름이나 지정할 수 있습니다.
  • 설명: 모델이 수행하는 작업에 대한 선택적 설명입니다.
  • 모델 파일: 폴더에 복사한 모델 파일명을 선택합니다.
  • 레이블: 모델이 찾는 레이블(또는 "클래스") 목록을 따옴표 없이 CSV 형식으로 입력합니다(공백은 자동으로 제거됩니다).
  • 레이아웃: 모델이 NCHW인지 NHWC인지 선택합니다. 확실하지 않은 경우 대부분의 모델은 NCHW입니다.
  • 채널 순서: 모델이 이미지를 RGB로 할지 BGR로 할지 선택합니다. 대부분의 모델은 RGB를 사용합니다. 모델이 단일 채널(그레이스케일)인 경우 이는 무시됩니다.
  • 정규화: 데이터를 모델에 사용하기 전에 정규화하는 방법을 선택합니다. 대부분의 모델은 재조정(0-1)을 사용하며, 이는 픽셀 값을 255로 나눕니다.
  • 이미지 패딩: 이는 이미지를 입력 크기로 늘일지 검은색 막대로 패딩할지를 제어합니다. 일반적으로 정확도를 위해 이미지를 패딩하는 것이 더 좋습니다.
  • NMS 있음: 모델이 이미 내부적으로 비최대값 억제를 수행하는 경우 확인합니다. 그렇지 않으면 Agent가 자체적으로 NMS를 수행합니다. NMS는 결과 사각형이 필터링되는 방식을 제어합니다.
  • 기본 NMS: NMS의 겹침 제한기를 설정합니다(기본값은 45% 겹침).

모델을 추가하면 장치의 객체 인식 탭에서 사용할 수 있습니다. 문제가 있는 경우 모델 설정으로 돌아가서 변경할 수 있습니다. Agent는 또한 모델 파일 다시 로드를 지원하므로 실행 중이어도 새 버전으로 덮어쓸 수 있습니다.

AI 서버 설정

Agent DVR의 최신 버전에는 AI가 내장되어 있어 훨씬 더 빠른 처리와 낮은 오버헤드를 가능하게 합니다. 느린 AI 서버 대신 실시간으로 응답할 수 있는 로컬 AI를 사용하세요.
AI Server List

AI 서버를 설정하려면 Agent DVR 주 인터페이스의 오른쪽 상단에 있는 아이콘을 클릭합니다. 그 다음에 구성 아래의 설정을 클릭하고, 드롭다운 메뉴에서 AI 설정을 선택한 후 AI 서버를 클릭합니다.

Agent DVR은 객체 인식, 얼굴 인식, ALPR(자동 번호판 인식) 및 초고해상도(향상) 등 다양한 AI 기능을 위해 CodeProject.AI와 통합됩니다. PlateRecognizer.com도 ALPR 제공자로 지원됩니다. CodeProject.AI는 오픈 소스이며 무료이고 대부분의 플랫폼과 호환됩니다.

시작하려면 사용자의 플랫폼에 맞는 AI 서버를 설치하고 AI 서버를 클릭한 후 추가를 눌러 Agent DVR을 연결하세요.

필요한 만큼 많은 AI 서버를 Agent DVR에 추가할 수 있습니다. Agent DVR의 카메라는 각 기능마다 다른 AI 서버를 사용하도록 설정하거나, 모든 작업 목록에 하나의 AI 서버를 사용할 수 있습니다.

경고: AI 처리는 리소스를 많이 소비할 수 있습니다. 컴퓨터에 이를 실행할 충분한 전원이 있는지 확인하세요.

서버 구성

  • 이름: 서버의 이름을 지정합니다. 예: Cat Catcher.
  • AI 서버 URL: AI 서버의 URL을 입력합니다. 예: http://localhost:32168/
  • API 키: 설정한 경우 키를 입력합니다(선택 사항).
  • 시간 초과: 서버 요청의 시간 초과(초 단위).
  • 재시도 지연 시간: 이 서버에 대한 실패한 요청을 재시도하기 전의 시간(초 단위).

확인을 클릭하여 설정을 저장하세요.

OpenAI 사용

OpenAI("ChatGPT")를 설정하여 비디오 피드에서 발생하는 상황에 대한 질문에 답하도록 하려면 서버 설정 - AI 설정으로 이동하여 AI 질문 아래에서 "OpenAI"를 선택하세요.

  • URL: 서비스의 URL을 입력하세요. 기본값은 "https://api.openai.com/v1/responses"입니다.
  • OpenAI API 키: OpenAI에 등록한 후 API 키 페이지로 이동하여 새 비밀 키를 생성하세요. 이 키를 복사하여 지정된 필드에 붙여넣으세요.
  • 모델: 사용할 모델을 지정하세요. 기본값은 gpt-5.4-mini입니다. OpenAI는 나중에 이를 제거하거나 변경할 수 있습니다.
  • 최대 토큰 수: 요청당 최대 토큰 사용량을 설정합니다. 문제가 발생하면 /logs.html의 로그를 확인하세요. 토큰 사용량과 관련된 문제일 수 있습니다.

OpenAI를 설정한 후 AI 질문을 참조하여 카메라 피드에서 발생하는 상황에 대한 일반적인 질문에 답하는 데 사용하는 방법에 대한 사용 방법을 확인하세요.

Claude 사용

Claude AI를 설정하여 비디오 피드에서 발생하는 상황에 관한 질문에 답하도록 하려면 서버 설정 - AI 설정으로 이동하고 AI 질문 아래에서 "Claude"를 선택합니다.

  • URL: 서비스의 URL을 입력합니다. 기본값은 "https://api.anthropic.com/v1/messages"입니다.
  • Claude API 키: Claude에 가입한 후 API 키 페이지를 방문하고 새로운 비밀 키를 생성합니다. 이 키를 복사하여 필드에 붙여넣습니다.
  • 버전: 사용할 API 버전을 지정합니다. 기본값은 2023-06-01입니다. 이는 Anthropic에 의해 어느 시점에 제거되거나 변경될 수 있습니다.
  • 모델: 사용할 모델을 지정합니다. 쓰는 소리 기준 기본값은 claude-sonnet-4-6(Claude Sonnet 4.6)입니다.
  • 최대 토큰 수: 요청당 최대 토큰 사용량을 제어합니다. 토큰 사용량과 관련된 문제가 있는 경우 /logs.html의 로그를 확인합니다.

Claude를 구성한 후 AI 질문을 참조하여 카메라 피드에서 일반적인 시나리오를 인식하는 방법을 알아봅니다.

Gemini 사용

비디오 피드에서 일어나는 일에 대한 질문에 답하도록 Gemini를 설정하려면 서버 설정 - AI 설정으로 이동하여 AI 질문 아래에서 "Gemini"를 선택하세요.

  • URL: 서비스에 대한 URL을 입력하세요. 기본값은 "https://generativelanguage.googleapis.com"입니다.
  • Gemini API 키: Gemini에 가입한 후 API 키 페이지를 방문하여 새 비밀 키를 만드세요. 이 키를 복사하여 필드에 붙여넣으세요.
  • 버전: 사용할 API 버전을 지정하세요. 기본값은 v1beta입니다. 이는 Google에서 언제든지 제거되거나 변경될 수 있습니다.
  • 모델: 사용할 모델을 지정하세요. 작성 시점의 기본값은 gemini-2.5-flash입니다. API 키를 입력한 후 Agent는 계정에서 사용 가능한 비전 모델을 나열합니다.
  • 최대 토큰 수: 요청당 최대 토큰 사용량을 제어합니다. 토큰 사용량과 관련된 문제가 있는 경우 /logs.html의 로그를 확인합니다.

Gemini를 설정한 후 AI 질문을 참고하여 카메라 피드에서 일반적인 시나리오를 인식하는 방법을 알아보세요.

다른 LLM 서버 사용

Agent DVR가 카메라에서 캡처한 이미지를 설명하고 비디오 스트림에서 일어나는 상황에 대한 질문에 답하기 위해 자신의 로컬 LLM 서버(vLLM, Ollama, LM Studio 같은)를 사용할 수 있습니다. 설명하기AI 질문을 참조하세요.

로컬 AI 서버를 설정하려면 서버 설정 - AI 설정으로 이동하여 사용하려는 LLM(Ollama, vLLM 또는 LM Studio) 옆의 설정 버튼을 클릭하세요.

  • URL: LLM 서버가 실행 중인 끝점을 지정하세요. 기본 URL은 다음과 같습니다:
    • Ollama:
      http://localhost:11434/api/chat
    • vLLM:
      http://localhost:8000/v1/chat/completions
    • LM Studio:
      http://localhost:1234/v1/chat/completions
  • API 키: LLM 서버에 인증이 필요한 경우 여기에 API 키를 입력하세요. 대부분의 로컬 서버는 특별히 설정되지 않는 한 이것이 필요하지 않습니다.
  • 모델: 이미지 분석에 사용할 비전 지원 모델을 선택하세요. 이 모델을 이미 LLM 서버에 다운로드하고 로드해야 합니다. Agent가 다음을 포함한 인기 있는 옵션들을 제안합니다:
    • Qwen VL 모델(높은 성능)
    • Gemma 4(다양한 크기 범위)
    • Llama 3.2 Vision(Meta)
    • Mistral Small 3.1
    • moondream(매우 작음, 저사양 하드웨어에 좋음, Ollama만 해당)
  • 온도: 응답의 창의성과 정확성을 제어합니다(0.0-1.0). 낮은 값(0.3-0.4)은 더 객관적이고 일관성 있는 설명을 생성합니다. 높은 값(0.6-0.8)은 더 다양하고 창의적인 응답을 생성합니다. 권장 사항: 보안 카메라 분석의 경우 0.4입니다.
  • 최대 토큰 수: AI 응답의 최대 단어/토큰 수입니다. 높은 값은 더 자세한 설명을 허용하지만 생성하는 데 시간이 더 오래 걸립니다. 권장 사항: 자세한 이미지 분석의 경우 300-500, 간단한 설명의 경우 150-250입니다.
  • top_p: 어휘 선택을 제한하여 응답 다양성을 제어합니다(0.0-1.0). 낮은 값은 더 일반적인 단어를 사용하고, 높은 값은 더 다양한 어휘를 허용합니다. 권장 사항: 정확성과 자연스러운 언어의 좋은 균형을 위해 0.9입니다.
  • top_k: 모델을 상위 K개의 가장 가능성 높은 다음 단어에서 선택하도록 제한합니다. 낮은 값(20-40)은 더 집중된 응답을 생성하고, 높은 값(80-100)은 더 다양한 결과를 허용합니다. 권장 사항: 신뢰할 수 있는 이미지 설명의 경우 50입니다.
참고: 선택한 LLM 서버를 별도로 설치하고 설정해야 합니다. Agent DVR을 설정하기 전에 비전 지원 모델을 다운로드했는지 확인하세요. 보안 카메라를 사용하는 최고의 결과를 위해서는 최소 7B 매개변수가 있는 모델을 사용하고 시스템에 충분한 VRAM(5GB 이상 권장)이 있는지 확인하세요.

PlateRecognizer.com 사용

Agent DVR에서 LPR(ANPR 또는 번호판 인식)을 설정하려면 서버 설정 - AI 설정으로 이동하여 Plate Recognizer 아래에 자세한 정보를 입력합니다. Plate Recognizer에서 무료 평가판에 가입하세요. 신용카드가 필요하지 않습니다.

  • URL: 서비스의 URL을 입력합니다. 기본값은 "https://api.platerecognizer.com/v1/plate-reader/"이거나 자신의 인스턴스를 호스팅하는 경우 자신의 서버를 사용합니다.
  • 토큰: Plate Recognizer에 가입한 후 계정 페이지를 방문하여 API 토큰을 복사합니다.
  • 지역: 기본값으로 비워두거나 지역의 CSV 목록을 입력합니다.
  • 설정: 필요한 경우 문서의 추가 구성 값을 입력합니다.

DoubleTake 사용

DoubleTake는 다음을 사용하여 얼굴 인식을 처리하기 위한 통합 API를 제공하는 오픈 소스 플랫폼입니다:

  • CompreFace
  • Amazon Rekognition
  • DeepStack
  • CodeProject.AI Server
  • Facebox

DoubleTake를 설치하고 선호하는 얼굴 인식 옵션으로 설정해야 합니다.

DoubleTake를 설정한 후 Agent DVR을 열고 서버 설정 - AI 설정으로 이동한 다음 DoubleTake 옆의 설정 버튼을 클릭합니다.

DoubleTake 서버의 URL(예: http://localhost:3000/)과 설정한 경우 비밀번호를 입력합니다.

확인을 클릭한 다음 카메라를 편집하고 얼굴 인식으로 이동합니다. AI 서버 옵션을 DoubleTake로 설정하고 필요에 따라 얼굴 인식을 설정합니다.

AI 모듈 관리

AI 모듈

위에서 참조한 AI 서버 목록에서 AI 서버를 설정, 테스트, 편집 및 제거할 수 있는 옵션이 있습니다. 설정 단추를 클릭하여 선택한 서버에서 사용 가능하거나 설치된 모듈을 표시합니다.

Agent DVR은 서버에서 현재 모듈 목록을 검색하고 각 모듈을 설치, 제거, 설정 및 테스트하기 위한 사용자 인터페이스를 제공합니다. 모든 기본 CodeProject.AI 모듈에 대해 지원되지만 Agent DVR은 이 중 일부만 사용합니다.

객체 인식 모듈 옵션 중 하나만 설치하는 것이 좋습니다. 각 모듈의 설명을 검토하여 시스템에 가장 적합한 모듈을 결정합니다.

Agent DVR에서 ALPR(자동 번호판 인식), 초고해상도 또는 얼굴 인식을 사용하려면 이 페이지에서 해당 모듈을 설치해야 합니다. 일반적으로 이러한 모듈에는 기본값 설정으로 충분하지만, 각 모듈 아래의 아이콘을 클릭하여 설정할 수 있습니다.