一种确定视频哈希有效长度的方法
技术领域
本发明涉及一种确定视频哈希有效长度的方法,属于多媒体信号处理技术和计算机科学技术领域。
背景技术
近年来,随着多媒体和计算机技术的飞速发展,视频由于包含丰富的内容,已逐渐成为当下信息表达和传播的主流。据统计,互联网上每天上传约2500PB数据,其中约90%是视频和图像,并且这个数量还在持续增加。在如此大规模的视频数据中,在有限带宽的约束下,通过视频检索技术快速准确地获取所需要的信息,对信息社会各个领域具有不可估量的影响。视频哈希技术作为实现视频检索的核心技术之一,目前逐渐成为学术领域的研究热点。
视频哈希技术的关键,首先是将视频内容用有效的高维特征表示,然后基于距离相似性原则,将高维特征映射成能够表征视频内容的低维二进制码。视频哈希不仅减少了视频检索的数据量和视频匹配的计算量,同时降低了视频处理对内容表征的影响。然而,在哈希映射中,码长一般是人为指定的,并没有考虑不同码长对数据集表征的有效性和合理性;并且在大数据集的环境下,为了哈希长度能够满足要求,往往无依据地增加哈希长度,无谓地增加了视频哈希作为视频索引的数据量;特别是在移动计算环境中,这种无依据的增加无疑给网络增加了不必要的负担,因此需要对码长优化方法进行深入研究。
发明内容
本发明针对目前视频哈希方法中存在的不足,提出了一种确定视频哈希有效长度的方法,此方法能够在数据集的环境中,仅通过部分数据的训练就确定全部数据集中近似最佳的哈希长度,为哈希长度的确定提供了一种更快捷且有参考依据的方式。
为实现上述目的,本发明采用如下技术方案:
一种确定视频哈希有效长度的方法,包括以下步骤:
1)从视频库的每类中随机选取数量相同的部分视频作为训练样本,然后将训练样本的特征映射为一定长度的哈希比特:假设训练集中包含a类视频,每类视频包括一种原始视频和另外b种经过不同处理的视频,对所有视频做相同的特征提取得到F,F=[f10,f11,...,f1b,..,fa0,fa1,...,fab]′,fij表示第i类视频中经过第j种处理的视频对应的特征,fi0表示第i类视频的原始视频的特征,然后将特征映射成r长度的哈希H(r),各个不同长度的哈希组成H,H=[H(1),H(2),...,H(L)]′,其中表示第i类视频中经过第j种处理的视频对应r长度的哈希;
2)对于一定长度r=rm的哈希进行如下操作:
2-1)对于训练样本,将每一类中原始视频得到的哈希与其余所有类的所有视频对应的哈希进行匹配,通过设定阈值T来判断其余视频是否为原视频的拷贝视频;如果原视频哈希与其余视频哈希之间不同位数的比例小于这个阈值T,即误码率小于阈值T,则认为该视频为拷贝视频,反之,不是拷贝视频;
2-2)分别计算拷贝视频的误码率和非拷贝视频的误码率,然后分别估计出拷贝视频的误码率概率分布和非拷贝视频的误码率概率分布;
2-3)采用函数f1(x)和f2(x)分别对两个概率分布进行拟合,x表示误码率;
2-4)根据上述两个拟合函数,利用f1(x)=f2(x),求出二者的交点坐标x0;同时,将拷贝视频误码率曲线和非拷贝视频误码率曲线的交叉区域的面积,称作碰撞概率,计算出一定哈希长度rm对应的碰撞概率p(rm);
3)对于不同长度r对应的哈希H(r)都进行上述步骤2)的操作,得到不同哈希长度r对应的碰撞概率p(r),通过统计分析得到训练集中的碰撞概率p(r)与哈希长度r的关系,选取碰撞概率收敛时所对应的哈希长度rtrain作为哈希的最佳长度;最后,根据总数据集与训练数据集在数量级上的差别,Nall表示总数据集的数量,Ntrain表示训练集的数量,根据差别的二进制表示,可以通过增加一定长度的比特位来确定总数据集上的最佳哈希长度rall,其中符号表示向上取整函数。
具体地,在步骤2-3)中,用指数函数f1(x)去拟合拷贝视频的误码率概率分布曲线,用高斯函数f2(x)去拟合非拷贝视频的误码率概率分布曲线,其中,指数函数和高斯函数中的参数都与哈希长度有关。
具体地,在步骤2-4)中,计算出一定哈希长度rm对应的碰撞概率p(rm)的公式为:
本发明的有益效果是:它提供了一种确定视频哈希有效长度的方法,该方法能够在大数据集的环境中,仅通过部分数据的训练就能确定全部数据集中近似最佳的哈希长度,为哈希长度的确定提供了一种更快捷且参考依据的方式。
附图说明
图1是本发明方法的框架图。
图2是一定哈希长度对应的拷贝视频的误码率和非拷贝视频的误码率分布。
图3是训练集和总数据集分别对应的碰撞概率与哈希码长的关系图。
具体实施方式
图1给出了本发明方法的框架图,按所示流程,包括如下具体步骤:
1.获取视频哈希
采集视频数据库,该数据库包含78类视频,每类包含1种已有视频和10种该视频经过信号处理后的视频,然后用有效的特征来表征每个视频,组成特征库;然后,从特征库的每类中随机选取5种作为训练样本,通过已有的KSH哈希方法将上述训练样本对应的特征,映射为不同长度的哈希比特。
假设训练集中包含a类视频,每类视频包括一种原始视频和另外b种经过不同处理的视频,对所有视频做相同的特征提取得到F,F=[f10,f11,...,f1b,..,fa0,fa1,...,fab]′,fij表示第i类视频中经过第j种处理的视频对应的特征,fi0表示第i类视频的原始视频的特征,然后将特征映射成r长度的哈希H(r),各个不同长度的哈希组成H,H=[H(1),H(2),...,H(L)]′,其中表示第i类视频中经过第j种处理的视频对应r长度的哈希;
哈希映射的原则就是要保证特征空间F中两两相近的点在哈希空间的距离最小,特征空间中两两不同的点在哈希空间的距离最大化。KSH恰好利用了汉明空间中的距离度量与哈希码内积之间的等价性这一规律。r比特长度的哈希可表示为coder(f)=[h1(f),...,hr(f)]∈{1,-1}1×r,哈希码之间的内积可表示为:
coder(fi)οcoder(fj)=r-2Dh(fi,fj)
其中,Dh(fi,fj)表示两个样本的汉明距离。
从上式可以看出,汉明距离和码字内积之间是一一对应的关系,因此,用汉明距离来代替码字内积是可行的。因此,带有标签的样本特征F的哈希码可以通过下式来学习得到:
其中,表示F的码字矩阵,m表示训练集中的视频样本个数,对于相近的两个样本,S等于1;不同的两个样本,S为-1。||.||F表示F范数。实验证明,KSH方法的性能很好。
哈希映射的过程中,得到不同长度的哈希H(r)。
2.对于一定长度r=rm的哈希进行如下操作:
2-1)计算拷贝视频的误码率和非拷贝视频的误码率BER(bit error rate),计算公式如下:
其中,表示异或运算,Qi表示原视频哈希对应的第i个比特,Hi表示用来与Qi比较的其余视频哈希对应的第i个比特。
然后分别估计出拷贝视频的误码率概率分布和非拷贝视频的误码率概率分布。
2-2)用函数拟合误码率概率分布曲线
从概率分布来看,拷贝视频的误码率x,概率分布大概服从指数分布,因此用指数函数f1(x)去拟合拷贝视频的误码率概率分布曲线;非拷贝视频的误码率x,概率分布服从高斯分布x~N(μ,σ2),因此用高斯函数f2(x)去拟合非拷贝视频的误码率概率分布曲线,其中,指数函数和高斯函数中的参数都与哈希长度有关。
2-3)根据拟合函数计算碰撞概率
根据上述两个拟合函数,利用f1(x)=f2(x),求出二者的交点坐标x0;同时,将拷贝视频误码率曲线和非拷贝视频误码率曲线的交叉区域的面积,称作碰撞概率,计算出一定哈希长度rm对应的碰撞概率p(rm),碰撞概率表示视频搜索结果的误检率和误判率。
图2表示一定哈希长度rm对应的拷贝视频的误码率和非拷贝视频的误码率分布。
3.计算碰撞概率与哈希长度的关系
对于不同长度r对应的哈希H(r)都进行上述步骤2的操作,得到不同哈希长度r对应的碰撞概率p(r),通过统计分析得到训练集中的碰撞概率p(r)与哈希长度r的关系,选取碰撞概率收敛时所对应的哈希长度rtrain作为哈希的最佳长度;最后,根据总数据集与训练数据集在数量级上的差别,Nall表示总数据集的数量,Ntrain表示训练集的数量,根据差别的二进制表示,可以通过增加一定长度的比特位来确定总数据集上的最佳哈希长度rall,
采用的视频数据库包含78类视频,每类包含1种已有视频和10种该视频经过信号处理后的视频,用160维的有效特征来表征每个视频,组成特征库;然后,从特征库的每类中随机选取5种作为训练样本,通过已有的KSH哈希方法将上述训练样本,分别映射为长度r=10:1:50的哈希。然后,经过误码率分布估计与拟合,最后得到碰撞概率与哈希长度的关系。实验结果表明,当训练样本的哈希长度rtrain=35时,其碰撞概率已经低于0.001,且趋于收敛。根据总数据集与训练数据集在数量级上的差别,可以估计总数据集上的近似最佳哈希长度rall,而通常情况下对该视频库的总数据集进行哈希映射时,常常人为选取的哈希长度为50,60,80等。这就表明了该方法提供的最佳哈希长度的估计远小于人为惯用的哈希长度。因此,本发明从理论说明和实验验证两方面都表明了该方法对哈希长度的确定提供了一种快捷有效的参考方式。