Você está na página 1de 48

ESZA019-17 - Visão Computacional

Aula 01b - Introdução e Motivação

Filipe Ieda Fazanaro


03 de junho de 2019
Universidade Federal do ABC (UFABC)
Sumário

1. Prólogo

2. Introdução, Contextualização e Motivações

3. Principais Conceitos

4. Decomposição em Plano de Bit

1
Prólogo
Ementa resumida da disciplina

• Como a imagem é formada.

• Como realizar a extração de atributos pertinentes ao problema.

• Visão estereoscópica.

• Reconhecimento de modelos 2D e 3D.

2
Ementa resumida da disciplina

• Alguns questionamentos interessantes:

• Como resolvemos o “problema” da perspectiva (ou percepção da


profundidade)?

• Podemos realizar visão 3D com apenas um sensor (i.e., com


apenas uma câmera)?

• Isso é viável? Quais são os prós e os contras?

• Quais os custos computacionais envolvidos?

• O que é preciso considerar quando os algoritmos forem


implementados em uma plataforma embarcada?

3
Ementa resumida da disciplina

• Referências e leituras para pensar um pouco1 :

• Robotics, Sensors, Computer Vision (WikiBooks).

• Pautet et al. (1997). A 3D vision system with only one camera.

• Depth perception (Wikipedia).

• Sanz, Mezcua, Pena (2012). Depth Estimation - An Introduction.

• Perspective (graphical) (Wikipedia).

1 Observação: ao longo do quadrimestre, serão sugeridos muitos trabalhos como leitura complementar à teoria apresentada em aula.

4
Introdução, Contextualização e
Motivações
Introdução, Contextualização e Motivações

• De maneira bem simplificada, pode-se compreender a visão


computacional como sendo a capacidade dos computadores e
das máquinas em enxergar.

• Do ponto de vista da robótica, a visão computacional é uma das


mais poderosas ferramentas que auxilia o robô a perceber o
ambiente.

5
Visão Computacional para Manipuladores

• Para robôs manipuladores:

• Capacidade de identificar se existe ou não algum objeto em seu


espaço de trabalho.

• Identificar como o objeto está posicionado (sua orientação) em


relação ao sistema de coordenadas referencial de modo que o
elemento final possa ser orientado coerentemente.

6
Visão Computacional para Manipuladores

• Relembrando:
• Sistemas de coordenadas;
• Convenção de
Denavit-Hartenberg.
• Cinemáticas direta e inversa.

ABB IRB-2400.

7
Visão Computacional para Manipuladores

• Relembrando:
• Sistemas de coordenadas;
• Convenção de
Denavit-Hartenberg.
• Cinemáticas direta e inversa.

[Motta, Carvalho, McMaster (2001)] Robot calibration using a 3D vision-based measurement system with a single camera.

8
Visão Computacional para Manipuladores

• Relacionar as coordenadas da câmera, do robô e do objeto ...

[Spong et al. (2006)] Robot Modeling and Control.


[Iqbal, Khan (2017)] The potential role of renewable energy sources in robot’s power system.

9
Visão Computacional para Manipuladores

• Relacionar as coordenadas da câmera, do robô e do objeto ...

[Myhre (2018)] Crane Control (página eletrônica).


[Pomares et al. (2011)] A multi-sensorial hybrid control for robotic manipulation in human-robot workspaces.

10
Visão Computacional para Manipuladores

• ... mesmo em situações em que o objeto esteja em movimento.

[Denso (2018)] Denso Robot: User Manuals (página eletrônica).


[Kobayashi, Shibata (2009)] Visual tracking of a moving object using a stereo vision robot.

11
Visão Computacional para Manipuladores

• É necessário identificar quantos objetos existem na cena e suas


respectivas posições (orientações).

[Spong et al. (2006)] Robot Modeling and Control.

12
Visão Computacional para Manipuladores

• É necessário identificar quantos objetos existem na cena e suas


respectivas posições (orientações).

[Spong et al. (2006)] Robot Modeling and Control.

12
Visão Computacional para Manipuladores

• É necessário identificar quantos objetos existem na cena e suas


respectivas posições (orientações).

[Spong et al. (2006)] Robot Modeling and Control.

