Sunteți pe pagina 1din 48

I ESCOLA TCNICA DE OLMPIA CURSO TCNICO EM INFORMTICA

Rafael Marcos Marretto Lucas Rogrio da Silva Marcelino Regina Clia Barcelos Leite Josiane Borduchi de Lima

DETECO DE FLUXO DE VEICULOS UTILIZANDO BIBLIOTECA OPENCV

OLMPIA, SP 2012

II

Rafael Marcos Marretto Lucas Rogrio da Silva Marcelino Regina Clia Barcelos Leite Josiane Borduchi de Lima

DETECO DE FLUXO DE VEICULOS UTILIZANDO BIBLIOTECA OPENCV

Trabalho

de

Concluso

de

Curso de

apresentado

Escola Tcnica

Olmpia, Curso Tcnico em Informtica, como parte dos requisitos necessrios para a obteno do ttulo de Tecnlogo em Informtica, sob a orientao do Professor Ms.

OLMPIA, SP 2012

III

Rafael Marcos Marretto Lucas Rogrio da Silva Marcelino Regina Clia Barcelos Leite Josiane Borduchi de Lima

DETECO DE FLUXO DE VEICULOS UTILIZANDO BIBLIOTECA OPENCV

Trabalho

de

Concluso

de

Curso

apresentado, como parte dos requisitos necessrios para obteno do ttulo de Tecnlogo em Informtica, sob a orientao do Professor Ms. Aprovado em 26 de junho 2012

BANCA EXAMINADORA

______________________________________________ Nome do primeiro componente - instituio ______________________________________________ Nome do segundo componente - instituio ______________________________________________ Nome do terceiro componente - instituio

IV

Dedicamos esse trabalho a Deus por nos amar, por nos dar foras, por nos fazer sonhar.

V Agradecimentos

Agradecemos primeiramente a Deus que nos deu o Dom da Vida e que nos deu fora para chegar at o final dessa jornada. Aos que participaram de nossas vidas de forma direta, nossos familiares que nas horas difceis estavam sempre prontos para nos ajudar. Aos nossos mestres que ao longo desta caminhada nos ensinaram da melhor maneira possvel. Aos nossos colegas de sala, que com carinho dignidade companheirismo nos acompanhou nesta caminhada. E ao nosso professor e orientador Antonio Fernando Aguiar que nos auxiliou na elaborao deste estudo. Nosso muito obrigado pelo papel que cada um desenvolveu, sem o carinho e a companhia de cada um no chegaramos at aqui.

VI

Vencer sem luta triunfar sem glria. . Pierre Corneille

VII RESUMO Este trabalho apresenta uma metodologia voltada para o controle de trfego de veculos atravs do uso de tcnicas de viso computacional. Por ser um projeto vivel e de baixo custo, tambm por sua portabilidade e segurana, uma vez que necessita de uma pequena cmera digital ou uma cmera de vdeo para capturar as imagens de veculos em tempo real e aplicar mtodos de viso computacional para contagem atravs de algoritmos de Viola Jones e biblioteca OpenCv. Durante este estudo sero abordados conceitos de processamento de imagens e viso computacional com a finalidade de mostrar como importante o uso de tecnologias para aperfeioar o que o olho humano no capaz de enxergar. Palavras chave: Opencv, Processamento de imagem, Algoritmo viola-Jones.

VIII ABSTRACT This work presents a methodology turned to the vehicle traffic control using tecniques of a computacional vision. Being a viable and cheap project, also for its portability and security, needing of a small digital cmera or a vdeo camara to capture vehicle images in real time and to apply methodo of computacional vision to counting using Viola Jones algorithms e library OpenCv. During this study will be broached concepts of images processing using a computacional vision with or finality of shawing the importance of using technology to improve what the eye human isnt able to see.

Keywords : Opencv, , Image Processing, Algorithm viola-Jones.

IX Lista de Figuras
Exploso das vendas de veculos explica maior numero de acidentes ...........................................................11

Postos de contagem na malha rodoviaria brasileira............................................................................................13 A primeira imagem tirada da Lua. ....................................................................................................................... 15 Componentes de uma imagem............................................................................................................................ 16 Processador convertendo a imagem do frame buffer em imagem no seu monitor..............................................17 Um sistema PACS da empresa Agfa, com computador, scanner para filmes e jukebox (equipamento com discos magnticos e ticos para armazenamento)......................................................................................18 Sistema para arquivar imagens de satlite.......................................................................................................... 18 Camadas de um LCD.......................................................................................................................................... 19 O valor da imagem integral na posio 1 a soma dos pixels do retngulo A. O valor referente posio 2 igual a soma de A+B, para a posio 3 A+C e para a posio 4 A+B+C+D. Logo, a soma dos valores dos pixels do retngulo D pode ser calculada por 4+1-(2+3).....................................................................................23 O valor da imagem integral na posio 1 a soma dos pixels do retngulo A. O valor referente posio 2 igual a soma de A+B, para a posio 3 A+C e para a posio 4 A+B+C+D. Logo, a....................................24

