IMPLEMENTACIÓN DE DTCNN 1Q 1BIT B/W IMPLEMENTACIÓN
Transcripción
IMPLEMENTACIÓN DE DTCNN 1Q 1BIT B/W IMPLEMENTACIÓN
IMPLEMENTACIÓN DE DTCNNs IMPLEMENTACIÓN DE DTCNN 1Q‐1BIT‐B/W 1Q 1BIT B/W SOBRE FPGA SOBRE FPGA PARTE 2 – VHDL : 9 c.c. Vs. 4 c.c Natalia Fernández Garcia Jordi Albó i Canals OBJETIVOS DISEÑO DE UNA CELDA ‐Procesamiento Procesamiento de imágenes binarias con un único patrón de ponderación. ‐Patrones con un bit de programabilidad y bias de 2 bits de programabilidad ‐ 4 y 9 coeficientes fi i t ponderadores d d ‐Implentación directa del comportamiento a nivel de patrón 1 OBJETIVOS CARACTERÍSTICAS DESEADAS DE LA CELDA ‐Simplicidad HW: menor espacio requerido Si li id d HW i id ‐Velocidad: menor tiempo de procesamiento ‐ Modularidad: extensible a sistemas mayores ‐Generalidad 2 SOLUCIÓN JORDI MÁQUINA DE ESTADOS 4 MÁQUINA DE ESTADOS 4 Inicializa Guarda a memoria local Pasa y recibe de vecinos Pondera T.Imag. Pondera T.Desp. T Desp Acumula bias + comparador 3 SOLUCIÓN NATALIA MÁQUINA DE ESTADOS 4 MÁQUINA DE ESTADOS 4 Inicializa Guarda a memoria local Pondera T.Imag. Pondera T.Desp. Acumula bias + comparador Fi l espera Final: 4 SOLUCIÓN JORDI MÁQUINA DE ESTADOS 9 MÁQUINA DE ESTADOS 9 Inicializa Guarda a memoria local Pasa y recibe de vecinos Pondera Imag. Imag Aplica Bias+Comparador 5 SOLUCIÓN NATALIA MÁQUINA DE ESTADOS 9 MÁQUINA DE ESTADOS 9 Inicializa Guarda a memoria local Pasa y recibe de vecinos Pondera Imag. Imag Aplica Bias+Comparador 6 COMPONENTES D‐Flip Flop para memoria local Ponderación Æ ANDs Suma Æ Sumadores (3bits) / Codificador 4 a 3 Acumulación Æ Acumulador (5bits) Función Salida Æ Comparador (>3) Æ Comparador (>3) Æ 2 OR 2 OR 7 COMPONENTES BLOQUE DEL ACUMULADOR BLOQUE DEL ACUMULADOR Sortida(0) Sortida(1) Sortida(2) 0 bias(0) bias(1) 0 0 If fi ACC 4bits entrada_comp (3 to 0) 8 COMPONENTES BLOQUE DEL COMPARADOR BLOQUE DEL COMPARADOR entrada_comparador(2) entrada_comparador(3) entrada_comparador(4) OR I/out0 9 SOLUCIÓN JORDI BLOQUE DEL DECODIFICADOR BLOQUE DEL DECODIFICADOR Vei(0) T(0) Vei(1) T(1) V i(2) Vei(2) T(2) Vei(3) T(3) & Sortida(0) & & DEC 4 to 3 4 to 3 Sortida(1) Sortida(2) & 10 SOLUCIÓN NATALIA 4 MULTIPLICADORES CON SUMADORES 4 MULTIPLICADORES CON SUMADORES 11 SOLUCIÓN NATALIA 9 MULTIPLICADORES CON SUMADORES 9 MULTIPLICADORES CON SUMADORES 12 SOLUCIÓN JORDI 4 MULTIPLICADORES CON DECODER 4 to 3 4 MULTIPLICADORES CON DECODER 4 to 3 13 SOLUCIÓN JORDI 4 MULTIPLICADORES CON DECODER 4 to 3 opt 4 MULTIPLICADORES CON DECODER 4 to 3 opt. 14 SOLUCIÓN JORDI 9 MULTIPLICADORES CON DECODER 9 to 4 9 MULTIPLICADORES CON DECODER 9 to 4 15 SOLUCIÓN JORDI 9 MULTIPLICADORES CON DECODER 9 to 4 SIN ACUMULADOR 9 MULTIPLICADORES CON DECODER 9 to 4 SIN ACUMULADOR 16 SOLUCIÓN JORDI 9 MULTIPLICADORES CON SUMADORES 9 MULTIPLICADORES CON SUMADORES 17 SOLUCIÓN JORDI 9 MULTIPLICADORES CON 1 CONTADOR 9 MULTIPLICADORES CON 1 CONTADOR 18 CONCLUSIONES ‐Se obtienen mejores resultados empleando un decodificador para realizar la suma de las aportaciones para un número mayor de coeficientes. ÆQueda comprobar el efecto del decodificador y el sumador para 4 cc sobre los mismos diseños. ‐Como era esperable, sobre una única celda la reducción de hw obtenida de la eliminación de multiplicadores es compensada por el aumento de complejidad de control. ÆSe esperan p mejoras j más significativas g en la implementación p de la malla y en la utilización de señales no binarias (procesado de grises). 19 LINEAS DE FUTURO ‐Implementación topológica de DTCNNs sobre FPGA: j del paralelismo p ((mejora j del rendimiento)) ∙ mejora ∙ 1Q‐1bit‐B/W, S&S, ... ‐Extracción de datos de datos de validez de validez y aplicabilidad y aplicabilidad de metodologías de metodologías S&S: ∙ implementación de celdas con diferente número de multiplicadores para diferentes tamaños de palabra. 20