Você está na página 1de 77

UNIVERSIDADE FEDERAL DO ESPRITO SANTO

CENTRO TECNOLGICO
DEPARTEMENTO DE ENGENHARIA MECNICA

TSSIO CARIELO MACEDO DE OLIVEIRA PINTO


VINICIUS MIRANDA

ALGORTIMO DE REALIMENTAO VISUAL PARA APLICAO EM


CONTROLE ROBTICO

VITRIA
2013

TSSIO CARIELO MACEDO DE OLIVEIRA PINTO


VINICIUS MIRANDA

ALGORTIMO DE REALIMENTAO VISUAL PARA APLICAO EM


CONTROLE ROBTICO

Trabalho de Concluso de Curso


apresentado ao Departamento de
Engenharia
Mecnica
do
Centro
Tecnolgico da Universidade Federal do
Esprito Santo, como requisito parcial
para obteno do grau de Engenheiro
Mecnico.
Orientador: Prof. Dr. Antnio Bento Filho

VITRIA
2013

TSSIO CARIELO MACEDO DE OLIVEIRA PINTO


VINICIUS MIRANDA

ALGORTIMO DE REALIMENTAO VISUAL PARA APLICAO EM


CONTROLE ROBTICO

Trabalho de Concluso de Curso apresentado ao Departamento de Engenharia


Mecnica do Centro Tecnolgico da Universidade Federal do Esprito Santo, como
requisito parcial para obteno do grau de Engenheiro Mecnico.
Aprovado em 02 de Maio de 2013.

COMISSO EXAMINADORA:

_______________________________________
Prof. Dr. Antnio Bento Filho
Universidade Federal do Esprito Santo
Orientador

_______________________________________
Prof. Dr. Carlos Friedrich Loeffler Neto
Universidade Federal do Esprito Santo
Examinador

_______________________________________
Prof. Dr. Fernando Csar Meira Menandro
Universidade Federal do Esprito Santo
Examinador

O gnio um por cento de inspirao e


noventa e nove por cento de suor
Thomas A. Edison

AGRADECIMENTOS

Agradecemos aos nossos pais, irmos, amigos e mestres por todo apoio nestes anos
de faculdade.

RESUMO

Cada vez mais robs so aplicados na indstria para executar diversos tipos de
tarefas que envolvem na maioria das vezes a identificao de objetos e de suas
posies e orientaes em relao a um referencial de trabalho. Dentro desse escopo,
os sistemas de controle servo visual tem mostrado excelentes resultados. Hoje h a
necessidade de se desenvolver algoritmos que faam melhor uso dos recursos
computacionais disponveis e forneam resultados de maior qualidade. Este projeto
visa desenvolver um algoritmo para a obteno do ngulo de rotao de uma vlvula,
atravs de ferramentas disponveis na plataforma MATLAB, com o objetivo de
realimentar visualmente um manipulador robtico. Alm disso, avaliar parmetros que
influenciam no resultado do algoritmo.

Palavras Chave: Controle Servo Visual. Viso Artificial. Caractersticas de imagem.


Vlvula.

ABSTRACT

Robots are increasingly used in industry to execute different kinds of tasks which
mostly involve the identification of objects and their positions and orientations relative
to a reference work. Within this scope, the visual servo control systems have shown
excellent results. Today there is the need to develop algorithms that make better use
of available computational resources and provide higher quality results. This project
aims to develop an algorithm for obtaining the angle of rotation of a valve through tools
available in MATLAB platform, in order to visually feedback a robotic manipulator.
Moreover, evaluate parameters that influence the results of the algorithm.

Keywords: Visual Servo Control. Artificial Vision. Image feature. Valve.

LISTA DE FIGURAS

Figura 1: Esquema bsico para um Sistema de Viso Artificial ................... 16


Figura 2: Imagem remapeada. Fonte ........................................................... 18
Figura 3: Aplicao de reduo de rudo ...................................................... 18
Figura 4: Aumento de contraste ................................................................... 19
Figura 5: Imagem binarizada por threshold .................................................. 20
Figura 6: Mean Shift. Imagem (a) original. Imagem (b) com efeito mean-shift
aplicado ............................................................................................... 21
Figura 7: Exemplo de bordas ....................................................................... 21
Figura 8: Crescimento de regies. Em (a) pixels adjacentes com alguma
caracterstica comum. Em (b) incio do crescimento. (c) Estado
intermedirio do crescimento (d) Estado completo .............................. 22
Figura 9: Estrutura de controle servo visual direta baseada em posio
(PBVS). ................................................................................................ 25
Figura 10: Estrutura de controle servo visual direta baseada em imagem
(IBVS) .................................................................................................. 25
Figura 11: Estrutura dinmica de controle servo visual indireta baseada em
posio ................................................................................................ 25
Figura 12: Estrutura dinmica de controle servo visual indireta baseada em
imagem ................................................................................................ 26
Figura 13: Configurao quanto ao sistema de cmera ............................... 28
Figura 14: Resultado Edge Detection ........................................................... 30
Figura 15: Resultado Corner Detection Fonte .............................................. 31
Figura 16: Resultado de deteco de regies .............................................. 32
Figura 17: Exemplo caractersticas do tipo Ridges ...................................... 33
Figura 18: Sistema de viso artificial utilizado neste trabalho. ..................... 35
Figura 19: Vlvula do CT-3........................................................................... 36
Figura 20: Padro de imagem para posicionamento de cmera. ................. 38
Figura 21: Ptio do CT-3. ............................................................................. 39
Figura 22: Aquisio em (a) fundo complexo e em (b) fundo branco. .......... 40
Figura 23: Pseudocdigo de extrao e correlao de caractersticas em um
quadro capturado. ................................................................................ 42
Figura 24 - Vetores u e v obtidos e ngulo entre eles. ................................. 42
Figura 25: Pseudocdigo de interpretao dos pontos caractersticos para
obteno do ngulo de rotao da vlvula. ......................................... 43

Figura 26: Pseudocdigo do rastreador de pontos caractersticos............... 45


Figura 27: Pontos correlacionados no teste 1. ............................................. 48
Figura 28: Inliers encontrados no teste 6. .................................................... 50

LISTA DE TABELAS

Tabela 1: Detectores de caractersticas e suas classificaes..................... 34


Tabela 2: Especificao da cmera Sony DSC-W510 ................................. 37
Tabela 3: Especificao do computador XPS15 L502x utilizado no
processamento das imagens ............................................................... 38
Tabela 4: Testes executados ....................................................................... 46
Tabela 5: Quantidade de pontos encontrados na extrao e correlao de
caractersticas ...................................................................................... 47
Tabela 6: ngulos finais calculados ............................................................. 49
Tabela 7: Resultados encontrados pelo algoritmo ....................................... 49
Tabela 8: ngulos de rotao da vlvula aferidos automaticamente,
manualmente e erro percentual ........................................................... 51
Tabela 9: Pontos correlacionados ................................................................ 59
Tabela 10: Pontos Inliers .............................................................................. 62
Tabela 11: Pontos rastreados ...................................................................... 65
Tabela 12: Pontos caractersticos aferidos manualmente no primeiro e ltimo
quadros capturados no teste ............................................................... 68

SUMRIO

1 INTRODUO ........................................................................................ 12
1.1 HISTRIA DO CONTROLE SERVO VISUAL ........................................ 12
1.2 SISTEMAS DE CONTROLE SERVO VISUAL ....................................... 13
1.3 TRABALHOS ANTERIORES ................................................................. 14
1.4 OBJETIVOS ........................................................................................... 15
2 CONCEITO DE CONTROLE SERVO VISUAL ....................................... 16
2.1 SISTEMA DE VISO ARTIFICIAL ......................................................... 16
2.1.1 Aquisio ........................................................................................... 17
2.1.2 Pr-processamento ........................................................................... 17
2.1.3 Segmentao ..................................................................................... 19
2.1.4 Extrao de caractersticas .............................................................. 23
2.1.5 Reconhecimento e interpretao ..................................................... 23
2.1.6 Base de dados ................................................................................... 23
2.2 TCNICAS DE CONTROLE DE SERVO VISUAL ................................. 24
2.2.1 Quanto ao arranjo hierrquico ......................................................... 26
2.2.2 Quanto estratgia de controle ....................................................... 27
2.2.3 Quanto a configurao do sistema de cmeras ............................. 27
3 CARACTERISTICAS DE IMAGENS ....................................................... 29
3.1 CARACTERISTICA ................................................................................ 29
3.2 TIPOS DE CARACTERSTICAS ............................................................ 30
3.2.1 Borda (Edges) .................................................................................... 30
3.2.2 Cantos (Corners) / Pontos de interesse .......................................... 31
3.2.3 Regies de interesse (Blobs) ........................................................... 32
3.2.4 Ridges ................................................................................................ 33
3.3 TIPOS DE DETECTORES DE CARACTERSTICAS ............................. 33
3.4 DESCRIO DE CARACTERISTICAS.................................................. 34
4 SISTEMA DE VISO ARTIFICIAL .......................................................... 35
4.1 PROBLEMA E RESULTADOS ............................................................... 35

4.2 AQUISIO ........................................................................................... 36


4.2.1 Dispositivo e imagem........................................................................ 36
4.2.2 Posicionamento do dispositivo ....................................................... 38
4.2.3 Iluminao .......................................................................................... 39
4.2.4 Resoluo .......................................................................................... 40
4.2.5 Fundo ................................................................................................. 40
4.2.6 Calibrao de cmera ....................................................................... 41
4.3 EXTRAO E CORRELAO DE CARACTERSTICAS ...................... 41
4.4 INTERPRETAO ................................................................................. 42
4.5 BASE DE CONHECIMENTO ................................................................. 44
4.6 RASTREAMENTO ................................................................................. 44
5 RESULTADOS ........................................................................................ 46
5.1 TESTES EXECUTADOS ........................................................................ 46
5.2 EXTRAO E CORRELAO DE CARACTERSTICAS ...................... 47
5.3 INTERPRETAO ................................................................................. 48
5.4 MEDIDA DE ERRO ................................................................................ 50
6 CONCLUSO ......................................................................................... 52
7 REFERENCIAS ....................................................................................... 53
APNDICE A - ALGORITMO ...................................................................... 57
APNDICE B - PONTOS OBTIDOS NA EXTRAO E CORRELAO DE
CARACTERISTICAS .............................................................................. 59
APNDICE C - PONTOS CARACTERSTICOS AFERIDOS
MANUALMENTE .................................................................................... 68

12

INTRODUO

Cada vez mais robs so aplicados na indstria para executar diversos tipos de
tarefas que envolvem na maioria das vezes a identificao de objetos e de suas
posies e orientaes em relao a um referencial de trabalho. Dentro desse escopo,
os sistemas de controle servo visual tem mostrado excelentes resultados.
Com o aumento da velocidade de processamento e miniaturizao de computadores
nas ltimas dcadas viabilizou-se o uso desses sistemas para uma gama muito maior
de aplicaes, porm hoje h a necessidade de se desenvolver algoritmos que faam
melhor uso desses recursos computacionais disponveis e forneam resultados de
maior qualidade.
Este captulo fornece informaes sobre as dificuldades enfrentadas pelos atuais
robs industriais e como o uso da realimentao atravs dos sensores visuais podem
melhorar o desempenho desses robs. Tambm discute trabalhos anteriores feitos
por outros pesquisadores no campo da servo viso e define os objetivos e o escopo
deste projeto.

1.1 HISTRIA DO CONTROLE SERVO VISUAL

O uso de Cmeras de vdeo para realimentao de sinais em sistemas de controle


remonta aproximadamente da dcada de 70. O termo servo controle visual foi
cunhado por Hill e Park (1979). Na ocasio o conceito de rob comeou a ser aceito
como uma mquina suscetvel de interagir com seu ambiente com uma certa
autonomia. Entre os sensores disponveis no momento, a cmera tem fascinado
pesquisadores, devido grande quantidade de informaes que podem ser extradas
a partir das imagens. Prover um rob com informaes visuais aproxima suas
habilidades as humanas.

13

Devido a quantidade de informaes fornecidas pelas cmeras, a ambio inicial na


rea de robtica foi em geral de entender o mundo, a fim de decidir, por meio de
abordagens simblicas, como agir. A ideia de utilizar cmeras dentro de uma malha
de controle s veio mais tarde. Isto foi alcanado selecionando sinais especficos de
uma imagem e utilizando como um sensor de realimentao associado a um sistema
dinmico.
Essas duas abordagens se desenvolveram separadamente nos anos 80. O primeiro
ligou-se ao campo da viso computacional, liderado principalmente por cientistas da
computao e matemticos aplicados. O segundo deu origem a abordagem de
controle servo visual, estudada por pesquisadores da rea de automao e controle
(CORKE, 1996).

1.2 SISTEMAS DE CONTROLE SERVO VISUAL

O termo Controle Servo Visual refere-se ao uso em malha fechada, de informaes


provenientes de viso computacional para determinar a ao de controle de um rob
ou manipulador robtico para executar uma tarefa (BERNARDES, 2009). Tarefa esta
que pode ser a aproximao em relao a um objeto alvo na cena em questo, ou, a
aproximao do rob em relao a um conjunto de caractersticas visuais extrada da
imagem. Esta Tcnica de controle baseia-se em

outras

importantes reas do

conhecimento tais como: processamento de imagem, viso computacional, teoria de


controle, cinemtica, dinmica e viso computacional (CHAUMETTE; HUTCHINSON,
2006).
Diversos tipos de sensores tm seu uso consagrado em aplicaes de robtica, mas
nenhum deles capaz de proporcionar uma descrio to rica do ambiente de
trabalho quanto os sensores visuais. O rpido crescimento do poder computacional e
a reduo do custo de cmeras e placas de captura de quadros criaram um crescente
interesse na aplicao desses sistemas na indstria.

14

1.3 TRABALHOS ANTERIORES

Um das primeiras referencias de Shirai e Inoue (1973), que descrevem a forma como
um ciclo de realimentao visual pode ser usado para corrigir a posio de um rob
afim de aumentar a preciso em uma tarefa. Em seu trabalho descrito um sistema
que permite ao rob agarrar um prisma quadrado e coloc-lo em uma caixa utilizando
controle servo visual. Foram utilizadas extrao de bordas e ajuste de linhas para
determinar a posio e orientao da caixa, usava uma cmera fixa e o tempo do ciclo
observado foi de 10 segundos.
Hill e Park (1979) descrevem o controle servo visual de um rob utilizando o
processamento de imagens binrias para ganhos de velocidade e confiabilidade,
provendo a posio planar, assim como uma estimativa simples de profundidade
baseada na distncia aparente entre caractersticas conhecidas. Experimentos
tambm foram conduzidos usando uma faixa de luz projetada para determinao de
profundidade mais robustamente, assim como orientao de superfcie. Estes
experimentos demonstraram movimentos visualmente orientados, tanto planares
quando 3D, assim como rastreamento e agarramento de objetos em movimento.
Mquinas visualmente guiadas tem sido construdas para emular as habilidades
humanas no ping pong (ANDERSSON, 1987)(FSSLER; BEYER; WEN, 1990),
balanceamento de pendulo invertido (DICKMANNS; GRAEFE, 1988), e apanhamento
de

objetos

(BUKOWSKI

et

al.,

1991)(BUTTAZZO;

ALLOTTA;

FANIZZA,

1993)(SAKAGUCHI et al., 1993). Existem vrios trabalhos no uso de servo viso para
agarrar alvos mveis. O primeiro trabalho parece ter sido feito no Stanford Research
Institute (SRI) na dcada de setenta (ROSEN, 1976). Recentemente Zhang et al. (
1990) apresentaram um controlador servo visual de rastreamento para que um rob
pegasse itens de uma correia transportadora em movimento rpido (300mm/s). Harrel
et al. (1989) descreve um rob hidrulico para colher frutas.
O uso de servo controle visual em um ambiente de tele robtica tem sido discutido por
Yuan et al. (1990), Papanikolopoulos et al. (1992) e Tendick et al.(1991). Servo viso

15

permite que a tarefa a ser executada seja especificada por um operador humano em
termos da seleo de caractersticas visuais e configuraes desejadas.
Estudos baseados em redes neurais (HASHIMOTO et al., 1989); (KUPERSTEIN,
1988); (MEL, 1990) e algoritmos de aprendizagem de mquinas (MILLER III, 1987)
tambm tem sido utilizados para realizar a coordenao de robs. Uma cmera fixa
observa o objeto e o rob no espao de trabalho e consegue fazer a relao entre os
ngulos de junta e a pose (posio e orientao) 3D do efetuador. Tais sistemas
requerem treinamento, mas eliminam a necessidade de relaes analticas complexas
entre os recursos de imagem e ngulos de junta.

1.4 OBJETIVOS

Este trabalho tem por objetivo apresentar os princpios bsicos de viso


computacional que podero ser utilizados para trabalhos futuros e desenvolver um
algoritmo para a obteno do ngulo de rotao de uma vlvula, atravs de
ferramentas disponveis na plataforma MATLAB, com o objetivo de realimentar
visualmente um manipulador robtico.

16

CONCEITO DE CONTROLE SERVO VISUAL

A funo de um sistema de posicionamento robtico baseado em viso o controle


da pose do efetuador usando informaes visuais extradas a partir da imagem
captada pela cmera (CHONG, 2004).

2.1 SISTEMA DE VISO ARTIFICIAL

A organizao de um sistema de viso robtica dependente da aplicao. Um


esquema bsico de Sistema de Viso Artificial (SVA) proposto por (FILHO; NETO,
1999) e apresentado na figura abaixo.

Figura 1: Esquema bsico para um Sistema de Viso Artificial. Fonte: (FILHO; NETO, 1999)

17

2.1.1 Aquisio

a primeira etapa em um sistema de viso artificial e consiste na captao de uma


imagem real e a transformao em uma imagem digital. Para tanto so necessrios
dois dispositivos bsicos. O primeiro diz respeito ao dispositivo fsico sensvel a uma
faixa do espectro eletromagntico luminoso como, por exemplo, raio X, ultravioleta,
infravermelho ou a luz visvel, capaz de converter os valores captados em sinais
eltricos proporcionais. O segundo so os digitalizadores, que so dispositivos
capazes de converter sinais analgicos de entrada como os gerados pelos sensores
luminosos

acima

descritos,

em

sinais

digitais

reconhecidos

pelo

sistema

computacional. Esta etapa produz na sada uma imagem digitalizada.


Dentre os aspectos de projeto envolvidos nesta etapa, pode-se mencionar: a escolha
do tipo de sensor, o conjunto de lentes a utilizar, as condies de iluminao da cena,
a calibrao da cmera, os requisitos de velocidade de aquisio, a resoluo e o
nmero de nveis de cinza da imagem digitalizada, dentre outros (FILHO; NETO,
1999).

2.1.2 Pr-processamento

A funo da etapa de pr-processamento aprimorar a qualidade da imagem para as


etapas subsequentes (FILHO;NETO, 1999). A imagem resultante desta etapa uma
imagem digitalizada de melhor qualidade que a original. Entre as tarefas mais comuns
executadas nessa etapa podemos citar:
Remapeamento: tcnica matemtica utilizada para criar uma nova verso da
imagem com largura e/ou altura diferentes em pixels. utilizada para assegurar
que o sistema de coordenadas est correto.

18

Figura 2: Imagem remapeada. Fonte: (ORLANDI, 2008).

Reduo de rudos: os rudos podem aparecer de diversas fontes, como por


exemplo, o tipo de sensor utilizado, a iluminao do ambiente, as condies
climticas no momento da aquisio da imagem, a posio relativa entre o
objeto de interesse e a cmera. A reduo de rudos feita pela utilizao de
filtros, que podem ser espaciais (filtros que atuam diretamente na imagem) ou
de frequncia (onde a imagem transformada para o domnio de frequncia
usando a transformada de Fourier, filtrada neste domnio e, em seguida
transformada de volta para o domnio de espao).

Figura 3: Aplicao de reduo de rudo. Fonte: (MARENGONI; STRINGHINI, 2010)

19

Aumento de contraste: tem por objetivo melhorar a qualidade das imagens sob
os critrios subjetivos do olho humano. Esta tcnica consiste numa
transformao do valor de cada pixel, em escala de cinza, com o objetivo de
aumentar a discriminao visual entre os objetos presentes na imagem.
Realiza-se a operao ponto a ponto, independentemente da vizinhana.

Figura 4: Aumento de contraste. Fonte: (FILHO; NETO, 1999)

2.1.3 Segmentao

O processo de segmentao consiste em particionar uma imagem em regies, ou


objetos distintos. Este processo geralmente guiado por caractersticas do objeto ou
regio, como por exemplo, cor ou proximidade. O nvel de detalhamento em um
processo de segmentao depende da tarefa a ser executada e da resoluo da
imagem que se tem (MARENGONI; STRINGHINI, 2010). Nesta etapa so produzidas
imagens digitais segmentadas.

20

A segmentao uma das etapas mais difceis na implantao de um sistema de


viso artificial. Neste assunto no h unanimidade sobre o que melhor ou pior.
Algumas tcnicas bastante utilizadas que obtm sucesso dependendo do tipo de
imagem e de objeto so:
Tcnicas baseadas em cores, ou intensidade do valor de pixel: So simples de
serem implementadas, rpidas em termos computacionais e utilizam de
propriedades intuitivas para criar a imagem segmentada. A ideia central deste
tipo de operador a de verificar no histograma da imagem quantas regies
existem (picos e vales) e segmentar a imagem baseado nesta informao.
A tcnica mais comum o Threshold, Figura 5. Esta tcnica divide o histograma
da imagem em duas partes ou mais (chamado threshold mltiplo). Outra tcnica
utilizada o Mean-shift, Figura 6, que usa toda a informao de cor numa
imagem para obter grupos de pixels de cores semelhantes e separar regies
homogneas, esperando que estes grupos formem objetos.

Figura 5: Imagem binarizada por threshold Fonte: (BAUERMANN, 2009)

21

Figura 6: Mean Shift. Imagem (a) original. Imagem (b) com efeito mean-shift aplicado. Fonte:
(BAUERMANN, 2009)

Reconhecimento de bordas: Uma borda em uma imagem caracterizada por


uma mudana, normalmente abrupta, no nvel de intensidade dos pixels. Os
detectores de borda so definidos para encontrar este tipo de variao nos
pixels e quando estes pixels esto prximos eles podem ser conectados
formando uma borda ou um contorno e assim definindo uma regio ou objeto.
Para encontrar as bordas so utilizados diversos tipos de filtros. Alguns dos
filtros mais usados so Sobel, Prewit e Canny.

Figura 7: Exemplo de bordas Fonte: (MELO, 2011)

22

Crescimento de regies: Este mtodo assume que uma regio formada por
pixels adjacentes e com algumas caractersticas estatsticas em comum, como
mdia e desvio-padro das intensidades (cores) dos pixels. O procedimento
parte de um conjunto de pontos, chamados de sementes, e, a partir destes
pontos vai agrupando outros pontos utilizando uma vizinhana de influncia,
formando as regies Figura 8. Detalhes importantes desta tcnica so a
definio das sementes, que so pontos por onde o crescimento deve comear,
e a definio de um critrio de parada para o crescimento de regies.

Figura 8: Crescimento de regies. Em (a) pixels adjacentes com alguma caracterstica comum. Em (b)
incio do crescimento. (c) Estado intermedirio do crescimento (d) Estado completo. Fonte:(MELO,
2011)

23

2.1.4 Extrao de caractersticas

As caractersticas so extradas da imagem atravs de algoritmos. Dependendo da


caracterstica selecionada, o algoritmo pode detectar o centroide, rea, permetro, etc.
importante observar que nesta etapa a entrada ainda uma imagem, mas a sada
um conjunto de dados correspondentes quela imagem.

2.1.5 Reconhecimento e interpretao

Denominamos reconhecimento o processo de atribuio de um rtulo a um objeto


baseado em suas caractersticas, traduzidas por seus descritores. A tarefa de
interpretao, por outro lado, consiste em atribuir significado a um conjunto de objetos
reconhecidos.
Da extrao de caractersticas a pose relativa do objeto pode ser computada. Esta
pose deve ser computada no plano da imagem e mais tarde transformada para um
sistema global usando uma matriz de transformao adequada.

2.1.6 Base de dados

Todas as tarefas das etapas descritas acima pressupem a existncia de um


conhecimento prvio sobre o problema a ser resolvido armazenado em uma base de
conhecimento. Idealmente, esta base de conhecimento deveria no somente guiar o
funcionamento de cada etapa, mas tambm permitir a realimentao entre elas.

24

Esta integrao entre as vrias etapas atravs da base de conhecimento ainda um


objetivo difcil de alcanar e no est presente na maioria dos Sistemas de Viso
Artificial (SVAs) existentes atualmente.

2.2 TCNICAS DE CONTROLE DE SERVO VISUAL

O objetivo do controlador servo visual minimizar um erro e(t) tipicamente definido


como:
,

(1)

Onde s*(t) o vetor de caractersticas da imagem desejado e s(m(t),a) o vetor de


caractersticas da imagem atual, computadas a partir de um conjunto m(t) de pixels
extrados da imagem e de a, que representa as informaes conhecidas do sistema
como, por exemplo, parmetros intrnsecos da cmera ou o modelo 3D do objeto
(CHAUMETTE.; HUTCHINSON, 2006). Os vetores s* e s so designados de acordo
com a estratgia de controle adotada, podendo ser parmetros 3D estimados a partir
de modelos computacionais de objetos, ou 2D extrados diretamente da imagem.
Em Sanderson e Weiss (1980) introduziram uma importante classificao das
estruturas servo visuais, apresentadas nas figuras Figura 9 Figura 12.
As tcnicas de controle servo visual podem ser classificada quanto ao arranjo
hierrquico do controlador, quanto estratgia de controle e quanto configurao
do sistema de cmeras (BERNARDES, 2009).

