opencv camshift 예제

평균 시프트 계산을 위해 opencv 코드를 사용하고 있지만 개체가 화면에 없는 경우 프로그램이 충돌합니다. 이 문제를 해결하는 방법? 정의는 똑바로 들리지만 컴퓨터 비전과 기계 학습에서 추적은 개념적으로 유사하지만 기술적으로 다른 아이디어를 포괄하는 매우 광범위한 용어입니다. 예를 들어, 다음과 같은 모든 서로 다르지만 관련 아이디어는 일반적으로 추적, 학습 및 탐지를 의미하는 객체 추적 TLD 스탠드에서 연구됩니다. 이름에서 알 수 있듯이 이 트래커는 장기 추적 작업을 (단기) 추적, 학습 및 탐지의 세 가지 구성 요소로 분해합니다. 저자의 논문에서 “트래커는 프레임에서 프레임으로 개체를 따릅니다. 검출기는 지금까지 관찰된 모든 모양을 현지화하고 필요한 경우 트래커를 보정합니다. 학습은 검출기의 오류를 추정하고 향후 이러한 오류를 방지하기 위해 업데이트합니다.” 이 추적기의 이 출력은 약간 뛰어다니는 경향이 있습니다. 예를 들어 보행자를 추적하고 장면에 다른 보행자가 있는 경우 이 트래커는 추적하려는 보행자와 다른 보행자를 일시적으로 추적할 수 있습니다. 긍정적 인 면에서이 트랙은 더 큰 축척, 모션 및 폐색을 통해 객체를 추적하는 것처럼 보입니다. 개체가 다른 개체 뒤에 숨겨져 있는 비디오 시퀀스가 있는 경우 이 트래커를 선택하는 것이 좋습니다. OpenCV를 사용하는 경우 opencv / 샘플 / cpp / camshiftdemo.cpp를 확인할 수도 있습니다.

오프라인 분류자는 분류기를 학습하기 위해 수천 개의 예제가 필요할 수 있지만 일반적으로 온라인 분류자는 런타임에 몇 가지 예제를 사용하여 학습됩니다. 공지 사항 : GOTURN은 CNN 기반 추적기인, 추적을위한 카페 모델을 사용합니다. Caffe 모델과 프로토 텍스트 파일은 코드가 있는 디렉터리에 있어야 합니다. 이러한 파일은 opencv_extra 리포지토리에서 다운로드하여 사용하기 전에 연결및 추출할 수도 있습니다. 나는 더 명확하게 그 코드를 편집, 그래 실제로 확률지도입니다, 우리는 다시 프로젝션을 수행하여 그것을 얻을 수 있습니다. OpenCV / 샘플 / cpp / camshiftdemo.cpp이 다중 인스턴스 학습 (MIL)이 구출되는 곳입니다. MIL에서는 양수 및 음수 예제를 지정하지 않지만 양수 및 음수 “가방”을 지정합니다. 긍정적 인 가방에이미지의 컬렉션은 모든 긍정적 인 예가 아닙니다. 대신, 긍정적 인 가방에 하나의 이미지만 긍정적 인 예가 될 필요가있다! 이 예제에서 양수 가방에는 개체의 현재 위치를 중심으로 하는 패치와 주변의 작은 부분에 패치가 포함되어 있습니다. 추적된 개체의 현재 위치가 정확하지 않더라도 현재 위치 의 근처에서 샘플이 양수 가방에 넣을 때 이 가방에 오브젝트가 잘 중앙에 있는 이미지가 하나 이상 포함되어 있을 가능성이 높습니다.

MIL 프로젝트 페이지에는 MIL 트래커의 내부 작동을 더 깊이 파고 드는 사람들을위한 더 많은 정보가 있습니다. 이 트래커는 HAAR 캐스케이드 기반 얼굴 검출기가 내부적으로 사용하는 알고리즘인 AdaBoost의 온라인 버전을 기반으로 합니다. 이 분류기는 런타임시 개체의 양수 및 음수 예제를 사용하여 학습해야 합니다. 사용자가 제공한 초기 경계 상자(또는 다른 개체 검색 알고리즘)는 개체에 대한 긍정적인 예로 간주되며 경계 상자 외부의 많은 이미지 패치가 배경으로 처리됩니다. 새 프레임이 주어지면 분류기는 이전 위치 의 주변의 모든 픽셀에서 실행되고 분류자의 점수가 기록됩니다. 객체의 새 위치는 점수가 최대인 위치입니다. 이제 분류자에 대해 한 가지 더 긍정적인 예가 있습니다. 더 많은 프레임이 들어오면 분류기가 이 추가 데이터로 업데이트됩니다.