Post on 11-Nov-2018
AVALIAÇÃO DE MÉTODOS DE DETECÇÃO E
RASTREAMENTO DE PESSOAS EM VÍDEO NO
AMBIENTE DO REATOR NUCLEAR ARGONAUTA
Fabio Waintraub
Projeto de Graduação apresentado ao Curso de
Engenharia Eletrônica e de Computação da Escola
Politécnica, Universidade Federal do Rio de
Janeiro, como parte dos requisitos necessários à
obtenção do título de Engenheiro.
Orientador: Eduardo Antônio Barros da Silva
Carlos Alexandre Fructuoso Jorge
(Externo)
Rio de Janeiro
Agosto de 2015
iii
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Escola Politécnica – Departamento de Eletrônica e de Computação
Centro de Tecnologia, bloco H, sala H-217, Cidade Universitária.
Rio de Janeiro – RJ CEP 21949-900
Este exemplar é de propriedade da Universidade Federal do Rio de Janeiro, que
poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar
qualquer forma de arquivamento.
É permitida a menção, reprodução parcial ou integral e a transmissão entre
bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja
ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem
finalidade comercial e que seja feita a referência bibliográfica completa.
Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es).
iv
DEDICATÓRIA
Dedico este trabalho ao povo brasileiro que contribuiu de forma significativa à
minha formação e estada nesta Universidade. Este projeto é uma pequena forma de
retribuir o investimento e confiança em mim depositados.
v
AGRADECIMENTO
Aos meus orientadores, familiares, amigos e todas as outras pessoas envolvidas de
alguma forma nesse projeto. Deixo aqui registrado meus mais sinceros agradecimentos, sem
vocês nada disso seria possível.
vi
RESUMO
Este trabalho descreve o desenvolvimento de um sistema de monitoramento em
vídeo para propósitos de segurança em plantas nucleares. O objetivo final é rastrear
pessoas em vídeo, para monitoração da dose de radiação recebida por trabalhadores
durante seu trabalho em ambientes nucleares, online. Com base nas posições rastreadas
das pessoas, e em uma base de dados de medidas de taxas de dose de radiação dentro do
reator do reator de pesquisa Argonauta, será possível estimar a dose recebida por cada
pessoa na cena. Nesse projeto, serão avaliados alguns métodos da literatura para
detecção e rastreamento de pessoas em vídeos gravados no reator Argonauta. Para
detecção, serão avaliados: subtração entre quadros e Mistura de Gaussianas; o
rastreamento será baseado em cores (Camshift). Esses três métodos foram analisados
também de forma combinada. Os resultados estão comentados, juntamente com nossa
perspectiva de trabalhos futuros.
Palavras-Chave: nuclear, subtração de fundo, Misturas de Gaussianas, rastreamento
baseado em cores.
vii
ABSTRACT
This work describes the development of a video surveillance system for safety
purposes in nuclear plants. The final objective is to track people in videos, in order to
estimate the dose received by personnel, during the execution of working tasks in
nuclear plants, online. The estimation will be based on their tracked positions and on
dose rate mapping in a real nuclear plant at Instituto de Engenharia Nuclear, Argonauta
nuclear research reactor. Cameras have been installed within Argonauta’s room,
supplying the data needed. This paper reports people segmentation and tracking in
video. For tracking we use background subtraction with two different approaches: frame
differences, and Gaussian mixture modeling analysis. And, for tracking a method based
on color distribution (Camshift). These three methods were also combined for detecting
and tracking people in video. Results are commented, along with perspectives for
further work.
Key-words: nuclear, color distribution tracking, background subtraction,
Gaussian mixture modeling.
viii
SIGLAS
UFRJ – Universidade Federal do Rio de Janeiro
IEN – Instituto de Engenharia Nuclear
CNEN – Comissão Nacional de Energia Nuclear
OpenCV – Open Computer Vision Library
MOG – Misturas de Gaussianas
ROI – Região de interesse
Camshift – Método adaptativo para rastreamento de objetos com base no histograma de
cores de uma região de interesse
Mean-Shift – Método para rastreamento de objetos com base no histograma de cores de
uma região de interesse
Absdiff – Método de Subtração direta de quadros
ALARA – Tão baixo quanto razoavelmente alcançável (As low As Reasonably
Achievable)
ix
Sumário
1 Introdução 1
1.1 - Tema... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 - Delimitação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 - Justificativa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 - Objetivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 - Metodologia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Revisão Teórica 4
2.1 - Princípio Alara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 4
2.2 - Reator Argonauta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 - Métodos para segmentação. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 – Absdif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 – MOG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 - Método de Rastreamento: Camshift ou Mean-Shift. . . . . . . . . . .
2.5 - Combinação MOG/Absdiff com MeanShift/Camshift. . . . . . . .
2.6 - Binarização. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.1 – Binarização simples. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.2 – Binarização adaptativa. . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.3 – Binarização Otsu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7 - Morfologia Matemática. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8 - Análise de componentes conexos. . . . . . . . . . . . . . . . . . . . . . . .
2.9 - Bouding Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6
7
8
9
10
10
11
12
12
14
14
x
3 Experimentos
3.1 - Ground Truth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .
3.2 - Métodos para segmentação. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 – Absdiff. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 – Absdiff com Binarização. . . . . . . . . . . . . . . . . . . . ..
3.2.3 – Absdiff com binarização e morfologia. . . . . . . . . . .
3.2.4 – Absdiff com binarização, morfologia, componentes
conexos e Bounding Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.5 – Resultados do Absdiff versão final. . . . . . . . . . . . . .
3.2.6 – MOG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.7 – MOG com binarização. . . . . . . . . . . . . . . . . . . . . . .
3.2.8 – MOG com binarização e morfologia. . . . . . . . . . . . .
3.2.9 – MOG com binarização, morfologia, componentes
conexos e Bounding Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.10 – Resultados do MOG versão final. . . . . . . . . . . . . . .
3.3 - Método de rastreamento Camshift/Mean-Shift. . . . . . . .
3.2.1 – Combinação entre MOG ou Absdiff com o Camshift. .
3.2.2 – Resultados da combinação do Absdiff ou MOG com o
Camshift. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
16
16
16
17
19
21
22
23
26
28
30
31
31
33
35
4 Conclusões
37
Bibliografia 40
xi
Lista de Figuras
2.2 – Reator Argonauta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.6.1a – Figura antes da binarização. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6.1b – Figura apos a binarização. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6.2 – Figura binarização adaptativa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7.2 – Figura binarização Otsu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1 – Figura acertos do comparador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.1 – Figura comparativa Absdiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.2 – Figura comparativa Absdiff com binarização. . . . . . . . . . . . . . . . . . . . . . 18
3.2.3a – Figura comparativa Absdiff com abertura. . . . . . . . . . . . . . . . . . . . . . . 20
3.2.3b – Figura comparativa Absdiff com fechamento . . . . . . . . . . . . . . . . . . . . 20
3.2.3c– Figura comparativa Absdiff com morfologias. . . . . . . . . . . . . . . . . . . . 21
3.2.4 – Figura comparativa Absdiff com bounding box. . . . . . . . . . . . . . . . . . . 22
3.2.6 – Figura MOG default. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.6b – Figura MOG com diferentes taxas de aprendizado. . . . . . . . . . . . . . . . 25
3.2.7 – Figura comparativa MOG com binarização. . . . . . . . . . . . . . . . . . . . . . . 28
3.2.8a – Figura comparativa MOG com abertura. . . . . . . . . . . . . . . . . . . . . . . 28
3.2.8b – Figura comparativa MOG com fechamento. . . . . . . . . . . . . . . . . . . . . 29
3.2.8c – Figura comparativa MOG com morfologias. . . . . . . . . . . . . . . . . . . . . 30
3.2.9 – Figura comparativa MOG com bounding box. . . . . . . . . . . . . . . . . . . . . 31
3.3a – Figura comparativa Camshit/Mean-shift. . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3b – Figura comparativa Camshift. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3c – Figura comparativa Camshift, erro de redução do alvo. . . . . . . . . . . . . 33
3.3.1 – Figura comparativa MOG ou Absdiff com Camshift. . . . . . . . . . . . . 35
xii
Lista de Tabelas
3.2.5 – comparativo Absdiff. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.10 – comparativo MOG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2a – comparativo MOG/Camshift. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2b – comparativo Absdiff /Camshift. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2c - comparativa geral dos métodos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
31
36
36
37
xiii
Lista de Equações
2.3.2a – Formulação da Mistura de Gaussianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.2b – Adaptação da média de cada Gaussiana. . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3.2c – Adaptação da variância de cada Gaussiana . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3.2d – Peso dado pela pertinência da nova amostra na Gaussiana anterior. . . . . . 8 2.3.2e – Normalização dos pesos de cada Gaussiana. . . . . . . . . . . . . . . . . . . . . . . . 8
1
Capítulo 1
Introdução
1.1 – Tema
Este trabalho constitui parte do desenvolvimento de um sistema para
rastreamento de pessoas (corpo inteiro) em vídeo, para fins de monitoração de dose de
radiação recebida por trabalhadores dentro do reator Argonauta. Com base nas posições
rastreadas das pessoas, e em uma base de dados, já disponível, de medidas de taxas de
dose de radiação dentro do reator, será possível estimar a dose recebida por cada pessoa.
Para tal, alguns métodos da literatura são avaliados individualmente e combinados, de
forma a realizar a detecção e o rastreamento.
1.2 – Delimitação
O objeto de estudo consiste na implementação e combinação de alguns métodos
disponíveis para detecção ou rastreamento de pessoas em vídeo/imagens. Os métodos
usados são frequentemente citados na literatura para tais fins, e estão disponíveis em um
pacote de software para visão computacional e processamento de imagens. Os testes
consistiram, primeiramente, em uma avaliação dos métodos separadamente, e depois
combinados de forma a resultar em um sistema mais robusto, capaz de recuperar os
alvos no caso de perda do rastreamento. São usados arquivos de vídeos gravados no
local (na planta onde, futuramente, o sistema será instalado).
A base de dados de radiação será usada, posteriormente, para a implementação
definitiva do sistema. Neste caso, será necessário estimar a posição das pessoas em
relação ao plano horizontal do chão.
Entretanto, no presente projeto, o que se pretende é avaliar o quanto os métodos
são capazes de detectar e/ou rastrear corretamente as pessoas dentro do reator
Argonauta, e implementar combinações entre métodos que visem atingir este objetivo.
2
1.3 – Justificativa
Desde a descoberta dos elementos radioativos, e da conseguinte morte de vários
de seus grandes estudiosos, tais como madame Curie, padrões de segurança foram
sendo desenvolvidos, de forma a minimizar os possíveis danos da radiação à saúde dos
trabalhadores da área.
Atualmente, a verificação da dose recebida pelos trabalhadores durante os
experimentos no reator Argonauta é feita através do uso de sensores TLD, de aferição
mensal, e canetas dosimétricas, de aferição diária.
O sistema a ser desenvolvido deverá ser usado não de forma a substituir outros
métodos já disponíveis para a proteção radiológica das pessoas, mas de forma
redundante, complementar. Será, portanto, um sistema que não dependerá da
cooperação dos trabalhadores, pois poderá estimar a dose de radiação por eles recebida,
mesmo que não estejam portando monitores de radiação no momento, ou no caso da
falha de algum deles.
O objetivo é aumentar a segurança de pessoas em ambientes sujeitos à radiação,
reduzindo os possíveis danos à saúde do trabalhador que uma exposição acima do
tolerável acarretaria.
1.4 – Objetivos
O objetivo do presente trabalho é contribuir para o desenvolvimento de um
sistema de rastreamento de pessoas em vídeo [1], [2]. Para tanto, foi dada ênfase à
implementação de métodos com baixo custo computacional, de modo que a pessoa que
coordena as atividades possa fazer uso das estimativas de dose recebida, a fim de
orientar ou substituir algum trabalhador que esteja recebendo mais dose em dado
momento.
1.5 – Metodologia
Primeiramente, utilizamos o algoritmo do método de remoção de fundo,
Misturas de Gaussianas (MOG), [3], implementado na biblioteca OpenCV [4], que
inclui discriminação de sombras. Como resultado dessa etapa, o algoritmo nos fornecerá
o foreground, primeiro plano da imagem.
3
Após, aplicamos uma binarização e morfologia matemática. As operações
erosão e dilatação são combinadas para abrir e fechar uma imagem morfologicamente.
A operação de abrir reduz ruídos provenientes da binarização, enquanto a operação de
fechar é responsável por unir partes separadas do foreground.
A partir deste último resultado, é possível traçar um bounding box, retângulo do
menor tamanho que contenha a forma do componente conexo, na imagem original para
indicar a segmentação e sua posição atual.
Foi usado também um método para rastreamento de objetos com base no
histograma de cores de uma região de interesse (ROI), o Camshift [5], também
implementado no OpenCV.
Outro método testado para remoção de fundo foi a Subtração de quadros
(Absdiff), [1]. Como resultado dessa etapa, o algoritmo fornecerá o foreground.
Novamente, foram aplicadas uma binarização, morfologia matemática e, em seguida,
traçamos um bounding box na imagem original para indicar a segmentação e sua
posição atual.
Os métodos MOG ou Absdiff, e Camshift foram combinados da seguinte forma:
o método MOG ou Absdiff fornece a ROI (bounding box) para inicializar o método
Camshift. Caso o Camshift perca o rastreamento, o MOG ou Absdiff é acionado
novamente, a fim de reiniciá-lo. Essa reinicialização também foi testada com
periodicidades diferentes, independente de perda do rastreamento, a fim de detectar
novas pessoas entrando em cena.
4
Capítulo 2
Revisão Teórica
2.1 – Princípio ALARA
“O princípio básico da proteção radiológica ocupacional estabelece que todas as
exposições devem ser mantidas tão baixas quanto razoavelmente atingíveis (ALARA),
[6], [7]1.
Estudos epidemiológicos e radiológicos em baixas doses mostraram que não
existe um limiar de dose para os efeitos estocásticos. Logo, qualquer exposição de um
tecido envolve um risco carcinogênico, dependendo da radio sensibilidade desse tecido
por unidade de dose equivalente (coeficiente de risco somático). Além disso, qualquer
exposição das gônadas pode levar a um detrimento genético nos descendentes do
indivíduo exposto.
O princípio ALARA estabelece, portanto, a necessidade do aumento do nível de
proteção a um ponto tal que aperfeiçoamentos posteriores produziriam reduções menos
significantes do que os esforços necessários. A aplicação desse princípio requer a
otimização da proteção radiológica em todas as situações onde possam ser controladas
por medidas de proteção, particularmente na seleção, planejamento de equipamentos,
operações e sistemas. Os esforços envolvidos na proteção e o dano da radiação podem
ser considerados em termos de custos; desta forma uma otimização em termos
quantitativos pode ser realizada com base numa análise custo-benefício.” [7].
Os Fatores envolvidos são:
“1. Tempo: Deve haver rigorosamente limitação de tempo de exposição, a fim
de que o indivíduo não receba doses acima dos limites de tolerância estabelecidos.
2. Distância: A distância, é medida entre o trabalhador e a fonte de radiação. Isto
significa que o trabalhador pode realizar suas tarefas com risco mínimo de ser atingido
pelas radiações, porque se encontra numa distância segura. Esta medida é eficaz e muito
simples de ser aplicada.
1 Esse resumo foi extraído da referencia [6] para o melhor entendimento.
5
3. Blindagens: Corresponde à utilização de barreiras feitas de materiais que
sejam capazes de absorver radiações ionizantes. Essas barreiras devem ser feitas e
orientadas por especialistas para que não se corra nenhum risco. É comum o uso de
barreira de chumbo ou concreto cuja espessura é dimensionada em função do tipo de
radiação.” [7].
2.2 – Reator Argonauta
“O Argonauta foi o primeiro reator nuclear de pesquisa construído no país por
empresa nacional. Desde 1965 o Argonauta vem sendo utilizado em pesquisas
envolvendo nêutrons e gamas nas áreas da física de reatores e nuclear. Cerca de 70
alunos de instituições e universidades brasileiras obtiveram seus títulos de mestre ou
doutor utilizando este reator no desenvolvimento de suas pesquisas. Atualmente, entre
as principais linhas de pesquisas, podemos citar ensaios não destrutivos com nêutrons
térmicos nas áreas de biologia, indústria, meio ambiente e segurança pública nacional.
Também são produzidos radioisótopos (Mn-56, La-140, Se-75 e Br-82) para serem
utilizados como traçadores em pesquisas nas áreas do meio ambiente e industrial.
Colaborando com universidades e instituições, disciplinas e aulas diversas são
ministradas em suas dependências, completando a formação de alunos, da graduação ao
doutorado.” [8].
Está localizado no Instituto de Engenharia Nuclear, Cidade Universitária, Ilha
do Fundão, Rio de Janeiro. Possui uma potência: Máxima de 5kW e 500W em operação
contínua, [8].
As características do Ambiente são baixa variação de background (imagem) e
luminosidade.
Considerando uma operação típica para ensaios não destrutivos de materiais, o
trabalhador tem que colocar a amostra do material no canal de saída de radiação do
reator e remove-la após o término do processo. Esse canal de saída de radiação está
indicado na figura 2.2, sendo a área com maior taxa de dose na sala do Argonauta. Os
mapas das taxas de dose desse reator estão disponíveis em [9].
6
Figura 2.2 – Reator Argonauta. Fonte: “People Detection in Nuclear Plants by Video Processing for Safety Purpose” [1].
2.3 – Métodos para Segmentação
A segmentação de imagens é o processo de particionar uma imagem digital em
múltiplas regiões (conjunto de pixels) e é tipicamente usada para separar objetos e
outras formas relevantes em imagens [1], [2], [10].
2.3.1 – Absdiff
A subtração de quadros pode ser implementada de formas distintas. Primeiro, a
diferença pode ser calculada entre quadros subsequentes, ou então entre o quadro atual e
um quadro de referência. Neste projeto, foi implementada a segunda forma.
Para tal diferenciação, precisamos garantir que o quadro de referencia só
contenha background, de forma que o resultado utilizando um quadro atual com pessoa
seja o foreground segmentado. Logo, o algoritmo implementado calcula a diferença
absoluta entre o quadro atual e o de referência predefinido [1].
Canal de
saída “J9”
7
2.3.2 – MOG
O método de modelamento e subtração de fundo, MOG, é um modelo
paramétrico multimodal pixel por pixel, no qual o histórico de cada pixel é modelado
como uma soma de Gaussianas, para acomodar as distribuições multimodais que podem
ocorrer com backgrounds não estáticos. A mistura é mostrada na equação 2.3.2a.
K
k
tktkttkt NP
1
,,, ,| Σμxx
Equação 2.3.2a – Formulação da Mistura de Gaussianas
onde:
As distribuições são multivariadas para imagens com cor e univariadas
para figuras em escala de cinza;
N(.) significa uma Gaussiana multivariada;
k: Índice de Gaussianas na mistura;
K: número de Gaussianas utilizadas (geralmente entre 3 e 5);
t: tempo atual;
: peso da k-ésima Gaussiana, no instante t, correspondente à sua
persistência relativa;
x vetor aleatório contendo os valores dos canais de cor, no instante t;
μk,t: média da k-ésima Gaussiana, no instante t;
∑k,t: matriz de covariância da k-ésima Gaussiana, no instante t;
d: dimensão da distribuição multivariavel, d=3 (3 canais de cor).
No método original, MOG, os autores simplificaram a matriz de covariância
para uma matriz diagonal com variâncias iguais em todas as dimensões. Assim, a
principal ideia por trás desse método pode ser simplificada para o caso univariado. O
termo persistência acima se refere à frequência relativa com que os valores recebidos
dos pixels de um novo quadro se adequam a uma Gaussiana da mistura. Isso ajuda a
caracterizar pixels correspondentes ao backgroud ou o foreground:
(i) pixels correspondentes ao background exibem alta persistência e baixa
variância , por causa das pequenas variações nos valores dos pixels e número elevado
de observações;
8
(ii) pixels correspondentes ao foreground exibem baixa persistência e alta
variância , por causa das altas variações nos valores dos pixels e menos observações.
Logo, a razão é usada para determinar se um pixel pertence ao background
ou foreground:
(i) Razões elevadas significam que o pixel pertence ao background;
(ii) Razões baixas significam que o pixel pertence ao foreground.
O modelo é adaptativo na medida em que, quando um pixel novo se enquadra
com uma das Gaussianas existentes, seus parâmetros são adaptados de acordo com:
11 1 tk,tk,t Xμμ
Equação 2.3.2b – Adaptação da média de cada Gaussiana
211
22
1 1 k,ttk,tk,t X
Equação 2.3.2c – Adaptação da variância de cada Gaussiana
Onde:
tktktN
,,1 ,|μx
Equação 2.3.2d – Peso dado pela pertinência da nova amostra na Gaussiana
anterior
Onde é o coeficiente de aprendizado; e:
1,1 1 tkk,tk,t M
Equação 2.3.2e – Normalização dos pesos de cada Gaussiana
Onde:
M=1 para a Gaussiana ganhadora; e
M=0 para todas as outras
Logo, Gaussianas correspondentes ao background tendem a ir para o topo do
ranking , enquanto aquelas que representam mal o background e podem
corresponder ao foreground tendem a ir para o final desse ranking. Um limiar
heuristicamente determinado é usado para tomada de decisão. Uma consequência da
adaptação é que foregrounds inicialmente detectados podem ser considerados
background após permanecerem estáticos por algum tempo durante a cena.
9
Discriminação de sombras pode ser realizada baseada no fato de que a
informação de cor do background é igual fora e dentro da sombra, variando somente a
intensidade, sendo diferente do foreground, [3].
2.4 – Método de Rastreamento: Camshift ou Mean-Shift
O Mean-Shift e o Camshift, [5], são métodos que dependem do fato que, para
processamento de imagens, a moda de distribuição está localizada aproximadamente no
centro de um objeto de interesse (a ser rastreado).
O método Mean-Shift usa otimização do tipo gradiente ascendente para procurar
pela nova localização da moda de distribuição, dada numa ROI prévia. Como a posição
dos objetos em movimento não varia muito quadro a quadro, tal método de otimização
se justifica, resultando em uma baixa complexidade computacional.
Tais métodos extraem, em geral, a distribuição de cores de um objeto a ser
rastreado, e fazem isso usando a representação no sistema HSV, sendo que a informação
das cores permanece concentrada no componente H (Hue), separado de outras
informações como saturação e brilho. Logo, só é obtido um histograma de cor
univariado.
A partir da ROI, os métodos estimam a distribuição de cores de acordo com esse
histograma, procurando por sua moda. A cada novo quadro, os métodos estimam, a
partir da ROI anterior, a nova ROI, através de uma procura pela nova posição da moda
através da otimização. O Camshift é mais adequado para o processamento de vídeo, já
que acomoda variações na distribuição, como na área da ROI – isso é um melhoramento
em relação ao Mean-Shift, além de acomodar escalamento [5].
2.5 – Combinação MOG ou Absdiff com Mean-Shift ou Camshift
Vale a pena frisar dois pontos interessantes em relação ao modelamento de
background e métodos de rastreamento:
(i) modelamento de background e subtração como MOG ou Absdiff resultam na
detecção e segmentação de foregrounds que correspondem às pessoas em movimento,
mas não tem nenhum detalhe sobre quem é quem dentro do foreground, pelo contrário,
se um número de pessoas for detectado e segmentado, o foreground será composto por
todos eles;
10
(ii) métodos de rastreamento de objetos/pessoas como o Camshift ou Mean-
Shift podem ser utilizados para rastrear pessoas individuais, mas precisam ser
inicializados no primeiro quadro para determinação da ROI, a partir da qual as regiões
equivalentes nos próximos quadros são rastreadas. Essa inicialização do Camshift ou
Mean-Shift pode, em princípio, ser feita de forma interativa, mas isso não seria ideal
para o projeto em questão.
Logo, se torna claro que ambos os métodos – segmentação e subtração de
background, e rastreamento baseado em cores – podem ser combinados de forma que o
foreground inicial detectado pelo primeiro é usado na inicialização do segundo. Essa
abordagem foi seguida nesse projeto: quando alguém entra no campo de visão da
câmera, um foreground é encontrado pelo MOG ou Absdiff, uma ROI inicial é definida;
em seguida, o Camshift ou Mean-Shift é empregado para rastrear as regiões
equivalentes quadro a quadro. Quando o Camshift ou o Mean-Shift perde o
rastreamento – que é inferido quando há uma variação abrupta na posição ou área da
ROI – o método MOG ou Absdiff é chamado novamente para corrigir o erro e obter a
nova ROI a ser utilizada pelo Camshift ou Mean-Shift, [2].
2.6 – Binarização
Este é o método mais simples de segmentação, no qual um limiar de intensidade
é utilizado para separar a imagem em duas regiões.
2.6.1- Binarização Simples
Essa binarização separa regiões de uma imagem correspondentes aos objetos
desejados, no caso em questão pessoas, com base na variação de intensidade entre os
pixels do objeto e do background. Para diferenciar os pixels que nos interessam dos
restantes, realizamos uma comparação da intensidade de cada pixel em relação a um
limiar, determinado de forma empírica. Uma vez que os pixels importantes foram
separados, podemos também determinar um novo valor de intensidade para eles, no
caso preto para o background e branco para o foreground.
Para exemplificar, na figura 2.6.1a vemos em vermelho a variação de
intensidade de um pixel exemplo e a linha azul indica o limiar escolhido.
11
Figura 2.6.1a – Figura antes da binarização Fonte:http://docs.OpenCV.org/doc/tutorials/imgproc/threshold/threshold.html.
Na figura 2.6.1b temos o resultado da binarização simples relativo à imagem da
figura 2.6.1a. Pixels com intensidade acima do limiar tiveram seus valores
maximizados, enquanto os com valores inferiores foram zerados, [4].
Figura 2.6.1b –. Figura apos a binarização Fonte: http://docs.opencv.org/doc/tutorials/imgproc/threshold/threshold.html.
2.6.2 – Binarização Adaptativa
No caso anterior, foi usado um limiar absoluto, mas isso pode não ser adequado
a todos os pixels da imagem, principalmente se houver áreas com diferentes condições
de iluminação. Nesse caso, pode ser usado um limiar adaptativo, onde o algoritmo
calcula um limiar para essas pequenas regiões da imagem, de forma que tenhamos
limiares diferentes para áreas diferentes da mesma imagem, o que pode nos dar
melhores resultados para imagens com iluminação não uniforme.
Esse cálculo pode ser feito de duas formas:
(i) o valor do limiar é obtido através da média de uma vizinhança;
(ii) o valor do limiar é obtido através da soma ponderada dos valores de
vizinhança onde os pesos são uma janela Gaussiana [4].
A Figura 2.6.2 mostra o comparativo das duas formas de binarização adaptativa
com a binarização simples em uma imagem com diferentes níveis de iluminação.
12
Figura 2.6.2 –. Figura binarização adaptativa Fonte:
http://docs.opencv.org/trunk/doc/py_tutorials/py_imgproc/py_thresholding/py_thresholding.html .
2.6.3 – Binarização Otsu
No método de binarização simples, foi usado um valor arbitrário como limiar
global. Porém, só podemos ter certeza que esse valor é adequado ou não através de
téntativa e erro. Mas se considerarmos uma imagem bimodal (de forma simplificada,
corresponde a uma imagem cujo histograma tem dois picos), nós podemos utilizar o
valor médio desses picos, de forma aproximada, como limiar.
Binarização Otsu nada mais é do que uma forma automatizada de calcular o
valor do limiar a partir do histograma da imagem, desde que a imagem seja bimodal.
Como estamos trabalhando com imagens bimodais, o algoritmo Otsu tenta
encontrar o valor limiar (t) que se encontra entre dois picos, de forma que a variância
das duas classes sejam mínimas [4].
A Figura 2.6.3 mostra o comparativo da binarização otsu com a binarização
simples em uma imagem bimodal.
13
Figura 2.6.3 –. Figura binarização otsu Fonte: http://docs.opencv.org/trunk/doc/py_tutorials/py_imgproc/py_thresholding/py_thresholding.html
2.7 – Morfologia Matemática
Filtros morfológicos definem uma série de operações que transformam uma
imagem usando um elemento estruturante predeterminado. O modo como esse elemento
intercepta a vizinhança de pixels determina o resultado da operação.
O instrumento fundamental da morfologia matemática é o elemento estruturante.
Um elemento estruturante é definido como uma configuração de pixels, uma forma, na
qual sua origem é definida (também chamada de ponto âncora). Quando a origem do
elemento estruturante está alinhada com um dado pixel, sua interseção com a imagem
define um grupo de pixels no qual uma operação morfológica é aplicada. O elemento
estruturante pode ser de qualquer forma, mas, tipicamente, utilizam-se formas simples,
como quadrado, círculo ou cruz com a origem no centro.
As operações morfológicas as fundamentais são:
(i) erosão: substitui o pixel atual pelo valor mínimo definido;
(ii) dilatação: operador complementar a erosão, substitui o pixel atual pelo valor
máximo definido.
Como estamos usando uma imagem binarizada, cada pixel é substituído pelas
cores preto ou branco.
Uma forma de visualizar o efeito dessas operações é considerar o background
como preto e foreground como branco. Com a erosão, se o elemento estruturante,
14
quando posto numa posição de pixel determinada tocar o background (isso é, um dos
pixels no conjunto interseção é preto), então esse pixel é movido para o background.
Enquanto no caso da dilatação, se o elemento estruturante, quando posto numa posição
de pixel determinada, tocar o foreground (isso é, um dos pixels no conjunto interseção é
branco), então esse pixel é movido para o foreground. Isso explica porque na imagem
erodida, o tamanho dos objetos foi reduzido. Observe também como os objetos menores
(que podem ser considerados como ruído de background) foram eliminados.
Similarmente, os objetos dilatados agora estão maiores e os alguns orifícios dentro deles
foram preenchidos.
Podemos definir os filtros morfológicos abertura e fechamento em relação às
operações básicas de erosão e dilatação:
(i) fechamento: definido como a erosão de uma imagem dilatada;
(ii) abertura: definido como a dilatação de uma imagem erodida.
Como resultado do filtro de fechamento, os pequenos orifícios pretos no
foreground serão preenchidos. O filtro também conecta vários objetos adjacentes.
Basicamente qualquer orifício ou falha pequena demais para conter completamente o
elemento de estrutura serão eliminados pelo filtro.
Reciprocamente, o filtro de abertura eliminará os objetos pequenos na cena,
todos aqueles pequenos demais para conter o elemento estruturante.
O fechamento reconecta partes do objeto erroneamente fragmentadas em partes
menores, enquanto a abertura remove as pequenas interferências ruidosas da imagem.
Logo, é vantajoso aplicá-los em sequência. Se nossa imagem binarizada for fechada e
depois aberta, obteremos uma imagem mostrando somente os objetos principais da
cena. Podemos também aplicar a abertura antes do fechamento de forma a priorizar a
filtragem de ruídos, porém isso pode vir ao custo da eliminação de alguns objetos
fragmentados.
2.8 – Análise de Componentes Conexos
Nas aplicações de detecção/reconhecimento de objetos, o primeiro passo é
produzir uma imagem binária, mostrando onde certos objetos de interesse estão
localizados. O próximo passo é a extração desses objetos, mais especificamente os
componentes conectados, ou seja, formas compostas por um grupo de pixels conectados
em uma imagem binária.
15
Os contornos são extraídos por um simples algoritmo que consiste no
escaneamento sistemático da imagem até um componente ser atingido. A partir desse
ponto inicial do componente, seu contorno é seguido, marcando os seus pixels de borda.
Quando o contorno é completado, o escaneamento continua a partir da última posição,
até encontrar um novo componente.
Os componentes identificados podem ser analisados individualmente. No caso
em estudo só é de interesse encontrar pessoas, logo, objetos menores ou maiores que
eles podem ser desconsiderados e, para tal, podemos usar o perímetro ou área do
contorno como limiar de comparação.
2.9 – Bouding Box
O bouding box de um componente é a forma mais compacta de representar e
localizar um componente numa imagem. Ele é definido como o retângulo do menor
tamanho que contenha a forma do componente conexo. Comparando altura e largura da
caixa, podemos ter uma indicação sobre a orientação vertical e horizontal do objeto (por
exemplo, para distinguir entre a imagem de uma pessoa e de um equipamento).
16
Capítulo 3
Experimentos
3.1 – Ground Truth
Primeiramente foram feitas algumas gravações dentro do reator Argonauta (3
trechos contendo operação padrão e 1 contendo uma operação de limpeza), e em
seguida foi feita a detecção manual (ground truth), quadro a quadro, da posição dos
bounding boxes contendo as pessoas presentes nesses vídeos.
A partir desses dados, poderemos analisar e comparar melhor os resultados de
cada método. Definimos como um acerto se o bounding box encontrado pelo método
possuir uma intercessão mínima de 80 % com o ground truth. A Figura 3.1 mostra
alguns casos de acerto dos métodos em relação ao ground truth.
Figura 3.1 – Figura acertos do comparador
3.2 – Métodos para Segmentação
3.2.1 – Absdiff
Começaremos a testar o algoritmo de segmentação Absdiff que como foi citado
na seção teórica, realiza a subtração entre dois quadros (quadro original e quadro de
referência) e nos fornece o resultado. Vale frisar que estamos usando um quadro vazio,
sem pessoas, como quadro de referência.
A Figura 3.2.1 mostra o resultado da aplicação do Absdiff utilizando um quadro
vazio como referência a uma imagem do reator Argonauta.
17
Figura 3.2.1 – Figura comparativa Absdiff, coluna: 1- Quadro original; 2- quadro
referencia; 3- foreground obtido pelo Absdiff.
3.2.2 – Absdiff com Binarização
Até esse momento, tínhamos como resultado somente a imagem segmentada.
Nessa seção, aplicaremos um pós-processamento nesse resultado, utilizando três formas
distintas de binarização para analisar qual produz a melhor atenuação de ruído. Como
podemos ver na Figura 3.2.2, tanto a binarização adaptativa quanto a Otsu demonstram
ser piores que ao binarização simples, uma vez que estas aumentaram o ruído detectado
na segmentação.
18
Figura 3.2.2 – Figura comparativa Absdiff com binarizaçao, linhas: 1- quadros
originais; 2- foreground obtido pelo Absdiff; 3- foreground obtido pelo Absdiff com
binarização simples; 4- foreground obtido pelo Absdiff com binarização adaptativa; 5-
foreground obtido pelo Absdiff com binarização Otsu.
19
3.2.3 – Absdiff com binarização e morfologia
Agora, continuaremos o pós-processamento da imagem binarizada (usaremos
somente a binarização simples daqui em diante), aplicando operações morfológicas.
Abertura
Como podemos ver na Figura 3.2.3a, a imagem binarizada pelo Absdiff não
possui muitos ruídos, logo, o filtro de abertura acabou eliminando/deformando algumas
partes dos objetos na cena.
Figura 3.2.3a –. Figura comparativa Absdiff com abertura, coluna: 1- foreground obtido
pelo Absdiff com binarização simples; 2- foreground obtido pelo Absdiff com
binarização simples e erosão; 3- foreground obtido pelo Absdiff com binarização
simples, erosão e dilatação.
Fechamento
Examinando o resultado do filtro de fechamento, Figura 3.2.3b, pode-se ver que
os pequenos Orifícios negros no foreground foram preenchidos. O filtro também
conecta vários objetos adjacentes.
Figura 3.2.3b –. Figura comparativa Absdiff com fechamento, coluna: 1- foreground
obtido pelo Absdiff com binarização simples; 2- foreground obtido pelo Absdiff com
binarização simples e dilatação; 3- foreground obtido pelo Absdiff com binarização
simples, dilatação e erosão.
20
Comparação abertura/fechamento e fechamento/abertura
Como vimos anteriormente, o fechamento reconecta partes do objeto
erroneamente fragmentadas em partes menores, enquanto a abertura remove as
pequenas interferências ruidosas da imagem. Logo, é vantajoso usá-los em sequência.
Se a imagem binarizada for fechada e depois aberta, obteremos uma imagem mostrando
somente os objetos principais da cena, como mostrado na Figura 3.2.3c. Podemos
também aplicar a abertura antes do fechamento, de forma a priorizar a filtragem de
ruídos.
Como podemos ver na figura 3.2.3c, a sequência fechamento/abertura foi capaz
de reconectar consideravelmente bem o foreground de forma que obtivemos
praticamente somente a pessoa. Já a sequencia abertura/fechamento foi capaz de
reconectar o foreground, mas acabou distorcendo a forma do objeto. Logo, de agora em
diante usaremos somente a sequencia fechamento/abertura.
Figura 3.2.3c – Figura comparativa Absdiff com morfologias, coluna: 1- foreground
obtido pelo Absdiff com binarização simples; 2- foreground obtido pelo Absdiff com
binarização simples, abertura e fechamento; 3- foreground obtido pelo Absdiff com
binarização simples, fechamento e abertura.
3.2.4 – Absdiff com binarização, morfologia, componentes conexos e
Bounding Box
Agora que temos a imagem segmentada e filtrada pela binarização simples e
morfologia (fechamento/abertura), só nos resta identificar o objeto na imagem usando a
analise de componentes conexos e traçar seu respectivo bounding box. Lembrando que,
para nossa aplicação foi definido um valor mínimo e máximo relativos à área dos alvos
(pessoas) de tal forma que só serão traçados aqueles contornos que respeitem esses
tamanhos. Como podemos ver na figura 3.2.4, essa filtragem mostrou-se eficaz para
nossa aplicação.
21
Figura 3.2.4 – Figura comparativa Absdiff com bounding box, coluna: 1- foreground
obtido pelo Absdiff com binarização simples, fechamento e abertura; 2- foreground
obtido pelo Absdiff com binarização simples, fechamento, abertura, analise de todos
componentes conexos e bounding box; 3- foreground obtido pelo Absdiff com
binarização simples, fechamento, abertura, analise de componentes conexos e bounding
box dentro do padrão pré-estabelecido
3.2.5- Resultados do Absdiff versão final
Agora que temos a imagem segmentada, filtrada pela binarização simples,
morfologia (abertura/fechamento) e com seu respectivo bounding box traçado, faremos
um teste comparativo entre o resultado desse método e o groundtruth previamente
definido.
Como podem ver na tabela 3.2.5, a algoritmo teve 84,42% de acerto médio em
relação ao groundtruth, onde, os erros se devem aos casos em que existe uma variação
no background (abre/fecha da saída J-9). O tempo de execução total desse método
utilizando os quatro trechos foi de 554,68 segundos.
Absdiff N. Objetos Certos Errados % (Acertos) Tempo(s)
Trecho1 748 610 138 81,55 148,21
Trecho2 117 94 23 80,34 40,19
Trecho3 481 406 75 84,40 152,85
Trecho4 631 559 72 88,58 213,43
1977 1669 308 84,42 554,68
Tabela 3.2.5 – comparativo Absdiff, coluna: 1- vídeo testado; 2- número de
objetos/pessoas encontrados pelo algoritmo; 3- número de objetos/pessoas encontrados
pelo algoritmo que estão de acordo com o ground truth; 4- número de objetos/pessoas
encontrados pelo algoritmo que não estão de acordo com o ground truth; 5-
Porcentagem de acerto do método segundo o ground truth; 6- tempo de execução do
método.
22
3.2.6 – MOG
O método de modelamento e subtração de fundo, MOG, como descreveram
anteriormente na seção teórica, é um modelo paramétrico multimodal pixel por pixel, no
qual o histórico de cada pixel é modelado como uma soma de gaussianas, para
acomodar as distribuições multimodais que podem ocorrer com backgrounds variantes.
Nesse primeiro momento, foi testado o algoritmo de segmentação MOG nas condições
default.
A Figura 3.2.6a mostra o resultado da aplicação do MOG a um quadro gravado
no reator Argonauta.
Figura 3.2.6a – Figura MOG default, coluna: 1- original; 2- resultado MOG.
Discriminação de sombras
O MOG possui um parâmetro que determina se o algoritmo fará ou não a
segmentação com discriminação de sombras, ou seja, vai guardar as sombras junto com
o foreground ou em outra Gaussiana, como demonstrado na Figura 3.2.6b. Por default
essa opção está ativada.
Figura 3.2.6 – Figura MOG, coluna: 1- original; 2- com discriminação de sombras; 3-
sem discriminação de sombras, superior direita;
23
Taxa de aprendizado
Como podemos ver na Figura 3.2.6b, esse parâmetro do MOG determina a
velocidade com que os pixels parados se tornam parte do background. Precisamos
analisar quanto seria o melhor valor para o nosso caso de forma heurística: grande o
suficiente de forma a não perder o rastreamento caso a pessoa pare e pequeno o
suficiente para não detectar variações no ambiente (saída J9 aberta/fechada).
24
Figura 3.2.6b – Figura MOG com diferente taxa 0.1 (coluna do centro) e 0.01 (coluna
da direita)
25
3.2.7 – MOG com binarização
Até esse momento, tínhamos como resultado somente a imagem segmentada
pelo MOG. Nessa seção, aplicaremos um pós-processamento nesse resultado utilizando
três formas distintas de binarização para analisar qual produz a melhor atenuação de
ruído, assim como no caso do Absdiff.
Como podemos ver nas imagens da Figura 3.2.7, assim como no caso anterior,
tanto a binarização adaptativa quanto a Otsu demonstram ser piores que ao binarização
simples. Já que eles aumentaram o ruído detectado na segmentação, além de terem
revertido o algoritmo de separação de sombras do MOG.
26
Figura 3.2.7 –. Figura comparativa MOG com binarização, linhas: 1- quadros originais;
2- foreground obtido pelo MOG; 3- foreground obtido pelo MOG com binarização
adaptativa; 4- foreground obtido pelo MOG com binarização Otsu; 5- foreground
obtido pelo MOG com binarização simples;
27
3.2.8 – MOG com binarização e morfologia
Continuaremos o pós-processamento da imagem binarizada (usaremos somente
a binarização simples daqui em diante), aplicando algumas morfologias matemáticas
para analisar qual produz a melhor atenuação de ruído.
Abertura
Como podemos ver na Figura 3.2.8a, o filtro de abertura eliminou alguns dos
objetos pequenos na cena. Todos aqueles pequenos demais para conter o elemento
estruturante, ruído, foram removidos.
Figura 3.2.8a – Figura comparativa MOG com abertura, coluna: 1- foreground obtido
pelo MOG com binarização simples; 2- foreground obtido pelo MOG com binarização
simples e erosão; 3- foreground obtido pelo MOG com binarização simples, erosão e
dilatação.
Fechamento
Examinando o resultado do filtro de fechamento (Figura 3.2.8b), pode-se ver
que os pequenos buracos no foreground, tanto objeto quanto ruído, foram preenchidos.
O filtro também conecta vários objetos adjacentes. Basicamente qualquer orifício ou
falha pequena demais para conter completamente o elemento de estruturante serão
eliminados pelo filtro. O fechamento reconecta partes do objeto erroneamente
fragmentadas em partes menores.
28
Figura 3.2.8b – Figura comparativa MOG com fechamento, coluna: 1- foreground
obtido pelo MOG com binarização simples; 2- foreground obtido pelo MOG com
binarização simples e dilatação; 3- foreground obtido pelo MOG com binarização
simples, dilatação e erosão.
Comparação abertura/fechamento e fechamento/abertura
Como vimos anteriormente, no caso do absdifff, é vantajoso usar as operações
de fechamento e abertura em sequência. Se nossa imagem binarizada for fechada e
depois aberta, obteremos uma imagem contendo somente os objetos principais da cena,
como mostrado na Figura 3.2.8c. Podemos também aplicar a abertura antes do
fechamento de forma a priorizar a filtragem de ruídos.
Como podemos ver nas imagens 3.2.8c, a sequência abertura/fechamento foi
capaz de reduzir consideravelmente o ruído de forma que obtivemos praticamente
somente a pessoa. Já a sequencia fechamento/abertura acabou aumentando o ruído na
imagem, de forma que, de agora em diante, usaremos somente a sequência
abertura/fechamento.
Figura 3.2.8c – Figura comparativa MOG com morfologias, coluna: 1- foreground
obtido pelo MOG com binarização simples; 2- foreground obtido pelo MOG com
binarização simples, abertura e fechamento; 3- foreground obtido pelo MOG com
binarização simples, fechamento e abertura.
29
3.2.9 – MOG com binarização, morfologia, Componentes Conexos e
Bounding Box
Continuaremos o pós-processamento da imagem segmentada pelo MOG, com
binarização simples e morfologia (abertura/fechamento), só nos resta identificar o
objeto na imagem usando a analise de componentes conexos e traçar seu respectivo
bounding box. Lembrando que assim como no caso do Absdiff, foi definido um valor
mínimo e máximo relativos à área dos alvos (pessoas) de tal forma que só serão
traçados aqueles contornos que respeitarem esses tamanhos. Como podemos ver na
figura 3.2.9, essa filtragem mostrou-se eficaz para nossa aplicação.
Figura 3.2.9 – Figura comparativa MOG com bounding box, coluna: 1- foreground
obtido pelo MOG com binarização simples, abertura e fechamento; 2- foreground
obtido pelo MOG com binarização simples, abertura, fechamento, análise de todos
componentes; 3- foreground obtido pelo MOG com binarização simples, abertura,
fechamento, análise de componentes conexos e bounding box dentro do padrão pré-
estabelecido.
3.2.10 – Resultados do MOG versão final
Agora que temos a imagem segmentada, filtrada pela binarização simples,
morfologia (abertura/fechamento) e com seu respectivo bounding box traçado. Faremos
um teste comparativo entre o resultado desse método e o ground truth previamente
definido por nos.
Como podem ver na tabela 3.2.10, a algoritmo teve 96,58% de acerto médio em
relação ao ground truth, onde, os erros se devem aos casos em que o alvo a ser
segmentado na cena possui dimensões menores que o tamanho mínimo estabelecido
para o método (entrada e saída de pessoas do quadro). O tempo de execução total desse
método utilizando os quatro trechos foi de 341.94 segundos.
30
MOG N. Objetos Certos Errados % (Acertos) Tempo(s)
Trecho1 669 648 21 96,86 112,60
Trecho2 110 88 22 80,00 20,67
Trecho3 439 432 7 98,40 81,65
Trecho4 566 555 11 98,05 127,02
1784 1723 61 96,58 341,94
Tabela 3.2.10 – comparativo MOG, coluna: 1- vídeo testado; 2- número de
objetos/pessoas encontrados pelo algoritmo; 3- número de objetos/pessoas encontrados
pelo algoritmo que estão de acordo com o ground truth; 4- número de objetos/pessoas
encontrados pelo algoritmo que não estão de acordo com o ground truth; 5-
Porcentagem de acerto do método segundo o ground truth; 6- tempo de execução do
método.
3.3 – Método de rastreamento CamShift/Mean-Shift
Começaremos a testar os algoritmos de rastreamento Camshift e Mean-Shift,
buscam a nova localização da moda de distribuição, dada uma ROI prévia. A partir da
ROI, os métodos estimam a distribuição de cores de acordo com esse histograma,
procurando por sua moda. A cada novo quadro (frame), os métodos estimam, a partir da
ROI anterior, a nova ROI, através de uma procura pela nova posição da moda através da
otimização. Como vemos na Figura 3.3a, o Camshift é mais adequado para o
processamento de vídeo, já que acomoda variações na distribuição, como na área da
ROI além de acomodar escalamento. Logo, daqui em diante só trabalharemos com o
Camshift.
Figura 3.3a – Figura comparativa Camshit/Mean-shift, coluna: 1- Quadro de referencia
original; 2- quadro atual encontrado pelo Meanshift; 3- quadro atual encontrado pelo
Camshift.
Entretanto, como podemos ver na Figura 3.3b, o Camshift, para variações
abruptas do alvo acaba perdendo o rastreamento. O que nos leva a crer que essa ROI
referencial tenha que ser atualizada ao longo da execução do algoritmo. Dessa forma
reduziremos os erros. Além disso a re-inicialização permite detectar novas pessaos
entrando na cena. Logo, é preciso reinicializar o Camshift de tempos em tempos,
31
usando um dos métodos de segmentação de imagens, como faremos nos próximos
testes.
Figura 3.3b – Comparativo Camshift: falha (ou não) de rastreamento em diferentes
posições usando como referencial o quadro superior esquerdo.
Além disso, a análise do Camshift é baseada na distribuição de cores da ROI, na
qual muitas vezes está contido um pouco do fundo juntamente com a pessoa. Isso pode
provocar erros, como na Figura 3.3c, onde alvo e fundo são de cores semelhantes, temos
uma redução na área da pessoa rastreada. Para contornar esse problema, aplicamos uma
comparação entre a interseção da ROI anterior e da ROI encontrada (posições anterior e
atual do objeto), de forma que se esse resultado for menor que um percentual da área do
ROI anterior, o método assume falha e solicita uma nova ROI.
Figura 3.3c –. Figura comparativa Camshift, erro de redução do alvo.
32
3.3.1 – Combinação entre MOG ou Absdiff com o CamShift
Como vimos anteriormente, o Camshift ou Mean-Shift por si só não mostrou-se
capaz de identificar corretamente os alvos nos quadros, tendo como referencia uma ROI
com pessoa fixa. Porém, vale a pena lembrar que:
(i) modelamento de background e métodos de subtração como MOG ou Absdiff
resultam na detecção e segmentação de foregrounds que correspondem às pessoas em
movimento, mas não tem nenhum detalhe sobre quem é quem dentro do foreground,
pelo contrário, se um número de pessoas for detectado e segmentado, o foreground será
composto por todos eles;
(ii) métodos de rastreamento de objetos/pessoas, como o Camshift, podem ser
utilizados para rastrear pessoas individuais, mas precisam ser inicializados no primeiro
quadro para determinação da ROI, a partir da qual as regiões equivalentes nos próximos
quadros são rastreadas.
Logo, ambos os métodos – Absdiff ou MOG e Camshift – podem ser
combinados de forma que o foreground inicial detectado pelo primeiro seja usado na
inicialização do segundo. Essa abordagem será demonstrada na Figura 3.3.1: quando
alguém entra no campo de visão da câmera, um foreground é encontrado pelo MOG ou
Absdiff, uma ROI inicial é definida; em seguida, o Camshift é empregado para rastrear
as regiões equivalentes quadro a quadro. Quando Camshift perde o rastreamento – que é
inferido quando há uma variação abrupta na posição ou área da ROI – o MOG ou
Absdiff é chamado novamente para corrigir o erro e obter a nova ROI a ser utilizada
pelo Camshift.
33
Figura 3.3.1 –. Figura comparativa MOG ou Absdiff com Camshift, coluna: 1- quadros
originais; 2- resultado da combinação Absdiff e Camshift; 3- resultado da combinação
MOG e Camshift.
3.3.2- Resultados da combinação do Absdiff ou MOG com o Camshift
Agora que temos a imagem segmentada/rastreada, filtrada pela binarização
simples, morfologia (abertura/fechamento) e com seu respectivo bounding box traçado,
faremos um teste comparativo entre o resultado desses métodos e o ground truth
previamente definido por nós.
Como indica a Tabela 3.3.2a, a algoritmo MOG com Camshift teve 91,53% de
acerto médio em relação ao ground truth, onde, os erros se devem aos casos em que o
34
alvo a ser segmentado na cena possui dimensões menores que o tamanho mínimo
estabelecido para o método (entrada e saída de pessoas do quadro) e falhas do camshift.
O tempo de execução total desse método utilizando os quatro trechos foi de 311,03
segundos.
MOG/Camshift N. Objetos Certos Errados % (Acertos) Tempo(s)
Trecho1 669 650 19 97,15 110,04
Trecho2 110 88 22 80,00 19,60
Trecho3 439 401 38 91,34 82,82
Trecho4 566 494 72 87,27 98,57
1784 1633 151 91,53 311,03
Tabela 3.3.2a – comparativo MOG/Camshift, coluna: 1- vídeo testado; 2- número de
objetos/pessoas encontrados pelo algoritmo; 3- número de objetos/pessoas encontrados
pelo algoritmo que estão de acordo com o ground truth; 4- número de objetos/pessoas
encontrados pelo algoritmo que não estão de acordo com o ground truth; 5-
Porcentagem de acerto do método segundo o ground truth; 6- tempo de execução do
método.
Como indica a Tabela 3.3.2b, a algoritmo Absdiff com Camshift teve 82,3% de
acerto médio em relação ao ground truth, onde, os erros se devem aos casos em que
existe uma variação no background (abre/fecha da saída J-9) e falhas do camshift. O
tempo de execução total desse método utilizando os quatro trechos foi de
543,21segundos.
Absdiff/Camshift N. Objetos Certos Errados % (Acertos) Tempo(s)
Trecho1 750 622 128 82,93 182,86
Trecho2 117 94 23 80,34 44,78
Trecho3 503 388 115 77,13 136,95
Trecho4 631 543 88 86,05 178,62
2001 1647 358 82,3 543,21
Tabela 3.3.2b – comparativo Absdiff /Camshift, coluna: 1- vídeo testado; 2- número de
objetos/pessoas encontrados pelo algoritmo; 3- número de objetos/pessoas encontrados
pelo algoritmo que estão de acordo com o ground truth; 4- número de objetos/pessoas
encontrados pelo algoritmo que não estão de acordo com o ground truth; 5-
Porcentagem de acerto do método segundo o ground truth; 6- tempo de execução do
método.
Como indica a Tabela 3.3.2c, a algoritmo MOG teve a maior porcentagem de
acerto médio entre os métodos, seguido pelo MOG com Camshift, Absdiff e Absdiff
com Camshift. Em relação ao tempo de execução a ordem dos algoritmos foi MOG com
Camshift, MOG, Absdiff com Camshift e Absdiff.
35
Método N. Objetos Certos Errados % (Acertos) Tempo(s)
MOG 1784 1723 61 96.58 341.94
Absdiff 1977 1669 308 84.42 554.68
Absdiff/Camshift 2001 1647 358 82.3 543.21
MOG/Camshift 1784 1633 151 91.53 311.03
Tabela 3.3.2c - comparativa geral dos métodos, coluna: 1- vídeo testado; 2- número de
objetos/pessoas encontrados pelo algoritmo; 3- número de objetos/pessoas encontrados
pelo algoritmo que estão de acordo com o ground truth; 4- número de objetos/pessoas
encontrados pelo algoritmo que não estão de acordo com o ground truth; 5-
Porcentagem de acerto do método segundo o ground truth; 6- tempo de execução do
método.
36
Capítulo 4
Conclusões
Numa primeira análise visual, todos os métodos mostraram-se bem sucedidos na
segmentação/rastreamento no ambiente da planta nuclear.
Lembramos que, como demonstrado anteriormente:
(i) Absdiff: Não discrimina sombras, logo resulta em bounding boxes grandes, e
não tem taxa de aprendizado, logo detecta erradamente pequenas variações no ambiente
(saída J9 aberta/fechada);
(ii) MOG: Descrimina sombras, logo resulta em bounding boxes menores, e
como tem taxa de aprendizado, não detecta erradamente pequenas variações no
ambiente (porta reator aberta/fechada);
(iii) Camshift: Pode perder rastreamento para variações abruptas do alvo, o que
ocasiona o acionamento do método MOG ou Absdiff, e pode confundir cores (alvo e
fundo de cores semelhantes), o que pode ocasionar o acionamento do método
MOG/Absdiff.
Esses fatores justificam as diferenças entre a porcentagem de acerto dos métodos
quando comparados ao groud truth, e juntamente com a tabela comparativa dos
métodos (Tabela 3.3.2c) esses fatores, levando em conta somente a porcentagem de
acerto, nos levam a crer que o MOG seria o melhor método avaliado até agora.
Porém, se levarmos em conta o tempo de execução dos métodos, podemos
perceber que a combinação, MOG ou Absdiff com o Camshif ocasiona uma redução na
porcentagem de acerto do método (MOG - 5.05%; Absdiff – 2.12), porém reduz
também o seu tempo de execução (MOG - 9.03%; Absdiff – 2.06). O Camshift, além de
ser um método de rastreamento, possui menor custo computacional, e sua combinação
com um método de detecção como o MOG torna-se uma vantagem para a
implementação online do sistema. Além disso, a combinação proposta permite a re-
inicialização do Camshift, tornando o rastreamento mais robusto, e permitindo a
detecção de novas pessoas adentrando o salão do Argonauta.
37
Trabalhos futuros
Futuramente testaremos outros métodos de rastreamento citados na literatura
alternativamente ao Camshift a fim de avaliar melhor o desempenho computacional que
eles trazem aos métodos de segmentação.
Serão instaladas novas câmeras na sala do Argonauta, logo testaremos diferentes
configurações de uso das câmeras (simultâneas ou acionadas somente quando
necessário) juntamente com os métodos citados, a fim de desenvolver um sistema e
implementá-lo no salão do Argonauta.
38
Bibliografia
[1] Jorge, C.A.F., Seixas, J.M., Silva, E.A.B., et at., “People Detection in Nuclear Plants
by Video Processing for Safety Purpose”, 2011 Int. Nuclear Atlantic Conf., 2011.
[2] Jorge, C.A.F., Seixas, J.M., Silva, E.A.B., et at., “Improved People Detection in
Nuclear Plants by Video Processing for Safety Purpose”, 2013 Int. Nuclear Atlantic
Conf., 2013.
[3] Zivkovic, Z., “Improved Adaptive Gaussian Mixture Model for Background
Subtraction,” 17th Int. Conf. Pattern Recognition (ICPR), V. 2, pp. 28-31, 2004.
[4] Disponível em: http://opencv.org/.
[5] Comaniciu, D., Ramesh, V., Meer, P., “Kernel-based Object Tracking,” IEEE Trans.
Pattern Analysis and Machine Intell., V. 25 (5), pp. 564-577, 2003.
[6] Valentin, J., (Ed.). “Publication 103 - 2007 Recommendations of the International
Commission on Radiological Protection”, Annals of the ICRP, V. 37, n. 2-4, pp. 1-332,
2007.
[7] Disponível no site, http://protecaoradiologia.blogspot.com.br/, acessado em
ago/2015
[8] http://www.ien.gov.br/oinstituto/instalacoes/serea/argonauta/historico_01.htm,
acessado em ago/2015.
[9] A. C. A. Mól, C. M. N. A. Pereira, V. G. G. Freitas, C. A. F. Jorge, “Radiation Dose
Rate Map Interpolation in Nuclear Plants Using Neural Networks and Virtual Reality
Techniques”, Annals of Nuclear Energy, V. 38, pp.705-712 (2011).
[10] http://www.mathworks.com/discovery/image-segmentation.html, acessado em
ago/2015.