25

Figura 9: Estrutura de controle servo visual direta baseada em posio (PBVS). Fonte: (CORKE,
1996)

Figura 10: Estrutura de controle servo visual direta baseada em imagem (IBVS). Fonte(CORKE, 1996)

Figura 11: Estrutura dinmica de controle servo visual indireta baseada em posio. Fonte: (CORKE,
1996).

26

Figura 12: Estrutura dinmica de controle servo visual indireta baseada em imagem. Fonte: (CORKE,
1996).

2.2.1 Quanto ao arranjo hierrquico

As duas possveis configuraes hierrquicas so direta e indireta (Look and Move).


Controle servo visual direto: usa as informaes do sistema visual para
controlar diretamente a estabilidade dos robs. Esta configurao direta
apresenta um enorme inconveniente em sistemas com dinmica no linear
devido baixa taxa de amostragem dos sistemas de viso computacional, o
que pode gerar grande instabilidade no sistema. Figura 9 e Figura 10.
Controle servo visual indireto: usa uma realimentao de junta. Esta
realimentao adicional garante uma maior preciso do posicionamento do
rob, entretanto, ocorre uma sobrecarga de processamento. Figura 11 e Figura
12.

27

2.2.2 Quanto estratgia de controle

Basicamente se destacam duas metodologias:


Baseado em posio: as caractersticas extradas da imagem so usadas em
conjunto com um modelo geomtrico do objeto a fim de determinar a pose do
objeto em relao cmera. Assim, essa estratgia toma como referncia a
ser seguida a pose ou modelo 3D final desejado. importante que os
parmetros do modelo sejam bem definidos, pois um pequeno erro na
mensurao da imagem pode implicar em grandes diferenas na posio
estimada (CHAUMETTE; HUTCHINSON, 2006). Figura 9 e Figura 11.
Baseado em imagem: a determinao da pose eliminada e o controle
realizado diretamente a partir das caractersticas extradas das imagens. Isto
feito minimizando a diferena entre os parmetros extrados da imagem atual e
de uma imagem final de referncia. Essa estratgia apresenta menor custo
computacional, alm de ser robusta aos erros da modelagem e calibrao da
cmera. Por outro lado, pode implicar em maior dificuldade de estabilizao em
um problema de controle potencialmente complexo e no linear devido
ausncia

de

um

modelo

tridimensional

do

objeto

(CHAUMETTE;

HUTCHINSON, 2006)(BERNARDES, 2009) Figura 10 e Figura 12.

2.2.3 Quanto a configurao do sistema de cmeras

O sistema pode ser Monocular (uma cmera), Binocular ou Estreo (duas Cmeras)
ou Redundante (mais de duas cmeras). Alm disso a cmera pode estar fixa em um
ponto ou embarcada no rob, no sendo os dois sistemas excludentes. Quando a
cmera esta embarcada preciso descrever como o movimento do rob afeta a
posio da cmera em relao ao alvo. Este sistema possui uma viso mais precisa
da cena, principalmente para situaes de aproximao, como docking, por exemplo.

28

O sistema com cmera fixa possui uma viso mais global, porm, com menor
preciso. Na figura abaixo tem-se um resumo dessas configuraes.

Figura 13: Configurao quanto ao sistema de cmera. Fonte: (MUOZ, 2011)

29

CARACTERISTICAS DE IMAGENS

Aps a aquisio da imagem necessrio utilizar tcnicas para identificar e descrever


as caractersticas contidas no quadro.

3.1 CARACTERISTICA

Uma caracterstica de imagem defina geralmente como qualquer relao


mensurvel em uma imagem (CORKE, 1996). So exemplos de caractersticas furos,
bordas, cantos, contornos e reas.
As caractersticas locais so padres da imagem que se diferenciam da regio
imediatamente vizinha. Elas so associadas a mudanas de uma ou mais
propriedades da imagem, como intensidade, cor e textura (TUYTELAARS;
MIKOLAJCZYK, 2008). As informaes so retiradas de uma regio em torno de uma
caracterstica local e convertidas em descritores. O conjunto de descritores forma uma
representao da imagem que permite a identificao de objetos nela contidos.
Porm, na fase de interpretao das caractersticas podem haver variaes, como por
exemplo, no ponto de vista, escala ou rotao. Portanto, as regies descritas pelos
pontos devem ser covariantes.
Regies covariantes, segundo Sivic e Zisserman (2003), so regies que devem
corresponder s mesmas caractersticas da imagem original sob pontos de vista
diferentes, ou seja, sua forma no fixa, mas adapta-se automaticamente, de modo
que as propores aproximadas da imagem original sejam mantidas.
Muitos dos algoritmos de viso computacional utilizam a deteco de uma
caracterstica como um passo inicial, desta forma, um grande nmero de detectores
de caractersticas tem sido desenvolvidos. Estes variam muito em funo do tipo de

30

caracterstica, complexidade computacional e a repetitividade. A seguir so explicados


cada tipo de caracterstica.

3.2 TIPOS DE CARACTERSTICAS

Alguns tipos mais comuns de caractersticas covariantes so sumarizadas neste


tpico.

3.2.1 Borda (Edges)

Bordas so pontos onde se encontram uma fronteira entre duas regies na imagem,
Figura 14. Em geral uma borda pode ser de uma forma arbitrria e talvez inclua
junes. Na pratica, uma borda normalmente definida como um conjunto de pontos
na imagem. Normalmente os algoritmos costumam colocar alguma restrio nas
propriedades da borda, como uma forma, suavidade e gradiente de valor afim de
aprimorar

resultado

final.

Localmente

bordas

possuem

unidimensional.

Figura 14: Resultado Edge Detection Fonte: (PATIN, 2003)

uma

estrutura

31

3.2.2 Cantos (Corners) / Pontos de interesse

Os termos cantos e pontos de interesse so utilizados como sinnimos e referem-se


tanto a pontos como caractersticas de uma imagem, Figura 15. O nome "canto" surgiu
desde algoritmos iniciais utilizados na deteco de bordas, e depois se analisou as
bordas para encontrar mudanas rpidas de direo (cantos). Estes algoritmos foram
desenvolvidos tambm para procurar nveis elevados de curvatura no gradiente de
imagem. Em seguida, foram notados que os cantos assim chamados tambm formam
algumas partes da imagem detectadas que no so cantos, no sentido tradicional (por
exemplo, uma pequena mancha brilhante sobre um fundo escuro pode ser detectado).
Esses pontos so frequentemente conhecidos como pontos de interesse, mas o
"canto" utilizado pela tradio.

Figura 15: Resultado Corner Detection Fonte: (HA, 2007)

32

3.2.3 Regies de interesse (Blobs)

Blobs fornecem uma descrio complementar das estruturas da imagem em termos


de regies, em oposio aos cantos que so pontos caractersticos, Figura 16. No
entanto, descritores blobs geralmente contm um ponto preferido (um mximo local
de uma resposta do operador ou de um centro de gravidade), o que significa que os
detectores de blobs podem tambm ser considerados como operadores de pontos de
interesse. Os detectores de blobs podem detectar reas de uma imagem, que so
muito suaves para serem detectadas por um detector de cantos.

Figura 16: Resultado de deteco de regies. Fonte:(KIXOR)

33

3.2.4 Ridges

Para objetos alongados, Ridges so uma ferramenta natural. Um descritor do tipo


ridges calcula, a partir de uma imagem de nveis de cinza, uma generalizao de um
eixo mediano, Figura 17. Do ponto de vista prtico, pode ser pensado como uma curva
unidimensional, que representa um eixo de simetria na imagem. Infelizmente, no
entanto, mais difcil de extrair essas caratersticas a partir de imagens gerais de
nveis de cinza do que os detectores de Bordas, Cantos ou Blobs. Mesmo assim,
descritores ridges so frequentemente usados para a extrao de rodovias em
imagens areas e para a extrao de vasos sanguneos em imagens mdicas.

Figura 17: Exemplo caractersticas do tipo Ridges. Fonte: (LINDEBERG, 1996)

3.3 TIPOS DE DETECTORES DE CARACTERSTICAS

Uma vez que as caractersticas principais so usadas como ponto de partida nos
algoritmos, estes, em geral, oferecem um bom resultado na deteco. A repetibilidade
o fator principal em um detector de caractersticas, ou seja, se a caracterstica
desejada ser detectada, ou no, em duais ou mais imagens diferentes na mesma
cena.

34

Ocasionalmente, quando um detector de caractersticas tem custo computacional


