feat(ceus): 两半坐标换算改为每段视频配准,加目视核对脚本
- 第 1 步分屏后在两半扇形区内用边缘图归一化互相关估 (dx, dy),再用逐帧多块模板匹配的中位数独立核对; 两者各分量之差超过门槛(15 像素)这一例第 1 步失败。删掉「两个视图左上角相减」的实现与测试。 - 门槛依据:34 例中走完第 1 步的 29 例,差值中位 2、95 分位 6.2、最大 13;参数与门槛在同一批视频上调出。 - scripts/ceus_align_review.py:只做第 1 步,出扇形区棋盘图与边缘叠加图,混入错开 15–30 像素的 阴性对照、随机编号;计分时任一对照未被判「没对齐」即作废。 - ceus_quant 读 review.csv:不通过的病例第 1 步失败;表里没有这段视频或平移对不上即停。 - 配准与紫圈颜色参数进分割缓存键。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+37
-2
@@ -1,8 +1,9 @@
|
||||
# CEUS 定量的配置,给 scripts/ceus_quant.py 用。
|
||||
#
|
||||
# 分三段:paths(位置)、segment(分割设置,任务书 02 第二阶段加)、ceus(算法参数)。
|
||||
# 分四段:paths(位置)、align_check(配准目视核对的出图,scripts/ceus_align_review.py 用)、
|
||||
# segment(分割设置,任务书 02 第二阶段加)、ceus(算法参数)。
|
||||
# ceus 段的字段定义和校验在 src/cadx/ceus/_config.py,segment 段在 src/cadx/segment/_config.py;
|
||||
# paths 段和最外层由 scripts/ceus_quant.py 定义。路径都相对仓库根目录。
|
||||
# paths、align_check 两段和最外层由 scripts/ceus_quant.py 定义。路径都相对仓库根目录。
|
||||
# 每个字段必填,可以没有的值写 null。
|
||||
#
|
||||
# ceus 段的数值逐个照抄旧项目 config/ceus_roi_default.yaml,没有改动(待定问题/02:参数何时冻结)。
|
||||
@@ -17,6 +18,15 @@ paths:
|
||||
delivery_dir: data/交付包_20260908_40例 # 交付包位置,相对仓库根目录
|
||||
runs_root: runs/ceus # 每次运行一个子目录,只追加不删
|
||||
work_root: work # 可删掉重算的中间文件(分割缓存)
|
||||
align_runs_root: runs/ceus_align # 配准目视核对,每次出图一个子目录,只追加不删
|
||||
# 配准目视核对的结果表(scripts/ceus_align_review.py score 写出的 review.csv)。ceus_quant 按视频
|
||||
# SHA-256 查它,文件不存在就报错停下。下面是占位路径:目视核对通过后改成实际路径
|
||||
align_review: runs/ceus_align/目视核对通过后改成实际运行号/review.csv
|
||||
|
||||
align_check: # 配准目视核对的出图(任务书 02「配准的目视核对」)。本仓库新加
|
||||
seed: 20261016 # 挑阴性对照、定错开方向和编号用的随机数种子。本仓库新加,取任务日期,无其他含义
|
||||
control_count: 10 # 阴性对照约 10 例。出自任务书 02「配准的目视核对」第 1 步
|
||||
control_shift_px: [15, 30] # 对照故意错开的距离(像素,欧氏长度)区间,方向随机。出自同上
|
||||
|
||||
segment: # 分割设置,字段定义在 src/cadx/segment/_config.py。出自旧项目 debugs/medsam2_local_track.py
|
||||
medsam2_dir: reference/MedSAM2 # MedSAM2 代码,提交号从它的 .git 读。旧脚本是远程 /home/wangwenhan/MedSAM2
|
||||
@@ -38,6 +48,31 @@ ceus:
|
||||
split_sample_frames: 25 # 找分屏线只用均匀抽的 25 帧。旧 debug 脚本写死的数,旧项目工程侧定的,无出处
|
||||
split_search_band: [0.35, 0.65] # 只在宽度的这一段里找分屏线。旧 detect_split_x 的参数默认值,旧项目工程侧定的,无出处
|
||||
|
||||
# 两半配准(第 1 步):每段视频单独估左半到右半的平移(任务书 02 第一阶段第 1 条)。整段是本仓库
|
||||
# 新加的,旧项目用写死的锚点、没有这一步。取值依据 2026-10-16 在 8 段真实视频(覆盖 5 种帧宽)上的
|
||||
# 只读实测和同日 34 例的差值分布,见各行
|
||||
registration:
|
||||
sample_frames: 30 # 均匀抽 30 帧求时间平均和标准差。本仓库新加,2026-10-16 实测取的,无外部出处
|
||||
top_ignore_ratio: 0.0834 # 顶部信息栏,与 prompt_source.ignore_regions 那条文字带同高。本仓库新加,依据 2026-10-16 实测
|
||||
# 时间标准差高于 4(8 位灰度)算扇形区:静止的文字、色标、刻度标准差近 0。本仓库新加,依据
|
||||
# 2026-10-16 实测
|
||||
fan_std_threshold: 4.0
|
||||
fan_open_kernel: 5 # 本仓库新加,依据 2026-10-16 实测
|
||||
mark_dilate: 3 # 绿框紫圈像素外扩 3 像素再修补。本仓库新加,依据 2026-10-16 实测
|
||||
blur_sigma: 2.0 # 本仓库新加,依据 2026-10-16 实测
|
||||
# 搜索范围:|dx| ≤ 0.5 × 左半宽、|dy| ≤ 0.15 × 左半高。8 段实测水平错位 −10 到 +182 像素
|
||||
# (最大约 0.38 倍半宽)、竖直 0–5 像素。本仓库新加,依据 2026-10-16 实测
|
||||
search_x_ratio: 0.5
|
||||
search_y_ratio: 0.15
|
||||
template_grid: [4, 4] # 本仓库新加,依据 2026-10-16 实测(3 块时有视频两块误配,改多块取中位数)
|
||||
template_size_ratio: 0.15 # 本仓库新加,依据 2026-10-16 实测
|
||||
template_min_patches: 3 # 本仓库新加,无外部出处
|
||||
# 两种方法估计各分量之差的最大值的门槛(像素)。依据:2026-10-16 在交付包检查全部通过的 34 例中
|
||||
# 走完第 1 步的 29 例上,两种方法差值最小 0、25% 分位 1、中位 2、75% 分位 2、90% 分位 5、
|
||||
# 95% 分位 6.2、最大 13;15 高于观测最大值,远低于唯一明显错配的 66。参数与门槛在同一批视频上
|
||||
# 调出,没有独立验证集。负责人 2026-10-16 定
|
||||
max_disagreement_px: 15
|
||||
|
||||
prompt_source: # 出自旧项目:findings §3.2 绿框检测
|
||||
type: color_polygon # 出自旧项目 findings §3.2
|
||||
hsv_lower: [35, 60, 60] # 出自旧项目 findings §3.2
|
||||
|
||||
Reference in New Issue
Block a user