Automatic Nutritional Information Extraction from Photographic Images of Labels

Abstract

Nos últimos anos o interesse das pessoas em melhorar a sua dieta tem crescido. Muitos fatores podem ser apontados para este crescimento, sendo um destes o aumento alarmante das doenças relacionados com a alimentação. Este conjunto de doenças tornou-se progressivamente as causas mais comuns de morte e incluem doenças cardiovasculares, obesidade, diabetes e cancro. Atualmente quase todos os produtos alimentares presentes no mercado incluem rótulos nutricionais, estes rótulos constituem qualquer informação presente no pacote de um produto que se refira aos valores dos seguintes nutrientes: energia, proteínas, hidratos de carbono, gorduras, fibra, sódio, vitaminas e minerais. Esta informação fornece uma visão mais detalhada da composição de um produto e ajuda os consumidores a fazer escolhas mais saudáveis. Enquanto os rótulos não tiverem um formato regulamentado, cada produto pode apresentar a informação nutricional de maneira diferente, levando a uma enorme variedade de rótulos nutricionais presentes no mercado. Isto combinado com a grande quantidade de informação apresentada e a dificuldade em interpretar os dados nutricionais sem o conhecimento necessário, faz com que a análise dos rótulos nutricionais não seja uma tarefa fácil para os consumidores. Uma das soluções para simplificar esta tarefa, apontada em grande parte dos estudos realizados sobre este tópico, é a apresentação de um sumário da informação nutricional como complemento à apresentação exclusiva dos nutrientes e respetivos valores.O principal objetivo deste projeto foi ir ao encontro desta necessidade e oferecer uma ferramenta que ajude na extração e interpretação destes valores, usando uma aplicação Android. Esta aplicação tenta extrair automaticamente a informação nutricional e apresenta-a de uma forma transversal, seguindo as novas regulamentações e com algumas ajudas de interpretação como valores relativos às doses diárias recomendados e esquemas simplificados. Há também a possibilidade de comparar dois produtos da mesma categoria, ajudando o utilizador a avaliar qual dos produtos é a opção mais saudável. Para atingir estes objetivos, é necessário realizar a conversão da imagem em texto para mais tarde ser processado. Para isso foi usado o motor de OCR desenvolvido pela Google, Tesseract.Muitos problemas foram encontrados ao longo do desenvolvimento do projeto, tais como a baixa precisão do OCR usado ou os problemas derivados da aquisição das imagens usando um dispositivo móvel. No entanto, depois de alguns algoritmos de pré e pós processamento, a precisão aumentou para 55%, 83% a mais do que sem qualquer pré-processamento. Além disso, a percentagem de imagens que retorna 0 correspondências diminuiu de 30% para 8%.In the past years people showed an increasing interest in improving their diet. Many factors can be pointed to this growth, being one of them the alarming explosion of diet related diseases. This group of diseases is progressively becoming the most common causes of death, including cardiovascular diseases, obesity, diabetes and cancer.Currently, almost all food products on the market contain nutrition labels, which is any information that appears on the product package referring to the values of the following nutrients: energy, proteins, carbohydrates, fats, dietary fiber, sodium, vitamins and minerals. This information provides a great insight of a product composition and helps the consumers to make healthier food choices.While the labels do not have a regulated or standard format, each product often presents the nutrition information differently, leading to a wide variety of nutrition labels present in the market.This, combined with the high amount of information displayed and the difficulty of interpreting the data without the necessary knowledge, makes the extraction of relevant data and analysis a hard task for consumers. One of the solutions to simplify this task suggested in many of the studies on this subject, is to present a summary of nutrition information as a complement to the nutrient-specific information.The main outcome of this project is to overcome this problem and offer the consumer a tool to help in the extraction and interpretation of these values, by offering to the consumer an Android application. This application tries to extract automatically the nutritional information of an image of a nutrition declaration and presents it in a single, cross-sectional shape, following the new regulations and with some additional aids, including relative values to the recommended daily doses and simplified schemes. In addition to this feature, it is also possible to compare between two products of the same category.In order to achieve these goals, it is necessary to convert the image into digital text to be processed later. To perform this conversion the application uses the OCR engine developed by Google, Tesseract.Many problems were found throughout the development of this project, such as the low accuracy of the OCR engine or the problems of acquiring the images using a mobile device. However, after some pre and post processing algorithms, the accuracy increased to 55%, 83% more than without any preprocessing. In addition, the percentage of images that returns 0 matches decreased from 30% to 8%

    Similar works