今天的【 科技文 】有点污

作者:张大威,TEG 安全平台部。2013年加入安全平台部,从事多媒体信息安全、智能安全领域,目前在色情语音识别和藏维语识别领域,利用深度学习技术构建恶意音视频主动识别过滤体系。

鉴黄小趣事作者:“做视频分类时,有时会忘记控制音量。有次被旁边的组长听到了,他就在部门的大群里面吐槽说他都没法工作了,周围都是“嗯...啊...哦...”的声音,自己都快有反应了。。。这件事被公司的同事笑了好久。”

基于音频指纹的涉黄涉暴视频检测技术前言当今人们在社交软件上发布的视频数以亿计,其中不乏大量的恶意视频,涉及政治、色情、暴恐和广告等,给公司带来了不好的影响,甚至可能受到政策法规的限制。事实上,我们可以采用基于音频指纹的思路检测这些涉黄涉暴的恶意视频,有效遏制不良视频的传播。一.音频指纹技术简介音频指纹(Audio Fingerprint,AF)技术被大量应用于听歌识曲中,QQ音乐中就有这样的技术,此技术也同样被应用于视频版权保护中。其基本原理是通过提取输入视频数据中音频信息特征,在数据库中找到与检索音频数据同源的音频片段。服务器在全部数据库中初步找出与查询音频相似的一定数目的候选视频,若最高的相关性值低于设定的阈值,则给出拒识判决;若最高的相关性值高于阈值,则给出对应的视频ID。

1. 音频检索应用流程:

1) 将外部视频文件或视频链接URL传至服务器,提取音频指纹;

2) 服务器检查视频音轨中的音频指纹是否与数据库中某个视频片段指纹一致;

a) 指纹一致则反馈对应视频ID和视频其它额外信息;

b) 内容不一致则拒绝,反馈库中无此视频;

2. 当前面临的主要问题

输入音频在数据库中检索时,需要匹配输入音频与数据库中音频是否一致,通过对音频进行编辑(截断、降采样、加噪等)有可能绕过匹配过程。但可以采取一定的算法逻辑解决上述问题。

二. 音频指纹算法介绍1. 整个系统的运行框架可以分解为以下几步:

1.1 线上系统:

a)从输入视频中提取音频指纹信息

b)服务器端进行指纹匹配

c)将识别结果进行反馈

d)输出视频额外信息

1.2 线下系统;

a)提取数据库视频的音频指纹

b)将音频指纹建立MiniHash索引表

2. 音频指纹提取

1) 对输入音频数据进行降采样处理,默认降采样后采样率为5512.5Hz。

2) 将时域音频信号经过FFT变换到频域,得到频域二维语谱图。

3) 对音频频域系数经过haar小波滤波器,选择出最大的N个点,正数标记为01,负数标记为10,其他标记为00,按照行数依次排列拼接,二维频谱图降为一维向量构建bit序列,序列长度为8192。

4)建立MiniHash索引,对特征序列进行M次随机排序,每次排序记录第一个1出现的位置(每次随机的顺序N是定好的,例如第一次随机排序向右移动一位,第二次向右移动2位),生成一个M字节长度的特征,每一个字节代表一个位置。

5)特征的度量:

对应每一个语谱图的片段,生成一个M字节长度的特征,每一个字节代表一个位置;M个字节中,有多少个字节是相等的等的越多代表两个特征的差距越小。

3.音频快速匹配检索

选择k个hash函数,分别对特征向量求哈希值,每个集合都得到k个最小值,利用Jaccard index来计算相似性,假如有集合A、B,那么。集合A,B的Jaccard系数等于A,B中共同拥有的元素数与A,B总共拥有的元素数的比例,Jaccard系数值区间为[0,1]。计算每两个特征的相似度|Min(A)k ∩ Min(B)k| / |Min(A)k ∪ Min(B)k|利用哈希查找快速匹配特征向量,最后采用最小投票方法得到候选音频指纹,比较候选指纹进行判决是否为库中的恶意视频。

4. 音频检索难点解决方案

1)选取小波系数中的k个极大值点,可以对噪声具有一定的抑制能力

