0% encontró este documento útil (0 votos)
45 vistas12 páginas

Precio del Spartan 3E en Procesamiento de Imágenes

Este documento describe un proyecto para implementar y evaluar algoritmos de procesamiento de imágenes utilizando una herramienta basada en FPGA. El proyecto presenta un enfoque de aprendizaje basado en proyectos para enseñar estos algoritmos. El hardware de procesamiento de imágenes incluye un FPGA Xilinx Spartan-3E, un controlador USB y un sistema de memoria. La interfaz de usuario permite seleccionar algoritmos y ver resultados. El método de integración establece los pasos para agregar nuevos algoritmos a
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas12 páginas

Precio del Spartan 3E en Procesamiento de Imágenes

Este documento describe un proyecto para implementar y evaluar algoritmos de procesamiento de imágenes utilizando una herramienta basada en FPGA. El proyecto presenta un enfoque de aprendizaje basado en proyectos para enseñar estos algoritmos. El hardware de procesamiento de imágenes incluye un FPGA Xilinx Spartan-3E, un controlador USB y un sistema de memoria. La interfaz de usuario permite seleccionar algoritmos y ver resultados. El método de integración establece los pasos para agregar nuevos algoritmos a
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad Nacional

Autonoma de Mexico

Facultad de ingeniería

Diseño digital moderno

Incorporación de una herramienta de hardware /


software integrada basada en FPGA para implementar
y evaluar algoritmos de procesamiento

Grupo:3

Alumno : Flores Cruz Daniel

Profesor: M. I. VICENTE FLORES OLVERA

Fecha de realización: 11 Agosto 2021

Fecha de entrega: 17 Agosto 2021


1. Objetivo
El objetivo de este proyecto es presentar un enfoque innovador de aprendizaje basado en
proyectos para enseñar algoritmos de procesamiento de imágenes utilizando una
herramienta basada en FPGA como soporte principal.

2. Introducción

La información visual juega un papel importante en casi todas las áreas de nuestra vida.
Hoy en día, gran parte de esta información está representada y procesada digitalmente. El
procesamiento de imágenes digitales es cualquier forma de procesamiento de señales
para la cual la entrada es una imagen, como una fotografía o un cuadro de video; la salida
del procesamiento de imágenes puede ser una imagen o un conjunto de características o
parámetros relacionados con la imagen. En este contexto, la implementación y evaluación
de algoritmos de procesamiento de imágenes son tareas complejas que requieren
habilidades altamente técnicas y multidisciplinares.

El procesamiento de imágenes digitales es un recurso esencial, que se usa ampliamente


en aplicaciones como, visión por computadora y máquina, detección de rostros,
reconocimiento de objetos, procesamiento de imágenes médicas y microscópicas,
teledetección, exploración geofísica, planificación de trayectorias de robots, etc. Este
hecho y los recientes avances en la tecnología lógica reconfigurable han estimulado la
implementación y evaluación de algoritmos de procesamiento y análisis de imágenes
digitales con procesamiento de alta velocidad en tecnologías Field Programmable Gate
Array (FPGA). Se ha convertido rápidamente en un paradigma computacional de primer
interés para las comunidades académicas y de investigación, centrado en el
procesamiento de imágenes en tiempo real.

2
Una FPGA se define como una matriz de Bloques Lógicos Configurables (CLB) vinculados
entre sí por una red de interconexiones, que es totalmente reprogramable. Los FPGA se
utilizan con frecuencia para implementar funciones complejas; esto se debe al desarrollo
de herramientas y métodos de diseño, que inicialmente estaban reservados al mundo de
los Circuitos Integrados Específicos de Aplicación (ASIC). Los elementos esenciales de
estas herramientas son los lenguajes de descripción de hardware (HDL) estandarizados,
como VHDL (circuitos integrados de muy alta velocidad HDL) y Verilog .

Usando estas herramientas, el diseñador puede describir su circuito usando un enfoque


