Как обнаружить физический объект в Android дополненной реальности? - PullRequest
33 голосов
/ 12 января 2012

Я нашел много способов обнаружить разные формы.Но тяжелая удача, когда я собираюсь на физический объект.Из того, что я прочитал, у нас должна быть черная рамка вокруг изображений, чтобы создать файл шаблона.Если я следую этой концепции и создаю шаблон, тогда мое приложение обнаруживает изображения на распечатке.Но в реальном мире физический объект не обязательно имеет черную квадратную форму вокруг него.

Обновление

Хотя я принимаю ответ, мой вопрос остается нерешенным.Поскольку до сих пор нет решения для обнаружения физического объекта.

Любые дальнейшие исследования и ссылки приветствуются!

Ответы [ 4 ]

17 голосов
/ 18 января 2012

Плохая новость в том, что вы не можете использовать 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

Я бы отметил использование слова «сопоставление» - я думаю, что здесь используется тот случай, когда вы знаете объект, который хотите наложить (ящик для игрушек, движок и т. Д.). Различие между несколькими трехмерными объектами может быть полностью вне области видимости.

3 голосов
/ 27 апреля 2012

Я недавно читал об исследованиях, проводимых в словарях иерархической формы, используемых для представления объектов.Конечно, нет библиотеки, доступной для скачивания, но если вас интересует общий подход здесь , вы можете найти некоторые статьи.

Также вас может заинтересовать эта бумага.Описывает алгоритм обнаружения объектов на основе набора контуров.

0 голосов
/ 26 апреля 2019

Теперь у вас есть инструмент для обнаружения объектов в приложениях Android AR.

8 мая 2018 года Google анонсировала мобильный SDK - ML Kit , это API-интерфейс машинного обучения для разработчиков Android и iOS, который можно использовать вместе с ARCore SDK (который теперь имеет API дополненных изображений) и Augmented Faces API). На данный момент он все еще находится в стадии бета-тестирования, но имеет следующие рабочие функции:

enter image description here

Инженеры ML Kit говорят об этом так:

ML Kit объединяет опыт Google в области машинного обучения с приложениями для Android и iOS в мощном, но простом в использовании пакете. Независимо от того, новичок вы или опытный в машинном обучении, вы можете реализовать необходимую функциональность всего за несколько строк кода. Нет необходимости иметь глубокие знания нейронных сетей или оптимизации моделей, чтобы начать. С другой стороны, если вы являетесь опытным разработчиком ML, ML Kit предоставляет удобные API, которые помогут вам использовать ваши собственные модели TensorFlow Lite в ваших мобильных приложениях.

0 голосов
/ 21 октября 2016

Рассматривали ли вы OpenCV для обнаружения и отслеживания объекта ?Взгляните на Поиск объектов с помощью веб-камеры (C ++ / Qt).OpenCV доступен для Android - OpenCV 4 Android .

Enjoy Detection!

...