deep learning para la clasificaciÓn y segmentaciÓn de

48
DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE IMÁGENES DE ALIMENTOS Iago Vidal Luna Trabajo de Fin de Grado Escuela de Ingeniería de Telecomunicación Grado en Ingeniería de Tecnologías de Telecomunicación Tutores Julio Martín Herrero 2018

Upload: others

Post on 02-Jan-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

DEEP LEARNING PARA LA CLASIFICACIÓN YSEGMENTACIÓN DE IMÁGENES DE

ALIMENTOS

Iago Vidal Luna

Trabajo de Fin de GradoEscuela de Ingeniería de Telecomunicación

Grado en Ingeniería de Tecnologías de Telecomunicación

TutoresJulio Martín Herrero

2018

Page 2: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

 

Escola de  Enxeñaría de Telecomunicación 

Grao en Enxeñaría de Tecnoloxías de Telecomunicación 

Mención: Telemática 

Deep Learning para la clasificación y

segmentación de imágenes de alimentos

Autor: Iago Vidal Luna

Tutor: Julio Martín Herrero

Curso: 2017/2018

1

Page 3: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

I. Introducción

En el presente informe se expone todo el trabajo realizado para alcanzar los objetivos propuestos en el TFG

(apartado 3), desde la motivación del proyecto (apartado 2) hasta los resultados obtenidos (apartado 4) y

las conclusiones finales extraídas (apartado 5).

Se concentra especial esfuerzo en el apartado de resultados, donde se mostrará la metodología de trabajo y

las decisiones de implementación realizadas, con el objetivo de facilitar la evaluación del proyecto. De

hecho, en un trabajo de inteligencia artificial y deep learning, es necesario una constante toma correcta de

decisiones para alcanzar un resultado de valor.

Cada una de las secciones se complementa con diferentes anexos, los cuales se pueden consultar debajo

del informe ejecutivo, que o bien amplían la información descrita en el apartado correspondiente o, por el

contrario, exponen un conocimiento accesorio que no resulta preciso incluir directamente en este informe

ejecutivo.

Con el fin de obtener centralizadas todas las fuentes, en la bibliografía (apartado 6), se indican todas las

referencias que se han consultado para la realización del proyecto, incluidas las de los anexos

La idea de proyecto es el desarrollo de una solución basada en Deep Learning con el objetivo de detectar

diferentes tipos de alimentos en fotografías de comidas. De este modo, no se ha buscado obtener un

producto cerrado, sino más bien una herramienta que se podrá integrar en múltiples sistemas y que puede

dar forma a diferentes productos. Inmediatamente, en el apartado sucesivo, se expone la motivación que

ha llevado a la concepción de esta idea.

2

Page 4: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

II. Motivación del proyecto

La motivación inicial del proyecto surge del evidente potencial de las nuevas herramientas de Deep

Learning. La asignatura LPRO y la estancia en prácticas en Gradiant me descubrieron el mundo de la

inteligencia artificial, las redes neuronales , las CNN (redes neuronales convolucionales) y el Deep

Learning. En LPRO se realizó una App sencilla de seguimiento de dietas por fotografía. Mi trabajo fue el de

implementar con transfer learning la red de clasificación de alimentos. Posteriormente, en Gradiant,

desarrollé una solución también de transfer learning que mejoraba los porcentajes de acierto anteriores e

investigué profundamente sobre las nuevas tecnologías de visión artificial. Todo este conocimiento

adquirido evidenciaba el enorme potencial del Deep Learning y la elección de este proyecto se produjo de

forma natural, con el objetivo de alcanzar una solución tecnológica superior y de interés profesional.

Igualmente, la clasificación de alimentos persiste como un problema de enorme interés y ese es el motivo

por el que se toma la decisión de continuar clasificando alimentos. La alimentación es uno de los asuntos de

mayor importancia a nivel mundial. Obviamente, resulta un tema crucial en los países subdesarrollados

donde por la escasez de recursos es una cuestión de vida o muerte. No obstante, en los países del primer

mundo es también un factor clave en la calidad de vida actual y futura de los individuos. Y todavía hay

mucho camino que recorrer en materia de nutrición. Es por es ello que cualquier desarrollo tecnológico

innovador en este área tendrá un impacto social considerable.

En primer lugar, el seguimiento de una dieta adecuada es una preocupación de la mayor parte de la

población. Además, existen situaciones concretas donde el seguimiento de una dieta adecuada tiene aún

mayor urgencia. Es el caso de enfermedades o condiciones médicas en las cuales la alimentación supone un

factor determinante. El ejemplo más conocido es el de la obesidad. Según el Informe Anual del Sistema

Nacional de Salud Española de 2016 [1], elaborado por el MSSSI (Ministerio de Sanidad, Servicios Sociales e

Igualdad), el 16,9% de la población de 15 y más años es considerada obesa, y el 52,7% de la población de 18

y más años padece obesidad o sobrepeso. Pero hay muchos otras enfermedades muy frecuentes en la

sociedad contemporánea. El MSSSI nos arroja las siguientes cifras [2]: el 6.8% de la población padece

diabetes mellitus y el 18.4% hipertensión arterial. Además, también es clave la dieta en otras condiciones

frecuentes como son las enfermedades coronarias, estomacales, alergias alimenticias y el embarazo.

Asimismo, la nutrición de la población es una cuestión también relevante en el aspecto económico. Un

informe realizado por “The Economist” [3] expone que en 2013 la diabetes representaba el 8% de los costes

sanitarios directos en España. Además, en ese mismo documento se subraya que si bien en 2002 se

calculaba que los costes de la obesidad alcanzaban un 7% de los costes sanitarios, ahora se sospecha que

representan un porcentaje mayor. Es por todo esto que las políticas españolas se centran ya más en la

prevención que en el propio tratamiento.

Por otro lado, es significativo el dato que proporciona la Sociedad Española para el Estudio de la Obesidad

(SEEDO) [4]: el 81% de los españoles fracasa al hacer una dieta. Eso indica que en muchos casos el

problema no está en la iniciativa sino en la capacidad de persistir. Por eso, desarrollar una tecnología que

permita distinguir alimentos únicamente con una foto, puede integrarse en múltiples productos que

proporcionen seguimiento de la dieta, motivación e información alimenticia con un esfuerzo mínimo por

parte del usuario, favoreciendo así la consecución de sus objetivos.

3

Page 5: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

III.Objetivos

● El primer objetivo radicó en elaborar un análisis exhaustivo de las soluciones existentes en

seguimiento de dietas y otras soluciones ya centradas en condiciones de salud concretas, con el

propósito de encontrar necesidades insatisfechas.

● A partir de ahí, el objetivo principal consistió en realizar segmentación de imagen y así tener la

capacidad de reconocer y clasificar diferentes tipos de alimentos en una única fotografía. Resulta

de interés conseguir mejorar aún más los ratios de clasificación alcanzados, pero para que el

desarrollo realizado pueda tener impacto profesional es obligado poder reconocer varios alimentos

simultáneamente, pues así es como se presentan habitualmente en la realidad.

● Derivado directamente del punto anterior, el siguiente objetivo residió en encontrar las mejores

técnicas para poder efectuar esa segmentación. Desde 2012, cuando Alex Krizhevsky, Ilya

Sutskever y Geoffrey Hinton ganaron la competición de ImageNet con su “red neuronal

convolucional grande y profunda” [5], deep learning y las CNN se establecieron como la técnica por

excelencia en la clasificación de imagen. Debido a esto, desde el inicio, la decisión siempre fue

encontrar la mejor manera de implementar estas CNN en modelos de segmentación. ● En ese estudio de las diferentes posibilidades de implementación, surgió la necesidad de estudiar el

tipo de licencia de la alternativa elegida. De esa manera, era posible conocer las posibilidades

comerciales que se poseían con el uso de la misma.

● Asimismo, si bien el objetivo principal siempre fue desarrollar un prototipo básico que realizase

unas pocas segmentaciones simples, una posible meta consistió en encontrar los mejores modelos

pre-entrenados con bases de datos públicas, que entre sus categorías incluyeran alimentos. De

esta forma, se podría conseguir realizar la segmentación sobre un extenso número de alimentos.

Como en este caso no es necesario el entrenamiento de la red, se pueden conseguir resultados con

una carga computacional considerablemente inferior, y evitando el costoso proceso de limpiar y

etiquetar fotografías.

● Un objetivo más ambicioso residió en entrenar algún modelo de segmentación basado en CNN y

evitar depender de otras bases de datos. Esto implicaba diseñar la base de datos, obtener las

fotografías, etiquetarlas, cargar un modelo de entrenamiento, configurar los parámetros del mismo

y finalmente exportar el modelo entrenado para realizar la clasificación.

● Dependiente del objetivo anterior, nació la necesidad de repasar conceptos matemáticos básicos

de redes neuronales y convolucionales, con el propósito de obtener una comprensión mínima y

poder ajustar parámetros de entrenamiento como el “learning rate”, “training steps” o “batch

size”. Además, era conveniente tener una soltura mínima en Python o C++. No era necesario un

conocimiento profundo en esta materia, pues el dominio absoluto de estos temas puede requerir

años de investigación y el objetivo fue valorar alternativas y encontrar una solución de forma

eficiente.

4

Page 6: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

IV.Resultados

En primer lugar, se elaboró el estado del arte del proyecto. Este se puede consultar en el “Anexo1. Estado

