Плохая новость в том, что вы не можете использовать AndAR для обнаружения физических объектов. AndAR основан на подходе фидуциального маркера, в котором маркер состоит из двух компонентов: сплошной границы и внутреннего шаблона. Шаблон кодирует значение, которое можно использовать для адресации конкретной модели для визуализации на маркере, а граница облегчает определение относительной ориентации маркера для устройства. Очевидно, что это просто плоское распознавание изображения.
Выполнение распознавания объектов на трехмерном объекте является более сложной проблемой, и я не знаю ни одной библиотеки Android, которая бы предоставляла решение «под ключ», но на мобильном устройстве, вероятно, возможно распознавание только одного объекта.
Одной из возможностей может быть изучение доступных наборов инструментов Android AR (Layar, Junaio, Qualcomm AR SDK), которые все теперь поддерживают некоторое распознавание изображений. Может случиться так, что, снимая изображения вашего чайника с различными поворотами и используя их в качестве изображений, с которыми вы хотите, чтобы ваше приложение соответствовало, вы можете получить это решение работающим, но имейте в виду, что они предназначены только для плоского сопоставления изображений, а не реальные 3D-объекты, поэтому производительность может быть не очень. (Ну, Metaio Mobile SDK Pro выполняет 3D распознавание и отслеживание, но это очень дорого).
Хотя распознавание объекта, возможно, лучше всего выполнить путем сравнения кадров камеры с изображениями объекта, который вы хотите распознать (или путем сравнения характеристик изображения из кадров камеры с предварительно вычисленными функциями изображения и т. Д.), Отслеживание - это другой вопрос. Если вы хотите точно отслеживать свой 3D-объект в 3D-пространстве, вам действительно нужно иметь или построить его 3D-модель, и для каждого кадра определите точечные соответствия между изображением с камеры и 3D-объектом для отслеживания. По-настоящему без посторонней помощи (т.е. без камеры глубины) 3D-слежение сложно.
Я надеюсь, что это даст вам некоторую справочную информацию, которую вы сможете использовать для оценки ваших следующих шагов.
Обновление :
Vuforia SDK компании Qualcomm позволяет отслеживать «многоцелевые объекты», которые представляют собой объекты с набором плоских поверхностей отслеживания с фиксированными пространственными отношениями. Если вы сделали «куб» разных фотографий 6 сторон вашего объекта (чайника), это может сработать.
https://ar.qualcomm.at/qdevnet/developer_guide/Trackables
Обновление на конец 2013 года :
У меня нет опыта с ними, но:
Metaio теперь предлагает 3D-отслеживание моделей САПР: https://dev.metaio.com/sdk/tutorials/3d-tracking-based-on-cad-data/
LinkAR от ARLab.com обещает сопоставление объектов. http://www.arlab.com/objecttracking
Я бы отметил использование слова «сопоставление» - я думаю, что здесь используется тот случай, когда вы знаете объект, который хотите наложить (ящик для игрушек, движок и т. Д.). Различие между несколькими трехмерными объектами может быть полностью вне области видимости.