2026-05-24-22-40-13 新增自动微调匹配工作区

This commit is contained in:
2026-05-24 23:13:34 +08:00
parent 3d732ec898
commit bca3619b9b
12 changed files with 1286 additions and 4 deletions

View File

@@ -1833,3 +1833,21 @@ C. 解决问题方案
D. 后续如何避免问题
涉及 DICOM/STL 配准的坐标系必须独立于可见性、筛选条件和 UI 状态性能优化可以只加载可见构件的高精度网格但全局中心、缩放、slice Z 映射应来自稳定的全部模型边界。凡是用户反馈“隐藏某构件后其他构件位置变了”,优先检查 bounds 是否被可见列表重算。
## 2026-05-24-22-40-13 自动微调匹配要锁定人工旋转并使用同一导出坐标系
A. 具体问题
用户希望在逆向工作区先人工调好大致旋转,然后进入一个新的自动微调匹配工作区,只让系统自动尝试平移 X/Y/Z 与缩放,使用骨骼区域和 DICOM 骨窗收敛到更好的位置。
B. 产生问题原因
项目此前只有人工位姿控件和导出时的 STL/DICOM 映射逻辑,没有单独的自动优化入口。若自动匹配重新定义坐标系或允许修改旋转,会破坏用户已经完成的人工粗配准;若评分只奖励重合,不限制移动和缩放,也容易出现“为了命中骨窗而漂移”的局部最优。
C. 解决问题方案
新增 `AUTO_MATCH` 视图、侧边栏入口和逆向工作区顶部“自动微调匹配”按钮,点击时携带当前位姿。服务端新增 `POST /api/projects/:projectId/auto-match``PATCH /api/projects/:projectId/model-pose`:匹配接口复用导出模块的 STL 全局 bounds、DICOM HU 体数据和 `transformPointForExportPose` 位姿变换;默认选择骨骼命名 STL按三角面中心采样使用 HU 骨窗阈值给骨命中奖励、非骨/越界惩罚,并叠加移动惩罚和缩放惩罚;候选搜索从粗到细尝试单参数和组合参数。应用接口会写入 `auto-match` 位姿,并在项目锁定时拒绝覆盖。
D. 后续如何避免问题
后续继续优化自动配准时,要保持“人工旋转锁定、自动只微调平移/缩放”的边界,且必须复用导出/映射同一坐标系。评分函数可以继续替换为 Dice、Chamfer、距离变换或多线程 Worker但移动惩罚、缩放惩罚、候选上限和锁定项目保护不能省否则会出现匹配看似得分更高、实际位置漂移或覆盖锁定项目的问题。