Automatic Number Plate Recognition (ANPR) é uma metodologia de vigilância em massa que utiliza Optical Character Recognition (OCR) para ler a matrícula dos veículos, efetuando assim o seu reconhecimento. Existem, neste momento, duas possíveis metodologias na conceção de sistemas ANPR [1].
A primeira, e mais usual, consiste na utilização de um sensor de imagem direcionado a uma área restrita, onde só irá atravessar um veículo (como portagens, entradas, saídas, etc.). Nesse espaço estará presente um sensor, normalmente de posição, que quando ativado envia os fotogramas capturados pela câmara para um computador central (servidor). As imagens capturadas vão entrar no sistema de espera (queue) do servidor, e serão processadas logo que possível. Esta abordagem apresenta bastantes limitações, pois os recursos do servidor irão ser partilhados por todos os sensores de imagem da infraestrutura. De modo a não sobrecarregar a queue do servidor, é necessário enviar o menor número possível de fotogramas e com baixa resolução, pois o número de operações sobre pixéis cresce com o quadrado das dimensões da imagem numa razão n2. Estas limitações impossibilitam a expansão da área de aplicação da tecnologia, ficando assim restringidas ao controlo de entrada/saída em parques de estacionamento e portagens.
A segunda metodologia consiste no processamento e identificação no local e em tempo real, porém este é um processo computacionalmente muito intensivo. A arquitetura consiste num sistema embebido, composto por um sensor de imagem e um processador, que irá detetar e identificar a matrícula do veículo.
Nesta dissertação aborda-se o seguimento de veículos, em tempo real, através da deteção e identificação da matrícula. O processamento será acelerado em hardware, de forma a ser possível cumprir os requisitos de tempo real e expandir a gama de aplicações da tecnologia.
Esta dissertação tem como objetivo o levantamento do estado da arte e a idealização, especificação, desenvolvimento e implementação de um sistema de seguimento de veículos motorizados, através da identificação e deteção da posição da sua matrícula, em tempo real.
A arquitetura do sistema será composta por quatro principais etapas de processamento: captura e pré-processamento da imagem, segmentação, identificação e seguimento.
Devido aos enormes recursos computacionais exigidos, será realizada a migração para hardware de etapas de processamento de imagem altamente paralelas, de forma a responder aos requisitos de tempo real.
A memória assume um papel fundamental no sistema, devido à necessidade de armazenamento de fotogramas antes do processamento. Será assim necessário identificar qual o impacto da memória no desempenho do sistema e explorar o paralelismo da arquitetura no acesso à memória.
O sistema irá ter duas implementações distintas. A primeira será um sistema embebido composto por um SoC (FPGA e CPU) e um sensor de imagem. Pretende-se que esta abordagem realize a identificação, segmentação e seguimento de veículos em tempo real, ficando a tarefa de reconhecimento de matrículas (OCR) associada ao processador de uso geral.
A segunda implementação consiste em analisar uma sequência de fotogramas (sem compressão) acelerando o processo, recorrendo à framework OpenCL, através da migração de funções altamente paralelas do CPU para o GPU.
Requisitos funcionais:
Requisitos não funcionais: