Proyecto Final
Nuestra aplicación fue realizada con redes de retro propagación desarrollada en Matlab, nuestro proyecto consiste en la realización de una red neuronal que fuera capaz de reconocer con imágenes de la webcam y determinar la letra que está allí escrita; inicialmente lo que intentamos fue ponerle una escala de grises de rojo pero esta nos generaba un problema en la umbralización, y optamos por utilizar la escala de grises de verde porque era la mejor para umbralizar, la umbralización en 1 y 0; siendo el píxel mayor a 83 sera un 0, y si es menor sera un 1. Decidimos reescalar la imagen para ahorrar recursos, y pasamos las matrices a vectores, con el entrenamiento de la red decidimos utilizar una factor de entrenamiento de 0.099 para hacerlo más fácil porque notamos que entre mas grande el factor más tardaba en entrenar y mas iteraciones necesitaba, la red cumplió con el performance, la cantidad de ciclos que hizo fue un total de 13.746 con la meta del error en 0.00923.
Al momento de validar la letras nuestra imágenes eran confundidas por la letra L, por que al momento de umbralizar las imágenes estas no eran correctamente umbralización puesto que la iluminación y la superficie era un factor muy importante que es el determinante que la red entrene e identifique, intentamos con una luz externa para iluminar la imagen pero con esto mostraba con más detalle la superficie, en nuestro caso se mostraba granulosidad por la hoja de papel, intentamos cambiar la tangente sigmoidal por la logarítmica sigmoidal con un entrenamiento de traindx, la red nunca entreno, así que regresamos a la tangente y el traingd.
Decidimos comprobar que la red estaba correcta y utilizamos una imagen con filtros que quitan el tipo de textura del fondo y realzaba el color y con este lo giramos un todas las posiciones que se nos ocurrieran y efectivamente estaba bien la red, el problema es la toma de la imagen.
2-Proyecto de referencia
Este trabajo consiste en una tesis de un ingeniero el cual con ayuda de funciones para segmentar las letras y eliminar el ruido para evitar datos innecesarios, con este se busca que con un texto de ejemplo se identifique cada una de las letras que conforman la palabra
Resumen de ejecución
Reconocimiento de carácteres I,J,K,L
El trabajo se ha dividido en diferentes fases para poder realizarlo con éxito.
1 tarea: Segmentar el conjunto de aprendizaje
(segment.TrainingSet.m)
Reconocimiento de carácteres I,J,K,L El trabajo se ha dividido en diferentes fases para poder realizarlo con éxito. 1 tarea: Segmentar el conjunto de aprendizaje (segment.TrainingSet.m) Luego de segmentadas las letras (arialSegmented), hay que eliminar el ruido. 2) Hay que caracterizar cada una de las letras: -Se usa la función CreateDataSet() Se obtienen caracteristicas con getFeatures, se halla razón de número de filas entre número de columnas para poder eliminar la basura. 3)Ahora los elementos se deben caracterizar por separado (I,J,K,L) se asignan en (testSet) -Ahora se crear el data set(Será nuestro conjunto de pruebas) -Aquí se obtendrán características y se guardarán en una función (I,J,K,L) trainset.mat (ClassName) 4) Ahora vamos con la parte de reconocimiento. (SimpleOcR) Analizaremos las letras (testSet) Se obtienen características y se comparan con la gran bdd. Aquí usaremos el modelo KNN (Vecinos más cercanos)
Mapa conceptual: https://app.creately.com/diagram/gucnrorvlk3/edit
Comentarios del curso:
En este proceso de entrenamiento con imágenes ópticas, nos fue muy complicado hacer el entrenamiento de las neuronas, este sólo reconoce una letra de las 4 asignadas, lo cuál significó un completo dolor de cabeza, no logramos encontrar una función qué nos permitiera trabajar y llevar un correcto entrenamiento a cabo, en búsqueda de soluciones logramos conseguir un proyecto demasiado interesante y muy bien organizado, explicado y trabajado qué nos permitiera aplicar este proceso de entrenamiento, pero sólo tenía enfoque en tipo de letra Arial, con un único tamaño y sólo en Mayúsculas, por esto no logramos implementar el ejemplo en nuestro proyecto y terminamos pérdidos. Este proyecto es un gran reto, nos impulsa a buscar más soluciones pero con el escaso tiempo qué tuvimos para realizarlo, apenas fue para dar nuestros primeros pasos en este mundo, igual quedo muy interesada con el curso, tanto qué ya he conseguido varios cursos para implementarlos con Python y adentrarme un poco más al mundo del Maching Learning y el Deep Learning.
Comparto los cursos qué he adquirido de Platzi para poder estudiar por si le interesan, es link propio, procure no difundirlo mucho para conservación, gracias :3
Pdt: Aprendí a hacer Guide, cómo opción adicional jaja
https://mega.nz/fm/jnpS1QpK
Link Video exposición: https://drive.google.com/file/d/1fo-uAq_OupWEx8PyMpMImND8hWS0OMuo/view

Comentarios
Publicar un comentario