DeepFashion2 (DF2) is the successor to DF1. It is a multitask clothing dataset and benchmark designed to evaluate:
within a single unified platform.
The df2felout.zip artifact converts DF2’s original annotations (JSON + retrieval JSON) into a normalized schema directly compatible with the FEL graph and learning pipeline.
pair_id)DF2:{split}:... to avoid global primary-key collisionssrc_file, row_index) for reproducibility and traceabilityhard_fail = False (no critical errors)Input paths confirmed via artifact provenance (src_file fields):
train/annos/000001.json → recorded in images/items/bbox/etc.json_for_validation/val_query.json → retrieval_queryjson_for_validation/val_gallery.json → retrieval_galleryMinimal required structure:
(df2_root)
├─ train/
│ └─ annos/
│ ├─ 000001.json
│ ├─ 000002.json
│ └─ ...
└─ json_for_validation/
├─ val_query.json
└─ val_gallery.json
Expected (assumed) structure by the code:
*/{split}/annos/*.json (train / val / test)Note: Some test retrieval files may be detected during QC but are not parsed into normalized tables.
According to normalized/manifest.csv, there are 11 core artifacts:
images.csv.gzitems.csv.gzpair_items.csv.gzpairs.csv.gzbbox.csv.gzsegmentation.jsonl.gzkeypoints_raw.jsonl.gzquality_flags.csv.gzretrieval_query.csv.gzretrieval_gallery.csv.gzretrieval_pairs.csv.gzAudit / validation:
manifest.*qc_summary.jsonDF2 provides strong signals for:
➡️ Same-item consistency ➡️ Cross-domain linkage (user ↔ shop)
based on the pair-centric design.
Image node → image_uid
(e.g., DF2:train:img/000001)
Pair node → pair_uid
(e.g., DF2:train:pair/1)
Item node → item_uid
(e.g., DF2:train:itm/000001/item1)
(Optional) Evaluation sample node → retrieval query/gallery rows
pair_uid → has_image → image_uid
image_uid → has_item → item_uid
pair_uid → has_item → item_uid
item_uid → has_bbox → bbox
item_uid → has_segmentation → segmentation
item_uid → has_keypoints → keypoints
(pair_id, style) → retrieval_positive → (query_image_uid, gallery_image_uid)
While DF1 strengthens category/attribute/text signals, DF2 emphasizes:
The pair_uid acts as the central hub for identity relationships.
images.csv.gz — image-level entities
image_uidimage_id_rawimage_id_intpair_uiditems.csv.gz — clothing instances inside images
item_uidpair_items.csv.gz — pair ↔ item bridge (critical for graph linkage)
pairs.csv.gz — pair-level aggregation (image lists preserved as JSON array strings)
bbox.csv.gz → bounding boxes (normalized to xyxy)segmentation.jsonl.gz → segmentation (variable structure)keypoints_raw.jsonl.gz → keypoints (variable structure)quality_flags.csv.gz → occlusion / viewpoint / scale / zoom metadataretrieval_query.csv.gzretrieval_gallery.csv.gzretrieval_pairs.csv.gzImportant implementation detail:
Some DF2 retrieval files use non-padded numeric IDs.
Therefore:
image_id_raw = "000001"image_id_int = 1Joins are stabilized using image_id_int.
DF2 uses a pair-centric architecture, unlike DF1’s image-centric structure.
pairs.csv.gz acts as the hub node.
All images, items, and retrieval links connect through pair_id.
Pairs → Images → Items → (BBox / Seg / Keypoints / QualityFlags)
Separates:
This enables both identity evaluation and fine-grained learning within a single schema.
(pair_id, style)image_id_int) unifies joins across levelsqc_summary.jsonmanifest.*These represent extraction integrity rather than semantic data nodes.
They are typically shown as dashed conceptual links in graphs.
Click below to open the interactive graph in a new window:
Open DF2 Graph Interactive EditorThe normalized DF2 dataset: