Подтвердить что ты не робот

Как определить физический объект в Android Augmented Reality?

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

Обновление

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

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

4b9b3361

Ответ 1

Плохая новость: вы не можете использовать AndAR для обнаружения физических объектов. AndAR основан на подходном методе маркера, где маркер состоит из двух компонентов: сплошной границы и внутреннего рисунка. Шаблон кодирует значение, которое может использоваться для адресации конкретной модели для рендеринга на маркере, а граница упрощает определение относительной ориентации маркера на устройство. Очевидно, что это просто распознавание планарного изображения.

Сделать распознавание объектов на 3D-объекте является более сложной проблемой, и я не знаю ни одной библиотеки Android, которая предоставляет решение "под ключ", но распознавание только одного объекта возможно на мобильном устройстве.

Одной из возможностей может быть исследование доступных наборов инструментов Android AR (Layar, Junaio, Qualcomm AR SDK), которые теперь поддерживают некоторое распознавание изображений. Возможно, что, взяв изображения вашего чайника при различных поворотах и ​​используя их в качестве изображений, которые вы хотите, чтобы ваше приложение соответствовало этому, вы можете заставить это решение работать, но имейте в виду, что они предназначены только для выполнения планарного сопоставления на изображениях, а не реальные 3D-объекты, поэтому производительность может быть невелика. (Ну, Metaio Mobile SDK Pro делает 3D-распознавание и отслеживание, но это очень дорого).

В то время как распознавание объектов, пожалуй, лучше всего достигается путем сравнения кадров камеры с изображениями объекта, который вы хотите распознать (или путем сравнения функций изображения с кадрами камеры с предварительно вычисленными функциями изображения и т.д.), отслеживание - это другое дело. Если вы хотите точно отследить 3D-объект в 3D-пространстве, вам действительно нужно будет создать или построить 3D-модель, и для каждого кадра определите соответствия точек между изображением камеры и 3D-объектом для отслеживания. Истинное без помощи (т.е. Без глубины) трехмерное отслеживание сложно.

Надеюсь, это даст вам некоторую предысторию, которую вы можете использовать для оценки следующих шагов.

Обновление: Qualcomm Vuforia SDK позволяет отслеживать "несколько целей", которые представляют собой объекты с набором плоских поверхностей отслеживания с фиксированной пространственной связью. Если вы сделали "куб" разные фотографии с 6 сторон вашего объекта (чайника), которые могли бы работать несколько. https://ar.qualcomm.at/qdevnet/developer_guide/Trackables

Обновление к концу 2013 года:

У меня нет опыта с ними, но:

Metaio теперь предлагает трехмерное отслеживание моделей САПР: https://dev.metaio.com/sdk/tutorials/3d-tracking-based-on-cad-data/

ARLab.com LinkAR promises сопоставление объектов. http://www.arlab.com/objecttracking

Я хотел бы отметить использование слова "сопоставление" - я думаю, что здесь используется прецедент, вы знаете объект, который вы хотите наложить (игрушка-бокс, и двигатель и т.д.). Дифференциация между несколькими 3D-объектами может полностью отсутствовать.

Ответ 2

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

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

Ответ 4

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

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

enter image description here

Об этом говорят инженеры ML Kit:

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