FootGear : Mobile Application
This mobile application redefines the online shopping experience by serving as a virtual shopping assistant. Built with the Flutter framework and integrated with Snapchat's AR API, it offers augmented reality features that enhance user engagement with products. A standout feature is its advanced foot-size prediction tool, developed using Python, OpenCV, and scikit-learn, providing users with a highly personalized and accurate shopping experience.
Technologies :
Python
OpenCV
Flutter
Snap AR
Introduction
The project is an augmented reality (AR) mobile application designed to enhance human-computer interaction. It features cutting-edge AR technology that enables users to virtually try on shoes through interactive filters. Additionally, the app offers precise foot size measurement capabilities, providing a seamless and personalized shopping experience.
Key Features
Product Page
- Displays a list of shoes or products available for users to browse.
- Each product has an option to "Try On" virtually.
Augmented Reality (AR) Try-On
- Uses Snap AR API to overlay a 3D model of a shoe onto the user's foot in real-time.
- Provides an interactive virtual try-on experience.
Foot Size Prediction
- Users can upload a photo of their foot placed on an A4 paper to help the app calculate their foot size.
- The app analyzes the image and predicts the foot size, offering an accurate result based on the foot’s dimensions.
Foot-size Prediction
This app is a Python-based solution designed to predict foot size using computer vision techniques. It processes an image of a user's foot to calculate its size and is intended for deployment on an Amazon EC2 instance for accessibility and scalability.
Key Features
Image Input
- Accepts a foot image uploaded by the user.
- Optional base64 encoding/decoding for secure image transmission.
Image Processing Pipeline
- Preprocessing: Enhances the image for better feature extraction.
- K-Means Clustering: Segments the foot from the background.
- Edge Detection: Detects foot contours.
- Bounding Box Detection: Identifies the area enclosing the foot.
Foot Size Calculation
- Uses the bounding box dimensions and processed image data to predict foot size in centimeters.
Output
- Returns the calculated foot size as a user-readable result.
Modular Design
- Uses modualr design for maintainability and scalability.