OpenCV Object Tracking 자료 조사 및 테스트 결과

|

Update Log

2019-05-16 기준 최신버전 4.1

2019-05-21 3.4.1 및 4.1 테스트

 

 

 

목적

-> 라이브 영상의 객체 추적 테스트 앱 개발

 

OpenCV 선정 이유

-> 전문가에게 추천 받았으며, 비슷한 라이브러리 중에 자료 획득이 쉬움.

-> Android 외에도 적용이 가능할 수 있음. (ex> IOS)

 

SDK 획득 경로

-> 빌드 상태확인 : https://pullrequest.opencv.org/buildbot/builders/master-contrib_pack-contrib-android

-> 빌드된 소스 다운로드 : https://pullrequest.opencv.org/buildbot/export/opencv_releases/master-contrib_pack-contrib-android/

-> opencv git : https://github.com/opencv/opencv/releases  (contrib 미포함. Tracker가 빠져있음. 별도로 빌드하거나 위 주소를 통해서 빌드된 SDK를 받아서 사용할 것.

 

OpenCV 프로젝트 생성 방법

-> https://webnautes.tistory.com/1054 

 

OpenCV Object Tracking ( 파이썬 )

-> https://www.pyimagesearch.com/2018/07/30/opencv-object-tracking/

    (분석 결과 selectROI와 OpenCV에서 제공해주는 Tracker를 이용하여 하는 것을 확인)

 

OpenCV 제공 Tracker 종류 ( Android 기준 )

Tracker 지원 버전 설명 (다른 사이트 참조함) 기타
Boosting 3.0.0 오래된 추적기로 성능이 떨어짐. 테스트 불가
MIL 3.0.0 Boosting에 비해 정확도가 좋으나 실패 보고가 잘 정상적으로 안됨. 작동 의문
KCF 3.1.0 Boosting과 Mil보다 빠르지만, 가림 현상을 잘 처리하지 못함. 정확도 속도 모두 떨어짐
CSRT 3.5.2 KCF보다 정확하지만 느림. BEST
MedianFlow 3.0.0 실패 보고가 잘 작동하나 빠른 변화에 취약함. 빠르면 못찾음
TLD 3.0.0

가림 현상에 잘 작동하나 Android 버전에서 에러가 빈번하게 발생함.(3.4까지 확인하였으며, 4.1 확인예정)

-> 4.1에서 테스트 결과 에러 발생도는 떨어졌으나 좀더 테스트 필요해보임.

    너무 느림 + 엉뚱한걸 인식하는 경우가 잦음.

잊어버려도 다시 찾긴 하지만 엉뚱한걸 자주 찾음
MOSSE 3.4.1 정확도는 떨어지지만 매우 빠름.  
GOTURN 3.2.0 딥러닝 기반으로 추가 모델 파일이 필요함. 테스트 불가

각 추적기 성능 비교영상

https://www.youtube.com/watch?v=9vEwSqkKLB0

https://www.youtube.com/watch?v=61QjSz-oLr8

https://www.youtube.com/watch?v=pj-QuE6pdEQ

 

Object Tracking TEST 결과

-> 하드웨어 영향이 많이 큰것으로 보임. (노트8을 제외한 기기에서 추적이 너무 느리거나 정상적이지 못함)

-> 하드웨어 가속이 가능한지 확인 및 성능 차이 확인 필요.

   --> OpenCL(gpgpu) 지원 여부에 따른 성능차이 확인. (20190521)

-> 노트 8 기준 CSRT가 가장 만족스러운 결과가 나옴. (테스트 영상 : https://www.youtube.com/watch?v=giYroRu6GHc)

 

OpenCV 3.4.1과 4.1

-> 성능의 차이는 사실상 안보임. 

-> 4.1에서 테스트시 대부분의 개발용 폰에서 작동이 안됨.

   (OpenCL, CPU 차이로 오는것은 아닌거 같음. 유일한 차이라고 하면 가동되는 폰은 OS 8.0 이상임)

 

기타 라이브러리

BoofCV - https://boofcv.org/index.php?title=Main_Page

 > object tracking이 구현된 샘플 소스를 제공하며, 사용하기 쉬웠음.

FastCV - https://developer.qualcomm.com/software/fastcv-sdk

 > 조사는 해놨으나 OpenCV로 결정됨에 따라 테스트는 해보지 않음.

 > Android CPU로 유명한 퀄컴사의 CV SDK

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

And