visão por computador aplicada à robótica...

19
1 UNIVERSIDADE DE AVEIRO UNIVERSIDADE DE AVEIRO Dept Dept . de Electrónica e Telecomunicações . de Electrónica e Telecomunicações IST 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 [email protected] Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 2 Í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 Operações de suavização, realce e limitação

Upload: lamhanh

Post on 12-Dec-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 2: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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 !

Page 3: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 4: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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 ?

Page 5: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 6: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 7: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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)

Page 8: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 9: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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)

Page 10: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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 =

Page 11: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 12: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 13: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 14: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 15: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 16: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 17: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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

Page 18: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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,

Page 19: Visão por Computador Aplicada à Robótica Industrialana/ROBOTICA/docs/P2_ViscoComputador_MSc-ISEP.pdf · Modelização e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada

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