X Sumrio 1 - Introduo............................................................................................................11 1.2 Malhas Rodovirias....................................................................................................13 2 Objetivos principais.............................................................................................16 2.1 Objetivos especficos ................................................................................................17 3 - Justificativa ...........................................................................................................18 4 - Mtodos utilizados ................................................................................................19 4.1 Processamentos de imagens.......................................................................................20 4.2 Processamento de imagens e seus componentes........................................................22 4.3 Processamento de imagens: Mtodos e Anlises.......................................................28 4.4 Opencv.......................................................................................................................32 Humano-Computador Interface (HCI)................................................................................32 Identificao de objetos......................................................................................................32 Sistema de reconhecimento facial.......................................................................................32 Reconhecimento de movimentos........................................................................................32 Gravao de vdeos.............................................................................................................32 Robs mveis......................................................................................................................32 Reconstruo 3D.................................................................................................................32 Realidade Virtual................................................................................................................32 Realidade Aumentada.........................................................................................................32 Realidade Misturada...........................................................................................................32 5 Metodologia ........................................................................................................34 5.1 Teoria envolvida.......................................................................................................35 5.2 Sistema proposto .......................................................................................................39

11

1 - Introduo

Nos ltimos anos, devido ao crescimento na economia e estabilidade financeira, houve um grande aumento no consumo das famlias brasileiras, bem como um grande aumento na compra de veculos e, com isso, gerando grandes conseqncias devido aos congestionamentos em avenidas e rodovias brasileiras. O elevado crescimento no fluxo de veculos tem sido motivo de preocupao para os rgos como DENATRAN, tendo em vista que, quanto mais automveis circulando, maior o nmero de congestionamentos e, ainda, maior o nvel de poluio, assim como a incidncia de acidentes ocasionados pela irresponsabilidade de motoristas embriagados e sem conscincia, que desrespeitam as normas e leis de trnsito.

12

Figura 1: Exploso das vendas de veculos explica maior numero de acidentes.

13

1.2 Malhas Rodovirias

Em 1977, o governo deu inicio ao Plano Nacional de Contagem de Trfego PNCT, que era responsvel pela coleta de dados do trafego na malha rodoviria brasileira sobre administrao do Departamento Nacional de Estrada e Rodagens DNER. O PNCT tinha as seguintes finalidades: Planejar o sistema rodovirio. Programar necessidades e prioridades de melhorias no sistema rodovirio. Medir a demanda atual de servios por via rodoviria. Estabelecer as tendncias de trfego no futuro. Determinar os volumes de viagens de forma a proporcionar justificativa econmica aos investimentos programados. Avaliar o fluxo existente de trfego em relao ao sistema rodovirio atual. Estimar os benefcios dos usurios nas rodovias. Estabelecer uma classificao do sistema rodovirio. Justificar e planejar o policiamento. Estabelecer o veculo de projeto para fins de projeto geomtrico. Projetar pavimento, obras de arte, seo transversal e outros elementos de rodovia. Estudos de localizao de postos de pesagem, socorro mdico emergencial e etc. Analisar a capacidade e estabelecer o Nvel de Servio. Realizar anlise estatstica de acidentes. Localizar e projetar instalaes para a operao rodoviria.

14 Os dados eram coletados por posto de contagem fixo nas rodovias brasileiras, com intuito de publicar relatrios que eram gerados anualmente para a utilizao e execuo de pesquisas. Porm, devido o alto custo de implementao e manuteno, era invivel manter os postos por longo tempo. Durante o tempo que o PNCT atuou (1977 a 2001) os postos estiveram em operao e posteriormente, com fim da PNCT, foram desativados.

Figura 2: Postos de contagem na malha rodoviaria brasileira

15 O numero de veculos particulares aumentou de forma significativa nos centros urbanos e rodovirios, surgindo a necessidade de planejamento que possa melhorar a eficincia no trnsito. Este planejamento demanda informaes sobre o fluxo de veculos em vias urbanas e rodovirios. Atualmente as coletas de informaes so feitas quase totalmente de forma manual por observao humana. O objetivo deste trabalho criar um software atravs de mtodos de processamento de imagem, utilizando a biblioteca opencv, fazer a segmentao do movimento dos veculos em um vdeo capturado por uma cmera e a contagem deles de forma automtica.

16

2 Objetivos principais

O objetivo da abordagem proposta neste artigo , atravs de sequncia de imagens (frames) de uma avenida, capturadas por cmera filmadora, aplicar tcnicas de processamento de imagens e viso computacional para segmentar o movimento dos veculos, e contagem, dando assim, suporte ao controle de trfego.

