面向视频的全新AI架构 —— 阿里云智能视觉技术全解

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

我们都知道,AI技术正在以可见的速度被应用于各行各业,然而绝大部分业务场景想应用AI技术,都需要算法工程师根据自身业务的标注数据,来进行单独训练,才能打磨出合适的AI模型。如此一来,如何以最低的门槛和成本,实现AI技术落地变成了行业急需解决的问题。

市场上的AI服务非常多,但是在视觉领域,通用的AI服务主要是基于图像的架构来做的,视频时代已经到来,基于图像的AI架构是否还能被广泛应用?阿里云视频云团队专注于视频领域,所以在针对视频的AI处理方面也有独特的思考和实践。3月27日下午,第51期阿里云产品发布会-智能视觉产品隆重发布,阿里云高级计算专场周源针对图像和视频的AI处理有什么不同?团队是如何基于视频构建全新的AI架构?针对AI大量的数据、训练效果不够好、时间与成本消耗大等痛点,他们如何解决等以上问题做了悉数解答。

一、市场上通用的图像架构是怎样的?

市场上大部分AI的服务,输入的都是图像,也就是图片文件,是基于图片进行处理。在业界,图像的算法比较成熟,数量也较多,从大类来看有图像分类、检测、识别、分割等等。大部分AI服务的架构也是基本类似,一般包含图像算法层、引擎框架层、资源管理层、硬件基础层,之后基于各自的业务领域知识,构建一个面向特定领域的AI推理服务,然后通过API提供对外的访问。

1240

二、挑战:视频与图像的不同

随着现在视频(直播、点播、短视频)的越来越广泛应用,内容从原先的图像分析升级到视频分析。因为复用已有的技术以及架构的改造成本等等因素,一般的AI服务一般会保持现有的框架,不同是把视频转换成图像来进行处理。一般做法是按照固定的时间间隔采样截取视频的图像信息,这样整个服务架构不需要做任何改动,只是在最上面一层增加了视频帧截取和结果汇聚的服务。

1240

当然,这个架构在视频时代就会存在很多问题:

1. 时效性差

因为增加了视频截帧和结果汇聚这样的中间操作,所以处理时间长;视频下载下来,处理后图片再上传,网络传输也会导致时效性变差;举个例子,在相同画质下,使用一张张图片组成的视频,和H.264编码的视频,大小的比是10:1,图片是10倍于视频的存储量。

2. 稳定性

视频截帧一般会采用开源的FFmpeg,如果遇到问题需要解决,比较依赖于开源社区。比如格式和编码的兼容性、直播、点播中遇到数据异常、时间戳不准、定制协议、分辨率切换、卡死等。

3. 复杂性高

把视频转换成批量的图片,就需要对这些临时的图片进行管理,另外还涉及顺序处理、异步操作、网络抖动等问题,需要关注的非核心业务功能就要求非常多,导致业务系统整体的复杂性变高。

4. 信息丢失

截帧是一种采样,会引起信息丢失,丢失的信息中很有可能包含了关键图像。另外,截帧的处理是对没有时间信息的图像结果的简单累加,效果也不理想。

既然有这么多问题,基于视频的AI计算该怎么做呢?

三、阿里云解决方案:面向视频的新架构

周源所在的阿里云视频云团队,具有多年音视频编解码、媒体处理相关技术经验,他们推出的面向视频的新架构是:把视频作为第一类对象(First-Class Object)来看待。把视频解码、时间域分析、智能汇聚、音频处理等引入到系统里面来,把视频处理和AI计算有机结合,以面向视频的方式,在视频处理的同时完成AI计算,精简的流程能够大幅度缩短处理时间,从时间维度提升分析效果,并能简化业务架构,让用户聚焦在核心业务的发展上。为用户提供高效稳定、简单易用、功能丰富的视频AI服务。

1240

新架构具有以下几个特点:

1. 时效性高

相较于之前多余的截帧、上传等一系列操作,新方案不产生临时图片,同时能减轻存储的带宽和空间需求。能充分利用视频的并行分片机制,大幅度缩短整体处理时间。

2. 复杂性低

面向视频的架构,视频处理和AI计算集成在一起,简化了对图片的处理过程,进而简化整个处理逻辑,降低复杂度。

3. 稳定性高

阿里云视频云团队是具有10多年丰富视频处理经验的专业团队,兼容性、运维各种问题都不需要用户考虑。

4. 效果更佳

对离散的图像结果按照时间的关系进行更合理的汇聚,获得更优的效果。

四、AI应用的痛点和解法

