구성: 움직임 감지

대하여

Agent 의 움직임 감지는 알림을 시작하고 AI 처리를 용이하게 하는 데 중요한 역할을 합니다. 움직임 감지 시 Agent 를 설정하여 움직임 감지 시 또는 알림이 트리거될 때 녹화하도록 구성할 수 있습니다. 이러한 옵션을 설정하려면 녹화 메뉴로 이동하고 모드 설정을 참조하십시오. 추가로, 움직임 감지는 다양한 동작을 활성화하는 데 사용될 수 있습니다.

움직임 감지는 실제 물체의 움직임과 바람, 비 또는 밝기 변화와 같은 환경 요소를 구별하지 못하여 가끔 잘못된 알림으로 이어질 수 있음을 유의해야 합니다. 이러한 잘못된 알림을 줄이기 위해 움직임 감지의 정확성을 향상시키기 위해 Agent 를 CodeProject.AI와 통합하여 더 정교한 알림 필터링을 수행할 수 있습니다.

모션 감지 설정하기

Agent의 모션 감지 영역 제어는 카메라를 편집하고 상단 오른쪽 메뉴에서 감지기를 선택하여 액세스할 수 있습니다. 감지기를 설정하기 위해 모니터링할 영역을 정의하는 것으로 시작합니다. Agent는 최대 9개의 영역을 지원하며, 각각 다른 색상으로 표시되며, 존 드롭다운을 통해 선택할 수 있습니다. 존을 생성하려면 펜 도구 를 클릭하고 비디오 미리보기 위에 그립니다. 그리기 위해 왼쪽 마우스 버튼이나 터치를 사용하고, 데스크톱에서는 오른쪽 마우스 버튼을 사용하여 지울 수 있습니다. 그리기 펜 크기를 조정하는 니브 도구 와 그려진 영역을 제거하는 지우개 도구 가 있습니다. 리셋 도구 는 선택한 영역으로 전체 영역을 채우는 데 사용할 수 있습니다. Agent는 이러한 색상 영역에서 모션을 모니터링합니다.

  • 사용: 감지기 사용 여부를 전환합니다.
  • 감지기: 모션 감지기 유형을 선택하고 "..." 버튼을 사용하여 구성합니다. 각각의 모션 감지기에 대한 설명은 해당 섹션에서 제공됩니다.
  • 색상: 모션 감지 오버레이의 색상을 조정합니다 (일부 감지기에는 해당되지 않음).
  • 타임아웃: 모션 감지가 멈춘 후 카메라가 모션 상태로 유지되는 기간을 설정합니다 (1에서 60초 사이, 기본값은 3입니다).
존 사용하기

존은 AI 감지기 (얼굴 / LPR / 객체 인식) 및 객체 추적 감지기 (트립 와이어, 속도, 객체 추적과 같은)에 필수적입니다. 감지기 구성에서 어떤 존이 경고를 발생시킬지 선택하거나 특정 존에 대한 경고에 대한 작업을 지정할 수 있습니다.

간단한 감지기는 모든 존에서 충분한 모션을 감지하면 경고를 활성화합니다.

MQTT, ONVIF 또는 API 호출을 통해 트리거되는 모션과 같은 일부 감지기 유형은 존 설정을 사용하지 않습니다.

모션 영역 사용하기

모션 영역은 그룹화하여 이름을 지정하고 나중에 사용할 수 있는 구역입니다. 현재의 모션 영역 구성을 새로운 영역으로 저장하려면 Area 옆의 편집 아이콘을 클릭하세요. 이 도구를 사용하여 영역을 추가, 편집 및 삭제할 수 있습니다.

PTZ 카메라를 PTZ 프리셋 위치로 이동할 때 (Agent UI를 사용하여) 모션 영역을 적용하려면 다음을 수행하세요:

  • "carpark"와 같은 특정 이름으로 새로운 모션 영역 구성을 생성하고 저장하세요.
  • 새로운 동작을 추가하세요:

    If: "PTZ 프리셋 적용"
    PTZ 프리셋 명령을 선택하세요 (예: "프리셋 1로 이동"). 참고: 이 기능을 사용하려면 카메라가 PTZ 프리셋을 지원해야 합니다.
    작업 추가를 클릭하세요:
    작업: "모션 감지 영역 설정"
    새로운 영역을 선택하세요 ("carpark").
    두 번 OK를 클릭하세요. 이제 프리셋을 선택하거나 Agent가 스케줄링이나 다른 이벤트를 통해 프리셋을 설정할 때마다 이 모션 영역이 자동으로 적용됩니다.

