机器学习在视频质量检测中的技术应用

news/2025/10/18 21:12:51/文章来源:https://www.cnblogs.com/codeshare1135/p/19150163

机器学习在视频质量检测中的技术应用

流媒体视频在录制、编码、封装或传输过程中可能会引入缺陷,因此大多数订阅视频服务都会持续评估其流媒体内容的质量。手动内容审查(称为"玻璃眼测试")扩展性差,且存在审查员质量感知差异等挑战。行业中更常见的是使用数字信号处理来检测视频信号中与缺陷频繁相关的异常。

三年前,某视频平台的视频质量分析(VQA)团队开始使用机器学习来识别从游戏机、电视和机顶盒等设备捕获的内容中的缺陷,以验证新应用程序版本或编码配置文件的离线更改。最近,我们已将相同技术应用于数千个频道和直播活动的实时质量监控,以及大规模分析新目录内容。

我们的VQA团队训练计算机视觉模型来观看视频并发现可能影响客户观看体验的问题,例如块状帧、意外黑帧和音频噪声。这使我们能够处理数十万直播活动和目录项的视频规模。

我们面临的一个有趣挑战是由于视听缺陷在视频服务中极低的发生率导致训练数据中缺乏正例。我们通过在原始内容中模拟缺陷的数据集来解决这一挑战。在使用该数据集开发检测器后,我们通过在实际缺陷集上测试来验证检测器是否能够迁移到生产内容。

我们已经为18种不同类型的缺陷构建了检测器,包括视频冻结和卡顿、视频撕裂、音频和视频之间的同步问题以及字幕质量问题。下面我们仔细研究三种缺陷示例:块状损坏、音频伪影和音视频同步问题。

块状损坏检测

使用数字信号处理进行质量分析的一个缺点是难以区分某些类型的内容与有缺陷的内容。例如,对于信号处理器来说,人群场景或高运动场景可能看起来像具有块状损坏的场景,其中受损传输导致帧内像素块位移或导致像素块全部采用相同的颜色值。

为了检测块状损坏,我们使用残差神经网络,这是一种设计使高层明确纠正下层遗漏错误(残差错误)的网络。我们将ResNet18网络的最后一层替换为1x1卷积(网络图中的conv6)。

该层的输出是一个二维图,其中每个元素是特定图像区域中块状损坏的概率。这个二维图取决于输入图像的大小。在网络图中,224 x 224 x 3图像传递到网络,输出是7 x 7图。在下面的示例中,我们将高清图像传递给网络,结果图是34 x 60像素。

在此工具的初始版本中,我们对图进行二值化并计算损坏区域比率为corruptionArea = areaPositive/totalArea。如果该比率超过某个阈值(0.07证明效果良好),则将帧标记为具有块状损坏。

在当前版本的工具中,我们将决策函数移入模型中,因此它与特征提取联合学习。

音频伪影检测

"音频伪影"是音频信号中不需要的声音,可能通过录制过程或数据压缩引入。在后一种情况下,这相当于音频的损坏块。然而,有时出于创意原因也会引入伪影。

为了检测视频中的音频伪影,我们使用无参考模型,意味着在训练期间,它无法访问干净音频作为比较标准。该模型基于预训练的音频神经网络,将一秒音频段分类为无缺陷、音频嗡嗡声、音频嘶嘶声、音频失真或音频咔嗒声。

目前,该模型在我们的专有模拟数据集上实现了0.986的平衡准确度。关于该模型的更多信息可以在我们今年在IEEE冬季计算机视觉应用会议上发表的论文《使用预训练音频神经网络检测音频伪影的无参考模型》中找到。

音视频同步检测

另一个常见的质量问题是AV同步或唇同步缺陷,即音频与视频不同步。广播、接收和播放过程中的问题可能导致音频和视频不同步。

为了检测唇同步缺陷,我们基于牛津大学的SyncNet架构构建了一个检测器——我们称之为LipSync。

LipSync管道的输入是一个四秒视频片段。它传递到镜头检测模型,识别镜头边界;人脸检测模型,识别每帧中的人脸;和人脸跟踪模型,将连续帧中的人脸识别为属于同一个人。

人脸跟踪模型的输出(称为人脸轨迹)和相关音频然后传递到SyncNet模型,该模型跨人脸轨迹聚合以决定剪辑是同步、不同步还是不确定,意味着要么没有检测到人脸/人脸轨迹,要么同步和不同步预测数量相等。

未来工作

这些是我们武器库中精选的几个检测器。在2022年,我们继续致力于改进和完善我们的算法。在正在进行的工作中,我们使用主动学习(算法选择特别信息丰富的训练示例)来持续重新训练我们部署的模型。

为了生成合成数据集,我们正在研究EditGan,这是一种新方法,可以更精确地控制生成对抗网络(GAN)的输出。我们还使用自定义的云原生应用程序和SageMaker实现来扩展我们的缺陷检测器,以监控所有直播活动和视频频道。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/939767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实用指南:【读书笔记】《苏东坡》

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

一位焦虑的普通二本软件工程的学生

介绍 我是一位普通的大三本科生,学的东西有点杂c语言,java,js,ts,go,python...总想着什么都涉及一点,我很贪心。 回顾 高二 高二的寒假,闲着无聊的我用电脑刷着b站。那时候是高中我没有手机,偶然间我刷到了狂…

C++类的运算符重载