周源团队自研的新架构很好的解决了图像AI架构时效性差、稳定性差、复杂度高、效果不佳的问题。然而在AI的应用上,开发者也会关注到一些其他问题,比如:

  1. 目前,分类算法有ResNet、Inception、VGG等等,识别算法有FasterRCNN、SSD、YOLO等等,物体检测、人脸识别算法也有很多,那么如何选择最适合自己的呢?
  2. 针对自身业务标注数据,需要大量人力投入,同时真实数据少,采集十分困难,通常需要花费非常多的视觉才能够收集足够多的数据,怎么办?
  3. 每次模型训练时间长、反馈慢,训练好的模型更是需要复杂的上线流程,整体业务反馈太慢,怎么办?

智能视觉产品针对关键的数据和时间问题,给出了如下解法:

1. 选择最合适的算法

基于阿里巴巴在视频和AI领域的长期积累,已经帮大家选择好了算法,现在推出的是分类和识别,之后将推出更多算法。

2. 迁移学习——少量数据快速训练

迁移学习的基本原理是,根据自然图像中的基础边缘、色块、纹理的规律来归纳物体特征,并且通过在浅层网络中复用这些基础特征,来减少标注数据,能以更快的时间、更高的质量生成业务场景相关数据,大幅度减少数据需求,进一步减少计算量,达到缩短新模型训练时间的效果,使业务迭代更快。

1240

3. 数据增广——少量数据更优效果

在深度学习层面,在其他条件相同的情况下,数据越多训练效果是越好的。这就产生了一个问题,更好的效果一定需要更多的数据,这需要花费大量的人力去标注。

智能视觉采用数据增广策略,增加数据的多样性,加强模型泛化能力,对图像进行旋转、斜切、仿射变换、对比度调整、色度变化、水平镜像等变换,增加数据量的同时保持增广数据的真实性,实现了少量数据情况下效果增强10-15%的训练效果,同时有效降低标注数据的人力和时间成本。

1240

智能视觉可以帮助零算法基础的用户,快速训练自己领域的定制化模型,仅需要少量标注数据,完成快速的模型生成、增强的场景效果,并将训练模型转换成高可用、弹性可扩展的视频AI服务,让用户能够以最低的成本实现AI技术的落地。

1240

目前智能视觉已经支持图像分类、物体检测、直播识别等AI能力,可应用在视频监控、互联网短视频内容识别归类、新零售物件统计、工业质检、农业养殖、医疗诊断等场景。

 



本文作者:樰篱

原文链接

本文为云栖社区原创内容,未经允许不得转载。

转载于:https://my.oschina.net/u/3827390/blog/3031392

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

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

相关文章

c语言巩固,巩固一下C语言中的指针

写了几段代码,再巩固一下C语言知识。我的记忆方法跟文章中的不一样。*是取值符号,&取地址符号,()限定子表达式的符号,[]是按索引取数组乘员的符号。优先级方面()>[]>*,&。对于int *(*p(int))[3]; 。我是这么分析的:…

c语言程序设计课程设计学生信息管理系统,C语言程序设计课程设计报告----学生信息管理系统.doc...

河南理工大学计算机学院《C语言程序设计》课程设计报告题目: 学生信息管理系统专业: 计算机科学与技术班级: 计算机XX班学号: 311009033232姓名: *****日期:2012年3月21日1.2意义熟悉C语言程序的编程环境、…

【转】利用python的KMeans和PCA包实现聚类算法

转自:https://www.cnblogs.com/yjd_hycf_space/p/7094005.html 题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚类,聚成普通驾驶类型,激进类型和超冷静型3类 。 利用Python的s…

c 语言str.size,C/C++ strlen(str)和str.length()和str.size()的区别

strlen(str)和str.length()和str.size()都可以求字符串长度,返回字符串中字符的长度,不包括‘/0’。其中str.length()和str.size()是同义词,返回同样的值。strlen(str)是用于求字符数组的长度,其参数是char*。#include #include using namesp…

想跑次高频策略?快来看看Numpy处理真格量化tick数据的技巧

使用澎博真格量化时,很多用户希望用numpy处理tick数据,包括tick数据的留存和运算。 这里有一些技巧。 因为tick数据量比较大,为了降低系统的运算负担,我们不应该在内存里保存大量tick数据。 比如我们只想保存过去10个tick。 可以在…

if语句写阶跃函数C语言,C语言第四章分支语句.ppt

C语言第四章分支语句.ppt例: 输入三个实数,按从小到大的顺序输出。 main( ) {float a,b,c,t; scanf(“%f,%f,%f ”,&a,&b,&c); if (a>b) { ta; ab; bt; } if (a>c) { ta; ac; ct; } if (b>c) { tb; bc; ct; } printf(“%5.2f,%5.2f…

日本显示屏巨头JDI不敌业务压力,宣布接受中方注资...

本次10亿美元的融资金额中,其中7.2亿美元据传来自中国丝绸之路基金。 最初,在液晶领域日本企业一直都占据着主要市场,如夏普、NEC、东芝等。后来随着韩国三星、LG的强势进入,日本企业的生存空间开始被抢占,现如今中国…

c语言中 d 1是啥意思,空开D/C是什么意思?终于有人把它说清楚了!

原标题:空开D/C是什么意思?终于有人把它说清楚了!空气开关是每个人家里必用的东西,但是你到五金店一看,大大小小的开关插座多了去,让人眼花缭乱。怎么选呢?空开有各种字母型号,这些字…

微信小程序开发 | 官方问答精选

2019独角兽企业重金招聘Python工程师标准>>> SF问答精选《七》 多组件显示与隐藏如何实现、function中的...SF问答精选《六》canvas不显示问题SF问答精选《五》菜单内容左右联动、生命周期函数SF问答精选《四》eslint 配置使用 co function;apache 反向代…

36岁自学C语言,C语言的数据类型

在C语言中,数据类型可以分为:基本数据类型,构造数据类型,指针类型,空类型四大类。基本数据类型基本数据类型最主要的特点是,其值不可以再分解为其他类型。也就是说,基本数据类型是自我说明。构造…

清北学堂培训2019.4.4

第一次培训,心情有点激动(尽管没了清明节),还见到了各地的dalao们,十分开森 Day 1(李昊dalao) 上午篇 上午呢,主要讲了关于高精,快速幂,膜模意义下的运算&…

国二c语言作弊用u盘,计算机等级考试可以插u盘吗(全国计算机等级考试报名系统官网)...

:不可以 会有嘀嘀嘀的报警声的:我以前考时不让带的,人家让你不能用优盘的话电脑会控制没法用的。:首先肯定回你,不可以带优盘或者其他作弊设备。很多计算机二级考点会把主机箱锁死,根本插不了优盘。在你进入…

「SCOI2011」棘手的操作

传送门 Description 有\(N\)个节点,标号从\(1\)到\(N\),这\(N\)个节点一开始相互不连通。第$ i\(个节点的初始权值为\)a_i$ ,接下来有如下一些操作: U x y 加一条边,连接第 \(x\) 个节点和第\(y\) 个节点。 A1 x v 将…

swft c 语言 数组,如何在swift中实现数组的深拷贝

在Objective-C中如果想将一个数组赋值给另外一个数组,同时想让两个数组之间相互独立(即改变其中的一个数组,不影响另外的一个),有很多的办法,比如我们可以直接copy,用类方法创建新数组。这样得到的数组和原来的数组就是两个完全独…

tomcat CATALINA_HOME与CATALINA_BASE的区别

区别 https://blog.csdn.net/cfydaniel/article/details/41351927 Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量) http://www.cnblogs.com/heshan664754022/archive/2013/03/27/2984357.html转载于:https://www.cnblogs.com/Andrew520/p/10664921.html

android 广告栏效果,实现android广告栏效果

public classBannerLayout extendsRelativeLayout {privateViewPager mViewPager; // 轮播容器// 指示器(圆点)容器privateLinearLayout indicatorContainer;privateDrawable unSelectedDrawable;privateDrawable selectedDrawable;private intWHAT_AUTO_PLAY 1000;private boo…

自我练习

<!doctype html><html><head><meta charset"utf-8"><title>无标题文档</title><link rel"icon" href"../HTMLWork/day03/psb.ico.ico" type"img/*"></head><body> <a na…

android studio按钮槽函数,AndroidStudio按钮Button退出程序

AndroidStudio 3.1.41.创建一个新的项目&#xff0c;项目名称为Button&#xff0c;界面为activity_button.xml2.打开activity_button.xml3.点击HelloWorld标签&#xff0c;按Delete删除4.左侧组件栏选择Common - Button5.将Button组件拖到界面上&#xff0c;大概中间的位置6.右…

cobbler介绍与部署

cobbler介绍 Cobbler是一个Linux系统安装的服务&#xff0c;可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机&#xff0c;同时还可以管理DHCP&#xff0c;DNS等。 Cobbler可以使用命令行方式管理&#xff0c;也提供了基于Web的界面管理工具(cobbler-web)&#…

android wifi视频监控软件,WiFi环境下Android智能视频监控系统研究与实现

摘要&#xff1a;在互联网飞速发展和移动互联网强势崛起的时代,科技产品服务于普通生活是新兴行业必然的发展趋势;监控系统是物联网时代各个领域必然争取的可控制系统。随着无线技术和移动终端设备的高歌猛进,移动终端智能无线视频监控系统成为时下监控领域发展的热点方向。无线…