Tema : Detección y reconocimiento de billetes para personas ciegas o cortas de visión en Smartphones Android.
Integrantes:
-Luis Rodriguez Chunga
-Edwin Cusquisiban Huallpa
-Kenji Mucching Vidal
Resumen:
Los seres humanos poseemos una serie de sentidos que nos permiten percibir e interactuar con el medio exterior, siendo uno de los más importantes el sentido de la vista. Es así que las personas con discapacidades visuales presentan muchas dificultades al momento de realizar actividades cotidianas que son fácilmente realizables por nosotros, como por ejemplo intercambiar objetos comunes como billetes y monedas. Es por ello que la presente investigación propone una forma de hacer frente a dicho problema proponiendo una solución basada en el Deep Learning para el reconocimiento de billetes y monedas en dispositivos móviles Android usando las librerías de Tensorflow y Pytorch. Además, se realizará una comparativa entre los resultados conseguidos por estas dos arquitecturas en cuanto a la precisión y el rendimiento de detección.
Paper:
Pasos para el desarrollo del trabajo:
Video presentación del trabajo:
PPT:
Código:
Modelo Yolo : https://gitlab.com/lrodriguezc/reconoci ... con-yolov3
Aplicación Android: https://github.com/edwincusquisiban/IAA-PROYECTO
Dataset y Notebook para el entrenamiento, evaluación y procesado de la data : https://drive.google.com/drive/folders/ ... sp=sharing
Se encontraron 5 coincidencias
- 03 Mar 2021, 23:35
- Foros: Proyectos en Inteligencia Artificial
- Tema: Detección y reconocimiento de billetes para personas ciegas o cortas de visión en Smartphones Android
- Respuestas: 0
- Vistas: 742
- 15 Ene 2021, 14:03
- Foros: Inteligencia Artificial
- Tema: Clustering de Personas fallecida registradas en el SINADEF en el año 2020.
- Respuestas: 0
- Vistas: 429
Clustering de Personas fallecida registradas en el SINADEF en el año 2020.
1. Resumen: Este trabajo consiste en aplicar el algoritmo de clustering “Kmeans”, para agrupar la data obtenida de la Plataforma Nacional de Datos abiertos, para este objetivo primero se hará uso de algoritmos para obtener el número óptimo de clústeres mediante Rstudio, para posteriormente aplicar el simpleKmeans en Weka.
2. Dataset: Este dataset contiene 541 866 registros, donde cada registro contiene un tipo de seguro de la persona, su sexo, la edad, estado civil, nivel de instrucción, un ubigeo de domicilio, país del domicilio, el departamento, provincia, distrito, fecha, año, mes, el lugar donde falleció, Institución, muerte violenta (si lo fue, se especifica la causa), necropsia (si se realió) y por último 6 columnas finales para distintas causas de muerte de la A-F.
Esta dataset fue procesada y los valores para cada columna que anteriormente eran texto, fueron convertidas a valores numéricos y se filtraron únicamente 16 485 registros del total mediante los algoritmos de filtro de weka.
Dataset original:
https://www.datosabiertos.gob.pe/datase ... ministerio
Dataset limpio:
https://github.com/edwincusquisiban/IAA-PC2
3. Descripción de los resultados obtenidos:
Una ves con la dataset lista, se empleo Rstudio para aplicar algoritmos de obtención del valor óptimo de clústeres.
Elbow method
Mediante el método Elbow se determinó que el valor óptimo de clústeres debería ser de 4, que es el punto donde las variaciones en la data dejan de ser significativas como para considerar más grupos.
Silhouette method
Este otro algoritmo nos arrojó un valor óptimo de 5 para los clústeres, siendo diferente al valor del método anterior en 1.
Para comprobar cual de los dos resultados se debería tomar se realizó el clustering en weka mediante el algoritmo de simpleKmenas cuyo resultados se muestran a continuación:
Para este primer caso se aplicó el simpleKmeans, dando como parámetro, de número de clústeres, el valor de 4. Vemos que el clúster 0 abarca el 53% de la data, un total de 8698 registros y sus centroides para las 9 características consideradas (Tipo de seguro, sexo, estado civil, nivel de instrucción, país domicilio, departamento domicilio, mes, tipo lugar e institución ) son 2.48, 0, 2.6, 4.4, 0.0, 9.27, 1.46, 1.76 y 2.43.
Para el segundo caso se aplicó el simpleKmeans, dando como parámetro, de número de clústeres, el valor de 5 obtenido con el método de la silueta en R. Vemos que el clúster 0 abarca el 29% de la data y el clúster 1 abarca el 24% de la data. Para el clúster 0 sus centroides para las 9 características consideradas son 2.45, 0, 2.6, 4.4, 0.0, 9.4, 1, 1.72 y 2.43, de esto vemos que con respecto al clúster 0 del caso anterior la variación en mínima, esta variación se explica por que ahora abarca menos data, es decir el clúster 0 del caso anterior que contenía 53% de la data en este caso se separó en el clúster 0 que ahora abarca solo 29%, pero que mantiene centroides muy similares al anterior, y el clúster 1 que contiene 24% de la data con clústeres de igual manera muy similares al clúster 0 del caso anterior, siendo estos de 2.5, 0, 2.6, 4.4, 0.0, 9.0, 2.0, 1.7 y 2.4
4. Conclusiones
Con los resultados anteriores podemos determinar que el número óptimo de clústeres a elegir es 4, ya que si elegimos 5, se generará un clúster a partir de la división del clúster 0 del primer caso y cuyos centroides son muy similares, es por esto que se preferiría mantenerlo unido en un solo clúster.
El cluster 0 corresponde a un grupo de mujeres exclusivamente, de diferentes estados civiles, formacion academica, etc. El resto de clústeres son de grupos de varones, pero el clúster 2 abarca a varones casados o convivientes y el resto de clusters abarcan a varones de los demás estados civiles, predominantemente solteros. Finalmente el cluster 1 abarca a varones que no estan casados o no son convivientes y cuya nivel de instrucción fue ignorado en la data, es inicial o no tienen, el cluster 3 abarcaria entonces a varones no casados ni convivientes que cuentan con al menos primaria incompleta.
5. Dificultades
Un problema que se presentó en varias ocasiones fué que en algunos resgitros de la dataset no habian datos, por lo que weka no podia cargar la dataset, así que se tuvo que quitar esos registros de manera manual para que la herramienta funcionara correctamente.
6. Ruta Github: https://github.com/edwincusquisiban/IAA-PC2
2. Dataset: Este dataset contiene 541 866 registros, donde cada registro contiene un tipo de seguro de la persona, su sexo, la edad, estado civil, nivel de instrucción, un ubigeo de domicilio, país del domicilio, el departamento, provincia, distrito, fecha, año, mes, el lugar donde falleció, Institución, muerte violenta (si lo fue, se especifica la causa), necropsia (si se realió) y por último 6 columnas finales para distintas causas de muerte de la A-F.
Esta dataset fue procesada y los valores para cada columna que anteriormente eran texto, fueron convertidas a valores numéricos y se filtraron únicamente 16 485 registros del total mediante los algoritmos de filtro de weka.
Dataset original:
https://www.datosabiertos.gob.pe/datase ... ministerio
Dataset limpio:
https://github.com/edwincusquisiban/IAA-PC2
3. Descripción de los resultados obtenidos:
Una ves con la dataset lista, se empleo Rstudio para aplicar algoritmos de obtención del valor óptimo de clústeres.
Elbow method
Mediante el método Elbow se determinó que el valor óptimo de clústeres debería ser de 4, que es el punto donde las variaciones en la data dejan de ser significativas como para considerar más grupos.
Silhouette method
Este otro algoritmo nos arrojó un valor óptimo de 5 para los clústeres, siendo diferente al valor del método anterior en 1.
Para comprobar cual de los dos resultados se debería tomar se realizó el clustering en weka mediante el algoritmo de simpleKmenas cuyo resultados se muestran a continuación:
Para este primer caso se aplicó el simpleKmeans, dando como parámetro, de número de clústeres, el valor de 4. Vemos que el clúster 0 abarca el 53% de la data, un total de 8698 registros y sus centroides para las 9 características consideradas (Tipo de seguro, sexo, estado civil, nivel de instrucción, país domicilio, departamento domicilio, mes, tipo lugar e institución ) son 2.48, 0, 2.6, 4.4, 0.0, 9.27, 1.46, 1.76 y 2.43.
Para el segundo caso se aplicó el simpleKmeans, dando como parámetro, de número de clústeres, el valor de 5 obtenido con el método de la silueta en R. Vemos que el clúster 0 abarca el 29% de la data y el clúster 1 abarca el 24% de la data. Para el clúster 0 sus centroides para las 9 características consideradas son 2.45, 0, 2.6, 4.4, 0.0, 9.4, 1, 1.72 y 2.43, de esto vemos que con respecto al clúster 0 del caso anterior la variación en mínima, esta variación se explica por que ahora abarca menos data, es decir el clúster 0 del caso anterior que contenía 53% de la data en este caso se separó en el clúster 0 que ahora abarca solo 29%, pero que mantiene centroides muy similares al anterior, y el clúster 1 que contiene 24% de la data con clústeres de igual manera muy similares al clúster 0 del caso anterior, siendo estos de 2.5, 0, 2.6, 4.4, 0.0, 9.0, 2.0, 1.7 y 2.4
4. Conclusiones
Con los resultados anteriores podemos determinar que el número óptimo de clústeres a elegir es 4, ya que si elegimos 5, se generará un clúster a partir de la división del clúster 0 del primer caso y cuyos centroides son muy similares, es por esto que se preferiría mantenerlo unido en un solo clúster.
El cluster 0 corresponde a un grupo de mujeres exclusivamente, de diferentes estados civiles, formacion academica, etc. El resto de clústeres son de grupos de varones, pero el clúster 2 abarca a varones casados o convivientes y el resto de clusters abarcan a varones de los demás estados civiles, predominantemente solteros. Finalmente el cluster 1 abarca a varones que no estan casados o no son convivientes y cuya nivel de instrucción fue ignorado en la data, es inicial o no tienen, el cluster 3 abarcaria entonces a varones no casados ni convivientes que cuentan con al menos primaria incompleta.
5. Dificultades
Un problema que se presentó en varias ocasiones fué que en algunos resgitros de la dataset no habian datos, por lo que weka no podia cargar la dataset, así que se tuvo que quitar esos registros de manera manual para que la herramienta funcionara correctamente.
6. Ruta Github: https://github.com/edwincusquisiban/IAA-PC2
- 15 Ene 2021, 13:57
- Foros: Inteligencia Artificial
- Tema: Clasificación de las personas que cobran el bono para trabajadores independientes.
- Respuestas: 0
- Vistas: 376
Clasificación de las personas que cobran el bono para trabajadores independientes.
1. RESUMEN: Este trabajo consiste en procesar un dataset recuperado de la página del gobierno llamada Plataforma Nacional de Datos abiertos con el objetivo de utilizarla para construir modelos de predicción. Este modelo debe permitir identificar el grupo de personas que debido a sus características, es mas probable que cobren antes el bono y establecer un protocolo para reducir las aglomeraciones en los bancos.
2. DATASET: El dataset contiene 773 301 registros y cada uno de estos registros cuenta con 13 columnas, en las cuales se encuentra información como el código único de hogar, el Ubigeo de la persona a la que se le entregará el bono, Departamento en el que vive, así como la provincia y distrito, además también se cuenta con la cantidad de personas por hogar, el monto a cobrar, tipo de bono, si el bono ha sido cobrado, fecha de cobro, la entidad de cobro, el medio de cobro (el cual puede ser de abono en cuenta, banca celular o ventanilla) y por último la fecha en que se actualizó los datos, todas estas caracteristicas son de tipo texto.
Dataset original:
https://www.datosabiertos.gob.pe/datase ... mpleo-mtpe
Dataset limpio:
https://github.com/edwincusquisiban/IAA-PC2
3. Descripción de los resultados obtenidos:
-Primero se cargó el datset original al weka, desde donde se procedió a eliminar las características que se consideraron irrelevantes para la clasificación, como son el COD_HOGAR que es un identificador para cada hogar, también se eliminó el monto y tipo_bono, ya que estos dos tienen el mismo valor para todos los registros, por lo cual no aportan a la clasifiacación, las ultimas características que se borraron fueron el medio_cobro, fecha_cobro, entidad_cobro, fecha_actualizacion, debido a que son caracteristicas para despues de que se hace el cobro y tiene valores nulos en el grupo de los que no cobraron; estas características nos servirían más para realizar clasificación o clustering dentro del grupo de los que si cobraron, pero el objetivo ahora es saber si cobrarán o no cobrarán por esta razón se procedió a borrar estas características.
-Luego se procedió a usar el filtro de Randomize y Remove, siendo removido el 50% del dataset varias veces consecutivas hasta alcanzar un total de 12 080 registros.
-Como se puede apreciar en la imagen anterior existe un gran desbalance en las clases, por lo cual se hizo uso del filtro SMOTE para tratar de balancear el dataset. Luego de tres aplicaciones de este filtro se logró alcanzar un cierto balance en las clases.
-Una ves listo el dataset se procedió a la construcción de los modelos de predicción mediante 4 algoritmos: J48, Random Forest, SVM y redes Bayesianas.
J48:
Con un porcentaje de entrenamiento del dataset de 70% este algoritmo logró un 74% de precisión, siendo más preciso con la clase “NO” con la cual alcanzó un TP Rate de 0.82, mientras que con la clase “SI” solo llegó a 0.65.
Random Forest:
Con el mismo Percentage Split de 70% este algoritmo logro un mejor resultado en la precisión promedio con un 76.7%, pero también mejoró en los TP Rate de las dos clases, obteniendo un valor de 0.69 para la clase “SI” y 0.83 para la clase “NO”.
SVM:
Los resultados que obtuvo este algoritmo usando un Kernel tipo radial y con costo 0.1 y gamma 0.0 fue de 63.8%, un valor muy bajo y de igual manera cada uno de sus TP Rate son inferiores comparados con los resultados de los otros dos algoritmos.
BAYESNET:
Finalmente el algoritmo de BayesNet, con un número máximo de padres de 3 y con la manta de Markov activada logró un porcentaje de precisión de 72% siendo inferior al primer algoritmo de J48, y sus TP Rate fueron de 0.62 para la clase “SI” y 0.81 para la clase “NO”.
4. CONCLUSIONES:
Luego de haber analizado los resultados es evidente que el mejor modelo es el generado por el algoritmo Random Forest, el cual obtuvo un 76.7% de precisión, además también es el modelo con los mayores TP Rate de las dos clases, obteniendo un valor de 0.69 para la clase “SI” y 0.83 para la clase “NO”, a pesar de esto, un 76.7% de precisión no se podría considerar como un buen resultado y este modelo no se podría utilizar para la clasificación.
Con el uso de un evalualator atribute y el ranker, se determinó que la caracterítica más importante viene a ser el número de miembros del hogar, cuando solo hay un miembro en el hogar es muy probable que no se cobre el bono y en caso de que si haya más miembros entra en juego las demas características como el departamento de residencia el cual es la segunda variable más importante del dataset para el cual, el valor de "Lima" abarca la mayoria de las instancias habiendo más porcetaje de personas que no cobran con respecto a las que sí, pero no es mucha la diferecencia..
5. Dificultades
En este dataset se dio el caso de que hubo fallos al registrar el sexo de algunas personas, puesto que estos tenian el valores numéricos, por lo tanto hubo que quitar estos registros al desconocer la información del sexo, tambien se quitó algunas columnas que tenian valores que no aportaban a la clasificación y que tenian el mismo valor para todos los registros, como es el tipo de bono y el monto.
6. Github : https://github.com/edwincusquisiban/IAA-PC2
2. DATASET: El dataset contiene 773 301 registros y cada uno de estos registros cuenta con 13 columnas, en las cuales se encuentra información como el código único de hogar, el Ubigeo de la persona a la que se le entregará el bono, Departamento en el que vive, así como la provincia y distrito, además también se cuenta con la cantidad de personas por hogar, el monto a cobrar, tipo de bono, si el bono ha sido cobrado, fecha de cobro, la entidad de cobro, el medio de cobro (el cual puede ser de abono en cuenta, banca celular o ventanilla) y por último la fecha en que se actualizó los datos, todas estas caracteristicas son de tipo texto.
Dataset original:
https://www.datosabiertos.gob.pe/datase ... mpleo-mtpe
Dataset limpio:
https://github.com/edwincusquisiban/IAA-PC2
3. Descripción de los resultados obtenidos:
-Primero se cargó el datset original al weka, desde donde se procedió a eliminar las características que se consideraron irrelevantes para la clasificación, como son el COD_HOGAR que es un identificador para cada hogar, también se eliminó el monto y tipo_bono, ya que estos dos tienen el mismo valor para todos los registros, por lo cual no aportan a la clasifiacación, las ultimas características que se borraron fueron el medio_cobro, fecha_cobro, entidad_cobro, fecha_actualizacion, debido a que son caracteristicas para despues de que se hace el cobro y tiene valores nulos en el grupo de los que no cobraron; estas características nos servirían más para realizar clasificación o clustering dentro del grupo de los que si cobraron, pero el objetivo ahora es saber si cobrarán o no cobrarán por esta razón se procedió a borrar estas características.
-Luego se procedió a usar el filtro de Randomize y Remove, siendo removido el 50% del dataset varias veces consecutivas hasta alcanzar un total de 12 080 registros.
-Como se puede apreciar en la imagen anterior existe un gran desbalance en las clases, por lo cual se hizo uso del filtro SMOTE para tratar de balancear el dataset. Luego de tres aplicaciones de este filtro se logró alcanzar un cierto balance en las clases.
-Una ves listo el dataset se procedió a la construcción de los modelos de predicción mediante 4 algoritmos: J48, Random Forest, SVM y redes Bayesianas.
J48:
Con un porcentaje de entrenamiento del dataset de 70% este algoritmo logró un 74% de precisión, siendo más preciso con la clase “NO” con la cual alcanzó un TP Rate de 0.82, mientras que con la clase “SI” solo llegó a 0.65.
Random Forest:
Con el mismo Percentage Split de 70% este algoritmo logro un mejor resultado en la precisión promedio con un 76.7%, pero también mejoró en los TP Rate de las dos clases, obteniendo un valor de 0.69 para la clase “SI” y 0.83 para la clase “NO”.
SVM:
Los resultados que obtuvo este algoritmo usando un Kernel tipo radial y con costo 0.1 y gamma 0.0 fue de 63.8%, un valor muy bajo y de igual manera cada uno de sus TP Rate son inferiores comparados con los resultados de los otros dos algoritmos.
BAYESNET:
Finalmente el algoritmo de BayesNet, con un número máximo de padres de 3 y con la manta de Markov activada logró un porcentaje de precisión de 72% siendo inferior al primer algoritmo de J48, y sus TP Rate fueron de 0.62 para la clase “SI” y 0.81 para la clase “NO”.
4. CONCLUSIONES:
Luego de haber analizado los resultados es evidente que el mejor modelo es el generado por el algoritmo Random Forest, el cual obtuvo un 76.7% de precisión, además también es el modelo con los mayores TP Rate de las dos clases, obteniendo un valor de 0.69 para la clase “SI” y 0.83 para la clase “NO”, a pesar de esto, un 76.7% de precisión no se podría considerar como un buen resultado y este modelo no se podría utilizar para la clasificación.
Con el uso de un evalualator atribute y el ranker, se determinó que la caracterítica más importante viene a ser el número de miembros del hogar, cuando solo hay un miembro en el hogar es muy probable que no se cobre el bono y en caso de que si haya más miembros entra en juego las demas características como el departamento de residencia el cual es la segunda variable más importante del dataset para el cual, el valor de "Lima" abarca la mayoria de las instancias habiendo más porcetaje de personas que no cobran con respecto a las que sí, pero no es mucha la diferecencia..
5. Dificultades
En este dataset se dio el caso de que hubo fallos al registrar el sexo de algunas personas, puesto que estos tenian el valores numéricos, por lo tanto hubo que quitar estos registros al desconocer la información del sexo, tambien se quitó algunas columnas que tenian valores que no aportaban a la clasificación y que tenian el mismo valor para todos los registros, como es el tipo de bono y el monto.
6. Github : https://github.com/edwincusquisiban/IAA-PC2
- 17 Dic 2020, 21:45
- Foros: Inteligencia Artificial
- Tema: Sistemas de reconocimiento automático de flores basado en deep learning
- Respuestas: 0
- Vistas: 376
Sistemas de reconocimiento automático de flores basado en deep learning
1. Descripción
El reconocimiento de flores es un problema muy desafiante, porque hay miles de especies de flores en el mundo, además lleva mucho tiempo realizarla y principalmente lo hacen los botánicos. Esta actividad juega un papel crucial en la agricultura, la silvicultura y otras industrias relacionadas.
La identificación automática de flores se usa en agricultura ecológica para reemplazar la consulta manual de la base de datos de información de recuperación de flores para mejorar la eficiencia de la recuperación de información de flores y reducir la pérdida de costos de mano de obra, en la investigación forestal, proporciona apoyo de eficiencia; también se usa para la educación primaria y secundaria, la apreciación de la horticultura, la exposición de la feria de flores, etc. Si se realiza estas consultas de manera, es fácil de cometer errores y tiene una gran carga de trabajo, costo de mano de obra, recursos materiales y financieros.
2. Sistema propuesto
En los dos estudios obtiene su dataset para el entrenamiento de sus modelos de diferentes maneras, uno de ellos utiliza Inception-v3 el cual es una red pre-entrenada en ImageNet, mediante el proceso del aprendizaje de transferencia, manteniendo la capa de cuello de botella y sus parámetros entrenados sin cambios, sólo se cambió la capa de conexión completa final, reduciendo en gran medida los datos de entrenamiento y acortando el tiempo de entrenamiento del modelo, también se cambió los números de salida a 32 salidas, que corresponde a las 32 categorías de flores en el conjunto de datos FLOWERS32. Para este caso se empleó un enfoque online, es decir que plantea el uso de un teléfono inteligente para la captura de las imágenes y esta es enviada a un servidor que realizara su procesamiento y etiquetado, luego esta etiqueta se envía nuevamente al teléfono y se muestra en pantalla, este proceso sura aproximadamente 0.8 segundos.
En el segundo caso se usaron diecisiete tipos de conjuntos de datos florales publicados por la Universidad de Oxford, las cuales fueron tomados como objetos de investigación. Se seleccionó la pequeña red neuronal de convolución de clasificación de Tiny Darknet como la arquitectura de red para ese estudio, el cual tiene un diseño compacto y funciones potentes con solo 800 millones de cálculos de punto flotante, mientras que otras redes emplean miles de millones de cálculo de punto flotante. Tiny darknet se compone de múltiples capas de convolución 3×3 y hay insertada una capa de núcleo de convolución 1×1 en el centro para la reducción de la dimensionalidad, y se reduce el número de gráficos característicos de cada capa, y se duplica el número de canales de salida de la capa de agrupación conectada con la siguiente capa, lo que reduce el tiempo de ejecución y la memoria del modelo, reduciendo también el tiempo de entrenamiento del modelo.
3. Resultados
Ambos modelos se construyeron en el marco de Tensor Flow, para probar el primer modelo se tomaron 1920 imágenes como conjunto de entrenamiento y 640 imágenes como conjunto de pruebas con lo que se obtuvo que para los datos de prueba, la precisión puede alcanzar alrededor del 95% y la entropía cruzada de los datos de entrenamiento y los datos de prueba es por separado 0.01 y 0.07.
El segundo se basa en el sistema de aprendizaje de inteligencia artificial de segunda generación de Google, y para probarlo se preparó 10200 conjuntos de entrenamiento y 680 conjuntos de pruebas, obteniendo un 92% de precisión.
Este resultado se comparó con otros modelos en la siguiente tabla:
El reconocimiento de flores en imágenes mediante Deep learning ha demostrado ser rápida, el modelo pequeño, el cálculo de parámetros optimizados y una identificación de clasificación muy precisa; y puede aplicarse directamente a la industria de plantación de flores agrícolas para su clasificación e identificación, para facilitar la recuperación de la base de datos de información de plantas agrícolas.
Se espera que en el futuro se pueda expandir la dataset con más imágenes florales agregando flores de diferentes lugares del mundo que permitan poder entrenar al modelo y reconocer flores más complejas.
5. Referencias
https://iopscience.iop.org/article/10.1 ... 012088/pdf
https://iopscience.iop.org/article/10.1 ... 022060/pdf
El reconocimiento de flores es un problema muy desafiante, porque hay miles de especies de flores en el mundo, además lleva mucho tiempo realizarla y principalmente lo hacen los botánicos. Esta actividad juega un papel crucial en la agricultura, la silvicultura y otras industrias relacionadas.
La identificación automática de flores se usa en agricultura ecológica para reemplazar la consulta manual de la base de datos de información de recuperación de flores para mejorar la eficiencia de la recuperación de información de flores y reducir la pérdida de costos de mano de obra, en la investigación forestal, proporciona apoyo de eficiencia; también se usa para la educación primaria y secundaria, la apreciación de la horticultura, la exposición de la feria de flores, etc. Si se realiza estas consultas de manera, es fácil de cometer errores y tiene una gran carga de trabajo, costo de mano de obra, recursos materiales y financieros.
2. Sistema propuesto
En los dos estudios obtiene su dataset para el entrenamiento de sus modelos de diferentes maneras, uno de ellos utiliza Inception-v3 el cual es una red pre-entrenada en ImageNet, mediante el proceso del aprendizaje de transferencia, manteniendo la capa de cuello de botella y sus parámetros entrenados sin cambios, sólo se cambió la capa de conexión completa final, reduciendo en gran medida los datos de entrenamiento y acortando el tiempo de entrenamiento del modelo, también se cambió los números de salida a 32 salidas, que corresponde a las 32 categorías de flores en el conjunto de datos FLOWERS32. Para este caso se empleó un enfoque online, es decir que plantea el uso de un teléfono inteligente para la captura de las imágenes y esta es enviada a un servidor que realizara su procesamiento y etiquetado, luego esta etiqueta se envía nuevamente al teléfono y se muestra en pantalla, este proceso sura aproximadamente 0.8 segundos.
En el segundo caso se usaron diecisiete tipos de conjuntos de datos florales publicados por la Universidad de Oxford, las cuales fueron tomados como objetos de investigación. Se seleccionó la pequeña red neuronal de convolución de clasificación de Tiny Darknet como la arquitectura de red para ese estudio, el cual tiene un diseño compacto y funciones potentes con solo 800 millones de cálculos de punto flotante, mientras que otras redes emplean miles de millones de cálculo de punto flotante. Tiny darknet se compone de múltiples capas de convolución 3×3 y hay insertada una capa de núcleo de convolución 1×1 en el centro para la reducción de la dimensionalidad, y se reduce el número de gráficos característicos de cada capa, y se duplica el número de canales de salida de la capa de agrupación conectada con la siguiente capa, lo que reduce el tiempo de ejecución y la memoria del modelo, reduciendo también el tiempo de entrenamiento del modelo.
3. Resultados
Ambos modelos se construyeron en el marco de Tensor Flow, para probar el primer modelo se tomaron 1920 imágenes como conjunto de entrenamiento y 640 imágenes como conjunto de pruebas con lo que se obtuvo que para los datos de prueba, la precisión puede alcanzar alrededor del 95% y la entropía cruzada de los datos de entrenamiento y los datos de prueba es por separado 0.01 y 0.07.
El segundo se basa en el sistema de aprendizaje de inteligencia artificial de segunda generación de Google, y para probarlo se preparó 10200 conjuntos de entrenamiento y 680 conjuntos de pruebas, obteniendo un 92% de precisión.
Este resultado se comparó con otros modelos en la siguiente tabla:
El reconocimiento de flores en imágenes mediante Deep learning ha demostrado ser rápida, el modelo pequeño, el cálculo de parámetros optimizados y una identificación de clasificación muy precisa; y puede aplicarse directamente a la industria de plantación de flores agrícolas para su clasificación e identificación, para facilitar la recuperación de la base de datos de información de plantas agrícolas.
Se espera que en el futuro se pueda expandir la dataset con más imágenes florales agregando flores de diferentes lugares del mundo que permitan poder entrenar al modelo y reconocer flores más complejas.
5. Referencias
https://iopscience.iop.org/article/10.1 ... 012088/pdf
https://iopscience.iop.org/article/10.1 ... 022060/pdf
- 17 Dic 2020, 21:32
- Foros: Inteligencia Artificial
- Tema: Reconocimiento de objetos en una aplicación de teléfono móvil para usuarios con discapacidad visual
- Respuestas: 0
- Vistas: 356
Reconocimiento de objetos en una aplicación de teléfono móvil para usuarios con discapacidad visual
1. Descripción
Las personas con discapacidad visual día a día se enfrentan a diversos problemas en las actividades diarias que para las personas con visión normal no representan ningún desafío. La limitación visual afecta todos los aspectos de su vida, desde una movilidad limitada, uso de medicamentos, preparación de alimentos, uso de electrodomésticos, uso de dinero y hasta la vida profesional y social.
Para poder contrarrestar estas limitaciones se han desarrollado tecnologías que también cuentan con limitaciones, estamos hablando de dispositivos que deben ser constantemente manipulados por los usuarios y que pueden ser caros. Por el lado del software, aprovechando que hoy en día los smartphones se han vuelto un elemento presente en la población incluida la población son problemas de visión, se han creado aplicaciones móviles que describen lo que se pongan en frente de la cámara del dispositivo, así las soluciones propuestas en los artículos detectan colores, zonas de mayor intensidad de luz y objetos, los cuales son comunicados a los usuarios a través de sintetizadores de voz.
2.Sistema propuesto:
Se ha construido una aplicación Android que cuenta con 3 módulos, los cuales se encargan de la detección de color, detección de fuente de luz y detección de objetos.
2.1 Modulo de detención de color:
Se toman imágenes a través del módulo de cámara del smartphone con la menor resolución posible, luego esta imagen en color RGB se convierten en las imágenes de color HSI (Intensidad de saturación de tono) el cual permite representar el color en un solo parámetro (el componente H) mientras que el componente S es el parámetro de saturación del color reconocido, entonces el valor medio del color (el Componente H) se determina para la foto tomada y se compara con una tabla de colores.
2.2 Modulo de detención de fuente de luz:
Este módulo funciona a través de la vista previa de la cámara la cual detecta la señal de brillo, y mientras esta vaya aumentando también aumentara la frecuencia de señal de brillo generada por el smartphone, con lo esto un usuario ciego podría saber hacia donde dirigirse, en determinadas situaciones, en busca de una fuente de luz.
2.3 Modulo de detección de objetos
Para el reconocimiento de objetos se presentan dos algoritmos, el primero es la Transformación de características de escala invariable (SIFT por sus siglas en inglés), el cual es considerado como un algoritmo de visión artificial muy potente para detectar y describir características de imágenes locales.
El segundo algoritmo propuesto es un algoritmo hibrido, en el cual la imagen capturada pasa por una serie de procesos donde se extraen las características de los bordes y las características de color. Estas características extraídas se utilizan como entrada para una ANN, la cual arroja un valor; y el objeto se identifica en función de los valores que se obtengan.
3. Resultados
El primer algoritmo de detección de objetos se probó a través de una interfaz en Android usando una base de datos de 30 fotos de productos alimenticios en la memoria de un teléfono móvil, obteniendo los resultados:
Tasa de reconocimiento correcta: 89%
Tasa de reconocimiento falso: 5,5%
Ningún objeto reconocido: 5,5%
Tiempo medio de cálculo de la plantilla de objeto: 2,1 s
Tiempo medio de comparación de objetos: 34,6 s
El segundo algoritmo (clase 2), aumentó el porcentaje de precisión, de una ANN (clase 1) Por ejemplo si tenemos un conjunto de 100 objetos, en el uso de un algoritmo híbrido, si los objetos detectados son 98, los 98 objetos se detectan correctamente. No puede darnos resultado falso positivo gracias al uso de la distancia euclidiana para calcular el error y comparar con un umbral, de modo que si ese error se encuentra entre 0-10, solo en ese caso se toma valida el objeto reconocido.
4. Conclusiones
El principal problema en el uso práctico del módulo de detección de color fue causado por la variación de la iluminación, cuando el flash de la cámara debe utilizarse durante captura de fotos. En buenas condiciones de iluminación, detección de color el rendimiento fue mucho mejor; también el módulo de detección de fuentes de luz fue catalogado con buen rendimiento y usabilidad. Y con respecto al módulo de detección de objetos ambas propuestas lograron altas tasas de precisión siendo el algoritmo hibrido el que mayor tasa obtuvo con un 97.5% y el algoritmo SIFT un 89%.
5. Referencias
https://ieeexplore.ieee.org/abstract/document/7375665
https://ieeexplore.ieee.org/abstract/document/6577868
Las personas con discapacidad visual día a día se enfrentan a diversos problemas en las actividades diarias que para las personas con visión normal no representan ningún desafío. La limitación visual afecta todos los aspectos de su vida, desde una movilidad limitada, uso de medicamentos, preparación de alimentos, uso de electrodomésticos, uso de dinero y hasta la vida profesional y social.
Para poder contrarrestar estas limitaciones se han desarrollado tecnologías que también cuentan con limitaciones, estamos hablando de dispositivos que deben ser constantemente manipulados por los usuarios y que pueden ser caros. Por el lado del software, aprovechando que hoy en día los smartphones se han vuelto un elemento presente en la población incluida la población son problemas de visión, se han creado aplicaciones móviles que describen lo que se pongan en frente de la cámara del dispositivo, así las soluciones propuestas en los artículos detectan colores, zonas de mayor intensidad de luz y objetos, los cuales son comunicados a los usuarios a través de sintetizadores de voz.
2.Sistema propuesto:
Se ha construido una aplicación Android que cuenta con 3 módulos, los cuales se encargan de la detección de color, detección de fuente de luz y detección de objetos.
2.1 Modulo de detención de color:
Se toman imágenes a través del módulo de cámara del smartphone con la menor resolución posible, luego esta imagen en color RGB se convierten en las imágenes de color HSI (Intensidad de saturación de tono) el cual permite representar el color en un solo parámetro (el componente H) mientras que el componente S es el parámetro de saturación del color reconocido, entonces el valor medio del color (el Componente H) se determina para la foto tomada y se compara con una tabla de colores.
2.2 Modulo de detención de fuente de luz:
Este módulo funciona a través de la vista previa de la cámara la cual detecta la señal de brillo, y mientras esta vaya aumentando también aumentara la frecuencia de señal de brillo generada por el smartphone, con lo esto un usuario ciego podría saber hacia donde dirigirse, en determinadas situaciones, en busca de una fuente de luz.
2.3 Modulo de detección de objetos
Para el reconocimiento de objetos se presentan dos algoritmos, el primero es la Transformación de características de escala invariable (SIFT por sus siglas en inglés), el cual es considerado como un algoritmo de visión artificial muy potente para detectar y describir características de imágenes locales.
El segundo algoritmo propuesto es un algoritmo hibrido, en el cual la imagen capturada pasa por una serie de procesos donde se extraen las características de los bordes y las características de color. Estas características extraídas se utilizan como entrada para una ANN, la cual arroja un valor; y el objeto se identifica en función de los valores que se obtengan.
3. Resultados
El primer algoritmo de detección de objetos se probó a través de una interfaz en Android usando una base de datos de 30 fotos de productos alimenticios en la memoria de un teléfono móvil, obteniendo los resultados:
Tasa de reconocimiento correcta: 89%
Tasa de reconocimiento falso: 5,5%
Ningún objeto reconocido: 5,5%
Tiempo medio de cálculo de la plantilla de objeto: 2,1 s
Tiempo medio de comparación de objetos: 34,6 s
El segundo algoritmo (clase 2), aumentó el porcentaje de precisión, de una ANN (clase 1) Por ejemplo si tenemos un conjunto de 100 objetos, en el uso de un algoritmo híbrido, si los objetos detectados son 98, los 98 objetos se detectan correctamente. No puede darnos resultado falso positivo gracias al uso de la distancia euclidiana para calcular el error y comparar con un umbral, de modo que si ese error se encuentra entre 0-10, solo en ese caso se toma valida el objeto reconocido.
4. Conclusiones
El principal problema en el uso práctico del módulo de detección de color fue causado por la variación de la iluminación, cuando el flash de la cámara debe utilizarse durante captura de fotos. En buenas condiciones de iluminación, detección de color el rendimiento fue mucho mejor; también el módulo de detección de fuentes de luz fue catalogado con buen rendimiento y usabilidad. Y con respecto al módulo de detección de objetos ambas propuestas lograron altas tasas de precisión siendo el algoritmo hibrido el que mayor tasa obtuvo con un 97.5% y el algoritmo SIFT un 89%.
5. Referencias
https://ieeexplore.ieee.org/abstract/document/7375665
https://ieeexplore.ieee.org/abstract/document/6577868