ARKit 2.0 - Сканирование 3D-объекта и создание из него 3D-сетки
Приложение iOS 12 теперь позволяет нам создавать ARReferenceObject
и, используя его, может надежно распознать положение и ориентацию объекта реального мира. Мы также можем сохранить готовый .arobject
файл.
Но:
ARReferenceObject
содержит только информацию о пространственных объектах, необходимую ARKit для распознавания объекта реального мира, и не является отображаемой трехмерной реконструкцией этого объекта.
sceneView.session.createReferenceObject(transform: simd_float4x4,
center: simd_float3,
extent: simd_float3) {
(ARReferenceObject?, Error?) in
// code
}
func export(to url: URL, previewImage: UIImage?) throws { }
Есть ли метод, который позволяет нам реконструировать цифровую трехмерную геометрию (низкополигональную или высокополигональную) из .arobject
использование файла Poisson Surface Reconstruction
или же Photogrammetry
?
1 ответ
Вы ответили на свой вопрос цитатой из документации Apple:
ARReferenceObject
содержит только информацию о пространственных объектах, необходимую ARKit для распознавания объекта реального мира, и не является отображаемой трехмерной реконструкцией этого объекта.
Если вы запустите этот пример кода, вы сможете увидеть для себя создаваемые им визуализации эталонного объекта во время сканирования и после распознавания теста - это всего лишь редкое облако трехмерных точек. Конечно, в том, что предоставляет API от Apple, нет фотограмметрии, и нет ничего особенного в плане восстановления реалистичной структуры в сетке.
Это не значит, что такие усилия невозможны - некоторые сторонние организации демонстрировали эксперименты по фотограмметрии на основе ARKit. Но а) здесь не используется сканирование объектов ARKit 2, только необработанный пиксельный буфер и характерные точки из ARFrame
и 2) уровень экстраполяции в этих демонстрациях потребует нетривиальных оригинальных НИОКР, поскольку это далеко за пределы той информации, которую предоставляет сама ARKit.
В ARKit 3.5 вы можете легко реконструировать сетку вашей сцены.
С помощью ARKit 3.5 и iPad Pro 4-го поколения, оснащенного сканером обнаружения и определения дальности (LiDAR), вы можете восстановить топологическую карту окружающей среды. LiDAR работает в пределах 5 метров. Этот сканер может помочь вам улучшить качество Z-канала и таких функций, как окклюзия людей, отслеживание движения, немедленное физическое контактное тело и Raycasting.
Другие замечательные особенности сканера LiDAR: вы можете использовать его в плохо освещенной комнате, вы можете отслеживать чистую белую стену без каких-либо деталей, и вы можете практически мгновенно поместить модель на этап отслеживания.