Você está na página 1de 8

Viso Computacional

Luiz Romrio Santana Rios1


1Departamento de Cincia da computao Universidade Federal da Bahia (UFBA)
Salvador, Bahia, Brasil
luizromario@dcc.ufba.br

Abstract. Computer Vision is the field in computing that studies ways of


extracting information from the objects in an image, such as their shapes,
speeds, etc.. It was theorized a long time ago, but just recently, when
computers could process large amounts of data like images, it started to
develop for practical use. Still, there's no standard formulation or solution for
the Computer Vision problem.

Resumo. A Viso Computacional o campo da computao que estuda


maneiras de extrair informao dos objetos de uma imagem, tais como suas
formas, velocidades, etc.. Foi teorizado h bastante tempo, mas comeou a ser
empregado na prtica apenas recentemente, quando os computadores se
tornaram capazes de processar quantidades de dados to grandes quanto
imagens. Ainda assim, no h formulao ou soluo padres para o
problema da Viso Computacional.

1. Introduo
Viso computacional o estudo da extrao de informao de uma imagem; mais
especificamente, a construo de descries explcitas e claras dos objetos em uma
imagem [Ballard and Brown, 1982]. Difere do processamento de imagens porque,
enquanto ele se trata apenas da transformao de imagens em outras imagens, ela trata
explicitamente da obteno e manipulao dos dados de uma imagem e do uso deles
para diferentes propsitos.

1.1. Campos relacionados


Diversos campos esto relacionados viso computacional. O mais notvel a prpria
viso biolgica, no qual a viso computacional baseado e que, logicamente,
diretamente relacionado. Na verdade, justo dizer que essas so reas anlogas, uma
para a computao, outra, para a biologia. Afinal, enquanto o ltimo estuda os processos
psicolgicos envolvidos na formao e percepo de imagens pelos seres vivos, o
primeiro estuda os processos e algoritmos usados por mquinas para enxergar. Estudos
interdisciplinares nas reas vm se mostrando bastante proveitosos.
Alm desse campo, o campo de inteligncia artificial, principalmente as reas de
aprendizado de mquina e de reconhecimento de padres, muito empregado para o
entendimento da informao gerada a partir da imagem. Outro campo importante a
prpria fsica, que explica como radiao numa certa frequncia sensibiliza sensores
ticos e como sua trajetria se comporta ao atingir um anteparo. Outros campos tambm
relacionados so o processamento de sinais, processamento de imagens, viso de
mquina, entre outros. A figura 1 mostra um esquema dos relacionamentos da viso
computacional com outros campos.
Figura 1. reas relacionadas viso computacional

1.2. Dificuldades e desafios


O reconhecimento de imagens requer bastante conhecimento prvio sobre o mundo e
bastante capacidade de julgamento para se fazer concluses sobre os dados da imagem
e, ento, tomar uma ao adequada s necessidades do agente. Por exemplo, um agente
de controle de qualidade precisa ter um conhecimento prvio sobre o que uma pea
fora da especificao e precisa, para isso, conhecer a especificao e, tambm, saber
que ao tomar para essa pea descarte, conserto, etc..
Mas, para julgar os objetos e dados numa imagem, o agente precisa, antes,
extra-los da imagem. E isso inclui, entre outras coisas, saber remover o rudo das
imagens, saber lidar com diferentes configuraes de iluminao e sombra, muitas vezes
numa mesma imagem por exemplo, saber que o cinza escuro na sombra e o branco no
claro so a mesma cor, a noo de perspectiva, perceber profundidade a partir de uma
viso estereoscpica e das configuraes das sombras, entre outros. Mas,
principalmente, reconhecer e isolar os objetos, os elementos realmente relevantes ao
contexto, de uma dada cena.
Como ainda se sabe pouco sobre o funcionamento dessas tcnicas de viso nos
seres vivos, um enorme desafio pensar em maneiras de implement-las de maneira
vivel usando um computador. E, apesar de todo o estudo realizado na rea, ainda no
existe uma soluo definitiva, nica, para o problema da viso computacional. Tudo o
que se tem so algumas definies gerais e solues esparsas e especficas para algum
problema (leitura de texto, reconhecimento facial, etc.), pois, novamente, pouco se sabe
sobre como a viso funciona.
Sero explicadas, a seguir, as diversas tcnicas conhecidas pela computao para
implementar viso computacional em agentes inteligentes e, ento, diversas aplicaes
prticas. bom notar que aqui ser feita apenas uma anlise qualitativa da viso
computacional e de seus mtodos, j que se trata de um campo bastante extenso e
relativamente complexo.
2. Problemas da viso computacional
2.1. Deteco de bordas
Um dos problemas mais importantes no reconhecimento de objetos em imagens a
deteco de bordas. Basicamente, consiste em detectar regies da imagem nas quais
ocorre uma mudana abrupta de brilho na imagem, que, geralmente, representam uma
mudana das caractersticas do que est sendo visto.
um problema importante porque mudanas abruptas no brilho da imagem, sob
a percepo natural humana da viso, podem representar descontinuidade de
profundidade uma parede atrs de outra, por exemplo, geralmente mais escura;
descontinuidade da orientao da superfcie uma face da parede que est mais
perpendicular iluminao mais clara que uma face que est paralela; mudanas nas
propriedades do material pedras pretas e brancas no cho so pedras diferentes e
variaes na iluminao da cena a pedra cinza do lado de fora da casa e a pedra preta
do lado de dentro so, na verdade, da mesma cor, alm de outras caractersticas como
reflexo e refrao, por exemplo.
Em relao a esses aspectos, uma representao por bordas bem fiel s
propriedades fsicas do mundo. Alm disso, a representao do mundo bidimensional
por linhas unidimensionais tem a vantagem de ser compacta, pois leva em conta apenas
os detalhes relevantes da imagem.

