Building an Outfit Recommender System

The Problem

  1. Crea­te an Out­fit Recom­men­der Sys­tem: Deve­lop a sys­tem that pro­vi­des out­fit recom­men­da­ti­ons that are con­sis­tent in style yet rich in diver­si­ty. This means the sys­tem should sug­gest out­fits that fit well within estab­lished style cate­go­ries while also intro­du­cing varie­ty to keep the user’s fashion choices fresh and inspi­red. The recom­men­da­ti­ons should be both prac­ti­cal and crea­ti­ve, cate­ring to dif­fe­rent tas­tes and pre­fe­ren­ces.
  2. Sca­lable MVP: Ensu­re the solu­ti­on is a Mini­mum Via­ble Pro­duct (MVP). This MVP should be desi­gned for fast deploy­ment, allo­wing for quick mar­ket ent­ry and ear­ly user feed­back. At the same time, it must be sca­lable, and capa­ble of hand­ling incre­asing num­bers of users and data wit­hout com­pro­mi­sing per­for­mance or speed. The archi­tec­tu­re should be fle­xi­ble to sup­port future enhance­ments and inte­gra­ti­ons.
  3. AWS Inte­gra­ti­on: Imple­ment the solu­ti­on on AWS to levera­ge its robust, sca­lable infra­struc­tu­re. The sys­tem should seam­less­ly com­mu­ni­ca­te with the mobi­le app, ensu­ring real-time updates and inter­ac­tions. AWS ser­vices will be used to hand­le data sto­rage, pro­ces­sing, and machi­ne lear­ning model deploy­ment, pro­vi­ding a relia­ble back­bone for the recom­men­da­ti­on sys­tem.

The Challenge

Fashion is high­ly sub­jec­ti­ve, making it dif­fi­cult to deve­lop a sys­tem that can uni­ver­sal­ly recom­mend sty­lish and diver­se out­fits. Indi­vi­du­al pre­fe­ren­ces, sar­to­ri­al liter­acy, and per­so­nal expe­ri­en­ces great­ly influence how peo­p­le per­cei­ve and cate­go­ri­ze styl­es. Deve­lo­ping an algo­rithm that can navi­ga­te the­se nuan­ces and deli­ver per­so­na­li­zed, accu­ra­te recom­men­da­ti­ons is a com­plex task.

The Solution

Fea­ture Extra­c­tion with Fashion­For­mer: Imple­men­ta­ti­on of the Fashion­For­mer model, capa­ble of iden­ti­fy­ing 46 gar­ment types and 294 distinct attri­bu­tes, pro­vi­ding a robust foun­da­ti­on for fea­ture extra­c­tion.

Style Clus­te­ring with Poly­lin­gu­al Topic Mode­ling: Used Poly­lin­gu­al Topic Mode­ling to cate­go­ri­ze extra­c­ted attri­bu­tes by body parts and appli­ed Latent Dirich­let Allo­ca­ti­on (LDA) to iden­ti­fy coher­ent style clus­ters. Employ­ed an ite­ra­ti­ve pro­cess to refi­ne style cate­go­riza­ti­on, enhan­cing both cohe­rence and diver­si­ty.

Simi­la­ri­ty Search with FAISS: Imple­men­ta­ti­on of Face­book AI Simi­la­ri­ty Search (FAISS) to effi­ci­ent­ly find sty­li­sti­cal­ly simi­lar out­fits, hand­ling lar­ge data­sets accu­ra­te­ly.

AWS Imple­men­ta­ti­on:

  • Image Pro­ces­sing: When an image is uploa­ded, it is pro­ces­sed by Fashion­For­mer run­ning on an EC2 ins­tance.
  • Data Sto­rage: The resul­ting attri­bu­tes and garm­ents are stored in AWS RDS, while images are backed up in an AWS S3 bucket.
  • Simi­la­ri­ty Sear­ches: Inco­ming simi­la­ri­ty sear­ches are pro­ces­sed on AWS EC2 ins­tances.

The archi­tec­tu­re ensu­res that data flows seam­less­ly from user inter­ac­tions on the app, through the mes­sa­ge bro­ker and API gate­way, to the pro­ces­sing units and sto­rage ser­vices. This design sup­ports sca­la­bi­li­ty, robust­ness, and effi­ci­ent data manage­ment, ensu­ring that 99flairs can pro­vi­de per­so­na­li­zed and accu­ra­te out­fit recom­men­da­ti­ons in real-time.

The Results

By navi­ga­ting the com­ple­xi­ties of style sub­jec­ti­vi­ty and lever­aging advan­ced machi­ne lear­ning tech­ni­ques, this pro­ject suc­cessful­ly deve­lo­ped a sophisti­ca­ted out­fit recom­men­da­ti­on sys­tem. This sys­tem not only addres­ses the core chal­lenges of style pre­dic­tion but also offers a prac­ti­cal solu­ti­on that can inspi­re inno­va­ti­on in the fashion indus­try. For a detail­ed gui­de on the data sci­ence part with all my thought pro­ces­ses, code examp­les, and a detail­ed inves­ti­ga­ti­on of the results check out my Medi­um artic­le. After lan­guage models rea­ched a decent level in describ­ing images this year (2024), I accept­ed the chall­enge to rebuild the sys­tem as a show­ca­se using sta­te-of-the-art Gene­ra­ti­ve AI. You can read about the new imple­men­ta­ti­on here or direct­ly try out the new model by uploa­ding an image here.

Learn how we helped 100 top brands gain success