CN103929644B - 一种视频指纹库建立、视频指纹识别方法及装置 - Google Patents
一种视频指纹库建立、视频指纹识别方法及装置 Download PDFInfo
- Publication number
- CN103929644B CN103929644B CN201410129700.0A CN201410129700A CN103929644B CN 103929644 B CN103929644 B CN 103929644B CN 201410129700 A CN201410129700 A CN 201410129700A CN 103929644 B CN103929644 B CN 103929644B
- Authority
- CN
- China
- Prior art keywords
- finger print
- video finger
- video
- piecemeal
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Collating Specific Patterns (AREA)
Abstract
本发明属于模式识别技术领域,尤其涉及一种视频指纹库建立、视频指纹识别方法及装置。所述视频指纹识别方法包括:对获取的测试视频的帧图片进行分块,根据每个分块的像素对测试视频的帧图片进行编码形成第一视频指纹;将测试视频的帧图片的编码进行哈希映射,获取哈希映射地址;在预先建立的视频指纹库的哈希表中查找所述哈希映射地址,根据查找结果进行匹配识别。本发明根据分块像素对图片进行编码且通过高效的哈希表进行映射查找,可有效提高视频指纹识别的速度和准确性。
Description
技术领域
本发明属于模式识别技术领域,尤其涉及一种视频指纹库建立、视频指纹识别方法及装置。
背景技术
在实际的生活和应用中,人们所接触的信息量越来越大,纸质、声音以及图像是主要的部分,所以对于媒体信息的智能识别方法在实际的应用中显得格外的重要。在图像媒体信息中,视频是作为一个很重要的一部分,它不仅仅在信息传播方面,同时也在安防领域起着极其重要的作用。对于视频而言,形成区分它自身的识别信息成为连续视频识别中的重要方面,而形成它自身的识别信息我们可以把它看作自己的指纹,就像人的指纹一样。
在实际的视频指纹识别过程中,人们主要采用以下几种方法来实现:(1)通过SIFT(Scale-invariant feature transform,尺度不变特征转换)算法确定特征点,然后对特征点进行匹配;(2)采用分块颜色直方图对图像进行纹理的统计和分析;(3)采用Harris检测来计算图像的兴趣点,产生相应的视屏指纹信息;(4)基于质心水平倾斜来提取视频指纹信息,上述方法都有它们不足的地方:方法(1)所计算的时间很长,在大量视频图像比对上会消耗很长的时间;方法(2)分块颜色直方图信息只是从宏观的分布来把握图像的颜色结构,没有把图像的具体信息考虑进来,在后续的颜色直方图匹配的时候会出现把不属于该视频图像的归为该图像类别;方法(3)中Harris检测在一定程度上实现了图像内容检测,但是若图像结构内容复杂也会加长检测时间;方法(4)复杂度较高,所需的时间较长。因此,需要提供一种高效的视频指纹识别方法。而高效的视频指纹识别方法与视频指纹库的建立也有很重要的联系,视频指纹库的建立是视频识别的前提,因此,同时需要提供一种有利于视频识别的视频指纹库的建立方法。
发明内容
本发明的目的在于提供一种基于图片分块像素编码以及哈希映射的视频指纹库建立及视频指纹识别方法,旨在解决现有的视频指纹库建立以及视频指纹识别方案计算复杂、视频指纹识别时间长的问题。
本发明提供了一种视频指纹库建立方法,包括:
获取视频的帧图片;
对获取的帧图片进行分块,根据每个分块的像素对所述帧图片进行编码形成视频指纹;
将所述视频指纹进行哈希映射,得到所述视频指纹对应的哈希表。
本发明还提供了一种视频指纹库建立装置,其特征在于,包括:
第一获取模块、第一分块模块、第一编码模块以及第一哈希映射模块;
所述第一获取模块,用于获取视频的帧图片;
所述第一分块模块,用于对获取的帧图片进行分块,
所述第一编码模块,用于根据每个分块的像素对所述帧图片进行编码形成视频指纹;
所述第一哈希映射模块,用于将所述视频指纹进行哈希映射,得到所述视频 20指纹对应的哈希表。
本发明还提供了一种视频指纹识别方法,包括:
获取测试视频的帧图片;
对获取的帧图片进行分块,根据每个分块的像素对所述帧图片进行编码形成第一视频指纹;
将所述第一视频指纹进行哈希映射,获取哈希映射地址;
在预先建立的视频指纹库的哈希表中查找所述哈希映射地址;
根据查找结果进行匹配识别。
本发明还提供了提供一种视频指纹识别装置,包括:
第二获取模块,用于获取测试视频的帧图片;
分块模块,用于对获取的帧图片进行分块;
第二编码模块,用于根据每个分块的像素对所述帧图片进行编码形成第一视频指纹;
第二哈希映射模块,用于将所述第一视频指纹进行哈希映射,获取哈希映射地址;
查找模块,用于在预先建立的视频指纹库的哈希表中查找所述哈希映射地址;
匹配识别模块,用于根据查找结果进行匹配识别。
在本发明中,对获取的测试视频的帧图片进行分块,根据每个分块的像素对测试视频的帧图片进行编码形成第一视频指纹;将测试视频的帧图片的编码进行哈希映射,获取哈希映射地址;在预先建立的视频指纹库的哈希表中查找所述哈希映射地址,根据查找结果进行匹配识别,本发明根据分块像素对图片进行编码且通过高效的哈希表进行映射查找,可有效提高视频指纹识别的速度和准确性。
附图说明
图1是本发明实施例提供的视频指纹库建立方法的实现流程图;
图2是本发明实施例提供的分块示意图;
图3是本发明实施例提供的视频指纹库中的哈希表示意图;
图4是本发明实施例提供的视频指纹库建立装置的结构框图;
图5是本发明实施例提供的视频指纹识别方法的实现流程图;
图6是本发明实施例提供的视频指纹识别装置的结构框图;
图7是本发明实施例提供的图6中的第二编码模块的结构框图;
图8是本发明实施例提供的图6中的匹配识别模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的一种视频指纹库建立方法的实现流程,详述如下:
步骤101、获取视频的帧图片。
在建立视频指纹库之前,需要获取对应的样本视频的帧图片。
步骤102、对获取的帧图片进行分块,根据每个分块的像素对所述视频的帧图片进行编码形成视频指纹。
对获取的视频的帧图片进行分块,根据每个分块的像素对所述视频的帧图片进行编码形成视频指纹,具体为:对获取的前后连续两帧图片都进行分块,每帧图片分成N×M个块,其中N,M为大于0的自然数;计算每个分块所有像素点的像素值的总和,将前后连续两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成视频指纹,包括:当 Pi(m,n)≥Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为1;当 Pi(m,n)<Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为0;Pi(m,n)表示第i帧图片的第m行第n列对应分块的所有像素点的像素值的总和,Pi+1(m,n)表示第i+1帧图片的第m行第n列对应分块的所有像素点的像素值的总和,其中, 1≤m≤N,1≤n≤M。按照这种编码方式就得到N×M个编码,然后将N×M个编码按照预先设定的顺序组合起来得到前后连续两帧图片的视频指纹,比如可以将对应的N×M编码按照编码的先后顺序进行组合,也可以按照其他方式进行组合,在此不做限定。上述中是将对应的N×M个编码都编码设置为0、1,当然可以设置为其他数值的编码,在此不做限定。通过前后两帧之间的像素逻辑关系来表示样本视频图像的视频指纹信息,通过0、1编码来表示图像的视频指纹信息,编码简单且高效有序,这样有利于后续视频指纹的识别。
下面结合附图2,对步骤102做进一步的举例说明,如图2所示,获取到样本视频中前后连续的两帧图片,第i帧和第i+1帧后,对第i帧和第i+1帧进行分块,比如,对第i帧图片分为4×8块,并对该图片块进行标记,标记为 Pi(m,n),其中Pi(m,n)表示第i帧图片的第m行第n列对应分块所有像素点对应像素值总和,m、n的取值分别为m∈(1,2,3,4),n∈(1,2,3,4,5,6,7,8)。对图2中获取到的第i帧和第i+1帧两帧图片进行4×8的分块,对于分块的数量这里推荐采用4×8,因为刚好为32,在后续的编码中有利于实际的应用,当然也可以根据自己的需要对图片分块进行调整,在此不做限定。对于每个图片中的32个块,计算其中的像素点对应像素值总和(这里每个图片采用单通道的灰度图像),表示为Pi(m,n)、Pi+1(m,n)。然后利用第i帧和第i+1帧的块与块之间的像素信息来表示出这两帧图片的逻辑指纹关系,所采用形成视频指纹的方法,如下法则所示:
1)Comp(m,n)=1,if Pi(m,n)≥Pi+1(m,n);
2)Comp(m,n)=0,if Pi(m,n)<Pi+1(m,n);
3)P_i_Finger_Print(m,n)=Comp(m,n),其中
Comp用于存储上下帧图片的比对结果,对Pi(m,n)和Pi+1(m,n)进行比对,若 Pi(m,n)大于或等于Pi+1(m,n),则把Comp(m,n)编码设置为1,若Pi(m,n)小于 Pi+1(m,n),则把Comp(m,n)编码设置为0。最后把已经编号的32个码Comp赋值给当前连续两帧图片的视频指纹P_i_Finger_Print。这样对于上述图2中的连续两帧信息就形成了一个4行8列的0、1存储序列,把这些序列组合起来,比如把这个序列从左到右,从上到下进行排列得到一个一维的0、1数据表示,而这个一维的数据表示就是所需要的该视频的其中一个视频指纹信息表达。依照上述方法和法则对该样本视频中的第i+1和第i+2张图片继续进行视频指纹的生成,一直到获取到该视频最后的视频指纹,也即是如果视频图片为C张,那么所形成的该视频的视频指纹为C-1个,该C-1个视频指纹组成一个视频指纹库。当然通常样本视频不只一个,有多个,因而会组成多个视频指纹库,每个视频指纹库对应的视频指纹数量有可能不相同。对于L个视频指纹库,每个视频指纹库所包含的视频指纹总数是不一样的,标记为lib_S,S∈(1,2,3,...L)。
步骤103、将视频指纹进行哈希映射,得到视频指纹对应的哈希表。
具体的,对于视频指纹库,利用哈希函数把视频指纹库中的视频指纹映射到哈希表中,得到每个视频指纹库中的视频指纹编码序列所在的位置。在采用哈希函数对视频编码进行映射的过程中,得到每个视频指纹在哈希表中的位置,根据哈希函数本身的特性,会出现不同库或者相同库中的视频指纹映射到同一个哈希函数所生成的位置上,在这里采用如图3所示的逻辑结构重新建立一个哈希表,有利于后续的高效识别,根据哈希映射结果构建视频指纹在哈希表中的逻辑结构,如图3所示,所采取的策略是:将视频指纹经哈希函数映射,得到在哈希表中的第一映射地址,1)若第一映射地址没有指向其他视频指纹,则将哈希表中的第一映射地址指向该视频指纹;2)若所述第一映射地址有指向其它视频指纹,则在第一映射地址通过链表指向该视频指纹,也就是在该hash表位置的所指向的其它视频指纹后面继续通过链表指向当前所对应的库和视频指纹。在上述所说的指向过程中,把该视频指纹所属的库以及该视频指纹在其所属库中的位置信息均保存在所指向的信息中。如图3所示,图3中hash表位置:0X267F2456、0X567F24BA、0X9FBCA4576所存储的形式与上述的策略1)是一致的,图3中的Lib_1中的第6个指纹与Lib_1中的第11个指纹经hash 映射的地址均为0X6490C4BA,Lib_1中的第12个指纹与Lib_2中的第9个指纹、以及Lib_S中的第5个指纹经哈希映射的地址均为:0X80248963,同一位置通过链表继续指向后续的视频指纹。这样就预先建立了视频指纹库。且解决了不同视频指纹库或相同视频指纹库中的视频指纹经哈希函数映射到相同的哈希位置的问题,方便后续快速识别。
本发明实施例中,由于是根据帧图片每个分块的像素对进行编码形成视频指纹库,编码简单且高效有序,且将视频指纹进行哈希映射,得到视频指纹对应的哈希表,方便后续视频指纹的识别。
图4示出了本发明实施例提供的一种视频指纹库建立装置的结构框图,该装置可以实现前述实施例所描述的方法。为了便于说明,仅示出了与本实施例相关的部分。参照图4,该视频指纹识别装置,包括:第一获取模块41、第一分块模块42、第一编码模块43以及第一哈希映射模块44。
第一获取模块41,用于获取视频的帧图片。第一分块模块42,用于对获取的帧图片进行分块。进一步的,第一分块模块42还包括:第一分块子模块421,用于对获取的前后连续两帧图片都进行分块,每帧图片分成N×M个块,其中 N,M为大于0的自然数。第一编码模块43,用于根据每个分块的像素对所述的帧图片进行编码形成视频指纹。第一哈希映射模块44,用于将视频指纹进行哈希映射,得到视频指纹对应的哈希表。
进一步的,第一编码模块43还包括:第一计算模块431、第一比较模块432 以及第一编码子模块433。第一计算模块431,用于计算每个分块所有像素点的像素值的总和。第一比较模块432,用于将前后连续两帧图片对应分块像素值的总和进行比较。第一编码子模块433,用于根据比较的结果对前后连续两帧图片进行编码,形成视频指纹。进一步的,第一编码子模块433,还包括:第一设置模块4331和第一组合模块4332。第一设置模块4331,用于当Pi(m,n)≥Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为1;当 Pi(m,n)<Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为0;所述Pi(m,n)表示第i帧图片的第m行第n列对应分块的所有像素点的像素值的总和;所述 Pi+1(m,n)表示第i+1帧图片的第m行第n列对应分块的所有像素点的像素值的总和,其中,1≤m≤N,1≤n≤M。第一组合模块4332,用于将N×M个编码按照预先设定的顺序组合起来得到前后连续两帧图片的视频指纹。
进一步的,第一哈希映射模块44还包括:第一哈希映射子模块441,用于将视频指纹经哈希函数映射,得到在哈希表中的第一映射地址,若第一映射地址没有指向其他视频指纹,则将哈希表中的上述第一映射地址指向前述视频指纹;若第一映射地址有指向其它视频指纹,则在第一映射地址通过链表指向前述的视频指纹。
本发明实施例中,由于是第一编码模块根据帧图片每个分块的像素对进行编码形成视频指纹库,编码简单且高效有序,同时第一哈希映射模块将视频指纹进行哈希映射,得到视频指纹对应的哈希表,方便后续视频指纹的识别。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成。实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述视频指纹库建立装置中的模块的具体工作过程,可以参考前述视频指纹库建立方法实施例中的对应过程,在此不再赘述。
图5示出了本发明实施例提供的一种视频指纹识别方法的实现流程,详述如下:
步骤501、获取测试视频的帧图片。
当需要识别预先建立的视频指纹库中是否有被测试视频的帧图片对应的视频指纹,首先获取测试视频的帧图片,可以通过从连续视频中获取一帧一帧的图片。本发明实施例中,至少需要获取前后连续的两帧图片。
步骤502、对获取的测试视频的帧图片进行分块,根据每个分块的像素对测试视频的帧图片进行编码形成第一视频指纹。
具体地,本发明实施例中,对连续获取的两帧图片都进行分块,每帧图片分成N×M个块,所述N、M为大于0的自然数。计算每个分块所有像素点的像素值的总和,将前后两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹。将前后两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹,包括:当Pi(m,n)≥Pi+1(m,n),将前后连续两帧图片的第m×n 个编码设置为1;当Pi(m,n)<Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为0;所述Pi(m,n)表示第i帧图片的第m行第n列对应分块的所有像素点的像素值的总和;所述Pi+1(m,n)表示第i+1帧图片的第m行第n列对应分块的所有像素点的像素值的总和,其中,1≤m≤N,1≤n≤M。这样得到前后连续两帧图片的N×M个编码,将N×M个编码按照预先设定的顺序组合起来得到前后连续两帧图片的第一视频指纹,比如可以将对应的N×M编码按照编码的先后顺序进行组合,也可以按照其他方式进行组合,在此不做限定。上述中是将对应的 N×M个编码都编码设置为0、1,当然可以设置为其他数值的编码,在此不做限定。但是该编码方式需要与预先建立的视频指纹库建立时的编码方式一致。通过前后两帧之间的像素逻辑关系来表示图像的视频指纹信息,通过0、1编码来表示图像的视频指纹信息,编码简单且高效有序。
步骤503、将上述的第一视频指纹进行哈希映射,获取哈希映射地址。
本发明实施例中,将上述得到的前后连续两帧图片的编码进行哈希(hash)映射,获取对应的哈希映射地址。
步骤504、在预先建立的视频指纹库的哈希表中查找上述哈希映射地址。
将前后连续两帧图片的编码进行哈希(hash)映射,得到对应的哈希映射地址后,在预先建立的视频指纹库的哈希表中查找得到的哈希映射地址。步骤 504中的预先建立的视频指纹库的建立过程与前述实施例中描述的视频指纹库的建立过程相同,在此不再赘述。
步骤505、根据查找结果进行匹配识别。
在预先建立的视频指纹库的哈希表中查找得到的哈希映射地址,然后根据查找结果进行匹配识别,包括:1)若在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时所述第二视频指纹没有通过链表指向其他视频指纹,则确定所述第二视频指纹为第一视频指纹匹配的指纹;最后读取第二视频指纹以及其所属视频指纹库编号。2)若在预先建立的视频指纹库的哈希表中查没有找到上述哈希映射地址,或者在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,而哈希映射地址没有指向第二视频指纹,则确定预先建立的视频指纹库不存在与第一视频指纹对应的视频指纹。3)若在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且哈希映射地址指向第二视频指纹,同时第二视频指纹通过链表指向其他视频指纹,则读取第二视频指纹以及其他视频指纹;将第二视频指纹以及其他视频指纹分别与第一视频指纹进行比对(具体为进行每个编码值的比对);根据比对结果,将第二视频指纹以及其他视频指纹中误码率最小的且满足预设编码阈值的视频指纹确定为与第一视频指纹相对应的视频指纹,然后再读取误码率最小的且满足预设编码阈值的其所属视频指纹库编号。这样就找到了与第一视频指纹匹配的第二视频指纹以及其所属视频指纹库。
优选的,本发明实施例中,获取测试帧图片形成多个视频指纹库后,在第一个视频指纹进行识别之后,在对下一个视频指纹进行识别的时候可以把上次经哈希映射所获取到的视频指纹库信息取出(即所在视频库和视频库中的地址信息取出),并取出视频库中相应的下一地址的视频指纹,将其与测试帧图片形成的下一个视频指纹进行编码值的比对,如果满足预设编码阈值,则该视频库也为下一个视频指纹所属视频指纹库,相应的下一地址即为下一个视频指纹的所属地址。若不满足预设编码阈值则用哈希算法按照上述步骤503-504重新在视频指纹库中匹配。后续的每个视频指纹的识别都可以采用该过程来完成。这样可不必每个视频指纹的识别都进行哈希映射,减少运算,提高效率。
本发明实施例中通过前后两帧之间的像素逻辑关系来表示图像的视频指纹信息,编码简单且高效有序,同时通过采用哈希映射方法对指纹编码进行哈希映射,不管每个视频库的样本库的量有多大,所进行的计算时间复杂度都为O (1+L),其中L为总的视频指纹库的数目,这样在实际的应用中不会因为每个库的样本量的增加导致识别效率的降低,从而提高了识别效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
图6示出了本发明实施例提供的一种视频指纹识别装置的结构框图,该装置可以实现前述实施例所描述的视频指纹识别方法。为了便于说明,仅示出了与本实施例相关的部分。参照图6,该视频指纹识别装置,包括:第二获取模块61、第二分块模块62、第二编码模块63、第二哈希映射模块64、查找模块 65以及匹配识别模块66。
第二获取模块61,用于获取测试视频的帧图片。第二分块模块62,用于对获取的测试视频的帧图片进行分块。进一步的,第二分块模块62还包括第二分块子模块621。第二分块子模块621,用于对连续获取的两帧图片都进行分块,每帧图片分成N×M个块,所述N,M为大于0的自然数。第二编码模块63,用于根据每个分块的像素对上述测试视频的帧图片进行编码形成第一视频指纹。第二哈希映射模块64,用于将测试视频的帧图片的编码进行哈希映射,获取哈希映射地址。查找模块65,用于在预先建立的视频指纹库的哈希表中查找所述哈希映射地址。匹配识别模块66,用于根据查找结果进行匹配识别。
图7为本发明实施例提供的图6中第二编码模块63的结构框图,为了便于说明,仅示出了与本实施例相关的部分。如图7所示,第二编码模块63还包括第二计算模块631、第二比较模块632、第二编码子模块633。第二计算模块631,用于计算每个分块所有像素点的像素值的总和。第二比较模块632,用于将前后两帧图片对应分块像素值的总和进行比较。第二编码子模块633,用于根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹。进一步的,所述的第二编码子模块633还包括:第二设置模块6331和第二组合模块6332。第二设置模块6331,用于当Pi(m,n)≥Pi+1(m,n),将前后连续两帧图片的第m×n 个编码设置为1;当Pi(m,n)<Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为0;Pi(m,n)表示第i帧图片的第m行第n列对应分块的所有像素点的像素值的总和;Pi+1(m,n)表示第i+1帧图片的第m行第n列对应分块的所有像素点的像素值的总和,其中,1≤m≤N,1≤n≤M。第二组合模块6332,用于将N×M 个编码按照预先设定的顺序组合起来得到前后连续两帧图片的第一视频指纹。这样通过第二编码模块实现了根据前后连续两帧的像素逻辑关系进行前后连续两帧图片信息的编码,从而得到其视频指纹。
图8为本发明实施例提供的图6中匹配识别模块66的结构框图,为了便于说明,仅示出了与本实施例相关的部分。如图8所示,匹配识别模块66还包括:第一确定模块661、第一读取模块662、第二确定模块663、第二读取模块664、比对模块665以及第三确定模块666。
第一确定模块661,用于当在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时第二视频指纹没有通过链表指向其他视频指纹时,则确定第二视频指纹为第一视频指纹匹配的指纹。第一读取模块662,用于读取第二视频指纹。第一读取模块还用于读取第二视频指纹所属的视频指纹库编号。
第二确定模块663,用于当在预先建立的视频指纹库的哈希表中查没有找到上述哈希映射地址时,或者当在预先建立的视频指纹库的哈希表中查找到上述哈希映射地址,而上述哈希映射地址没有指向第二视频指纹时,则确定预先建立的视频指纹库不存在与第一视频指纹对应的视频指纹。
第二读取模块664,用于当在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且上述哈希映射地址指向第二视频指纹,同时第二视频指纹通过链表指向其他视频指纹时,读取所述的第二视频指纹以及所述的其他视频指纹。比对模块665,用于将第二视频指纹以及所述的其他视频指纹分别与所述的第一视频指纹进行比对。第三确定模块666 ,用于根据比对结果,将第二视频指纹以及其他视频指纹中误码率最小的且满足预设编码阈值的视频指纹确定为与第一视频指纹相对应的视频指纹。第二读取模块664还用于读取误码率最小的且满足预设编码阈值的视频指纹所属的视频库编号。
综上,本发明实施例中第二编码模块根据前后两帧之间的像素逻辑关系来对视频图片进行编码,得到图片的视频指纹信息,编码简单且高效有序,同时第二哈希映射模块通过采用哈希映射方法对指纹编码进行哈希映射,查找模块根据哈希映射地址在哈希表中进行查找,匹配模块再进行匹配识别,不管每个视频库的样本库的量有多大,所进行的计算时间复杂度都为O(1+L),其中L 为总的视频指纹库的数目,这样在实际的应用中不会因为每个库的样本量的增加导致识别效率的降低,从而提高了识别效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成。实施例中的各功能单元或模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述视频指纹识别装置中的模块的具体工作过程,可以参考前述视频指纹识别方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种视频指纹库建立方法,其特征在于,包括:
获取视频的帧图片;
对获取的帧图片进行分块,根据每个分块的像素对所述帧图片进行编码形成视频指纹;
将所述视频指纹进行哈希映射,得到所述视频指纹对应的哈希表;
所述的对获取的帧图片进行分块,根据每个分块的像素对所述帧图片进行编码形成视频指纹,具体为:
对获取的前后连续两帧图片都进行分块,每帧图片分成N×M个块,所述N、M为大于0的自然数;
计算每个分块中所有像素点的像素值的总和,将前后连续两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成视频指纹;所述视频指纹用于表示前后连续两帧图片之间的像素逻辑关系。
2.如权利要求1所述的方法,其特征在于,所述的将前后连续两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成视频指纹,包括:
当Pi(m,n)≥Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为1;当Pi(m,n)<Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为0;所述Pi(m,n)表示第i帧图片的第m行第n列对应分块的所有像素点的像素值的总和;所述Pi+1(m,n)表示第i+1帧图片的第m行第n列对应分块的所有像素点的像素值的总和,其中,1≤m≤N,1≤n≤M;
将N×M个编码按照预先设定的顺序组合起来得到前后连续两帧图片的视频指纹。
3.如权利要求1至2任一项所述的方法,其特征在于,所述将视频指纹进行哈希映射,得到视频指纹对应的哈希表,具体为:
将视频指纹经哈希函数映射,得到在哈希表中的第一映射地址,若所述第一映射地址没有指向其他视频指纹,则将所述哈希表中的第一映射地址指向所述视频指纹;若所述第一映射地址有指向其它视频指纹,则在所述第一映射地址通过链表指向所述视频指纹。
4.一种视频指纹库建立装置,其特征在于,包括:
第一获取模块、第一分块模块、第一编码模块以及第一哈希映射模块;
所述第一获取模块,用于获取视频的帧图片;
所述第一分块模块,用于对获取的帧图片进行分块,
所述第一编码模块,用于根据每个分块的像素对所述帧图片进行编码形成视频指纹;
所述第一哈希映射模块,用于将视频指纹进行哈希映射,得到视频指纹对应的哈希表;
所述的第一分块模块还包括第一分块子模块;所述第一编码模块还包括:第一计算模块、第一比较模块以及第一编码子模块;
所述第一分块子模块,用于对获取的前后连续两帧图片都进行分块,每帧图片分成N×M个块,所述N、M为大于0的自然数;
所述第一计算模块,用于计算每个分块中所有像素点的像素值的总和;
所述第一比较模块,用于将前后连续两帧图片对应分块像素值的总和进行比较;
所述第一编码子模块,用于根据比较的结果对前后连续两帧图片进行编码,形成视频指纹;所述视频指纹用于表示前后连续两帧图片之间的像素逻辑关系。
5.如权利要求4所述的装置,其特征在于,所述的第一编码子模块,还包括:第一设置模块和第一组合模块;
所述第一设置模块,用于当Pi(m,n)≥Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为1;当Pi(m,n)<Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为0;所述Pi(m,n)表示第i帧图片的第m行第n列对应分块的所有像素点的像素值的总和;所述Pi+1(m,n)表示第i+1帧图片的第m行第n列对应分块的所有像素点的像素值的总和,其中,1≤m≤N,1≤n≤M;
所述第一组合模块,用于将N×M个编码按照一定的顺序组合起来得到前后连续两帧图片的视频指纹。
6.如权利要求4至5任一项所述的装置,其特征在于,所述第一哈希映射模块,还包括:
第一哈希映射子模块,用于将视频指纹经哈希函数映射,得到在哈希表中的第一映射地址,若所述第一映射地址没有指向其他视频指纹,则将所述哈希表中的第一映射地址指向所述视频指纹;若所述第一映射地址有指向其它视频指纹,则在所述第一映射地址通过链表指向所述的视频指纹。
7.一种视频指纹识别方法,其特征在于,包括:
获取测试视频的帧图片;
对获取的帧图片进行分块,根据每个分块的像素对所述帧图片进行编码形成第一视频指纹;
将所述第一视频指纹进行哈希映射,获取哈希映射地址;
在预先建立的视频指纹库的哈希表中查找所述哈希映射地址;
根据查找结果进行匹配识别;
所述对获取的帧图片进行分块,根据每个分块的像素对所述的帧图片进行编码形成第一视频指纹,具体为:
对获取的前后连续两帧图片都进行分块,每帧图片分成N×M个块,所述N、M为大于0的自然数;
计算每个分块中所有像素点的像素值的总和,将前后连续两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹;所述第一视频指纹用于表示前后连续两帧图片之间的像素逻辑关系。
8.如权利要求7所述的方法,其特征在于,所述的将前后连续两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹,包括:
当Pi(m,n)≥Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为1;当Pi(m,n)<Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为0;所述Pi(m,n)表示第i帧图片的第m行第n列对应分块的所有像素点的像素值的总和;所述Pi+1(m,n)表示第i+1帧图片的第m行第n列对应分块的所有像素点的像素值的总和,其中,1≤m≤N,1≤n≤M;
将N×M个编码按照一定的顺序组合起来得到前后连续两帧图片的第一视频指纹。
9.如权利要求7至8任一项所述的方法,其特征在于,所述的根据查找结果进行匹配识别,包括:
若在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时所述第二视频指纹没有通过链表指向其他视频指纹序列,则确定所述第二视频指纹序列为第一视频指纹匹配的指纹序列;读取所述的第二视频指纹;
若在预先建立的视频指纹库的哈希表中查没有找到所述哈希映射地址,或者在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址没有指向第二视频指纹,则确定预先建立的视频指纹库不存在与第一视频指纹对应的视频指纹;
若在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时所述第二视频指纹通过链表指向其他视频指纹,则读取所述第二视频指纹以及所述其他视频指纹;将所述第二视频指纹以及所述其他视频指纹分别与所述第一视频指纹进行比对;根据比对结果,将所述第二视频指纹以及其他视频指纹中误码率最小的且满足预设编码阈值的视频指纹确定为与第一视频指纹相对应的视频指纹。
10.一种视频指纹识别装置,其特征在于,包括:
第二获取模块,用于获取测试视频的帧图片;
第二分块模块,用于对获取的帧图片进行分块;
第二编码模块,用于根据每个分块的像素对所述帧图片进行编码形成第一视频指纹;
第二哈希映射模块,用于将所述的第一视频指纹进行哈希映射,获取哈希映射地址;
查找模块,用于在预先建立的视频指纹库的哈希表中查找所述哈希映射地址;
匹配识别模块,用于根据查找结果进行匹配识别;
所述第二分块模块还包括第二分块子模块;所述的第二编码模块还包括第二计算模块、第二比较模块、第二编码子模块;
所述第二分块子模块,用于对连续获取的两帧图片都进行分块,每帧图片分成N×M个块,所述N、M为大于0的自然数;
所述第二计算模块,用于计算每个分块中所有像素点的像素值的总和;
所述第二比较模块,用于将前后两帧图片对应分块像素值的总和进行比较;
所述第二编码子模块,用于根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹;所述第一视频指纹用于表示前后连续两帧图片之间的像素逻辑关系。
11.如权利要求10所述的装置,其特征在于,所述的第二编码子模块还包括:第二设置模块和第二组合模块;
所述第二设置模块,用于当Pi(m,n)≥Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为1;当Pi(m,n)<Pi+1(m,n),将前后连续两帧图片的第m×n个编码设置为0;所述Pi(m,n)表示第i帧图片的第m行第n列对应分块的所有像素点的像素值的总和;所述Pi+1(m,n)表示第i+1帧图片的第m行第n列对应分块的所有像素点的像素值的总和,其中,1≤m≤N,1≤n≤M;
所述第二组合模块,用于将N×M个编码按照一定的顺序组合起来得到前后连续两帧图片的第一视频指纹。
12.如权利要求10至11任一项所述的装置,其特征在于,所述的匹配识别模块还包括:第一确定模块、第一读取模块、第二确定模块、第二读取模块、比对模块以及第三确定模块;
所述第一确定模块,用于当在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时所述第二视频指纹没有通过链表指向其他视频指纹时,则确定所述第二视频指纹为第一视频指纹匹配的指纹;
所述第一读取模块,用于读取所述的第二视频指纹;
所述第二确定模块,用于当在预先建立的视频指纹库的哈希表中查没有找到所述哈希映射地址时,或者当在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址没有指向第二视频指纹时,则确定预先建立的视频指纹库不存在与第一视频指纹对应的视频指纹;
所述第二读取模块,用于当在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时所述第二视频指纹通过链表指向其他视频指纹时,读取所述的第二视频指纹以及所述的其他视频指纹;所述比对模块,用于将所述的第二视频指纹以及所述的其他视频指纹分别与所述的第一视频指纹进行比对;所述第三确定模块,用于根据比对结果,将所述第二视频指纹以及其他视频指纹中误码率最小的且满足预设编码阈值的视频指纹确定为与第一视频指纹对应的视频指纹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410129700.0A CN103929644B (zh) | 2014-04-01 | 2014-04-01 | 一种视频指纹库建立、视频指纹识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410129700.0A CN103929644B (zh) | 2014-04-01 | 2014-04-01 | 一种视频指纹库建立、视频指纹识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103929644A CN103929644A (zh) | 2014-07-16 |
CN103929644B true CN103929644B (zh) | 2018-08-31 |
Family
ID=51147702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410129700.0A Active CN103929644B (zh) | 2014-04-01 | 2014-04-01 | 一种视频指纹库建立、视频指纹识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103929644B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9578394B2 (en) | 2015-03-25 | 2017-02-21 | Cisco Technology, Inc. | Video signature creation and matching |
US10015541B2 (en) | 2015-03-25 | 2018-07-03 | Cisco Technology, Inc. | Storing and retrieval heuristics |
CN104915403B (zh) * | 2015-06-01 | 2018-07-27 | 腾讯科技(北京)有限公司 | 一种信息处理方法及服务器 |
CN106101812A (zh) * | 2016-06-29 | 2016-11-09 | 北京酷云互动科技有限公司 | 视频检索方法及其系统、视频播放方法及其系统 |
CN106599028B (zh) * | 2016-11-02 | 2020-04-28 | 华南理工大学 | 一种基于视频图像处理的书本内容搜索匹配方法 |
CN108491715B (zh) * | 2018-01-29 | 2020-12-08 | 新华三技术有限公司 | 终端指纹库的生成方法、装置和服务器 |
CN110149529B (zh) * | 2018-11-01 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 媒体信息的处理方法、服务器及存储介质 |
CN109871461B (zh) * | 2019-02-13 | 2020-12-22 | 华南理工大学 | 基于深度哈希网络和子块重排序的大规模图像子块检索方法 |
CN110175559B (zh) * | 2019-05-24 | 2020-12-11 | 北京博视未来科技有限公司 | 一种用于智能识别的视频帧的独立判断方法 |
CN112183328A (zh) * | 2020-09-27 | 2021-01-05 | 北京永新视博数字电视技术有限公司 | 视频识别方法、装置、设备和存储介质 |
CN113315969B (zh) * | 2021-07-29 | 2021-11-05 | 杭州子默网络科技有限公司 | 一种适用于图像传输的数据处理方法、系统和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807208A (zh) * | 2010-03-26 | 2010-08-18 | 上海全土豆网络科技有限公司 | 视频指纹快速检索方法 |
CN102364463A (zh) * | 2011-09-19 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种基于Hash查找CAM的方法 |
CN102802090A (zh) * | 2011-05-27 | 2012-11-28 | 未序网络科技(上海)有限公司 | 一种视频版权保护方法及系统 |
CN103678702A (zh) * | 2013-12-30 | 2014-03-26 | 优视科技有限公司 | 视频去重方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8195689B2 (en) * | 2009-06-10 | 2012-06-05 | Zeitera, Llc | Media fingerprinting and identification system |
-
2014
- 2014-04-01 CN CN201410129700.0A patent/CN103929644B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807208A (zh) * | 2010-03-26 | 2010-08-18 | 上海全土豆网络科技有限公司 | 视频指纹快速检索方法 |
CN102802090A (zh) * | 2011-05-27 | 2012-11-28 | 未序网络科技(上海)有限公司 | 一种视频版权保护方法及系统 |
CN102364463A (zh) * | 2011-09-19 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种基于Hash查找CAM的方法 |
CN103678702A (zh) * | 2013-12-30 | 2014-03-26 | 优视科技有限公司 | 视频去重方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于视频感知哈希的视频篡改检测与多粒度定位;朱映映等;《中国图象图形学报》;20130816;第18卷(第8期);第2节 * |
Also Published As
Publication number | Publication date |
---|---|
CN103929644A (zh) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103929644B (zh) | 一种视频指纹库建立、视频指纹识别方法及装置 | |
Hu et al. | Learning semantic segmentation of large-scale point clouds with random sampling | |
Zhao et al. | Pyramid feature attention network for saliency detection | |
CN111192292B (zh) | 基于注意力机制与孪生网络的目标跟踪方法及相关设备 | |
CN109948497A (zh) | 一种物体检测方法、装置及电子设备 | |
Mendi et al. | Sports video summarization based on motion analysis | |
US10068138B2 (en) | Devices, systems, and methods for generating a temporal-adaptive representation for video-event classification | |
CN107871101A (zh) | 一种人脸检测方法及装置 | |
CN104182538B (zh) | 基于半监督哈希的图像检索方法 | |
CN107145870B (zh) | 一种视频中人脸的识别系统 | |
CN107633226A (zh) | 一种人体动作跟踪识别方法及系统 | |
Wang et al. | Multiscale deep alternative neural network for large-scale video classification | |
CN114120361B (zh) | 一种基于编解码结构的人群计数定位方法 | |
US20230360372A1 (en) | Accelerated training of neural radiance fields-based machine learning models | |
CN109753884A (zh) | 一种基于关键帧提取的视频行为识别方法 | |
CN108829711A (zh) | 一种基于多特征融合的图像检索方法 | |
CN110334628A (zh) | 一种基于结构化随机森林的室外单目图像深度估计方法 | |
CN113570573A (zh) | 混合注意力机制的肺结节假阳性排除方法、系统、设备 | |
CN115761342A (zh) | 一种肺部ct影像肺炎分类方法、装置及设备 | |
US20210166073A1 (en) | Image generation method and computing device | |
Yaseen et al. | A novel approach based on multi-level bottleneck attention modules using self-guided dropblock for person re-identification | |
CN112580435B (zh) | 人脸定位方法、人脸模型训练与检测方法及装置 | |
JP5801614B2 (ja) | 画像処理装置、画像処理方法 | |
CN115082840B (zh) | 基于数据组合和通道相关性的动作视频分类方法和装置 | |
CN115713769A (zh) | 文本检测模型的训练方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |