33
Complex Made Easy EL PIXEL RE-VISITADO IMAGEN MINING Y VISUALIZACION DINAMICA Martin Volpacchio ** * Co-Founder Pi Analytical Solvers ** Profesor FI MDM Universidad Austral ** MS Math Economics Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015

EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

Complex

Made Easy

EL PIXEL RE-VISITADO

IMAGEN MINING

Y

VISUALIZACION DINAMICA

Martin Volpacchio ** * Co-Founder Pi Analytical Solvers

** Profesor FI MDM Universidad Austral

** MS Math Economics

Data Sci, Mg Sc.

Analytics Research CDR

X Jornadas de Data Mining & BI

Octubre 2015

Page 2: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

TEMARIO

0. Porque es importante?

1. Videos Gráficos en R

2. Procesamientos de imágenes

3. Ejemplos

3.1 Recuperar imagines borrosas

3.2 Aplicaciones en Diagnóstico

4. Conclusiones

Page 3: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

The Complex

Made Easy

0. POR QUE ES IMPORTANTE?

…DONDE APLICA?

Page 4: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

IMPORTANCIA 3 ASPECTOS…

Visualización: Facilitar el entendimiento de procesos dinámicos…Gráficos.

Machine Learning, estadística, procesos matemáticos…posee naturaleza

dinámica, aplica convergencia, evolución, perturbaciones, etc,

Image Mining: Capturar y entender patrones en imágenes y videos. Múltiples

posibilidades en Salud, Biología, redes sociales…

Procesamiento de imágenes/Visión por computadora: Mejorar el Sistema Visual

Humano artificialmente…astronomía, seguridad, Trafico…

Page 5: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

The Complex

Made Easy

1. VIDEO GRAFICOS?

…BE DISRUPTIVE

Page 6: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

BASICS …

6

VIDEOS GRAFICOS Presentan espacial información que cambia

sobre el tiempo o presentar otra dimensión a

la imagen estatica

Page 7: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

UN EJEMPLO DE

VIDEO PLOT

UN EJEMPLO CON ACTIVEPRESENTER…PRIMITIVE PERO

ILUSTRATIVO

7

Page 8: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

SLIDE 1

Page 9: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

UN EJEMPLO DE

VIDEO PLOT

UN EJEMPLO CON FFMGEP…UN POCO MAS SOFISTICADO….

9

Page 10: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

1

0

El

programa

FFmpeg

El

intervalo

de Tiempo

Los Frame

.png

El Video

PLot

Page 11: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

UN EJEMPLO DE

VIDEO PLOT

1

1

Page 12: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

The Complex

Made Easy

2. PROCESAMIENTO DE IMAGENES

…EJEMPLOS

Page 13: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

HERRAMIENTAS

BASICAS

OPEN SOURCE…

C++

Java

Python

Entre otros…

Lenguajes

Aforge.net

