Rear-Geometry API Specification
Implementation-ready REST spec for segmentation, pose estimation, SMPL-X fitting, cloth mesh reconstruction, rear-geometry metrics, tension analysis, fit classification, and pattern engineering.
2.1 POST /cnf/rear-geometry/analyze
Run the full CNF pipeline on an input image and return all rear-geometry metrics.
{
"image_ref": "string",
"options": {
"return_mesh": true,
"return_tension_map": true,
"return_fitband": true
}
}Response
{
"cnfcaseid": "string",
"segmentation": { "person_mask_ref": "string", "jeans_mask_ref": "string" },
"pose": { "keypoints_2d": [[x,y]], "keypoints_3d": [[x,y,z]] },
"body_mesh": { "vertices_ref": "string", "faces_ref": "string" },
"cloth_mesh": { "vertices_ref": "string", "faces_ref": "string" },
"rear_geometry": {
"seat_curvature": { "mean": 0.0, "std": 0.0, "samples": [{"z":0.0,"curvature":0.0}] },
"projection_mm": { "mean": 0.0, "std": 0.0, "peak": 0.0 },
"cloth_body_distance": { "tight_zone_ratio": 0.0, "regular_zone_ratio": 0.0, "relaxed_zone_ratio": 0.0 }
},
"tension": { "upper_seat": 0.0, "side_seam": 0.0, "thigh": 0.0, "tension_map_ref": "string" },
"fit_classification": { "fitband": "tight|regular|relaxed", "comfort_score": 0.0, "structure_score": 0.0 }
}2.2 POST /cnf/rear-geometry/multi-pose
Run analysis across multiple poses: standing, walking, seated, hip-hinge.
{
"image_refs": { "neutral": "string", "walking": "string", "seated": "string", "hip_hinge": "string" }
}Response
{
"cnfcaseid": "string",
"poses": { "neutral": {}, "walking": {}, "seated": {}, "hip_hinge": {} },
"multi_pose_metrics": {
"projection_variance_mm": 0.0,
"curvature_variance": 0.0,
"tension_variance": 0.0
}
}2.3 POST /cnf/rear-geometry/pattern-adjustment
Generate denim pattern adjustments based on projection, curvature, and tension targets.
{
"cnfcaseid": "string",
"style_code": "string",
"targets": { "projection_mm": 27.5, "curvature": 0.91, "tension_upper_seat_max": 0.15, "tension_side_seam_max": 0.18 }
}Response
{
"style_code": "string",
"pattern_adjustments": {
"seat_ease_mm": { "old": 14, "new": 15.2, "delta": 1.2 },
"thigh_ease_mm": { "old": 10, "new": 11.0, "delta": 1.0 },
"yoke_angle_deg": { "old": 18, "new": 19, "delta": 1 },
"rise_curve": { "adjustment": "increase curvature", "delta": 0.03 }
}
}2.4 GET /cnf/rear-geometry/fitband/{cnfcaseid}
Return FitBand classification for a completed analysis.
{ "cnfcaseid": "string", "fitband": "tight|regular|relaxed", "confidence": 0.0 }3. Data Models
| Model | Key Fields |
|---|---|
| RearGeometry | seat_curvature (mean, std, samples), projection_mm (mean, std, peak), cloth_body_distance (tight/regular/relaxed zone ratios) |
| TensionMetrics | upper_seat, side_seam, thigh floats |
| PatternAdjustment | seat_ease_mm, thigh_ease_mm, yoke_angle_deg, rise_curve |
4. Processing Pipeline
4.1 Segmentation — U-Net / Mask R-CNN → person mask, jeans mask.
4.2 Pose Estimation — HRNet / OpenPose → pelvis, hips, spine base.
4.3 SMPL-X Fitting — reprojection error + silhouette IoU + shape/pose priors → body mesh Mb.
4.4 Cloth Mesh Reconstruction — template mesh + learned offset field + seam alignment → cloth mesh Mc.
4.5 Geometry Extraction
κ(z_k) = d²y/dx² ÷ (1 + (dy/dx)²)^(3/2)
p_max = max_i n · (v_i − v_pelvis)
d_j = || u_j − Π(u_j, M_b) ||
4.6 Tension Modeling
T_j = a·max(0, d_target − d_j) + b·κ_j + c·Δs_j
4.7 Fit Classification — FitBand = argmax over tight/regular/relaxed zone ratios + projection/curvature mismatch.
5. Use Cases
- Levi's pattern engineering and CAD feedback loops
- Denim fit certification (V-RFC standards)
- Cohort-based recommendation engines
- Dynamic fit simulation across 12 poses
- Manufacturing tolerance validation