• Nenhum resultado encontrado

Comparação de sistemas de visão estereoscópica para medição de distância de objetos heterogêneos

N/A
N/A
Protected

Academic year: 2021

Share "Comparação de sistemas de visão estereoscópica para medição de distância de objetos heterogêneos"

Copied!
47
0
0

Texto

(1)

UNIJUI - UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL

DCEEng – DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS

COMPARAÇÃO DE SISTEMAS DE VISÃO

ESTEREOSCÓPICA PARA MEDIÇÃO DE

DISTÂNCIA DE OBJETOS HETEROGÊNEOS

FERNANDO VINICIOS MANCHINI DE SOUZA

Ijuí 11/ 2013

(2)

GRANDE DO SUL

DCEEng – DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS

COMPARAÇÃO DE SISTEMAS DE VISÃO

ESTEREOSCÓPICA PARA MEDIÇÃO DE

DISTÂNCIA DE OBJETOS HETEROGÊNEOS

FERNANDO VINICIOS MANCHINI DE SOUZA

Trabalho de Conclusão de Curso apresentado ao Curso de Ciência da Computação do Departamento de Ciências Exatas e Engenharias (DCEEng), da Universidade Regional do Noroeste do Estado do Rio Grande do Sul (UNIJUÍ), como requisito para a obtenção do título Bacharel em Ciência da Computação.

Professor: Msc Juliano Gomes Weber

Ijuí 11/ 2013

(3)

COMPARAÇÃO DE SISTEMAS DE VISÃO

ESTEREOSCÓPICA PARA MEDIÇÃO DE

DISTÂNCIA DE OBJETOS HETEROGÊNEOS

FERNANDO VINICIOS MANCHINI DE SOUZA

Trabalho de Conclusão de Curso apresentado ao Curso de Ciência da Computação do Departamento de Ciências Exatas e Engenharias (DCEEng), da Universidade Regional do Noroeste do Estado do Rio Grande do Sul (UNIJUÍ), como requisito para a obtenção do título Bacharel em Ciência da Computação.

______________________________________ Orientador: Prof. Msc Juliano Gomes Weber

BANCA EXAMINADORA

______________________________________ Prof. Msc Rogério Samuel de Moura Martins

Ijuí 11/ 2013

(4)

Primeiramente agradeço aos meus pais, que sempre me deram apoio durante a caminhada de minha graduação, pela compreensão durante os momentos de ausência, assim como os demais familiares e amigos que sempre incentivaram e aconselharam.

Aos professores, que contribuíram durante toda a minha formação, desde as séries iniciais até a graduação, especialmente ao professor orientador que contribuiu para a construção deste trabalho.

(5)

RESUMO

Este trabalho aborda o uso de câmeras de vídeo em um sistema de visão estereoscópica e o desenvolvimento de uma aplicação para medição de distância de objetos heterogêneos, ou seja, objetos não determinados, tendo como principal objetivo, obter resultados precisos, dentro da unidade de medida centímetros. Aplicando métodos da literatura recente, modelos matemáticos e utilizando a biblioteca OPENCV para auxilio na captura e processamento das imagens. O objetivo é verificar a viabilidade de utilizar-se de sensores passivos e não intrusivos, na obtenção de informações do meio, otimizando a execução do algoritmo, para se obter resultados mais precisos, considerando o processamento em tempo real.

(6)

This paper addresses the use of video cameras in a stereo vision system and the development of an application for determination of distance of heterogeneous objects, ie, objects not certain, having as main objective, accurate results, within the unit of measure inches. Applying methods from the recent literature, mathematical models and using the OpenCV library to aid in capturing and processing images. The main objective is to verify the feasibility of using passive sensors is not intrusive to obtain information through optimizing the execution of the algorithm to obtain more accurate results, considering the real-time processing.

(7)

LISTA DE FIGURAS

Figura 1 - Geometria presente no modelo de câmera pinhole segundo BRADSKI e

KAEHLER, 2008, p.388...15

Figura 2 - Retângulos concêntricos afetados por distorções do tipo “Barril” (a) e “Almofada” (b) (LOBÃO, 2004, p. 17)...16

Figura 3-Principais Elementos da Geometria Epipolar (STIVANELLO, 2008, p32)...18

Figura 4-Exemplo de retificação realizada no projeto...19

Figura 5-Imagem capturada pelo sensor Asus Xtion...20

Figura 6-Sistemática funcionando mapa de disparidade (BRADSKI e KAEHLER, 2008, p.441)...22

Figura 7-Sistema Canônico.(MENDES, 2012, p. 11))...24

Figura 8- Matriz Q gerado pelo Opencv (BRADSKI e KAEHLER, 2008, p.435)...24

Figura 9-Menu principal do Sistema...29

Figura 10- Tela De Captura de Imagens...30

Figura 11-Tela de Geração de Parâmetros de Retificação...30

Figura 12- Tela de Ajuste de Mapa de Disparidade...31

Figura 13-Imagem com marcação de distâncias...32

Figura 14- Montagem Fixa das duas câmeras...33

Figura 15-Gráfico de Dispersão de pontos...37

Figura 16-Exemplo de Mapa de Disparidade...38

Figura 17-Exemplo de Ponto de Referencia em par de imagens...39

Figura 18-Estimação Imprecisa de Distância Real de 2,60 metros...40

Figura 19- Imagem a Esquerda com Iluminação e a Direita sem Iluminação adequada...43

(8)

Tabela 1-Medições de Disparidade x Distância...28 Tabela 2-Medições de Disparidade x Distância...37 Tabela 3-Comparação em Distância Real x Canônica x BRIGO...41

(9)

LISTA DE SIGLAS

1D Uma Dimensão

2D Duas Dimensões

3D Três Dimensões

CCD Charge Coupled Device

CMOS Complementary Metal-Oxide-Semiconductor

CRUD Create, Read, Update, Delete

GPU Unidade de Processamento Gráfico

JNA Java Native Access

RGB Red Green Blue

SAD Soma de Diferença Absoluta

SURF Speeded Up Robust Features

UNIJUI Universidade Regional do Noroeste do Rio Grande do Sul USB Universal Serial Bus

(10)

1 INTRODUÇÃO...12

2 VISÃO ESTEREOSCÓPICA E VISÃO COMPUTACIONAL ...14

2.1 COMPUTAÇÃO GRÁFICA...14 2.2 VISÃO COMPUTACIONAL...14 2.3 MODELO DE CÂMERAS...15 2.4 DISTORÇÃO DE CÂMERAS...16 2.5 VISÃO ESTEREOSCÓPICA...16 2.6 GEOMETRIA EPIPOLAR...17 2.7 CALIBRAÇÃO ESTEREOSCÓPICA...18 2.8 RETIFICAÇÃO...19 2.9 DISPARIDADE...19 2.10 OPENCV...20

2.11 FUNÇÃO NO OPENC PARA MAPA DE DISPARIDADE...21

2.12 FUNÇÃO BUSCA DE PONTOS DE INTERESSE...23

2.13 SISTEMA ESTÉREO CANÔNICO...23

2.14 TRABALHOS RELACIONADOS...25

3 SISTEMA DE VISÃO ESTEREOSCÓPICA PARA MEDIÇÃO DE DISTÂNCIA DE OBJETOS HETEROGÊNEOS...27

3.1 HARDWARE UTILIZADO E AMBIENTE DE DESENVOLVIMENTO...27

3.2 INTERFACE DO SISTEMA...28

(11)

3.2.2 Interface de Geração de Parâmetros de Retificação...30

3.2.3 Interface de Ajuste de Parâmetros de Disparidade...31

3.2.4 Obtenção da medição de disparidade com ponto de referencia...31

3.2.5 Comparação entre os métodos de obtenção de distância...32

3.3 METODOLOGIA...32

3.4 RESULTADOS OBTIDOS...36

3.4.1 Primeiros Resultados com mapa de disparidade...36

3.4.2 Resultados com Pontos de Interesse...39

3.5 PONTOS NEGATIVOS DO SISTEMA ESTEREOSCÓPICO DE CÂMERAS....42

4 CONSIDERAÇÕES FINAIS ...44

(12)

1 INTRODUÇÃO

A visão é um dos principais sentidos do ser humano, com este é possível captar cor, formas, sombra e profundidade de objetos, assim provê vários dados para o cérebro, que interpreta em informações úteis. Em uma analogia a revolução industrial, o homem sempre busca automatizar algumas de suas próprias funções para máquinas, isso também ocorre com a visão computacional, que visa emular as funções que realizamos naturalmente.

Com o acesso à grande poder de processamento em pequenos dispositivos, muitos sistemas de captura e processamento de imagens em tempo real vêm surgindo, no caso de um sistema de visão estereoscópica, o grande entrave é a qualidade das câmeras, principalmente das lentes, que muitas vezes geram distorções, assim a calibração das câmeras e a correção dessa distorção por software, é o fator crucial para um bom resultado quando se busca realizar tarefas que necessitam da disparidade, como no caso detecção de distância ou reconstrução em três dimensões (3D).

Medição de distância com o auxilio de sensores ativos, laser e sonares apresentam resultados com boa precisão, no entanto podem interferir no ambiente, permitindo ser detectado, sendo intrusivo, ou provocando interferências, em lugares sensíveis e até acidentes. Ao utilizar-se sensores passivos como câmeras comuns para captura de imagens, permite-se ter grande quantidade de informações sem os problemas relacionados acima, além de em alguns casos possuir menor custo que outros equipamentos. Também diferente de outros sensores, as câmeras podem extrair outras informações da imagem como, por exemplo, cores que outros sensores não poderiam capturar.

Este projeto buscou realizar a pesquisa de métodos de mensuração de distância utilizando um sistema de câmeras estereoscópico, baseado em outros projetos desenvolvidos na própria Universidade Regional do Noroeste do Rio Grande do Sul (UNIJUI), sendo a pesquisa e implementação ampliadas na questão de calibração de câmeras. Também é abordada a questão de busca de pontos de interesse em um par de imagens, utilizando o algoritmo de Speeded Up Robust

(13)

13

Features (SURF). Foi agregado no projeto a implementação do software para

validação do MODELO MATEMÁTICO PARA UM SISTEMA DE VISÃO ESTEREOSCÓPICA, proposto por Carlos Brigo(2013).

Para auxilio nos tratamentos de imagem foi utilizado à biblioteca OPENCV que prove varias funções que variam de básicas até complexos algoritmos para tratamento e obtenção de informações das imagens capturadas por câmeras. Para o sistema proposto, na interface gráfica foi utilizado a linguagem de programação JAVA para programação das telas.

A estrutura do projeto consiste inicialmente no referencial teórico, abordando os conceitos de visão estereoscópica, calibração de câmeras, entre outros utilizados no desenvolvimento. Serão comentados todas as ferramentas de programação e de hardware usados, a metodologia e processos desenvolvidos, assim como apreciação e comparação de resultados obtidos.

(14)

2 VISÃO ESTEREOSCÓPICA E VISÃO COMPUTACIONAL

2.1 Computação Gráfica

Área da computação principalmente conhecida por pesquisar métodos de sintetizar e manipular conteúdo visual de forma digital, conhecido pelas aplicações em três dimensões, mas que também contempla gráficos em duas dimensões( DINIZ, 2012, p. 4).

2.2 Visão Computacional

Para o ser humano o principal sentido é a visão, com ela é possível perceber distâncias, reconhecer elementos, perceber movimento, cores, texturas, navegação, isto apenas com informações obtidas pelos olhos, mesmo utilizando apenas um olho o cérebro humano é capaz de realizar reconhecimentos praticamente instantâneos. (COUTO, 2012, p. 15).

Para simular algumas destas funções em um ambiente computacional, muitas vezes exige um grande poder de processamento, com a evolução dos computadores, principalmente dos processadores, permitiu grandes avanços na pesquisa em visão computacional. Segundo Couto a visão computacional pode ser definida como:

O processamento de imagens é a área da computação que se refere à manipulação e operações com imagens. Ao processamento e transformação de dados de imagens aplicado à computação de forma inteligente, interpretativa, de modo a extrair informações, novas representações e/ou conclusões a partir dos dados da imagem, dá-se o nome de visão computacional (COUTO, 2012, p. 38)

Segundo Diniz, “Visão Computacional nomeia o conjunto de técnicas e métodos pelos quais é possível interpretar, extrair informações e tomar decisões sobre objetos físicos baseadas nas imagens destes objetos. Ou seja, é a ciência e a tecnologia que permite que máquinas vejam”.

No entanto apenas captar as imagens não torna os bytes em informações úteis para as máquinas, deve-se utilizar técnicas e métodos, que envolvem desde

(15)

15 modelos matemáticos até algoritmos de inteligência artificial, para se extrair essas informações palpáveis. Um sistema de visão computacional é divido em elementos ou etapas para aquisição, processamento e tomada de decisão, um exemplo genérico deste processo pode ser exemplificado por Jardim.

Os elementos básicos de um sistema de visão computacional são: a) aquisição;

b) armazenamento; c) processamento; d) comunicação;

e) exibição de imagens.

O processamento de imagens é o elemento em que a maioria de suas funções pode ser desenvolvida em software, ou seja, envolvem procedimentos que são expressos em forma de algoritmos. Essas funções consistem em avaliar as propriedades da imagem e suas transformações. (JARDIM , 2006, p. 16)

2.3 Modelo de Câmeras

O modelo de câmeras mais encontrado no mercado, com custo mais acessível é conhecido como pinhole, este que tem como principio a imagem sendo capturada por um pequeno orifício projetando em um plano inverso, da imagem original, a imagem é captada em câmera real por uma película fotossensível ou sensor eletrônico de imagem CCD ou CMOS (MINGOTO JUNIOR, 2012, p20).