17

2.1 Objetivos especficos

Projetar um programa de baixo custo que invista numa viso computacional para planejar o fluxo de veculos visando planejamento urbano, controle do nmero de acidentes e reduzir os prejuzos causados com tantas vidas perdidas em condies irreversveis. Estabelecer alternativas para controle de trfego nos perodos de pico, conduzindo os automveis para locais menos congestionados. Calcular estimativas baseado em grficos que indiquem a movimentao do fluxo de veculos para os prximos meses.

18

3 - Justificativa

As pesquisas de fluxo de automveis so requisitos muito importantes para o planejamento, construo, conservao e segurana de trfego nas rodovias ou ruas urbanas e, atualmente, a coleta de dados de trfego no Brasil feita quase que inteiramente de forma manual. A pesquisa de trfego pode ser realizada visando a elaborao de projetos, a realizao de estudos especiais, ou, ainda, para planejamento rodovirio e urbano. Contudo, as pesquisas para planejamento no so comumente realizadas em nosso pas, talvez, por no haver, por parte do governo, uma conscientizao da importncia das pesquisas e do planejamento rodovirio e urbano.

19

4 - Mtodos utilizados

Com os avanos na rea da tecnologia, aumenta tambm o volume de informaes armazenadas de diferentes aspectos. A importncia na rea de recuperao da informao desses dados vem crescendo. Esta rea consiste em desenvolver e aplicar mecanismo computacional que possa recuperar informaes e analisar com mais preciso de maneira mais eficaz. O processamento de imagem e a biblioteca opencv, que sero utilizados neste projeto, so alguns dos mecanismos utilizados.

20

4.1 Processamentos de imagens

A rea de processamento de imagens uma das reas mais estudadas e est presente em diversas outras reas tais como Fotografia e Impresso Imagens de Satlite Processamento de imagens mdicas Deteco de face ou de objeto Biometria Astronomia

Uma das primeiras aplicaes de processamento de imagens, teve inicio no comeo do sculo XX, onde buscavam-se formas de aprimorar a qualidade de impresso de imagens digitalizadas, transmitidas atravs do sistema Bartlane de transmisso de imagens por cabo submarino entre Londres e Nova Iorque. Os primeiros sistemas Bartlane, no incio da dcada de 20, codificavam uma imagem em cinco nveis de intensidade distintos. Esta capacidade seria expandida, j em 1929, para 15 nveis. Trs dcadas mais tarde a rea de processamento de imagem teve uma grande importncia no programa espacial norte-americano, quando o uso de tcnicas de processamento de imagens foi utilizada para corrigir a primeira imagem da lua que, transmitidas por uma sonda Ranger, eram processadas por computador para corrigir vrios tipos de distoro inerentes imagem, feita pela cmera de TV acoplada sonda.

21

Figura 3: A primeira imagem tirada da Lua.

A 31 de Julho de 1964, a sonda Ranger 7 colide com a Lua. Dezessete minutos antes do impacto, registra esta imagem - a primeira imagem da Lua registrada por uma sonda americana. claro que a Ranger 7 tinha mesmo o intuito de colidir, transmitindo imagens detalhadas da superfcie lunar durante os seus ltimos momentos, como observamos na figura 3 (acima).

22

4.2 Processamento de imagens e seus componentes

O sistema de processamento de imagens possui vrios estgios, chamamos de componentes. Os componentes esto representados na figura 4, abaixo em forma de um diagrama.

Figura 4: componentes de uma imagem.

23 4.2.1 Aquisio

a etapa em que a imagem capturada atravs de dispositivos e organizada de forma bidimensional. Para que as informaes contidas nas imagens sejam expressas de forma simplificada, preciso que um sistema interaja com essas informaes e as convertam em sinais eltricos, para isto, bastando que haja um sensor de leitura e um digitalizador. O sensor de leitura pode ser uma cmera de TV ou uma cmera de varredura por linha.

4.2.2 Armazenamento

O armazenamento de imagens de grande interesse por parte da comunidade cientifica. Um exemplo que apresenta essa necessidade so os milhares de exames de diagnsticos atravs de imagens geradas em hospitais que, em alguns casos, podem chegar a mais de 45 Gbytes por dia. As imagens requerem grande quantidade de bytes tanto o armazenamento de curta durao, como quando esto sendo processadas e os armazenamentos em massa para operaes de recuperao de imagens relativamente rpidas, e arquivamento de imagens, para recuperao futura. O modo de armazenamentos repassado em escalas de bytes, um byte se refere 8 bits. KB ( kilobyte = 1000 bytes). MB ( megabyte = 1 milho de bytes). GB ( gigabyte = 1 bilho de bytes). TB ( terabyte = 1 trilho de bytes).

