当前位置: 首页 > news >正文

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

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

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

三年前,某视频平台的视频质量分析(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.hskmm.com/?act=detail&tid=33872

相关文章:

  • 基于博客园和xmlrpc的Typora图片上传脚本
  • 一位焦虑的普通二本软件工程的学生
  • C++类的运算符重载
  • 10.18 CSP-S模拟34/2025多校CSP模拟赛6 改题记录
  • 微软Office LTSC 2021(KpoJIuK直装版)x64 v16.0.14334.20344 10月版
  • 征程 6 | 征程 6 工具链如何支持 Matmul/Conv 双 int16 输入量化?
  • 结对项目:自动生成小学四则运算题目的命令行程序
  • 做题技巧与结论证明
  • 1. 两数之和
  • CSP-S模拟34/2025多校冲刺CSP模拟赛6
  • PostgreSQL 逻辑结构
  • 随机数技术
  • Java学习通互评5
  • 卡车厂实习第三天
  • 第六周作业---定时器
  • 『普及』浅谈图的基础
  • 被C语言链表折磨的一天 Σ( △ |||)︴
  • 运筹学在供应链优化中的实际应用
  • P6715 [CCO 2018] Fun Palace 题解
  • WebGL学习及项目实战(第03期:绘制多个点,线,面)
  • CF 359D. Pair of Numbers
  • 2025多校CSP模拟赛6
  • Java基础——类型转换,变量、常亮、作用域,基本运算符
  • 洛谷 LGR-246 S 模拟赛
  • godot3D节点本身的偏转数值错误竟会导致空间移动穿模??!
  • 题解:qoj7938 Graph Race
  • java中的初等函数
  • 分治算法
  • 专用硬件神经网络优化技术解析
  • 学习逆向的背景知识(自用)