Name: | Description: | Size: | Format: | |
---|---|---|---|---|
35.06 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
Abstract
Each year, millions of cats, dogs, and other animals are placed in shelters and rescue organizations, with many ultimately being euthanized. Despite their crucial role, these institutions struggle to handle the high demand for animals needing new homes. This project addresses these challenges by developing 'Petto,' a mobile application that simpli es adding pets for adoption and facilitates communication between adopters and potential pet owners. The application incorporates machine learning techniques. It utilises a content-based recommendation system, based on user preferences derived from a questionnaire about desired pets. The recommendation system is based on k-means clustering, combined with sentence embeddings derived from a pre-trained sentence transformer model. This allows for grouping pets based on the semantic content of their characteristics. The application also provides an image search feature, allowing users to upload an image of an animal and view similar pets available for adoption. This functionality relies on extracting feature vectors from a pre-trained Keras Convolutional Neural Network model to perform similarity calculations. A dataset was built to train and test the machine-learning functionalities. It is divided into CSV les containing information for pet attributes and images saved as JPG les. Overall, the dataset contains data on 10,000 dogs, 9,000 cats, 500 rodents, 200 birds, and 200 rabbits. The user experience on the application was evaluated through a questionnaire. The application achieved a score of 88 for the System Usability Scale questionnaire (SUS), measuring the overall usability of the application. The recommendation system was evaluated using the Precision metric with 5 di erent examples, each with 10 recommendations, obtaining a value of 0.94. The image-based search was measured using Precision with 5 different image examples, each with 9 similar animals, achieving a score of 0.93.
Todos os anos, milhões de gatos, cães e outros animais são colocados em abrigos e organizações de salvamento. Apesar do seu papel crucial, estas instituições enfrentam dificuldades em lidar com a elevada procura de animais que precisam de novos lares. Este projeto aborda estes desafios através do desenvolvimento de 'Petto', uma aplicação móvel que simplifica a adição de animais de estimação para adoção e facilita a comunicação entre adotantes e potenciais donos de animais. A aplicação inclui técnicas de aprendizagem automática para construir o sistema de recomendação e a funcionalidade de pesquisa por imagem. O sistema de recomendação é baseado nas preferências do utilizador, obtidas através de um questionário sobre os animais de estimação desejados. O sistema de recomendação é baseado em clustering k-means, combinado com sentence embeddings derivados de um modelo sentence transformer pré-treinado. Isto permite agrupar animais de estimação com base no conteúdo semântico das suas características. A aplicação também fornece uma funcionalidade de pesquisa por imagem que permite aos utilizadores carregarem uma imagem de um animal e visualizarem animais de estimação semelhantes disponíveis para adoção. Esta funcionalidade baseia-se na extração de vetores de características de um modelo de redes neurais convolucionais Keras, pré-treinado, para efetuar cálculos de semelhança. Para treinar e testar as funcionalidades de aprendizagem automática foi construido um conjunto de dados. Está dividido em ficheiros CSV que contêm informações sobre os atributos dos animais e em imagens. No total, o conjunto de dados contém dados de 10.000 cães, 9.000 gatos, 500 roedores, 200 aves e 200 coelhos. A experiência do utilizador na aplicação foi avaliada através de um questionário. A aplicação obteve uma pontuação de 88 no questionário System Usability Scale (SUS), que mede a usabilidade geral da aplicação. O sistema de recomendação foi avaliado utilizando a métrica Precision, com 5 exemplos de teste, cada um com 10 recomendações, obtendo um valor de 0.94. A pesquisa baseada em imagens foi avaliada utilizando Precision com 5 exemplos de imagens diferentes, com 9 imagens semelhantes para cada uma, obtendo um valor de 0.93.
Todos os anos, milhões de gatos, cães e outros animais são colocados em abrigos e organizações de salvamento. Apesar do seu papel crucial, estas instituições enfrentam dificuldades em lidar com a elevada procura de animais que precisam de novos lares. Este projeto aborda estes desafios através do desenvolvimento de 'Petto', uma aplicação móvel que simplifica a adição de animais de estimação para adoção e facilita a comunicação entre adotantes e potenciais donos de animais. A aplicação inclui técnicas de aprendizagem automática para construir o sistema de recomendação e a funcionalidade de pesquisa por imagem. O sistema de recomendação é baseado nas preferências do utilizador, obtidas através de um questionário sobre os animais de estimação desejados. O sistema de recomendação é baseado em clustering k-means, combinado com sentence embeddings derivados de um modelo sentence transformer pré-treinado. Isto permite agrupar animais de estimação com base no conteúdo semântico das suas características. A aplicação também fornece uma funcionalidade de pesquisa por imagem que permite aos utilizadores carregarem uma imagem de um animal e visualizarem animais de estimação semelhantes disponíveis para adoção. Esta funcionalidade baseia-se na extração de vetores de características de um modelo de redes neurais convolucionais Keras, pré-treinado, para efetuar cálculos de semelhança. Para treinar e testar as funcionalidades de aprendizagem automática foi construido um conjunto de dados. Está dividido em ficheiros CSV que contêm informações sobre os atributos dos animais e em imagens. No total, o conjunto de dados contém dados de 10.000 cães, 9.000 gatos, 500 roedores, 200 aves e 200 coelhos. A experiência do utilizador na aplicação foi avaliada através de um questionário. A aplicação obteve uma pontuação de 88 no questionário System Usability Scale (SUS), que mede a usabilidade geral da aplicação. O sistema de recomendação foi avaliado utilizando a métrica Precision, com 5 exemplos de teste, cada um com 10 recomendações, obtendo um valor de 0.94. A pesquisa baseada em imagens foi avaliada utilizando Precision com 5 exemplos de imagens diferentes, com 9 imagens semelhantes para cada uma, obtendo um valor de 0.93.
Description
Trabalho de Projeto para obtenção do grau de mestre em Engenharia Informática e Multimédia
Keywords
Mobile application Recommendation system Image search Animal adoption Aplicação móvel Sistema de recomendação Pesquisa por imagens Adoção de animais
Citation
DOMINGUES, Duarte Gregório – Pet adoption platform with a recommendation system based on user preferences and animal recognition in images. Lisboa: Instituto Superior de Engenharia de Lisboa. 2024. Dissertação de Mestrado.