Sendo f a distância entre o plano da imagem capturada e o centro do orifício da câmera, também conhecida como distância focal, e Z a distância entre o orifício na câmera e o objeto.

Figura 1 - Geometria presente no modelo de câmera pinhole segundo BRADSKI e KAEHLER, 2008, p.388.

(16)

2.4 Distorção de Câmeras

A captura de imagens por câmeras está sujeita a distorções geométricas geradas por imperfeições e características de projeto, montagem das lentes e dos elementos, sensores (LOBÃO, 2004, p. 27), consistem em um deslocamento do feixe de luz ao atravessar a lente (DEBIASI, 2012, p. 36), geralmente a distorção nas câmeras comerciais é radial, mas também pode se encontrar distorção tangencial.

A distorção radial consiste em deslocar pixels perto da borda, tornando imagens em linha reta em pequenas curvas, podendo gerar o efeito de barril ou almofada. No entanto essa imperfeição pode ser ajustada via software, realizando calibração das câmeras, e se obtendo os parâmetros necessários para esse ajuste.

A figura acima exemplifica a distorção radial simetria, ou positiva, em forma de almofada(b), porem quando a distorção ocorre no sentido contrario, gerando o efeito chamado de barril (DEBIASI, 2012, p. 37).

2.5 Visão Estereoscópica

A visão estereoscópica ou estereoscopia, basicamente consiste em duas câmeras com parte de seus campos de visão, imagem captada, em comum, assim é

Figura 2 - Retângulos concêntricos afetados por distorções do tipo “Barril” (a) e “Almofada” (b) (LOBÃO, 2004, p. 17)

(17)

17 possível identificar pontos de referencia nas duas imagens (MINGOTO JUNIOR, 2012, p. 19), podendo definir a profundidade de um objeto, avaliando as projeções do mesmo, em diferentes pontos de vista, tendo como conceito principal o mapa de disparidade.

Esse tipo de sistema é composto por duas câmeras, em geral posicionadas entre si a uma distância bastante similar aquela existente entre os olhos do ser humano. A partir destas duas câmeras, duas imagens são obtidas: uma mais a esquerda e outra mais a direita. Dado um pixel que descreve alguma característica da cena na imagem da esquerda, é possível encontrar o pixel respectivo na imagem da direita. Ao realizar o alinhamento das duas imagens e ao mensurar a distância entre os pontos respectivos, é obtida a disparidade ente os dois pontos de vista. A distância entre os dois pontos fornece a informação de profundidade. Objetos próximos ao observador apresentam maior disparidade, enquanto objetos distantes apresentam menor disparidade.(RIDEL e etal, 2012, p. 1).

Apesar de hoje esta técnica pareça trivial e de fácil compreensão, há vários itens que tende a gerar dificuldades na implementação, principalmente físicas, assim como o poder computacional que deve ser empregado para obter os resultados instantâneos. As técnicas de visão estereoscópica apenas foram aplicadas, por exemplo, na robótica apenas por volta de 1997 por Murray e Jennings (1997, apud MENDES, 2012, p. 31) devido ao alto custo computacional para a época, que conseguia chegar apenas na velocidade de dois hertzs e resolução de 128 x 120

pixels.

2.6 Geometria Epipolar

A Geometria Epipolar é um conceito que permite reduzir uma busca essencialmente em duas dimensões (2D), onde seria necessário procurar por um ponto correspondente em toda a imagem, a uma busca em uma dimensão (1D), onde a busca é limitada a uma linha específica (MENDES, 2012, p. 12).

Baseado na geometria de um sistema estéreo de duas câmeras pinhole representadas pelo centro de projeção da imagem esquerda (Ce) e centro da projeção da imagem direita (Cd) , e seus planos de imagem πe e πd,

Os vetores me = [xe , ye , ze] e md = [xd , yd , zd] referem- se às projeções de M nos planos de imagem esquerdo e direito, respectivamente(STIVANELLO, 2008, p20).

(18)

2.7 Calibração Estereoscópica

A calibração estereoscópica é o processo que encontra a relação entre duas câmeras no espaço, e também consistem na determinação dos parâmetros intrínsecos e extrínsecos, orientação e posicionamento das câmeras que o compõe (BRADSKI e KAEHLER, 2008, p. 427).

Pode se destacar como método de calibração o Planar, este que consiste no uso de um padrão bidimensional, semelhante a um tabuleiro de xadrez, com dimensões conhecidas de cada segmento descrito por Zhang (1999 apud MINGOTO JUNIOR, 2012, p. 28), este permite estimar os parâmetros intrínsecos e extrínsecos de um sistema de câmeras. Para o caso deste projeto foi utilizado o exemplo explanado por Bradski e Kaehler (2008, p. 461) que será abordado no item da metodologia. A calibração estereoscópica utilizando na biblioteca OPENCV pode ser sintetizada nas palavras de Mendes (2012 p. 39).

É necessário obter uma quantidade mínima de imagens estéreo de um padrão conhecido aparente para ambas as lentes. Com isso, a função stereoCalibrate encontra todos os parâmetros intrínsecos e extrínsecos da câmera estéreo. Utilizando estes parâmetros a função stereoRectify gera um matriz que possibilita remapear as imagens de forma a corrigir as distorções e alinha-las horizontalmente (MENDES 2012, p. 39).

Figura 3-Principais Elementos da Geometria Epipolar (STIVANELLO, 2008, p32).

(19)

19 2.8 Retificação

A Retificação é o procedimento que ajusta as imagens individuais para que eles se assemelhem como se tivessem sido capturadas por duas câmeras alinhadas ao mesmo plano da imagem, pois um alinhamento físico é raramente conseguido (SOUZA, 2012, p. 55), assim são realizadas transformações e rotações na imagem para adequá-las. Pode-se afirmar que é mais simples e confiável a disparidade entre duas imagens se os pontos estão alinhados horizontalmente (BRADSKI e KAEHLER, 2008, p.430).

2.9 Disparidade

A definição de disparidade pode ser dada como a distância relativa entre dois pontos entre imagens capturadas sobre diferentes pontos de vista (STIVANELLO, 2008), através da disparidade pode se calcular a profundidade de determinados objetos (ESTEVES e FEITOSA, 2012).

Um exemplo de mapa de disparidade gerado pode ser visto no exemplo abaixo, que foi capturado utilizando o sensor Asus Xtion, que utiliza sensores infravermelhos para capturar as informações (ASUS, 2013). Nota-se que uma das mãos, está um pouco mais clara que a outra, isso significa que está mais próximo do sensor, no entanto apenas com essa captura não se tem como definir, na unidade de medida metros, quanto está perto do sensor.

(20)

2.10 OPENCV

Originalmente desenvolvida pela Intel em 1999, atualmente é fornecido suporte pela empresa Willow Garage, o OPENCV uma biblioteca de visão computacional de código livre, escrita em C e C++ otimizada para paralelismo, possui suporte a outras linguagens de programação como JAVA, Python,Ruby,

