重复视频检测的价值和常见方法


=Start=

缘由:

前段时间在处理一个case时遇到了相关的问题,比较感兴趣视频查重/查首发后面涉及的意义和原理,方便后面有需要的时候参考。

正文:

参考解答:

随着用户使用习惯的改变和网络环境的改善,短视频越来越受到大家的喜爱。对于观众来说,良好的观看体验与视频内容有着很大的关系。当前,全网范围内的主要精品视频主要来自MCN机构,一些公司为了更快更好地去覆盖全网内容,会选择和内容代理合作,而代理手上会有很多重复版权的内容,导致重复内容出现。另外,搬运视频也会导致重复内容出现,这些重复内容会造成极差的用户体验。再者,大量内容相似的视频对于短视频平台存储、网络带宽等资源也是一个极大的挑战,为了不必要的资源浪费,对视频内容进行去重是非常有必要的。

重复视频检测的价值在哪?

  • 合规风险规避和处理
  • 版权风险规避和处理
  • 原创保护
  • 提升用户体验
  • 优化数据和算法

合规安全——当某个视频被定义成敏感内容不宜传播时,你们平台是否有能力快速找出当前平台内有多少和这个视频相同/相似的视频,并进行快速批量删除/屏蔽处理,如果检测和处理不及时,平台是有合规风险的,严重的还可能出现app下架处理、平台关闭的情况

版权风险——比如电影电视剧一般都是有版权的,里面的内容如果不是版权方自己发布的,而是由其它人发布的,则可能产生版权纠纷,平台也可能会被追责

原创保护——对于平台来说,高创新度的素材具有极高的价值,能够显著的提高用户在平台的活跃,而创作者也会从平台给予的流量获得激励,进一步提高创作者的创作激情。原创内容可以帮助平台吸引更多的用户加入,扩大用户群体和市场份额,增加平台的活跃度和影响力,进而带来更多的商业价值和合作机会。如果平台没有很好的原创保护能力(重复视频检测能力是其中一个重点和基础),则会破坏用户体验,降低优秀创作者的激情

提升用户体验——当用户点开app时如果给他推送的都是大量低质、重复类型的视频,非常影响用户体验,会降低用户活跃度和对平台的信任度。

优化数据和算法——对于一个总是发布搬运视频的账号来说,平台是可以给他打上搬运标签的,还有就是重复视频的存在会干扰短视频平台的推荐算法,导致推荐结果不准确或重复。通过检测和过滤重复视频,可以提高推荐算法的效果,为用户提供更加个性化和有价值的推荐内容。

重复视频检测的方法

一开始我能简单想到的检测重复视频的方法和原理:

  • 查找重复文件(文件大小一致、md5相同)
  • 对视频进行抽帧,然后比对关键帧的图片指纹是否一致

后来搜了一下,了解到的检测重复视频的方法:

视频基础信息
* 文件大小
* 文件哈希值
* 标题、标签、封面、描述、时长、尺寸、分辨率、bgm等信息
* 水印
视频内容信息
* 视频格式、编码方式
* 分辨率、帧数
* 关键帧提取
* 帧间差异
* ...

question:
请详细列出多种查找重复视频或内容高度相似视频的一些思路和方法

