11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

美图海量短视频内容分析与检索(三)

  • 2019-11-30
  • 本文字数:1586 字

    阅读完需:约 5 分钟

美图海量短视频内容分析与检索(三)

美图有一套智能标签化服务模型,这个服务模型分两部分,如下图所示,上面是离线过程,下面是线上过程。线上拿到视频,输入相应的标签或者特征。离线过程中的自动标注就是上面提到算法标注,会用到自动标注输出的数据和标签进行一个模型的训练。我们会拿到这个数据进行模型训练,进行模型的评估,评估的时候用的数据也是我们标注好的一部分验证数据。当评估的准确率达到我们的域值之后,我们就认为模型可用了,就会更新到线上。


算法的运行性能,智能视觉分析平台其实包括很多,除了视频之外还有很多其它图象的算法,但相比较而言,视频算法的复杂度较高。这里以视频分类的技术为例,介绍一下我们是怎么做的。


视频分类大部分分这几种形式。第一种是我们简单的对视频进行抽帧,使用 CNN 网络提取一些特征,进行融合,再对最后的结果进行分类。这种方法没有考虑到视频的时域信息。还有一些其他的算法,如上图所示左下方及右侧两种算法。他们都会考虑到视频的时域信息,但缺点是复杂度太高,很难被应用于实际场景中。


经过对短视频的应用场景的测评,第一种方法已经可以做到很好的准确率,相比较其它方案而言,它的时间复杂度也非常低。


在视频分类方面,美图也有一些前沿的研究成果,我们跟中科院合作提出一个基于类脑智能的无监督的视频特征学习和行为识别的方法。


业界、学术界,有很多种模型,但在实际业务场景中,看似庞大的网络,其效果却不一定那么理想。更重要的是,对于我们来说,怎么能从海量的业务数据中抽取最关键、最重要的数据,用来训练出一个适用于业务场景的模型。我们也在多媒体内容分析平台的构建中总结了几点,我们认为有三个信息非常重要:


推理服务:一方面对获得的数据进行推理分析,另一方面对完成训练的模型更新上线;


数据服务:提供用于模型训练的标注数据,其核心模块是算法自动标注;


训练服务:它包含训练触发模块,会定期更新模型训练。


前面提到的都是我们进行一个内容分析,大部分以标签输出为主。其实用标签描述事情是存在一些问题的,一个是时效性,上图是我们分别在 3 月和 8 月总结出的一部分标签体系中的标签变化,其实差别还是挺大的。第二个问题是不完备。想用标签去描述一个视频或一张图片的话,需要非常多的维度。如果我们在进行视频的检索,在搜索的时候想比较两个视频的相似度怎么办?如果用标签的话就非常难。


上图是视频检索的流程,是将 2003 年谷歌提出的文本检索的过程应用到视频的检索方案。它包括两部分,一是构建目标检索库,二是检索。获取到一些视频后,从视频中抽取帧,对这些帧图象提取特征,进行聚类,然后去构建视觉词表。


特征对比有有类,二进制特征和浮点特征,有各自的优缺点。二进制特征一个比较大的优点是存储高效、距离计算高效,缺点是可表征的范围比较小。浮点特征欧式距离、抗极值干扰,距离表征值比较大,理论上讲是从零到无穷的。


上图我们一个简单的思路。我们会基于前面构建的多层次的变向体系,用多级的标签指引这个网络进行学习。另外会用 triplet loss,对同一个视频,我们会抽取 5 帧,然后在不同的时间段再抽取 5 帧,这样形成一个正样本对。从一个视频和其它视频组成负样本对,让他学习到什么样的信息才是视频特拥有的特征。


上图是一个短视频相似检索服务的架构,左边是离线模块,右边是在线模块。离线是批量训练,生成哈希值。


总结

