Что такое черные пиксели в пиксельном буфере ARKit Depth Map? - PullRequest
1 голос
/ 08 февраля 2020

При получении буфера глубины пикселей из сеанса ARKit, например:

CVPixelBufferRef depthDataMap = frame.capturedDepthData.depthDataMap;

многие пиксели имеют черный цвет. Что они представляют? Почему они черные? Это не отражает реальную глубину реального мира. Как это интерпретировать?

enter image description here

Ответы [ 2 ]

1 голос
/ 08 февраля 2020

Это какой-то "следовой" артефакт.

Эти черные пиксели в канале глубины являются цифровыми артефактами. Появление этого черного контура стало возможным благодаря тому, что данные глубины захватываются с частотой 15 кадров в секунду (в каждом четвертом кадре), в отличие от изображения RGB, которое захватывается с частотой 60 кадров в секунду. Кроме того, изображение канала глубины имеет низкое качество (низкое разрешение). Таким образом, если субъект быстро или резко перемещает голову во время выполнения сеанса AR, когда каждые три из четырех кадров глубины содержат полностью черный фон - это приводит к ситуации, когда данные RGBA и глубины не совпадают друг с другом, таким образом, мы получаем эти неприятные цифровые артефакты.

Посмотрите на картинку в сообщении Как улучшить People Occlusion в ARKit 3.0 (нажмите на ссылку ниже).

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

0 голосов
/ 08 февраля 2020

Это означает, что для этого пикселя нет данных о глубине (глубина = 0)

...