SlideShare una empresa de Scribd logo
1 de 28
Implementación
Algoritmo Otsu sobre FPGA
Seminario Máster Universitario en Ciencias y Tecnologías de
Computación. Escuela Superior de Ingeniería de Sistemas
Informáticos
INDICE
 INTRODUCCIÓN. TELEDETECCIÓN Y
HARDWARE
 ALGORITMO OTSU
 CONCEPTOS BÁSICOS FPGA
 IMPLEMENTACIONES
 Simulaciones
 Implementaciones Hardware
INTRODUCCIÓN. TELEDETECCIÓN y
HARDWARE
POR QUÉ?
INTRODUCCIÓN. TELEDETECCIÓN y
HARDWARE
 La tendencia en teledetección siempre fue utilizar
dispositivos pequeños, baratos y con buen rendimiento.
 Si parte del procesamiento se realizara en órbita
mejoraría el ancho de banda de las comunicaciones y se
tendría que computar menos en tierra.
 Las FPGA’s además de usarse para el prototipado
rápido, combina la flexibilidad de los
microprocesadores con la potencia y el rendimiento de
los ASIC’s
 Se necesitan dispositivos certificados para el espacio
(Radiación que puede causar errores en circuitos
“normales”). Actel y Xilinx hacen FPGA’s seguras para el
espacio
Algoritmo OTSU
- Eficiencia
- Adecuado para histogramas bimodales
- Conviene preprocesar la imagen (quitar ruido)
𝑁 =
𝑖=0
𝐿−1
𝑛𝑖
𝑝𝑖 =
𝑛𝑖
𝑁
, 𝑝𝑖 ≥ 0 𝑦
𝑖=0
𝐿−1
𝑝𝑖 = 1
Algoritmo OTSU
Pr 𝐶0 = 𝑃0 𝑘 =
𝑖=0
𝑘
𝑝𝑖 = 𝑤0 = 𝑤(𝑘)
Pr 𝐶1 = 𝑃1(𝑘) =
𝑖=𝑘+1
𝐿−1
𝑝𝑖 = 1 − 𝑃0 𝑘 = 𝑤1
𝑢 𝑘 =
𝑖=0
𝑘
𝑖𝑝𝑖
Algoritmo OTSU
𝑢0(𝑘) =
𝑖=0
𝑘
𝑖 Pr 𝑖|𝐶0 =
1
𝑃0(𝑘)
𝑖=0
𝑘
𝑖𝑝𝑖 =
𝑢(𝑘)
𝑤(𝑘)
𝑢1 𝑘 =
𝑖=𝑘+1
𝐿−1
𝑖 Pr 𝑖|𝐶1 =
1
𝑃1(𝑘)
𝑖=𝑘+1
𝐿−1
𝑖𝑝𝑖 =
𝑢𝑇 − 𝑢(𝑘)
1 − 𝑤(𝑘)
𝑤0𝑢0 + 𝑤1𝑢1 = 𝑢𝑇 𝑤0 + 𝑤1 = 1.
𝜎2
0 =
𝑖=0
𝑘
(𝑖 − 𝑢0)2
Pr 𝑖 𝐶0 =
𝑖=0
𝑘
(𝑖 − 𝑢0)2
𝑝𝑖
𝑤0
𝜎2
1 =
𝑖=𝑘+1
𝐿−1
(𝑖 − 𝑢1)2Pr 𝑖 𝐶1 =
𝑖=𝑘+1
𝐿−1
(𝑖 − 𝑢1)2𝑝𝑖
𝑤1
𝜎𝑤
2
= 𝑤0𝜎2
0 + 𝑤1𝜎2
1
𝜎𝐵
2 = 𝑤0(𝑢0 − 𝑢𝑇)2+𝑤1(𝑢1−𝑢𝑇)2= 𝑤0𝑤1(𝑢1−𝑢0)2
𝜎𝐵
2 𝑘 =
𝑢𝑇𝑤 𝑘 − 𝑢(𝑘) 2
𝑤(𝑘) 1 − 𝑤(𝑘)
𝑔 𝑥, 𝑦 =
𝑏0 𝑠𝑖 𝑓 𝑥, 𝑦 > 𝑘∗
𝑏1 𝑠𝑖 𝑓 𝑥, 𝑦 ≤ 𝑘∗
Maximizar
𝜎𝑇
2 = 𝜎𝑤
2 + 𝜎𝐵
2
Algoritmo OTSU
 ENTRADA: Matriz de valores de intensidad de la imagen
 SALIDA: Valor umbral k para la segmentación de la imagen
(global)
1. Calcular el histograma normalizado de la imagen: 𝑝𝑖, para 𝑖 = 0, , . . 𝐿 − 1
2. Calcular la intensidad global media 𝑢𝑇
3. Para 𝑘 = 0,1,2, … 𝐿 − 1, calcular:
a) las sumas acumulativas 𝑤(𝑘),
b) las medias acumulativas 𝑢(𝑘)
c) la varianza entre clases 𝜎𝐵
2 𝑘
6. Obtener el umbral 𝑘∗
para el cual 𝜎𝐵
2
𝑘 es el máximo.
7. Obtener la medida de separabilidad 𝜂(𝑘) para 𝑘 = 𝑘∗
8. Devolver 𝑘∗
Sistemas Empotrados. Máster en Software de SSDD
y EE. Curso 2018-19
CONCEPTOS BÁSICOS FPGA
Basys3
XC7A35T-1CPG236C
Nexyx 4 DDR
Descripción Descripción
1 Selector de potencia y puente de
batería
13 Botón de reinicio de configuración de
la FPGA
2 Puerto USB UART/JTAG compartido 14 Botón de reinicio de la CPU (para
núcleos blandos)
3 Puente de configuración externa (SD
/ USB)
15 Puerto de señal analógica Pmod
(XADC)
4 Puerto (s) Pmod 16 Puente de modo de programación
5 Micrófono 17 Conector de audio
6 Punto (s) de prueba de la fuente de
alimentación
18 Conector VGA.
7 LEDs (16) 19 Programación de FPGA hecha LED
8 Interruptores deslizantes 20 Conector ethernet
9 Pantalla de ocho dígitos 7 seg. 21 Conector host USB
10 Puerto JTAG para cable externo
(opcional)
22 Puerto de programación PIC24 (uso
de fábrica)
11 Cinco pulsadores 23 Interruptor de alimentación
12 Sensor de temperatura 24 Conector de alimentación
XC7A100T-1CSG324C),
XC7A100T-1CSG324C
Otsu. Código Matlab
𝑝𝑖 =
𝑛𝑖
𝑁
Pr 𝐶0 = 𝑃0 𝑘 =
𝑖=0
𝑘
𝑝𝑖 = 𝑤0 = 𝑤(𝑘)
𝑢0(𝑘) =
𝑖=0
𝑘
𝑖 Pr 𝑖|𝐶0 =
𝜎𝐵
2 𝑘 =
𝑢𝑇𝑤 𝑘 − 𝑢(𝑘) 2
𝑤(𝑘) 1 − 𝑤(𝑘)
Otsu SIMULACIÓN
OTSU sobre FPGA
 Posibilidades desde Matlab/Simulink a través de
Vivado:
 Programación:
MatlabM-code
CHLS
VHDLMatlab/Simulink
 Con bloques Simulink (primitivas de Xilinx)
M-CODE
Desde código Matlab (sintaxis especial), hasta
la fpga
• Sintaxis especial
• Input/Output
Xilinx
Diagrama
de
Bloques
• Fuentes
• Restricciones
• Simulación
Generación
automática
código VHDL
• Síntesis
• Implementación
• BitStream
Vivado
Generación de
Reports de
consumos,
recursos,
tiempos…
Cosimulación
M-code
M-code
OTSU sobre FPGA
EN DESARROLLO
OTSU sobre FPGA
 Code Composer
 HLS. Vivado
HLS
• Una forma de acelerar la
integración desde C a FPGA
• C, C++ y SystemC
OTSU en FPGA
 Razones escoger modelo de bloques:
 Buscamos más de un umbral
 Imágenes grandes
 Pero….. Tuvimos que cambiar de placa, Basys 3 no tenía
suficientes recursos
 Nexys
OTSU sobre FPGA
OTSU sobre FPGA
Media
u
Varianza

