로컬 객체 인식
Agent DVR는 AI 모델 파일(.onnx)을 사용하는 라이브 실시간 객체 인식을 지원합니다. 이 로컬 AI 객체 감지는 전적으로 자신의 하드웨어에서 실행되므로(클라우드 서비스 불필요), 나무가 움직일 때마다가 아니라 사람이나 자동차처럼 중요한 것이 나타날 때만 알림을 받을 수 있습니다. 이 기능을 사용하려면 라이센스(또는 활성 구독)가 필요합니다. 외부 AI 서버를 사용하도록 Agent를 구성하는 방법은 AI 서버를 참조하세요.
시작하려면 카메라를 편집하고 객체 인식 탭으로 이동하세요. 상단에서 AI 서버를 선택합니다. 기본값은 Agent DVR의 기본 제공 AI인 내부입니다. AI 서버를 사용하려면 서버 설정 - AI 설정 - AI 서버에서 추가한 후 여기서 선택하세요.
다음 세부 정보는 빠른 기본 제공 AI로 Agent DVR을 구성하기 위한 것입니다. 예를 들어 Ultralytics YOLO 모델과 같은 다른 모델을 추가할 수도 있습니다.
- 모델: 사용할 AI 모델을 선택합니다. Agent는 필요에 따라 기본 제공 모델을 자동으로 다운로드합니다. 소형 모델은 저사양 하드웨어 또는 많은 카메라에 적합합니다. 중형 모델은 더 나은 정확도를 제공하지만 더 많은 처리 능력을 사용합니다.
- 모드: AI가 비디오에서 프레임을 처리할 시기를 선택합니다. 간격을 선택하면 Agent는 아래의 처리 속도 필드를 사용하여 비디오 피드를 지속적으로 분석합니다.
- 오버레이 구성: 라이브 비디오에 실시간 결과를 그리도록 설정합니다. 오버레이를 활성화하고, 레이블과 신뢰도를 표시하며, 라인 너비와 색상을 설정하거나 인식된 객체(예: 사람)를 흐리게 처리합니다. 오버레이는 신뢰도 한계를 조정하는 데 유용합니다.
- GPU 사용: CPU 대신 GPU를 사용하려면 선택합니다.
- 장치: 모델을 실행할 장치를 선택합니다.
- 처리 속도: 모드가 간격일 때만 사용됩니다. 프레임이 모델로 전송되는 속도를 제어합니다. 초당 1프레임의 경우 1, 초당 20프레임의 경우 20, 또는 10초마다 1프레임의 경우 0.1을 입력합니다.
- 신뢰도: 모델의 결과를 필터링합니다. 오양성을 줄이려면 이를 더 높게 조정하지만 객체를 놓칠 수도 있습니다.
- 모서리 확인: 자세한 내용은 모서리 확인을 참조하세요.
- 찾기: AI가 감지할 객체를 지정합니다. 여기서 옵션 목록은 모델 구성에서 제공됩니다.
- 정적 객체: 움직이지 않는 객체를 필터링하는 방법을 선택합니다. 정적 객체 무시는 같은 위치에 반복적으로 감지되는 객체(예: 주차된 자동차)를 무시합니다. 처음 나타날 때는 여전히 알립니다. 이동만은 모션 디텍터가 현재 이동 감지를 보는 객체만 보고하므로 정적 객체는 절대 알리지 않습니다(ONVIF, Reolink, Hikvision 또는 MQTT와 같은 카메라 측 검출기는 영향 없음).
- 움직임 허용치: 정적 객체 확인 시 감지 간의 허용된 이동. 낮은 값은 거의 일치하지 않고, 높은 값은 더 많이 억제합니다. 권장 사항: 40-60.
- 피드백 학습: Agent가 사용자로부터 학습하도록 허용합니다. 이 기능을 활성화하면 알림 뷰어에서 감지를 확인하거나 거부할 수 있으며 Agent는 이 카메라에서 유사한 거짓 알림을 억제하도록 학습합니다. 피드백 학습을 참조하세요.
사용자 정의 모델
AI에 자신의 모델을 추가하려면 모델 파일(.onnx)을 Agent의 모델 폴더에 복사하고 모델 추가를 참조하세요.
동작 목록
객체 인식은 동작 목록에서 사용할 AI: 개체 발견됨 및 AI: 개체 미발견 이벤트를 생성합니다.
사진
사진에 대한 정보는 사진을 참조하세요.
피드백에서 학습
Agent DVR는 카메라별로 피드백에서 학습하여 오경보를 줄일 수 있습니다. 감지가 잘못되었을 때 - 밤에 사람처럼 보이는 수풀, AI가 계속 새라고 부르는 깃발 - Agent에 알려주면 향후 해당 카메라에서 유사한 감지를 억제하도록 학습합니다. 모든 작업이 100% 로컬로 실행됩니다. 이미지나 데이터가 컴퓨터를 떠나지 않으며, 감지 모델 자체는 수정되지 않으므로 언제든 안전하게 사용할 수 있고 쉽게 재설정할 수 있습니다.
사용
카메라를 편집하고 객체 인식 탭으로 이동한 후 피드백 학습을 켭니다. 처음 필요할 때 Agent가 자동으로 작은 임베딩 모델을 다운로드합니다.
피드백 제공
피드백이 활성화된 상태에서 객체 인식으로 생성된 알림은 감지 결과를 이미지와 함께 저장합니다. 알림 패널에서 알림을 열면 각 감지 위에 상자가 그려져 있고 "정확하게 인식했습니까?" 프롬프트가 표시됩니다:
- 맞음: 감지를 확인합니다. 확인된 예제는 유사한 감지가 억제되는 것을 방지합니다.
- 틀림: 감지를 거부합니다. Agent는 해당 카메라 및 객체 유형에 대한 거부된 감지의 모양을 학습합니다. 유사한 모양의 감지를 몇 번 거부한 후(최소 3번) Agent는 자동으로 일치하는 오경보를 억제하기 시작합니다.
버튼을 다시 딸깍 소리내어 언제든 평가를 변경하거나 제거할 수 있습니다.
"정확하게 인식했습니까?" 패널이 축소됩니다 - 헤더를 딸깍 소리내어 프롬프트와 감지 오버레이를 숨기거나 표시합니다. Agent는 선택을 기억하므로(브라우저당) 카메라 성능에 만족하면 패널을 축소하고 깔끔한 알림 이미지만 볼 수 있습니다. 패널을 축소해도 학습은 멈추지 않습니다 - 억제는 계속 작동합니다. 학습을 완전히 중지하려면 대신 카메라에서 피드백 학습을 끕니다(이는 억제도 중지합니다).
알림 억제됨
억제는 의도적으로 보수적입니다 - 감지는 거부된 예제와 명확히 일치하고 확인된 예제와 일치하지 않을 때만 억제됩니다. Agent가 그렇지 않으면 알림이 될 것을 억제할 때 알림 억제됨을 대신 저장하므로 아무것도 조용히 사라지지 않습니다. 알림 패널 헤더의 아이콘을 딸깍 소리내어 표시하거나 숨깁니다(이 아이콘은 알림 억제됨이 있을 때만 나타나며, 별도로 보관되고 일반 알림 개수에 포함되지 않습니다).
Agent가 억제해야 할 것을 억제했다면 알림 억제됨을 열고 감지를 맞음으로 표시합니다 - 이는 유사한 감지에 대한 억제를 즉시 해제합니다.
작동 방식
Agent는 범용 비전 모델을 사용하여 각 감지의 컴팩트한 수학적 "지문"을 생성합니다. 평가는 카메라 및 객체 유형별로 이러한 지문을 확인되거나 거부된 예제로 분류합니다. 미래 감지는 유사성으로 예제와 비교됩니다 - 얼굴 인식에 사용되는 동일한 방식입니다. 선택한 감지 모델 및 클래스는 변경되지 않습니다.
재설정
카메라가 학습한 모든 것을 제거하려면 카메라의 객체 인식 탭에서 학습 내용 지우기를 딸깍 소리내고 확인합니다 - 알림 억제됨은 다시 알림을 시작합니다. 학습된 피드백은 Agent의 XML 폴더의 FeedbackDB.json에 저장됩니다. clearfeedback API 명령도 사용 가능합니다(선택적으로 cameraid 및 label 매개변수 포함). 학습된 피드백(및 학습된 얼굴)은 서버 구성 내보내기/가져오기에 포함되므로 설정과 함께 새 컴퓨터로 이동합니다.
카메라 간 학습 복사
설정 복사를 사용하여 카메라의 학습된 피드백을 다른 카메라에 복사할 수 있습니다 - 섹션 목록에서 객체 인식 아래 학습을 선택합니다. 이는 대상 카메라의 학습을 소스의 복사본으로 바꿉니다. 동일하거나 유사한 장면을 다루는 카메라에 가장 유용합니다 - 학습된 예제는 모양 기반이므로 한 카메라의 수풀에 대한 피드백은 그와 같은 수풀을 볼 수 있는 다른 카메라에만 도움이 됩니다.
Ultralytics YOLO 모델을 ONNX로 변환하기
Agent DVR는 객체 인식을 위해 ONNX 모델 파일을 지원합니다. 미리 학습된 모델을 다운로드하고 몇 단계만으로 ONNX 형식으로 변환할 수 있습니다.
아래 예제는 Ultralytics를 통해 YOLO26s 모델을 사용합니다. YOLO26s는 더 작은 범용 모델이며 우수한 속도/정확도 트레이드오프를 제공합니다.
필수 요구사항
- Python 3.10 이상
- PATH에서 사용 가능한 pip
- 인터넷 연결
- 약 1-2GB의 여유 디스크 공간
단계 1 - Ultralytics 설치
pip install ultralytics
단계 2 - YOLO26s 모델 다운로드
Ultralytics는 처음 사용할 때 미리 학습된 가중치를 자동으로 다운로드합니다:
yolo detect predict model=yolo26s.pt source=https://ultralytics.com/images/bus.jpg
단계 3 - ONNX로 변환
다운로드한 후 모델을 ONNX 형식으로 내보냅니다:
yolo export model=yolo26s.pt format=onnx opset=12 simplify=True
Python 대안
from ultralytics import YOLO
model = YOLO("yolo26s.pt")
model.export(format="onnx", opset=12, simplify=True)
단계 4 - ONNX 파일 찾기
내보낸 yolo26s.onnx 파일은 작업 디렉토리나
runs/export 폴더에 생성됩니다.
단계 5 - Agent DVR로 복사
ONNX 파일을 Agent DVR ONNX 모델 폴더로 옮깁니다(Agent 서버에서). 예를 들면:
Agent\Media\Models\ONNX\
단계 6 - Agent DVR에서 모델 추가
- 서버 설정 > AI 설정 > AI 모델로 이동합니다.
- 객체 인식을 클릭하고 새 모델을 추가합니다.
-
yolo26s같은 이름을 입력하고 드롭다운에서.onnx파일을 선택합니다. - 나머지 옵션은 기본값으로 두고 확인을 클릭합니다.
- 카메라를 편집하고 객체 인식 탭을 열고, 서버를 내부로 설정한 후 새 모델을 선택합니다.
로컬 얼굴 인식
Agent DVR는 AI를 사용하여 실시간 얼굴 인식을 지원하며, 사용자의 자체 하드웨어에서 로컬로 실행됩니다. 누가 문 앞에 있는지 알아보고 인식된 얼굴과 알 수 없는 얼굴에 대해 다른 동작을 실행하는 데 사용할 수 있습니다. 이 기능을 사용하려면 라이선스(또는 활성 구독)가 필요합니다. 외부 AI 서버를 사용하도록 Agent를 구성하는 방법은 AI 서버를 참조하세요.
시작하려면 카메라를 편집하고 얼굴 인식 탭으로 이동합니다. 맨 위에서 AI 서버를 선택합니다. 기본값은 Agent DVR의 내장 AI인 내부입니다. AI 서버를 사용하려면 서버 설정 - AI 설정 - AI 서버에서 추가한 후 여기서 선택합니다.
다음 세부 정보는 빠른 내장 AI로 Agent DVR을 구성하기 위한 것입니다.
- 모드: AI가 비디오에서 프레임을 처리할 시기를 선택합니다. 간격을 선택하면 Agent는 아래의 처리 속도 필드를 사용하여 비디오 피드를 지속적으로 분석합니다.
- 오버레이 구성: 라이브 비디오에서 실시간 결과를 그리도록 설정합니다. 오버레이를 활성화하고, 레이블과 신뢰도를 표시하고, 라인 너비와 색상을 설정하거나 얼굴을 흐리게 합니다. 오버레이는 신뢰도 한계를 튜닝하는 데 유용합니다.
- GPU 사용: CPU 대신 GPU를 사용하려면 선택합니다.
- 장치: 모델을 실행할 장치를 선택합니다.
- 처리 속도: 모드가 간격일 때만 사용됩니다. 프레임이 모델로 전송되는 속도를 제어합니다. 초당 1프레임의 경우 1, 초당 20프레임의 경우 20, 또는 10초마다 1프레임의 경우 0.1을 입력합니다.
- 신뢰도: 이는 모델의 결과를 필터링합니다. 이 값을 높여 거짓 양성을 축소하되, 사람을 놓칠 수도 있습니다.
- 모서리 확인: 자세한 내용은 모서리 확인을 참조하세요.
서버 설정 - AI 설정 - AI 모델 - 얼굴 인식에서 Agent가 사용할 얼굴 인식 모델을 선택할 수 있습니다.
인식할 얼굴
얼굴 편집을 클릭하여 인식할 사람의 사진을 업로드합니다. 결과를 개선하기 위해 같은 사람의 여러 사진을 업로드할 수 있습니다. 파일 시스템에서 이미지를 업로드하거나 내장 웹캠을 사용하여 사진을 캡처할 수 있습니다(SSL 또는 localhost 필요).
동작 목록
얼굴 인식은 동작 목록에서 사용할 AI: 얼굴 인식됨 및 AI: 얼굴 인식 불가 이벤트를 생성합니다.
사진
사진에 대한 정보는 사진을 참조하세요.
로컬 번호판 인식
Agent DVR는 사용자 자신의 하드웨어에서 로컬로 실행되는 라이브 실시간 번호판 인식을 지원합니다. 이를 사용하여 진입로나 주차장으로 들어오는 모든 차량을 기록하고 알려진 번호판이 인식될 때 게이트를 열기 등의 동작을 트리거할 수 있습니다. 이 기능을 사용하려면 라이선스(또는 활성 구독)가 필요합니다. 외부 AI 서버를 사용하도록 Agent를 구성하는 방법은 AI 서버를 참조하세요.
시작하려면 카메라를 편집하고 LPR 탭으로 이동합니다. 상단에서 AI 서버를 선택합니다. 기본값은 Agent DVR의 기본 제공 AI인 내부입니다. AI 서버를 사용하려면 서버 설정 - AI 설정 - AI 서버에서 추가한 후 여기에서 선택합니다.
다음은 기본 제공 빠른 AI로 Agent DVR을 구성하기 위한 자세한 정보입니다.
- 모드: AI가 비디오에서 프레임을 처리할 시기를 선택합니다. 간격을 선택하면 Agent는 아래의 처리 속도 필드를 사용하여 비디오 피드를 지속적으로 분석합니다.
- 오버레이 구성: 라이브 비디오에 실시간 결과를 그리도록 설정합니다. 오버레이를 활성화하고 레이블과 신뢰도를 표시하며 라인 너비와 색상을 설정하거나 감지된 번호판을 흐림 처리합니다. 오버레이는 신뢰도 제한을 튜닝하는 데 유용합니다.
- GPU 사용: CPU 대신 GPU를 사용하려면 이를 선택합니다. 현재 GPU 드라이버 및 런타임 지원으로 인해 Windows 또는 macOS에서만 작동합니다. Linux는 현재 CPU로 폴백됩니다.
- 장치: 모델을 실행할 장치를 선택합니다.
- 처리 속도: 모드가 간격일 때만 사용됩니다. 프레임이 모델로 전송되는 속도를 제어합니다. 초당 1프레임의 경우 1, 초당 20프레임의 경우 20, 또는 10초마다 1프레임의 경우 0.1을 입력합니다.
- 신뢰도: 모델의 결과를 필터링합니다. 오양성을 줄이려면 이를 더 높게 조정하지만 객체를 놓칠 수도 있습니다.
- 모서리 확인: 자세한 내용은 모서리 확인을 참조하세요.
검색할 번호판
- 번호판: 쉼표로 구분된 번호판 목록 또는 번호판이 포함된 CSV 파일의 URL을 입력합니다. Agent DVR은 이러한 번호판에 대해 AI: 번호판 인식 성공 및 AI: 번호판 인식 실패 이벤트를 생성하며, 이는 동작을 트리거할 수 있습니다.
- 재로드 간격: URL에서 번호판 목록을 다시 로드하는 빈도를 설정합니다.
- 정규화: 일반적으로 잘못 인식된 번호판을 조정하여 매칭을 개선합니다.
동작 목록
LPR은 동작 목록에서 사용할 AI: 번호판 인식 성공 및 AI: 번호판 인식 실패 이벤트를 생성합니다.
사진
사진에 대한 정보는 사진을 참조하세요.
AI 알림 필터링
알림 필터링은 움직임 감지와 AI를 결합하여 현관의 사람처럼 중요한 것이 감지될 때만 알림을 받도록 하며, 흔들리는 나뭇가지나 지나가는 자동차 헤드라이트는 무시합니다. 거짓 경보를 줄이는 가장 효과적인 방법입니다. Agent DVR에서 알림 필터링을 설정하려면 다음 단계를 따르세요:
- 모션 디텍터를 설정하고 활성화하세요. CPU 사용을 최소화하려면 간단한 검출기를 사용하세요. 모니터링할 영역을 커버하기 위해 최소한 하나의 존이 정의되어 있는지 확인하세요.
- 알림 탭에서 모드를 동작만으로 설정하고 알림을 활성화하세요.
- 녹화 탭에서 모드를 알림으로 설정하세요(녹화 파일을 원하는 경우)
- 객체 인식 탭에서 객체 인식을 활성화하세요. 모드를 움직임 감지됨으로 설정하고, 모델을 선택한 후 찾기를 클릭하여 사람, 개, 자동차 등 감지할 개체를 선택하세요.
- 탭 메뉴에서 동작 목록으로 이동하여 AI: 개체 발견됨 이벤트에 대한 동작을 추가하세요.
드라이브웨이와 도로처럼 다양한 존에서 개체를 감지할 위치를 지정하려면 존을 선택하세요. 예를 들어 드라이브웨이 존을 선택하면 그 위치에서만 자동차가 감지될 때 알림이 트리거됩니다.
작업 목록 아래에서 추가를 클릭하여 알림 작업을 만드세요. 확인을 두 번 클릭하여 확인하세요.
Agent DVR은 움직임 감지 시 AI 개체 인식을 처리합니다. 선택한 존에서 지정된 개체를 감지하면 알림을 발생시키는 동작을 트리거합니다. 존을 선택하지 않으면 모든 존에 대해 알림이 트리거됩니다.
LPR 인식, 얼굴 인식, 또는 오디오 인식에 대해서도 유사하게 알림 필터를 설정하세요.
움직임 감지 트리거 없이 지속적인 AI 개체 인식을 위해 객체 인식의 모드를 간격으로 설정하세요. 하드웨어 리소스에 미치는 영향을 모니터링하고 필요에 따라 조정하세요.
다양한 존에서 다양한 개체에 대해 여러 동작을 설정할 수 있습니다. 감지된 개체를 참조하려면 동작에서 {AI} 태그를 사용하세요.
AI 필터 문제 해결
AI가 녹화 파일을 효과적으로 필터링하지 않으면 다음을 고려하십시오:
- 찾기 설정이 사용 가능한 옵션 중 하나와 일치하는지 확인하십시오.
- Agent DVR의 왼쪽 상단에 있는 마스터 알림 스위치가 닫힌 자물쇠를 표시하여 알림이 활성화됨을 나타내는지 확인하십시오.
- 녹화 모드가 감지가 아닌 알림으로 설정되어 있는지 확인하십시오.
- 알림 모드가 동작만으로 설정되어 있는지 확인하십시오.
- 객체 인식의 신뢰도 레벨을 낮추어 봅니다.
- /logs.html에서 오류 메시지를 확인하십시오. 서버 문제 또는 네트워크 차단을 나타낼 수 있습니다.
- AI 서버 성능을 모니터링하고 시스템 과부하 또는 초과 제한을 유발하지 않도록 하십시오.
- AI가 모든 객체 클래스를 감지하면 GPU 문제를 나타낼 수 있습니다. GPU 드라이버를 확인하거나 CPU 기반 AI 모듈로 전환하십시오.
AI 객체 인식
Agent DVR의 객체 인식은 로컬 AI 또는 AI 서버(CodeProject.AI 권장)를 사용하여 비디오 피드에서 특정 객체를 인식하고 이벤트를 생성하거나 경고를 발생시키거나 모션 경고에 필터로 작동할 수 있습니다.
- 사용됨: AI 프로세스를 활성화하거나 비활성화하도록 토글합니다.
- AI 서버: 구성된 서버에서 선택하거나 기본 옵션을 사용합니다.
- 모드: AI 프로세스의 트리거를 선택합니다. 이를 없음으로 설정하고 triggerObject를 호출하여 API를 통해서만 트리거합니다.
- 모션 패스쓰루: AI 서버가 다운되어 경고를 필터링하는 경우 이를 통해 필터링 없이 경고를 통과시킵니다.
- 스냅샷 URI 사용: 현재 라이브 스트림 프레임 대신 카메라에서 고해상도 프레임을 사용합니다.
- 크기 조정 모드: AI 서버로 보내기 전에 이미지 크기를 조정하여 부하를 줄이고 응답 시간을 개선합니다.
- 오버레이 구성: 라이브 비디오 스트림에 AI 결과를 그리도록 설정합니다. 레이블, 신뢰도, 라인 너비, 색상 및 흐림 처리를 포함합니다.
- 요청 간격: 서버 요청 사이의 최소 시간을 설정합니다.
- 신뢰도: 객체를 인식하기 위한 최소 신뢰도 수준을 설정합니다.
- 모서리 확인: 자세한 내용은 모서리 확인을 참조하세요.
모델
- 검색: 서버에서 설치된 모델을 검색합니다(CodeProject.AI에 한정).
- AI 엔드포인트: 사용 가능한 모델에서 선택하거나 기본 엔드포인트를 사용합니다.
- AI 객체 클래스: 관련 클래스로 자동 채워지거나 수동으로 입력됩니다.
- 찾기: AI가 감지할 객체를 지정합니다.
- 정적 객체: 움직이지 않는 객체를 필터링합니다. 정적 객체 무시는 같은 위치에서 반복해서 감지된 객체를 무시합니다. 이동만은 모션 디텍터가 현재 움직임을 감지하는 객체만 보고합니다.
- 움직임 허용치: 정적 객체 확인 시 감지 사이의 허용 이동량입니다.
사용자 지정 모델
CodeProject.AI에 사용자 지정 모델을 추가하려면 모델 파일을 지정된 디렉토리에 복사합니다. 검색 버튼을 통해 접근하되, 객체 목록을 객체 클래스에 수동으로 추가합니다.
객체 인식 모듈 설정을 편집하여 모델 저장소의 디렉토리를 변경합니다.
동작 목록
객체 인식은 동작 목록에서 사용할 AI: 개체 발견됨 및 AI: 개체 미발견 이벤트를 생성합니다.
사진
사진에 대한 정보는 사진을 참조하세요.
AI 질문
Agent DVR는 AI 서버(OpenAI, Claude, Gemini, Ollama, LM Studio, vLLM 등의 로컬 LLM)를 사용하여 카메라의 이미지에 대한 인간이 읽을 수 있는 질문에 답변합니다. 이를 통해 이벤트를 생성하거나 경고를 발생시키거나 움직임 감지 경고의 필터로 작동할 수 있습니다. 서버 설정 - AI 설정 - AI 질문에서 설정을 완료해야 합니다.
로컬 서버의 /logs.html에서 로그를 확인하여 요청이 전송되는 시기를 볼 수 있습니다. 서버 설정 - 로그 기록 - 로그 수준을 정보로 설정하세요.
- 사용됨: AI 프로세스를 활성화하거나 비활성화하려면 토글하세요.
- 제공자: 이미지를 처리하는 데 사용할 AI 제공자를 선택하세요. 제공자는 서버 설정 - AI 설정에서 설정해야 합니다. 기본값을 선택하면 첫 번째로 설정된 제공자가 사용됩니다.
- 모드: AI 프로세스의 트리거를 선택하세요. 이를 없음으로 설정하고 triggerAskAI를 호출하여 API를 통해서만 트리거하세요.
- 모션 패스쓰루: AI 서버가 다운되어 경고를 필터링할 때 필터링 없이 경고가 통과할 수 있습니다.
- 스냅샷 URI 사용: 현재 라이브 스트림 프레임 대신 카메라의 고해상도 프레임을 사용하세요.
- 크기 조정 모드: AI 서버로 보내기 전에 이미지 크기를 조정하여 부하를 줄이고 응답 시간을 개선하세요.
- 오버레이 구성: 라이브 비디오 스트림에서 AI 결과를 그리도록 설정하세요.
- 요청 간격: 서버 요청 사이의 최소 시간을 설정하세요.
- 상세 모드: 낮음 또는 높음 이미지 세부 수준을 선택하세요. 낮음이 높음보다 비용이 저렴하며 대부분의 시나리오에 적합합니다.
- 비디오 사용: 이미지 대신 짧은 비디오 클립을 보내세요(Gemini만 해당). 지속 시간을 초 단위로 설정하고 오디오 포함을 선택하여 비디오와 함께 사운드를 보내세요.
AI 메시징
- 메시지: AI에 대한 질문을 여기에 입력하세요. 몇 가지 예시:
- 이 이미지에서 불을 보면 FIRE로 응답하세요. 개가 소파에 앉아 있으면 DOG로 응답하세요. 문이 열려 있으면 DOOR로 응답하세요. 여러 조건이 만족되면 쉼표로 구분하세요.
- 벤치의 기계에 있는 조명이 빨간색이면 ALERT로 응답하세요.
- 경찰차가 진입로에 주차되어 있으면 POLICE로 응답하세요.
- 바닥에 우편 또는 패키지가 있으면 MAIL로 응답하세요.
- 누군가 집에 침입한 것 같으면 BREAKIN으로 응답하세요.
- 찾기: AI가 응답하도록 지시한 태그를 입력하세요. 예를 들어 FIRE, DOG, DOOR
- 반복 안 함: 마지막 AI 호출에서 반환된 태그를 무시하세요.
위에서 언급했듯이 메시지에서 여러 조건을 요청하고 각 결과를 처리하기 위한 동작을 설정할 수 있습니다.
동작 목록
AI 질문은 동작 목록에서 사용할 AI: AI 질문 긍정 결과 이벤트를 생성합니다.
사진
사진에 대한 정보는 사진을 참조하세요. AI는 아직 이미지의 항목 위치에 대한 공간 데이터를 반환하지 않으므로 자르기 및 정적 감지는 현재 작동하지 않습니다.
AI 사진
AI 프로세스는 개체가 인식될 때 사진을 캡처할 수 있으며, 저장, 자르기, FTP 업로드 등의 옵션을 제공합니다.
이를 구성하려면 카메라를 편집할 때 각 AI 구성 탭 하단의 사진 옵션으로 이동합니다. 사진을 활성화하고 클릭하여 설정합니다.
- 레이블: Agent DVR은 이미지에 상자를 오버레이하고 감지된 개체에 레이블을 지정합니다.
- 자르기: Agent DVR은 감지된 각 영역으로 이미지를 자르고 여러 이미지를 저장하며, 각 리전마다 하나씩 저장합니다.
- FTP: 저장된 이미지를 카메라의 구성된 FTP 서버로 업로드합니다.
- 반복 방지: Agent DVR은 움직임 존을 떠날 때까지 동일한 개체의 여러 복사본 저장을 방지합니다.
- 최소 간격: 사진 간 최소 시간을 초 단위로 설정합니다.
LPR 또는 ALPR
번호판 인식(LPR, 또는 ALPR/ANPR이라고도 함)은 AI 서버를 활용하여 비디오 피드의 자동차 번호판을 인식하고 읽습니다. 이벤트를 생성하고, 알림을 발생시키거나, 움직임 감지 알림의 필터로 작동합니다.
- 사용됨: AI 프로세스를 활성화하거나 비활성화하려면 토글하세요.
- AI 서버: 설정된 서버에서 선택하거나 기본값 옵션을 사용하세요. Agent DVR은 CodeProject.AI, PlateRecognizer.com, Gemini 또는 OpenAI 호환 비전 LLM(vLLM, Ollama, LM Studio 등)을 통해 번호판 인식을 지원합니다.
- 모드: AI 프로세스의 트리거를 선택하세요. 이 옵션을 없음으로 설정하고 triggerLPR을 호출하여 API를 통해서만 트리거할 수 있습니다.
- 스냅샷 URI 사용: 현재 실시간 스트림 프레임 대신 카메라의 고해상도 프레임을 선택하세요.
- 크기 조정 모드: AI 서버로 보내기 전에 이미지 크기를 조정하여 부하를 줄이고 응답 시간을 개선하세요.
- 오버레이 구성: 라이브 비디오 스트림에서 AI 결과를 그리도록 설정하세요.
- 요청 간격: 서버 요청 간의 최소 시간을 설정하여 부하를 줄이세요.
- 신뢰도: 번호판을 인식하기 위한 최소 신뢰도 수준을 정의하세요.
- 모서리 확인: 자세한 내용은 모서리 확인을 참조하세요.
- 번호판: 쉼표로 구분된 번호판 목록 또는 번호판이 포함된 CSV 파일의 URL을 입력합니다. Agent DVR은 이러한 번호판에 대해 AI: 번호판 인식 성공 및 AI: 번호판 인식 실패 이벤트를 생성하며, 이는 동작을 트리거할 수 있습니다.
- 재로드 간격: URL에서 번호판 목록을 다시 로드하는 빈도를 설정합니다.
- 정규화: 일반적으로 잘못 인식된 번호판을 조정하여 매칭을 개선합니다.
- 제조사, 모델 및 색상: 이러한 기능을 지원하는 PlateRecognizer.com의 유료 플랜을 사용하는 경우에만 이 기능을 활성화하세요. 무료 플랜에는 포함되지 않습니다. 자세한 정보는 Agent DVR 동작 목록의 {AIJSON}에 포함됩니다.
동작 목록
LPR은 동작 목록에서 사용할 AI: 번호판 인식 성공 및 AI: 번호판 인식 실패 이벤트를 생성합니다.
사진
사진에 대한 정보는 사진을 참고하세요.
ALPR-Database 사용
ALPR-Database.com과의 통합을 설정하여 번호판을 저장할 수 있습니다. 자세한 내용은 Agent DVR과 ALPR-Database의 사용 방법을 참고하세요.
AI 얼굴 인식
얼굴 인식은 AI 서버(권장: CodeProject.AI)를 사용하여 비디오 피드에서 특정 얼굴을 인식합니다. 이벤트를 생성하고, 알림을 발생시키거나, 움직임 감지 알림에 대한 필터로 작동할 수 있습니다. 카메라를 사용하거나 이미지를 업로드하여 얼굴을 추가, 편집 또는 삭제할 수 있습니다. 이 탭의 얼굴 편집을 참조하세요.
- 사용됨: AI 프로세스를 활성화하거나 비활성화하려면 토글하세요.
- AI 서버: 설정된 서버 중에서 선택하거나 기본값 옵션을 사용하세요.
- 모드: AI 프로세스의 트리거를 선택하세요. 이를 없음으로 설정하고 triggerFace를 호출하여 API를 통해서만 트리거하세요.
- 스냅샷 URI 사용: 현재 실시간 스트림 프레임 대신 카메라의 고해상도 프레임을 선택하세요.
- 크기 조정 모드: AI 서버로 보내기 전에 이미지 크기를 조정하여 부하를 줄이고 응답 시간을 개선하세요.
- 오버레이 구성: 라이브 비디오 스트림에서 AI 결과를 그리도록 설정하세요.
- 요청 간격: 서버 요청 간의 최소 시간을 설정하여 부하를 줄이세요.
- 신뢰도: 얼굴을 인식하기 위한 최소 신뢰도 수준을 정의하세요.
- 모서리 확인: 자세한 내용은 모서리 확인을 참조하세요.
- 얼굴 편집: 인식을 위해 이미지를 서버 데이터베이스에 업로드하세요. 각 이미지에 한 개의 얼굴만 표시되고 명확하게 정의되었는지 확인하세요.
동작 목록
얼굴 인식은 AI: 얼굴 인식됨 및 AI: 얼굴 인식 불가 이벤트를 생성하여 동작 목록에서 사용할 수 있습니다.
사진
사진에 대한 정보는 사진을 참고하세요.
AI 오디오 인식
Agent DVR의 AI 기반 오디오 인식은 마이크로폰이나 오디오 시냇물에서 인식된 소리에 반응합니다.
오디오 인식을 설정하려면 마이크로폰 설정을 편집해야 합니다. 오디오 시냇물이 있는 카메라가 있으면 카메라를 편집하여 오디오 탭을 선택하고 "설정"을 클릭하여 오디오 설정에 접근할 수 있습니다.
- 사용됨: AI 프로세스를 활성화 또는 비활성화하려면 토글합니다.
- 모드: AI 프로세스의 트리거를 선택합니다.
- 신뢰도: 소리 인식의 최소 신뢰도 레벨을 설정합니다.
- 감지할 소리 선택: AI가 감지할 특정 소리를 선택합니다.
- 오버레이: 실시간 오디오 시각화에 인식된 소리를 표시합니다. 감지할 소리 선택에서 선택한 소리만 표시되므로 화면에 나타나는 것이 알림을 발생시키는 것과 일치합니다.
- 모든 사운드 오버레이: 또한 감지하지 않는 소리도 표시하여 오버레이에 모델이 인식하는 모든 것을 표시합니다. 소리가 감지되지 않는 이유를 파악할 때 유용합니다.
- GPU 사용: CPU 대신 GPU를 사용하려면 이것을 확인합니다.
- 장치: 모델을 실행할 장치를 선택합니다.
감지할 소리 선택을 클릭하면 감지에 사용 가능한 소리가 표시됩니다. 필요에 따라 소리를 선택합니다.
소리가 감지되지 않으면 오버레이와 모든 사운드 오버레이를 켜고, 소리를 재생한 후 오디오 시각화를 봅니다. 오버레이에는 신뢰도와 함께 인식된 각 소리가 나열되므로 모델이 전혀 들리지 않았는지, 소리는 들었지만 신뢰도 설정 이하인지, 또는 다른 것으로 분류했는지 볼 수 있습니다. 그 경우 해당 소리를 감지할 소리 선택에 추가합니다. 오버레이가 실제로 알림을 발생시키는 소리만 표시하도록 완료하면 모든 사운드 오버레이를 다시 끕니다.
소리가 인식되면 작업을 수행하려면 동작 AI: 소리 인식됨을 사용합니다.
오디오 인식을 사용하여 카메라와 유사하게 알림을 필터링할 수도 있습니다.
AI 이벤트에 동작 목록 추가하기
Agent DVR는 AI 프로세스를 통해 이벤트를 생성하며, 이는 동작 목록을 트리거할 수 있습니다. 예를 들어, 객체 인식은 "객체 발견" 및 "객체를 찾을 수 없습니다" 이벤트를 생성합니다. Agent DVR의 각 AI 시스템은 고유한 이벤트를 생성합니다.
이러한 이벤트는 알림 발생, 객체 레이블을 포함한 URL 호출, 프로그램 실행 또는 MQTT 서버에 메시지 게시 등 다양한 동작을 트리거할 수 있습니다. 동작 목록에서 레이블에 대해 {AI} 또는 AI 서버로부터의 전체 JSON 응답에 대해 {AIJSON} 태그를 사용합니다.