Matlab entre outras através de interfaces, rodando em Linux, Windows, Mac OS e Android (BRADSKI e KAEHLER, 2008, p. 1). A biblioteca possui mais de 2500

algoritmos, sendo aplicadas em várias áreas, inspeções de produtos em fábricas, medicina, segurança, interface de usuário, a calibração de câmeras e robótica (WILLOWGARAGE, 2012). Pode se sintetizar uma definição de OPENCV nas palavras de Couto.

(21)

21

A OpenCV é uma biblioteca abrangente e estabelecida, comumente utilizada em aplicações de Interação Homem-Máquina (HCI), reconhecimento de características visuais, rostos e gestos, seguimento (ou tracking) de movimento e robótica móvel. Como tal, a biblioteca oferece implementações de diversas transformações, técnicas e operações sobre imagens, suporte de leitura e escrita para os principais formatos de vídeo e imagem, estruturas de dados auxiliares específicas para trabalho com imagens e funções de aprendizado de máquina, como suporte a redes neurais. A documentação existente é extensa e abrangente, e a OpenCV pode ser usada em ambientes Windows, Linux e Android.(COUTO, 2012, p. 44).

2.11 Função no OPENC para Mapa de Disparidade

Uma função utilizada, no presente projeto, da biblioteca OPENCV é a

FindStereoCorrespondenceBM, está que calcula o mapa de disparidade com os

métodos de block-matching e a Soma de Diferença Absoluta (SAD) para encontrar pontos correspondentes entre duas imagens retificadas. De forma sintética o algoritmo realiza as seguintes operações(BRADSKI e KAEHLER, 2008, p. 440).

1. Pré-filtragem para normalizar o brilho e textura da imagem.

2. Busca de correspondência ao longo de linhas epipolares horizontais utilizando um bloco SAD.

3. Pós-filtragem para eliminar as combinações de correspondências ruins. Para se obter um mapa de disparidade de acordo com a posição das câmeras, cena e objetos que estão sendo utilizados deve se realizar o ajuste dos parâmetros da função:

preFilterSiza,preFilterCap – atributos inteiros para normalizar o brilho e

textura das imagens, onde preFilterSize determina o tamanho da janela que as imagens serão normalizadas, pode variar de 5 a 21. O parâmetro preFilterCap determina o pixel central da janela, valor inteiro positivo sendo o padrão 30 (BRADSKI e KAEHLER, 2008, p. 441)(RIDEL e etal, 2012, p. 1).

SADWindowSize, minDisparity, numberOfDisparities – utilizados na busca

pela correspondência define o tamanho do bloco e pode variar de 5 a 21,

minDisparity determina onde a busca pelo pixel correspondente deve iniciar. A

quantidade de pixel que irá ser realizada a busca pelo pixel correspondente é determinada pela numberOfDisparities(BRADSKI e KAEHLER, 2008, p. 441)(RIDEL

(22)

textureThreshold, uniquenessRatio, speckleWindowSize, speckleRange –

parâmetros para eliminação da correspondência que não estão de acordo.

TextureThreshold elimina correspondências menores que a informada, tem como

padrão 12. Como a função é baseada em block matching, blocos de correspondentes, as regiões de borda, tendem a gerar problemas pois geram área de grande disparidade, para contornar essa situação se tem os parâmetros de

speckleWindowSize, speckleRange, que defini a tamanho da janela e a variação

máxima aceita. uniquenessRatio: basicamente filtra pontos com o valor minimo de correspondência encontrado baseado na formula: uniquenessRatio >

(match_val–min_match)/min_match.(BRADSKI e KAEHLER, 2008, p. 441)(RIDEL e

etal, 2012, p. 1).

Em resumo após o filtro inicial, a função de correspondência separa a imagem em blocos de amostragem, em seguida busca esse bloco na segunda imagem baseado nos parâmetros informados, tendo como ponto inicial o

minDisparity e seguindo para a esquerda até o valor de numDisparities, ou encontrar

o bloco correspondente. Esse valor de diferença entre os blocos é considerado a disparidade do item.

Figura 6-Sistemática funcionando mapa de disparidade (BRADSKI e KAEHLER, 2008, p.441)

(23)

23

2.12 Função busca de pontos de interesse

O conceito de pontos de interesse, ou pontos chave, busca na imagem um conjunto de pixels relevantes baseado no contexto, provendo soluções para conhecimento de objetos, rastreamento visual, reconstrução 3D, entre outros. (LAGANIÈRE, 2011, p. 191). No caso deste projeto foi utilizado o algoritmo SURF, proposto por Bay et al. (2006, apud BORTH et al. 2013), sendo um algoritmo rápido e robusto para extração e descrição de pontos de interesse em uma ou em comum entre duas imagens. Tendo como passos principais do algoritmo: extração dos pontos de interesse, e descrição dos pontos de interesse.

A implementação na biblioteca OPENCV tem como base uma interface

FeatureDetector, que também é utilizado por outros algoritmos de busca de ponto de

interesse. No caso o SURF tem como parâmetro principal hessianThreshold, apenas características cujo o valor for maior que o informado serão retornadas, quanto menor o valor mais pontos chaves terá a imagem(LAGANIÈRE, 2011, p. 206).

2.13 Sistema Estéreo Canônico

O sistema estéreo canônico consiste na definição da distância de um ponto, baseado em alguns parâmetros intrínsecos e extrínsecos das câmeras e na formula trigonométrica Z =fT

(24)

Como parâmetros da fórmula e figura anterior temos a disparidade (d), calculada pela diferença entre as coordenadas do ponto P na imagem da esquerda(xe) e da direita(xd), a distância focal (f) e deslocamento da base (T), com estes é possível determinar a distância até o ponto P (Z) , (MENDES, 2012, p. 11).

Os parâmetros f e T podem ser obtidos pelas medidas físicas ou pela especificação das câmeras, no entanto o método cvStereoRectify de calibração do OPENCV consegue determinar essas variáveis, e atribuir a matriz Q sendo armazenada no arquivo Q.xml , que é definida e contem as seguintes informações:

Figura 7-Sistema Canônico.(MENDES, 2012, p. 11))

Figura 8- Matriz Q gerado pelo Opencv (BRADSKI e KAEHLER, 2008, p.435)

(25)

25

Sendo Cx e Cy a representação do ponto principal, que possuem a mesma coordenada em ambas as imagens, não sendo relevante na formula do calculo de distância canônico.

2.14 Trabalhos Relacionados

Como trabalhos relacionados podem-se citar Ivan Ricardo Schneider com o titulo “Uso de visão estereoscópica para detecção de obstáculos na locomoção de um veículo autônomo”, este que foi desenvolvido da própria UNIJUI, pode-se resumir o trabalho, nas próprias palavras de SCHNEIDER:

