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

文档序号:17069570发布日期:2019-03-08 23:12阅读:162来源:国知局
一种结合区块链的视频主动识别方法与流程

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



背景技术:

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



技术实现要素:

为解决上述技术问题,本发明提供了一种结合区块链的视频主动识别方法,结合公有区块链与具备限制访问权的私有区块连,实现不可更改的视频内容的效果。

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

s1、当有异常事件发生时,截取相关视频帧,作为原始视频文件;

s2、将原始视频文件放入已授权的私有区块链中,私有区块链使用自定义的交易,制造交易记录产生一私有电子货币地址,以及去中心可信任的第一交易时间戳;将私有电子货币地址与第一交易时间戳添加在该原始视频中;

s3、获取私有电子货币地址与第一交易时间戳,将私有电子货币地址与第一交易时间戳放入公有区块链;

s4、通过加密哈希函数为添加了私有电子货币地址与第一交易时间戳的原始视频文件产生哈希值;复制哈希值并存储到数据库中;

s5、将步骤s4产生的哈希值放入到公有区块链中;公有区块链通过采用小额度的交易,制造交易记录产生第一非私有电子货币地址,以及去中心可信任的第二交易时间戳;

s6、获取私有区块链的第一交易时间戳以及私有电子货币地址;存储到公有区块链中;

s7、将经步骤s4处理后的视频文件放入公有区块链;然后对视频文件进行验证。

进一步地,步骤s7所述对视频帧进行验证,包括对私有区块链中视频文件是否被篡改进行验证,具体为:

制造和私有区块链相同的私有电子货币地址与第一交易时间戳;将制造的私有电子货币地址与第一交易时间戳添加到原始视频文件;并通过加密哈希函数对添加了制造的私有电子货币地址与第一交易时间戳的视频文件产生第二哈希值;通过与第一哈希值进行对比,若一致,则表示私有区块链中的视频文件未被篡改,否则被篡改。

进一步地,步骤s7所述对视频帧进行验证,具体为对视频文件来源进行验证:

若存放在公有区块链中的哈希值与存储在数据库中的哈希值一致;

且公有区块链中存放的私有区块链地址与私有区块交易时间戳均属于私有区块成员;

则视频文件的来源是正确的;否则为错误的。

本发明的有益效果:本发明的一种结合区块链的视频主动识别方法,考虑到公有区块链的服务可能造成的延迟影响;虽然公有区块链上保证了最大地视频的不可更改性,但该服务的延迟影响,可能无法证明该视频内容发生的第一时间,因此本发明使用了一道私有区块链服务,该私有区块链可作为本地数据库为验证视频来源是否篡改提供依据,同时还为异常事件的发生提供时间戳以确保本地存储视频内容时间的立即性;本发明的方法经过主动式的视频识别检测到的异常事件记录视频,可以完整地、机密地、可认证地放在区块链上,保持最原始地、具真实性以及可认证的视频特性,保存了该视频的真正价值,以及视频的不可更改特性。

附图说明

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

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

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

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

具体实施方式

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

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

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

以下具体阐述结合公有区块链与私有区块链,保存了该视频的真正价值,以及视频的不可更改特性。

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

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

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

s2、将原始视频文件放入已授权的私有区块链中,私有区块连使用自定义的交易,制造交易记录产生一私有电子货币地址,以及去中心可信任的第一交易时间戳;将私有电子货币地址与第一交易时间戳添加在该原始视频中;如图1所示具体为:把系统截取相关视频帧o进入程序界面2的服务器(放入被授权的私有区块链);该服务器为提供私有电子货币的私有区块链服务。在该服务器使用自定义的交易制造交易记录,从该交易记录产生一私有电子货币地址ad,也产生了一去中心可信任的交易时间戳t,则该视频的内容,即交易时间的时间戳t就持久地并且不可更改地存储在私有区块键里。将时间戳t及电子货币地址ad信息添加在系统截取相关视频帧o。

s3、获取私有电子货币地址与第一交易时间戳,将私有电子货币地址与第一交易时间戳放入公有区块链;还可以将私有区块链作为本地数据库使用,通过获取私有电子货币地址与第一交易时间戳为后续验证提供依据;

这里的第一交易时间戳可作为异常事件的发生时时间记录,确保了本地存储视频内容时间的立即性。

s4、通过加密哈希函数为添加了私有电子货币地址与第一交易时间戳的原始视频文件产生哈希值;复制哈希值并存储到数据库中;

如图3所示,加密的哈希函数可将任意长度的二进制值映射为较短的固定长度的二进制值,例如md5(在此处我们使用md5为例子)可产生128比特,而经过md5的转换结果为32十六进制字符。也就是说任一长度的二进制输入,经过md5的转换后都产生为32十六进制字符。在输入的二进制文件中,即使有小小的一个字符变动,也可以造成输出十六进制字符的大大改变。此结果是明显,明确可观察到的。再者,两个不同的字符串要产生完全相同的哈希值接近于不可能实现。所以要实现原始视频数据和其产生的哈希值对比其他的哈希值来证实两者的数据是一致相同的,则该加密哈希函数需要具备某些特性。

