Una aplicación web para recopilar datos de comparaciones de imágenes por pares a través de crowdsourcing. Construido con Mern Stack.
El equipo de Calista desarrolló y usó esta aplicación para crear un conjunto de datos basado en comparación en la estética del sitio web.
Ejemplo del proceso de evaluación :

Documento: "Calista: un sistema basado en el aprendizaje profundo para comprender y evaluar la estética del sitio 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}
}
Agregue un archivo .env en la carpeta raíz del proyecto y establezca las siguientes variables:
| Variable de entorno | Descripción |
|---|---|
| Mongo_uri | Cadena de conexión MongoDB |
| PUERTO | Puerto de servidor |
| Mongo_port | Puerto de MongoDB |
| Me_config_mongodb_adminusername | Nombre de usuario de MongoDB |
| Me_config_mongodb_adminpassword | Contraseña de MongoDB |
| Me_config_basicauth_username | Mongo-Express UserName |
| Me_config_basicauth_password | Contraseña de Mongo-Express |
| Nodo_env | Variable de entorno de nodo |
| Voting_rounds | Número de rondas de votación de cada sesión de voto |
| Voting_time | Tiempo de votación en segundos de cada comparación |
| Number_of_images | Número de imágenes en front-end/public/imágenes/ |
| Base | URL base que se usa para las solicitudes |
Este paso se requiere solo por primera vez que ejecute la aplicación. Esto puede tomar unos minutos, ya que descargará las imágenes requeridas. Si ya ha completado este paso una vez con éxito, puede saltar directamente al paso 4.
Tl; dr :
Ejecute el siguiente comando:
./setup.sh --create --sortimages
Opciones más detalladas :
Las imágenes en front-end/public/imágenes/deben nombrarse con números a partir de 0 (por ejemplo, 0.png, 1.png, 2.png, ...). Si las imágenes aún no están en este formato, puede usar la opción -Sortimages para que se renombren automáticamente durante la configuración:
./setup.sh --sortimages
Si desea establecer una nueva base de datos, se requiere que tenga el archivo DB/Utils/Comparisons_Data.json . Este archivo contiene todas las comparaciones posibles por pares que se pueden hacer entre las imágenes con orden aleatorio. Se utiliza para la inicialización de la base de datos. Si desea utilizar un archivo de comparaciones preexistentes_data.json, asegúrese de que esté en DB/ Utils/ Directory. De lo contrario, puede usar la opción: cree para obtener este archivo creado automáticamente durante la configuración:
./setup.sh --create
Si desea restaurar una base de datos existente, primero asegúrese de mover sus archivos de copia de seguridad en DB/ Backup/ Directory. Luego puede usar la opción - -restore = <path_to_database_dump_in_backup_folder>.
Por ejemplo, si tuvo la siguiente estructura,
├── db
│ ├── backup
│ │ ├── 14_04_2020
│ │ │ └── votes
│ │ │ ├── comparisons.bson
│ │ │ ├── comparisons.metadata.json
│ │ │ ├── votesessions.bson
│ │ │ └── votesessions.metadata.json
. . .
. . .
. . .Correría:
./setup.sh --restore=14_04_2020/votes
Nota : En este caso, no se necesita un archivo comparaciones_data.json .
También puede combinar múltiples opciones o no usar ninguna.
Comenzar:
docker-compose -f docker-compose.yml up --build
Detener:
Ctrl-C
Para modo separado :
Comenzar:
docker-compose -f docker-compose.yml up -d --build
Detener:
docker-compose down