1. IDENTEFIER
Programación de Sistemas
Adaptativos
Disclaimer: Las herramientas y códigos utilizados para esta presentación son propiedad de sus autores, el uso dado en la
presentación es solo para fines ilustrativos y educativos.
2. Resumen del proyecto.
Con respecto a la entrega anterior , no se
modificó nada del proyecto.
Se seguirá lo que se tenía planeado
utilizando el reconocimiento de patrones
y algoritmos de búsqueda.
4. ¿Qué se ha hecho?
Se han estado realizando pruebas
mayoritariamente en el área de la red
neuronal para el reconocimiento de lo que el
usuario dibuje en la pantalla.
Se han encontrado algunos algoritmos para
ésta tarea(e.g K-nearest neighbours).
Se encontró una pequeña implementación
para el autocompletado.
5. ¿Qué falta?
En la parte del reconocimiento, hace falta hacer
pruebas con la librería que se eligió (opencv)
para programar la red neuronal.
Hace falta hacer el vínculo entre la parte de la
red neuronal y la del autocompletado de
palabras(i.e. Que reconozca la letra dibujada, la
convierta en un carácter y se empiecen a dar
opciones de autocompletado).
Hace falta analizar la implementación que se
encontró para el autocompletado de palabras y
a partir de ahí obtener una implementación
adecuada al proyecto.
6. Problemas
Se han tenido muchos problemas en lo que
se refiere al manejo de opencv.
Un ejemplo es que al tratar de entrenar la
red, se necesitan dos documentos con
información de las imágenes y un «label»
pero por alguna razón no se logra hacer que
funcione.
Se debe analizar más a fondo la
documentación de opencv; en el peor de los
casos puede ser un error con python así que
se tendría que leer la documentación del
lenguaje.
8. Recursos.
Lalibrería que se decidió utilizar para el
proyecto fue opencv.
Encuanto a referencias, la lista se
extendió mucho debido a la complejidad
de la librería.
9. Referencias.
Investigando, se llegó con la siguiente
página: http://www.aishack.in/
En ésta página se encuentran
explicaciones de algoritmos, tutoriales
sobre el uso de opencv, entre otras cosas.
Una «desventaja» es que el sitio está
hecho para personas que utilizan la
versión de c/c++ de la librería.
10. Debido a la complejidad de la página
anterior, se siguió buscando y se llegó al
siguiente blog :
http://opencvpython.blogspot.mx/
En este blog, también se encuentran
tutoriales de opencv pero utilizando
python.
La « desventaja » de esta página, es que
en algunos casos solo se provee el
código y se tuvo que « descifrar » leyendo
la documentación.
11. Buscando en la página anterior algo
relacionado con el algoritmo de k-
nearest neighbours se encontró el
siguiente link:
http://stackoverflow.com/questions/9413
216/simple-digit-recognition-ocr-in-
opencv-python
En ese link se encuentra una
implementación de este algoritmo, el
cual se analizó para tener una idea mas
clara de como utilizarlo.
12. Nomenos importantes son los links de la
documentación de la librería junto con la
documentación de otras dos de las
cuales depende opencv, que son :
numpy y scipy.
http://opencv.willowgarage.com/docum
entation/python/index.html
http://docs.scipy.org/doc/
14. Debido a todos los problemas que se han
tenido con entender el funcionamiento de la
librería, no se tiene un código funcional para
ser presentado.
De avance de código solo se tiene lo
referente al procesamiento que se debe
hacer antes de utilizar el algoritmo de k-
nearest neighbours. « código »
Cabe aclarar que ese procesamiento no se
realiza de manera correcta y se está
buscando la manera de corregirlo.
En cuanto al autocompletado, a partir del
siguiente código, se planea tomar una base
para adaptarlo a lo que el proyecto
necesita.