REGISTRO DE DADOS RGB-D EM AMBIENTES INDOOR COM REGIÕES
POUCO TEXTURIZADAS
Daniel Rodrigues dos Santos1
Kourosh Khoshelham2
1
Universidade Federal do Paraná
Departamento de Geomática
Programa de Pós Graduação em Ciências Geodésicas
CEP 81531-Curitiba/PR-Brasil
[email protected]
2
University of Twente
Faculty of Geo-information and Earth Observation Science
Enschede-Netherlands
[email protected]
RESUMO
Neste trabalho é apresentado um método para registro de pares de nuvem de pontos 3D derivados de câmeras RGB-D
em ambientes indoor. Esta técnica pode ser empregada em regiões pouco texturizadas, onde é impossível a extração de
primitivas pontuais, assim como o uso de algoritmos baseados em abordagens ponto-a-plano ou plano-a-plano para
registro de pares de nuvem de pontos. A principal características do método proposto é a ponderação da informação de
profundidade no problema de otimização. Os resultados encontrados mostraram que podem ser obtidas precisões
melhores que 3 cm no registro dos dados usando o método proposto.
Palavras chaves: câmeras RGB-D, Registro de pares de nuvem de pontos 3D, Ambientes indoor.
1. INTRODUÇÃO
O problema do registro de nuvem de pontos 3D é uma tarefa importante para diversas aplicações em
fotogrametria e visão computacional, tais como, localização e mapeamento 3D simultâneos, modelagem e reconstrução
3D, entre outras. O registro de nuvem de pontos consiste, basicamente, em determinar os parâmetros de rotação (R) e
translação (T) entre os pares de nuvem de pontos 3D consecutivos, por intermédio de um modelo matemático rígido que
estime a transformação entre o par de nuvem de pontos e uma função que minimize a distância entre as primitivas
correspondentes. O método algoritmo mais difundido na comunidade científica é o ICP (Iterative Closest Point), sendo
originalmente desenvolvido por Besl e McKay (1990). É importante notar que a eficiência do ICP depende da entrada
de valores iniciais aproximados e a quantidade de pontos envolvidos pode onerar o tempo de processamento. Para
melhorar a robustez e eficiência do ICP diversas variações baseadas em abordagens ponto-a-ponto, plano-a-plano, e
ponto-a-plano (CHEN e MEDIONI, 1992; ZHANG, 1994; EGGERT et al., 1998; SEGAL et al., 2009 entre outros).
Bendels et al. (2004) e May et al. (2009) integraram imagens RGB e de profundidade empregando o método SIFT
(Scale Invariant Feature Transform), para produzir um descritor de características visuais que permita avaliações
rápidas e altamente discriminatórias em relação à outras primitivas. Henry et al. (2012) propuseram nova variação do
método ICP, conhecida como RGB-D ICP. A abordagem explora as vantagens das informações derivadas das imagens
RGB e de profundidade. No entanto, para mapeamento 3D de ambientes indoor é muito comum encontrar regiões de
pouca texturização, com padrões repetidos e/ou superfícies planas, tornando impossível a extração de primitivas
pontuais e inviabilizando o emprego de algoritmos baseados em abordagens ponto-a-plano ou plano-a-plano para o
registro de pares de nuvem de pontos, uma vez que um minimo de três planos não paralelos deve ser empregado para
solucionar o problema de otimização.
Neste trabalho é proposto um método para registro de pares de nuvem de pontos 3D em ambientes indoor com
superfícies planas e pouco texturizadas. O método apresenta uma abordagem que divide a nuvem de pontos em células
como padrão de organização para o estabelecimento automático das correspondências, uma proposta de ponderação dos
1
pontos 3D correspondentes e o registro dos pares de nuvem de pontos usando o modelo de corpo rígido 3D, juntamente
com o método dos mínimos quadrados (MMQ) para estimativa dos parâmetros de rotação e translação. Vale ressaltar
que os dados são adquiridos com câmeras RGB-D (dispositivo Kinect). Tal dispositivo é composto por três sensores,
isto é, dois sensores CMOS (Complementary metal-oxide-semicondutor) que registram energia eletromagnética na faixa
do espectro correspondente ao visível (câmera RGB) e infravermelho (câmera IR), e um emissor laser infravermelho,
podendo capturar cenas com 640x480 pixels em uma taxa de 30 quadros por segundo (fps). Cada quadro (frame)
capturado pode conter até 300.000 pontos, cuja precisão é da ordem de 3 cm a cada 3 m, com campo de visão de ~60
graus para sensores com distância media de aquisição inferior a 7 m.
Este trabalho está organizado da seguinte forma: na seção 1 uma breve introdução é apresentada; a seção 2
descreve o método proposto; a seção 3 apresenta os experimentos e os resultados são discutidos; e na seção 4 são
apontadas as conclusões e as recomendações futuras.
2. MÉTODO
1.
2.
3.
O método proposto está divido em 3 etapas principais, a saber:
Aquisição dos dados e geração da nuvem de pontos 3D;
Estabelecimento automático das correspondências e detecção de outliers;
Ponderação das coordenadas Z de cada ponto correspondente e estimativa dos parâmetros.
No dispositivo Kinect, o sensor LASER emite um pulso que é espalhado na superfície de referência (plano
referencial) em forma de padrão de luz estruturada. Assumindo que um objeto está no plano referencial do padrão de
luz estruturada a uma distância Zo do sensor, e um ponto P do padrão de luz estruturada foi projetado na superfície
física, o mesmo também é registrado no plano focal da câmera IR. Se o objeto está próximo (ou distante) do sensor, a
posição do ponto P no plano focal IR será deslocada na direção do eixo X. Esta é a medida de paralaxe (d) obtida no
espaço imagem correspondente ao ponto P no espaço objeto. Com as informações das medidas de paralaxe pode-se
obter a nuvem de pontos 3D usando as equações propostas em Khoshelham e Ouder Elberink (2012), como segue:
Zk =
Z0
Z
1+ 0 d
cb
Zk
X k = ( x ' + x o + dx)
c
Zk
Y k = ( y ' + y o +dy)
c
(1)
(2)
(3)
sendo, x', y' as fotocoordenadas do ponto imagem (observadas no plano focal da câmera IR), x o yo são as coordenadas
do ponto principal e dx e dy os coeficientes de distorção das lentes, denota a distância do ponto P no espaço objeto
ao sensor, b é a linha de base, c a distância focal da câmera IR, Xk, Yk e Zk são as coordenadas tridimensionais de
um P no espaço-objeto. Vale ressaltar que os parâmetros Zo, b e c devem ser devidamente obtidos por um
processo de calibração de câmeras (maiores detalhes ver KHOSHELHAM e OUDER ELBERINK, 2012).
Neste trabalho é proposto um método para reduzir o tempo de processamento e organizar o processo de
estabelecimento de correspondências. Considere um par de imagens IR obtidas com o dispositivo Kinect. A primeira
imagem é regularmente dividida em células de dimensão mxm e para cada célula são calculadas as coordenadas XYZ e
seu respectivo centroide (q). Como resultado tem-se um conjunto de centroides correspondente a nuvem de pontos de
referencia. Para obtenção da nuvem de pontos corrente as equações (1)-(3) são empregadas sobre as fotocoordenadas de
cada ponto na segunda imagem IR. Vale ressaltar que a nuvem de pontos corrente não é dividida em células e um
conjunto de p pontos é então obtido. Para estabelecer as correspondências entre os centroides de cada célula na nuvem
de pontos de referencia (qi) e o conjunto de pontos da nuvem de pontos corrente (p i) é calculada a distancia euclidiana e
para um determinado centroide seu correspondente é o ponto mais próximo. Como resultado tem-se um conjunto de
pontos correspondentes obtido de forma rápida e organizada, evitando falsos positivos. Outra fator importante é a
detecção de outliers. Neste trabalho, distancias e variações angulares entre as linhas retas que ligam os pontos
correspondentes inferiores a um limiar pré definido são considerados outliers e removidos do processamento.
Dado um conjunto de pontos correspondentes, um modelo matemático rigoroso deve ser elaborado para
determinar os parâmetros de rotação e translação entre o par de nuvem de pontos 3D. O modelo empregado neste
trabalho minimiza a soma dos erros (E) como segue:
2
n
E j=∑ Pi ‖ X i , j −1 − ( R X i , j +T ) ‖
(4)
i=1
sendo, X i , j −1 e X i , j as coordenadas dos pontos correspondentes nas nuvens de pontos de referencia (i) e
corrente (j), Pij é peso associado ao par de pontos ij, T é o vetor dos parâmetros de translação tx, ty, tz e R a matriz dos
parâmetros de rotação em função dos ângulos de Euler ( ω , ϕ , κ ).
Neste caso, os pesos são definidos para todo par de pontos correspondentes (inliers) baseado na precisão
teórica das coordenadas de profundidade (Z). Aplicando a propagação de covariâncias nas Equações (1)-(3) e fazendo
algumas manipulações matemáticas obtém-se a ponderação como proposto por Khoshelham et al. (2013).
A Equação (4) não é linear e envolve 6 parâmetros a serem determinados pelo MMQ. Neste caso, deve ser
aplicado o modelo paramétrico não linear (GEMAEL, 1994). Vale ressaltar que, assim como o ICP, o método proposto
é iterativo. Ou seja, cada vez que os parâmetros de rotação e translação são estimados pelo MMQ uma nova nuvem de
pontos 3D corrente é obtida, ou seja, para cada iteração, o algoritmo implementado trabalha da seguinte forma a saber:
1.
Encontra a correspondência entre os centroides na nuvem de pontos de referencia e os pontos na
nuvem de pontos corrente através do calculo da distancia euclidiana;
2.
Atribui pesos aos pontos correspondentes;
3.
Determina o alinhamento entre o par de nuvem de pontos;
4.
Regenera a nuvem de pontos 3D corrente empregando os parâmetros estimados;
5.
Os passos 1-4 são repetidos até que o erro médio quadrático da discrepância dos valores seja inferior a
um limiar pré definido ou o número de iterações seja superior ao número máximo de iterações definida;
6.
Finalmente, é obtido um par de nuvem de pontos 3D com minimas diferenças angulares e
posicionais, de forma rápida e precisa.
3. EXPERIMENTO E ANÁLISE DOS RESULTADOS
Um experimento foi conduzido para avaliar o método proposto neste trabalho. Os algoritmos foram
implementados em linguagem de programação C/C++ MinGW para Linux e os resultados são visualizados através das
ferramentas de visualização implementadas na biblioteca computacional open-source, conhecida como PCL (Point
Cloud Library) e VTK (Visualization ToolKit). A Figura 1 mostra o par de imagens usado para validar o experimento
discutido neste trabalho. Vale ressaltar que para cada imagem RGB existe uma imagem IR e a nuvem de pontos deve
ser obtida usando as equações apresentadas na seção 2.
Figura 1. Superfícies pouco texturizadas em ambiente indoor.
Como pode ser observado na Figura 1 todas as superfícies presentes nos ambientes mapeados são pouco
texturizadas, assim como em nenhum dos casos pode-se detectar três planos não colineares. Para cada par de nuvem de
pontos 3D são executadas as etapas 1-6 apresentadas na seção 2. A Figura 2 mostra os resultados obtidos para o par de
nuvem de pontos.
3
(a)
(c)
(b)
(d)
(e)
Fig. 1 - resultados obtidos para o par de nuvem de pontos 3D. (a) Vista frontal do par de nuvem de pontos antes do
registro; (b) Vista aérea do par de nuvem de pontos antes do registro; (c) Pontos correspondentes da 1a. Iteração; (d)
Vista frontal do par de nuvem de pontos depois do registro; (e) Vista aérea do par de nuvem de pontos depois do
registro.
Neste experimento foram usados como limiares de distancia minima e variação angular entre as linhas retas
que ligam os pontos correspondentes 2,5 cm e 90 graus, respectivamente. Como pode ser observado na Figuras 1a e 1b
o desalinhamento do par de nuvem de pontos 3D é relativamente grande, uma vez que a aquisição dos dados foi
realizada com um dispositivo Kinect cuja taxa de aquisição é inferior a 15 quadros por segundo. Na Figura 1c pode-se
verificar visualmente que as correspondências estabelecidas são coerentes e a medida que os parâmetros de rotação e
translação são corrigidos, o número de falsos positivos diminui e o número de inliers pode aumentar. As Figuras 1d e 1e
mostram que o método proposto registra adequadamente um par de nuvem de pontos em uma região pouco texturizada.
No entanto, o alinhamento não é perfeito, uma vez que os dados Kinect são bastante ruidosos em função da baixa
qualidade dos sensores integrados no sistema e os próprios objetos que compõem a cena, tais como, os objetos plásticos,
objetos pintados de preto e superfícies especulares. No ambiente tratado, neste experimento, pode-se encontrar objetos
plásticos, objetos pintados de preto. Isto também propicia uma nuvem de pontos incompleta. O Gráfico 1 mostra o erro
médio quadrático (rms) dos resíduos calculados para cada iteração.
4
Gráfico 1. Erro médio quadrático dos resíduos de cada iteração.
Como esperado o rms dos resíduos diminui conforme aumenta o número de iterações (ver Gráfico 1). No
entanto, na terceira iteração ocorre o oposto do esperado, seguido de uma caída abrupta do rms na quarta iteração. Isto
pode ser explicado devido ao estabelecimento de falsos positivos. Como a detecção de outliers é uma tarefa complexa,
erros como este podem ocorrer durante o processo de registro do par de nuvem de pontos.
4. CONCLUSÕES E RECOMENDAÇÕES
Este trabalho apresentou um método de registro de pares de nuvens de pontos 3D derivados de câmeras RGBD em ambientes indoor. A principal características do método proposto é a ponderação da informação de profundidade
no problema de otimização. Para investigar a potencialidade do método proposto foi realizado um experimento em
ambiente indoor com regiões pouco texturizadas. O processo de correspondência ponto-a-ponto é feito de forma
organizada e rápida, uma que a nuvem de pontos de referencia é dividia em células igualmente espaçadas. Duas
restrições geométricas foram propostas para diminuir o número de falsos positivos, ou seja, a distancia minima e a
variação angular das linhas retas que ligam os pontos correspondentes. Os resultados obtidos mostraram que a divisão
da nuvem de pontos de referencia em células reduz drasticamente o tempo de processamento. A detecção e remoção de
outliers é uma tarefa complexa e exige maiores investigações, uma vez que elas afetam a estimativa dos parâmetros e
consequentemente o calculo do rms dos resíduos. De forma geral, o algoritmo implementado pode ser usado em
qualquer tipo de ambiente indoor uma vez que não depende da correspondência entre pontos ou planos extraídos na
nuvem de pontos, podendo-se afirmar que é um método robusto para fins de registro de nuvem de pontos 3D. O método
também não requer aproximações iniciais.
Em trabalhos futuros serão conduzidos investigações para abordagens ponto-a-plano no processo de registro
dos pares de nuvem de pontos 3D, incluir novas restrições geométricas no processo de estabelecimento de
correspondências e algoritmos de registro global a fim de evitar o acumulo de erros ao longo do processo.
AGRADECIMENTOS
Ao CNPq por concessão de bolsa de Produtividade em Pesquisa (processo no. 302644/2013-0).
REFERÊNCIAS BIBLIOGRÁFICAS
BENDELS, G.H., DEGENER, P., WAHL, R., K, M., e KLEIN, R., 2004, Image-based registration of 3D-range data
using feature surface elements, Proceedings of the 5th International conference on Virtual Reality, Archaeology
and Intelligent Cultural Heritage: Oudenaarde, Belgium, Eurographics Association, p. 115-124.
BESL, P.J., e MCKAY, H.D., 1992, A method for registration of 3-D shapes: Pattern Analysis and Machine
Intelligence, IEEE Transactions on, v. 14, p. 239-256.
CHEN, Y., e MEDIONI, G., 1992, Object modelling by registration of multiple range images: Image Vision Comput.,
v. 10, p. 145-155.
5
DOLD, C., e BRENNER, C., 2006, registration of terrestrial laser scanner data using planar patches and image data, in
Maas, H.-G., and Schneider, D., eds., ISPRS Comm. V Symposium “Iamge Engineering and Vision Metrology”,
Volume XXXVI Part. 5, 25-27: Dresden, p. 78-83.
EGGERT, D.W., FITZGIBBON, A.W., e FISHER, R.B., 1998, Simultaneous registration of multiple range views for
use in reverse engineering of CAD models: Comput. Vis. Image Underst., v. 69, p. 253-272.
HENRY, P., KRAININ, M., HERBST, E., REN, X., e FOX, D., 2010, RGB-D Mapping: Using Depth Cameras for
Dense 3D Modeling of Indoor Environments, Symposium on Experimental Robotics (ISER).
HENRY, P., KRAININ, M., HERBST, E., REN, X., e FOX, D., 2012, RGB-D mapping: Using Kinect-style depth
cameras for dense 3D modeling of indoor environments: The International Journal of Robotics Research, v. 31, p.
647-663.
KHOSHELHAM, K., e ELBERINK, S.O., 2012, Accuracy and Resolution of Kinect Depth Data for Indoor Mapping
Applications: Sensors, v. 12, p. 1437-1454.
KHOSHELHAM, K., DOS SANTOS, D.R. e VOSSELMAN, G., 2013, Generation and weighting of 3D point
correspondences for improved registration of RGB-D data. In: ISPRS Annals Volume II-5/W2 : ISPRS Workshop
laser scanning, 11-13 November 2013, Antalya, Turkey / ed by M. Scaioni et al. Antalya: ISPRS, 2013. ISSN: 21949050. pp. 127-13.
MAY, S., DROESCHEL, D., HOLZ, D., FUCHS, S., MALIS, E., N., e HERTZBERG, J., 2009, Three-dimensional
mapping with time-of-flight cameras: J. Field Robot., v. 26, p. 934-965.
SEGAL, A., HAEHNEL, D., e THRUN, S., 2009, Generalized-icp, In Proc. of Robotics: Science and Systems (RSS),
Volume 25, 26, 27.
ZHANG, Z., 1994, Iterative point matching for registration of free-form curves and surfaces: Int. J. Comput. Vision,
v. 13, p. 119-152.
6
Download

RBC - NORMAS PARA PUBLICAÇÃO