12
Visão no Contexto de Robôs Móveis

• No contexto de robôs autônomos, a visão é parte fundamental


dos sistemas de percepção do ambiente.

1. Radar.
2. Lane keeping (câmeras).
3. Lidar (laser rotacionando
para mapear o ambiente
- nuvem de pontos).
4. Câmeras infravermelho.

[Vanderbilt (20.01.2012)] Let the Robot Drive: The Autonomous Car of the Future is Here.

13
Visão no Contexto de Robôs Móveis

• No contexto de robôs autônomos, a visão é parte fundamental


dos sistemas de percepção do ambiente.

5. Visão estéreo (duas


câmeras montadas sobre
o pára-brisa para
“enxergar” o ambiente
em 3 dimensões).
6. GPS.
7. Wheel encoder (auxilia a
verificação da velocidade
do veículo).

[Vanderbilt (20.01.2012)] Let the Robot Drive: The Autonomous Car of the Future is Here.

14
Visão no Contexto de Robôs Móveis

• No contexto de robôs autônomos, a visão é parte fundamental


dos sistemas de percepção do ambiente.

[Wojke, Häselich (2012)] Moving Vehicle Detection and Tracking in Unstructured Environments (YouTube).

15
Visão no Contexto de Robôs Móveis

• Identificação de objetos próximos ao veículo:

[Frost (2017)] Volkswagen and Mobileye to use ‘swarm data’ for autonomous vehicle mapping.

16
Visão no Contexto de Robôs Móveis

• Identificação e interpretação de sinais, placas.

[Grazioli (2017)] Traffic Sign Recognition with CNNs and Keras.

17
Visão no Contexto de Robôs Móveis

• Para identificação e classificação de objetos em cena (também


está relacionado ao contexto de robôs manipuladores).

[Quaknine (2018)] Review of Deep Learning Algorithms for Object Detection.

18
Visão no Contexto de Robôs Móveis

• Para identificação e classificação de objetos em cena (também


está relacionado ao contexto de robôs manipuladores).

[Computer Vision (2018)] Learn Deep Learning for Computer Vision.

19
Principais Conceitos
O que é uma imagem?

• Uma imagem pode ser considerada uma representação discreta


de dados que processa informação espacial (a partir da
localização do ponto na imagem) e intensidade de cor (ou
escala de cores) associada.

• Uma imagem faz um mapeamento entre os espaços 3D e 2D.

• Em um primeiro momento, serão considerados os principais


aspectos de análise de imagens bi-dimensionais.

• A extração de informação tri-dimensional a partir de imagens


bi-dimensionais será feito no futuro.

20
Layout da imagem

• Uma imagem 2D é um conjunto de pontos (pixels) indexados.

[Solomon, Breckon (2011)] Fundamentos de Processamento Digital de Imagens.

21
Cor de imagens

• Uma imagem contém um ou mais canais de cor que definem a


intensidade ou cor em uma dada localização de pixel.

• Cada posição do pixel contém um valor numérico representando o


nível de sinal naquele ponto da imagem.

• A conversão entre esse valor numérico para uma imagem real é


feita através de um mapa de cores.

• Um mapa de cor coloca um tom específico de cor a cada nível


numérico na imagem.

• Palavras binárias são usadas para armazenar e indexar as cores.

22
Cor de imagens

• Escala de cinza:

