Fauna-Network-Classifier is a deep learning-powered image classification tool for reliably distinguishing between cats and dogs. Designed with scalability in mind, it will support broader animal recognition (and human detection) in future upgrades.
- Overview
- Features
- Installation
- Usage
- Model Details
- Improvements
- Roadmap
- Contributing
- License
- Acknowledgements
Fauna-Network-Classifier provides a modern, intuitive web interface for image classification using Streamlit. Initially, it offers robust and highly accurate recognition between cat and dog images, leveraging advanced deep learning and transfer learning techniques. The project is structured for easy extensibility to other animals and humans in future releases.
-
Accurate Cat vs Dog Classification
Utilizes improved neural network architectures and transfer learning for reliable predictions. -
Streamlit-Based UI
Modern, glassy interface with custom fonts, gradients, and professional design. -
Fun Facts & Feedback
Displays fun pet facts and prediction confidence for each uploaded image. -
Multi-Image Upload
Supports batch classification of multiple images at once. -
Scalable Architecture
Easily upgradable to include other animal species and human detection. -
Session Tracking
Counts and displays the number of cats/dogs detected per session.
-
Clone the repository
git clone https://github.com/BhattAyush17/Fauna-Network-Classifier.git cd Fauna-Network-Classifier -
Install requirements
pip install -r requirements.txt
-
Download/Place the Model
- Place your trained model file (
cat_vs_dog_model.keras) in the repo root. - For future upgrades, see Model Details.
- Place your trained model file (
Run the Streamlit app:
streamlit run app.py-
Upload: Drag and drop or browse to select jpg/png images.
-
View Results: See predictions, fun facts, and session statistics.
-
Future Upgrades: For other animals/humans, updated models will be supported.
-
- Current Model:
Uses transfer learning (e.g., VGG16, ResNet, MobileNet) fine-tuned on high-quality cat/dog datasets for robust recognition. - Data Augmentation:
Rotation, flipping, zoom, and color jitter for better generalization. - Prediction Output:
Displays class (cat or dog), confidence, and a related fun fact.
Recent Enhancements:
- Upgraded to transfer learning for stronger recognition.
- Improved UI: Professional glassy buttons, custom fonts, and responsive layout.
- Added batch image support and session statistics.
Recognition Accuracy:
- Significantly reduced misclassification on varied and challenging cat/dog images.
- Handles diverse backgrounds, angles, and lighting.
-
Next Release:
- Add support for other animals (birds, horses, etc.).
- Human detection/classification.
- Optional breed identification for cats/dogs.
- Model selection and confidence visualization.
- REST API support for external integration.
-
Long-Term:
- Expand dataset for multi-species recognition.
- Mobile and desktop app versions.
- Automated retraining pipeline.
- Fork this repo.
- Create your feature branch (
git checkout -b feature/NewFeature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/NewFeature) - Open a pull request!
We welcome improvements to UI, model architecture, dataset expansion, and documentation.
This project is licensed under the MIT License. See LICENSE for details.
- Streamlit for the fast and beautiful web UI.
- TensorFlow for deep learning support.
- Kaggle Cat & Dog datasets
- The open-source community for inspiration and code.
Fauna-Network-Classifier: Reliable pet and animal image classification, ready to scale for the future.