Este trabalho propõe,como uso de visão estereoscópica e OpenCV, o desenvolvimento de uma aplicação capaz de detectar a distância entre um veículo autônomo e os objetos à frente dele. Para isso, foi criado um algoritmo que gera um mapa de disparidade a partir de um par de imagens estéreo e analisa os pixels da imagem resultante(SCHNEIDER,2012).

Outro trabalho relevante para o desenvolvimento deste que se propõe, podemos citar “Estereoscopia no cálculo de distância e controle de plataforma robótica” de autoria de Gustavo Ribeiro Porpino Esteves e Marcílio André Félix Feitosa da Universidade de Pernambuco, que nas palavras dos autores podem ser resumido em:

Nesse artigo ela foi empregada para se calcular distâncias de determinados pontos até seu observador, esse observador é uma plataforma robótica que tem como finalidade se deslocar até determinado objeto mantendo uma distância mínima para que não haja colisão. A fórmula utilizada para o cálculo da distância será provado a partir da triangulação e utilizando representações básicas das câmeras. Será descrito como o algoritmo de reconhecimento deve localizar os pontos de interesse, os cálculos necessários para se obter a distância do objeto até a plataforma e a descrição da plataforma(ESTEVES e FEITOSA, 2012)

Na área de visão estereoscopia, mas abortando a questão de sensores não intrusivos ao meio, pode-se citar Carlos Roberto Mingoto Junior, com o trabalho intitulado “Método de Medição de Alinhamento de Suspensão Veicular Não Intrusivo Baseado em Visão Computacional”, resumido em:

O presente projeto de pesquisa aplica técnicas de visão estereoscópica computacional no desenvolvimento da configuração de um equipamento de medição de ângulos de alinhamento de suspensão veicular, usando câmeras de vídeo de baixo custo. Atualmente, a maioria dos dispositivos de medição de ângulos de alinhamento de suspensão de veículos baseia-se no uso de componentes eletromecânicos, como pêndulos resistivos,

(26)

