This is a Streamlit web application that allows users to upload an image of an animal and predicts the name of the animal using a pre-trained MobileNetV2 model. The app leverages the power of TensorFlow and ImageNet-trained weights to classify images.
- 🖼️ Upload Image: Upload any
.jpg
,.jpeg
, or.png
file. - 🧠 AI-Powered Classification: Uses MobileNetV2, a state-of-the-art pre-trained deep learning model.
- 🚀 Real-time Results: Provides instant predictions with a simple and intuitive interface.
- 🌐 Web-Based: Accessible from any device with a browser.
- Upload an Image:
- Drag and drop or browse to select an image of an animal.
- AI Processing:
- The app resizes and preprocesses the image to match the model's input format.
- The MobileNetV2 model predicts the animal name based on the image.
- Get Results:
- The predicted animal name is displayed instantly on the screen.
- Python 3.8 or higher
- pip (Python package manager)
git clone https://github.com/talaatmagdyx/animal-classifier-app.git
cd animal-classifier-app
pip install -r requirements.txt
streamlit run animal_classifier_app.py
The app will run locally and can be accessed at http://localhost:8501
in your browser.
- Push the code to your GitHub repository.
- Log in to Streamlit Cloud and deploy the app.
- Build the Docker image:
docker build -t animal-classifier .
- Run the Docker container:
docker run -p 8501:8501 animal-classifier
The app will be accessible at http://localhost:8501
.
animal-classifier-app/
│
├── animal_classifier_app.py # Main Streamlit app code
├── requirements.txt # List of dependencies
├── Dockerfile # For containerization (optional)
└── README.md # Documentation file
- Streamlit: For building the web app.
- TensorFlow: For using the pre-trained MobileNetV2 model.
- Pillow: For image processing.
- Fine-tune the model with an animal-specific dataset for better accuracy.
- Add support for identifying multiple animals in a single image.
- Enable multilingual support in the app interface.
Contributions are welcome! Feel free to submit a pull request or open an issue for bug fixes, enhancements, or suggestions.
This project is licensed under the MIT License.
Feel free to reach out with any questions or suggestions!