Inspiration
Accurate body measurements are essential for well-fitting custom clothing, but many customers do not know how to take professional tailoring measurements. The problem becomes more difficult when the customer and tailor are in different locations.
Ginani VisionFit grew from more than 25 years of experience in fashion design, pattern making and garment-production training. It has two goals:
- Make remote measurement taking easier by guiding customers through photographs, video and any required manual measurements.
- Allow tailors to use VisionFit for assisted measurement taking within a booth, section, corner or room in their existing workspace.
The assisted setup does not require an expensive body scanner or purpose-built facility. It can use an ordinary phone or camera, suitable lighting, a clear background and the VisionFit application.
What it does
Ginani VisionFit guides a customer through the capture of the visual information required for tailoring measurements.
The user:
- Gives consent before capture.
- Enters their height.
- Receives instructions about fitted clothing.
- Places a visible cord at the true natural waist.
- Records a slow-turn video.
- Captures front, back and side photographs (added value, optional.)
- Receives guidance when a capture does not meet the requirements.
The VisionFit processing pipeline uses OpenCV to prepare and analyze the submitted images and video. It examines image quality, extracts useful video frames, processes detected body points and segmentation masks, establishes scale, analyses body outlines and calculates distances required for tailoring measurements.
When an image is blurred, dark, obstructed or incorrectly positioned, VisionFit can request a specific recapture. When the available visual evidence cannot support a required measurement, it can request that particular tape measurement rather than asking the customer to take a complete professional measurement set.
The resulting measurements can be reviewed, corrected and approved. VisionFit also provides secure endpoints through which authorized applications can access approved measurement data.
How we built it
We built the customer-facing application with React, TypeScript and Vite, and the backend with FastAPI and Python.
OpenCV 5 is the central image, video and measurement-processing engine. It is used for:
- Reading and preparing uploaded images.
- Extracting and evaluating video frames.
- Checking image dimensions and capture quality.
- Processing body keypoint coordinates.
- Processing segmentation masks and body contours.
- Locating useful points along the body outline.
- Comparing front, back and side views.
- Establishing image scale from reference information.
- Converting relevant image distances into real-world units.
- Applying geometric rules to calculate measurements.
- Checking whether calculated results are consistent across views.
The application includes guided pages for consent, height entry, photographs and slow-turn video. Frontend and backend validation check uploads and capture requirements, while clearer error messages explain unavailable services, network failures and oversized videos.
Roboflow supports the OpenCV pipeline by providing the tools used to annotate training images and train the fashion-specific keypoint and body-segmentation models. I used my own photographs for the initial dataset because suitable fashion-measurement points were not available in existing pose models.
The trained models provide keypoint coordinates and segmentation masks. OpenCV then processes those results, combines them with the customer’s capture information and performs the geometric work required for measurement calculation.
The application is containerized with Docker and deployed on AWS ECS. Sensitive capture and measurement information is handled separately from the public application interface, and approved measurements can be made available through secure endpoints.
AI coding agents assisted with implementation, testing and documentation. I defined the tailoring landmarks, measurement paths, capture requirements, calibration approach and validation rules. I also reviewed the generated code and tested the application.
Challenges we ran into
The main challenge was converting photographs and video into measurements that are useful for tailoring. OpenCV can calculate distances between image coordinates, but a distance measured in pixels is not automatically a body measurement. The system must establish scale, account for camera position and perspective, identify the correct start and end points and determine whether the selected view contains enough information.
Other challenges included:
- Defining exact fashion-measurement landmarks
- Creating the required keypoints from scratch.
- Distinguishing the true natural waist from clothing lines.
- Detecting and using the visible waist cord.
- Separating the body accurately from the background.
- Finding measurement locations along segmented body contours.
- Handling different camera distances, angles and lighting conditions.
- Correcting for perspective across different views.
- Converting image distances into real-world units.
- Combining width information from front and back views with depth information from the side view.
- Selecting useful frames from a slow-turn video.
- Detecting blurred, dark, obstructed or incorrectly posed captures.
- Processing large video files reliably.
- Protecting sensitive body images and measurement data.
- Producing useful results from a limited initial dataset.
- Keeping the prototype achievable within the hackathon period.
- Training models to recognize body key points requires a lot of real life image data.
Accomplishments that we're proud of
We are proud to have built the foundation of an OpenCV-based tailoring measurement system rather than only an image-upload application.
Our progress includes:
- A complete consent and height-entry flow.
- Guidance for fitted clothing and waist-cord placement.
- Front, back and side image capture.
- Slow-turn video recording and upload.
- Frontend and backend capture validation.
- Improved network and video-processing error messages.
- Protection against oversized video uploads.
- An OpenCV 5 image-processing pipeline.
- OpenCV video-frame processing.
- Calibration experiments for converting image distances into real-world units.
- Defined geometric rules for fashion measurements.
- Ongoing Roboflow keypoint and segmentation model training using annotated images.
- A React frontend and FastAPI backend.
- Automated frontend and backend tests.
- Docker containerization and deployment on AWS ECS.
- A process for requesting a specific recapture or manual measurement when required.
- Support for both remote and tailor-assisted measurement taking.
We are especially proud of combining computer vision with professional pattern-making knowledge. OpenCV performs the image, video and geometric processing, while the measurement definitions come from how tailors actually locate and take body measurements.
What we learned
When I started the project, I expected existing human-pose models to include the body points required for fashion measurements. I discovered that they did not. General pose models contain common points such as the shoulders, elbows, hips and knees, but they omit many landmarks required for professional tailoring.
I learned how to define fashion-measurement points from scratch, establish where each point should be positioned and annotate those points for model training. But labeling and annotating is just an initial step in training data models.
I also learned that:
- A pixel distance must be calibrated before it can become a measurement.
- Camera position and perspective affect calculated distances.
- Front and back images provide width information.
- Side images provide information about depth and protrusion.
- Slow-turn video can provide additional viewpoints and consistency checks.
- Image quality must be checked before attempting measurement calculations.
- A requested recapture or manual measurement is better than presenting an unsupported result.
What's next for Ginani VisionFit
The next stage is to improve and validate the OpenCV measurement pipeline with more participants.
We plan to:
- Expand the training dataset with consented images from people with different body shapes and proportions.
- Improve keypoint and segmentation results under different clothing, lighting and background conditions.
- Strengthen OpenCV checks for framing, blur, lighting, pose and waist-cord visibility.
- Improve video-frame selection and multi-view comparison.
- Refine scale and perspective calibration.
- Complete the priority tailoring-measurement calculations.
- Compare the calculated measurements with professionally taken tape measurements.
- Record the error for every tested measurement.
- Test whether the system correctly identifies unsuitable captures.
- Request a targeted recapture when the capture quality is responsible for uncertainty.
- Request a specific tape measurement when the available views do not provide enough information.
- Allow the customer or tailor to review and correct the results.
- Test both remote and assisted measurement-taking workflows.
- Complete secure endpoints for authorized access to approved measurements.
The long-term goal is to use OpenCV and professional tailoring knowledge to make body-measurement collection more accessible without requiring expensive scanning equipment or expecting every customer to take a complete set of professional measurements alone.
Built With
- amazon-web-services
- docker
- ecs
- fastapi
- opencv-5
- python
- react
- roboflow
- typescript
- vite
Log in or sign up for Devpost to join the conversation.