EL PIXEL RE-VISITADO IMAGEN MINING - … · posibilidades en Salud, Biología, redes sociales ......
Transcript of EL PIXEL RE-VISITADO IMAGEN MINING - … · posibilidades en Salud, Biología, redes sociales ......
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
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
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…
BASICS …
6
VIDEOS GRAFICOS Presentan espacial información que cambia
sobre el tiempo o presentar otra dimensión a
la imagen estatica
HERRAMIENTAS
BASICAS
OPEN SOURCE…
C++
Java
Python
Entre otros…
Lenguajes
Aforge.net
Cimg (http://cimg.sourceforge.net/)
OPencv
Entre otros…
Librerias
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…
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
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
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
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
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.
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