2017-12-28 55 views
0

그래서 저는 여기에서 정말 새로운 것 같습니다. 현재 공공 예술 프로젝트에서 일하고 있습니다. 코드를 놓치기 쉽기 때문에 프로그래밍에 대한 약간의 도움이 필요합니다.opencv로 깊은 학습자 감지

먼저 작업의 목표에 대해 간략히 설명하고 내 문제를 기술 할 것입니다.

나는 공중 거리를 마주보고있는 갤러리의 가게 창에 웹캠을두고 있습니다. 이 웹캠은 거리에서 바깥 쪽을 향하고있는 TV 화면에 연결되어 사람들이 자신을 촬영 한 것을 볼 수 있습니다 (예 : CCTV). 그런 다음 사람들이 카메라에 충분히 오래있을 경우 웹캠이 자동 스크린 샷을 만듭니다. 자동 첨부 파일 인쇄 스크립트를 보관하는 사이트로 이메일을 보내면 거리의 사람들이 즉시 내 갤러리에 있습니다. (그렇습니다. 합법성의 회색 영역에 약간 있기 때문에 갤러리의 허가를 받았습니다.)

저는 프로그래밍에 대한 관심과 미술 배경에서 왔고, 이것은 매우 새로운 것이 었습니다. 이미 꽤 멀리 생각합니다. 나는 열린 cv로 실행되는 나무 딸기 파이를 가지고 있으며, 그것을 배우기 위해 깊은 학습 물체 감지 (https://www.pyimagesearch.com/2017/09/18/real-time-object-detection-with-deep-learning-and-opencv/) <을위한 스크립트를 달았습니다.

많은 보행자 추적 기능이 있지만 실시간 비디오 스트림에 적합한 코드를 찾지 못했습니다.

사람들에게서 내가 필요한 것은 스크립트에서 타이머를 만드는 방법에 대한 약간의 도움으로 사람들이 카메라를 사용할 수있을만큼 충분히 오래있을 때 스크린 샷을 만들 수 있습니다. 그것은 운동에 반응하고 전혀 운동에 반응하기를 원하기 때문에 역전 된 보안 카메라 스크립트와 약간 같습니다.

자동 첨부 파일 인쇄 부분 인터넷에 이미 많은 스크립트가 있기 때문에 생각했습니다.

팁이나 트릭이 있다면 알려주세요.

여아를 도와주세요!

마리우스

답변

0

시도해 볼 수있는 것들이 많이 있습니다.

카메라가 쇼핑 거리를 향하고 있습니까? 이 경우 간단한 배경 빼기를 수행 할 수 있습니다. 각 프레임에 대해 사전 처리 (예 : 흐리게 처리, 변형 조작)를 적용하고 findContours으로 전화하고 각각에 대해 minEnclosingRect의 중심을 계산합니다.

또 다른 옵션은 내장 된 (및 사전 훈련 된) 호그 PeopleDetector을 사용하는 것입니다. 이것은 다른 기계 학습 기술인 SVM (Support Vector Machines)을 기반으로합니다. 이 작업을 효율적으로 수행하려면 매개 변수를 적절히 조정해야합니다. Pi를 사용하고 있으므로 속도와 정확도 사이의 균형을 고려해야합니다. 이 기법을 사용하여 직사각형도 남겨 두었으므로 다시 중심을 계산할 수 있습니다.

두 가지 기술의 경우, 중심점이 프레임마다 너무 많이 변동하지 않는 것이 좋습니다 (사람이 움직이는 것을 의미). 이를 위해 프레임 속도를 고려하여 모든 프레임에 대해 사람 감지를 보장 할 수는 없다는 것을 이해해야합니다.

첫 번째 기법의 경고는 설명력이 있지만 애완 동물, 자전거, 자동차 (공공 거리의 경우)를 포함하여 프레임마다 변화하는 것을 감지 할 수 있습니다. 그런 다음 필터링 (예 : 영역, 색상 별)을 고려해 볼 수 있습니다.

+0

Hai Jyr, 슈퍼 늦은 반응 (휴일이 끼어 들었습니다)에 대한 죄송합니다. 오늘 돼지를 조사 할 것입니다. 괜찮 으면 도움을받을 수 있습니다. 나는 전에이 돼지를 발견했지만 실시간 탐지를위한 코드를 찾지 못했습니다 .. –

+0

[this] (https://stackoverflow.com/questions/34871294/full-body-detection-and-tracking)에 대한 답변 -using-opencvpython-2-7) 질문이 도움이됩니다. Pi webcam을 사용하려면''vid.avi''를'0'으로 대체하십시오 (모듈이라고 가정합니다). 웹캠을 사용하기 전에 필요한 명령이 있다는 것일 수도 있습니다. Linux 배포판에서 사용했을 때의 경우였습니다. – Jyr

+0

링크를 제공해 주셔서 감사 드리며, 이미 Rpi에서 실행중인 Logitech c170 usb 웹캠을 사용하고 있습니다. 그러면 비디오를 사용할 수 있습니다. 아비 맞죠? 그 때 내가 필요한 것은 같은 스크립트에서'time'을 가져 오는 것입니다. 내가 좋은 출발점이 될 것이라고 생각하는이 [link] (https://stackoverflow.com/questions/36439902/auto-detect-face-and-take-a-snapshot-with-opencv)를 찾았습니다. –