Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esta página aborda como usar a câmera de profundidade em seu Azure Kinect DK. A câmera de profundidade é a segunda das duas câmeras. Conforme abordado nas seções anteriores, a outra câmera é a câmera RGB.
A câmera de profundidade do Azure Kinect DK implementa o princípio de Tempo-de-Voo (ToF) de Onda Contínua Modulada em Amplitude (AMCW). A câmera lança iluminação modulada no espectro quase IR (NIR) na cena. Em seguida, ele registra uma medida indireta do tempo que leva a luz para viajar da câmera para a cena e voltar.
Essas 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 pixels na leitura limpa de IR é proporcional à quantidade de luz retornada da cena. A imagem é semelhante a uma imagem de IR normal. A figura a seguir mostra um exemplo de mapa de profundidade (esquerda) e uma imagem de IR limpa correspondente (à direita).
As características técnicas da câmera de profundidade incluem:
- Chip de imagem ToF de 1 megapixel com tecnologia avançada de pixel, permitindo frequências de modulação mais altas e precisão de profundidade.
- Dois diodos laser NIR habilitando modos de profundidade de campo de visão próximos e amplos.
- O menor pixel ToF do mundo, com 3,5μm por 3,5μm.
- Seleção automática de ganho por pixel, permitindo grandes intervalos dinâmicos e capturando objetos próximos e distantes de forma limpa.
- Obturador global que permite um melhor desempenho na luz solar.
- Método de cálculo de profundidade de várias fases que permite precisão robusta mesmo na presença de chip, laser e variação de fonte de alimentação.
- Erros sistemáticos e aleatórios baixos.
A câmera de profundidade transmite imagens brutas de IR moduladas para o PC host. No computador, o software do mecanismo de profundidade acelerada da GPU converte o sinal bruto em mapas de profundidade. A câmera de profundidade dá suporte a vários modos. Os modos de campo de visão estreito (FoV) são ideais para cenas com extensões menores nas dimensões X e Y, mas extensões maiores na dimensão Z. Se a cena tiver grandes extensões X e Y, mas intervalos Z menores, os modos foV largos serão mais adequados .
A câmera de profundidade dá suporte a modos de binning 2x2 para estender o intervalo Z em comparação com os modos correspondentes sem binning. O binning é feito reduzindo a resolução da imagem. Todos os modos podem ser executados em até 30 quadros por segundo (fps), com exceção do modo de 1 megapixel (MP) que é executado a uma taxa máxima de 15 fps. A câmera de profundidade também fornece um modo IR passivo. Nesse modo, os iluminadores na câmera não estão ativos e apenas a iluminação ambiente é observada.
O desempenho da câmera é medido como erros sistemáticos e aleatórios.
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 do solo). Calculamos a média temporal em muitos quadros de uma cena estática para eliminar o ruído de profundidade o máximo possível. Mais precisamente, o erro sistemático é definido como:
Onde d_t denota a profundidade medida no momento t, N é o número de quadros usados no procedimento de cálculo da média e dgt é a profundidade da verdade de solo.
A especificação de erro sistemático da câmera de profundidade está excluindo interferência de múltiplos caminhos (MPI). MPI é quando um pixel de sensor integra a luz refletida por mais de um objeto. A MPI é parcialmente atenuada em nossa câmera de profundidade usando frequências de modulação mais altas, juntamente com a invalidação de profundidade, que apresentaremos posteriormente.
Vamos supor que tiremos 100 imagens do mesmo objeto sem mover a câmera. A profundidade do objeto será ligeiramente diferente em cada uma das 100 imagens. Essa diferença é causada pelo ruído de tiro. O ruído de disparo é a variação no número de fótons que atingem o sensor segundo um fator aleatório ao longo do tempo. Definimos esse erro aleatório em uma cena estática como o desvio padrão de profundidade ao longo do tempo calculado como:
Em que N denota o número de medidas de profundidade, dt representa a medida de profundidade no momento em que t e d indica o valor médio calculado em todas as medidas de profundidade dt.
Em determinadas situações, a câmera de profundidade pode não fornecer valores corretos para alguns pixels. Nessas situações, pixels de profundidade são invalidados. Pixels inválidos são indicados pelo valor de profundidade igual a 0. Os motivos para o mecanismo de profundidade não conseguir produzir valores corretos incluem:
- Fora da máscara de iluminação ativa de infravermelho
- Sinal de IR saturado
- Sinal de IR baixo
- Filtrar exceção
- Interferência de vários caminhos
Os pixels são invalidados quando estão fora da máscara ativa de iluminação de infravermelho. Não recomendamos usar o sinal desses pixels 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 de FoV largo (à esquerda) e o hexágono nos modos de FoV estreito (à direita).
Os pixels são invalidados quando contêm um sinal ir saturado. Quando os pixels 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 as setas apontando para os pixels de exemplo nas imagens de profundidade e IR.
A invalidação também pode ocorrer quando o sinal de IR não é forte o suficiente para gerar profundidade. A figura abaixo mostra o exemplo de invalidação por um sinal de IR baixo. Veja as setas apontadas para pixels de exemplo nas imagens de profundidade e de infravermelho.
Os pixels também poderão ser invalidados se receberem sinais de mais de um objeto na cena. Um caso comum em que esse tipo de invalidação pode ser visto está nos cantos. Por causa da geometria da cena, a luz IR da câmera refletia de uma parede e na outra. Essa luz refletida causa ambiguidade na profundidade medida do pixel. Os filtros no algoritmo de profundidade detectam esses sinais ambíguos e invalidam os pixels.
Os números abaixo mostram exemplos de invalidação por detecção de vários caminhos. Você também pode ver como a mesma área de superfície que foi invalidada de uma posição de câmera (linha superior) pode aparecer novamente de uma posição de câmera diferente (linha inferior). Esta imagem demonstra que superfícies invalidadas de uma perspectiva podem estar visíveis de outra.
Outro caso comum de vários caminhos são pixels que contêm o sinal misto de primeiro plano e plano de fundo (como ao redor das bordas do objeto). Durante o movimento rápido, você poderá ver mais pixels invalidados ao redor das bordas. Os pixels invalidados adicionais são devido ao intervalo de exposição da captura de profundidade bruta,