스케줄러를 사용하여 모션 감지기 영역을 수정할 수도 있습니다. 이 기능을 사용하면 하루의 시간, 주 또는 특정 날짜에 따라 다른 모션 영역 구성을 설정할 수 있습니다.

간단한 감지기

간단한

간단한 감지기는 카메라의 시야 내에서 어떤 종류의 움직임을 식별하는 데 중점을 둡니다. 이는 감지기 중에서 가장 CPU 효율이 높은 옵션으로, ONVIF 감지기에 이어 두 번째로 효율적입니다. 감지된 움직임은 빨간색으로 강조되어, 장면에서 움직임의 원인을 쉽게 구별할 수 있습니다.

  • 고급: 추가 설정 및 옵션은 아래의 고급 섹션을 참조하십시오.
  • 감도: 감지를 트리거하기 위해 필요한 움직임의 수준을 조정합니다. 최소 및 최대 값을 모두 설정하면 감지를 미세 조정할 수 있습니다. 예를 들어, 최대 값이 80이면 대규모 밝기 변화를 무시하는 데 도움이 될 수 있습니다. 슬라이더 아래의 숫자는 픽셀 변화의 백분율을 나타냅니다.
  • 게인: 변경된 픽셀에 대해 곱셈기를 적용하여 움직임 감지의 감도를 증가 또는 감소시킵니다.

HAAR 객체 감지기

이 방법은 비디오 피드에서 객체를 인식하기 위해 HAAR 카스케이드라고 알려진 파일을 사용합니다. 그러나 AI 서버를 설정하고 간단한 객체 감지기와 함께 사용하면 더 좋은 결과를 얻을 수 있습니다.

  • 프레임 크기: 처리할 프레임의 크기를 선택합니다. 작은 프레임은 CPU 사용량을 줄이지만 정확도가 떨어질 수 있습니다.
  • 감지 간격: 프레임 처리의 빈도를 밀리초 단위로 설정합니다. 예를 들어, 200은 초당 5회, 1000은 초당 1회를 의미합니다.
  • 폭 제한과 높이 제한: Agent가 감지할 객체의 크기 범위를 프레임의 폭 또는 높이의 백분율로 정의합니다. 이 슬라이더를 조정하면 비디오에 객체 크기 범위를 나타내는 오버레이가 표시됩니다.
  • GPU 사용: 처리에 GPU를 사용하는 옵션입니다. GPU가 Cuda를 지원하고 필요한 드라이버가 설치된 경우에만 사용할 수 있습니다.
  • 파일: 객체 감지기를 구성하기 위해 HAAR 카스케이드 파일을 선택합니다. 기본 파일은 얼굴과 고양이 얼굴을 감지하는 데 사용됩니다.
  • 경고 조건 및 경고 횟수: 객체 감지에 따라 Agent가 경고를 생성하도록 구성합니다. 예를 들어, 얼굴을 인식하면 경고를 트리거하려면 조건을 "이상"으로 설정하고 경고 횟수를 0으로 설정합니다.
  • 경고 영역 (v4.4.8.0+): 모니터링 영역에 포함될 모션 영역을 지정합니다.
  • 구석 확인: 자세한 내용은 구석 확인을 참조하십시오.

코너 확인

Agent 는 감지된 객체의 중심점과 선택적으로 객체의 경계 상자의 모서리로 확장되는 그리드를 확인하여 객체가 경보 또는 작업을 트리거해야 하는지 여부를 결정하기 위해 정교한 방법을 사용합니다. 이 기능은 중심점에서 경계 상자의 모서리까지의 거리를 나타내는 백분율을 설정하여 조정할 수 있습니다. 기본적으로 0으로 설정하면 중심점만 확인되고, 100으로 설정하면 모든 모서리까지 확인되며, 50으로 설정하면 중심과 경계 사각형의 각 모서리 사이의 중간점까지 확인됩니다. 지정된 영역 내에 객체가 없어 보이는 많은 이벤트 알림을 받고 있다면, Check Corners를 0으로 설정하는 것이 유익할 수 있습니다.

MQTT

당신은 MQTT 서버에서 움직임 감지를 시작할 수 있습니다. 먼저, MQTT를 적절히 설정했는지 확인하십시오. 그런 다음, 물체 감지를 트리거하려면, 감지기 구성 화면에 표시된 명령을 단순히 SERVER/commands 채널로 전달하면 됩니다. 여기서 SERVER는 서버 이름입니다 (설정에서 편집할 수 있는 서버 메뉴에 표시됩니다). 이 통합은 MQTT 서버의 기능을 활용하여 더 다재다능하고 반응성 있는 움직임 감지 시스템을 제공합니다.

ONVIF

많은 ONVIF 호환 장치는 자체적인 움직임 감지 기능을 갖추고 있습니다. 이 모드를 선택하고 ONVIF 호환 카메라와 연결할 때 (Agent에서 ONVIF 연결 유형을 사용), Agent는 장치 자체가 움직임 감지 이벤트를 제공하고 해당 이벤트를 기반으로 동작을 트리거합니다. 이 기능에 문제가 발생하는 경우, 로그를 확인하는 것이 좋습니다 (로컬 서버의 /logs.html에서 액세스 가능), 카메라가 ONVIF 감지를 지원하지 않을 수 있으므로. 이러한 설정을 구성하는 자세한 정보는 서버 ONVIF 설정을 참조하십시오.

사람 감지기

이 방법은 보행자를 감지하기 위해 특수한 알고리즘을 사용합니다. 그러나 간단한 객체 감지기를 사용하고 Deepstack AI를 경고 필터링에 통합하는 것이 더 나은 결과를 제공할 수도 있습니다.

  • GPU 사용: 처리에 GPU를 사용할지 여부를 결정하십시오. GPU가 Cuda를 지원하고 필요한 드라이버가 설치된 경우에만 사용할 수 있습니다.
  • 프레임 크기: 처리할 프레임 크기를 선택하십시오. 작은 프레임은 CPU 부하가 적지만 정확도가 낮을 수 있습니다.
  • 감지 간격: 프레임 처리 주기를 밀리초 단위로 설정하십시오. 예를 들어, 200은 초당 5회, 1000은 초당 1회를 의미합니다.
  • 경고 조건 및 경고 횟수: 감지된 객체의 수에 따라 경고를 생성하는 기준을 구성하십시오. 예를 들어, 얼굴을 인식하여 경고를 트리거하려면 조건을 "이상"으로 설정하고 경고 횟수 필드에 0을 입력하십시오.
  • 경고 영역 (v4.4.8.0+): 감지 영역 내에서 모니터링해야 할 특정 모션 영역을 선택하십시오.
  • 구석 확인: 자세한 설정은 구석 확인을 참조하십시오.

Reolink

일부 Reolink 카메라는 Agent가 모션 또는 AI 경보 상태를 수신하기 위해 폴링할 수 있는 API 엔드포인트를 제공합니다. 카메라가 이 기능을 지원하는 경우 이 탐지기를 활용할 수 있습니다. 카메라가 이 기능을 지원하는지 확인하려면 다음 URL에 액세스해 보세요: `http://[IP ADDRESS]/api.cgi?cmd=GetMdState&channel=0&rs=Get&user=[USERNAME]&password=[PASSWORD]` (각각 `[IP ADDRESS]`, `[USERNAME]`, `[PASSWORD]`를 카메라의 IP 주소 및 로그인 자격 증명으로 대체하세요). 성공적인 연결은 오류 페이지가 아닌 JSON 형식의 텍스트를 반환합니다.

  • 간격: Agent가 경보 또는 모션 데이터를 가져오기 위해 카메라를 폴링하는 빈도를 결정합니다.
  • 모드: '모션'과 'AI' 사이에서 선택합니다. 두 모드 모두 Agent에서 모션 탐지기 이벤트를 트리거하며, 이는 녹화에 사용할 수 있습니다 (녹화 모드를 감지로 설정). 'AI' 옵션은 카메라가 특정 객체 클래스 (예: dog_cat, face, people, vehicle)를 식별하는 경우 모션 감지를 트리거합니다.

버전 4.6.6.0부터 dog_cat, face, people 또는 vehicle로 태그가 지정된 객체를 감지하는 경우 작업을 수행하는 조치를 구성할 수 있습니다.

참고: AI 기능을 활성화하려면 카메라의 웹 UI에서 추적을 활성화하고 최소 및 최대 객체 크기 매개변수를 설정해야 할 수 있습니다. 그런 다음 Agent는 Reolink가 식별한 객체로 녹화에 태그를 지정할 것입니다.

