Um módulo de hardware de tempo real de correspondência semi global para um sistema de visão estéreo - CAMBUIM, Lucas Fernando da Silva (2017)
Abordagens de correspondência estéreo que geram mapas de disparidade densos, precisos, robustos e em tempo real são bastante atraentes para muitas aplicações tais como reconstrução 3D e navegação autônoma. Entre as abordagens mais adotadas, a técnica de Correspondência Semi Global (SGM) permite obter mapas de disparidades de ótima qualidade devido a sua capacidade de otimização que propaga custos de similaridades menores a partir de vários caminhos unidimensionais independentes ao longo de toda a imagem. Além disso, esta técnica, combinada com métricas de similaridade local suporta de forma robusta aos vários desafios de correspondência estéreo tais como ruídos, baixa textura e oclusões. Contudo, o acesso irregular aos dados, a grande quantidade de operações computacionais e a necessidade de grandes espaços de armazenamento para resultados intermediários impõem desafios para implementação paralela da técnica SGM em plataformas FPGAs. Na busca por resolver tais desafios, este trabalho propõe uma arquitetura escalável em hardware baseado na combinação de várias técnicas tais como paralelismos em vários níveis tais como no nível de processamento de linhas de imagem, de disparidade, de caminhos de propagação e processamento em pipeline. Para a implementação da técnica SGM foi proposta a sua combinação com o filtro de gradiente Sobel como uma etapa de pré-processamento e diferenças absoluta (AD) como um método de similaridade local. Esta combinação mostrou robustez tanto para imagens de alta qualidade disponíveis no banco de imagens Middlebury (22.7% de pixels errados) como para imagens de baixa qualidade fornecidas a partir do sistema de câmeras construído no nosso grupo de pesquisa. Além disso, também foi desenvolvido a etapa de pós processamento em hardware, que permitiu detectar regiões ruidosas e regiões de oclusão. Todo este sistema de correspondência estéreo foi implementado, simulado e validado na plataforma FPGA Cyclone IV gerando mapas de imagens de disparidade em resolução HD (1024x768 pixels), com um intervalo de 128 níveis de disparidades e usando 4 direções de caminhos para o método SGM. Com essa configuração obteve-se uma frequência de operação de 100 MHz, fornecendo imagens em uma taxa de 127 frames por segundo (FPS), utilizando 70% de seu recurso em elementos lógicos para processamento (LUTs) e 63% de memória para armazenamento de dados intermediários. Além disso, esta abordagem de correspondência estéreo foi validada em um contexto real de um sistema estéreo completo. Para tal validação, foi utilizada a plataforma hardware/software DE2i-150 na qual foram implementadas as etapas de calibração e retificação em processador e a arquitetura proposta do SGM implementada em FPGA e ambos os processamentos se comunicando através do barramento PCI-Express usando o framework RIFFA 2.2. Este sistema de visão estéreo completo permitiu obter um ganho de desempenho de 21x em relação a abordagem SGM em processador oferecida pela biblioteca OpenCV e dissipando 2 Watts de potência.