Skip to content

gwen-m97/inspiart-front

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python FastAPI Streamlit Docker Google Cloud

🎨 Inspiart: An AI companion to inspire your art journey

Inspiart is a machine learning–powered tool that recommends paintings similar to a given artwork. It can also detect its artistic style. The project is available through an interactive Streamlit app.

App Video demo short 1


Features

  • 🔎 Image-based recommendation of similar artworks
  • 🖼️ Automatic detection and classification of artistic styles
  • 📊 Interactive web interface to explore the tool

App Screenshot


Repository Structure

This project is split into two repositories:

  • inspiart: core code (data preprocessing, model training, recommendation engine, API)
  • inspiart-front: Streamlit app
└── inspiart
    ├── Dockerfile
    ├── setup.py
    ├── requirements.txt
    ├── Makefile
    ├── api
    │   └─ fast.py
    ├── models
    │   └─ model_Xception_alldata_finetuned.keras
    │   └─ model_clip
    └── inspiart
        └── dataset_prep.py
└── inspiart-front
    ├── app.py
    └── sources

Technical Overview

📂 Dataset

  • Used the WikiArt dataset from Kaggle
  • Contains more than 170K artworks across different artistic styles
  • Cleaning to only keep paintings after 1800. 114K images in the end.

🤖 Models

  1. CLIP (OpenAI)

    • Extracted embeddings for all paintings in the dataset
    • Used these embeddings to perform image similarity search
    • Qualitatively good results, often retrieves artworks that are obviously related and with same content
  2. Custom Model (Xception-based)

    • Fine-tuned Xception with additional dense layers for artistic style classification
    • Final accuracy achieved: 47% on the test set (30% of the database)

🗄️ Data Storage

  • Stored all embeddings in a ChromaDB vector database
  • Enables fast similarity search across the artwork collection

⚙️ Backend

  • Built an API with FastAPI to serve both:
    • Similarity search results (CLIP)
    • Style predictions (custom Xception model)
  • Packaged into a Docker image for easier deployment

☁️ Deployment

  • Deployed the backend on Google Cloud Platform (GCP)
  • Frontend built with Streamlit for an interactive user interface

🖼️ Architecture Overview

Architecture


Demo

How to use Inspiart ? App user path

📹 Demo Video Watch full demo on YouTube

App Video demo short 2

Final presentation : 📄 View the final presentation (PDF)

Project context

Team project realized during the Data Science & AI Bootcamp at Le Wagon. 2 weeks with a team of 5 to develop a solution using data and AI.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages