You are on page 1of 87

Faculdade de Engenharia da Universidade do Porto

EXTRACO DE INFORMAES RTMICAS DE MOVIMENTO EM


DANA ATRAVS DE UM SINAL DE VDEO

Andr Miguel Passos Baltazar

Dissertao/Relatrio de Projecto realizada(o) no mbito do
Mestrado Integrado em Engenharia Electrotcnica e de Computadores
Major Telecomunicaes

Orientador: Prof. Dr. Jaime S. Cardoso
Co-orientador: Prof. Dr. Carlos Guedes
Fevereiro de 2009

ii






















Andr Baltazar, 2009


iii



Resumo


O movimento corporal um meio importante de percepo, expresso e
interaco no mundo. Se o capturarmos numa sequncia de vdeo e extrairmos as
suas caractersticas, podemos encontrar o ritmo desse movimento. Ao usar esse ritmo
para gerar sons desencadeia-se um tipo de interactividade entre o Homem e a
Mquina e novas formas de arte so criadas.
O estado da arte actual continua longe de promover uma soluo satisfatria para
a interpretao corporal aplicada ao contexto musical. Para ajudar a preencher esta
lacuna, foi criado o RitMoVdeo.
Este projecto tem como principais objectivos investigar e desenvolver uma
aplicao, a funcionar em tempo real, capaz de estimar e executar ritmo musical
pela anlise de movimentos humanos captados em vdeo.
Foram tambm analisados e desenvolvidos algoritmos de segmentao e
seguimento de objectos, assim como metodologias capazes de estimar ritmo atravs
do seguimento efectuado.
Os principais procedimentos foram comparados, os resultados obtidos e as
concluses retiradas. Por fim os algoritmos mais adequados foram integrados sob
uma plataforma comum e foi criada a aplicao, cumprindo assim os objectivos
definidos.
Este relatrio expe todos os passos tomados no decorrer deste projecto, as
qualidades e limitaes actuais do sistema, assim como o trabalho futuro que se
considera relevante.


iv



v



Abstract



Bodily movement is an important mean to perceive, express and interact with the
world. By capturing it in a video sequence and extracting its characteristics, one can
find the rhythm of that movement. By using that rhythm to generate sounds one
triggers one type of interactivity between Men and Machine and new art forms are
created.
The current state of the art is still far from promoting a satisfying solution for the
corporal interpretation applied to the musical context. To help filling this gap,
application RitMoVdeo was created.
The main objectives of this project is to investigate and develop an application
that works in real time and is able to estimate and execute musical rhythm by the
analysis of human movements captured in video.
Tracking and developed segmentation algorithms were investigated, as well as
methodologies that are able to estimate the rhythm through the performed tracking.
The main procedures were compared, the results obtained and the conclusions
drawn. In the end, the best algorithms were integrated under a common platform
and the application was created fulfilling all the defined objectives.
This report describes all the steps taken in de course of this project, the qualities
and limitations of the system, as well as any future work considered relevant.

vi






vii



Agradecimentos



Gostaria de agradecer principalmente aos meus orientadores Prof. Doutor Carlos
Guedes e Prof. Doutor Jaime S. Cardoso, pela pacincia e disponibilidade
demonstrada no decorrer do desenvolvimento deste projecto.
Agradeo tambm aos restantes investigadores do INESC Porto, com quem a
convivncia e discusso de vrias ideias ao longo destes trs meses permitiu a
realizao de um projecto mais consistente.
A nvel mais pessoal, aqui deixo o meu agradecimento aos meus amigos de
sempre, e Ana que me faz sorrir todos os dias.
Por fim, mas no menos importante, quero aproveitar para agradecer minha
famlia pelo amor e apoio demonstrado em todos os momentos da minha vida.

viii


ix




ndice de Contedos



RESUMO............................................................................................ III
ABSTRACT......................................................................................... V
AGRADECIMENTOS.............................................................................. VII
NDICE DE CONTEDOS .........................................................................IX
LISTA DE FIGURAS ............................................................................. XIII
LISTA DE TABELAS.............................................................................. XV
ABREVIATURAS................................................................................ XVII
CAPTULO 1........................................................................................1
INTRODUO ......................................................................................1
1.1 APRESENTAO DO INSTITUTO DE ENGENHARIA DE SISTEMAS E COMPUTADORES DO PORTO
(INESC PORTO) ............................................................................... 1
A Unidade de Telecomunicaes e Multimdia.........................................2
1.2 MOTIVAO ............................................................................... 3
1.4 OBJECTIVOS .............................................................................. 5
1.5 ORGANIZAO E TEMAS ABORDADOS NO PRESENTE RELATRIO........................... 5
1.6 CONTRIBUIES RELEVANTES ............................................................. 6
CAPTULO 2........................................................................................9
CARACTERIZAO DO PROBLEMA .............................................................9
2.1 ESTADO DA ARTE.........................................................................10
2.1.1 Inside-In ............................................................................. 10
Exemplo: Inside-In........................................................................................... 11
2.1.2 Inside-Out ........................................................................... 11
Exemplos: Inside-Out ....................................................................................... 11
2.1.3 Outside In .......................................................................... 14
Exemplos: Outside-In ....................................................................................... 14
1) Sistema desenvolvido para armazenamento de dados digitais ................................ 15
2) Sistema desenvolvido para fins teraputicos..................................................... 16
3) Sistemas desenvolvidos com fins artsticos ....................................................... 17
2.2 PLATAFORMAS DE PROGRAMAO........................................................21
2.2.1 Max/MSP/Jitter .................................................................... 21

x
2.2.2 Pure Data............................................................................ 22
2.2.3 Eyesweb ............................................................................. 22
2.2.4 Isadora ............................................................................... 23
2.2.5 PROCESSING ...........................................................................23
2.3 RESUMO E ANLISE CRTICA..............................................................24
CAPTULO 3...................................................................................... 25
COMPARAO EXPERIMENTAL DE ALGORITMOS DE SEGMENTAO E TRACKING.. 25
3.1 SEGMENTAO DE IMAGENS ..............................................................25
3.1.1 Running average (RAvg) ........................................................... 26
3.1.2 Mixture of Gaussians (MoG) ...................................................... 27
3.1.3 Kernel Density Estimation (KDE)................................................. 28
3.1.4 Principal Features (PF)............................................................ 28
3.2 TESTE COMPARATIVO DOS ALGORITMOS DE SEGMENTAO ..............................28
3.2.1 Resultados........................................................................... 29
3.3 TRACKING DE OBJECTOS .................................................................31
3.3.1 Representao dos objectos...................................................... 32
Representaes baseadas na forma: ..................................................................... 32
Representaes baseadas na aparncia:................................................................. 33
3.3.2 Seleco de caractersticas para o tracking ................................... 35
3.4 ALGORITMO DE TRACKING................................................................36
3.4.1 Resultados........................................................................... 39
3.5 RESUMO E ANLISE CRTICA..............................................................41
CAPTULO 4...................................................................................... 43
ESTIMAO DE RITMO.......................................................................... 43
4.1 RITMO E O CORPO HUMANO..............................................................43
4.2 CARACTERSTICAS QUE PERMITEM ESTIMAR O RITMO.....................................44
4.2.1 Resultados........................................................................ 47
4.2.2 Uma abordagem alternativa ao clculo do ritmo............................. 48
4.3 ALGORITMOS DE ESTIMAO DE RITMO..................................................50
4.3.1 Algoritmo FFT ...................................................................... 51
4.3.2 Algoritmo de Goertzel ............................................................ 52
4.3.3 Implementao e teste dos algoritmos de estimao de ritmo ............ 53
4.3.4 Resultados........................................................................... 54
4.4 RESUMO E ANLISE CRTICA..............................................................55
CAPTULO 5...................................................................................... 57
INTEGRAO..................................................................................... 57
5.1 PLATAFORMA DE DESENVOLVIMENTO ....................................................57
5.2 ARQUITECTURA DO SISTEMA .............................................................57
5.2.1 Segmentao background/foreground.......................................... 58
5.2.2 Tracking ............................................................................. 59
5.2.3 Extraco e anlise de caractersticas......................................... 59


xi
1) Clculo da rea de cada componente................................................................. 59
2) Clculo centro de massa de cada componente ...................................................... 59
3) Anlise das caractersticas.............................................................................. 61
5.2.4 Estimao de ritmo ................................................................ 61
5.2.5 Execuo Musical................................................................... 61
5.3 DIFICULDADES E LIMITAES.............................................................62
CAPTULO 6...................................................................................... 63
CONCLUSES E PERSPECTIVAS DE TRABALHO FUTURO................................. 63
6.1 TRABALHO FUTURO......................................................................63
REFERNCIAS .................................................................................... 65





xii


xiii



Lista de Figuras



Figura 1 - A imagem original esquerda seguida da cadeia (quatro blocos) de anlise.
.................................................................................................4
Figura 2 - Luva Measurand (de [2]). .......................................................... 11
Figura 3 - Prottipo dos transmissores RF com acelermetros embutidos (de [3]). .. 12
Figura 4 O hardware de DanSense e a sua aplicao no corpo humano (de [4]). ... 13
Figura 5 Viso geral da arquitectura do sistema MCM (de [5]). ........................ 14
Figura 6 Fluxograma de funcionamento do sistema de Nakazawa (de [7])........... 15
Figura 7 A mo captada pela cmara (esquerda), a imagem segmentada (centro)
e a orientao e centro do objecto calculado (direita) (de [8]). .................. 16
Figura 8 - Viso conceptual do Music Maker (de [8]). ..................................... 17
Figura 9 - Extraco das sub-regies da silhueta e do centro de massa a partir das
coordenadas 2D (de [10]). ............................................................... 18
Figura 10 - O m.bandit retorna a frequncia fundamental do sinal analisado (de [11]).
............................................................................................... 19
Figura 11 As vrias componentes do bailarino e o movimento efectuado ao longo de
vrias divises mtricas do tempo musical (de [13]). ............................... 21
Figura 12 - Grafo de interseco para duas segmentaes (de [19]). Os pesos
correspondem ao nmero de pixels na interseco.................................. 29
Figura 13 Na fila de cima as sequncias originais CO (Corredor), EX (exterior) e AE
(Auto-estrada). Em baixo a respectiva segmentao efectuada pelo algoritmo
MoG (de [19]). ............................................................................. 30
Figura 14 - Representaes do objecto. (a) Centroide, (b) Pontos mltiplos, (c)
rectngulo, (d) elipse, (e) mltiplas partes, (f) esqueleto, (g) contorno, (h)
pontos de controlo no contorno, (i) silhueta (de [25]). ............................. 33
Figura 15 Fluxograma de funcionamento do algoritmo de separao de
componentes............................................................................... 38
Figura 16 a) Imagem de entrada para o algoritmo de tracking; b) Resultado da
aplicao do FD e da separao de componentes; c) Colorao dos diferentes
componentes............................................................................... 39

xiv
Figura 17 Resultados do algoritmo (a azul) e do ground-truth (a rosa).............. 40
Figura 18 Sequncia de teste esquerda e extraco das coordenadas do centro de
massa e da rea do objecto direita. ................................................. 45
Figura 19 Grfico da variao das coordenadas em x e em y, respectivamente.
Frequncia de 1Hz. ....................................................................... 45
Figura 20 Grfico da equao da mdia (a) e da equao das normas (b). .......... 46
Figura 21 Grfico da variao da frequncia calculada com recurso equao da
mdia, frequncia fundamental igual a 0,9804 1Hz. ............................ 47
Figura 22 Grfico da variao da frequncia calculada com recurso equao das
normas, frequncia fundamental = 0,9804Hz 1Hz. ................................. 48
Figura 23 Exemplo da evoluo temporal do valor dum determinado pixel numa
dada posio (x,y)......................................................................... 49
Figura 24 Grfico da evoluo temporal das coordenadas do objecto em anlise. . 50
Figura 25 Arquitectura do sistema RitMoVdeo. .......................................... 58
Figura 26 Sistema de coordenadas que permite calcular a mudana de base. ..... 60
Figura 27 Rectngulo que limita o componente. ........................................ 61
Figura 28 Sequncia de 4 imagens em que o tracking falha na colorao e
delimitao do objecto................................................................... 62



xv



Lista de Tabelas



Tabela 1 - mdia e frames por segundo para cada mtodo, nas diferentes
sequncias (de [19]). ..................................................................... 30
Tabela 2 Transies entre frames consecutivas e respectivo valor do FD............ 37
Tabela 3 Sequncias de vdeo de teste e respectiva dificuldade. ..................... 39
Tabela 4 Resultados de desempenho do algoritmo de tracking em percentagem. . 40
Tabela 5 Resultados dos algoritmos FFT e Goertzel na anlise da frequncia
fundamental da sequncia de vdeo vertical. ........................................ 54
Tabela 6 -Resultados dos algoritmos FFT e Goertzel na anlise da frequncia
fundamental da sequncia de vdeo diagonal. ....................................... 54



xvi


xvii


Abreviaturas



Lista ue abieviatuias (poi oiuem alfabtica):
AE Sequncia na auto-estrada
CO Sequncia no corredor
DC Direct Current
DFT Transformada Discreta de Fourier
EX Sequncia exterior
FEUP Faculdade de Engenharia da Universidade do Porto
FFT Fast Fourier Transform
FT Sequncia na fonte
HSV Hue and Saturation Value
I&D Investigao e Desenvolvimento
INESC Porto Instituto de Engenharia de Sistemas e Computadores do Porto
KDE Kernel Density Estimation
LAB Luminance A-B (A e B so componentes cromticos)
LUV Luminance, U (red vs green), e V(blue vs yellow)
MEMS Micro-Electro-Mechanical Systems
MIDI Musical Instrument Digital Interface
MIEEC Mestrado Integrado em Engenharia Electrotcnica e de Computadores
MoG Mistura de Gaussianos
MSP MAX Signal Processing
OpenCV Open Source Computer Vision Library
PD Pure Data
PF Principal Features
Ravg Running Average
RE Sequncia no restaurante
RF Rdio frequncia
RGB Red Green blue
UTM Unidade de Telecomunicaes e Multimdia