Cimg (http://cimg.sourceforge.net/)

OPencv

Entre otros…

Librerias

Page 14: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

BASICS …

LOS RASTER SON ALMACENADOS EN

ARCHIVOS DE IMÁGENES (JPG, TIFF, PNG, GIF, BMP

DICOM, ENTRE OTROS)

LOS RASTER SON CARACTERIZADO POR ALTURA,

ANCHO Y CANTIDAD DE BIT POR PIXEL

70 A 130 PIXEL POR PULGADAS CUADRADA (2,53CM)

EL MODELO RGB ES EL MODO MAS USUAL QUE USAN

LOS COMPUTADORAS PARA GENERAR ADITIVAMENTE,

A PARTIR DEL ROJO, VERDE Y AZUL, UNA GRAN

VARIEDAD DE COLORES

RGB TRIPLO ( R, G, B). CADA COLOR ES UN ENTERO

ENTRE 0 Y 255 EN EL CASO 3 VECTORES DE 8 BIT (24 BIT),

PERO PUEDE EXTENDERSE A 10 (1023), A 16 (0 A 65535) Y

MAS, EN ALTA RESOLUCIÓN

1

4

3 Pixeles

Matriz

Raster

EN

PROCESAMIENTO

DE IMAGENES…

Page 15: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

img = cv2.imread(‘paisaje.jpg')

screen_res = 1280, 720

scale_width = screen_res[0] / img.shape[1]

scale_height = screen_res[1] / img.shape[0]

scale = min(scale_width, scale_height)

window_width = int(img.shape[1] * scale)

window_height = int(img.shape[0] * scale)

cv2.namedWindow('dst_rt', cv2.WINDOW_NORMAL)

##cv2.resizeWindow('dst_rt', window_width, window_height)

cv2.imshow( 'dst_rt', img )

print img.shape[1]

print img[1,2,2]

f=img.shape[0]

c=img.shape[1]

m2=0

count=0

for i in range(0,f):

for j in range(0,c):

m1=(img[i,j,0]+img[i,j,1]+img[i,j,2])

m2=m2+m1

count=count+1

m2 = m2/count

for i in range(0,f):

for j in range(0,c):

for k in (0,1,2):

if (img[i,j,k] < m2):

img[i,j,k] = 0

else:

img[i,j,k] = 255

cv2.namedWindow('grey', cv2.WINDOW_NORMAL)

cv2.imshow( 'grey', img )

SEGMENTACION SEPARAR REGIONES DE INTERÉS (ROI)…

Filtro

Page 16: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

DETECCION DE

FRONTERAS

EXISTEN MUCHOS METODOS…VEAMOS EL GRADIENTE EN SU VERSIÓN MAS

SIMPLIFICADA

__author__ = 'Martin: PseudoCodigo

import Librerias

Cargar imagen en IMG (Grey NO

RGB)

Calcular Gradiente

for i in range(1,f-1):

for j in range(1,c-1):

dx=(img[i,j]-img[i+1,j])

dy=(img[i,j]-img[i,j+1])

z=(dx*dx+dy*dy)**(.5)

Aplicar threshold de gradiente

Mostrar resultados con Bordes.

0,4

0,6

0,8

0,9

original

Page 17: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

The Complex

Made Easy

3 . EJEMPLOS AVANZADOS

…POWERED BY

Page 18: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

The Complex

Made Easy

EJEMPLO I

…DETECTAR INFRACTORES DE TRANSITO

Page 19: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

The Complex

Made Easy

RECUPERAR IMÁGENES BORROSAS

…BLUR+MOVIMIENTO+FOCO

Page 20: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

CUAL ES EL NUMERO DE PATENTE? PROBLEMA

Debemos eliminar el Blur+Movimiento+foco…

Page 21: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

QUE ES? BLUR

Efecto de iluminar y esconder ciertos elementos de una imagen

def blur_edge(img, d=31):

h, w = img.shape[:2]

img_pad = cv2.copyMakeBorder(img, d, d, d, d, cv2.BORDER_WRAP)

img_blur = cv2.GaussianBlur(img_pad, (2*d+1, 2*d+1), -1)[d:-d,d:-d]

y, x = np.indices((h, w))

dist = np.dstack([x, w-x-1, y, h-y-1]).min(-1)

w = np.minimum(np.float32(dist)/d, 1.0)

return img*w + img_blur*(1-w)

Kernel Usado

Page 22: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

QUE ES? BLUR

Page 23: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

BLUR Convolución de la imagen con el kernel

gausiano…desmitificado!

Kernel Usado

Page 24: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

TRANSFORMACION AFIN DE UNA IMAGEN… ELIMINAR

MOVIMIENTO

def motion_kernel(angle, d, sz=65):

kern = np.ones((1, d), np.float32)

c, s = np.cos(angle), np.sin(angle)

A = np.float32([[c, -s, 0], [s, c, 0]])

sz2 = sz // 2

A[:,2] = (sz2, sz2) - np.dot(A[:,:2], ((d-1)*0.5, 0))

kern = cv2.warpAffine(kern, A, (sz, sz), flags=cv2.INTER_CUBIC)

return kern

Es una transformacion de la imagen que preserva puntos, lineas y planos de la imagen

Page 25: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

SLIDE 1

Page 26: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

LUEGO DE UNOS PASOS ADICIONALES (OMITIDOS)…APLICAMOS UNA

TRANSFORMACIÓN DE WEINER…

ACELERANDO

Page 27: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

PYTHON+OPENCV…. RESULTADO

Page 28: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

The Complex

Made Easy

EJEMPLO II

…DETECTAR PATOLOGÍAS EN IMÁGENES MEDICAS

Page 29: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

The Complex

Made Easy

SCREENING DE MAMOGRAFIAS

…CDR RESEARCH

Page 30: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

CAD

Iniciamos contacto con Radboud University Nijmegen, uno de los

centros mas avanzados en CAD

CDR existe una de las plataformas mas importantes de imágenes de

Latam.

Page 31: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

The Complex

Made Easy

CONCLUSIONES

Page 32: EL PIXEL RE-VISITADO IMAGEN MINING...2015/10/07  · Data Sci, Mg Sc. Analytics Research CDR X Jornadas de Data Mining & BI Octubre 2015 TEMARIO 0. Porque es importante? 1. Videos

ACELERANDO

1. Entender I : Es critico dominar el Data Set de imágenes, sus

transformaciones y las técnicas de procesamiento

2. Entender II : Herramientas de procesamiento de imágenes

3. Entender III: sinergias con especialistas del dominio de aplicación