jerárquico y modular definido en diferentes niveles de abstracción usando una
metodología de arriba hacia abajo . Además, describir un circuito utilizando un HDL
estandarizado genera un diseño portátil, es decir, puede implementarse en diversas
tecnologías FPGA. Las características adicionales que hacen atractiva la lógica
reconfigurable para implementar aplicaciones de procesamiento de imágenes son:
permitir al usuario manejar un alto nivel de abstracción en el diseño del sistema,
facilitando la implementación de System on Chip (SoC), involucrando un paradigma de
diseño basado en metodologías de software y permitiendo el modelado de arquitecturas
paralelas que generan altas velocidades de procesamiento.

Hardware de procesamiento de imagen

El hardware de procesamiento de imágenes es un sistema integrado, donde el elemento


central es un FPGA Xilinx Spartan-3E; para su diseño e implementación se utilizó la
metodología SPIES . El sistema propuesto se compone de tres elementos de hardware:
controlador USB, sistema de memoria y administrador de aplicaciones de hardware .
El controlador USB consta de un dispositivo DLP-USB245R; es un módulo de interfaz FIFO
de USB a paralelo que utiliza el popular FT245R IC con la función FTDIChip-IDTM de FTDI.
El controlador USB proporciona un método eficaz para transferir datos hacia / desde la
interfaz de usuario y el hardware de procesamiento de imágenes a una velocidad de hasta
8 millones de bits (1 Mb) por segundo a través del puerto USB. DLP-USB245R incluye
controladores directos D2XX libres de regalías (controladores USB þ interfaz DLL S / W); la

3
arquitectura de los controladores D2XX consiste en un modelo de controlador de
Windows (WDM) que se comunica con el dispositivo FT245BR a través de la pila USB de
Windows y una DLL que interactúa con el software de aplicación (escrito en VCþþ, Cþþ
Builder, Delphi, VB, etc. .) al controlador WDM. Por otro lado, el Gerente de Aplicaciones
de hardware ve el DLP-USB245R como un simple periférico de entrada-salida y esto
facilita la interfaz con él a través de puertos de E / S.

Interfaz de usuario
Tener una GUI para aplicaciones basadas en sistemas embebidos se ha convertido en una
necesidad cada vez más importante . Las herramientas de desarrollo rápido de GUI se
necesitan más que nunca. Sin embargo, la forma tradicional de desarrollo de GUI para
aplicaciones integradas tiene algunas limitaciones en el soporte del entorno visual y
bloquea el desarrollo rápido. La Interfaz de Usuario de nuestra herramienta fue
desarrollada utilizando el método VY . La Figura muestra que el método VY modifica la
forma tradicional de desarrollo de GUI para aplicaciones integradas al agregar un
simulador.

4
El simulador fue diseñado para simular la función gráfica
procesar algoritmos en la arquitectura del Administrador de aplicaciones de hardware;
Además, se desarrolló una interfaz gráfica que es implementada por Graphical Device
Interface en PC. Por lo tanto, la visualización en la interfaz de usuario (profesor / alumno)
solo dependerá de la interfaz gráfica, no del hardware específico.

Metodo de integracion
El módulo de Método de Integración establece una secuencia de procedimientos que
permite la implementación y evaluación del desempeño de un nuevo algoritmo de
procesamiento de imágenes sobre FIHSE bajo el enfoque PBL.

Fase 1, Análisis y especificación de algoritmos. Las actividades de esta fase


incluyen la obtención, captura, descripción y revisión de los requisitos. El objetivo
de esta fase es producir un documento de especificación que servirá como guía
durante el proceso de agregar un nuevo algoritmo a la FIHSE. Este documento
debe ser comprensible, debe considerar los aspectos técnicos del algoritmo y debe
ser lo suficientemente preciso para que lo utilice el profesor / alumno.

5
En esta fase deben definirse los siguientes aspectos:

● ¿Cuántos algoritmos se evaluarán?


● El tipo de imagen que se procesará.
● El tipo de resultado del procesamiento: imagen o datos. Segmentos de
memoria adicionales (según sea necesario).

Fase 2, Diseño conceptual integrado. El diseño conceptual abarca la generación de


conceptos y la integración en soluciones a nivel de sistema, lo que lleva a un diseño
relativamente detallado.

