我们都知道, AI 技术正在以可见的速度被应用于各行各业, 然而绝大部分业务场景想应用 AI 技术, 都需要算法工程师根据自身业务的标注数据, 来进行单独训练, 才能打磨出合适的 AI 模型. 如此一来, 如何以最低的门槛和成本, 实现 AI 技术落地变成了行业急需解决的问题.
市场上的 AI 服务非常多, 但是在视觉领域, 通用的 AI 服务主要是基于图像的架构来做的, 视频时代已经到来, 基于图像的 AI 架构是否还能被广泛应用? 阿里云视频云团队专注于视频领域, 所以在针对视频的 AI 处理方面也有独特的思考和实践. 3 月 27 日下午, 第 51 期阿里云产品发布会 - 智能视觉产品隆重发布, 阿里云高级计算专场周源针对图像和视频的 AI 处理有什么不同? 团队是如何基于视频构建全新的 AI 架构? 针对 AI 大量的数据, 训练效果不够好, 时间与成本消耗大等痛点, 他们如何解决等以上问题做了悉数解答.
一, 市场上通用的图像架构是怎样的?
市场上大部分 AI 的服务, 输入的都是图像, 也就是图片文件, 是基于图片进行处理. 在业界, 图像的算法比较成熟, 数量也较多, 从大类来看有图像分类, 检测, 识别, 分割等等. 大部分 AI 服务的架构也是基本类似, 一般包含图像算法层, 引擎框架层, 资源管理层, 硬件基础层, 之后基于各自的业务领域知识, 构建一个面向特定领域的 AI 推理服务, 然后通过 API 提供对外的访问.
二, 挑战: 视频与图像的不同
随着现在视频 (直播, 点播, 短视频) 的越来越广泛应用, 内容从原先的图像分析升级到视频分析. 因为复用已有的技术以及架构的改造成本等等因素, 一般的 AI 服务一般会保持现有的框架, 不同是把视频转换成图像来进行处理. 一般做法是按照固定的时间间隔采样截取视频的图像信息, 这样整个服务架构不需要做任何改动, 只是在最上面一层增加了视频帧截取和结果汇聚的服务.
当然, 这个架构在视频时代就会存在很多问题:
1. 时效性差
因为增加了视频截帧和结果汇聚这样的中间操作, 所以处理时间长; 视频下载下来, 处理后图片再上传, 网络传输也会导致时效性变差; 举个例子, 在相同画质下, 使用一张张图片组成的视频, 和 H.264 编码的视频, 大小的比是 10:1, 图片是 10 倍于视频的存储量.
2. 稳定性
视频截帧一般会采用开源的 FFMPEG, 如果遇到问题需要解决, 比较依赖于开源社区. 比如格式和编码的兼容性, 直播, 点播中遇到数据异常, 时间戳不准, 定制协议, 分辨率切换, 卡死等.
3. 复杂性高
把视频转换成批量的图片, 就需要对这些临时的图片进行管理, 另外还涉及顺序处理, 异步操作, 网络抖动等问题, 需要关注的非核心业务功能就要求非常多, 导致业务系统整体的复杂性变高.
4. 信息丢失
截帧是一种采样, 会引起信息丢失, 丢失的信息中很有可能包含了关键图像. 另外, 截帧的处理是对没有时间信息的图像结果的简单累加, 效果也不理想.
既然有这么多问题, 基于视频的 AI 计算该怎么做呢?
三, 阿里云解决方案: 面向视频的新架构
周源所在的阿里云视频云团队, 具有多年音视频编解码, 媒体处理相关技术经验, 他们推出的面向视频的新架构是: 把视频作为第一类对象 (First-Class Object) 来看待. 把视频解码, 时间域分析, 智能汇聚, 音频处理等引入到系统里面来, 把视频处理和 AI 计算有机结合, 以面向视频的方式, 在视频处理的同时完成 AI 计算, 精简的流程能够大幅度缩短处理时间, 从时间维度提升分析效果, 并能简化业务架构, 让用户聚焦在核心业务的发展上. 为用户提供高效稳定, 简单易用, 功能丰富的视频 AI 服务.
新架构具有以下几个特点:
1. 时效性高
相较于之前多余的截帧, 上传等一系列操作, 新方案不产生临时图片, 同时能减轻存储的带宽和空间需求. 能充分利用视频的并行分片机制, 大幅度缩短整体处理时间.
2. 复杂性低
面向视频的架构, 视频处理和 AI 计算集成在一起, 简化了对图片的处理过程, 进而简化整个处理逻辑, 降低复杂度.
3. 稳定性高
阿里云视频云团队是具有 10 多年丰富视频处理经验的专业团队, 兼容性, 运维各种问题都不需要用户考虑.
4. 效果更佳
对离散的图像结果按照时间的关系进行更合理的汇聚, 获得更优的效果.
四, AI 应用的痛点和解法
周源团队自研的新架构很好的解决了图像 AI 架构时效性差, 稳定性差, 复杂度高, 效果不佳的问题. 然而在 AI 的应用上, 开发者也会关注到一些其他问题, 比如:
目前, 分类算法有 ResNet,Inception,VGG 等等, 识别算法有 FasterRCNN,SSD,YOLO 等等, 物体检测, 人脸识别算法也有很多, 那么如何选择最适合自己的呢?
针对自身业务标注数据, 需要大量人力投入, 同时真实数据少, 采集十分困难, 通常需要花费非常多的视觉才能够收集足够多的数据, 怎么办?
每次模型训练时间长, 反馈慢, 训练好的模型更是需要复杂的上线流程, 整体业务反馈太慢, 怎么办?
智能视觉产品针对关键的数据和时间问题, 给出了如下解法:
1. 选择最合适的算法
基于阿里巴巴在视频和 AI 领域的长期积累, 已经帮大家选择好了算法, 现在推出的是分类和识别, 之后将推出更多算法.
2. 迁移学习 -- 少量数据快速训练
迁移学习的基本原理是, 根据自然图像中的基础边缘, 色块, 纹理的规律来归纳物体特征, 并且通过在浅层网络中复用这些基础特征, 来减少标注数据, 能以更快的时间, 更高的质量生成业务场景相关数据, 大幅度减少数据需求, 进一步减少计算量, 达到缩短新模型训练时间的效果, 使业务迭代更快.
3. 数据增广 -- 少量数据更优效果
在深度学习层面, 在其他条件相同的情况下, 数据越多训练效果是越好的. 这就产生了一个问题, 更好的效果一定需要更多的数据, 这需要花费大量的人力去标注.
智能视觉采用数据增广策略, 增加数据的多样性, 加强模型泛化能力, 对图像进行旋转, 斜切, 仿射变换, 对比度调整, 色度变化, 水平镜像等变换, 增加数据量的同时保持增广数据的真实性, 实现了少量数据情况下效果增强 10-15% 的训练效果, 同时有效降低标注数据的人力和时间成本.
智能视觉可以帮助零算法基础的用户, 快速训练自己领域的定制化模型, 仅需要少量标注数据, 完成快速的模型生成, 增强的场景效果, 并将训练模型转换成高可用, 弹性可扩展的视频 AI 服务, 让用户能够以最低的成本实现 AI 技术的落地.
来源: https://yq.aliyun.com/articles/695489