del arte”. En la sección 2 se expone un estudio detallado de los últimos modelos de segmentación con CNN:

R-CNN, Fast R-CNN, Faster R-CNN, YOLO, SSD, R-FCN y Mask R-CNN. A continuación, en las secciones 3 y 4,

se pueden consultar las soluciones existentes en seguimiento de dietas con identificación de alimento y

otras soluciones en condiciones de salud más específicas. De todo este estudio se concluyó que la

tecnología que se pretendía desarrollar de segmentación de imagen en fotografías de alimentos podía ser

una pieza clave en muchos productos de seguimiento de dietas. Especialmente en aquellos que se centren

en condiciones más específicas, como puede ser el embarazo, el posparto, la diabetes gestacional o la

ERGE (enfermedad del reflujo gastroesofágico) durante el embarazo.

En este punto, se conocían los mejores modelos de segmentación en la actualidad, pero era necesario

determinar el modo en el que estos se iban a implementar. Ya era conocida la técnica de transfer learning

ofrecida por Google a través de su biblioteca TensorFlow [6], pero esta solo permite reentrenar la última

capa de Inception v2 para efectuar clasificación de imagen y no ofrece un modelo completo de

segmentación. Es por eso que se buscó una nueva herramienta con la que implementar, en última

instancia, el proyecto. La elegida fue “Tensorflow Object Detection API” [7]. La causa de dicha elección fue

el elevado número de modelos de segmentación basados en CNN que ofrecía, además de que resulta

indudable la potencia de la librería de Google.

Por otro lado, TensorFlow es una librería open source con licencia Apache License Version 2.0 [8]. Esto

quiere decir que se tiene el pleno derecho de usar el software con propósitos comerciales. Esta es una de

las garantías proporcionadas por el código abierto, como se puede consultar en opensource.org [9].

Asimismo, en creativecommons se informa que en una licencia 2.0 genérica se es libre de “mezclar,

transformar y construir sobre el material para cualquier propósito, incluso comercial” [10].

Una vez decidida la API que se iba a usar, fue necesario elegir los recursos computacionales que se iban a

emplear. La inteligencia artificial y en especial en Deep Learning requieren de un gran poder de

computación. En la actualidad es posible que esta sea la limitación más común en proyectos de visión

artificial, junto con la insuficiencia o la baja calidad de los datos de entrada. Las alternativas principales eran

la computación en la nube (Google Cloud Platform, Amazon AWS…) o los recursos físicos. La elección final

fue la de construir un ordenador físico para este propósito, por el interés personal en la materia y por el

aumento del coste de los recursos en la nube.

En la construcción de un ordenador para Deep Learning, la elección más importante es la GPU, debido a la

necesidad de computación paralela (muchos de los cálculos en Deep Learning son operaciones sobre

matrices que se puede ejecutar concurrentemente). La tarjeta elegida fue NVIDIA GeForce GTX 1080 Ti. En

rendimiento era la segunda mejor tarjeta gráfica del mercado, empatada con la Titan X Pascal y justo

debajo de la Titan Xp [11]. Sin embargo, en eficiencia por coste era muy superior a las mencionadas

anteriormente y este es el motivo de la elección. El ordenador se completaba con una placa base MSI X99A

SLI Krait Edition USB 3.1 con 40 PCI Express Lanes, una CPU compatible Intel i7-6850K 3.6Ghz Box, un disco

Samsung 960 EVO NVMe M.2 SSD PCI-e 500GB y 32 GB de RAM. Al finalizar la elección de los componentes,

se usó la web pcpartpicker [12] para comprobar la compatibilidad de los mismos.

5

Page 7: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

La definición más conocida de machine learning seguramente es la proporcionada por Arthur Samuel: “es el

campo de estudio que le proporciona a las computadoras la habilidad de aprender sin haber sido

explícitamente programadas” [13]. Pero para aprender, estas necesitan datos de entrenamiento. Y la

calidad de estos datos repercute directamente en el resultado obtenido. Deep Learning es una rama del

machine learning, aplicada masivamente en la actualidad a la visión artificial.

Una vez que se había realizado la construcción del ordenador, era necesario efectuar, con carácter previo a

cualquier implementación, un documento que organizara las principales reglas que se deben seguir al crear

un set de imágenes de entrenamiento. Igualmente, también era importante conocer herramientas de

obtención y etiquetado de imágenes.

En el “Anexo2: Diseño de una base de datos para Deep Learning” se puede consultar un esquema con las

principales conclusiones extraídas de la experiencia y de la investigación acerca de la construcción de una

base de datos.

En este punto, antes de pasar a implementar el modelo de segmentación, se decidió emplear el nuevo

ordenador en un último entrenamiento sobre la base de datos para la clasificación (la diseñada en LPRO y

Gradiant), con categorías con fotografías completamente limpias siguiendo las reglas descritas en el párrafo

anterior. Esta vez, aprovechando la potencia de cómputo, se efectuaron 15.000 iteraciones de

entrenamiento (por defecto son 4000) y se obtuvo un porcentaje de acierto de 98.2% sobre el set de test.

Constituye un extraordinario resultado sobre las 25 categorías consideradas. En el “Anexo3. Resultados” se

expresan los resultados obtenidos con mayor rigor, concretamente en el apartado 1 “Reentrenamiento de

la última capa de Inception para nuevas categorías”.

Inmediatamente a continuación, se procedió a efectuar la instalación necesaria para poder emplear

“TensorFlow Object Detection API” [14] para la segmentación y clasificación. Se decidió realizar la

instalación en Ubuntu [15], debido al mayor soporte existente para este sistema operativo. Es preciso

conocer que, por el carácter reciente de todas las herramientas utilizadas, en ocasiones la instalación

resulta compleja, debido a incompatibilidades entre software o nuevas actualizaciones.

En primer lugar, para hacer uso de la gráfica adquirida, era necesario realizar una instalación de TensorFlow

con soporte para GPU. Para esto, se precisaba instalar el siguiente software de NVIDIA:

● CUDA Toolkit [16]

● Drivers de NVIDIA asociados a CUDA Toolkit.

● CUDNN [17]

Posteriormente, se decidió utilizar pip para la instalación de TensorFlow. Se instalaron 2 versiones

tensoflow-gpu, una para Python 2.7 y otra para Python3.5. La instalación se realizó indicando el url del

paquete TensorFlow Python.

A continuación, fue necesario compilar las liberías Protobuf. Una vez realizado, se procedió a validar la

instalación.

Por último, era prácticamente obligada la instalación del entorno de programación Jupyter Notebook web

[18], con el que ejecutar cómodamente el código Python.

6

Page 8: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Una vez finalizado todo el proceso de instalación de manera satisfactoria, se estaba en condiciones de usar

los diferentes modelos preentrenados para la segmentación y clasificación de las imágenes que se desease

(siempre y cuando estos modelos estuviesen entrenados sobre algunas categorías de alimentos).

TensorFlow proporciona una abundante lista de modelos de segmentación preentrenados en el dataset

Coco [19], el cual contiene algunas categorías de alimentos (plátano, manzana, zanahoria, dónut, naranja,

perrito caliente, brócoli, sandwich, pizza, vaso de vino, tarta, ect.). Los diferentes modelos disponibles

actualmente entrenados en dicho dataset se pueden consultar en “Tensorflow detection model zoo” [20].

Se decidieron cargar y utilizar los siguientes sistemas:

● ssd_mobilenet_v1_coco - Model speed (30 ms) - COCO mAP (21)

● faster_rcnn_inception_v2_coco - Model speed (58 ms) - COCO mAP (28)

● faster_rcnn_nas - Model speed (1833 ms) - COCO mAP (41)

Model speed es el tiempo de ejecución del modelo con una imagen 600x600 en una GTX Titan X.

mAP (Mean Average Precision) es un medidor del rendimiento del modelo sobre un subconjunto del

dataset COCO. Un valor mayor indica mayor precisión.

Como referencia para escribir el código para cargar y usar cada uno de los modelos, se utilizó el siguiente

enlace [21].

A continuación, en la Figura 1 y en la Figura 2, se presentan algunos de los resultados obtenidos. Se pueden

consultar todas las detecciones realizadas en el “Anexo3. Resultados”.

Figura 1: Detección con faster_rcnn_nas

7

Page 9: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Figura 2: Detección con faster_rcnn_inception_v2_coco

Posteriormente, se investigó para encontrar otro sistema pre-entrenado que tuviese aún más alimentos

entre sus categorías. Así, se determinó que faster_rcnn_inception_resnet_v2_atrous_oid (727 ms y 37

mAP), entrenado sobre Open Data Dataset [22] era un candidato ideal, debido a que posee cerca de 70

categorías de alimentos [23].

En la Figura 3 se puede observar uno de los resultados obtenidos. Como siempre, es posible consultar el

conjunto completo de resultados en el Anexo 3.

Figura 3: Detección con faster_rcnn_inception_resnet_v2_atrous_oid

8

Page 10: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Las implementaciones con modelos pre-entrenados deben ser siempre los primeros a ejecutar. El coste de

diseñar y limpiar bases de datos y después entrenarlas es muy alto. Sin embargo, en muchos casos es

posible necesitar determinados tipos de categorías para los que no existen modelos pre-entrenados. Por

este motivo, a continuación se documentan los pasos seguidos para efectuar el entrenamiento de un

sistema de segmentación por redes neuronales convolucionales, en este caso, el modelo SSD, en un par

de categorías de interés.

