基于深度学习技术的视频内容检测

简介: 短视频APP在UGC场景下出现了大量重复视频内容,该重复视频被重复曝光、重复消费,造成了用户体验较差,甚至于用户流失。本次分享重点介绍基于深度学习CNN技术构建视频重复内容检测服务,并给出该方案的工程实现。该服务上线后,重复检测准确率80%,视频内容分发提效20%。

1、背景介绍
克拉克拉(KilaKila)是国内专注年轻用户的娱乐互动内容社区软件。KilaKila 推出互动语音直播、短视频、对话小说等功能,满足当下年轻用户个性化、碎片化的文娱需求。其中短视频每天都有海量的视频素材产生,这对用户造成了严重的信息过载,难以从中自主挑选感兴趣的内容。每一位视频内容的消费者同时也是生产者,期望自己的作品能够被更多的志同道合者所看到,获得最大的曝光度。但短视频在UGC场景下出现了大量重复视频内容,该重复视频被重复曝光、重复观看,造成了用户体验较差甚至于用户流失。本文重点介绍基于深度学习CNN技术构建视频重复内容检测服务并给出该方案的工程架构。该服务上线后,重复检测准确率80%,视频内容分发提效20%。

2、图像特征描述符方法
视频内容理解的第一步便是对视频进行片段化视频帧处理,也就是随机采样。视频抽帧指用视频的关键帧表征整个视频的完整含义,针对不同类型视频编码格式、帧速率、比特率、视频分辨率以及不同种类的视频,视频的抽帧大概分为按视频固定时间间隔抽帧和基于实际图像内容抽帧,具体可细分为聚类抽帧,基于运动抽帧,基于镜头抽帧本文采取深度学习CNN模型框架对图像进行提取特征,其中并对比了目前主流模型的特征提取能力并针对特征数据进行针对训练,以便得到更好的模型参数。
传统的特征描述符方法可以清晰看到特征点的移动,有利于特征点的跟踪而对于边 (edge) 、区域 (patch) 等特征则无能为力。深度学习方法可以保留图像邻域的联系和空间的局部特点(CNN)更容易处理高维图像。对使用者而言无需知道提取的特征有哪些。大量实践表明,深度学习在提取图像特征方面有明显优势。

_1


图一:早期判断图片相似的网络结构

3、深度学习CNN的模型选择
1)深度学习算法之图片提取特征模型(2D-CNN)
FFmpeg按照视频时间的固定间隔抽取关键帧,抽帧间隔灵活选取。利用AlexNe版本的CNN模型处理原始图片为1000维的特征向量。输入的原始数据图像需要经过深度学习模型提取图片特征,以高维数据展示并存取图片对应名称以方便后续操作。

_2


图二:高维数据


2)深度学习算法之视频提取特征模型(3D-CNN)
FFmpeg根据视频相关参数选取合理数量的clip作为单次输入数据。利用C3D版本CNN模型获取视频特征的高维向量表达。对基于视频分析的问题,2D卷积无法有效获取时序上的信息。采用可提取三维图像特征的3D卷积模型,对clip同时还可以提取时空特征,用高维向量表示。Clip固定帧数的视频片段。

_3


图三:2D卷积


_4


图四:3D卷积


_5


图五:C3D模型网络结构

3)深度学习算法之视频提取特征模型
FFmpeg根据视频相关参数选取合理数量的clip作为metadata。利用R2Plus1D版本的CNN模型获取视频特征的高维向量表达。将3D卷积分解为空间卷积和时间卷积,采用ResNet网络的基础block。相比C3D模型在不增加参数量的前提下增强了模型的表达能力。

_6


图六:a)R3D模型卷积核;b)R2Plus1D模型卷积核;R3D模型和R2Plus1D模型网络结构

4、检索方法
1)哈希检索算法
此部分将CNN模型抽取出的1000维特征向量存入Redis数据库完成持久化存储,Redis数据库动态更新保存增量数据。为了保证相关特征向量的查询比对,其中的方案之一便是使用LSH算法,该算法是查询视频的高维特征向量再做高维数据空间向量的位置敏感哈希算法( Locality-Sensitive Hashing ),即将每个视频对应的图片计算得到的特征向量实现归一化后得到每张查询视频在数据库中最相似的视频所对应的特征向量。
2)聚类算法
聚类方法避免对全空间进行搜索,而是对全空间进行分割,将其分割成若干小的子空间,在搜索的时候,锁定查询向量应该落入的子空间,在该子空间中做遍历查询。通过增加索引子类空间的个数提高搜索的精准度。

