一种结合区块链的视频主动识别方法与流程

文档序号:17264656发布日期:2019-03-30 09:55阅读:279来源:国知局
一种结合区块链的视频主动识别方法与流程

本发明涉及视频识别领域,具体涉及一种主动识别视频的技术。



背景技术:

对监控视频内容的完整性及真实性,不仅仅考验着技术层面的问题,也一直是安防监控贩售业者和使用者所关心的问题。随着时代的进步,视频记录也可以作为证据的一种形式来提供证明。但所围绕的关键问题依然是该视频的真实性及完整性。意指,该视频是否已经被更改过,它的可信度是被质疑的。只有保存视频帧的完整性及真实性才保存了视频帧本身的价值。



技术实现要素:

为解决上述技术问题,本发明提供了一种结合区块链的视频主动识别方法,通过在获得到的数字视频、数字录像的内容上,哈希化之后产生的哈希签名,并且使用双重时间戳,形成既能保留视频内容其真实性,并实现不可更改的视频内容的效果。

本发明采用的技术方案是:一种结合区块链的视频主动识别方法,包括:

s1、当有异常事件发生时,截取相关视频帧,作为原始视频文件;将该原始视频文件保存至数据库中;

s2、通过tsa产生第一时间戳,将第一时间戳添加到步骤s1截取的原始视频文件;

s3、对经步骤s2处理后得到的视频文件通过加密哈希函数产生第一哈希值;复制第一哈希值存储到数据库中;

s4、将步骤s3产生的第一哈希值传送到区块链;区块链使用小额度的交易,制造交易记录产生第一电子货币地址与去中心可信任的第一交易时间戳;并将第一电子货币地址与去中心的交易时间戳存储到数据库中;

所述第一哈希值作为第一区块的哈希值;其余每一个区块都包含上一个区块的哈希值;

s5、将经步骤s3加密哈希函数进行加密处理的视频文件放入区块链后;在本地端或远端对所查看视频文件是否被篡改进行验证。

进一步地,所述第一时间戳根据异常事件的发生时间产生。

进一步地,步骤s5所述本地端验证具体为:

制作与第一时间戳相同的第二时间戳;

对添加了第二时间戳的原始视频文件通过加密哈希函数产生第二哈希值;

通过将第二哈希值与数据库保存的第一哈希值进行对比;

若一致,则表示视频文件未被篡改;否则视频文件被篡改。

更进一步地,所述第二时间戳根据异常事件的发生时间制作。

进一步地,步骤s5所述远端验证具体为:

将存放在区块链上的第一交易时间戳与存储在数据库中的第一交易时间戳就行对比;将存放在区块链上的第一电子货币地址与存储在数据库中的第一电子货币地址进行对比;将存放在公有区块链上的第一哈希值与存储到数据库中的第一哈希值进行对比;

若全部一致,则表示视频未被篡改;否则视频文件被篡改。

本发明的有益效果:本发明的一种结合区块链的视频主动识别方法,通过使用tsa产生的第一时间戳是确保本地存储视频内容时间的立即性;使用另一去中心化信任的交易时间戳,确保由远端来查看该视频内容是否有篡改和/或作为本地的视频文件可能被第三方机构、或本地端篡改的情形,该另一添加的去中心可信任的交易时间戳t可以和tsa第一时间戳t形成一互补机制,作为最后确认的一道防线;本发明的方法可以完整地、机密地、可认证地放在区块链上,保持最原始地、具真实性的视频特性,保存了该视频的真正价值,以及视频的不可更改特性。

附图说明

图1为本发明实施例提供的方案流程图;

图2为本发明实施例提供的采用密哈希函数(md5)产生哈希值的示意图;

图3为本发明实施例提供的为添加时间戳的原始视频文件产生哈希值的流程图;

图4为本发明实施例提供的区块链的结构示意图。

具体实施方式

以下结合附图对本发明的内容做进一步阐述。

如图1所示为本发明的方案流程图,本发明的技术方案为:一种结合区块链的视频主动识别方法,包括:

s1、当有异常事件发生时,截取相关视频帧,作为原始视频文件;将该原始视频文件保存至数据库中;使用软件应用程序来执行监控、计算并且分析目标对象来进行识别。当异常行为发生时(例如,打架、拿刀杀人、撞车、摔倒、撞墙等)会触发前端系统识别出来,当系统检测有异常事件时,摄像头系统会截取相关视频帧数据;并对提取出来的原始视频数据进行保存;