xviii











1




Captulo 1
Introduo



Esta dissertao insere-se no projecto de Mestrado Integrado em Engenharia
Electrotcnica e de Computadores (MIEEC) da Faculdade de Engenharia da Universidade do
Porto (FEUP). O projecto intitula-se Extraco de Informaes Rtmicas de Movimento em
Dana Atravs de um Sinal de Vdeo (RitMoVideo).
O trabalho decorreu nas instalaes do Instituto de Engenharia de Sistemas e
Computadores do Porto (INESC Porto), na Unidade de Telecomunicaes e Multimdia
(UTM).
Este captulo inicia-se com uma breve descrio do INESC Porto e da UTM. Em seguida
apresenta-se a motivao, o projecto e os objectivos do mesmo.
1.1 Apresentao do Instituto de Engenharia de Sistemas e Computadores do
Porto (INESC Porto)

O INESC Porto Instituto de Engenharia de Sistemas e Computadores do Porto uma
associao privada sem fins lucrativos reconhecida como instituio de utilidade pblica,
tendo adquirido em 2002 o estatuto de Laboratrio Associado. Desenvolve actividades de
investigao e desenvolvimento, consultoria, formao avanada e transferncia de
tecnologia nas reas de Telecomunicaes e Multimdia, Sistemas de Energia, Sistemas de
Produo e Optoelectrnica.
O INESC Porto uma instituio criada para constituir uma interface entre o mundo
acadmico e o mundo empresarial da indstria e dos servios, bem como a administrao
Intiouuo

2
pblica, no mbito das Tecnologias de Informao, Telecomunicaes e Electrnica,
dedicando-se a actividades de investigao cientfica e desenvolvimento tecnolgico,
transferncia de tecnologia, consultoria e formao avanada. Procura pautar a sua aco
por critrios de inovao, de internacionalizao e de impacto no tecido econmico e
social, sobretudo pelo estabelecimento de um conjunto de parcerias estratgicas que
garantam a sua estabilidade institucional e sustentabilidade econmica.

A Unidade de Telecomunicaes e Multimdia

A Unidade de Telecomunicaes e Multimdia actua em reas chave no mbito das
modernas redes e servios de comunicao, em especial arquitecturas de redes, servios
de telecomunicaes, processamento de sinal e imagem, microelectrnica, TV digital e
multimdia.
Atravs da organizao de grupos de Investigao e Desenvolvimento, realiza
investigao e promove a formao avanada de recursos humanos, explorando
nomeadamente financiamentos de programas de I&D europeus e nacionais. Participa em
projectos europeus que permitem a cooperao cientfica e tcnica com empresas e
centros de I&D de vanguarda, a actualizao tecnolgica permanente e o acompanhamento
da actividade de organismos de normalizao. As actividades da UTM tm sido realizadas
nomeadamente em parceria com operadores de redes e fornecedores de servios de
Telecomunicaes, operadores de Televiso e fabricantes de sistemas de comunicao e
de equipamento de teste.



S
1.2 Motivao

A motivao para integrar tecnologia na nossa maneira de viver j existe h muito,
primeiro por questes de eficincia, depois para tarefas funcionais. Mais recentemente,
tambm o mundo artstico comea a fazer uso desta mais-valia para melhorar o seu
processo criativo.
O movimento corporal um meio importante de percepo, expresso e interaco no
mundo. Podemos mesmo encar-lo como uma forma de comunicao, um reflexo do nosso
estado de esprito. Muitas vezes basta olhar para algum e constatamos na forma como se
move e gesticula que uma pessoa alegre, triste, tmida, sexy, etc.
atravs desse movimento que os bailarinos criam e comunicam a sua arte.
Tradicionalmente, o coregrafo cria a coreografia para uma msica j existente, ou
trabalha com um msico para compor uma msica original para uma dana. Os bailarinos
sincronizam os seus movimentos com a msica e a coreografia ensaiada repetidamente
at estar consolidada com os sons e imagens visuais que a acompanham.
Num ambiente digital interactivo baseado no movimento, o coregrafo e os bailarinos,
atravs da execuo dos seus movimentos, podem manipular a msica e o estilo visual
presente, alterando assim a aparncia e sentimento da coreografia, de exibio em
exibio. Facultar aos bailarinos a interaco com computadores, atravs de um vasto
vocabulrio de movimentos expressivos, permite-lhes executar a sua coreografia e
exibio, das mais diversas formas e controlar vrios aspectos da mesma.
Actualmente existem alguns sistemas que permitem a interaco Homem-Mquina
atravs de movimentos capturados em vdeo. No entanto, o estado da arte actual continua
longe de promover uma soluo satisfatria para a interpretao corporal aplicada ao
contexto musical. neste sentido que surge o projecto RitMoVdeo.
Motivao
Intiouuo

4
1.3 Apresentao do Projecto

O RitMoVdeo um projecto interactivo que funciona em tempo real. Neste pretende-
se desenvolver uma aplicao, em que o computador analisa um sinal vdeo de entrada e
estima o ritmo dos movimentos dos objectos presentes na cena.
Para tal, o desenvolvimento deste projecto passar, numa primeira fase, pela correcta
segmentao background
1
/foreground
2
. Concluda esta fase com sucesso, a aplicao
dever separar as diversas componentes do objecto presente em foreground e para cada
uma fazer a anlise das suas caractersticas de movimento, de forma a estimar o ritmo a
que se movimentam. Obtido o ritmo, este usado para estabelecer o tempo musical de
uma sequncia em reproduo.
No exemplo da Figura 1, o objecto em anlise ser uma bailarina. Na sua representao
em vdeo, o seu corpo ser dividido em cabea, tronco e membros e sero estas
componentes que permitiro estimar o ritmo.
0 piojecto foi ento aboiuauo como uma caueia composta poi quatio blocos (Figuia 1):
! Segmentao background/foreground
! Diviso dos componentes presentes (tracking
3
)
! Extraco e anlise de caractersticas
! Bloco de estimao de ritmo


Figura 1 - A imagem original esquerda seguida da cadeia (quatro blocos) de anlise.


1
Regio exterior aos objectos de interesse na imagem.
2
Regio ou objecto de interesse na imagem, neste caso a bailarina.
3
Estimar a trajectria de um objecto presente num plano de imagem conforme este se move pelo cenrio.



S
O mtodo de desenvolvimento baseou-se no seguinte:
! Estudo das diferentes tcnicas que permitem executar as tarefas propostas
em cada bloco;
! Anlise comparativa, dessas mesmas tcnicas;
! Desenvolvimento de cada bloco, de acordo com a anlise efectuada
! Melhoria de cada bloco da cadeia progressivamente;
! Integrao dos mdulos num sistema completo, em tempo real;
1.4 Objectivos

Os objectivos propostos para esta dissertao focaram essencialmente a
problemtica da automatizao da extraco de caractersticas de movimento dos corpos
presentes em foreground e a sua correcta anlise ao nvel rtmico. Neste sentido, o
trabalho desenvolvido visou o cumprimento dos seguintes objectivos:
! Estudo comparativo e crtico de diferentes metodologias para segmentao
foreground/background de uma sequncia de vdeo em tempo real;
! Desenvolvimento de algoritmos automticos de decomposio da silhueta de
um corpo nos seus principais constituintes;
! Estudo de diferentes metodologias para a anlise de caractersticas de
movimento em tempo real;
! Desenvolvimento de algoritmos automticos de anlise das caractersticas de
movimento;
! Desenvolvimento de algoritmos automticos de gerao e manipulao de
ritmo e tempo musical, respectivamente;

1.5 Organizao e temas abordados no presente relatrio

Este relatrio composto por seis captulos. O primeiro captulo dedicado ao
enquadramento do projecto, contexto global do problema e objectivos a alcanar. Termina
com uma pequena descrio das contribuies alcanadas.
Apresentao do Projecto
Intiouuo

6
No segundo captulo Estado da Arte so descritos projectos e ferramentas existentes
que permitem perceber as melhores estratgias de abordagem ao problema tendo em
conta as virtudes e limitaes de cada soluo.
Aps realizar a avaliao cientfica e tecnolgica do estado da arte, no captulo trs
Comparao experimental de algoritmos de segmentao e tracking so apresentados
detalhadamente e comparados os principais algoritmos de segmentao e seguimento de
objectos. A anlise crtica evidencia os resultados e justifica qual o algoritmo a
implementar.
O captulo quatro Estimao de Ritmo revela a anlise desenvolvida relativamente
extraco de caractersticas fundamentais do movimento captado. Detalha e compara as
equaes mais relevantes, assim como os principais algoritmos que permitem estimar o
ritmo em tempo real. Tal como na seco anterior termina com uma anlise crtica sobre
os resultados e determina os algoritmos a utilizar.
O captulo Integrao inicia com a viso global da arquitectura do sistema. Depois, os
algoritmos implementados para cada bloco so descritos por ordem cronolgica de
funcionamento. So descritas as principais limitaes e dificuldades do sistema.
Por fim, o sexto e ltimo captulo resume as principais concluses obtidas. tambm
sugerido o trabalho futuro.
1.6 Contribuies relevantes

O desenvolvimento do projecto RitMoVdeo gerou vrias questes interessantes. De
certa forma, as solues encontradas para os problemas que surgiram apresentam-se como
contribuies relevantes para as mais diversas reas de investigao e desenvolvimento.
Na rea da segmentao de imagens, de destacar o estudo comparativo de qualidade
versus tempo de execuo dos principais algoritmos de segmentao e a respectiva
implementao do que foi considerado mais adequado.
Ao nvel do tracking, foi realizada uma anlise que demonstra a melhor forma de
representar os movimentos humanos. Foi desenvolvido um algoritmo que permite o
tracking e diviso do corpo humano nos seus diversos componentes.



7
Os estudos e algoritmos desenvolvidos ao nvel de extraco de caractersticas e
estimao de ritmo apresentam uma contribuio significativa para aplicaes, no s do
mesmo contexto, como para outras, por exemplo, didcticas ou mdicas.
Por fim, ao nvel de aplicaes vocacionadas para o mesmo propsito esta
apresenta-se como uma boa alternativa relativamente s criadas previamente, pois
permite a escolha da componente do corpo humano sobre a qual se pretende calcular o
ritmo.
Devido sua interactividade o RitMoVdeo foi escolhido para representar o INESC Porto,
no Dia da Universidade do Porto a decorrer em Maro de 2009.
Contribuies Relevantes
Intiouuo

8


9




Captulo 2
Caracterizao do Problema



Tendo em conta os objectivos delineados para o trabalho, neste captulo
descreve-se a investigao sobre projectos existentes cujos resultados possam ser
aplicados no sistema proposto. A abordagem adoptada para a anlise do estado da arte no
se cingiu anlise de projectos de segmentao background/foreground. Na verdade, o
contexto foi alargado s principais tcnicas de tracking de objectos em vdeo e a projectos
com contributos relevantes na anlise de ritmo.
O esclarecimento dos conceitos bsicos subjacentes a estas tcnicas permite
compreender a sua aplicao em situaes concretas, as quais sero introduzidas
posteriormente.
Sero expostas tambm as principais plataformas de programao de projectos
deste gnero.









Caracterizao do Problema

1u
2.1 Estado da Arte

Nas ltimas duas dcadas, vrias tcnicas tm sido desenvolvidas e
aperfeioadas para suportar os requisitos de software de sistemas combinados de msica e
animao criadas e executadas em tempo real por um computador. As tcnicas incluem
novos ambientes de programao que suportam a integrao de vrias funes e processos
que se podem executar em tempo real.
Existem vrios mtodos para traduzir os movimentos fsicos em dados digitais que
possibilitam controlar parmetros musicais. Axel Mulder [1], na dcada de 90, distinguiu
trs tcnicas que ainda hoje so uma referncia para o tracking dos movimentos humanos:
Inside-In (de dentro para dentro), Inside-Out (de dentro para fora) e Outside-In (de fora
para dentro).
Nas subseces seguintes estas trs tcnicas sero detalhadas e exemplificadas.

2.1.1 Inside-In

As tcnicas Inside-in recorrem a sensores de forma a mapear os movimentos dos
membros do corpo humano, por exemplo braos ou dedos. Estes sensores podem ser luvas,
sensores flexveis piezo-elctricos (medem os ngulos das articulaes), acelermetros,
giroscpios
4
e inclinmetros
5
. Em geral, no permitem medir a rotao e no so
dependentes de um ponto de referncia. Uma vez que os sensores so posicionados no
corpo, esta tcnica considerada intrusiva e invasiva. A necessidade de cabos de
alimentao e comunicao nestes sensores pode interferir com a liberdade de
movimentos.


4
Dispositivo que consiste de um rotor suspenso por um suporte formado por dois tringulos articulados. O seu
funcionamento baseia-se no princpio da inrcia. Serve como referncia de direco, mas no de posio, ou
seja, permite medir com preciso qualquer mudana na sua orientao, excepto rotaes que ocorram no
plano de giro dos discos do giroscpio.

5
Dispositivo referente inclinao do objecto relativamente ao eixo horizontal



11
Exemplo: Inside-In

A empresa Measurand [2] utiliza fibras pticas flexveis e sensores geotcnicos,
recorrendo tecnologia MEMS (Micro-Electro-Mechanical Systems), que consiste na
integrao de elementos mecnicos, sensores, actuadores e electrnica num substrato de
silicone com micro-tecnologia para mapear os movimentos. As fibras podem ser aplicadas a
coletes, luvas (Figura 2) e outras peas de vesturio.

Figura 2 - Luva Measurand (de [2]).

2.1.2 Inside-Out

As tcnicas inside-out empregam sensores no corpo que permitem efectuar o tracking a
partir de fontes externas. Podem ser usados para medir o movimento dos grandes membros
do corpo humano (braos e pernas), assim como fornecer informaes acerca da posio da
pessoa relativamente ao cenrio. Estes sensores podem ser acelermetros, giroscpios, ou
leds infravermelhos colocados no corpo, o que retorna ao mesmo problema de obstruo e
invaso relatado anteriormente.

Exemplos: Inside-Out

Existem vrios tipos de sensores que permitem mapear os movimentos executados por
uma pessoa.
Estado da Arte
Caracterizao do Problema

12
1) Em 2002, Mark Feldmeier [3], desenvolveu transmissores de frequncias rdio (RF)
(Figura 3) que usam acelermetros e transmitem dados para um computador que executa a
Fast Fourier Transform
6
(FFT) e outros algoritmos de processamento de sinal. Assim, extrai
o ritmo musical e, consoante as mudanas de tempo dos bailarinos, o sistema adapta a
msica.
O funcionamento do sistema bastante bsico, os sensores acelermetros esto
configurados para uma determinada acelerao, quando esta ultrapassada um sinal RF
enviado para uma base que actualizada de 2ms em 2ms. Esta informao enviada por
uma porta MIDI (Musical Instrument Digital Interface) para um computador onde
processada no ambiente de programao Max
7
. O programa executa a FFT do sinal (de 10
em 10 segundos, por exemplo) e retorna a frequncia fundamental. Atravs desta
frequncia obtm-se o tempo musical.
O Max usado diversas vezes para programar este tipo de sistemas e os sensores pesam
apenas 5gr, tm uma durao de bateria elevada e o preo de apenas 8 dlares por cada
10 unidades.


Figura 3 - Prottipo dos transmissores RF com acelermetros embutidos (de [3]).

2) Em 2006, Urs Enke [4], apresentou o DanSense. Este projecto consiste em analisar o
ritmo de movimentos humanos em tempo real, com recurso a sensores acelermetros
aplicados no corpo. Os dados extrados com os acelermetros permitem distinguir as
magnitudes dos movimentos e a sua distribuio no tempo. Assim, utilizando uma

6
Transformada rpida de Fourier - um algoritmo eficiente para se calcular a Transformada Discreta de
Fourier (DFT) e a sua inversa.
7
Max programa desenvolvido por Miller S. Puckette em meados da dcada de 80, altamente modular e a
maior parte das rotinas existem sobre a forma de bibliotecas partilhadas (open source). Explicado na pag. 19.



1S
combinao de anlise espacial e espectral (Transfomada de Fourier) desses dados, Enke
consegue extrair os padres de ritmo. O seu projecto foi testado com movimentos simples
e complexos, atingindo resultados satisfatrios. No entanto, conforme se exemplifica na
Figura 4, esta metodologia pode ser um pouco intrusiva do ponto de vista da sua utilizao
em dana.

Figura 4 O hardware de DanSense e a sua aplicao no corpo humano (de [4]).


3) O sistema MCM: Motion Capture Music [5] foi desenvolvido capturar movimentos a
partir do sistema Vicon8 [6] e usar essa captura para controlar dados, por exemplo MIDI.
O sistema Vicon8 captura informao tridimensional acerca da localizao exacta de
pontos num corpo, que rodeado por oito cmaras apoiadas por luzes estroboscpicas
(vulgarmente conhecidas por flash). No corpo so colocados marcadores especiais que
reflectem a luz e as imagens obtidas pelas oito cmaras so usadas para calcular as
coordenadas cartesianas X, Y, Z de cada marcador. Uma configurao tpica utiliza trinta
ou mais marcadores que so detectados a uma taxa de trinta, sessenta, ou cento e vinte
frames
8
por segundo. Os dados podem ser armazenados num ficheiro para uso futuro, ou
com o sistema Vicon RT (funciona em tempo real) podem ser enviados directamente para
software de edio grfica para controlar uma animao.
A Figura 5 ilustra a arquitectura geral do sistema.

8
Uma imagem de uma sequncia de vdeo.
Estado da Arte
Caracterizao do Problema

14

Figura 5 Viso geral da arquitectura do sistema MCM (de [5]).

2.1.3 Outside In

As tcnicas OutsideIn recorrem a sistemas electro-pticos que conseguem efectuar o
tracking de marcadores reflectores, ou fontes naturais no corpo. Um exemplo simples
desses sistemas uma cmara de vdeo externa que permite fazer o tracking do corpo. As
tcnicas OutsideIn so as menos intrusivas das trs e so indicadas para mapear grandes
partes do corpo, mas apresentam vrios problemas em fazer o mapeamento de partes mais
pequenas, como dedos. A iluminao do cenrio tambm pode influenciar o correcto
funcionamento do sistema. Estas tcnicas requerem, em geral, uma elevada capacidade de
processamento computacional e esto limitadas pela ocluso.
Apesar de todas estas contrapartidas, a metodologia Outside-In apresenta-se como a
melhor alternativa para o projecto em questo. Assim, foi efectuada uma investigao
mais detalhada a nvel de exemplos, que se expem de seguida.

Exemplos: Outside-In

A aquisio sem sensores efectuada recorrendo apenas s cmaras de vdeo e
software de anlise de imagem. Existem j aplicaes desenvolvidas com propsitos



1S
semelhantes ao proposto neste trabalho e outras, que foram desenvolvidas para outros
fins, como teraputicos ou armazenamento de dados digitais, mas que podem contribuir
com mtodos de anlise e processamento de imagem para este trabalho.

1) Sistema desenvolvido para armazenamento de dados digitais

O projecto de Atsushi Nakazawa [7], refere tcnicas para gerar um arquivo digital das
tradies e heranas culturais do povo japons. O objectivo principal arquivar passos de
dana, detectar passos primitivos (bsicos).
Estes passos tm se estar sincronizados com o ritmo da msica. Por isso, foi
desenvolvido um mtodo que segmenta o movimento de acordo com o ritmo musical para
extrair os passos bsicos. Divide a captao do sujeito em centro de massa, ps e mos, e
atravs da conjugao com o tempo da msica consegue extrapolar se foi feita uma
sequncia de movimentos ou no (considera que uma sequncia de movimentos correcta
se existe uma pausa que corresponde ao tempo musical). O mtodo de extraco do ritmo,
assim como o processo implementado na conjugao de ritmo e imagem, pode ser
consultado na Figura 6.


Figura 6 Fluxograma de funcionamento do sistema de Nakazawa (de [7]).

Estado da Arte
Caracterizao do Problema

16
2) Sistema desenvolvido para fins teraputicos

O Music Maker, desenvolvido por Mikhail Gorman [8], permite s pessoas com
debilitaes fsicas que as impedem de tocar um instrumento convencional, fazerem
msica enquanto executam os seus exerccios teraputicos. Usa tcnicas de viso
computacional para converter os movimentos dos membros das pessoas (dedos, mos ou
ps) em sons ou ambientes visuais. Pode ser ajustado s particularidades teraputicas de
cada paciente e fornece ferramentas quantitativas para controlar o processo de
recuperao e estabelecer novos objectivos teraputicos.
utilizado o software Eyesweb [9] e a deteco e orientao geomtrica do objecto
so feitas por anlise de cor de pele humana, pelas suas componentes de cor
caractersticas: vermelha, verde e azul (Figura 7).


Figura 7 A mo captada pela cmara (esquerda), a imagem segmentada (centro) e a orientao e centro
do objecto calculado (direita) (de [8]).

Para obter melhores desempenhos, no incio de cada terapia permite a programao
das cores, visto existirem diversos tons de pele de pessoa para pessoa. A Figura 8
demonstra de uma forma geral como funciona o programa.




17

Figura 8 - Viso conceptual do Music Maker (de [8]).

3) Sistemas desenvolvidos com fins artsticos

a) Em 2004, Antnio Camurri e colegas [10], desenvolveram um estudo que pretende
analisar se os observadores de uma dana conseguem antecipar o prximo passo do
bailarino. Usa mtodos para detectar o centro de massa dos bailarinos, apenas por anlise
de imagem e cria a linha temporal do centro de massa do incio ao fim da performance.
Na experincia discutida neste estudo, o Eyesweb foi responsvel por extrair
automaticamente as coordenadas 2D do centro de massa de uma pessoa presente num
vdeo, apresentar o vdeo aos observadores e gravar as respectivas respostas.
A posio do centro de massa da silhueta do bailarino, presente no vdeo, obtida
utilizando dois algoritmos includos nas bibliotecas do Eyesweb. O primeiro aproxima a
posio do centro de massa atravs da primeira ordem dos momentos da silhueta em 2D.
Apesar desta medida ser precisa para muitas aplicaes diferentes, muitas vezes sofre
erros devidos ao rudo ou a uma segmentao errada dos membros do corpo humano. Uma
medida mais robusta foi alcanada com uma tcnica que emprega a projeco de padres
espcio-temporais. Embora no seja em tempo real, esta tcnica permite a extraco de
sub-regies da silhueta. A sub-regio maior usualmente associada ao tronco e as outras
aos membros. As sub-regies ajudam, assim, a reduzir a rea em que o clculo do centro
de massa tem de ser efectuado, reduzindo tambm o rudo ou eventuais erros introduzidos
Estado da Arte
Caracterizao do Problema

18
pela deteco dos membros. A Figura 9 demonstra um exemplo da extraco das sub-
regies de um bailarino. Podemos verificar que o rectngulo azul a fronteira da silhueta
total. A sub-regio dentro do rectngulo central verde inclui o tronco, cabea e pernas,
enquanto as duas sub-regies a vermelho delimitam os braos. O ponto no centro do corpo
demonstra o centro de massa calculado a partir do rectngulo verde e o ponto inferior,
junto aos ps do bailarino, representa o centro de massa projectado no cho.

Figura 9 - Extraco das sub-regies da silhueta e do centro de massa a partir das coordenadas 2D (de [10]).

b) Em 2005, Carlos Guedes [11] constata que se registar o nmero de pixels que
mudaram a sua claridade em aces de movimento peridico ao longo do tempo, torna-se
possvel detectar periodicidades no sinal de anlise de vdeo, que tm correspondncia
directa com as aces executadas. Removendo a componente DC (contnua) desses sinais,
pode-se verificar uma elevada similaridade com sinais acsticos peridicos. Isto significa
que se aplicar um algoritmo capaz de detectar as periodicidades deste sinal, como a
Transformada Rpida de Fourier (Fast-Fourier Transform - FFT), por exemplo, pode-se
detectar o ritmo presente nesse sinal, calcular a sua frequncia fundamental e assim obter
o tempo que pode ser usado para fazer algo relevante musicalmente, tal como a gerao
de ritmos a partir do movimento de dana ou possibilitar ao bailarino o controlo, em
tempo real, do tempo musical.
De forma a executar as tarefas descritas anteriormente, Guedes expe a
implementao de cinco objectos externos (m.bandit, m.peak, m.weights, m.clock e
m.sample) para o programa Max/MSP/Jitter. Os objectos extraem informao do



19
movimento a partir de uma anlise prvia do vdeo por frame-differencing
9
e permitem, ao
bailarino, a gerao de ritmos ou o controlo do tempo de uma sequncia musical gerada
em tempo real. Estes objectos podem ser divididos em objectos de anlise (m.bandit,
m.peak, m.weights) e objectos de processamento (m.clock e m.lp). De seguida apresenta-
se um pequeno resumo acerca de cada objecto para compreender o seu funcionamento:
Objectos de anlise:
m.bandit um dos objectos fulcrais desta biblioteca. Consiste num banco de 150
filtros IIR de 2 ordem onde, em cada, aplicado o algoritmo de Goertzel [12]. Este
objecto tem como entrada a representao temporal do sinal extrado por frame-
differencing e capaz, entre outras, de estimar e extrair a frequncia fundamental do
sinal (Figura 10).

Figura 10 - O m.bandit retorna a frequncia fundamental do sinal analisado (de [11]).

m.peak tem, como entrada, a representao das variaes de tempo resultantes do
frame-differencing do sinal e, como sada, uma mensagem de execuo, quando atingido
um pico significativo no sinal. Este objecto especialmente til para executar eventos
(sons ou mensagens para outros objectos) quando ocorrem movimentos bastante
acentuados.
m.weights tem como entrada, o valor da frequncia fundamental, calculado pelo
m.bandit atravs do frame-differencing do sinal. Tem como sada, o valor que foi mais
vezes transmitido pelo m.bandit nos ltimos 60 frames. Uma das funes do m.weights

9
Diferenciao de frames, tcnica de segmentao que consiste em subtrair os frames actuais a um anterior,
pr-marcado como fundo.
Estado da Arte
Caracterizao do Problema

2u
fornecer uma memria curta ao m.clock, que pode ser utilizada para estabelecer o
tempo de uma sequncia de movimentos sem uma estimativa prvia.

Objectos de processamento:
m.clock outro dos objectos fulcrais desta biblioteca. um relgio adaptativo que
permite ao bailarino controlar o tempo de uma sequncia musical. Este objecto considera
a frequncia fundamental transmitida pelo m.bandit (convertida em milisegundos) como
um candidato ao tempo musical e permite fazer a adaptao temporal da sequncia se
esse candidato est dentro de limites estabelecidos, a partir da estimao de tempo
anterior.
m.sample actua como um amostrador da diferena de luminosidade calculada pelo
algoritmo que executa o frame-differencing. Este objecto foi elaborado para estabilizar a
taxa de imagens captadas pelas cmaras USB. As taxas de captao de imagens das
cmaras podem oscilar entre 23 e 34 fps (frames por segundo). Uma vez que o
processamento efectuado pelo m.bandit depende da taxa de amostragem, crucial que
essa amostragem seja estvel. Este objecto , assim, responsvel por garantir o
fornecimento dos valores de diferena de luminosidade com um fluxo estvel ao m.bandit.
c) Em 2006, Luiz Naveda [13] prope a representao digital dos movimentos de dana
do Samba. Este gnero musical entendido pelos msicos, bailarinos e ouvintes como um
fenmeno no qual a msica e a dana esto intrinsecamente relacionadas, no entanto no
existe um conhecimento aprofundado acerca da estrutura de ambos os domnios. Assim,
Naveda desenvolveu ferramentas que permitem relacionar, ao nvel mtrico, a msica e
dana. Para tal, escolheu trs excertos musicais de Samba para os quais gravou sequncias
de vdeo de bailarinos a danarem.
Apesar de recorrer segmentao manual dos vdeos, Naveda descreve algoritmos e
mtodos heursticos relevantes para a conjugao da msica com a dana. Como exemplo
dos resultados obtidos pode-se visualizar na Figura 11 os movimentos peridicos
detectados em vrias mtricas musicais.