Figura 2. Exemplo de reconhecimento de borda: esquerda, imagem original;


direita, as bordas da imagem

Entretanto, o reconhecimento de bordas claramente no trivial. Uma imagem


digital comum tirada do mundo discreta, geralmente. Logo, no h uma noo clara do
que borda ou no, j que borda singnifica descontinuidade da imagem e no existe
uma definio natural do que descontinuidade em uma funo discreta. Um exemplo
a Figura 3 abaixo. medida que as imagens so borradas, fica cada vez mais difcil
definir suas bordas, j que imagens mais borradas so mais contnuas que imagens
ntidas. Por causa disso, bordas extradas de imagens reais esto a problemas como a
fragmentao, quando as bordas de uma mesma curva esto desconectadas, e bordas
falsas, quando so criadas bordas para elementos irrelevantes. Esses problemas podem
afetar a forma como os dados extrados so analisados, frequentemente levando a
interpretaes falsas sobre o contedo.
2.2. Reconhecimento de objetos
O reconhecimento de objetos a tarefa de reconhecer, numa cena, um objeto
predefinido na base de conhecimento ou um aprendido. Existem diversas formas de
reconhecer objetos numa cena, mas, geralmente, os mtodos empregados usam
templates para gerar o conjunto de bordas do objeto requerido e, ento, compara suas
bordas com as bordas da imagem (mtodos baseados em aparncia). Outro conjunto de
mtodos bastante comum busca por semelhanas entre as caractersticas do modelo do
objeto e as da imagem (mtodos baseados em caracterstica).

Figura 3. Duas imagens diferentes borradas a diferrentes intensidades e suas


respectivas bordas.

Figura 4. Reconhecimento de objetos por meio de mtodo baseado em


caracterstica.

2.3. Viso estereoscpica


A viso estereoscpica computacional a extrao de dados 3D de uma imagem digital.
Ao analisar diversas imagens diferentes do mesmo objeto tiradas de ngulos diferentes,
possvel, ao analisar as mudanas nas perspectivas de uma imagem para a outra, obter
uma representao tridimensional limitada do objeto, dando a sensao de profundidade
a ele. Esse processo anlogo estereopsia nos animais, que so capazes de perceber
profundidade conbinando as imagens que chegam em ambos os olhos.
Tradicionalmente, so usadas duas cmeras, em analogia aos olhos humanos,
para capturar imagens levemente diferentes do mesmo objeto. Como as duas imagens
geradas esto em pontos diferentes do espao, diferentes pontos do mesmo objeto
estaro em localizaes diferentes dependendo da sua distncia ao referencial de
observao objetos mais prximos se movem mais rapidamente com o movimento da
cmera. A diferena das posies dos diversos pontos do objeto , ento, usada para
gerar o modelo tridimensional do objeto. bom notar que, para medir essa diferena,
necessrio resolver o problema da correspondncia, isto , determinar qual ponto em
uma imagem resultado da projeo do mesmo ponto na outra imagem [Russel and
Norvig, 2010].

Figura 5. Duas projees diferentes do mesmo objeto formam uma


representao tridimensional dele, de acordo com as disparidades entre elas.

Uma forma parecida de perceber profundidade nas imagens, mas que no precisa
de mais de uma cmera, a paralaxe. parecida com a estereoscopia, mas, em vez de
usar diversas projees do mesmo objeto no mesmo instante, so usadas diversas
projees que ocorreram em tempos diferentes em que a cmera estava em movimento.
Como as imagens mostraro o mesmo objeto em posies diferentes, o restante do
processo o mesmo que no processo usando duas cmeras.

2.4. Deteco de movimento


