Câmara de profundidade do Azure Kinect DK

Esta página aborda como utilizar a câmara de profundidade no Azure Kinect DK. A câmara de profundidade é a segunda das duas câmaras. Conforme abordado nas secções anteriores, a outra câmara é a câmara RGB.

Princípios operacionais

A câmara de profundidade do Azure Kinect DK implementa o princípio Amplitude Modulated Continuous Wave (AMCW) Time-of-Flight (ToF). A câmara lança a iluminação modulada no espectro de quase IR (NIR) para o local. Em seguida, regista uma medição indireta do tempo que a luz demora a viajar da câmara para a cena e para trás.

Estas medidas são processadas para gerar um mapa de profundidade. Um mapa de profundidade é um conjunto de valores de coordenadas Z para cada pixel da imagem, medido em unidades de milímetros.

Juntamente com um mapa de profundidade, também obtemos uma chamada leitura de IR limpa. O valor dos píxeis na leitura de IR limpo é proporcional à quantidade de luz devolvida da cena. A imagem tem um aspeto semelhante a uma imagem de IR normal. A figura abaixo mostra um mapa de profundidade de exemplo (à esquerda) e uma imagem de IR limpa correspondente (direita).

Profundidade e IR lado a lado

Principais funcionalidades

As características técnicas da câmara de profundidade incluem:

  • Chip de imagem ToF de 1 megapixel com tecnologia avançada de pixels que permite maiores frequências de modulação e precisão de profundidade.
  • Dois díodos de Laser NIR que permitem modos de profundidade de campo de vista (FoV) próximos e largos.
  • O menor píxel ToF do mundo, a 3,5μm por 3,5μm.
  • A seleção automática de ganhos por pixel permite que um grande intervalo dinâmico permita que objetos próximos e distantes sejam capturados de forma limpa.
  • Obturador global que permite um melhor desempenho à luz solar.
  • Método de cálculo de profundidade de várias fases que permite uma precisão robusta mesmo na presença de chip, laser e variação da fonte de alimentação.
  • Erros sistemáticos e aleatórios baixos.

Módulo de Profundidade

A câmara de profundidade transmite imagens de IR moduladas não processadas para o PC anfitrião. No PC, o software de motor de profundidade acelerada da GPU converte o sinal não processado em mapas de profundidade. A câmara de profundidade suporta vários modos. Os modos de campo estreito de vista (FoV) são ideais para cenas com extensões menores em dimensões X e Y, mas maiores extensões na dimensão Z. Se a cena tiver grandes extensões X e Y, mas intervalos Z mais pequenos, os modos FoV amplos são mais adequados .

A câmara de profundidade suporta modos de binário 2x2 para expandir o intervalo Z em comparação com os modos não encadeados correspondentes. A binização é efetuada à custa da redução da resolução de imagens. Todos os modos podem ser executados até 30 fotogramas por segundo (fps), com exceção do modo de 1 megapixel (MP) que é executado a uma taxa de fotogramas máxima de 15 fps. A câmara de profundidade também fornece um modo de IR passivo. Neste modo, os iluminadores na câmara não estão ativos e apenas a iluminação ambiente é observada.

Desempenho da câmara

O desempenho da câmara é medido como erros sistemáticos e aleatórios.

Erro Sistemático

O erro sistemático é definido como a diferença entre a profundidade medida após a remoção do ruído e a profundidade correta (verdade básica). Calculamos a média temporal em vários fotogramas de uma cena estática para eliminar tanto quanto possível o ruído de profundidade. Mais precisamente, o erro sistemático é definido como:

Erro Sistemático de Profundidade

Quando dt denota a profundidade da medida no tempo t, N é o número de fotogramas utilizados no procedimento de média e dgt é a profundidade da verdade básica.

A especificação de erro sistemática da câmara de profundidade está a excluir a interferência de vários caminhos (MPI). O MPI é quando um pixel de sensor integra a luz que é refletida por mais do que um objeto. O MPI é parcialmente mitigado na nossa câmara de profundidade através de frequências de modulação mais elevadas, juntamente com a invalidação de profundidade, que vamos introduzir mais tarde.

Erro aleatório

Vamos supor que tiramos 100 imagens do mesmo objeto sem mover a câmara. A profundidade do objeto será ligeiramente diferente em cada uma das 100 imagens. Esta diferença é causada por ruído de tiro. O ruído de tiro é o número de fotões que atingem o sensor varia consondo um fator aleatório ao longo do tempo. Definimos este erro aleatório numa cena estática como o desvio padrão de profundidade ao longo do tempo calculado como:

Erro Aleatório de Profundidade

Quando N denota o número de medições de profundidade, dt representa a medição de profundidade no momento t e d indica o valor médio calculado em todas as medições de profundidade dt.

Invalidação

Em determinadas situações, a câmara de profundidade pode não fornecer valores corretos para alguns pixéis. Nestas situações, os píxeis de profundidade são invalidados. Os píxeis inválidos são indicados pelo valor de profundidade igual a 0. Os motivos para o motor de profundidade não conseguir produzir valores corretos incluem:

  • Fora da máscara de iluminação de IR ativa
  • Sinal de IR saturado
  • Sinal de IR baixo
  • Filtrar atípico
  • Interferência de vários caminhos

Máscara de Iluminação

Os pixels são invalidados quando estão fora da máscara de iluminação de IR ativa. Não recomendamos a utilização do sinal desses píxeis para calcular a profundidade. A figura abaixo mostra o exemplo de invalidação por máscara de iluminação. Os pixels invalidados são os pixels de cor preta fora do círculo nos modos FoV largos (à esquerda) e o hexágono nos modos FoV estreitos (à direita).

Invalidation Outside Illumination Mask

Força do sinal

Os pixels são invalidados quando contêm um sinal de IR saturado. Quando os píxeis estão saturados, as informações de fase são perdidas. A imagem abaixo mostra o exemplo de invalidação por um sinal de IR saturado. Veja setas apontadas para os píxeis de exemplo na profundidade e nas imagens de IR.

Saturação da Invalidação

A invalidação também pode ocorrer quando o sinal de IR não é suficientemente forte para gerar profundidade. A figura abaixo mostra o exemplo de invalidação por um sinal de IR baixo. Veja as setas apontadas para píxeis de exemplo na profundidade e nas imagens de IR.

Sinal Baixo de Invalidação

Profundidade ambígua

Os píxeis também podem ser invalidados se receberem sinais de mais do que um objeto no local. Um caso comum em que este tipo de invalidação pode ser visto está em cantos. Devido à geometria da cena, a luz ir da câmara refletia-se numa parede e na outra. Esta luz refletida causa ambiguidade na profundidade medida do pixel. Os filtros no algoritmo de profundidade detetam estes sinais ambíguos e invalidam os pixéis.

Os números abaixo mostram exemplos de invalidação por deteção de múltiplos caminhos. Também pode ver como a mesma área de superfície que foi invalidada a partir de uma vista de câmara (linha superior) pode aparecer novamente a partir de uma vista de câmara diferente (linha inferior). Esta imagem demonstra que as superfícies invalidadas de uma perspetiva podem ser visíveis de outra.

Invalidation Multipath - Corner

Outro caso comum de multipath são os píxeis que contêm o sinal misto de primeiro plano e fundo (como em torno das arestas do objeto). Durante o movimento rápido, poderá ver pixéis mais invalidados à volta das margens. Os píxeis invalidados adicionais são devido ao intervalo de exposição da captura de profundidade não processada,

MultiPath de Invalidação - Edges

Passos seguintes

Sistemas de coordenadas