GithubHelp home page GithubHelp logo

mediatechnologycenter / aesthetify Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 2.28 MB

An AI-powered aesthetic media retrieval system

Home Page: https://mtc.ethz.ch/research/image-video-processing/aesthetics-assessment.html

License: Apache License 2.0

Shell 1.79% Dockerfile 2.65% Python 39.34% HTML 0.74% CSS 0.50% JavaScript 54.98%

aesthetify's Introduction

Aesthetify

This repository contains the necessary code to run the Aesthetics demo application, which showcases the work carried out in the project Aesthetic Assessment of Image and Video Content at ETH Zurich Media Technology Center.

Run the project

Demo App Architecture The architecture depicted above is composed of three main blocks. The frontend is the user interface that queries the API Backend to retrieved the images belonging to a user with the selected filtering criteria. When a user uploads a new image, this is processed by the API backend and sent to each of the model backends to run the predictions on the image.

This design allows for separation of concerns, simplifies adding new models and allow to select the device on which each model backend is deployed.

Run using docker-compose

The simplest way to run a project is to build the respective docker images and running them using the following command from the base directory:

docker-compose up --build

For development:

docker-compose -f docker-compose.yml -f docker-compose-debug.yml up --build

Run using Helm/ K8s

If you have a local cluster on which you would like to deploy the project, use the following command from the *-chart directory:

helm install <releaseName> .

Run locally

Running locally is usually somewhat inconvenient as the Config class requires certain ENV variables to be present. The required ENV variables can be found in the .env file and passed to your IDE in the run configurations. A tutorial of how to do this can be found here for PyCharm or VsCode.

Things to take into account

  • Make sure to check out the front-end README to configure authentication with Firebase.
  • Then, enable authentication for each backend in the docker-compose files.
  • The app currently uses the old React front-end. For compatibility reasons, there's a legacy_routes.py file containing the routes that the old backend uses. This front-end containes commented code used for functionalities like video support or clustering, which will be again available in the next version of the app.
  • When adding new models, you will have to register a new client in the api-backend and create a new model backend. You may want to add functionalities to the frontend to use the results of this new model as filtering criteria.

Acknowledgments

App created by:

  • Daniel Vera Nieto
  • Thomas Steinmann
  • Marc Willhaus

aesthetify's People

Contributors

dveni avatar

Watchers

Thomas avatar fzuendeth avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.