answer:
要查找重复视频或内容高度相似的视频,可以尝试以下几种思路和方法:

  1. 基于哈希值的比对:使用哈希算法(如MD5、SHA-1、Perceptual Hash等)对视频进行哈希计算,然后比对哈希值,相同或相似的哈希值可能表示相似的视频。
  2. 视频指纹技术:视频指纹是一种能够唯一标识视频内容的特征码。通过提取视频的关键帧、颜色直方图、运动向量等特征,生成视频指纹,然后比对视频指纹来判断相似度。
  3. 基于帧间差异的比对:将视频分解成一系列帧,通过比较帧之间的差异来判断视频的相似度。可以使用图像处理算法(如结构相似性(SSIM)、均方差(MSE)等)来计算帧之间的相似度。
  4. 基于机器学习的方法:使用机器学习算法训练模型来识别相似的视频。可以使用深度学习模型(如卷积神经网络)对视频进行特征提取,然后比对特征向量来判断相似度。
  5. 利用第三方工具和平台:有一些专门用于查找相似视频的第三方工具和平台,如YouTube的Content ID系统、Google的Image Search、TinEye等。这些工具和平台可以通过图像或视频的特征来搜索相似的内容。
  6. 手动比对:如果你只有少量视频文件需要比对,你可以手动观看和比较这些视频文件,寻找相似的内容或重复的片段。这可能是一项耗时的任务,但对于小规模的比对工作来说是可行的。

无论使用哪种方法,需要注意以下几点:

  • 视频预处理:对于大型视频库或较长的视频,可能需要进行预处理,如分割视频、提取关键帧等,以便更高效地进行比对。
  • 算法选择:不同的算法适用于不同的场景和需求,需要根据具体情况选择合适的算法或方法。
  • 数据库管理:如果需要对大规模视频库进行比对,需要建立适当的数据库管理系统,以便存储和索引视频数据。
  • 版权和隐私考虑:在进行视频比对时,需要遵守相关的版权和隐私法律法规,确保合法使用视频数据。

请注意,上述方法仅提供了一些常见的思路和方法,具体的实施需要根据实际情况进行调整和选择


什么是视频查重?

视频查重,顾名思义,是一种技术手段,旨在防止相同或类似的视频在在线视频平台上被重复上传,从而提高版权保护和内容安全性。视频去重的主要目的是检测视频内容的相似度,确定视频是否与平台上已有的其他视频重复或近似重复,进而加以删除或屏蔽。

视频查重通常使用图像识别技术和音频识别技术,通过提取视频中的图像帧和音频信息,将其转化为数字特征进行比较,从而确定视频之间的相似度。一些在线视频平台,如YouTube和TikTok等,采用了自己的视频去重算法和技术,以确保平台上的内容符合版权要求和社区准则。

常见的视频查重手段主要包括以下几种:

  1. 基于内容相似度的查重算法:这种算法通过计算视频内容的特征码,来判断视频之间的相似度。当两个视频的特征码相似度超过一定阈值时,就会被判断为重复视频。
  2. 基于帧差异的查重算法:这种算法通过比较视频帧之间的差异,来判断视频之间的相似度。当两个视频的帧差异超过一定阈值时,就会被判断为重复视频。
  3. 基于音频指纹的查重算法:这种算法通过计算视频中音频的指纹信息,来判断视频之间的相似度。当两个视频的音频指纹相似度超过一定阈值时,就会被判断为重复视频。
  4. 基于视频元数据的查重算法:这种算法通过比较视频的元数据信息,如文件大小、创建时间、修改时间等,来判断视频之间的相似度。当两个视频的元数据相似度超过一定阈值时,就会被判断为重复视频等

这里需要强调的是,目前大部分的平台不在采用单一算法来进行判断,都是组合形式或者其他的模型,这里只是列举一些相对常见的算法。

常见的去重方法

针对视频查重有以下一些方法可以对视频进行处理,从而避免被查重:

  1. 修改视频尺寸和分辨率:通过改变视频的尺寸和分辨率,可以使视频与原始视频看起来不同,从而干扰查重算法的判断。
  2. 更改视频格式和编码方式:视频的格式和编码方式会影响视频的文件大小和质量,更改视频格式和编码方式可以使视频的特征码发生变化,从而干扰查重算法的判断。
  3. 添加或修改视频音频:通过添加或修改视频音频,可以改变视频的特征码,从而使视频与原始视频不同。
  4. 对视频进行水印处理:通过对视频添加水印,可以使视频的特征码发生变化,从而干扰查重算法的判断。
  5. 对视频进行裁剪或剪辑:通过对视频进行裁剪或剪辑,可以使视频的部分内容被删除或修改,从而干扰查重算法的判断
  6. 重新生成字幕或者配音解说
  7. 添加额外的贴纸和文字等等