Dentro de la clase w
Dentro entre clases
B
Obtención
del umbral
Se hallan umbrales locales. Se dividen las imágenes en
6 zonas
OTSU sobre FPGA
OTSUsobre FPGA
• Algún error en esta umbralización, los segmentos de imagen
siempre tienen la misma dimensión y puede producir errores de
frontera
• Buscar posibilidad de realización multiumbral para este tipo de
problemas
OTSU sobre FPGA
Referencias
 Omar M. Saad, Ahmed Shalaby, Lotfy Samy, Mohammed S. Sayed,
Automatic arrival time detection for earthquakes based on Modified
Laplacian of Gaussian filter, Computers & Geosciences, Volume 113,2018,
Pages 43-53, ISSN 0098-3004, https://doi.org/10.1016/j.cageo.2018.01.013.
 N. Raissouni, S. El Adib, J. A. Sobrino, N. Ben Achhab, A. Chahboun, A.
Azyat & M. Lahraoua (2019) Towards LST split-window algorithm FPGA
implementation for CubeSats on-board computations purposes, International
Journal of Remote Sensing, 40:5-6, 2435-2450, DOI:
10.1080/01431161.2018.1562589

Más contenido relacionado

Similar a Seminario_19.pptx

⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...Victor Asanza
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...Victor Asanza
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...Victor Asanza
 
10. Dispositivos Programables Logicos.pptx
10. Dispositivos Programables Logicos.pptx10. Dispositivos Programables Logicos.pptx
10. Dispositivos Programables Logicos.pptxDänïel Rödrïguëz
 
2014 ii c02t-estacion meteorologica
2014 ii c02t-estacion meteorologica2014 ii c02t-estacion meteorologica
2014 ii c02t-estacion meteorologicaAland Bravo Vecorena
 
INFORME EJECUTIVO ARQUITECTURA DE COMPUTADORES
INFORME EJECUTIVO  ARQUITECTURA DE COMPUTADORESINFORME EJECUTIVO  ARQUITECTURA DE COMPUTADORES
INFORME EJECUTIVO ARQUITECTURA DE COMPUTADORESsosapaola2016
 
381429156-PLC-DVP-Fundamentals-RevB.pdf
381429156-PLC-DVP-Fundamentals-RevB.pdf381429156-PLC-DVP-Fundamentals-RevB.pdf
381429156-PLC-DVP-Fundamentals-RevB.pdfelkinmeza1
 
Agilent technologies1670g.en.es
Agilent technologies1670g.en.esAgilent technologies1670g.en.es
Agilent technologies1670g.en.esJoseph Gonzalez
 
SIMD Single Instruction Multiple Data
SIMD Single Instruction Multiple DataSIMD Single Instruction Multiple Data
SIMD Single Instruction Multiple DataDan Huerta
 
Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Freddy Cuasapaz
 
Matriz de LEDs + Interfaz Grafica con GTK en Linux
Matriz de LEDs + Interfaz Grafica con GTK en LinuxMatriz de LEDs + Interfaz Grafica con GTK en Linux
Matriz de LEDs + Interfaz Grafica con GTK en LinuxSNPP
 
Diseño de sonómetro mediante el uso de sistemas embebidos(1)
Diseño de sonómetro mediante el uso de sistemas embebidos(1)Diseño de sonómetro mediante el uso de sistemas embebidos(1)
Diseño de sonómetro mediante el uso de sistemas embebidos(1)meraso123
 
Digital Signal Processing [DSP]
Digital Signal Processing [DSP]Digital Signal Processing [DSP]
Digital Signal Processing [DSP]Daniel Quezada
 

Similar a Seminario_19.pptx (20)

8.- DISPO LOG PROG.pdf
8.- DISPO LOG PROG.pdf8.- DISPO LOG PROG.pdf
8.- DISPO LOG PROG.pdf
 
8.- DISPO LOG PROG.pdf
8.- DISPO LOG PROG.pdf8.- DISPO LOG PROG.pdf
8.- DISPO LOG PROG.pdf
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
10. Dispositivos Programables Logicos.pptx
10. Dispositivos Programables Logicos.pptx10. Dispositivos Programables Logicos.pptx
10. Dispositivos Programables Logicos.pptx
 
2014 ii c02t-estacion meteorologica
2014 ii c02t-estacion meteorologica2014 ii c02t-estacion meteorologica
2014 ii c02t-estacion meteorologica
 
Tutorial micro MSP430
Tutorial micro MSP430Tutorial micro MSP430
Tutorial micro MSP430
 