_7


图七:特征向量聚类算法

3)矢量量化方法 (vector quantiation) 是将一个向量空间中的点用一个有限子集来进行编码表示的过程。典型的有PQ乘积量化 (Product Quantization) 和倒排乘积量化 (IVFPQ) 。PQ乘积量化:本质是一种聚类的方法。

5、视频重复内容检测服务的工程架构选择
1)视频重复性检测系统架构(2D-CNN+LSH算法)

_8


图八:2D-CNN+LSH算法流程图

2)视频重复性检测系统架构(3D-CNN+聚类算法)

_9


图九:3D-CNN+聚类算法流程图

目录
相关文章
|
2月前
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
|
7天前
|
机器学习/深度学习 PyTorch TensorFlow
使用Python实现智能食品质量检测的深度学习模型
使用Python实现智能食品质量检测的深度学习模型
38 1
|
1月前
|
机器学习/深度学习 运维 监控
深度学习之视频内容理解
基于深度学习的视频内容理解(Video Content Understanding, VCU)是一项关键技术,旨在通过神经网络模型自动分析、解读和提取视频中的语义信息。
66 10
|
6月前
|
机器学习/深度学习 计算机视觉 异构计算
构建高效图像分类器:深度学习在视觉识别中的应用
【5月更文挑战第30天】 在计算机视觉领域,图像分类任务是基础且关键的一环。随着深度学习技术的兴起,卷积神经网络(CNN)已成为图像识别的强有力工具。本文将探讨如何构建一个高效的图像分类器,着重分析CNN架构、训练技巧以及优化策略。通过实验对比和案例研究,我们揭示了深度学习模型在处理复杂视觉数据时的优势和挑战,并提出了改进方向,以期达到更高的准确率和更快的处理速度。
|
4月前
|
机器学习/深度学习 算法 数据处理
基于深度学习之毛发检测
基于深度学习的毛发检测是一项计算机视觉任务,旨在从图像或视频中检测和分割毛发区域。这项技术在医学图像分析、美容行业、虚拟试衣和增强现实等领域有着广泛的应用。
62 4
|
4月前
|
机器学习/深度学习 JSON 开发工具
探索iOS开发:构建你的第一个天气应用深度学习在图像识别中的应用与挑战
【7月更文挑战第31天】在数字时代的浪潮中,移动应用成为了连接世界与个人的重要桥梁。本文将带你走进iOS开发的世界,通过一个实际的项目——构建一个简单的天气应用,来展示如何利用Swift编程语言和苹果的开发工具进行iOS应用开发。我们将从设置开发环境开始,逐步介绍界面设计、数据获取、以及功能实现等关键步骤。无论你是编程新手还是希望扩展技能的开发者,这篇文章都将为你提供一个清晰的指南,帮助你理解并实施一个完整的iOS应用开发过程。让我们开始吧,一起创造属于你的第一款iOS应用! 【7月更文挑战第31天】深度学习作为人工智能领域的重要分支,已经在多个领域取得了显著的成果。特别是在图像识别方面,深
46 0
|
5月前
|
机器学习/深度学习 固态存储 算法框架/工具
基于深度学习的对象检测
【6月更文挑战第6天】基于深度学习的对象检测。
42 2
|
5月前
|
机器学习/深度学习 存储 人工智能
基于深度学习的乳腺癌智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能(2)
基于深度学习的乳腺癌智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能
|
5月前
|
机器学习/深度学习 存储 人工智能
基于深度学习的乳腺癌智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能(1)
基于深度学习的乳腺癌智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能
|
5月前
|
机器学习/深度学习 人工智能 安全
实战 | 基于YOLOv8深度学习的反光衣检测与预警系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、人工智能
实战 | 基于YOLOv8深度学习的反光衣检测与预警系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、人工智能
下一篇
无影云桌面