BloomAI is a state-of-the-art flower recognition system that leverages deep learning to identify various flower species with high accuracy. Built using TensorFlow and Flask, this application provides an intuitive web interface for instant flower identification.
BloomAI.mp4
- Real-time Flower Recognition: Instantly identify flower species from uploaded images
- Modern UI/UX: Clean, responsive interface with drag-and-drop functionality
- High Accuracy: Powered by a custom CNN model trained on the Oxford 102 Flower Dataset
- Detailed Results: View confidence scores and species information
- Mobile Friendly: Works seamlessly across all devices
- Interactive FAQ: Comprehensive guide for users
- Frontend: HTML5, CSS3, JavaScript
- Backend: Flask (Python)
- Deep Learning: TensorFlow, Keras
- Dataset: Oxford 102 Flower Dataset
- Deployment: Docker-ready
Before running the project, ensure you have:
- Python 3.8 or higher
- pip (Python package manager)
- Virtual environment (recommended)
- Git
- Clone the repository:
git clone https://github.com/TechWithAkash/Plant_Specis_Detection_using_CNN.git
cd Plant_Specis_Detection_using_CNN
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install required packages:
pip install -r requirements.txt
- Download the pre-trained model:
# The model will be automatically downloaded when you first run the application
# Or you can manually place it in the models/ directory
- Run the application:
python app.py
- Open your browser and navigate to:
http://localhost:5000
Plant_Species_Detection/
├── app.py # Flask application
├── models/
│ └── final_model.keras # Trained CNN model
├── static/
│ ├── css/
│ │ └── style.css # Application styling
│ ├── js/
│ │ └── main.js # Frontend functionality
│ └── uploads/ # Temporary image storage
├── templates/
│ └── index.html # Main application template
├── requirements.txt # Python dependencies
└── README.md # Project documentation
Our CNN model architecture:
- Input Layer: 128x128x3
- Multiple Convolutional Layers with ReLU activation
- MaxPooling Layers
- Dropout Layers for regularization
- Dense Layers
- Output Layer: 102 classes (Softmax)
- Accuracy: 94.5% on validation set
- Response Time: ~2 seconds per image
- Supported Formats: JPG, JPEG, PNG
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Akash Kumar
- GitHub: @TechWithAkash
- Akash Kumar
- Email: [[email protected]]
- Project Link: https://github.com/TechWithAkash/Plant_Specis_Detection_using_CNN