1

내가 OpenCV의를 사용하여 카메라에서 물체를 검출하기위한 안드로이드 응용 프로그램을 만들려고 해요, 내가마커리스 탐지를 위해 android device를 사용하여 이미지를 탐지하는 가장 적합한 방법은 무엇입니까?

내 목적은 응용 프로그램

일을 만드는 것입니다의 OpenCV의 참조를 읽고 이미지 검출을위한 많은 방법이 있습니다 발견) 응용 프로그램은 실시간 카메라 프레임에서 데이터베이스 (탐지 할 수있는 객체 세트)의 모든 객체를 감지 할 수 있습니다. (처리 속도/탐지 속도가 중요 함)

2) 객체 이미지의 데이터베이스는 시간 (데이터베이스가 외부 서버에있는 것이 바람직 함) - 캐스케이드 분류기, 호그 (HOG) 또는 기타 방법을 사용할 수 없음을 의미합니까?

3) 경우에 따라 카메라 프레임에 데이터베이스에있는 두 개 이상의 개체가 감지 될 수 있습니다.

난 ORB 검출 및 설명과 bruteforce 매칭 간단한 특징 검출을 시도했지만 거의 모든 물체 또는 벽에 대한 검출을 제공 -. 위양성 검출을

FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB); 
DescriptorExtractor extractor = DescriptorExtractor.create(DescriptorExtractor.ORB); 
DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE); 
(SIFT 또는 테스트 SURF에도 오류가 발생하여)

개체의 존재를 감지하기위한 강력한 방법은 없으므로 어떤 호모 그래피 나 관점이 필요하지 않습니다.

답변

0

2) 데이터베이스에 개체를 추가하려면 새 탐지기를 교육해야합니다.

3) 네, 프레임에 하나 이상의 감지기를 적용 할 수 있습니다.

부품 구현에 의한 탐지를 위해 latentsvm 객체 탐지를 사용할 수 있지만 새로운 모델을 교육하는 것은 약간 까다 롭습니다.

그 밖의 경우 Viola & Jones 또는 많은 개체 탐지 체계 (예 : HOG + SVM 또는 BOW + SVM) 중 하나를 사용할 수 있습니다.

+0

거의 모든 사람이 데이터베이스 이미지를 업데이트 할 수 있으므로 특정 이미지에 대한 교육을 사용하지 않는 기본 방법은 무엇입니까? openCV에서 서핑/시프트를 테스트에 사용할 수 있습니다. 비상업적 인 목적. – shyamnathan

+0

훈련을 사용하고 싶지 않다면, knn 분류 만 사용할 수 있다는 것을 의미하며, 그것이 작동하는지 확신 할 수 없습니다. openCV에서 Surf와 Sift는 특허를 받았습니다. 특허 세부 사항이 무엇인지 확실하지 않습니다. – GilLevi