속도 감지

이 방법은 사용자가 제공한 장면 정보를 사용하여 움직이는 물체를 추적하고, 그들의 속도를 추정하며, 물체가 너무 빠르게 또는 너무 느리게 움직이는 경우 알림을 생성합니다.

  • 고급: 자세한 설정은 아래의 고급 섹션을 참조하십시오.
  • 너비 제한과 높이 제한: 장면에서 물체 감지를 위한 크기 범위를 백분율로 정의합니다. 이 슬라이더를 조정하면 비디오에 대상 크기 범위를 나타내는 오버레이가 표시됩니다.
  • 최소 이동 거리: 물체가 움직임으로 간주되기 위해 장면 너비의 백분율을 기준으로 물체가 이동해야 하는 최소 거리를 설정합니다.
  • 최소 시간: 물체가 추적되기 위해 움직이는 시간 지속 기간을 10분의 1초 단위로 지정합니다 (예: 1 = 0.1초, 10 = 1초).
  • 속도 측정: 오버레이에 대한 선호하는 속도 측정 단위를 선택합니다.
  • 속도 제한: 속도 감지의 하한과 상한을 결정합니다. 이 범위를 벗어나는 움직임은 움직임 감지 이벤트를 트리거합니다.
  • 수평 및 수직 거리: 장면 전체의 총 거리를 미터 단위로 입력합니다. Agent는 이 측정 값을 사용하여 움직이는 물체의 속도를 계산합니다.
  • 알림 영역 (v4.4.8.0+): 모니터링 영역에 포함될 모션 영역을 선택합니다.
  • 구석 확인: 추가 설정은 구석 확인을 참조하십시오.

객체 추적

이 감지기는 움직이는 물체를 식별하고 추적하여, 물체가 장면에 머무는 시간과 이동 거리에 따라 움직임 감지 이벤트를 트리거합니다.

  • 고급: 더 자세한 설정 및 옵션은 아래의 고급 섹션을 참조하세요.
  • 너비 제한 및 높이 제한: 물체 감지를 위한 크기 범위를 장면의 너비 또는 높이의 백분율로 지정합니다. 이 슬라이더를 조정하면 비디오에 대상 물체 크기 범위의 시각적 표시가 표시됩니다.
  • 최소 이동 거리: 물체가 움직이는 물체로 인식되기 위해 장면의 너비에 상대적인 최소 이동 거리를 정의합니다.
  • 최소 시간: 추적을 위해 물체가 움직여야 하는 최소 시간을 0.1초 단위로 설정합니다 (예: 1 = 0.1초, 10 = 1초).
  • 전체 표시: 움직이는 물체를 추적하기 위해 라이브 비디오 피드에 카운터를 추가합니다.
  • 히트 맵: 추적된 물체에 선을 추가하여 시간에 따른 움직임 패턴을 시각화합니다.
  • 경고 영역 (v4.4.8.0+): 모니터링 영역에 포함될 모션 영역을 선택합니다.
  • 구석 확인: 추가 정보는 구석 확인을 참조하세요.

Agent는 장면에서 움직임을 모니터링하고 추적하는 동안 감지된 물체 주위에 색상이 있는 사각형을 표시합니다. 색상의 의미는 다음과 같습니다:

  • 흰색: 물체가 감지되었으며 고려 중입니다.
  • 노랑색: 물체가 여러 프레임에 걸쳐 감지되었습니다.
  • 주황색: 물체가 추적 설정에서 지정한 최소 시간 이상 움직였습니다.
  • 빨강색: 물체가 모든 추적 요구 사항을 충족하여 움직임 감지 이벤트를 트리거했습니다.

트립 와이어스

