OpenCV в Android для распознавания объектов
Я новичок в OpenCV или Image Processing и с нетерпением жду каких-либо мнений от тех, кто имеет больше опыта в этой области.
Поэтому в моей задаче моя цель - распознать какой-то конкретный объект. Допустим, это напиток можно.
Вот мой подход для начала:
- Я буду использовать контур, чтобы распознать, что напиток может придать форму
- Добавьте цветной фильтр, чтобы добавить более конкретную опцию для выбора только определенного цвета напитка.
- Добавьте фильтр для распознавания бренда (возможно, с помощью каскадного классификатора или детектора признаков и "Друг"), чтобы было бы более конкретным обращать внимание только на банку с напитком выбранного цвета и марки.
Мои вопросы:
- Напиток может обводить контур не правильной формы. Можем ли мы определить нашу собственную форму как фильтр? Какой подход мне понадобится?
- После первого шага успех. Как добавить еще один фильтр (на шаге 2) только в область, созданную на шаге 1? Или фильтр можно использовать одновременно?
- Как лучше всего распознать объект с 360 градусов с помощью камеры? Я имею в виду, что приложение должно распознавать его с любой точки зрения.
Я думаю, что мне нужно будет многое сделать. И это довольно широкий вопрос.
Мне просто нужен указатель. Возможно, некоторые из вас когда-либо делали почти или даже похожие вещи в прошлом.
Я уже пытался поэкспериментировать с каскадным классификатором. Проблема в том, что нужно тренироваться для каждой точки зрения, а не независимо от ротации. Я также попытался поэкспериментировать с Детектором функций (ORB), Экстрактором дескрипторов (ORB) и Matcher (BruteForce). Но это действительно медленно.. И распознает объект только в том случае, если он точно такой же, как со ссылкой на изображение, которое я дал. Но я мог неправильно использовать или сделать ошибку во время эксперимента, чтобы снизить его производительность.
В любом случае, любые предложения или мнения приветствуются.
Спасибо.