需要注意的是,不同的平台可能采用不同的查重算法,因此不能简单地采用一种方法来规避查重。此外,查重算法也在不断的升级和改进,因此规避查重并不是一件容易的事情。如果要在网络上发布视频,建议尽量使用自己的原创内容,避免使用他人的视频、音频、图片等素材,以确保视频不会被判定为重复视频


重复视频检测方法和系统

背景技术

在视频搜索领域,需要处理海量的、来自不同提供方的视频源,它们中间存在着大量的重复视频,尤其是一些热门视频。这样会严重影响搜索和视频推荐结果的质量,导致用户体验的下降。所以如何去除具有相同内容的视频,成为视频搜索中必须要解决的问题。而视频相似度分析在视频去重、视频分类等技术中处于一个核心的步骤和重要的地位。

现有技术中视频去重的计算最普遍的是以两个视频的md5是否相同作判断为两个视频是否为同一视频的依据,该方法认为拥有同一个md5值的视频是同一个视频,但是视频只要经过转码、添加字幕、修改一些基本属性、再传递等操作md5值就会发生变化,所以这种方法只适用两个完全相同的视频文件相比较,并且对于较大的视频进行md5值计算会消耗大量的时间。

另一种方式是使用字幕、时长、文件名等多种视频特征进行余弦相似度这样的距离计算求解两个视频的相似程度,但这样的计算方式误差很大,这些特征都不是很稳定,很容易被修改。

发明内容

本发明的实施方式提供一种重复视频检测方法及系统,用于解决现有技术中不能准确确定重复视频的技术问题。

根据本发明的一个方面,提供了一种重复视频检测方法,包括:

  • 采集所有待检测视频的关键帧和与所述关键帧相对应的邻近帧,并确定高斯融合图像;
  • 确定所述高斯融合图像的特征子的描述子;
  • 选举不同视频之间的描述子相近的匹配特征子;
  • 对所述匹配特征子所对应的高斯融合图像进行余弦相似度判断,得到所述不同视频之间的相似度;
  • 根据所述不同视频之间的相似度与预设阈值之间的大小判断视频是否重复。
参考链接:

视频去重的定义、识别方法和操作建议-2023版
https://zhuanlan.zhihu.com/p/659975945

短视频查重机制及去重方法
https://zhuanlan.zhihu.com/p/144004218

什么是视频去重?去重的方法有哪些?是否有效?
https://zhuanlan.zhihu.com/p/607164370

重复视频检测方法和系统
https://patents.google.com/patent/CN105893405A/zh

一种重复视频的判断方法及装置 #申请日为2018年3月29日
https://patents.google.com/patent/WO2019184522A1/zh

视频重复度获取方法、电子设备及存储介质
https://patents.google.com/patent/CN112653885B/zh

一种基于特征帧的重复视频检测方法
https://patents.google.com/patent/CN112528856B/zh

=END=


