Fix bbox offset
This commit is contained in:
@@ -49,7 +49,7 @@ LOCAL_ARGS=(
|
||||
--feature-root "$FEATURE_ROOT" --target-root "$TARGET_ROOT"
|
||||
--model-id "$MODEL" --device cuda:0 --dtype bfloat16 --flash-attention-2
|
||||
--video-fps 2 --visual-window-seconds 1 --audio-window-seconds 1
|
||||
--box-kind face --box-coordinate-space camera
|
||||
--box-kind face --box-coordinate-space encoded
|
||||
)
|
||||
|
||||
# 不加载模型;输出四张带框图片,请先检查框是否真在人脸上。
|
||||
@@ -62,11 +62,22 @@ python extract_turn_local_features.py "${LOCAL_ARGS[@]}" \
|
||||
```
|
||||
|
||||
EasyCom face 标注首帧是 1,head 首帧是 0;按**原始解码帧号**取框。
|
||||
视频裁去左侧身份 banner,保留右侧 1920 像素;默认框坐标属于裁后的相机图像。
|
||||
如果你的导出文件的框坐标含 banner,需要改成 `--box-coordinate-space encoded`。
|
||||
必须通过 preview 检查这个约定,不能只看最终特征维度。
|
||||
视频裁去左侧身份 banner,保留右侧 1920 像素;这份 EasyCom 标注的框坐标包含 banner。
|
||||
EasyCom 默认使用 `encoded`,先减去当前源视频的裁剪起点,再裁框:
|
||||
`x_camera = x_annotation - (source_width - 1920)`。例如已核对的 Session_4 原视频宽度
|
||||
为 2124,应减去 204;不同视频可能不同,不能统一硬编码。y 也按实际裁剪起点转换。
|
||||
`camera` 仅用于已经手动换算到裁后图像的标注;Ego4D 无此 banner 裁剪,默认仍为 `camera`。
|
||||
之前示例中的 `camera` 参数会导致这份原始 EasyCom 标注统一右偏,现已更正。
|
||||
若当前 shell 的 `LOCAL_ARGS` 还含旧参数,请修改它,或将 `--box-coordinate-space encoded`
|
||||
放在 `"${LOCAL_ARGS[@]}"` **后面**覆盖旧值。仅更新代码不会覆盖显式传入的旧参数。
|
||||
预览会打印 source/cropped 尺寸与实际扣除偏移,同时在预览目录生成 `boxes.json`,
|
||||
记录原框、裁后框与源帧号。必须检查框确实落在人脸上,不能只看最终特征维度。
|
||||
官方帧号与 banner 说明见 [EasyCom 数据说明](https://github.com/facebookresearch/EasyComDataset#notes-and-known-issues)。
|
||||
|
||||
若已经用错误坐标提取局部视觉特征,必须重新从图像提取,不能靠修改 `.pt` 中的框坐标修复。
|
||||
推荐输出到新目录(例如 `local_qwen_1s_encoded`),并把训练的 `LOCAL_ROOT` 指向新目录。
|
||||
原全局 Omni 特征和 baseline 无需重算;旧局部 V/AV 训练结果不可与修正后的特征混用。
|
||||
|
||||
```bash
|
||||
python - <<'PY'
|
||||
import torch
|
||||
|
||||
Reference in New Issue
Block a user