Ejemplo de paper
Ejemplo de paperEjemplo de paper
Ejemplo de paper
 
INFORME EJECUTIVO ARQUITECTURA DE COMPUTADORES
INFORME EJECUTIVO  ARQUITECTURA DE COMPUTADORESINFORME EJECUTIVO  ARQUITECTURA DE COMPUTADORES
INFORME EJECUTIVO ARQUITECTURA DE COMPUTADORES
 
Trabajo plus (1)
Trabajo plus (1)Trabajo plus (1)
Trabajo plus (1)
 
381429156-PLC-DVP-Fundamentals-RevB.pdf
381429156-PLC-DVP-Fundamentals-RevB.pdf381429156-PLC-DVP-Fundamentals-RevB.pdf
381429156-PLC-DVP-Fundamentals-RevB.pdf
 
Agilent technologies1670g.en.es
Agilent technologies1670g.en.esAgilent technologies1670g.en.es
Agilent technologies1670g.en.es
 
SIMD Single Instruction Multiple Data
SIMD Single Instruction Multiple DataSIMD Single Instruction Multiple Data
SIMD Single Instruction Multiple Data
 
Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Informe practica ecuaciones # 6
Informe practica ecuaciones # 6
 
Matriz de LEDs + Interfaz Grafica con GTK en Linux
Matriz de LEDs + Interfaz Grafica con GTK en LinuxMatriz de LEDs + Interfaz Grafica con GTK en Linux
Matriz de LEDs + Interfaz Grafica con GTK en Linux
 
Diseño de sonómetro mediante el uso de sistemas embebidos(1)
Diseño de sonómetro mediante el uso de sistemas embebidos(1)Diseño de sonómetro mediante el uso de sistemas embebidos(1)
Diseño de sonómetro mediante el uso de sistemas embebidos(1)
 
Digital Signal Processing [DSP]
Digital Signal Processing [DSP]Digital Signal Processing [DSP]
Digital Signal Processing [DSP]
 
11 dispositivos logicos programables 2018
11 dispositivos logicos programables 201811 dispositivos logicos programables 2018
11 dispositivos logicos programables 2018
 
Procesadores
ProcesadoresProcesadores
Procesadores
 

Último

Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
Clase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxClase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxChristopherOlave2
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 

Último (20)

Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
Clase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxClase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptx
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 

