본문 바로가기
Programming Language/OpenCV

[OpenCV] Motion Detecting

by 민트초코맛꼬깔콘 2010. 10. 17.

사람이 지나갈때 인식해서 오고/가는 사람의 수를 세는 시스템인 듯.

예제와 원리가 잘 나와있다.

 

 

 

 

얼핏 생각하기엔

1. 우선 object를 detect하고

2. 해당 object의 motion을 detecting 하여

3. line over처리를 하여 object의 개수를 센다..

 

말이 쉽지,, 우선 object를 잘 추출해 내야 될 것이고 - 이 과정에서 사람이 아닌 다른 물체가 감지될 오류가 있다..

예를 들어 움직이는 카트라던지 동물이나 굴러다니는 공 등?

그리고 motion detecting을 위해 object의 움직이는 속도와 각도를 고려해서 방향성을 우선 정해놓아야 할것이다.

동영상을 보면 빠른 속도의 object들도 잘 tracking하므로.. 아마도 미리 방향을 계산하지 않았나 싶다..

게다가 동시에 여러명이 지나갈 경우도 잘 잡아내는데 이건 어떤 로직을 썼는지 좀 궁금하다..

옆으로 나란히 지나가는 건 셀 수 있겠지만,, 뒤에서 안고 간다거나 사람들 업거나 목마를 태우고 갈 경우엔 어떻게 인식하련지.. ??

 

단순 object만을 감지해내는데에는 차영상만을 이용해도 될 것이다.. (+ 장애 요소들을 제거하는 몇몇 로직은 첨가해야겠지?)

line over처리를 위한 모션 트래킹은 아마도 object 감지로 줄어든 후보영역에서 특징점을 쫓는 optical flow를 쓰면 될 것 같다.

 

침입자 감시나 방문객 통계 등의 시스템에 활용할 수 있을 듯-

한 매장의 출입문에서 작동한다면, 현재 매장 안에 남은 사람의 수도 셀 수 있겠다.  마감시간인데 몇명이 남아있는지 알면- 쉽게 쫓아낼수; 있겠지~ㅎ 

재밌네 ^-^ !!


ㅡ 출처 : http://blog.naver.com/infinite23 ㅡ