Navegando encontré esta interesante lista de proyectos del curso CS230 Deep Learning de la Universidad de Stanford, están desde el año 2018 hasta el 2021.
Link : http://cs230.stanford.edu/past-projects/
Se encontraron 5 coincidencias
- 26 Abr 2021, 23:59
- Foros: Educación
- Tema: Past Projects Stanford
- Respuestas: 0
- Vistas: 5442
- 15 Ene 2021, 18:36
- Foros: Inteligencia Artificial
- Tema: Clustering de casos positivos de COVID19
- Respuestas: 0
- Vistas: 447
Clustering de casos positivos de COVID19
1.Resumen
El trabajo tiene como objetivo agrupar personas que han dado positivo en la prueba de COVID-19 bajo ciertas características similares, haciendo uso del dataset proporcionado por el Ministerio de Salud , el cual esta formado por variables de tipo geográfico , demográfico y tipo de prueba aplicada , para lo cual se usó técnicas de preprocesamiento de datos y Elbow Method para determinar el número de cluster que servirá de entrada para el algoritmo de K-means el cual nos arrojará a que cluster está asociada cada persona infectada.
2.Descripción del dataset
El dataset original está compuesto por un total de 1035184 registros y 9 columnas, entre las cuales se encuentran: Fecha de corte,UUIID(identificador único ),Departamento, Provincia, Distrito, Tipo de prueba, Sexo, Edad y Fecha de resultado de la prueba.
2.1.Preprocesamiento
A) Eliminar variables que no son relevantes
Se eliminó las variables de formato de fecha , así como identificador dado que no nos daban mayor información al momento de realizar el modelo
B) Variables numéricas
1. Se encontró un total de 58 registros que contaban con un valor nulo en el campo Edad, por lo cual se procedió a eliminarlos.
2. Además para el campo edad se realizó un diagrama de cajas a modo de identificar los valores atípicos, para su posterior eliminación.
C) Variables categóricas
1. En el caso de la variable Sexo y Tipo de prueba ambas al ser de tipo categórica no ordinal, se realizó una conversión a variables dummy, para que puedan ser procesadas por el algoritmo kmeans.
2. Para las variables de tipo geográfico como Departamento, Provincia y Distrito se usó el ratio de aparición de cada uno estos , reemplazandolos en el dataset los valores categóricos de dichas variables, esto se realizó ya que el número de departamentos, provincias y distritos es muy grande ,lo cual al haberse aplicado One Hot encoding la dimensión del dataset original hubiese crecido demasiado, lo cual dificultaría el procesamiento.
• Dataset original: https://www.datosabiertos.gob.pe/datase ... alud-minsa
3.Descripción de los resultados obtenidos
3.1.Elbow Method
Se normalizó el dataset limpio y se usó Elbow Method , tal como se muestra en la siguiente figura:
3.2.Algoritmo de K-means
Normalizamos los datos y fijamos K = 7, el desarrollo se puede ver a más detalle en el notebook adjunto en la ruta de GitHub.
Se encontró el siguiente número de instancias por cluster:
1.En el cluster 4 se puede notar que el departamento con mayor número de ocurrencias en dicho cluster es Lima( ver resultados en el notebook de la ruta en GitHub) , además que los sectores de las zonas 1,2,3 ,y 4 de Lima son las que mayor aporte dan a este cluster, donde se encuentran distritos como: San Juan de Lurigancho,San Martin de Porres,Los Olivos y Comas principalmente.
2.En el cluster 2 se encontró que de los 10 departamentos que más aportan a dicho cluster en términos de cantidad; estos se encuentran
actualmente categorizados por el gobierno como zonas de alto contagio o muy alto contagio, por lo que se puede mejorar aún la segmentación en este cluster a manera de identificar a que categoría pertenecen los departamentos.
3. El uso de modelos que realicen clustering pueden ser de ayuda al momento de implementar acciones restrictivas a ciertas zonas del país ,tal es el caso de las restricciones que se están implementando el Perú actualmente para ciertas regiones del país, donde se ha segmentado en 3 grandes grupos: MODERADO,ALTO y MUY ALTO, para mitigar el contagio del COVID-19.
5.Ruta de Github
Se adjunta el código en Python y el dataset limipio en el siguiente repositorio de GitHub.
https://github.com/renzoguerrero17/Clus ... do-K-means
El trabajo tiene como objetivo agrupar personas que han dado positivo en la prueba de COVID-19 bajo ciertas características similares, haciendo uso del dataset proporcionado por el Ministerio de Salud , el cual esta formado por variables de tipo geográfico , demográfico y tipo de prueba aplicada , para lo cual se usó técnicas de preprocesamiento de datos y Elbow Method para determinar el número de cluster que servirá de entrada para el algoritmo de K-means el cual nos arrojará a que cluster está asociada cada persona infectada.
2.Descripción del dataset
El dataset original está compuesto por un total de 1035184 registros y 9 columnas, entre las cuales se encuentran: Fecha de corte,UUIID(identificador único ),Departamento, Provincia, Distrito, Tipo de prueba, Sexo, Edad y Fecha de resultado de la prueba.
2.1.Preprocesamiento
A) Eliminar variables que no son relevantes
Se eliminó las variables de formato de fecha , así como identificador dado que no nos daban mayor información al momento de realizar el modelo
B) Variables numéricas
1. Se encontró un total de 58 registros que contaban con un valor nulo en el campo Edad, por lo cual se procedió a eliminarlos.
2. Además para el campo edad se realizó un diagrama de cajas a modo de identificar los valores atípicos, para su posterior eliminación.
C) Variables categóricas
1. En el caso de la variable Sexo y Tipo de prueba ambas al ser de tipo categórica no ordinal, se realizó una conversión a variables dummy, para que puedan ser procesadas por el algoritmo kmeans.
2. Para las variables de tipo geográfico como Departamento, Provincia y Distrito se usó el ratio de aparición de cada uno estos , reemplazandolos en el dataset los valores categóricos de dichas variables, esto se realizó ya que el número de departamentos, provincias y distritos es muy grande ,lo cual al haberse aplicado One Hot encoding la dimensión del dataset original hubiese crecido demasiado, lo cual dificultaría el procesamiento.
• Dataset original: https://www.datosabiertos.gob.pe/datase ... alud-minsa
3.Descripción de los resultados obtenidos
3.1.Elbow Method
Se normalizó el dataset limpio y se usó Elbow Method , tal como se muestra en la siguiente figura:
Se seleccionó un total de 7 clusters, por lo cual definimos K = 7.
3.2.Algoritmo de K-means
Normalizamos los datos y fijamos K = 7, el desarrollo se puede ver a más detalle en el notebook adjunto en la ruta de GitHub.
Se encontró el siguiente número de instancias por cluster:
4.Conclusiones
1.En el cluster 4 se puede notar que el departamento con mayor número de ocurrencias en dicho cluster es Lima( ver resultados en el notebook de la ruta en GitHub) , además que los sectores de las zonas 1,2,3 ,y 4 de Lima son las que mayor aporte dan a este cluster, donde se encuentran distritos como: San Juan de Lurigancho,San Martin de Porres,Los Olivos y Comas principalmente.
2.En el cluster 2 se encontró que de los 10 departamentos que más aportan a dicho cluster en términos de cantidad; estos se encuentran
actualmente categorizados por el gobierno como zonas de alto contagio o muy alto contagio, por lo que se puede mejorar aún la segmentación en este cluster a manera de identificar a que categoría pertenecen los departamentos.
3. El uso de modelos que realicen clustering pueden ser de ayuda al momento de implementar acciones restrictivas a ciertas zonas del país ,tal es el caso de las restricciones que se están implementando el Perú actualmente para ciertas regiones del país, donde se ha segmentado en 3 grandes grupos: MODERADO,ALTO y MUY ALTO, para mitigar el contagio del COVID-19.
5.Ruta de Github
Se adjunta el código en Python y el dataset limipio en el siguiente repositorio de GitHub.
https://github.com/renzoguerrero17/Clus ... do-K-means
- 15 Ene 2021, 17:27
- Foros: Inteligencia Artificial
- Tema: Predicción del estado de cobro del bono independiente en la emergencia del COVID-19
- Respuestas: 0
- Vistas: 446
Predicción del estado de cobro del bono independiente en la emergencia del COVID-19
1.Resumen
En este trabajo se busca determinar el mejor modelo de predicción del estado de cobro del bono universal dado en la emergencia nacional por el COVID-19 en el Perú,usando el dataset proporcionado por el Ministerio de Ministerio de Trabajo y Promoción del Empleo, para lo cual se usó técnicas de preprocesamiento y reducción de dimensionalidad para después aplicar modelos de clasificación tales como BayesNet, J48 y Random Forest, se mostrará cada paso seguido y las razones del porque de la elección del mejor modelo de clasificación.
2.Descripción del dataset
El dataset original está compuesto por un total de 773291registros y 11 columnas, entre las cuales se encuentran: COD_HOGAR, UBIGEO, DEPARTAMENTO, PROVINCIA, DISTRITO, PERSONAS POR HOGAR, MONTO, TIPO_BONO, BONO_COBRADO, FECHA_COBRO, ENTIDAD_COBRO, MEDIO_COBRO y FECHA_ACTUALIZACION.
La variable independiente para el problema de clasificación será: BONO_COBRADO , la cual indica si el bono fue cobrado o no por el beneficiario, el cual tiene la siguiente distribución:
2.1.Preprocesamiento
A)Eliminar variables que no son relevantes
Se eliminó las variables que no daban mayor información para la construcción del modelo de clasificación tales como: 'COD_HOGAR','UBIGEO','MONTO','TIPO_BONO','FECHA_COBRO','ENTIDAD_COBRO','FECHA_ACTUALIZACION', esto en base a que algunas de estas variables solo tomaban un valor a lo largo de todo el dataset , además de otras que eran de tipo fecha, este análisis se puede ver a más detalle en el notebook adjunto en GitHub.
B)Variables categóricas
•En el caso de la variable MEDIO_COBRO al ser de tipo categórica no ordinal, se realizó una conversión a variables dummy, para que puedan ser procesadas por los algoritmos de clasificación.
•Para las variables de tipo geográfico como Departamento, Provincia y Distrito se usó el ratio de aparición de cada uno estos , reemplazándolos en el dataset los valores categóricos de dichas variables, esto se realizó ya que el número de departamentos, provincias y distritos es muy grande , lo cual al haberse aplicado One Hot encoding la dimensión del dataset original hubiese crecido demasiado, lo cual dificultaría el procesamiento.
C)Análisis de componentes principales
Se aplicó normalización y PCA al dataset limpio , para así encontrar lo componentes principales que aporten la mayor varianza explicativa al modelo (el uso de PCA se usó con fines de probar un método de reducción de dimensionalidad en el que se pueda encontrar mejores métricas, tomando en consideración que con el uso de esta técnica se pueda perder información así como explicabilidad del modelo), obteniéndose los siguientes resultados:
D) Balanceo del dataset
Para este problema se probó métodos de balanceo como submuestreo y sobremuestreo , para los cuales se aplico los algoritmos mencionados , consiguiéndose resultados con TPRate cercanos al 100% por lo que se decidió no usar estos enfoques, ya que valores muy altos pueden señalarnos que el modelo a caído en overfitting.
3.Descripción de los resultados obtenidos
Variables que usan los modelos para predecir
Se detalla a continuación las variables y valores en el dataset limpio:
Se usó los algoritmos de BayesNet, Árbol de decisión(J48) y Random Forest, tanto antes y después de aplicar el PCA, se detallan los resultados a continuación:
3.1) Con normalización y sin PCA
•BayesNet
•BayesNet
Además se probó el submuestreo de la clase mayoritaria para así balancear el dataset, en lo cual se encontró accuracys cercanos al 96% para modelos como BayesNet, J48y Random Forest, además de TPRate para la clase “NO” cercanos al 100% por lo cual no se decidió tomar este enfoque ya que tener este nivel de TPRate nos indica que el modelo a caído en overfitting.
4.Problemas con la data
Se encontró que en la variable edad habían 58 registros que no tenían valor en dicho campo, por lo cual a no ser muchos a comparación del número de registros total en el dataset se procedió a eliminarlos , en caso hubiera sido un porcentaje significativo del total de datos se tendría que buscar un método de imputación que nos permita rellenar ese campo para que estos registros puedan ser procesados por los modelos.
5.Conclusiones
1)El uso de PCA no es del todo adecuado en este dataset ya que se tienen pocas variables independientes(en total 7), lo cual no dificulta el procesamiento a comparación de que se tengan muchas variables en la que el uso de un método de reducción de dimensionalidad pueda ser de ayuda al momento de procesar estos tipos de dataset, además de que con este tipo de técnicas se pierde la interpretabilidad del modelo así como información.
2)El mejor modelo es el J48 después de aplicar normalización y sin PCA, dado que se obtuvo un accuracy del 93.38% y un TPRate para la clase SI y NO del 93,9% y 89,7% respectivamente, si bien el J48 con PCA tiene ligeramente un mejor TPRate para la clase NO(91.2%) , no se decidió que este era el mejor modelo ya que como se mencionó con este método de reducción de dimensionalidad se pierde información e interpretabilidad del modelo más aún en si se tiene un J48.
3) Si bien el J48 no tiene el mayor accuraccy este tiene buenos TPRate para ambas clases además de que no llegan a niveles cercanos al 99% como es el caso de BayesNet lo cual nos puede indicar que ha caído en overfitting y no el modelo no es generalizable para otra distribución de datos.
6.Ruta GitHub
Se adjunta la ruta del repositorio en GitHub donde se encuentra el código de preprocesamiento en Python así como el dataset limpio.
https://github.com/renzoguerrero17/Pred ... el-COVID19
En este trabajo se busca determinar el mejor modelo de predicción del estado de cobro del bono universal dado en la emergencia nacional por el COVID-19 en el Perú,usando el dataset proporcionado por el Ministerio de Ministerio de Trabajo y Promoción del Empleo, para lo cual se usó técnicas de preprocesamiento y reducción de dimensionalidad para después aplicar modelos de clasificación tales como BayesNet, J48 y Random Forest, se mostrará cada paso seguido y las razones del porque de la elección del mejor modelo de clasificación.
2.Descripción del dataset
El dataset original está compuesto por un total de 773291registros y 11 columnas, entre las cuales se encuentran: COD_HOGAR, UBIGEO, DEPARTAMENTO, PROVINCIA, DISTRITO, PERSONAS POR HOGAR, MONTO, TIPO_BONO, BONO_COBRADO, FECHA_COBRO, ENTIDAD_COBRO, MEDIO_COBRO y FECHA_ACTUALIZACION.
La variable independiente para el problema de clasificación será: BONO_COBRADO , la cual indica si el bono fue cobrado o no por el beneficiario, el cual tiene la siguiente distribución:
El dataset original se puede encontrar en la siguiente ruta:https://www.datosabiertos.gob.pe/datase ... mpleo-mtpe
2.1.Preprocesamiento
A)Eliminar variables que no son relevantes
Se eliminó las variables que no daban mayor información para la construcción del modelo de clasificación tales como: 'COD_HOGAR','UBIGEO','MONTO','TIPO_BONO','FECHA_COBRO','ENTIDAD_COBRO','FECHA_ACTUALIZACION', esto en base a que algunas de estas variables solo tomaban un valor a lo largo de todo el dataset , además de otras que eran de tipo fecha, este análisis se puede ver a más detalle en el notebook adjunto en GitHub.
B)Variables categóricas
•En el caso de la variable MEDIO_COBRO al ser de tipo categórica no ordinal, se realizó una conversión a variables dummy, para que puedan ser procesadas por los algoritmos de clasificación.
•Para las variables de tipo geográfico como Departamento, Provincia y Distrito se usó el ratio de aparición de cada uno estos , reemplazándolos en el dataset los valores categóricos de dichas variables, esto se realizó ya que el número de departamentos, provincias y distritos es muy grande , lo cual al haberse aplicado One Hot encoding la dimensión del dataset original hubiese crecido demasiado, lo cual dificultaría el procesamiento.
C)Análisis de componentes principales
Se aplicó normalización y PCA al dataset limpio , para así encontrar lo componentes principales que aporten la mayor varianza explicativa al modelo (el uso de PCA se usó con fines de probar un método de reducción de dimensionalidad en el que se pueda encontrar mejores métricas, tomando en consideración que con el uso de esta técnica se pueda perder información así como explicabilidad del modelo), obteniéndose los siguientes resultados:
Donde podemos ver que considerando los 4 primeros componentes se tiene un 90% de la varianza explicada, tomaremos a estos componentes como nuevas variables para ejecutar los distintos algoritmos de clasificación.
D) Balanceo del dataset
Para este problema se probó métodos de balanceo como submuestreo y sobremuestreo , para los cuales se aplico los algoritmos mencionados , consiguiéndose resultados con TPRate cercanos al 100% por lo que se decidió no usar estos enfoques, ya que valores muy altos pueden señalarnos que el modelo a caído en overfitting.
3.Descripción de los resultados obtenidos
Variables que usan los modelos para predecir
Se detalla a continuación las variables y valores en el dataset limpio:
Estas 7 variables independientes serán las que sirvan de entrada a los modelos de clasificación para así determinar si el bono se va a cobrar o no, en donde las variables DE_DEPARTAMENTO,DE_PROVINCIA,DE_DISTRITO su valor categórico está asociado en un diccionario a un valor númerico , tal como se muestra a continuación para el caso de la variable DE_DEPARTAMENTO:
Se usó los algoritmos de BayesNet, Árbol de decisión(J48) y Random Forest, tanto antes y después de aplicar el PCA, se detallan los resultados a continuación:
3.1) Con normalización y sin PCA
•BayesNet
•J48
•Random Forest
3.2) Con normalización y con PCA
•BayesNet
•J48
•Random Forest
3.3)Con normalizacíon y submuestreo
Además se probó el submuestreo de la clase mayoritaria para así balancear el dataset, en lo cual se encontró accuracys cercanos al 96% para modelos como BayesNet, J48y Random Forest, además de TPRate para la clase “NO” cercanos al 100% por lo cual no se decidió tomar este enfoque ya que tener este nivel de TPRate nos indica que el modelo a caído en overfitting.
4.Problemas con la data
Se encontró que en la variable edad habían 58 registros que no tenían valor en dicho campo, por lo cual a no ser muchos a comparación del número de registros total en el dataset se procedió a eliminarlos , en caso hubiera sido un porcentaje significativo del total de datos se tendría que buscar un método de imputación que nos permita rellenar ese campo para que estos registros puedan ser procesados por los modelos.
5.Conclusiones
1)El uso de PCA no es del todo adecuado en este dataset ya que se tienen pocas variables independientes(en total 7), lo cual no dificulta el procesamiento a comparación de que se tengan muchas variables en la que el uso de un método de reducción de dimensionalidad pueda ser de ayuda al momento de procesar estos tipos de dataset, además de que con este tipo de técnicas se pierde la interpretabilidad del modelo así como información.
2)El mejor modelo es el J48 después de aplicar normalización y sin PCA, dado que se obtuvo un accuracy del 93.38% y un TPRate para la clase SI y NO del 93,9% y 89,7% respectivamente, si bien el J48 con PCA tiene ligeramente un mejor TPRate para la clase NO(91.2%) , no se decidió que este era el mejor modelo ya que como se mencionó con este método de reducción de dimensionalidad se pierde información e interpretabilidad del modelo más aún en si se tiene un J48.
3) Si bien el J48 no tiene el mayor accuraccy este tiene buenos TPRate para ambas clases además de que no llegan a niveles cercanos al 99% como es el caso de BayesNet lo cual nos puede indicar que ha caído en overfitting y no el modelo no es generalizable para otra distribución de datos.
6.Ruta GitHub
Se adjunta la ruta del repositorio en GitHub donde se encuentra el código de preprocesamiento en Python así como el dataset limpio.
https://github.com/renzoguerrero17/Pred ... el-COVID19
- 18 Dic 2020, 17:40
- Foros: Inteligencia Artificial
- Tema: Estimación de calorías usando visión por computador
- Respuestas: 0
- Vistas: 389
Estimación de calorías usando visión por computador
1.Descripción del problema
Uno de los principales problemas que aqueja a la población mundial es el exceso de peso, según reportes de la OMS en el año 2016 había más de 1900 millones de adultos de 18 o más años tenían sobrepeso y el 13% eran obesas, en el Perú hasta el año 2019 se conoce que la prevalencia nacional de sobrepeso fue de 40,5% y de obesidad 19,7%, con un total de 60,2% de población adulta con exceso de peso.
Como se sabe las principales complicaciones del sobrepeso son las enfermedades cardiovasculares, hipertensión y diabetes, las cuales comparten como tratamiento a un control del régimen especial de alimentación, ya sea midiendo la cantidad de hidratos de carbono, grasas, sodio y proteínas.
El uso creciente de aplicativos en teléfonos móviles se ha vuelto una oportunidad para que personas tomando fotos de alimentos puedan conocer su valor nutricional, estos aplicativos hacen uso de la visión por computador y distintos sensores que permitan estimar principalmente el contenido calórico de los alimentos antes de ingerirlos a manera de que las personas puedan tener un mayor control de éstos.
2.Herramientas
2.1. Algoritmos de detección y segmentación de objetos
-En [1] se propone el uso de Faster R-CNN para resolver el problema de la detección de múltiples alimentos en una imagen, esta arquitectura de detección de objetos se entrenó en un conjunto de datos llamado ECUSTFD el cual está formado por distintos alimentos entre ellos manzanas, peras, quiwi y demás alimentos de origen japonés,además de los alimentos se hace uso de una moneda de un yuan como objeto de referencia a manera de que se pueda conocer el tamaño real de los alimentos en la imagen.
-En [1] se hace uso de 2 fotos, desde una vista superior y una vista lateral del mismo alimento para conocer las tres dimensiones, posteriormente se realiza la segmentación de cada una de los alimentos utilizando el algoritmo de Grabcut y así calcular el volumen de dicho alimento, ahora con el volumen estimado y la densidad de cada alimento como dato se podrá conocer la masa de este , lo cual asociado a una tabla de valor nutricional por 100 gramos del alimento nos permitirá conocer el contenido calórico de cada uno de los alimentos presentes en la imagen.
A)Cálculo de volumen
Ambas investigaciones usan el método de desplazamiento de agua para calcular el volumen real del objeto , este método consiste en sumergir un objeto en un recipiente lleno de agua en el que la masa de agua desplazada es igual al volumen real del objeto dado que la densidad del agua es de 1g/cm3.
3.Resultados
1) En [1] para la etapa de detección se usó los algoritmos de detección Faster R-CNN y Exemplar SVM(ESVM) se usó como métrica de evaluación la precisión media (mAP), en Faster R-CNN se encontró el valor de 93% y para ESVM un valor de 75.9%, para la etapa de estimación de volumen se usó como métrica el error medio, tal como se muestra en la siguiente tabla:
1) En [1] el usó de una arquitectura Faster R-CNN ayudó a solucionar el problema de localizar múltiples alimentos en una imagen,obteniéndose un IoU mayor al 90%, además de que hace uso de una entrada basada en dos vistas y un objeto de referencia, a comparación de [2] en el que DepthCalorieCam aprovecha los sensores estéreo que puedan dar la noción de profundidad en base a una sola imagen para así hacer poder la aplicación más fácil de usar , sin embargo este tipo de aplicación sólo puede ser soportado para ciertos teléfonos que tengan estos sensores.
2) Los 2 trabajos revisados hacen uso de base de datos con alimentos de origen asiático por lo cual no serían de mucho impacto en la realidad de Latinoamérica, por lo que se busca realizar nuevos trabajos que se adapten a distintas realidades.
5. Referencias
[1] https://www.researchgate.net/publicatio ... Assessment
[2] https://dl.acm.org/doi/10.1145/3347448.3357172
Uno de los principales problemas que aqueja a la población mundial es el exceso de peso, según reportes de la OMS en el año 2016 había más de 1900 millones de adultos de 18 o más años tenían sobrepeso y el 13% eran obesas, en el Perú hasta el año 2019 se conoce que la prevalencia nacional de sobrepeso fue de 40,5% y de obesidad 19,7%, con un total de 60,2% de población adulta con exceso de peso.
Como se sabe las principales complicaciones del sobrepeso son las enfermedades cardiovasculares, hipertensión y diabetes, las cuales comparten como tratamiento a un control del régimen especial de alimentación, ya sea midiendo la cantidad de hidratos de carbono, grasas, sodio y proteínas.
El uso creciente de aplicativos en teléfonos móviles se ha vuelto una oportunidad para que personas tomando fotos de alimentos puedan conocer su valor nutricional, estos aplicativos hacen uso de la visión por computador y distintos sensores que permitan estimar principalmente el contenido calórico de los alimentos antes de ingerirlos a manera de que las personas puedan tener un mayor control de éstos.
2.Herramientas
2.1. Algoritmos de detección y segmentación de objetos
-En [1] se propone el uso de Faster R-CNN para resolver el problema de la detección de múltiples alimentos en una imagen, esta arquitectura de detección de objetos se entrenó en un conjunto de datos llamado ECUSTFD el cual está formado por distintos alimentos entre ellos manzanas, peras, quiwi y demás alimentos de origen japonés,además de los alimentos se hace uso de una moneda de un yuan como objeto de referencia a manera de que se pueda conocer el tamaño real de los alimentos en la imagen.
-En [2] se propone DepthCalorieCam que mediante el uso de teléfonos Iphone X con IOS11 al tomar imágenes desde la cámara del celular este tipo de imágenes son RGB-D donde D indica el sentido de profundidad de la imagen captada , este valor D se puede obtener ya que estos teléfonos cuentan con un par de cámaras en la parte trasera que pueden ser usadas como cámaras estéreo,para la etapa de segmentación se propone el uso de la arquitectura U-net entrenándose en el conjunto de datos UECFOOD100,además este método no hace uso de un objeto de referencia ya que los volúmenes reales pueden ser estimados por visión estéreo , tomando en cuenta que se conoce los parámetros de la cámara del IPhone de antemano.
2.2. Estimación de calorías
-En [1] se hace uso de 2 fotos, desde una vista superior y una vista lateral del mismo alimento para conocer las tres dimensiones, posteriormente se realiza la segmentación de cada una de los alimentos utilizando el algoritmo de Grabcut y así calcular el volumen de dicho alimento, ahora con el volumen estimado y la densidad de cada alimento como dato se podrá conocer la masa de este , lo cual asociado a una tabla de valor nutricional por 100 gramos del alimento nos permitirá conocer el contenido calórico de cada uno de los alimentos presentes en la imagen.
A)Cálculo de volumen
- En [2] se hace uso 1 foto RGB-D, donde se divide las estructuras 3D en muchas piezas pequeñas de paralelípedo rectangular donde el volumen de cada una de estas piezas estará dado por la multiplicación de su área por la profundidad, luego haciendo uso de geometría espacial se puede obtener la distancia de la cámara al plano de referencia donde se colocan los alimentos, para así escalar el tamaño real de los píxeles en la imagen.
2.3.Comparación del volumen estimado vs volumen real
Ambas investigaciones usan el método de desplazamiento de agua para calcular el volumen real del objeto , este método consiste en sumergir un objeto en un recipiente lleno de agua en el que la masa de agua desplazada es igual al volumen real del objeto dado que la densidad del agua es de 1g/cm3.
3.Resultados
1) En [1] para la etapa de detección se usó los algoritmos de detección Faster R-CNN y Exemplar SVM(ESVM) se usó como métrica de evaluación la precisión media (mAP), en Faster R-CNN se encontró el valor de 93% y para ESVM un valor de 75.9%, para la etapa de estimación de volumen se usó como métrica el error medio, tal como se muestra en la siguiente tabla:
2) En [2] para la etapa de segmentación se usó la arquitectura U-net obteniéndose u valor de 80% para la métrica Intersection over Union en la muestra de prueba, para la etapa de estimación de calorías en la siguiente tabla se muestra la media + - desviación estándar de los errores en las calorías estimadas.
4. Conclusiones
1) En [1] el usó de una arquitectura Faster R-CNN ayudó a solucionar el problema de localizar múltiples alimentos en una imagen,obteniéndose un IoU mayor al 90%, además de que hace uso de una entrada basada en dos vistas y un objeto de referencia, a comparación de [2] en el que DepthCalorieCam aprovecha los sensores estéreo que puedan dar la noción de profundidad en base a una sola imagen para así hacer poder la aplicación más fácil de usar , sin embargo este tipo de aplicación sólo puede ser soportado para ciertos teléfonos que tengan estos sensores.
2) Los 2 trabajos revisados hacen uso de base de datos con alimentos de origen asiático por lo cual no serían de mucho impacto en la realidad de Latinoamérica, por lo que se busca realizar nuevos trabajos que se adapten a distintas realidades.
5. Referencias
[1] https://www.researchgate.net/publicatio ... Assessment
[2] https://dl.acm.org/doi/10.1145/3347448.3357172
- 17 Dic 2020, 23:54
- Foros: Inteligencia Artificial
- Tema: Segmentación de tumores cerebrales en imágenes de resonancia magnética usando Deep Learning
- Respuestas: 0
- Vistas: 370
Segmentación de tumores cerebrales en imágenes de resonancia magnética usando Deep Learning
1.Descripción del problema : Las imágenes de resonancia magnética (IRM) son un método no invasivo sin el uso de radiación ionizante , las IRM nos muestran el cerebro mediante un gráfico 3D en el cual cada corte, está compuesta por distintas secuencias , en las cuales se pueden estudiar distintas patologías entre las más comunes se encuentran los tumores cerebrales, los cuales se dividen en dos grandes grupos los tipos I y II (tipo LGG) caracterizados por la presencia de tumores cerebrales benignos y los tipos III y IV(tipo HGG) caracterizados por la presencia de tumores cerebrales malignos.
Uno de los principales problemas en la planificación del tratamiento de pacientes con este tipo de tumores es la determinación del área que ha sido invadida por éstos , la segmentación manual de éstos es un proceso tedioso y propenso al error ya que el cerebro de un paciente en una misma secuencia puede tener distintos cortes que derivan en distintas segmentaciones, por lo cual existe una necesidad de una técnica rápida y precisa para la determinación eficaz de la extensión del tumor cerebral, ya que de ello depende una posible radioterapia o planificación quirúrgica la cual incluya exclusivamente las zonas tumorales , excluyéndose tejidos sanos de zonas muy cruciales como son los sitios del lenguaje y función motora.
2.1.Descripción de la solución
Se dividió principalmente en dos etapas:
1.Preprocesamiento: se aplicó la normalización de datos para cada secuencia de la resonancia magnética multimodal restando la media de cada secuencia y dividiéndola por la desviación estándar. Además se usó data augmentation para mejorar el rendimiento de la red considerando principalmente operaciones como voltear , rotar y hacer zoom.
2.Redes neuronales convolucionales(CNN): se hace uso de la arquitectura U-net la cual es ampliamente usada para imágenes biomédicas, ésta hace uso de una arquitectura dowsampling (encoder)- upsampling (decoder), la arquitectura encoder se encargará de aumentar la cantidad de mapa de características pasando de 1 a 1024 y a la vez reducir el tamaño de estos pasando de 240x240 a 15x15, para la arquitectura decoder se hace lo contrario se busca aumentar el tamaño de los mapas de características y reducir el número de éstos.
Seg-UNet toma como base las arquitecturas de SegNet5 y U-net, U-SegNet es muy parecida a la arquitectura de Seg-Unet, la diferencia radica en el número de bloques de convolución que se usan , en U-SegNet se usa un total de 3 bloques de convolución a comparación de Seg-UNet en el cual se usan 5, mientras que la arquitectura Res-SegNet está inspirada en ResNet18 y SegNet5.
A) U-net:
En ambas investigaciones se hace uso del conjunto de datos Multimodal Brain Tumor Image Segmentation (BraTS), el cual está formado por IMR en forma de vólumenes 3D con un registro de 220 tumores tipo HGG y 54 tumores de tipo LGG , en las cuales se analizó las métricas de DSC(coeficiente de Dice) e IoU(Intersection over Union).
1) La primera investigación utilizó el modelo U-net 2D, teniendo como resultados para la métrica DSC un valor de 0.88 para tumores tipo HGG y un valor de 0.84 para tumores de tipo LGG.
2) La segunda investigación analiza métricas como el mean accuracy obteniendo 91.68%,93.35% y 93.12% , además del weighted IoU obteniendo 98.22%,98.29% y 98.63% para U-SegNet,Res-SegNet y Seg-Unet respectivamente.
4.Conclusiones
La primera investigación usa una red convolucional U-net 2D, la cual al procesar imágenes 2D conlleva un menor tiempo de entrenamiento e inferencia para nuevas imágenes a comparación de una red U-net 3D la cual procesa pequeños volúmenes 3D y conlleva tiempos de inferencia para un registro nuevo de aproximadamente 8 minutos, además los métodos de segmentación propuestos utilizando Deep Learning nos pueden ayudar a observar la extensión de un tumor al inicio y durante el transcurso de un tratamiento como la quimioterapia a manera de evaluar si el tumor a disminuido o aumentado de tamaño.
5.Referencias
[1] https://arxiv.org/abs/1705.03820
[2] https://www.sciencedirect.com/science/a ... 0920307614
Uno de los principales problemas en la planificación del tratamiento de pacientes con este tipo de tumores es la determinación del área que ha sido invadida por éstos , la segmentación manual de éstos es un proceso tedioso y propenso al error ya que el cerebro de un paciente en una misma secuencia puede tener distintos cortes que derivan en distintas segmentaciones, por lo cual existe una necesidad de una técnica rápida y precisa para la determinación eficaz de la extensión del tumor cerebral, ya que de ello depende una posible radioterapia o planificación quirúrgica la cual incluya exclusivamente las zonas tumorales , excluyéndose tejidos sanos de zonas muy cruciales como son los sitios del lenguaje y función motora.
2.Solución propuesta
2.1.Descripción de la solución
Se dividió principalmente en dos etapas:
1.Preprocesamiento: se aplicó la normalización de datos para cada secuencia de la resonancia magnética multimodal restando la media de cada secuencia y dividiéndola por la desviación estándar. Además se usó data augmentation para mejorar el rendimiento de la red considerando principalmente operaciones como voltear , rotar y hacer zoom.
2.Redes neuronales convolucionales(CNN): se hace uso de la arquitectura U-net la cual es ampliamente usada para imágenes biomédicas, ésta hace uso de una arquitectura dowsampling (encoder)- upsampling (decoder), la arquitectura encoder se encargará de aumentar la cantidad de mapa de características pasando de 1 a 1024 y a la vez reducir el tamaño de estos pasando de 240x240 a 15x15, para la arquitectura decoder se hace lo contrario se busca aumentar el tamaño de los mapas de características y reducir el número de éstos.
2.2.Arquitecturas de CNN: Las soluciones referidas en estos dos estudios se basan en la arquitectura de red neuronal convolucional U-net 2D, en el primer estudio se desarrolla el problema usando U-net 2D en su forma básica , mientras que en el segundo estudio se proponen redes neuronales convolucionales híbridas tomando como base la arquitectura U-net entre las cuales se encuentra Seg-UNet, U-SegNet y Res-SegNet.
Seg-UNet toma como base las arquitecturas de SegNet5 y U-net, U-SegNet es muy parecida a la arquitectura de Seg-Unet, la diferencia radica en el número de bloques de convolución que se usan , en U-SegNet se usa un total de 3 bloques de convolución a comparación de Seg-UNet en el cual se usan 5, mientras que la arquitectura Res-SegNet está inspirada en ResNet18 y SegNet5.
A) U-net:
B) Seg-Unet:
C) Res-SegNet:
3.Resultados de las pruebas
En ambas investigaciones se hace uso del conjunto de datos Multimodal Brain Tumor Image Segmentation (BraTS), el cual está formado por IMR en forma de vólumenes 3D con un registro de 220 tumores tipo HGG y 54 tumores de tipo LGG , en las cuales se analizó las métricas de DSC(coeficiente de Dice) e IoU(Intersection over Union).
1) La primera investigación utilizó el modelo U-net 2D, teniendo como resultados para la métrica DSC un valor de 0.88 para tumores tipo HGG y un valor de 0.84 para tumores de tipo LGG.
2) La segunda investigación analiza métricas como el mean accuracy obteniendo 91.68%,93.35% y 93.12% , además del weighted IoU obteniendo 98.22%,98.29% y 98.63% para U-SegNet,Res-SegNet y Seg-Unet respectivamente.
4.Conclusiones
La primera investigación usa una red convolucional U-net 2D, la cual al procesar imágenes 2D conlleva un menor tiempo de entrenamiento e inferencia para nuevas imágenes a comparación de una red U-net 3D la cual procesa pequeños volúmenes 3D y conlleva tiempos de inferencia para un registro nuevo de aproximadamente 8 minutos, además los métodos de segmentación propuestos utilizando Deep Learning nos pueden ayudar a observar la extensión de un tumor al inicio y durante el transcurso de un tratamiento como la quimioterapia a manera de evaluar si el tumor a disminuido o aumentado de tamaño.
5.Referencias
[1] https://arxiv.org/abs/1705.03820
[2] https://www.sciencedirect.com/science/a ... 0920307614