2)将输入音频统一至指定采样频率,可有效应对采样率变化

3)特征入库时采样固定步长加窗处理,检索时采用变化步长进行查找,有一定概率使检索音频与库中音频对齐,可有效解决音频截断问题

三. 实际数据测试在实际业务中,正常视频的比例要远远高于恶意视频的比例,因此需要将误杀率降到很低。选取正常视频29304个,恶意视频1033个用于测试,恶意率:3.5%,误杀率:4/29304=0.012%,覆盖率:548/1033=53.05%,平均速度:0.6s/个。

1. 裁剪视频后检索:

入库:2k种子,总时间约57小时;

检索:截取每个音频10-70秒部分,共1000个,总时间约14.74小时;

覆盖:命中原文件962个,拒绝正确3,拒绝错误35个,相对覆盖率962/(962+35)=96.49%,绝对覆盖率:96.2%;

准确:无命中非原文件,准确率为100%

2. 加噪后检索方式:

入库:2k种子,总时间约57小时

检索:每个检索音频加入20db高斯白噪声,共998个,总时间约27小时17分

覆盖:命中原文件987个,拒绝正确2个,拒绝错误8个,相对覆盖率987/(987+8)=99.20%,绝对覆盖率:987/998=98.89%;

准确:无命中非原文件,准确率为100%

结论小波指纹算法,不但对源文件检索具有良好的性能,而且对于音频截断,采样率变化,加噪等复杂情况都有很好的效果,可以满足涉黄涉暴视频业务需求。

原文发布于微信公众号 - 腾讯技术工程官方号(Tencent_TEG)

原文发表时间:2016-08-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏月色的自留地

量子计算及量子计算的模拟

5665
来自专栏PPV课数据科学社区

译文:Python深度学习框架评价

原文链接https://indico.io/blog/python-deep-learning-frameworks-reviewed/ 麦迪逊月 - 201...

3908
来自专栏程序员互动联盟

【专业技术】引擎算法探究

在一些大型购物网站,我们常会看到一个功能叫“猜你喜欢”(或其它类似的名字),里面列出一些跟你买过商品相关的其它商品。网站的用户越多,或你在网站上购买的东西越多,...

3479
来自专栏数据科学与人工智能

【陆勤践行】数据科学的完整学习路径—Python版

从Python菜鸟到Python Kaggler的旅程(译注:Kaggle是一个数据建模和数据分析竞赛平台) 假如你想成为一个数据科学家,或者已经是数据科学家的...

1999
来自专栏程序员叨叨叨

1.2 GPU VS CPU

从上节阐述了GPU的发展历史,那么为什么在CPU之外要发展GPU?GPU 的 vertex programmability 和 fragment program...

1415
来自专栏华章科技

数据分析图的十大错误,你占了几个?

优秀的数据可视化依赖优异的设计,并非仅仅选择正确的图表模板那么简单。全在于以一种更加有助于理解和引导的方式去表达信息,尽可能减轻用户获取信息的成本。当然并非所有...

891
来自专栏数据科学与人工智能

【Python环境】数据科学的完整学习路径(Python版)

从Python菜鸟到Python Kaggler的旅程(译注:Kaggle是一个数据建模和数据分析竞赛平台) 假如你想成为一个数据科学家,或者已经是数据科学家的...

3045
来自专栏机器之心

资源 | 2017年最流行的15个数据科学Python库

选自Medium 作者:Igor Bobriakov 机器之心编译 参与:朱朝阳、吴攀 Python 近几年在数据科学行业获得了人们的极大青睐,各种资源也层出不...

2914
来自专栏PPV课数据科学社区

【学习】数据科学的完整学习路径—Python版

译者:Allen 从Python菜鸟到Python Kaggler的旅程(译注:Kaggle是一个数据建模和数据分析竞赛平台) 假如你想成为一个数据科学家,或者...

2644
来自专栏AI研习社

走出并行计算的误区,你应该在什么时候用它?

AI 研习社按:本文为 Salesforce 知名数据科学家、机器学习工程师 Anmol Rajpurohit 对开发者的建议。对算法进行并行处理,是业内常见的...

34513

扫码关注云+社区

领取腾讯云代金券