UNIVERS
ID
ADE DE AVEIRO
UNIVERS
ID
ADE DE AVEIRO
Dept Dept . de El ectró nica e Tel ecom unicaçõ es . de El ectró nica e Tel ecom unicaçõ esIST
IST
-ISEP
ISEP
Mestrado em Engenharia Electrotécnica e de Computadores Mestrado em Engenharia Electrotécnica e de Computadores
2003/3004 2003/3004
Modelização
Modelização
e Controlo de Sistemas Dinâmicos
e Controlo de Sistemas Dinâmicos
Visão por Computador Aplicada à Robótica Industrial
Visão por Computador Aplicada à Robótica Industrial
Filipe Miguel Silva
Filipe Miguel Silva
fsilva@det.ua.pt
Índice
Parte II – Visão por Computador
• Introdução• Formação e geometria da imagem • Imagem em baixo nível
• Histograma
• Aplicação de um filtro
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 3
Visão por Computador
•
A
visão por computador
visão por computador
é o processo de:
– Extracção– Caracterização – Interpretação
... de informação a partir do mundo tridimensional
) Trucco e Verri
“Computing properties of the 3D world from one or more digital image”
) Stockman e Shapiro
“To make useful decisions about real physical objects and scenes based on sensed images”
) Ballard e Brown
“The construction of explicit, meaningful description of physical objects from images”
) Trucco e Verri
“Computing properties of the 3D world from one or more digital image”
) Stockman e Shapiro
“To make useful decisions about real physical objects and scenes based on sensed images”
) Ballard e Brown
“The construction of explicit, meaningful description of physical objects from images”
Visão por Computador vs. Gráficos
•
Computação Gráfica
– Produzir imagens “plausíveis”
... escolhendo os modelos, as condições e os parâmetros da imagem
•
Visão por computador
– Dadas as imagens reais com ruído, fenómenos de amostragem, etc ... estimar quantidades físicas
* A visão é o inverso da animação !
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 5
Visão por Computador vs. Processamento de Imagem
•
Computação Gráfica
– Produzir imagens “plausíveis”
... escolhendo os modelos, as condições e os parâmetros da imagem
•
Visão por computador
– Tem haver com a forma como as imagens reflectem o mundo 3D
Filtragem para extracção de propriedades Realce de detalhes para reconhecimento/detecção
Compressão que preserva a informação geométrica da imagem
Filtragem para extracção de propriedades Realce de detalhes para reconhecimento/detecção
Compressão que preserva a informação geométrica da imagem
Aplicações
•
Processos industriais (e.g., inspecção, controlo de qualidade)
•
Navegação em robótica autónoma e móvel
•
Vigilância e segurança
•
Interfaces gráficas homem-máquina
•
Processamento de imagens médicas
•
Formação de bases de dados
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7
Desafios e Dificuldades
•
O desafio da visão por computador é desenvolver capacidades de nível
humano para computadores e robôs:
– Porque é difícil a visão ?
– A projecção do mundo 3D numa retina 2Dsignifica a perda da terceira dimensão – As variações devido ao ruído, à iluminaçãoe múltiplos factores dão origem a
confusões e ambiguidades
Áreas e Níveis da Visão por Computador
•
Que informação pode ser extraída ?
•
Como pode ser extraída ?
•
Como deve ser representada ?
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 9
1.
Percepção
Aquisição ou obtenção de imagem
2.
Pré-processamento
Redução de ruído ou realce de contrastes
3.
Segmentação
Partição da imagem em zonas de interesse (objectos)
4.
Descrição
Determinação de propriedades de objectos (tamanho, forma, ...)
5.
Reconhecimento
Identificação de objectos descritos a partir de uma base de dados
6.
Interpretação
Atribuição de significados a um conjunto de objectos reconhecidos
Baixo
Nível
Médio
Nível
Alto
Nível
Áreas e Níveis da Visão por Computador
Estrutura de um Problema de Visão
Aquisição de Imagem Aquisição de Imagem Pré-processamento Pré-processamento Extracção de Propriedades Extracção de
Propriedades AnáliseAnálise
•Redução de ruído •Realce de detalhes •Transformações •Redução de ruído •Realce de detalhes •Transformações PROBLEMA •Sensor •Iluminação •Sensor
•Iluminação •Linhas•Arestas
•Contornos •Regiões •Linhas •Arestas •Contornos •Regiões
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 11
Tipos de Imagem
•
Fotográficas
– luz reflectida•
Range Images
– distância•
Tomografia
– densidade de tecidos•
Infravermelhos
– calor* O objectivo é concentrar no primeiro tipo
* O objectivo é concentrar no primeiro tipo
Formação da Imagem
•
As imagens formam-se quando um
sensor
sensor
registra
radiação
radiação
que interagiu com
objectos
objectos
físicos
) Câmara escura
As dimensões e definição do orifício definem a nitidez e o plano focal
) Olho humano
– A imagem forma-se no plano da retina (superfície sensível à luz) por projecção da luz vinda do mundo 3D através de uma lente
– O cristalino muda de dimensões (músculos) para mudar o plano focal e ajustar-se à distância dos objectos
– A íris controla a quantidade de luz que entra, mudando o diâmetro da pupila
)
Câmara escura
As dimensões e definição do orifício definem a nitidez e o plano focal
)
Olho humano
– A imagem forma-se no plano da retina (superfície sensível à luz) por projecção da luz vinda do mundo 3D através de uma lente
– O cristalino muda de dimensões (músculos) para mudar o plano focal e ajustar-se à distância dos objectos
– A íris controla a quantidade de luz que entra, mudando o diâmetro da
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 13
Imagem através de uma Lente
•
Imagem focada
– Todos os raios de luz que saem de um dado ponto do objecto em direcção a uma lente convergente vão confluir num outro ponto a uma certa distância do cento da lente
Distância focal,
λ
Distância focal,
λ
Obtenção da Imagem
•
Processo básico
1) Os fotões atingem o detector 2) O detector carrega
3) Essa carga é lida como uma intensidade de luz
•
Os sensores modernos baseiam-se nos Charge Coupled Devices
– Baixo custo e consumo de energia – Reduzidas dimensões
– Altas sensibilidades
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 15
Imagem Digital
•
Matriz de números constituída por elementos discretos ou pixels
– Os números representam intensidade de luz (brightness) que atinge uma área do sensor
Imagens Binárias – os pixels são representados por um só bit
Imagens a Níveis de Cinzento – os pixels são representados por 1 byte Imagens a Cores – à mais que um valor por pixel (3 bytes)
Imagens Binárias – os pixels são representados por um só bit
Imagens a Níveis de Cinzento – os pixels são representados por 1 byte Imagens a Cores – à mais que um valor por pixel (3 bytes)
pixel, Picture Element pixel, Picture Element
Câmara Digital
•
Processo de amostragem da imagem
– Amostragem espacial: número limitado de pontos (pixels) nas duas dimensões – Amostragem de amplitude: cada ponto é representado por um número que traduz a
intensidade luminosa global (número limitado de níveis)
Câmara Câmara Amostragem da imagem Amostragem da imagem Computador central Computador central Display Display Sinal analógico Sinal digital
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 17
Parâmetros Físicos Envolvidos
•
Parâmetros Ópticos
– caracterizam o sensor
•
Parâmetros Fotométricos
: caracterizam a luz reflectida pelos objectos•
Parâmetros Geométricos
: determinam a posição relativa do objecto em relação ao sensor⇒ Tipo de lente, distância focal, campo de visão, abertura angular
⇒ Tipo de lente, distância focal, campo de visão, abertura angular
⇒ Tipo, intensidade e direcção de iluminação ⇒ Propriedades reflectoras do objecto em causa ⇒ Efeitos da estrutura do sensor na quantidade de
luz que atinge os fotoreceptores
⇒ Tipo, intensidade e direcção de iluminação ⇒ Propriedades reflectoras do objecto em causa ⇒ Efeitos da estrutura do sensor na quantidade de
luz que atinge os fotoreceptores
⇒ Tipo de projecção, posição e orientação do sensor, distorções de perspectiva
⇒ Tipo de projecção, posição e orientação do sensor, distorções de perspectiva
Técnicas de Iluminação
•
Qual a importância da
iluminação
iluminação
?
– Simplificar os algoritmos
– Eliminar sombras, reflexões especulares, etc
•
Técnicas de iluminação
– Iluminação difusa (não directa)
As características da superfície são importantes (eliminar sombras)
– Retro-iluminação (contraluz)
Apenas a silhueta do objecto é suficiente (alto contraste em imagens binárias)
– Luz estruturada
Estabelece um padrão de luz no espaço de trabalho (detecção, análise geométrica)
– Iluminação direccionada
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 19
Geometria da Imagem
•
Quais são os
processos geométricos
processos geométricos
que determinam a imagem ?
Z X x Z X x − = → − =λ λλ λ Z Y y Z Y y − = → − =λ λλ λ
Transformação de Perspectiva
•
Como expressar estas equações na forma matricial ?
– Coordenadas homogéneas do ponto real
– Matriz de transformação de perspectiva P
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + − = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = ⋅ = k kZ kZ kY kX k kZ kY kX W P Ch h λ λ 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1
[
]
T h kX kY kZ k W =Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 21
Transformação de Perspectiva
•
Conversão de coordenadas homogéneas para coordenadas cartesianas
calculadas na imagem (ponto C):
– A coordenada znão tem aqui sentido– As coordenadas xe yobtêm-se em função de (X,Y,Z) e de λ
– A determinação inversa é obtida pela transformação
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = − 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 λ P h h C P W = −1⋅
* A transformação não produz pontos no espaço 3D !!!
* A transformação não produz pontos no
espaço 3D !!!
Calibração da Câmara
•
E se os sistemas de coordenadas da câmara e do mundo real são diferentes ?
– Relação de transformações – Transformação de perspectiva p T p R CC R = ⋅
( )
T p T p p R C R C RR C = −1⋅ = ⋅( )
T p P T p P C= ⋅ R C ⋅R = ⋅C R⋅R −1Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 23
Visão Estereoscópica
•
A informação de
profundidade
pode ser obtida usando visão estereoscópica
(duas imagens separadas)
– Qual a coordenada do ponto real W(X,Y,Z) conhecidos os pontos na imagem C1(x1,y1) e
C2(x2,y2) ?
Imagem em Baixo Nível
•
Relações básicas entre pixels
– Vizinhança
– Critérios de distância
•
Pré-processamento
– Filtros de convolução – Detecção de pixels isolados – Técnicas de suavização – Técnicas de realce – Detecção de arestas – Limitação e binarização – Suavização de imagens binárias
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 25
Relações entre Pixels
•
Vizinhança
de um pixel (número de pixels vizinhos)
N4(horizontal e vertical)
ND(diagonal) N8= N4+ ND
•
Medida de
distância
entre pixels
– Euclidiana
– D
4(ou city-block)
– D
8(ou chessboard)
(
)
(
)
(
)
(
)
(
)
(
x x y y)
y y x x y y x x E q p q p q p D q p q p q p D q p q p q p D − − = − + − = − + − = , max , , , 8 4 2 2Pré-processamento de imagem
•
Abordagens típicas
– Espacial: sobre os pixels da imagem
– Frequência: transformadas de Fourier
– Abordagem ESPACIAL
– Criação de uma nova imagemg(x,y) = h[ f(x,y) ]
h() é um operador de pré-processamento que opera numa vizinhança de cada pixel – Uso de máscaras de convolução(janelas ou filtros)
Matriz de coeficientes apropriados a determinado tipo de tratamento ou detecção de propriedades
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 27
Princípio de Utilização de um Filtro
•
Novo pixel é função do original e do filtro
pipertence à vizinhança do ponto em causa valor directo do novo pixel
usado de forma indirecta para o definir
– Coeficientes de um filtro 3×3:
( )
= ∑ ⋅ = N i i i p w y x g 1 ,( )
x y g ,Filtro para Detecção de Pontos Isolados
•
Aplicando a uma imagem binária o filtro
•
... detecta-se um pixel é ponto isolado no meio de outros
– se g(x,y) = 8 ou –8 o ponto (x,y) é isolado
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 29
Técnicas de Suavização (smoothing)
•
As técnicas de suavização dizem respeito, essencialmente, à redução de ruído
– Média de imagens: N imagens da mesma cena
– Filtros de média:
todos os pesos de um filtro 3×3 com valor 1/9
– Filtros de mediana:
substituir cada pixel pela mediana da distribuição dos níveis de todos os pixels da sua vizinhança incluindo o próprio (filtros 3×3 ou 5×5)
( )
= ∑( )
= N i i y x f N y x g 1 , 1 ,Técnicas de Realce (enhancement)
•
As técnicas de
realce
dizem respeito à adaptação ou compensação face a
alterações de iluminação da cena
Histograma da Imagem
0 50 100 150 200 250 0 200 400 600 800 1000 1200 ExemploFilipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 31
Operações no Histograma
•
Equalização
– Alteração do valor de cada pixel para uniformizar a distribuição de níveis de cinzento na imagem
•
Histogramas locais em vez de globais
– Afectar a imagem parcialmente
•
Aplicação de um histograma pré-definido
– Realçar as partes mais escuras tornando-as mais claras e escurecendo as partes mais intensas
•
Expansão de contraste
– Alteração da imagem para varrer toda a gama dinâmica de cinzentos com B bits:
( )
(
)
( )
[
( )
]
[
( )
[
( )
]
]
y x f y x f y x f y x f y x g B , min , max , min , 1 2 , − − − =Detecção de Arestas (edge detection)
•
Importante para a
detecção
detecção
de objectos numa cena
– A técnica consiste em detectar variações de intensidade usando um operador derivativolocal
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 33
Operador de Gradiente
•
Definição
•
Variante discreta
•
... e filtros correspondentes
T y x y f x f G G G ⎥⎦ ⎤ ⎢⎣ ⎡ ∂ ∂ ∂ ∂ = ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ = r y x y x G G G G Gr = 2+ 2 ≈ +( ) (
)
( ) (
, , 1)
, 1 , − − = − − = y x f y x f G y x f y x f G y xOutros Filtros de Gradiente
•
Filtros de Sobel
• Alternativa mais eficiente para detectar arestas
•
Laplaciano
• Muito sensível ao ruído (pouco usado !!!) = x G Gy=
( )
[
,]
22 22 y f x f y x f L ∂ ∂ + ∂ ∂ = = LFilipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 35
Exemplos de Filtros de Arestas
Gradiente simples: Gx+Gy Filtro de Sobel
Gradiente simples: Gx+Gy Filtro de Sobel rice.tif
Limitação (valor médio)
Limitação (thresholding)
•
Processo de redução dos níveis de cinzento da imagem
• Em geral para dois níveis ⇒imagem binária
•
Esta é a técnica mais usada em visão aplicada à robótica
• Primeira operação para “separar” o objecto do fundo
( )
( )
( )
⎪⎩ ⎪ ⎨ ⎧ ≤ ← > ← = T y x f T y x f y x g , 0 , 1 ,Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 37
Limitação Dinâmica
•
Qual o
threshold
que mais informação preserva ?
– O valor médio ....? Nem sempre !!
– A melhor solução é obtida após análise do histograma
0 50 100 150 200 250 0 500 1000 1500 T=128 T=80
Suavização de Imagens Binárias
•
Quais as situações que requerem suavização ?
– Pontos isolados ou “buracos” em imagens – Cavidades em troços rectos
– Vértices de objectos (cantos) ausentes