Computer Vision lmarcos/courses/visao.
Transcript of Computer Vision lmarcos/courses/visao.
Computer Vision
http://www.dca.ufrn.br/~lmarcos/courses/visao
No princípio
• Advento dos computadores
• Tudo era Computação Gráfica (ou Processamento Gráfico)
Processamento Gráfico?
3
1st Qtr
2nd Qtr3rd Qtr
4th Qtr
1st Qtr2nd Qtr3rd Qtr4th Qtr
Sistemas Gráficos
• CORE, GKS, GINO-F (padrões gráficos)
• X-Windows (interface gráfica MIT)
• OpenGL (biblioteca gráfica)
• DirectX (biblioteca gráfica)
• DirectFB (biblioteca gráfica)
Evolução do PG
• Os modelos mais simples e métodos ainda são muito usados devido a serem bem entendidos, e simples de implementação em hardware e também rápidos.
• Nos concentraremos em métodos simples, mas também nos difíceis.
Sub-áreas
• Processamento de Imagens– Entrada: imagem; saída: imagem
• Síntese de imagens– Entrada: representação 3D; saída: imagem
• Análise de Imagens– Entrada: imagem; saída: forma e outras características
3D
– Visão Computacional
– Reconhecimento de padrões
Processamento de Imagens
• Envolve as técnicas de transformação de imagens em que tanto a imagem de partida quanto a imagem resultado apresentam-se sob uma representação visual;
• As transformações visam, em geral, melhorar as características visuais da imagem, como aumentar o contraste, foco, reduzir ruídos e distorções.
Síntese de Imagens
• Ocupa-se da produção de representações visuais a partir das especificações geométrica e visual de seus componentes;
• É uma das sub-áreas mais difundidas e geralmente confundida com a própria computação gráfica
• Área de CAD usa síntese de imagens
Análise de Imagens
• Busca obter a especificação dos componentes de uma imagem a partir de sua representação visual.
• Extração de características para Visão de Robôs
• Extração de forma 3D a partir de imagens• Identificação de objetos 3D a partir de suas
imagens (envolve reconstrução)
Imagem
PI
VC
Dados
SI
Análise Síntese
Processamento
ModelagemGeométrica
Modelagem Geomética
• Provê formas eficientes para manipulação, armazenamento e recuperação de dados geométricos no computador.
• Pode ser usada visando interfacear tanto na síntese de imagens quanto na análise de imagens.
• Essencial construir uma boa estrutura de dados visando eficiência.
What is computer vision?
• Primeira questão a ser respondida
• Controvérsias
• Outras questões que ajudam na resposta:– Que problemas temos intenção de atacar?– Como planejamos resolvê-los?
Problemas de Visao Computacional
• Computar propriedades do mundo real usando uma ou mais imagens digitais– Propriedades geométricas
• Forma e posição de objetos ou sólidos
– Velocidade, aceleração de objetos– Processamento de imagem presumido
• Imagens temporárias calculadas das originais• Partes de imagens identificadas para explicitar a
informação necessária para o cálculo objeto
Ferramentas de Visao Computacional
• Computador interpretando imagens• Análise de imagens• Sistema de Visão Computacional
– Hardware de aquisição (adquire e armazena imagens num computador)
– Processamento de imagens– Mostrar os resultados aos usuários ou a outros
sistemas computacionais
Hardware
• Parte mais importante, talvez
• Software pode se tornar hardware
• Iluminação em hardware
• Câmeras de alta resolução
• Redução e abstração de informação (HW)
• Restringindo a pose de objetos (zooming, movimento)
Visao Computacional
• Um conjunto de técnicas computacionais para estimar ou explicitar as propriedades geométricas e dinâmicas do mundo 3D a partir de imagens digitais
As muitas faces da VC
• Dificil determinar o escopo
• Multidisciplinar
• Expansão contínua– Novas aplicações aparecem todo o tempo
• Áreas de aplicação e pesquisa– Visto à frente
Disciplinas relacionadas
• Contorno (algum entrelaçamento):– IA, Robótica, Processamento de Sinais,
Reconhecimento de Padrões, Teoria de Controle, Psicologia, Neurociência, outras
• Nasceu e cresceu muito rápido – Menos de 40 anos de existência
Consequências
• Objetivos, ferramentas e pessoas se entrelaçam com muitas outras disciplinas
• Definição e escopo do que é Visão Computacional ainda são pautas de discussão (definições ainda estão sendo acertadas)
Processamento de Imagens
• Area de pesquisa muito vasta
• Diferença de VC:– Relaciona-se com propriedades de imagem– Transformações imagem-imagem
• Visão computacional visa o mundo 3D– Requer processamento de imagens (prévio)– Muita coisa entrelaça com PI
Processamento de Imagens
• Exemplos:– Melhoria em imagens– Compressão– Extração de características
Reconhecimento de padroes
• Técnicas para reconhecer e classificar objetos usando imagens digitais
• Muitos métodos (2D e 3D) para objetos em poses restringidas
• Não ideais para o mundo 3D (irrestrito)• IAPR (Internatinal Association for Pattern
Recognition) foi criada para assumir este campo
Fotogrametria (cartografia)
• Obtenção de medidas precisas e robustas de imagens controladas
• Menos overlap que PI e PR• Diferença principal: fotogrametria precisa de graus de
precisao maiores que VC e nem tudo em VC é relacionado com medidas
• Basear (olhar) em fotogrametria para se desenvolver um sistema de VC que faça medidas é uma boa idéia
• ISPRS (International Society for Photogrametry and Remote Sensing) assumiu esta área
Areas de pesquisa e aplicações
• Areas de pesquisa– Numero grande de contribuições em Visão
(publicações)
• Areas de aplicação– Domínios em que Visão Computacional é
usada, em conjunto ou não com outras técnicas, para resolver problemas do mundo real
Areas de pesquisa
• Detecção de características (features) em imagens• Representação de contornos• Segmentação baseada em características• Análise de imagens de profundidade (range-
images)• Modelagem e representação da forma• Reconstrução a partir de imagens simples (shape
from X, single cues)• Visão Estéreo
Areas de pesquisa
• Análise de movimento• Visão colorida• Visão ativa e com propósito (purposive)• Invariantes (momentos, etc)• Sistemas calibrados e não calibrados• Detecção de objetos• Reconhecimento de objetos 3D• Localização de objetos 3D• Arquiteturas de tempo real e alta performance
Areas de aplicacao
• Controle de qualidade e inspeção industrial
• Engenharia reversa
• Seguranca e vigilância
• Reconhecimento de face
• Reconhecimento de gestos
• Monitoramento de estradas
• Veículos autônomos (terra, água, espaço)
Areas de aplicacao
• Sistemas robóticos olho-mão (hand-eye)• Visao Robótica (guia, servidor visual)• Espaço e aplicações• Aplicações militares• Análise de imagens médicas• Bancos de dados de imagens• Realidade virtual, tele-presença e tele-robótica
Conferências
• ICCV: International Conference on Computer Vision (Brasil em 2007)• CVPR: Internacional Conference on Computer Vision and Pattern
Recognition• ECCV: European Conference on Computer Vision• ICIP: International Conference on Image Processing• ICPR: International Conference on Pattern Recogntion• ICRA: international Conference on Robotics and Automation• SBAI: Simpósio Brasileiro de Automação Inteligente• SIBGRAPI: Brazilian Smposium on Computer Graphics and Image
Processing• SBIA: Simpósio Brasileiro de Inteligência Artificial• EnRI: Encontro de Robótica Inteligente
Journals
• International Journal of Computer Vision• IEEE Transactions on Pattern Analysis and
Machine Intelligence• Computer Vision and Image Understanding• Machine Vision and its Applications• Image and Vision Computing Journal• Journal of the Optical Society of America• Pattern Recognition• Pattern Recognition Letters
Journals
• IEEE Transactions on Image Processing• IEEE Transactions on Systems, Man and
Cybernetics• IEEE Proceedings: Vision, Image and Signal
Processing• Biological Cybernetics• Neural Computation• Artificial Intelligence• IEEE Intelligent Systems
Books
• Um montão: Computer Vision, Introductory Techniques to Computer Vision, Robot Vision, etc…
Internet
• www.cs.cmu.edu/~cil/vision (Computer Vision Page)
• Peipa.essex.ac.uk (Pilot European Image Processing Archive)
• iris.usc.edu/Vision-Notes/bibliography/contents.html (Annotated Computer Vision Bibliography)
• www.dai.ac.uk/daidb/staff/personal_pages/CVonline/CVentry.html (colecao de textos - Edinburgh)
Softwares
• OpenCV (free)
• Numerical Recipes (livro com softwares)
• Mescach (biblioteca numerica)
• Matlab
• Mathematica
• Scilab
• Khoros