Image Classification Web Application
Introduction:
We aim to utilize Python and the Django web framework to develop an intelligent image classification application. By leveraging pre-trained deep learning models, we can automate the categorization of user-uploaded images into predefined classes such as everyday objects, animals, and vehicles. This demonstrates the practical integration of AI into accessible web platforms, allowing users to benefit from state-of-the-art computer vision capabilities through a simple interface.
Functional Requirements for Web Application:
1. Getting User Input:
Develop a user interface where users can upload or input an image file through a web browser.
2. Classify the Image:
Use a deployed pre-trained deep learning model to predict the content of the uploaded image.
Preprocess the uploaded image to ensure it matches the input format expected by the model (resizing, normalization).
Pass the pre-processed image through the deployed model for inference.
The following steps are to be followed carefully:
i. Image Pre-processing:
- Resize images to the required dimensions and normalize pixel values.
- Apply necessary colour channel conversions and array transformations.
ii. Model Selection:
- Utilize pre-trained models such as ResNet, VGG16, or EfficientNet with transfer learning.
- Select models based on optimal balance between accuracy and inference speed.
iii. Feature Extraction:
- Leverage the model's convolutional layers for automatic feature extraction.
- Utilize deep learning architectures specifically designed for image recognition tasks.
iv. Performance Evaluation:
- Evaluate model performance using appropriate metrics for multi-class classification.
- Validate model predictions against benchmark datasets.
v. Model Implementation:
- Implement the model using TensorFlow/Keras integrated with Django backend.
- Ensure efficient model loading and inference pipeline.
vi. Accuracy Assessment:
- Verify model accuracy using standardized test datasets.
- Monitor prediction confidence scores for reliability assessment.
3. Show the Class Name:
Once the model predicts the image content, display the corresponding classification label (e.g., "Golden Retriever", "Sports Car", "Coffee Mug").
4. Show the Confidence Score:
Display the model's confidence score for the prediction, indicating the reliability of the classification.
Dataset:
No specific dataset collection required for model training. The application will utilize pre-trained models (e.g., ResNet50) with weights trained on the ImageNet dataset, which contains over 1 million images across 1000 classes. This approach eliminates the need for additional dataset preparation and model training.
General Instructions (after project selection):
- Use only Teams for communication.
- Teams name format should be like: bc123456789 Ali Raza
- Use the name as it is on your ID card or student card.
- Use only VU email ID (e.g., bc123456789@vu.edu.pk) for communication.
-
Tools & Technologies
- Python
- Django
- ResNet
- VGG16
- EfficientNet
- TensorFlow/Keras
- ImageNet dataset
- PyCharm with virtual environment
Faisal Mehmood
Faisal Mehmood Expert in CS619 Final Year Projects and software development.
View all projects