24

As imagens podem ser divididas em trs aspectos: Armazenamento de curta durao de uma imagem, enquanto ela utilizada nas vrias etapas do processamento Armazenamento de massa para operaes de recuperao de imagens relativamente rpidas Arquivamento de imagens, para recuperao futura quando isto se fizer necessrio. A etapa de armazenamento de curta durao utiliza a memria RAM ( Memria de acesso aleatrio), outra opo seria frame buffers. Frame buffers tem como funo armazenar e transferir para tela do computador dados de um quadro de imagem.

Figura 5: Processador convertendo a imagem do frame buffer em imagem no seu monitor. A informao gerida pelo 'framebuffer' consiste valores cromticos para cada pixel e suas transparncias. Quanto maior a imagem, maior a memria necessria para o framebuffer armazenar a mesma.

25 O armazenamento em massa, requer o uso de discos magnticos de algumas centenas de megabytes, ou ainda, discos magneto-pticos agrupados em jukeboxes.

Figura 6: Um sistema PACS da empresa Agfa, com computador, scanner para filmes e jukebox (equipamento com discos magnticos e ticos para armazenamento).

Nesta etapa o fator 'tempo de acesso' mais importante que a capacidade (em bytes) no meio de armazenamento. Fazendo um calculo (pixels na horizontal x pixels na vertical x n de bits em escala de cinza / 8), pode-se estimar a quantidade de bytes para o armazenamento de uma imagem monocromtica em disco. Por ltimo, Arquivamento de imagens requer grandes quantidades de bytes e, para isto, a fita de discos magnticos no suporta este tipo de imagem, WORM (Write-Once-Read-Many) seria mais vivel porque tem uma maior capacidade de armazenamento, podendo chegar at 10 GB.

26

Figura 7: Sistema para arquivar imagens de satlite

4.2.3 Processamento

O processamento de imagens expresso na forma de algoritmo, exceto na etapa de aquisio. A funo do processamento melhorar a imagem de forma que possa obter sucesso no processo seguinte. Para isso, devem ser aplicadas diversas funes para chegar ao objetivo esperado. As etapas do processamento funcionam com base em funes especificas ou via software. A utilizao de hardware para processamento necessria somente quando o computador tem varias limitaes na transferncia de dados.

4.2.4 Transmisso

Existem vrios meios de transmisso de imagem, sendo a internet uma das mais usada hoje em dia. Um dos problemas na transmisso a enorme quantidade de bytes enviada, principalmente na transmisso de vdeo onde requer sincronizao do udio e da imagem em tempo real.

4.2.5 Exibio

27 Os monitores de vdeo e as impressoras so os elementos fundamentais para exibio de imagens. Os monitores so capazes de exibir imagens com resoluo de pelo menos 640x480 pixels com 256 cores distintas. Os monitores mais recentes trabalham com tecnologia LCD ( liquid crystal display). As molculas de cristal lquido possuem formas que podem ser alinhadas, atravs de uma direo, quando sujeitas a campos elctricos. Isto permite a passagem da luz, consoante o alinhamento dessas molculas. Esta propriedade dos cristais lquidos faz com que estes sejam utilizados na fabricao de diversos tipos de tela.

Figura 8: Camadas de um LCD Quando se aplica uma tenso eltrica atravs dos eletrodos, o campo eltrico criado gira as molculas de modo que elas impeam a passagem da luz. O sinal aplicado pelos disparadores que abrem e fecham ento cada regio do LCD de modo que a luz passe ou seja bloqueada. Para cada ponto de imagem (pixel) temos assim trs aberturas para a passagem da luz, controladas por disparadores ou circuitos eltricos, que correspondem s cores bsicas RGB (red-green-blue).

28

4.3 Processamento de imagens: Mtodos e Anlises

O processamento de imagens certamente uma rea em crescimento. Diversos temas cientficos so abordados. A disciplina Processamento de imagens vem de Processamento de Sinais. Os sinais, como as imagens, so na realidade um suporte fsico que carregam no seu interior uma determinada INFORMAO que pode estar associada a uma medida ou pode estar associada um nvel cognitivo. Processar uma imagem consiste em transform-la sucessivamente com o objetivo de extrair mais facilmente a INFORMAO nela presente. O processamento de imagens parte da imagem ou de uma seqncia de imagens para obtermos a INFORMAO, uma imagem um conjunto de pontos que convergem para formar um todo. Anlise O termo anlise est relacionado parte do tratamento onde existe uma descrio da INFORMAO presente na imagem. Est parte chamada de parametrizao e nela que vrias medidas so utilizadas para descrever diferentes informaes dentro uma imagem. Algumas aplicaes tpicas so: clculo das formas, determinao da distribuio de uma populao e contornos de uma clula. Um processamento de imagens pode ser uma maneira geral divido nas seguintes etapas: Sistema processamento de imagens O mdulo de entrada constitudo por uma cmera que capta a imagem real de uma cena. Esta cmera envia a informao sob forma de sinal analgico de vdeo a um conversor analgico digital. A imagem, ento, representada na forma digital e discretizada espacialmente (ou seja em x e y ) e em luminncia (nvel de cinza).