elevado e no h restries de tempo (o que no se aplica no escopo deste trabalho,
uma vez que o tempo de processamento fundamental para o sucesso), um algoritmo
de nvel mais elevado pode usado para guiar na identificao da cena.
A seguir a Tabela 1 mostra alguns dos detectores usados com a caracterstica que
capaz de capturarem de uma cena:
Tabela 1: Detectores de caractersticas e suas classificaes

DETECTOR
Canny (CANNY, 1986)
Sobel (CHIVAPREECHA; DEJHAN;
PIENVIJARNPONG, 2004)

CLASSE
Bordas

Cantos

Regies

X
X

Harris & Sthephens (HARRIS; STEPHENS, 1988)

SUSAN (MUYUN; MINGYI, 2006)

Shi & Tomasi (SHI; TOMASI, 1994)

FAST (ROSTEN, E.; DRUMMOND, 2005)(2006)

MSER (MATAS et al., 2004)

SURF(BAY et al., 2008)

3.4 DESCRIO DE CARACTERISTICAS

Aps a deteco dos pontos de interesse em uma imagem o procedimento habitual


extrair um descritor de cada um desses pontos, ou seja, descrev-los de forma
padronizada para serem utilizadas no processo de correlao.
O descritor um vetor de caractersticas extradas para um ponto e sua localizao
correspondente. O vetor de caractersticas deriva dos pixels ao redor do ponto de
interesse. Esses pixel descrevem e relacionam caractersticas especificas para um
nico ponto. O mtodo utilizado por um descritor depende do tipo de caracterstica
extrada.

35

4 SISTEMA DE VISO ARTIFICIAL

A Figura 18 apresenta a estrutura do SVA desenvolvido neste trabalho. A seguir so


debatidos cada elemento desta estrutura.

Figura 18: Sistema de viso artificial utilizado neste trabalho.

4.1 PROBLEMA E RESULTADOS

O problema consiste em elaborar um algoritmo capaz de realimentar visualmente um


controlador em um rob que manipula uma vlvula, apresentada na Figura 19,
permitindo que este tenha informaes acerca da rotao da vlvula. O resultado
esperado do algoritmo , ento, o ngulo de rotao da vlvula em relao a sua
posio inicial.

36

Figura 19: Vlvula do CT-3.

4.2 AQUISIO

A primeira etapa no SVA proposto a aquisio de imagens. Nesta etapa se definem


as condies de captura dos quadros. Os parmetros considerados nesta etapa so
descritos a seguir.

4.2.1 Dispositivo e imagem

Como dispositivo de captura utilizou-se uma cmera DSC-W510 da Sony. Este


modelo de cmera utiliza um sensor Charge-Coupled Device (CCD) e estabilizador de
imagem. A especificao da cmera apresentada na Tabela 2.

37

Tabela 2: Especificao da cmera Sony DSC-W510; Fonte: Manual do fabricante.

CARACTERSTICA

ESPECIFICAO

Dispositivo de imagem

CCD colorido de 7,79 mm (tipo 1/2,3) com


filtro de cor primria

Nmero total de pixels

12,1 Megapixels efetivo

Zoom ptico

4x; F = 4,7mm

Lente

Lentes Sony

Estabilizador de Imagem

Steady Shot

Tipo de Sensor

Super HAD CCD


Imagens 16 por 9 - 28-114mm

Distncia Focal

Imagens 4 por 3 - 26-105mm


Vdeo 4 por 3 - 26-105mm

Dimenses
Temperaturas de operao
Filmagem

9,6 5,4 1,99 cm (LAP).


0C a +40C
640 x 480(VGA) / 320 x 240 (QVGA)

As aquisies foram realizadas taxas de 29 quadros por segundo e ento


processadas em um computador XPS15 L502X, cujas configuraes se encontram na
Tabela 3.

38

Tabela 3: Especificao do computador XPS15 L502x utilizado no processamento das imagens;


Fonte: Manual do fabricante.

CARACTERSTICA
Processador
Sistema operacional

ESPECIFICAO
Intel Core i5-2450M CPU @
2.50GHz 2.50GHz
Windows 7 Ultimate 64-bit, x64-based
processor.

Memria
Placa de vdeo

6,0GB DDR3 1333MHz


Intel HD Graphics 3000 (Onboard)/
NVIDIA GeForce GT 525M (Offboard)

4.2.2 Posicionamento do dispositivo

O algoritmo parte da suposio de que a cmera est posicionada conforme um


padro fixo estabelecido para a aplicao. Ou seja, dada uma imagem padro (Figura
20) a cmera deve ser posicionada de forma capturar esta mesma imagem, em escala
e posio. As tcnicas de controle para o posicionamento satisfatrio da cmera, por
um manipulador robtico, descrito em (CHAUMETTE; HUTCHINSON, 2006)(2007).

Figura 20: Padro de imagem para posicionamento de cmera.

39

No caso deste trabalho, como no se dispunha de um sistema de manipulao e


controle para o posicionamento automtico da cmera, a mesma foi manualmente
posicionada sobre um suporte. Desta forma, no se pode garantir a preciso com
respeito ao padro, assim, foi necessrio alimentar manualmente a base de
conhecimento a cada teste.

4.2.3 Iluminao

A vlvula utilizada se encontra no ptio do CT III a cu aberto (Figura 21) e, portanto,


sujeita a diferentes intensidades de iluminao ao longo do dia. De forma a analisar a
robustez do algoritmo em relao a esta condio, realizou-se a aquisio de imagens
em 3 horrios ao longo do dia (9h, 12h e 16h)

Figura 21: Ptio do CT-3.

40

4.2.4 Resoluo

As imagens foram adquiridas em duas resolues tpicas da cmera.


640x480 pixels: imagens de melhor qualidade e que exigem maior
processamento;
320x240 pixels: imagens processadas mais rapidamente, porm com menos
informaes em cada quadro.

4.2.5 Fundo

Para avaliar a influncia do fundo nos resultados do algoritmo foram realizados testes
com o fundo normal (complexo) e utilizando um anteparo como fundo branco.

Figura 22: Aquisio em (a) fundo complexo e em (b) fundo branco.

41

4.2.6 Calibrao de cmera

Para estratgias de controle baseadas em posio (PBVS), a determinao da pose


do objeto em relao a cmera requerida para o clculo da cinemtica inversa do
rob. Por isso, a etapa de calibrao muito importante na implementao destas
tcnicas. Entretanto, no caso deste trabalho, em que a estratgia de controle
baseada em imagem (IBVS), a determinao da pose no relevante para o controle,
dispensando a necessidade da realizao da calibrao (CHONG, 2004).

4.3 EXTRAO E CORRELAO DE CARACTERSTICAS

A Figura 23 apresenta o pseudocdigo utilizado nesta etapa. Primeiramente so


detectados pontos caractersticos do quadro capturado atravs de detectores de
caractersticas. Em seguida so extradas as caractersticas que descrevem esses
pontos utilizando-se o extrator de descritores padro do MATLAB 2013 atravs da
funo extractFeatures. Estas so ento correlacionadas com caractersticas
presentes na base de conhecimento e, que foram extradas do padro na Figura 20.
Separam-se os pontos caractersticos que melhor descrevem este padro (inliers) e
contm informaes que os distinguem melhor dos demais. Por fim, selecionam-se
dez destes pontos para serem utilizados na prxima etapa. Caso no tenham sido
encontrados pontos inliers suficientes o algoritmo utiliza os pontos correlacionados
para fazer o rastreamento.

42

Figura 23: Pseudocdigo de extrao e correlao de caractersticas em um quadro capturado.

Os testes foram realizados com o detector de caractersticas SURF (Speeded Up


Robust Features). Ferramenta da toolbox de viso computacional do MATLAB 2013,
detectSURFFeatures.

4.4 INTERPRETAO

O ngulo de rotao da vlvula interpretado como o ngulo entre dois vetores com
origem no centroide da vlvula (informao na base de dados), direo, sentido e
mdulo com relao a um mesmo ponto caracterstico em quadros de imagem
diferentes. O primeiro vetor ( ) obtido no primeiro quadro capturado e o segundo ( )
encontrado nos quadros subsequentes. O ngulo entre os vetores dado pela
expresso:
.
.

Figura 24 - Vetores u e v obtidos e ngulo entre eles.

(2)

43

Os ngulos so calculados para todos os pontos caractersticos a cada quadro.


Considera-se como ngulo de rotao da vlvula o maior dos ngulos encontrados,
pois com o passar dos quadros algumas caractersticas se perdem, principalmente
por variaes de iluminao sobre o objeto, deixando de incrementar o valor dos
ngulos nestes pontos.
Abaixo apresentado o pseudocdigo de interpretao.