Seminario_19.pptx

  • 1. Implementación Algoritmo Otsu sobre FPGA Seminario Máster Universitario en Ciencias y Tecnologías de Computación. Escuela Superior de Ingeniería de Sistemas Informáticos
  • 2. INDICE  INTRODUCCIÓN. TELEDETECCIÓN Y HARDWARE  ALGORITMO OTSU  CONCEPTOS BÁSICOS FPGA  IMPLEMENTACIONES  Simulaciones  Implementaciones Hardware
  • 4. INTRODUCCIÓN. TELEDETECCIÓN y HARDWARE  La tendencia en teledetección siempre fue utilizar dispositivos pequeños, baratos y con buen rendimiento.  Si parte del procesamiento se realizara en órbita mejoraría el ancho de banda de las comunicaciones y se tendría que computar menos en tierra.  Las FPGA’s además de usarse para el prototipado rápido, combina la flexibilidad de los microprocesadores con la potencia y el rendimiento de los ASIC’s  Se necesitan dispositivos certificados para el espacio (Radiación que puede causar errores en circuitos “normales”). Actel y Xilinx hacen FPGA’s seguras para el espacio
  • 5. Algoritmo OTSU - Eficiencia - Adecuado para histogramas bimodales - Conviene preprocesar la imagen (quitar ruido) 𝑁 = 𝑖=0 𝐿−1 𝑛𝑖 𝑝𝑖 = 𝑛𝑖 𝑁 , 𝑝𝑖 ≥ 0 𝑦 𝑖=0 𝐿−1 𝑝𝑖 = 1
  • 6. Algoritmo OTSU Pr 𝐶0 = 𝑃0 𝑘 = 𝑖=0 𝑘 𝑝𝑖 = 𝑤0 = 𝑤(𝑘) Pr 𝐶1 = 𝑃1(𝑘) = 𝑖=𝑘+1 𝐿−1 𝑝𝑖 = 1 − 𝑃0 𝑘 = 𝑤1 𝑢 𝑘 = 𝑖=0 𝑘 𝑖𝑝𝑖
  • 7. Algoritmo OTSU 𝑢0(𝑘) = 𝑖=0 𝑘 𝑖 Pr 𝑖|𝐶0 = 1 𝑃0(𝑘) 𝑖=0 𝑘 𝑖𝑝𝑖 = 𝑢(𝑘) 𝑤(𝑘) 𝑢1 𝑘 = 𝑖=𝑘+1 𝐿−1 𝑖 Pr 𝑖|𝐶1 = 1 𝑃1(𝑘) 𝑖=𝑘+1 𝐿−1 𝑖𝑝𝑖 = 𝑢𝑇 − 𝑢(𝑘) 1 − 𝑤(𝑘) 𝑤0𝑢0 + 𝑤1𝑢1 = 𝑢𝑇 𝑤0 + 𝑤1 = 1. 𝜎2 0 = 𝑖=0 𝑘 (𝑖 − 𝑢0)2 Pr 𝑖 𝐶0 = 𝑖=0 𝑘 (𝑖 − 𝑢0)2 𝑝𝑖 𝑤0 𝜎2 1 = 𝑖=𝑘+1 𝐿−1 (𝑖 − 𝑢1)2Pr 𝑖 𝐶1 = 𝑖=𝑘+1 𝐿−1 (𝑖 − 𝑢1)2𝑝𝑖 𝑤1
  • 8. 𝜎𝑤 2 = 𝑤0𝜎2 0 + 𝑤1𝜎2 1 𝜎𝐵 2 = 𝑤0(𝑢0 − 𝑢𝑇)2+𝑤1(𝑢1−𝑢𝑇)2= 𝑤0𝑤1(𝑢1−𝑢0)2 𝜎𝐵 2 𝑘 = 𝑢𝑇𝑤 𝑘 − 𝑢(𝑘) 2 𝑤(𝑘) 1 − 𝑤(𝑘) 𝑔 𝑥, 𝑦 = 𝑏0 𝑠𝑖 𝑓 𝑥, 𝑦 > 𝑘∗ 𝑏1 𝑠𝑖 𝑓 𝑥, 𝑦 ≤ 𝑘∗ Maximizar 𝜎𝑇 2 = 𝜎𝑤 2 + 𝜎𝐵 2
  • 9. Algoritmo OTSU  ENTRADA: Matriz de valores de intensidad de la imagen  SALIDA: Valor umbral k para la segmentación de la imagen (global) 1. Calcular el histograma normalizado de la imagen: 𝑝𝑖, para 𝑖 = 0, , . . 𝐿 − 1 2. Calcular la intensidad global media 𝑢𝑇 3. Para 𝑘 = 0,1,2, … 𝐿 − 1, calcular: a) las sumas acumulativas 𝑤(𝑘), b) las medias acumulativas 𝑢(𝑘) c) la varianza entre clases 𝜎𝐵 2 𝑘 6. Obtener el umbral 𝑘∗ para el cual 𝜎𝐵 2 𝑘 es el máximo. 7. Obtener la medida de separabilidad 𝜂(𝑘) para 𝑘 = 𝑘∗ 8. Devolver 𝑘∗
  • 10. Sistemas Empotrados. Máster en Software de SSDD y EE. Curso 2018-19 CONCEPTOS BÁSICOS FPGA
  • 12. Nexyx 4 DDR Descripción Descripción 1 Selector de potencia y puente de batería 13 Botón de reinicio de configuración de la FPGA 2 Puerto USB UART/JTAG compartido 14 Botón de reinicio de la CPU (para núcleos blandos) 3 Puente de configuración externa (SD / USB) 15 Puerto de señal analógica Pmod (XADC) 4 Puerto (s) Pmod 16 Puente de modo de programación 5 Micrófono 17 Conector de audio 6 Punto (s) de prueba de la fuente de alimentación 18 Conector VGA. 7 LEDs (16) 19 Programación de FPGA hecha LED 8 Interruptores deslizantes 20 Conector ethernet 9 Pantalla de ocho dígitos 7 seg. 21 Conector host USB 10 Puerto JTAG para cable externo (opcional) 22 Puerto de programación PIC24 (uso de fábrica) 11 Cinco pulsadores 23 Interruptor de alimentación 12 Sensor de temperatura 24 Conector de alimentación XC7A100T-1CSG324C), XC7A100T-1CSG324C
  • 13. Otsu. Código Matlab 𝑝𝑖 = 𝑛𝑖 𝑁 Pr 𝐶0 = 𝑃0 𝑘 = 𝑖=0 𝑘 𝑝𝑖 = 𝑤0 = 𝑤(𝑘) 𝑢0(𝑘) = 𝑖=0 𝑘 𝑖 Pr 𝑖|𝐶0 = 𝜎𝐵 2 𝑘 = 𝑢𝑇𝑤 𝑘 − 𝑢(𝑘) 2 𝑤(𝑘) 1 − 𝑤(𝑘)
  • 15. OTSU sobre FPGA  Posibilidades desde Matlab/Simulink a través de Vivado:  Programación: MatlabM-code CHLS VHDLMatlab/Simulink  Con bloques Simulink (primitivas de Xilinx)
  • 16. M-CODE Desde código Matlab (sintaxis especial), hasta la fpga • Sintaxis especial • Input/Output Xilinx Diagrama de Bloques • Fuentes • Restricciones • Simulación Generación automática código VHDL • Síntesis • Implementación • BitStream Vivado Generación de Reports de consumos, recursos, tiempos… Cosimulación
  • 19. OTSU sobre FPGA EN DESARROLLO
  • 20. OTSU sobre FPGA  Code Composer  HLS. Vivado HLS • Una forma de acelerar la integración desde C a FPGA • C, C++ y SystemC
  • 22.  Razones escoger modelo de bloques:  Buscamos más de un umbral  Imágenes grandes  Pero….. Tuvimos que cambiar de placa, Basys 3 no tenía suficientes recursos  Nexys
  • 24. OTSU sobre FPGA Media u Varianza  Dentro de la clase w Dentro entre clases B Obtención del umbral Se hallan umbrales locales. Se dividen las imágenes en 6 zonas
  • 26. OTSUsobre FPGA • Algún error en esta umbralización, los segmentos de imagen siempre tienen la misma dimensión y puede producir errores de frontera • Buscar posibilidad de realización multiumbral para este tipo de problemas
  • 28. Referencias  Omar M. Saad, Ahmed Shalaby, Lotfy Samy, Mohammed S. Sayed, Automatic arrival time detection for earthquakes based on Modified Laplacian of Gaussian filter, Computers & Geosciences, Volume 113,2018, Pages 43-53, ISSN 0098-3004, https://doi.org/10.1016/j.cageo.2018.01.013.  N. Raissouni, S. El Adib, J. A. Sobrino, N. Ben Achhab, A. Chahboun, A. Azyat & M. Lahraoua (2019) Towards LST split-window algorithm FPGA implementation for CubeSats on-board computations purposes, International Journal of Remote Sensing, 40:5-6, 2435-2450, DOI: 10.1080/01431161.2018.1562589

