TryThis

Week #1 #

Our final presentation - Try This.pdf

Team Formation and Project Proposal #

Team Members #

Team MemberTelegram IDEmail Address
Alsu Abdulmanova (Lead)@Abdulmanovaa[a.abdulmanova@innopolis.university
Karim Galliamov@kgall739k.galliamov@innopolis.university
Anvar Iskhakov@kekstrokean.iskhakov@innopolis.university
Konstantin Fedorov@KonstFed[Email address]
Yan Kozyrenko@y_kozyrenkoy.kozyrenko@innopolis.university
Kamil Almetov@almetov_kamilk.almetov@innopolis.university
Anatoliy Pushkarev@anatoliy_pusa.pushkarev@innopolis.university

Value Proposition #

  • Problem Statement: Inefficient outfit selection and limited fashion expertise. Users struggle with selecting stylish outfits and lack the fashion knowledge to confidently coordinate colors, patterns, and styles. They face challenges in finding suitable clothing alternatives online and have limited access to expert fashion advice. This leads to frustration, wasted time, and limited style exploration.

The pain points include:

  1. Difficulty in coordinating fashionable outfits.
  2. Limited knowledge of fashion trends and expert advice.
  3. Time-consuming online clothing search.
  4. Lack of outfit confidence and uncertainty.
  5. Inability to visualize new clothing items.
  6. Missed opportunities for style exploration.
  • Solution Description: “Try this” is a mobile app that revolutionizes outfit selection and fashion exploration. With advanced outfit analysis and recommendation algorithms, it addresses the pain points of inefficient outfit coordination and limited fashion expertise. The key features and functionalities include: Outfit Analysis: Users can simply upload a photo of their outfit, and the app’s intelligent algorithms analyze the colors, patterns, and styles to provide instant feedback and suggestions for improvement.

Personalized Recommendations: Based on the outfit analysis and user preferences, “Try this” offers tailored recommendations for clothing items that perfectly complement the existing wardrobe. It suggests alternative pieces from online-marketplaces, taking into account user’s style, body type, and occasion.

Virtual Try-On: The app offers a virtual try-on feature, allowing users to visualize how the recommended clothing items would look on them. Using augmented reality (AR) technology, users can virtually “try on” clothes without physically trying them on, enhancing the online shopping experience.

Expert Fashion Advice: “Try this” provides expert fashion advice, guiding users on color combinations, style trends, and outfit coordination. Users can access fashion tips, style guides, and curated collections to enhance their fashion knowledge.

Seamless Online Shopping Integration: The app seamlessly integrates with online-marketplaces, making it easy for users to browse and purchase recommended clothing items directly from the app. It eliminates the hassle of searching multiple websites and ensures a smooth shopping experience.

  • Benefits to Users:

Time Savings: Users can save valuable time and effort by leveraging the app’s outfit analysis and recommendations. Instead of spending hours contemplating outfit choices, they receive instant feedback and personalized suggestions, streamlining the decision-making process.

Enhanced Style and Confidence: By utilizing the app’s fashion expertise, users can confidently create well-coordinated outfits that reflect their personal style. The personalized recommendations help them discover new fashion choices and experiment with different looks, boosting their confidence in their appearance.

Cost-Efficient Shopping: The app’s integration with online-marketplaces ensures users have access to a wide range of clothing options at their fingertips. By providing tailored suggestions and highlighting discounts or sales, “Try this” helps users make cost-effective purchasing decisions without compromising on style.

Improved Fashion Knowledge: With expert fashion advice and curated style guides, users can expand their fashion knowledge and stay up-to-date with the latest trends. They gain insights into color combinations, style tips, and outfit coordination, enhancing their fashion sense and enabling them to make more informed choices.

Virtual Try-On Convenience: The virtual try-on feature eliminates the need for physical fitting rooms and enables users to visualize how recommended clothing items will look on them. This convenience saves time and provides a realistic shopping experience, reducing the chances of purchasing ill-fitting or unsatisfactory items.

Personalized Fashion Experience: “Try this” tailors its recommendations to each user’s unique style, body type, and occasion. This personalized approach ensures that users receive suggestions that align with their preferences, helping them express their individuality through their outfits.

  • Differentiation: “Try this” sets itself apart from competing solutions in the market through its comprehensive set of features and unique focus on user empowerment. While other apps like Cladwell and Acloset partially cover outfit analysis and recommendations, our app combines outfit analysis, recommendations, and virtual try-on into a single, cohesive platform. This integration provides users with a more holistic and streamlined fashion experience.

Unlike Intellistyle, which primarily caters to businesses, “Try this” is designed specifically for individual users. Our app puts the power of a personal digital stylist in the hands of every user, allowing them to effortlessly enhance their style and make confident fashion choices without the need for professional assistance.

The key differentiating factors of “Try this” include:

  1. Full Feature Set: “Try this” offers outfit analysis, recommendations, virtual try-on, and online shopping integration all in one app. Users can enjoy a seamless end-to-end fashion experience without the need to switch between multiple platforms or tools.

  2. Convenience and Realism: The virtual try-on feature of “Try this” allows users to visualize how recommended clothing items will look on them, providing a realistic online-shopping experience. This level of convenience and accuracy sets our app apart from others in the market.

  • User Impact: “Try this” has a significant impact on users, as well as the broader society and fashion industry. By leveraging technology to enhance the fashion experience, our software project brings about positive changes and transformative effects in several key areas:
  1. Empowering Personal Style: “Try this” empowers users to confidently explore and express their personal style. By providing outfit analysis, recommendations, and virtual try-on capabilities, users can experiment with different looks, discover new trends, and gain a deeper understanding of their fashion preferences. This fosters self-expression and boosts individual confidence.

  2. Streamlining Fashion Decision-Making: Our app streamlines the fashion decision-making process for users. By analyzing their outfits and offering tailored recommendations, “Try this” saves users time and effort in selecting the right clothing combinations. This efficiency allows users to focus on other aspects of their lives while still maintaining a stylish appearance.

  3. Sustainability and Conscious Consumption: “Try this” promotes sustainable fashion choices and conscious consumption. By suggesting complementary clothing items from online markets, users can make informed purchase decisions based on their existing wardrobe. This reduces impulsive buying, minimizes fashion waste, and encourages a more sustainable approach to fashion.

  4. Accessibility and Inclusivity: Our software project promotes inclusivity by catering to users of diverse body types, styles, and fashion preferences. The virtual try-on feature allows users to visualize how clothing items will fit and look on their specific body shape, ensuring that fashion is accessible and enjoyable for everyone.

  5. Industry Advancements: The adoption of “Try this” can drive positive changes in the fashion industry. By providing valuable data on user preferences, trends, and outfit combinations, our app can contribute to improved product offerings, targeted marketing strategies, and more sustainable production practices. This, in turn, benefits fashion brands, retailers, and the industry as a whole.

  • User Testimonials or Use Cases:

Numerous studies and research have shown the significant impact of personal appearance on how others perceive individuals. Here are a few examples:

  1. Research by Dr. Karen Pine: Dr. Karen Pine, a renowned psychologist, conducted a study that revealed how clothing choices influence first impressions. The study found that individuals who were well-dressed and presented a cohesive outfit were perceived as more competent, trustworthy, and confident by others.

  2. Testimonial: Personal style boosts careers by creating a professional image, increasing confidence and presence, building trust and credibility, making a memorable impression, reflecting company culture, and contributing to personal branding.

Lean Startup Questionnaire #

  1. What problem or need does your software project address? Inefficient outfit selection and limited fashion expertise
  2. Who are your target users or customers? Target audience - fashion-conscious individuals who prefer online shopping, with a minimum salary of 45,000 rubles, aged 20 to 40 for women and 20 to 30 for men, as well as young people aged 16 to 24. This includes residents of medium-sized (from 100,000) and large cities (from 500,000).
  3. How will you validate and test your assumptions about the project? User surveys and prototype testing (already conducted 5). After releasing MVP, we are going to use A/B testing and analytics metrics.
  4. What metrics will you use to measure the success of your project? ROI to assess financial performance, number of downloads, active users, number of purchases though the app, feedback and rating
  5. How do you plan to iterate and pivot if necessary based on user feedback? Firstly, gather the feedback and analyze common themes, areas for improvement. Secondly, prioritize based on frequency and significance. Thirdly, set clear goals and work on them. Then, analyze results and decide if further iterations are necessary.

Leveraging AI, Open-Source, and Experts #

  • AI (Artificial Intelligence): Use ChatGPT, Github Copilot for increasing productivity and enhancing code quality.
  • Open-Source: Use pre-trained models for recommendations and virtual try-on services like OpenPose, YOLO, ResNet, segmentation models.
  • Experts in relevant domains: We are going to discuss ML and CV part of the app with an expert that agreed to consult us. [Your answers on leveraging AI, open-source, and experts here]

Defining the Vision for Your Project #

A clear and compelling vision is crucial for successful project planning. When you have a well-defined concept and a shared vision of what you aim to achieve, executing on that vision becomes significantly easier. Therefore, after thorough discussions and settling on a promising idea, it is essential to craft a comprehensive vision with your team. This vision should be detailed, encompassing your chosen tech stack, and anticipate potential future challenges. Below, describe your project using schematic drawings and provide elaborate explanations of all significant components.

  • Overview: Try this is a mobile app that revolutionizes personal style. It offers tailored outfit recommendations. By simplifying fashion decisions and suggesting relevant items for purchase, it saves time and boosts confidence in personal style choices. With Try this, users can enhance their fashion sense and unlock their true style potential.

  • Schematic Drawings

  • Tech Stack: Python (openCV, PyTorch) for ML and CV part (recommendations and try-on) Flask for backend - choice is based on team member’s expirience Flutter for frontend - choice is based on team members’ expirience

  • Anticipating Future Problems: The problems may arise with virtual try-on for example it is a challenging task to segment the clothes from a picture, restore the background and pull a new piece of clothing. If so, then we will ask help from an expert and try to integrate solution into our service.

  • Elaborate Explanations: Core features: outfit analysis, recommendation and try-on.

  1. Outfit analysis - rule-based model with style rules (rules are already formulated)
  2. Recommendation - depends on previous step (the same algorithm)
  3. Try-on - CV model for segmentation and object detection.

Feedback

Value Proposition

Very Good Explanation.

Lean startup question

In the Targeted user section, you named a lot of numbers for salaries and ages. How did you came up with those numbers? What was the inclusion criteria?

AI Good

Vision Of The Project Good

Overall The report is good. but don’t use big words like

Try this is a mobile app that revolutionizes personal style

You don’t have results yet. Also have you done any market research? I think it will be very helpful.

5/5

Feedback by Moofiy

Week #2 #

Tech Stack Selection #

Python (openCV, PyTorch) for ML and CV part (recommendations and try-on) Flask for backend - choice is based on team member’s expirience Flutter for frontend - choice is based on team members’ expirience

Architecture Design #

  1. Component Breakdown: we decided to break the project into following modules: backend, frontend, ml. Frontend is responsible for visual representation. Backend is responsible for linking frontend with ml and also manages databases. ML module is used for imlementing key features of the app (recommendations, try-on, outfit analysis).
  2. Data Management: Data will be stored in databases: MongoDB for short-term data (sessional data) and PostgreSQL for permanent data (users history).
  3. User Interface (UI) Design: design sketch
  4. Integration and APIs: We decided to make a standard request body for the API, which will always contain two fields: payload and message. First of all, the developer will take a look on the status code of the response, to find out, if it was performed successfully, or not. In case of any errors (for example, 400 ‘Bad request’), there will be an informative explanation in the message field of what exactly went wrong. If everything is fine, the developer will get a payload, which is strictly standardized according to the Swagger API. The backend API will have two internal services: machine learning (ML) and databases (DB). ML service will be responsible for communication with the ML project, while DB service will provide methods to encapsulate logic to access database. Each service is called at the endpoint handler. To deploy the backend we will use docker-compose, which will combine everything together.
  5. Scalability and Performance: We are committed to anticipating future growth and ensuring scalability in terms of computing power and throughput. We will rent several servers and increase pods in kubernetes to increase capacity and accommodate higher user loads and data volumes without compromising performance.
  6. Security and Privacy: We prioritize the security of user data and will incorporate measures into our architecture. This includes implementing authentication, authorization, encryption, and other relevant security practices. We will ensure that data is protected through protocols like HTTPS and adhere to careful storage and data access policies to safeguard against vulnerabilities and unauthorized access.
  7. Error Handling and Resilience: Our strategies include implementing error logging mechanisms, continuous monitoring, and establishing graceful error recovery processes. To prevent errors, we employ server-side validations, conduct testing, and monitor the application’s performance.
  8. Deployment and DevOps: Deploy will be done using Docker through kubernetes.

Answering questioner

  1. Tech Stack Resources. We are not using any project-based books, we believe that it is redundant for our project. All needed information is specified in documentation or scientific acticles. We enhace our knoweledge through overcoming difficulties in realization process using websites, best practices and acticles.
  2. Mentorship Support. We have a person that is ready to help us but for now we did not need any external help.
  3. Exploring Alternative Resources. We lack knoweledge in ML and CV part of our project. So we found some interesting libraries and tutorial to address problems: https://github.com/open-mmlab/mmfashion https://colab.research.google.com/github/openai/clip/blob/master/notebooks/Interacting_with_CLIP.ipynb#scrollTo=NSSrLY185jSf&line=10&uniqifier=1 https://github.com/levindabhi/cloth-segmentation https://github.com/minar09/cp-vton-plus
  4. Identifying Knowledge Gaps. ML: Anvar Iskhakov, Karim Galliamov, Konstantin Fedorov Frontend: Yan Kozyrenko, Kamil Almetov Backed: Anatoly Pushkarev, Alsu Abdulmanova We lack expertise in ML and CV, so we search for tutorial and best practices to fill the gaps.
  5. Engaging with the Tech Community. Some members of the team attend meetups organized in Innopolis.
  6. Learning Objectives. We did not set specific learning objectives. Our goal is to make functional product. Every week we make progress and if any problems occur we solve it. That is how we learn.
  7. Sharing Knowledge with Peers. Every 3-4 days each development department gathers for discussion. We share knoweledge if problem occurs or search for solution all together.
  8. We used ChatGPT but only to accelerate development process (not to write simple code ourselves).

Feedback

1. Component Breakdown

Good, but try to list the component rather than lay it in a paragraph.

2. Data Management

Good!!

3. UI Design It’s not a design. It’s one screen that is not understandable.

4. Integration and APIs

Then how will you integrate with the model?

5. Scalability and Performance

 We will employ parallelism and other techniques 

What are these techniques? Please write details of what you want to do. Not just writing general words.

6. Security and Privacy Good

7. Error handling and Resillience

Good, but maybe too much?

8. Deployment and DevOps What about devOps?

Answering questioner

Missing

Overall The report is poor, and missing a lot of requested items. And lack details. Grade 2.5/5

Feedback by Moofiy

Week #3 #

Prototype Features What we have already done:

Frontend:

  1. Formulated message contracts with backend for inital photo and answer with identified items.
  2. First and second screens UI are made. Screens
  3. Functionatity and UI of third screen (UI, data-layer; API interaction - in progress)
  4. Authorization made through Firebase for Google Account

Backend:

  1. User data storage (in testing)
  2. Wrap app with Docker (in testing)

ML:

  1. Identified pieces of clothes for detection
  2. Unified overlaping masks
  3. Classigication, object detection, segmentation through HaggingFace pre-trained model
  4. Exctraction of color from picture
  5. Identify colors and map to Itten Circle
  6. Clastering clothing with style

User Interface Use-case user flows link User starts with authorization, they can do it through Apple ID, Google account, Yandex ID and VK. Then user selects its gender and uploads photo of the outfit. Further, user selects goal of the outfit from given options (precise enough to make conclusion about style of the event: official, casual, semi-official, etc.). Then the user sees their picture with highlited items and the color defines the suitability of clothes (red - not suitable, yellow - could be better, green - okay). After that user can choose which item it wants to change and sees scrollable options from marketplaces. User can select any item and see how it looks on him/her/it. All in all, we identify following steps of user flow:

  1. Authorization
  2. Gender
  3. Outfit selection
  4. Purpose
  5. Analysis
  6. Recommendation
  7. Try-on

Challenges and Solutions: Example: SAM mmodel gave masks with bad quality (it sometimes did not identify all parts of person and there were duplicates in masks). To solve this problem we found 2 solutions. First, delete duplicates with biggest intersection over union but this did not work with several photos. Second, we replced combination of SAM+FashionClip with pre-trained SegFormer model, this solution works good.

Next Steps:

  1. Authorization for other services (highlited above)
  2. Save email address of user
  3. Finish backed testing and identify problems
  4. Fix backend problems (scheduled later)
  5. Integrate ML with backend
  6. Test ML segmentation with complex pictures to identify problems, fix if necessary
  7. Develop interface that accepts photo and mask, returns list of [color, color in Itten Circle]
  8. Fine-tune clothes clasterisation
  9. Rule-based model for a color scheme

Feedback

Prototype Features
Theses are not features. Where is the fashion section in your app.

User Interface
Where is your design url?

Challenges and Solutions
Good, you know what you are facing

Next Steps
Good

Overall
Ok report, it seems that you don’t have much progress with development. Because only those 2 screen are made? And both are easy to implement. I would advice you to progress more with your development.

Grade
3/5

Feedback by Moofiy

Week #4 #

External feedback on our project #

We have conducted several interviews among Innopolis students and collected a comprehensive feeback about work. Here are the main points, which we got:

Negative points #

  1. On the screen, where user should upload a photo, which will be used to process clothes ( link to component in figma) it is completely not understandable about photo type - how should I pose, which formats are allowed, should the person fit the frame entirely etc. We realized, that we should add more details about it.
  2. Under the hood we use a complex system of rules to estimate the photo and suggest new items. User is not familiar with them. It was suggested to add a guide, how everything is evaluated, because now, from the user perspective, it looks completely random. It is also a good idea to provide a guide, where user can learn, why he is not looking his best.
  3. It was suggested to add gamification to display, how good the look is overal. Because now we have two kinds of feedback: is it looking good or is it looking bad.
  4. It is also suggested to add a feature, which will provide an ability to store the results of look processing. For example, a person uploads an image, the system provides some suggestions (e.g other pair of shoes), the person saves it and then tries them in a shop.

Positive points #

  1. It is useful, that we provide an ability to log in using popular services - Google, Yandex, Apple and VK
  2. Overal, the UI is intuitive is straight

Testing #

Machine Learning part
It is essential to do proper research and testing in this sphere, because there are a lot of options regarding models, their parameters and architectures. Also it is very important to keep in mind processing time: we do not want our system to process images for hours.

Biggest insights are the following. For embeddings testing we have manually collected a dataset of different clothes. After research and testing with this dataset we found out that embeddings noticed clothing type more than style. This resulted in using not standard KNN

Clustering (k-means, fuzzy c-means) performed bad. Also we have tested different distances with this models and found out that cosine distance was worse that euclidian one.

Backend part
We have already started to connect our services between each other (Frontend, Backend & DB and ML). This resulted in a lot of errors and misunderstandings in terms of contracts and expected outputs. After some real using we are still facing a lot of errors and unexpected behaviour. Then this changes are rapidly fixed and testing process repeats.

Frontend part
We often test our app through ordinary using its key features, opening and clicking everything. This allows to find unexpected behaviour and bugs. Also we try to use the app with some unsual screens and this often results in unexpected interface building.

Iteration #

We have weekly meetings with the team members, where we all together track all the progress, discuss all issues and progress and assign new tasks. These meetings allows to look on other sphere developers progress and issues from non-developer perspective. There we often find some problems and holes in logic and flow of our services.

Machine Learning part

We looked at the testing results and decided to change unlabeled segmentation with labeling with CLIP to SegFormer. Also it is very hard to find a model with a proper license for our use, so sometimes we have to use lower quality models.

Also there are changes in terms of labeling of clothes: firstly we were trying to generate as more labels as we could, but later decided to reduce the amount of classes. For example, instead of T-shirt, jacket and etc we decided to use just upper clothes.

Backend part

Here we have a true iterative process, because we often find a lot of bottlenecks in the code or achirecture and modify it to make our system more scalable and stable.

Talking abour logical part, we have added one more route to create a new session by sending user credentials, instead of combining it with image sending.

Frontend part

There are a lot of work regarding changes of routes, data and architecture of backend, as it was stated above. Also often we implement some design, use it and then realize that it is not good. It results in recreating and modificating prototypes and UI.

Feedback

External Feedback
Good that you have a feedback from customers.

Testing
Ok good, you make all of this testing, Where is the proof?

Iteration
This is not iteration plan. How will you adapt to what the customer is requesting?

Here we have a true iterative process

How? Show us how it’s a true iterative process

An iteration plan, is essentially the plan for an upcoming iteration. It would typically outline:

  • The goals and objectives for the iteration: what the team aims to achieve.
  • The features to be developed
  • The tasks needed to develop these features: this might include coding, testing, design tasks, etc.
  • Any assumptions or dependencies.
  • A timeline for the iteration

Overall
The report is ok, you need to reflect on what is requested an do it properly

Grade
3/5

Feedback by Moofiy

Week #5 #

Last week, our team conducted solution interviews to gather feedback and insights from users. These interviews allowed us to understand their needs, preferences, and pain points related to our solution. However, we recognized the need to streamline and scale this feedback collection process. So, to address this issue we launched a Google Form. It is important to note that it does not provide statistical analysis or quantitative metrics. Instead, we focused on analyzing the responses to identify common themes, patterns, and recurring issues raised by users.

Here are the insights:

  1. Most people believe that we covered all features that were announced
  2. Add more options for outfit circumstances
  3. User flow is intuitive but outfit estimation is not clear. So, we are going to add instructions at the beginning

These were the most frequent comments, so it is only fair to address those issues first.

As part of our user research efforts, we recently launched a Google Form aimed at collecting a database of individuals who experience challenges with styling and fashion choices. The form was designed to identify potential users who would be interested in being the first adopters of our MVP.

This engaged group of individuals will play a crucial role in shaping the direction and success of our product. Their experiences and feedback will guide us in tailoring our solution to meet their specific needs and deliver a more effective and user-centered experience.

Based on the statistics gathered from our Google Form, we have confirmed the target audience for our solution. The data revealed that 53.1% of respondents fall within the age range of 18-25, indicating strong interest from young people. Additionally, 68.8% of respondents identified as women, suggesting a significant preference for our solution among this demographic.

These insights validate our initial assumptions about the target audience and highlight the potential demand for our product among young individuals, particularly women. Understanding the specific demographics that are most interested in our solution allows us to tailor our marketing and product development strategies accordingly.

The main challenges that people face with choosing clothes:

  1. Spending too much time trying clothes on
  2. Cannot create color matching outfits effectively
  3. Too little clothes range (monotony)

Feedback

Collecting and documenting feedback
good! but it was missing how did you documented the feedback but you need to send me the result if the form

Feedback analysis
very good!!

Roadmap and enhancement
missing

your grade is 3.5/5 if you send me the result of the form, i will increase it to 4.5

Grade: 3.5/5

Feedback by Moofiy

Week #6 #

Try This.pdf