visão por computador aplicada à robótica...
TRANSCRIPT
1
UN
IVE
RSI
DA
DE
DE
AV
EIR
OU
NIV
ER
SID
AD
E D
E A
VE
IRO
Dep
tD
ept .
de E
lect
róni
ca e
Tel
ecom
unic
açõe
s. d
e El
ectró
nica
e T
elec
omun
icaç
ões
IST
IST --
ISEP
ISEP
Mestrado em Engenharia Electrotécnica e de ComputadoresMestrado em Engenharia Electrotécnica e de Computadores2003/30042003/3004
ModelizaçãoModelização e Controlo de Sistemas Dinâmicose Controlo de Sistemas Dinâmicos
Visão por Computador Aplicada à Robótica IndustrialVisão por Computador Aplicada à Robótica Industrial
Filipe Miguel Silva Filipe Miguel Silva [email protected]
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 2
ÍndiceParte II – Visão por Computador
• Introdução• Formação e geometria da imagem• Imagem em baixo nível• Histograma• Aplicação de um filtro• Operações de suavização, realce e limitação
2
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 3
Visão por Computador
• A visão por computadorvisã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”
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 4
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 !A visão é o inverso da animação !
3
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 propriedadesRealce de detalhes para reconhecimento/detecçãoCompressão que preserva a informação geométrica da imagem
Filtragem para extracção de propriedadesRealce de detalhes para reconhecimento/detecçãoCompressão que preserva a informação geométrica da imagem
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 6
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
• Engenharia inversa
4
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 2D significa a perda da terceira dimensão
– As variações devido ao ruído, à iluminação e múltiplos factores dão origem a confusões e ambiguidades
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 8
Á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 ?
• Como pode ser usada para atingir o objectivo ?
5
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 9
1. PercepçãoAquisição ou obtenção de imagem
2. Pré-processamentoRedução de ruído ou realce de contrastes
3. SegmentaçãoPartição da imagem em zonas de interesse (objectos)
4. DescriçãoDeterminação de propriedades de objectos (tamanho, forma, ...)
5. ReconhecimentoIdentificação de objectos descritos a partir de uma base de dados
6. InterpretaçãoAtribuição de significados a um conjunto de objectos reconhecidos
BaixoNível
MédioNível
AltoNível
Áreas e Níveis da Visão por Computador
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 10
Estrutura de um Problema de Visão
Aquisiçãode ImagemAquisição
de ImagemPré-
processamentoPré-
processamentoExtracção dePropriedadesExtracção dePropriedades 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
6
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 tipoO objectivo é concentrar no primeiro tipo
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 12
Formação da Imagem
• As imagens formam-se quando um sensorsensor registra radiaçãoradiação que interagiu com objectosobjectos 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
pupila
7
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, λ
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 14
Obtenção da Imagem
• Processo básico1) Os fotões atingem o detector2) O detector carrega3) 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– Percepção discretizada em linhas e colunas (500×582, 752×582)
8
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ó bitImagens a Níveis de Cinzento – os pixels são representados por 1 byteImagens a Cores – à mais que um valor por pixel (3 bytes)
Imagens Binárias – os pixels são representados por um só bitImagens a Níveis de Cinzento – os pixels são representados por 1 byteImagens a Cores – à mais que um valor por pixel (3 bytes)
pixel, Picture Elementpixel, Picture Element
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 16
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âmaraCâmara Amostragem da imagem
Amostragem da imagem
Computador central
Computador central
DisplayDisplay
Sinal analógico
Sinal digital
9
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
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 18
Técnicas de Iluminação
• Qual a importância da iluminaçãoiluminaçã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
Inspecção de superfícies de objectos (realce de propriedades)
10
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 19
Geometria da Imagem
• Quais são os processos geométricosprocessos geométricos que determinam a imagem ?
ZXx
ZXx
−=→
−=
λλ
λλ
ZYy
ZYy
−=→
−=
λλ
λλ
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 20
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
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
+−
=
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
−
=⋅=
kkZkZ
kY
kX
k
kZ
kY
kX
WPC hh
λλ1100
0100
0010
0001
[ ]Th kkZkYkXW =
11
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 21
Transformação de Perspectiva
• Conversão de coordenadas homogéneas para coordenadas cartesianascalculadas na imagem (ponto C):– A coordenada z não tem aqui sentido– As coordenadas x e y obtêm-se em função de (X,Y,Z) e de λ
– A determinação inversa é obtida pela transformação
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
=−
1100
0100
0010
0001
1
λ
Phh CPW ⋅= −1
A transformação não produz pontos no espaço 3D !!!
A transformação não produz pontos no espaço 3D !!!
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 22
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
pTp CC
RR ⋅=
( ) pTpTp RR
CRC
RC ⋅=⋅=−1
( ) pTPpTPC RR
CRC
R ⋅⋅=⋅⋅=−1
12
Filipe 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) ?
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 24
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
13
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
– D4 (ou city-block)
– D8 (ou chessboard)
( ) ( ) ( )
( )
( ) ( )yyxx
yyxx
yyxxE
qpqpqpD
qpqpqpD
qpqpqpD
−−=
−+−=
−+−=
,max,
,
,
8
4
22
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 26
Pré-processamento de imagem
• Abordagens típicas– Espacial: sobre os pixels da imagem– Frequência: transformadas de Fourier
– Abordagem ESPACIAL– Criação de uma nova imagem g(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
14
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
pi pertence à vizinhança do ponto em causa
valor directo do novo pixelusado de forma indirecta para o definir
– Coeficientes de um filtro 3×3:
( ) ∑ ⋅==
N
iii pwyxg
1,
( )yxg ,
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 28
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
– os valores de –7, -6, -5,..., 6, 7 correspondem a todas as outras possibilidades
15
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
ii yxf
Nyxg
1,1,
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 30
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
Exemplo
16
Filipe 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:
( ) ( ) ( ) ( )[ ]( )[ ] ( )[ ]yxfyxf
yxfyxfyxg B
,min,max,min,12,
−−
−=
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 32
Detecção de Arestas (edge detection)
• Importante para a detecçãodetecção de objectos numa cena
– A técnica consiste em detectar variações de intensidade usando um operador derivativo local
17
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
yf
xf
G
GG ⎥⎦
⎤⎢⎣⎡
∂∂
∂∂
=⎥⎥⎦
⎤
⎢⎢⎣
⎡=
ryxyx GGGGG +≈+= 22r
( ) ( )
( ) ( )1,,
,1,
−−=
−−=
yxfyxfG
yxfyxfG
y
x
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 34
Outros Filtros de Gradiente
• Filtros de Sobel• Alternativa mais eficiente para detectar arestas
• Laplaciano• Muito sensível ao ruído (pouco usado !!!)
=xG =yG
( )[ ] 2
2
2
2,
yf
xfyxfL
∂∂
+∂∂
==L
18
Filipe 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)
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 36
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
( )( )
( )⎪⎩
⎪⎨⎧
≤←
>←=
Tyxf
Tyxfyxg
,0
,1,
19
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
Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 38
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
• Operações lógicas (binárias) sobre os pixels