Detecção de Infração em faixa de pedestres sem semáforos utiizando visão computaciona e redes neurais Aves, B. G. C.; ima, A. C. de C. Departamento de Engenharia Eétrica - Escoa Poitécnica - UFBA, R. Aristides Novis, CEP 4010-630 - Savador - Bahia - Brasi E-mais:brufonte@hotmai.com; acdc@ufba.br Resumo Neste trabaho são associadas às ferramentas de Redes Neurais e processamento de Imagens com o obetivo de identificar corretamente a infração, presença de veícuos e pessoas sobre a faixa de pedestres, cometida por veícuos em faixas de pedestres que não dispõem de semáforos, através de um software feito no C++ Buider5. Para isso foi feita a utiização de técnicas básicas de detecção de bordas, untamente com uma soução especifica desenvovida neste trabaho que mehora o processo de detecção das mesmas, faciitando assim o reconhecimento de veícuos na faixa de pedestres por padrões geométricos, deixando só as informações necessárias para que a rede neura utiizada convergisse para um espaço de soução satisfatório para a identificação da presença de pessoas na faixa de pedestres. A utiização de redes neurais para identificação de pessoas na faixa veio da grande dificudade encontrada com utiização de outros métodos, da sua exceente capacidade de reconhecer padrões em tempo rea, mesmo quando o espaço de pontos a ser utiizado é grande. Como resutado, demonstra-se que o agoritmo desenvovido é bem sucedido, proporcionando a resoução do probema aqui citado com uma taxa de acerto acima de 94%. 1. Introdução A criação da faixa de pedestres veio com a finaidade de mehorar o andamento do transito de carros e pedestres, permitindo que o desocamento de ambos pudesse existir de forma harmônica. Os artigos 70 e 71 do Código Naciona de Transito dizem que: os pedestres que estiverem atravessando a via sobre as faixas deimitadas para este fim terão a prioridade de passagem, exceto nos ocais com sinaização semafórica, onde deverão ser respeitadas as disposições deste Código. Como diz o código citado acima existem faixas que tem seu controe de preferência feito por semáforos e outras que não. Nas que não tem o seu controe reaizado por semáforo, o pedestre tem a prioridade. Assim com base em garantir o cumprimento da ei e a devida punição para aquees que venham a descumpri-a, nasceu a idéia de desenvover um agoritmo e um software que reaize o processo de detectar a infração do automóve para aquea faixa que não possui semáforo. Dentro deste contexto este trabaho tem o obetivo de achar uma soução para o probema de detecção da infração em tempo rea. A detecção da infração foi dividida assim em duas partes. A primeira é a identificação de veícuos na faixa de pedestres e a segunda é, uma vez que a presença de veícuos foi detectada, verifica-se a existência de pessoa(s) na faixa. Em cada uma das etapas foi feita uma anaise detahada de quais características podiam ser utiizadas e extraídas para o reconhecimento dos dois padrões deseados, e assim reaizar a identificação de infração de forma correta.. Materiais e Metodoogia Para a reaização deste trabaho foi feita a utiização de uma câmera de fimagem digita da Sony, de um computador com memória RAM de 56MB e um processador ceeron 1.3GHz, da ferramenta de simuação e programação Matab 7.1 e da ferramenta de programação C++ Buider 5. Em seguida foi feita a gravação de vários arquivos de vídeos no formato MPG e com uma resoução de 480 por 640 pixes com um tamanho de gravação variando entre dois e três minutos, correspondendo a diferentes faixas de pedestre sem semáforo. Iniciamente foi feita a captura de vários frames de cada arquivo de vídeo com o software Breeze 5.4.1 ight, gerando assim uma seqüência de imagens em formato JPG contendo imagens sem a presença de veícuos e pessoas, com a presença apenas de veícuos, com presença apenas de pessoas e com a presença de ambos. Dois tipos de pastas foram geradas, uma contendo imagens para os teste da presença de veícuos e identificação de infração, e outra para o treinamento da rede neura. O passo seguinte foi então o desenvovimento de um agoritmo que fosse capaz de segmentar a imagem de forma a deixar apenas as informações de interesse para a identificação do padrão veícuo(s), e veicuo(s) e pessoa(s). O padrão comum a todos os veícuos é a
presença da roda. Esta pode ser identificada pea presença da ante ou caota, tendo uma forma geométrica circuar. O padrão circuar pode ser facimente identificado, independente de seu tamanho, com base apenas no seu perímetro e em sua área [1]. Com isso temos: 4 π Area FC = (1) P Area P = π r = π r () (3) Essa reação para um obeto com formato de circuo adquire o vaor unitário, proporcionando assim uma maneira para a identificação de veicuo(s) na faixa. Com base na equação 1 foi desenvovido um agoritmo que fosse capaz de segmentar a imagem deixando-a na mehor maneira para que o cacuo de FC pudesse ser reaizado. A presença de pessoas na faixa não revea nenhum padrão básico que possa ser utiizado de forma confiáve a poder garantir uma ata taxa de acertos. Existem varias possibiidades quanto a este padrão pessoa(s), como, por exempo, uma única pessoa, varias pessoas agrupadas ou superpostas, pessoas separadas, pessoas separadas e agrupadas. Junto a tudo isso ainda existem combinações de tamanhos e formas diferentes que as combinações citadas acima podem assumir, devido a fatores como tamanho, peso, tipo de roupa, cor da roupa e variações cimáticas. Devido a isso o método que fosse utiizado para reaizar esta tarefa teria que ter uma capacidade de reconhecer essas diferentes variações, com uma ata taxa de acerto, acima de 90% e em tempo rea. Assim a opção mais simpes encontrada foi à utiização de redes neurais. 3. Detecção de veícuo (s) na faixa Para reaizar a detecção de veícuos na faixa de pedestres foi desenvovido um agoritmo que fosse capaz de segmentar a imagem de forma a conseguir mostrar a borda das antes e caotas das rodas, independente da condição cimática, das sombras e em tempo rea. Para a reaização deste agoritmo o primeiro passo foi reaizar a detecção das edges. Existem vários métodos para a reaização desta tarefa. Os mais comuns e que na maioria das situações apresentam bons resutados são Prewitt [], Sobe [] e Canny [3]. Deste três métodos citados apenas Sobe e Canny foram impementados. O argumento para a não utiização de Prewitt é que este apresenta uma maior sensibiidade a ruído do que Sobe. Estes métodos geraram imagens muito suscetíveis a variações de uminosidade, o que impicou na constante ateração de aguns de seus parâmetros para que a taxa de acerto não fosse aterada devido a essa variação. Para Sobe o parâmetro é um vaor imite, onde os pixes que tiverem vaor acima ou igua a ee assumem o vaor 55 enquanto os que estiverem abaixo assumem o vaor 0. Para Canny os parâmetros eram o desvio padrão, os imites inferior e superior de supressão. Essa constante necessidade de mudanças nos parâmetros destes métodos inviabiizava a característica de independência em reação à variação da uminosidade. Para a resoução deste probema foi desenvovido um agoritmo especifico, que em conunto com a de detecção de edges, permite quase que tota independência em reação à variação de uminosidade, gerando as bordas deseadas de forma correta. Este agoritmo reaiza a criação de uma mascara quadrada, de dimensão impar fornecida peo usuário. Varrendo a imagem da esquerda para a direita e de cima para baixo, anaisando cada pixe I ( x, da imagem I através da equação 4. i= = I( x + i, y + ) M ( x, = (4) n O pixe I( x, em questão é anaisado para ver se ee é maior que M ( x, ou se ee satisfaz a equação 5. ( I( x, M ( x, ) M ( x, T Onde T é um vaor percentua imite fornecido peo usuário, em que o pixe I( x, deve estar abaixo em reação a M ( x,. Se o pixe em anaise satisfazer esta condição ee assumirá o vaor 55, se não seu vaor será 0. Este método é chamado de detecção de borda por média. Com este agoritmo é possíve encontrar as bordas das caotas e antes de forma correta, sem fahas ou descontinuidades. Mesmo contendo dois parâmetros de entrada, estes têm vaores que podem ser encontrados facimente, gerando a imagem deseada e independente da variação de uminosidade. Uma vez que a imagem é segmentada, resta agora cacuar o fator geométrico FC. No entanto com pode ser visto na figura 1, as antes e caotas produzem círcuos com vários buracos e isto impossibiita o uso da equação 1. Assim foi utiizado um agoritmo que busca os obetos presentes e preenche seus espaços vazios(preto) cassificando ees como circuo ou não, com base na equação 1. Este agoritmo também faz uma fitragem por área, eiminando obetos com vaores de área inferior a uma certa porcentagem da área tota, o que deixa só informações pertinentes para serem anaisadas tanto na fase de detecção de carro como de (5)
pessoa. Assim o agoritmo competo para a detecção de carro é como mostrado abaixo. 1. Inicia a eitura do arquivo. Captura o frame 3. Converte de RGB para tons de cinza 4. Faz a suavização da imagem com uma mascara de dimensão 3x3, gerada através de uma função gaussiana de desvio padrão 1. 5. Faz a detecção das edges com uma mascara obtida através da derivada da função gaussiana. 6. Apica-se o método de detecção de borda por media. 7. Apica-se o método de detecção de circuo. 4. Detecção de pessoas Como ustificado na seção, a utiização de redes neurais para o reconhecimento de pessoas na faixa de pedestre se mostrou a mehor soução para esta tarefa. A idéia básica consiste em utiizar uma rede simpes e que resova o probema de detecção com uma ata taxa de acerto. Para isso resoveu-se iniciamente utiizar uma rede de mútipas camadas aimentada adiante, tendo uma camada de entrada, uma camada ocuta composta de quatro neurônios e um neurônio de saída. A utiização de apenas um neurônio se dá peo fato de que a rede só precisa dar uma resposta positiva ou negativa, indicando assim a presença de pessoa(s) ou não. Para reaizar o treinamento da rede foi escohido o agoritmo de retropropagação de erro, por este á ter sido apicado com grande sucesso para resover diversos probemas de grande dificudade em conunto com a rede de mútipas camadas aimentada adiante [4]. A descrição deste agoritmo, no contexto da busca dos coeficientes para a rede neura aqui proposta, pode ser vista ogo abaixo. 1. Um ote contendo m imagens em formato JPG de 480x640 pixes é apresentado à rede, untamente com a sua indicação de ter presença ou não de pessoa.. Cada uma das m imagens é convertida em um vetor inha x[n] e é picada a camada de entrada. 3. Cacua-se o campo oca induzido para os neurônios da camada 1, que é a camada ocuta, usando a equação 6. 4. Passa-se a resposta de saída de cada neurônio da camada ocuta para a entrada do neurônio da camada de saída. 5. Cacua-se a resposta do neurônio da camada de saída através da equação 6 e cacua-se o sina de erro através da equação 7. 6. Cacua-se o gradiente do neurônio da camada de saída através da equação 8 e faz-se a correção dos seus pesos sinapticos através da equação 9. 7. Cacua-se o gradiente de cada neurônio da camada ocuta através da equação 10 e faz-se a correção de seus pesos sinapticos através da equação 9. 8. Repete-se os passos de dois a sete ate que a rede chegue ao vaor de erro quadrático satisfatório. O vaor satisfatório neste caso foi 0.01 porcento do erro Maximo possíve, que é,7159. Este vaor de erro deu-se devido à utiização de uma função de ativação antisimétrica mostrada na equação 11. Onde os vaores ótimos para a e b são 1,7159 e /3 consecutivamente [5]. v M i= 0 1 i ( n) = w i ( n) y (6) Na equação 6 é a camada, M a quantidade de sinais que estão conectado ao neurônio, i o neurônio ou sina de entrada se a camada i for a camada de entrada, y o sina de saída do neurônio i ou sina de entrada se a camada for de entrada e w o vaor da peso sinaptico que conecta o neurônio i ao. e ( n) = d ( n) y ( n) (7) Na equação 7 indica o a utima camada e a profundidade da rede também e (n) o vaor esperado para a saída do neurônio. ' δ ( n) = e ( n) ϕ ( v ( n)) (8) Na equação 8 ' ϕ d é a derivada da função de ativação. 1 w i ( n + 1) = w i ( n) + η δ ( n) y i ( n) (9) Na equação 9 η é o parâmetro de taxa de aprendizagem. ' + 1 + 1 δ ( n ) = ϕ ( v ( n)) δ k ( n) w k ( n) (10) Na equação 10 k é o numero de neurônios da camada a frente conectados ao neurônio da camada anterior. k
ϕ ( n) = a tanh( b v ( n)) (11) Com estes coeficientes gerados pea rede pode-se então reaizar o processo fina do agoritmo proposto por este trabaho, que é, depois que a presença de carro foi detectada peo passo 7 descrito na seção 3, pegar a imagem gerada peo passo 6, descrita nesta mesma seção e apicar ea a entrada da rede proposta, tendo como seus coeficientes os vaores encontrados no seu processo de treinamento. taxa de acerto. Este teste tem a finaidade de avaiar o quão eficiente é o agoritmo aqui proposto na detecção de automóveis na faixa. Na figura 3 e 4 é possíve ver o processamento deste teste. 5. Resutados Para os testes e desenvovimento deste agoritmo foram reaizadas três fimagens, sendo que cada uma deas foram feitas em diferentes horários do dia e em três faixas diferentes. Usou-se também um intervao de 0 frames entre um instante e outro do fime. Partindo então destas fimagens foram gerados os seguintes resutados. Tabea 1. Resutado do treinamento da rede. Nome da faixa N de amostras N de iterações Faixa 1 60 300 Faixa 110 440 Faixa 3 7 370 A tabea 1 mostra a quantidade de amostras, que neste caso, são as imagens utiizadas para reaizar o treinamento da rede e o numero de iterações que rede precisou para convergir ao erro mínimo deseado. Na figura pode-se ver o processo de convergência da rede utiizada na faixa 3. O erro mostrado neste gráfico não está em moduo, por isso pode-se ver vaores negativos e positivos. Figure 3 Imagem da faixa segmentada peo método proposto seção 3. Figure 4 Imagem produzida peo agoritmo de detecção de veícuos. Tabea 3. Resutados da detecção de infração. Nome da faixa N de amostras Taxa de acerto Faixa 1 14 96.75% Faixa 9 90.00% Faixa 3 77 96.75% neura. Figura Gráfico do erro de saída da rede Tabea. Resutado do teste de detecção de carro. Nome da faixa N de amostras Taxa de acerto Faixa 1 189 94.70% Faixa 9 97.6% Faixa 3 71 95.0% A tabea 3 mostra a quantidade de amostras utiizadas em cada faixa para o teste de detecção de infração e a taxa de acerto do agoritmo para cada uma deas. Na figura 5 se pode ver a imagem que é entre a rede para o processamento fina. A tabea mostra a quantidade de amostras utiizada para cada faixa no teste de detecção de veicuo e a sua
área. 6. Concusão Figure 5 Imagem segmentada e fitrada por Cada uma das tabeas mostradas na seção anterior nos revea a eficiência do agoritmo em cada uma dos seus três passos principais. Um dos primeiros passos é o treinamento da rede. O treinamento da rede em todas as faixas mostrou uma rápida convergência, principamente se evarmos em conta o fato de que a situação em anaise tem uma grande diversidade de padrões. Com base nesta anaise, no número de iterações necessárias para a convergência da rede e nas taxas de acerto na detecção de infração estarem acima de 90%, pode-se dizer que a escoha de redes neurais para o reconhecimento de pessoas na faixa foi adequada. O passo dois é identificação de veícuos. Ohando os resutados da tabeo pode-se ver a eficiência desta parte, que conseguiu detectar veícuos com uma taxa de acerto acima de 94% para a as três faixas. No entanto para veícuos do tipo moto, existe uma dificudade maior em reaizar está detecção, pois a roda do mesmo não consegue ser segmentada de forma satisfatória peo agoritmo aqui proposto e peos outros que foram utiizados ao ongo do seu desenvovimento. No entanto a detecção para os outros tipos de veícuos se dá de forma satisfatória. A útima parte do agoritmo é um trabaho conunto das duas partes anteriores. Se uma deas faha, a outra também irá fahar. Com os testes feitos e os resutados obtidos percebeu-se que, quanto mais situações diferentes forem expostas a rede no seu processo de treino, mehor será seu desempenho. Já a detecção de veícuos depende do bom posicionamento da câmera que capta as imagens. Se esta estiver posicionada em uma atura acima de metros e centrada para pegar apenas a faixa, impicará então em uma taxa de acerto acima de 94%. A utiização de apenas três diferentes faixas se deu peo fato de estas são tem o maior fuxo de pedestres da cidade de Savador. Assim a quantidade de ocorrência de infração é muito grande e acontecem em intervaos pequenos de tempo. Já as outras faixas têm um fuxo bem menor, o que dificuta conseguir reaizar uma fimagem em que ocorra uma quantidade mínima de infrações necessárias para treinar a própria rede. Com base em tudo o que foi apresentado aqui se pode afirma que o agoritmo aqui proposto consegue reaizar a detecção de forma satisfatória, tendo a sua imitação apenas com veícuos do tipo motociceta. [1] K. Pratt, Wiiam, Digita Image Processing: PIKS Inside,.-3. ed, New York : John Wiey & Sons, Inc, 001, pp. 595. [] Gonzaez, Rafae.C, Digita Image Processig/Richard E.Woods, -1.ed, New Jersey : Prentince Ha, 00, pp. 578. [3] Canny, J.A, A Computaciona approach to edge detection, IEEE Transaction on Pattern Anaysis and Machine Inteigence, Pubisher, ocation, 1986, pp. 679-698. [4] Haykin, Simon, Redes Neurais: princípios e pratica, trad. Pauo Martins Enge.-.ed, Porto Aegre : Bookman, 001, pp. 183. [5] Haykin, Simon, Redes Neurais: princípios e pratica, trad. Pauo Martins Enge.-. ed, Porto Aegre : Bookman, 001, pp. 06. [6] Haykin, Simon, Redes Neurais: princípios e pratica, trad. Pauo Martins Enge.-.ed, Porto Aegre : Bookman, 001, pp. 00.