Módulo de hardware para retificação estéreo: solução eficiente em
uso de memória
visão estéreo; retificação estéreo; FPGA; buffers
circulares de linha; processamento em tempo real; SystemVerilog.
A visão estéreo é uma técnica relevante para estimativa de profundidade em
sistemas de percepção tridimensional, sendo aplicada em robótica móvel,
navegação autônoma, inspeção industrial e sistemas embarcados de visão
computacional. Entretanto, sua implementação eficiente em Field
Programmable Gate Arrays (FPGAs) apresenta desafios associados ao consumo
de memória, à largura de banda e ao processamento em tempo real. Nesse
contexto, a retificação estéreo é uma etapa essencial, pois transforma a
geometria epipolar original em uma configuração na qual a busca por
correspondências ocorre ao longo de linhas horizontais. Implementações
convencionais frequentemente utilizam mapas de retificação pré-computados
ou armazenamento de quadros completos, o que pode comprometer os recursos
internos disponíveis em FPGA.
Esta dissertação apresenta uma arquitetura de retificação estéreo em FPGA
baseada em cálculo de coordenadas on-the-fly e buffers circulares de linha.
A proposta elimina a necessidade de armazenar mapas densos de retificação,
calculando em tempo de execução a coordenada correspondente na imagem
original para cada pixel retificado. A cadeia geométrica implementada
inclui reprojeção inversa, normalização homogênea, aplicação do modelo
radial de distorção e projeção intrínseca. Os pixels dos canais esquerdo e
direito são armazenados em buffers circulares, mantendo em memória apenas
uma janela vertical da imagem bruta.
A arquitetura foi descrita em SystemVerilog e validada por simulações
funcionais e temporais, além de prototipação em uma plataforma CPU--FPGA
com comunicação via PCI-Express utilizando o framework RIFFA. O uso de
memória foi reduzido para 16% em 640 x 480, frente a 79% no modelo de
referência, e permaneceu em 34% para 1392 x 512. Na avaliação temporal, a
maior taxa foi de 666 FPS em 640 x 480, reduzindo-se para 91,74 FPS em 1392
x 512, o que evidencia o custo do aumento da resolução e indica vazão
compatível com tempo real em ambas as configurações. Entretanto, no
protótipo integrado, um gargalo da plataforma limitou o processamento a
aproximadamente 4 FPS em 1392 x 512, de modo que o tempo real não foi
sustentado nessa condição. Na estimativa de distância, a comparação entre o
fluxo em software e as imagens retificadas em hardware apresentou erro
relativo máximo de 0,1643%, indicando que as simplificações adotadas
preservaram a informação geométrica necessária à aplicação.