21

Figura 11 As vrias componentes do bailarino e o movimento efectuado ao longo de vrias divises mtricas
do tempo musical (de [13]).

2.2 Plataformas de programao

Existem inmeras plataformas de programao para os mais diversos propsitos. No
contexto deste projecto so descritas, em seguida, as mais proeminentes.
2.2.1 Max/MSP/Jitter

O ambiente de programao Max [14] foi desenvolvido por Miller S. Puckette em
meados da dcada de 80, altamente modular e a maior parte das rotinas existem sobre a
forma de bibliotecas partilhadas (open source). O componente MSP (Max Signal
Processing) do Max/MSP/Jitter surgiu, em 1997, como uma biblioteca poderosa que
permite a manipulao de sinais udio-digitais em tempo real, possibilitando aos
utilizadores criar o seu prprio sintetizador e processador de efeitos. Em 2003 surgiu o
Jitter, a componente que veio permitir o processamento em tempo real de vdeo, matrizes
e imagens em trs dimenses.
Estado da Arte
Caracterizao do Problema

22
Actualmente, o Max/MSP/Jitter possui mais de cento e cinquenta objectos que cobrem
os elementos bsicos de sntese, amostragem e processamento de sinal. Permite que o
software seja criado atravs da juno desses diversos objectos existentes na sua
biblioteca, ou atravs de objectos externos projectados pelo programador em linguagem C
ou C++. Alm disso, possibilita controlar facilmente, com o computador, diverso hardware
e vice-versa. Devido sua capacidade extensvel e interface grfica, vastamente
reconhecido como a lngua franca para desenvolver software de msica e performance
interactivas. Este ambiente de programao grfico desenvolvido e comercializado pela
empresa Cycling '74. usado por compositores, performers, programadores, investigadores
e artistas interessados em criar software interactivo.

2.2.2 Pure Data

Em 1996, Miller S. Puckette, disponibilizou um programa, de uso livre, denominado
Pure Data (PD) [15]. O PD muito similar ao Max, tem uma base modular de objectos
externos que so usados como blocos de construo para os programas. Isto torna o
programa altamente extensvel atravs de uma interface de programao e encoraja os
programadores a adicionarem as suas prprias rotinas, seja em linguagem C, Python, Ruby
ou outras linguagens. Com a adio do ambiente grfico para multimdia, possvel criar e
manipular: imagens, vdeo e at grficos OpenGL
10
em tempo real e conjug-los com uma
infinidade de possibilidades de interactividade, nomeadamente, com udio digital ou
sensores externos, por exemplo.

2.2.3 Eyesweb

A plataforma aberta Eyesweb foi originalmente concebida para o desenvolvimento de
aplicaes em tempo real de dana, msica e multimdia. baseada na biblioteca OpenCv
da Intel (Open Source Computer Vision Library). A biblioteca OpenCv da Intel uma
coleco de cdigos (funes em C, C++, classes de programao e algoritmos populares)
desenvolvidos e disponibilizados por investigadores de todo o Mundo. O Eyesweb permite

10
Open Graphics Library, uma linguagem grfica 3D desenvolvida pela Silicon Graphics.



2S
ao utilizador experimentar modelos computacionais e mapear gestos de diferentes
modalidades (desporto, dana, etc.) que depois podem ser transfigurados para eventos
multimdia (sons, msica e efeitos visuais). Permite um desenvolvimento clere de
performances interactivas, atravs da incluso de um ambiente de programao visual,
que permite a transfigurao dos gestos a vrios nveis, desde movimentos em sons, at
movimentos em msica integrada, ambientes visuais ou alterao de cenrios.
2.2.4 Isadora

O Isadora [16], criado por Mark Coniglio, um ambiente de programao grfico para
Macintosh (existe uma verso beta para Windows). comercializado pela TroikaTronix e
fornece controlo interactivo sobre dados digitais, com especial nfase pela manipulao de
vdeo em tempo real.
Uma vez que qualquer exibio ou instalao nica, o Isadora foi desenvolvido, no
para ser um programa plug and play, mas para fornecer blocos de construo que podem
ser ligados entre si de forma flexvel, permitindo aos utilizadores seguirem os seus
impulsos artsticos. De entre as suas caractersticas, so de destacar, entre outras, os
mdulos de processamento de vdeo em tempo real e a acelerao de hardware permitida.
2.2.5 Processing

O Processing [17] surgiu em 2001 e uma plataforma de programao centrada nas
artes visuais. Inicialmente foi criado para servir como uma ferramenta de aprendizagem
de programao bsica, mas rapidamente se transformou numa ferramenta para projectos
mais elaborados. Visto que uma plataforma livre, os programadores que o utilizam
partilham, normalmente, os seus programas e cdigos. Com as contribuies da
comunidade de utilizadores foi possvel estabelecer vrias bibliotecas, das quais se
destacam, no contexto deste projecto, as de viso computacional e msica.
Plataformas de Programao
Caracterizao do Problema

24

2.3 Resumo e Anlise Crtica

Este captulo apresentou a reviso do estado da arte. Adquirir conhecimento nestes
campos foi um passo necessrio de forma a fornecer as bases para o desenvolvimento de
uma aplicao que consiga analisar em tempo real as periodicidades presentes em
movimentos de dana.
Pela anlise dos sistemas e mtodos descritos anteriormente, pode-se concluir que
existem vrios sistemas de deteco e mapeamento de movimentos capazes de gerar as
mais diversas sadas. No entanto, existe ainda espao para a continuao do
desenvolvimento destas tecnologias de forma a implementar novos algoritmos de
processamento que permitam uma optimizao dos resultados e aumentar as
funcionalidades de suporte criatividade dos artistas.
As tcnicas Inside-In e Inside-Out, pelas suas caractersticas intrusivas, foram
preteridas em relao Outside-In.
No captulo seguinte apresenta-se um estudo acerca das diferentes tcnicas de
segmentao e tracking.






2S



Captulo 3
Comparao Experimental de Algoritmos de Segmentao e Tracking



Neste captulo ser efectuada uma anlise comparativa dos algoritmos de segmentao
mais proeminentes assim como das principais tcnicas de tracking. So apresentados
resultados para cada subseco.

3.1 Segmentao de imagens

A segmentao de uma imagem consiste na sua decomposio nos seus elementos
constituintes. Um exemplo simples deste processo seria a segmentao de uma imagem
panormica de uma praia decompondo-a em zonas correspondentes s classes mar,
cu e areia. Tendo em conta que a segmentao automtica de imagens um
problema comum em aplicaes que envolvem processamento de imagem e/ou vdeo,
foram desenvolvidos vrios procedimentos que se encontram descritos na literatura da
especialidade [18].
Existem diversas estratgias que podem ser seguidas na resoluo de problemas de
segmentao, sendo que a eficincia de cada algoritmo est intrinsecamente relacionada
com as caractersticas das imagens processadas.
Provavelmente devido sua simplicidade, o mtodo mais comum de distinguir um
objecto que se move relativamente a um fundo, ser a subtraco de fundos (background
subtraction). O mtodo consiste em subtrair imagem actual, uma imagem de referncia,
obtida previamente. Os segmentos de imagem que no se alteraram so considerados
background, enquanto os restantes segmentos (que sofreram alteraes) so considerados
Segmentao e Tracking

26
como objectos (foreground). No entanto, se o modelo de referncia do background no for
actualizado adequadamente, esta tcnica fica gravemente susceptvel s condies de
ambiente em que se insere, como mudanas de luz, por exemplo.
Para alcanar uma modelao de background robusta, so necessrias tcnicas que
melhor se adaptem a comportamentos dinmicos. Idealmente, o desempenho no deve
depender da posio da cmara, nem deve ser sensvel ao que acontece no seu campo de
viso ou aos efeitos de luz usados. A modelao deve ser capaz de lidar com a ocluso
momentnea de objectos, sombras, mudanas de luz, objectos que se movem lentamente
e mudanas de cenrio.
tambm importante ter em conta que, para a aplicao em causa, a anlise ter de
ser efectuada em tempo real. Uma modelao complexa poder apresentar resultados
mais exactos, mas o tempo de anlise ser demasiado para o que se pretende. Deveremos
assim encontrar um compromisso entre qualidade do algoritmo e a sua complexidade
computacional.
neste sentido que foi realizada uma anlise comparativa experimental de diversos
mtodos existentes na actualidade.
Com fundamento em [19], foi efectuada uma comparao das tcnicas mais
proeminentes de segmentao, partindo da mais bsica at mais complexa. Em seguida
apresenta-se um pequeno resumo de cada, assim como os resultados comparativos obtidos.

3.1.1 Running average (RAvg)

O background pode ser modelado como uma mdia das imagens anteriores mas, de
forma a evitar requisitos elevados de memria, esta mdia aproximada por um filtro
adaptativo com uma taxa de aprendizagem !. Cada pixel do fundo, na posio (i,j) no
instante t dado por:
(1)

O foreground assim estimado usando uma subtraco limiar da imagem actual com a
estimada como background. Esta tcnica provavelmente a mais simples e de
implementao mais rpida. Os resultados ficam longe dos ideais, em particular em fundos



27
complexos. Uma vez que apenas se considera uma representao esttica do fundo para
fazer a subtraco, quando ocorre algum tipo de mudana dinmica no fundo, este
incorrectamente classificado como foreground. O mtodo Running Average representa o
algoritmo bsico.

3.1.2 Mixture of Gaussians (MoG)

Em vez de estimar directamente a representao do background, um mtodo mais
eficaz construir um modelo que consegue prever o comportamento de cada pixel, usando
o seu histrico. Tal pode ser obtido calculando a funo densidade probabilidade (f.d.p.)
de cada pixel. Assumindo que cada mudana estrutural que afecta o valor do pixel
causada por vrios processos, cada modelado por uma distribuio Gaussiana podemos
definir a probabilidade de observar o seu valor como:
(2)


Onde o K-simo Gaussiano de K distribuies, a funo densidade normal, ,
e so, respectivamente, uma estimativa do peso, o valor mdio e a varincia de
. Alm disso, pode ser facilmente provado ([20]) que, dado o vector de cor de um
pixel, a probabilidade de este pertencer ao background :
(3)

Se (onde um threshold
11
estabelecido) ento o pixel considerado
background.


11
Limiar de deciso, condio fronteira.
Segmentao de Imagens
Segmentao e Tracking

28
3.1.3 Kernel Density Estimation (KDE)

possvel aproximar a f.d.p. do background de cada pixel pelo histograma dos valores
mais recentes classificados como background. Este mtodo tem, no entanto, alguns
problemas, nomeadamente, o facto de o histograma ser uma funo discreta, muitas
vezes, conduz a uma f.d.p. errada. Um modelo no-paramtrico baseado no KDE
proposto em [21]. O KDE garante uma representao contnua do histograma. A f.d.p. do
background dada pela soma dos kernels Gaussianos centrados nos N mais recentes
valores de background:
(4)

O pixel classificado como background se . Um problema importante deste
algoritmo o clculo do - a largura de banda kernel. Em [20] proposta uma matriz
diagonal para o clculo da largura de banda.

3.1.4 Principal Features (PF)

Em [22] o background representado em cada pixel pelas suas caractersticas mais
frequentes, ou caractersticas principais. A classificao efectuada usando um critrio
Bayesiano e demonstra que um pixel representado por classificado como background
se
.

Caso contrrio foreground. No entanto necessrio calcular priori os valores de
, e . Como mencionado anteriormente, uma forma de calcular estes
valores ser construir o histograma temporal de cada pixel.

3.2 Teste comparativo dos algoritmos de segmentao

Um modelo geral para a comparao de segmentao de imagens foi proposto
recentemente na literatura [23 e 24]. Esse modelo foi usado, com uma ligeira alterao na
mtrica.



29
O critrio baseia-se no grafo de interseco entre duas segmentaes. Dois ns so
conectados por uma aresta pesada se e s se essas duas regies se intersectam (Figura 12).


Figura 12 - Grafo de interseco para duas segmentaes (de [19]). Os pesos correspondem ao nmero de
pixels na interseco.
O grafo de interseco associado a dois tipos de segmentao diferentes pode ser assim
usado como um factor de similaridade entre ambos. Tendo em conta que os diferentes
erros entre segmentaes contribuem de formas diferentes para a percepo visual
humana, os erros so considerados mais graves quanto mais longe os respectivos pixis
esto da fronteira a que deviam pertencer. Calculando a soma pesada desses erros
obtemos assim uma distncia pesada, , entre ambas as segmentaes. Quanto maior a
distncia, pior foi o desempenho do respectivo algoritmo.
3.2.1 Resultados

Os quatro algoritmos foram usados em diferentes sequncias de vdeo: AE Auto-
estrada, CO Corredor, EX Exterior, Re Restaurante e FT Fonte. Estas foram
previamente segmentadas manualmente gerando assim o ground-truth
12
. Quando
comparados, usando a mtrica anterior, obteve-se a Tabela 1 que sumariza os resultados
obtidos para cada algoritmo, em cada sequncia. Para cada combinao algoritmo-

12
Imagens de referncia geradas manualmente para posterior comparao com outras obtidas por mtodos
automticos.
Teste dos algoritmos de segmentao
Segmentao e Tracking

Su
sequncia apresentada a distncia mdia pesada ao ground-truth e nmero de frames
por segundo (fps) que o algoritmo consegue executar.
Tabela 1 - mdia e frames por segundo para cada mtodo, nas diferentes sequncias (de [19]).
AE CO EX RE FT
RAvg

fps
0.185
134
0.302
152
0.347
156
0.357
571
0.336
526
MoG

fps
0.160
6.7
0.267
6.1
0.317
6.7
0.678
31.5
0.307
29.2
KDE

fps
0.109
1.3
0.267
1.1
0.261
1.4
0.285
5.6
0.093
7.5
PF

fps
0.150
2.9
0.318
2.2
0.276
2.9
0.362
13.7
0.126
14.7

A Tabela 1 demonstra que o RAvg o algoritmo capaz de processar mais frames por
segundo. Por outro lado, o KDE apresenta resultados mais precisos todos os outros. Uma
vez que se pretende um compromisso entre qualidade e velocidade de processamento, o
mtodo MoG (Figura 13) apresenta-se como a melhor alternativa para o projecto em curso.

Figura 13 Na fila de cima as sequncias originais CO (Corredor), EX (exterior) e AE (Auto-estrada). Em baixo a
respectiva segmentao efectuada pelo algoritmo MoG (de [19]).

Aps a correcta segmentao dos objectos relativamente ao fundo, importa encontrar
algoritmos e formas de mapear esses objectos espacialmente. Desta forma, apresenta-se
em seguida, a anlise aos diversos mtodos de tracking conhecidos actualmente.



S1

3.3 Tracking de objectos

O tracking de objectos uma tarefa importante no campo da viso computacional [25].
A proliferao de computadores com elevada capacidade de processamento, a
disponibilidade de cmaras de vdeo de elevada qualidade e a crescente necessidade de
automatizar a anlise de vdeo gerou um grande interesse em torno dos algoritmos de
tracking de objectos. O uso desta tcnica pertinente para:
! Reconhecimento de movimentos, isto , identificao baseada em
caractersticas visuais, deteco automtica de objectos;
! Vigilncia automtica, tal como monitorizar um cenrio para detectar
actividades suspeitas ou eventos pouco usuais;
! Indexar vdeo, por exemplo, gerar anotaes automticas e reconhecimento
de vdeos em bases de dados multimdia;
! Interaco homem-computador, consistindo no reconhecimento de gestos
e/ou movimentos para controlar aplicaes;
! Navegao de veculos, ou seja, planeamento de caminho baseado em vdeo
e capacidade de evitar obstculos;
Na sua forma mais simples, o tracking pode ser definido como o problema de estimar a
trajectria de um objecto presente num plano de imagem conforme este se move pelo
cenrio. O algoritmo deve, em cada frame ao longo de uma sequncia de vdeo, detectar a
posio do objecto em questo. Dependendo do objectivo, podemos adicionalmente
extrair informaes do objecto, tais como, a sua orientao, rea ou forma. No entanto, o
tracking pode-se tornar complexo devido a rudo nas imagens, movimentos ou objectos
complexos, ocluso parcial ou total dos objectos, mudanas de luz e por fim, devido a
requisitos de processamento em tempo-real.



Tracking de objectos
Segmentao e Tracking

S2
3.3.1 Representao dos objectos

Num cenrio de tracking, um objecto pode ser definido como algo que interessante
para analisar. Por exemplo, um barco no mar, peixes num aqurio, veculos numa estrada,
pessoas a danar, so objectos que podem ser importantes em determinado domnio. Os
objectos podem ser representados principalmente pela sua forma, mas tambm pela sua
aparncia. Sero descritas as principais representaes baseadas na forma e em seguida as
baseadas em aparncia.
Representaes baseadas na forma:

! Pontos o objecto representado por um ponto, o centride (Figura 14 (a))
[26], ou por um conjunto de pontos (Figura 14 (b)) [27]. Em geral a
representao baseada em pontos adequada para o tracking de objectos que
ocupam pequenas regies numa imagem.
! Formas geomtricas primitivas o objecto representado por um rectngulo,
elipse ou outra forma geomtrica simples (Figura 14 (c) (d)), [28]. Esta
representao normalmente utilizada para representar objectos rgidos,
embora possa ser tambm usada para representar objectos mais flexveis.
! Silhueta ou contorno A representao por silhueta define o contorno do
objecto (Figura 14 (g) (h)). adequada para representar formas complexas
[29].
! Modelo de formas articuladas os objectos articulados so compostos por
vrias partes, unidas por juntas. Por exemplo, o corpo humano um objecto
articulado com tronco, braos, pernas, mos, cabea e ps. As partes so
ligadas atravs de juntas, neste caso, ligamentos. Para representar um
objecto articulado, as suas partes constituintes so modeladas por cilindros ou
elipses como se exemplifica na Figura 14 (e).
! Modelos de esqueleto estes podem ser extrados pela aplicao da projeco
da silhueta do objecto no eixo mdio do mesmo. O uso deste modelo muito
comum como representao de formas para reconhecimento de objectos [30].
Pode ser usado para modelar objectos articulados ou rgidos (Figura 14 (f)).



SS

Figura 14 - Representaes do objecto. (a) Centroide, (b) Pontos mltiplos, (c) rectngulo, (d) elipse, (e)
mltiplas partes, (f) esqueleto, (g) contorno, (h) pontos de controlo no contorno, (i) silhueta (de [25]).

Representaes baseadas na aparncia:

Existem inmeros modelos de representao atravs da aparncia. de salientar que
no tracking, as representaes baseadas na forma podem ser combinadas com as
representaes de aparncia [31].
! Densidade de probabilidade da aparncia do objecto (DPAO)- A DPAO pode
ser paramtrica (Gaussiana [32], ou mistura de Gaussianos [33]), ou no-
paramtrica (janelas de Parzen [34] e histogramas [31]). A DPAO pode ser
calculada a partir das regies previamente definidas pelos modelos de formas
(por exemplo, o interior de uma elipse ou contorno).
! Templates so formados usando formas geomtricas simples ou silhuetas [35].
A vantagem do template permitir guardar ambas informaes, espacial e
aparncia. No entanto, uma vez que apenas consegue codificar a aparncia a
partir de uma vista nica, apropriado para o tracking de objectos que no
variam muito a sua posio.
Tracking de objectos
Segmentao e Tracking

S4
! Modelos activos de aparncia So gerados pela representao simultnea da
forma e aparncia do objecto [36]. Em geral, a forma do objecto definida por
uma srie de marcadores. similar representao por contornos, os
marcadores podem estar no limite do objecto ou alternativamente, podem
estar dentro da regio do objecto. Para cada marcador, armazenado um
vector que contm a cor, textura ou magnitude do gradiente. Estes modelos
requerem uma fase de treino onde as formas e aparncias so ensinadas
usando um conjunto de amostras que contm, por exemplo, a principal
componente de anlise.
! Modelos de aparncia multi-vista (MAM) estes modelos codificam diferentes
vistas do objecto. Um mtodo para representar as diferentes vistas do objecto
ser gerar o sub-espao das mesmas. Os mtodos de sub-espaos, por exemplo,
a anlise de componentes principais (PCA) e a anlise em componentes
independentes (ICA), tm sido usados para a representao de formas e
aparncias [37] e [38]. Outro mtodo para obter as diferentes vistas ser
treinando um conjunto de classificadores, por exemplo Support Vector
Machines (SVM) [39] ou uma rede Bayesiana [40]. Uma limitao dos MAM
que as diferentes vistas do objecto so necessrias em avano para a
codificao.
Geralmente existe uma grande relao entre a representao do objecto e o algoritmo
de tracking. As representaes so escolhidas de acordo com o domnio que se pretende
para a aplicao. Para o tracking de objectos que surgem como muito pequenos na
imagem, a representao por pontos normalmente a mais apropriada. por exemplo em
[41] usam a representao por pontos para o tracking de pssaros distantes. Para os
objectos cujas formas podem ser aproximadas por elipses ou rectngulos, a representao
de formas geomtricas primitivas so as mais indicadas. Em [27] usada uma
representao elptica e a partir da mesma o histograma de cor do objecto calculado
para modelar a sua aparncia. Para o tracking de objectos com formas complexas, por
exemplo, humanos, a representao de contornos, silhuetas ou formas articuladas a
indicada. Em [42] o tracking executado recorrendo s silhuetas numa aplicao de
vigilncia.




SS
3.3.2 Seleco de caractersticas para o tracking

Seleccionar as caractersticas certas para o tracking essencial. De modo geral, o mais
importante na escolha de uma caracterstica a sua unicidade, para que os objectos
principais possam ser facilmente distinguidos dos restantes. A escolha de caractersticas
est relacionada com a representao do objecto. Por exemplo, a cor usada como uma
caracterstica nas representaes atravs de histogramas, enquanto para representaes
baseadas em contornos so usadas as arestas dos objectos. Normalmente os algoritmos de
tracking utilizam uma combinao de caractersticas, sendo as mais comuns as seguintes:
! Cor a cor aparente de um objecto influenciada principalmente por dois
factores fsicos: a distribuio espectral da luminncia e a capacidade de
reflexo do objecto. Em processamento de imagem utiliza-se geralmente o
espao de cor RGB (red, green, blue) para representar cores. No entanto, o
espao RGB no perceptvel uniformemente, ou seja, as diferenas entre as
cores no espao RGB no correspondem s diferenas de cores percebidas pelos
humanos [43]. Por outro lado os espaos de cor LUV (Luminance, U e V) LAB
(Luminance A-B) e HSV (Hue, Saturation, Value) so uniformes ou
aproximadamente uniformes mas so sensveis a rudo [44]. Em suma, no
existe um consenso acerca de qual o espao de cor mais eficaz. Como tal
encontra-se exemplos de aplicao de todos.
! Edges (arestas) as fronteiras dos objectos geram fortes transies de
intensidade luminosa na imagem. Assim, a deteco de arestas usada para
identificar estas mudanas. Uma propriedade importante das arestas que so
muito menos sensveis a mudanas de luz que a cor. Os algoritmos que fazem o
tracking baseado nas fronteiras dos objectos, normalmente usam as arestas
como caracterstica representativa. Devido sua simplicidade e preciso, o
mtodo mais popular de deteco por arestas o Canny Edge Detector [45].
Uma comparao de algoritmos de deteco de arestas pode ser encontrada em
Bowyer [46].
! Optical Flow (fluxo ptico) O fluxo ptico baseia-se em vectores de
deslocamento que definem a translao de cada pixel numa regio. So
calculados usando o brilho de cada pixel, assumindo que esse brilho deve ser
aproximadamente constante em frames consecutivos [47]. O fluxo ptico
usado normalmente como caracterstica em segmentao e tracking baseados
Tracking de objectos
Segmentao e Tracking

S6
em movimentos. As tcnicas mais populares de clculo de fluxo ptico so as
de Horn e Schunck [47], Lucas e Kanade [48], Black e Anandan [49], e Szeliski e
Couglan [50]. Foi feita uma avaliao dos vrios mtodos por Barron [51].
! Textura a medida de variao de intensidade de uma superfcie que
quantifica propriedades tais como suavidade e regularidade. Comparada cor,
a textura requer mais processamento, pois tem de gerar os descritores. Existem
vrios descritores de textura: Gray-Level Co-occurrence Matrices (GLCMs) [52]
(um histograma em 2D que demonstra a co-ocorrncia de intensidades numa
direco e distncia especfica), medio de texturas de Law [53], ou wavelets
[54] (um banco de filtros ortogonais). Assim como as arestas, a textura tambm
menos sensvel s mudanas de luz que a cor.
Tendo em conta as representaes de tracking enunciadas e o objectivo da aplicao
consideramos que a melhor forma de representar o corpo ser pelo modelo de formas
articuladas. Este permite a separao das diversas componentes do corpo como
pretendido. Como caracterstica, a mais relevante ser a cor para permitir ao bloco de
extraco de caractersticas distinguir entre os vrios componentes.
Assim, foi necessrio desenvolver um algoritmo de tracking capaz de tal
representao.

3.4 Algoritmo de tracking

Este algoritmo recebe como entrada o resultado do algoritmo de segmentao
foreground/background, que consiste numa sequncia de imagens binrias, onde o branco
representa o foreground e o preto o background. A sua execuo consiste em trs
subrotinas, explicadas de seguida:

1) Frame-Differencing (FD) Basicamente queremos identificar quais os pixels que
passam de preto (P) para branco (B) em frames consecutivos. No entanto, isto no
suficiente para separar os componentes (braos), porque se o movimento for demasiado
lento existem pixels que se vo manter brancos dum frame para o outro, o que tambm
importante detectar.



S7
Existem quatro combinaes de variao do pixel. Os pixels brancos apresentam o valor
de 255, enquanto os pretos tm valor 0. Aplicando o FD obtm-se os seguintes valores
(Tabela 2):
Tabela 2 Transies entre frames consecutivas e respectivo valor do FD.
Branco Branco (BB)
Dif = 0
Preto - Preto (PP)
Dif=0
Branco Preto (BP)
Dif= 255
Preto Branco (PB)
Dif= -255

A mudana PB fcil de detectar, a dificuldade est em diferenciar a transio BB da
PP, pois estas tm o mesmo valor (zero). Para resolver este problema foi introduzido um
parmetro de calibrao (WB), definido pelo utilizador. Basicamente este parmetro mede
a quantidade de pixels brancos na imagem. Foi ento imposta a seguinte condio:
Se ento est na transio BB.
Se, por outro lado, significa que est na transio PP.
Na situao BB considerado que existem suficientes pixels brancos para representar
movimentos lentos. Neste caso o novo resultado obtido pelo FD ignorado e considera-se o
resultado anterior vlido. A transio PP representa a situao em que nenhum objecto
est presente.
2) Separao de componentes - Tem como funo agrupar pixels que pertenam a um
mesmo componente entre eles. Para isso usado um algoritmo de seguimento. Comea-se
por fazer uma pesquisa horizontal na imagem, caso seja encontrado algum pixel dum
componente, iniciado o algoritmo de seguimento. O algoritmo pesquisa para cada pixel
do componente todos os seus vizinhos, tentando ver se existe algum que tambm pertena
ao componente. Caso encontre algum pixel vizinho que lhe pertena, o ponto anterior
guardado numa stack
13
, passando agora a fazer-se pesquisa no novo pixel encontrado. Caso