加密哈希函数因为有着不可能反转回来为原始数据的特性,更具体的来说,不可能从已加密的输入数据的哈希值来重新制造出原始输入数据。也因为如此,哈希函数是一种单方向的进行方式,这也是在形成区块链当中不可缺少的一部分。详细来说明,该哈希函数必须拥有以下特性:1)无法去更改了一原始数据而不会更改其所产生的哈希值。2)无法去从一原始数据所产生的哈希值来还原该原始数据。3)可以轻易地从任一原始数据产生其哈希值。4)无法从两个不一致、不相同的原始数据来产生相同的哈希值。在加密哈希函数中有着许多安全上的应用,例如信息认证码、数字签名等。这些应用像是作为校验和来确认文件的一致性。而哈希值有时候也可称作数字指纹。

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

通过程序界面1产生已添加时间戳t及电子货币地址ad信息在视频文件上之哈希值a。服务器为提供加密的哈希函数(此例使用md5)。

s5、将步骤s4产生的哈希值放入到公有区块链中;公有区块链通过采用小额度的交易,制造交易记录产生第一非私有电子货币地址,以及去中心可信任的第二交易时间戳;如图1所示,具体为:在将哈希值a传送到程序界面3的服务器同时,该服务器为提供非私有电子货币的公有区块链服务。该服务器使用小额度的交易来从该交易记录产生一非私有电子货币地址ad,也产生了一去中心可信任的交易时间戳t,则该视频的内容,即哈希值a和交易时间的时间戳t就持久地并且不可更改地存储在公有区块键里。

s6、获取私有区块链的第一交易时间戳以及私有电子货币地址;存储到公有区块链中;

s7、将经步骤s4处理后的视频文件放入公有区块链;然后对视频文件进行验证。

如图4所示,当加上时间戳t及电子货币地址ad在原始相关视频帧o上,透过程序界面1产生该视频文件的哈希值a,再放入公有区块链中,可以在公有区块链里附近几个时间区块找到从私有区块链获得的时间戳t及电子货币地址ad的区块(步骤s6放入公有区块链中的)。该方法作为认证签名的一种手段来证明发布在公有区块链的视频帧来源是已经得到私有区块链许可的成员。

反之,原始相关视频帧x,添加时间戳t2及地址ad2,透过程序界面1产生该视频文件的哈希值b,放入公有区块链中,即使可以在公有区块链里附近几个时间区块找到所对应的时间戳t2及地址ad2,但都为不具有被授权在特定私有区块链的认证信息。可以说明放入该视频帧的来源并不属于真正的拥有者。

即通过验证公有区块链中存放的私有区块链的电子货币地址以及私有交易时间戳是否为私有区块链已认证的成员信息,来验证公有区块链上的视频来源是否正确。具体的验证方法可以有多种形式,以下仅列举其中三种验证视频来源的方法,本申请的视频来源验证并不局限于这三种方法:

方法1、获取私有区块链的第一交易时间戳以及私有电子货币地址存放到公有区块链中后,公有区块链中产生的第二交易时间戳与第一交易时间戳接近;并且放在公有区块链上的私有区块链地址与交易时间戳属于私有区块链成员;

方法2、使用存储在数据库中的哈希值a和放入公有区块链的哈希值对比。

私有区块链作为本地数据库使用时,将私有区块链中的私有区块链的时间戳t及电子货币地址ad和之前放入公有区块链的私有区块链的时间戳t及电子货币地址ad对比。

如果放在公有区块链的t及ad是和本地数据库存储(私有区块链)的一致的话,代表来源是正确的。

方法3、也可用放在公有区块链上的哈希值以及交易后所产生出来的去中心可信任时间戳t、t2(t及ad信息放入公有区块链产生的交易时间),电子货币地址ad,ad2(t及ad信息放入公有区块链产生的非私有货币地址)来和已经存储在数据库的哈希值、私有电子货币地址、私有区块链去中心可信任的时间戳作对比,若哈希值一致,公有区块产生的时间戳t、t2与私有区块链去中心可信任的时间戳接近,则表示来源正确。

对比的方法可以透过包括像是透过服务器,或使用相关区块键检测工具或其他软件程序等方法。

本发明的方法考虑了公有区块链的服务可能造成的延迟影响。虽然公有区块链上保证了最大地视频的不可更改性,但该服务的延迟影响,可能无法证明该视频内容发生的第一时间,所以使用了一道的私有区块链的服务。

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

为了验证已放入私有区块链的原相关视频帧没有被修改,使用放在公有区块链的哈希值a。并制作与当时在私有区块链产生的相同的时间戳t及地址ad添加在已存储在本地数据库的原相关视频o上,重新产生新的哈希值来与哈希值a作对比;如果一致,代表私有区块链中内容没有被窜改或更改。

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

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