Please use this identifier to cite or link to this item: http://hdl.handle.net/10316/90110
Title: Estimating Optical Flow using Convolutional Neural Networks in Reconfigurable Logic
Other Titles: Estimação de Fluxo Óptico utilizando uma Rede Neuronal Convolucional num Sistema Digital Reconfigurável
Authors: Rodrigues, Rodrigo Pedrosa
Orientador: Lobo, Jorge Nuno de Almeida e Sousa Almada
Keywords: Fluxo ótico; Redes neuronais convolucionais (RNC); Lógica Reconfigurável (FPGA); PipeCNN; Optical Flow; Convolutional Neural Networks (CNN); Field-programmable gate array (FPGA); PipeCNN
Issue Date: 3-Mar-2020
Serial title, monograph or event: Estimating Optical Flow using Convolutional Neural Networks in Reconfigurable Logic
Place of publication or event: DEEC
Abstract: Esta dissertação explora o mapeamento da arquitetura de uma rede neuronal convolucional(RNC) em lógica reconfigurável. O objetivo final é existir computação de Fluxo Ótico (FO) atravésde RNCs numa FPGA. Esta plataforma não está limitada a esta RCN específica, é open-source epode ser expandida para funcionalidades extra e diferentes tipos de RCN.Fluxo ótico é o mapeamento de movimento entre duas imagens da mesma cena e pode ser muitoimportante para várias aplicações no campo de Visão por Computador. Dar a capacidade the ”ver”movimento a uma máquina pode ser muito útil. A exatidão de resultados é importante, mas dadoos requisitos de tempo-real de muitas aplicações, o tempo de computação é um fator chave. O objetivoé explorar diferentes compromissos entre complexidade de hardware, tempo de computaão,consumo de potência e precisão ao usar uma FPGA. Recentemente RCNs têm superado métodostradicionais. FPGAs têm vindo a emergir como uma plataforma crescente e neste trabalho,vamos explorar se existe vantagem numa plataforma destas em vez da mais convencional PlacaGráfica (GPU). Ao providenciar um framework que permite flexibilidade entre diferentes arquiteturasde RCNs estamos a permitir uma maneira mais fácil de trabalhar neste campo ao usarem estetipo de plataforma. Como objetivo final de computar flúxo ótico com RCNs, o nosso trabalhofoca-se numa arquitetura específica base, a FlowNet-S, que fornece uma arquitetura simples masrobusta para o seu tamanho. Ao usar um projeto open-source previamente desenvolvido chamadoPipeCNN, a expansão de algumas das suas funcionalidades fez que fosse possível usar em estimaçãode fluxo ótico. O PipeCNN é um framework baseado em OpenCL para FPGAs que permitea implantação de RCNs de classificação em placas suportadas pela Intel ou Xilinx. Usa o Caffecomo base para extraír os pesos e informação relativa à sua estrutura. Uma RCN que consigaestimar fluxo ótico necessita de diferentes tipos de camadas que não estavam contempladas noframework original. As novas camadas, Transposta de Convolução e Concatenação abrem novaspossibilidades no uso do PipeCNN.Aprendemos que o flúxo ótico pode ser computado numa FPGA and que é uma plataformapromissória. Apesar de ainda não conseguir atingir os tempos de computação de Placas Gráficas,consegue ter precisão similar e consumir menos potência. Ainda existem otimizações possíveisque podem reduzir a lacuna entre ambas as plataformas.
This dissertation explores the mapping of a convolutional neural network (CNN) architectureonto reconfigurable logic. The end goal is to enable the computation of optical flow using CNNson an FPGA. This platform is not constrained to a specific CNN, it is open-source and can beextended for extra functionality and different CNN types.Optical flow is the mapping of movement between two images of the same scene and can bevery important for several applications in the Computer Vision field. Giving the ability of ”seeing”movement to a machine can be very useful. The results accuracy is important, but given thereal-time requirements of many applications, computation time is a key factor. The goal is to exploretrade-offs between hardware complexity, computation time, power, energy consumption andprecision using an FPGA.Recently CNNs have surpassed traditional computer vision methods. FPGAs have been emergingas a rising platform and in this work, we’re exploring if there’s advantages to a platform likethis instead of the more conventional Graphical Power Unit (GPU). By providing a frameworkthat allows flexibility between different CNN architectures we are allowing an easier way for peopleto work in this field using this type of platform. With the end goal of computing optical flowwith CNNs, our work focuses on a specific base architecture, the FlowNet-S, that provides a simplebut robust architecture for its size. Using a previously developed open-sourced project calledPipeCNN, the expansion of some of its functionalities made it possible to use in optical flow estimation.PipeCNN is an FPGA OpenCL based framework that allows the deployment of classificationCNNs in Intel or Xilinx supported boards. It uses Caffe as its base to extract weight and layerdeployment information. A CNN that can estimate optical flow requires different types of layerswhich were not contemplated in the original framework. The added Transposed Convolution layerand the Concatenation layer open new possibilities for the use of PipeCNN.We have learned that optical flow can be computed with an FPGA and that there are advantages tothis system. Although it still doesn’t meet the computation timings of GPUs, it can have similaraccuracy while spending less power. There are still optimizations possible which could reduce theexisting gap between both platforms.
Description: Dissertação de Mestrado Integrado em Engenharia Electrotécnica e de Computadores apresentada à Faculdade de Ciências e Tecnologia
URI: http://hdl.handle.net/10316/90110
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
File Description SizeFormat
minha_dissertacao(2).pdf13.07 MBAdobe PDFView/Open
Show full item record

Page view(s)

10
checked on Sep 24, 2020

Download(s)

26
checked on Sep 24, 2020

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons