从 GazeFollow 到 VideoAttentionTarget:Gaze-LLE 跨数据集训练全攻略
从 GazeFollow 到 VideoAttentionTargetGaze-LLE 跨数据集训练全攻略【免费下载链接】gazelleGaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders (CVPR 2025, Highlight)项目地址: https://gitcode.com/gh_mirrors/gazel/gazelleGaze-LLE 是一个革命性的视线目标估计模型它通过大型预训练编码器实现了高效准确的视线追踪。作为 CVPR 2025 的亮点论文Gaze-LLE 提供了一种全新的视线目标检测方法特别适合从 GazeFollow 数据集到 VideoAttentionTarget 数据集的跨数据集训练。本文将为您详细介绍如何使用 Gaze-LLE 实现这一跨数据集训练过程帮助您快速掌握这一先进的视线追踪技术。 Gaze-LLE 模型架构简介Gaze-LLE 的核心创新在于它使用冻结的预训练视觉编码器DINOv2只训练一个轻量级的视线解码器。这种设计使得模型参数数量比先前工作少 1-2 个数量级同时不需要额外的深度或姿态输入模态。Gaze-LLE 模型架构图展示了基于 DINOv2 预训练编码器的视线目标检测流程模型的主要组件位于 gazelle/model.py 文件中包括DINOv2 骨干网络提供强大的视觉特征提取能力轻量级 Transformer 解码器专门用于视线目标预测头部位置编码处理输入的人头边界框信息热图预测头生成视线目标的热力图分布 数据集准备与预处理GazeFollow 数据集准备GazeFollow 是视线目标检测的基础数据集。首先需要下载数据集并运行预处理脚本python data_prep/preprocess_gazefollow.py --data_path /path/to/gazefollow/data_new预处理脚本位于 data_prep/preprocess_gazefollow.py它会将原始标注转换为 JSON 格式方便后续训练使用。VideoAttentionTarget 数据集准备VideoAttentionTarget 数据集增加了视线是否在画面内的判断任务。同样需要预处理python data_prep/preprocess_vat.py --data_path /path/to/videoattentiontargetVideoAttentionTarget 数据集中的视线目标检测示例模型需要判断视线是否在画面内 从 GazeFollow 到 VideoAttentionTarget 的完整训练流程第 1 步GazeFollow 基础训练首先在 GazeFollow 数据集上训练基础模型。Gaze-LLE 提供了两种骨干网络选择ViT-B更快的训练速度适合快速实验ViT-L更高的精度适合追求最佳性能训练 ViT-B 模型python scripts/train_gazefollow.py \ --data_path /path/to/gazefollow/data_new \ --model_name gazelle_dinov2_vitb \ --exp_name train_gazelle_vitb_gazefollow训练 ViT-L 模型python scripts/train_gazefollow.py \ --data_path /path/to/gazefollow/data_new \ --model_name gazelle_dinov2_vitl \ --exp_name train_gazelle_vitl_gazefollow训练脚本 scripts/train_gazefollow.py 会自动冻结 DINOv2 骨干网络只训练视线解码器部分大大减少了训练参数数量。第 2 步跨数据集迁移到 VideoAttentionTarget在 GazeFollow 上训练好的模型基础上迁移到 VideoAttentionTarget 数据集进行微调。这一步的关键是添加了视线是否在画面内的预测任务。训练 ViT-B 模型python scripts/train_vat.py \ --data_path /path/to/videoattentiontarget \ --model_name gazelle_dinov2_vitb_inout \ --init_ckpt /path/to/gazelle_dinov2_vitb_checkpoint.pt \ --exp_name train_gazelle_vitb_vat训练 ViT-L 模型python scripts/train_vat.py \ --data_path /path/to/videoattentiontarget \ --model_name gazelle_dinov2_vitl_inout \ --init_ckpt /path/to/gazelle_dinov2_vitl_checkpoint.pt \ --exp_name train_gazelle_vitl_vatGaze-LLE 在 The Office 数据集上的视线目标检测效果展示第 3 步关键训练技巧与参数设置1. 学习率策略VideoAttentionTarget 训练使用了不同的学习率设置非视线内/外头部分学习率 1e-5视线内/外头部分学习率 1e-2这种差异化的学习率策略在 scripts/train_vat.py 中实现确保新添加的视线内/外预测头能够快速收敛。2. 损失函数平衡VideoAttentionTarget 训练使用两个损失函数热图损失只针对视线在画面内的样本视线内/外损失所有样本都参与计算损失权重通过--inout_loss_lambda参数控制默认值为 1.0。3. 帧采样策略为了提高训练效率VideoAttentionTarget 训练时默认每 6 帧采样一帧--frame_sample_every 6 模型评估与性能验证GazeFollow 评估python scripts/eval_gazefollow.py \ --data_path /path/to/gazefollow/data_new \ --model_name gazelle_dinov2_vitl14 \ --ckpt_path /path/to/checkpoint.pt \ --batch_size 128VideoAttentionTarget 评估python scripts/eval_vat.py \ --data_path /path/to/videoattentiontarget \ --model_name gazelle_dinov2_vitl14_inout \ --ckpt_path /path/to/checkpoint.pt \ --batch_size 64Gaze-LLE 在电影场景中的视线目标检测效果展示了模型在复杂环境中的鲁棒性 实用技巧与最佳实践1. 预训练模型使用Gaze-LLE 提供了多种预训练模型可以直接下载使用gazelle_dinov2_vitb14基于 GazeFollow 训练的 ViT-B 模型gazelle_dinov2_vitl14基于 GazeFollow 训练的 ViT-L 模型gazelle_dinov2_vitb14_inout从 GazeFollow 迁移到 VideoAttentionTarget 的 ViT-B 模型gazelle_dinov2_vitl14_inout从 GazeFollow 迁移到 VideoAttentionTarget 的 ViT-L 模型2. 多人物视线检测Gaze-LLE 支持单张图像中的多人物视线检测。只需为每个人物提供边界框信息input { images: transform(image).unsqueeze(dim0).to(device), bboxes: [[(0.1, 0.2, 0.5, 0.7), (0.6, 0.3, 0.9, 0.8)]] # 两个人的边界框 }3. 无边界框推断对于单人物场景可以省略边界框输入input[bboxes] [[None]]体育场景中的多人视线检测Gaze-LLE 能够准确识别每个运动员的视线方向 性能优化建议1. 使用 xFormers 加速如果您的系统支持安装 xFormers 可以显著加速注意力计算pip3 install -U xFormers --index-url https://download.pytorch.org/whl/cu1182. 批量大小调整根据 GPU 内存调整批量大小GazeFollow 评估推荐批量大小 128VideoAttentionTarget 评估推荐批量大小 643. 数据增强策略虽然 Gaze-LLE 本身没有包含数据增强但您可以在数据加载器中添加适当的增强策略如随机裁剪、颜色抖动等以提升模型泛化能力。 训练监控与调试1. Weights Biases 集成Gaze-LLE 集成了 Weights Biases 进行训练监控pip install wandb wandb login训练过程中的损失、AUC、L2 距离等指标都会实时记录到 WB 平台。2. 可视化工具使用 gazelle/utils.py 中的visualize_heatmap函数可以可视化预测结果from gazelle.utils import visualize_heatmap viz visualize_heatmap(image, predicted_heatmap)Succession 电视剧场景中的视线目标检测展示了模型在复杂光影条件下的表现 常见问题与解决方案1. 内存不足问题解决方案减小批量大小使用梯度累积使用混合精度训练2. 训练不收敛解决方案检查学习率设置验证数据预处理是否正确确保预训练模型加载正常3. 评估指标异常解决方案检查数据集的标注格式验证边界框坐标是否归一化到 [0,1] 范围确认模型输出是否经过正确的后处理 总结与展望Gaze-LLE 的跨数据集训练流程展示了从静态图像视线检测到视频视线检测的平滑过渡。通过先在 GazeFollow 数据集上训练基础模型然后在 VideoAttentionTarget 数据集上微调并添加视线内/外预测任务模型能够适应更复杂的真实世界场景。电视节目场景中的视线目标检测展示了模型在动态视频中的连续跟踪能力关键优势参数效率相比传统方法减少了 1-2 个数量级的参数无需额外模态不需要深度或姿态信息多人物支持单次前向传播支持多人视线检测跨数据集兼容平滑的 GazeFollow 到 VideoAttentionTarget 迁移未来扩展支持更多视频数据集实时视线跟踪应用结合语言模型的多模态视线理解通过本文的完整指南您应该已经掌握了 Gaze-LLE 从 GazeFollow 到 VideoAttentionTarget 的跨数据集训练全流程。无论是学术研究还是实际应用Gaze-LLE 都提供了一个强大而高效的视线目标检测解决方案。简单场景中的视线目标检测展示了模型在不同场景下的泛化能力【免费下载链接】gazelleGaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders (CVPR 2025, Highlight)项目地址: https://gitcode.com/gh_mirrors/gazel/gazelle创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考