/Product-Recognition

4th place solution of Aicrowd Visial Product Recognition Challenge

Primary LanguageJupyter NotebookMIT LicenseMIT

My solution for Aicrowd Visual Product Recognition Challenge. The goal is doing a visual search over e-commerce products.

The training and most of the hyper parameters are taken from paper, which is the authors of the repo I fork.

Structure

  • main branch is where all of my experiments are if you are interested some of my ideas you can check on it however they are not documented so you need to play around.

  • aicrowd branch is my final solution.

Setup

1. Setup Env

  • Install CUDA.

    Note: VIT-H is a huge model you need at least 24GB VRAM to run the experiments.

  • pip install -r requirements.txt

2. Downlaod Traiing Data

  • Product-10k link
  • H&M link
  • Amazon Dataset link
  • Shopee link
  • Test Data from aicrowd team (Optional) link

Download the datasets and unzip them into their respective folders.

To install the amazan dataset run;

cd amazon_dataset_1
python download_meta_data.py
python download_images.py

Note: You might need to run the scripts multiple times

3. Run the Experiments

4. Ensemble the Experiements

  • model 1: weight ensemble of EX1 results
  • model 2: weight ensemble of model 1 + EX2 results
  • model 3: weight ensemble of EX3 + EX4 results

To run the weight ensemble see link.

The trained models can be found in huggingface.