Keywords: Face, Point, Deep Map, Image.
Simplificadamente, o dispositivo trabalha capturando, através de uma câmera CCD (Charged Couple Device), os planos gerados por um emissor de luz lazer. A câmera e o emissor lazer são deslocados linearmente ao longo do objeto a ser digitalizado. A determinação da profundidade de cada ponto sobre o plano, é calculado pelo modelo geométrico, que calcula a profundidade por meio de triangulação simples assumindo a projeção perspectiva, ou pelo modelo de invariância de razão-dupla (cross-ratio) [Duda (1973)]. O dispositivo fornece um mapa de profundidades (Figura 2) do objeto. Uma descrição mais aprofundada dos métodos e problemas do dispositivo é encontrada em [Souza-Campos (1998)].
Tendo em mãos o mapa de profundidade precisamos agora tornar disponível, ao usuário do dispositivo, a manipulação do objeto no espaço tridimensional. Escolhemos para isto a linguagem VRML (Virtual Reality Modeling Language), não só por entendermos que esta, está se tornando um padrão de fato, mas também por possuir interpretadores nas mais variadas plataformas. Sendo esta uma das características mais importantes ao nosso ver, o usuário não precisa ficara amarrado a uma plataforma, pode trabalhar com o objeto capturado em qualquer uma, sem necessidade de nenhuma mudança ou adaptação. A flexibilidade da linguagem também foi um fator decisivo na sua escolha.
Abordaremos a seguir as características fundamentais do problema, oclusão coerência das imagens e sobreposição dos mapas de profundidade. Posteriormente falaremos dos problemas com aquisição dos mapas de profundidade, no item 3 discutiremos o problema de coerência e sobreposição da imagem, em 4 exporemos como foi feito a escala da imagem . Em 5 falaremos do ponto de andamento do projeto.
Faz-se então necessário mais de uma captura para digitalizar o objeto completamente, o problema agora é descobrir qual o menor número de capturas necessário à visualização de todo objeto.
Figura 3 - Descrição do dispositivo de captura de imagens: câmera (1), emissor laser (2), suporte rígido (3), sistema de translação horizontal (4), placa digitalizadora (5), micro computador (6), B é o plano de varredura, que está sendo digitalizado A e C são os limites do volume de visualização.
Segundo (Maver, 1990) para conseguirmos um ponto pi ( x, y ) no plano de varredura nos precisamos de encontrar todas as direções em que pi ( x, y ) é visível. Para determinarmos se o ponto pi ( x, y ) é visível a partir da direção j precisamos verificar se todos os pontos pk( x, y ) na cena, ao longo desta direção, ocultam o ponto pi ( x, y ). Considera-se a relação entre a distancia l entre os dois pontos do plano de varredura e o tamanho da oclusão l' produzido por pk ( x, y ) na direção j é definido por :
l' = h(pk) - h(pi) ,
tan( (h(pk)))
onde h(pk) e h(pk) representam o tamanho da cena até os pontos pi ( x, y ) e pk ( x, y ) respectivamente.
Se a distancia entre pi ( x, y ) e cada pk ( x, y ) é maior que l' então o ponto pi ( x, y ) é visível na direção (Figura 5) j. Cada ponto pi ( x, y ) é visível por diversas direções diferentes.
Caracterizado agora o que é oclusão podemos partir para um caso específico. Um dos piores caso de captura, de objetos convexos, para o sistema é a esfera. Cerca de apenas 2/3 da face visível da esfera aparece no mapa de profundidade (Figura 6 (a)), as cores mais claras indicam maiores profundidades e as mais escuras menores, o preto são pontos não capturados. Metade da esfera não é captada, pois e a câmera e o laser movem-se linearmente ao longo do objeto, não captando a face oposta. A parte que não aparece da esfera na foi auto oclusa, ou seja a parte mas próxima da esfera, ocultou da câmera o feixe do laser.
Com rotações de 90o conseguimos, em quatro capturas, uma descrição de todo o objeto (Figura 7 (a)). No pior caso, de objetos convexos esfera, com quatro capturas também conseguimos uma descrição de todo o objeto. Nenhum ponto é perdido pois há uma sobreposição de pontos de uma face capturada para outra, e esta sobreposição é complementar a outras capturas com relação aos pontos oclusos. Conseguimos com isto uma descrição completa da esfera (Figura 7 (b)).
Através da informação contida nas capturas das faces, conseguimos informação suficiente para recuperar várias áreas oclusas do objeto. Uma região que é oclusa em uma captura, se estiver na região de sobreposição, pode não estar oclusa na captura da próxima face, sendo assim, possível sua recuperação.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.1. Correlação das Faces
Agora precisamos descobrir se as faces tem pontos em comum, e quais são estes pontos caso hajam. É importante principalmente tentarmos, com estas sobreposições, encontrar pontos, em outras capturas, que mascarem as regiões de oclusão. O que fazemos, já que estamos com todas as faces no mesmo referencial, é mapear as faces capturadas tentando achar um mesmo ponto X,Y,Z em faces adjacentes. Este ponto não precisa ser precisamente o mesmo mas sim estar dentro de uma faixa de erro aceitável, para que não comprometa os pontos vizinhos.
Outro problema que temos capacidade de solucionar com as faces no mesmo referencial, é o das partes superiores e inferiores do objeto. Por limitação do dispositivo de captura de imagens, não temos informação sobre a parte superior, nem a inferior do objeto digitalizado. Tendo a informação das quatro faces laterais do objeto podemos determinar a provável formação das duas faces não captadas pelo dispositivo.
Vamos analisar o caso do "topo" do objeto, partiremos do princípio que as faces opostas tem a mesma altura Y para os pontos correspondentes das faces, não sendo assim, assumimos que ocorreu algum problema na captura do objeto e não podemos garantir mais a correspondência. Tendo os pontos opostos a mesma altura, verificamos quais faces tem menor altura. Traçamos assim planos entre estas duas faces criando o "topo" do objeto (Figura 10 (b)). O mesmo pode ser feito para a face de baixo do objeto sem maiores problemas. Este processo simples, soluciona grande parte dos casos. Mas infelizmente não todos, desta forma não somos capazes de determinar faces côncavas, como as mostradas na Figura 11.
Uma solução possível seria realizarmos duas novas capturas, uma para a parte superior e outra para a inferior do objeto, tentando assim garantir a fidelidade na representação do objeto, mas sendo a face em questão côncava, podemos ter oclusão. Surge também um problema de referencial, convém lembrar neste dispositivo quando queremos a captura de uma nova face, devemos rotacionar o objeto, e precisamos ter todas as faces exatamente no mesmo referencial, para assim fazermos a correlação das imagens. Se adicionarmos estas duas novas capturas, teremos uma grande dificuldade em relacionar os pontos com as faces já capturadas do objeto. Quando fazemos a captura das faces do objeto, uma das maiores preocupações que devemos ter é a de fazemos uma rotação de 90o perfeita e o inicio da captura (x0) exatamente no inicio do objeto, ou todas as capturas tem que iniciar a mesma distancia do objeto. Só assim podemos garantir que conseguiremos colocar todas as faces no mesmo referencial, dependendo da forma do objeto, pode ser difícil conseguirmos uma rotação perfeita de 90o em relação ao eixo X do objeto.
Sendo assim vamos restringir nosso universo de ao dos objetos que não tem face côncava na parte superior nem inferior. Tomando cuidado com a forma de posicionar o objeto para a captura, isto pode até não ser uma forte restrição. Quais quer outros, objetos em forma de cunha, piramidais, cones, conseguimos uma leitura perfeita, pois as diferentes profundidades são capturadas pelo dispositivo.
Esta diminuição na resolução do objeto é feita através de uma amostragem (Sampling). São considerados como válido os pontos de N em N, por exemplo um objeto com resolução três, significa que nos planos utilizados para compor a face do objeto, são considerados um a cada três pontos do mapa de profundidade. A menor resolução possível, um, nos retorna planos entre todos os pontos do mapa de profundidade.
O dispositivo nos retorna um mapa de profundidade, não nos dá nenhuma informação sobre a cor, textura ou brilho do objeto. Podemos inserir todos estes dados no arquivo VRML de descrição do objeto, conseguindo assim uma noção mais realística do objeto, com a alteração de um simples parâmetro, podemos também visualizar apenas as linhas de composição do objeto (wireframe), tendo assim uma melhor noção tridimensional do objeto .
Implementamos os métodos de visualização em pequenos módulos o que nos permite criar imagem do objeto todo, ou apenas a visualização de uma face, isto pode ser útil quando nos interessa apenas uma captura do scanner (Figura 14).
Estamos, agora, tentando classificar os principais problemas ocorridos nas capturas, e formas de contorná-los. Faltam testes mais apurados e detalhados do algoritmo em diversos mapas de profundidade. O método é ainda muito sensível a qualidade capturas. O dispositivo de aquisição de imagens ainda apresenta alguns pontos onde e também deve ser aperfeiçoado.
Estamos agora realizando uma documentação mais detalhada dos módulos que estão prontos e tentando deixa-los mais eficientes. Está sendo planejada também a distribuição de uma biblioteca de modelagem de objetos em VRML, a partir de um arquivo com o mapa de profundidades da cena.
Como proposta de trabalhos futuros pretendemos executar o nossos métodos em diversos mapas de profundidade para determinar, entre outras, quais são os limites de erro aceitáveis, qual é a margem de erro do dispositivo. Lembrando que a motivação deste trabalho foi a construção de um dispositivo de aquisição de imagens tridimensionais no Laboratório de Robótica e Percepção Ativa da Universidade Federal de Minas Gerais, sendo o trabalho útil, além da visualização dos objetos digitalizados, na detecção de algumas falhas e indicar possíveis aperfeiçoamentos do dispositivo de captura.
Outra proposta de trabalho futuro é a criação de um novo dispositivo, só que este voltado para a captura de objetos deixando agora a câmera e o laser fixos, fazendo o objeto girar, em uma plataforma circular, enquanto é digitalizado.
(Souza, 1998) Souza, John Kennedy Schettino, Campos, Mário Fernando Montenegro, "Um Dispositivo Automático para Obtenção da Forma 3D de Objetos", Sibgrapi 98, 1998.
(Maver, 1990) Maver, Jasna, Bajcsy, Ruzena, "How To Decide From The First View Where To Look Next", MS-CIS-90-30, GRASP LAB 219, July 1990.
(Chen, 1991) Chen, Yang, Medioni, Gérard, "Object Modeling by Registration of Multiple Range images", International Conference on Robotics and Automation, California, April 1991.
Introdução
Caracterizaremos aqui os principais problemas com capturas no dispositivo de aquisição de imagens tridimensionais. Discutiremos desde os pontos que devem ser observados na hora de calibrar a câmera até os que devem ser revistos no dispositivo, passando pelos que devem ser observados para fazer uma captura precisa do objeto.
Deve-se tomar vários cuidados ao se fazer uma captura no dispositivo.
O principal deve ser com relação a calibração,
o dispositivo é muito sensível a qualquer alteração
de posição e angulo da câmera. A se iniciar a calibração
deve-se observar:
Observando estes pontos temos uma boa chance de fazer uma boa calibração. Terminada a etapa de calibração e tendo a distancia que representa o Z0 para o dispositivo devemos testar esta distancia fazendo uma captura estática da posição considerada 0 para o dispositivo. Colocando então a origem onde esta captura nos orientar melhor temos precisamente o ponto realmente considerado 0 pelo scanner.
Os pontos que devem ser considerados na hora da capturara propriamente
dita são principalmente:
Qualquer alteração no scanner ou na câmera requerem nova calibração. Não se deve também salvar imagens com o objetivo de usá-las para calibração, qualquer alteração no scanner ou na câmera alteram tudo então é mais garantido fazer a calibração sempre novamente.
Se quiser digitalizar o objeto tomar os cuidados correspondentes
a captura de objetos para visualização
Motivo : Devido ao desnivelamento da câmera com relação ao objeto capturado.
Sugestão : Colocar a impressora no nível antes de iniciar a captura, ou compensar no suporte da câmera e laser.
Diferença de tamanho na imagem mais próxima da câmera.
Motivo : Maior área capturada no CCD da câmera pelo objeto quando este está mais perto da câmera.
Sugestão : Verificar novamente o algoritmo de projeção perspectiva e ajustá-lo corretamente.
Imagem "torta"
Motivo : Laser torto
Sugestão : Deixar o laser 90o com o plano laser-câmera.
Captura sempre da direita para esquerda.
Motivo : Inversão e distorção da imagem na captura da esquerda para a direita. A distorção se deve provavelmente ao motor de passos que ou deve estar com problemas ou a correia do motor está folgada.
Sugestão : Para a inversão, o scanner considera que o inicio da imagem é onde ele começa a capturar, deve-se alterar no programa que sempre considere a imagem da forma correta. Uma inversão do mapa antes de sua visualização seria suficiente.
Com relação a distorção, trocar o motor de passos e a correia por novos.
Captura do aparato
Motivo : Tem-se que colocar o objeto na altura certa para que a câmera consiga capturar o objeto.
Sugestão : Construir um aparato especial que tenha uma base bem fina, preferencialmente de vidro para que a câmera não seja capturado pela câmera e sua base fique além do Z0, não sendo assim, a base, capturada pelo dispositivo. A base deve ser móvel para alterar a altura do objeto relativo ao CCD da câmera.
Parte superior da imagem está mais próxima
Motivo : Projeção perspectiva.
Sugestão : Reavaliar as funções de projeção do scanner.
Carro "agarrando" causando distorções na imagem
Motivo : Motor de passos pode estar ruim, ou o eixo da impressora está muito próximo, prensando o carro.
Sugestão : Trocar o motor de passos, e verificar, o distanciamento do eixo ao carro sempre que isto ocorrer.
Temos que tomar vários cuidados neste caso. As capturas tem que ser perfeitas, qualquer distorção pode atrapalhar muito o processo de geração da representação do objeto em VRML.
Os principais pontos a observar são:Rotação exata de 90o do objeto.
Inicio da captura sempre exatamente no inicio do objeto, ou sempre a mesma distancia, e o objeto sempre a esta mesma distancia do Z0.
- Verificar o foco e a abertura da câmera.
- Perpendicularidade do laser.
- Nível do scanner
- Cuidado redobrado na calibração
Os problemas com rotação e o inicio da captura são os mais graves. Podemos resolve-los fixando uma folha quadriculada na base do objeto. A folha nos dará a rotação de 90o e a distancia do objeto ao lazer e ao ponto Z0 , ficando assim mais simples a obtenção coerente das quatro faces. É aconselhável que se de nomes coerentes para as faces capturadas, de forma a lembrar qual sua posição com relação ao objeto, face1 para a parte que será a frente do objeto, face2 para a captura do que será o lado direito, face3 para a parte de trás do objeto e face4 para o lado esquerdo do objeto.