29 O sinal de vdeo gerado pelo dispositivo de aquisio convertido em sinal discreto pelo conversor A/D, este conversor um dispositivo de converso especial para sinais de vdeo, onde a aquisio realizada segundo a padronizao de sinal de vdeo (linha a linha). Aps a converso da imagem pelo mdulo de converso analgica digital, cada intensidade indexa uma tabela de converso, est tabela conhecida como Look-up table ou simplesmente LUT. As LUTs so na realidade memrias que possibilitam a modificao das intensidades adquiridas por valores prprogramados .A imagem digital em seguida armazenada em uma memria principal de acesso exclusivo de um processador grfico. A imagem de sada geralmente reconstruda atravs de conversores digitais/Analgicos, onde so somados pulsos de sincronizao para gerao do sinal de vdeo, antes de ser reconvertido o sinal pode passar por outra LUT, desta vez a LUT de sada, que uma tabela de indexao dos nveis de cinza na imagem para os nveis de sado enviado ao display grfico, nas regies mais escuras a absoro da luz maior, nas mais claras estas so menores. As falsas cores permitem rapidamente relacionar as regies equivalentes em diferentes partes da imagem. Pixel e conectividade Um pixel (Picture element ou pel) o elemento bsico em uma imagem. A forma mais comum para o pixel a forma retangular ou quadrada, o pixel um elemento de dimenses finitas na representao de uma imagem digital, a organizao de uma imagem sob a forma de uma matriz de pixels feita em uma simetria quadrada, i.e., na forma de tabuleiro de xadrez. Regio de interesse Entende-se como regio de interesse a regio definida automaticamente a partir de parmetros obtidos na prpria imagem (ou por um usurio) onde o processamento estar totalmente concentrado.

30

Segmentao A segmentao consiste na primeira etapa de processamento da imagem quando consideramos uma anlise do ponto de vista da INFORMAO nela presente. A segmentao consiste em dividir a imagem em diferentes regies, que sero posteriormente analisadas por algoritmos especializados em busca de informaes ditas de alto nvel. A imagem composta de duas regies uma branca (fundo) e outra preta (clulas/objetos), esta imagem, com dois nveis de cinza, conhecida como imagem Binria. Uma imagem em nveis de cinza pode ser segmentada de duas maneiras ou consideramos a suas semelhana entre os nveis de cinza ou suas diferenas. Reconhecimento Reconhecimento a parte do processamento que vai classificar os objetos a partir de informaes encontradas na imagem, geralmente tendo como apoio uma base de conhecimento previamente estabelecida, nesta fase identifica e calcula parmetros nos objetos segmentados. Um exemplo de parmetros pertinentes a um objeto o seu permetro ou sua rea. Para construir um sistema de deciso que seja capaz de identificar estes dois objetos devemos segmentar a imagem em regies: objetos e fundo. Os objetos da imagem correspondem s reas dos pixels situados na regio escura da imagem. O fundo corresponde aqueles pixels situados nas reas claras da imagem. Esta etapa realizada atravs da criao de uma imagem binria onde classificamos dois nveis, aqueles correspondentes ao objeto e ao fundo. Na rea pr-classificada objeto, um indicador (label ) que os identifica, definidos por uma rea continua de pixels, podemos aplicar algoritmos que executem medidas especificas, como ares(A), permetro(P), posio na imagem(X,y), retngulo, que melhor se adapta a figura etc.

31

32

4.4 Opencv

OpenCV (Open Source Computer Vision Biblioteca) uma biblioteca de viso computacional para realizar funes de programao e processamento de imagens em tempo real. Multiplataforma, possui mais de 500 funes, foi desenvolvida pela Intel em 1999, inclui recursos avanados de deteco de rosto, rastreamento de face, filtros em Cascata e uma variedade de mtodos para fazer o monitoramento e contagem de veculos em vias urbanas.

reas de aplicao

Humano-Computador Interface (HCI) Identificao de objetos Sistema de reconhecimento facial Reconhecimento de movimentos Gravao de vdeos Robs mveis Reconstruo 3D Realidade Virtual Realidade Aumentada Realidade Misturada Segmentao Deteco de objetos Calibrao de cmeras Filtragem de imagens

33

34

5 Metodologia