13
Pilha de elementos neste caso a pilha LIFO (last in first out), ou seja o ultimo elemento colocado na pilha
o primeiro a ser retirado.
Algoritmo de tracking
Segmentao e Tracking

S8
no se encontre nenhum pixel vizinho do mesmo componente, vai-se ao ponto anterior
presente na stack e faz-se novamente a pesquisa pelos seus vizinhos, este algoritmo
efectuado at que a stack esteja vazia. Obviamente que se um pixel considerado vizinho,
j no pode ser pesquisado no ciclo seguinte. A Figura 15 permite visualizar o fluxograma
de funcionamento do algoritmo.


Figura 15 Fluxograma de funcionamento do algoritmo de separao de componentes.

3) Colorao Por fim, necessrio colorir cada objecto de uma cor. Para isso basta
atribuir valores diferentes aos pixels (entre 0 e 255), consoante o objecto a que
pertencem.



S9
Na Figura 16 possvel visualizar a imagem de sada do algoritmo de segmentao que
ser a entrada do algoritmo de tracking e o resultado aps a aplicao das subrotinas do
mesmo.


a) b) c)
Figura 16 a) Imagem de entrada para o algoritmo de tracking; b) Resultado da aplicao do FD e da
separao de componentes; c) Colorao dos diferentes componentes

Desenvolvido o algoritmo, necessrio avaliar as suas capacidades. No ponto seguinte
explicado o mtodo de avaliao e os respectivos resultados.
3.4.1 Resultados

O desempenho do algoritmo foi testado com quatro vdeos de diferentes dificuldades
de tracking (Tabela 3).
Tabela 3 Sequncias de vdeo de teste e respectiva dificuldade.
Nome do vdeo Dificuldade de tracking
Vdeo 1 Fcil
Vdeo 2 Dficil
Vdeo 3 Mdia
Vdeo 4 Mdia

Nas sequncias de vdeo, o movimento executado principalmente no eixo do Y, no
entanto o algoritmo est preparado para detectar movimento em qualquer direco. Os
vdeos 2, 3 e 4 exibem mais rudo que o vdeo 1. O primeiro vdeo consiste numa bailarina
a mover ambos os braos ao mesmo ritmo, mantendo o resto do corpo imvel. O segundo
Algoritmo de tracking
Segmentao e Tracking

4u
o mais difcil pois consiste no movimento de ambos os braos a ritmos diferentes e com
movimento do corpo. Nos vdeos 3 e 4 apenas se move um brao, mas com alteraes
bruscas na velocidade do movimento. Para medir o desempenho do algoritmo foi criado
manualmente o ground-truth. Na Figura 17 apresentada a comparao entre os
resultados obtidos pelo algoritmo e o que foi gerado pelo ground-truth para os quatro
vdeos. Na Tabela 4 apresentam-se tambm os resultados em termos de percentagem.

Figura 17 Resultados do algoritmo (a azul) e do ground-truth (a rosa).

Tabela 4 Resultados de desempenho do algoritmo de tracking em percentagem.
Nome uo viueo Besempenho ue !"#$%&'(
viueo 1 98,9%
viueo 2 Su,8%
viueo S 71,7%
viueo 4 9u,7%




41

3.5 Resumo e Anlise Crtica

Neste captulo foram estudados e comparados os principais algoritmos de segmentao
e tracking.
Tendo em conta o estudo efectuado e o compromisso entre velocidade e qualidade de
segmentao, concluiu-se que o melhor mtodo de segmentao para a aplicao em
questo ser a Mistura de Gaussianos. Este foi implementado em C++, baseado em [55] e
com recurso biblioteca do OpenCV.
Para o tracking do corpo, tal como mencionado anteriormente, a representao
adoptada foi o modelo de formas articuladas. A cor de cada componente permitir a
extraco de valores relevantes para o passo seguinte, a estimao de ritmo.
importante salientar que a qualidade do tracking varia bastante com complexidade
dos movimentos executados. Como se pde verificar pela Tabela 4, o vdeo de
complexidade difcil, fez com que o tracking tenha um desempenho de apenas 50,8%.
Resumo e Anlise Crtica
Segmentao e Tracking

42



4S



Captulo 4
Estimao de ritmo



Neste captulo desenvolvido um estudo das vrias caractersticas a extrair de um
corpo em movimento, de forma a estimar o ritmo a que se move. So comparados os
principais algoritmos que permitem essa estimao atravs da frequncia fundamental de
um sinal peridico, em tempo real. apresentada tambm uma abordagem alternativa ao
clculo do ritmo.

4.1 Ritmo e o Corpo Humano

Existem muitas definies para ritmo, mas simplesmente pode interpretar-se como a
alternncia de sons no tempo.
Em [11] podemos verificar que, segundo Paul Fraisse (1982), a palavra ritmo vem do
grego rhythmos (ritmo) e rheo (fluir). Rhythmos surge como uma palavra-chave na filosofia
Ioniana com o significado de forma, mas uma forma improvisada, momentnea e
modificvel; literalmente significa um modo particular de fluir. Plato (347 A.C.) aplicou
este termo a movimentos corporais, os quais, tais como os sons musicais, podem ser
descritos numericamente. No seu livro, As Leis, definiu ritmo como a ordem no
movimento e Fraisse, partindo dessa definio definiu ritmo como a percepo de uma
ordem. Fraisse entende tambm que o ritmo tem um factor de previsibilidade que o
distingue de arritmia, ou seja, na presena de uma sequncia rtmica, possvel prever ou
antecipar a sua evoluo.
Estimao de Ritmo

44
Pode-se assim afirmar que a associao entre o ritmo musical e o movimento humano
data desde o incio da civilizao Grega. Faz sentido pois, parafraseando Guedes [11],
impossvel dissociar o papel do corpo e movimento na percepo e execuo do ritmo
musical. Usamos movimentos corporais para produzir ritmos musicais (como tocar um
instrumento) e normalmente respondemos (consciente ou inconscientemente) ao ritmo
musical com movimentos, desde o mais simples, como balancear ligeiramente a cabea,
at ao danar ao som da msica.
Guedes constata, do mesmo modo, que possvel asseverar que a dana pode produzir
ritmo. Quando se observa algum a danar, fcil perceber na dana padres de
movimento organizados no tempo e espao. Certas vezes, o grau de sincronizao entre os
movimentos corporais e a msica tal que d a impresso que os movimentos esto a
fazer um mapa espacial do ritmo musical. Estes aspectos sugerem que existem realizaes
rtmicas em ambas as formas de arte e motivam a investigao das similaridades entre o
ritmo musical e o ritmo na dana.
Os movimentos peridicos duma dana podem ser detectados, capturando-os de uma
forma no-invasiva com uma cmara de vdeo conectada a um computador. O computador
analisa o sinal de vdeo e cria a comunicao necessria para uma interaco, em tempo
real, entre msicos e bailarinos.
Nas prximas trs seces sero explicadas as condies e algoritmos que permitem
calcular o ritmo desses movimentos.
4.2 Caractersticas que permitem estimar o ritmo

Aps o tracking do corpo humano e da diviso das suas componentes principais (braos,
pernas, tronco, cabea) essencial encontrar medidas que permitem mapear no tempo os
movimentos das mesmas. Caractersticas como as coordenadas do ponto central (x,y) do
blob em cada frame so fundamentais, mas alm dessas existem outras como o tamanho
ou inclinao do blob que podem fornecer informaes importantes acerca do seu
movimento.
Tendo em conta os aspectos supracitados e visto que neste campo no existem muitas
experincias documentadas, foi desenvolvido um estudo baseado numa anlise das
componentes x e y. Para esta investigao foram criadas sequncias de teste com
movimentos em arco: verticais, horizontais e diagonais. O movimento realizado foi



4S
peridico e com frequncias de 0,5 Hz, 1Hz e 2Hz ou seja, cerca de 30, 60 ou 120 batidas
por minuto (bpm) respectivamente. Atravs da aplicao criada no mbito deste projecto,
explicada no captulo seguinte, a rea e as coordenadas do centro de massa do objecto
foram extradas e registadas (Figura 18).

Figura 18 Sequncia de teste esquerda e extraco das coordenadas do centro de massa e da rea do
objecto direita.
Ao observar, por exemplo, a sequncia de teste em arco vertical, verificamos que as
coordenadas em x (horizontais) apresentam uma variao de amplitude demasiado baixa e
inconstante para providenciar clculos exactos. Pelo contrrio, as coordenadas em y
(verticais) tm uma amplitude suficiente para uma anlise rigorosa (Figura 19).

Figura 19 Grfico da variao das coordenadas em x e em y, respectivamente. Frequncia de 1Hz.

Caractersticas que permitem estimar o ritmo
Caractersticas que permitem estimar o ritmo
Estimao de Ritmo

46
Uma vez que os movimentos podem ocorrer em qualquer direco, torna-se essencial
correlacionar as coordenadas de tal modo que, qualquer que seja o movimento capturado,
os dados providenciem clculos pertinentes. Assim, foram testadas solues que permitem
essa relao, das quais se destacam a equao da mdia, (Figura 20 (a)) e a
equao da norma de um vector (Figura 20 (b)).

(a) (b)
Figura 20 Grfico da equao da mdia (a) e da equao das normas (b).

Por consulta dos grficos podemos constatar que a equao da norma apresenta um
offset ligeiramente mais considervel. A ambas foram aplicados os algoritmos que nos
permitem extrair a frequncia fundamental do movimento (FFT e Algoritmo de Goertzel,
descritos na seco 4.3). Verifica-se que originam resultados precisos.










47
4.2.1 Resultados

Novamente, devemos salientar que o vdeo de teste tem uma frequncia de
aproximadamente 1Hz e ser este valor que devemos obter aps o tratamento dos dados.
A equao da mdia providencia uma frequncia fundamental de 0,9804Hz com
amplitude de 14,43 (Figura 21).


Figura 21 Grfico da variao da frequncia calculada com recurso equao da mdia, frequncia
fundamental igual a 0,9804 1Hz.

Relativamente equao da norma, verificou-se que esta permitia determinar
0,9804Hz de frequncia fundamental com amplitude de 14,77 (Figura 22).

Caractersticas que permitem estimar o ritmo
Estimao de Ritmo

48

Figura 22 Grfico da variao da frequncia calculada com recurso equao das normas, frequncia
fundamental = 0,9804Hz 1Hz.

4.2.2 Uma abordagem alternativa ao clculo do ritmo

Todas as caractersticas de estimao do ritmo apresentadas at ao momento baseiam-
se no seguimento espacial do objecto de interesse ao longo do tempo. O conhecimento da
trajectria do objecto p(x,y,t), sob qualquer uma das formas apresentadas no Captulo 3
(pontos, silhueta, etc.), permite calcular sinais temporais (a posio x do centro de massa,
a posio y do centro de massa, a distncia do centro de massa do objecto origem, etc)
que tentam capturar o ritmo do objecto. Um problema com estas abordagens que
qualquer uma delas no detecta determinado tipo de movimentos. Exemplifiquemos com a
distncia do centro de massa do objecto origem: se o objecto se mover sobre uma
circunferncia de centro na origem, este sinal ser uma constante no tempo. Da que no
seja possvel estimar o ritmo a partir deste sinal.
Uma abordagem alternativa no tentar seguir a evoluo espacial do objecto mas sim
fixarmo-nos numa posio (x,y) e estudarmos a evoluo do valor observado nessa posio.
Se nenhum objecto passar por essa posio, o sinal observado ser o sinal nulo. Contudo,



49
se um dado objecto passar periodicamente por essa posio, o sinal observado nessa
posio fixa ser um sinal peridico com o perodo do movimento.
Mesmo que dois ou mais objectos passem periodicamente por essa posio fixa,
possvel estimar o perodo do movimento dos objectos. Para tal, basta criar um sinal para
cada objecto presente; o sinal captura a evoluo da etiqueta (cor) de um dado objecto.
Por exemplo, se numa dada posio (x,y), entre t=0 e t=2, estivesse presente o objecto
A, entre t=2 e t=4 no estivesse presente nenhum objecto, entre t=4 e t=5 estivesse
presente o objecto B, entre t=5 e t=7 estivesse o objecto A, entre t=7 e t=10 o objecto C,
repetindo-se a partir daqui, obteramos os sinais representados na Figura 23.

Figura 23 Exemplo da evoluo temporal do valor dum determinado pixel numa dada posio (x,y).

A inexistncia de informao para preferir uma posio (x,y) em relao a outra para
fazer esta estimativa e de forma a obter-se uma estimativa robusta leva a que se execute
esta anlise para cada posio (x,y) da imagem. Finalmente, seria necessrio fundir as
diversas estimativas obtidas em cada posio. Esta tcnica acaba por se revelar
Caractersticas que permitem estimar o ritmo
Estimao de Ritmo

Su
computacionalmente pesada, dificultando um desempenho em tempo real. Como tal, o seu
estudo no foi aprofundado nesta tese.

4.3 Algoritmos de estimao de ritmo

Extrapolados os dados acerca do objecto, e analisando o grfico da evoluo temporal
das suas coordenadas (Figura 24), torna-se evidente que estamos perante um sinal
peridico. Assim, tal como foi referido no estado da arte, Guedes [11] constata que se
aplicar um algoritmo capaz de detectar as periodicidades deste sinal, como a
Transformada Rpida de Fourier (Fast-Fourier Transform - FFT), por exemplo, pode-se
detectar o ritmo presente nesse sinal, calcular a sua frequncia fundamental e assim
obter o tempo que pode ser usado para fazer algo relevante musicalmente, tal como a
gerao de ritmos a partir do movimento de dana ou possibilitar ao bailarino o controlo,
em tempo real, do tempo musical (pag. 16).


Figura 24 Grfico da evoluo temporal das coordenadas do objecto em anlise.




S1
Mas, uma vez que o clculo de uma FFT implica um processamento demasiado elevado,
pois no permite escolher a banda de frequncias em que se pretende executar, foi
investigada tambm uma alternativa mais eficaz, o algoritmo de Goertzel. Este algoritmo
capaz de calcular a DFT (Transformada de Fourier Discreta) de uma banda limitada de
frequncia mais rapidamente que a FFT. Neste projecto foram testados e comparados
ambos os algoritmos.
4.3.1 Algoritmo FFT

A Transformada Rpida de Fourier um algoritmo computacional optimizado para
implementar a Transformada Discreta de Fourier num vector de amostras. Permite
determinar a frequncia dum sinal discreto, representar a sua evoluo no domnio das
frequncias e calcular a frequncia fundamental do mesmo. Este algoritmo baseado na
derivao do algoritmo de FFT desenvolvido por Danielson e Lanczos [56]. Eles
demonstraram que uma transformada discreta de Fourier de tamanho N pode ser reescrita
como a soma de duas transformadas discretas de tamanho , uma delas formada pelos
ndices pares do vector original e a outra pelos ndices mpares. A demonstrao simples
[57]:
(5)

(6)

(7)

(8)


Na ltima linha
,
o k-gsimo valor da transformada de Fourier de tamanho
formada pelos componentes pares (even) da original. Do mesmo modo a a
correspondente transformada formada pelos componentes mpares (odd) e . O
trunfo do Teorema de Danielson-Lanczos que pode ser usado recursivamente. Podemos
dividir cada um dos componentes e novamente nos seus ndices pares e mpares,
Algoritmos de estimao do ritmo
Estimao de Ritmo

S2
obtendo assim vectores de tamanho . Ou seja, podemos definir e como a
transformada discreta dos pontos que so respectivamente par-par (even-even) e par-
mpar (even-odd) nas sucessivas divises do vector original. Assim se garantirmos um
vector original de tamanho podemos aplicar consecutivamente o Teorema de
Danielson-Lanczos at que a transformada seja apenas de tamanho 1. Assim, a
transformada ser simplesmente calculada sobre o valor elementar de entrada para o
respectivo ndice do vector de sada . Uma vez obtido o vector de sada,
para descobrir a frequncia fundamental do sinal, basta calcular o mximo absoluto do
vector e a frequncia fundamental ser dada pelo ndice do vector sobre dois.

4.3.2 Algoritmo de Goertzel

O algoritmo de Goertzel permite calcular a DFT de uma banda de frequncias
eficazmente [58]. Essa banda pode ser especificada recorrendo a uma cadeia de filtros
passa-banda deixando assim de fora as frequncias que no interessam para o clculo.
Neste caso, a banda vai da frequncia de 0,66Hz a 3,33Hz
14
que equivale a
respectivamente 40bpm e 200bpm.
O espectro de magnitude e fase do movimento calculado em duas fases. A primeira
consiste em passar as coordenadas de variao de movimento pela cadeia de filtros passa-
banda. Segundo [59] a equao s diferenas que define o filtro passa-banda de segunda
ordem :
(9)

onde , , a frequncia central, a largura de banda, a
taxa de amostragem e = 2,718 (nmero de Euler).

14
De acordo com Parncutt ([11] Cap. II) a sensao de ritmo surge da complexa interaco de todas as
periodicidades envolvidas numa dada sequncia de ritmo. Esta sensao est tambm dependente da nossa
memria de curto prazo, sendo que deixa de existir para valores aproximadamente acima dos 1800ms e abaixo
dos 200ms (Fraisse, 1982; Parncutt, 1987).




SS
A segunda fase consiste em extrair a parte real e imaginria do sinal filtrado por
aplicao do algoritmo de Goertzel [11]. As partes real e imaginria do filtro so
calculadas da seguinte forma:
(10)
(11)
A magnitude e fase so dadas por:
(12)
(13)

Uma vez obtido o espectro das frequncias do movimento, este comparado com o
espectro de um impulso de 1Hz previamente estabelecido e por correlao cruzada a
frequncia fundamental calculada.

4.3.3 Implementao e teste dos algoritmos de estimao de ritmo

Para implementao dos algoritmos foram criados dois objectos externos para o Max. A
FFT foi programada de raiz baseada na proposta de [57] e o algoritmo de Goertzel foi
implementado a partir do objecto criado previamente por Guedes em 2005 (o m.bandit).
Para testar a execuo e preciso de ambos os algoritmos recorreu-se s sequncias de
teste previamente mencionadas (arco vertical e arco diagonal, s frequncias de 0,5Hz,
1Hz e 2Hz).



Algoritmos de estimao do ritmo
Estimao de Ritmo

S4
4.3.4 Resultados

Os resultados encontram-se nas tabelas seguintes (Tabela 5 e 6). Estas contm, para
cada sequncia, o valor da frequncia fundamental e respectiva amplitude obtida pela FFT
e a frequncia fundamental obtida, por correlao cruzada, pelo algoritmo de Goertzel.
Tabela 5 Resultados dos algoritmos FFT e Goertzel na anlise da frequncia fundamental da sequncia de
vdeo vertical.
Sequncia
Vertical
0,5Hz 1Hz 2Hz
FFT FFT FFT
Algoritmos
F(Hz) Amp.
Goertzel
F(Hz)
F(Hz) Amp.
Goertzel
F(Hz)
F(Hz) Amp.
Goertzel
F(Hz)
Y 0,471 40,81 Idle 0,980 32,26 1,006 2,078 28,10 2,1
X 0,039 5,33 idle 0,039 6,48 idle 0.039 6,53 idle

0.471 17,81 idle 0,980 14,77 1,053 2,078 14,87 2,120

0,471 16,61 idle 0,980 14,43 1,126 2,078 13,50 2,165


Tabela 6 -Resultados dos algoritmos FFT e Goertzel na anlise da frequncia fundamental da sequncia de
vdeo diagonal.
Sequncia
Diagonal
0,5Hz 1Hz 2Hz
FFT FFT FFT
Algoritmos
F(Hz) Amp.
Goertzel
F(Hz)
F(Hz) Amp.
Goertzel
F(Hz)
F(Hz) Amp.
Goertzel
F(Hz)
Y 0,471 26,76 idle 0,980 21,29 1,047 2,039 18,05 2,061
X 0,471 29,90 idle 0,980 22,64 1,006 1,922 14,42 2,064

0,471 7,58 idle 0,980 7,92 1,110 2,039 19,11 2,045

0,471 3,34 idle 0,980 4,84 1,152 2,039 13,92 2,105




SS
Na anlise das Tabelas 5 e 6 ter de se ter em ateno que o algoritmo de Goertzel
est especificado para procurar valores entre 0,66Hz e 3,33Hz, por isso que na sequncia
a 0,5Hz surge a palavra idle (parado).
Tambm se pode constatar que os valores de frequncia fundamental da FFT
praticamente no variam nas diferentes coordenadas/equaes utilizadas. No entanto, o
pico de amplitude de cada valor varia ligeiramente, sendo que o da equao da norma
sempre superior ao da mdia. Daqui podemos concluir que a equao da norma prevalece
sobre a da mdia.
Por outro lado, na sequncia diagonal as coordenadas isoladas fornecem valores de
frequncia fundamental com maior amplitude que a equao da norma. No entanto, na
sequncia vertical a coordenada em x fornece resultados insatisfatrios. Assim de forma a
garantir que movimentos em qualquer direco fornecem resultados precisos de
frequncia, optou-se pela equao da norma.
Relativamente aos algoritmos FFT e Goertzel, de salientar que ambos promovem bons
resultados, sendo que a FFT ligeiramente mais precisa. No entanto, para providenciar os
resultados enunciados nas tabelas 5 e 6 a FFT utiliza uma janela de 512 amostras. O
algoritmo de Goertzel, sendo baseado em filtros passa-banda recursivos, constri o
espectro utilizando as 2 amostras mais recentes do sinal, s precisando dum perodo
completo de movimento para fornecer resultados precisos (no caso de movimento com
perodo de 1Hz e taxa de amostragem de 20fps necessita de apenas 20 amostras). Esta
caracterstica torna-o bastante mais rpido que a FFT. Tendo em conta a limitao de
tempo real que se pretende para este projecto, o algoritmo de Goertzel apresenta-se
como a metodologia a adoptar.

4.4 Resumo e Anlise Crtica

Nesta seco foram enunciadas e comparadas as principais equaes que permitem
correlacionar um sistema de coordenadas. Foi tambm exposta uma metodologia
alternativa baseada apenas no cruzamento de objectos sobre determinados pixels da
imagem. Do mesmo modo foram descritos detalhadamente os algoritmos desenvolvidos e
testados para a estimao da frequncia fundamental de um sinal em tempo real.
Algoritmos de estimao do ritmo
Estimao de Ritmo

S6
Foi escolhida a equao das normas para relacionar as coordenadas e o algoritmo de
Goertzel para o clculo da frequncia fundamental.





S7

Captulo 5
Integrao


Aps a anlise cuidada, acerca de qual o algoritmo ou mtodo ideal para desempenhar
as funes de cada bloco proposto no primeiro captulo (Figura 1) neste captulo descrito
como foi desenvolvido e integrado o sistema.

5.1 Plataforma de Desenvolvimento

A plataforma escolhida para o desenvolvimento e integrao da aplicao foi o
MAX/MSP/Jitter
15
da Cycling74. A escolha foi baseada na capacidade do MAX executar, em
tempo real, as vrias funes requeridas, assim como o facto de ser uma das plataformas
mais utilizadas por compositores e coregrafos entusiastas da dana interactiva. Alm
disso, uma vez que modular, permite facilmente que os blocos criados sejam integrados
entre si ou, futuramente, com outras plataformas como o Eyesweb ou o Isadora.

5.2 Arquitectura do Sistema

De seguida apresentada uma breve descrio dos blocos que compem a arquitectura
do sistema, como representado na Figura 25. A pormenorizao de cada um dos
blocos/algoritmos realizada nas restantes seces deste captulo.


15
Daqui em diante o MAX/MSP/Jitter ser apenas referenciado como Max.
Integrao

S8

Figura 25 Arquitectura do sistema RitMoVdeo.

5.2.1 Segmentao background/foreground

De acordo com o estudo descrito no captulo trs, a segmentao de imagens foi
efectuada com base no algoritmo de Mistura de Gaussianos. Com recurso biblioteca do
OpenCv o software foi desenvolvido
16
em C++ e separa o background do foreground usando
a metodologia explicada no ponto 3.1.2 desta tese (pag. 25).



16
Agradeo a colaborao do Engenheiro Hlder Oliveira nesta tarefa.



S9
5.2.2 Tracking

A nvel de tracking a implementao foi efectuada tambm em C++ e recorrendo
biblioteca do OpenCv. O algoritmo foi implementado conforme descrito na seco 3.4
(pag. 34).
5.2.3 Extraco e anlise de caractersticas

De entre as vrias caractersticas possveis de extrair, reconhecemos que as de maior
interesse neste caso seriam as coordenadas do centro de massa de cada componente,
assim como a sua rea. Nesse sentido foram utilizados ou desenvolvidos objectos no Max
responsveis por:
1) Clculo da rea de cada componente

A rea de cada componente pode ser encontrada simplesmente contando o nmero de
pixels que cada componente contm. Felizmente a biblioteca de imagem CV.Jit para o
MAX, disponibilizada por Jean Marc Pelletier [60], j contm um objecto capaz de fazer
esta contagem.

2) Clculo centro de massa de cada componente

Para encontrar o centro de massa de cada componente recorreu-se equao dos
momentos centrados definida da seguinte forma:
(14)
Onde o I(x,y) indica se o pixel pertence ao objecto ou no. Se pertencer I=1 seno I=0.
O centro de massa em x obtido por resoluo da equao para o momento e o centro
de massa em y para o momento . Se quisermos validar o clculo da rea para cada
componente basta fazer o momento .
A partir dos momentos podemos tambm obter qual a orientao de cada objecto.
Para isso basta calcular o ngulo que o objecto faz com o eixo dos xx.
Arquitectura do Sistema
Integrao

6u
O ngulo pode ser calculado pela seguinte equao:
(15)

A partir do ngulo podemos fazer uma mudana de base de coordenadas, que ser
necessrio para destacar a inclinao dos objectos, segundo um rectngulo. Definido esse
rectngulo possvel saber, para cada, qual o seu comprimento e altura.
A mudana de coordenas feita atravs da frmula:
(16)


O sistema de coordenadas est evidenciado na Figura 26:








Figura 26 Sistema de coordenadas que permite calcular a mudana de base.







61
Atravs da definio dos pontos na nova base podemos desenhar o rectngulo que
cobre toda a rea do componente como exemplificado na Figura 27.
Rectngulo:

Figura 27 Rectngulo que limita o componente.

3) Anlise das caractersticas

A anlise das caractersticas foi efectuada tendo em conta a equao da norma de um
vector. Para isso foi desenvolvido um objecto no Max. Este tem como entrada as
coordenadas x e y do centro de massa do objecto e como sada o resultado da equao da
norma das coordenadas.
5.2.4 Estimao de ritmo

As caractersticas processadas no ponto anterior so enviadas para o objecto
responsvel pela extraco da frequncia fundamental do movimento. Este objecto
implementa o algoritmo de Goertzel tal como definido na seco 4.3.2 (pag. 52). Este tem
como sada a frequncia fundamental e os primeiros quatro harmnicos.
5.2.5 Execuo Musical

Para uma percepo auditiva e visual do ritmo foi criado um objecto que calcula as
batidas por minuto correspondentes frequncia e executa um trecho musical a esse
tempo.
Arquitectura do Sistema
Integrao

62
5.3 Dificuldades e Limitaes

