Я пытаюсь создать приложение для Android для обнаружения объектов с камеры с помощью openCV, я прочитал ссылку на openCV и обнаружил, что существует множество методов для обнаружения изображений,
моя цель - создать приложение
1) Приложение может обнаруживать любой объект из базы данных (набор объектов, которые могут быть обнаружены) на кадре камеры в реальном времени (важна скорость обработки / обнаружения)
2) База данных изображений объектов будет время от времени обновляться (база данных предпочтительно на внешнем сервере) - Означает ли это, что я не могу использовать каскадный классификатор, HOG или какие-либо методы машинного обучения?
3) В кадре камеры иногда может быть два или более объекта, которые есть в базе данных, могут ли оба быть обнаружены в этом случае?
Я попробовал простое обнаружение функции с обнаружением ORB и описанием и сопоставлением методом перебора, но дает обнаружение практически любого объекта или даже стены - ложное срабатывание. (Использование SIFT или SURF для тестирования даже вызывает ошибку)
FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB);
DescriptorExtractor extractor = DescriptorExtractor.create(DescriptorExtractor.ORB);
DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE);
Мне не нужна омография или перспектива, поскольку я не собираюсь проектировать что-либо, просто надежный метод обнаружения присутствия объекта.