1、加号运算符重载(加减乘除) 首先假设你有一个Person类,里面有个成员变量m_a和m_b,现在你想使p1+p2等价于p1.m_a+p2.m_a,p1.m_b+p2.m_bclass Person { public:Person() {};Person(int a, int b) : m_a(a), m_b(b) …

10.18 CSP-S模拟34/2025多校CSP模拟赛6 改题记录

水HZOJ 写在前面 改了inf小时T3还没改出来破如防,本来不想写的,但还是随便写写吧。 A. 最长不下降子序列 哈哈哈过不去的大水题。 题意是给出一个由1和2组成的序列,可以选择某个连续区间翻转,求问最长不下降子序列…

微软Office LTSC 2021(KpoJIuK直装版)x64 v16.0.14334.20344 10月版

微软Office 2021 是微软公司最新发布的办公套件,提供了一系列强大的软件工具,包括Word、Excel、PowerPoint和Outlook等。 软件功能 Word:提供用于创建、编辑和格式化文档的功能,包括文字处理、图形插入、表格制作…

React Query入门指南:简化React应用中的信息获取

React Query入门指南:简化React应用中的信息获取2025-10-18 20:53 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displa…

征程 6 | 征程 6 工具链如何支持 Matmul/Conv 双 int16 输入量化?

一、前言 在征程 6 工具链的量化精度调优实践中,当 Matmul/Conv 算子的两个输入皆为量化敏感算子时,PTQ 与 QAT 各自面临着难以克服的棘手困境。 在 PTQ 流程里,为了实现双 int16 输入的支持,工作人员不得不借助脚…

做题技巧与结论证明

优先考虑单调性。 优先考虑 dfn 区间。 优先考虑直径。 优先考虑写 gf。 这个可能是假的 优先考虑凸性。 优先考虑必要条件,再补一补断言这是充要条件。 优先考虑最大元。 结论: 谁跟你结论,斜杠糗大了

CSP-S模拟34/2025多校冲刺CSP模拟赛6

写在前面:废话 坏坏坏坏坏坏坏,假假假假假假假,唐唐唐唐唐唐唐,爆爆爆爆爆爆爆,蒻蒻蒻蒻蒻蒻蒻!!!!111P推歌 《幸福安心委员会》 どうして みんなが幸せなの? 为什么 大家都这么幸福呢? この世界のこと 闻…

Java学习通互评5

1.StudenDaoListImpl.java与StudentDaoArrayImpl.java有何不同? 前者用ArrayList,后者用普通数组;前者无需指定初始容量,后者需在创建对象时传入数组大小;前者支持动态扩容,后者容量固定,数组满后无法继续添加;…

卡车厂实习第三天

1、每个活可以一个一个干,也可以串联起来干,串联起来更省时省力,找技巧,还得知道为什么冷媒充700或者900或者1700,玻璃水为了降本加一瓶的量。 2、今天充冷媒的时候发现充不进去,可能是接头活塞在拧螺丝的时候碎…

随机数技术

随机数应用、生成方法、随机性检验随机数应用密钥 加密:不确定算法引入随机数实现 签名 认证:抗重放、假冒 密钥协商安全要求:随机性分布均匀性:0,1频率大致相等 独立性:任何子序列不能有其他子序列推导不可预测性…

我做 AI 算法 10 年,见过最可惜的事:技术再牛,说不明白也是白搭

我做 AI 算法 10 年,见过最可惜的事:技术再牛,说不明白也是白搭大家好,我是李老师。过去 5 年在互联网大厂做 AI 落地时,我见过不少 “技术大牛”—— 有人能把自然语言处理模型调得比行业均值精准 10%,有人能在…

第六周作业---定时器

1.定义LED引脚2.定义全局变量3.声明需要调用的函数4.设计简单的延时函数5.配置GPIO 编写一个GPIO的配置函数,其中包含使能GPIO时钟,配置LED引脚以及配置USART1引脚。6.配置USART1 编写一个USART1的配置函数,其中包含…

『普及』浅谈图的基础

基础知识 图是一种网状数据结构,用于描述对象的集合以及对象之间的关系。其中,对象用顶点表示,也称为节点,简称点。对象之间的关系用连接顶点的边表示。若图中的每条边是单向的,则该图称为有向图;若图中的每条边…

运筹学在供应链优化中的实际应用

本文介绍了两位博士后研究员在某中心供应链优化技术团队的研究工作,重点探讨了运筹学在库存优化、路径规划和需求预测等实际业务问题中的应用,包括算法建模和系统优化方法。运筹学在现实问题中的应用:某中心博士后研…

P6715 [CCO 2018] Fun Palace 题解

Description 有一个含 \(n\) 个点的链,每个点有一个权值。 对于任何 \(1\le i\le n-1\),都有一条边连接 \((i,i+1)\)。 您可以在链中的任意一些节点放置一些生物。 对于第 \(i\) 条边,若点 \(i\) 至少有 \(a_i\) 个…

被C语言链表折磨的一天 Σ( △ |||)︴

OIer竟沦落到这个地步——>C语言课要免修就要拿C语言来写一个链表,而且不能拿数组模拟 ( ̄△ ̄;),为了免修,OIer只好学习一手小小指针。 首先需要知道指针是什么: int *a char *a[] double *a 以上三个都是指针…

WebGL学习及项目实战(第03期:绘制多个点,线,面)

@目录目标WebGL原理示意图着色器代码顶点着色器代码解析片元着色器代码解析js代码初始化WebGL代码初始化shaders代码创建着色器对象创建程序对象初始化buffers代码绘制代码代码总结绘制多个点完整代码初始化缓冲区绘制…

ozon定制尺寸和重量

ozon定制尺寸和重量VVV---A888---KKK