El diseño conceptual comienza con un análisis de especificaciones; Este análisis


tiene como objetivo transformar el enunciado vago de una tarea de diseño en un
conjunto de requisitos de diseño y aplicarlos para generar una descripción del
sistema propuesto en términos de un conjunto de ideas y conceptos integrados
sobre lo que debe hacer, cómo debe comportarse y cómo debería verse, eso será
comprensible para los estudiantes de la manera prevista. Luego, esta fase establece
cómo diseñar y desarrollar todos los elementos que componen la Interfaz de
Usuario y el Algoritmo que se integrará al FIHSE.

6
Interfaz de usuario GUI, (b) realizar una prueba de comunicación entre la interfaz de usuario y el
hardware de procesamiento de imágenes, (c) menú del Repositorio de algoritmos.

Formatos de los frames del protocolo de comunicación: (a) Enviar frame de imagen, (b) Implementar
frame de algoritmo, (c) frame de resultados, (d) frame de prueba de comunicación, (e) frame de
confirmación.

7
● Enviar frame de imagen. Por medio de este frame se transmite una imagen desde la interfaz de
usuario al hardware de procesamiento de imágenes. La Figura 10a muestra que este marco
consta de cuatro campos: ID, CTR, DIR y DATA. La longitud del campo ID es de 8 bits; el primer
nibble define el identificador de marco de imagen de envío, el segundo nibble no tiene función
en este marco. El campo CTR consta de 32 bits y se divide en dos campos de 10 bits: IW indica el
ancho de la imagen e IH indica la altura de la imagen; los bits restantes se reservan para futuras
mejoras. El campo DIR consta de 24 bits; contiene la dirección de memoria inicial donde se debe
almacenar la imagen. DATOS es el último campo de esta trama; contiene la información sobre la
imagen y su longitud es de IW IH bytes.

● Implementar el frame del algoritmo. A través de este marco, la interfaz de usuario puede indicar
al hardware de procesamiento de imágenes qué algoritmo se debe aplicar a la imagen. Este
marco consta de tres campos: ID, CTR y DIR.

● Frame de resultados. Por medio de este Frame, los resultados del procesamiento de imágenes se
transmiten desde el hardware de procesamiento de imágenes a la interfaz de usuario. Este marco
consta de tres campos: ID, CTR y DATA (Fig. 10c). El campo ID consta de un identificador de trama
de 4 bits y un identificador de algoritmo de 4 bits. No toda la información que genera el
algoritmo siempre tiene el mismo tamaño que la imagen recibida; debido a esto, los 20 bits más
significativos del campo CTR, etiquetados como NB, representan el número de bytes generados
por el algoritmo de procesamiento de imágenes. Agregamos 12 bits al campo CTR reservado para
futuras mejoras. DATA es el último campo de este frame, contiene la información sobre los
resultados del procesamiento de imágenes y su longitud es de NB bytes.

● Frame de comunicación. A través de este frame, la interfaz de usuario puede solicitar la


transmisión de un marco de confirmación desde el hardware de procesamiento de imágenes.
Este marco se puede utilizar en cualquier momento para verificar que la comunicación se
establece correctamente. Los campos ID y CTR constituyen el marco de comunicación (Fig. 10d).
El campo ID consta de 8 bits; el primer nibble es el identificador de trama, el nibble
complementario no tiene ninguna función. El campo CTR consta de 8 bits con un valor
hexadecimal A5.

8
Resultados experimentales
El primer ejemplo es la integración de un algoritmo de reconocimiento de imágenes
basado en memorias asociativas extendidas (IR_EAM). Las memorias asociativas
extendidas (EAM) es un modelo de memoria asociativa para la clasificación de patrones
de valor real propuesto por Sossa et al. [24]. Este modelo es una extensión del modelo de
Lernmatrix propuesto por Steinbuch [25]. El EAM se basa en el concepto general de la
función de aprendizaje de memoria asociativa y presenta un alto rendimiento en la
clasificación de patrones de datos de valor real por sus componentes y con patrones
alterados .

