Создайте ARReferenceObject вручную из облака точек - PullRequest
0 голосов
/ 26 октября 2018

Моя идея состоит в том, чтобы взять облако точек (например, файл XYZ) и создать из него ARReferenceObject и использовать его для обнаружения объектов. Поэтому вместо того, чтобы сначала сканировать объект и использовать ссылку на созданный объект, я хочу использовать свое собственное облако точек для обнаружения объектов с помощью ARKit 2.0.

В документации Apple есть что-то на rawFeaturePoints, что ARPointCloud. Я видел, что ARPointCloud имеет свойство под названием points, которое является массивом vector_float3, который, к сожалению, доступен только для чтения. Мне не удалось найти способ создания ARReferenceObject вручную, поэтому я попробовал исходный код из примера Сканирование и обнаружение 3D-объектов .

Я отсканировал трехмерный объект и экспортировал сгенерированный файл .arobject, который является zip-архивом. После распаковки я возился с trackingData.cv3dmap, но сдался. Похоже, проприетарный формат файла, и я не слишком сильно разбираюсь в этом формате.

Теперь мой вопрос: есть ли другое решение для создания файлов .arobject или ARReferenceObject из моего собственного облака точек? Или, возможно, есть совершенно лучший способ обнаружения объектов на основе уже доступного облака точек.

1 Ответ

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

Нет.

По словам инженеров Apple на WWDC18, сканирование объектов - это гораздо больше, чем просто особенности. ARReferenceObject предоставляет массив характерных точек, чтобы обеспечить представление результатов сканирования, которые вы можете визуализировать и рассуждать, но это всего лишь часть данных, которые ARKit сохраняет в эталонном объекте и использует для их распознавания. И, насколько Apple публично заявила, что данные и средства их генерации остаются собственностью.

(Кроме того, нет практической разницы между созданием ARReferenceObject и созданием файла .arobject - последний по сути является сериализованной двоичной версией первого.)

...