En primer lugar, es preciso descargar las imágenes y etiquetarlas. Las imágenes deben ser RGB y estar en

formato PNG o JPEG. Para descargar las imágenes se utilizo el plugin de Chrome “I´m a Gentleman” [24].

Después es necesario etiquetar dichas imágenes encuadrando los objetos en cajas delimitadores que

devuelvan las 4 coordenadas de sus vértices. Para ello, se utilizó labelImg [25]. En el Anexo3 se pueden

consultar fotografías que ilustran este proceso.

La API de TensorFlow solo lee datos de entrada que tengan el formato TFRecord file format [26]. Es posible

obtener dicho formato utilizando unos scripts que proporciona TensorFlow, siempre y cuando la base de

datos diseñada esté en formato “PASCAL VOC TFRecord files” u “Oxford-IIIT Pet TFRecord files”. De esta

forma, es posible utilizar los mencionados scripts si se realiza un diseño que replica la misma estructura. Sin

embargo, finalmente se decidió elaborar un script propio que efectuara la transformación al formato

TFRecord.

Una vez constituida la base de datos en el formato correcto se puede proceder a configurar el

entrenamiento y la validación. Para ello, esta API proporciona el “Object Detection Training Pipeline” [27]

con el que se debe configurar el modelo y los parámetros de entrenamiento. Para entrenar, es necesario

además indicar las categorías en un archivo “label map” [28].

El entrenamiento se ejecutó usando un checkpoint para reducir la carga computacional. Una vez finalizado

se exportó a un fichero .pb [29] para posteriormente efectuar con él las pruebas de detección. Un ejemplo

de ello se observa en la Figura 4.

Figura 4: Detección con mi modelo SSD entrenado

9

Page 11: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

V.Conclusiones

Las redes neuronales convolucionales profundas son una técnica de enorme poder y su estudio e

investigación en este proyecto han permitido obtener, en un espacio limitado de tiempo, unos resultados

cercanos al nivel de un producto comercial. El Deep Learning es, sin duda, una de las ramas de la

inteligencia artificial con mayor presencia en los últimos desarrollos tecnológicos actuales.

Con el empleo de “TensorFlow Object Detection API” se han conseguido los objetivos marcados, realizando

segmentación y clasificación de diferentes tipos de alimentos. En primer lugar, se usaron diversos

modelos pre-entrenados que permitieron detectar un considerable número de categorías. Después, se

efectuó el entrenamiento de un modelo SSD, documentando todos los pasos necesarios para poder

entrenar en el futuro sobre todas las categorías deseadas.

El trabajo desarrollado en este proyecto es fácilmente integrable en múltiples sistemas. Son de especial

interés en la actualidad los productos que ayudan a realizar un seguimiento de la dieta en condiciones

médicas específicas, como son el embarazo, la diabetes gestacional o la ERGE.

Las líneas futuras a seguir consisten en incorporar más categorías a la detección. Si es posible, utilizando

modelos pre-entrenados, para evitar el cuantioso coste en tiempo y dinero que implica el diseño de bases

de datos, el etiquetado y el entrenamiento. Otra posible vía futura consiste en la estimación del tamaño en

las fotografías, aunque este es un reto de complejidad máxima y seguramente la solución obtenida tendría

que depender de visualizar en la fotografía un objeto conocido, que sirva de referencia.

En una apreciación personal, el desarrollo de proyectos basados en redes neuronales es una experiencia

muy satisfactoria para un ingeniero de telecomunicaciones. Así es como lo he percibido a lo largo de todo

el trabajo realizado para el proyecto.

10

Page 12: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

VI.Bibliografía

[1] (2015, diciembre 31). Informe Anual del Sistema Nacional de Salud 2016 - Ministerio de Sanidad,

Servicios Sociales e Igualdad.

[2] (2016, julio 1). La salud y el sistema sanitario en 100 tablas - Ministerio de Sanidad Servicios Sociales e

Igualdad.

[3] (2016) Cómo hacer frente a la obesidad en España - EIU Perspectives.

[4] (2014, febrero 12). Los kilos de más afectan a la hora de encontrar trabajo - Seedo.

[5]Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional

neural networks. In Advances in neural information processing systems (pp. 1097-1105).

[6] (n.d.). How to Retrain Inception's Final Layer for New Categories.

[7] (n.d.). Tensorflow Object Detection API - GitHub

[8] (n.d.). tensorflow/LICENSE at master · tensorflow/tensorflow · GitHub

[9] (n.d.). FAQs - Open Source Initiative.

[10] (n.d.). Creative Commons — Attribution 2.0 Generic (CC BY 2.0)

[11] (2017, abril 9). Which GPU(s) to Get for Deep Learning - Tim Dettmers.

[12] (n.d.). PCPartPicker.

[13] Arthur Samuel. (1957) Communications of the ACM.

[14] (n.d.). models/installation.md at master · tensorflow/models · GitHub.

[15] (n.d.). Installing TensorFlow on Ubuntu.

[16](2018, enero 24). Installation Guide Linux :: CUDA Toolkit Documentation - NVIDIA

[17] (n.d.). NVIDIA cuDNN | NVIDIA Developer.

[18] (n.d.). 1. What is the Jupyter Notebook? - Jupyter Notebook quick start guide.

[19] (n.d.). COCO dataset.

[20] (n.d.). models/detection_model_zoo.md at master · tensorflow/models · GitHub.

[21] (n.d.). models/object_detection_tutorial.ipynb at master · tensorflow - GitHub.

[22] (n.d.). The Open Images dataset - GitHub.

[23] (n.d.). Flare Dendrogram.

[24] (n.d.). I'm a Gentleman - Chrome Web Store - Google.

11

Page 13: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

[25] (n.d.). tzutalin/labelImg - GitHub.

[26] (n.d.). models/preparing_inputs.md at master · tensorflow/models · GitHub.

[27] (n.d.). models/configuring_jobs.md at master · tensorflow/models · GitHub.

[28] (n.d.). models/research/object_detection/data at master · tensorflow - GitHub.

[29] (n.d.). models/exporting_models.md at master · tensorflow/models · GitHub.

[30] Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional

neural networks. In Advances in neural information processing systems (pp. 1097-1105).

[31] Huang, J., Rathod, V., Sun, C., Zhu, M., Korattikara, A., Fathi, A., ... & Murphy, K. (2017, July).

Speed/accuracy trade-offs for modern convolutional object detectors - arXiv

[32] Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik. (2013, noviembre 11). [1311.2524] Rich

feature hierarchies for accurate object detection and semantic segmentation - arXiv.

[33] Girshick, R. (2015, abril 30). Fast R-CNN - arXiv

[34] Ren, S., He, K., Girshick, R., & Sun, J. (2015, junio 4). Faster r-cnn: Towards real-time object detection

with region proposal networks - arXiv

[35] Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You only look once: Unified, real-time object

detection - arXiv

[36] (2016, diciembre 25). YOLO9000: Better, Faster, Stronger - arXiv

[37] (2015, diciembre 8). [1512.02325] SSD: Single Shot MultiBox Detector - arXiv

[38] (2016, mayo 20). R-FCN: Object Detection via Region-based Fully Convolutional Networks - arXiv

[39] (2017, marzo 20). Mask R-CNN - arXiv

[40] (n.d.). Im2Calories: towards an automated mobile vision food diary - Research at Google.

[41] (2016, septiembre 30). Diet App Uses Deep Learning in Automatic Calorie Counter | NVIDIA

[42] (2017, marzo 20). Food Scanner | Horizon Prizes - European Commission

[43] (n.d.). Spectral Engines » Foodscanner

[44] (n.d.). OMS | Diabetes.

[45] (n.d.). Diagnosis and Classification of Diabetes Mellitus - NCBI - NIH.

[46] (n.d.). Gestational diabetes mellitus - NCBI - NIH.

[47] (n.d.). informe mundial sobre la diabetes - World Health Organization.

[48] Vervloet M, van Dijk L, de Bakker DH, Souverein PC, Santen-Reestman J, van Vlijmen B, van Aarle MC,

van der Hoek LS, Bouvy ML. Short- and long-term effects of real-time medication monitoring with short

12

Page 14: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

message service (SMS) reminders for missed doses on the refill adherence of people with Type 2 diabetes:

evidence from a randomized controlled trial. - NCBI.

[49](2013, enero 15).The effectiveness of mobile-health technology-based health behaviour change or

disease management interventions for health care consumers: a systematic review.

[50](n.d.). Effect of mobile phone intervention for diabetes on glycaemic control: a meta-analysis. - NCBI.

[51](n.d.). Technologies for Diabetes Management 2017-2027.

[52] Waki, Aizawa, Kato, Fujita, Lee, Kobayashi, Ogawa, Mouri, Kadowaki, Ohe. DialBetics With a

Multimedia Food Recording Tool, FoodLog - NCBI.

[53] (n.d.) Dexcom Continuous Glucose Monitoring | Dexcom CGM.

[54] (2016, septiembre 14). Diet during pregnancy: Women's knowledge of and adherence to food safety

guidelines - NCBI.

[55] (n.d.). Diet During Pregnancy: Healthy Eating While Pregnant.

[56] (2012, febrero 29). Opciones de tratamiento para la ERGE o enfermedad por reflujo del ácido

estomacal - NCBI - NIH.

[57] (n.d.). Instituto de Salud Digestiva y Hepática.

[58] (2016, enero 28). Enfermedad por reflujo gastroesofágico.