Figura 1: Da esquerda para a direita (# bits): 1, 2, 3, 4, 5, 8.

Bit-depth scales courtesy of Douglas Walker (2005 American Cinematographer)

23
Cor de imagens

• Escala de cinza:

Referência.

24
Cor de imagens

• Escala de cinza:

25
Cor de imagens

• Imagens em escala de cinza são amplamente utilizadas na área


médica (e.g., Imagem de Ressonância Magnética - MRI).

Figura 2: Alguma coisa associada à meningite.

MRI helps uncover signs of meningeal carcinomatosis.

26
Cor de imagens

• Escala RGB:

27
Resolução de uma imagem

• Resolução de pixel ou da imagem: dimensões em colunas vs


linhas

• Exemplos: 640 × 480, 800 × 600, 1024 × 768, etc.

• Resolução temporal: basicamente, número de amostragens


(quadros) por unidade de tempo (segundos).

• Exemplo: 30 fps.

• Resolução de bit: número de valores de intensidade/cor que


um pixel pode ter.

• Resolução de bit de uma imagem binária (PB): 1 bit.


• Resolução de bit de uma imagem em escala de cinza: 8 bits.
• Resolução de bit de uma imagem colorida (RGB): 24 bits.

28
Decomposição em Plano de Bit
Decomposição em Plano de Bit

• A decomposição em plano de bit permite identificar a


importância de cada bit do pixel na formação da imagem.

• Para que serve isso?

• Essa técnica é particularmente interessante para a compressão de


imagens.

• Possibilita identificar quais bits poderiam ser descartados sem


que a informação na imagem seja deteriorada.

29
Funcionamento da Decomposição ...

• Suponha uma imagem em escala de cinza de resolução de pixel


(espacial, digital) igual à 4 × 4 e resolução de bit igual à
n = 4 bits.

• Logo, cada pixel pode assumir valores entre 0 e 2n − 1

15 9 11 12
13 11 10 1
0 12 9 4
5 15 13 12

30
Funcionamento da Decomposição ...

• Suponha uma imagem em escala de cinza de resolução de pixel


(espacial, digital) igual à 4 × 4 e resolução de bit igual à
n = 4 bits.

• Logo, cada pixel pode assumir valores entre 0 e 2n − 1

? 9 11 12
13 11 10 1
0 12 9 4
5 15 13 12

31
Funcionamento da Decomposição ...

• Suponha uma imagem em escala de cinza de resolução de pixel


(espacial, digital) igual à 4 × 4 e resolução de bit igual à
n = 4 bits.

• Logo, cada pixel pode assumir valores entre 0 e 2n − 1

1111 9 11 12
13 11 10 1
0 12 9 4
5 15 13 12

32
Funcionamento da Decomposição ...

• Suponha uma imagem em escala de cinza de resolução de pixel


(espacial, digital) igual à 4 × 4 e resolução de bit igual à
n = 4 bits.

• Logo, cada pixel pode assumir valores entre 0 e 2n − 1

1111 ? 11 12
13 11 10 1
0 12 9 4
5 15 13 12

33
Funcionamento da Decomposição ...

• Suponha uma imagem em escala de cinza de resolução de pixel


(espacial, digital) igual à 4 × 4 e resolução de bit igual à
n = 4 bits.

• Logo, cada pixel pode assumir valores entre 0 e 2n − 1

1111 1001 11 12
13 11 10 1
0 12 9 4
5 15 13 12

34
Funcionamento da Decomposição ...

• Suponha uma imagem em escala de cinza de resolução de pixel


(espacial, digital) igual à 4 × 4 e resolução de bit igual à
n = 4 bits.

• Logo, cada pixel pode assumir valores entre 0 e 2n − 1

1111 1001 1011 1100


1101 1011 1010 0001
0000 1100 1001 0100
0101 1111 1101 1100

35
Funcionamento da Decomposição ...

• Suponha uma imagem em escala de cinza de resolução de pixel


(espacial, digital) igual à 4 × 4 e resolução de bit igual à
n = 4 bits.

• Logo, cada pixel pode assumir valores entre 0 e 2n − 1

1111 1001 1011 1100


1101 1011 1010 0001
0000 1100 1001 0100
0101 1111 1101 1100

36
Funcionamento da Decomposição ...

• Suponha uma imagem em escala de cinza de resolução de pixel


(espacial, digital) igual à 4 × 4 e resolução de bit igual à
n = 4 bits.

• Logo, cada pixel pode assumir valores entre 0 e 2n − 1

1111 1001 1011 1100


1101 1011 1010 0001
0000 1100 1001 0100
0101 1111 1101 1100

37
Funcionamento da Decomposição ...

1111 1001 1011 1100


1101 1011 1010 0001
0000 1100 1001 0100
0101 1111 1101 1100

1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 0
1 1 1 0 1 0 0 0 0 1 1 0 1 1 0 1
0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0
0 1 1 1 1 1 1 1 0 1 0 0 1 1 1 0

38
Funcionamento da Decomposição ...

39
Funcionamento da Decomposição ...

39
Perguntas?

39

Você também pode gostar