Deteco de objetos usada para classe de objeto especificado ex: carros, rostos, placas, numa imagem ou uma seqncia de vdeo, tem muitas aplicaes na viso por computador, tais como rastreamento de objetos, reconhecimento de objetos, e vigilncia de cena. A deteco de objeto e faces tem sido considerado como uns dos problemas mais complexo e desafiador no campo da viso computacional, devido s grandes variaes. Para a criao deste projeto nos utilizamos mtodo de Viola Jones que vo ser descritos abaixo, Paulo Viola e Michael Jones apresentou um mtodo rpido e robusto para a deteco de objeto, que 15 vezes mais rpido do que qualquer tcnica, no momento da liberao com uma preciso de 95% em cerca de 17 fps, atualmente o mtodo utilizados para deteco faces e deteco de objeto.

35

5.1 Teoria envolvida

Hoje em dia um cresce o numero de aplicaes requerem sistemas de deteco de objetos, rpida e confivel. O sistema mais eficiente que utilizamos foi de Viola-Jones o mais conhecido como classificador de cascata. Algoritmo de Viola e Jones para a deteco um mtodo especialmente bem sucedida, j que tem uma baixa taxa de erros. A implementao oferecido pela Opencv para deteco de objetos um algoritmo mais completo. altamente desejvel para usar este mtodo verstil para qualquer um que queira trabalha nesta rea. A aplicao OpenCV tem um tutorial pobre em referncia criao de classificadores. Durante essa fase do projeto foi desenvolvida a parte do sistema responsvel pela deteco de carros em um vdeo, sendo utilizado o algoritmo de Viola e Jones, baseado em filtros de classificadores. Segundo Viola e Jones, seu mtodo possui trs contribuies principais que o distingue de outros algoritmos e o torna computacionalmente mais eficiente, elas so:

Uma Imagem Integral para a deteco caracterstica rpida O mtodo de aprendizagem de mquina AdaBoost Um classificador em cascata para combinar muitos recursos de forma eficiente

A tcnica da imagem integral foi utilizada para que fosse possvel computar de forma eficiente a presena ou no de uma Haar-like feature em cada uma das diversas posies e escalas que uma janela de observao pode ser colocada na imagem em que se quer detectar um objeto. Para isso, como o termo integral pode sugerir, feita a soma dos valores de todos os pixels presentes acima e a esquerda de um pixel em especfico podendo esse ser representado por um ponto (x,y) da imagem. Aps a integrao, obtm-se para cada pixel da imagem o valor da soma

36 dos pixels do retngulo formado pelo canto da origem da imagem (canto superior esquerdo) e pela localizao do pixel em questo, assim, para descobrir o valor mdio dessa regio, basta dividir o valor obtido pela rea do retngulo.

Figura 9: O valor da imagem integral na posio 1 a soma dos pixels do retngulo A. O valor referente posio 2 igual a soma de A+B, para a posio 3 A+C e para a posio 4 A+B+C+D. Logo, a soma dos valores dos pixels do retngulo D pode ser calculada por 4+1-(2+3)

Essa tcnica utilizada para saber se presena ou no haar-like feature em determinada posio na imagem, pois utiliza exatamente os resultados obtidos com a imagem integral. Para saber se a presena de haar-like feature determinada pela subtrao da mdia dos valores dos pixels da regio considerada escura com a regio clara um exemplo da figura 10 entre todas as faces da regio dos olhos mais escuro do que a regio das bochechas, se a diferena estiver acima de um limiar, ou seja, realmente existe uma regio mais clara e outra mais escura, ento pode ser verificada a existncia da feature. Ao lado, pode-se observar o que seriam as haar-likefeature na figura 10 e a sobreposio delas em uma imagem para avaliar sua presena na figura 11 .

Figura 10: Exemplos de haar-likefetures.

37

Figura 11: Exemplo de sobreposio de fetures em uma face.

O algoritmo de aprendizado baseado em AdaBoost utilizado para definir quais das diversas features existentes sero utilizadas e tambm os valores dos limiares a que estaro sujeitas. O que Viola e Jones observaram foi que um numero de classificares fraco pode formar um classificador forte, problema a escolha de quais features so as mais adequadas. Para isso, a etapa realizada pelo algoritmo de AdaBoost responsvel pela escolha de uma feature para treinar cada classificador para que ele consiga separar, da melhor maneira possvel, amostras positivas e negativas

. Imagens classificadas como negativas


Figura 12:- Estrutura que representa o detector em cascata.

O funcionamento bsico de uma estrutura como essa ocorre pela passagem de todas as sub janelas de uma imagem por diversos classificadores, sendo os primeiros mais simples que os seguintes. Se for obtido um resultado positivo pela anlise do primeiro classificador, a janela segue para o seguinte, que se tambm for aprovada, continua pelos prximos classificadores at ser rejeitada ou ento chegar ao final da cascata. Em qualquer uma das etapas, uma janela pode ser rejeitada, isso quer dizer que o detector entende que ali um carro no est presente figura 12.