[59] (n.d.). LINX® Reflux Management System in chronic gastroesophageal reflux: a novel effective

technology for restoring the natural barrier to reflux - NCBI - NIH.

[60] Jeff Kaufman (2015, diciembre 24). Detecting Tanks.

13

Page 15: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Anexo1: Estado del arte

1. Introducción

Es necesario plantear un estudio del estado del arte desde varias perspectivas. Por un lado, es

indispensable un enfoque desde el punto de vista puramente tecnológico, analizando los diferentes

modelos de CNN (redes neuronales convolucionales) que representan el conocimiento último en la

segmentación y clasificación de imagen. Así, exploro R-CNN, Fast R-CNN, Faster R-CNN, Mask R-CNN, R-FCN,

SSD y YOLO.

Por otro lado, requiero realizar una labor de investigación para encontrar soluciones tecnológicas

existentes en el apoyo y seguimiento de dietas. Existen varias Apps de éxito que proporcionan seguimiento

de dietas y ejercicio, con enormes bases de datos de alimentos y muchas funcionalidades adicionales, como

es el caso de “MyFitnessPal”, “Dietas para adelgazar” y “MyPlate: Contador de Calorías”. Pero estas se

limitan, como máximo, a la introducción manual de los alimentos o al escáner del código de barras. El

estudio profundiza en aquellos otros productos o tecnologías de éxito que ofrecen una detección más veloz

de alimentos o nutrientes, por fotografía u otra vía. Estos son: “Im2Calories”, “LoseIt”, “FatSecret”, “Calorie

Counter-MyNetDiary”, “FOODSCAN (Spectral Engines)”, “SCIO” y “TellSpec”.

Por último, son particularmente interesante aquellas condiciones médicas en las cuales el seguimiento de

una dieta resulta ser un factor decisivo en el tratamiento. Así, algunos de los campos que resultan de

interés son: diabetes, embarazo y enfermedades estomacales como la enfermedad del reflujo

gastroesofágico (ERGE). Se investigan soluciones existentes en estos ámbitos específicos.

14

Page 16: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

2. Tecnologías de visión artificial

En 2012, el equipo formado por Alex Krizhevsky, Ilya Sutskever y Geoffrey Hinton ganó la competición de

ImageNet con su “red neuronal convolucional grande y profunda” [30]. Aquello supuso un punto de

inflexión y desde aquel momento, deep learning y las CNN se han establecido como la técnica por

excelencia en la clasificación de imagen, llegando a superar la capacidad de clasificación humana. Es por

ello que la investigación se limita a este área específica del machine learning y al estudio de los sistemas

más exitosos que han sido propuestos en ella en los últimos años. Un buen punto de referencia es el

estudio “Speed/accuracy trade-offs for modern convolutional object detectors” [31].

R-CNN (Regional CNN) -- 2014 [32]

● Problema concreto abordado por la solución

Trató de resolver con CNN problemas complejos de clasificación, identificando diferentes tipos de objetos

en la misma imagen y etiquetando correctamente cada uno de ellos.

● Marco metodológico y conceptual de la solución. ¿Qué enfoque se ha tomado?

Se crea un conjunto de cajas delimitadoras (o propuestas de región) tratando de predecir dónde se

encuentran los objetos. Para ello se usa el proceso “Selective Search”, que básicamente utiliza ventanas de

diferentes tamaños sobre la imagen con el objetivo de, para cada una de ellas, agrupar píxeles por color,

intensidad o textura para identificar objetos.

Después, se utiliza una CNN para generar las características de la imagen (inicialmente se utilizó una versión

modificada de AlexNet-el ganador de ImageNet en 2012-) a la que se le añade en la última capa un SVM

(Support Vector Machine) que determina si, en cada una de las regiones propuestas (que se han deformado

a un tamaño estándar) se identifica un objeto; y en ese caso, resuelve de qué objeto se trata.

Finalmente, se utiliza un modelo de regresión lineal para ajustar mejor la caja a las verdaderas dimensiones

del objeto.

● Conclusiones

○ Resuelve satisfactoriamente el problema de segmentación.

○ Es muy lenta porque requiere pasar por la CNN para cada una de las regiones propuestas.

Además, tiene que entrenar 3 modelos diferentes de forma separada: la red neuronal

convolucional, el SVM y el modelo de regresión lineal.

15

Page 17: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Fast R-CNN -- 2015 [33]

● Problema concreto abordado por la solución

Mejorar las limitaciones de la R-CNN y construir un sistema más eficiente.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Utiliza la técnica RoiPool (Region of Interest Pooling), que aprovecha que muchas de las regiones

propuestas se superponen, de forma que no es necesario realizar el paso por la CNN una y otra vez. Con

esta técnica únicamente se ejecuta una vez la CNN para cada imagen y después se comparte la

computación realizada para cada una de las subregiones establecidas.

Usa una única red para computar todo a la vez: CNN, SVM y el modelo de regresión lineal. Esto se consigue

añadiendo dos capas a la CNN, paralelas entre ellas y situadas como últimas de la red. Una de ellas es una

capa de softmax que realiza la clasificación y sustituye al clasificador SVM. La otra es una capa de regresión

lineal.

● Conclusiones

○ Es mucho más eficiente que la R-CNN.

○ El proceso de creación de las subregiones constituye un importante cuello de botella en el

sistema. Selective Search resulta ser una técnica muy lenta.

Faster R-CNN -- 2015 [34]

● Problema concreto abordado por la solución

Desarrollar una nueva arquitectura que solucione el bottleneck de las Fast R-CNN, reduciendo el coste de la

proposición de subregiones.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Dado que la proposición de subregiones depende de las características de la imagen, es posible rehusar los

resultados obtenidos tras ejecutar la CNN en lugar de utilizar un algoritmo aparte como era el caso de

Selective Search. De este modo el coste de calcular las subregiones es prácticamente cero.

La implementación consiste a grandes rasgos en añadir, por encima del mapa de características de la CNN,

una FCN (Fully Convolutional Network) llamada Region Proposal Network. Esta trabaja pasando una

ventana deslizante por dicho mapa y generando un conjunto de cajas delimitadoras que es probable que

contengan a un objeto.

● Conclusiones

○ Constituye, a día de hoy, uno de los sistemas situados en el estado del arte de la visión

artificial.

○ No llega a proporcionar como resultado una segmentación de objetos a nivel de píxel.

16

Page 18: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

YOLO (You Only Look Once) --2015 [35]

● Problema concreto abordado por la solución

Resolver el problema de segmentación y clasificación aplicando una sola red neuronal a la imagen entera y

mejorar así el rendimiento de los sistemas R-CNN y Fast R-CNN.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Los otros sistemas aplican la red a múltiples regiones de la imagen original, con diferentes localizaciones y

escalas. Cuando alguna región alcanza una alta probabilidad se determina que es un objeto detectado. Con

YOLO, sin embargo, la red trabaja con la imagen entera para luego dividirla en regiones y predecir las

“bounding boxes” y la probabilidad asociada a cada una. Este modelo, aparte de ser una arquitectura

unificada, permite que las predicciones de las subregiones tengan en cuenta el contexto global de la

imagen.

A finales de 2016, fue publicado por sus autores una revisión del sistema con varias mejoras conocido como

YOLO9000 [36], para solventar las deficiencias del sistema en comparación con los otras técnicas de

vanguardia. El principal problema era que YOLO tenía un elevado número de errores de localización, pese a

sus altos ratios de detección.

● Conclusiones

○ YOLO se descubrió como un sistema mucho más rápido que R-CNN y Fast R-CNN.

○ Según sus autores, YOLO9000 se sitúa en el estado de arte de la detección de objetos en

tiempo real y puede clasificar entre más de 9000 categorías de objetos diferentes.

○ YOLOv2, el nuevo sistema de detección de YOLO9000, a 67FPS, obtiene 76.8 mAP (Mean

Average Precision) en VOC 2007 y a 40FPS, consigue 78.6 mAP. De este modo, mejora a

Faster RCNN con ResNet y SSD, siendo a la vez un sistema más rápido.

○ Su método de detección y clasificación conjunta permite realizar detecciones de clases de

objetos que no tienen datos de etiquetados.

17

Page 19: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

SSD (Single Shot MultiBox Detector) -- v1 Dic-2015, v5 Dic-2016 [37]

● Problema concreto abordado por la solución

Crear un sistema que elimine el típico paso de proposición de regiones y alcance mucha mayor velocidad.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Se trata de una arquitectura formada por una única red convolucional que en una única etapa predice las

clases sin necesitar un paso previo de proposición de regiones.

Se discretiza el conjunto de cajas delimitadoras a un set de cajas por defecto de diferentes relaciones de

aspecto y escalas por ubicación del mapa de características. Así, en tiempo de predición, la red estima la

probabilidad de la presencia de un objeto en cada caja por defecto y después ajusta las dimensiones de la

caja para acomodarla mejor a las dimensiones del mismo.

Este modelo es simple en comparación con otros métodos porque elimina la proposición de regiones de

objetos y encapsula toda la computación en una sola red.

● Conclusiones

○ Resultados experimentales en los sets PASCAL VOC y MS COCO confirman que SSD tiene

una precisión comparable a los métodos que utilizan el tradicional paso adicional de

proposición de regiones, siendo mucho más rápido. Y comparándolo con otros métodos

que también son de un solo paso, SSD alcanza muy buenos resultados.

○ Para imágenes de 300x300, SSD alcanza 72.1% mAP en el test VOC2007 test a 58 FPS on