Figura 25: Pseudocdigo de interpretao dos pontos caractersticos para obteno do ngulo de
rotao da vlvula.

44

4.5 BASE DE CONHECIMENTO

uma base de dados que contm informaes preliminares necessrias ao


funcionamento do algoritmo. Estas informaes podem ter sido adquiridas atravs de
outros algoritmos ou manualmente. Neste trabalho foram consideradas duas
informaes:
1. Pontos caractersticos do objeto e caractersticas extradas destes pontos; e
2. Posio do centroide nas coordenadas cartesianas de aquisio das imagens.

4.6 RASTREAMENTO

A etapa de extrao e correlao de caractersticas executa inmero clculos


iterativos em cada pixel da imagem. A quantidade de clculos varia com o tipo de
detector de caractersticas e com o tamanho da imagem. A extrao e correlao de
caractersticas, caso fossem realizadas quadro a quadro, demandariam um tempo
computacional invivel para aplicaes em robtica. Para solucionar este problema
utilizamos um rastreador de pontos caractersticos, parte da toolbox de viso
computacional do MATLAB 2013. O rastreador funciona limitando a busca pelo ponto
caracterstico, em um quadro, pixels prximos a posio em que ele se encontrava
no quadro anterior. Abaixo tem-se o pseudocdigo do rastreador:

45

Figura 26: Pseudocdigo do rastreador de pontos caractersticos.

A etapa de extrao e correlao de caracterstica realizada apenas no primeiro


quadro capturado para obteno dos pontos caractersticos que o rastreador deve
seguir. O rastreador criado a partir da funo vision.PointTracker.

46

RESULTADOS

O sucesso das tcnicas de controle visual est definido pela sua capacidade de
cumprir integralmente a tarefa para a qual foi planejado. Neste contexto, cada etapa
do processo deve desempenhar seu papel com maior preciso possvel. Para
identificar as fraquezas e virtudes dos sistemas de controle implementados durante
esta pesquisa foram feitos testes de cada uma das etapas envolvida (MUOZ, 2011).

5.1 TESTES EXECUTADOS

Foram executados ao todo nove testes, com o objetivo de avaliar o algoritmo em


diferentes condies de iluminao (4.2.3), resoluo (4.2.4) e fundo (4.2.5). A Tabela
4 apresenta os parmetros de cada teste executado.
Tabela 4: Testes executados.

TESTE HORA RESOLUO

FUNDO

9h

640x480

Complexo

12h

640x480

Complexo

16h

640x480

Complexo

9h

640x480

Branco

12h

640x480

Branco

16h

640x480

Branco

9h

320x240

Branco

12h

320x240

Branco

16h

320x240

Branco

47

5.2 EXTRAO E CORRELAO DE CARACTERSTICAS

A tabela abaixo apresenta a quantidade de pontos caractersticos encontrados em


cada etapa da extrao e correlao de caractersticas (4.3). Imagens com as
informaes contidas na Tabela 4 encontram-se no Apndice bB.
Tabela 5: Quantidade de pontos encontrados na extrao e correlao de caractersticas (4.3); coluna
TESTE conforme Tabela 4.

TESTE

QUANTIDADE DE PONTOS
Caractersticos

Correlacionados

Inliers

623

438

13

347

391

13

241

45

271

50

34

222

151

22

164

24

16

Percebe-se que em fundo complexo, testes 1 a 3, foram detectados maior quantidade


de pontos caractersticos. Isso ocorre pois o detector de caractersticas no distingue
pontos do objeto e do fundo. No caso do fundo branco nota-se a incidncia maior de
pontos sob a condio de iluminao direta devido a presena de sobras.
Nota-se uma baixa quantidade de pontos correlacionados no caso de fundo complexo
e/ou sob condies de iluminao direta (9h). A baixa quantidade de pontos
correlacionados reflete-se na quantidade de inliers.
No caso de fundo complexo, a baixa quantidade de pontos correlacionados ocorre
pois o algoritmo relaciona caractersticas do padro a caractersticas do fundo, como
pode-se notar na Figura 27. J sob iluminao direta, acontece uma suavizao da
textura da vlvula, minimizando as diferenas entre os pontos caractersticos.

48

Figura 27: Pontos correlacionados no teste 1.

A reduo da quantidade de pixels na imagem, testes 7 a 9, tambm reduz a


quantidade de informao contida na mesma, ocorrendo no s a deteco de menos
pontos caractersticos, como a qualidade destes pontos reduzida levando a uma
menor quantidade de pontos correlacionados.
Ao fim desta etapa o algoritmo seleciona pontos para serem rastreados e
interpretados na prxima etapa a fim de se obter o ngulo da vlvula. Estes pontos
so apresentados na Tabela 11 no Apndice bB.

5.3 INTERPRETAO

Esta etapa visa interpretar a posio dos pontos caractersticos no primeiro quadro
capturado, selecionados na etapa de extrao e correlao de caractersticas (4.3) e,
rastreados (4.6) nos quadros subsequentes. A Tabela 6 apresenta os ngulos
encontrados, ao final da aquisio, para cada ponto rastreado.

49

Tabela 6: ngulos finais calculados conforme 4.4 em cada ponto rastreado; coluna TESTE conforme
Tabela 4.

TESTE

PONTOS
1

23,12

0,04

0,04

0,04

0,07

10

40,63 101,75

0,88

0,06

0,07

51,69 26,02 39,80 39,80 39,80 39,80 21,44 21,44

11,47

10,77

39,03 75,65 75,65 75,65 75,65 31,99 31,99

8,22

4,81

25,81 25,81 81,00 68,44 94,45 94,45

64,88

91,95

78,28 78,28 78,28 78,28 83,43 65,70 58,23 27,92

90,24

88,61

93,97 87,19 79,03 92,19 93,76 75,25 78,42 92,61

25,70

36,28

36,28 36,28 89,50 89,50

74,31

74,31

77,40 77,40 78,87 35,04 60,06 67,08 45,27 94,17

87,05

92,83

80,52 66,80 77,86 76,73 96,85 86,04 78,43 94,31

0,58

0,58

Na tabela acima nota-se que os ngulos calculados para cada ponto em um mesmo
teste so discrepantes, isto pode ser verificado na Tabela 7, pelo desvio padro.
Tabela 7: Resultados encontrados pelo algoritmo; coluna TESTE conforme Tabela 4.

DESVIO

TESTE

MDIA

20.82

36.00

101.75

27.99

17.54

51.69

47.54

28.22

75.65

40.42

39.69

94.45

70.53

17.91

91.95

87.13

7.00

93.97

52.26

29.14

89.50

68.39

17.40

94.17

83.74

9.38

96.85

PADRO

MXIMO

50

Se as caractersticas de um ponto rastreado no so suficientemente invariantes com


a iluminao ou no o distinguem bem dos demais, o rastreador pode no conseguir
encontra-lo no quadro subsequente, ou ainda confundi-lo com outro pixel, do prprio
objeto ou do fundo. O ngulo calculado a partir destes pontos no varia,
necessariamente, com o ngulo de rotao da vlvula.
Os testes com maior ocorrncia de pontos inliers, 6 e 9, apresentaram desvio padro
menor, pois as caractersticas destes pontos possuem informaes que os definem
melhor.

Figura 28: Inliers encontrados no teste 6.

5.4 MEDIDA DE ERRO

A Tabela 8 apresenta os ngulos calculados pelo algoritmo, aferidos manualmente a


partir do primeiro e ltimo quadros capturados (Apndice C - POntos caractersticos
aferidos manualmente) e o erro percentual dos valores encontrados pelo algoritmo. O
maior entre os ngulos calculados para os pontos rastreado (Mximo, Tabela 7)
considerado como o ngulo de rotao da vlvula encontrado pelo algoritmo

51

Tabela 8: ngulos de rotao da vlvula aferidos automaticamente, manualmente e erro percentual;


coluna TESTE conforme Tabela 4.

NGULO CALCULADO ()
TESTE

ERRO (%)
Algoritmo

Manualmente

101.75

85.04

19.65

51.69

95.33

45.78

75.65

85.83

11.86

94.45

91.76

2.93

91.95

88.22

4.23

93.97

90.43

3.91

89.50

93.47

4.25

94.17

94.72

0.58

96.85

89.96

7.66

Nota-se, da Tabela 8, que os testes realizados com fundo complexo, 1 a 3, no


obtiveram bons resultados. Nos testes com fundo branco, 4 a 9, os resultados foram
razoveis, atendendo ao que propunha.
No se percebe influncia da variao de iluminao e da resoluo nos resultados
finais encontrados.

52

CONCLUSO

Na etapa de extrao a reduo da resoluo da imagem capturada tem como