s2、通过tsa产生第一时间戳,将第一时间戳添加到步骤s1截取的原始视频文件;本发明通过添加一时间戳在视频文件上,用来作为该视频文件产生的第一时间的证明。在主动式的识别视频侦测到异常事件的情况之下,系统会截取该相关视频帧内容o数据并且透过第三方可信任时间戳服务器(tsa,timestampingauthorities),发送一时间戳t请求。

如图3所示,第一时间戳产生的方法可以透过第三方时间戳权威(timestampingauthorities)来生成时间戳文件。对视频中在异常事件当下的发生时间,立刻产生一时间戳t并添附到该视频文件中。时间戳机构(tsa)基本上是采用rfc3161标准,时间戳协议(timestampprotocol)的方式来产生一可信任的时间戳t。在选择提供服务的第三方tsa当中,在立即实现时间戳t的自然情况下,设定第三方是对视频文件内容的篡改不会产生这样的动机,所以提供的时间戳t是可以具有可信度的。

s3、对经步骤s2处理后得到的视频文件通过加密哈希函数产生第一哈希值;复制第一哈希值存储到数据库中;使用哈希加密算法(例如md5等)产生所相对应的哈希值a;如图2所示,加密的哈希函数可将任意长度的二进制值映射为较短的固定长度的二进制值,例如md5(在此处我们使用md5为例子)可产生128比特,而经过md5的转换结果为32十六进制字符。即任一长度的二进制输入,经过md5的转换后都产生为32十六进制字符。在输入的二进制文件中,即使有小小的一个字符变动,也可以造成输出十六进制字符的大大改变。此结果是明显,明确可观察到的。再者,两个不同的字符串要产生完全相同的哈希值接近于不可能实现。

加密哈希函数具备以下特性:1)无法去更改了一原始数据而不会更改其所产生的哈希值。2)无法去从一原始数据所产生的哈希值来还原该原始数据。3)可以轻易地从任一原始数据产生其哈希值。4)无法从两个不一致、不相同的原始数据来产生相同的哈希值。在加密哈希函数中有着许多安全上的应用,例如信息认证码、数字签名等。这些应用像是作为校验和来确认文件的一致性。而哈希值有时候也可称作数字指纹。

为添加了第一时间戳的原始视频文件产生哈希值,具体过程为:例如若视频每秒可以产生出一哈希値,而视频图像是每秒30帧记录的方式。现有一侦测到的异常事件视频内容有三分钟长,则将会产生总数为5400帧的视频。如果前置设定时间间隔为一秒,那将会产生180个数据区块,就相当于产生了尽不相同的180个哈希値。这些连续产生的180个哈希值可以在哈希值结构树中用一主要的哈希値(masterhash)来代表该三分钟视频的内容数据。

s4、将步骤s3产生的第一哈希值传送到区块链;将哈希值a立刻传送到另一程序界面2的服务器,该服务器提供电子货币区块链的服务。在该服务器使用最小额度的交易来从该交易记录产生一电子货币地址,也产生了一去中心可信任的交易时间戳t,则该视频的内容,即哈希值a和交易时间戳t就持久地并且不可更改地存储在区块键里。

区块链为一对等网络,其去中心化的开放式账本;譬如比特币结构,依赖于一分布式共享网络存在于各用户之间。每一用户拥有自己的公开账本都记录着每一笔交易,而基于应用在该网络结构上,可以作到确信其当检验与其他使用者交易记录时的正确性。该一账本就称作区块链。

在传统的交易方式中,需要一第三方机构,其使用的是中心化网络中的一中心节点执行审计和作为负责交易的角色。区块键是一公开账本并记录着比特币或加密电子货币的交易,来取代传统的交易方式。要实施这样不需要任何可信任的中心机构,完成每一交易记录的真实性,是透过对等网络上的每一节点在区块链的结构上执行比特币或相关软件来达成。举例一种交易的形式,当甲方给乙方3个比特币,再使用一简单可得的软件应用程序把该交易记录广播到该网络。网络上的多数节点能够验证该交易记录并且添加该交易记录的副本到每个自己的公开账本上,再把这些账本广播到其他该网络的节点上。该区块链就相当于一分布上的数据库。为了达到能独立地验证其区块链上的每一节点上的所有权或验证任何一节点上比特币的数量,任一网络上的节点自己都有存储在该区块链上的副本。当一新的交易记录接收时,一个区块就被创造并添加在该区块链里,然后迅速地公开在所有节点上。在传统的交易方式中,因为有了中心化的第三方机构,所以第三方保留了交易总账从而确保每一交易是否已花掉或提取。