una Nvidia Titan X. Con entradas de 500x500 alcanza 75.1% mAP.

R-FCN -- 2016 [38]

● Problema concreto abordado por la solución

Mejorar la velocidad de ejecución de las Faster R-CNN.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Redes completamente convolucionales basadas en proposición de regiones.

En lugar de recortar las características desde la misma capa donde se predicen las regiones, hacerlo desde

la última capa de características anterior a la predicción. De esta manera se minimiza la cantidad de

computación necesaria por región.

● Conclusiones

○ Se ha probado que este modelo puede alcanzar una precisión comparable a la de Faster

R-CNN con tiempos de ejecución más rápidos.

18

Page 20: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Mask R-CNN -- 2017 [39]

● Problema concreto abordado por la solución

Tratar de extender la segmentación a nivel de píxel y localizar píxeles exactos de cada objeto en lugar de

establecer cajas delimitadoras.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Teniendo como punto de partida el sistema Faster R-CNN, se implementa una FCN por encima del mapa de

características que devuelve una máscara binaria: retorna una matriz con 1s en las posiciones donde el píxel

pertenece al objeto y 0s cuando no es así.

Es necesario desarrollar el método RoIAlign para ajustar desalineados producidos con RoIPool.

● Conclusiones

○ El resultado proporcionado por la máscara es muy preciso y se obtienen resultados

espectaculares proporcionando, junto a esta segmentación a nivel de píxel, las tradicionales

cajas delimitadoras y la clasificación del objeto.

19

Page 21: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

3. Soluciones en seguimiento de dietas con identificación del alimento

En este apartado se analizan los productos, tecnologías y sistemas que afrontan el problema de la

identificación automática de comida y/o de sus nutrientes y calorías.

Im2Calories (Google) [40]

● Problema concreto abordado por la solución

Los preocupantes niveles de obesidad crecientes en la población, derivados sobre todo del consumo de

comida basura y de no seguir una dieta saludable. Existe una necesidad de gran parte de la población de

realizar un seguimiento de su alimentación de forma precisa y rápida.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

El objetivo es ofrecer un sistema que sólo con una foto sea capaz de reconocer platos de comida que

pueden estar elaborados por varios tipos de alimentos diferentes, prediciendo, además, el contenido

nutricional y el valor energético.

En el enfoque sencillo, trabajan en un contexto donde se conoce el menú, como por ejemplo un

restaurante. En ese caso, recopilan imágenes sin conexión para entrenar una CNN que clasifica entre las

diferentes posibilidades. Junto a la clasificación de la comida, ofrecen el contenido nutricional de la misma

ya que es un dato que conocen.

En el enfoque complicado, desconocen de antemano los alimentos que deberán clasificar y cuyos

nutrientes tendrán que estimar. En este otro caso, no sólo deben clasificar la comida, sino que tienen que

resolver el problema de segmentación para identificar diferentes alimentos en una misma comida; al igual

que el problema de la estimación de la profundidad/volumen a partir de una sola imagen. Afrontan esto

con un planteamiento basado en CNN que presenta, según ellos, resultados preliminares prometedores.

● Conclusiones

○ No ha sido lanzada todavía al mercado, a pesar de que ya fue anunciada en 2015. Incluso

Google dice que la App será lanzada al mercado con una precisión limitada, la justa para

funcionar. Con el tiempo, al ir recopilando muchas más imágenes derivadas del uso de la

App por parte de los usuarios, pretenden ofrecer resultados cada vez más precisos.

○ Es interesante apreciar la enorme dificultad que representa el problema de estimar el

volumen del alimento. Un proyecto desarrollado por Google no ha resuelto todavía

satisfactoriamente el problema en estos dos últimos años.

20

Page 22: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

LoseIt [41]

● Problema concreto abordado por la solución

Solucionar la necesidad de mucha gente de llevar un registro de su dieta y de su ejercicio. Están

especialmente focalizados en ayudar a la gente que quiere adelgazar.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Desarrollo de una aplicación móvil que ofrece la posibilidad de un seguimiento exhaustivo de dieta y

ejercicio y que pone a disposición de los usuarios una vasta base de datos de comidas. Ofrecen

identificación rápida del alimento usando la cámara del móvil, ya sea para escanear el código de barras o

para sacar una foto directa al plato. Con el código de barras consiguen ofrecer de manera rápida el

contenido calórico con absoluta precisión. Con la foto a la comida, son capaces de detectar múltiples

alimentos en ella y ofrecen una estimación de calorías. Trabajan con muchos restaurantes y ofrecen

recomendaciones de comida, bebida y ejercicio además de otras muchas funcionalidades.

Para la detección de alimentos usaron Deep Learning. Entrenaron la red con NVIDIA DIGITS deep learning

training system, que usa la librería de Deep Learning cuDNN 5.1. Usaron 4 GPUs NVIDIA TITAN.

No han desarrollado ninguna técnica para calcular las calorías. Se trata de una estimación. Aunque los

científicos de datos de Lose It defienden que sus estimaciones son precisas.

● Conclusiones

○ Es una aplicación de éxito con millones de descargas.

○ Disponen de una base de datos colosal. Poseen más de cuatro mil millones de fotos de

alimentos provenientes de sus usuarios.

○ La segmentación e identificación de los alimentos es correcta pero en platos muy sencillos y

entornos controlados.

○ En conjunto, resulta una aplicación muy completa.

21

Page 23: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

FatSecret

● Problema concreto abordado por la solución

Al igual que LoseIt, están centrados en ayudar a que la gente pierda peso y proporcionar una forma de

seguimiento de su dieta y de su ejercicio.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Desarrollo de una aplicación que posee un diario de dieta y de ejercicio, para llevar un seguimiento de las

calorías ingeridas y quemadas. Atesora una gran base de datos de alimentos, pudiendo proporcionar

información nutricional de cada uno de ellos y detectando marcas. Incluso trabaja con algunos

restaurantes. Tiene muchas dietas que recomienda a sus usuarios. Posee una aplicación móvil y posee

integración con monitorización de ejercicios Fitbit.

Por otro lado, ofrece una versión profesional para su uso por parte de profesionales de la nutrición y la

salud. Con ella pueden monitorizar las dietas de sus usuarios.

Para el rápido registro de alimentos permite el uso de la cámara para escanear el código de barras o para

sacar una fotografía directamente a la comida. Las calorías indicadas en reconocimiento por foto no es más

que una estimación que el usuario puede precisar.

● Conclusiones

○ Muy similar a LoseIt.

○ Es una aplicación de éxito: más de 35 millones de descargas.

○ Muy completa.

○ La identificación por fotografía parece extremadamente limitada, da la sensación de ser

una parte olvidada de la aplicación y poco usada por los usuarios.

22

Page 24: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Calorie Counter - MyNetDiary

● Problema concreto abordado por la solución

Centrada en que los personas alcancen su peso objetivo.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Aplicación móvil que actúa como si fuese un entrenador. El usuario introduce sus objetivos y la aplicación

analiza tu diario de comida y te guía con consejos personalizados. El usuario debe realizar un registro

constante de su alimentación y de su ejercicio. Se sincroniza con dispositivos Fitbit, Withings, Jawbone y

Garmin.

Posee una vasta base de datos de alimentos y ofrece la posibilidad de escanear el código de barras de los

alimentos.

Por otro lado, resulta interesante que ofrecen la posibilidad de que los usuarios saquen una foto al

alimento y dicen que “nuestro equipo de FoodTeam introducirá los nutrientes por ti. Nos esforzamos por

hacerlo en 24 horas o más rápido”

● Conclusiones

○ Fue galardonada por la “American Journal of Preventive Medicine” como la mejor app de

dietas. Se destacó lo “rápida, simple y bonita” que es en comparación con las demás.

○ Cuenta con más de 1 millón de descargas.

○ Aunque permite sacar fotos a los alimentos, la identificación que proporcionan sin

inteligencia artificial es muy lenta.

○ Es muy cara.

23

Page 25: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

FOODSCAN (Spectral Engines) [42]

● Problema concreto abordado por la solución

Quieren ofrecer un apoyo a todo tipo de problemas relacionados con la alimentación como obesidad,

diabetes, enfermedades cardiovasculares, alergias alimenticias,etc También se enfocan en probar la

autenticidad de la comida en muchos países en vías de desarrollo y en el mantenimiento de los productos

frescos en las cadenas de suministro.

Con NIRONE, su plataforma de escáner espectral, están focalizados además en muchas otras ramas del

bienestar y de la industria además de la alimentación.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Desarrollo de una plataforma de detección espectral basada en la espectroscopia del infrarrojo cercano

(NIR) [43] que utiliza el módulo de detección espectral NIR más pequeño del mundo. Tiene conexión

BlueTooht con dispositivos móviles y conexión de datos con un servidor en la nube.

Son capaces de revelar la grasa, proteína, azúcar y el contenido energético total de los alimentos con una

buena precisión

La solución es portátil y fácil de acomodar a otras aplicaciones, tanto industriales como de consumo.

● Conclusiones

○ Fue galardonado con el primer premio de 800.000 euros en el “Food Scanner Horizon

Prize”. Según el jurado, proporciona un importante paso adelante y puede jugar un papel

significativo en el campo emergente del "Internet de la Alimentación" y la nutrición

personal inteligente. Dicen que ofrecen un precio comparativamente bajo.

○ El escáner ofrece resultados con precisión en tiempo real.