inclinômetros capacitivos, dispositivos opto-mecânicos (espelhos e raio de luz monocromática de baixa intensidade) (MINGOTO JUNIOR, 2012,

(27)

27

3 SISTEMA DE VISÃO ESTEREOSCÓPICA PARA MEDIÇÃO DE

DISTÂNCIA DE OBJETOS HETEROGÊNEOS

Esse trabalho tem como principal objetivo obter um modo de medição de distância com o melhor índice de precisão, comparando métodos de estimação de distância baseado em um sistema de visão estereoscópica, tais como mapa de disparidade, entre pontos de referencia e modelo canônico.

Verificando esses resultados em tempo real em diferentes tipos de processadores, para se constatar suas possíveis aplicações em diferentes situações. Mas também analisar os possíveis pontos fracos do sistema de visão estereoscópica em comparação com outros sensores de distância.

3.1 Hardware utilizado e Ambiente de Desenvolvimento

No decorrer do trabalho foi utilizado o ambiente de desenvolvimento e hardware que se cita :

• Notebook Acer Aspire V3-571-9423 ◦ Intel Core I7 3632QM 2.2Ghz ◦ 6 Gb RAM

◦ Intel HD Graphics 4000 • Notebook HP DV7

◦ Intel Core2Duo P7350 Dual Core 2.0Ghz ◦ 4 Gb RAM

◦ Gforce 9500GT 512Mb

• Placa de Desenvolvimento ARM HardKernel ODROID-X2 ◦ Samsung Exynos4412 Cortex-A9 Quad Core 1.7Ghz ◦ 2GB LP-DDR2

◦ Mali-400 Quad Core 440MHz • Câmeras Logitech C270

(28)

Conexão USB 2.0

Lente Plasticá

Tipo Foco Fixo

Field of View (FOV) 60°

distância Focal 4.0 mm Resolução Óptica 1280 x 960 1.2MP Captura de Imagem (4:3 SD) 320x240, 640x480 1.2 MP, 3.0 MP Captura de Imagem (16:9 W) 360p, 480p, 720p Captura de Vídeo (4:3 SD) 320x240, 640x480, 800x600 Captura de Vídeo (16:9 W) 360p, 480p, 720p,

Quadros por Segundo 30fps @ 640x480 Tabela 1-Medições de Disparidade x Distância

Na organização de software foi utilizado como linguagem de programação C++ e JAVA. A linguagem C++ foi utilizada essencialmente para o processamento bruto das imagens, utilizando classes compiladas para código nativo de máquina, esses acessados por arquivos, “SO” acessados via JAVA Native Access (JNA) para exibição na interface gráfica programada em JAVA.

No desenvolvimento foram utilizadas as bibliotecas auxiliares que podemos citar:

• OPENCV

• JAVACV • DB40

• JNA

Como ambiente de desenvolvimento foi utilizado o NetBeans IDE, este que permite o desenvolvimento rápido e fácil de aplicações desktop JAVA, móveis e Web, oferecendo excelentes ferramentas para desenvolvedores de PHP e C/C++, sendo gratuita e tem código-fonte aberto, além de uma grande comunidade de usuários e desenvolvedores em todo o mundo(NETBEANS.ORG).

(29)

29 A interface desenvolvida segue a tema visual padrão do JAVA com os componentes SWING para interação com o usuário. A tela inicial possui botões com as chamadas das telas referentes a cada rotina.

3.2.1 Interface de Captura de Imagens

(30)

Tendo que a partir da prévia capturada pelas câmeras, armazenar o par de imagens, para facilitar a captura do tabuleiro de xadrez para a calibração, se tem a opção de destacar o tabuleiro na pré-visualização das imagens, isso permite que se tenha a garantia que o tabuleiro será identificado no processo de calibração.

3.2.2 Interface de Geração de Parâmetros de Retificação

É uma rotina para gerar os parâmetros de retificação e calibração, baseado nas imagens capturadas do tabuleiro de xadrez, sendo informado o tamanho em centímetros do segmento do tabuleiro e a quantidade de linhas e colunas.

Figura 11-Tela de Geração de Parâmetros de Retificação Figura 10- Tela De Captura de Imagens

(31)

31 Essa rotina utiliza o método de obtenção dos parâmetros de calibração segundo Bradski e Kaehler (2008, p. 461), como saída tem-se os arquivos XML no padrão OPENCV, contendo os parâmetros intrínsecos e extrínsecos obtidos.

3.2.3 Interface de Ajuste de Parâmetros de Disparidade

Tela referente ao ajuste da saída do mapa de disparidade, nesta é possível configurar o modo de entrada da imagem, direto da câmera ou imagem fixa já capturada. Também é possível salvar os parâmetros atuais e carregar parâmetros anteriores, assim como salvar amostragens de disparidade e a distância real da amostra de disparidade.

3.2.4 Obtenção da medição de disparidade com ponto de referencia

Tela para obtenção de disparidade entre pontos da imagem, a partir de duas imagens capturadas pelo sistema estéreo, é pesquisado pontos relevantes nas duas imagens e após é verificada quais pontos são correspondentes em ambas, com base nessas informações é possível definir a diferença entre esses dois pontos.

(32)

3.2.5 Comparação entre os métodos de obtenção de distância

Tela final para medição de distâncias, aonde são utilizados em conjunto todos os itens abordados no projeto, tendo como base um par de imagens é obtido o mapa de disparidade, com os parâmetros obtidos da calibração, e na tela de ajuste de disparidade, a partir deste mapa é verificado objetos na imagem. Assim é criado uma mascara aonde são buscados os pontos de interesse, que são utilizados para determinar a distância.

3.3 Metodologia

(33)

33 Primeiramente foi definido o par de dispositivos de entrada, as câmeras de mesmo modelo, colocadas fixas e alinhadas horizontalmente. Também foram realizados testes de posicionamento e distância, antes de ser realmente fixadas. Estas foram fixadas em uma base de madeira com ajuda de algumas dobradiças e parafusos, com o cuidado de deixá-las o máximo possível alinhada horizontalmente e não formando nenhum ângulo entre elas, buscando que ambas estejam alinhadas também.

Apesar das câmeras suportarem uma resolução de 720p, não pode ser utilizado, pois o barramento USB das máquinas utilizadas não suporta ambas as câmeras simultaneamente nesta resolução, no caso, foi então utilizado maior suportada pelas máquinas, 800x600 pixels.

(34)

O primeiro item desenvolvido via software foi à obtenção de imagens, processo que ocorre capturando quadros da pré-visualização do vídeo, para facilitar a captura do tabuleiro de xadrez, dentro do ângulo de visão de ambas as câmeras, assim como a imagem em foco, foi incluída a opção de se ao reconhecer este padrão do tabuleiro na prévia, assim a imagem ganhava um destaque, quando o reconhecimento estava correto, pois inicialmente se tinha certa dificuldade em capturar os pares de imagens enquadrados, necessários para realizar a calibração, desta que pode ser constatado na Figura 10.

Para obter bons resultados na calibração, necessita-se ter amostras de imagens com o tabuleiro em diferentes posições na câmera, a prévia da imagem em tempo real, facilita muito o trabalho para posicionar o tabuleiro na posição desejada, sendo capturado pelas duas câmeras, sem haver cortes ou problemas de foco e imagem em movimento.

Nesse passo as imagens não armazenadas com um padrão de nome definido como, “1esq. jpg” e “1dir. jpg”, onde “1” define o sequencial da imagem e “esq” que representa a captura da câmera da esquerda. Esse padrão de nome facilita, em outros passos do projeto onde é utilizado o sequencial da imagem para representar a distância real até um objeto, exemplo 60esq.jpg uma imagem com objetos a 60 centímetros, utilizando uma mesma imagem fixa em vários testes.

Após a captura das imagens do tabuleiro de xadrez é executado o método de calibração planar, este que no OPENV corresponde a algumas funções, obtendo-se os parâmetros intrínsecos e extrínsecos, estes que são armazenados em alguns arquivos XML, onde cada um representa alguns parâmetros obtidos. O método de calibração utilizado segue o algoritmo explano por Bradski e Kaehler (2008, p.445), utilizando a biblioteca OPENCV. O método de calibração desenvolvido em C não foi convertido para JAVA, devido ao desempenho, porém a interface gráfica do mesmo utiliza JAVA, a função em C é chamada via JNA, permitindo acesso às funções compiladas na linguagem nativa do sistema operacional.

Com a obtenção dos paramentos do sistema estereoscópico, foi possível retificar as imagens e ajustar a saída do mapa de disparidade, porem com as medições iniciais constatou-se que não seria possível determinar a distância precisa dos objetos, pois o mapa de disparidade apresenta uma imagem sintética,

(35)

35 agrupando blocos, para exibir todo um objeto de apenas uma cor, facilmente identificando a noção de profundidade, porem não com tanta precisão para aferir distância, sendo que no melhor dos casos foi possível verificar 22 tons de cinza que representam a profundidade, em uma distância de 50 cm a 300 m. Com essa técnica é possível detecta objetos sólidos de tamanhos médios. Como estojos, cadernos, copos, sendo que os resultados obtidos neste estágio podem ser averiguados na sessão 3.4.1.

O próximo passo foi aplicar os conceitos de disparidade, trigonometria, geometria epipolar e o modelo canônico de medição de distância utilizando visão estereoscópica, neste momento também foi utilizado para comparação a técnica de Brigo (2013), “MODELO MATEMÁTICO PARA UM SISTEMA DE VISÃO ESTEREOSCÓPICA”, para se obter a distância dos objetos detectados pelo mapa de disparidade. Assim como a utilização do método SURF, par detecção de pontos de interesse entre duas imagens, este que busca pontos nas imagens separadamente, para então compará-los em ambas, e por fim elimina pontos que não são epipolares, que não estão alinhados horizontalmente.

O ponto final do projeto utilizou-se do mapa de disparidade para detectar os objetos, e a partir aferir a distância utilizando o método canônico e de Brigo, verificando qual possuía melhor precisão. No entanto este processo não permitia execução em tempo real, pois cada par de imagens tinha-se 3 segundos de processamento, optou-se para executar a busca por pontos de referencia apenas na parte central da imagem, utilizando uma mascara para realizar a busca apenas em um quadrado central de 100 por 100 pixels, medida que permitiu a mensuração de distância em tempo real.

(36)

3.4 Resultados Obtidos

Esta sessão aborda e demonstra os resultados obtidos através dos métodos desenvolvidos.

3.4.1 Primeiros Resultados com mapa de disparidade

Inicialmente a pesquisa estava voltada na obtenção da distância, totalmente baseada no mapa de disparidade, tendo como referencia o trabalho de Schneider (2012), e como meta obter um mapa semelhante ao dos sensores de infravermelho.

3.4.1.1 Parâmetros Utilizados

Após vários testes para se compreender o real impacto da posição das câmeras e de cada parâmetros na função de disparidade, os primeiros parâmetros com um resultado aceitável foram:

• PreFilterCap = 31 • SadWindowSize = 41 • MinDisparity = -20 • NumberOfDisparities = 128 • TextureThreshold = 10 • UniquenessRatio = 15 • PreFilterSize = 31 • SpeckleWindowSize = 31 • SpeckleRange = 31 • Disp12MaxDiff = 0 3.4.1.2 Amostras Obtidas

Após um resultado visual aceitável, foi encaminhada a medição da distância real e a comparação com o resultado da disparidade, o valor de disparidade é referente ao código da cor em RGB, no pixel da imagem de saída.

(37)

37 Como a imagem está em escala de cinza os valores referentes a cada cor são iguais. Exemplo R=20, G=20, B=20, no caso foi selecionado apenas a valor de B para se considerar.

distância em centímetros Disparidade Calculada

40 20 50 18 60 16 70 15 80 14 90 13 100 12 110 12 120 11 130 11 140 10 160 9

Tabela 2-Medições de Disparidade x Distância

(38)

3.4.1.3 Considerações

Como pode ser constatado no gráfico o mapa de disparidade não prove medidas de distâncias precisas, a saída do mapa em alguns casos tem o mesmo valor para cada 10 centímetros, porem fornece facilmente uma noção de profundidade dos objetos, como pode ser verificado na Figura 16, pois o principio do método consiste em agrupar blocos de imagem. Conforme os parâmetros são alterados, a silhueta e profundidade dos objetos são facilmente detectadas na imagem, no entanto a precisão da distância não pode ser determinada, utilizando apenas esse método.

(39)

39 3.4.2 Resultados com Pontos de Interesse

Verificado que não seria possível a definição de distâncias precisas apenas com o mapa de disparidade, foi necessário outra abordagem. Com o algoritmo SURF para reconhecer pontos, assim como para compará-los a sua paridade na outra imagem, se obteve bons resultados, com grande precisão e baixos índices de erros. Porém o SURF reconhece apenas o mesmo ponto em ambas às imagens, conforme Figura 17, restam ainda o calculo da disparidade e a estimação da distância.

Para o calculo da disparidade foi utilizado o modulo entre dois pontos, definido por: d=

(x1−x2)2+(y1− y2)2 .

Para a estimação da distância foi utilizado dois métodos, o método canônico e o “MODELO MATEMÁTICO PARA UM SISTEMA DE VISÃO ESTEREOSCÓPICA” de Brigo. Na figura 18 temos um exemplo, o objeto estando a uma distância real de 260 centímetros, e os valores calculados de 275 centímetros pelo método canônico e 287 centímetros pelo modelo matemático.

(40)

O modelo canônico se mostra bem preciso em distâncias de 20 centímetros a 2 metros, porem após isto tende a perder precisão. Já no caso do método de Brigo, se tem uma imprecisão que inicia logo após 1 metro, como pode ser visto na tabela 2, porem entre 2 e 3 metros mantem um erro baixo, percebeu-se também que após 4 metros ambos métodos perdem precisão, devido a baixa variação de disparidade entre os pontos nas imagens.

(41)

41 Distância cm Canônico cm BRIGO cm

20 20 20 25 25 19 30 30 31 33 33 37 35 35 40 42 42 46 45 45 45 50 51 52 53 53 54 55 55 55 65 66 64 69 69 68 105 106 111 125 125 133 130 132 139 135 137 146 170 176 191 200 204 225 205 210 227 220 229 246 230 236 253 240 243 265 250 258 275 260 275 287 270 286 293 280 304 299 290 308 312 300 315 317 310 328 326 320 345 337 330 357 340 350 366 353

Tabela 3-Comparação em Distância Real x Canônica x BRIGO

(42)

3.4.2.1 Considerações

Pode ser constatado com muita facilidade na tabela e no gráfico acima, que para está montagem física das câmeras, ambos os métodos conseguem estimar a distância, com poucos centímetros de erro, até 2 metros. Após essa distância ambos tendem a calcular valores errados, isto está diretamente ligada à baixa variação de disparidade quando o objeto está mais longe.

3.5 Pontos negativos do sistema estereoscópico de câmeras

Ao utilizar as câmeras pinhole como sensores devem-se estar ciente das suas limitações e dependências que elas possuem, como explanado na capitulo 2.3, como o sensor captura as informações dos raios de luz que entram pelo orifício da câmera, este é muito dependente da iluminação do ambiente, em situações de pouca luz a imagem capturada é de baixa qualidade, com conjuntos de pixel de

0 100 200 300 400 500 600 0 100 200 300 400 500 600

Distância Real x Canônico x BRIGO

Distancia Canônico BRIGO Distância Estimada D is ta n ci a R e a l

(43)

43 pouca resolução, podendo gerar equívocos no mapa de disparidade ou na definição de pontos de interesse, como pode ser constatado na figura abaixo, com iluminação calculando 129 centímetros, com baixa iluminação, 3 centímetros.

Outro item que pode causar ilusão de ótica ou imprecisão são imagens capturadas através de vidro ou espelho, através do vidro os feixes de luz podem mudar sutilmente de posição, já no caso do espelho, se o ponto de interesse for reconhecido dentro do espelho, ira estimar uma distância até o objeto refletido, e não até o espelho. Na imagem à esquerda 334 centímetros, imagem à direita 2123 centímetros.

Figura 19- Imagem a Esquerda com Iluminação e a Direita sem Iluminação adequada

(44)

4 CONSIDERAÇÕES FINAIS

A medição de distância utilizando câmeras pode trazer muitos benefícios em varias áreas, desde a indústria, na conferência em linhas de montagens, até fins da medicina, auxiliando em cirurgias e diagnósticos, neste trabalho pode-se observar que a calibração do sistema estereoscópico e iluminação são essenciais para um bom resultado, tanto na precisão quando para evitar falsos resultados.

Este trabalho também demonstra a aplicação da biblioteca OPENCV, apensar de sua extensão, após o domínio dos conceitos básicos, se torna simples a utilização de suas milhares de funções, que mesmo mesclando duas linguagens de programação, a nativa do OPENCV a linguagem C, com a linguagem para layout de telas JAVA, como um todo a questão do desenvolvimento se tornou eficiente, além disso, apesar de não explanado no trabalho foi possível executar o programa desenvolvido na arquitetura x86, x64 e ARM, assim como no sistema operacional Windows e Linux.

Uma constatação muito relevante no trabalho, foi o fato do mapa de disparidade não prover uma precisão esperada para definição de distância precisa, necessitando a aplicação de outras técnicas para obter o resultado esperado no projeto.

Como trabalhos futuros, se sugere maiores estudos e aplicações do algoritmo SURF, em reconhecimentos de padrões, tanto em imagens estéreo, quando para comparação com imagens em um banco de dados. Também pode se prever aprimoramentos na questão de desempenho e programação paralela, podendo verificar a viabilidade das aplicações diretamente na Unidade de Processamento Gráfico (GPU).

(45)

45

REFERENCIAS BIBLIOGRÁFICAS

ASUS, Asus Xtion Sensor de Movimento, Disponível em <http://www.asus.com/br/Multimedia/Xtion/> . Acesso em 10 de Setembro de 2013 BRADSKI , Gary; KAEHLER , Adrian. Learning OpenCV . 1. ed. Sebastopol USA: O’Reilly , 2008.

BRIGO, Carlos Alberto. Modelo Matemático para um sistema de visão estereoscópico. UNIJUI, No prelo 2013.

BORTH ,Marcelo Rafael; PISTORI , Hemerson; GONÇALVES , Ariadne

Barbosa; FREITAS , Uéliton

. Método de medição de alinhamento de suspensão veicular não Intrusivo baseado em visão computacional. Biblioteca Digital da UNICAMP. Campinas . 2012. Disponível em: <http://www.bibliotecadigital.unicamp.br/document/?code=000876078>. Acesso em: 14 Setembro 2013.

COUTO, Leandro Nogueira . Sistema para localização robótica de veículos autônomos baseado em visão computacional por pontos de referência . Biblioteca Digital da USP. São Carlos . 2012. Disponível em: <http://www.teses.usp.br/teses/disponiveis/55/55134/tde-04092012-110014/pt-br.php >. Acesso em: 18 Novembro 2012.

DEBIASI, Paula. DESENVOLVIMENTO DE METODOLOGIAS DE CALIBRAÇÃO DE UMA CÂMARA DIGITAL DE BAIXO CUSTO INTEGRADA COM UM SISTEMA LIDAR. Tese de Doutora UNIVERSIDADE FEDERAL DO PARANÁ .Disponível em: <http://dspace.c3sl.ufpr.br/dspace/handle/1884/28848> .Acesso em: 29 de Setembro 2013.

DINIZ, Wendell Fioravante da Silva . Acionamento de dispositivos robóticos através de interface natural em realidade aumentada . Biblioteca Digital da

UNICAMP. Campinas . 2012. Disponível em:

<http://www.bibliotecadigital.unicamp.br/document/?code=000858895>. Acesso em: 14 Setembro 2013.

ESTEVES e FEITOSA. Estereoscopia no cálculo de distância e controle de plataforma robótica. SIBGRAPI 2012. Disponível em: <http://www.decom.ufop.br/sibgrapi2012/eproceedings/wuw/102815_1.pdf> .Acesso em: 10 Fevereiro 2013.

.JARDIM, Laercio Arraes. SISTEMA DE VISÃO ROBÓTICA PARA IDENTIFICAÇÃO E LOCALIZAÇÃO DE OBJETOS SOB MANIPULAÇÃO POR ROBÔS INDUSTRIAIS EM CÉLULAS DE MANUFATURA. Biblioteca Virtual da Universidade de Brasília. Brasília. 2006. Disponível em:

(46)

<http://repositorio.bce.unb.br/handle/10482/1846>. Acesso em: 18 Novembro 2012, LAGANIÈRE , Robert. OpenCV 2 Computer Vision Application Programming Cookbook . 1. ed. Birmingham UK : Packt Publishing Ltd , 2011.

LOBÃO, Fábio Santos. CALIBRAÇÃO COM MAPEAMENTO DAS DISTORÇÕES GEOMÉTRICAS APLICADA A UM SISTEMA DE VISÃO ESTERÉO. UNIVERSIDADE DE BRASÍLIA. Brasília. 2006. Disponível em:

<http://lara.unb.br/~adolfo/dissert/DM04%20F%C3%A1bio%20Santos%20Lob %C3%A3o.pdf>. Acesso em: 10 Setembro 2013.

MACHADO, David Rodrigues

. COMPARAÇÃO ENTRE BANCO DE DADOS RELACIONAIS E BANCO DE DADOS ORIENTADO A OBJETOS : CARACTERÍSTICAS E IMPLEMENTAÇÃO DE UM PROTÓTIPO. Universidade de

São Francisco . Disponível em:

<http://www.saofrancisco.edu.br/cursos/graduacao/producao_download.asp? arquivo=1716> .Acesso em: 10 Fevereiro 2013.

MINGOTO JUNIOR, Carlos Roberto

. MÉTODO DE MEDIÇÃO DE ALINHAMENTO DE SUSPENSÃO VEICULAR NÃO INTRUSIVO BASEADO EM VISÃO COMPUTACIONAL. Biblioteca Digital da UNICAMP. Campinas . 2012. Disponível em: <http://www.bibliotecadigital.unicamp.br/document/? code=000876078>. Acesso em: 14 Setembro 2013.

MENDES, Caio César Teodoro

. NAVEGAÇÃO DE ROBÔS MÓVEIS UTILIZANDO VISÃO ESTÉREO. Biblioteca Digital da USP. Campinas . 2012. NETBEANS.ORG, NetBeans IDE – Overview. Disponível em <https://netbeans.org/features/index.html> Acesso em 30 de Agosto de 2013

ODROID X2, ODROID . Disponível em

<http://www.hardkernel.com/renewal_2011/products/prdt_info.php? g_code=G135235611947> Acesso em 7 de Setembro de 2013

RIDEL, Daniela A , et al. Calibração de Visão Estereoscópica Utilizando Algoritmo Genético DTW. Biblioteca Digital Brasileira de Computação - XIX Encontro Nacional de Inteligência Artificial .Disponível em: <http://www.lbd.dcc.ufmg.br/bdbcomp/servlet/Trabalho?id=15756> .Acesso em: 10 de Setembro 2013.

SCHNEIDER, Ivan Ricardo. Uso de visão estereoscópica para detecção de obstáculos na locomoção de um veículo autônomo. Unijui Biblioteca Virtual.

2012. Disponível em :

<http://bibliodigital.unijui.edu.br:8080/xmlui/handle/123456789/1380> Acesso em 01 de Março de 2013.

(47)

47 STIVANELLO, Mauricio Edgar. Desenvolvimento de uma biblioteca para sistemas de visão estereoscópica para robótica móvel. Florianópolis: Universidade Federal de Santa Catarina, 2008. Dissertação, Programa de Pós-Graduação em Engenharia Elétrica.

SOUZA, Anderson Abner de Santana. MAPEAMENTO ROBÓTICO 2,5-D COM REPRESENTAÇÃO EM GRADE DE OCUPAÇÃO-ELEVAÇÃO. Tese de Doutora UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE .Disponível em: <http://bdtd.bczm.ufrn.br/tde_arquivos/19/TDE-2013-02-14T043424Z-4787/Publico/A ndersonASS_TESE.pdf> .Acesso em: 29 de Setembro 2013.

Referências

Documentos relacionados

Mestrado em: Nutrição Humana ou Nutrição Clínica ou Saúde Coletiva ou Ciências da Saúde ou Ciências ou Saúde ou Alimentos e Nutrição e Desenvolvimento na

Tanto em sua paisagem física como em sua paisagem humana, o Mediterrâneo encruzilhada, o Mediterrâneo heteróclito apresenta-se em nossas lembranças como uma imagem coerente, como

Durantes nove dias, 30 de abril a 11 de maio, a CEDEAO for- mou em Eurotrace SQL quatro colaboradores do INE, dois do sexo feminino e dois do sexo masculino, um do Depar- tamento

Este trabalho busca reconhecer as fragilidades e potencialidades do uso de produtos de sensoriamento remoto derivados do Satélite de Recursos Terrestres Sino-Brasileiro

Quando os dados são analisados categorizando as respostas por tempo de trabalho no SERPRO, é possível observar que os respondentes com menor tempo de trabalho concordam menos que

ITIL, biblioteca de infraestrutura de tecnologia da informação, é um framework que surgiu na década de mil novecentos e oitenta pela necessidade do governo

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

O estudo múltiplo de casos foi aplicado para identificar as semelhanças e dissemelhanças na forma como as empresas relacionam seus modelos de negócios e suas