红外相机时间整理
背景
在红外相机数据整理时,媒体时间通常不能直接假定为正确。不同厂商写入的时间字段并不一致,因此,时间整理的思路是先做一次符合经验的初始化,再交给人工复核。
我们的常用做法是:先遍历媒体中所有可用的时间元数据字段,按优先级依次尝试初始化时间;若都不可用,再退回到文件修改时间作为最后选项。这个逻辑包含在 serval 的 xmp init 功能中。
目前的数据通过初始化方法可解决大部分时间问题。剩下的问题,往往集中在少数相机时间异常或元数据缺失的情况,需要结合部署记录和人工判断进一步修正。
常见异常场景
相机内部时间设置错误或中途复位
比如布设前没有校准相机时间,或者设备故障、电池问题导致时间重置。遇到这种情况时,仍可结合布设记录等推断出正确时间,再对整批媒体施加统一偏移量修正。
时间只烧录在画面上,没有写入元数据
部分相机只把时间叠加到图片或视频画面中,但不把时间写入 EXIF、QuickTime 或其他元数据字段。如果这类文件在拷贝、压缩或同步过程中连文件修改时间也被改掉,就很难再从文件属性中恢复真实时间。此时基本只剩 OCR 一条路可走。
推荐工作流
1. 初始化时间并生成 xmp 表单
推荐先使用 serval xmp init --info 生成用于检查的 xmp 表单。该命令会在生成 xmp sidecar 文件的同时,把把当前能读到的所有时间信息集中到一个表里,方便后续人工复核和批量修正。
2. 导入网页可视化工具检查异常
将 serval xmp init --info 生成的表单导入 serval-charton 后,可以可视化图表快速检查时间分布是否合理。
3. 在表格中直接修正时间
发现异常后,可直接在 csv 表中原位修改时间。在 xmp_update_datetime 列填写修正后的正确时间。
4. 重新加载数据源,复查图表
完成 csv 修改后,无需重新整理整批媒体,直接在网页工具中重新加载数据源即可刷新图表。这样可以快速形成“修改一次,复查一次”的闭环,直到所有异常都被解释或修正。
5. 导出 trap_info 模板
确认时间无误后,可在网页中点击导出 trap_info 模板。导出的表格会自动填写各 deployment 的起止时间,用户再补充其余字段即可继续后续整理流程。
6. 更新文件媒体时间
可以使用 serval xmp update --datetime 功能将修改后的时间更新回 xmp 文件。