Please use this identifier to cite or link to this item:
https://hdl.handle.net/10316/98124
Title: | Intelligent System for automatic validation of images | Other Titles: | Sistema Inteligente para Validação Automática de Imagens | Authors: | Ferreira, Fábio André Constante | Orientador: | Correia, João Nuno Gonçalves Costa Cavaleiro | Keywords: | Computer vision; Object Detection; Deep Learning; Automatic Validation; Visão computacional; Deteção de objectos; Aprendizagem profunda; Validação automática | Issue Date: | 22-Sep-2021 | metadata.degois.publication.title: | Intelligent System for automatic validation of images | metadata.degois.publication.location: | RedLight Software | Abstract: | A Brands&Ninjas é uma plataforma baseada em Crowdsourcing que permite às marcas monitorizar campanhas, avaliar stocks, vigiar e controlar preços e ainda analisar o espaço nas prateleiras dos seus produtos em múltiplos pontos de venda. Para obter estas informações, a plataforma recorre a utilizadores, que são pagos para realizar missões, sendo estes utilizadores denominados por ninjas. Nas missões, é pedido aos ninjas que verifiquem a localização de alguns produtos, respondam a perguntas sobre esses produtos e tirem fotos que comprovem a localização dos produtos considerados e as respostas às perguntas feitas. Os dados obtidos nestas missões são então validados. Atualmente esta validação é feita manualmente, onde apenas uma porção de 10 a 20%, selecionada aleatoriamente, é analisada para verificar se ocorreu um erro. Das imagens validadas, 15 a 20% correspondem a erros que foram identificados. Os erros cometidos pelos ninjas, se não forem encontrados, resultam na criação de relatórios errados a serem entregues às marcas que solicitaram as missões, o que indica o quão crítico é o processo de validação para a plataforma Brands&Ninjas. Considerando o elevado número de missões executadas, a validação manual das imagens recebidas tornou-se inviável neste momento, o que resultou na necessidade de criação de um sistema capaz de validar automaticamente as imagens recebidas.Os ninjas que usam a plataforma Brands&Ninjas podem realizar várias tarefas diferentes, sendo que muitas dessas tarefas podem ser resolvidas usando visão computacional. Considerando estas múltiplas tarefas possíveis, uma única tarefa foi selecionada para servir de ponto de partida para mostrar que é possível usar visão computacional para validar muitas das tarefas realizadas pelos ninjas a partir das imagens recebidas. Em particular, foi desenvolvido sistema para validar uma das tarefas mais comuns realizadas pelos ninjas, a verificação da presença de um produto específico numa prateleira. Sendo neste caso usada a embalagem Delta Q Qalidus de 10 cápsulas para validar esta mesma tarefa escolhida, tendo sido esta embalagem associada à classe Qalidus.A primeira etapa correspondeu à realização de uma pesquisa de soluções existentes aplicadas por concorrentes da Brands&Ninjas e a uma análise do estado da arte das tarefas de visão computacional relacionadas com a tarefa em questão. Esta pesquisa resultou na seleção de quatro modelos diferentes de deteção de objetos. Dois modelos mais simples e antigos que usam Haar e HOG como features, respetivamente. Os outros dois modelos selecionados foram: o modelo YOLOv4 e um detetor de objetos denominado EfficientDet, correspondendo estes modelos ao atual estado da arte em detetores de objetos de one-stage e two-stages, respetivamente. Portanto, foi realizada uma experimentação com estes mesmos modelos, com o objetivo de selecionar o melhor modelo de deteção de objetos. O dataset de treino usado foi composto por três missões distintas e o dataset de teste por uma missão completa. No dataset de treino, foram aplicadas algumas técnicas de data augmentation com o objetivo de melhorar este mesmo dataset, considerando as condições de iluminação dos supermercados e a forma como uma foto pode ser tirada. Foram treinados dois modelos YOLOv4 diferentes, um com o dataset de treino inicial e usando a online data augmentation implementada pelo modelo YOLOv4 e outro com esta data augmentation desligada, usando o dataset de treino com a offline data augmentation implementada, tendo sido ambos treinados 6000 iterações. Como esperado, o melhor detetor de objetos dos dois modelos YOLOv4 treinados foi o modelo YOLOv4 treinado com offline data augmentation. Tendo este modelo alcançado uma Average Precision(AP) de 75,19%, quase cinco por cento a mais que a alcançada pelo modelo YOLOv4 que usa online data augmentation que atingiu apenas 70,31% AP. De todos os modelos treinados, o melhor modelo selecionado para a implementação do sistema foi o modelo YOLOv4 treinado durante 8.000 iterações usando offline data augmentation, tendo alcançado um AP de 92,60%.Com o melhor modelo selecionado, foi criado um sistema que usa um endpoint de uma API para ser acedido. Tendo sido usadas três missões completas para validar o funcionamento do sistema. O sistema foi capaz de encontrar corretamente 95,06% de todos os objetos da classe Qalidus presentes nas imagens fornecidas. Para além disso, das imagens validadas,99,35% foram validadas corretamente. Com estes resultados, foi possível concluir que a construção do sistema foi bem-sucedida e que o sistema criado pode, com 95% de certeza, identificar corretamente a presença de objetos da classe Qalidus. Embora a construção do sistema tenha sido considerada um sucesso, ainda existem etapas que necessitam de ser realizadas no futuro para que ele possa ser considerado uma parte essencial da plataforma Brands&Ninjas. Sendo uma dessas etapas, a capacidade do sistema para identificar mais do que um objeto. Brands&Ninjas is a platform based on Crowdsourcing that allows brands to monitor campaigns, evaluate the stock, monitor prices, and analyse the space on the shelves of each of its products at multiple points of sale. To obtain this information, the platform resorts to users that use the application and are paid to do missions, referred to as ninjas. In these missions, they are requested to verify some products’ location, answer questions consider ing these products, take pictures that verify the considered products’ locations and their answers to the asked questions. The data obtained from these missions is then validated. At the moment, this is done manually, where only a portion of 10 to 20%, randomly selected, is analysed to verify if a mistake occurred. From the validated images, 15 to 20% corresponded to errors indicating that the answers provided were wrong. The errors made by the ninjas, if not found, result in the creation of erroneous reports to be given to the brands who requested the missions, which indicates how critical it is the validation process for the Brands&Ninjas platform. Considering the high number of missions that are executed, the manual validation of the received images has become impracticable at this point, which resulted in a necessity to create a system capable of automatically validating the received images.The ninjas who use the Brands&Ninjas platform can perform several different tasks, from which many of these tasks can be solved using Computer Vision (CV). So, a specific task was selected to serve as a starting point to show that it is possible to use CV to validate many of the tasks performed by the ninjas using the received images. In particular, a system was developed to validate one of the ninjas’ most common and performed tasks, detecting a specific product on a shelf. Moreover, the object selected to validate the considered task was the Delta Q Qalidus package of 10 capsules, Qalidus class.The first step corresponded to the realisation of a survey of existing competitors and solutions and a state of the art analysis of CV tasks related to the task at hand. This survey resulted in a selection of four different object detection models. Two simpler and older models that use Haar and Histogram of Oriented Gradients (HOG) features, respectively.The other two models selected were the You Only Look Once (YOLO)v4 model and an EfficientDet object detector, the current state of the art one-stage and two-stage object detectors, respectively. Therefore, an experimentation with object detectors was made to select the best object detection model. The training dataset was composed of three distinct missions and the testing dataset of one complete mission. On the training dataset, some data augmentation techniques were used focused on the lighting conditions of the supermarkets and the way a picture can be taken. Considering this, two different YOLOv4 models were trained, one with the initial training dataset and the online data augmentation implemented by the YOLOv4 model and another with the YOLOv4 data augmentation turned off, and the training dataset with the offline data augmentation implementation, both trained for 6000 iterations. As expected, the best object detector of the two YOLOv4 models trained was the YOLOv4 model trained with the offline data augmentation implementation. Having achieved an Average Precision (AP) of 75.19%, almost five per cent more than the one achieved by the YOLOv4 model with data augmentation that achieved 70.31% AP From all the trained models, the best model selected for the implementation of the system was the YOLOv4 model trained with offline data augmentation for 8000 iterations, having achieved an AP of 92.60%.With the best model selected, a system that uses an API endpoint to be accessed was created. Then, three complete missions were used to validate its functioning. As a result, the system correctly found 95.06% of all the objects of the class Qalidus in all the missions images. Furthermore, from the images that were validated, 99.35% were correctly validated. With these results, it was possible to validate that the construction of the objective system was successful and that the system created can, with a 95% confidence, identify the presence of objects of the class Qalidus correctly. Although the building of the system was considered successful, there are still steps that need to be done in the future to be fully considered an essential part of the Brands&Ninjas platform. Being one of these steps, the systems ability to identify more than only objects of the Qalidus class. |
Description: | Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia | URI: | https://hdl.handle.net/10316/98124 | Rights: | openAccess |
Appears in Collections: | UC - Dissertações de Mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Fábio André Constante Ferreira.pdf | 50.38 MB | Adobe PDF | View/Open |
Page view(s)
55
checked on Oct 29, 2024
Download(s)
29
checked on Oct 29, 2024
Google ScholarTM
Check
This item is licensed under a Creative Commons License