consequncia a reduo da quantidade de pontos extrados da cena. J na correlao
a iluminao um parmetro importante, pois sob luz direta so correlacionados
menos pontos. Muitos pontos no foram bem rastreados, gerando discrepncias entre
os ngulos calculados a partir deles.
No nota-se influncia da variao de iluminao e da reduo de resoluo nos
resultados finais obtidos. O fundo o principal parmetro a ser considerado, pois
implica em erros que no permitem a aplicao do algoritmo.
Sugere-se como trabalhos futuros:
1. Criao de um banco de banco dados com padres de referncia sujeitos a
iluminaes diferentes;
2. Utilizao de um rastreador de pontos caractersticos mais robusto;
3. Utilizao de tcnicas de remoo de fundo;
Simulao de um sistema de controle robtico no Simulink;
4. Implementao em outras linguagens computacionais.

53

REFERENCIAS

1. ANDERSSON, Russell Lennart. Real time expert system to control a robot pingpong player. 1987.
2. BAUERMANN, Gabriela. Medio de rea foliar. Disponvel em:
<http://www.imagesurvey.com.br/2009/02/tutorial-imagej-medicao-de-areafoliar/>. Acesso em: 28 abr. 2013.
3. BAY, Herbert. Speeded-Up Robust Features (SURF). Computer Vision and
Image Understanding, v. 110, n. 3, p. 346359, jun. 2008.
4. BERNARDES, Mariana Costa. Controle servo-visual para aproximao de
portas por robs mveis equipados com duas cmeras. 2009. Dissertao de
Mestrado Universidade de Braslia, Braslia, 2009.
5. BUKOWSKI, R. et al. Robot hand-eye coordination rapid prototyping
environment. 1991, [S.l: s.n.], 1991.
6. BUTTAZZO, Giorgio C.; ALLOTTA, Benedetto; FANIZZA, Felice P.
Mousebuster: a robot system for catching fast moving objects by vision. 1993,
[S.l: s.n.], 1993. p. 932937.
7. CANNY, John. A computational approach to edge detection. Pattern Analysis
and Machine Intelligence, IEEE Transactions on, n. 6, p. 679698, 1986.
8. CHAUMETTE, F.; HUTCHINSON, S. Visual servo control Part I: Basic
approaches. IEEE Robotics Automation Magazine, v. 13, n. 4, p. 82 90, dez.
2006.
9. CHAUMETTE, FRAN\cCOIS; HUTCHINSON, SETH. Visual servo control. II.
Advanced approaches [Tutorial]. Robotics & Automation Magazine, IEEE, v. 14,
n. 1, p. 109118, 2007.
10. CHIVAPREECHA, Sorawat; DEJHAN, Kobchai; PIENVIJARNPONG,
Chanchai. Hardware Implementation of Sobel-Edge Detection Distributed
Arithmetic Digital Filter. 2004, [S.l: s.n.], 2004. p. 284289.
11. CHONG, MOK HENG. Visual servoing. 2004.
12. CORKE, Peter I. Visual Control of Robots: high-performance visual servoing.
[S.l.]: Research Studies Press Taunton, Somerset, England, 1996.
13. DICKMANNS, Ernst Dieter; GRAEFE, Volker. Applications of dynamic
monocular machine vision. Machine vision and Applications, v. 1, n. 4, p. 241
261, 1988.

54

14. FSSLER, H.; BEYER, Horst A.; WEN, J. A robot ping pong player: optimized
mechanics, high perfromance 3D vision, and intelligent sensor control.
Robotersysteme, v. 6, n. 3, p. 161170, 1990.
15. HA, Jong. Automatic detection of calibration markers on a chessboard. 2007
16. HARRELL, R. C.; SLAUGHTER, D. C.; ADSIT, P. D. A fruit-tracking system for
robotic harvesting. Machine Vision and Applications, v. 2, n. 2, p. 6980, 1989.
17. HARRIS, Chris; STEPHENS, Mike. A combined corner and edge detector.
1988, [S.l: s.n.], 1988. p. 50.
18. HASHIMOTO, Hideki et al. A control scheme of visual servo control of robotic
manipulators using artificial neural network. 1989, [S.l: s.n.], 1989. p. 6869.
19. HILL, J.; PARK, W. T. Real time control of a robot with a mobile camera. In:
INTERNATIONAL SYMPOSIUM ON INDUSTRIAL ROBOTS, 1979,
Washington. Anais... Washington: [s.n.], 1979.
20. KIXOR,
Taylor.
Blob
detection.
Disponvel
em:
<http://www.kixor.net/school/2008spring/comp776/assn1/>. Acesso em: 28
abr. 2013.
21. KUPERSTEIN, Michael. Generalized neural model for adaptive sensory-motor
control of single postures. 1988, [S.l: s.n.], 1988. p. 140144.
22. LINDEBERG, Tony. Scale-space: A framework for handling image structures at
multiple scales. Disponvel em: <http://www.nada.kth.se/~tony/cernreview/cern-html/node17.html>. Acesso em: 28 abr. 2013.
23. MARENGONI, M.; STRINGHINI, S.. Tutorial: Introduo Viso
Computacional usando OpenCV. Revista de Informtica Terica e Aplicada, v.
16, n. 1, p. 125160, 8 mar. 2010.
24. MARQUES FILHO, O.; VIEIRA NETO, Hugo. Processamento digital de
imagens. Rio de Janeiro: BRASPORT, 1999.
25. MATAS, Jir et al. Robust wide-baseline stereo from maximally stable extremal
regions. Image and vision computing, v. 22, n. 10, p. 761767, 2004.
26. MEL, Bartlett W. Connectionist robot motion planning: a neurally-inspired
approach to visually-guided reaching. [S.l.]: Academic Press Professional, Inc.,
1990.
27. MELO, Nat. Abordagens do processo de Segmentao: Limiarizao,
Orientada a Regies e Baseada em Bordas. Disponvel em:
<http://www.dsc.ufcg.edu.br/~pet/jornal/setembro2011/materias/recapitulando.
html>. Acesso em: 29 abr. 2013.

55

28. MILLER III, W. Sensor-based control of robotic manipulators using a general


learning algorithm. Robotics and Automation, IEEE Journal of, v. 3, n. 2, p. 157
165, 1987.
29. MUOZ, Gloria Liliana Lpez. Anlise comparativa das tcnicas de controle
servo-visual de manipuladores robticos baseadas em posi\cco e em imagem.
2011.
30. MUYUN, Weng; MINGYI, He. Image feature detection and matching based on
SUSAN method. 2006, [S.l: s.n.], 2006. p. 322325.
31. ORLANDI, J. G. N. Sistema de viso a laser para mapeamento de superfcie
de robos quadrpedes. 2008. UFES, Vitria, 2008.
32. PAPANIKOLOPOULOS, N. P.; KHOSLA, P. K. Shared and traded telerobotic
visual control. 1992, [S.l: s.n.], 1992. p. 878885.
33. PATIN, Frdric. An introduction to Digital Image Processing - Graphics
programming
and
theory.
Disponvel
em:
<http://www.gamedev.net/page/resources/_/technical/graphics-programmingand-theory/an-introduction-to-digital-image-processing-r2007>. Acesso em: 28
abr. 2013.
34. ROSEN, Charles. Machine Intelligence Research Applied to Industrial
Automation: Sixth Report. [S.l.]: Standard Research Institute, 1976.
35. ROSTEN, E.; DRUMMOND, T. Fusing points and lines for high performance
tracking. 2005, [S.l.]: IEEE, 2005. p. 15081515 Vol. 2.
36. ROSTEN, Edward; DRUMMOND, Tom. Machine Learning for High-Speed
Corner Detection. In: LEONARDIS, ALE; BISCHOF, HORST; PINZ, AXEL
(Org.). Computer Vision ECCV 2006. Berlin, Heidelberg: Springer Berlin
Heidelberg, 2006. v. 3951. p. 430443.
37. SAKAGUCHI, T. et al. Motion planning and control for a robot performer. 1993,
[S.l: s.n.], 1993. p. 925931.
38. SANDERSON, A. C.; WEISS, L. E. Image-based visual servo control using
relational graph error signals. Proc. ieee, v. 1074, 1980.
39. SHI, Jianbo; TOMASI, Carlo. Good features to track. 1994, [S.l: s.n.], 1994. p.
593600.
40. SHIRAI, Y.; INOUE, H. Guiding a robot by visual feedback in assembling tasks.
Pattern Recognition, v. 5, n. 2, p. 99108, jun. 1973.
41. SIVIC, Josef; ZISSERMAN, Andrew. Video Google: A text retrieval approach to
object matching in videos. 2003, [S.l: s.n.], 2003. p. 14701477.

