发明内容
本发明提供了一种视频过滤方法和装置,以便对搜索结果进行重复过滤,提高视频查找的速度和准确度。
本发明提供的技术方案包括:
一种视频过滤方法,包括:
A,将搜索到的视频结果中的第一个视频作为当前视频,执行步骤B;
B,判断当前视频是否与当前下一个视频相似,如果是,执行步骤C;否则,执行步骤E;
C,过滤掉该下一个视频,判断该被过滤掉的视频是否为所述视频结果中最后一个视频,如果是,执行步骤D,否则,返回执行步骤B;
D,判断当前视频是否还存在下一个视频,如果是,将当前视频的下一个视频作为当前视频,返回执行步骤B;
E,将该下一个视频的下一个视频作为当前下一个视频,返回执行步骤B。
一种视频过滤装置,包括:
搜索服务单元,用于根据用户输入的搜索关键字搜索相关的视频;
数据处理单元,用于将所述搜索服务单元搜索到的视频中的第一个视频作为当前视频,
判断当前视频是否与当前下一个视频相似,
如果相似,过滤掉该下一个视频,并判断该被过滤掉的视频是否为所述视频结果中最后一个视频,如果否,返回执行判断当前视频是否与当前下一个视频相似的操作,如果是,判断当前视频是否还存在下一个视频,是则将当前视频的下一个视频作为当前视频,返回执行判断当前视频是否与当前下一个视频相似的操作;
如果不相似,将该下一个视频的下一个视频作为当前下一个视频,返回执行判断当前视频是否与当前下一个视频相似的操作。
由以上技术方案可以看出,本发明中,通过判断视频结果中当前视频是否与当前下一个视频相似,即对搜索结果进行相似视频过滤处理,能够使原来需要在很多页面显示的视频结果经相似过滤后能集中在一页中显示,进而大大提高视频查找的速度和准确度。
具体实施方式
本发明实施例提供的视频过滤方法,主要是对搜索结果进行重复视频过滤处理,并重新对视频搜索结果排序,以提高视频查找的速度和准确度。
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
参见图1,图1为本发明实施例提供的基本流程图。如图1所示,该流程可包括以下步骤:
步骤101,将搜索到的视频结果中的第一个视频作为当前视频,之后执行步骤102。
步骤102,判断当前视频是否与当前下一个视频相似,如果是,执行步骤103;否则,执行步骤105。
步骤103,过滤掉该下一个视频,判断该被过滤掉的视频是否为所述视频结果中最后一个视频,如果是,执行步骤104;否则,返回执行步骤102。
步骤104,如果搜索结果中还存在当前视频的下一个视频,则将当前视频的下一个视频作为当前视频,返回执行步骤102。
步骤105,将该下一个视频的下一个视频作为当前下一个视频,返回执行步骤102。
至此,实现了本发明实施例提供的视频过滤方法。
需要说明的是,考虑到本发明实施例的应用广泛,可有选择性地实施图1所示的流程,为了达到该目的,需要提供一个过滤相似视频功能给用户选择,当用户触发该过滤相似视频功能后,可执行图1所示的流程,而当用户不触发该过滤相似视频功能,则不执行本发明实施例提供的流程,仍然按照现有方式处理,这大大提高了本发明实施例的可选择性。
在上述步骤101中的视频结果可通过以下方式得到:提供人机交互界面给用户,根据用户在人机交互界面输入的搜索关键字搜索到相关视频,按照顺序将该搜索到的相关视频排列并提供。也就是说,步骤101中的视频结果并非杂乱无章的,而是按照顺序排列的。
在上述步骤104中,如果视频结果中不存在当前视频的下一个视频,则可进一步包括:将搜索结果中存在的视频重新排序并显示,以便提高用户查找视频的速度和准确度。该排序后的视频结果与步骤101中的视频结果不一样,其是在步骤101中的视频结果的基础上过滤了相似视频后得到,数量远小于步骤101中视频结果的数量。
上述流程中,在执行步骤102中的判断操作之前,需要下载搜索结果中各个视频的缩略图;基于该下载的缩略图,步骤102具体实现时可包括图2所示的流程。
参见图2,图2为本发明实施例提供的步骤102的流程图。在该流程中,为便于理解,这里将当前视频的视频缩略图记为当前视频缩略图,将当前下一个视频的视频缩略图记为当前下一个视频缩略图。如图2所示,该流程可包括以下步骤:
步骤201,获取当前视频缩略图和当前下一个视频缩略图的尺度不变特征转换(SIFT)关键点。
本步骤201可通过现有的SIFT特征提取算法获取当前视频缩略图和当前下一个视频缩略图的SIFT关键点,其中,不同的视频缩略图可能具有不同数量的关键点。
本实施例中,获取的关键点可具有维数为128的特征向量。
步骤202,针对当前视频缩略图中的每一关键点,从当前下一个视频缩略图的关键点中查找到该关键点的最近邻和次紧邻,如果该关键点和最近邻的欧式距离与该关键点与次近邻的欧式距离的商小于预设阈值,则确定该关键点与其最近邻和次紧邻匹配。
本步骤202中,最近邻为与该关键点的欧式距离最近的关键点,次近邻为与该关键点的欧式距离次近的关键点。其中,该最近邻和次近邻可通过KD-Tree方式查找,其中,KD-Tree是一种由二叉搜索树推广而来的用于多维检索的树结构形式(K即为空间的维数),其与二叉搜索树不同的是它的每个结点表示K维空间的一个点,并且每一层都根据该层的分辨器(discriminator)对相应对象做出分枝决策。其中,顶层结点由分辨器决定的一个维度进行划分,第二层则按照该层的分辨器决定的一个维进行划分,以此类推在余下各维之间不断地划分,直至一个结点中的点数少于给定的最大点数时,结束划分,当查找时从根节点开始在每个分叉点上对目标点进行计算,直到叶节点,对于给定的维度N,查找时间复杂度为O(log N)。本发明实施例通过KD-Tree能够加速最近邻和次近邻的查找速度,并且减少查找的复杂度。
本实施例中,预设阈值可根据实际情况设置,具体如何设置这里并不限定。
步骤203,如果当前视频缩略图中M个关键点都与其最近邻和次紧邻匹配,则确定当前视频与当前下一个视频相似,否则,确定当前视频与当前下一个视频不相似,其中,M为预设值,为正整数。
通过图2所示的流程能够实现步骤102的判断操作。
为了便于理解本发明,下面以具体实施例对上述图1和图2所示的方法进行描述。
本具体实施例以搜搜(SOSO)视频为例,首先,提供一个人机交互界面,具体如图3所示。在图3所示的人机交互界面中包含搜索选项、查询选项、视频结果数目选项、视频起始位置选项和过滤相似结果选项;由于目前是首次进行视频搜索,还没有得到视频结果,因此,没有必要对过滤相似结果选项执行任何操作;而是仅在图3所示的查询选项中输入搜索关键字,并对视频结果数目选项、视频起始位置选项进行相应的选择,之后,触发搜索选项进行搜索。
若搜索关键字为“小赵薇”,视频结果数目选择的数值为100,视频起始位置选择的位置为0,则搜索到的视频结果如图4所示(需要说明的是,考虑到附图占用的篇幅大小,本实施例并非在图4完全显示100个视频,而是选择了其中的若干个视频进行描述)。此时图4显示的视频结果中可能存在大量相同或者重复的视频,因此,为提高视频查找的速度和准确度,用户可选中图4所示的界面中的过滤相似结果选项,以便触发对图4所示的视频结果进行相似过滤。
其中,对图4所示的视频结果进行相似过滤的具体操作可包括:将编号为rank1的视频作为当前视频,判断该当前视频是否和下一个视频相似(记为相似判断操作),其中,在首次执行该相似判断操作时,该编号为rank1的视频的下一个视频为:编号为rank2的视频,该相似判断操作具体可参见图2所示。如果不相似,则将该下一个视频的下一个视频即编号为rank2的视频作为下一个视频,返回执行上述相似判断操作;如果相似,过滤掉该编号为rank2的视频,并继续判断该被过滤掉的视频是否为所述视频结果中最后一个视频,这里编号为rank2的视频不为视频结果中最后一个视频,因此,需要继续执行上述相似判断操作,其中,在执行上述相似判断操作时,由于编号为rank2的视频已被过滤掉,此时当前视频的下一个视频已为编号为rank3的视频,以此类推,直至当前视频与视频结果中除该当前视频之外的其他所有视频完成相似判断操作,之后再将该当前视频的下一个视频作为当前视频返回上述相似判断操作,直至该当前视频为最后一个视频为止;当然,如果该被过滤掉的视频为所述视频结果中最后一个视频,则将该当前视频的下一个视频作为当前视频,返回执行上述相似判断操作。
在经过上述相似判断操作后,图4所示的视频结果最后如图5所示。其中,在图5所示的视频结果中,每一个视频的缩略图下方显示的Rank数字有两个,这里,Rank后的第一个数字标识了SOSO返回的图4所示的搜索结果排名,第二个数字是经过相似过滤后的优化排名。这能够使原来需要在很多页面显示的视频结果经相似过滤后能集中在一页中显示,进而大大提高视频查找的速度和准确度。
需要说明的是,考虑到SIFT特征匹配的复杂度比较高,结合SOSO每页查询结果最多显示28项,可在过滤相似视频的过程中以每次得到28项不重复的视频结果为单位进行,并同时对该28项不重复的视频结果排序并显示给用户,这可以达到近似实时的在线去重效果。
以上对本发明实施例提供的方法进行了描述,下面对本发明实施例提供的装置进行描述。
参见图6,图6为本发明实施例提供的装置的基本结构图。如图6所示,该装置可包括:
搜索服务单元601,用于根据用户输入的搜索关键字搜索相关的视频;
数据处理单元602,用于将搜索服务单元601搜索到的视频中的第一个视频作为当前视频,判断当前视频是否与当前下一个视频相似,
如果相似,过滤掉该下一个视频,并判断该被过滤掉的视频是否为所述视频结果中最后一个视频,如果否,返回执行判断当前视频是否与当前下一个视频相似的操作,如果是,判断当前视频是否还存在下一个视频,是则将当前视频的下一个视频作为当前视频,返回执行判断当前视频是否与当前下一个视频相似的操作;
如果不相似,将该下一个视频的下一个视频作为当前下一个视频,返回执行判断当前视频是否与当前下一个视频相似的操作。
以上对本发明实施例提供的装置进行了基本描述。下面对该装置进行详细描述。
参见图7,图7为本发明实施例提供的装置的详细结构图。如图7所示,该装置可包括搜索服务单元701和数据处理单元702。
其中,搜索服务单元701具有的功能与图6所示的搜索服务单元601类似,这里不再赘述。
数据处理单元702用于将搜索服务单元701搜索到的视频中的第一个视频作为当前视频,判断当前视频是否与当前下一个视频相似,
如果相似,过滤掉该下一个视频,并判断该被过滤掉的视频是否为所述视频结果中最后一个视频,如果否,返回执行判断当前视频是否与当前下一个视频相似的操作,如果是,判断当前视频是否还存在下一个视频,是则将当前视频的下一个视频作为当前视频,返回执行判断当前视频是否与当前下一个视频相似的操作;
如果不相似,将该下一个视频的下一个视频作为当前的下一个视频,返回执行判断当前视频是否与当前下一个视频相似的操作。
其中,如果数据处理单元702判断出当前视频不存在下一个视频时,将当前搜索结果中存在的视频按照顺序重新排序;基于此,如图7所示,该装置还包括:
人机交互界面703,用于显示数据处理单元702重新排序的视频。其中,该人机交互界面703可由用户根据实际情况自由设置,其存在形式可以MFC对话框形式或者其他形式存在。
优选地,如图7所示,该搜索服务单元701可包括:
HTTP通信模块7011,用于根据用户输入的搜索关键字抓取视频搜索返回的视频;
HTML视频信息解析模块7012,用于解析所述HTTP通信模块返回的视频,下载各个视频的缩略图。
优选地,如图7所示,该数据处理单元702可包括:
特征提取模块7021,用于提取出当前视频的缩略图和当前下一个视频的缩略图的尺度不变特征转换SIFT关键点;
特征匹配模块7022,用于针对当前视频缩略图中的每一关键点,从当前下一个视频缩略图的关键点中查找到该关键点的最近邻和次紧邻,如果该关键点和最近邻的欧式距离与该关键点与次近邻的欧式距离的商小于预设阈值,则确定该关键点与其最近邻和次紧邻匹配;在当前视频缩略图中M个关键点都与其最近邻和次紧邻匹配时,确定当前视频与当前下一个视频相似,否则,确定当前视频与当前下一个视频不相似;其中,M为预设值,为正整数。
其中,所述最近邻和次近邻通过KD-Tree方式查找,其中,最近邻为与该关键点的欧式距离最近的关键点,次近邻为与该关键点的欧式距离次近的关键点。
以上对本发明实施例提供的装置进行了描述。
由以上技术方案可以看出,本发明中,通过判断视频结果中当前视频是否与当前下一个视频相似,即对搜索结果进行相似视频过滤处理,能够使原来需要在很多页面显示的视频结果经相似过滤后能集中在一页中显示,进而大大提高视频查找的速度和准确度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。