이 감지기는 움직이는 물체를 인식하고 추적하여 미리 정의된 장면 내에서 사전에 설정된 트립 와이어를 통과할 때 움직임 감지 이벤트를 트리거합니다. 트립 와이어를 추가하려면 실시간 비디오에서 클릭하고 드래그하기만 하면 됩니다. 필요한 만큼 여러 개의 트립 와이어를 생성할 수 있습니다. 트립 와이어를 제거하려면 그 중 하나의 점을 장면 밖으로 클릭하고 드래그하면 됩니다.

  • 고급: 자세한 설정 및 옵션은 아래의 고급 섹션을 참조하십시오.
  • 너비 제한 및 높이 제한: 감지할 물체의 크기 범위를 장면의 너비 또는 높이의 백분율로 설정합니다. 이 슬라이더를 조정하면 비디오에 대상 크기 범위의 시각적 표시가 오버레이됩니다.
  • 최소 이동 거리: 물체가 움직이는 물체로 인식되기 위해 장면의 너비에 상대적으로 이동해야 하는 최소 거리를 지정합니다.
  • 최소 시간: 물체가 추적되기 위해 움직임을 유지해야 하는 최소 시간을 10분의 1초 단위로 정의합니다 (예: 1 = 0.1초, 10 = 1초).
  • 트리거 반복: 이 기능을 활성화하면 물체가 동일한 트립 와이어를 여러 번 트리거할 수 있습니다. 기본적으로 물체는 트립 와이어를 한 번만 트리거할 수 있습니다.
  • 카운트: 물체가 트립 와이어를 통과한 횟수와 통과 방향을 표시합니다. 왼쪽, 오른쪽, 양쪽 또는 총 통과 횟수를 세는 옵션이 있습니다.
  • 알림: 시스템이 지정된 방향 또는 모든 방향에서 트립 와이어를 통과하면 알림을 생성하도록 구성합니다.
  • 알림 영역 (v4.4.8.0+): 모니터링 영역에 포함되는 모션 영역을 선택합니다.
  • 구석 확인: 추가 정보는 구석 확인을 참조하십시오.

API를 통해

API 호출을 사용하여 카메라의 움직임 감지를 시작하려면 객체 유형 (ot)과 객체 ID (oid)를 지정해야합니다. 예를 들어, 카메라 (ot=2)의 ID가 1 인 경우 (oid=1 - 기기를 편집 할 때 편집 컨트롤 상단에 표시되는 ID), API 호출은 다음과 같이 포맷되어야합니다:
http://localhost:8090/command/detect?ot=2&oid=1

고급 설정

감지기의 기본 설정은 대부분의 장면에 적합하지만 필요한 경우 성능을 향상시키기 위해 세부 조정할 수 있습니다.

  • 분석기: 현재 사용 가능한 분석기는 CNT 배경 제거기로, 높은 정확성과 낮은 CPU 사용량으로 알려져 있습니다.
  • 프레임 크기: 처리를 위한 프레임 크기를 선택하세요. 작은 프레임은 CPU 사용량을 줄이지만 정확도가 감소할 수 있습니다.
  • 트래커: 객체 추적을 위해 OpenCV 트래커를 선택하세요. 옵션은 다음과 같습니다:
    • Mosse: 이 트래커는 가장 낮은 CPU 사용량을 제공하지만 가장 정확하지 않습니다 (기본 설정).
    • KCF: Mosse보다 정확하지만 약간 더 CPU를 사용합니다.
    • CSRT: 가장 정확한 옵션으로 CPU를 가장 많이 사용합니다. 도전적인 추적 상황에 이상적입니다.
  • 최대 객체 수: 동시에 추적할 객체 수를 제한하세요. 더 많은 객체는 더 높은 CPU 사용량을 의미합니다.
  • 감지 간격: 움직임 감지를 위한 프레임 처리 빈도를 밀리초 단위로 정의하세요 (예: 5번/초를 위해 200, 1번/초를 위해 1000).
  • 추적 간격: 추적기 처리 빈도를 설정하세요. 높은 간격은 빠르게 움직이는 객체를 잃을 수 있습니다 (예: 5번/초를 위해 200, 1번/초를 위해 1000).
  • 픽셀 안정성: 픽셀이 안정적으로 간주되기 위한 샘플 수와 동일한 색상을 유지하는 데 픽셀이 얻을 수 있는 최대 '크레딧'을 결정하세요. 이 설정은 효과적인 배경 제거와 움직임 감지에 중요합니다. 자세한 정보
  • 이력 사용: 장면에서 지속적으로 움직이는 객체에 대해 학습하기 위해 이를 활성화하세요. 필요하지 않은 경우 일반적으로 비활성화하는 것이 좋습니다.
  • 병렬 처리: 움직임 감지 알고리즘에서 병렬 처리를 활성화하세요. 이를 활성화하는 것이 좋습니다.
  • 추적 제한 시간: 객체가 다시 나타나기를 기다리는 시간(초)을 지정하세요. 이 시간을 초과하면 추적이 중단됩니다.
  • 움직임 제한 시간: 정지된 객체가 다시 움직이기를 기다리는 기간(초)을 설정하세요.