1. UNIVERSIDADE FEDERAL DA PARAÍBA – UFPB
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
INTRODUÇÃO À COMPUTAÇÃO GRÁFICA
ÍTALO LEANDRO FREIRE DE ALBUQUERQUE
YURI GIL DANTAS
UMA ANÁLISE TEÓRICA SOBRE TIPOS DE RASTREAMENTO
JOÃO PESSOA
Novembro de 2010
2. ABSTRACT
One of the main challenges in the Computer Science is the rapid extraction of
information from devices for analysis. A key issue is to simplify the problems, in a way to reduce
the amount of information needed to represent the problem and therefore a minor computational
cost. Due to the diversity of use and distinct types of tracking devices, there is no single solution for
all area applications, which leads to various techniques and methods. Within this context, this study
aims to present a brief of theoretical foundations and the more usual techniques and devices.
RESUMO
Um dos grandes desafios na área da ciência da computação é a extração rápida da
informação a partir de dispositivos de rastreamento para a realização de análise. Uma questão
fundamental é simplificação dos problemas encontrados, de modo a reduzir a quantidade de
informações necessárias para uma representação mais adequada do problema e portanto um menor
custo computacional. Devido à diversidade de uso e tipos distintos de equipamento de rastreamento,
não existe uma solução única para todas as aplicações da área, dando origem a diversos tipos de
técnicas e métodos. Dentro desse contexto este trabalho tem como objetivo apresentar uma amostra
dos fundamentos teóricos da área e das técnicas e equipamentos mais utilizados.
3. Sumário
Introdução........................................................................................................................................................1
1 Objetivos e Organização do Trabalho...........................................................................................................2
2 Referencial Teórico.......................................................................................................................................2
2.1 Interação Humano Computador...........................................................................................................2
2.2 Visão Computacional ...........................................................................................................................2
2.3 Rastreamento.......................................................................................................................................3
2.3.1 Rastreamento Mecânico...............................................................................................................3
2.3.2 Rastreamento Acústico.................................................................................................................4
2.3.3 Rastreamento Magnético............................................................................................................5
2.3.4 Rastreamento Óptico....................................................................................................................6
2.4 Rastreamento de Objetos em Vídeo.....................................................................................................8
2.4.1 Representação dos Objetos..........................................................................................................8
2.4.2 Detecção dos Objetos...................................................................................................................9
2.4.3 Dificuldades no rastreamento de objetos em vídeo.....................................................................9
2.4.3.1 Problema da Oclusão............................................................................................................9
2.4.4 Segmentação de Imagens...........................................................................................................10
2.4.5 Detecção de descontinuidade.....................................................................................................11
2.4.5.1 Detecção de pontos e linhas...............................................................................................11
2.4.5.2 Detecção de bordas............................................................................................................11
2.4.5.3 Detecção de Similaridades..................................................................................................12
2.4.6 Rastreamento por cor.................................................................................................................13
2.5 Utilização da mão para a interação humano computador .................................................................13
2.5.1 Dispositivos utilizados para reconhecer o movimento das mãos...............................................14
2.5.2 Luvas com Mediadores de Luminosidade...................................................................................14
2.5.3 Luvas com Esqueletos Externos..................................................................................................15
2.5.4 Wii Remote.................................................................................................................................15
2.6 OpenCV...............................................................................................................................................16
3 Considerações Finais...................................................................................................................................17
3.1 Indicações para o Futuro....................................................................................................................17
4 Referencias ................................................................................................................................................19
4. Índice de Figuras
Figura 1: Rastreador Mecânico “MicroScribe”..................................................................................................4
Figura 2: Rastreador Mecânico - Detector de Movimentos..............................................................................4
Figura 3: Andy Serkis. Captura de movimento para o personagem golum do filme Senhor dos Anéis.............7
Figura 4: Rastreador inside-out........................................................................................................................8
Figura 5: Operadores de diferenciação aplicados sobre uma função que modela a mudança brusca de níveis
de cinza...........................................................................................................................................................12
Figura 6: Luva com Medidor de Luminosidade...............................................................................................14
Figura 7: Luva com Esqueleto Externo............................................................................................................15
Figura 8: Wii Remote......................................................................................................................................15
Figura 9: Barra de Sensor................................................................................................................................16
5. Introdução
A utilização de dispositivos de rastreamento é algo cada vez mais presente na vida das
pessoas, principalmente, devido a fatores técnicos como o barateamento de equipamentos simples
como webcams, que podem ser utilizados para rastreamento por vídeo. Além de fatores técnicos,
fatores sociais, como o aumento da criminalidade, a integração de estudantes com o ensino
interativo e demanda cada vez maior sobre equipamentos que permitem a chamada “Visão
Computacional” explica o aumento no uso de dispositivos de rastreamento.
Diante desse contexto, é importante apresentar os diversos tipos de rastreamento, como
funcionam e quais tipos são mais utilizados atualmente. Além disso, não se pode negar a
importância de apresentar um exemplo prático do funcionamento de um dispositivo de
rastreamento.
1
6. 1 Objetivos e Organização do Trabalho
Este trabalho tem como objetivo geral demonstrar os tipos de rastreamento, o seu
funcionamento e suas aplicações nas mais diversas áreas. Além disso, o trabalho pretende falar
sobre a biblioteca OpenCV e exibir um algoritmo de exemplo construído com a ajuda da mesma. O
trabalho em sua primeira parte explica seus objetivos e organização. Na segunda parte, apresenta
um referencial teórico que serve de base para a terceira parte onde será demonstrado o uso de um
algoritmo utilizando a biblioteca OpenCV. Por último serão apresentadas as considerações finais
sobre o trabalho e indicações de possíveis pesquisas para o futuro.
2 Referencial Teórico
2.1 Interação Humano Computador
A interação humano computador foi definida pela Association of Computer Machinery
como uma disciplina que diz respeito ao projeto, avaliação e implementação de sistemas de
computador interativos para uso humano [1].
Esta interface pode ser definida como um meio de comunicação, pois é tanto um meio
para a interação quanto uma ferramenta que oferece os instrumentos para esta comunicação. A
interação possui componentes de software e hardware [2].
Os componentes de hardware compreendem os dispositivos em que o usuário realiza as
atividades motoras e perceptivas. Os mais tradicionais são a tela, o teclado e o mouse
O software representa os processos computacionais necessários para o controle do
dispositivos de hardware e para interpretação dos comandos dos usuários.
2.2 Visão Computacional
Visão computacional é "O conjunto de métodos e técnicas através dos quais sistemas
computacionais podem ser capazes de interpretar imagens. A interpretação de uma imagem pode ser
definida em termos computacionais como a transformação de um conjunto de dados digitais
representando uma imagem (um sinal mono-, bi-, tri- ou tetra dimensional) em uma estrutura de
dados descrevendo a semântica desses dados em um conjunto qualquer" [12]. Em linhas gerais seria
como fazer um sistema de computador "enxergar", ou seja olhar para uma imagem e transformar
esses dados em informação útil, como por exemplo reconhecimento de características. Porém
comparado ao sistema ocular humano a visão computacional ainda esta engatinhando com estudos
2
7. específicos sobre as característica de enxergar.
O desenvolvimento de sistemas de visão computacional requer uma entrada de dados
(imagem) geralmente obtida de sensores, câmeras ou vídeos. Essas imagens são processadas e
transformadas em uma informação esperada, como por exemplo, receber uma imagem colorida
(dado), colocar em binário a imagem (processamento), exibir uma imagem preta e branca em níveis
de cinza (informação esperada). O processo de transformação da imagem é realizado por métodos
contidos em bibliotecas de processamento gráfico.
2.3 Rastreamento
Introdução
Rastreamento de objetos é uma importante tarefa dentro da visão computacional.
Propicia importantes mecanismos para a interação humano computador (IHC). Com a tecnologia
atual dos computadores, o uso de dispositivos e técnicas especificas pode-se utilizar o rastreamento
de objetos para as mais diversas tarefas que variam desde a detecção de objetos a partir do som a
detecção do movimento das mão utilizando uma Webcam.
O rastreamento de objetos pode ser dividido em quatro importantes áreas, são elas:
• Rastreamento Mecânico
• Rastreamento Acústico
• Rastreamento Magnético
• Rastreamento Óptico
2.3.1 Rastreamento Mecânico
É feito de modo a se conectar diretamente ao corpo do usuário e detectam a posição de
um ponto de referencia, a partir de estruturas articuladas que ligam o ponto de referencia a um
ponto físico conhecido. Este tipo de rastreamento é principalmente usado quando se quer maior
velocidade e precisão no rastreamento ou quando quer se aplicar uma força ao objeto para verificar
a limitação no seus movimentos [3]. Um exemplo de rastreamento mecânico pode ser visto na
Figura 1 e Figura 2.
3
8. Figura 1: Rastreador Mecânico “MicroScribe”
Figura 2: Rastreador Mecânico - Detector
de Movimentos
2.3.2 Rastreamento Acústico
Os rastreadores acústicos detectam a posição de um objeto a partir de uma emissão de
um som que é captado por um receptor. O mesmo controlador é utilizado para controlar tanto a
transmissão quanto a recepção. Um som é enviado ao receptor é o tempo entre a transmissão e
recepção é utilizado para se saber a distância que o objeto está do transmissor[4].
As três principais tecnologias utilizadas para rastreamento acústico são:
• Time of Flight
4
9. • Time Delay
• Phase Coherent
A tecnologia Time of Flight utiliza pulsos de som em intervalos regulares. A partir da
detecção do pulso sabe-se a que distância o objeto está do transmissor. Com o uso de três receptores
é possível definir a posição no espaço de um objeto através da intercessão das três esferas de
recepção.
A tecnologia Time Delay utiliza uma variação aleatória na amplitude das ondas sonoras.
Quando um sinal é recebido ele é comparado ao ao sinal emitido e o tempo que o sinal gastou para
chegar ao receptor é determinado. Com esse tempo é possível determinar tanto a distância quanto a
posição do objeto. A principal vantagem desta tecnologia é a velocidade no calculo da distancia e
portanto um menor tempo de resposta.
A tecnologia Phase Coherent utiliza ondas sonoras emitidas continuamente com
variação periódica. A diferença de fase entre o sinal emitido e recebido é utilizada para calcular a
distância do objeto, contudo o tempo calculado deve ser menor que o comprimento de onda [3].
2.3.3 Rastreamento Magnético
É o tipo de tecnologia de rastreador mais utilizada atualmente em ambientes virtuais. O
princípio de funcionamento desses dispositivos é que quando um fio elétrico é submetido a um
campo magnético, surge uma corrente elétrica induzida.
Através de um receptor colocado no objeto a ser rastreado e da análise das correntes
induzidas sobre ele é possível calcular a posição do objeto em relação a um emissor de campos
magnéticos;
Características:
• Usam campos magnéticos de baixa frequência para medir a posição;
• Campos produzidos por uma fonte fixa;
• O tamanho da fonte está relacionado com a carga do trabalho;
• O receptor é ligado ao objeto e tem 3 antenas perpendiculares;
• A distância pode ser deduzida a partir das tensões induzidas nas antenas;
• Existe o problema que oclusão.
5
10. Os maiores problemas apresentados pelos rastreadores magnéticos são o tempo que
gasto para o cálculo de uma nova posição e as interferências causadas por objetos de ferro e por
outras fontes de campos magnéticos próximas ao emissor ou ao receptor, como monitores, e caixas
com alto-falantes.
2.3.4 Rastreamento Óptico
A tecnologia de rastreamento ótico, que também pode ser chamando de rastreamento
por vídeo, é o processo de localização do movimento de um ou mais objetos, ao longo de um
tempo utilizando uma câmera, ou seja, pode indicar a posição de um ponto a partir de sua
imagem.
Existem dois tipos principais de rastreadores ópticos, aquele em que são colocadas
câmeras no ambiente e a imagem do usuário e captada e processada, e aqueles que o usuário carrega
uma câmera e filma o ambiente.
No primeiro tipo, também chamado de rastreamento por “extração de imagem”,
colocam-se marcadores sobre os pontos a serem rastreados e algumas câmeras no ambiente. Este
marcadores podem ser simples etiquetas coloridas ou LEDs. As imagens captadas pelas câmeras são
então processadas para determinar as posições dos pontos[4]. Um exemplo do rastreamento por
extração de imagens pode ser visto na Figura 3.
6
11. Figura 3: Andy Serkis. Captura de movimento para o personagem golum do filme Senhor dos Anéis
Para a determinação da posição tridimensional de um ponto a partir de uma imagem são
necessárias, pelo menos, duas câmeras. O uso de apenas duas câmeras, entretanto, pode causar com
certa frequência a oclusão de um ponto pelo corpo do usuário.
A segunda geração de rastreadores óticos corresponde aos chamados inside-out. Neles o
usuário é que carrega uma câmera e o principal objetivo é capturar, os movimentos de um usuário
num espaço de uma sala de tamanho tradicional como pode ser visto na Figura 4.
7
12. Figura 4: Rastreador inside-out
2.4 Rastreamento de Objetos em Vídeo
A análise de um vídeo apresenta três desafios principais:
• Detecção do objeto de interesse;
• Rastreamento do objeto quadro a quadro;
• Análise do objeto rastreado para interpretar seu comportamento.
O grande problema relacionado ao rastreamento de objetos é que se deve estimar a
trajetória de um objeto que está no espaço(3D) a partir de uma imagem que está no plano(2D). Para
contornar este problema deve-se estudar como objetos são representados no plano de forma a
identificá-los corretamente.
2.4.1 Representação dos Objetos
Em um cenário de rastreamento, um objeto que pode ser rastreado é definido de acordo
com as características que possam ser interessantes a pesquisa[5].
Seguem abaixo as formas de representação mais utilizadas:
• Pontos: O objeto é representado por um ponto. É adequado para acompanhar
objetos que ocupam pequenas regiões em uma imagem;
8
13. • Formas Geométricas: A forma do objeto é representada por figuras geométricas,
por exemplo uma circunferência. É adequado para acompanhar objetos rígidos
simples e/ou para monitorar objetos não rígidos;
• Silhueta do Objeto: O objeto é representado pelo seu contorno. É adequado para
o acompanhamento de formas não rígidas complexas, como por exemplo mão
humana;
• Modelos de forma articulada: Objetos articulados são compostos pelas partes do
corpo que são unidas pelas juntas. O corpo humano pode ser representado por
suas articulações e as outras partes podem ser modeladas por cilindro ou elipses.
2.4.2 Detecção dos Objetos
A detecção de objetos utiliza as características principais do objeto para determinar
como monitorá-lo. Normalmente apenas um quadro é utilizado para determinar o objeto, contudo
em alguns casos é necessário fazer o uso da informação temporal a partir de uma sequência de
quadros para atenuar o número de falsas detecções. Dados os objetos de um quadro, o algoritmo
deve realizar a correspondência deste em relação ao próximo quadro para caracterizar o
rastreamento [5].
2.4.3 Dificuldades no rastreamento de objetos em vídeo
O processo de detecção de um objeto em movimento em um fundo constante pode
parecer simples, entretanto considerando o processo realizado no cérebro humano, mesmo se as
câmeras tivessem a mesma capacidade de captura da informação que a retina, os computadores não
possuem o enorme poder de processamento em paralelo que possui o cérebro humano. Por esse
motivo apenas alguns processos básicos são implementados nos sistemas de visão computacional
em tempo real [6].
Outras dificuldades da visão computacional é a instabilidade causada por mudanças de
iluminação, oclusões, e ruídos nos equipamentos de captura. Devido a especificidade dos problemas
é difícil construir um sistema de propósito geral que seja capaz de trabalhar com uma grande gama
de objetos pois é preciso restringir o campo de ação e construir sistemas mais específicos [7].
2.4.3.1 Problema da Oclusão
A oclusão pode ser dividida em 3 categorias: auto oclusão, oclusão inter objetos e
9
14. oclusão com fundo de imagem. A auto oclusão ocorre quando uma parte do objeto sobrepõe outro
parte do mesmo objeto. Esta situação ocorre com maior frequência quando se está capturando
objetos articulados. A oclusão inter objetos ocorre quando dois objetos que estão sendo rastreados
sobrepõem-se. Similarmente, a oclusão com fundo de imagem ocorre quando uma estrutura da
paisagem sobrepõem o objeto rastreado [5].
Outro problema que ocorre com a oclusão, é a oclusão parcial. Este tipo de oclusão é
muito difícil de ser detectado, pois, é uma tarefa complexa diferenciar o objeto que está sendo
sobreposto do objeto que está mudando seu formato.
Um jeito comum de se lidar com a oclusão completa é modelar o movimento do objeto
por modelos dinâmicos lineares ou não lineares e no caso da oclusão se manter o possível
movimento do objeto rastreado até que o mesmo reapareça.
As chances de ocorrer oclusão podem ser reduzidas com a escolha apropriada das
posições das câmeras, por exemplo, se a câmera estiver em uma posição privilegiada em relação ao
objeto rastreado (ex: um observador em cima de um muro, tem menores chances de ter sua visão
bloqueada, do que um observador no nível do solo).
2.4.4 Segmentação de Imagens
Segmentação é uma operação básica em imagem que equivale a encontrar regiões
associadas com os objetos de interesse no domínio da imagem. Esta tarefa é executada de forma
natural pelo cérebro e pode parecer simples a primeira vista, contudo, a segmentação é uma das
operações mais complexadas na análise da imagem.
A segmentação é essencial na área de processamento de imagens, pois além de
possibilitar a detecção de objetos é também importante para uma melhor visualização da imagem e
uma quantificação dos elementos pertencentes a imagem (área, perímetro, volume, etc ).
Os objetos que compõem uma imagem possuem duas características básicas [8]:
1) Eles exibem alguma uniformidade interna em relação a uma propriedade da imagem;
2) Eles contrastam em relação a sua vizinhança.
A primeira característica segue os princípios da continuidade, agrupando pixels da imagem de
acordo com o grau de uniformidade dos níveis de cores ou textura das regiões.
A segunda característica, utiliza conhecimentos existentes sobre o objeto, tais como sua possível
forma ou textura, para guiar a segmentação.
10
15. 2.4.5 Detecção de descontinuidade
As descontinuidades encontradas em uma imagem podem ser pontuais, linhas ou os
limites (bordas) de um objeto. Essas feições sobressaem numa imagem, seja por possuir tons de
cinza distintos a região na quais estão inseridas ou por assinalarem mudanças bruscas de tons de
cinza entre regiões [8].
Os métodos de detecção de descontinuidades, mais particularmente os de detecção de
linhas e de bordas, apresentam geralmente como resultados falhas de detecção. Portanto, esses
métodos devem ser seguidos de processamentos visando sanar essas falhas.
2.4.5.1 Detecção de pontos e linhas
A ideia que esta por trás dos algoritmos para a detecção de pontos e linhas é que essas
feições podem possuir tom de cinza muito diferente quando comparada aos seus vizinhos . Desta
forma, a detecção pode ser realizada por meio da aplicação uma máscara que forneça uma resposta
R e um adequado limiar não negativo T. Ao se aplicar a máscara sobre a imagem, os pontos que
retornarem valores acima do limiar estabelecido são detectados [8], ou seja,
|R| > T.
2.4.5.2 Detecção de bordas
A detecção de bordas é de longe, a abordagem mais comum para detecção de
descontinuidades [5]. Em uma imagem a borda é definida como sendo o limite entre duas regiões
com diferentes propriedades. Devido ao processo de amostragem em uma imagem digital, a borda
aparece com uma pequena suavização em torno ao verdadeiro limite das regiões.
Essa transição pode ser representada por uma função f(x). Dessa forma, a detecção de
bordas pode ser realizada por meio da aplicação de operadores de diferenciação . A primeira
derivada da função f(x), apresenta um ponto de mínimo no ponto correspondente à borda. A
magnitude do valor dessa derivada, pode indicar a intensidade da borda. A segunda derivada da
função f(x), por sua vez, apresenta um cruzamento por zero no ponto correspondente a borda. O
sinal dessa derivada pode ser usado para determinar se um pixel está localizado na parte clara ou
escura da borda.
Para o caso de uma imagem, espaço bidimensional, a função assume a forma f(x,y),
sendo as duas direções representadas pelas derivadas parciais em função de x (direção vertical) e de
y (direção horizontal). Nessa situação são usados operadores diferenciais de gradiente, que
11
16. correspondem à primeira derivada, e o laplaciano, correspondente a segunda derivada [8].
Figura 5: Operadores de diferenciação aplicados sobre uma função que modela a
mudança brusca de níveis de cinza
2.4.5.3 Detecção de Similaridades
A detecção de similaridade tem como fundamento a observação do interior dos objetos
e não as fronteiras que os delimitam. Para tanto, parte da idealização que os pixels que compõe um
objeto têm propriedades semelhantes, enquanto que pixels de objetos diferentes têm propriedades
distintas.
As principais abordagens baseiam-se em:
Limiarização: É a forma mais simples de segmentar imagem digitais, além disso, é uma
das abordagens mais importantes para a segmentação [8]. A ideia que está por trás dessas técnicas é
a que um objeto pode ser entendido como uma região formada por pixels contíguos que tenham em
comum uma faixa de intensidades. Dessa forma, a limiarização usa a intensidade dos pixels para
diferenciar as regiões.
Crescimento de regiões: O princípio do funcionamento da técnica de crescimento por
regiões é agrupar pixels ou sub-regiões em regiões maiores [8]. A técnica se baseia em pegar um
12
17. conjunto de pixels chamados "sementes", a partir desse ponto pixels que contenham atributos
similares são incluídos nas regiões. O crescimento ocorre iterativamente até que cada pixel seja
processado e sejam formadas diferentes regiões cujas fronteiras possam ser definidas por polígonos
fechados e os pixels internos a essas compartilhem de certa similaridade.
2.4.6 Rastreamento por cor
Rastrear um conjunto de cores em um vídeo é uma primeira aproximação e estimativa
inicial para muitas aplicações. De fato, determinar quais partes de uma imagem correspondem a
pele, por exemplo, é muito importante para rastrear rosto ou mãos. As cores são geralmente
representados em um computador por meio de suas coordenadas RGB. Se quisermos estabelecer um
método para controlar as cores, a melhor maneira é melhor estabelecer uma forma de distinguir as
cores, ou a distância entre elas [5]. Determinando uma área em que uma dada cor é colocada. Em
resumo:
1. Determinar qual a cor deve ser monitorada;
2. Dada uma região candidata, calcula o centro da cor (i.e, sua posição média);
3. Compute uma área na qual a maioria dos pontos são colocados;
4. Use a área calculada como uma estimativa de onde procurar na próxima iteração.
Em várias situações é realizada a transformação de uma imagem colorida para uma
imagem acromática (sem cor, também conhecida como branco e preto), na realidade, uma imagem
em níveis de cinza. A soma das três cores primárias (cores componentes), vermelho (R), verde (G)
e azul (B) produz a cor branca, ou seja, somando todas as cores produz-se o branco (ou luz), em
contrapartida, a ausência da luz é o preto.
O branco, o preto e os tons de cinza são chamados de acromáticos porque em sua
composição, contêm a mesma intensidade das três cores componentes. Utilizar imagens em níveis
de cinza, ao invés de coloridas, reduz a quantidade de cálculos a serem efetuados. Ou seja, ao invés
de efetuar cálculos para três cores (cores componentes), trabalha-se com apenas uma cor (cinza).
2.5 Utilização da mão para a interação humano computador
As luvas eletrônicas, um dos primeiros dispositivos criados especificamente para
aplicações de realidade virtual, buscam capturar os movimentos das mãos (e dos dedos) e usá-los
como forma de interação com o usuário no ambiente virtual. Outros dispositivos podem ser
utilizados para captura os movimentos da mão, mesmo que não tenham sido projetados para este
13
18. fim. Como exemplo, pode-se citar o uso de webcams para o reconhecimento do movimento.
2.5.1 Dispositivos utilizados para reconhecer o movimento das mãos
Entre os diversos dispositivos utilizados para a detecção do movimento da mão e dos
dedos, pode-se ressaltar o uso dos seguintes dispositivos:
– Luvas com Mediadores de Luminosidade
– Luvas com Esqueleto Externo
– Wii Remote
– Câmeras
2.5.2 Luvas com Mediadores de Luminosidade
Baseia-se no fato de que uma fibra ótica altera suas propriedades de transmissão de luz
quando é flexionada [9].
A ideia principal é colocar sobre cada dedo (pelo lado externo da mão) um par de fibras
óticas. Uma das fibras serve para medir a flexão dos dedos na junção com a palma da mão e a outra
para medir a flexão no meio dos dedos. Numa das extremidades de cada uma das fibras é colocado
um emissor de luz com intensidade constante, no outro uma foto-célula (Figura 6). Posteriormente,
é feita uma leitura das fotocélulas para então calcular o grau de flexão dos dedos.
Figura 6: Luva com Medidor de Luminosidade
14
19. 2.5.3 Luvas com Esqueletos Externos
A Dextrous Hand Master lançou a ideia de usar uma espécie de armadura externa presa
à mão para ler seus movimentos. Esta estrutura permite uma leitura rápida e precisa de todos os
dedos através de colocação de um sensor em cada junta (Figura 7) [9].
Figura 7: Luva com Esqueleto Externo
2.5.4 Wii Remote
O Wii Remote (Figura 8) tem a capacidade de sentir a aceleração ao longo de três eixos
através da utilização de um acelerômetro ADXL330. O Wii Remote também apresenta um sensor
óptico PixArt, permitindo-lhe determinar onde o Wii Remote deve apontar.
Figura 8: Wii Remote
15
20. Ao contrário de uma pistola de luz que detecta a luz de uma tela de televisão, o Wii
Remote sente a luz a partir de uma barra de sensor (Figura 9), que permite o uso consistente,
independentemente do tipo ou tamanho de televisão. A barra deve ser colocada acima ou abaixo da
televisão, e devem ser centralizadas. Não é necessário que se aponte diretamente a barra de
sensores, mas se apontado de uma grande distancia será prejudicado a habilidade de sensoriamento
da barra, devido ao pequeno anglo de visão do Wii Remote. A barra de sensor é necessário quando
se quer controlar os movimentos para cima e para baixo, para esquerda e para direita, como usados
jogados em jogos de tiro em primeira pessoa. Em casa de jogos de boxe não é necessário o uso da
barra de sensor, pois os movimentos são calculados por um acelerômetro presente no Wii Remote
[10].
Figura 9: Barra de Sensor
O rastreamento de posição e movimento do Wii Remote permite ao jogador imitam as
ações do jogo real, tais como balançar uma espada ou apontando uma arma, ao invés de
simplesmente pressionar botões.
2.6 OpenCV
OpenCV (Open Source Computer Vision) é uma biblioteca de programação, de código
aberto, desenvolvida inicialmente pela Intel Corporation. A OpenCV implementa uma variedade de
ferramentas de interpretação de imagens, indo desde operações simples como um filtro de ruído, até
operações complexas, tais como a análise de movimentos, reconhecimento de padrões e
16
21. reconstrução em 3D [11].
A biblioteca OpenCV foi desenvolvida pela Intel e possui mais de 500 funções. Foi
idealizada com o objetivo de tornar a visão computacional acessível a usuários e programadores em
áreas tais como a interação humano computador em tempo real e a robótica. A biblioteca está
disponível com o código fonte e os executáveis (binários) otimizados para os processadores Intel.
Um programa OpenCV, ao ser executado, invoca automaticamente uma DLL (Dynamic Linked
Library) que detecta o tipo de processador e carrega, por sua vez, a DLL otimizada para este.
Juntamente com o pacote OpenCV é oferecida a biblioteca IPL (Image Processing Library), da qual
a OpenCV depende parcialmente, além de documentação e um conjunto de códigos exemplos.
A biblioteca está dividida em cinco grupos de funções: Processamento de imagens;
Análise estrutural; Análise de movimento era rastreamento de objetos; Reconhecimento de padrões
e Calibração de câmera e reconstrução 3D.
No OpenCV as técnicas de rastreamento incluem dois componentes principais:
identificação de objetos e modelagem da trajetória. Existem algumas funções que são utilizadas
para o rastreamento, baseadas nos algoritmos de “meanshift” e “camshift”.
O Camshift (Continuously Adaptive Mean-SHIFT) é um algoritmo desenvolvido para o
rastreamento de cor, possibilitando também o rastreamento de faces. É baseado numa técnica
estatística onde se busca o pico entre distribuições de probabilidade em gradientes de densidade.
Esta técnica é chamada de “média por deslocamento” (mean shift) e foi adaptada no Camshift para
tratar a mudança dinâmica das distribuições de probabilidade das cores numa sequência de vídeo.
Pode ser usada no rastreamento de objetos e no rastreamento de faces
3 Considerações Finais
O rastreamento é de fundamentação importância para a Visão Computacional, que por meio dele é
possível extrair informações valiosas a partir de dispositivos específicos. Com o barateamento de
equipamentos que podem ser usados como dispositivos de rastreamento, é possível desenvolver
aplicações que tenham baixo custo financeiro e computacional que propiciem acesso fácil a realidade
aumentada. Durantes este trabalho foram apresentados os diversos tipos de equipamentos de
rastreamentos, seu funcionamento e suas aplicações no dia a dia.
3.1 Indicações para o Futuro
Com o uso desse conhecimento obtido é possível que em trabalhos futuros sejam desenvolvidos
novos algoritmos para melhorar o desempenho e confiabilidade dos dispositivos de rastreamento. Com o
17
22. uso da biblioteca OpenCV que é livre e aberta o acesso ao mundo do rastreamento se torna mais fácil e
barato possibilitando grupos de pesquisa desenvolver novas aplicações.
Vale salientar, entretanto que as técnicas vistas aqui e a maneira como foram apresentadas devem
servir somente de referencia para estudos iniciais a respeito do tema. Sendo necessário, para um maior
aprofundamento, consultas as fontes bibliográficas apresentadas, bem como, consultas a revistas
cientificas especializadas na área de computação gráfica, processamento digital de imagens, visão
computacional e realidade aumentada.
18
23. 4 Referencias
[1] CARVALHO, J.O.F . O papel da interação humano computador na Inclusão digital. In:
Revista Transformação, V.15, N.3, edição especial, p75-89, Campinas, 2003.
[2] DE SOUZA, C. S.; LEITE, J.C.; PRATES, R.O.; BARBOSA, S.D.J. Projeto de Interfaces de
Usuário: Perspectiva Cognitiva e Semiótica, Anais da jornada de Atualização em informática,
XIX Congresso da Sociedade Brasileira de Computação, Rio de Janeiro, julho de 1999.
[3]MOLERO, A. P.; BERISO, S. B. Realidad Virtual Y Animación. Disponível em :
http://dac.escet.urjc.es/docencia/RVA/claseInput10.pdf. Acessado em 28/10/2010.
[4]PINHO, M. S. Tópicos Especiais em Computação Gráfica. Disponível em :
http://www.inf.pucrs.br/~pinho/TCG/Docs/Aula4-Rastreamento.doc.pdf. Acessado em 28/10/2010.
[5]YILMAZ, A. ; JAVED, O. ; SHAH, M. Objetct Tracking: A Survey. In: ACM Computing
Surveys, Vol. 38, No. 4, Artigo 13, Data de Publicação: Dezembro de 2006.
[6]LOPES, E. C. Determinando a Posição e a Orientação da Mão Através de Imagens de
Vídeo. Disponível em http://grv.inf.pucrs.br/projects/hts/LOPES,%20Eduardo%20Costa.pdf.
Acessado em 30/10/2010.
[7]TRUYENQUE, M. A. Q. Uma Aplicação de Visão Computacional que Utiliza Gestos da
Mão para Interagir com o Computador. Dissertação de Mestrado aprovada em Março de 2005
para o programa de Pós-Graduação em Informática da PUC-Rio. Disponível em:
http://www.tecgraf.puc-rio.br/publications/diss_2005_alain_aplicacao_visao_computacional.pdf.
Acessado em 02/11/2010.
[8]SALDANHA, M. F. S. ; Drª FREITAS, C. da Costa. Segmentação de Imagens Digitais: Uma
Revisão. Disponível em: http://www.lac.inpe.br/cap/arquivos/pdf/P19.pdf. Acessado em:
03/11/2010.
[9]PINHO, M. S. Um modelo de interface para navegação em mundos virtuais, Porto Alegre,
1999. Disponível em <http://grv.inf.pucrs.br/Pagina/Publicacoes/Bike/Portugues/Bike.htm>.
Acessado em 03/11/2010
[10]WIKIPEDIA. Wii Remote. Disponível em: <http://en.wikipedia.org/wiki/Wii_Remote>.
Acessado em 04/11/2010.
[11]OPENCV, OpenCV. Disponível em: <http://sourceforge.net/projects/opencvlibrary>. Acessado
em 06/11/2010.
19
24. [12]VISÃO COMPUTACIONAL, Seminário a Visão Computacional. Disponível em :
<http://www.inf.ufsc.br/~visao/#Introdu%C3%A7%C3%A3o >, Acessado em 08/11/2010.
20