Какой метод следует использовать для достижения наиболее точного мирового опыта отслеживания ARKit? - PullRequest
0 голосов
/ 19 октября 2018

Моя компания разрабатывает приложение дополненной реальности для клиента с использованием ARKit, и они хотят получить лучший мировой опыт отслеживания на iOS.Мы сказали им, что это не точная наука и что небольшие вариации совершенно нормальны, но они хотят, чтобы мы делали все возможное, чтобы минимизировать ошибки, отклонения и движения от голограмм.

Мы проверили некоторые ARHitTestResultпримеры на Unity и некоторых других, которые используют ARImageAnchor, но мы не можем решить, какой из них лучший.Кажется, что использование ARImageAnchor улучшает отслеживание, но я не уверен, так ли это на самом деле или это просто оптическая иллюзия.

Что лучше - ARImageAnchor против простого ARAnchor?

Пожалуйста, сообщите или поделитесь любой документацией Unity / Apple по этому вопросу.

Спасибо.

1 Ответ

0 голосов
/ 20 октября 2018

Любой якорь в ARKit (ARFaceAnchor, ARImageAnchor, ARPlaneAnchor и т. Д.) Наследуется от класса ARAnchor и, в некоторых случаях, от протокола ARTrackable.

Каждый якорь в ARKitимеет свое специальное назначение (например, ARPlaneAnchor - это специальная версия ARAnchor, предназначенная для процесса обнаружения самолетов).Я не думаю, что один якорь точнее другого.

Таким образом, все, что вам нужно для получения надежного результата отслеживания, - это хорошее освещение , различимые трехмерные поверхности и высококонтрастные текстуры на них .Также предварительно сохранено ARWorldMap является хорошим моментом для постоянного опыта AR.

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

И я должен сказать, что все устройства Apple хорошо откалиброваны для надежного и точного восприятия AR.

enter image description here

PS

Несколько советов о ARWorldTrackingConfiguration () и ARImageTrackingConfiguration () .

Если включить функцию распознавания изображений в6 DOF ARWorldTrackingConfiguration() Вы получите ARImageAnchor объектов (для каждого обнаруженного изображения), это просто информация о положении и ориентации изображений, обнаруженных в сеансе AR отслеживания мира.Это не повышает точность отслеживания мира, но значительно замедляет скорость обработки.

guard let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "ARGroup", 
                                                                   bundle: nil) else {
    fatalError("Missing expected resources.")
}

let configuration = ARWorldTrackingConfiguration()
configuration.detectionImages = referenceImages
configuration.maximumNumberOfTrackedImages = 3
session.run(configuration, options: [.resetTracking, 
                                     .removeExistingAnchors])

A world-tracking session с включенным отслеживанием изображений может одновременно отслеживать только небольшое количество изображений.Вы можете отслеживать больше изображений с ARImageTrackingConfiguration.Но точность и производительность обнаружения изображений значительно снижаются при увеличении количества изображений обнаружения.Для достижения наилучших результатов используйте в наборе не более 20-25 изображений.

ARImageTrackingConfiguration () :

При ARImageTrackingConfiguration ARKit устанавливает 3Dпространство не путем отслеживания движения устройства относительно мира, а исключительно путем обнаружения и отслеживания движения известных 2D-изображений в поле зрения камеры.Image-only tracking позволяет привязывать виртуальный контент к известным изображениям, только когда эти изображения находятся в поле зрения камеры.World tracking with image detection позволяет использовать известные изображения для добавления виртуального контента в трехмерный мир и продолжает отслеживать положение этого контента в мировом пространстве даже после того, как изображение больше не отображается.World tracking лучше всего работает в стабильной, неподвижной среде.Вы можете использовать отслеживание только по изображениям, чтобы добавить виртуальный контент к известным изображениям в других ситуациях, например, в рекламе внутри вагона метро.

Вывод : использование ARImageAnchorsв вашей сцене не добавляется дополнительный уровень качества для World Tracking Results.Проверьте Распознавание изображений в статье AR Experience для получения подробной информации.

Надеюсь, это поможет.

...