이 프로젝트는 사람 탐지 및 추적을 기반으로 하며 저는 주로 사람 추적에 중점을 두고 있습니다. README.md 또는 output.mp4의 출력 gif에 표시된 것처럼 각 사람은 프레임에 들어가자마자 id
제공되며 동시 프레임에서 발생하는 감지와 관계없이 id
유지됩니다. 알고리즘은 사람을 감지하고 프레임에 남아 있는 동안 그를 추적합니다.
Person_det_track.py는 SSD와 Kalman Filter를 사용하여 사람을 감지하고 추적합니다.
가능한 한 많이 제공된 버전을 사용하십시오. 그렇지 않으면 호환성 문제가 발생할 수 있습니다. 코딩하는 동안 가능한 가장 좋은 조합을 사용했습니다.
오픈CV [v3.1]
텐서플로우 [v1.5.0]
여기서 제안하는 방법은 크게 2가지 부분으로 나누어진다.
사람 감지 - 실시간 사람 감지는 Single Shot MultiBox Detector의 도움으로 수행됩니다. SSD는 75.1%의 mAP를 달성하여 동급의 Faster R-CNN 모델보다 성능이 뛰어납니다. SSD 모델은 Tensorflow 감지 동물원에서 사용할 수 있습니다. SSD와 tensorflow의 원활한 통합은 알고리즘의 추가 최적화 및 구현에 도움이 됩니다. SSD 개체 감지는 두 부분으로 구성됩니다.
사람 추적 - 모든 프레임에서 객체 감지 모델을 실행하여 객체/사람 주위에 경계 상자를 얻을 수 있지만 계산 비용이 많이 듭니다. 여기에 사용된 추적 알고리즘은 Kalman Filtering입니다. 칼만 필터는 오랫동안 많은 추적 및 데이터 예측 작업에 대한 최적의 솔루션으로 여겨져 왔습니다. 시각적 동작 분석에 사용됩니다. 필터링의 목적은 다른 모든 정보를 무시하고 신호에서 필요한 정보를 추출하는 것입니다. 이 프로젝트에서 칼만 필터는 사람의 속도, 위치 및 방향을 입력받아 이전 데이터를 기반으로 사람의 미래 위치를 예측하는 데 도움이 됩니다.
추적 부분은 폐색 시 여전히 몇 가지 문제에 직면해 있습니다. (작업 중)
이 시스템은 먼저 인간 탐지와 두 번째 추적의 두 부분으로 구성됩니다. 초기 연구는 추적보다는 인간 인식에 편향되어 있었습니다. 인간의 움직임을 모니터링하면 추적의 필요성이 높아집니다. 움직임 모니터링은 사람의 활동과 사람의 관심을 결정하는 데 큰 관심을 끌고 있습니다.
계산 능력 요구 사항 감소 - 일반적인 반대 감지 알고리즘은 객체를 감지하지만 프레임 전체에서 객체를 추적(ID 할당)하지 않습니다. 따라서 경계 상자를 얻으려면 모든 프레임에서 실행되어야 합니다. 추적은 감지 알고리즘을 실행해야 하는 횟수를 줄이는 데 도움이 됩니다. 즉, 매 프레임마다 감지 알고리즘을 실행하는 대신 이 구현에서는 5프레임마다 감지를 실행합니다.
객체 감지 모델 오류 보상 - SSD가 사람을 감지하지 못하는 일부 포즈가 있을 수 있습니다. 폐색도 감지기에 큰 영향을 미칠 수 있습니다. 이것이 바로 추적 알고리즘이 우리에게 큰 도움이 될 수 있는 부분입니다.
신원 검색 - 인간 추적은 생체 인식 얼굴 인식의 이전 단계로 사용될 수 있습니다. 사람을 지속적으로 추적하면 언제든지 사람을 식별할 수 있습니다. 특정 프레임에서는 얼굴 식별이 불가능하더라도 추적을 통해 신원을 확인할 수 있습니다. 작성자: Neeraj Menon