Real time people couting

Text-only Preview

1


UNOPAR-PR - CENTRO DE CIENCIAS EXATAS E TECNOLOGICAS
ENGENHARIA DA COMPUTACAO

RODRIGO FARIAS REZINO





















CO
NTAGEM DE PESSOAS
EM TEMPO REAL UTILIZANDO

TECNICAS DE CO

MPUTACAO GRAFICA



















LONDRINA
2011





2

RODRIGO FARIAS REZINO














CONTAGEM DE PESSOAS EM
TEMPO REAL UTILIZANDO

TECNICAS DE COMPUTACAO GRAFICA








Trabalho de Conclusao de Curso apresentado a

Universidade Norte do Parana - UNOPAR, como
requisito parcial para a obtencao do titulo de Engenheiro

em Engenharia Da Computacao.


Orientador: Ms. Rodrigo Lankaites Pinheiro












Londrina
2011

3

RODRIGO FARIAS REZINO






CONTAGEM DE PESSOAS EM TEMPO REAL UTILIZANDO


TECNICAS DE COMPUTACAO GRAFICA







Trabalho de Conclusao de Curso

aprovado, apresentado a UNOPAR -

Universidade Norte do Parana, no Centro de Ciencias Empresariais e Sociais

Aplicadas, como requisito parcial para a obtencao do titulo de Bacharel em Nome

do Curso, com nota final igual a _______, conferida pela Banca Examinadora

formada pelos professores:



Prof. Orientador
Universidade Norte do Parana



Prof. Membro 2
Universidade Norte do Parana



Prof. Membro 3
Universidade Norte do Parana
Londrina, 10 de junho de 2011.


4

AGRADECIMENTOS
Ao Prof. Rodrigo Lankaites Pinheiro, meu orientador que acreditou no meu
trabalho e me ajudou a desenvolver um trabalho de qualidade.
Ao Prof. Fernando Accorsi pelas aulas de Computacao Grafica que foram
utilizadas em varios pontos do desenvolvimento do projeto.
Ao Prof. Jacques Facon, por me expor a uma nova area da Computacao
Visual, a Morfologia Matematica que e expandiu em muitos aspectos as
possibilidades de resolucoes de problemas.
Aos demais professores da Universidade Norte do Parana, que contribuiram
para meu desenvolvimento tecnico e pessoal.
Aos meus amigos de faculdade por tornarem a jornada da graduacao mais
divertida.
A empresa em que trabalho Veltec Solucoes Tecnologicas, por me fornecer
os materiais necessarios para auxiliar no desenvolvimento do projeto.
Aos meus companheiros de trabalho em geral, por criarem sempre situacoes
desafiadoras em minha vida profissional que foram fundamentais para adquirir o
conhecimento necessario para desenvolver o projeto.
E especialmente, muito especialmente aos meus amigos que influenciaram e
influenciam minha vida, tornando-a muito prazerosa e muito interessante.
A alguns irmaos de vida, que nao poderia deixar de enfatizar, Acleilton Lucio
Ganzert Filho, Alisson Avancini, Victor Eduardo Cobo, Cleberson Farias, Roberto
Emanuel de Souza Santos.
Aos meus tios, tias, primos, primas, por sempre me darem forca e me darem o
prazer de fazer parte de uma familia doida, porem, a melhor possivel.
A minha familia que tanto amo, minha mae Solange Farias Rezino, meu pai
Irineu dos Santos Rezino, minha irma Larissa Farias Rezino e minha vo Aurora da
Silva Camargo.
A Deus, por me ajudar, me guiar sempre e por ter me enviado um anjo da
guarda tao porreta.

5














































"I've got a very poor sense of direction. I keep
forgetting which way is forwards."
Geoffrey Parfitt









6

REZINO, Rodrigo. Contagem de pessoas em tempo real utilizando
tecnicas de Computacao Grafica. 2011. Numero total de folhas. Trabalho de
Conclusao de Engenharia da Computacao - Centro de Ciencias Exatas e
Tecnologicas, Universidade Norte do Parana, Londrina, 2011.
RESUMO
A contagem de FP (fluxo de pessoas) tem sido utilizada em varias areas para
identificar inumeros comportamento e levantar dados que podem ser aplicados em
inumeros seguimentos. Em sistemas que utilizam a computacao grafica como
ferramenta principal de contagem que e o caso do sistema desenvolvido no trabalho
sao dispostas cameras em lugares estrategicos do ambiente que deve ser
monitorado a fim de ter um posicionamento que forneca imagens relevantes ao
processamento do algoritmo de FP. Para esse processo diversas bibliotecas tem
sido especializadas ao longo dos anos, uma que tem grande destaque em
processos de manipulacao de imagens e a OpenCV (Open Source Computer
Vision). Essa biblioteca tem sua implementacao feita em C/C++ e tem foco na
otimizacao dos processos de computacao grafica, essa preocupacao em otimizacao
das funcoes disponibilizadas pela biblioteca e devido a preocupacao da mesma em
atender os sistemas que tem a necessidade de processamento em tempo real das
imagens, que e o caso do tema do TCC.
Palavras-chave: Computacao Grafica, OpenCV, C/C++, Fluxo de Pessoas





