A web-based application that allows users to classify furniture images using multiple pre-trained models. The app offers the flexibility to upload your own image of any extension and size or choose from a set of sample images. It is powered by Streamlit and is designed to showcase the capabilities of deep learning in image classification.
-
Multiple Model Options:
- Users can select from multiple trained models to classify furniture images.
- Models include popular architectures trained on custom furniture datasets (Densenet201,VGG16, Resnet50).
-
Image Upload:
- Upload your own furniture image for classification.
- Supported file formats:
.jpg,.png,.jpeg.
-
Sample Images:
- Choose from a variety of pre-loaded sample images to test the models.
-
Custom Dataset:
- Models were trained on a custom dataset of furniture images collected and annotated first-hand.
- Data augmentation techniques were used to enhance the dataset for improved performance.
-
Deployment:
- Deployed on Streamlit Cloud.
- Docker Image Available on Docker Hub
-
Select a Model:
- Choose a model from the dropdown menu.
-
Upload or Select an Image:
- Upload an image file or select a sample image provided in the app.
-
View Prediction:
- Click the "Predict" button to view the classification result.
- The predicted furniture class is displayed along with confidence scores.
The following models were trained and deployed:
- DenseNet
- ResNet
- VGG
These models were trained on a custom dataset of furniture images and tested for accuracy and reliability.
- Collection:
- Images were collected from various sources and annotated manually.
- Augmentation:
- Data augmentation techniques such as rotation, flipping, and scaling were applied to increase dataset diversity.
- Training and Testing:
- The models were trained on a split of the dataset with a rigorous testing phase to ensure high performance.
-
Clone the repository:
git clone https://github.com/AnantVerma-58/Furniture-Classification.git cd Furniture-Classification -
Install dependencies:
pip install -r requirements.txt
-
Run the application:
streamlit run app.py
The app is deployed on Streamlit Cloud and can be accessed here.
This application is also available as a Docker image, making it easy to run locally without setting up the environment manually.
- Docker Hub Repository: Furniture Image Classification
- Pull the Image:
docker pull anant58/furnitureimage:1.3 docker run -d -p 9999:9999 anant58/furniture-classification:1.3
- Acess The app a t http://localhost:9999
/Furniture-Classification
├── .gitattributes
├── app.py
├── augment.py
├── densenet.pt
├── evaluate.py
├── model.py
├── pred.py
├── prediction.py
├── requirements.txt
├── resnet.pt
├── run.py
├── split.py
├── train.py
├── transform.py
├── trials.ipynb
├── utils.py
├── vgg.pt
|-- README.md # Project documentation
- Python 3.12
- Libraries:
torch,torchvision,opencv-python-haedless,streamlit,numpy
- Add more pre-trained models for classification.
- Expand the dataset to include more furniture categories.
- Implementing real-time prediction using a webcam.
This project is licensed under the MIT License. See the LICENSE file for more details.