{ "categories": { "stairs": { "display_name": "Stairs", "geometry_model": "tread_riser_block", "primary_users": ["mobility_impairment", "blind_or_low_vision"], "surface_role": "level_change_barrier", "risk_metrics": ["step_edge_continuity", "riser_height_consistency", "handrail_or_obstacle_clearance"], "annotation_priority": ["target_visible", "target_amodal", "hidden", "obstacle", "stair_edges_y"], "notes": "Use category-specific tread and riser geometry. Do not treat stairs as one smooth ramp." }, "ramp": { "display_name": "Accessible Ramp", "geometry_model": "sloped_prism", "primary_users": ["wheelchair_user", "walker_user", "mobility_impairment"], "surface_role": "accessible_level_change", "risk_metrics": ["slope", "cross_slope", "landing_continuity", "side_edge_clearance"], "annotation_priority": ["target_visible", "target_amodal", "hidden", "obstacle", "ramp_edges"], "notes": "Fit a continuous sloped surface and solidify as a ramp prism with side caps." }, "tactile_paving": { "display_name": "Tactile Paving", "geometry_model": "surface_attachment_ribs_or_domes", "primary_users": ["blind_or_low_vision"], "surface_role": "navigation_cue", "risk_metrics": ["pattern_direction", "pattern_periodicity", "warning_surface_coverage", "continuity_under_occlusion"], "annotation_priority": ["target_visible", "target_amodal", "hidden", "obstacle", "pattern_type"], "notes": "Reconstruct as shallow raised dots/ribs attached to a walkway or ramp base surface, not as a standalone thick body." }, "curb_cut": { "display_name": "Curb Cut", "geometry_model": "curb_ramp_prism", "primary_users": ["wheelchair_user", "walker_user", "mobility_impairment"], "surface_role": "street_sidewalk_transition", "risk_metrics": ["curb_transition_height", "ramp_slope", "gutter_alignment", "truncated_dome_presence"], "annotation_priority": ["target_visible", "target_amodal", "hidden", "obstacle", "curb_edges"], "notes": "Model as a local ramp transition between sidewalk and roadway, often with tactile warning surface." }, "raised_curb": { "display_name": "Raised Curb", "geometry_model": "raised_curb_prism", "primary_users": ["wheelchair_user", "walker_user", "blind_or_low_vision", "mobility_impairment"], "surface_role": "non_walkable_level_change_barrier", "risk_metrics": ["curb_height", "top_edge_continuity", "vertical_face_continuity", "route_clearance"], "annotation_priority": ["target_visible", "target_amodal", "hidden", "obstacle", "curb_top_edge", "curb_base_edge"], "notes": "Model as one continuous raised prism with a top surface and vertical face. Never infer repeated stair treads or a sawtooth profile." }, "walkway": { "display_name": "Walkway / Flat Ground", "geometry_model": "flat_or_low_slope_slab", "primary_users": ["wheelchair_user", "walker_user", "blind_or_low_vision"], "surface_role": "travel_path", "risk_metrics": ["surface_continuity", "clear_width", "obstacle_clearance", "roughness"], "annotation_priority": ["target_visible", "target_amodal", "hidden", "obstacle"], "notes": "Use a continuous slab or low-slope plane. Keep tactile paving as a separate overlay category when present." } }, "user_groups": { "wheelchair_user": { "requires": ["ramp", "curb_cut", "walkway"], "high_risk_categories": ["stairs", "raised_curb", "curb_cut", "ramp"] }, "walker_user": { "requires": ["ramp", "curb_cut", "walkway"], "high_risk_categories": ["stairs", "raised_curb", "walkway"] }, "blind_or_low_vision": { "requires": ["tactile_paving", "curb_cut", "stairs", "walkway"], "high_risk_categories": ["tactile_paving", "stairs", "raised_curb", "curb_cut"] }, "mobility_impairment": { "requires": ["ramp", "curb_cut", "walkway", "stairs"], "high_risk_categories": ["stairs", "raised_curb", "ramp", "curb_cut"] } }, "dataset_policy": { "split_by_category": true, "split_by_user_group": true, "allow_multi_label": true, "gold_for_training": false, "automatic_category_is_ground_truth": false, "automatic_mask_is_ground_truth": false } }