○ Conectado con dispositivos móviles.

24

Page 26: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

SCIO

● Problema concreto abordado por la solución

Apoyo total a la alimentación diaria de las personas y al seguimiento de su estado físico.

Además más aplicaciones en otros ámbitos aprovechando su tecnología de escáner de objetos y materiales.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Es una solución muy similar a la presentada por Spectral Engines. Han desarrollado un micro-espectrómetro

que absorbe la luz reflejada de un objeto, lo divide en un espectro y lo analiza para determinar la

composición química del objeto.

Se proporcionan valores nutricionales de todo tipo de alimentos, tanto sólidos como líquidos. Además,

permite realizar una análisis sobre los analgésicos de venta libre. Por otro lado, ofrece también la

posibilidad de rastrear tu porcentaje de grasa corporal.

● Conclusiones

○ Fue galardonado con el primer premio de 100.000 euros en el “Food Scanner Horizon Prize”

○ Ha sido utilizado durante años en laboratorios científicos.

○ La versión para el consumidor cuesta 299$.

TellSpec

● Problema concreto abordado por la solución

Construir confianza en la alimentación ofreciendo un análisis no destructivo y preciso de alimentos en

tiempo real.

Realización de pruebas de calidad de los alimentos durante toda la cadena de suministro.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Han desarrollado un sensor espectroscópico portátil que proporciona análisis de alimentos en tiempo real.

Su solución combina sensore espectrales, técnicas de bio-informática y machine learning.

Además, han elaborado una extensa base de datos de alimentos.

● Conclusiones

○ Similar a FOODSCAN y SCIO.

○ Fue galardonado con el primer premio de 100.000 euros en el “Food Scanner Horizon

Prize”.

25

Page 27: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

4. Soluciones en condiciones de salud concretas

Diabetes mellitus (DM)

Según la definición extraída directamente de la OMS, “la diabetes es una enfermedad crónica que aparece

cuando el páncreas no produce insulina suficiente o cuando el organismo no es capaz de utilizar

eficazmente la que produce. La insulina es una hormona que regula el azúcar en la sangre. El efecto de la

diabetes no controlada es la hiperglucemia (aumento del azúcar en la sangre), que con el tiempo daña

gravemente muchos órganos y sistemas, especialmente los nervios y los vasos sanguíneos” [44].

Hay 2 tipos de diabetes [45]. En la diabetes tipo 1 el páncreas no puede producir insulina o lo hace en muy

poca cantidad. Ésta generalmente se desarrolla en la infancia o en una edad temprana. Por el contrario, en

la diabetes tipo 2 el problema subyace en que se hace cada vez más difícil para las células del cuerpo

absorber y utilizar la insulina. Es mucho más común y suele aparecer en edades más avanzadas que la de

tipo 1, aunque por desgracia cada vez se está observando más en niños y adolescentes.

Además, también existe la diabetes gestacional [46], que consiste en la aparición de hiperglucemia durante

el embarazo. Los valores de azúcar son más elevados de lo normal aunque inferiores a los establecidos para

diagnosticar una diabetes. De todos modos, es una condición a tener en cuenta, ya que las mujeres en esta

situación presentan un mayor riesgo de sufrir complicaciones durante el embarazo y el parto, así como de

padecer (tanto ellas como sus hijos) diabetes de tipo 2 en el futuro. La diabetes gestacional constituye la

complicación más común durante el embarazo. En el Informe Mundial sobre la Diabetes de la OMS [47], se

dice que es probable que entre el 10% y el 25% de los embarazos se vean afectados por diabetes

gestacional o diabetes en el embarazo.

Algunos datos destacables y a la vez alarmantes proporcionados por la OMS acerca de la diabetes son:

● El número de personas con diabetes ha aumentado de 108 millones en 1980 a 422 millones en

2014.

● Se estima que en 2015 la diabetes fue la causa directa de 1,6 millones de muertes. Otros 2,2

millones de muertes fueron atribuibles a la hiperglucemia en 2012.

Centrándonos en la alimentación durante la diabetes, que al final es el tema que suscita interés para el

estudio, se ha investigado que ésta resulta ser un factor clave para prevenir o retrasar la aparición de la

diabetes de tipo 2. Simplemente con una dieta adecuada y ejercicio físico y consiguiendo alcanzar y

mantener un peso corporal saludable se puede evitar sufrir esta enfermedad. También es especialmente

importante suprimir el consumo de tabaco.

Es ineludible que hay factores de riesgo de este tipo de diabetes que no se pueden sortear, como la

genética, el origen étnico o la edad. Sin embargo, está demostrado que, sea cual sea el riesgo de una

persona de sufrir diabetes, una alimentación y una actividad física adecuadas son más eficaces que el uso

de fármacos. La propia ADA (American Diabetes Asociation) centra gran parte de su web en proporcionar

muchos planes alimenticios.

En contraste, todavía no se ha conseguido probar que regímenes alimenticios específicos en bebés ayuden

a prevenir la diabetes de tipo 1.

26

Page 28: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Por otro lado, en el tratamiento de la diabetes la dieta y la actividad física siguen siendo claves, junto con el

control y reducción de la glucemia y el control de la presión arterial. Los pacientes con diabetes de tipo 1

requieren de insulina y los pacientes que padecen de tipo 2 pueden tratarse con medicamentos orales,

aunque a veces pueden necesitar también insulina. Otras intervenciones son las pruebas de detección de

retinopatía y el control de los lípidos en sangre.

En el Informe Mundial sobre la Diabetes, la OMS establece una serie de recomendaciones sobre la buena

alimentación que pueden reducir las probabilidades de que una persona llegue a sufrir diabetes de tipo 2 u

otras ENT (enfermedades no transmisibles). Se resume a continuación:

● Consumo de suficiente fibra alimenticia vegetal (20 gramos al día como mínimo) mediante la

ingesta habitual de cereales integrales, legumbres, frutas y verduras.

● Sustitución de los ácidos grasos saturados por ácidos grasos poliinsaturados. Restringir el consumo

de los saturados a menos del 10% de la ingesta calórica total (7% para las personas en riesgo).

● Reducir el consumo de azúcares libres a ,como máximo, el 10% de la ingesta calórica total (un 5%

sería incluso más beneficioso para la salud).

Asimismo, resulta de interés para la investigación que en los últimos tiempos se han volcado muchos

esfuerzos en intervenciones destinadas a mejorar la nutrición en la primera parte de la infancia, con el

objetivo de reducir el riesgo de diabetes de tipo 2. El objetivo es mejorar la salud y el estado nutricional de

la madre y las prácticas de alimentación de los niños pequeños. Se focaliza la atención a los primeros 1000

días tras el comienzo del embarazo.

De igual manera, también es resaltable que últimamente se han llevado a cabo estudios clínicos [48] [49]

[50] que indican que el apoyo a pacientes diabéticos a partir de telefonía móvil provoca una mejora

significativa en el control de la enfermedad y al cumplimiento terapéutico a corto y largo plazo.

En conclusión, la dieta no sólo resulta crucial en el tratamiento de cualquier tipo de diabetes, sino que es

especialmente importante también para la prevención de la diabetes de tipo 2 y gestacional.

Son muchos los esfuerzos que se están poniendo para combatir la diabetes. De hecho, en el informe

“Technologies for Diabetes Management 2017-2027: Forecasts, Players, Opportunities” [51] del doctor

David Pugh, se cubren todos los campos tecnológicos emergentes que aportan soluciones a la diabetes y se

habla de las muchas nuevas oportunidades de financiación. A continuación nos vamos a centrar

especialmente en analizar aquellas aplicaciones y desarrollos tecnológicos que realizan seguimiento y

apoyo de la dieta.

27

Page 29: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

DialBetics [52]

● Problema concreto abordado por la solución

Escasa educación en la autogestión de la diabetes y pocas herramientas existentes que ayuden a los

pacientes a hacer frente a la enfermedad.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

DialBetics es un sistema de autogestión de la diabetes basado en smartphone. Se compone de 4 módulos:

1. Transmisión de datos: dos veces al día son transmitidos al servidor la glucosa en sangre del

paciente, su presión arterial, su peso corporal, etc.

2. Evaluación: siguiendo la JDS (Japan Diabete Society) Se mandan los resultados al teléfono móvil.

3. Ejercicio: el paciente puede enviar al servidor por mensajes de texto o de voz el ejercicio que ha

realizado.

4. Registro de alimentos y evaluación de dieta: los pacientes pueden introducir los alimentos que

comen o usar el sistema FoodLog, disponible en Japón, con el que el usuario puede describir la

comida con texto o incluso simplemente registrarla tomando una fotografía. El usuario toma una

foto de la comida, luego extrae cada alimento presionando en la pantalla del teléfono móvile indica

manualmente el tamaño de cada porción. El sistema busca dentro de la base de datos del usuario

para proporcionar un conjunto de 20 resultados que se presentan ordenados por probabilidad. El

usuario elige el mejor resultado y se le proporciona el valor nutricional.

● Conclusiones

○ Es un sistema muy completo de apoyo a la enfermedad en tiempo real.

○ Ciertas funcionalidad sólo están disponibles en Japón.

○ En Europa y EEUU parece no gozar de mucho reconocimiento.

○ Las funciones del reconocimiento por fotografía no son, en principio, muy

○ precisas.

28

Page 30: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Diabetes:M

● Problema concreto abordado por la solución

Seguimiento y control de la diabetes, ya sea de tipo 1, de tipo 2 o gestacional.