Notas del editor

  1. Supongamos que hay un umbral 𝒌, que permite segmentar la imagen en dos clases 𝐶_0 y 𝐶_1 con el resultado deseado para la segmentación. 𝐶_0 contiene a todos los pixeles con valores en el rango [𝟎,𝒌] 𝐶_1 los pixeles en el rango [𝒌+𝟏, 𝑳−𝟏]
  2. Media hasta el nivel k
  3. La media de los niveles de intensidad de gris de lo píxeles pertenecientes a cada una, 𝐶_0 y 𝐶_1 , estarán dadas por Variancia
  4. Una FPGA posee al menos 3 bloques: CLB: Configurable-logic blocks, donde se implementan los circuitos lógicos. IOB: Input-output block, donde se conectan las configuraciones internas con pines de entrada y salida. DCM: Digital Clock Managers, permiten entregar señales de reloj a toda la FPGA. Bloques lógicos, cuya estructura y contenido se denomina arquitectura. Hay muchos tipos de arquitecturas, que varían principalmente en complejidad (desde una simple puerta hasta módulos más complejos o estructuras tipo PLD). Suelen incluir biestables para facilitar la implementación de circuitos. secuenciales. Otros módulos de importancia son los bloques de Entrada/Salida, Memoria RAM, que se carga durante el RESET para configurar bloques y conectarlos
  5. MGT. Multi-Gigabit Transceiver
  6. MGT. Multi-Gigabit Transceiver