Hopit AI
The intelligence layer fashion commerce runs on. We build fashion-native retrieval and attribute extraction, and we measure both in public: full corpus, one harness, competitors included, losses shown.
Two benchmark suites
They answer different questions, so they are kept apart and never combined into a single score. Retrieval asks which product a shopper meant. Attribute extraction asks what a garment actually is. A system can be strong at one and weak at the other.
MODA: retrieval and search
Given a photo or a phrase, find the right product. Covers image-to-product similarity, text-to-product catalogue search, and street-photo to catalogue matching. Every cell is MAP@10 at full corpus under one evaluator, with competitor models run through identical preprocessing.
MODA_NER: attribute extraction
Turn a fashion image into structured product data: category, colour, fit, neckline, sleeve length, pattern, material. Four frozen tracks covering garment crops, catalogue images, applicability-aware full-body photos and product text. Predictions are hashed before labels open.
What each one measures
| Suite | Question | Input | Scored on |
|---|---|---|---|
| MODA | Which product did they mean? | A photo, or a phrase | MAP@10, full corpus, one evaluator |
MODA_NER crop | What is this garment? | A cropped garment | 15 attribute fields |
MODA_NER catalog | What colour and fit? | A catalogue product image | 10 fields including colour and fit |
MODA_NER fullbody | Is the attribute even visible? | A full-body photo | 18 fields with an explicit not-applicable class |
MODA_NER text | What do the words claim? | Product title or description | 13 entity types |
The method both suites share
- Full corpus only. No subsampled galleries, and screening runs are never mixed with full-corpus rows.
- One harness. Our models and competitors' run identical preprocessing and protocol. We reproduce a published baseline before comparing against it.
- Predict before the labels open. Prediction files are hashed and committed before scoring, so they cannot be revised once the answers are visible.
- Score every row. Missing or unsupported predictions are reported rather than quietly dropped, and the scorers fail closed.
- Tracks are never averaged. A weak result on one track cannot be absorbed by a strong result on another.
- Losses shown. Every model card links the benchmarks it loses, and the runs that failed are written up alongside the ones that worked.
Reproduce any number
Both suites ship the scorers, the prediction files, and their hashes. We do not redistribute third-party datasets: you obtain each corpus under its own terms, and the builders recreate the frozen split from record IDs and checksums. If a number here is wrong, it is meant to be provable from the artefacts rather than argued about.