ML을 이용한 CCTV 객체 감지

내 CCTV 설정에는 항상 동작 감지 측면에서 문제가 있습니다. 허용 오차 값을 기준으로 프레임 간의 차이를 사용하고 경고를 트리거합니다. 사람, 고양이, 개, 자동차 등을 감지할 수 있는 보다 정교한 경보 메커니즘이 필요합니다. 하지만 지금은 CCTV를 고급 시스템으로 업그레이드하지 않을 것입니다.


Hey google find me a utility which can detect objects from CCTV camera .

긴 검색 끝에 나는 frigate의 github 페이지로 끝났습니다. https://github.com/blakeblackshear/frigate

README.md의 정의에 따라

Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras. Designed for integration with HomeAssistant or others via MQTT.

* Leverages multiprocessing heavily with an emphasis on realtime over processing every frame
* Uses a very low overhead motion detection to determine where to run object detection
* Object detection with Tensorflow runs in a separate process
* Object info is published over MQTT for integration 
* An endpoint is available to view an MJPEG stream for debugging, but should not be used continuously



와 !. 이것이 내가 찾던 것입니다.

잠깐만! 그들은 IP 카메라라고 했습니까? 내 모든 카메라는 HikVision DVR(DS-7B08HUHI-K1)에 연결된 아날로그 카메라입니다. :(

나는 포기하지 않았다. Google을 로드하고 쿼리HIKVISION CAMERA STREAM WITHOUT IP CAMERA로 검색을 시작했습니다.



몇 시간 동안 검색한 후. 나는 HikVision이 IP 카메라가 아닌 경우에도 모든 카메라의 rtsp 스트림을 공유할 수 있는 기능이 있음을 발견했습니다.

LAN 케이블을 사용하여 DVR을 네트워크에 연결해야 합니다.
일단 구성되면 rtsp 스트림은 다음 위치에서 사용할 수 있습니다.rtsp://<username>:<password>@<ip of the DVR>:554/Streaming/channels/<x>0<y>
여기서 사용자 이름과 비밀번호는 CCTV 콘솔에 로그인할 때 사용하는 것과 동일합니다.
x는 카메라 번호입니다.
y는 1 또는 2일 수 있습니다. 2는 저품질 스트림이고 1은 고품질 스트림입니다.

예:rtsp://<username>:<password>@<ip of the DVR>:554/Streaming/channels/102
이제 IP 카메라 스트림이 생겼습니다. 프리깃 설정으로 돌아갑니다.

매우 간단합니다. 도커를 설치해야 합니다. 컴퓨터에 docker를 설치하려면 docker.com으로 이동하세요. ( https://docs.docker.com/get-docker/ )

그런 다음 github 페이지( https://github.com/blakeblackshear/frigate#getting-started )에 언급된 단계를 따를 수 있습니다.

원하는 대로 config.yml를 조정할 수도 있습니다.

    ################
    # Camera level object config. This config is merged with the global config above.
    ################
    objects:
      track:
        - person


이 섹션을 사용하여 추적해야 하는 개체에 대해 frigate에 알릴 수 있습니다. 기본적으로 사람을 추적합니다. 고양이, 개 등을 추가할 수 있습니다. 기본적으로 추적할 수 있는 사용 가능한 개체는 ( https://dl.google.com/coral/canned_models/coco_labels.txt )에서 찾을 수 있습니다.

mosquitto(https://mosquitto.org/)와 같은 MQTT 브로커를 설정하면 frigate는 각 탐지에 대한 이벤트를 브로커로 보냅니다. 이것을 자동화에 사용할 수 있습니다.

카메라의 rtsp 링크를 올바르게 제공하고 카메라 이름이 올바른지 확인하십시오.

모든 것이 올바르게 완료되면 도커를 시작할 수 있으며 사이트는 @ 포트 5000에서 사용할 수 있습니다.

개체 인식 기능이 있는 카메라의 디버그 스트림을 보려면 로드http://localhost:5000/합니다.As per the author the debug stream can reduce the performance of the program
사람이 카메라 앞에 있으면 디버그 스트림에서 이와 같은 것을 볼 수 있으며 MQTT 서버에 이벤트가 게시되어 일부 메시지 등을 트리거하는 데 사용할 수 있습니다.



다음 단계



내 다음 단계는 이것을 내 홈 오토메이션과 통합하여 사진과 함께 내 휴대폰에서 메시지를 트리거하는 것입니다. 또한 원래 버전은 파이를 지원하지 않기 때문에 라즈베리 파이에서 이것을 실행합니다.

준비되면 돌아오겠습니다. 그때까지 몸조심하세요.

블로그의 두 번째 부분 읽기

좋은 웹페이지 즐겨찾기