56

42. TENDICK, Frank et al. A supervisory telerobotic control system using modelbased vision feedback. 1991, [S.l: s.n.], 1991. p. 22802285.
43. TUYTELAARS, Tinne; MIKOLAJCZYK, Krystian. Local invariant feature
detectors: a survey. Found. Trends. Comput. Graph. Vis., v. 3, n. 3, p. 177280,
jul. 2008.
44. YUAN, Joseph S; MACDONALD, Richard A; KEUNG, Felix HN. Telerobotic
tracker. . [S.l: s.n.]. , jul. 1990
45. ZHANG, D. B.; VAN GOOL, Luc; OOSTERLINCK, Andr. Stochastic predictive
control of robot tracking systems with dynamic visual feedback. 1990, [S.l: s.n.],
1990. p. 610615.

57

APNDICE A - ALGORITMO

%%% BASE DE DADOS


C = [430,248]; % Centroide nas coordenadas da aquisio de imagens
Template = rgb2gray(imread('template.jpg')); % Carrega o padro
templatePoints = detectSURFFeatures(Template); % Encontra pontos
caractersticos do padro
[templateFeatures, templateValid_points] = extractFeatures(Template,
templatePoints);% Extrai caractersticas do padro
% FIM DA BASE DE DADOS
%%% AQUISIO
videoFReader = vision.VideoFileReader('video.mp4');%%% Carrega video/cmera
firstFrame = rgb2gray(step(videoFReader));%%% Captura o primeiro frame
% (CONTINUA)
%%% EXTRAO E CORRELAO
firstPoints = detectSURFFeatures(firstFrame); % Encontra pontos
caractersticos do quadro
[firstFeatures, firstValid_points] = extractFeatures(firstFrame,
firstPoints); % Extrai as caractersticas dos pontos encontrados
indexPairs = matchFeatures(templateFeatures, firstFeatures); % Correlaciona
os pontos caractersticos
templateMatched_points = templateValid_points(indexPairs(:, 1), :);%
Localizao dos pontos correlacionados, no primeiro quadro
firstMatched_points = firstValid_points(indexPairs(:, 2), :); % Localizao
dos pontos correlacionados, no padro
[tform,template_inliers,first_inliers]=
estimateGeometricTransform(templateMatched_points,firstMatched_points,'affi
ne'); % Encontra os inliers
[row,col] = size(first_inliers.Location);
if row>10
first2follow = first_inliers.selectStrongest(10); % Seleciona os 10
pontos para serem rastreados na prxima etapa
c =10;
else
first2follow = firstMatched_points.selectStrongest(10); % Seleciona os
10 pontos para serem rastreados na prxima etapa
c = row;
end
%FIM DA ETAPA DE EXTRAO E CORRELAO
%%% INTERPRETAO
for i = 1:c
u(i,:) = [first2follow.Location(i,1)-C(1), first2follow.Location(i,2)C(2)]; % Cria vetor u para o ponto no primeiro quadro
end
%(CONTINUA)
%%% RASTREAMENTO
markerInserter =
vision.MarkerInserter('Shape','Plus','BorderColor','White'); % Cria uma
marca para acompanhas os pontos na imagem (DESNECESSRIO)
tracker = vision.PointTracker('MaxBidirectionalError', 1); % Cria um
rastreador

58

initialize(tracker, first2follow.Location, firstFrame); % Inicializa o


rastreador
% CONTINUA
%%% AQUISIO (CONTINUAO)
while ~isDone(videoFReader) % Inicia a captura de frames
videoFrame = rgb2gray(step(videoFReader)); % Captura um frame e
tranforma o quadro para escala de cinza
% CONTINUA
%%% RASTREAMENTO(CONTINUAO)
[points, validity] = step(tracker,
no frame
% FIM DO RASTREAMENTO

videoFrame); % Rastreia os pontos

%%% INTERPRETAO (CONTINUAO)


for i = 1:c
v(i,:) = [points(i,1)-C(1), points(i,2)-C(2)]; % Cria vetor v para o
ponto no quadro atual
CosTheta = dot(u(i,:),v(i,:))/(norm(u(i,:))*norm(v(i,:))); % Calcula
o coseno do ngulo entre o vetor u e v
ThetaInDegrees(i) = acos(CosTheta)*180/pi; % Calcula o ngulo em
graus
end
Ang = max(ThetaInDegrees)
% FIM DA INTERPRETAO
%%% AQUISIO (CONTINUAO)
end
release(videoPlayer); % Libera o video
release(videoFReader); % Libera o player
% FIM DA AQUISIO

59

APNDICE B - PONTOS OBTIDOS NA EXTRAO E CORRELAO DE


CARACTERISTICAS

Tabela 9: Pontos correlacionados; coluna TESTE conforme Tabela 4. (PARTE 1 1/3)

TESTE

CORRELAO

60

Tabela 9: Pontos correlacionados; coluna TESTE conforme Tabela 4. (CONTINUAO 2/3)

TESTE

CORRELAO

61

Tabela 9: Pontos correlacionados; coluna TESTE conforme Tabela 4. (CONTINUAO 3/3)

TESTE

CORRELAO

62

Tabela 10: Pontos Inliers; coluna TESTE conforme Tabela 4. (PARTE 1 1/3)

TESTE

INLIERS

63

Tabela 10: Pontos Inliers; coluna TESTE conforme Tabela 4. (PARTE 1 1/3)
(CONTINUAO 2/3)

TESTE

INLIERS

64

Tabela 10: Pontos Inliers; coluna TESTE conforme Tabela 4. (PARTE 1 1/3) (CONTINUAO
3/3)

TESTE

INLIERS

65

Tabela 11: Pontos rastreados; coluna TESTE conforme Tabela 4. (Parte 1 1/3)

TESTE

PONTOS RASTREADOS

66

Tabela 11: Pontos rastreados; coluna TESTE conforme Tabela 4. (Parte 1 1/3) (CONTINUAO
2/3)

TESTE

PONTOS RASTREADOS

67

Tabela 11: Pontos rastreados; coluna TESTE conforme Tabela 4. (Parte 1 1/3) (CONTINUAO
3/3)

TESTE

PONTOS RASTREADOS

68

APNDICE C - PONTOS CARACTERSTICOS AFERIDOS MANUALMENTE

Tabela 12: Pontos caractersticos aferidos manualmente no primeiro e ltimo quadros capturados no teste; coluna TESTE conforme
Tabela 4. (PARTE 1 - 1/9)

TESTE

PRIMEIRO QUADRO

LTIMO QUADRO

69

Tabela 12: Pontos caractersticos aferidos manualmente no primeiro e ltimo quadros capturados no teste; coluna TESTE conforme
Tabela 4. (CONTINUAO - 2/9)

TESTE

PRIMEIRO QUADRO

LTIMO QUADRO

70

Tabela 12: Pontos caractersticos aferidos manualmente no primeiro e ltimo quadros capturados no teste; coluna TESTE conforme
Tabela 4. (CONTINUAO - 3/9)

TESTE

PRIMEIRO QUADRO

LTIMO QUADRO

71

Tabela 12: Pontos caractersticos aferidos manualmente no primeiro e ltimo quadros capturados no teste; coluna TESTE conforme
Tabela 4. (CONTINUAO - 4/9)

TESTE

PRIMEIRO QUADRO

LTIMO QUADRO

72

Tabela 12: Pontos caractersticos aferidos manualmente no primeiro e ltimo quadros capturados no teste; coluna TESTE conforme
Tabela 4. (CONTINUAO - 5/9)

TESTE

PRIMEIRO QUADRO

LTIMO QUADRO

73

Tabela 12: Pontos caractersticos aferidos manualmente no primeiro e ltimo quadros capturados no teste; coluna TESTE conforme
Tabela 4. (CONTINUAO - 6/9)

TESTE

PRIMEIRO QUADRO

LTIMO QUADRO

74

Tabela 12: Pontos caractersticos aferidos manualmente no primeiro e ltimo quadros capturados no teste; coluna TESTE conforme
Tabela 4. (CONTINUAO -7/9)

TESTE

PRIMEIRO QUADRO

LTIMO QUADRO

75

Tabela 12: Pontos caractersticos aferidos manualmente no primeiro e ltimo quadros capturados no teste; coluna TESTE conforme
Tabela 4. (CONTINUAO - 8/9)

TESTE

PRIMEIRO QUADRO

LTIMO QUADRO

76

Tabela 12: Pontos caractersticos aferidos manualmente no primeiro e ltimo quadros capturados no teste; coluna TESTE conforme
Tabela 4. (CONTINUAO - 9/9)

TESTE

PRIMEIRO QUADRO

LTIMO QUADRO

Você também pode gostar