일반 IP카메라를 인공지능 CCTV로 변신시킨 개발자



"IP카메라

최근 인공지능 기술이 급격하게 발전하면서 일상생활에서도 AI가 적용된 제품들을 쉽게 발견할 수 있는데요. 개발자라면 구글이 제공하는 머신러닝 엔진인 텐서플로우(Tensorflow)를 활용하면 인공지능 기능을 쉽게(?) 구현할 수 있는 때문입니다. 오늘은 텐서플로우를 활용해서 일반 IP카메라를 인공지능 카메라로 변신시킨 능력자의 이야기를 소개해 드리겠습니다.

▼마틴씨는(Martin Harizanov) 몇일전 개인 블로그에 싸구려 중국산 IPCAM과 라즈베리파이를 결합해 인공지능 CCTV로 업그레이드한 후기를 남겼는데요. 그가 개발한 AI CCTV의 기능은 다음과 같습니다.

  • PTZ(Pan–Tilt–Zoom) 기능으로 수상한 사람의 움직임을 추적하는 기능

  • 수상한 사람이 한 카메라의 감시역역을 벗어나면 다른 카메라가 이어서 추적하는 기능

  • 내가 지정한 물체(ex:사람, 고양이)가 등장할 때만 알람 발생

  • 위험이 감지됐을 때 집안에 사람이 있는지 확인하는 기능

  • MQTT를 통해 다른 IoT 장치에게 신호를 보내고 컨트롤하는 기능

관련글: 기발한 라즈베리파이 프로젝트 Top10

관련글: 라즈베리파이로 자작나스 만들

관련글: 가정용 IP캠 해킹방지법

"darkflow.gif"


▼10만원도 안하는 PTZ 카메라(상하좌우로 움직이는기능)에 이런 기능을 추가할수만 있다면 전문방범업체에 매월 돈을 주고 경비를 맡긴것과 같은 보안시스템을 구축할 수 있는 셈입니다.

인공지능 카메라

▼마틴은 다크플로우(Darkflow) 라이브러리와 CNN을 이용해 이미지 분류 프로그램을 만들었습니다.(다크플로우 설정은 매우 간단하다고 합니다.) 그리고 파이썬을 사용해 FFmpeg 백그라운드 프로세스로 RTSP 스트림을 5초 마다 캡쳐해서 다크플로우로 이미지를 분석합니다.

"마틴.jpg"


▼분석결과는 MQTT에 게시되고, 옵션으로 탐지된 오브젝트의 스크린샷을 캡쳐할 수 있다고 합니다. 마틴은 RTSP 프레임 캡쳐를 위해 OpenCV 대신 FFmpeg를 사용했는데, 이유는 집에 있는 IP캠이 UDP를 통해서만 RTSP를 지원했기 때문이라도 합니다.(OpenCV는 TCP를 통한 RTSP를 지원)

"야간감시.jpg"


"MQTT.jpg"


▼그는 이 프로젝트를 직접 해보고 싶은 사람들을 위해 Github에 그가 만든 소스를 모두 공개했습니다.


댓글

Designed by JB FACTORY