Detectar que objetos ou reas esto se movendo numa cena importante para vrias
aplicaes. Existem diversos mtodos diferentes de se faz-lo em relao a diversos
referenciais, mas todos partem do mesmo princpio de observar quais pontos se
moveram na imagem e com que velocidade.
O fluxo ptico descreve a velocidade e a direo do movimento de cada pixel em
relao imagem anterior. Por medir um movimento na imagem, no no mundo,
medido em pixels, no na unidade de velocidade do objeto mesmo porque, no
possvel saber a velocidade do objeto, j que esse mtodo no detecta o objeto. Com o
fluxo ptico possvel inferir algumas informaes teis sobre a cena. Por exemplo,
objetos mais distantes se movem mais lentamente na imagem que objetos prximos.
Logo, possvel deduzir a velocidade de um objeto dependendo de sua velocidade da
imagem. O conceito de fluxo ptico vem sendo bastante desenvolvido em reas como a
compactao de vdeo.

Figura 6. Dois quadros de um vdeo mostrando uma tenista mexendo sua


raquete e o fluxo ptico extrado das duas primeiras figuras em seguida.
Uma maneira melhor para se seguir o movimento de um determinado objeto
seria localiz-lo no vdeo, usando tcnicas de reconhecimento de objetos a cada quadro
que se passa nele. Esse mtodo se chama video tracking. Com o vdeo tracking
possvel detectar movimentos de translao, bem como rotao, de um objeto em
especfico. Geralmente, um modelo bidimensional, ou tridimensional, se necessrio,
usado para detectar o objeto nas imagens do vdeo, o que torna possvel saber o
deslocamento absoluto do objeto no ambiente. Entretanto, esse mtodo mais
complicado para objetos que se movem muito rapidamente em relao taxa de quadros
por segundo. Alm disso, um modelo tridimensional obrigatrio caso haja muitas
mudanas no sentido do movimento.

3. Aplicaes prticas da viso computacional


Por ser um campo bastante amplo e por trata do mecanismo de percepo do ambiente
mais fundamental que existe na natureza, a viso computacional tem bastante emprego
em diversas reas, no s em informtica e robtica, como, tambm, na medicina, na
rea de digitalizao de dados, segurana e em todo outro campo no qual se tenha que
perceber algo visualmente. Entretando, como j foi afirmado, esse um campo que
comeou a se desenvolver, de certa forma, recentemente e que no muito maduro
ainda; logo, h muito para se estudar. Mas, por enquanto, sero mostradas as diversas
aplicaes j existentes que utilizam das tcnicas de viso computacional.

3.1. Aplicaes na medicina


A medicina uma das reas em que a viso computacional tem mais importncia. O uso
dessa naquela , geralmente, receber uma imagem de um paciente e realizar o
diagnstico. Diferentes imagens podem ir desde um raio X at uma tomografia
computadorizada. E os dados que podem ser extrados dessas imagens so, rgos, que
podem vir de diversos tipos de imagens (endoscopia, ultrassom, etc.), anomalias nesses
rgos entre outros. Outro exemplo de aplicao o estudo do movimento do corpo
humano por viso computacional, para ajudar pacientes com deficincias motoras.
As aplicaes da viso computacional na medicina so inmeras e bastante
espalhadas: praticamente qualquer rea que esteja relacionada anlise visual de algo
diagnstico, estudos eu neurobiologia e at mesmo a prpria viso so potenciais
campos de uso da viso computacional.

3.2. Realidade aumentada


O conceito de realidade aumentada bastante novo e s comeou a ser empregado em
larga escala recentemente. Realidade aumentada o conceito de adicionar mais uma
camada de anlise realidade usando a viso computacional, em tempo real, permitindo
que um usurio consiga ver dados com exatido e clareza impossveis de serem
atingidas apenas com sua viso e raciocnio convencionais.
Um exemplo simples um carro que reconhece as bordas de uma estrada e avisa
quando o carro sai da sua faixa. Sem o reconhecimento da pista pelo carro, o controle do
carro depende exclusivamente do raciocnio do motorista e sua capacidade de ver a
pista. Mas o carro, nesse caso, aumenta os dados que o motorista recebe: de apenas
imagens, ele passa a ser informado da configurao da pista.

3.3. Reconhecimento tico de caracteres (OCR)


OCR o processo de ler texto impresso, escrito ou datilografado e transform-lo em
texto digital. usado com diversos objetivos, incluindo: informatizar um centro
empresarial que tem todos os seus arquivos armazenados num sistema fsico, escrito em
papis; preservar um acervo de livros antigos, digitalizando todos os livros e mantendo
cpias digitais de cada um; distribuir um livro via internet, permitindo, dentre outras
vantagens, uma reimpresso mais limpa, facilidade de busca de termos etc..
Apesar de requerer calibrao para ler bem uma dada fonte, j so comuns,
atualmente, sistemas inteligentes de OCR, que reconhece a maioria das fontes
conhecidas com acurcia bastante satisfatria, chegando bastante perto da impresso
original, escaneando, inclusive, imagens, tabelas e outros elementos. Para chegar a esse
nvel de preciso, o reconhecedor de caracteres usa uma tabela de palavras conhecidas
para corrigir a possvel criao de palavras inexistentes pelo sistema.
A rea de reconhecimento de texto escrito mo, por outro lado, est num
estado bem mais imaturo que o reconhecimento de texto digitado, pois a forma dos
caracteres escritos mo bem menos legvel que caracteres digitados, que j so
predefinidos. Para atingir um nvel satisfatrio de preciso, necessrio, nesse caso,
saber qual o contexto do texto que est sendo lido e conhecer o assunto sobre o qual o
texto trata. Determinar esse tipo de informao no trivial num nvel mais
generalizado, j que envolve, alm de uma base enorme de conhecimento, o
reconhecimento de linguagens naturais, que outro problema bastante complexo da
inteligncia artificial.

3.4. Viso de mquina


A viso de mquina empregada geralmente nos setores industriais e de engenharia de
controle de qualidade. Usa bastante da viso computacional para detectar componentes
fora do padro desejado e descart-los ou executar outra ao, dependendo das
necessidades.
Ela pode ser usada para a identificao de diferentes tipos de objetos e para
decidir que tipo de inspees sero utilizadas. Isso pode ser feito utilizando cdigos
identificadores para cada objeto ou pode ser definido pelo prprio formato do objeto.
Outro exemplo de viso de mquina a inspeo de montagem de diferentes
equipamentos. A mquina montadora precisa montar todos os componentes do
equipamento na posio correta e fazer todas as inspees necessrias das posies dos
componentes por exemplo, montagem dos chips em uma placa de circuito impresso,
entre diversos outros exemplos de checagem ao adequamento a um certo padro.
Assim como diversos outros campos da viso computacional, a viso de
mquina um campo especialmente multidisciplinas, pois envolve engenharia eltrica,
eletrnica e de software, robtica, viso computacional, entre outros. um dos campos
mais antigos onde a viso computacional usada sua utilizao remonta aos anos 90.

4. Concluso
A rea de viso computacional ainda relativamente imatura como um todo, uma rea
cujos mtodos e fundamentos no so simples, pois requerem um nvel de abstrao
alto, alm de ainda haver uma vastido de aspectos no explorados ou inexplicados.
Apesar disso, j h muitas solues de viso computacional altamente confiveis e
bastante eficientes, bem como reas bastante promissoras, sendo ativamente
pesquisadas, que daro uma qualidade de vida muito maior populao no futuro. Mais
ainda, esto surgindo e, provavelmente, surgiro muito mais reas de pesquisa nesse
campo. Enfim, um campo que, se j traz benefcios extraordinrios com o pouco que
se sabe, trar muito mais com o universo que ainda falta ser explorado.

Figura 7. Modelo de um sistema de viso de mquina. Uma imagem do objeto a


ser inspecionado (1) obtida pela cmera (2). O objeto iluminado pela
iluminao (3). Um sensor fotoeltrico (4) d incio obteno da imagem. Um
computador (5) obtm a imagem por meio de uma comunicao cmera-
computador (6). Um driver de dispositivo(7) monta a imagem na memria do
computador. O software de viso de mquina (8) faz a inspeo dos objetos e
fornece, ento, uma avaliao dos objetos (9). O resultado da avaliao
comuncado a um controlador lgico (11) por meio de uma interface digital (10).
O controlador controla o atuador (13) por meio de uma outra interface (12). O
atuador, que pode ser um motor por exemplo, remove objetos defeituosos da
linha de produo [Steger, Ulrich and Wiedemann, 2008].

Referncias
Ballard, Dana H. and Brown, Christopher M. (1982). Computer Vision. Prentice Hall.
ISBN 0131653164.
Azad, Gockel, and Dillmann, R. (2008) . Computer Vision Principles and Practice.
Elektor International Media BV. ISBN 0905705718.
http://eom.springer.de/E/e120040.htm, acessado em 15 de novembro de 2010.
http://trfkad.tracker.prq.to:80/announce, acessado em 15 de novembro de 2010.
Elgammal, Ahmed. "CS 534: Computer Vision 3D Model-based recognition". Dept of
Computer Science, Rutgers University
Bradski, Gary and Kaehler, Adrian. Learning OpenCV: Computer Vision with the
OpenCV Library. O'Reilly.
Russel, S. And Norvig, P. (2010). Artificial Intelligence A modern approach.
Pearson. ISBN 0136042597.
Steger, Carsten, Markus Ulrich and Christian Wiedemann (2008). Machine Vision
Algorithms and Applications. Weinheim: Wiley-VCH. ISBN 9783527407347.