Final project for the Py4BD course.
This application is developed using Streamlit and allows users to upload animal images and find similar images in the database. The app provides a user-friendly interface for visualizing search results and analyzing similarities.
- Install requirements
pip install -r requirements.txt
- Create and fill in a .env file similar to .env_example
- Run streamlit app if you need
streamlit run st_species_search.py
- Go to our streamlit app running on the Streamlit Community Cloud (temporarily unavailable)
- Upload an image of the animal you are looking for.
- Select the number of similar animals to output in the result.
- Get a search result!
- This application serves as a demonstration and can be adapted to specific project needs.
- API of our database in development.
For your own use, you need to prepare your own embedding base on Weaviate
Set environment variables: Set environment variables:
WEAVIATE_URL= YOUR WEAVIATE_CLUSTER_URL
WEAVIATE_API_KEY= YOUR WEAVIATE_API_KEY
To set up your Weaviate cluster, follow either of these methods:
- OPTION 1 Create a cluster in WCS (for more details, refer to the Weaviate Cluster Setup Guide)
- OPTION 2 Use Docker-Compose to setup a cluster locally Weaviate Docker Guide
You can improve the animal species search model by submitting datasets of animal images. Please make sure that the species are defined correctly.
The process of submitting a photo:
- Folders with the Latin (scientific) name of species
- Photos of animals in .JPG format attached to the corresponding folders
- Upload the images to Google Drive or any other cloud storage
- Go to our Google Form and fill it out.
This application is developed based on a dataset from Kaggle