在这个平台建设过程中我们也遇到一些问题,也有一些思考。主要是这几点:


  • AI 让多媒体技术有了更大的应用空间,视频领域仍有大量业务场景需要 AI 助力;

  • 数据仍是当前阶段 AI 算法有效落地的核心元素,越接近业务场景,领域数据的重要性越明显;

  • 通用算法技术的作用在弱化,需要结合具体业务场景深入优化;

  • 技术领域需要进行持续探索,算法性能问题、细粒度语义理解、互联网多媒体内容智能交互等。


本文转载自公众号声网 Agora(ID:shengwang-agora)。


原文链接:


https://mp.weixin.qq.com/s/kJSrHQFAygqnMbXlE_sa-g


2019-11-30 22:53618

评论

发布
暂无评论
发现更多内容

Kafka为何弃用zookeeper(翻译)

石头哥谈架构

kafka kafka架构 分布式消息/流中间件

新工科师资培训 |深度推进校企合作 新工科产学研联盟华为技术

科技汇

不愧是阿里内部“SpringCloudAlibaba学习笔记”竟然在GitHub霸榜

Java 程序员 架构 微服务 计算机

一句话木马该怎么实现?现在就带你了解

网络安全学海

Java 网络安全 信息安全 渗透测试 漏洞分析

发现了一个电子书仓库,分享给大家,值得收藏!

C语言与CPP编程

Java c++ Python C语言 数据结构与算法

优先考虑 nameof

喵叔

7月日更

Building deep retrieval models

毛显新

自然语言处理 深度学习 tensorflow 推荐系统 keras

Vue进阶(幺捌伍):应用 qs 插件实现参数格式化

No Silver Bullet

Vue 7月日更 qs

如何制定音视频编解码学习路线

hanaper

音视频 图像识别 图形处理 语言 & 开发

淘宝网 Java 千亿级并发系统架构设计笔记(全彩版小册开源)

Java 程序员 架构 并发编程 计算机

2021腾讯Android面试题精选,复习指南

欢喜学安卓

android 程序员 面试 移动开发

网络攻防学习笔记 Day90

穿过生命散发芬芳

网络攻防 7月日更

在线诺基亚短信图片生成器工具

入门小站

工具

2021年最新大厂Android面试笔试题目,威力加强版

欢喜学安卓

第九周作业-朴朴超市用户路径&转化漏斗

小夏

产品经理训练营 邱岳

架构训练营第 1 期 模块三作业

高远

Linux之free命令

入门小站

Linux

HarmonyOS开发者创新大赛获奖作品分享——《分镜头App》

科技汇

浪潮云洲赋能智造 拉升制造业“微笑曲线”

浪潮云

云计算

🏆「作者推荐!」【Java 技术之旅】彻底你明白什么是JIT编译器(Just In Time编译器)

洛神灬殇

Java 编译器 JIT compiler 即时编译器

马拉松还是骇客松 Hackathon?

escray

学习 极客时间 朱赟的技术管理课 7月日更

第三周作业-知识星球利益相关者排序

小夏

产品经理训练营 邱岳

Vue进阶(幺柒陆):CSS 预编译语言 Sass、Scss、Less 和 Stylus

No Silver Bullet

CSS less SASS scss 7月日更

Confluence 7 如何修改启动内存

HoneyMoose

带你看清梦饷集团如何成为上海在线新经济四小龙

华为云开发者联盟

MySQL 数据库 mongodb 电商 华为云数据库

模块三-学生管理系统详细架构设计

kk

架构训练营

网络 IO 服务器模型 Reactor 与 Proactor

赖猫

Linux reactor

「SQL数据分析系列」12. 事务

数据与智能

sql 事务

Taking advantage of context features

毛显新

自然语言处理 tensorflow 推荐系统

倒数1天

IT蜗壳-Tango

7月日更

Python OpenCV 图像处理之 图像运算和图像位运算知识补充

梦想橡皮擦

7月日更

美图海量短视频内容分析与检索(三)_文化 & 方法_声网_InfoQ精选文章