Sean parejas de un patrón y su índice de clase correspondiente


que forman el conjunto fundamental de parejas compuesto por patrones y sus índices de
clase correspondientes:

(1)

donde .La memoria asociativa está representada por una


matriz generada a partir del conjunto fundamental de parejas y denotada por M.

En el EAM, al ser una memoria asociativa utilizada para la clasificación de patrones, todos
los pesos sinápticos que pertenecen a la salida y se acomodan en la i-ésima fila de una
matriz M. El valor final de esta fila es una función f de todos los patrones pertenecientes a
a la clase i. La función f actúa como un mecanismo de aprendizaje generalizador que
refleja la flexibilidad de la memoria . El EAM consta de etapa de entrenamiento y etapa de
clasificación.

La etapa de formación del EAM consiste en evaluar la función f para cada clase. Entonces,
la matriz M se puede estructurar como:

(2)

donde fi es la evaluación de f para todos los patrones de i-ésima clase, i 1⁄4 1; 2; ...; N. La
función f se puede evaluar de varias formas. El operador de media aritmética (prom) se
utiliza con frecuencia en el tratamiento de señales e imágenes.

9
[Link]
Los algoritmos de procesamiento de imágenes se implementan en una gran variedad de
software comercial que mejoran, restauran, comprimen o analizan las imágenes en
formato digital. Este tipo de software utiliza el procesador de la PC y, con frecuencia, con
muy buena velocidad. Sin embargo, el tiempo de procesamiento se comparte con otros
programas de software y el procesamiento no es en tiempo real. Además, el soporte
computacional enfocado a mejorar el aprendizaje, proceso en esta área es limitado. Se ha
presentado una herramienta de hardware / software de bajo costo basada en FPGA para
el procesamiento en tiempo real con fines educativos. Es importante decir que nuestros
estudiantes han usado otras herramientas relacionadas con el procesamiento de
imágenes antes, sin embargo, en el contexto de la aplicación del procesamiento de
imágenes en lógica reconfigurable, están usando solo la herramienta FIHSE.

GUI del algoritmo IR_EAM, (a) su adaptación a la interfaz de usuario, (b) etapa de
entrenamiento, (c) etapa de clasificación.

10
Ilustración de los resultados de la evaluación de algoritmos usando FIHSE: (a) imagen
negativa, (b) histograma, (c) ecualización de histograma, (d) detección de bordes de
Sobel, (e) detección de bordes de Roberts (f) transformada de ondícula discreta, (g)
interpolación bilineal.

11
[Link]
● Z. Avery, M. Castillo, G. Huiping, G. Jiang, N. Warter-Perez, D. S. Wong, and J. Dong,
Implementing collaborative project- based learning using the tablet PC to enhance
student learning in engineering and computer science courses, 2010, IEEE Front
Educ Conf IEEE Comput Soc (2010), 1–7.
● M. Arias, A. Rodriguez, D. Lamar, and F. Linera, and M. Hernando, Influence of PBL
practical classes on microcontroller- based digital systems learning, 2010, IEEE Educ
Eng (EDUCON) IEEE Comput Soc (2010), 1777–1782.
● L. Chyi-Shyong, S. Juing-Huei, L. Kuo-En, C. Jia-Hao, and L. Gu- Hong, A
project-based laboratory for learning embedded system design with industry
support, IEEE Trans Educ 53 (2010), 173–181.
● A. Price, R. Rimington, M. T. Chew, and S. Demidenko, Project- based learning in
robotics and electronics in undergraduate engi- neering program setting, 5th IEEE
International Symposium on Electronic Design, Test and Application, IEEE Computer
Society, 2010, pp 188–193.
● P. Blumenfeld, E. Soloway, R. Marx, J. Krajcik, M. Guzdial, and A. Palinscar,
Motivating project-based learning: Sustaining the doing, supporting the learning,
Educ Psychol 26 (1991), 369–398.
● I. Milentijevic, V. Ciric, and O. Vojinovic, Version control in project-based learning,
Comput Educ 50 (2008), 1331–1338.

12

También podría gustarte