| { |
| "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 |
| } |
| } |
|
|