38 A estrutura dessa cascata reflete uma caracterstica particular de um processo de deteco que consiste na existncia de uma quantidade muito maior de sub janelas negativas em uma imagem do que sub janelas positivas, ou seja, que contenham carros. Assim, tem-se como objetivo rejeitar o maior nmero de janelas negativas logo nas primeiras etapas fazendo com que apenas janelas positivas continuem pelo processo de deteco. Isso interessante, pois quanto mais se caminha pela estrutura em cascata, passa-se por classificadores mais complexos, e que, portanto exigem um custo maior de processamento. Logo, quanto antes uma janela negativa rejeitada mais eficiente se torna o processo, pois requisita que apenas janelas positivas, que um evento raro, passem por toda a rvore. Em cada etapa do treinamento o classificador se torna mais custoso ao processador, pois a medida que ele avana eles so treinados com os exemplos que passaram por todas as etapas anteriores. Conseqentemente, os classificadores que surgem posteriormente se deparam com uma tarefa de classificao mais difcil.

39

5.2 Sistema proposto

Para criao do projeto foram preciso uma cmera digital, um computador e uma biblioteca opencv. A cmera de marca Cmera Kodak EasyShare c1013 para nos gravarmos um vdeo de uma via urbana para a utilizao do filtro de cascata, o computador pode ser porttil ou para desktop com sistema operacional Windows 7 Professional, openCV distribudo gratuitamente sob uso acadmico e comercia, j possui uma implementao do mtodo explicado, bem como um filtro em cascata treinado para detectar faces, no nosso caso queremos detectar carros para isto teremos que treinar nosso prprio filtro de cascata. As principais etapas do nosso projeto so:

1. A coleta de dados 2. Criao amostras 3. Haartraining 4. Encontrando objeto 5. Rastreamento e contagem

40 5.2.1 Primeiro Passo Coleta de Dados

Para treinar precisamos de um conjunto de amostras negativas e positivas, para coletar as amostras so feito manualmente onde as amostras negativas so imagens de fundo que no contem o objeto de interesse e positivas o nosso objeto de interesse e separar em pastas diferente.

Figura 13: amostras em pastas diferentes.

Imagens negativas:

Figura 14: amostras negativas.

Estas so as imagens de fundo que no contm objetos de interesse, a fim de treinar classificador Haartraining.Usamos 1363 imagens negativas ( recomendado que o nmero de amostras negativas deve ser o dobro do resultado das positivas). Imagens Positivas:

Figura 15: amostras positivas.

Estas so imagens que contm apenas os objetos de interesse, usamos 563 amostras de imagens positivas, para isto foi preciso uma cmera e vrios softwares descritos logo mais abaixo para poder ter nosso classificador: Cmera Kodak easyShare c1013

41

Free Video To JPG

ImageClipper

UltraEdit.

A cmera foi utilizada para gravar um vdeo onde tem nosso objeto de interesse. O FreeVideoTo JPG para nos termos acesso a cada frame do vdeo. ImageClipper que nos permiti marcar nosso carro e salvar as dimenses da imagens altura e largura e a posio da imagem x e y, nos devemos geramos um arquivo de texto na pasta que contem amostras positivas e negativas com todos os nomes das imagens como pode ver na figura 16.

42
Figura 16: arquivo de texto contendo os nomes das amostras

O opencv_createsamples que vamos ver no passo seguinte, tem a funo de gerar um vetor com os nomes das nossas amostras ,o opencv_createsamples no entende o texto descrito na figura 16 pra formar nosso vetor 18. preciso utilizar o UltraEdit a fim de modificar o arquivo de texto para ter o resultado igual a figura 17 e

Figura 17: arquivo de texto das amostras positivas depois de modificado com UltraEdit.

E as negativas na figura 18.

Figura 18: arquivo de texto das amostras negativas depois de modificado com UltraEdit .

5.2.2 Segundo Passo Criao amostras

Nesta etapa, criamos amostras de formao a partir das imagens recortadas criados na primeira etapa. Arquivo de descrio positiva e arquivo vec:

43 Para gerar um arquivo .vec utilizamos o opencv_createsamples que fornecido pela biblioteca opencv(a partir do diretrio instalado ) a fim de obter um vetor de amostras positivas. opencv_createsamples usado para preparar um conjunto de dados de formao de amostras positivas e teste. opencv_createsamples produz conjunto de dados de amostras positivas em um formato que suportado tanto pelo opencv_haartraining .

5.2.3 Terceiro Passo: Haartraining

Nesta etapa onde Haartraining geram um arquivo XML contendo informaes do nosso treinamento que vai ser utilizado no nosso video. Comando Para uso do Haartraining no cmd. -data<Nome > (exe.Onde vamos salvar nosso arquivo de treinamento) -Vec<nome do nosso vetor> (exe. positivo/positivo.vec) -Bg<arquivode texto negativo>(negativo/negativo.txt) -NumPos< numero de positivas> -NumNeg< numero de negativas > Nmero de amostras positivas / e amostras negativas utilizadas em treinamento para cada fase de classificao. - Mem < memria disponibilizada para treinamento > -Mode <BASIC (default) | Core | ALL>

44 Seleciona o tipo de caractersticas Haar definidos usados no treinamento. BASIC uso apenas caractersticas verticais, enquanto ALL utiliza o conjunto completo de rotao graus na vertical e 45 conjunto de recursos -W <largura das amostras> -H <altura das amostras>

Tamanho de amostras de treinamento (em pixels). Deve ter exatamente os mesmos valores que utilizados durante a criao do treinamento amostras (opencv_createsamples utilitrio).

5.2.4 Quarto Passo: Encontrando objeto

A idia principal era distinguir rapidamente entre esttica de fundo e objetos em movimento. Os mtodos mais fceis pensavam foi utilizar a funo HaarDetectObjects . A funo encontra regies retangulares na imagem iguais nossos objetos e retorna uma seqncia de retngulos e armazena na memria criada pelo parmetro da funo. Outra abordagem que ajuda a melhorar a preciso do reconhecimento de HaarDetectObjects suavizar o rudo do vdeo com a funo cvSmooth da biblioteca.

5.2.5 Quinto Passo: Rastreamento e contagem

45 Para o rastrearmos, acessamos cada elemento individual e executamos a funo CvRect *r para criar um retngulo em volta do nosso objetos .

Figura 19: automvel rastreado.

Para contar a quantidade de carros que realmente passaram, vamos ver se o elemento maior que nosso retngulo da nossa seqncia e verificar quando a atualizao ltima posio de um candidato foi feita na posio 170 Y . Se o elemento no foi visto considerado como carro.

Figura 20: contagem do automvel.

6 Concluso

46 O objetivo inicial deste trabalho era propor um programa de deteco de veculo com base na comparao quadro a quadro utilizando mtodos de processamento de imagem e algoritmo de Viola Jones tendo como principal diferencial inovador a portabilidade. Os exemplos escritos foram implementados utilizando a biblioteca openCV desenvolvida pela Intel distribudo e seu site gratuitamente. Fazendo uma anlise geral dos resultados, pode-se concluir que o objetivo foi alcanado, a escolha do algoritmo de Viola Jones se deve a baixa taxa de erros e o fato de enquadrar na situao apresentada.

7 Referencias http://www.dnit.gov.br

47

http://code.google.com/p/cvblob/wiki/FAQ http://opencv.willowgarage.com/documentation/motion_analysis_and_object_tracking .html http://www710.univ-lyon1.fr/~bouakaz/OpenCV0.9.5/docs/ref/OpenCVRef_Motion_Tracking.htm http://note.sonots.com/SciSoftware/haartraining.html#n43ec47f http://www.cs.tau.ac.il/projects/computervisionworkshop/ http://mmlab.disi.unitn.it/wiki/index.php/Vehicle_tracking_in_complex_environments_for_s urveillance_applications http://se.cs.ait.ac.th/cvwiki/opencv:tutorial:haartraining http://nayakamitarup.blogspot.in/2011/07/how-to-make-your-own-haar-trained-xml.html http://www.computer-vision-software.com/blog/2009/11/faq-opencv-haartraining/ http://code.google.com/p/tutorialhaartraining/source/browse/trunk/HaarTraining/src/vec2img.cpp?spec=svn59&r=59 http://www.cs.utah.edu/~turcsans/DUC_files/HaarTraining/ http://madeintm.blogspot.com.br/ http://wearlab.wordpress.com/2010/09/03/haartraning-opencv-machine-learning/

11 http://www.hci.iastate.edu/575x/doku.php?id=cpilson:homework:hw3 http://www.dnit.gov.br/rodovias/operacoes-rodoviarias/convenios-com-a-ufsc/convenio00562007-p2-f3-produto-3.pdf http://cgi.cse.unsw.edu.au/~cs4411/wiki/index.php?title=OpenCV_Guide#Smooth_Image http://research.microsoft.com/en-us/um/people/viola/Pubs/Detect/violaJones_IJCV.pdf http://en.wikipedia.org/wiki/Viola%E2%80%93Jones_object_detection_framework http://experienceopencv.blogspot.com.br/2011/02/cascade-classifier-and-facedetection.html http://www.bitabit.eng.br/2011/02/21/como-detectar-faces-em-videos/ http://docs.opencv.org/trunk/doc/user_guide/ug_traincascade.html

S-ar putea să vă placă și