Une application Web pour collecter des données à partir de comparaisons d'images par paire via le crowdsourcing. Construit avec Mern Stack.
L'équipe Calista a développé et utilisé cette application pour créer un ensemble de données basé sur une comparaison sur l'esthétique du site Web.
Exemple du processus d'évaluation :

Document: "Calista: un système basé sur l'apprentissage en profondeur pour comprendre et évaluer l'esthétique du site Web"
@article{DELITZAS2023,
title = {Calista: A deep learning-based system for understanding and evaluating website aesthetics},
journal = {International Journal of Human-Computer Studies},
volume = {175},
pages = {103019},
year = {2023},
issn = {1071-5819},
doi = {https://doi.org/10.1016/j.ijhcs.2023.103019},
url = {https://www.sciencedirect.com/science/article/pii/S1071581923000253},
author = {Alexandros Delitzas and Kyriakos C. Chatzidimitriou and Andreas L. Symeonidis}
}
Ajoutez un fichier .env dans le dossier racine du projet et définissez les variables suivantes:
| Variable d'environnement | Description |
|---|---|
| Mongo_uri | Chaîne de connexion MongoDB |
| PORT | Port de serveur |
| Mongo_port | Port mongodb |
| ME_CONFIG_MONGODB_ADMINUNERNAME | Nom d'utilisateur MongoDB |
| Me_config_mongodb_adminpassword | Mot de passe MongoDB |
| ME_CONFIG_BASICAUTH_USERNAME | Nom d'utilisateur de mongo |
| ME_CONFIG_BASICAUTH_PASSWORD | Mot de passe mongo-exprime |
| Node_env | Variable d'environnement de nœud |
| Votting_rounds | Nombre de tours de vote de chaque session de vote |
| Vote_time | Temps de vote en quelques secondes de chaque comparaison |
| Numéro_of_images | Nombre d'images en front-end / public / images / |
| Balise | URL de base qui est utilisée pour les demandes |
Cette étape n'est requise que pour la première fois que vous exécuterez l'application. Cela peut prendre quelques minutes car il téléchargera les images requises. Si vous avez déjà terminé cette étape une fois avec succès, vous pouvez sauter directement à l'étape 4.
Tl; dr :
Exécutez la commande suivante:
./setup.sh --create --sortimages
Options plus détaillées :
Les images en front-end / public / images / doivent être nommées avec des nombres à partir de 0 (par exemple, 0.png, 1.png, 2.png, ...). Si les images ne sont pas déjà dans ce format, vous pouvez utiliser l'option - Sortimages pour les faire renommer automatiquement pendant la configuration:
./setup.sh --sortimages
Si vous souhaitez définir une nouvelle base de données, il est nécessaire d'avoir le fichier db / utils / comparisons_data.json . Ce fichier contient toutes les comparaisons possibles par paires qui peuvent être faites entre les images avec un ordre aléatoire. Il est utilisé pour l'initialisation de la base de données. Si vous souhaitez utiliser un fichier Préexistant Comparrisons_Data.json , assurez-vous qu'il est dans DB / UTILS / Directory. Sinon, vous pouvez utiliser l'option - Créer pour obtenir ce fichier automatiquement créé pendant la configuration:
./setup.sh --create
Si vous souhaitez restaurer une base de données existante, assurez-vous d'abord de déplacer vos fichiers de sauvegarde dans DB / Backup / Directory. Ensuite, vous pouvez utiliser l'option --restore = <path_to_database_dump_in_backup_folder>.
Par exemple, si vous aviez la structure suivante,
├── db
│ ├── backup
│ │ ├── 14_04_2020
│ │ │ └── votes
│ │ │ ├── comparisons.bson
│ │ │ ├── comparisons.metadata.json
│ │ │ ├── votesessions.bson
│ │ │ └── votesessions.metadata.json
. . .
. . .
. . .vous courirais:
./setup.sh --restore=14_04_2020/votes
Remarque : Dans ce cas, un fichier comparaisons_data.json n'est pas nécessaire.
Vous pouvez également combiner plusieurs options ou en utiliser aucune.
Commencer:
docker-compose -f docker-compose.yml up --build
Arrêt:
Ctrl-C
Pour le mode détaché :
Commencer:
docker-compose -f docker-compose.yml up -d --build
Arrêt:
docker-compose down