Uma limitao deste projecto est no cenrio de utilizao, conveniente que este
seja controlado. O ideal ser um cenrio esttico de uma s cor e o uso de uma cor
distinta do mesmo para o figurino do bailarino.
O tracking revela um desempenho mdio para sequncias complexas. Conforme se
exemplifica na Figura 28, se ocorre um movimento demasiado brusco o algoritmo no
consegue efectuar o tracking correcto (deveria manter a cor azul e o rectngulo em todas
as imagens).

Figura 28 Sequncia de 4 imagens em que o tracking falha na colorao e delimitao do objecto.

A nvel da extraco das caractersticas a equao da norma apresenta uma lacuna.
Caso o movimento seja puramente circular as coordenadas em x e y compensam-se no
clculo e a equao providencia sempre o mesmo resultado ao longo do tempo.
Obviamente que a execuo de um movimento circular perfeito repetidamente algo
improvvel num humano, mas no deixa de ser uma limitao. O aperfeioamento da
tcnica de extraco de caractersticas baseada em pixels poder permitir ultrapassar
estas limitaes.
Por fim, a principal dificuldade deste projecto que tudo tem de ser executado em
tempo real. A segmentao, extraco de caractersticas, determinao da frequncia
fundamental e controlo do ritmo, tudo isto tem de ser realizado com o mnimo atraso
temporal relativamente realidade captada. Esta caracterstica foi o maior desafio no
desenvolvimento deste projecto.
Alm destas, existem outras limitaes que ainda no foram totalmente superadas,
como uma segmentao e uma separao das diversas componentes mais robusta.




6S



Captulo 6
Concluses e Perspectivas de Trabalho Futuro



Para o tempo disponibilizado para este projecto (20 semanas), creio que os objectivos
foram alcanados e foi desenvolvido trabalho importante em diversas reas.
O intuito do projecto RitMoVdeo era construir uma cadeia de blocos que permitisse a
anlise de movimentos presentes numa sequncia de vdeo e o clculo do ritmo desses
movimentos, em tempo real.
Para cada bloco foram estudados e comparados os principais algoritmos. Uma vez
determinadas as metodologias a utilizar, estas foram integradas na cadeia de blocos e o
RitMoVdeo ficou operacional.
O projecto funciona bem, mas tem as suas limitaes. No entanto, estas podem ser
ultrapassadas com um pouco mais de tempo de investigao e desenvolvimento.

6.1 Trabalho Futuro

Como trabalho futuro, uma das prioridades dever ser tornar a separao das
componentes mais robusta. O tracking apresenta um desempenho mdio para sequncias
complexas.
A nvel da equao que relaciona as coordenadas, seria interessante eliminar a lacuna
previamente referida, talvez atravs do desenvolvimento de uma equao de regresso
linear ou atribuindo pesos a cada coordenada tendo em conta a quantidade de movimento
Concluses e Perspectivas de Trabalho Futuro

64
efectuada. O mtodo de extraco de ritmo atravs do posicionamento de pixels
enunciado anteriormente tambm se pode revelar como uma boa alternativa.
Seria interessante tambm aumentar o nvel de complexidade do ritmo gerado
automaticamente, talvez atravs da composio de melodias que, de certa forma,
enriquecessem o sentimento da exibio.





6S




Referncias



[1] - Mulder Axel, Human movement tracking technology, Report 94-1 of the Hand
Centered Studies of Human Movement Project, Burnaby, Columbia Britnica, Canad:
Universidade Simon Fraser, Julho 1994.
[2] - http://music.arts.uci.edu/dobrian/motioncapture/, acesso em 25/01/2009.
[3] Mark Feldmeier, Mateusz Malinowski, Joseph A. Paradiso, Large Group Musical
Interaction using Disposable Wireless motion sensors, (2002)
[4] - U. Enke. DanSense: Rhythmic analysis of dance movements using acceleration-onset
times. Master's thesis, RWTH Aachen University, Aachen, Alemanha, Setembro 2006.
[5] - http://music.arts.uci.edu/dobrian/motioncapture/mcm.htm, acesso em 25/01/2009.
[6] www.vicon.com, acesso em 25/01/2009.
[7] Atsushi Nakazawa, Katsushi Ikeuchi, Takaaki Shiratori, Detecting Dance Motion
Structure Using Motion Capture and Musical Information, Instituto de Cincia Industrial,
Universidade de Tokyo 4-6-1, Komaba, Meguro-ku, Tokyo 153-8505, Cybermedia Center,
Universidade de Osaka 1-32, Machikaneyama, Toyonaka, Osaka 560-0043, Japo.
[8] Mikhail Gorman, Margrit Betke, Elliot Saltzman, e Amir Lahav, Music Maker A
Camera-based Music Making Tool for Physical Rehabilitation, Computer Science Technical
Report No. 2005-032, Universidade de Boston.
[9] - http://www.infomus.dist.unige.it/EywMain.html, acesso em 25/01/2009.
[10] Antonio Camurri, Carol L. Krumhansl, Barbara Mazzarino, Gualtiero Volpe, An
Exploratory Study of Anticipating Human Movement in Dance, 2nd International
Referncias

66
Symposium on Measurement, Analysis and Modeling of Human Functions, 1st Mediterranean
Conference on Measurement, Genova, Itlia, Junho de 2004.
[11] Guedes, C. Mapping Movement to Musical Rhythm: A Study in Interactive Dance.
Ph.D. Thesis, Universidade de Nova-Iorque, Nova-Iorque, 2005.
[12] - Oppenheim, A. V. & Schafer, R. V. Digital Signal Processing, Prentice-Hall
International, Londres, 1975.
[13] - Naveda, L. and M. Leman (2008). Representation of Samba dance gestures, using a
multi-modal analysis approach. 5th International Conference on Enactive Interfaces. Pisa,
European Enactive Network of Excellence ENACTIVE.
[14] - http://www.cycling74.com/products/max5, acesso em 25/01/2009.
[15] http://puredata.info/ , acesso em 25/01/2009.
[16] http://www.troikatronix.com/isadora.html, acesso em 25/01/2009.
[17] http://www.processing.org/, acesso em 25/01/2009
[18] - R. F. Gonzalez, R. E. Woods, Digital Image Processing, Addison-Wesley Publishing
Company, 1993.
[19] Lus F. Teixeira, Jaime S. Cardoso, Lus Corte-Real, Object Segmentation Using
Background Modelling and Cascaded Change Detection, Journal of Multimedia, vol. 2, no.
5, Setembro 2007
[20] - D.-S. Lee, Effective Gaussian mixture learning for video background subtraction,
IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 27, no. 5, pp. 827832,
Maio 2005.
[21] - A. Elgammal, D. Hardwood, e L. Davis, Non-parametric model for background
subtraction, Proceedings of European Conference on Computer Vision, vol. 2, 2000, pp.
751767.
[22] - L. Li, W. Huang, I. Y.-H. Gu, e Q. Tian, Statistical modeling of complex backgrounds
for foreground object detection, IEEE Transactions on Image Processing, vol. 13, no. 11,
pp. 14591472, Novembro 2004.



67
[23] - J. S. Cardoso and L. Corte-Real, Toward a generic evaluation of image
segmentation, IEEE Transactions on Image Processing, vol. 14, pp. 17731782, Novembro
2005.
[24] - , A measure for mutual renements of image segmentations, IEEE Transactions
on Image Processing, vol. 15, pp. 23582363, Agosto 2006.
[25] Yilmaz, A., Javed, O., and Shah, M. 2006. Object tracking: A survey. ACM Comput.
Surv. 38, 4, Article 13, Dezembro 2006
[26] - VEENMAN, C., REINDERS, M., AND BACKER, E. 2001. Resolving motion correspondence
for densely moving points. IEEE Trans. Patt. Analy. Mach. Intell. 23, 1, 5472.
[27] - SERBY, D., KOLLER-MEIER, S., AND GOOL, L. V. 2004. Probabilistic object tracking
using multiple features. In IEEE International Conference of Pattern Recognition (ICPR).
184187.
[28] - COMANICIU, D., RAMESH, V., AND MEER, P. 2003. Kernel-based object tracking. IEEE
Trans. Patt. Analy. Mach. Intell. 25, 564575.
[29] YILMAZ, A., LI, X., AND SHAH, M. 2004. Contour based object tracking with occlusion
handling in video acquired using mobile cameras. IEEE Trans. Patt. Analy. Mach. Intell. 26,
11, 15311536.
[30] - ALI, A. AND AGGARWAL, J. 2001. Segmentation and recognition of continuous human
activity. In IEEE Workshop on Detection and Recognition of Events in Video. 2835.
[31] - COOTES, T., EDWARDS, G., AND TAYLOR, C. 2001. Robust real-time periodic motion
detection, analysis, and applications. IEEE Trans. Patt. Analy. Mach. Intell. 23, 6, 681685.
[32] - ZHU, S. AND YUILLE, A. 1996. Region competition: unifying snakes, region growing,
and bayes/mdl for multiband image segmentation. IEEE Trans. Patt. Analy. Mach. Intell.
18, 9, 884900.
[33] - PARAGIOS, N. AND DERICHE, R. 2002. Geodesic active regions and level set methods
for supervised texture segmentation. Int. J. Comput. Vision 46, 3, 223247.
[34] - ELGAMMAL, A., DURAISWAMI, R., HARWOOD, D., AND DAVIS, L. 2002. Background and
foreground modeling using nonparametric kernel density estimation for visual surveillance.
Proceedings of IEEE 90, 7, 11511163.
Referncias
Referncias

68
[35] - FIEGUTH, P. AND TERZOPOULOS, D. 1997. Color-based tracking of heads and other
mobile objects at video frame rates. In IEEE Conference on Computer Vision and Pattern
Recognition (CVPR). 2127.
[36] - EDWARDS, G., TAYLOR, C., AND COOTES, T. 1998. Interpreting face images using
active appearance models. In International Conference on Face and Gesture Recognition.
300305.
[37] - MUGHADAM, B. AND PENTLAND, A. 1997. Probabilistic visual learning for object
representation. IEEE Trans. Patt. Analy. Mach. Intell. 19, 7, 696710.
[38] - BLACK, M. AND JEPSON, A. 1998. Eigentracking: Robust matching and tracking of
articulated objects using a view-based representation. Int. J. Comput. Vision 26, 1, 6384.
[39] - AVIDAN, S. 2001. Support vector tracking. In IEEE Conference on Computer Vision
and Pattern Recognition (CVPR). 184191.
[40] - PARK, S. AND AGGARWAL, J. K. 2004. A hierarchical bayesian network for event
recognition of human actions and interactions. Multimed. Syst. 10, 2, 164179.
[41] - SHAFIQUE, K. AND SHAH, M. 2003. A non-iterative greedy algorithm for multi-frame
point correspondence. In IEEE International Conference on Computer Vision (ICCV). 110
115.
[42] - HARITAOGLU, I., HARWOOD, D., AND DAVIS, L. 2000. W4: real-time surveillance of
people and their activities. IEEE Trans. Patt. Analy. Mach. Intell. 22, 8, 809830.
[43] - PASCHOS, G. 2001. Perceptually uniform color spaces for color texture analysis: an
empirical evaluation. IEEE Trans. Image Process. 10, 932937.
[44] - SONG, K. Y., KITTLER, J., AND PETROU, M. 1996. Defect detection in random color
textures. Israel Verj. Cap. J. 14, 9, 667683.
[45] - CANNY, J. 1986. A computational approach to edge detection. IEEE Trans. Patt.
Analy. Mach. Intell. 8, 6, 679698.
[46] - BOWYER, K., KRANENBURG, C., AND DOUGHERTY, S. 2001. Edge detector evaluation
using empirical roc curve. Comput. Vision Image Understand. 10, 77103.
[47] - HORN, B. AND SCHUNK, B. 1981. Determining optical ow. Artic. Intell. 17, 185
203.



69
[48] - LUCAS, B. D. AND KANADE., T. 1981. An iterative image registration technique with
an application to stereo vision. In International Joint Conference on Articial Intelligence.
[49] - BLACK, M. AND ANANDAN, P. 1996. The robust estimation of multiple motions:
Parametric and piecewise- smooth ow elds. Comput. Vision Image Understand. 63, 1,
75104.
[50] SZELISKI, R. AND COUGHLAN, J. 1997. Spline-based image registration. Int. J.
Comput. Vision 16, 1-3, 185203.
[51] - BARRON, J., FLEET, D., AND BEAUCHEMIN, S. 1994. Performance of optical ow
techniques. Int. J. Comput. Vision 12, 4377.
[52] - HARALICK, R., SHANMUGAM, B., AND DINSTEIN, I. 1973. Textural features for image
classication. IEEE Trans. Syst. Man Cybern. 33, 3, 610622.
[53] - LAWS, K. 1980. Textured image segmentation. PhD thesis, Electrical Engineering,
Universidade da Califrnia do Sul.
[54] - MALLAT, S. 1989. A theory for multiresolution signal decomposition: The wavelet
representation. IEEE Trans. Patt. Analy. Mach. Intell. 11, 7, 674693.
[55] P. KadewTraKuPong and R. Bowden,An improved adaptive background mixture model
for real-time tracking with shadow detection, in Proc. 2nd European Workshp on Advanced
Video-Based Surveillance Systems, 2001
[56] - J. W. Cooley and J. W. Tukey. An algorithm for the machine calculation of complex
Fourier series. Mathematics of Computation, 19:297301, 1965
[57] - William H. Press, Saul A. Teukolsky, William T. Vetterling and Brian P. Flannery,
Numerical Recipes: The Art of Scientific Computing, Third Edition, Cambridge University
Press
[58] - Blahut, R. (1985). Fast algorithms for digital signal processing. Reading, MA:
Addison-Wesley Publishing Company
[59] - Tempelaars, S., Signal processing, speech and music, Swets & Zeitlinger, Lisse,
The Netherlands, 1996
[60] - http://www.iamas.ac.jp/~jovan02/cv/, acesso em 27/01/2009

You might also like