Aproximación a la Implementación de Aplicaciones Aero-espaciales en Hardware Víctor Diges Teijeira GRADO EN INGENIERÍA DE COMPUTADORES. FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID CURSO 2014-2015 Trabajo Fin de Grado en Ingeniería de Computadores 29/06/2015 Directores: Marcos Sánchez-Elez Martin Inmaculada Pardines Lence Autorización de difusión Víctor Diges Teijeira 29/06/2015 El/la abajo firmante, matriculado/a en el Grado en Ingenría de Computa- dores de la Facultad de Informática, autoriza a la Universidad Complutense de Madrid (UCM) a difundir y utilizar con fines académicos, no comerciales y mencionando expresamente a su autor el presente Trabajo Fin de Grado: Aproximación a la Implementación de Aplicaciones Aero-espaciales en Hard- ware, realizadoduranteelcursoacadémico2014-2015bajoladireccióndeMar- cos Sánchez-Elez Martín e Inmaculada Pardines Lence en el Departamento de Arquitectura de Computadores y Automática, y a la Biblioteca de la UCM a depositarlo en el Archivo Institucional E-Prints Complutense con el objeto de incrementar la difusión, uso e impacto del trabajo en Internet y garantizar su preservación y acceso a largo plazo. Resumen Enlaactualidad,lossistemasdehardwarereconfigurableestánmuyextendidos en el entorno aeroespacial. Esto es debido a su gran potencia computacional comparada con la de soluciones software. En este proyecto se analizan las múltiples aplicaciones de las FPGAs en esta industria, y cómo la investiga- ción espacial y de defensa han liderado el desarrollo de sistemas aeronáuticos electrónicos. Estos están presentes hoy en día en la mayoría de aeronaves comerciales. Además, se introducirán brevemente los efectos de la radiación del espacio en los elementos electrónicos, explicando cómo afectan a las me- morias y los circuitos y cómo pueden ser detectados y corregidos por la FPGA. Se ha escogido el procesado de video en tiempo real como aplicación ob- jetivo de este trabajo, mostrando las características de las FPGAs que pueden ser explotadas para obtener resultados con muy poca latencia. Se ha utiliz- ado la herramienta Matlab para simular los algoritmos, indicando al mismo tiempo cómo podrían ser segmentados en una FPGA. Para mejorar los res- ultados se ha desarrollado un procedimiento para la detección de objetos para una vista de cámara móvil, basado en la eliminación de ruido de la imagen y en humbralado. Palabras clave FPGA, Aeroespacial, Visión por Computadora, Procesamiento de Video, Reconocimiento de Objetos. Abstract Nowadays, reconfigurable hardware systems are widely used in the airspace environment. This is thanks to their great computing power in comparison to software solutions. In this project we analyze the multiple applications of FP- GAs in this industry, and also how the space and defense research have lead the development of electronic aeronautic systems. They are now present in most of the commercial aircrafts. In addition, we briefly introduce the effects of space radiation in electronic, explaining how they affect memories and cir- cuits and how they can be detected and corrected by an FPGA. Real time video processing was chosen as a target application of this work, showing how FPGA’s characteristics can be exploited to obtain results with very low latency. Matlab tool was used to simulate the algorithms, providing insight on how they could be pipelined in an FPGA. In order to improve the results an object detection procedure for a moving camera view was developed, based on noise removal and thresholding. Keywords FPGA, Aerospace, Computer Vision, Video Processing, Object Recogni- tion. Contents Index i 1 FPGA Applications in avionics 1 1.1 Flight Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Navigation and Monitoring . . . . . . . . . . . . . . . . . . . . . 3 1.3 Augmented Vision . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3.1 Real Time analysis . . . . . . . . . . . . . . . . . . . . . 4 1.3.2 Intelligent Transport . . . . . . . . . . . . . . . . . . . . 5 1.3.3 Immersive Displays . . . . . . . . . . . . . . . . . . . . . 5 1.3.4 Image Stabilization . . . . . . . . . . . . . . . . . . . . . 6 1.4 Multispectral Image Processing . . . . . . . . . . . . . . . . . . 6 2 FPGA Applications in space 9 2.1 Single Event Effects . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 SEU detection and mitigation . . . . . . . . . . . . . . . . . . . 10 2.3 SEU Mitigation Approaches . . . . . . . . . . . . . . . . . . . . 11 2.3.1 On-chip detection . . . . . . . . . . . . . . . . . . . . . . 11 2.3.2 External detection . . . . . . . . . . . . . . . . . . . . . 11 2.3.3 Watchdogs . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.4 Dual and Triple Module Redundancy . . . . . . . . . . . 12 2.3.5 Lockstep Architecture . . . . . . . . . . . . . . . . . . . 12 3 Video Analysis: Tracking objects 13 3.1 Image Digitization . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 Pre-processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 i Contents ii 3.2.1 Kinds of operations . . . . . . . . . . . . . . . . . . . . . 16 Punctual . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2.2 Grayscale Conversion . . . . . . . . . . . . . . . . . . . . 18 3.2.3 Histogram Equalization . . . . . . . . . . . . . . . . . . 20 3.2.4 Noise reduction . . . . . . . . . . . . . . . . . . . . . . . 22 Median filter . . . . . . . . . . . . . . . . . . . . . . . . 22 Mean filter . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Gaussian blur . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3 Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3.1 Border Detection . . . . . . . . . . . . . . . . . . . . . . 24 Sobel Operator . . . . . . . . . . . . . . . . . . . . . . . 24 Laplacian operator . . . . . . . . . . . . . . . . . . . . . 25 3.3.2 Object Recognition . . . . . . . . . . . . . . . . . . . . . 26 3.4 Feature Extraction . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4.1 Connected-component labeling . . . . . . . . . . . . . . . 27 3.5 Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.6 Final result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Conclussions 33 Conclusiones 35 Bibliography 37 Appendix: Source Code 39
Description: