Buscar

FeMoraes17

Prévia do material em texto

SISTEMA DE DETECÇÃO DE PASSAGEIROS UTILIZANDO
TÉCNICAS DE TRATAMENTO DE IMAGEM
Felipe da Rocha Moraes
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 Enge-
nheiro.
Orientador: Miguel Elias Mitre Campista
Rio de Janeiro
Fevereiro de 2017
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á inclúı-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 bibli-
otecas 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
Aos meus pais.
Aos meus avós (in memoriam).
v
AGRADECIMENTO
Agradeço aos meus pais Laurindo e Lúcia por sempre me apoiarem em todas as
minhas decisões e por sempre me incentivarem a estudar. Agradeço ao meu irmão
Thiago por sempre me aturar desde os meus primeiros dias de vida. Aos meus
falecidos avós Gil e Lygia, que sempre estiveram juntos em vida e eu não poderia
separá-los aqui, por tudo de bom que me ensinaram durante suas vidas. Agradeço
à minha avó Jandyra, que já se foi, mas que sempre estará presente.
Também sou grato aos meus tios: Kalil, Leopoldo, Lúcio, Nauro, Reinaldo,
Aurélia, Lygia, Maria, Mercedes, Rosely, Suely e Telma, por sempre cuidarem de
mim como se eu fosse um filho. E aos meus falecidos tios Antonio, João, Juca e
José.
Agradeço aos meus irmãos, que as pessoas chamam de primos, por sempre
me apoiarem, em ordem alfabética: Bianca, Carlos Eduardo, Claudia, Gabriel, Gil,
Júlia, Kauan, Ĺıvia, Lucas, Luciana, Marcio, Maria, Maria Eduarda, Mirna, Murilo,
Nauro, Paulo Ricardo, Pedro, Pedro Miguel, Rafael, Reinaldo, Roseli e Tadeu.
Agradeço aos amigos e colegas da UFRJ, por tornarem esses anos mais
agradáveis, em especial a: Ana Tarrise, Bianca Bellas, Douglas Poubel, Erick Ri-
gon, Evelyn, Felipe Menezes, Fernanda Oliveira, Gabriel Alboretti, Heitor Bellas,
Henrique, Hugo Coqueijo, Lais Bernardo, Léa, Leonardo Souza, Lucas Camun, Lu-
cas Manoel, Lucas Neves, Mariana Massote, Pedro Brito, Pedro Dagola, Rafaela
Berberick, Vinicius Bellas, Vinicius Ferrão e Vitor Antunes.
Sou muito grato aos professores Luiz Wagner e Miguel Campista, por me
orientarem durante a graduação e por nunca desistirem de mim. Agradeço também
aos professores Carlos Teodósio, Wallace Martins, Carlos José, Ricardo Rhomberg,
Joarez, Mauros, Ari Sauer e Ginette, pelos ensinamentos e conselhos que sempre
me foram úteis. Agradeço aos técnicos Isáıas e Márcio, por sempre me ajudarem no
laboratório.
Agradeço aos colegas da Embratel, por me ensinarem muito durante o estágio:
Walderson Vidal, José Silva, Anderson, Adriano, Aldair Freire, Mauro Gomes, Mar-
celo Gomes, Pedro Ângelo, Genilson e Fábio Big.
vi
Agradeço aos funcionários do Burguesão, dentre os quais destaco a Carmen,
Ivanilda, Aurilene, Cleide, Rosa, Neide, Patricia, Jamile e Maria, por sempre me
tratarem com muito carinho.
Aos meus amigos de Sacra Famı́lia, que sempre estiveram comigo durante
toda a minha vida: Eduardo, Guilherme, Humberto, Leandro, Leonardo e Marcus
Pelosi.
Sei que a lista ficou grande, mas não poderia encerrar esse ciclo da minha
vida sem agradecer a cada um de vocês, por todo apoio recebido.
vii
RESUMO
A visão computacional vem sendo extensivamente aplicada nas mais diversas
áreas. A grande vantagem da sua utilização é que uma câmera pode ser usada como
uma rede de sensores, além é claro de filmar o ambiente. Exemplos de aplicação da
visão computacional já são encontradas no dia a dia, como nos sistemas de detecção
de colisão de véıculos e sistema de reconhecimento facial em câmeras e nas redes
sociais.
Este trabalho apresenta um estudo das principais técnicas utilizadas na visão
computacional e faz uma comparação entre elas, a fim de identificar qual a mais
adequada para detectar o fluxo de pessoas que passam por um ambiente. Por fim,
a visão computacional é aplicada em um sistema capaz de contar quantas pessoas
entram e saem de um véıculo de transporte público.
Os resultados mostraram que o sistema consegue contabilizar a entrada e
sáıda de pessoas, desde que não entrem abraçadas ou encostando uma na outra. O
sistema proposto funcionou e apresentou uma pequena taxa de erro.
Palavras-Chave: Raspberry Pi, OpenCV, Visão Computacional, Subtração de
Imagens, Mistura de Gaussianas, Histograma de Gradientes Orientados, Rastrea-
mento de Pessoas.
viii
ABSTRACT
Computer vision has been extensively applied in several different fields. Its
greatest advantage is that a camera can be used as a network of sensors, in addition
to filming the surroundings. Examples of application of computer vision are already
found in everyday life, in vehicle collision detection systems and face recognition
systems in cameras and social networks.
This work presents a study and compares the main techniques used in com-
puter vision, aiming to identify which is better to detect the flow of people passing
through the surroundings. Finally, computer vision is applied in a system that
counts how many people enter and leave a public transportation vehicle.
The results showed that the system can count the entrance and exit of people,
as long as they do not enter walk in arms or touching each other. The proposed
system worked and presented a small error rate.
Key-words: Raspberry Pi, OpenCV, Computer Vision, Image Subtraction, Mix-
ture of Gaussians, Histogram of Oriented Gradients, People Tracking.
ix
SIGLAS
UFRJ - Universidade Federal do Rio de Janeiro
HOG - Histograma de Gradientes Orientados
MOG - Mixture of Gaussians
CPU - Central Processing Unit
RAM - Random Access Memory
SSD - Solid State Drive
GB - Gigabyte
GPS - Global Positioning System
x
Sumário
1 Introdução 1
1.1 Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Técnicas de tratamento de imagem para detecção de objetos 5
2.1 Subtração de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Subtração de fundo . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Subtração de quadros consecutivos . . . . . . . . . . . . . . . 6
2.1.3 Subtração de fundo estimado pela média . . . . . . . . . . . . 7
2.1.4 Mistura de gaussianas . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Caracteŕısticas Haar . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Histograma de gradientes orientados . . . . . . . . . . . . . . . . . . 11
2.4 Segmentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.1 Limiarização . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.2 Suavização gaussiana . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.3 Detector de borda . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5 Morfologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 Avaliação das técnicas de detecção 203.1 Vı́deos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.1 Subtração de fundo . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.2 Subtração de quadros consecutivos . . . . . . . . . . . . . . . 23
xi
3.1.3 Subtração de fundo estimado pela média . . . . . . . . . . . . 25
3.1.4 Mistura de gaussianas . . . . . . . . . . . . . . . . . . . . . . 26
3.1.5 Haar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.6 Histograma de gradientes orientados . . . . . . . . . . . . . . 29
3.1.7 Comparação entre as técnicas . . . . . . . . . . . . . . . . . . 30
4 Solução proposta e resultados 32
4.1 Configurações testadas . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.1.1 Primeira configuração . . . . . . . . . . . . . . . . . . . . . . 33
4.1.2 Segunda configuração . . . . . . . . . . . . . . . . . . . . . . . 34
4.1.3 Terceira configuração . . . . . . . . . . . . . . . . . . . . . . . 34
4.2 Solução proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5 Conclusões e trabalhos futuros 45
Bibliografia 46
xii
Lista de Figuras
1.1 Fluxograma de funcionamento do algoritmo. . . . . . . . . . . . . . . . . 3
2.1 Etapa do processamento de imagem. . . . . . . . . . . . . . . . . . . . . 5
2.2 Fluxograma da técnica de subtração de fundo. . . . . . . . . . . . . . . . 6
2.3 Sub-região ABCD em uma matriz de pixel. . . . . . . . . . . . . . . . . 9
2.4 Exemplos de caracteŕısticas Haar. (Adaptado do site do OpenCV [1]). . . 10
2.5 Representação visual da cascata de classificadores. . . . . . . . . . . . . . 12
2.6 HOG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.7 Processo de limiarização. (Adaptado do site do OpenCV [1]). . . . . . 15
2.8 Comparativo dos métodos de limiarização. (Adaptado do site [2]). . . 15
2.9 Exemplo de utilização da suavização gaussiana. (Adaptado do site [3]). 16
2.10 Processo de supressão máxima. (Adaptado do site do OpenCV [1]). . 17
2.11 Limiar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.12 Exemplo de aplicação das técnicas de erosão e dilatação. . . . . . . . 18
2.13 Exemplo de aplicação das técnicas de abertura e fechamento. . . . . . 19
3.1 Etapa de identificação das pessoas. . . . . . . . . . . . . . . . . . . . . . 20
3.2 Imagens dos três v́ıdeos analisados. . . . . . . . . . . . . . . . . . . . 22
3.3 Subtração de fundo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 Subtração de quadros consecutivos. . . . . . . . . . . . . . . . . . . . 24
3.5 Subtração de fundo estimado pela média. . . . . . . . . . . . . . . . . 26
3.6 Subtração utilizando a técnica MOG. . . . . . . . . . . . . . . . . . . 27
3.7 Detecção usando a técnica Haar. . . . . . . . . . . . . . . . . . . . . . . 29
3.8 Detecção usando a técnica HOG. . . . . . . . . . . . . . . . . . . . . 30
3.9 Gráfico com a taxa de acerto de cada técnica nas três posições de captura. 31
4.1 Etapa de identificação, rastreamento e contabilização das pessoas. . . . . . 32
xiii
4.2 Imagem obtida com a câmera na visão lateral da estação do Maglev
Cobra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3 Imagem captada com visão superior em 45◦. . . . . . . . . . . . . . . 34
4.4 Imagem captada no interior do Maglev Cobra, com visão superior em
90◦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5 Teste dos algoritmos de subtração de imagens com um v́ıdeo filmado
dentro do Maglev Cobra com a câmera posicionada em 90◦. . . . . . . 36
4.6 Porta por onde passam os passageiros do Maglev Cobra. . . . . . . . . . 37
4.7 Imagens do suporte posicionado sobre a porta da estação. . . . . . . . 37
4.9 Imagem processada e segmentada. . . . . . . . . . . . . . . . . . . . . 37
4.8 Fluxograma do algoritmo de rastreamento simplificado. . . . . . . . . . . 38
4.10 Fluxograma do algoritmo de contabilização. . . . . . . . . . . . . . . . . 40
4.11 Algoritmo em execução no Raspberry Pi. . . . . . . . . . . . . . . . . 41
4.12 Pessoa se deslocando na região de contabilização. . . . . . . . . . . . 42
4.13 Exemplos de caso em que o sistema não funcionou. . . . . . . . . . . 43
4.14 Gráfico com a taxa de acerto do sistema em uma situação real. . . . . . . 44
xiv
Lista de Tabelas
3.1 Comparativo dos v́ıdeos analisados utilizando a técnica de subtração
de fundo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 Comparativo dos v́ıdeos analisados utilizando a técnica de subtração
de quadros consecutivos. . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3 Comparativo dos v́ıdeos analisados utilizando a técnica de subtração
de fundo estimado pela média. . . . . . . . . . . . . . . . . . . . . . . 26
3.4 Comparativo dos v́ıdeos analisados utilizando a técnica MOG com 3
gaussianas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5 Comparativo dos v́ıdeos analisados utilizando a técnica de carac-
teŕısticas Haar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.6 Comparativo dos v́ıdeos analisados utilizando a técnica HOG. . . . . 30
xv
Caṕıtulo 1
Introdução
1.1 Tema
Com a evolução do processamento digital de imagens, o reconhecimento de
objetos passou a ser extensivamente pesquisado na área de visão computacional
[4, 5, 6, 7]. O uso dessas técnicas já é realidade em diversas soluções comercias
como por exemplo detectar se um motorista está com sono [8], detectar obstáculos
na trajetória de um véıculo [9], auxiliar o motorista na frenagem ao detectar que o
carro da frente diminuiu a velocidade [10], detectar se um pedestre está na trajetória
do véıculo [11], auxiliar os vigilantes ao detectar que algum objeto foi deixado em
repouso por muito tempo [12] e também no controle de fluxo de pessoas e sistemas
de contagem [13]. A grande vantagem de utilizar a imagem capturada pela câmera
como um sensor para detectar objetos é que a solução pode ser implementada sem ter
que instalar um novo sensor para isso, um exemplo é a detecção de objetos deixados
em repouso por muito tempo, na qual o sistema é implementado utilizando a câmera
de vigilância que já existe no local. Para realizar a detecção de objetos ou pessoas, a
imagem captada pela câmera é tratada por uma técnica de processamento de imagem
capaz de distinguir o objeto, o gesto ou a alteração do cenário onde a câmera está
localizada.
A detecção de pedestres se apresenta como um desafio dentro da visão com-
putacional, pois os pedestres possuem tamanhos e formas diferentes, as roupas apre-
sentam cores que podem se confundir com o cenário das imagens, ou então podem
apresentar uma única cor que encubra quase todo o corpo da pessoa, como a burca.
1
Outro fator que prejudica a detecção são os acessórios (mochilas, bolsas, malas,
chapéus, etc) utilizados pelos pedestres. Soma-se a essa dificuldade na detecção dos
pedestres, as condições do ambiente onde as imagens são captadas, por exemplo no
trânsito e estações de trem ou ônibus existe uma grande variação da iluminação no
ambiente, sem contar o enorme fluxo de pessoas e a grande quantidade de objetos
que podem causar a obstrução do local que se deseja monitorar.
Este trabalho consiste na implementação prática de um sistema para de-
tecção de entrada e sáıda de passageiros em um véıculo. As técnicas utilizadas neste
trabalho estão dispońıveis no pacote de software para visão computacional e pro-
cessamento de imagens, denominado OPENCV. Estes métodos são frequentemente
utilizados na literatura a fim de rastrear e identificar pessoas.
1.2 Justificativa
É comum encontrar em diversas cidades, principalmentena Europa, sistemas
de transporte que não possuem um funcionário responsável pela cobrança do bilhete
do passageiro, esse sistema de cobrança é baseado na confiança de que o passageiro
valide o seu bilhete ao entrar no véıculo. Para coibir o não pagamento ou validação
do bilhete, funcionários da empresa de transporte fazem fiscalizações em horários
e lugares aleatórios, sem que o passageiro saiba onde e quando será a próxima
fiscalização. Caso o passageiro seja pego em um véıculo sem ter o bilhete validado,
ele recebe uma multa.
Visto que os sistemas de transporte não possuem um funcionário responsável
para efetuar a cobrança do bilhete fica dif́ıcil monitorar em qual trecho e horário de
operação do véıculo o fluxo de passageiros é maior. Também é dif́ıcil monitorar onde
a taxa de passageiros que viajam sem validar o bilhete é maior. Dessa forma, as
fiscalizações feitas pelos funcionários da empresa de transporte podem encontrar o
véıculo vazio ou com todos os passageiros com o bilhete validado, o que não justifica a
fiscalização. Por outro lado, o véıculo pode transitar cheio e com nenhum passageiro
que validou o bilhete, e sem nenhuma fiscalização dos funcionários.
Tendo a visão computacional como ferramenta, pode-se tentar organizar me-
lhor o local e horário dessas fiscalizações. Por exemplo, se a empresa souber quantas
2
pessoas estão dentro do véıculo, é posśıvel comparar esses dados com o sistema de
bilhetagem e descobrir quantas pessoas validaram o seu bilhete.
1.3 Objetivos
O objetivo deste trabalho é identificar quantas pessoas entram e saem do
Maglev Cobra, que é um véıculo de levitação magnética operando em fase de teste
dentro do campus da ilha do Fundão, da UFRJ. A contabilização do número de
pessoas que entram e saem serve para monitorar o fluxo de passageiros que utilizam
o véıculo ao londo do dia, já que o único controle de passageiros é feito por um
livro na estação, o qual o passageiro deve assinar na estação antes de embarcar.
Além disso, sabendo quantas pessoas estão no véıculo é posśıvel estimar o seu peso
e passar essa informação para o sistema de frenagem automática e avisar na próxima
estação quantos lugares dispońıveis têm no véıculo.
1.4 Metodologia
O primeiro passo para a realização deste projeto é a aquisição do v́ıdeo a
ser analisado. Após a imagem ter sido captada, este trabalho investiga diversas
técnicas de processamento de imagens, a fim de descobrir qual se adapta melhor as
condições da estação do Maglev Cobra. Para um melhor funcionamento do sistema,
são empregadas técnicas de segmentação de imagem a fim de destacar as pessoas
nas imagens analisadas. Com as pessoas identificadas, é aplicado um algoritmo de
rastreamento da sua trajetória a fim de saber qual caminho ela percorreu. Por fim,
sabendo o caminho percorrido pela pessoa, o algoritmo proposto é capaz de dizer
se a pessoa entrou ou saiu do Maglev Cobra. A Figura 1.1 apresenta um fluxo
descrevendo as etapas do projeto.
Figura 1.1: Fluxograma de funcionamento do algoritmo proposto.
3
1.5 Descrição
No caṕıtulo 2 é feito o estudo teórico de todas as técnicas de segmentação
e processamento de imagens utilizadas neste trabalho. O caṕıtulo 3 apresenta a
comparação do desempenho das técnicas estudadas no caṕıtulo anterior aplicadas
aos v́ıdeos gravados em situações de teste. No caṕıtulo 4 é discutida a utilização
das técnicas que apresentam melhor desempenho no cenário onde fica localizado o
Maglev Cobra. Por fim o caṕıtulo 5 apresenta a conclusão baseada nos resultados
obtidos nos caṕıtulos 3 e 4.
4
Caṕıtulo 2
Técnicas de tratamento de
imagem para detecção de objetos
Este caṕıtulo apresenta um estudo teórico sobre os principais métodos de
detecção de objetos e tratamento de imagens. A Figura 2.1 ilustra em qual etapa
do projeto essas técnicas são aplicadas.
Figura 2.1: Fluxo demonstrando que o projeto se encontra na etapa de processamento e
segmentação da imagem.
Dentre as técnicas para detecção de objetos, destacam-se as técnicas de sub-
tração de imagens, a mistura de gaussianas, a caracteŕıstica Haar e a técnica de
histogramas de gradientes orientados. Estas técnicas são as mais utilizadas na lite-
ratura e apresentam um desempenho satisfatório em diferentes cenários [5].
2.1 Subtração de imagens
A técnica de subtração de imagens, ilustrada na Figura 2.2 é muito utilizada
para detectar objetos filmados por uma câmera fixa. Essa técnica consiste em se-
parar o fundo da imagem, background, do objeto em primeiro plano, foreground. A
subtração é feita pixel a pixel e o resultado é a diferença absoluta entre as duas
imagens.
5
Figura 2.2: Fluxograma da técnica de subtração de fundo.
2.1.1 Subtração de fundo
Esta técnica utiliza um quadro de referência para ser comparado com todos
os outros quadros do v́ıdeo. A técnica pode ser descrita através da equação 2.1.
∆Q = |Q(x, y, t)−Qref (x, y)|, (2.1)
onde ∆Q é o quadro resultante da diferença entre o quadro atual Q e o quadro de
referência Qref , x e y são as coordenadas do pixel no quadro e t é o instante de
tempo no qual o quadro foi capturado.
Esta técnica de subtração de fundo é muito instável para pequenas variações
no ambiente, pois como é feita a diferença absoluta entre o quadro atual e o quadro
de referência, caso tenha uma pequena variação na luz do ambiente ou mudança da
posição de objetos, essa diferença gera um rúıdo na sáıda [14].
Uma forma de diminuir o impacto das variações de luz do ambiente é atualizar
de forma constante o quadro de referência. Porém, é necessário garantir que nenhum
objeto de interesse esteja nesse novo quadro de referência.
2.1.2 Subtração de quadros consecutivos
Esta técnica consiste na análise da imagem obtida através da subtração ab-
soluta de um quadro pelo quadro imediatamente anterior a ele. Dessa forma, a
imagem resultante contém apenas os pixels que são diferentes entre os dois quadros.
Essa técnica pode ser modelada pela Equação 2.2.
∆Q = |Q(x, y, t+ 1)−Qref (x, y, t)|. (2.2)
6
Como o quadro de referência é atualizado constantemente, esta técnica con-
segue se adaptar muito bem às mudanças de luz [15] e de objetos na região a ser
observada. Entretanto, se o objeto a ser detectado ficar parado entre um quadro e
o quadro posterior, este objeto é suprimido do quadro resultante e não é posśıvel
fazer a sua detecção.
2.1.3 Subtração de fundo estimado pela média
Esta técnica é muito parecida com as duas últimas apresentadas e consiste na
utilização da média dos N primeiros quadros para criar uma estimativa do quadro de
referência. A Equação 2.3 descreve esse processo, onde Ntotal é o número de quadros
do v́ıdeo analisado e 1 ≤ N ≤ Ntotal
Qref =
1
N
N∑
i=1
Qi(x, y, t). (2.3)
Como esta técnica é uma combinação das duas últimas técnicas analisadas, o
problema está em encontrar o valor ideal para N, para que os problemas encontrados
anteriormente sejam mitigados. Caso o valor de N seja muito baixo, esta técnica
se assemelha à subtração de quadros consecutivos. Porém, se o valor escolhido
for muito alto, o resultado torna-se similar à subtração utilizando um quadro de
referência.
2.1.4 Mistura de gaussianas
No método de Misturas de Gaussianas (Mixture of Gaussians - MOG) cada
pixel é representado por uma soma de Gaussianas parametrizadas. Dessa forma,
cada vez que um quadro é analisado, os valores dos parâmetros das gaussianas
são alterados, podendo assim estimar a probabilidade do valor de cada pixel. A
Equação 2.4 descreve a probabilidade de um determinado pixel possuir um valor Xi
num determinado instante t.
P (Xt) =
K∑
i=1
ωi,tη(Xt, µi,t,Σi,t), (2.4)
onde, K é o número de distribuições Gaussianas utilizadas, ωi,t é o peso da i-ésimadistribuição Gaussiana, no instante t, µi,t é a média da i-ésima mistura de Gaussiana,
7
no instante t, Σi,t é a matriz de covariância da i-ésima mistura de Gaussiana, no
instante t e η é a função de densidade de probabilidade Gaussiana.
A técnica de mistura de gaussianas é adaptativa, visto que ela permite a
atualização dos objetos no cenário a ser analisado. A adaptação do cenário está
associada ao número de gaussianas utilizadas no cálculo, dessa forma, quanto menos
gaussianas forem utilizadas, mais rápida e menos precisa é a diferença de objetos
incorporada ao fundo [16]. Em contrapartida, ao aumentar o número de gaussianas
para ter um fundo mais preciso e com menos rúıdo, o tempo de execução é maior e
a capacidade de adaptação do sistema ao cenário é prejudicada, pois se torna menos
suscet́ıvel a variações.
Para saber se um pixel corresponde ao background ou foreground, é utilizada
a razão ω/σ, pois um pixel que pertença ao background apresenta baixa variância
(σ) e alta persistência (ω). Isso ocorre porque um pixel de background apresenta
pequenas variações do seu valor e um número elevado de observações. Para pertencer
ao foreground, o pixel apresenta alta variância (σ) e baixa persistência (ω), devido ao
grande número de variações do seu valor e um baixo número de observações. Dessa
forma, caso o valor da razão ω/σ seja elevado, o pixel pertence ao background ; e se
o valor da razão for baixo, o pixel pertence ao foreground.
2.2 Caracteŕısticas Haar
Em 1909 Alfred Haar propôs a Transformada de Haar, que é uma transfor-
mada discreta utilizada para análise de sinais [17]. Baseado nesse trabalho, Paul
Viola e Michael Jones propuseram o conceito da caracteŕıstica Haar, que é a di-
ferença de intensidade entre regiões retangulares de uma mesma imagem [6]. A
relação entre diferentes regiões são expressas como restrições sobre os valores dos
coeficientes.
O método para detecção de objetos proposto por Viola e Jones [6] é baseado
em três conceitos: treinamento de classificadores usando boosting, classificadores em
cascata e a integral da imagem.
Para calcular a integral da imagem, é utilizado um algoritmo proposto em
1984 por Frank Crow [18], que avalia de forma eficiente a soma de intensidade dos
8
Figura 2.3: Sub-região ABCD em uma matriz de pixel.
ńıveis de cinza de cada pixel de uma determinada área retangular pertencente a uma
sub-região da imagem a ser analisada. A Equação 2.5 mostra como é feito o cálculo
da integral da imagem em uma determinada coordenada (x, y).
ii(x, y) =
∑
x′≤x
y′≤y
i(x′, y′), (2.5)
onde, ii(x, y) é a integral da imagem na coordenada (x, y) e i(x′, y′) é a sub-região
da imagem.
A Equação 2.5 mostra que o cálculo da integral na coordenada (x,y) é igual
ao somatório da intensidade de todos os pixels acima e a esquerda do ponto (x,y)
mais a intensidade no ponto (x,y). Desta maneira, os coeficientes da imagem são
calculados com uma simples varredura na imagem original. A partir disso, nota-se
que a integral da sub-região ABCD da Figura 2.3 pode ser calculada de acordo com
a Equação 2.6.
∑
(x,y)∈ABCD
i(x, y) = ii(D) + ii(A)− (ii(B) + ii(C)) (2.6)
Feito o cálculo da integral, pode-se identificar o padrão utilizando a carac-
teŕıstica Haar-like, que são máscaras retangulares oriundas dos valores da intensi-
dade dos pixels de uma dada região subtráıdos dos valores de intensidade dos pixels
de uma região vizinha. A Figura 2.4 apresenta posśıveis tipos de caracteŕısticas-base
9
que podem ser utilizadas. Para utilizar essas caracteŕısticas, é feita a subtração en-
tre a soma da intensidade dos pixels da região branca e a soma da intensidade dos
pixels da região preta.
(a) (b) (c)
Figura 2.4: Exemplos de caracteŕısticas Haar. (Adaptado do site do OpenCV [1]). (a) ca-
racteŕıstica utilizada quando a imagem apresenta diferença de intensidade entre duas
regiões horizontalmente. (b) caracteŕıstica utilizada quando a imagem apresenta dife-
rença de intensidade entre duas regiões verticalmente. (c) caracteŕıstica utilizada quando
a imagem apresenta diferença de intensidade entre três regiões horizontalmente.
Existem mais de cem mil caracteŕısticas Haar-like diferentes, que são utili-
zadas para o reconhecimento de padrões. A caracteŕıstica da Figura 2.4(b) permite
a detecção de faces, pois a região dos olhos é mais escura que a região dos lábios
e bochechas. Dessa forma, qualquer imagem que apresente uma diferença de in-
tensidade entre as partes superior e inferior de uma sub-região pode utilizar essa
caracteŕıstica para reconhecer o seu padrão. De forma semelhante, pode-se utilizar
a caracteŕıstica da Figura 2.4(c) para detectar faces, pois a região do nariz tende a
ter uma intensidade diferente da região dos olhos. É fácil notar que a combinação
dessas caracteŕısticas permite reconhecer diversos padrões.
A segunda parte da técnica é o treinamento dos classificadores com imagens
positivas (objeto que deseja ser detectado) e imagens negativas (qualquer imagem
que não tenha o objeto que deseja ser detectado). Para efetuar o treinamento é
utilizado um algoritmo que faz uso do método Boosting, esse método gera um clas-
sificador de alta precisão após combinar diversos classificadores de média precisão.
Cada um dos classificadores de média precisão possui uma taxa de acerto superior a
51%. Neste trabalho foi utilizado um classificador pronto e não foi feito o processo
de treinamento, pois o número de amostras positivas e negativas para criar o classi-
10
ficador é muito alto. O classificador utilizado usa o algoritmo AdaBoost (Adaptative
Boosting). A Equação 2.7 representa o funcionamento desse algoritmo.
f(x) =
T∑
t=1
αtht(x), (2.7)
onde, a função ht(x) representa os classificadores de baixa precisão e pode assumir os
valores 0 ou 1, para exemplos negativos ou positivos, respectivamente; o parâmetro
x representa o tamanho da janela, tipicamente é utilizada uma janela de 24x24 e
(αt) é o peso do classificador. A Equação 2.8 representa um classificador de baixa
precisão que pode ser expresso em função da caracteŕıstica (f), de um limiar (θ) e
da polaridade (p).
h(x, f, θ, p) =
1, se pf(x) < pθ0, caso contrário (2.8)
O Classificador de alta precisão (H(x)), é representado através da Equação
2.9, em função do peso (αt) de cada classificador de baixa precisão.
H(x) =
1, f(x) ≥ 12
∑
αt
0, caso contrário
(2.9)
Dessa forma o algoritmo AdaBoost é utilizado tanto para escolher quais ca-
racteŕısticas Haar-like serão utilizadas para detectar o objeto, quanto para treinar
os classificadores para trabalhar com essas caracteŕısticas.
Por fim, existem os classificadores em cascata, que é a combinação dos classi-
ficadores de alta precisão a fim de processar de forma eficiente as regiões da imagem
com o objetivo de buscar um padrão. Na Figura 2.5 nota-se o funcionamento do
classificador em cascata, onde cada estágio aplica um classificador mais preciso e
complexo que o anterior. Dessa forma, o algoritmo rejeita de forma rápida e com
baixo custo computacional as regiões que apresentam caracteŕısticas distintas as do
objeto procurado, sem prosseguir para o próximo estágio do classificador.
2.3 Histograma de gradientes orientados
Toda imagem possui propriedades que podem ser mensuradas tais como forma, cor
e textura. Essas propriedades quando mensuradas, normalmente são agrupadas em
11
Figura 2.5: Representação visual da cascata de classificadores.
um vetor de escalares, denominado descritor de imagem. Sendo assim, cada objeto
é representado por um ponto no espaço Rn, onde n é o número de propriedades da
imagem.
A técnica HOG [19], é um descritor que calcula o histograma da orientação
dos gradientes na imagem e tem como sáıda um descritor final que é um vetor
dehistogramas. O prinćıpio desta técnica se baseia no fato de que a aparência e
forma de um determinado objeto pode ser descrito pela intensidade dos gradientes
ou pela direção das bordas, sem conhecer inicialmente a posição dessas bordas. A
técnica HOG é muito eficiente para detectar e seguir múltiplos objetos na mesma
imagem[20].
A Figura 2.6 descreve o processo para realizar o cálculo do descritor final.
Primeiro a imagem é convertida para escala de cinza e depois normalizada, para que
a influência da iluminação seja atenuada. Feito isso é a vez de computar os gradi-
entes. Essa computação é feita aplicando o operador de Sobel [21] para detecção de
bordas. A sáıda desse estágio são as magnitudes e orientação dos gradientes Gx e
Gy. Após esse processo, a imagem é dividida em pequenas regiões espaciais denomi-
nadas células. Cada célula tem o seu histograma local computado e normalizado. A
normalização do histograma da célula é feita através dos valores computados para os
histogramas vizinhos. Feito isso, é criada uma região denominada bloco, composta
por algumas células, e o valor do histograma das células é acumulado e utilizado
para normalizar todas as células do mesmo bloco.
A última etapa do processo é coletar uma janela de detecção sobre os his-
togramas gerados. De acordo com a orientação dos gradientes, o descritor HOG
descreve a imagem, essa descrição é invariante à posição dos gradientes.
12
Figura 2.6: Ilustração da criação do vetor de histograma de gradiente orien-
tado. (Adaptado [19]).
13
2.4 Segmentação
As técnicas de segmentação da imagem consistem em subdividir a imagem a ser
analisada em diversas regiões ou objetos. A aplicação dessas técnicas visa enfatizar
a região ou objeto de interesse em relação ao restante da imagem. Este trabalho
aplica essas técnicas para destacar as pessoas nos quadros.
As técnicas de segmentação da imagem são aplicadas para diminuir os rúıdos
no quadro analisado. Essas técnicas são combinadas com as técnicas de processa-
mento da imagem para aumentar a taxa de detecção de um determinado objeto.
2.4.1 Limiarização
A limiarização é a técnica mais simples de segmentação e consiste na diferença
do ńıvel de cinza da imagem. A partir de um limiar pré-estabelecido, a imagem é
segmentada em duas partes, todos os pixels abaixo do limiar adotam o mesmo valor
mı́nimo. De maneira análoga todos os pixels com valores acima do limiar adotam o
valor máximo. A Equação 2.10 expressa esse procedimento.
g(x, y) =
1, se f(x, y) > T0, se f(x, y) ≤ T , (2.10)
onde, g(x, y) é o quadro resultante da aplicação da técnica de limiarização, f(x, y)
é o valor da intensidade do pixel analisado; x e y são as coordenadas do pixel.
A Figura 2.7 exemplifica o processo de limiarização de uma imagem. Para
estabelecer o limiar é utilizado um valor arbitrário. Considerando uma imagem
bimodal, esse valor pode ser obtido analisando o histograma da imagem e escolhendo
o valor médio entre os dois picos. Uma forma de fazer isso automaticamente é
utilizando o algoritmo de Binarização Otsu [22].
Outra maneira de fazer a limiarização da imagem, é utilizar o método de
limiarização adaptativa, no qual em vez de utilizar um limiar absoluto é utilizado
um limiar para pequenas regiões do quadro, obtendo um limiar diferente para cada
região. Como consequência, a limiarização adaptativa resulta melhoras em imagens
com iluminação não uniforme. Este limiar adaptativo pode ser feito utilizando
um valor médio ou uma gaussiana. A Figura 2.8 compara o resultado para esses
diferentes métodos. A Figura 2.8(a) é a imagem original em escala de cinza. A
14
Figura 2.8(b) é a imagem binarizada após se aplicar um limiar com valor T = 127,
esse valor é escolhido de forma arbitrária. Usualmente é calculado o histograma para
saber qual o valor do limiar é o recomendado para cada imagem. A Figura 2.8(c)
é o resultado da aplicação da técnica Otsu. Note que o resultado é semelhante ao
encontrado na Figura 2.8(b), porém nenhum valor de limiar precisou ser calculado.
Ao analisar o resultado das Figuras 2.8(d) e 2.8(e), percebe-se que a técnica de
limiarização adaptativa apresentou uma sensibilidade maior na região de sobra da
imagem original.
(a) Imagem Original.
(b) Imagem Binarizada.
Figura 2.7: Processo de limiarização. (Adaptado do site do OpenCV [1]).
(a) Imagem Original. (b) Limiar Global
com valor 127.
(c) Limiar usando a
técnica Otsu.
(d) Limiar usando
média adaptativa.
(e) Limiar usando
gaussiana adaptativa.
Figura 2.8: Comparativo dos métodos de limiarização. (Adaptado do site [2]).
15
2.4.2 Suavização gaussiana
Esta técnica é obtida através de uma aproximação digital da função Gaus-
siana. A Equação 2.11 descreve o filtro gaussiano aplicado. Utiliza-se essa técnica
para suavizar a imagem e remover os rúıdos causados pela iluminação do ambiente.
A Figura 2.9 mostra um exemplo de uso desta técnica. É posśıvel notar que os de-
talhes do Cristo na Figura 2.9(a) foram suprimidos na Figura 2.9(b), mas o Cristo
continua se destacando do resto da imagem.
G(x) =
1
σ
√
2π
e
−x2
2σ2 (2.11)
(a) Imagem original. (b) Imagem com suavização gaussiana.
Figura 2.9: Exemplo de utilização da suavização gaussiana. (Adaptado do site [3]).
2.4.3 Detector de borda
O algoritmo de detecção de borda desenvolvido por John F. Canny é bastante
popular na literatura [23]. Ele consiste de vários estágios. Primeiro é aplicado um
filtro gaussiano na imagem, para remover o rúıdo, depois é calculado o gradiente de
borda e direção para cada pixel. No segundo passo ocorre a supressão não máxima
da imagem, que consiste em percorrê-la pixel por pixel verificando se pixel atual
é um valor máximo local na direção do gradiente. A Figura 2.10 exemplifica esse
processo, o ponto A está sobre a borda e os seus vizinhos B e C estão na mesma
direção do gradiente. É verificado se o ponto A é o máximo local, comparando com
B e C. Se ele for um máximo local, seu valor é armazenado para a próxima fase,
caso contrário seu valor é suprimido. O resultado obtido é uma imagem com bordas
finas. Por fim, é feito o limiar de histerese que decide quais arestas fazem parte da
16
região de interesse e quais não fazem. Para isso, é preciso definir arbitrariamente
um valor máximo e um mı́nimo. Toda aresta com valor de intensidade do gradiente
maior que o valor máximo, será considerada parte da borda e de forma análoga
toda aresta com intensidade de gradiente menor que o valor mı́nimo, não fazem
parte da borda. Valores intermediários serão considerados como parte da borda se
estiverem conectados a algum pixel que certamente faz parte da borda. A Figura
2.11 exemplifica este processo, onde os pixels próximos a A fazem parte da borda
por possui um valor de intensidade maior que o valor máximo. Os pixels próximos
a C também fazem parte da borda, pois estão conectados aos pixels que possuem o
valor de intensidade maior que o valor máximo. Os pixels próximos a B não fazem
parte da borda pois o valor de intensidade desses pixels é menor que o valor máximo
e eles não estão conectados a nenhum pixel que possui o valor de itensidade superior
ao valor máximo.
(a) Imagem com a borda original. (b) Imagem com a borda afinada.
Figura 2.10: Processo de supressão máxima. (Adaptado do site do OpenCV [1]).
Figura 2.11: Ilustração do processo de limiarização de histerese. (Adaptado do site
OpenCV [1]).
17
2.5 Morfologia
Operações morfológicas são usualmente aplicadas para remover rúıdos após
o processo de segmentação. A morfologia matemática tem como base um elemento
estruturante, elemento esse que é estabelecido como uma configuração de pixels na
qual sua origem é definida. Quando ocorre o alinhamento da origem do elementoestruturante com um determinado pixel da imagem a ser tratada, a interseção desses
dois pontos define o grupo de pixels que sofrem a operação morfológica. O elemento
estruturante pode assumir diversas formas, mas usualmente é utilizada uma forma
simples, como um quadrado, ćırculo ou uma cruz com sua origem no centro. As
operações morfológicas utilizadas neste trabalho são a erosão, que consiste em subs-
tituir o valor atual do pixel por um valor mı́nimo pré-definido e a dilatação que é
a operação complementar à erosão, ou seja, substitui o valor do pixel por um va-
lor máximo pré-definido. Neste trabalho aplica-se a operação morfológica em uma
imagem limiarizada, dessa forma tem-se o background com o valor mı́nimo, preto,
e o foreground com o valor máximo, branco. A Figura 2.12 ilustra o resultado da
aplicação dessas duas técnicas de forma independente.
(a) Imagem Original.
(b) Erosão. (c) Dilatação.
Figura 2.12: Exemplo de aplicação das técnicas de erosão e dilatação.
Usualmente essas operações morfológicas são aplicadas em conjunto, a fim
de obter um melhor resultado. Define-se fechamento, a operação de erodir uma
imagem dilatada, já a abertura é a operação de dilatação de uma imagem erodida.
Ao aplicar o filtro de abertura, os objetos pequenos demais para contar o elemento
18
estruturante são eliminados da imagem. Dessa forma, as interferências ruidosas da
imagem são atenuadas. Por outro lado, quando se aplica o filtro de fechamento, os
objetos adjacentes são conectados. Dessa maneira, partes fragmentadas de forma
errada do objeto são reconectadas. A Figura 2.13 mostra um exemplo da aplicação
desses dois filtros.
(a) Imagem antes da aplicação da técnica de
abertura.
(b) Imagem após aplicação da técnica de
abertura.
(c) Imagem antes da aplicação da técnica de
fechamento.
(d) Imagem após aplicação da técnica de fe-
chamento.
Figura 2.13: Exemplo de aplicação das técnicas de abertura e fechamento.
19
Caṕıtulo 3
Avaliação das técnicas de detecção
Esta seção aborda os pontos cŕıticos do sistema, tais como a escolha das
técnicas de processamento e segmentação da imagem e a posição da câmera. Para
isso, analisa-se o desempenho de todas as técnicas citadas no caṕıtulo anterior em
v́ıdeos previamente gravados em três ângulos diferentes e com a taxa de 30 quadros
por segundo.
O objetivo deste caṕıtulo ainda não é a implementação de um sistema que
conte automaticamente o número de passageiros, mas sim analisar a capacidade
de reconhecimento de pessoas de cada técnica e o seu desempenho computacional.
Assim é posśıvel descobrir a técnica mais aconselhável para dar prosseguimento
ao projeto. A Figura 4.1 ilustra em qual etapa do processo estas técnicas serão
avaliadas.
Figura 3.1: Fluxo demonstrando que o projeto se encontra na etapa de identificação da
pessoa.
Todas as técnicas executadas neste caṕıtulo se encontram na versão 3.1 da
biblioteca de visão computacional OpenCV. As técnicas foram executadas utilizando
o mesmo computador, que possui o seguinte hardware:
• Processador: Intel Core i5-2520M @ 2.50GHz
• Memória RAM: 4GB DDR 3 @ 1333MHz
20
• Armazenamento: SSD 240GB Kingston SUV400S37240G
• Sistema Operacional: Ubuntu 16.04 LTS
O tempo de execução do programa responsável por cada técnica e a porcen-
tagem de utilização do processador foram verificados com a utilização da função
time presente no sistema operacional citado. Note que como o processador apre-
senta quatro núcleos, o maior valor posśıvel para a sua utilização é de 400%, o que
significa que os quatro núcleos operaram com 100% da sua capacidade durante toda
a execução do programa.
3.1 Vı́deos
O primeiro v́ıdeo foi gravado na sáıda dos elevadores do bloco A do Centro
de Tecnologia da UFRJ e possui uma visão em 90◦ em relação as pessoas. Esse
v́ıdeo possui uma duração de 18 segundos e conta com 5 pessoas se movimentando.
A Figura 3.2(a) apresenta a visão da câmera. Esse cenário foi escolhido por ser um
ambiente interno que apresenta um grande fluxo de pessoas se dirigindo em linha
reta para entrar nos elevadores.
O segundo v́ıdeo foi gravado no bloco A do Centro de Tecnologia da UFRJ
e captura as pessoas com uma visão superior e lateral. A região de interesse desse
v́ıdeo é a área entre as pilastras. Esse v́ıdeo possui uma duração de 22 segundos e
15 pessoas passam pela região. A Figura 3.2(b) apresenta a visão da câmera. Esse
cenário foi escolhido por se tratar de um ambiente interno com pouca influência da
mudança de luz natural e devido à distância que a câmera pode filmar as pessoas.
Dessa forma, as pessoas representam uma pequena área no quadro.
A Figura 3.2(c) mostra o terceiro v́ıdeo analisado, que foi gravado no segundo
andar do bloco H do Centro de Tecnologia da UFRJ e apresenta a visão superior em
45◦ da região externa do prédio. Esse v́ıdeo possui uma duração de 15 segundos e
ao todo 13 pessoas passaram pela região observada. A escolha desse cenário deve-se
à possibilidade de captar a imagens em um ambiente externo, com influência direta
da variação de luz natural.
21
(a) Ambiente interno com visão superior. (b) Ambiente interno com visão lateral.
(c) Ambiente externo com visão superior.
Figura 3.2: Imagens dos três v́ıdeos analisados.
3.1.1 Subtração de fundo
Como essa técnica utiliza o primeiro quadro do v́ıdeo como sendo o quadro
de referência, se neste quadro de referência o v́ıdeo possuir uma pessoa ou qualquer
outro objeto que se movimente, as imagens futuras apresentarão falso-positivos pois
o quadro atual vai ser diferente do quadro de referência, mesmo que não tenha
nenhum objeto no local. A Figura 3.3(a) exemplifica essa situação, como ela é
o primeiro quadro do v́ıdeo, ela foi escolhida para ser o quadro de referência. A
Figura 3.3(b) mostra que quando o v́ıdeo continua a sua execução, são identificados
falso-positivos onde as pessoas do quadro de referência estavam. A Figura 3.3(c)
apresenta o caso em que a técnica identifica com precisão duas pessoas andando
muito próximas.
A Tabela 3.1 apresenta os resultados obtidos com essa técnica. Apesar de
apresentar os falso-positivos visto na Figura 3.3(b), esta técnica se mostrou muito
eficiente para detectar as pessoas na visão lateral. A baixa taxa de acerto na imagem
22
obtida com a câmera em 90◦, deve-se ao fato de três pessoas terem sido identificadas
como uma só, pois estavam andando em grupo e muito próximos. A taxa de acerto
no v́ıdeo com imagens externas deve-se ao fato da variação da iluminação atrapalhar
a detecção das pessoas. A utilização do processador não foi um fator cŕıtico nessa
técnica.
(a) Quadro de referência do segundo v́ıdeo.
(b) Falso-positivos detectados no segundo
v́ıdeo devido ao deslocamento das pessoas.
(c) Duas pessoas identificadas com precisão.
Figura 3.3: Subtração de fundo.
3.1.2 Subtração de quadros consecutivos
A técnica de subtração de quadros consecutivos mostrou-se eficiente, porém
apresenta o mesmo problema da técnica anterior, quando duas pessoas andam juntas
ou abraçadas, identificando-as como uma única pessoa. Além disso a Figura 3.4(a)
mostra que essa técnica não identifica a pessoa que fica parada no meio da escada,
falando ao telefone. Outro caso que faz essa técnica errar na contagem de pessoas é
quando duas pessoas se locomovem no sentido oposto e próximas uma da outra, como
23
Posicionamento
No de pessoas Identificadas
Taxa de
Tempo (s) % CPU
da câmera acerto
90◦ 5 3 60,0% 12,07 119
Lateral 15 14 93,3% 17,89 113
45◦ 13 10 76,9% 29,90 117
Tabela 3.1: Comparativo dos v́ıdeos analisados utilizando a técnica de subtração de
fundo.
(a) Pessoa parada na escada não é detectada.
(b) Pessoas andando são detectadas. (c) Pessoas andando muito próximas são in-
terpretadascomo uma só.
Figura 3.4: Subtração de quadros consecutivos.
pode-se observar nas Figuras 3.4(b) e 3.4(c), na qual a técnica que detectava duas
pessoas identifica apenas uma. Os resultados obtidos com esse algoritmo podem ser
observados na Tabela 3.2. Em todos os v́ıdeos essa técnica apresentou um resultado
igual ou pior que a técnica anterior, até mesmo no v́ıdeo captado com imagens
externas, quando era esperado que essa técnica apresentasse um resultado superior,
pois ela se adapta melhor a variação de iluminação.
24
Posicionamento
No de pessoas Identificadas
Taxa de
Tempo (s) % CPU
da câmera acerto
90◦ 5 2 40,0% 10,49 123
Lateral 15 13 86,6% 15,05 118
45◦ 13 10 76,9% 32,86 110
Tabela 3.2: Comparativo dos v́ıdeos analisados utilizando a técnica de subtração de
quadros consecutivos.
3.1.3 Subtração de fundo estimado pela média
Essa técnica foi utilizada calculando a média dos últimos 2 quadros. Dessa
forma, se o objeto ficar parado por pouco tempo ou se houver uma sobreposição de
pessoas se locomovendo no sentido oposto, o algoritmo consegue detectar as pessoas,
pois leva em consideração a média dos últimos quadros, isso pode ser observado na
Figura 3.5(a) e Figura 3.5(b), que foram analisadas no mesmo instante de tempo da
técnica anterior. Quando a pessoa se movimenta muito pouco ou fica parada por um
bom tempo, como observado na Figura 3.5(c), a técnica não consegue detectá-la.
A Tabela 3.3 apresenta o comparativo dos resultados obtidos com esse algoritmo.
Nota-se um desempenho superior à técnica de subtração de fundo, quando o v́ıdeo
externo foi analisado. Este resultado superior deve-se ao fato da técnica de subtração
de fundo estimado pela média ser menos senśıvel às variações de iluminação.
25
(a) Pessoas andando são detectadas.
(b) Pessoas andando próximas são detecta-
das corretamente.
(c) Pessoa parada na escada não é detectada.
Figura 3.5: Subtração de fundo estimado pela média.
Posicionamento
No de pessoas Identificadas
Taxa de
Tempo (s) % CPU
da câmera acerto
90◦ 5 3 60,0% 10,87 123
Lateral 15 12 80,0% 21,22 105
45◦ 13 12 92,3% 26,84 120
Tabela 3.3: Comparativo dos v́ıdeos analisados utilizando a técnica de subtração de
fundo estimado pela média.
3.1.4 Mistura de gaussianas
Um parâmetro importante a ser escolhido para o uso dessa técnica, é quantas
gaussianas são utilizadas para o cálculo da imagem resultante. Neste trabalho foi
utilizada a recomendação de [24], que aconselha utilizar de 3 a 5 gaussianas. As
figuras analisadas foram capturadas no mesmo instante das duas últimas técnicas.
26
Essa técnica consegue detectar quando uma pessoa fica parada por alguns quadros,
conforme se observa na Figura 3.6(a). Porém, quando as pessoas se locomovem
muito próximas, a técnica não consegue distingui-los. As Figuras 3.6(b) e 3.6(c)
apresentam essas situações. Os resultados obtidos com esse algoritmo podem ser
observados na Tabela 3.4. Percebe-se que essa técnica não obteve sucesso na detecção
de pessoas no v́ıdeo obtido com a câmera em 90◦. Apesar de conseguir detectar as
pessoas paradas por um curto peŕıodo de tempo, essa técnica foi menos eficiente que
as técnicas anteriormente apresentadas em todas as situações testadas.
(a) Pessoa parada na escada é detectada.
(b) Pessoas andando sem estar próximas são
interpretadas como uma só.
(c) Pessoas andando muito próximas são in-
terpretadas como uma só.
Figura 3.6: Subtração utilizando a técnica MOG.
27
Posicionamento
No de pessoas Identificadas
Taxa de
Tempo (s) % CPU
da câmera acerto
90◦ 5 0 0,0% 12,16 164
Lateral 15 13 86,6% 16,45 154
45◦ 13 10 76,9% 30,27 178
Tabela 3.4: Comparativo dos v́ıdeos analisados utilizando a técnica MOG com 3
gaussianas.
3.1.5 Haar
Foram utilizadas quatro bibliotecas previamente treinadas para avaliar essa
técnica, sendo duas delas para a parte superior do corpo [25, 7]. Elas são acon-
selháveis, pois o objetivo final do projeto é detectar os passageiros entrando no
Maglev Cobra. Também foram utilizadas duas bibliotecas de corpo inteiro [5, 26].
Essa técnica não se mostrou eficiente nas condições testadas. Para aumentar sua
eficiência, deve-se criar uma biblioteca própria ou usar a biblioteca pronta e treinar
por diversas horas na situação de uso. Como é preciso mais de mil amostras positi-
vas e negativas para que a biblioteca se torne eficiente, foi decidido não treinar uma
biblioteca para essa técnica.
A Figura 3.7 apresenta a detecção de uma pessoa parada porém pode ser
observado que duas pessoas, que estão na região de interesse, não foram detectadas
na imagem. A Tabela 3.5 apresenta os resultados obtidos com essa técnica. Como
essa técnica precisa calcular o somatório de intensidade dos pixels para diversas
sub-regiões da imagem, foi detectado o aumento de processamento e do tempo de
execução do programa.
28
Figura 3.7: Detecção usando a técnica de caracteŕısticas Haar. Os retângulos em vermelho
e verde são das bibliotecas de detecção da parte superior do corpo. Os retângulos em azul
escuro e azul claro são das bibliotecas de detecção de corpo inteiro.
Posicionamento
No de pessoas Identificadas
Taxa de
Tempo (s) % CPU
da câmera acerto
90◦ 5 1 20,0% 497,40 337
Lateral 15 8 53,3% 951,07 333
45◦ 13 11 84,6% 1534,94 359
Tabela 3.5: Comparativo dos v́ıdeos analisados utilizando a técnica de caracteŕısticas
Haar.
3.1.6 Histograma de gradientes orientados
A técnica HOG foi a única capaz de identificar duas pessoas abraçadas, como
pode ser visto na Figura 3.8(a). A Figura 3.8(b) mostra que o algoritmo também ob-
teve êxito ao distinguir pessoas andando próximas na imagem gravada com o ângulo
de 90◦. O problema dessa técnica foi o tempo de execução. O comparativo dos resul-
tados obtidos pode ser visto na Tabela 3.6. Apesar de ter utilizado os classificadores
padrão que vêm na biblioteca do OpenCV, os resultados foram satisfatórios. Caso
se queira melhorar a taxa de acerto dessa técnica, basta treinar os classificadores
com a situação de uso onde o projeto será implementado. Essa técnica exigiu um
grande esforço da CPU, pois precisa calcular a orientação dos gradientes para todos
os pixels de cada quadro analisado no v́ıdeo.
29
(a) Duas pessoas abraçadas foram detecta-
das corretamente.
(b) Três pessoas andando próximas foram
detectadas corretamente.
Figura 3.8: Detecção usando a técnica HOG.
Posicionamento
No de pessoas Identificadas
Taxa de
Tempo (s) % CPU
da câmera acerto
90◦ 5 3 60,0% 272,39 367
Lateral 15 5 33,3% 353,16 363
45◦ 13 10 76,9% 786,16 323
Tabela 3.6: Comparativo dos v́ıdeos analisados utilizando a técnica HOG.
3.1.7 Comparação entre as técnicas
Após ser feita a análise dos resultados obtidos, pode-se descartar as técnicas
HOG e Haar, pois apresentam um alto custo computacional e como a técnica esco-
lhida será utilizada em um microcomputador de baixa potência, estas técnicas são
inviáveis para o projeto.
Com a câmera posicionada com a visão lateral, foi obtido a maior taxa de
acerto, utilizando a técnica de subtração de fundo, enquanto os demais métodos
de subtração obtiveram um desempenho semelhante, conforme podemos notar na
Figura 4.14.
Com a câmera posicionada em 45◦, o algoritmo de subtração de fundo esti-
mado pela média teve o desempenho notoriamente superior aos seus concorrentes.
Este fato deve-se a variação de iluminação no v́ıdeo visto que a captação das imagens
foi feita em ambiente externo.
Ao comparar os resultados obtidos pelas técnicas de subtração de imagens
30
no v́ıdeo com a câmera posicionada em 90◦, nota-se que os resultados foram bem
parecidos exceto no método MOG, que não conseguiu identificar nenhuma pessoa.
As técnicas concorrentes, por outro lado, obtiveram resultados satisfatórios.
De acordo com os resultados obtidos,o projeto utilizará como primeira opção
a câmera com visão lateral. A segunda opção é a visão superior em 45◦ e, por fim,
a última escolha é a câmera posicionada em 90◦.
Figura 3.9: Gráfico com a taxa de acerto de cada técnica nas três posições de captura.
31
Caṕıtulo 4
Solução proposta e resultados
Este caṕıtulo aborda o ponto cŕıtico do projeto: identificar o objeto, distingui-
lo dos outros identificados e contar o número objetos que entram e saem de um
véıculo. Neste projeto os objetos são pessoas.
A Figura 4.1 apresenta o fluxo de trabalho do sistema, os três primeiros
passos foram vistos nos dois Caṕıtulos 2 e 3 deste trabalho.
Figura 4.1: Fluxo demonstrando que o projeto se encontra na etapa de identificação,
rastreamento e contabilização das pessoas.
O sistema proposto é executado em um microcomputador do modelo Rasp-
berry Pi 2, que possui um processador de quatro núcleos e opera com frequência
máxima de 900 MHz. O microcomputador possui 1 GB de memória RAM e está
conectado a uma câmera do modelo Raspberry Pi Camera v1.3. Este microcomputa-
dor foi escolhido pois apresenta baixo consumo de energia e devido ao seu tamanho,
permitindo assim a sua instalação em campo utilizando apenas uma bateria para o
seu funcionamento.
A primeira etapa deste caṕıtulo é identificar o que é uma pessoa na imagem e o
que deve ser desconsiderado na imagem. Feito isso, o sistema deve seguir essa pessoa
e não confundir com outra no mesmo quadro. Por fim, o sistema vai contabilizar
quantas pessoas entraram ou sáıram do véıculo.
32
Como os resultados comparados na Seção 3.1.7 sofreram muita influência da
iluminação do ambiente, as técnicas de melhor resultado são testadas no ambiente
de implementação do sistema.
4.1 Configurações testadas
Nesta seção são apresentadas todas as configurações da posição da câmera
avaliadas no caṕıtulo anterior, utilizando a técnica que obteve o melhor desempenho
para cada configuração. O objetivo é avaliar se a melhor solução encontrada no
Caṕıtulo 3 se aplica ao local onde o sistema vai funcionar.
4.1.1 Primeira configuração
A primeira configuração utiliza a câmera com a visão lateral do fluxo de
pessoas que entra e sai do véıculo, como visto na Figura 4.2(a). Devido a limitação
da infraestrutura local, a câmera não pode ficar na mesma distância que foi utilizada
no Caṕıtulo 3. Dessa forma, nota-se que facilmente um objeto pode obstruir a visão.
A Figura 4.2(b) ilustra a situação em que uma pessoa obstrui a visão do fluxo de
pessoas que entra ou sai do véıculo.
Desta forma, mesmo com a taxa de 93,3% de acerto obtido no Caṕıtulo 3,
utilizando a técnica de subtração de fundo, foi decidido não utilizar essa configuração
no projeto, pois ela só é adequada quando as pessoas estão a uma grande distância
da câmera e de forma que nenhum objeto possa obstruir a captura de imagens.
(a) Imagem lateral do fluxo de pessoas. (b) Imagem obstrúıda do fluxo de pessoas.
Figura 4.2: Imagem obtida com a câmera na visão lateral da estação do Maglev
Cobra.
33
4.1.2 Segunda configuração
A segunda configuração consiste em colocar a câmera posicionada dentro do
Maglev Cobra, do lado oposto à porta. Dessa forma, todas as pessoas que entram
no véıculo são filmadas com um ângulo de 45◦ pela câmera, como podemos observar
na Figura 4.3(a). Visto que a estrutura do véıculo não pode ser modificada, foi
observado o mesmo problema de obstrução da visão que a câmera lateral apresentou.
Esse problema pode ser visto na Figura 4.3(b), quando um passageiro fica parado
em frente à porta.
(a) Passageiros entrando no véıculo. (b) Passageiro obstruindo a visão da câmera.
Figura 4.3: Imagem captada com visão superior em 45◦.
4.1.3 Terceira configuração
A terceira configuração consiste em prender a câmera no teto do Maglev
Cobra com uma fita adesiva, de forma que a estrutura não seja modificada e a
câmera fique posicionada em 90◦ com a porta do véıculo. Dessa forma, evita-se a
obstrução da imagem por qualquer objeto ou pessoa. A Figura 4.4(a) apresenta a
imagem que a câmera capturou e a Figura 4.4(b) mostra um passageiro entrando
no véıculo.
Agora que a imagem capturada não possui nenhuma obstrução, pode-se seguir
para o segundo passo do sistema que é a segmentação da imagem para posterior
processamento e identificação das pessoas.
Com a câmera posicionada em 90◦, foi capturado um v́ıdeo e todas as técnicas
de segmentação foram testadas. Como a câmera se encontra muito próxima do fluxo
34
(a) Imagem da entrada de passageiros. (b) Passageiro entrando no véıculo.
Figura 4.4: Imagem captada no interior do Maglev Cobra, com visão superior em
90◦ .
de pessoas que entra e sai do véıculo, nenhum algoritmo de segmentação conse-
guiu obter um resultado satisfatório, como pode ser visto na Figura 4.5. Todas as
técnicas interpretaram que o quadro inteiro foi modificado, com exceção da técnica
de subtração de fundo estimado pela média, porém esta técnica identificou muitos
falso-positivos. Dessa forma, o sistema não pode dar continuidade para a fase de
identificação das pessoas e rastreamento da sua trajetória.
4.2 Solução proposta
Como as duas primeiras configurações apresentaram o problema de obstrução
da câmera e a terceira configuração não possui uma distância suficiente do fluxo de
pessoas, a solução proposta é posicionar a câmera de forma que não haja obstrução
do seu ângulo de visão e que a distância seja suficiente para identificar as pessoas.
Portanto, a câmera foi posicionada sobre a porta de vidro localizada na estação
e que serve para evitar o contato dos passageiros da estação com o “trilho” do
Maglev Cobra. Como todas as pessoas que entram e saem do véıculo precisam
necessariamente passar por essa porta, esse local é adequado para a captação das
imagens. A Figura 4.6 mostra a porta na qual foi instalado o suporte.
Para evitar o problema com a pouca distância da câmera para a pessoa, como
foi observado na terceira configuração, foi adaptado um suporte para que a câmera
ficasse o mais alto posśıvel. A Figura 4.7 mostra o suporte feito para que a câmera
fique o mais distante posśıvel das pessoas que passam sob o seu ângulo de visão.
35
(a) Algoritmo de subtração de fundo. (b) Algoritmo de subtração de quadros con-
secutivos.
(c) Algoritmo de subtração de fundo esti-
mado pela média.
(d) Algoritmo usando a técnica MOG.
Figura 4.5: Teste dos algoritmos de subtração de imagens com um v́ıdeo filmado
dentro do Maglev Cobra com a câmera posicionada em 90◦.
Com o suporte instalado, foi iniciado o processo de captação de imagens.
Dessa vez as imagens capturadas puderam ser segmentadas e depois foram proces-
sadas para destacar a região de interesse, que nesse caso são as pessoas que passam
pela porta. A Figura 4.9 mostra a imagem antes e depois de ser tratada. Para tratar
a imagem, primeiro foi utilizado a técnica de subtração de fundo, depois a imagem
foi segmentada utilizando as técnicas de limiarização global, suavização gaussiana,
abertura, fechamento e detecção de contornos. Com a imagem tratada, as pessoas
foram identificados e o sistema pode seguir adiante.
36
Figura 4.6: Porta por onde passam os passageiros do Maglev Cobra.
(a) Suporte posicio-
nado sobre a porta.
(b) Detalhe da fixação do suporte.
Figura 4.7: Imagens do suporte posicionado sobre a porta da estação.
(a) Imagem captada pela câmera, utilizando
algoritmo de subtração de fundo.
(b) Imagem captada pela câmera, utilizando
algoritmo de subtração de fundo, após a seg-
mentação.
Figura 4.9: Imagem processada e segmentada.
37
Figura 4.8: Fluxograma do algoritmo de rastreamento simplificado.
O próximo passo é o rastreamento da rota que a pessoa faz para entrar ou sair
do véıculo, essepasso é importante para que o sistema saiba que a pessoa identifi-
cada em um determinado quadro é a mesma pessoa identificada no quadro anterior e
não uma nova pessoa que está se deslocando. Como o sistema foi projetado para ser
executado em um microcomputador de baixo desempenho, optou-se pelo desenvolvi-
mento de um algoritmo de rastreamento simples. A Figura 4.8 contém o fluxograma
que descreve passo a passo como o algoritmo de rastreamento foi implementado. O
Algoritmo 1 apresenta o algoritmo utilizado para fazer o rastreamento das pessoas.
38
Algoritmo 1: Algoritmo de rastreamento simplificado.
1 ińıcio
2 Recebe a Coordenada X e Y do objeto
3 novo = Verdade
4 se (Limite Inferior < Coordenada Y < Limite Superior) então
5 para (p = 0 ate Numero de Pessoas) faça
6 se (Coordenada X - posicao x de p) ≤ Largura) &
(Coordenada Y - posicao y de p) ≤ Altura) então
7 novo = Falso
8 atualiza as coordenadas de p
9 fim
10 fim
11 se (novo = Verdade) então
12 Vetor Pessoas = (Coordenada X, Coordenada Y )
13 Numero de Pessoas += 1
14 fim
15 fim
16 fim
Agora que o sistema já consegue rastrear a trajetória das pessoas que passam
sob a porta, é preciso observar qual a trajetória que essas pessoas seguem e contabi-
lizar o número de pessoas que entram e saem do véıculo. Para isso, foi desenvolvido
um algoritmo capaz de identificar a trajetória e contabilizar quantas pessoas entram
e saem. Esse algoritmo estabelece algumas linhas como limites para comparar com a
trajetória da pessoa que está sendo rastreada. A Figura 4.10 apresenta o fluxograma
detalhado do algoritmo de contabilização de passageiros que foi implementado.
O Algoritmo 2 é utilizado para contabilização dos passageiros, a variável
status é usada para não contar a mesma pessoa duas vezes.
39
Figura 4.10: Fluxograma do algoritmo de contabilização.
Algoritmo 2: Algoritmo de contabilização de pessoas.
1 ińıcio
2 Recebe a Coordenada Y do objeto
3 se (status 6= 1) então
4 se (Última Coordenada Y ≤ Linha de Contabilização) &
(Penúltima Coordenada Y > Linha de contabilização) então
5 status = 1
6 Contador Entrou +=1
7 fim
8 se (Última Coordenada Y ≥ Linha de Contabilização) &
(Penúltima Coordenada Y < Linha de contabilização) então
9 status = 1
10 Contador Saiu +=1
11 fim
12 fim
13 fim
40
4.3 Resultados
Agora que o sistema está completo, falta avaliar o seu desempenho. O sistema
apresentou um desempenho excelente quando as pessoas caminham normalmente
para entrar ou sair do véıculo, como podemos notar na Figura 4.11 onde o sistema
apresentou uma taxa de acerto de 100%.
(a) Pessoa se deslocando em direção a
estação.
(b) Algoritmo contabilizando a pessoa após
ela cruzar a linha de entrada/sáıda.
Figura 4.11: Algoritmo em execução no Raspberry Pi.
O sistema se mostrou robusto quando há pessoas paradas próximo à região
de contabilização. A Figura 4.12 ilustra essa situação, quando um passageiro fica
se movimentando na área de contabilização e o sistema consegue detectar de forma
eficiente quando ele atravessa a linha em direção ao véıculo e quando ele retorna pra
estação.
Caso as pessoas entrem de mãos dadas ou abraçadas, o sistema não conseguiu
detectar de forma eficiente e interpreta como se as duas pessoas fossem uma pessoa só
ou como se fosse uma nova pessoa, devido ao aumento significativo da área rastreada.
A Figura 4.13 apresenta essa situação.
Dessa forma o sistema proposto funciona de forma satisfatória para a conta-
bilização das pessoas que entram e saem do Maglev Cobra. A Figura 4.14 mostra
que os testes realizados em oito situações reais de uso, apresentou uma taxa de
acerto superior a 85%, o que significa que o sistema proposto soluciona o problema
de contagem de passageiros. Mesmo que o sistema apresente falhas quando as pes-
soas entram de mãos dadas ou abraçadas, são poucas as pessoas que entram assim,
portanto o sistema apresenta um valor de contabilização próximo ao valor real.
41
(a) Pessoa parada antes da linha de en-
trada/sáıda.
(b) Pessoa se desloca em direção ao véıculo
e é contabilizada como se tivesse entrado.
(c) Pessoa para próximo a porta. (d) Pessoa retorna para a estação e é conta-
bilizada como se tivesse sáıdo.
Figura 4.12: Pessoa se deslocando na região de contabilização.
Caso a entrada de passageiros seja controlada, o sistema atende as especificações e
contabiliza o número real de passageiros que estão dentro do véıculo.
42
(a) Pessoas andando de mãos dadas. (b) Duas pessoas se deslocam abraçadas
para o véıculo.
(c) Quando a pessoa da esquerda da um
passo a frente, a área das duas pessoas au-
menta significativamente e o algoritmo inter-
preta como se fosse uma nova pessoa.
Figura 4.13: Exemplos de caso em que o sistema não funcionou.
43
Figura 4.14: Gráfico com a taxa de acerto do sistema em uma situação real.
44
Caṕıtulo 5
Conclusões e trabalhos futuros
Neste trabalho foi desenvolvido um algoritmo para rastreamento e contabi-
lização de passageiros. A técnica para processamento da imagem utilizada foi a
subtração de fundos e para segmentar a imagem foram utilizadas as técnicas de li-
miarização global, suavização gaussiana, abertura, fechamento e detecção de bordas.
Essa técnica foi escolhida pois foi a que apresentou o melhor desempenho nos testes
realizados no Caṕıtulo 3.
Os resultados apresentados comprovam que a contagem de pessoas pode ser
feita de forma simples e eficiente por um microcomputador de baixo desempenho.
O número de falso-positivos pode ser mitigado com a instalação de um suporte
fixo no teto da estação do Maglev Cobra, dessa forma o ângulo de visão será mais
amplo e a câmera sempre ficará posicionada no mesmo lugar, facilitando futuros
ajustes na segmentação das imagens processadas. Outro fator que pode melhorar os
resultados obtidos é a instalação de uma câmera com uma lente maior, facilitando
a captação de luz e diminuindo os rúıdos na segmentação.
Uma forma de melhorar o desempenho do sistema é após a fixação da câmera,
treinar uma rede neural para reconhecer os passageiros que entram no Maglev Cobra.
Outra futura implementação interessante é integrar a sáıda do sistema com o
número de passageiros que entrou no véıculo a uma rede de Internet das coisas, de
forma que a estação possa informar quantos lugares estão dispońıveis no véıculo, se
o véıculo excedeu sua capacidade de passageiros e informar ao módulo de frenagem
de GPS o peso estimado do véıculo.
45
Referências Bibliográficas
[1] “OpenCV”, http://www.opencv.org/, 2016, (Acesso em 17 Novembro 2016).
[2] “Imagem do escudo do Fluminense Football Club”,
http://mantosdofutebol.com.br/2016/03/camisas-fluminense-2016-dryworld/,
2017, (Acesso em 10 Janeiro 2017).
[3] “Imagem do Cristo Redentor”, http://www.djibnet.com/photo/preto/cristo-
redentor-575763325.html, 2017, (Acesso em 10 Janeiro 2017).
[4] BELONGIE, S., MALIK, J., PUZICHA, J., “Shape matching and object re-
cognition using shape contexts”, IEEE transactions on pattern analysis and
machine intelligence, v. 24, n. 4, pp. 509–522, 2002.
[5] DOLLÁR, P., WOJEK, C., SCHIELE, B., et al., “Pedestrian detection: A
benchmark”. In: Computer Vision and Pattern Recognition, 2009. CVPR 2009.
IEEE Conference on, pp. 304–311, IEEE, 2009.
[6] VIOLA, P., JONES, M., “Robust real-time object detection”, International
Journal of Computer Vision, v. 4, n. 34–47, 2001.
[7] CASTRILLÓN, M., DÉNIZ, O., GUERRA, C., et al., “ENCARA2: Real-time
detection of multiple faces at different resolutions in video streams”, Journal
of Visual Communication and Image Representation, v. 18, n. 2, pp. 130–140,
2007.
[8] CLARKE SR, J. R., CLARKE, P. M., “Sleep detection and driver alert appa-
ratus”, Nov. 18 1997, US Patent 5,689,241.
46
[9] LEFAIX, G., MARCHAND, T., BOUTHEMY, P., “Motion-basedobstacle de-
tection and tracking for car driving assistance”. In: Pattern Recognition, 2002.
Proceedings. 16th International Conference on, v. 4, pp. 74–77, IEEE, 2002.
[10] COELINGH, E., LIND, H., BIRK, W., et al., “Collision warning with
auto brake”. In: FISITA 2006 World Automotive Congress: 22/10/2006-
27/10/2006, JSAE, 2006.
[11] GERONIMO, D., LOPEZ, A. M., SAPPA, A. D., et al., “Survey of pedestrian
detection for advanced driver assistance systems”, IEEE transactions on pattern
analysis and machine intelligence, v. 32, n. 7, pp. 1239–1258, 2010.
[12] GULER, S., FARROW, M. K., “Abandoned object detection in crowded pla-
ces”. In: Proc. of PETS, pp. 18–23, Citeseer, 2006.
[13] YANG, D. B., GONZÁLEZ-BAÑOS, H. H., GUIBAS, L. J., “Counting People
in Crowds with a Real-Time Network of Simple Image Sensors.” In: ICCV, pp.
122–129, 2003.
[14] GAO, X., BOULT, T. E., COETZEE, F., et al., “Error analysis of background
adaption”. In: Computer Vision and Pattern Recognition, 2000. Proceedings.
IEEE Conference on, v. 1, pp. 503–510, IEEE, 2000.
[15] WANG, Y., MENTORS PIETRO, P., CLAUDIO, F., “Foreground-Background
Segmentation of Video Sequences”, Mentors: Pietro Perona, Claudio Fanti, ,
2008.
[16] STAUFFER, C., GRIMSON, W. E. L., “Adaptive background mixture models
for real-time tracking”. In: Computer Vision and Pattern Recognition, 1999.
IEEE Computer Society Conference on., v. 2, pp. 246–252, IEEE, 1999.
[17] PHANG, C., PHANG, P., “Modified fast and exact algorithm for fast haar
transform”, International Journal of Computer Science and Engineering, v. 2,
n. 2, pp. 55–58, 2008.
[18] CROW, F. C., “Summed-area tables for texture mapping”, ACM SIGGRAPH
computer graphics, v. 18, n. 3, pp. 207–212, 1984.
47
[19] DALAL, N., TRIGGS, B., “Histograms of oriented gradients for human detec-
tion”. In: Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE
Computer Society Conference on, v. 1, pp. 886–893, IEEE, 2005.
[20] BENFOLD, B., REID, I., “Stable multi-target tracking in real-time surveillance
video”. In: Computer Vision and Pattern Recognition (CVPR), 2011 IEEE
Conference on, pp. 3457–3464, IEEE, 2011.
[21] SAID, Y., ATRI, M., TOURKI, R., “Human detection based on integral his-
tograms of oriented gradients and svm”. In: Communications, Computing
and Control Applications (CCCA), 2011 International Conference on, pp. 1–5,
IEEE, 2011.
[22] OTSU, N., “A threshold selection method from gray-level histograms”, Auto-
matica, v. 11, n. 285-296, pp. 23–27, 1975.
[23] CANNY, J., “A computational approach to edge detection”, IEEE Transactions
on pattern analysis and machine intelligence, , n. 6, pp. 679–698, 1986.
[24] PICCARDI, M., “Background subtraction techniques: a review”. In: Systems,
man and cybernetics, 2004 IEEE international conference on, v. 4, pp. 3099–
3104, IEEE, 2004.
[25] HANNES KRUPPA, M. C.-S., SCHIELE, B., “Fast and Robust Face Finding
via Local Context.”
[26] OVERETT, G., PETERSSON, L., BREWER, N., et al., “A new pedestrian da-
taset for supervised learning”. In: Intelligent Vehicles Symposium, 2008 IEEE,
pp. 373–378, IEEE, 2008.
48
	Capa
	Banca
	RespItalico
	ProjetoFundo

Continue navegando