如何以编程方式识别视频中的更改帧

时间:2014-06-24 11:25:01

标签: c++ c opencv image-processing cryptography

可以通过删除部分帧来编辑视频。可以通过删除该视频中的连续帧随机帧来完成。

我们需要检测被篡改的视频,我们希望通过检测已更改的帧来做到这一点,我们只需要有一种算法来识别已删除的帧。因为我们正在创建一个可用于篡改检测的工具作为一种视频监控工具。它可以用于执法和法庭

是否有任何方法可以识别视频帧已被恶意攻击删除,已有可用的方法,如水印,数字签名,但我们需要一种算法来使用适当的算法检测帧。

2 个答案:

答案 0 :(得分:3)

一般来说,无论我交付的图像序列如何,部分或全部都可以来自真实相机,Photoshop或3D渲染器,并且没有通用的图像处理技术可以告诉基于对图像内容的单独分析的差异,要么足以在法庭上站立,要么实际上根本就是。

您需要在录制时嵌入一些易于识别但难以伪造,重新定位或篡改信号的视频。您已经标记了“opencv”这个问题,但您要调查的字段是加密和水印,而不是计算机视觉。

让视频监控设备使用公钥密码对每个帧进行水印,使用该设备唯一的标识符,时间戳,帧序列号和帧图像的散列或其他合适的功能,使用健壮的方案压缩。

篡改视频序列将需要了解设备的私钥或删除水印。这不是很好(保密私钥将是一个后勤问题),但可能是你能得到的最好的解决方案。

答案 1 :(得分:1)

这一般不能做到。然而,一些方法是可能的。

  • 使用的视频格式可能支持存储索引或时间索引的框架式元数据,并且在编辑期间未触及
  • 图像传感器本身可以被配置为将一些元数据写入图像的某个特定区域
  • 您可能有一些由相机拍摄的外部参考,可能有助于识别丢失的帧
    • 精确时钟
    • 快速闪烁指示灯
    • 一些统一的动作