# CM95 → NavSea Standard Layer 人工分类最终报告 v2 日期:2026-10-06 ## 1. 最终结论 CM95 当前 Style 正向可达的 150 个唯一视觉资源已全部完成人工分类,未确认项为 0。 最终目标是把 CM95/S-52 对象归入现有 NavSea Standard Layer;Standard Visual Object 一一对应仅作为可选辅助证据。 ## 2. 冻结输入基线 - CM95 Style SHA256:`6c25ce3e5c1db65060be01ca899acf7f49228fb2277572dc1868c3d34019d4b0` - NavSea Standard Style SHA256:`18b32ad1ea2d3798000abe21406d2f2a5225968910aed48d7ca5b1a1cb7f3ce6` - NavSea Standard Catalog 状态:`FROZEN` - CM95 唯一视觉资源:`150` - CM95 Anonymous Visual Object occurrence:`3699` ## 3. 人工资源级分类 - `MATCH`:`14` - `PARTIAL`:`93` - `AMBIGUOUS`:`6` - `COMPONENT`:`35` - `UNKNOWN`:`2` Assignment mode: - `VISUAL_OBJECT_MATCH`:`67` - `LAYER_ONLY`:`46` - `COMPONENT_ONLY`:`35` - `UNKNOWN`:`2` 其中 `LAYER_ONLY` 是正常结果:表示所属 NavSea Layer 已确认,但当前 Standard Catalog 中没有要求必须绑定的一一对应标准图标。 ## 4. 最终 occurrence 级结果 - 总 Visual Object:`3699` - 唯一确定 NavSea Layer:`2536` - MATCH:`323` - PARTIAL:`2213` - AMBIGUOUS:`168` - COMPONENT:`835` - UNKNOWN:`160` ### 已实际使用的唯一标准 Layer - `anchor_caution_hazard_point`:occurrence `178`(MATCH `117` / PARTIAL `61`) - `anchorage_point`:occurrence `84`(MATCH `84` / PARTIAL `0`) - `baseline_line`:occurrence `6`(MATCH `0` / PARTIAL `6`) - `bridge_structure`:occurrence `28`(MATCH `0` / PARTIAL `28`) - `clip_outline_754`:occurrence `52`(MATCH `0` / PARTIAL `52`) - `depth_contour`:occurrence `6`(MATCH `0` / PARTIAL `6`) - `facility_boundary_outline`:occurrence `28`(MATCH `0` / PARTIAL `28`) - `facility_boundary_point`:occurrence `168`(MATCH `28` / PARTIAL `140`) - `fixed_fishing_gear_area`:occurrence `88`(MATCH `5` / PARTIAL `83`) - `hazard_boundary_outline`:occurrence `6`(MATCH `0` / PARTIAL `6`) - `land_area`:occurrence `10`(MATCH `5` / PARTIAL `5`) - `navigation_hazard_point`:occurrence `61`(MATCH `28` / PARTIAL `33`) - `navigation_marks`:occurrence `1182`(MATCH `0` / PARTIAL `1182`) - `onshore_structure_point`:occurrence `588`(MATCH `28` / PARTIAL `560`) - `pilot_station_point`:occurrence `28`(MATCH `28` / PARTIAL `0`) - `place_label_land`:occurrence `5`(MATCH `0` / PARTIAL `5`) - `seabed_line`:occurrence `18`(MATCH `0` / PARTIAL `18`) ## 5. 校验结果 - 总体:`PASS` - 硬校验项:`18` PASS / `0` FAIL - 语义复核 warning:`7` 项 固定校验命令: ```bash python3 tools/style-visual-object/validate_cm95_classification.py ``` ### 人工结果与 S-52 语义规则的复核 warning 这些 warning 不会覆盖人工结果,只作为后续需要时复核的线索: - `FSHHAV01` 鱼礁/鱼类栖息设施:人工 `anchor_caution_hazard_point`;语义建议 `submerged_reef_area`(0.72) - `FSHHAV02` 鱼礁/鱼类栖息设施:人工 `navigation_hazard_point`;语义建议 `submerged_reef_area`(0.72) - `BRTHNO01` 泊位编号:人工 `navigation_marks`;语义建议 `facility_boundary_point`(0.88) - `MARSHES1` 沼泽:人工 `place_label_land`;语义建议 `land_area`(0.86) - `MORFAC03` 系泊墩:人工 `anchor_caution_hazard_point`;语义建议 `facility_boundary_point`(0.88) - `PILPNT02` 桩/系缆柱:人工 `anchor_caution_hazard_point`;语义建议 `facility_boundary_point`(0.88) - `ap-FSHHAV02` 鱼礁填充图案:人工 `anchor_caution_hazard_point`;语义建议 `submerged_reef_area`(0.72) ## 6. Git 中的权威结果 - `output/cm95-manual-review/manual-review-v1.json`:150 项人工决定原始记录。 - `output/cm95-manual-review/reviewed-anchors-manual-v1.json`:非 UNKNOWN 的人工导出锚点。 - `output/cm95-manual-review/assignment/cm95-layer-assignment-v1.json`:最终 occurrence 级 Layer Assignment。 - `output/cm95-manual-review/assignment/cm95-layer-assignment-v1.csv`:资源级摘要。 - `output/cm95-manual-review/assignment/cm95-layer-assignment-v1.html`:可视报告。 - `output/cm95-manual-review/validation-report-v1.json`:机器校验结果。 - `cm95_semantic_layer_rules_v1.json`:CM95/S-52 Provider Layer Classifier 声明式规则。 - `validate_cm95_classification.py`:固定一致性校验逻辑。 ## 7. 架构边界 - 通用 Style Visual Object Tool 继续保持 Provider-neutral:`Style + Sprite → Anonymous Visual Object`。 - Provider Layer Classifier 才允许使用 S-52 官方语义资料。 - CM95 `source-layer` 不作为 Layer 分类依据。 - 人工分类是最终权威;语义/视觉建议只作辅助。 - 后续 CM95 Style/Sprite 或 NavSea Standard Layer 基线不变时,不重复人工分类。