Incorporar a profesionales médicos.

Ofrecer la posibilidad a familiares a ayudar y monitorizar la enfermedad.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Aplicación que da la posibilidad de realizar un seguimiento completo de la enfermedad con múltiples

herramientas de control de los niveles de glucosa y con informes y estadísticas que pueden ser compartidos

con el doctor.

Dispone de una enorme base de datos de comidas para poder registrar tu alimentación y además para

ofrecer información nutricional. Es posible también el registro de ejercicio.

Ofrece la posibilidad de analizar los datos reportados desde varios glucómetros y bombas de insulina del

sistema software de manejo de la diabetes del paciente.

● Conclusiones

○ No dispone de reconocimiento de imagen.

○ Es una aplicación de considerable éxito con más de 100.000 descargas.

○ Hay muchas otras Apps que ofrecen funcionalidades similares de seguimiento de la

diabetes. Por ejemplo: “MySugr Diabetes Logbook”, “Glooko”, “Health2Sync” y “Glucose

Buddy : Diabetes Log”.

29

Page 31: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

GlucOracle

● Problema concreto abordado por la solución

Proporcionar una herramienta para la autogestión en el tratamiento de la diabetes.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Aplicación que permite sacar fotografías de la comida y enviarlas a Amazon Mechanical Turkers (AMT) para

obtener la estimación nutricional. Esto funciona usando inteligencia humana colectiva. Consideran que en

la actualidad en muchos ámbitos de la identificación de imagen nada puede competir con la inteligencia

humana.

A esta aplicación se le ha integrado un algoritmo que predice el impacto de algunos alimentos en los niveles

de azúcar en sangre.

● Conclusiones

○ Poco éxito de momento.

○ Parece poco preciso y con poco futuro al no usar inteligencia artificial.

Dexcom G5 Mobile System [53]

● Problema concreto abordado por la solución

Monitorización continua de los niveles de glucosa.

Ofrecer la posibilidad a familiares de controlar también la situación.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Se ofrece un seguimiento continuo de los niveles de glucosa y se envían alertas automáticamente cuando

estos están muy altos o muy bajos. Se ofrece un rastreo exhaustivo del historial y tendencia del nivel de

glucosa en sangre.

La solución está constituida por un sensor pequeño situado debajo de la piel y un transmisor que envía los

datos de forma inalámbrica a un smartphone, en el que se pueden consultar todos los datos

● Conclusiones

○ Parece un sistema que podría complementarse perfectamente con una solución de

reconocimiento de imagen.

30

Page 32: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Pregnant with diabetes

● Problema concreto abordado por la solución

Ofrecer una herramienta de apoyo a la diabetes, especialmente a aquella ocasionada durante el embarazo.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Una aplicación móvil que ofrece información y recomendaciones sobre la enfermedad, realizadas por

doctores especializados en el tema del Centro de Mujeres Embarazadas de Copenhague.

● Conclusiones

○ Se limita únicamente a ofrecer información y no ofrece seguimiento de la enfermedad o de

dietas de ningún tipo.

31

Page 33: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Embarazo

Durante el embarazo la dieta adquiere incluso una mayor trascendencia y es importante ajustar los hábitos

alimenticios para asegurarse de que tanto la madre como el feto están recibiendo la nutrición adecuada. Es

preocupante saber que estudios recientes [54] indican que la mayoría de mujeres embarazadas tienen un

conocimiento muy pobre acerca de los alimentos que deben evitar.

La “American Pregnancy Asociation” [55] ha realizado un análisis muy exhaustivo acerca de la alimentación

en el embarazo en el que insiste constantemente en la idea de que el objetivo en el embarazo nunca debe

ser restringir calorías o bajar peso. Además, recomiendan evitar dietas populares como “Atkins”, “South

Beach”, “The Zone”, “Raw Food Diet”, etc. Sus pautas en la nutrición, a modo de resumen, son:

1. Seguir un plan de alimentación que se base en una amplia variedad de grupos de alimentos,

incluyendo frutas y verduras, panes y cereales, fuentes de proteínas y productos lácteos.

2. Es necesario consumir, aproximadamente un extra de 300 calorías por día.

3. Se necesitan diariamente por lo menos 70 mg de vitamina C, que está contenido en frutas como

naranjas, pomelos y melón; y verduras como brócoli, tomates y coles de Bruselas.

4. De 2 a 4 porciones de fruta al día y 4 o más porciones de vegetales, con el objetivo principal de

prevenir los defectos del tubo neural.

5. Consumir suficientes carbohidratos de panes y cereales, que son las fuente principal de energía del

cuerpo durante el embarazo. Estos proporcionan importantes nutrientes como hierro, vitamina B,

fibra e incluso algunas proteínas.

6. El feto en desarrollo necesita muchas proteínas, especialmente en el segundo y en el tercer

trimestre. Además también se necesita hierro, para transportar oxígeno al feto, y vitamina B.

Ambos se consiguen comiendo carne, aves de corral, pescado, huevos y legumbres. Se recomienda

más o menos 27 mg por día.

7. Es necesario al menos 1000 mg de calcio al día. Este se puede encontrar en leche, queso, yogur...

8. Existe la posibilidad de complementar la nutrición con vitaminas prenatales.

La mayoría de las soluciones en el mercado son educativas o centradas fuertemente en el componente

social. En este estudio nos interesan aquellas que de una forma u otra incluyen seguimiento de dieta o

análisis de imagen durante el embarazo.

32

Page 34: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Pregnancy Food Scanner

● Problema concreto abordado por la solución

Control de las elecciones alimenticias durante el embarazo.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Ofrece la capacidad de escanear el código de barras de los productos e inmediatamente después indica si

contiene ingredientes que no es recomendable ingerir durante el embarazo.

● Conclusiones

○ Tiene la capacidad de escanear códigos de barras pero carece de la identificación por

imagen directa al alimento.

○ No ha conseguido alcanzar notoriedad en el mercado.

Mi embarazo al día: Seguimiento y control

● Problema concreto abordado por la solución

Ofrecer información a las muchas madres que se sienten abrumadas al quedar embarazadas y

proporcionarles las herramientas que necesitan.

● Marco metodológico y conceptual de la solución, ¿qué enfoque se ha tomado?

Aplicación móvil que permite realizar un seguimiento exhaustivo del embarazo (diario personal, peso,

control de hospitales cercanos...) teniendo un control incluso de las citas médicas.

Además, proporciona consejos sobre alimentación y ejercicio.

● Conclusiones

○ Más de 1 millón de descargas.

○ Es quizás la aplicación más exitosa centrada específicamente en el embarazo pero su fuerza

está centrada en la información y seguimiento del embarazo y no en ofrecer herramientas

en la vanguardia tecnológica.

33

Page 35: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

ERGE (enfermedad del reflujo gastroesofágico)

El NCBI (National Center for Biotechnology Information) [56] proporciona la siguiente definición para la

ERGE (o GERD en inglés): “es una condición persistente en la cual el contenido del estómago regresa al

esófago”. Esto es conocido como “reflujo ácido” o “reflujo gastroesofágico”. Se trata de uno de los

problemas de salud más comunes en los adultos. Una probable razón de padecer ERGE se debe a un mal

funcionamiento del esfínter esofágico interior (EEI). Se trata de un anillo de fibras musculares situado en la

parte inferior del esófago que impide que el alimento deglutido retorne al esófago. De regresar, el reflujo

puede dañar el revestimiento del esófago.

El tratamiento del ERGE consiste principalmente en cambiar el estilo de vida y evitar los alimentos que

favorecen a la enfermedad. Así, el Instituto de Salud Digestiva y Hepática de Guadalajara [57] ha fijado los

siguientes alimentos a evitar: patatas fritas, pimienta, leche entera, aceites, chocolate, alimentos con nata,

comida rápida. De este modo, ha establecido las siguientes pautas por grupos alimenticios:

● Lácteos y derivados:

○ Recomendados: leche deslactosada, leche light, yogurt light.

○ Evitar: leche entera, leche de chocolate.

● Vegetales:

○ Recomendados: todos excepto el tomate. No freírlos.

○ Evitar: tomate.

● Frutas:

○ Recomendadas: manzanas, melones, fresas, plátanos, duraznos y peras.

○ Evitar: cítricos (naranjas, uvas y piña).

● Panes y cereales:

○ Recomendados: todos hechos con leche baja en grasas.

○ Evitar: todos hechos con leche entera.

● Carnes:

○ Recomendados: carne baja en grasas, pollo, pescado, pavo.

○ Evitar: carnes frías, tocino, carne grasosa, piel del pollo.

● Grasas y Aceites:

○ Recomendados: ninguno y si se ingieren en poca cantidad.

○ Evitar: aceites animales y vegetales.

● Postres y Dulces:

○ Recomendados: todos hechos con menos de 3 g de grasa.

○ Evitar: chocolate, postres hechos con aceites y grasas.

● Bebidas:

○ Recomendadas: descafeinadas, te (no de menta), jugos (excepto cítricos), agua.

○ Evitar: acohol, café, bebidas minerales, té de menta.

● Sopas:

○ Recomendadas: sopa baja en grasa.

○ Evitar: sopa de pollo o res, leche o con crema.

34

Page 36: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Existen, también, multitud de medicamentos para aliviar los síntomas del ERGE e incluso reparar el daño

del recubrimiento del esófago. Las 2 principales opciones médicas de tratamiento para pacientes crónicos

son la terapia de supresión de ácido o un procedimiento quirúrgico antirreflujo conocido como

funduplicatura.

Por otro lado, resulta muy interesante para nuestro estudio [58] que la acidez gástrica y el reflujo

gastroesofágico pueden aparecer o empeorar durante el embarazo. Además, estos síntomas también

pueden estar causados por ciertos medicamentos.

No hay muchas soluciones tecnológicas para esta enfermedad y la mayoría de ellas se limita a ser apps de

poco éxito como “GERD Tools” [59] y “Acid Reflux Diet Helper” que simplemente informan sobre síntomas

de la enfermedad y alimentos prohibidos.

35

Page 37: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Conclusiones

El estudio realizado revela muchas claves acerca del potencial de un sistema basado en CNN y de los

ámbitos de salud en los cuáles tiene mayor interés.

En primer lugar, el repaso de las principales soluciones en seguimiento de dietas demuestra que es un

campo de muchísimo interés en el que ha habido muchos desarrollos y en el que por lo tanto la

competencia es máxima. Ya existen soluciones de éxito que integran reconocimiento de imagen por

fotografía. A la vez, los avances en espectrografía demuestran un potencial mayor en la identificación

nutricional de la comida. De todos modos, es también claro que todavía hay mucho que mejorar en visión

artificial porque en muchos casos la solución aportada no está al nivel de los últimos avances en CNN.

Asimismo, los espectrómetros son todavía caros para el usuario medio e implican un dispositivo adicional al

teléfono móvil.

Por otro lado, he observado que también hay muchos esfuerzos volcados en la diabetes y en el seguimiento

de una dieta durante la enfermedad, aunque ya sólo unos pocos buscan ofrecer reconocimiento de imagen.

Además, algunos productos se concentran en monitorizar los niveles de glucosa en tiempo real y mandar

datos y estadísticas al móvil, lo que es fácilmente integrable con mi idea.

Por el contrario, en el embarazo y en la ERGE no existen muchas soluciones y las que hay se limitan

mayormente a proporcionar información sobre la condición.

Finalmente, observo como un dato clave el hecho de que tanto la diabetes como la ERGE son

enfermedades que se producen con mucha frecuencia en el embarazo. Además, en la actualidad ya no solo

se concede importancia a la dieta durante la gestación, sino también a los dos años posteriores, puesto que

estos también repercuten enormemente en el estado de salud de la madre y del niño pequeño.

Por todo esto, se constituye que la tecnología que pretendo desarrollar de segmentación de imagen en

fotografías de alimentos puede ser una pieza clave en muchos productos de seguimiento de dietas.

Especialmente en aquellos que se centren en condiciones más específicas, como puede ser el embarazo, el

posparto, la diabetes gestacional o la ERGE durante el embarazo. Esta última es especialmente interesante

ya que el objetivo principal es diferenciar entre alimentos permitidos y alimentos prohibidos, lo que evita

tener que asumir el problema de estimar el tamaño de la comida sólo con una foto, que no se ha resuelto

satisfactoriamente hasta el momento.

La solución como finalmente se ha concebido parece factible ya que se va a utilizar la última tecnología

disponible en clasificación de imagen, con la posibilidad además de emplear novedosas herramientas como

son Tensorflow, TransferLearning y la Tensorflow Object Detection API, que han salido recientemente. Con

esto es posible, como mínimo, competir con las soluciones implementadas específicamente para alimentos.

Además, en el caso de condiciones de salud específicas, en las que no existen muchos desarrollos, el

sistema creado puede realmente aportar una diferencia.

36

Page 38: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Anexo2: Diseño de una base de datos para Deep Learning

Con el objeto de comprender la necesidad de cumplir la regla número 6 “tener fondos variados”, se escribió

una historia titulada “Detecting Tanks” [60] , con la que se pretende ilustrar el motivo de tal necesidad.

En versión resumida, la historia narra lo siguiente:

El ejército estadounidense quería utilizar redes neuronales para detectar automáticamente a los tanques

enemigos camuflados. Los investigadores entrenaron una red neuronal con 50 fotografías de tanques

camuflados en árboles y 50 fotografías de árboles sin tanques. Además, sabiamente, los investigadores

habían tomado otras 100 fotografías que constituían el set de test. De este modo, ejecutaron la red

entrenada en estas 100 nuevas fotografías y… ¡éxito absoluto! La red clasificó correctamente todas las

fotos. Inmediatamente, los investigadores enviaron el trabajo al Pentágono, el cual lo devolvió de

inmediato, quejándose de que la red fallaba muchísimo. Resultó que en el conjunto de datos tomados por

los investigadores, las fotos de tanques camuflados habían sido tomadas en días nublados, mientras que las

fotos del bosque sin tanques habían sido tomadas en días soleados. ¡La red habría aprendido a distinguir

entre día nublado y día soleado, en lugar de discernir entre si la foto tenía un tanque camuflado o no!

37

Page 39: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Anexo3: Resultados

En este anexo se exponen los principales resultados obtenidos. En el primer apartado, se pueden consultar

los resultados del reentrenamiento de la última capa de Inception para las categorías de la base de datos de

clasificación (la diseñada en LPRO y Gradiant). En la segunda sección se muestran los resultados más

importantes, obtenidos tras la implementación de los modelo de segmentación haciendo uso de la

“Tensorflow Object Detection API”.

1.Reentrenamiento de la última capa de Inception para nuevas categorías

Tabla 1: Entrenamientos para la clasificación

Base de datos BDN

(N-categorías)

Precisión Training_steps (default: 4000)

Learning_rate ( default: 0.01)

Batch_size default (100)

Distorsión Tiempo (sin bottleneck)

BD5 100% default default default No Despreciable

BD9 96.4% default default default No Despreciable

BD25 87.8% default default default No Despreciable

BD26. Limpieza exhaustiva

91.7% default default default No Despreciable

BD26 92.0% default default default No Despreciable

BD26 91.7% default default default No Despreciable

BD26 82.3% 100 default default No Despreciable

BD26 89.2% 500 default default No Despreciable

BD26 90.0% 1000 default default No Despreciable

BD26 91.3% 2000 default default No Despreciable

BD26 93.1% 8000 default default No Despreciable

BD26 94.0% 20000 default default No Despreciable

BD26 93.8% 40000 default default No Despreciable

BD26 93.5% 12000 default default No Despreciable

BD26 93.9% 16000 default default No Despreciable

BD26 93.0% default 0.02 20 No Despreciable

BD26 91.9% default default 10 No Despreciable

BD26 92.6% default default default No Despreciable

BD26 92.5% default default default No Despreciable

BD26 92.3% default default default No Despreciable

38

Page 40: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

BD26 92.6% default default 50 No Despreciable

BD26 92.3% default default 20 No Despreciable

BD26 91.4% default 0.005 200 No Despreciable

BD26 92.8% default 0.02 50 No Despreciable

BD26 No realizado default default default 5 Interminable

BD26 85.4% 100 default default 5 27 min

BD26 83.4% 100 default default 5 27 min

BD26 88.9% 500 default default 5 2 h 14 min

BD25 (eliminando pistachos)

93.7% default default default No Despreciable

BD24(sin uva) 93.8% default default default No Despreciable

BD23 (sin croissant)

94.9% default default default No Despreciable

BD25 (Gradiant) Limpieza

97.3% default default default No Despreciable

BD25 (TFG) Limpieza

98.2% 15000 default default No Despreciable

● Training steps: número de iteraciones de entrenamiento.

● Batch size: regula el número de imágenes utilizadas en cada iteración de entrenamiento.

● Learning rate: velocidad a la que se minimiza la función de coste. Desde un punto de vista más

intuitivo, cuanto más pequeño sea este valor, más lento será el aprendizaje pero mayor puede ser

la precisión final obtenida (no siempre es el caso).

● Distorsión: consiste en aplicar tres tipos de distorsiones aleatorias a las imágenes de entrada:

deformación, recorte e iluminación. De esta forma se aumenta el tamaño efectivo de la base de

datos añadiendo variaciones de las imágenes de entrada que pueden ser posibles en la realidad. El

valor numérico aplicado indica la magnitud del efecto de la distorsión.

● Tiempo: duración del entrenamiento. Solo se ha indicado en los entrenamientos en los que se

aplicó la distorsión, ya que en el resto de casos el proceso fue muy rápido (sólo se ha reentrenado

la última capa del modelo).

39

Page 41: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

2.Tensorflow Object Detection API

SSD_mobilenet_v1_coco

Figura 5: plátanos, manzana y vaso

Figura 6: manzana y plátano

40

Page 42: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Figura 7: zanahoria y manzana

Figura 8: manzanas

41

Page 43: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Faster_rcnn_inception_v2_coco

Figura 9: detección de manzanas, plátanos y naranjas

42

Page 44: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Figura 10: manzana, naranja y plátano

Figura 11: manzana y plátano

43

Page 45: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Faster_rcnn_nas

Figura 12: zanahorias

Figura 13: pizza

44

Page 46: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Faster_rcnn_inception_resnet_v2_atrous_oid

Figura 14: tazá de café

Figura 15: sushi

45

Page 47: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Etiquetado con labelImg

Figura 16: etiquetado de pimientos de padrón

46

Page 48: DEEP LEARNING PARA LA CLASIFICACIÓN Y SEGMENTACIÓN DE

Entrenamiento con SSD

Figura 17: detección de pimiento

Figura 18: detección de pimientos

47