如图4所示,在区块链当中,每一区块都包含了上一个区块的哈希值,从创造区块开始连接到当前区块从而形成块链。每一个区块都确保按时间顺序在上个区块之后产生,否则前一个区块的哈希值是未知的。同时所有交易在该区块链中都要对外进行广播,所以只有当包含在最新区块中的所有交易都是独一无二且之前从未发生过,其他节点才会认可该区块。因此在区块链中,用该方法确保每一交易是否花掉或提取。

根据图4视频数据存储在区块链是包括完整的核对,这些交易记录是结集在一种数据结构数并且使用哈希值去生成一区块的标头。如果想要改写区块链,需要对网络进行追踪式的分叉式攻击,并且即使对每一个对等网络用读写的存取方式,也无法提取充足的数据来改变已经放在区块链的交易记录。

因为区块链的上述特性,其允许一个视频文件的哈希值可以被公开放在区块链里,再加上去中心化的时间戳及其哈希值,而正是两者不可变更的确凿事实,也只有除非花费极度庞大的费用来改写全部网络的51%以上,才能改写区块链上的视频文件。这是相当庞大的工程。

s5、将经步骤s3加密哈希函数进行加密处理的视频文件放入区块链后;在本地端或远端进行验证;

本地端通过制作与第一时间就戳相同的时间戳加入到原始视频文件的方式,验证原始视频文件是否被篡改;具体为:经过完成将经步骤s3加密处理后的视频文件放进区块链的时间过程后,根据异常事件的发生时间制作一个和从tsa得到的相同的第二时间戳,并添加在原始视频上,再使用哈希函数运算出第二哈希值n。

在本地端采用比对第二哈希値n和之前存储至数据库的第一哈希值a是否具一致性,来判断本地端的查找视频文件是否被篡改。若比对哈希值为一致性相同(n等于a),则判定第三方机构没有更改该视频帧内容;否则被篡改。

远端通过放在区块链上的第一哈希值以及交易后所产生出来的去中心可信任的第一交易时间戳、第一电子货币地址与存储在数据库中的第一哈希值、去中心的第一交易时间戳t、第一电子货币地址作对比,验证原始视频文件是否被篡改。

远端情况采用放在区块链上的哈希值以及交易后所产生出来的去中心可信任时间戳t、电子货币地址来和已经存储在数据库的哈希值、电子货币地址、去中心可信任的时间戳t作对比;若都一致,则表示视频文件未被第三方机构或本地端篡改;否则被篡改。对比的方法可以透过包括像是透过服务器,或使用相关区块键检测工具或其他软件程序等方法来实现。

存储在区块键里的哈希值a,让该视频帧内容有着不可更改的特性以及信息隐秘性。

存储在区块键里的交易时间戳t,让该视频内容有着不可更改的特性。

本发明制造第一时间戳t,目的是确保视频文件在发生当下异常情况时的相关视频帧已经被加密成哈希值后,使用第一时间戳t来保证该视频内容的第一发生时间,如此一来可以避免任何可能并且能够以相同、相似的模仿方式,去重制、重演该视频的记录事件。这些能够用模仿、重制、重演来模拟两可的模拟事件记录,可能会回避掉最原始、最初记录到的视频事件的责任归属性等。所以为了去保证区块链上的视频文件就是第一时间发出、增加真实性、可信度,在这里,加上使用区块链去中心化可信任的交易时间戳t,使用了双重的时间戳。

加密电子货币可以提供去中心化信任时间戳的服务,把已添加tsa的视频文件的加密哈希值嵌入在电子货币的区块链中的交易记录。第一步使用tsa产生的第一时间戳t是确保存储视频内容时间的立即性。

另一方面,使用另一去中心化信任的第一交易时间戳t,也可确保由远端来查看该视频内容是否有篡改和/或作为本地的视频文件可能被第三方机构、或本地端篡改的情形,该去中心可信任的第一交易时间戳t可以和tsa第一时间戳t形成一互补机制,作为最后确认的一道防线。

如此,经过本发明的主动式的视频识别检测到的异常事件记录视频,可以完整地、机密地、可认证地放在区块链上,保持最原始地、具真实性的视频特性,保存了该视频的真正价值,以及视频的不可更改特性。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1