全场景AI推理引擎MindSpore Lite, 助力HMS Core视频编辑服务打造更智能的剪辑体验
移动互联网的发展给人们的社交和娱乐方式带来了很大的改变,以vlog、短视频等为代表的新兴文化样态正受到越来越多人的青睐。同时,随着AI智能、美颜修图等功能在图像视频编辑App中的应用,促使视频编辑效率和视频效果得到了很大的提升,也让视频应用场景更加丰富。
当前剪辑产品功能多样、素材丰富,但是开发周期较长、门槛较高。为了让剪辑软件更加智能、简单易用,提升开发者的效率,HMS Core 6为开发者提供视频编辑服务(Video Editor Kit),提供视频导入、编辑、渲染、导出、媒资管理等一站式视频处理能力。除了支持完整的传统视频编辑功能,视频编辑服务还提供了诸如专属滤镜、人物追踪、一键染发等丰富的AI处理能力辅助视频创作,为用户带来更加畅快的创作灵感,打造更加智能的剪辑体验。
多样化的智能视频处理能力是由一个个神经网络模型实现的,由于训练好的模型文件较大(单个模型大小一般为十几甚至几十兆),而手机等设备ROM和RAM空间大小有限,如何以更少的终端设备空间占用为开发者提供更丰富的智能化视频处理能力,成为移动应用视频编辑面临的一大挑战。
为解决以上挑战,HMS Core视频编辑服务选择使用华为自研AI框架MindSpore Lite进行神经网络模型推理。MindSpore Lite是一款全场景AI推理引擎,通过统一API接口支持在端、边、云的不同环境快速部署,支持HarmonyOS、Android、iOS、Windows等多种操作系统,支持Ascend、GPU、CPU(x86、arm……)等多种硬件执行。除支持MindSpore训练出的模型格式,MindSpore Lite还支持TensorFlow,TensorFlow Lite、Caffe、ONNX等第三方模型格式的转换及推理。
MindSpore Lite为AI模型推理提供高性能和超轻量的解决方案:通过高效的内核算法和汇编级优化,以及CPU、GPU、NPU的异构调度,可以充分发挥硬件算力,实现最小化推理时延和功耗;提供模型量化压缩技术,采用训练后量化(Post-Training Quantization, PTQ),无需数据集即可直接将权重数据从浮点型映射到低比特的定点数据,有效降低模型大小,助力AI模型在资源受限环境下的部署执行。
针对权重数据的量化支持固定比特量化和混合比特量化两种形式。固定比特量化采用Bit-Packing的方式,支持1-16任意比特的权重量化,满足用户在不同压缩场景下的要求,同时针对模型量化后的数据分布情况,自动选择合适的编码策略进行压缩编码,从而达到最优的压缩效果。
混合比特量化根据神经网络不同层对量化损失的敏感度不同的特点,采用均方误差作为优化目标,自动搜索出最适合当前层的比特位,在保证精度的同时实现更大的压缩率。同时针对量化后的模型,采用有限状态熵(Finite State Entropy, FSE)对量化后的权重数据进行熵编码进一步压缩,实现对模型的高效压缩,提升模型传输速率和减少模型存储空间。
除此之外,量化时还会采用Bias Correction的方式,最小化其量化误差。Bias Correction会根据权重数据固有的统计学特性,反量化时对其进行校准,使权重值量化前后具有相同的期望和方差,能够大幅度提高模型精度。
视频编辑服务中的AI模型采用MindSpore Lite提供的混合比特量化方式,最终在保证精度的同时达到了平均5x+的模型压缩效果,例如一键染发的模型从原来的20.86M压缩到3.76M,有效解决了模型过多、文件过大导致的部署困难问题。
通过对AI模型的量化压缩,在ROM空间占用不变的前提下,保障剪辑产品可以部署更多的AI模型,充分发挥AI能力来提供更多的特效应用场景,使得剪辑功能更加强大、更加智能。华为官方剪辑软件花瓣剪辑在接入视频编辑服务能力后,用户可通过使用专属滤镜、人物追踪等AI视频剪辑功能(部分特性随花瓣剪辑App升级陆续开放),让视频剪辑更便捷和更富有趣味性。
MindSpore Lite致力于打造高性能、超轻量级的全场景 AI引擎,除高性能内核算法及硬件异构调度、量化压缩之外,还提供端云协同的一站式训练和推理能力。HMS Core视频编辑服务基于MindSpore Lite,助力开发者打造更加易用且智能的剪辑工具。
欲了解更多信息,欢迎访问官网
全场景AI推理引擎MindSpore Lite, 助力HMS Core视频编辑服务打造更智能的剪辑体验的更多相关文章
- HMS Core 视频编辑服务开放模板能力,助力用户一键Get同款酷炫视频
前言 短视频模板,是快捷创作短视频的一种方式,一般由专业设计师或模板创作人制作,用户只需替换视频模板中的部分素材,便可生成一支与模板一样的创意视频.这种省时省力.无需"烧脑"构思创 ...
- AI剪辑和自定义UI,打造更智能的剪辑体验
为满足开发者构建高效的应用内视频编辑能力,7月的HMS Core 6.0 推出了视频编辑服务(Video Editor Kit),一站式的视频处理能力获得了积极反响.同时,我们也关注到开发者需要集成丰 ...
- HMS Core音频编辑服务3D音频技术,助力打造沉浸式听觉盛宴
2022年6月28日,HDD·HMS Core.Sparkle影音娱乐沙龙在线上与开发者们见面.HMS Core音频编辑服务(Audio Editor Kit)专家为大家详细分享了基于分离的3D音乐创 ...
- HMS Core音频编辑服务支持7种音频特效,助力一站式音频处理
多媒体时代,音频作为内容传播中的重要形式,因其不受空间限制.认知负担小.声音元素多样化等特点,广泛应用于短视频制作.儿童在线教育.有声阅读.游戏等领域产品,在各种形式的音频呈现过程中,合理添加音效能够 ...
- HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
从单声道.立体声.环绕声发展到三维声,音频回放技术的迭代演进是为了还原真实世界的声音.其中,三维声技术使用信号处理的方法对到达两耳的声音信号进行模拟,将声场还原为三维空间,更接近真实世界.凭借这个技术 ...
- HMS Core AR Engine 2D图片/3D物体跟踪技术 助力打造更智能AR交互体验
AR技术已经被广泛应用于营销.教育.游戏.展览等场景.通过2D图像跟踪技术和3D物体跟踪技术,用户只需使用一台手机进行拍摄,即可实现海报.卡牌等平面物体以及文物.手办等立体物体的AR效果.尽管近年来2 ...
- 超轻量AI引擎MindSpore Lite
超轻量AI引擎MindSpore Lite 揭秘一下端上的AI引擎:MindSpore Lite. MindSpore Lite是MindSpore全场景AI框架的端侧引擎,目前MindSpore L ...
- 昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者
摘要:本文带大家快速浏览昇思MindSpore全场景AI框架1.6版本的关键特性. 全新的昇思MindSpore全场景AI框架1.6版本已发布,此版本中昇思MindSpore全场景AI框架易用性不断改 ...
- 华为视频编辑服务(Video Editor Kit),助力开发者高效构建应用视频编辑能力
视频编辑服务(Video Editor Kit)是华为开放给开发者快速构建视频编辑能力的服务,提供视频导入.编辑处理.特效渲染.视频导出.媒体资源管理等一站式视频处理能力.视频编辑服务为全球开发者提供 ...
随机推荐
- 序列化和反序列化&持久化
java序列化与反序列化全讲解 之前一知半解的,对于序列化的概念,为啥用,哪里用也不清楚,现在深入了解协议,先把序列化这个这个概念和和使用场景搞清楚
- Java中的异常处理机制的简单原理和应用?
程序运行过程中可能出现各种"非预期"情况,这些非预期情况可能导致程序非正常结束. 为了提高程序的健壮性,Java提供了异常处理机制: try { s1... s2... s3... ...
- maven在idea中的一点使用技巧
maven在idea中的一点使用技巧 idea已经支持将参数的意思也展示出来,确实很方便. -U是强制拉取,因为如果拉取某个jar包,失败了,那么在一段时间内,idea不会重试,除非指定-U. -X呢 ...
- JVM中的常量池
在Java的内存分配中,总共3种常量池: ref:https://blog.csdn.net/zm13007310400/article/details/77534349 1.字符串常量池(Strin ...
- 为什么Java不支持运算符重载?
另一个类似棘手的Java问题.为什么 C++ 支持运算符重载而 Java 不支持? 有人可能会说+运算符在 Java 中已被重载用于字符串连接,不要被这些论据所欺骗.与 C++ 不同,Java 不支持 ...
- Java连接ArtemisMQ,出现Timed out waiting to receive cluster topology. Group:null异常
完整异常内容:org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JM ...
- SpringDataJdbc使用数据库默认值的解决方法
SpringDataJdbc提供了 @ReadOnlyProperty 注解,这会造成由Repository保存的实体会忽略这个字段的值进行保存,进而采用数据库的默认值操作:而查询时这个字段也是能够查 ...
- 什么是不可变对象(immutable object)?Java 中怎么 创建一个不可变对象?
不可变对象指对象一旦被创建,状态就不能再改变.任何修改都会创建一个新的对象,如 String.Integer 及其它包装类. 详情参见答案,一步一步指导你在 Java中创建一个不可变的类.
- C++模板学习之优先队列实现
转载:https://www.cnblogs.com/muzicangcang/p/10579250.html 今天将继续将强C++模板类的学习,同时为了巩固已经学习过的数据结构中有关优先队列的知识, ...
- Invalid prop: type check failed for prop "maxlength"
Invalid prop: type check failed for prop "maxlength", element 框架时,因为想限制文本框的输入长度, maxlength ...