Universidade Federal do Ceará
Departamento de Engenharia de Teleinformática
Programa de Pós Graduação em Engenharia de Teleinformática
Antonio Carlos da Silva Barros
Análise Comparativa de Técnicas de Detecção de
Movimento e Rastreamento de Objetos em Vídeo
Digital usando Dispositivos Móveis
Fortaleza � Ceará
Novembro 2010
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
Antonio Carlos da Silva Barros
Análise Comparativa de Técnicas de Detecção de Movimento
e Rastreamento de Objetos em Vídeo Digital usando
Dispositivos Móveis
Dissertação de Mestrado submetida
ao corpo docente da Coordenação
do Curso de Pós-Graduação em
Engenharia de Teleinformática da
Universidade Federal do Ceará como
parte dos requisitos para obtenção do
grau de Mestre em Engenharia de
Teleinformática.
Área de Concentração: Sinais e
Sistemas
Orientador : Prof. Dr. Paulo César
Cortez
Co-orientador : Prof. Dr. José
Marques Soares
Fortaleza � Ceará
Novembro 2010
Resumo
Existem diversas técnicas de visão computacional em aplicações importantes
como, por exemplo, reconhecimento de objetos, navegação de robô, detecção
de movimentos, entre outras. A estimação de movimento é uma tarefa básica
de visão computacional com várias aplicações importantes, como segmentação,
rastreamento de objetos, e até mesmo medição de velocidade. Exemplos destes
métodos são: subtração de fundo, a diferença temporal e o �uxo óptico. Neste
trabalho foi realizada uma análise comparativa de técnicas de detecção de
movimento e rastreamento de objetos em sistemas embarcados. Neste contexto,
foram estudados algoritmos de detecção de movimentos com um baixo custo
computacional para aplicações embarcadas e que satisfaçam os requisitos básicos
para a detecção e rastreamento de objetos em dispositivos móveis. Os algoritmos
foram inicialmente simulados através do Matlab em seguida desenvolvidos em C
ANSI utilizando o OpenCV e, por �m, embarcados em aparelhos celulares no qual
é avaliado o desempenho. Os resultados obtidos comprovam que estes métodos
avaliados podem ser embarcados em dispositivos móveis e que as trajetórias geradas
são sensíveis a velocidade e que os descritores de forma indicam o quanto as técnicas
são capazes de representar os objetos segmentados.
Palavras-chaves: Detecção de Movimento, Dispositivos Móveis, Sistemas de
Interação, Visão Computacional.
Abstract
There are several techniques of computer vision on important applications such
as, for example, object recognition, robotic navigation, motion detection,
among others. The motion estimation is a basic computer vision task with many
important applications, such as segmentation, object tracking , and even speed
measuring. Examples of these methods are: background subtraction, time di�erence
and optical �ow. In this work it's realized a comparative analysis of techniques
for detecting and tracking moving objects in embedded systems. In this context,
should be studied motion detection algorithms with a low computational cost for
embedded applications and which meet the basic requirements for the detection
and object tracking in mobile devices. The algorithms are �rst simulated using
Matlab and then developed in ANSI C using OpenCV and, �nally, embedded in
mobile devices in which it is assessed. Through this work it is possible set technique
features that are best suited to detect movements e�ciently and with low cost
computing for embedded systems in real time, especially on mobile devices.
Keywords: Motion Detection, Mobile Devices, Systems Interaction, Vision
Computer.
Dedico este trabalho ao Pai Celestial, à minha esposa, minha So�a, à minha
familia, ao meu orientador e aos amigos.
Agradecimentos
Agradeço primeiramente ao Pai Celestial por todas as bençãos derramadas sobre
mim durante toda minha vida.
À minha esposa que está sempre me apoiando desde a escrita da minha
monogra�a na graduação.
Ao professor Dr. Paulo César Cortez, meu orientador cientí�co, pela amizade e a
oportunidade de receber um pouco de sua sabedoria, pela disponibilidade apresentada
e pelas condições que me proporcionou para a realização deste trabalho.
Ao Rodrigo Costa, pela paciência e esforço compartilhado auxiliando na
orientação desse trabalho, e aos demais integrantes do grupo GIHM (Grupo de
Interação Homem Máquina).
Aos amigos, Auzuir Ripardo, Pedro Pedrosa , Tarique Cavalcante, dentre outros
integrantes do sub-grupo de pesquisa em Engenharia Biomédica do Laboratório de
Engenharia de Sistemas de Computação, pela amizade e esforço compartilhado
durante o curso de mestrado.
Aos engenheiros de desenvolvimento do SIDI (Samsung Instituto de
Desenvolvimento para a Informática), Giovanni, Miguel e Nelson pelo embarque
dos algoritmos na plataforma de testes.
Por �m, mas não menos importante, à Coordenação de Aperfeiçoamento de
Pessoal de Nível Superior (CAPES) pelo suporte �nanceiro através do concedimento
da bolsa de Mestrado.
Lutemos por um mundo de razão, um mundo em que a ciência e o progresso
conduzam à ventura de todos nós.
Charles Chaplin
Sumário
Lista de Figuras ix
Lista de Tabelas x
Lista de Siglas x
1 Introdução 11.1 Sistemas de Captura de Movimento . . . . . . . . . . . . . . . . . . . 21.2 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Organização da Dissertação . . . . . . . . . . . . . . . . . . . . . . . 6
2 Fundamentação Teórica e Trabalhos Relacionados 72.1 Fundamentos de Processamento de Imagens . . . . . . . . . . . . . . 7
2.1.1 Imagem e Vídeo Digitais . . . . . . . . . . . . . . . . . . . . . 82.1.2 Espaço de Cores . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1.3 Transformações Lineares . . . . . . . . . . . . . . . . . . . . . 112.1.4 Detecção de Bordas . . . . . . . . . . . . . . . . . . . . . . . . 122.1.5 Segmentação . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1.6 Extração de Características . . . . . . . . . . . . . . . . . . . 152.1.7 Detecção de Movimento . . . . . . . . . . . . . . . . . . . . . 18
2.2 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Descrição dos Métodos de Detecção de Movimento Avaliados 253.1 Subtração de Fundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.1 Etapas dos Métodos de Subtração de Fundo . . . . . . . . . . 273.1.2 Subtração de Fundo Usando Imagens em Níveis de Cinza . . . 313.1.3 Subtração de Fundo Usando Imagens Coloridas . . . . . . . . 32
3.2 Diferença Temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.3 Fluxo Óptico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4 Métodos de Contornos Ativos (MCAs) . . . . . . . . . . . . . . . . . 39
3.4.1 MCA Tradicional . . . . . . . . . . . . . . . . . . . . . . . . . 403.4.2 MCA Balão . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
vi
4 Metodologia 534.1 Equipamentos Utilizados . . . . . . . . . . . . . . . . . . . . . . . . . 534.2 Ambiente de Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . 54
4.2.1 Matlab R© . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.2.2 Open Source Computer Vision Library . . . . . . . . . . . . . 554.2.3 REX OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.2.4 Interface para Teste . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3 Implementação em Dispositivos Portáteis . . . . . . . . . . . . . . . . 594.3.1 Simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.3.2 Conversão para C ANSI . . . . . . . . . . . . . . . . . . . . . 61
4.4 Descrição da execução dos algoritmos desenvolvidos . . . . . . . . . . 624.5 Avaliação e Comparação das Técnicas . . . . . . . . . . . . . . . . . . 67
4.5.1 Geração de Vídeo Sintético . . . . . . . . . . . . . . . . . . . . 674.5.2 Avaliação da Trajetória . . . . . . . . . . . . . . . . . . . . . . 684.5.3 Esforço Computacional . . . . . . . . . . . . . . . . . . . . . . 694.5.4 Descritores de Forma . . . . . . . . . . . . . . . . . . . . . . . 69
5 Resultados 705.1 Movimento Retangular . . . . . . . . . . . . . . . . . . . . . . . . . . 715.2 Movimento Circular Uniforme . . . . . . . . . . . . . . . . . . . . . . 725.3 Avaliação do Esforço Computacional . . . . . . . . . . . . . . . . . . 725.4 Descritores de Forma . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6 Conclusões, Contribuições e Trabalhos Futuros 78
Referências Bibliográ�cas 92
vii
Lista de Figuras
2.1 sistema típico de visão computacional. . . . . . . . . . . . . . . . . . 82.2 exemplo de uso de Chain code. . . . . . . . . . . . . . . . . . . . . . . 162.3 (a) imagem segmentada (b) imagem segmentada com contorno e (c)
cantos encontrados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4 indicação da curvatura baseada no ângulo. . . . . . . . . . . . . . . . 18
3.1 etapas de um algoritmo de Subtração de Fundo (CHEUNG; KAMATH,2004). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 exemplo de subtração de fundo. . . . . . . . . . . . . . . . . . . . . . 313.3 exemplo de diferenciação no tempo, a) frame no instante t0, b) no
instante t0 + 1 e c) resultado da diferença no tempo. . . . . . . . . . . 343.4 a) frame no instante t0, b) frame no instante t0 + 1 e c) campo de
�uxo óptico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.5 exemplo do método de correlação. . . . . . . . . . . . . . . . . . . . . 373.6 exemplo dos vizinhos considerados no cálculo da energia. . . . . . . . 423.7 iteração do MCA Tradicional: a) inicialização, b) a g) iterações
intermediárias e h) resultado �nal. . . . . . . . . . . . . . . . . . . . . 483.8 aplicação do MCA Tradicional na segmentação de objetos côncavos:
a) inicialização e b) resultado �nal. . . . . . . . . . . . . . . . . . . . 483.9 exemplo da atuação da força balão repulsando um ponto c(s) em
direção contrária do baricentro T (xt, yt). . . . . . . . . . . . . . . . . 503.10 a) inicialização da curva, b) e c) são resultados das iterações
intermediárias e d) resultado �nal da segmentação pelo MCA Balão. . 513.11 aplicação do MCA Balão, desde a) inicialização da curva, b) e c)
iterações intermediárias d) resultado �nal da segmentação. . . . . . . 51
4.1 diagrama da Plataforma REX . . . . . . . . . . . . . . . . . . . . . . 574.2 principais passos em processamento de imagem e vídeo. . . . . . . . . 604.3 simulação para avaliação numérica dos algoritmos de detecção de
movimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.4 simulação para pós-processamento. . . . . . . . . . . . . . . . . . . . 614.5 esquema do uso dos algoritmos desenvolvidos em C. . . . . . . . . . . 62
viii
4.6 resultados obtidos durante a etapa de pós-processamento usando atécnica de SF. a) imagem original I, b) R(x, y), c) R1(x, y), d)R2(x, y) e e) R3(x, y). . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.7 resultados obtidos durante a etapa de pós-processamento usando atécnica de DT. a) imagem original I, b) R(x, y), c) R1(x, y), d)R2(x, y) e e) R3(x, y). . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.8 resultados obtidos durante a etapa de pós-processamento usando atécnica de SF. a) imagem original I, b) R(x, y), c) R1(x, y), d)R2(x, y) e e) R3(x, y). . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.9 inicialização do MCA, a) imagem original, b) objeto e cantosdetectados com a curva inicial após a aplicado a técnica de Subtraçãode Fundo e detecção de cantos. . . . . . . . . . . . . . . . . . . . . . 67
4.10 geração de um vídeo controlado utilizando uma imagem de fundoestático. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.1 comportomento do MSE em função da velocidade simulada para omovimento retangular. . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2 comportomento do MSE em função da velocidade simulada para omovimento circular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.3 comportomento do MSE em função da velocidade simulada para omovimento circular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.4 tempo de processamento em relação a resolução do frame. . . . . . . 755.5 tempo de processamento em relação a resolução do frame e a
quantidade de pontos da curva. . . . . . . . . . . . . . . . . . . . . . 77
ix
Lista de Tabelas
2.1 revisão de trabalhos relacionados . . . . . . . . . . . . . . . . . . . . 20
4.1 equipamentos utilizados no desenvolvimento desta dissertação . . . . 54
5.1 tempos médios em ms de execução para uma resolução de 176×144executando os algoritmos 100 vezes. . . . . . . . . . . . . . . . . . . . 75
5.2 valores estatísticos do esforço computacional para a etapa detecçãoem um frame 176×144. . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.3 custo computacional em milisegundos em função do tamanho do frame. 765.4 custo computacional em milisegundos em função do tamanho do
frame e do número de pontos da curva para o método MCA. . . . . . 765.5 descritores escalares avaliados para cada método . . . . . . . . . . . . 76
x
Lista de Siglas
DT Diferenciação Temporal
FPS quadros por segundo (Frames per Second)
STVC Sistema Típico de Visão Computacional
SDM Sistema de Detecção de Movimento
MSE Erro Médio Quadrático (Mean Squared error)
OpenCV Open Source Computer Vision Library
PC Computador Pessoal (Personal Computer)
PDA Assistente Pessoal Digital (Personal Digital Assistant)
FO Fluxo Óptico (Optical Flow)
SF Subtração de Fundo (Background Subtraction)
MCA Método dos Contornos Ativos (Active Contour)
VC Visão Computacional
GVF Gradient Vector Flow
xi
Capítulo 1Introdução
Ainteração do ser humano com o ambiente está intimamente ligada ao processo
histórico da humanidade. Desde os primórdios os humanos interage com o
meio ambiente para satisfazer suas necessidades de sobrevivência. Um exemplo
disto é a comunicação através de gestos, símbolos e a linguagem.
Com o surgimento da eletrônica, máquinas de calcular passam a utilizar
instruções armazenadas, favorecendo o surgimento do computador, equipamento
capaz de armazenar e processar informações velozmente. Quando os primeiros
computadores surgiram a interatividade era realizada de forma muito restrita. O
operador tinha que passar as instruções por meio de cartões perfurados (CARIBE,
1996).
Os avanços da eletrônica têm possibilitado a diminuição dos custos e volume dos
componentes eletrônicos que possibilitou no surgimento dos Computadores Pessoais
(PCs). A interação do usuário com os PCs passa a ser uma necessidade básica para
melhor operá-lo. Inicialmente o teclado era a única forma de interação com os PCs,
em seguida, com a inserção do mouse aos PCs facilitou incrivelmente a interação das
aplicações desenvolvidas para os PCs. Depois surgiram os Joysticks de modo que
a interação com jogos, controle de robôs em ambientes industriais e em operações
cirúrgicas tornaram-se mais atraentes (TRUYENQUE, 2005).
Os avanços tecnológicos das últimas décadas possibilitaram uma diminuição
ainda maior dos custos de hardware, principalmente de componentes eletrônicos,
possibilitando a criação de dispositivos de funcionalidades especí�cas e maior
interação com o usuário.
1
1.1. Sistemas de Captura de Movimento 2
Os aparelhos celulares atuais são exemplos típicos destes dispositivos que têm
diversas funcionalidades para melhor interagir com o usuário. Essas funcionalidades
são possíveis devido a inserção de elementos como: Bluetooth, câmera digital,
acelerômetros, e teclados do tipo touch screens (TRUYENQUE, 2005).
As câmeras digitais são integradas a dispositivos portáteis, como por exemplo,
celulares, Assistentes Pessoais Digitais (PDAs) e outros dispositivos móveis com o
objetivo de obter fotogra�as e vídeos. Porém, com o advento de técnicas baseadas em
Visão Computacional (VC), a câmera pode ser utilizada como forma de interação
do usuário com o dispositivo (COSTA et al., 2006).
Esta interação é possível por meio de reconhecimento de gestos, símbolos,
desenhos, voz e até mesmo o reconhecimento de diversos tipos de movimentos que
o usuário realize no próprio dispositivo. Isto só é possível porque a capacidade
de processamento destes dispositivos têm aumentado consideradamente nas últimos
décadas, possibilitando a utilização da câmera como elemento sensor (CAMPO et al.,
2007).
Pesquisadores estão desenvolvendo sistemas usando a informação de movimento
capturado pela câmera dos dispositivos móveis para desenvolver as mais diversas
aplicações para estes dispositivos (COSTA et al., 2006; HANNUKSELA et al., 2007;
HILDRETH, 2006; WANG et al., 2006; HARO et al., ; DRAB; ARTNER, 2005). Esta área
de estudo é conhecida como Sistema de Captura de Movimento.
1.1 Sistemas de Captura de Movimento
No ramo de VC, Captura de Movimento é um sistema que captura o movimento
de pessoas e/ou de objetos a �m de obter uma descrição das atividades em execução.
Esta descrição poderá ser usada, por exemplo, para o monitoramento em sistema
de vigilância, controle de um avatar em ambiente virtual. Assim, a informação de
movimento pode ser usada por sistemas de vigilância, controle e análise (HIGASHIMO,
2006).
O movimento é uma fonte de informações de várias atividades visuais,
incluindo aquisição de formas 3D, controle oculomotor, organização perceptual,
reconhecimento de objetos e interpretação de cenas (PARAGIOS et al., 2005; COSTA
et al., 2006).
Os sistemas de captura de movimento são usados para localizar objetos em
1.2. Motivação 3
movimento e separá-los do fundo. A visualização do resultado dessa operação
geralmente é uma imagem binária mostrando apenas as regiões em movimento
(TRUYENQUE, 2005; DENMAN et al., 2007).
Durante os últimos anos, diversas abordagens têm sido propostas para detectar
objetos em movimento. Uma abordagem simples é a diferenciação temporal entre
dois instantes de tempo (GONZALEZ; WOODS, 2008; SOARES et al., 2004; COSTA et al.,
2006). Este tipo de método é bastante e�ciente em casos de grandes deslocamentos
ou quando os objetos possuem textura com características fortes de rugosidade
(PARAGIOS; DERICHE, 1997; COSTA et al., 2006).
O método desenvolvido por Betke et al. (2002), é baseado em técnicas de
correlação. Para o uso deste tipo de algoritmo, faz-se necessário uma etapa de
inicialização, na qual o usuário escolhe o objeto a ser rastreado. Em seguida, as
técnicas de correlação realizam a procura do objeto selecionado dentro de uma janela
(frame) especí�ca, situada em torno do objeto localizado no frame anterior.
Outra abordagem muito usada na detecção de movimento é através do �uxo
óptico. O �uxo óptico fornece meios de determinar e representar o movimento em
uma seqüencia de imagens. As técnicas tradicionais de �uxo óptico analisam todos
seus pixels, podendo resultar na detecção de regiões em movimento (DENMAN et al.,
2007).
No trabalho de Yulan e Silong (2008) é apresentado um novo algoritmo para
detecção de movimento por meio de Contornos Ativos denominado Mean Shift. Os
trabalhos de Montse e Elisa (2001) e Tabb et al. (2000) conseguem estimar e rastrear
objetos usando o conceito de Contornos Ativos.
1.2 Motivação
O uso de técnicas baseadas em detecção de movimento tem diversas aplicações.
Na área de dispositivos móveis. É possível perceber que o movimento da câmera
ou do objeto é su�ciente para oferecer interatividade, seja desligando o alarme do
celular, navegando em um mapa ou usando-o como mouse para uma apresentação
de slides.
No entanto, não é trivial selecionar algoritmos para uma aplicação embarcada
em tempo real, utilizando dispositivos móveis. Isto se deve à limitação de custo
computacional, e�ciência do método e usabilidade que este sistema de acsVC pode
1.2. Motivação 4
vir a ter quando usado para processar métodos de visão computacional. Muitos
métodos de VC possuem operações matemáticas complexas, como convoluções e
transformações são dependentes da �xação da câmera.
Usar uma câmera como elemento sensor em uma aplicação embarcada tem outros
fatores que afetam o bom desempenho da aplicação. A memória, frequência de clock
de oscilação do cristal do processador utilizado, resolução e taxa de frames adquiridos
pelo dispositivo pode ser decisivo para o uso desta câmera (HARITAOGLU et al., 2000;
COSTA et al., 2006). Em um dispositivo capaz de adquirir 15 quadros por segundo,
um algoritmo com tempo de processamento maior do 250ms não é capaz de ser
utilizado.
Todos esses fatores limitantes de utilização da câmera na detecção de movimento,
contribuem para uma escolha adequada do algoritmo de detecção de movimento para
dispositivos móveis. Esses algoritmos exigem as seguintes características: e�ciência
na detecção e um baixo custo computacional. Logo, para possibilitar a utilização
de técnicas de VC, faz-se necessário o desenvolvimento de algoritmos adequados à
essa aplicação, que possuam menor custo computacional e que sejam adequados aos
dispositivos móveis.
Na literatura atual, os trabalhos apresentam o problema da detecção de
movimento geralmente em três situações. A primeira situação é a que relata os
resultados de uma determinada técnica em um sistema operacional ou plataforma
especí�ca; a segunda trata somente de várias técnicas, não realizando uma análise
comparativa entre as mesmas em uma plataforma especí�ca; por último, há aqueles
casos que realizam a análise da detecção de movimento de um algoritmo especí�co
em diferentes sistemas operacionais. Por outro lado, os trabalhos não reportam uma
comparação entre pelo menos três técnicas diferentes para rastrear o movimento,
seja de objeto ou do próprio dispositivo. Geralmente, tais trabalhos não fazem
uma descrição bem detalhada para que se possa embarcar algoritmos em diferentes
sistemas operacionais, principalmente para dispositivos móveis. Além disso, não
apresentam testes de usabilidade, bem como o custo computacional real das técnicas
usadas em uma determinada con�guração de hardware.
Tendo em vista todas essas questões, é importante uma análise comparativa de
técnicas de detecção de movimento para rastrear e identi�car objetos em dispositivos
móveis, possibilitando mais aplicações para estes sistemas com o uso adequado das
técnicas de VC.
1.3. Objetivo 5
Avaliar características como custo computacional, análise de falsos positivos na
detecção dos objetos, bem como avaliação da trajetória do objeto rastreado são
fatores primordiais para identi�car se é viável investir na técnica para o uso de uma
aplicação �nal.
Este trabalho realiza a análise comparativa de quatro técnicas de detecção
de movimento em sistemas embarcados: Subtração de Fundo (SF), Diferença
Temporal (DT), Fluxo Óptico (FO) e Método dos Contornos Ativos (MCA). São
técnicas de natureza diferentes aplicadas à detecção de movimento e rastreamento
de objetos em vídeo digital.
1.3 Objetivo
O objetivo geral desta dissertação é realizar uma análise comparativa de
algoritmos para detecção de movimentos e rastreamento de objetos, utilizando
câmeras de baixa resolução para aplicações em dispositivos móveis. Os objetivos
especí�cos são:
i. revisão bibliográ�ca;
ii. pesquisa e estudo de métodos de detecção de movimentos e rastreamento de
objetos;
iii. pesquisa e estudo de sistemas operacionais para dispositivos móveis;
iv. desenvolvimento de uma plataforma de computação grá�ca para adquirir
vídeos de forma controlada;
v. simulação e validação dos algoritmos pesquisados em seqüencias de frames
utilizando Matlab/Simulink;
vi. implementação, adaptação e otimização dos códigos em C ANSI para
plataformas embarcadas;
vii. análise comparativa de parâmetros, como, custo computacional, falsos
positivos e análise da trajetória do objeto rastreado pelas técnicas estudadas;
1.4. Organização da Dissertação 6
1.4 Organização da Dissertação
Esta dissertação está organizada em 6 capítulos. O segundo Capítulo realiza uma
revisão sobre as técnicas de detecção de movimento a serem avaliadas descrevendo
suas principais características e especi�cações das técnicas para a detecção de
movimento em vídeos digitais. O Capítulo 3 apresenta as técnicas a serem avaliadas
com a descrição matemática de cada método. A metodologia adotada para o
desenvolvimento deste trabalho é apresentada no Capítulo 4. O Capítulo 5 relata
os resultados obtidos nesse trabalho. A análise e discussão dos resultados e as
considerações �nais e perspectivas futuras encontra-se no Capítulo 6.
Capítulo 2Fundamentação Teórica e Trabalhos
Relacionados
Omovimento de objetos pode ser detectado por diversas formas, utilizando
determinados tipos de sensores de detecção de movimento. Uma forma
alternativa é utilizar a câmera como elemento sensor através do desenvolvimento
de técnicas de visão computacional.
Por meio de técnicas de detecção de movimentos é possível detectar o movimento
de pessoas, carros e também rastrear ou detectar o movimento feito pela câmera em
uma seqüencia de vídeo, bem como realizar uma classi�cação do tipo do movimento.
Um exemplo disso é o trabalho de García (2005), que detecta movimento quando
houve qualquer movimentação da câmera.
A Seção 2.1 descrevem-se os fundamentos da aquisição e processamento de
imagens. Em seguida, o estado da arte de detecção de movimento em tempo real é
descrito na Seção 2.2.
2.1 Fundamentos de Processamento de Imagens
Esta seção descreve importantes de�nições para tornar mais compreensível o
conceito de detecção de movimentos.
Um Sistema Típico de Visão Computacional (STVC) é formado por uma
sequência de etapas, são elas: aquisição, pré-processamento, segmentação,
pós-processamento e análise dos resultados. Estas etapas estão melhor representadas
na Figura 2.1.
7
2.1. Fundamentos de Processamento de Imagens 8
Figura 2.1: sistema típico de visão computacional.
A aquisição representa a captura das imagens por um elemento sensor. O
pré-processamento está associado a melhoria da qualidade da imagem adquirida
para a etapa de segmentação. A etapa de segmentação em um sistema de
visão computacional é a que geralmente difere entre as aplicações, esta etapa é
responsável por realizar a separação do objeto de interesse em uma imagem. Já a
etapa de pós-processamento é aplicado para a melhoria da etapa de segmentação,
eliminando ruídos ou realçando melhor o objeto segmentado. Após a etapa de
pós-processamento é realizada a operação de extração de características a�m de
realizar um descrição dos resultados. A última etapa consiste em apresentar esses
resultados.
Com o intuito de facilitar a compreensão deste trabalho, algumas de�nições são
importantes, tais como imagens digitais, vídeo digital, segmentação de objetos em
imagens digitais e detecção de movimento em vídeo.
2.1.1 Imagem e Vídeo Digitais
Uma imagem pode ser de�nida como uma função bidimensional f(x, y), em que
(x, y) são as coordenadas espaciais da função de f em cada uma destas coordenadas
assume um valor positivo, cujo signi�cado depende do tipo da imagem. Para imagens
monocromáticas, este valor pode ser visto como o produto de um componente de
iluminação, que mede a quantidade de luz emitida por uma fonte externa, e um
componente de re�exão, que mede a quantidade de luz re�etida pela a superfície
naquela posição. Neste caso, dize-se que f mede intensidade de (x, y) e seu domínio
está na escala de níveis de cinza. Se as coordenadas (x, y) e os valores de f são
�nitos e discretos a imagem é digital (GONZALEZ; WOODS, 2008).
Para a transformação de uma imagem em sua correspondente digital, é necessário
2.1. Fundamentos de Processamento de Imagens 9
amostrar as coordenadas do plano e amplitude da função em quantidades discretas.
A digitalização das coordenadas do plano e a amplitude é chamada de amostragem.
Para a discretização dos valores da amplitude, os conceitos correspondentes são
chamados de quantização e resolução radiométrica. Os valores de f(x, y) são
normalmente quantizados em 2p níveis de cinza, em que p é a profundidade da
imagem (HIGASHIMO, 2006).
Uma imagem digital de profundidade p e dimensões n×m pode ser representada
por uma matriz I = [aij]n×m de mesmas dimensões, em que 0 ≤ aij < 2p, para todo
(0 ≤ i < n) e (0 ≤ j < m). Cada elemento aij desta matriz é chamado de pixel
(picture element) (GONZALEZ; WOODS, 2008).
Um vídeo digital é uma função discreta F (x, y, t), em que x e y representam
as coordenadas espaciais do quadro de número t, também discreto. Assim, pode-se
visualizar um vídeo digital como uma seqüencia de imagens digitais; denotadas por
It(x, y) a imagem �gerada� no quadro t. Esta série de quadros estão geralmente
separados por intervalos de tempos iguais (JERRY; BOVIK, 2000).
O olho humano é capaz de distinguir cerca de 20 imagens por segundo. Assim,
quando os quadros são reproduzidos a uma taxa superior a este valor, o ser humano
é conduzido a perceber um movimento contínuo. Caracteriza-se a �uidez de um
vídeo pelo número de imagens por segundo, exprimido em quadros por segundo
(FPS) (HIGASHIMO, 2006).
As imagens dos vídeos digitais normalmente encontram-se representadas por um
determinado modelo de cores, que é conhecido por espaços de cores (KEITH, 2007).
2.1.2 Espaço de Cores
De acordo com Foley et al. (1990), um espaço de cores é um sistema
tridimensional de coordenadas, em que cada eixo refere-se a uma cor primária.
A quantidade de cor primária necessária para reproduzir uma determinada cor,
é atribuída a um valor sobre o eixo correspondente.
O objetivo de um espaço de cores é permitir que uma cor possa ser especi�cada
de alguma maneira padrão e bem conhecida. Normalmente, consiste na escolha de
um sistema de coordenadas e um subespaço de cores deste sistema. Cada ponto no
interior deste subespaço especi�ca uma cor.
2.1. Fundamentos de Processamento de Imagens 10
RGB
Omodelo de espaço de cores RGB é provavelmente o mais usado entre os modelos
de cores, especialmente para dados de 8 bits. As coordenadas deste espaço são as
cartesianas de 3 dimensões, e o subespaço é um cubo. Uma cor é especi�cada pela
proporção de intensidade que possui de cada um dos componentes primárias de cor
(vermelho, verde e azul). Assim, cada ponto no interior ou na superfície do cubo
RGB especi�ca uma cor diferente (GONZALEZ; WOODS, 2008).
Uma imagem digital colorida pode ser vista como formada por 3 componentes
Ir(x, y),Ig(x, y) e Ib(x, y). Cada componente é gerado pela quantização do canal de
cor correspondente. Se um componente possui profundidade p, a imagem colorida
possui profundidade 3 ·p. Uma outra representação de uma imagem digital é através
de uma função discreta vetorial I(x, y), cujos valores são triplas (r, g, b) de cada
componente de cor (GONZALEZ; WOODS, 2008; JERRY; BOVIK, 2000).
A existência de espaços de cores alternativos ao RGB é uma resposta natural
à di�culdade que existe em especi�car uma cor através da ponderação de três
cores primárias. No espaço de cores RGB, tanto as informações de cores quanto às
intensidade estão juntas, di�cultando processos em que esses componentes precisem
ser analisados separadamente (detecção de sombras, por exemplo). Assim, outros
espaços de cores podem ser usados.
YCbCr
YCbCr é um espaço de cores utilizado em sistemas de vídeo, Y é o componente
de luminância e Cb e Cr os componentes de crominância. Este espaço de cores é
muito utilizado pelos estúdios europeus de televisão e para a tarefa de compressão
de imagem. Neste espaço de cores a cor é representada pela luminância, calculada
a partir do RGB, construído como uma soma ponderada dos valores RGB, e dois
valores de diferença de cor Cr e Cb que se formam subtraindo a iluminação dos
componentes vermelho e azul (GONZALEZ; WOODS, 2008; JERRY; BOVIK, 2000). A
matriz de transformação é dada por (KEITH, 2007):
Y
Cb
Cr
=
0, 299 0, 587 0, 114
−0, 169 −0, 331 0, 5
0, 5 −0, 419 −0, 0813
R
G
B
. (2.1)
2.1. Fundamentos de Processamento de Imagens 11
As componentes Cb e Cr juntas de�nem a cor de cada pixel. Informalmente
falando, as componentes Cb e Cr representam, respectivamente, a relação entre o
azul e o vermelho em relação ao verde.
2.1.3 Transformações Lineares
Um sistema linear, ao receber como entrada o impulso δ(x, y), tem como resposta
uma função h(x, y), chamada resposta ao impulso do sistema (GONZALEZ; WOODS,
2008).
A saída de um sistema linear pode ser calculada através da convolução de uma
imagem I(x, y) com h(x, y), ou seja, (HIGASHIMO, 2006)
G(x, y) = I(x, y) ∗ h(x, y), (2.2)
em que ? representa o operador convolução.
Considerando para um caso discreto, a equação 2.2 pode ser rede�nida como
G(x, y) =m∑
i=−m
n∑j=−n
I(i, j) ∗ h(x− i, y − j). (2.3)
Se I(x, y) e h(x, y) são imagens, a operação de convolução transforma-se na soma
ponderada de pixels em uma vizinhança. Neste caso, chama-se h(x, y) de máscara
de convolução, ou �ltro. Após re�etir h(x, y) sobre a imagem, calcula-se o valor de
G para cada pixel (x, y), transladando a máscara re�etida até o ponto (x, y) de I
e calculando-se a soma ponderada da vizinhança de�nida por h, o valor do peso de
cada termo é dado pelos valores de h.
Filtragem no Domínio Espacial
A restauração de imagens é uma técnica muito usada para reconstruir imagens
degradadas por ruídos. Existem diversos �ltros espaciais que realizam esta operação.
A restauração de imagens tenta reconstruir regiões que tem sido degradas, usando
conhecimento a priori de um fenômeno de degradação. São exemplos de �ltros o
�ltro de média e o de mediana. Existem ainda �ltros como o �ltro de mínimo e
máximo (GONZALEZ; WOODS, 2008).
A aplicação do �ltro de mínimo/máximo pode ser realizada como uma operação
de convolução de I com h, em que I é a imagem a ser restaurada e h a máscara de
2.1. Fundamentos de Processamento de Imagens 12
ordem n× p escolhida.
O �ltro de mínimo seleciona os menores valores na imagem, enquanto que o �ltro
de máximo seleciona os maiores valores da imagem. O �ltro de máximo é usado para
encontrar regiões com valores de luminância maior, enquanto o �ltro de mínimo para
encontrar regiões mais escuras.
2.1.4 Detecção de Bordas
Bordas ou arestas são de�nidas como locais da imagem em que ocorrem uma
mudança de intensidade signi�cante. Normalmente estão localizadas na fronteira
entre duas regiões. Uma borda pode ser caracterizada por uma mudança abrupta
nos níveis de cinza de uma dada imagem (GONZALEZ; WOODS, 2008).
Para uma função unidimensional, estas mudanças podem ser detectadas por
uma descontinuidade na primeira derivada da função. O equivalente da primeira
derivada para funções bidimensionais f(x, y) é o gradiente dado por (GONZALEZ;
WOODS, 2008)
∇f =
Gx
Gy
=
∂f∂x
∂f∂y
. (2.4)
Este vetor ∇f aponta para a direção de maior taxa de crescimento de f . Sua
magnitude é dada por
∇f =√G2x +G2
y, (2.5)
é o valor máximo de crescimento e o ângulo θ do vetor é dado por
θ(x, y) = arctan
Gy
Gx
. (2.6)
Para o processamento de imagens digitais, recomenda-se aproximações do
gradiente através de máscaras de convolução (GONZALEZ; WOODS, 2008). Umas
das máscaras mais usadas é o operador Sobel, representado por (KEITH, 2007):
Sx =
0 1 2
−1 0 1
−2 −1 0
, (2.7)
2.1. Fundamentos de Processamento de Imagens 13
e Sy dado por:
Sy =
−2 −1 0
−1 0 1
0 1 2
. (2.8)
A convolução de uma imagem I(x, y) com a máscara Sx calcula uma aproximação
do gradiente na direção do eixo x, e Sy na direção de y.
A detecção de bordas propriamente dita ocorre em 3 etapas: suavização, realce e
detecção. A suavização é a etapa necessária para a eliminação de ruídos da imagem.
A ausência da etapa de suavização pode afetar as etapas seguintes. Deve-se ter
cuidado para que a suavização não seja muito forte, mantendo os detalhes de bordas.
A etapa de realce de bordas, enfatiza mudanças de intensidade na borda dos objetos.
Este realce pode ser feito calculando-se a magnitude do gradiente, por exemplo,
através da aplicação da operação de convolução da imagem com máscaras Sobel.
A detecção, é a etapa em que são selecionados quais dos pixels, cujo valores dos
gradientes são calculados na etapa anterior, representam efetivamente uma aresta.
A forma mais comum é executar uma operação de limiarização na imagem gradiente,
selecionando apenas aqueles pontos cuja magnitude seja maior do que um limiar T .
2.1.5 Segmentação
A segmentação é um processo de subdividir uma imagem em regiões ou objetos
que a constituem (GONZALEZ; WOODS, 2008; HIGASHIMO, 2006; TRUYENQUE, 2005).
A segmentação dos objetos é dependente da aplicação, por exemplo, um sistema que
veri�ca o congestionamento de carros em uma via, separa os veículos da imagem
(CHEUNG; KAMATH, 2004).
Os métodos de segmentação em imagens estáticas podem ser divididas em dois
grandes grupos: o primeiro deles baseia-se em propriedades de descontinuidades
de pixels, como bordas e contornos. O segundo grupo são algoritmos baseados em
similaridade entre pixels ; assim, a imagem é particionada em regiões cujos pixels são
semelhantes de acordo com algum critério pré-estabelecido (HIGASHIMO, 2006).
2.1. Fundamentos de Processamento de Imagens 14
Limiarização
A operação de limiarização é um exemplo de segmentação baseada em
similaridade. Suponha uma imagem I(x, y) formada por objetos claros em um fundo
escuro, de tal maneira que o fundo e os objetos possuam intensidade agrupadas em
torno de dois grandes picos. Uma maneira intuitiva de segmentar os objetos é
selecionar um inteiro T que separa as duas modas e limiarizar a imagem. Neste
caso, considera todo pixel I(x, y) > T como objeto, ou pixel I(x, y) ≤ T como
fundo.
Em termos mais gerais, a operação de limiarização é aquela em que os pontos
são comparados com um limiar T que pode ser uma função da posição (x, y), da
intensidade I(x, y) ou até mesmo de alguma propriedade P (x, y), calculada para
aquela posição. Se o limiar depender apenas da intensidade, denomina-se global,
quando os limiares T dependem de propriedades locais P (x, y) são chamados de
locais. Finalmente, se o limiar depender também da posição (x, y), é tido como
dinâmico (HIGASHIMO, 2006).
O resultado desta operação pode resultar numa imagem binária representada por
R(x, y), em que
R(x, y) =
1, se I(x, y) > T,
0, caso contrário.(2.9)
ou seja, os valores de R(x, y) iguais 1 para pixels do objeto e 0 para pixels do fundo.
Componentes Conexos
Dada uma imagem segmentada o próximo passo é detectar os pontos que são
classi�cados como objetos, agrupá-los e clássi�ca-los de acordo com algum critério.
Esta etapa de rotulação dos componentes conexos é importante para a identi�cação
de quais são os pontos que formam os objetos em questão.
Alguns conceitos são necessários para de�nir componente conexo: relação de
adjacência e caminho. Considere A uma relação binária entre dois pixels p e q.
Dizer que q ∈ A(p) é o mesmo que dizer que (p, q) ∈ A, estabelecendo uma relação
de vizinhança entre pixels. O conjunto de pontos vizinhos a p, segundo a relação
de adjacência A, é denotado por Na(p) = q|(p, q) ∈ A. As vizinhanças mais comuns
são a vizinhança-4 e vizinhança-8. Dois pixels são vizinhança-4 se compartilharem
2.1. Fundamentos de Processamento de Imagens 15
um lado; pixels são vizinhança-8 se compartilharem pelo menos um dos vértices
(GONZALEZ; WOODS, 2008; HIGASHIMO, 2006).
Um caminho P de comprimento n entre dois pontos pontos p e q é um número
de (n + 1) pixels (p0, p1, ..., pn), em que p0 = p e pn = q e ∀i ∈ [1, n], (pi−1, pi) ∈ A(GONZALEZ; WOODS, 2008).
Para imagens binárias, suponha que S seja o conjunto de todos os pontos
detectados como objeto. Um pixel p ∈ S é conexo a outro pixel q ∈ S se existir um
caminho entre p e q formado unicamente por pixels de S. Um componente conexo é
um conjunto de pixels no qual cada pixel é conexo a todos os outros. Neste contexto,
se S̄ é o complemento de S, os componentes conexos de S̄ que possuem pixels nas
bordas da imagem são chamados de fundo, e os demais são chamados de buracos.
Os pontos pertencentes a componentes de S e adjacentes (conforme vizinhança 4) a
pelos menos um pixel de S̄ são as bordas dos objetos (HIGASHIMO, 2006).
Para imagens em tons de cinza, a conexidade entre os pontos é de�nida
fortalecendo a relação de adjacência, de forma que inclua também um critério
baseado na similaridade dos pixels. Este critério está normalmente relacionado com
a intensidade (ou a cor). Por exemplo, adicionando uma restrição quanto a diferença
absoluta entre as intensidades, tem-se
(p, q) ∈ A se d(p, q) ≤ 1 ∧ |I(p)− I(q)| ≤ T, (2.10)
ou ainda,
(p, q) ∈ A se d(p, q)√
2 ∧ |I(p)− I(q)| ≤ T. (2.11)
em que T é um limiar adequado à aplicação, |.| é o operador absoluto (HIGASHIMO,
2006).
A rotulação consiste em atribuir um rótulo único para cada componente conexo
da imagem. Chang et al. (2004), apresenta um algoritmo que além de rotular os
componentes, detecta as suas bordas e buracos.
2.1.6 Extração de Características
Uma vez segmentada a imagem, esta deve ser representada adequadamente para
facilitar seu processamento pelas etapas seguintes. A diversidade de maneiras com
que isto pode ser feito só enfatiza o fato de que nenhuma técnicas é universalmente
absoluta; diferentes requisitos a nível de aplicação implicam em diferentes formatos
2.1. Fundamentos de Processamento de Imagens 16
de representação dos objetos.
A primeira escolha na forma de representação de um objeto é baseada em
características externas (contornos) ou em características internas do objeto (pixels
que os compõem). Representações externas são preferenciais quando o interesse do
STVC é no formato dos objetos; representações internas são selecionadas quando o
foco está em suas propriedades, como a cor e textura (GONZALEZ; WOODS, 2008;
HIGASHIMO, 2006).
Uma forma simples de representar um contorno é o chamado código em cadeia.
Um código em cadeia é uma seqüência de segmentos de linha de tamanho unitário
com uma dada orientação, iniciado por um dado ponto e representa um contorno
por uma seqüência conectada de segmentos de retas com comprimento e direções
especí�cas (GONZALEZ; WOODS, 2008; HIGASHIMO, 2006). Um exemplo é mostrado
na Figura 2.2, em que é construído o código em cadeia a partir de uma vizinhança
4.
(a) código em cadeia para 4conectividade
(b) código 223301000122
Figura 2.2: exemplo de uso de Chain code.
Este processo consiste em codi�car valores numéricos da forma segmentada.
Após a codi�cação do contorno, este é armazenado em uma lista para a extração de
características.
Além de representar, muitas vezes é necessário descrever uma componente. Estas
descrições são agrupadas em vetores de características, cujo valores podem ser usados
para tarefas mais complexas, como classi�cação ou avaliação métodos. Alguns
exemplos de descritores de forma de objetos são: perímetro, diâmetro, área, grau de
2.1. Fundamentos de Processamento de Imagens 17
compactação e número de Euler (HIGASHIMO, 2006). Estes descritores são escalares,
porém existem também os geométricos. Os cantos de uma imagem também podem
ser usados para descrever um objeto, com a vantagem de se ter menos pontos para
a representação do mesmo (MACIEL et al., 2009).
A detecção de cantos ou pontos críticos pode ser obtida da seguinte forma.
Considerando uma imagem segmentada (R) é realizada a extração do contorno (C)
através de um detector de bordas morfológico dado por
C = (R⊕B)−R, (2.12)
em que ⊕ é o operador de dilatação (LAGANIÈRE, 2006), utilizando um elemento
estruturante B em forma de um quadrado de dimensões 3x3. Esta operação aplicada
na Figura 2.3(a), por exemplo produz o resultado apresentado na Figura 2.3(b).
(a) (b) (c)
Figura 2.3: (a) imagem segmentada (b) imagem segmentada com contorno e (c) cantos
encontrados.
Uma vez extraído o contorno, este é armazenado numa lista c(t) = [x(t), y(t)], a
partir da qual é possível encontrar os pontos extremos, caracterizados por sua alta
curvatura. Este tipo de representação para a curvatura dos objetos ri é baseado no
trabalho de (JOHNSTON; ROSENFELD, 1973), como mostrado na Figura 2.4.
Nessa representação, vi é o vetor formado pelo ponto atual do contorno e um
ponto anterior no contorno e wi é o vetor entre o ponto atual do contorno e um ponto
adiante no contorno. Assim, ri é de�nido por (JOHNSTON; ROSENFELD, 1973)
ri =vi(n) · wi(n)
‖vi(n)‖ ‖wi(n)‖, (2.13)
desta forma ri = cos(Θ), obtido a partir da razão entre o produto escalar dos vetores
vi(n) e wi(n) e o produto da norma dos vetores. em que quanto maior for o valor de
ri, maior o valor da curvatura. Desta forma, todos os pontos que possuem um valor
2.1. Fundamentos de Processamento de Imagens 18
Figura 2.4: indicação da curvatura baseada no ângulo.
de ri maior que um certo limiar L são considerados de alta curvatura. Um exemplo
da aplicação deste operador é mostrado na Figura 2.3(c), utilizando como base a
imagem segmentada mostrada na Figura 2.3(a) e um limiar L = 300.
A determinação das regiões de alta curvatura na Figura 2.3(c) é mostrada como
a região em cinza claro. Dentre essas regiões, os pontos que possuem maior curvatura
estão representados de cor preta.
2.1.7 Detecção de Movimento
O objetivo é identi�car quais pontos da imagem, ou mais genericamente,
quais regiões de uma imagem, movem-se entre dois instantes de tempo. A
detecção de movimentos consiste em localizar regiões ou objetos em movimento
e separá-los do fundo, encontrando apenas as regiões em movimento (HIGASHIMO,
2006; TRUYENQUE, 2005; GONZALEZ; WOODS, 2008; KEITH, 2007).
A detecção de movimento em uma seqüência de imagens é um problema muito
estudado nos últimos anos na área de Visão Computacional, podendo ser realizada
utilizando diversos métodos (CUCCHIARA et al., 2004).
Sistema de Detecção de Movimento (SDM) usando VC, é um caso especí�co
de um STVC. A diferença geralmente está em uma nova etapa que este sistema
realiza, chamada de detecção de movimento. Pode também ser adicionado a este
sistema a etapa de rastreamento em que consiste em seguir o movimento, guardando
as posições assumidas pelo objeto em movimento.
2.2. Trabalhos Relacionados 19
Existem diversos trabalhos que tratam desta área de Visão Computacional. Na
seção a seguir são detalhados algumas formas de captura do movimento, alguns
modelos de segmentação dentre outras características de métodos presentes na
literatura.
2.2 Trabalhos Relacionados
Diversos trabalhos tem abordado o problema da Detecção de Movimento em
um vídeo adquirido por uma câmera. Na Tabela 2.1 são resumidos os trabalhos
relacionados com esta dissertação.
Os trabalhos descritos na Tabela 2.1 possuem algumas características básicas
para a detecção do movimento. Estas características estão desde o tipo de aquisição
à forma de segmentação. Em geral, os trabalhos em questão avaliam oito tipos de
características (CUCCHIARA et al., 2004), descritas a seguir.
1. Tipo de movimento da câmera (II1): a primeira suposição é quanto ao modelo do
movimento da câmera, normalmente é
I câmera �xa;
I movimento restrito da câmera e,
I movimento livre da câmera.
2. Sistema de aquisição (III):
I 2D (única câmera);
I 3D com visão estéreo ( duas câmeras normais).
3. Computação do movimento da câmera (IV e V): o movimento da câmera pode ser
estimado através da avaliação do movimento dominante por diferentes técnicas
e modelos. Algumas abordagens (rotulado com �sim� na coluna IV) exploram
a computação do movimento da câmera para produzir o movimento. Outras
abordagens não fazem distinção entre o movimento da câmera e o movimento de
objetos do plano de fundo.
4. Movimento de objetos (VI e VII): uma diferença relevante entre as oito propostas
para análise das técnicas é a detecção do movimento ou uma estimação do
1coluna da Tabela 2.1.
2.2. Trabalhos Relacionados 20
Tabela2.1:revisãodetrabalhosrelacionados
Movim
ento
daCâmera1
SistemadeCaptura
Automovim
ento
Movim
ento
Objeto
Segementação2
Rastreamento
TempoReal3
Notas
Ref
Cálculo
Modelo4
D/E5
Modelo
5
(ALTUNBASAK;G.,1994)
U3Destéreo
Não
E:n/a
3D
Mix:Dispa
Não
n/a
(EREN;TEKALP,1997)
U2Destim
aNão
E:inter
ANão
Não
(ARAKIetal.,1998)
U2D
Sim
AD:FD
MSim
SPHS
(BERGEN
etal.,1992)
U2D
Não
E:dominante
AM
Não
Transp
(BESSON
etal.,2001)
U2D
Sim
AD:FD
Mista
Não
Não
(BHAT
etal.,2000)
CSomente
2D
não
D:BGS
MSim
Sim
(CHANG
etal.,1997)
U2D
Não
E:OF
Port
AM:simu
Não
(CSURKA;BOUTHEMY,1999)
U2D
Sim
Quad
E:RMR
AM
não
(CUTLER;DAVIS,2000)
U2D
Sim
n/a
D:FD
MSim
Sim
periód
(DUFAUX
etal.,1995)
U2D
Sim
n/a
E:OF
ACV:luminance
Não
(FABLET
etal.,1999)
U2D
Sim
AD:FD
CV:cor
não
(GELGON;BOUTHEMY,2000)
U2D
Não
E:n/a
MSim
não
(GRINIAS;TZIRITAS,1998)
U2D
Não
E:região
ACV:cor
Não
Guiado
(HENNEBERT
etal.,1996)
U2D
Não
E:OF
Mnão
não
(LEE
etal.,1998)
C(somente)
2D
Sim
TE:DifTem
M1objeto
Sim
Espiral
(LIN
etal.,1996)
U2D
Não
E:Rast
Carac
AMista
não
(LOHIER
etal.,1999)
F2D
Não
D:FD
MNão
SPHS
(NINOMIYA
etal.,1996)
U3Des
não
E:OF
Mista
Sim
SPHS
(ODOBEZ;BOUTHEMY,1994)
U2D
sim
D:FD
M:MRF
Não
(PARAGIO
Setal.,1996)
U2D
sim
AD:FD
M:MRF
não
não
(SAWHNEY;AYER,1996)
U2D
sim
AD:FDBGS
Mnão
não
FMosaico
(SMITH
etal.,2000)
U2D
não
Ae3D
E:rastrborda
CV:Bordas
sim
não
(SMITH;BRADY,1995)
U2D
não
E:cantos
Acbordas
sim
(TECHMER,2001)
U2D
não
E:rastrborda
IGuiada
sim
sim
(TWEED;CALWAY,2000)
U2D
não
E:BC
CV:nci
não
não
(KAM,1993)
U3Dces
não
E:OF
Asim
SPHS
(WANG;ADELSON,1994)
U3Dces
não
E:OF
Anão
não
1U:nãorestringido,C:restringido,F:�xo
2C:característicasdasegmentaçãobásica;CV:característicasvisuais,M:movim
ento,M
ix:m
isto.
3SPHS:hardware
depropósito
especí�co
4estim
ação,D:detecção;OF:optical�ow,FD:diferençadeframes,SF:subtraçãodefundo,BC:blococorrelação
5somente
seaestim
açãodomovim
ento
éadotada;A:transform
açãoa�m,T:translational,3D:six3D-parâmetros,P:perspectiva.
2.2. Trabalhos Relacionados 21
movimento. Sem a etapa de estimação, cada pixel/região é simplesmente
classi�cado como uma região �xa ou em movimento, enquanto que com a
estimação do movimento, uma medida quantitativa do movimento é também
fornecida.
5. Modelo do movimento (V e VII): para descrever o movimento de um pixel em
uma imagem, os dois componentes (ao longo dos eixos x e y) de um deslocamento
do vetor são su�cientes. O movimento de uma região é mais complexo e
pode requerer mais parâmetros para descrevê-lo. Neste caso, é possível adotar
modelos diferentes para representar o movimento de uma região: translação,
transformação a�m, quadrático etc. A quantidade maior de parâmetros e a alta
qualidade na estimação do movimento é importante. Em conseqüência, ocorre
una uma maior complexidade computacional e o algoritmo torna-se mais custoso.
6. Extração de características (VIII): a extração de características dos objetos se
movendo no fundo é obtida através da descrição e representação da imagem
segmentada. Dessa forma, as abordagens também são classi�cadas pela forma de
segmentação usada, ou seja
I baseada em características visuais;
I baseada no movimento;
I mista (movimento e características visuais).
No primeiro caso, os objetos são separados independentemente de seu movimento.
Por exemplo, uma segmentação baseada somente na informação de cor pode
separar uma pessoa com bermuda e calça de diferentes cores em vários objetos.
Nesse caso, o uso de uma outra característica (por exemplo, o movimento) ajuda a
fundir diferentes regiões de um mesmo objeto. Outra abordagem possível é fazer
a segmentação considerando somente a informação de movimento, mas nesse caso
o problema pode ser crítico, como no caso de não consistência no movimento do
objeto. A solução mais con�ável para o problema é, geralmente, implementar a
segmentação baseado na descrição de características visuais e do movimento ao
mesmo tempo, nesse caso é uma segmentação mista.
7. Rastreamento (IX): não são todas as abordagens que incluem uma fase de
rastreamento que permita o SDM rastrear as posições dos objetos em todo
instante. Em alguns casos, um rastreamento implícito é integrado ao processo
2.2. Trabalhos Relacionados 22
de segmentação do movimento. Em alguns sistemas propostos o rastreamento é
realizado através da inicialização de rótulos baseados na predição: objetos que
con�rmam uma predição, mantendo o mesmo rótulo a todo instante.
8. Implementação em tempo real (X): o objetivo é encontrar os requisitos de tempo
real, ou seja, buscar a viabilidade da aplicação da técnica em um determinado
hardware. Por esta razão, é fundamental que se avalie se um algoritmo é capaz de
operar em tempo real ou não. Na Tabela 2.1 é relatado somente se os requisitos
de tempo são considerados e a restrição de tempo real são satisfeitas ou não.
Em resumo, pode-se agrupar as propostas em três grandes classes:
(a) cálculo do movimento baseado na câmera;
(b) baseado na segmentação do movimento;
(c) baseado numa segmentação mista de movimento com regiões.
Entre as abordagens baseadas no cálculo do movimentos da câmera, seguida da
aplicação usando a técnica câmara �xa, alguns trabalhos usam diferenciação entre
quadros (ARAKI et al., 1998; PARAGIOS et al., 1996) e outros usam supressão de
fundo com background, obtidos através de técnicas de mosaico (BHAT et al., 2000;
SAWHNEY; AYER, 1996). O trabalho de Megret et al. (2000) emprega a construção
do fundo de mosaico e o de Tian et al. (1996) compara abordagens de computação
do movimento da câmera.
O sistema descrito por Bergen et al. (1992), Wang e Adelson (1994) pertencem à
classe (b). Os algoritmos utilizados para a segmentação são fatores muito explorados
nesses trabalhos. Também as propostas apresentadas no trabalho de Altunbasak e G.
(1994) e Lin et al. (1996) podem ser incluídas nessa classe, ao contrário de outros, que
utilizam o movimento e algumas características visuais simultaneamente ao processo
de segmentação.
As abordagens desenvolvidas por Eren e Tekalp (1997), Tweed e Calway
(2000) pertencem a terceira classe, que faz o uso da cor como recurso visual
para segmentação inicial (GELGON; BOUTHEMY, 2000), pressupondo uma possível
exploração de nível de cinza, textura ou cor. O trabalho apresentado por Smith et
al. (2000) faz uso de arestas, ou cantos. Nos trabalhos propostos por Moscheni e
Bhattacharjee (1996) e Techmer (2001), os autores apresentam apenas a existência
de uma etapa anterior de segmentação da região.
2.2. Trabalhos Relacionados 23
Os trabalhos Csurka e Bouthemy (1999) e Dufaux et al. (1995) apresentam
duas abordagens mistas. O trabalho de Csurka e Bouthemy (1999) executam um
cálculo inicial de movimento da câmera para remover o movimento da câmera à
semelhança das abordagens da classe (a) e obtém a região em movimento por
diferenciação entre frames. Em seguida, para separar os objetos simples, ao
explorar um movimento baseado em segmentação mista, os algoritmos são aplicados
sobre as regiões extraídas pela diferenciação entre frames. Dufaux et al. (1995)
calculam o movimento da câmera para compensação e, em seguida, utiliza uma
abordagem semelhante à de Gelgon e Bouthemy (2000) composta por um processo
de segmentação de cor, seguido por movimento de região baseado na concentração.
Através da análise da Tabela 2.1, pode-se observar que algumas propostas
consideram os requisitos de tempo, entre estes, muitos usam um hardware de
propósito especí�co (ARAKI et al., 1998; LOHIER et al., 1999; NINOMIYA et al.,
1996; KAM, 1993). Alguns trabalhos realizam a inicialização manual, por exemplo,
Techmer (2001). Já outros utilizam um modelo de movimento restrito (BHAT et
al., 2000). Outros trabalhos desenvolvidos por Lee et al. (1998) e Smith e Brady
(1995) são de propósito geral, mas não garantem a extração de todo o movimento
dos objetos, porque fazem uso apenas da informação de movimento no processo de
segmentação.
Atualmente, não existe uma abordagem de�nitiva para resolver o problema de
Detecção de Movimento de forma genérica. As soluções existentes para resolver
esse problema, obedecem condições especí�cas relacionadas com a aplicação que se
deseja tratar ou abordar.
Toda essa di�culdade é devido a mudanças na iluminação (posição e intensidade),
sombras, camu�agem, superfícies espelhadas, mudanças na movimentação (oscilação
da câmera e objetos de alta frequência), mudanças na geometria do fundo e o mais
importante de todos, requisitos de tempo real.
Com base no exposto anteriomente é possível entender o funcionamento de
algumas técnicas, que ajudam a entender melhor a metodologia usada e dos
resultados encontrados neste trabalho.
Conforme apresentado neste Capítulo existem diversas técnicas usadas para
detecção de movimento em tempo real usando câmeras. Cada um dos métodos
com características bem de�nidas e com as mais diversas formas de segmentar o
movimento, a partir de atributos diferentes.
2.2. Trabalhos Relacionados 24
A escolha dos métodos estudados neste trabalho baseia-se nas diferentes
características que cada um método usa para identi�car e rastrear o movimento
de um objeto, bem como a quantidade de operações realizadas. A fundamentação
teórica dos métodos escolhidos para análise são descritos no capítulo seguinte.
Capítulo 3Descrição dos Métodos de Detecção
de Movimento Avaliados
Os métodos descritos neste Capítulo são os seguintes: Subtração de Fundo,
Diferença Temporal, Fluxo Óptico e Método dos Contornos Ativos.
O primeiro método utiliza medidas estatísticas para a modelagem do fundo ou
modelo de referência. É requisito deste método a condição de que o fundo deve-se
manter estático para diferenciar os objetos em movimento (SOARES et al., 2004).
O segundo método não requer a operação de modelagem do fundo, utiliza a
diferenciação entre frames. Este método realiza a detecção de movimento, com base
uma média acumulativa dos frames anteriores (FIGUEROA et al., 2006; GONZALEZ;
WOODS, 2008). As etapas de execução desse método são praticamente iguais as
etapas do primeiro método.
Para o Fluxo Ótico, o terceiro método, dada uma seqüencia de imagens variando
no tempo, é possível obter, para cada pixel, um vetor de velocidade. O Fluxo Ótico
pode ser compreendido como um campo de velocidade que descreve o movimento
aparente dos padrões de intensidade em uma imagem (DENMAN et al., 2007; HORN;
SCHUNCK, 1980; BARRON et al., 1994; KIM et al., 2004; HILDRETH, 2006; PARAGIOS
et al., 2005).
O método de Contornos Ativos, o último método avaliado, pode ser usado
para detectar movimento, devido ao fato de envolver um determinado objeto
em um contorno. Através do rastreamento deste contorno é possível medir seu
deslocamento, a trajetória e a discriminação (direção) do movimento (TABB et al.,
25
3.1. Subtração de Fundo 26
2000; KASS et al., 1987; A.Y.YUILLE et al., 1989; WILLIAMS; SHAH, 1992).
3.1 Subtração de Fundo
A técnica de Subtração de Fundo é utilizada para segmentar regiões em
movimento numa seqüência de imagens, a partir de uma câmera estática,
comparando cada novo quadro com um modelo de fundo da cena (HIGASHIMO,
2006).
Chama-se Subtração de Fundo o conjunto de técnicas para segmentação de
objetos em uma seqüencia de vídeo que se baseia na construção de um modelo do
fundo (HIGASHIMO, 2006). Neste caso, a detecção de objetos é realizada �subtraindo�
o quadro atual do modelo do fundo (GONZALEZ; WOODS, 2008). Esta subtração varia
desde a operação matemática elementar até complexos cálculos de probabilidade;
detectando os pixels que são pertencentes aos objetos daqueles que diferem do
modelo construído (HIGASHIMO, 2006). A natureza do modelo do fundo implica
na forma como a subtração é efetuada: observando que o modelo pode ser uma
imagem estática, caso da subtração elementar com o quadro atual, seguido de uma
operação de limiar, são su�cientes para a detecção de movimento(FIGUEROA et al.,
2006). Este modelo de fundo pode também ser um conjunto de amostras, obtidas a
partir de uma janela de observação; neste caso, não há uma imagem de referência
para ser subtraída do quadro atual: outras operações são necessárias para a medida
da �distância� do quadro atual em relação ao modelo (FIGUEROA et al., 2006).
Pode-se construir uma imagem que representa o fundo, observando a sequência
de vídeo por uma janela de tempo, assim o valor de cada ponto desta imagem é
a média de seus valores obtidos durante a janela de observação. Esta abordagem
pode funcionar para situações controladas, em que a iluminação é constante e o
fundo é completamente estático. No entanto, podem ocorrer uma série de situações
em sequências genéricas que di�cultam o processo de construção do modelo, algumas
destas situações são (HIGASHIMO, 2006; ELGAMMAL et al., 2000; CUCCHIARA et al.,
2003; DEPARNIS, 2004; KUMAR; SENGUPTA, 2000):
(a) os objetos que constituem o fundo da cena podem mover-se e/ou novos objetos
podem ser adicionados ao fundo, não devendo ser detectadas mudanças como objetos
para sempre;
(b) em ambientes externos as variações na iluminação do dia modi�cam o fundo;
3.1. Subtração de Fundo 27
(c) o fundo nem sempre é completamente estático, árvores arbustos balançando
ao vento e ondulações de um lago são bons exemplos deste problema;
(d) a textura de um objeto pode ser semelhante à textura do fundo;
(e) mudanças no interior de objetos uniformemente coloridos, quando em
movimento, são de difícil detecção;
(f) em muitas situações, um período de aprendizado em que apenas o fundo é
observável não existe;
(g) é complexo diferenciar entre um objeto que pára de mover-se por um tempo
e um objeto que precisa ser incorporado ao modelo;
(h) quando um objeto está parado e passa a mover-se, tanto a nova posição
quanto a antiga modi�cam-se;
(i) as sombras não fazem parte dos objetos, sendo que uma segmentação precisa
não deve incluir os pontos de sombras.
O ambiente em que os método são utilizados pode ser interno, externo ou
ambos. A grande maioria de métodos da literatura é desenvolvida somente para
ambientes internos ou externos, é rara a existência de métodos robustos para
ambos os ambientes, pois suas características são muito diferentes. Dentre estas
características, destaca-se a iluminação. Em ambientes externos há maior in�uência
da luz solar e em ambientes internos esta in�uência provem de luzes arti�ciais
(HIGASHIMO, 2006).
Segundo Higashimo (2006), Cheung e Kamath (2004) a aplicação da técnica de
Subtração de Fundo segue algumas etapas.
3.1.1 Etapas dos Métodos de Subtração de Fundo
A maioria dos algoritmos de Subtração de Fundo conforme ilustra a Figura ??,
tem quatro etapas: pré-processamento, modelagem do fundo, detecção dos objetos
e validação (HIGASHIMO, 2006).
A etapa inicial, denominada de pré-processamento, ocupa-se em transformar
o vídeo de entrada em um formato que possa ser processado pelo algoritmo de
detecção. Esta etapa inicial também busca a eliminação de ruídos. A etapa de
modelagem do fundo consiste em, a partir de dados obtidos do pré-processamento,
construir e atualizar um modelo consistente do fundo. A detecção dos objetos,
3.1. Subtração de Fundo 28
Figura 3.1: etapas de um algoritmo de Subtração de Fundo (CHEUNG; KAMATH, 2004).
.
identi�ca os pontos que não podem ser enquadrados adequadamente pelo o modelo
construído. Na validação é veri�cado os pontos identi�cados pela detecção,
eliminando aqueles que não são objetos.
Pré-Processamento
O pré-processamento é uma etapa em que são executadas operações que
preparam o vídeo de entrada para ser processado. O conceito de preparação varia:
pode estar se referindo a operações que suavizam os quadros de entrada, extração de
ruídos, ou a transformações que diminuem a quantidade de dados, como a redução
do tamanho dos quadros e da taxa de FPS (HIGASHIMO, 2006).
Por outro lado, o pré-processamento pode incluir também transformações mais
complexas, como a mudança do espaço de cor das imagens ou o cálculo de
características de pontos, como o gradiente (MCKENNA et al., 2000). Neste contexto,
extraem-se características que são necessárias para a modelagem e detecção. A
supressão desta etapa pode comprometer a e�ciência do método.
Modelagem do Fundo
A construção e atualização dos modelos é a preocupação desta etapa, em que são
concentradas as maiores diferenças entre os métodos. A maioria dos métodos modela
estatisticamente o comportamento de cada um dos pixels da cena, procurando
estimar a provável cena de fundo. Pode-se classi�car os métodos de modelagem
em duas categorias: não recursiva e recursiva (HIGASHIMO, 2006).
A categoria de métodos não-recursivos utiliza uma abordagem de janela
deslizante através de um bu�er dos últimos n quadros. A imagem de fundo é
estimada baseando-se na variação temporal de cada pixel dentro deste bu�er. Por
3.1. Subtração de Fundo 29
outro lado, a manutenção do histórico de quadros exige uma quantidade de memória
grande que, em algumas situações pode limitar o uso deste método. Normalmente,
a modelagem do fundo implica em um maior custo computacional, já que os cálculos
da estimativa costumam percorrer todos os elementos do bu�er (HIGASHIMO, 2006).
Na categoria recursiva, o modelo é atualizado a cada novo quadro. Não mantém
bu�ers de imagens, diminuindo a necessidade de armazenamento. Por outro lado,
pixels de um passado distante podem ter efeitos sobre a estimativa, já que a
modelagem é feita de forma recursiva. Devido à natureza desta atualização, os
métodos recursivos tendem a serem mais e�cientes (HIGASHIMO, 2006).
Os métodos diferem também em relação à forma como o modelo de cada pixel
é atualizado. Existem duas formas básicas de fazer esta atualização: atualização
seletiva e atualização cega.
Na atualização seletiva o modelo do pixel é atualizado apenas se for considerado
como fundo. De forma geral, isto permite que a detecção seja mais exata, já que
pixels pertencentes a objetos não são incorporados. O grande problema desta
abordagem é que, erros de detecção, tendem a persistir, ocasionando uma falsa
detecção. Por exemplo, um objeto da cena move-se e é detectado. O lugar onde o
objeto encontrava-se originalmente também é detectado, já que o modelo de fundo
continha apenas informações do objeto. Devido à atualização seletiva, os modelos
deste local não são atualizados e o erro pode persistir inde�nidamente (GONZALEZ;
WOODS, 2008).
Uma outra forma de atualização do modelo é a atualização cega, nesta forma o
modelo é atualizado, independente do pixel ser considerado objeto. Como o modelo
contém informações que provém de objetos, este modelo deve ser robusto o su�ciente
para não passar a detectar estes pontos erroneamente (GONZALEZ; WOODS, 2008).
Detecção de objetos
A maioria dos dos métodos constróem uma única imagem Bt(x, y) como uma
estimativa do fundo no tempo t. Nestes casos, a forma mais comum de detecção
de objetos é aplicar um limiar à diferença absoluta entre o quadro It(x, y) atual e a
estimativa Bt(x, y), ou seja, um pixel é considerado objeto se
|It(x, y)−Bt(x, y)| > T, (3.1)
3.1. Subtração de Fundo 30
em que T é um limiar constante determinado empiricamente (GONZALEZ; WOODS,
2008). Em alguns trabalhos, como no de Collins et al. (2000), este limiar também
modi�ca-se com o passar do tempo.
Uma outra forma usada para detectar objetos é empregar estatísticas
normalizadas (HIGASHIMO, 2006)
|It(x, y)−Bt(x, y)− µ|σ
> T , (3.2)
em que µ e σ são a média e desvio padrão dos pixels sobre toda a imagem It(x, y).
Métodos de detecção de objetos cujo modelo não podem ser representados
por uma imagem Bt(x, y) possuem esquemas de detecção próprios, normalmente
baseados em limiares de probabilidades (FIGUEROA, 2004).
A saída dos métodos de detecção de objetos, da mesma forma que em outros
processos de segmentação, pode ser representada por uma imagem binária, cujo
valor def(x, y) é 1 caso o ponto seja considerado objeto e 0 caso contrário. Pontos
classi�cados como objetos erroneamente são denominados falsos positivos. Pontos
que são objetos, mas não detectado como objeto, denomina-se falsos negativos.
Validação
O processo de validação objetiva comprovar os pixels classi�cados como objetos
pela etapa anterior. Muitos dos erros na detecção são causados pelo o fato de que os
métodos normalmente não levam em conta qualquer relação entre pixels vizinhos.
Isto resulta em falsos positivos e negativos distribuídos aleatoriamente, como ruídos
de detecção. A aplicação de �ltros morfológicos é comum para eliminação destes
erros (MCKENNA et al., 2000).
Uma taxa de FPS inadequada do modelo que compõe a cena também pode causar
detecções errôneas. Estas são agrupados em grandes áreas de falsos objetos, a que
se chama de fantasmas. A sua eliminação é bem mais complexa do que no caso
de ruído, já que a aparência e tamanho destas áreas podem serem semelhantes aos
objetos. O trabalho de Cucchiara et al. (2003), por exemplo, apresenta uma forma
de calcular o �uxo óptico das regiões detectadas: o pressuposto é de que fantasmas
não possuem movimento.
Outra fonte de erro é a presença de pixels que pertencem às sombras. A
eliminação destes pontos pode estar incorporada ao próprio processo de modelagem,
3.1. Subtração de Fundo 31
como nos trabalhos de Elgammal et al. (2000), ou ser um processo separado
(FIGUEROA, 2004). A validação também pode ser realizada através de suposições
sobre o tamanho mínimo, forma e movimento dos objetos detectados, entre outras
características.
Alguns métodos se baseiam em propriedades estatísticas simples para a
construção do modelo de fundo e, apesar do método estatístico parecer simples,
podem apresentar bons resultados em situações controladas. Neste caso, uma
primeira abordagem é realizada para imagens em níveis de cinza, e em seguida
como adaptar as técnicas para imagens coloridas.
3.1.2 Subtração de Fundo Usando Imagens em Níveis de Cinza
Um método simples para se estimar a imagem de referência é através da média
temporal para pequenos movimentos ou câmeras estáticas. Uma outra maneira que
se mostra robusta, descrita na literatura, é através do valor da mediana dos pixels
em uma sequência de frames. Um exemplo deste tipo de método é ilustrado na
Figura 3.2 (JACQUES; JUNG, 2005).
(a) (b)
Figura 3.2: exemplo de subtração de fundo.
No método de Subtração de Fundo, a imagem Bt(x, y) é representada por
(GONZALEZ; WOODS, 2008)
Bt(x, y) =1
t
t∑k=1
Ik(x, y), (3.3)
ou seja, o valor do tom de cinza do pixel no modelo é a média de todos os valores
3.1. Subtração de Fundo 32
de níveis de cinza dos pixel até o tempo t. Esta equação pode ser recursivamente
implementada multiplicando a média anterior por (t−1), seguida da soma It(x, y) e
divisão por t. Um problema óbvio é que, à medida que o tempo passa, os valores de
Bt(x, y) tendem a estabilizar-se e pouco se alteram com os novos valores de It(x, y).
Assim, a capacidade de adptação do modelo é limitada (HIGASHIMO, 2006).
Para lidar com este problema, pode-se utilizar uma janela de observação de
tamanho N e calcular a média levando em conta somente estes pixels. Assim, tem-se
(GONZALEZ; WOODS, 2008)
Bt(x, y) =1
N
t∑k=t−N+1
Ik(x, y). (3.4)
Uma implementação otimizada armazena o somatório atual e no tempo t + 1,
subtrai It−N+1(x, y), soma It+1(x, y), para então fazer a divisão por N . Neste caso,
é necessário o armazenamento do histórico dos últimos N pixels.
Dado um modelo Bt(x, y), a segmentação pode ser feita com a subtração do
quadro atual com o modelo de fundo, seguida da aplicação de uma operação de
limiarização, com um limiar T . Esta representação do modelo de fundo é considerada
quando as imagens adquiridas são em níveis de cinza.
3.1.3 Subtração de Fundo Usando Imagens Coloridas
Quando se utiliza um espaço de cores com mais de um componente, a
principal diferença é que Bt(x, y) é uma função vetorial, na qual obtém-se vetores.
Considerando o espaço de cores RGB, tem-se (r, g, b). As Equações ( 3.3) e ( 3.4)
podem ser adaptadas, mantendo uma média para cada uma das dimensões Bt(x, y)
(HIGASHIMO, 2006).
No entanto, o maior problema de utilizar funções multidimensionais está
relacionado a como �subtrair� o quadro atual It(x, y) de Bt(x, y). Uma primeira
abordagem é aplicar o limiar a cada dimensão. Assim, sendo Rt(x, y) o resultado
da subtração do quadro t é dado por (HIGASHIMO, 2006)
3.2. Diferença Temporal 33
Rt(x, y) =
1, objeto
|Br
t (x, y)− Irt (x, y)| > Tr ou,
|Bgt (x, y)− Igt (x, y)| > Tg ou,
|Bbt (x, y)− Ibt (x, y)| > Tb,
0, caso contrário.
(3.5)
nos quais Brt (x, y), Bg
t (x, y) e Bbt (x, y) representam os valores escalares das
coordenadas R, G e B, respectivamente, do modelo de fundo construído.
Caso esta suposição de independência não seja válida, a operação de limiar pode
também ser aplicada a uma função distância, sendo a distância euclidiana a mais
comum, para o espaço de cores RGB (FIGUEROA et al., 2006).
Para o espaço de cores em que as coordenadas estão em escalas diferentes,
como o HSV , a distância euclidiana pode encontrar problemas, já que uma
coordenada pode predominar em relação às demais. Como alternativas, usa-se a
distância de Mahalannobis. Sua equação é dada por (YAN et al., 2006) d(x, y) =√(x− y)T
∑−1(x− y) em que∑
é a matriz de covariância de dos vetores, y ou
x. Caso∑
seja uma matriz identidade, este cálculo reduz ao cálculo da distância
euclidiana. Note que o papel da inversa desta matriz é normalizar as diferentes
escalas e variâncias entre os componentes dos vetores x e y. O uso desta distância
implica no cálculo de∑, aumentando o custo do algoritmo.
No trabalho desenvolvido por Cucchiara et al. (2003), utiliza-se a distância L∞dada por
d(xi, yj) = max(|xi.c− yj.c|), com c = r, g, b, (3.6)
em que (xi, yj) é a coordenada de um ponto na matriz da imagem e |xi.c− yj.c| é omódulo da diferença do produto das coordenadas com os valores de (r, g, b).
As técnicas de Subtração de Fundo apresentam como desvantagem a restrição
de que o fundo deve ser estático e a difícil modelagem do mesmo. Uma técnica
que pode ser usada para fundos dinâmicos é a Subtração de Quadros Consecutivos,
também conhecida por Diferença Temporal.
3.2 Diferença Temporal
A abordagem por Diferença Temporal utiliza a diferença entre pixels pertencentes
a dois ou mais frames em uma sequência de imagens para identi�car os objetos em
3.2. Diferença Temporal 34
movimento (GONZALEZ; WOODS, 2008).
Há uma semelhança entre esta técnica e a Subtração de Fundo. A diferença está
na etapa na modelagem do fundo, enquanto o método anterior constrói e atualiza
um modelo de fundo consistente, a Diferença Temporal utiliza a imagem anterior
como referência.
Este método utiliza o modelo de fundo em um tempo t como sendo o quadro
anterior It−1(x, y). É aplicado entre os dois quadros um limiar T , e, pixels cuja
diferença seja maior que este valor são considerados objetos, ou seja, (GONZALEZ;
WOODS, 2008)
Rt(x, y) =
1, |It(x, y)− It−1(x, y)| > T,
0, caso contrário.(3.7)
Um dos grandes problemas desta abordagem é que quando o interior de objetos
móveis são uniformemente coloridos, não são detectados, já que não há diferença da
intensidade em quadros consecutivos.
Este tipo de método é apropriado para ambientes dinâmicos, contudo, possui
e�ciência comprometida para extrair características relevantes. Pois o aparecimento
de buracos dentro das entidades em movimento, exige processamento adicional para
removê-los. Isto está apresentado no trabalho realizado por Wang et al. (2003), o
efeito provocado pode ser mostrado na Figura 3.3.
(a) (b) (c)
Figura 3.3: exemplo de diferenciação no tempo, a) frame no instante t0, b) no instante
t0 + 1 e c) resultado da diferença no tempo.
Em um ambiente controlado, com pouca variação de intensidade luminosa, a
diferença entre dois frames sucessivos é igual ou muito próximo a zero nas regiões
3.2. Diferença Temporal 35
onde existe pouca ou nenhuma variação na intensidade luminosa. Entretanto, esta
diferença apresenta valores diferentes de zero nas regiões onde os objetos estão em
movimento. Este método está sujeito a falhas, como por exemplo, quando um
objeto pára no centro da imagem, entra outro objeto na cena, e os dois saem
juntos; ou quando dois objetos passam muito próximos na frente da câmera. Outro
problema é quando um objeto em movimento pára, conseqüentemente desaparece
(objetos estáticos não produzem diferenças entre 2 quadros). Este problema pode
ser resolvido com um controle da posição de regiões e assumindo-se que os objetos
entram e saem da cena, passando pelas regiões correspondentes as laterais da imagem
(GONZALEZ; WOODS, 2008).
Um parâmetro a ser ajustado nesta abordagem é o valor de limiarização da
diferença entre as duas imagens. Este limiar indica o que é realmente uma diferença
entre as duas imagens (considerado como uma variação grande) e o que pode
ser encarado como ruído (variação pequena). Valores muito baixos de limiar
produzem diferenças por toda imagem, uma vez que duas imagens sucessivas não
são perfeitamente iguais devido a erros introduzidos no processo de aquisição de
imagens e variações na iluminação. Valores de intensidades de pixel inferiores ao
limiar são substituídos por zero e valores acima por 255. Neste caso, os valores iguais
a 255 são identi�cados como presença de movimento.
Valores elevados de limiar não permitem a detecção de diferenças entre as
duas imagens. Valores de limiar entre os extremos produzem nas regiões onde
objetos ou pessoas encontram-se em movimento, um contorno da silhueta da pessoa,
correspondente ao movimento que ocorre durante o tempo de transição entre
quadros. O resultado da limiarização neste método produz regiões normalmente
muito aproximado com o contorno do objeto em movimento.
Existem algumas técnicas que possibilitam uma melhoria na aplicação deste
método, são elas: Diferenças Acumulativas e Estabilização da Imagem de Referência
(GONZALEZ; WOODS, 2008). A Diferenças Acumulativas considera uma sequência
de frames f(x, y, t1), f(x, y, tn) e considerando f(x, y, t1) a imagem de referência.
A Diferença Acumulativa de Image (ADI) é formada pela comparação da imagem
de referência com todas as imagens subsequentes no vídeo. Um contador para
localização de cada pixel na imagem é incrementado toda vez que houver uma
diferença entre o pixel da imagem de referência em relação a atual (GONZALEZ;
WOODS, 2008).
3.3. Fluxo Óptico 36
As restrições, deste método conduzem a busca por métodos mais elaborados,
destacando-se o Fluxo Óptico.
3.3 Fluxo Óptico
O Fluxo Óptico é a distribuição das velocidades aparentes dos padrões de brilho
numa imagem, ou seja, é um campo de vetores de velocidade associado a uma
sequência de imagens. Este �uxo contem informações importantes utilizadas para
diversos algoritmos como segmentação de regiões ou bordas, análise de formas,
interpretação de cena, navegação exploratória, rastreamento de objetos, avaliação
de tempo para colisão, codi�cação de vídeo, visão para robôs (HORN; SCHUNCK,
1980; BARBOSA et al., 2005; LI, 2000) e outras aplicações.
O campo do Fluxo Óptico consiste de um campo denso de velocidade em que
a cada pixel, no plano da imagem, está associado um único vetor de velocidade,
conforme ilustrado na Figura 3.4(c). Para �ns de visualização, o campo é
amostrado em uma malha e chamado de diagrama de agulhas (needle map),
conforme mostrado na Figura 3.4. Caso seja conhecido o intervalo de tempo entre
as duas imagens consecutivas, os vetores de velocidade podem ser convertidos em
vetores de deslocamento e vice-versa (BARBOSA et al., 2005).
(a) (b) (c)
Figura 3.4: a) frame no instante t0, b) frame no instante t0 +1 e c) campo de �uxo óptico.
Os métodos para a computação do �uxo óptico podem ser classi�cados em três
grupos principais: técnicas diferenciais, técnicas de correlação e técnicas baseadas em
frequência/energia (BARRON et al., 1994). Apesar das diferenças entre os diferentes
métodos, o Fluxo Óptico pode ser dividido conceitualmente em cinco estágios de
processamento (BARRON et al., 1994): pré-�ltragem, extração de medidas básicas,
cálculo de velocidades, detecção dos objetos e, por último, a validação.
A etapa de pré-�ltragem aplica �ltros passa-baixas ou passa-banda para extrair
3.3. Fluxo Óptico 37
Figura 3.5: exemplo do método de correlação.
os sinais de interesse ou melhorar a relação sinal/ruído. A extração de medidas
básicas, calcula as derivadas espaço-temporais ou superfícies locais de correlação.
A etapa de cálculo das velocidades computa as medidas para produzir o campo de
velocidade 2D. A detecção de movimento é a etapa que segmenta os objetos em
movimento, com base nos vetores de velocidade encontrados. A etapa de validação
identi�ca os pontos que se relaciona ou não com as velocidades estimadas pelo Fluxo
Óptico (COSTA et al., 2006).
Nas técnicas baseadas em correlação, a imagem é particionada em blocos
retangulares (geralmente de tamanho 8x8). Cada bloco do frame no instante
de tempo anterior (t − 1) é comparado com todos os possíveis blocos dentro de
uma janela de busca dentro do frame no instante atual (t), conforme mostrado na
Figura 3.5. A diferença de posição do bloco original com o seu correspondente no
frame atual é utilizada como estimação do deslocamento (d) (HUSSY, 1991).
Nas técnicas diferenciais, a hipótese inicial para a computação do �uxo óptico
é a de que a intensidade do brilho entre frames diferentes em uma seqüência de
imagens é aproximadamente constante em um intervalo de tempo pequeno, ou seja,
em um pequeno intervalo de tempo, o deslocamento é mínimo. A velocidade da
imagem é computada a partir das derivadas espaço-temporal da intensidade na
imagem (BARBOSA et al., 2005; HORN; SCHUNCK, 1981).
A hipótese inicial na medição de movimento de imagem é que o padrão de brilho
da cena (I) permanece constante numa região da imagem, num curto espaço de
tempo. Assim, tendo em mente que I = I(x, y, t), formalmente (HORN; SCHUNCK,
1981; COSTA et al., 2006)
I(x, y, t) ≈ I(x+ δx, y + δy, t+ δt), (3.8)
em que (δx, δy) é um pequeno deslocamento de uma região da imagem e δt é um
3.3. Fluxo Óptico 38
pequeno deslocamento no tempo. Derivando I(x, y, t) em relação ao tempo, produz
Ix.−→u + Iy.
−→v + It = 0, (3.9)
em que Ix e Iy são, respectivamente, os gradientes nas direções x e y; It a derivada
parcial de primeira ordem em relação ao tempo de I(x, y, t), −→u e −→v são os vetores de
velocidades nas direções x e y. Esta equação é conhecida como equação de restrição
do movimento (BARRON et al., 1994).
É importante destacar que através equação 3.9 isoladamente não é possível de
determinar as velocidades −→u e −→v , pois a mesma possui duas incógnitas de modo
que esse problema tem in�nitas soluções. Neste caso, é necessário a inserção de
restrições especiais através de novas equações para conseguir estimar as componentes
da velocidade. Exemplo destas restrições são iluminação uniforme, re�ectância
Lambertiana (brilho igual em todas as direções) ou translação paralela ao plano
da imagem (BARBOSA et al., 2005).
A restrição adicional mais utilizada foi proposta por Horn e Schunck (1981)
que consiste em um suavizador global para limitar o campo de velocidade estimada
minimizando a seguinte expressão∫D
(Ixδx + Iyδy + It)2 + λ2
(‖u‖22 + ‖v‖22
)dx, (3.10)
em que λ é um fator de suavização e ‖u‖ e ‖v‖ são módulo da velocidade nas direções
x e y.
A partir das equações 3.9 e 3.10 pode-se chegar a seguinte estimativa de
velocidades −→u e −→v em um dado instante t (HORN; SCHUNCK, 1981)
u = u− IxIxu+ Iyv + Itα2 + I2
x + I2y
, (3.11)
v = v − IyIxu+ Iyv + Itα2 + I2
x + I2y
, (3.12)
em que u e v são os valores médios das velocidades nas direções x e y em uma
vizinhança, respectivamente.
A partir de duas imagens consecutivas, o Fluxo Óptico realiza uma série de
interações a �m de estimar as componentes de velocidade. Inicialmente, o algoritmo
3.4. Métodos de Contornos Ativos (MCAs) 39
utiliza como velocidade inicial igual a zero e a cada interação são calculadas as
equações 3.11 e 3.12. O processo é repetido até que a diferença de velocidade
estimada seja menor que um certo limiar, o que pode tornar o método muito custoso
computacionalmente.
Os problemas relacionados à técnica de Fluxo Óptico são geralmente o custo
computacional, e a di�culdade para representar os objetos em movimento (COSTA
et al., 2006).
Um método que visa oferecer um contorno bem de�nido do objeto em movimento
é através do Método dos Contornos Ativos.
3.4 Métodos de Contornos Ativos (MCAs)
Diversos estudos são realizados sobre segmentação em imagens digitais, buscando
suprir as limitações de cada método em aplicações especí�cas. Deste modo, técnicas
existentes são aperfeiçoadas desenvolvendo assim novos métodos.
Neste contexto, o MCA, também chamado de snake, foi introduzido em 1987
por Kass et al. (1987). Este método permite realizar a segmentação de objetos em
imagens digitais por meio da detecção de bordas obtidas por informações da imagem,
como exemplo, a intensidade dos níveis de cinza, superando as técnicas tradicionais,
até então desenvolvidas.
Inicialmente este método foi aplicado na detecção de objetos em geral,
principalmente nas aplicações de segmentação de bordas, detecção de movimento
e utilização em visão estéreo (KASS et al., 1987; TERZOUPOULOS et al.,
1987). Posteriormente, é aplicado para resolver diversos problemas de Visão
Computacional, abrangendo diversas áreas como: Segurança (LOPES, 2003),
Materiais para Construção Mecânica (COSTA, 2008; ALBUQUERQUE et al., 2008),
auxílio ao diagnóstico médico (ITAI et al., 2007), Reconhecimento de Padrões (CHEN
et al., 2006), entre outros.
O MCA consiste em traçar uma curva inicial em torno ou dentro de um objeto
de interesse. Essa curva se deforma, conforme algumas forças que atuam sobre o
mesmo, deslocando-o até as bordas do objeto. Ese processo é realizado por iterações
sucessivas de minimização de uma dada energia, associada à curva. De acordo com
Silva (2006), a curva se comporta como uma �ta elástica que, uma vez solta em
volta de um objeto, molda sua forma para melhor se adaptar a este.
3.4. Métodos de Contornos Ativos (MCAs) 40
De acordo com Kass et al. (1987), existem dois tipos básicos de classi�cação
para os métodos de detecção de bordas: alto nível e baixo nível. São considerados
de alto nível os métodos que possibilitam vários resultados, no qual a resposta do
processo possui mais de uma solução, enquanto os de baixo nível possuem apenas
uma solução para o problema de detecção de bordas. Deste modo, o MCA é dito de
alto nível, possuindo a vantagem de gerar várias soluções �nais, possibilitando que,
a cada nova iteração, defeitos e imperfeições sejam corrigidos, enquanto os métodos
de detecção de baixo nível são ditos irreversíveis.
Segundo Pichumani (1997), as vantagens da utilização de MCA para a
segmentação de imagens digitais são:
I facilidade de manipulação, pois, as forças externas se comportam de uma forma
intuitiva;
I autonomia e auto-adaptação na busca pelo estado de menor energia;
I baixa sensibilidade ao ruído.
Dentre os MCAs, primeiramente é analisado neste trabalho o método Tradicional,
detalhando suas forças internas e externas, discutindo sobre suas vantagens e
limitações. Posteriormente, são abordados métodos que surgiram buscando soluções
para as limitações deste método.
3.4.1 MCA Tradicional
Os contornos ativos são baseados em métodos variacionais, considerados modelos
deformáveis, em que os pontos da curva são atualizados a cada nova iteração
(BOUHOURS, 2006). Este modelo é chamado deformável porque está descrito por
uma função de energia E que varia por (KASS et al., 1987)
E =∫ 1
oEint[c(s)] + Eext[c(s)]ds, (3.13)
em que o termo Eint representa as energias internas da curva, Eext o termo da
energia associado com as energias externas e c a curva, sendo que sua parametrização
geométrica 2D é dada por (KASS et al., 1987)
{[0, 1]→ IR2
s→ c(s) = [x(s), y(s)](3.14)
3.4. Métodos de Contornos Ativos (MCAs) 41
no qual a posição de cada ponto c(s) na imagem é determinada pelas coordenadas
x(s) e y(s). Uma discretização da equação 3.13 permite de�nir a energia da curva
como
E =∑
(Eint + Eext), (3.15)
em que Eint e Eext são as energias interna e externa da curva, respectivamente.
A energia interna é proveniente das forças internas da curva, relativa apenas à
geometria desta, relacionada com sua forma e a posição de seus pontos (KASS et
al., 1987). Já a energia externa é proveniente das características da imagem e está
associada às informações obtidas a partir desta (KASS et al., 1987).
O objetivo do MCA é minimizar uma função que representa a energia E da
curva, que é realizado atraindo ou repelindo a curva, deslocando-a até as bordas do
objeto. Este processo é realizado por iterações sucessivas e, a cada iteração, a curva
é atualizado ponto-a-ponto, através de uma minimização local de energia. Isto é
possível analisando a vizinhança de cada ponto, calculando as energia envolvidas e
movendo-o para a coordenada que possuir a menor energia total E na vizinhança
(AMINI et al., 1990).
Neste sentido, tem-se que quanto maior a vizinhança analisada, maior a
quantidade de soluções possíveis, maior a complexidade do algoritmo e seu tempo
de processamento.
Uma implementação possível (AMINI et al., 1990), é de considerar todos os pontos
do snake ao tomar cada um deles e ao decidir qual é a sua posição na qual o snake
atinge a energia mínima. Com certeza, quanto mais se escolhe posições possíveis
para os pontos do snake, maior é a complexidade do algoritmo. Por exemplo, na
Figura 3.6 é mostrado um exemplo de vizinhança, na qual são considerados os 8
vizinhos diretos do pixel.
Há outros métodos de minimização tais como Diferenças Finitas e Resoluções
por interações.
Método das diferenças �nitas O problema de minimização da energia num
MCA, é um problema de otimização de uma functional. Um método de resolução
existente é o de considerar o problema como o problema básico do cálculo de
variações e que é resolvido pelo teorema de Euler-Lagrange (MORSE; FESHBACH,
1953). Para o modelo clássico dos contornos ativos, Eint + Eext = 0, a equação de
Euler-Lagrange resultante é (BOUHOURS, 2006)
3.4. Métodos de Contornos Ativos (MCAs) 42
Figura 3.6: exemplo dos vizinhos considerados no cálculo da energia.
− (e1c′)′(s) + (e2c
′′)′′(s)−∇Eext(s) = 0 (3.16)
A equação 3.16 pode ser vista como uma equação de equilíbrio entre as forças
internas e externas, tal que Fint + Fext = 0.
Entretanto, para poder traduzir o problema para uma imagem digitalizada, uma
discretização é necessária. s é substituída por i.h, em que h é um passo �xo,
resultando em c(ih) = (x(ih), y(ih)) e simpli�cado por ci = (xi, yi). É adotado
também ai = e1(ih)h
e bi = e2(ih)h2 . As derivadas primeira e segunda são aproximadas
por c′(ih) ≈ (ci+1 − ci)/h e c′′(ih) ≈ (ci+1 − 2ci + ci−1)/h2 (BOUHOURS, 2006).
Esta discretização aplicada na equação 3.16 produz (BOUHOURS, 2006)
1
h(ai(ci − ci−1)− ai+1(ci+1 − ci)) +
bi−1
h2(ci−2 −
2ci−1 + ci)− 2bih2
(ci−1 + 2ci − ci+1) +bi+1
h2(ci+2 − 2ci+1 + ci) + Fext(ci) = 0 (3.17)
Observa-se nesta equação que os valores ai e bi são constantes, é possível
simpli�car sua escrita, seja α = ai
he β = bi
h2 . Isto permite implementar sem se
preocupar com o passo h, mas unicamente com esses dois coe�cientes (BOUHOURS,
2006).
A relação apresentada anteriormente possui a restrição de usar i = 1 para i =
N+1; i = 2 para i = N+2; i = N para i = −1 e i = N−1 para i = −2. É construída
assim uma matriz penta-diagonal A, preenchida de parâmetros dependente de α e
β. A equação de Euler-Lagrange pode então ser modelada matricialmente
3.4. Métodos de Contornos Ativos (MCAs) 43
AX + F 1ext(X, Y ) = 0, (3.18)
AY + F 2ext(X, Y ) = 0, (3.19)
em que
X = (x1, · · · , xN)t Y = (y1, · · · , yN)t e Fext = (F 1ext, F
2ext).
Por outro lado, podem existir diferentes mínimos locais de energia E (diferentes
contornos). Sendo assim, então podem existir diferentes vetores (X, Y ) ao
veri�car-se as equações 3.18 e 3.19. É assumido, desta forma, que os contornos
iniciais são su�cientemente perto das bordas do objeto de tal modo que uma única
solução exista.
Resolução por iterações Para encontrar uma solução, é usado o método
iterativo ao trocar o segundo termo nulo das equações 3.18 e 3.19 pela derivada
no tempo: ∂c∂t. Assim, considerado como dependente do tempo, o snake segue o
mesmo comportamento que uma bola numa curva que deve encontrar o seu ponto
de equilíbrio. Ao assumir que o snake não satisfaz a equação de Euler-Lagrange,
quanto maior são os termos de esquerda das equações 3.18 e equação 3.19, mais
longe o snake está de sua posição de equilíbrio e então mais este deve se deslocar para
se estabilizar. Isto corresponde a uma derivada temporal de grande valor. Assim,
partindo-se de um snake inicial, a solução é encontrada quando c se estabiliza.
Conseqüentemente, a derivada de c no tempo atinge 0, e a solução do problema é
então determinada (BOUHOURS, 2006).
Do ponto de vista numérico, a solução por iteração, resulta em ∂c∂t
(n) = cn−cn−1
γ
em que n é a discretização do tempo t e γ o passo de tempo. Considerando-se as
equações equação 3.18 e 3.19, resultam em (BOUHOURS, 2006)
AXn + F 1ext(Xn, Yn) =
Xn −Xn−1
γ, (3.20)
3.4. Métodos de Contornos Ativos (MCAs) 44
AYn + F 2ext(Xn, Yn) =
Yn − Yn−1
γ. (3.21)
ou seja,
(Xn, Yn) = (A+1
γId)−1(
1
γXn−1 + F 1
ext(Xn−1, Yn−1),1
γYn−1 + F 2
ext(Xn−1, Yn−1)).
(3.22)
Energia Interna
A energia interna (Eint) da curva c, depende somente de sua forma e da
localização de seus pontos, possuindo como um de seus principais objetivos, deformar
a curva e manter a suavidade desta (SILVA, 2005).
No modelo Tradicional (KASS et al., 1987), o termo Eint da equação 3.13, é
dividido em dois termos, conhecidos como forças internas, conforme
Eint[c(s)] = α(s)
∣∣∣∣ ddsc(s)∣∣∣∣2 + β(s)
∣∣∣∣ d2
ds2c(s)
∣∣∣∣2 , (3.23)
em que α(s) e β(s) determinam a relevância de cada parcela da energia interna do
ponto c(s) (KASS et al., 1987). O primeiro termo,∣∣ ddsc(s)
∣∣ desta equação, é a força
ligada à elasticidade da curva ou resistência ao se esticar, denominada de Força de
Elasticidade ou de Força de Continuidade. Esta força de�ne a capacidade de um
ponto da curva se distanciar ou se aproximar dos pontos vizinhos, atuando na curva
deixando-o uniformemente espaçado (BOUHOURS, 2006; SILVA, 2006).
O segundo termo,∣∣∣ d2ds2 c(s)∣∣∣ da equação 3.23, é a Força de Curvatura. Esta é
baseada nos ângulos internos da curva e tende a deixá-la contínua para mantê-la
suave, em detrimento de trechos irregulares e pontiagudos (SILVA, 2006). Deste
modo, favorecendo o coe�ciente β(s) durante a fase de minimização da energia
da curva, esta é forçada a perder a sua curvatura, minimizando sua área interna
(BOUHOURS, 2006).
Energia Externa
A energia externa é totalmente obtida a partir de informações da imagem,
possuindo diversas formas para sua de�nição. Alguns autores consideram as
informações referentes aos níveis de cinza dos pixels, outros consideram as bordas
dos objetos da imagem, entre outros.
3.4. Métodos de Contornos Ativos (MCAs) 45
Para extrair falhas, imperfeições ou ruídos, técnicas de pré-processamento podem
ser aplicadas antes do cálculo da energia externa (CARO et al., 2003; BOUHOURS,
2006). Um exemplo disso é a utilização do �ltro gaussiano que produz uma imagem
suavizada J a partir de uma imagem I da forma
J = Gσ ∗ I (3.24)
em que Gσ é uma função gaussiana e ∗ é o operador convolução.
Segundo Sonka et al. (2008) e Nixon e Aguado (2002) a energia externa é
composta por
Eexterna(Vi) = wlineEline(Vi) + wgradEgrad(Vi) + wtermEterm(Vi), (3.25)
em que a energia Eline considera a energia proveniente das linhas, Egrad considera o
gradiente da imagem e Eterm é a energia relativa às terminações. Os termos wline,
wgrad e wterm são os pesos que determinam a importância de cada um na energia
externa total.
Para Nixon e Aguado (2002), o resultado de um operador gradiente, como o
operador Sobel, na imagem já extrai informações de linhas, terminações e bordas
dos objetos, podendo este ser utilizado como energia externa. Deste modo, o cálculo
da energia externa é otimizado, sendo calculado apenas uma componente que já
possui as três informações necessárias.
MCA Greedy
O algoritmo MCA Greedy utiliza a de�nição de Kass (KASS et al., 1987) para
implementar o MCA Tradicional, deste modo inserindo a equação 3.23 na equação
3.13, tem-se (KASS et al., 1987)
E[c(s)] = α(s)
∣∣∣∣dc(s)ds
∣∣∣∣2 + β(s)
∣∣∣∣d2c(s)
ds2
∣∣∣∣2 + γ(s)Eext[c(s)], (3.26)
em que α(s), β(s) e γ(s) são os pesos relativos de cada uma das componentes da
energia total E(s).
A primeira derivada da equação 3.26, representada pelo termo∣∣∣dc(s)ds
∣∣∣, é
denominada de Força de Continuidade Fcont. A implementação desta força é
realizada pela aproximação desenvolvida por Euler-Langrage. Assim, assumindo
3.4. Métodos de Contornos Ativos (MCAs) 46
que Fcont é determinada por∣∣∣dc(s)ds
∣∣∣ e aplicando a aproximação de Euler-Langrage,
tem-se (KASS et al., 1987)∣∣∣∣dc(s)ds
∣∣∣∣2 ≈ |c(s)− c(s− 1)|2 = [x(s)− x(s− 1)]2 + [y(s)− y(s− 1)]2, (3.27)
em que x(s) e y(s) são as coordenadas de cada ponto da curva c (NIXON; AGUADO,
2002). Sendo assim, pode-se descrever Fcont como a diferença espacial entre dois
pontos consecutivos da curva c, associando-a à distância euclidiana entre dois pontos
da curva
Fcont =
√[x(s)− x(s− 1)]2 + [y(s)− y(s− 1)]2. (3.28)
Neste contexto, a força associada à distância surge para manter o espaçamento
entre os pontos da curva uniformes. A distância média DM , entre os pontos da
curva, deve ser considerada para calcular esta força, visto que esta tende a espaçar
igualmente os pontos. Deste modo, DM pode ser calculado por (FILHO, 2010)
DM =
N−1∑i=0
√(xi − xi−1)2 + (yi − yi−1)2
N, (3.29)
em que N é a quantidade máxima de pontos e i é o índice de ordenação do ponto
na curva. Então, inserindo DM no cálculo de Fcont, tem-se
Fcont =
∣∣∣∣DM −√[x(s)− x(s− 1)]2 + [y(s)− y(s− 1)]2∣∣∣∣ . (3.30)
Esta outra formulação tende a deixar a curva igualmente espaçada, aproximando os
pontos afastados e distanciando os pontos próximos, tendendo a deixar os pontos o
mais equidistante possível.
A segunda derivada da equação 3.26 para cálculo das energias internas,
representada pelo termo∣∣∣d2v(s)ds2
∣∣∣, denominada de Força de Curvatura Fcurv, pode ser
aproximado analogamente através da aproximação de Euler-Langrage por (NIXON;
AGUADO, 2002) ∣∣∣∣d2v(s)
ds2
∣∣∣∣2 ≈ |c(s− 1)− 2c(s) + c(s+ 1)|2 , (3.31)
3.4. Métodos de Contornos Ativos (MCAs) 47
resultando em
Fcurv =√
[x(s− 1)− 2x(s)− x(s+ 1)]2 + [y(s− 1)− 2y(s)− y(s+ 1)]2. (3.32)
Percebe-se que, para o cálculo desta energia, é usado os seus dois vizinhos imediatos,
c(s− 1) e c(s+ 1). Deste modo, é possível calcular uma estimativa de curvatura do
ponto c(s) e de sua vizinhança, no qual esta energia tende a minimizar a curvatura
entre 3 pontos consecutivos c(s− 1), c(s) e c(s+ 1) (NIXON; AGUADO, 2002).
Por �m, a energia externa Eext é determinada pelo gradiente da imagem,
geralmente utilizando o operador Sobel, visto que este é simétrico e que é muito
utilizado na literatura, obtendo resultados satisfatórios em diversas aplicações
(FILHO, 2010).
Limitações do MCA Tradicional
Os MCAs são projetados para serem modelos iterativos, em que a imagem se
altera ao longo do tempo (KASS et al., 1987). Em aplicações não iterativas (imagens
estáticas), a curva deve ser inicializada em local próximo à estrutura de interesse
para garantir um bom desempenho (KASS et al., 1987; FILHO, 2010).
A parametrização da energia interna do MCA Tradicional pode limitar sua
�exibilidade, impedindo a representação de regiões com formas côncavas e convexas.
Além disso, a topologia da estrutura de interesse deve ser previamente conhecida,
pois, este modelo, é incapaz de executar alterações em sua topologia sem
processamento adicional (MCINERNEY; TERZOPOULOS, 1996; BOUHOURS, 2006).
Um exemplo de falha relativa ao erro de inicialização da curva é mostrado na
Figura 3.7. Sabendo que da Figura 3.7(a) até a Figura 3.7(h) apresenta um seqüência
de iterações de minimização da energia do MCA Tradicional, percebe-se que a área
interna da curva diminui a cada iteração até entrar em colapso em um único ponto,
conforme é mostrado na Figura 3.7(h) (SILVA, 2006). Isto ocorre devido ao fato de
que, em regiões homogêneas da imagem, o valor do gradiente ser nulo, fazendo a
curva ser orientada apenas pelas energias internas, tendendo a deixá-la igualmente
espaçada e a minimizar sua área interna, resultando em seu colapso em um único
ponto.
A outra limitação do MCA Tradicional é a ine�cácia do método na segmentação
de regiões côncavas ou com bifurcação, conforme é ilustrado na Figura 3.8(b), em
3.4. Métodos de Contornos Ativos (MCAs) 48
(a) (b) (c) (d)
(e) (f) (g) (h)
Figura 3.7: iteração do MCA Tradicional: a) inicialização, b) a g) iterações intermediárias
e h) resultado �nal.
que a inicialização é apresentada, em vermelho na Figura 3.8(a). Para entender esta
limitação, é necessário analisar as energias envolvidas separadamente. A energia
externa não possui informação em regiões côncavas, pois as bordas do objeto estão
afastadas da curva. Já na energia interna, a Força de Continuidade tende a espaçar
igualmente a curva que, ao entrar nas concavidades, aumenta seu espaçamento, sem
deixá-la uniforme, e a Força de Curvatura tende a minimizar os ângulos entre pontos,
que aumentam ao entrar em regiões côncavas. Deste modo, a curva não se aproxima
das concavidades.
(a) (b)
Figura 3.8: aplicação do MCA Tradicional na segmentação de objetos côncavos: a)
inicialização e b) resultado �nal.
Para superar tais limitações, algumas técnicas de Processamento Digital de
Imagens (PDI) são adicionados ao MCA Tradicional, gerando outros métodos, dentre
3.4. Métodos de Contornos Ativos (MCAs) 49
os quais, este trabalho se concentra: MCA Balão e MCA Gradient Vector Flow
(GVF).
3.4.2 MCA Balão
Com base na análise realizada anteriormente, o MCA Tradicional não detecta
a borda da imagem quando é inicializado longe desta, principalmente quando
inicializado dentro do objeto de interesse. Isto acontece quando a borda não está
presente na zona determinada pela vizinhança de cada ponto, então a curva minimiza
sua energia de forma errônea, sem detectar as bordas.
Para solucionar a restrição apresentada, Cohen (1991) de�ne uma outra força
interna para o MCA Balão. Nesta abordagem, a energia externa se mantém igual
ao MCA Tradicional, enquanto que a energia interna é de�nida como sendo a soma
da Força de Continuidade e da Força Balão. A energia interna é então de�nida por
Eint[c(s)] = wcontFcont[c(s)] + wbalFbal[c(s)]. (3.33)
em que Fcont[c(s)] é a mesma Força de Continuidade utilizada no MCA Tradicional,
Fbal[c(s)] é a Força Balão e os parâmetros wcont e wbal são pesos. Estes pesos são
utilizados para ajustar a importância de cada um destes no cálculo da energia interna
Eint. Os valores destes pesos podem variar de 0 a 1 sendo atribuído maior valor para
a força que deverá ter maior in�uência.
A Força Balão surge devido ao fato de que, quando a inicialização da curva é
realizada dentro objeto e afastada das bordas, a curva tende a minimizar sua energia
se afastando das bordas, que é o contrário do desejado. Deste modo, a Força Balão
deforma a curva para este se aproximar das bordas, in�ando a curva e aumentando
sua área interna, sendo que a energia externa o faz parar ao detectar as bordas do
objeto de interesse.
Dentre as formas de implementação da Força Balão Fbal, Mackiewich (1995)
sugere uma que se baseia no centróide da curva. Considerando este centróide como
o ponto central da curva, calculado por meio da média das coordenadas x e y de
todos os pontos, a Força Balão atua como uma força elástica, afastando a curva
do centróide. Na Figura 3.9 é ilustrada a Força Balão atuando no ponto c(s)
repulsando-o em direção oposta ao centróide T .
3.4. Métodos de Contornos Ativos (MCAs) 50
Figura 3.9: exemplo da atuação da força balão repulsando um ponto c(s) em direção
contrária do baricentro T (xt, yt).
Matematicamente, a Força Balão é determinada por (MACKIEWICH, 1995)
Fbal[c(s)] =√E2x + E2
y , (3.34)
em que as componentes Ex e Ey são de�nidas por
Ex = x(s)−∣∣∣∣xt − x(s)
xmax
∣∣∣∣ , (3.35)
e
Ey = y(s)−∣∣∣∣yt − y(s)
ymax
∣∣∣∣ , (3.36)
em que x(s) e y(s) são as coordenadas do ponto c(s) onde Fbal está sendo calculada,
xt e yt são as coordenada do centróide T , xmax e ymax são as máximas distâncias
entre um ponto da curva c e o centróide T nos eixos das abscissas e das ordenadas,
respectivamente.
Para analisar os resultados do MCA Balão são utilizados duas inicializações
dentro do objeto de interesse, uma centralizada e outra descentralizada. Na
inicialização centralizada, obtém-se resultados satisfatórios de segmentação,
conforme pode ser visto na Figura 3.10, em que a inicialização é mostrada na Figura
3.10(a).
Já quando a inicialização é descentralizada em imagens com concavidades,
conforme é apresentado na Figura 3.11(a), obtém-se resultados inadequados de
segmentação, demonstrado por um retângulo azul, na Figura 3.11(d). Sabendo
3.4. Métodos de Contornos Ativos (MCAs) 51
(a) (b) (c) (d)
Figura 3.10: a) inicialização da curva, b) e c) são resultados das iterações intermediárias e
d) resultado �nal da segmentação pelo MCA Balão.
que a curva se expande utilizando uma direção baseada entre o ponto e o centróide,
é constatado que nas regiões com concavidade, os pontos que se direcionam para
a região não segmentada, param na barreira gerada pela concavidade, logo a curva
não atinge esta região.
(a) (b) (c) (d)
Figura 3.11: aplicação do MCA Balão, desde a) inicialização da curva, b) e c) iterações
intermediárias d) resultado �nal da segmentação.
Analisando as Figuras 3.10 e 3.11, percebe-se que este método elimina diversas
limitações do MCA Tradicional, porém dependendo da inicialização, o problema da
segmentação das concavidades continua. O MCA Gradient Vector Flow (GVF) é
um método proposto por Xu e Prince (1997) que tenta resolver este problema das
concavidades. O MCA GVF resolve os problemas de inicialização afastada das
bordas e da segmentação de regiões côncavas, mas somente quando inicializado
fora do objeto. Já quando inicializado dentro do objeto, o resultado depende
diretamente da inicialização da curva, principalmente em regiões côncavas. Além
disto, constata-se também que outra limitação do MCA GVF se dá em aplicações em
tempo real, devido o fato deste método ser lento em relação aos método Tradicional e
Balão (WILLIAMS; SHAM, 1992; MACKIEWICH, 1995; BOUHOURS, 2006). Isto ocorre
por causa das iterações sucessivas realizadas para gerar o �uxo de vetores gradiente,
3.4. Métodos de Contornos Ativos (MCAs) 52
que são custosas computacionalmente (FILHO, 2010).
O algoritmo para processar um MCA segue algumas etapas que são melhor
descritas abaixo.
i. Pré-processamento: tem por objetivo transformar o vídeo de entrada em
um formato que possa ser processado pelo algoritmo.
ii. Inicialização: inicializar a curva em torno das bordas de interesse que se
deseja segmentar.
iii. Cálculo das energias: calcular as energias para a curva inicializada.
iv. Deslocamento: Atualizar as novas coordenadas encontradas para a curva,
através de algum método de minimização de energias.
v. Validação: veri�cação da função de minimização da curva.
A estimação do movimento pode ser integrado como uma força externa no MCA,
impedindo assim a evolução da curva quando atinge o limite do objeto em movimento
(KüHNE et al., 2001).
Como visto, as técnicas estudadas neste capítulo utiliza diferentes maneiras para
a detecção e rastreamento de objetos em um vídeo digital. São técnicas que utilizam
características diferentes, como modo de inicialização, etapas de pré-processamento,
a forma de detecção de objetos, pós-processamento, e até mesmo a maneira de como
estas são validadas.
A partir da descrição dos métodos; SF, DT, FO e MCA é importante de�nir a
metodologia para a análise comparativa entre os métodos de detecção de movimento
e rastreamento de objetos. Isso será abordado no próximo.
Capítulo 4Metodologia
Neste Capítulo são descritos os algoritmos implementados durante o
desenvolvimento desta dissertação e a metodologia usada para avaliação dos mesmos.
Inicialmente, são mostrados os equipamentos e o ambiente de desenvolvimento
usados para testes e embarque dos algoritmos. Seguindo com a apresentação das
operações implementadas, a con�guração do modelo para teste dos métodos de
detecção de movimento e rastreamento de objetos, seguindo com o detalhamento
dos algoritmos projetados para cada técnica avaliada e por último é descrito as
formas de avaliação.
4.1 Equipamentos Utilizados
No desenvolvimento dessa dissertação os algoritmos são inicialmente
desenvolvidos em um PC e em seguida são adaptados para serem embarcados nos
dispositivos portáteis. Os equipamentos utilizados são resumidamente descritos na
Tabela 4.1.
Neste trabalho, é utilizado um aparelho celular e um PC. O computador possui
como acessórios uma Câmera Microsoft NX-3000. O aparelho celular utilizado neste
trabalho (SAMSUNG A706), não possui Unidade de Ponto Flutuante (FPU). Todos
os cálculos em ponto �utuante são feitos através de software no processador de
ponto �xo. O uso de ponto �utuante aumenta o custo computacional, necessitando
a adaptação do código para ponto �xo.
53
4.2. Ambiente de Desenvolvimento 54
Tabela 4.1: equipamentos utilizados no desenvolvimento desta dissertação
Computador Telefone Celular
Fabricante Dell Samsung
Modelo Precision M65 SGH-A706
Processador Intel Core2Duo T720 ARM9 à 143 MHz
RAM 3GB DDR2 667 MHz -
OS Windows XP Com SP2 Qualcom Rex
Câmera 1.3 Mpix Microsoft NX-3000 2 MPix
4.2 Ambiente de Desenvolvimento
Nesta seção são descritos em linhas gerais os ambientes utilizados. Inicialmente,
o ambiente para desenvolvimento das simulações (Matlab) é descrito na seção
4.2.1. Em seguida, nas seção 4.2.2 são descritos os programas necessários para
o desenvolvimento dos algoritmos de visão arti�cial em C ANSI utilizados para
desenvolver os protótipos para teste de desempenho.
4.2.1 Matlab R©
O Matlab e seu pacote de simulação dinâmica (Simulink)(MATLAB/SIMULINK,
2009) são os programas de simulação mais utilizado no ramo de controle automático
em geral e controle de processos industriais. Várias ferramentas dentro da área
de controle têm sido desenvolvidas para esta plataforma, por exemplo, o controle
preditivo, controle robusto, identi�cação de sistemas, redes neurais, lógica fuzzy, etc.
Além disto, este programa pode ser útil para os engenheiros simularem a dinâmica
de vários processos industriais ou não (WARD, 2007).
A estrutura modular do Simulink permite o agrupamento de modelos dentro
de hierarquias que provê uma visão geral do sistema e uma fácil manutenção de
componentes e sistemas complexos. O Simulink utiliza um ambiente grá�co baseado
em diagramas de blocos que suportam diferentes operações, como por exemplo,
funções aritméticas, entrada e saída de dados, funções de transferências, modelos de
estado de espaços, dentre outras (KALAGASIDIS et al., 2007).
A partir de pequenos blocos, através deste ambiente, um conjunto de bibliotecas
de várias áreas podem ser desenvolvidas. Cada biblioteca é formada por vários
pequenos sub-blocos ou sub-modelos que representam uma função especí�ca de uma
4.2. Ambiente de Desenvolvimento 55
área especí�ca. A partir do arranjo de vários destes blocos na tela e em seguida,
através da conexão de blocos com algumas variáveis e constantes é capaz de simular
vários sistemas de equações (TAYLOR et al., 2004).
Dois pacotes são muito importantes para possibilitar a simulação de algoritmos
de visão arti�cial, o pacote de aquisição de imagens e o de processamento de Video
e Imagem (MATLAB/SIMULINK, 2009; FEMLAB, 2000).
O pacote de aquisição de imagens fornece uma interface com vários tipos de
câmeras digitais ou placas de aquisição de dados, realizando a con�guração, controle
de interrupção possibilitando a aquisição de frames em formato RGB, sendo possível
adquirir os vídeos com tamanhos variados, dependendo da capacidade de aquisição
da câmera.
O pacote de vídeo e imagens possui um conjunto de funções úteis para a
comunidade de processamento de imagens compostas por funções de aquisição,
�ltragem, análise e extração de características e exibição de resultados (FEMLAB,
2000). Este toolbox é capaz de adquirir vídeos compatíveis (AVI e WMV) e imagens
(BMP, PNG, TIF, JPEG), que serão processados por um conjunto de blocos.
Dentro das funções de processamento de imagens deste pacote destacam-se
funções de conversão de formatos de imagens, limiarização automática pelo método
de OTSU, correção, convolução 2D, �ltros FIR e �ltro da mediana, operações
morfológicas como erosão e dilatação, transformadas matemáticas como a FFT e
o DCT, dentre outras (FEMLAB, 2000). Por �m, através de funções de exibição os
vídeos processados são exibidos ou salvos em arquivo.
4.2.2 Open Source Computer Vision Library
Neste trabalho, a biblioteca Open Source Computer Vision Library OpenCV
foi utilizado em um sistema operacional Windows R© através do Compilador Visual
C++ 2008 Express Edition. Originalmente, desenvolvida pela Intel em 2000, é uma
biblioteca multiplataforma, totalmente livre ao uso acadêmico e comercial, para o
desenvolvimento de aplicativos na área de Visão Computacional (INTEL, 2000).
Esta biblioteca possui um vasto conjunto de funções em C/C++ e implementa
alguns dos algoritmos mais usuais de processamento de imagem e VC. A biblioteca
foi concebida especialmente para processamento e análise de imagem em tempo
real e tem aplicações nas seguintes áreas: interface homem-máquina, identi�cação
4.2. Ambiente de Desenvolvimento 56
de objetos, segmentação e reconhecimento, reconhecimento de faces, detecção de
movimento, rastreamento do movimento, entre outras (REIS; TAVARES, 2005).
Durante o desenvolvimento das aplicações o OpenCV foi utilizado apenas como
meio de acesso a câmera. Todas as etapas de processamento foram desenvolvidas
em C ANSI para torná-la independente de dispositivo e plataforma.
Após o desenvolvimento e teste da implementação feita utilizando o OpenCV, o
código é integrado ao sistema de desenvolvimento utilizado nos dispositivos portáteis
para que os testes de desempenho possam ser efetuados.
4.2.3 REX OS
Os Sistemas Operacionais (SOs) disponíveis no mercado consumidor atualmente
são diversos, incluindo o Palm OS, o Symbian OS, o Windows Mobile, Qualcomm
REX OS(REX OS ), o Andróide da Google e o WebOS dentre outros (JESUS;
NASCIMENTO, 2006; KATIA et al., 2009). Neste trabalho, os algoritmos são
implementados de forma a serem embarcados em diferentes sistemas operacionais.
Os testes realizados neste trabalho baseiam-se na linguagem de programação C ANSI
devido possibilitar uma boa performance para Sistemas Embarcados (DIGIA, 2002).
Devido ao fato dos testes serem realizados apenas no celular A706 com sistema
operacional Qualcomm Rex, abaixo segue uma breve descrição do funcionamento
deste sistema.
REX OS é um abreviatura de Real Time Executive e Real Time OS para
dispositivos móveis. É uma plataforma desenvolvida pela Qualcomm, sendo
fornececida às empresas fabricantes que utilizam os processadores da familia Mobile
Station Modem (MSM) produzidos pela Qualcomm. É um sistema fechado, isto é,
somente fabricantes de dispositivos portáteis (handsets) que tenham a MSM licença
da Qualcomm podem desenvolver aplicações na plataforma de software REX (CHO;
JEON, 2007; JESUS; NASCIMENTO, 2006).
A visualização da plataforma Qualcomm REX é visualizada na Figura 4.1.
Pode-se perceber que na base da plataforma tem-se o sistema operacional Qualcomm
REX OS, seguido por uma camada que está associadas as tarefas, sendo do tipo;
Tarefas Mestres, Tarefas de Unidade de Interface (UI) e Tarefas. Acima dessas duas
camadas estão os Middlewares e aplicações. Um Middleware muito usado para o
desenvolvimento de aplicações é o BREW.
4.2. Ambiente de Desenvolvimento 57
Figura 4.1: diagrama da Plataforma REX
.
Como mostrado na Figura 4.1, esse sistema operacional consiste em várias
tarefas, sendo que cada tarefa é executada em um loop in�nito no código. Qualcomm
REX OS altera essas tarefas com suas prioridades, através de um algoritmo de
agendamento de tarefas.
Esse sistema controla essas tarefas iniciando-as ou parando a execução das
mesmas. Essas tarefas são: controle da tela do dispositivo UI Task e tarefas de
Controle Mestre MC Task, as quais controlam os tons DMTF, sons e alertas, e
também sistemas de arquivos da memória �ash no handset, também de envio e
recebimento de mensagens bem como outras tarefas.
Devido a esse sistema usar um espaço de endereço com suas tarefas, o mesmo não
suporta nenhuma proteção entre as tarefas e as aplicações que estão em execução
(CHO; JEON, 2007). Cabe ao projetista ter atenção e cuidado no desenvolvimento de
aplicações para este sistema, levando em consideração proteção da memória. Esta
característica é uma fonte de insegurança na integridade para desenvolvimento de
software.
Alguns dos middlewares, ou seja, ambientes binários de tempo de execução para
diversos aplicativos, encontram-se na camada do topo desta plataforma, é o caso
do BREW e do UiONE, os quais são fornecidos pela Qualcomm (CHO; JEON, 2007;
JESUS; NASCIMENTO, 2006).
4.2.4 Interface para Teste
A construção de um ambiente de testes para PC executando os algoritmos
projetados na linguagem de programação C ANSI é feita para visualizar melhor
os resultados e criar aplicações para as técnicas estudadas em ambiente PC. Esta
interface é construída usando o ambiente de desenvolvimento Visual Studio Express,
que é uma aplicação do tipo Windows Form Application, integrada com a biblioteca
4.2. Ambiente de Desenvolvimento 58
de aquisição de vídeo e imagem OpenCV.
4.3. Implementação em Dispositivos Portáteis 59
4.3 Implementação em Dispositivos Portáteis
Nesta seção são descritas as simulações e testes realizados. Inicialmente na seção
4.3.1 são descritos em detalhes os blocos implementados, bem como as simulações
realizadas e na seção 4.3.2 são descritos os detalhes da implementação em C ANSI
para múltiplas plataformas de desenvolvimento.
4.3.1 Simulação
As simulações realizadas seguem a estrutura ilustrada na Figura 4.2. Um
exemplo de simulação realizada neste trabalho usando a ferramenta Simulink do
Matlab é ilustrado na Figura 4.3. Esta Figura mostra uma simulação utilizada
para avaliar os algoritmos de detecção de movimento.
4.3. Implementação em Dispositivos Portáteis 60
Figura 4.2: principais passos em processamento de imagem e vídeo.
Figura 4.3: simulação para avaliação numérica dos algoritmos de detecção de movimento.
A primeira etapa, denominada de aquisição, é realizada pelos pacotes de
processamento vídeo e imagens, presentes no Matlab e Simulink. Esta etapa é
constituída pelo bloco Video Input do Simulink ilustrado na Figura 4.3.
A etapa de pré-processamento apresentado na Figura 4.2 é um bloco do Simulink
que consiste em realizar a transformação do espaço de cor RGB para o YCbCr, com
o intuito de capturar apenas o canal Y do espaço de cor YCbCr.
A etapa de detecção do movimento é implementada através do bloco mfunction,
chamado de métodos. Este bloco permite a escolha de qual técnica de detecção de
movimento se deseja executar.
Após aplicado a etapa de detecção do movimento, como visto na Figura 4.2, é
aplicado um pós-processamento. Este pós-processamento serve para eliminar ruídos,
auxiliando na qualidade do objeto segmentado e consiste da utilização de um �ltro de
4.3. Implementação em Dispositivos Portáteis 61
mínimo seguido por um de máximo e de uma rotulação dos objetos para identi�car
aquele de maior área.
Figura 4.4: simulação para pós-processamento.
A extração de características é a etapa efetuada em seguida e permite a extração
de parâmetros para possibilitar a análise comparativa entre as técnicas.
A último etapa, a exibição de resultados, é realizada pelo pacote de
processamento vídeo e imagens, exibindo no monitor, salvando no arquivo, ou
exportando para a área de trabalho da linha de comando (Shell) do Matlab.
4.3.2 Conversão para C ANSI
O diagrama da implementação em linguagem de programação C ANSI dos
métodos de detecção de movimento são mostrados na Figura 4.5. Nesta Figura, as
setas representam o acesso a informações. Os algoritmos de VC desenvolvidos neste
trabalho possuem acesso indireto ao hardware, devido a necessidade de utilização dos
métodos em outras plataformas que suportam C ANSI. Os códigos desenvolvidos em
C ANSI utilizam apenas comandos presentes nas bibliotecas padrão desta linguagem.
Após os testes feitos utilizando as simulações, os algoritmos são implementados
em C ANSI e em seguida embarcados e testados no dispositivo portátil. Para cada
plataforma, é desenvolvido um conjunto de comandos de acesso ao hardware e são
dependentes de cada plataforma. Por exemplo, para os testes serem realizados no
PC, a interface de acesso ao hardware da câmera é feita utilizando-se comandos
existentes na Interface de Programação de Aplicativos (API) do OpenCV e ao �m
do processamento, converte os frames adquiridos em um vetor de ponto �xo.
Para testar os algoritmos, aplicações em C++ ou C ANSI são desenvolvidas. No
ambiente PC é utilizada a interface para teste vista na seção 4.2.4, desenvolvida
4.4. Descrição da execução dos algoritmos desenvolvidos 62
a�m de proporcionar uma melhor adequação de ambiente. Esta interface inicia os
algoritmos de detecção de movimentos e entra em um laço que adquire um frame
da câmera, executa o algoritmo proposto e exibe os resultados até que seja acionado
o botão de desligar do celular apresentado na interface. Após sair deste laço, a
aplicação fecha os algoritmos de VC e termina a aplicação.
Figura 4.5: esquema do uso dos algoritmos desenvolvidos em C.
Já no ambiente REX, os algoritmos são compilados em C ANSI e são enviados
para o grupo de desenvolvedores do Samsung Instituto de Desenvolvimento para
Informática (SIDI). Os desenvolvedores implementaram a interface de acesso ao
hardware e integram o algoritmo em uma aplicação nativa do sistema operacional,
deixando disponível o conjunto de algoritmos para serem testados e avaliados.
Após de�nido os equipamentos e ambiente de desenvolvimento para testes, é
necessário uma descrição do sistema de avaliação dos métodos estudados.
4.4 Descrição da execução dos algoritmos desenvolvidos
Subtração de Fundo
A seqüência de operações realizadas do algoritmo de detecção de movimento
obedece todas as etapas descritas na seção 3.1.1. Para este trabalho, a imagem
do modelo de fundo é construída, considerando a média absoluta entre 5 frames
adquiridos. Esta é uma forma simples de se ter um modelo de referência. Este
modelo de fundo é armazenado em Bt(x, y) e o novo frame adquirido é armazenado
4.4. Descrição da execução dos algoritmos desenvolvidos 63
em I(x, y). A próxima operação realizada por este método é a limiarização para
a obtenção dos resultados cujo valor de T é �xado em 15. Como resultado da
limiarização, obtém-se uma nova imagem representada por R(x, y).
Em caso de necessidade de pós-processamento é usado um �ltro de mínimo com
máscara 3x3 na imagem R(x, y), obtendo a imagem R1(x, y). Para compensar as
perdas causadas pela operação anterior aplica-se um �ltro de máximo com máscara
3x3 na imagem R1(x, y) , resultando em uma nova imagem R2(x, y).
(a) (b) (c)
(d) (e)
Figura 4.6: resultados obtidos durante a etapa de pós-processamento usando a técnica de
SF. a) imagem original I, b) R(x, y), c) R1(x, y), d) R2(x, y) e e) R3(x, y).
O resultado da operação de rotulação sobre a imagem R2(x, y), é armazenado
em R3(x, y). O objeto a ser analisado em movimento é aquele que possuir a maior
área. O resultado dessas operações são apresentados na Figura 4.6.
4.4. Descrição da execução dos algoritmos desenvolvidos 64
Diferença Temporal
As operações realizadas pela técnica de Diferença Temporal são análogas às
usadas na técnica anterior. A técnica de Diferença Temporal utiliza a imagem
anterior como modelo de fundo. O modelo de fundo é armazenado em Bt(x, y) e
o novo frame adquirido em I(x, y). A próxima operação realizada por esta técnica
é a operação de limiarização cujo valor de T é �xado também em 15. Realizada a
operação de limiarização, obtém-se uma nova imagem representada por R(x, y), que
representa a região segmentada, contendo os objetos em movimento.
Nesta técnica, também é aplicado as operações de �ltragem com �ltros de mínimo
e máximo na imagem R(x, y) após a detecção do movimento, resultando em menos
erros na detecção do movimento. Após este processo de �ltragem, os objetos
encontram-se representados por duas novas imagens R1(x, y) e R2(x, y), em que
R1(x, y) é obtida após o �ltro de mínimo e R2(x, y) após o �ltro de máximo.
(a) (b) (c)
(d) (e)
Figura 4.7: resultados obtidos durante a etapa de pós-processamento usando a técnica de
DT. a) imagem original I, b) R(x, y), c) R1(x, y), d) R2(x, y) e e) R3(x, y).
A operação de rotulação é aplicado na imagem R2(x, y) para detectar o objeto
de maior área, resultando em uma nova imagem R3(x, y) a qual é vista na Figura
4.7. Esta Figura apresenta os resultados obtidos pela etapa de pós-processamento.
Fluxo Óptico
4.4. Descrição da execução dos algoritmos desenvolvidos 65
A técnica de Fluxo Óptico é baseado no método proposto por Horn e Schunck
(1981) e é descrito por Costa et al. (2006). O algoritmo assume que as componentes
de velocidade variam suavemente, sendo dependente da velocidade em torno de cada
pixel no frame t− 1.
Considerando-se a dependência da velocidade do frame anterior para estimação
da velocidade no frame atual (t), tem-se que as equações 3.11 e 3.12 podem ser
reescritas por (COSTA et al., 2006)
ut = ut−1 − IxIxu
t−1 + Iyvt−1 + It
λ2 + (I2x + I2
y ), (4.1)
vt = vt−1 − IyIxu
t−1 + Iyvt−1 + It
λ2 + (I2x + I2
y ), (4.2)
em que u e v são as velocidade média nas direções x e y do frame anterior e Ix,
Iy e It são as derivadas parciais da intensidade do brilho em (x, y, t), calculadas
respectivamente através do gradiente de Roberts e um �ltro de média 2x2 (COSTA
et al., 2006).
Uma forma de calcular as componentes u e v em termo de seus 8 vizinhos é
descrita por Barbosa et al. (2005)
u =1
12·
u (x− 1, y − 1) + 2 · u (x, y − 1) +
u (x+ 1, y − 1) + 2 · u (x− 1, y) +
2 · u (x+ 1, y) + u (x− 1, y + 1)
+2 · u (x, y + 1) + u (x+ 1, y + 1)
. (4.3)
Com base nas velocidades estimadas e nas equações 4.1 e 4.2, o movimento
detectado produz uma imagem binária R(x, y) obtida por uma operação de
limiarização, dada por
R(x, y) =
1, |ux + vy| > T,
0, caso contrário,(4.4)
em que |ux + vy| é o módulo da soma dos vetores de velocidades e T é um limiar
com valor inteiro. A imagem R(x, y) contém as regiões em movimento detectadas
4.4. Descrição da execução dos algoritmos desenvolvidos 66
pelo método do Fluxo Óptico.
Nesta técnica também é aplicado as operações de �ltragem na imagem R(x, y)
com os �ltros de mínimo e máximo após a detecção do movimento, para eliminar
regiões que contem ruídos provocados pela a detecção. Após este processo de
�ltragem os objetos encontram-se representados por duas novas imagens, R1(x, y) e
R2(x, y), em que R1(x, y) é obtida após o �ltro de mínimo e R2(x, y) após o �ltro
de máximo.
Nesta técnica também é a aplicada a etapa de rotulação dos objetos contidos
na imagem R2(x, y), obtendo-se a imagem R3(x, y). O resultado das operações de
processamento realizada pela técnica de Fluxo Óptico é apresentado na Figura 4.8.
(a) (b) (c)
(d) R2 (e)
Figura 4.8: resultados obtidos durante a etapa de pós-processamento usando a técnica de
SF. a) imagem original I, b) R(x, y), c) R1(x, y), d) R2(x, y) e e) R3(x, y).
Método dos Contornos Ativos
Como visto na seção 3.4, existem diversas abordagens para resolver as limitações
dos MCAs. A abordagem descrita por Xu e Prince (1997) tenta resolver estas
limitações, porém esta não é a abordagem utilizada devido a maior complexidade
computacional requerida pela técnica. Por esta razão, escolhe-se o MCA Balão
apresentado na seção 3.4.2. Neste caso, as operações são mais simples, por envolver
apenas somatórios. Para aplicação desta técnica, são necessárias alterações no
4.5. Avaliação e Comparação das Técnicas 67
tamanho da máscara, aumentando-se a abrangência do algoritmo na detecção e
rastreamento de objetos em movimento.
Neste trabalho, a inicialização da curva no MCA Balão é realizada a partir dos
cantos do objeto segmentado pela técnica de Subtração de Fundo. A Figura 4.9
ilustra o processo de inicialização da curva inicial do MCA, em que a Figura 4.9(a)
é o modelo do fundo estático no qual é inserido o objeto e a Figura 4.9(b) apresenta
os cantos e o objeto detectados, após a aplicação da técnica de Subtração de Fundo
e Detecção de Cantos.
(a) (b)
Figura 4.9: inicialização do MCA, a) imagem original, b) objeto e cantos detectados com
a curva inicial após a aplicado a técnica de Subtração de Fundo e detecção de
cantos.
Este método não realiza a rotulação dos objetos segmentados para encontrar
o objeto de maior área, porque os objetos já estão envolvidos em um contorno
armazenado em uma lista.
4.5 Avaliação e Comparação das Técnicas
A metodologia para análise comparativa entre as quatro técnicas detalhadas na
seção 4.4 consiste basicamente pela geração de um vídeo sintético, avaliação da
trajetória, e a medida de descritores de forma.
4.5.1 Geração de Vídeo Sintético
Para avaliação inicial dos algoritmos simulados, um vídeo sintético é gerado
utilizando uma imagem estática que simula um ambiente de fundo estático e
constante.
Para as simulações, são criados três tipos de movimentos, verticais, horizonntais
e circulares, em todos sentidos de rotação (horário e anti-horário). Um destes
4.5. Avaliação e Comparação das Técnicas 68
movimentos é escolhido durante a etapa de simulação ou teste. É mostrado na Figura
4.10 a imagem de um quadro do vídeo sintético. Sobreposta a esta imagem, as
setas preenchidas representam os movimentos horizontais, setas sem preenchimento
os movimentos verticais e o círculo, o movimento circular. A região de cor preta
representa o objeto que realiza os movimentos.
Figura 4.10: geração de um vídeo controlado utilizando uma imagem de fundo estático.
Basicamente, a idéia é avaliar as trajetórias percorridas pelo objeto segmentado
quando este realiza movimentos em sentidos verticais, horizontais e circulates. O
vídeo usado para avaliação das quatro técnicas segue a mesma seqüência; o vídeo
inicia somente com o fundo sem nenhum objeto, após 3 milisegundos (tempo
médio para inicialização entre 100 realizações) aparece um objeto. Este objeto é
segmentado usando uma das técnicas. Este objeto realiza movimentos nas direções
verticais, horizontais e circulares.
4.5.2 Avaliação da Trajetória
Para quanti�car a detecção de movimento, os deslocamentos produzidos pelos
algoritmos implementados são comparados com os deslocamentos que geraram o
movimento do vídeo sintético. Para realizar esta comparação, os deslocamentos
(∆x,∆y) são utilizados para calcular a posição absoluta (x, y) do movimento dadas
por
x(t) =t∑
k=1
∆x(t) = ∆x(t) + x(t− 1), (4.5)
4.5. Avaliação e Comparação das Técnicas 69
y(t) =t∑
k=1
∆y(t) = ∆y(t) + y(t− 1), (4.6)
em que t indica o instante de tempo do quadro.
Antes de calcular o erro, as posições estimada (xe, ye) por um dado algoritmo e
realizadas (xr, yr) são normalizadas, por
x(t) =x(t)− x(1)
max(x)−min(x), (4.7)
e
y(t) =y(t)− y(1)
max(y)−min(y), (4.8)
em que max(x) é a maior posição do movimento e min(x) é a menor posição obtida
no movimento. A partir da posição estimada, o erro de detecção de movimento é
obtido através do Erro Médio Quadrático (MSE) dado por (POULARIKAS, 1999)
MSE =
√N∑i=1
(xe − xr)2 + (ye − yr)2
N, (4.9)
em que N é o número de frames do vídeo sintético.
4.5.3 Esforço Computacional
Para avaliar o esforço computacional dos métodos, utiliza-se o telefone celular
descrito na seção 4.1. Esta análise consiste da medida de tempos em milisegundos
(ms) para funções de inicialização e processamento da técnica embarcada no celular,
variando o tamanho do frame de entrada.
4.5.4 Descritores de Forma
O objetivo desta etapa é veri�car o quanto um objeto segmentado se assemelha
ao objeto real. Para esta avaliação, as características escolhidas são: área do objeto
segmentado (medido pela quantidade de pixels em seu interior) e o número de Euler
de�nido pelo número de componentes conexos menos o número de buracos do objeto.
Com base na metodologia apresentada neste capítulo, são obtidos os resultados
da aplicação das técnicas para possibilitar a análise comparativa entre as mesmas.
Capítulo 5Resultados
Neste capítulo são descritos os resultados da pesquisa desenvolvida.
comparativo dos algoritmos de detecção de movimento, em que são avaliados
a qualidade da estimação da trajetória do movimento, o esforço computacional e
algumas descritores de forma.
Neste capítulo são apresentados os resultados dos algoritmos de detecção de
movimento avaliados para dois tipos de movimentos, retangular e circular. O
movimento retangular é composto por quatro movimentos lineares na seguinte
ordem: para baixo, para direita, para cima e para esquerda. A trajetória do
movimento circular consiste em um círculo com raio constante e velocidade angular
constante por frame nos sentidos horário e anti-horários.
Para cada método descrito na seção 4.4 são avaliados: a trajetória visto na seção
4.5.2, os descritores de forma detalhado na seção 4.5.4 e o custo computacional
detalhado na seção 4.5.3.
Os resultados obtidos usa um celular com o sistema operacional REX OS e um
processador ARM9 à 143 MHz. E a aquisição dos frames de entrada são obtidos a
partir do vídeo sintético mostrado na seção 4.5.1, tendo três resoluções diferentes
de 128×96, 176×144 e 320×240. A análise da trajetória e dos descritores de forma
é usado apenas a resolução de 176×144. A área do objeto a ser detectado como
objeto em movimento possui área de 400 pixels.
Para a técnica de Subtração de Fundo, Diferença Temporal e Fluxo Óptico, o
limiar utilizado na etapa de limiarização é 15 e o tamanho das máscaras dos �ltros de
mínimo e máximo é 3×3. O tamanho da máscara utilizada para a técnica do MCA
70
5.1. Movimento Retangular 71
é 7×7, e a quantidade de pontos para inicialização do contorno da curva assumem
três valores diferentes: 4, 20 e 400 pontos.
5.1 Movimento Retangular
Nesta seção são descritos os resultados obtidos para o movimento retangular para
velocidades de deslocamentos de 1, 2, 5, e 10 pixels por frame. O erro do cálculo
da trajetória do objeto MSE em função da velocidade do movimento simulado é
mostrado na Figura 5.1.
Observando a Figura 5.1 percebe-se que, para movimentos lentos (velocidades
de 1 pixel por frame), o algoritmos MCA, SF e DT possuem erro de ordem (10−4)
enquanto que o algoritmo FO possui erro na ordem de 10−3.
Figura 5.1: comportomento do MSE em função da velocidade simulada para o movimento
retangular.
.
O MSE aumenta com a velocidade do movimento simulado para todos os métodos
analisados, excetuando-se o Fluxo Óptico que, a partir do deslocamento de 5 pixels
5.2. Movimento Circular Uniforme 72
por frames, seu erro diminui. O aumento do erro é esperado para o método do Fluxo
Óptico devido ao fato de tal método requerer que o padrão de brilho de uma imagem
permaneça constante (COSTA et al., 2006).
Para o algoritmo de SF, o erro aumenta com o aumento da velocidade devido
baixa qualidade da detecção do objeto, assim como o algoritmo de DT. Já para o
algoritmo MCA, isto acontece por dois motivos: os pontos rastreados são somente
4 e a vizinhança destes pixels é no máximo 7.
Desta forma, os algoritmos SF, DT e MCA apresentam uma tendência de
aumento do MSE com o aumento das velocidades, entretanto, observa-se uma
elevação menor do valor do do erro obtido pelo o Fluxo Óptico quando se consideram
velocidades maiores.
5.2 Movimento Circular Uniforme
Nesta seção são descritos os resultados obtidos para o movimento circular com
velocidades de deslocamento de 1, 2, 5 e 10 pixels por frame. O erro de estimação
da trajetória MSE é mostrado na Figura 5.2.
Os resultados mostram um comportamento similar aos resultados obtidos através
do estudo realizado com o movimento retangular em todas as velocidades analisadas.
Isto é, para velocidades de 1 pixel por frame, a melhor detecção foi obtida pelo o
algoritmo MCA, e para velocidades maiores do que 5 pixels por frame, este algoritmo
apresenta a sua pior detecção.
Na Figura 5.3 é visto um comportamento da trajetória média, para um
movimento retangular realizada pelos quatro métodos avaliados.
5.3 Avaliação do Esforço Computacional
Nesta seção são descritos os resultados da avaliação de esforço computacional dos
algoritmos estudados, apresentados nas Tabelas 5.1 a 5.4. Dentre os algoritmos
estudados, o de Subtração de Fundo apresenta o pior caso para inicialização, sendo
necessário 200ms para estimar o modelo de referência, acompanhado pelo o MCA
que também usa este algoritmo para inicializar os pontos da curva, uma vez que os
pontos são os cantos dos objetos. O tempo de processamento desta técnica leva em
média 7,6ms, para uma resolução de 176×144, realizando 100 rodadas.
5.3. Avaliação do Esforço Computacional 73
Figura 5.2: comportomento do MSE em função da velocidade simulada para o movimento
circular.
.
O algoritmo MCA é a técnica que requer menos tempo para processamento,
após a inicialização. O método de Diferença Temporal depois do Fluxo Óptico é o
que realiza a inicialização mais rápida, com um tempo de 43ms e com 51ms para
processamento.
A partir dos dados apresentados na Tabela 5.2, observa-se que o algoritmo MCA
apresenta os menores valores para todos os paramêtros, enquanto que os algoritmos
SF e FO apresentam valores médios aproximados para detecção do movimento. O
algoritmo FO apresenta o maior valor para o paramêtro máximo, seguido pelo DT.
O esforço computacional também pode ser avaliado, computados para a execução
de resoluções diferentes. Na Tabela 5.3 é mostrado os valores de tempos médio para
detecção do objeto em movimento através das técnicas de SF, DT e FO.
O esforço computacional também pode ser visualizado no grá�co da Figura 5.4.
Para o método MCA o tempo de processamento varia de acordo com o tamanho
5.3. Avaliação do Esforço Computacional 74
Figura 5.3: comportomento do MSE em função da velocidade simulada para o movimento
circular.
.
do frame e do número de pontos inicializados na curva, esta variação pode ser vista
na Tabela 5.4. Importante notar que os resultados obtidos para a avaliação da
trajetória neste trabalho utilizam a resolução de 176x144 e 4 pontos para inicializar
o Contorno Ativo.
O grá�co apresentado na Figura 5.5 mostra que a resolução do frame in�uência
no valor do custo computacional muito mais do que a quantidade de pontos da curva.
5.3. Avaliação do Esforço Computacional 75
Tabela 5.1: tempos médios em ms de execução para uma resolução de 176×144 executandoos algoritmos 100 vezes.
parâmetros1
Método inicialização detecção total
Subtração de Fundo 200 66,10 266,10
Diferença Temporal 43 51,60 94,60
Fluxo Óptico 33 65,5 98,50
MCA 202 7,70 209,70
Tabela 5.2: valores estatísticos do esforço computacional para a etapa detecção em um
frame 176×144.
parâmetros
Método média mínimo máximo variância desvio padrão
Subtração de Fundo 66,10 60 70 19,49 4,41
Diferença Temporal 51,60 50 55 5,24 2,28
Fluxo Óptico 65,50 58 72 13,85 3,18
MCA 7,70 6 8 0,41 0,64
Figura 5.4: tempo de processamento em relação a resolução do frame.
.
5.4. Descritores de Forma 76
Tabela 5.3: custo computacional em milisegundos em função do tamanho do frame.
parâmetros
Método 128x96 176x144 320x240
Subtração de Fundo 32 66,10 186
Diferença Temporal 24 51,60 156,30
Fluxo Óptico 29 65,50 200
Tabela 5.4: custo computacional em milisegundos em função do tamanho do frame e do
número de pontos da curva para o método MCA.
Quantidade de Pontos
Frames 4 20 400
128x96 3,8 8,55 21,8
176x144 8 18 73
320x240 24 54 126
5.4 Descritores de Forma
Os objetos a serem detectados como estando em movimento, possuem área de
400 pixels. A Tabela 5.5 mostra as áreas desse objeto para cada método. Com
base na Tabela 5.5, evidencia-se que o MCA apresenta a melhor aproximação da
área detectada, em relação a estabelecida como referência para o rastreamento. Já
a técnica de DT apresenta o pior caso, por conseguir detectar apenas 5% da área do
objeto. Isto é devido a formação de buracos no objeto detectado explicado na seção
3.2.
Tabela 5.5: descritores escalares avaliados para cada método
Descritores de Forma
Método Área Número de Euler
Subtração de Fundo 330 -2
Diferença Temporal 200 -6
Fluxo Óptico 300 -100
MCA 380 0
O algoritmo de MCA seguido pelo SF apresentam valores mais próximos para a
área detectada.
5.4. Descritores de Forma 77
Figura 5.5: tempo de processamento em relação a resolução do frame e a quantidade de
pontos da curva.
.
Conforme os dados contidos na Tabela 5.5, o número de Euler para o algoritmo
MCA é igual a 0, mostrando que, para este método, não existe formação de buracos.
Já para o algoritmo FO a quantidade de buracos formados é maior do todos os
outros, indicando a necessidade de pós-processamento.
É importante notar a quantidade de buracos dos métodos SF e DT é menor do
que do algoritmo FO. Observe-se também que, apesar da quantidade de buracos
serem maiores, a área obtida pelo o Fluxo Óptico e pela Subtração de Fundo é
praticamente igual.
Capítulo 6Conclusões, Contribuições e
Trabalhos Futuros
Esta dissertação desenvolve uma análise comparativa entre algumas técnicas de
detecção de movimento e rastreamento de objetos em vídeo digital empregadas
em dispositivos móveis. Inicialmente foi realizada uma revisão bibliográ�ca de
métodos de detecção de movimento levantando alguns fatores que são considerados
na detecção de movimento e rastreamento de objetos, permitindo selecionar e
agrupar a maioria dos algoritmos em quatro técnicas mais utilizadas na literatura:
Subtração de Fundo, Diferença Temporal, Fluxo Óptico e Métodos de Contornos
Ativos. Para cada uma destas técnicas, escolhem-se, com base nas restrições da
aplicação, algoritmos representativos.
Para possibilitar esta análise comparativa, constrói-se um ambiente inicial de
simulação na ferramenta Simulink com o objetivo de facilitar a implementação dos
algoritmos a serem avaliados. Após as simulações dos algoritmos usando funções do
Matlab, estes algoritmos são convertidos para a linguagem de programação C ANSI.
Pois a plataforma embarcada de teste permitir a execução nesta linguagem. Para
facilitar o uso dos algoritmos em C ANSI, ainda em ambiente PC, é concebida uma
interface para teste, a qual se assemelha ao celular usado para análise comparativo
das técnicas.
A análise é feita pela comparação das características: análise da trajetória, custo
computacional e descritores de forma. São usados vídeos sintéticos com resoluções
128×96, 176×144 e 320×240 tanto no ambiente de simulação quanto para teste no
78
79
dispositivo portátil com sistema operacional REX OS e um processador ARM9 à
143 MHz.
Constata-se que é possível o uso destas técnicas em um dispositivo portátil,
quando o mesmo adquiri 15 quadros/s. Isto porque o tempo de execução da função
de processamento do sistema após inicializado para o caso de uma imagem de
resolução 320x240 é 200ms. Porém, para o caso do MCA utilizando uma imagem
destas dimensões e inicializando a curva com 400 pontos não é possível usá-lo em
sistema com aquisição de 15 quadros/s.
A análise comparativa da trajetória é realizada pelo erro obtido por cada técnica,
em relação à referência ( vídeo sintético). Com base nos resultados obtidos para a
trajetória, os métodos de Subtração de Fundo, Diferença Temporal e Fluxo Óptico
apresentam os menores erros para rastreamento de objetos nas quatro velocidades
consideradas para teste. O Método dos Contornos Ativos apresenta melhores
resultados apenas para velocidades menores do que 5 pixels por frame. O valores do
MSE são praticamente iguais, tanto para movimentos retangulares quanto circulares.
Em geral, os métodos estudados possuem o melhor resultado para movimentos
suaves.
Com base nos dados obtidos conclui-se que os algoritmos SF, DT e MCA são mais
sensíveis, quanto a aumento de velocidades, do que o algoritmo de FO. Entretanto,
estes algoritmos podem perfeitamente ser usados para a detecção de trajetórias com
movimentos retangulares e circulares.
De acordo com os resultados, veri�ca-se que o custo computacional depende das
resoluções das imagem, ou seja, ao tamanho do frame para os algoritmos Subtração
de Fundo, Diferença Temporal e Fluxo Óptico. Para o Método dos Contornos Ativos,
o desempenho está relacionado não apenas ao tamanho do frame, mas também à
quantidade de pontos que são inicializados na curva do Contornos Ativo.
As simulações indicam que o método MCA combina uma boa representação
do objeto com um baixo custo computacional, podendo ser usado em dispositivos
móveis. Também é mostrado que a resolução do frame in�uencia na quantidade de
pontos, conseqüentemente no custo computacional.
A área e o número de Euler são características importantes para validação dos
métodos, com relação à detecção de movimento. Podendo ser considerados como
parâmetros para identi�car uma boa ou má detecção de objetos em movimento.
80
Baseado nestas características, pode-se concluir que a técnica de Fluxo Óptico, bem
como a Diferença Temporal não são adequadas para a representação do objeto em
movimento, uma vez que apresentam muito buracos. Neste caso, deve-se usar um
pós-processamento para reduzir tais buracos.
A análise do custo computacional permite determinar qual o melhor algoritmo
a ser utilizado em uma aplicação �nal, integrada ao dispositivo móvel.
Algumas das principais contribuições que este trabalho pode proporcionar são:
i. levantamento de parâmetros importantes usados em algoritmos de detecção de
movimento;
ii. criação de Ambiente para simulação para as técnicas;
iii. codi�cação em C ANSI dos algoritmos de detecção de movimento para sistemas
embarcados;
iv. criação de interface para testes dos algoritmos em C ANSI em PC;
v. análise da trajetória de objetos em movimento obtidos em sistemas
embarcados;
vi. veri�cação de custo computacional em plataforma embarcada;
vii. comparar a capacidade das técnicas em representar o objeto segmentado e;
viii. de�nir quais algoritmos são mais adequados para uso plataforma embarcada
de acordo com a aplicação.
Apesar deste trabalho realizar a comparação entre algumas características de
determinadas técnicas de detecção e rastreamento de movimento, não esgota a
pesquisa, podendo ainda ser realizada a análise de outros parâmetros e/ou outras
técnicas.
A perspectiva nos trabalhos futuros está voltada para três pontos principais: a
veri�cação causada pela alterações de parâmetros de cada método, a implementação
de métodos mais e�cientes e embarcar os algoritmos em outras plataformas. Desta
forma, sugere-se como trabalhos futuros quanto a avaliação usada neste trabalho, as
seguintes propostas:
81
i. alteração da forma de inicialização do MCA, e alteração da força externa;
ii. avaliar os parâmetros, como: tamanho de máscara, número de interações,
espaço de cor dentre outros parâmetros do método do FO para tentar diminuir
a quantidade de buracos;
iii. para a técnica de SF realizar uma modelagem de fundo baseado em misturas
de gaussianas;
iv. já para a técnica de DT implementar o método de média acumulativa;
v. embarcar as técnicas avaliadas em outras plataformas de Dispositivos Móveis
que suportem aplicações em C ANSI, como: Android, Symbian, Windows
Mobile.
Referências Bibliográ�cas
ALBUQUERQUE, V. H. C. de; TAVARES, J.; FILHO, P. P. R. Medição
automática da dureza brinell utilizando técnicas de processamento e análise de
imagem. 5o Congresso Luso-Moçambicano de Engenharia, Maputo - Angola, 2008.
ALTUNBASAK, Y.; G., T. A. B. Simultaneous motiondisparity estimation and
segmentation from stereo. In: IEEE. Proceedings of IEEE International Conference
on Image Processing. [S.l.], 1994. p. 73�77.
AMINI, A. A.; WEYMOUTH, T.; JAIN, R. C. Using dynamic programming for
solving variational problems in vision. IEEE Transactions on Pattern Analysis and
Machine Intelligence, v. 12, p. 855�867, 1990.
ARAKI, S.; MATSUOKA, T.; TAKEMURA, H.; YOKOYA, N. Real-time tracking
of multiple moving objects in moving camera image sequences using robust
statistics. In: Proceedings of International Conference on Pattern Recognition. [S.l.:
s.n.], 1998. v. 2, p. 1433�5.
A.Y.YUILLE; D.S.COHEN; P.W.HALLINAN. Feature extraction from faces using
deformable templates. International Journal of Computer Vision, p. 104�109, 1989.
BARBOSA, R. L.; GALLIS, R. B. A.; SILVA, J. F. C. da; JÚNIOR, M. M.
A computação do �uxo óptico em imagens obtidas por um sistema móvel de
mapeamento terrestre. Revista Brasileira de Cartogra�a, v. 57, n. 2, p. 72 � 78,
2005.
BARRON, J. L.; FLEET, D. J.; BEAUCHEMIN, S. S. Performance of optical �ow
techiniques. International Journal of Computer Vision, v. 12, n. 1, p. 43 � 77, 1994.
82
Referências Bibliográ�cas 83
BERGEN, J.; BURT, P.; HINGORAN, R.; PELEG, S. A three frame algorithm for
estimating two-component image motion. IEEE Transactions on Pattern Analysis
and Machine Intelligence, p. 886�96, 1992.
BESSON, S. J.; BARLAUD, M.; AUBERT, G. Region-based active contours for
video object segmentation with camera compensation. In: IEEE. Proceedings of
IEEE International Conference on Image Processing. [S.l.], 2001. v. 2, p. 61�4.
BETKE, M.; GIPS, J.; FLEMING, P. The camera mouse: Visual tracking of
body features to provide computer access for people with severe disabilities. IEEE
Transactions on Neural Systems and Rehabilitation Engineering, v. 10, n. 1, p.
1�10, 2002.
BHAT, K.; PTHARISHI, M. S.; KHOSLA, P. Motion detection and segmentation
using image mosaics. In: Proceedings of International Conference on Multimedia
and Expo. [S.l.: s.n.], 2000. v. 1, p. 1577�80.
BOUHOURS, A. Segmentação do Ventrículo Esquerdo em Ecocardiogramas Usando
Contornos Ativos (snake). Dissertação (Mestrado) � Universidade Federal do
Ceará, Ceará, Fortaleza, Sep 2006.
CAMPO, C.; NAVARRETE, C.; RUBIO, C. G. Performance evaluation of J2ME
and Symbian applications in smart camera phones. In: International Conference
on Consumer Electronics. Las Vegas, NV: IEEE Society Press, 2007. p. 1�2.
CARIBE, P. R. N. L. Introdução à Computação. São Paulo: FTD, 1996.
CARO, A.; RODRÍGUEZ, P. G.; CERNADAS, E.; DURÁN, M. L.; ANTEQUERA,
T. Potential Fields as an External Force and Algoritmic Imporvements in
Deformable Models. [S.l.]: Electronic Letters on Computer Vision and Image
Analysis, 2003. (25-36).
CHANG, F.; CHEN, C.-J.; LU, C.-J. A linear time component labeling algorith
using contour tracing technique. Comput. Vis. Image Underst, v. 93, n. 2, p.
206�220, 2004.
CHANG, M.; TEKLAP, A.; SEZAN, M. Simultaneous motion estimation and
segmentation. IEEE Transactions on Image Processing, v. 6, n. 9, p. 1326�33, 1997.
Referências Bibliográ�cas 84
CHEN, Q.; SUN, Q.; HENG, P.; XIA, D. Parametric active contours for object
tracking based on matching degree image of object contour points. Pattern
Recognition Letters, v. 29, p. 126�141, 2006.
CHEUNG, S.-C. S.; KAMATH, C. Robust techniques for background subtraction
in urban tra�c video. In: PANCHANATHAN, S.; VASUDEV, B. (Ed.). [S.l.]:
SPIE, 2004. v. 5308, n. 1, p. 881�892.
CHO, Y. C.; JEON, J. W. Current software platforms on mobile phone. In:
International Conference on Control, Automation and Systems. Seoul: [s.n.], 2007.
p. 1862�1867.
COHEN, L. D. On active contour models and balloons. CVGIV: Image
Understanding, v. 53, p. 211�218, March 1991.
COLLINS, R.; LIPTON, A.; KANADE, T.; FUJIVOSHI, H.; DUGGINS, D.;
TSIN, Y.; TOLLIVER, D.; ENOMOTO, N.; HASEGAWA, O. A system for video
surveilance and monitoring. Pittsburgh, May 2000.
COSTA, L. H. L. Desenvolvimento de um sistema semi-automático para
determinação de durezas Brinell e Vickers utilizando técnicas de processamento
e análise de imagem. Dissertação (Mestrado) � Centro Federal de Educação
Tecnológica do Ceará, 2008.
COSTA, R. C. S.; CORTEZ, P. C.; SOARES, J. M.; SILVA, S. R.; NETO, C. F. L.
Patente pi0605825-6. 2006.
CSURKA, G.; BOUTHEMY, P. Direct identi�cation of moving objects and
background from 2d motion models. In: Proceedings of IEEE International
Conference on Computer Vision. [S.l.: s.n.], 1999. v. 1, p. 566�71.
CUCCHIARA, R.; GRANA, C.; PICCARDI, M.; PRATI, A. Detecting moving
objects, ghost, and shadows in video streams. Pattern Anal, v. 25, n. 10, p.
1337�1342, March 2003.
CUCCHIARA, R.; PRATI, A.; VEZZANI, R. Real-time motion segmentation from
moving cameras. Real Time Image, Feb 2004.
CUTLER, R.; DAVIS, L. Robust real-time periodic motion detection. IEEE
Transactions on Pattern Analysis and Machine Intelligence, p. 781�96, 2000.
Referências Bibliográ�cas 85
DENMAN, S.; CHANDRAN, V.; SRIDHARAN, S. An adaptive optical �ow
technique for person tracking systems. Pattern Recogn. Lett., Elsevier Science Inc.,
New York, NY, USA, v. 28, n. 10, p. 1232�1239, 2007. ISSN 0167-8655.
DEPARNIS, K. A review of vision-based hand gesture. York University, February
2004.
DIGIA, I. (Ed.). Programming for the Series 60 Platform and Symbian OS
(Symbian Press). [S.l.]: John Wiley Sons, 2002. ISBN 0470849487.
DRAB, S. A.; ARTNER, N. M. Motion detection as interaction techinique for
games & aplications on mobile devices. In: Proc. of PERVASIVE 2005. Munich,
Germany: Springer, 2005. (Lecture Notes in Computer Science, v. 3468).
DUFAUX, F.; MOSCHEN, F.; LIPPMAN, A. Spatio-temporal segmentation
based on motion and static segmentation. In: Proceedings of IEEE International
Conference on Image Processing. [S.l.: s.n.], 1995. v. 1, p. 306�9.
ELGAMMAL, A. M.; HARWOOD, D.; DAVIS, L. S. Non-parametric model for
background subtraction. In ECCV'00: Proceedings of the 6th European Conference
on Computer Vision-Part II, London, p. 751�767, 2000.
EREN, A. Y.; TEKALP, P. A. Region-based a�ne motion segmentation using color
information. In: Proceedings of International Conference on Acoustic,Speech,and
Signal Processing. [S.l.: s.n.], 1997. v. 4, p. 3005�8.
FABLET, R.; BOUTHEMY, P.; GELGON, M. Moving object detection in
color image sequences using region-level graph labeling. In: Proceedings of IEEE
International Conference on Image Processing. [S.l.: s.n.], 1999. (2), p. 939�43.
FEMLAB. FEMLAB. 2000b. Reference Manual. 2nd. ed. [S.l.], 2000.
FIGUEROA, P. J. Técnicas de Rastreamento e Aplicações em Análise Cinématica
de Movimentos Humanos. Tese (PhD Thesis) � Universidade estatudal de
Campinas, Campinas, São Paulo, Fev 2004.
FIGUEROA, P. J.; LEITE, N. J.; BARROS, R. M. L. Background recovering in
outdoor image sequences: An example of soccer players segmentation. Image and
Vision Computing, 2006.
Referências Bibliográ�cas 86
FILHO, P. P. R. MAC CRISP: novo método de segmentação de pulmões em
imagens de TC. Dissertação (Dissertação) � Universidade Federal do Ceará, Feb
2010.
FOLEY, J. D.; A., V. dam; FEINER, S. K.; HUGHES, J. F. Computer graphics:
principles and practice. [S.l.]: MA: Addison-Wesley, 1990.
GARCÍA, B. L. Segmentation of sport video sequences. Dissertação (Mestrado) �
Technishe Universitat Wien, Viena, Oct 2005.
GELGON, M.; BOUTHEMY, P. A region-level motion-based graph representation
and labeling for tracking a spatial image partition. Pattern Recognition, p. 725�40,
2000.
GONZALEZ, R. E.; WOODS, R. E. Digital Image Processing. 3rd. ed. New York:
Prentice Hall, 2008.
GRINIAS, I.; TZIRITAS, G. Motion segmentation and tracking using a seeded
region growing method. In: Proceedings of European Signal Processing Conference.
[S.l.: s.n.], 1998.
HANNUKSELA, J.; SANGI, P.; JANNEHHEIKKILA. Vision-based motion
estimation for interaction with mobile devices. Computer Vision and Image
Understanding, v. 108, p. 188�195, 2007.
HARITAOGLU, I.; HARWOOD, D.; DAVIS, L. S. W4: Real-time surveillance of
people and their activities. IEEE Transactions on Pattern Analysis and Machine
Intelligence, v. 22, p. 809�830, 2000.
HARO, A.; MORI, K.; CAPIN, T.; WILKINSON, S. Mobile camera-based user
interaction.
HENNEBERT, C.; REBUFFEL, V.; BOUTHEMY, P. A hierarchical approach
for scene segmentation based on 2d motion. In: Proceedings of International
Conference on Pattern Recognition. [S.l.: s.n.], 1996. v. 1, p. 218�22.
HIGASHIMO, W. A. Estudo Comparativo de Algoritmos de Subtração de Fundo
em Sequência de Imagens. Dissertação (Mestrado) � Universidade Estadual de
Campinas, Campinas, São Paulo, Mar 2006.
Referências Bibliográ�cas 87
Evan Hildreth. Optical Flow Based Tilt Sensor. 2006. US 0177103, 06 jan. 2006, 10
aug. 2006.
HORN, B. K.; SCHUNCK, B. G. Determining optical �ow. AI Memo 572.
Massachusetts Institue of Technology, 1980.
HORN, B. K.; SCHUNCK, B. G. Determining optical �ow. Arti�cial Intelligence,
v. 17, p. 185�203, 1981.
HUSSY, J. H. Optical �ow in image sequence coding. Physica Scripta, T38, p.
113�116, 1991.
INTEL. Open Source Computer Vision Library. Estados Unidos, dez. 2000.
ITAI, Y.; KIM, H.; ISHIKAWA, S. A segmentation method of lung areas by using
snakes and automatic detection of abnormal shadow on the areas. International
Journal of Innovative Computing Information and Control, v. 3, n. 2, p. 277�284,
abril 2007.
JACQUES, J. J. C. S.; JUNG, C. R. Background subtraction and shadow detection
in grayscale video sequences. 2005.
JERRY, D. G.; BOVIK, A. (Ed.). Handbook of Image and Video Processing.
Orlando, FL, USA: Academic Press, Inc., 2000. ISBN 0121197905.
JESUS, A. D.; NASCIMENTO, R. G. Sistemas Operacionais em Telefones
Celulares. Dissertação (Mestrado) � Centro Federal de Educação Tecnológica de
Mato Grosso do Sul, 2006.
JOHNSTON, E.; ROSENFELD, A. Angle detection on digital curves. IEEE Trans.
Comp. C, v. 22, n. 7, p. 875�878, 1973.
KALAGASIDIS, A. S.; WEITZMANN, P.; NIELSEN, T. R.; PEUHKURI, R.;
HAGENTOFT, C.-E.; RODE, C. The international building physics toolbox in
simulink. Energy and Buildings, v. 39, p. 665�674, 2007.
KAM, J. A real-time 3D motion tracking system. [S.l.], April 1993.
KASS, M.; WITKIN, A.; TERZOPOULOS., D. Snakes:active contours models.
International Journal of Computer Vision, v. 1, 1987.
Referências Bibliográ�cas 88
KATIA, A.; AIRTON, L.; JULIANA, B. Qual será o seu próximo celular? por
que o google, a apple e a palm têm cada vez mais chances de disputar essa
resposta. In: ABRIL (Ed.). Revista Info Exame. [s.n.], 2009. Disponível em:
<http://info.abril.com.br/blog/info/20090205 listar.shtml?145965>.
KEITH, J. Video Demysti�ed: A Handbook for the Digital Engineer, 5th Edition.
Newton, MA, USA: Newnes, 2007. ISBN 0750683953, 9780750683951.
KIM, Y.-H.; MARTÍNEZ, A. M.; KAK, A. C. A local approach for robust optical
�ow estimation under vary illumination. In: Brittish Machine Vision Conference
2004. [S.l.: s.n.], 2004.
KüHNE, G.; RICHTER, S.; BEIER, M. Motion-based segmentation and
contour-based classi�cation of video objects. In: MULTIMEDIA '01: Proceedings
of the ninth ACM international conference on Multimedia. New York, NY, USA:
ACM, 2001. p. 41�50. ISBN 1-58113-394-4.
KUMAR, P.; SENGUPTA, K. Foreground background segmentation using
temporal and spatial markov processes. In: SINGAPORE, N. U. of (Ed.). [S.l.],
2000.
LAGANIÈRE, R. Morphological corner detection. In: Proceedings of the Sixth
International Conference on Computer Vision. [S.l.: s.n.], 2006. p. 208.
LEE, K.; RYU, S.; LEE, S.; PARK, K. Motion based object tracking with mobile
camera. Electronics Letters, 1998.
LI, S. Z. Markov Random Field, Modeling in Computer Vision. 2nd. ed. [S.l.]:
Springler, 2000.
LIN, Y.; CHEN; KUNG, S. Object-based scene segmentation combining motion
and image cues. In: Proceedings of IEEE International Conference on Image
Processing. [S.l.: s.n.], 1996. v. 1, p. 956�60.
LOHIER, F.; LACASSAGN, L.; GARDA, P. Generic programming methods for
the real time implementation of a mrf based motion detection algorithm on a
multi-processor dsp with multi-dimensional dma. In: Proceedings of Symposium
GRETSI on Signal and Image Processing. [S.l.: s.n.], 1999.
Referências Bibliográ�cas 89
LOPES, E. C. Detecção de Faces e Características Faciais. Dissertação (Mestrado)
� Pontifícia Universidade Católica do Rio Grande do Sul, 2003.
MACIEL, F. R.; BARROS, A. C. S.; FREITAS, R. F.; COSTA, R. C. S.; CORTEZ,
P. C.; SOARES, J. M.; ESPINOSA, M. G. L. Estudo comparativo de formas de
representação da mão humana para o reconhecimento de gestos baseado em redes
neurais arti�ciais, momentos de hu e atributos de forma. Seminário de Computação
SEMINCO 2009, Dez 2009.
MACKIEWICH, B. Intracranial Boundary Detection and Radio Frequency
Correction in Magnetic Resonance Images. Dissertação (Mestrado) � School of
Computing Science, 1995.
MATLAB/SIMULINK, M. 2009. Disponível em: <http://www.mathworks.com>.
Acesso em: 04 de fevereiro de 2009.
MCINERNEY, T.; TERZOPOULOS, D. Deformable models. Medical Images
Analysis: A Survey, n. 91-108, 1996.
MCKENNA, S. J.; JABRI, S.; DURIC, Z.; ROSENFEL, A.; WECHSLER, H.
Tracking groups of people. Computer Vision and Image Understanding, v. 80, n. 1,
p. 42�56, 2000.
MEGRET, R.; SARACENO, C.; KROPATSCH, W. Background mosaic from
egomotion. In: Proceedings of International Conference on Pattern Recognition.
[S.l.: s.n.], 2000. v. 1, p. 571�4.
MONTSE, P.; ELISA, S. Motion estimation based tracking of active contours.
Pattern Recognition Letters, v. 22, p. 1447�1456, 2001.
MORSE, P. M.; FESHBACH, H. Methods of Theoretical Physics. New York:
McGraw-Hill Book Company, 1953.
MOSCHENI, F.; BHATTACHARJEE, S. Robust region merging for spatiotemporal
segmentation. In: Proceedings of IEEE International Conference on Image
Processing. [S.l.: s.n.], 1996. v. 1, p. 501�4.
NINOMIYA, Y.; MATSUDA, S.; OHTA, M.; HARATA, Y. A real-time vision for
intelligent vehicles. In: Proceedings of IEEE Intelligent Vehicle Symposium. [S.l.:
s.n.], 1996. p. 315�20.
Referências Bibliográ�cas 90
NIXON, M. S.; AGUADO, A. S. Feature Extraction and Image Processing. 1. ed.
Woburn, MA: Newnes, 2002. ISBN 0750650788.
ODOBEZ, J.; BOUTHEMY, P. Detection of multiple moving objects using
multiscale mrf with camera motion compensation. In: Proceedings of IEEE
International Conference on Image Processing. [S.l.: s.n.], 1994. v. 2, p. 257�61.
Mathematical models in computer vision: The handbook. In: PARAGIOS, N.;
CHEN, Y.; FAUGERAS, O. (Ed.). Munich, Germany: Springler, 2005. cap. 15 -
Optical Flow Estimation, p. 1�24.
PARAGIOS, N.; DERICHE, R. Detection of moving objects: A level set approach.
International Symposium on Intelligent Robotic Systems, p. 265�274, 1997.
PARAGIOS, N.; PEREZ, P.; TZIRITAS, G.; LABIT, C.; BOUTHEMY, P.
Adaptive detection of moving objects using multiscale techniques. In: Proceedings
of IEEE International Conference on Image Processing. [S.l.: s.n.], 1996. v. 1.
PICHUMANI, R. Construction of A Three-Dimensional Geometric Model for
Segmentation and Visualization of Cervical Spine Images. Tese (Doutorado) �
Medical Informatics of Stanford University, 1997.
POULARIKAS, A. D. (Ed.). Probability and Stochastic Processes - The Handbook
of Formulas and Tables for Signal Processing. [S.l.]: CRC PRESS, 1999.
REIS, I. M. S.; TAVARES, J. M. R. S. Interface para processamento de imagens
em c++ utilizando visual studio .net 2005. Porto, Out. 2005.
SAWHNEY, H.; AYER, S. Compact representations of videos through dominant
and multiple motion estimation. IEEE Transactions on Pattern Analysis and
Machine Intelligence, p. 814�30, 1996.
SILVA, J. S. S. da. Segmentação Pulmonar em Estudos de Tomogra�a Axial
Computorizada. Dissertação (Mestrado) � Universidade de Aveiro, 2005.
SILVA, O. S. J. Método de Reconhecimento pessoal através da íris usando funções
geoestatísticas. Dissertação (Mestrado) � Universidade Federal do Maranhão, 2006.
SMITH, P.; DRUMMON, T.; CIPOLLA, R. Segmentation of multiple motions
by edge tracking between two frames. In: Proceeding of British Machine Vision
Conference. [S.l.: s.n.], 2000. p. 342�51.
Referências Bibliográ�cas 91
SMITH, S.; BRADY, J. Asset-2: real-time motion segmentation and shape
tracking. IEEE Transactions on Pattern Analysis and Machine Intelligence, p.
814�20, 1995.
SOARES, A. B.; FIGUEIRÓ, T.; SUSIN, A. Caracterização do desempenho de
métodos de detecção de movimento aplicado a localização de pessoas através de
visão computacional. Congresso Brasileiro de Automática, 2004.
SONKA, M.; HLAVAC, V.; BOYLE, R. Image Processing, Analysis, and Machine
Vision. [S.l.]: Chapamn and Hall Computing, 2008.
TABB, K.; DAVEY, N.; ADAMS, R. Analysis of human motion using snakes and
neural networks. In: Proc. IWAMDO, Palma de Mallorca, Balaeric Islands. [S.l.:
s.n.], 2000. p. 48�57.
TAYLOR, C. J.; MCKENNA, P. G.; YOUNG, P. c.; CHOTAI, A.; MACKINNON,
M. Macroscopic tra�c �ow modelling and ramp metering control using
matlab/simulink. Environmental Modelling & Software, v. 19, p. 975�988, 2004.
TECHMER, A. Contour-b ased motion estimation and object tracking for
real-time applications. In: Proceedings of IEEE International Conference on Image
Processing. [S.l.: s.n.], 2001. v. 3, p. 648�51.
TERZOUPOULOS, D.; PLATT, J.; BARR, A.; FLEISCHER, K. Elastically
deformable models. Computer Graphics, v. 21, n. 4, p. 205�214, 1987.
TIAN, T.; TOMASI, C.; HEEGER, D. Comparison of approaches to egomotion
computation. In: Proceedings of IEEE International Conference on Computer
Vision and Pattern Recognition. [S.l.: s.n.], 1996. p. 315�20.
TRUYENQUE, M. A. Q. Uma Aplicação de Visão Computacional que Utiliza
Gestos da Mão para Interagir com o Computador. Dissertação (Mestrado) �
Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, 2005.
TWEED, D.; CALWAY, A. Motion segmentation based on integrated region
layering and motion assignment. In: Proceedings of Asian Conference on Computer
Vision. [S.l.: s.n.], 2000. p. 1002�7.
WANG, J.; ADELSON, E. Representing moving images with layers. IEEE
Transactions on Image Processing, p. 625�38, 1994.
Referências Bibliográ�cas 92
WANG, J.; ZHAI, S.; CANNY, J. Camera phone based motion sensing: Interaction,
techiniques, applications and performance study. In: Proceedings of the 19th
annual ACM symposium on User interface software and technology. Montreux,
Switzerland: [s.n.], 2006. p. 101�110.
WANG, L.; HU, W.; TAN, T. Recent developments in human motion analysis.
Pattern Recognition, v. 36, p. 585 � 601, 2003.
WARD, C.-C. Y. J. D. Population balance modeling in simulink pcss. Computers
and Chemical Engineering, 2007.
WILLIAMS, D.; SHAM, M. A fast algorithm for active contours and curvature.
Image Understanding, 1992.
WILLIAMS, D. J.; SHAH, M. Cvgip: Image understanding. International Journal
of Computer Vision, v. 55, p. 14�26, Jan 1992.
XU, C.; PRINCE, J. Snakes, Shapes and Gradient Vector Flow. 105 Barton Hall,
Baltimore, MD 21218, April 1997.
YAN, R.; ZHANG, J.; YANG, J.; HAUPTMANN, A. G. A discriminative
learning framework with pairwise constraints for video object classi�cation. IEEE
Transactions on Pattern Analysis and Machine Intelligence, IEEE Computer
Society, Los Alamitos, CA, USA, v. 28, p. 578�593, 2006. ISSN 0162-8828.
YULAN, L.; SILONG, P. A new motion detection algorithm based on snake and
mean shift. p. 140�144, 2008.
Livros Grátis( http://www.livrosgratis.com.br )
Milhares de Livros para Download: Baixar livros de AdministraçãoBaixar livros de AgronomiaBaixar livros de ArquiteturaBaixar livros de ArtesBaixar livros de AstronomiaBaixar livros de Biologia GeralBaixar livros de Ciência da ComputaçãoBaixar livros de Ciência da InformaçãoBaixar livros de Ciência PolíticaBaixar livros de Ciências da SaúdeBaixar livros de ComunicaçãoBaixar livros do Conselho Nacional de Educação - CNEBaixar livros de Defesa civilBaixar livros de DireitoBaixar livros de Direitos humanosBaixar livros de EconomiaBaixar livros de Economia DomésticaBaixar livros de EducaçãoBaixar livros de Educação - TrânsitoBaixar livros de Educação FísicaBaixar livros de Engenharia AeroespacialBaixar livros de FarmáciaBaixar livros de FilosofiaBaixar livros de FísicaBaixar livros de GeociênciasBaixar livros de GeografiaBaixar livros de HistóriaBaixar livros de Línguas
Baixar livros de LiteraturaBaixar livros de Literatura de CordelBaixar livros de Literatura InfantilBaixar livros de MatemáticaBaixar livros de MedicinaBaixar livros de Medicina VeterináriaBaixar livros de Meio AmbienteBaixar livros de MeteorologiaBaixar Monografias e TCCBaixar livros MultidisciplinarBaixar livros de MúsicaBaixar livros de PsicologiaBaixar livros de QuímicaBaixar livros de Saúde ColetivaBaixar livros de Serviço SocialBaixar livros de SociologiaBaixar livros de TeologiaBaixar livros de TrabalhoBaixar livros de Turismo
Top Related