This is the repository of shroomish.ml, website where people can obtain more knowledge about mushrooms, their location or classify the mushrooms obtained using deep learning.
✨ Demo
The frontend uses React (was bootstrapped with Create React App and axios to deal with the requests to the our different APIs.
To run it you can use Docker Compose:
docker-compose up -d --build shroomish-client
Our backend is mainly separated in two main parts: the main one which uses Nodejs and Express for the API along with a PostgreSQL database and the second one, which deals with the classifier, which is made with Flask.
To run it you can use Docker Compose:
docker-compose up -d --build shroomish-backend
docker-compose up -d --build shroomish-classifier
We will use the website Mushroom World to get the information and the photos of our mushroom dataset.
First set an environment and install all the requirements.
python3 -m virtualenv env
source env/bin/activate
pip install -r requirements.txt
To get information from Mushroom World:
cd scraper
scrapy crawl mushroom_scraper
Also, in order to increase our dataset (139 classes of mushrooms) we will use google images to scrape more images (this must be done afterwards the Mushroom World scraping).
To get images from Google Images:
python google_images.py
You will find a folder called downloads with subfolders(one for each class) with the images inside. Also there will be a dataset folder with all the images merged with the class in their name.
We do not have GPU power enough to train a model locally so we will use Google Colab. We have used Keras as our main framework to fine-tune a ResNet50 that was trained with Imagenet weights. To run it you can use this notebook.
👤 Xavier Martin, Adrià Cabeza and Ricardo Longares
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a ⭐️ if this project helped you!