7

REZINO, Rodrigo. Real time people couting using Computing Graphics.
2011.Trabalho de Trabalho de Conclusao de Engenharia da Computacao - Centro
de Ciencias Exatas e Tecnologicas, Universidade Norte do Parana, Londrina, 2011.




ABSTRACT

The FP has been used in different areas to identify a lot of behaviors and
extract informations from image data that can be applied in many segments. In
computer systems that uses computer graphics as the main tool of people counting
that is the propose of this paper, cameras are arranged in strategic places in the
environment that should be monitored in order to take a position that will provide
relevant images to FP processing algorithm. For this process, techniques and
algorithms have been specialized over the years, in this area a library that has great
emphasis on image processing is the OpenCV(Open Source Computer Vision). This
library has it implementation developed in C/C++ and has as main focus the
optimization of the process, this concern in the functions optimizations gives it users
the possibility to create applications that need real time images processing.



Key-words: Graphic Computing, OpenCV, C/C++, Flow of People



8

LISTA DE FIGURAS
Figura 1 - Areas da Computacao Grafica ................................................................. 15
Figura 2 - Exemplo de Imagem Vetorial e Matricial ................................................. 16
Figura 3 - Canais de Cores RGB ............................................................................. 16
Figura 4 - Exemplos de Elementos Estruturantes .................................................. 17
Figura 5 - Imagens resultantes de operacoes morfologicas .................................... 17
Figura 6 - Convex Hull aplicado para definir menor fronteira de conjunto de pontos
................................................................................................................................. 18
Figura 7 - Operacao Flood-Fill Four Directions ....................................................... 18
Figura 8 - Operacao Flood-Fill Eight Directions ...................................................... 19
Figura 9 - Imagem do posicionamento correto da camera ...................................... 21
Figura 10 - Tela principal do prototipo ..................................................................... 22
Figura 11 - Imagem de entrada para o processo com o filtro Gaussiano ................ 25
Figura 12 - Imagem resultante processada com filtro Gaussiano............................ 25
Figura 13 - Imagem de entrada e resultando do processo de reducao ................... 26
Figura 14 - RGB utilizado como XYZ ....................................................................... 27
Figura 15 - Imagem de entrada e resultando do processo de deteccao de
movimentos .............................................................................................................. 28
Figura 16 - Pseudocodigo do processo distincao dos niveis dos pixels .................. 29
Figura 17 - Imagem de entrada e resultando do processo distincao dos niveis dos
pixels ........................................................................................................................ 29
Figura 18 - Imagem de entrada do processo de identificacao de objetos ............... 30
Figura 19 - Imagem resultante do processo de identificacao de objetos ................. 30
Figura 20 - Imagem de entrada do processo de uniao de objeto ............................ 31
Figura 21 - Situacao 1 de problema encontrado para solucao no algoritmo de uniao
de objetos ................................................................................................................. 32
Figura 22 - Situacao 2 de problema encontrado para solucao no algoritmo de uniao
de objetos ................................................................................................................. 32
Figura 23 - Situacao 3 de problema encontrado para solucao no algoritmo de uniao
de objetos e resultado da uniao dos objetos ............................................................ 33
Figura 24 - Imagem de entrada para o algoritmo de uniao de objetos .................... 33
Figura 25 - Imagem do processamento intermediario do algoritmo que visa
identificar as regioes de abrangencia dos objetos .................................................... 34

9

Figura 26 - Imagem resultante do algoritmo de uniao de objetos ............................ 34
Figura 27 - Imagem de entrada para o algoritmo de remocao de objetos ............... 35
Figura 28 - Imagem resultante do algoritmo de remocao de objetos ....................... 35
Figura 29 - Imagem de entrada para o algoritmo de deteccao de possiveis positivos
................................................................................................................................. 36
Figura 30 - Imagem de resultante do algoritmo de deteccao de possiveis positivos
................................................................................................................................. 36
Figura 31 - Imagem das regioes de entrada e saida ............................................... 37
Figura 32 - Imagem resultando do processo de contagem do fluxo de pessoas ..... 38
Figura 33 - Pseudocodigo do algoritmo do projeto .................................................. 39





















10

LISTA DE TABELAS
Tabela 1 - Valores de configuracao do projeto............................................... 23