martes, 9 de octubre de 2012

[REDES NEURONALES] Reporte individual

El proyecto:

Consiste en simplemente reconocer una placa en una imagen o video para despues reconocer los caracteres que contiene y así poder ser usada esta información para servicios vehiculares o hacer tramites.

Estos servicios se han dado a conocer en muchos paises donde se utilizan en cosas como estacionamientos que toman una imagen de la placa en la entrada y en la salida lo vuleven a hacer y hacen una resta para obtener el tiempo y de esa manera cobrar lo equivalente.

Reconocimiento de caracteres (OCR)

El reconocimiento óptico de caracteres es el tipo de algoritmo buscado para hacer este proyecto, en este caso se utiliza una red para detectarlos, estos una vez localizada la placa.

Existen varias formas para detectar caracteres u otros objetos dentro de una imagen, ya sea seccionando la imagen, o bien utilizando técnicas como detección de bordes o esquinas.

Harris & Stephens corner detection algorythm:



Es un algoritmo que trata de encontrar las esquinas en una image basado en el diferencial de puntos encontrados por el algoritmo de Moravec, uno de los primeros pero no bien implementados.

En este caso, utilizaré una libreria para procesamiento de imagenes para python que contiene tál algoritmo.


Scikits-image


Es una libreria de python que se utiliza para detectar en una imagen varias "features" o caracteristicas, como deteccion de esquinas, deteccion de bordes, tabien se utiliza para aplicar filtros y crear segmentaciones.


Utilizé el siguiente código proporcionado y modificado para funcionar con una imagen que se utiliza en pruebas:



import numpy as np
from matplotlib import pyplot as plt

from skimage import data, img_as_float
from skimage.feature import harris


def plot_harris_points(image, filtered_coords):
    plt.imshow(image)
    y, x = np.transpose(filtered_coords)
    plt.plot(x, y, 'b.')
    plt.axis('off')

# resultados
plt.figure(figsize=(8, 3))
image = img_as_float(data.load("c.jpeg"))

filtered_coords = harris(image, min_distance=4)

plt.axes([0.2, 0, 0.77, 1])
plot_harris_points(image, filtered_coords)

plt.show()

El código es muy sencillo pero solo es una pequeña parte de lo que puede hacer, la entrada y salida son las siguientes:

--->


Liga Githube

Liga Wikipedia

Liga muy interesante.

1 comentario:

  1. Está muy breve el reporte y buen poco código que mencionas haber aportado. El control de versiones es muy reciente... Van 7 por el reporte y 7 por el código.

    ResponderEliminar