《 “重复视频检测的价值和常见方法” 》 有 4 条评论

  1. SEO优化 | SEO如何研究排名规律
    https://mp.weixin.qq.com/s/EKZCOHsOU6zXZvH6M_hHWw
    `
    查重系统本质上是一个搜索系统,和搜索/推荐系统一样会通过召回、粗排、精排三层找到重复的视频。

    ==
    搜索引擎基本概念:爬取、索引、召回、粗排、精排、重排

    # 爬取 & 索引

    搜索引擎爬取全网海量页面 → 进行基本的质量评分 → 过滤出小部分质量较佳的网页 → 创建倒排索引(能够通过关键词查询文档)

    # 召回

    用户发起搜索请求 → 搜索引擎先对关键词进行纠错处理 → 拆成多个词项 → 去索引中查找能够命中这些词项的文档,可能就是这个数

    # 粗排

    但是文档的实在数量太多了,一股脑的都推给用户显然很二逼,用户不可能都看完,只会看其中极小的一部分,另外也没法保证质量。

    所以要从海量召回的文档中,删除其中内容高度重复的文档,并筛选与搜索词最相关的760个文档,展现给用户。

    这个环节属于海选,需要大量计算,为了不让用户等待过长,一般用快捷优先且相对简单的处理方式,比如BM25、TF-IDF、LDA,具体还有啥咱也不知道。

    # 精排

    之后就是对760篇文档排序的过程,最终的目的是让排序结果最大概率符合用户预期的结果,这样用户才更有可能点进去了解详情,从而提升搜索的业务价值。

    这部分比海选要复杂的多,涉及一大堆数据挖掘、机器学习、用户行为分析、用户意图识别等算法,大概包括:

    * 通过用户搜索词和前N次搜索词,结合历史日志中其他搜索该词的用户浏览行为,来揣测用户可能的搜索意图
    * 文档的更新时间
    * 文档的历史点击率
    * 文档浏览后终结搜索的比例
    * 用户的网络维度特征(IP、网络类型、地域….)
    * 与搜索词文本匹配度最高的TopN条文档
    * 与搜索词潜在意图覆盖率最高的TopN条文档
    * ….太多了咱也不知道

    上述过程,对应着搜索引擎中,爬取、索引、召回、粗排、精排的几个阶段,属于搜索引擎系统入门级的常识。

    # 重排

    现在精排后面,还有重排,根据用户的搜索场景(网络、设备、近期点击行为等)和媒体热点,实时调整排序,比如:

    * 你用wifi跟手机网络,搜索结果可能有所不同
    * 今天上午点击的某个结果,下午再次搜索时排名就上去了
    * 上午媒体爆料一个叫GoGo闯神秘人和迪丽热巴约会了,然后下午GoGo闯的搜索结果,就跟上午完全不同了
    `

  2. 推荐系统全链路(1):召回粗排精排-各有所长
    https://zhuanlan.zhihu.com/p/390503646
    `
    saying
    1.AB测试几乎是系统改进的不二法则,算法做AB,开发做AB,产品做AB,运营更要做AB
    2.召回有点像一个甩锅侠,我不管我给的准不准,我就管我把潜在的能投的都吃进来就行
    3.其他环节想要提升,除了自身确实有改进,也要和精排相似。太超前的改进注定会被精排这个旧势力打压
    4.粗排非常容易照本宣科,明明实际结果已经说明不需要粗排。内心的惯性还是让人留着它

    前两讲从比较宽的范围讲了一下推荐系统做什么,以及在这个时代背景下的发展历程。从这一讲开始,我们则会逐渐进入技术细节。

    从大体上来说,推荐系统需要包含这几种模块:索引/库存池,特征服务,排序模块,线上展示逻辑,日志系统,分析系统。

    整体上,排序是一个漏斗,如下图所示:

    一开始我们可能有成千上万的item,首先要由召回(也叫触发,recall)来挖掘出原则上任何用户有可能感兴趣的东西。这个环节是入口。有时候,单独的召回可能难以做到照顾所有方面,这个时候就需要多路召回。很好懂,就是多个召回路共同决定进入粗排的候选。比如可以由一个召回专门根据用户过往的兴趣来筛选候选,那可以再加一个召回专门输出近一段时间的热门视频。他们的出发点都不一样,共同组成下一级的输入。粗排(pre-rank)一般接受几千个输入,这时候压力就大大降低了。粗排就可以放一些较为复杂的结构,比如mlp就可以放上去了。粗排的输出一般是小于1000的,那这个压力就更小了,精排(rank)就可以变得很复杂,什么transformer啊放进去也不过分。

    因此这几级结构实际上是计算压力从大到小,模型复杂度从小到大的一个过程。正因为如此,他们的角色其实也有差别:

    # 精排-最纯粹

    精排是最纯粹的排序,也是最纯粹的机器学习模块。它的目标只有一个,就是根据手头所有的信息输出最准的预测。我们也可以看到,关于精排的文章也是最多的。

    研究精排杂七杂八的变量最少(虽然也是最卷的),精排训练所需要的数据本身就是它自己产生的,没有其他环节的影响。精排也是整个环节中的霸主,你在召回上的一个改进点,精排没有get到,那你这个改进点就不能在实际环境中生效。前面的环节想要做出收益,都得精排“施舍”。

    # 召回-入口大开

    由于召回所要面对的item量是最大的,因此召回也是时延压力最大的。简单来说,就是要快。意味着他的模型结构最简单,甚至有时候都不是模型,而是规则。

    对于召回来说,最经典的模型莫过于双塔(一个mlp输出用户的embedding,一个mlp输出item的embedding,后面详细介绍)。双塔的输出,通常建模在向量的近似搜索里面,可以极大地提升搜索的效率。因此,双塔几乎可以说是为召回而生的。

    召回有一个原则是多样化,多个召回路在他们所要涵盖的地方应该有差异。考察方面有差异最好,模型结构有差异次之,如果仅仅有数据差异啥的可能不会有什么效果。

    但是召回并不太关心准不准,第一是后面有粗排精排给他兜底,第二是他准了也没用,反正还要看后面的脸色。我们在机器学习中有一类指标叫“召回率”,就是你认为的正样本占所有正样本的比例。这里的召回也有点这个意思,不在乎你犯了多少错,只在乎你把对的放进来没有,因此我们就得到saying 3.

    # 粗排-略显尴尬的定位

    相比于召回和精排,粗排是定位比较尴尬的。在有的系统里,粗排可以很丝滑的平衡计算复杂度和候选数量的关系。但是在有的例子中,粗排可能只是精排甚至召回的一个影子。所以,粗排的模型结构大多数情况下都很像精排或者召回。

    粗排是一个非常容易照本宣科的地方,因为粗排不是必需的环节。如果你的候选数量非常少,那连召回都不需要了;如果你的精排能吃的下召回的输出,那可以考虑实验对比是不是需要粗排。但是假如不加粗排,总感觉欠缺点什么。有的地方甚至出现过粗排输出候选变少,整个系统反而涨点的情况。像这样的情况出现,就说明整个链路设计存在不合理的地方。
    `

  3. 推荐系统概述(1):推荐系统是干啥的?
    https://zhuanlan.zhihu.com/p/384471991
    `
    其实当我们分析了一下推荐系统的界面之后,我们就可以得到推荐系统的特点:在推荐系统中,用户(也可称为消费者)浏览作者(也可称为生产者)输出的内容。它其实是链接生产者和消费者的一个中间媒介。

    生产者,在短视频上是发布视频的用户,他们的需求可能是想要更多的曝光;在携程/airbnb,可能是酒店民宿的店家,希望有更多的人光顾;在淘宝,是商铺,希望能卖出更多的货。

    消费者就是用户了,在短视频平台可能只是为了找乐子;在淘宝或者携程则是目的明确的想要买东西或者住店。

    # 推荐系统的作用

    既然推荐系统是一个媒介,那么它都能有哪些作用,可以达到什么样的目的呢?

    对于消费者而言,很明显就是把读者想看的东西给他。一个人喜欢看dota2的节奏,我们可以给他推各种主播的整活视频,那他一定会很喜欢看。当他想要买一部手机,我们可以根据他的喜好给他推荐性价比更高的那一款,那么既能达到他的目的,也很省事。

    扶持生产者,让他们发挥更大的价值。像一些地区比如新疆,可以产出非常甜的水果,但是想要在东部市场有所作为,总不能拿着广告牌坐广告来吆喝吧。这个时候推荐系统如果能帮他们找到潜在的喜欢新疆水果的客户,就能很省事的增加果农的收入。淘宝的一大价值其实就是让很多的(尤其是江浙的)商品生产者富了起来。视频平台如果让小作者也有曝光度,也可以增进创作欲望。像papi酱这样的例子,即让自己红了起来,也拉动了更多用户来了解平台。

    生产者这里有一个问题是所谓的长尾效应,即头部的作者能获得主要的曝光,而大多数作者都没什么曝光量。

    从推荐系统的角度来说,我们必须保证长尾的用户也得到一定的曝光。否则大部分的作者创作积极性被打压掉之后,平台会慢慢死掉。这个后面还会专门聊。

    每一种推荐系统,根据实际业务的不同,消费者和生产者的比例有所不同。相应的,推荐系统的侧重点也有所不同,比如airbnb,消费者基本是刚需,所以这时候要考虑的是生产者的长尾效应,需要让一些不那么热门的房源得到展示。但是在短视频平台上,内容是足够丰富的,这时候让消费者觉得推荐的内容有意思,好玩,则更为重要。

    除了对生产者消费者,对平台自己的好处是什么呢?对于平台来说,可能趁机卖广告才是本体(误)。平台光展示内容是不挣钱的,真正挣钱的方式是广告主去竞价一个广告的曝光。目前大多数广告的计费方式都是CPM(Cost Per Mille)或者oCPM(optimized Cost Per Mille),啥意思呢?就以CPM举例:CPM的方式是按照千次展现(Mille)来计费,比如你的出价是10元,当平台展示这个广告一千次(不考虑二价等因素)的时候就会收费10元。oCPM虽然考虑了按照转化来出价,但是还是按照曝光来收费,因此只要有广告出现在你的APP中,平台就获得了收入。除竞价广告之外,还有合约广告(如开屏广告等等)。

    一开始,平台上没有广告,很干净。这个阶段平台的主要目的是拉取用户的兴趣,让更多的人进入,培养他们的粘性。到用户体量已经比较稳定,且不太容易流失的时候,就会开始插广告。但是为了用户体验,一般不会特别过分。当我们看到那些广告频率极其高的APP就要当心了。可能这些APP已经在走下坡路,准备最后疯狂恰一波烂钱了。

    ==
    推荐系统就是为了卖广告,哈哈哈
    `

    从零单排推荐系统
    https://www.zhihu.com/column/c_1392507941388414976

  4. 论文笔记 | 阿里新一代粗排系统:COLD
    https://mp.weixin.qq.com/s/0J8VdRwL3EXazusf9iCfcA
    `
    这篇博客给大家介绍的是阿里新一代广告粗排系统COLD,论文为《COLD: Towards the next generation of pre-ranking system》。

    广告系统通常由下面四个部分组成:Matching(召回)、Pre-Ranking(粗排)、Ranking(精排)、Reranking(重排),如下图所示。

    Pre-ranking阶段的输入是召回的全部广告,规模可能有几万几十万,耗时要求是几十毫秒。Pre-Ranking模型为了高效,常采用vector-product模型,将用户和广告候选的embedding提前计算好,在预测的时候直接进行查询。Vector-product模型没有用户特征和广告特征交叉的部分,限制了模型的表达能力。而且,离线计算好全量的用户和广告的embeddings耗时较大,通常是小时级别的,会导致pre-ranking模型不能做到实时更新,这在双十一等流量大、实时性高的场景会进一步限制pre-ranking模型的效果。

    COLD提出一个轻量级的pre-ranking框架,具有以下优点:
    * 可以使用使用任意复杂度的模型,包括交叉特征,而不仅仅是vector-product模型。这点让pre-ranking阶段模型的表达能力增强,提升整个广告系统的效果
    * 使用加速方法优化系统性能
    * 整个系统的训练和预测都是在线的,不像vector-product模型那样必须间隔一段时间进行更新
    `

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注