众所周知,当下越来越多的 AI 场景将 AI 能力直接部署在移动端,其优势主要在于实时、省流、以及安全性等方面。这些 AI 能力给移动端产品带来巨大的想象空间,促进了移动互联网下半场的繁荣。 在移动端智能化的背后,离不开移动开发者以及人工智能应用算法工程师。在实际业务开发中,算法工程师开发出来的 AI 算法,最终都要交付给移动开发者进行工程落地。这个落地的链条其实难度相当大,总结来说涉及以下两方面:
一款没有任何 AI 实践的产品,不仅要进行模型的训练、预测引擎的集成,还需要根据不同模型进行数据的前后处理,图像的各种颜色空间、存储格式的转换,过程中可能会使用到 Python、C/C++、iOS、Android 等多种语言,接入门槛高。
同时,接入 AI 能力的过程非常复杂,涉及引擎调用相关开发、前后处理相关开发、甚至并发相关处理,考虑到移植和复用情况,更需要兼容多种业务场景、进行模块化拆分,导致工作量成倍增加。
这是 LiteKit 提供的手势识别 AI 能力。它可以准确的检测手势所在位置的矩形坐标、手势类型和置信度,支持识别六种类型的手势,包括手、五指手势、V 手势、握拳、1 手势、OK 手势。
人像分割
这是 LiteKit 提供的人像分割 AI 能力,能够提供实时的人像分割,准确地分割人像和背景,可用于去除背景、人像抠图、照片合成、背景替换等业务之中。
快速体验
以上就是 LiteKit 目前开放出来的 AI 能力,这些 AI 能力可以直接扫码下面的二维码快速安装 Android Demo 体验(只需一部安卓手机即可)。
可以一秒接入的 AI 能力
对于 APP 开发者来说,是不是很想知道这些能力能否接入到自己的移动应用之中呢? 答案当然是肯定的!不仅能接入,而且可以说是一秒就能接入你的 APP 工程!LiteKit 提供视频超分、人像分割、手势识别等一系列 AI 能力,这些 AI 能力均来自于百度各个业务线 AI 场景多年的技术沉淀,并以 SDK 的形式提供,做到了开箱即用。即使是没有任何 AI 实践的 APP 开发者,只需通过调用两三个简单 API 连接 LiteKit 提供的 SDK 软件包,就可以顺利接入 AI 能力。就像拆开快递箱一样简单,打开箱子就可以直接用。你可以把 SDK 想象成一个虚拟的程序包,在这个程序包中有一份做好的软件功能,这份程序包几乎是全封闭的,只有一个小小接口可以连通外界,而这个接口就是 API。
如何接入
LiteKit 的接入只需要创建、推理、释放三步即可完成 AI 能力的开发。虽然对于视频超分、人像分割、手势识别,甚至包括未来将要开源的新 AI 能力,输入输出会各有不同,但是整体流程和 API 的样式都被抽象成类似的步骤,甚至 API 的命名都会保持高度一致,让学习成本降到最低。下面的代码就是视频超分能力的接入过程: 内容持续更新中,最新内容可以访问此链接获取。https://github.com/PaddlePaddle/LiteKit
推理的过程整体只有一类 API:对输入数据(input)执行推理,同步返回输出数据(output)。图中和模型直接相关的前后处理的流程,都被封装在了 AI 能力推理接口内部,用户既不需要关心,也不需要任何处理。为了方便不同业务不同的输入,每个能力的推理接口可能有几个,这几个接口能力完全相同,唯一不同的只是输入和输出类型,用户通常只需要根据自己的输入输出类型关心最便捷使用的一个即可。
在开发不同业务的过程中,上层的业务配置根据不同业务场景设置,底层 LiteKitCore 部分代码完全可以复用和移植,极大的降低了 AI 能力开发的工作量。
展望
LiteKit 作为飞桨的移动端部署工具,能够快速的部署基于百度深度学习框架飞桨的轻量化推理引擎 Paddle Lite 的 AI 能力。能够让 AI 能力在任何 APP 中、任何场景下快速的工程化落地,可以让同学们简单的实现自己的 AI 特效。
LiteKit 在不久的将来还会开放 OCR 等更多的能力,支持更多的业务场景。大家对 LiteKit 即将开放的能力,还有什么期待呢,如果有的话,就请快速扫描二维码,填写您对 AI 能力的需求吧。
相关链接
想进一步了解 LiteKit 的小伙伴,可以上 Github 点 star 并查看完整文档及 Demo。
LiteKit GitHub 地址:https://github.com/PaddlePaddle/LiteKit 更多参考:如果您想详细了解更多关于端侧 AI 部署的相关内容,可以多多关注飞桨 Paddle Lite。Paddle Lite 支持包括手机移动端和嵌入式端在内的端侧场景,支持广泛的硬件和平台,是一个高性能、轻量级的深度学习推理引擎。除了和飞桨核心框架无缝对接外,也兼容支持其他训练框架如 TensorFlow、Caffe 保存的模型 (通过 X2Paddle 工具即可将其他格式的模型转换成飞桨模型)。
如果您想详细了解更多飞桨推理部署的相关内容,请参阅以下文档。·LiteKit FAQ·https://github.com/PaddlePaddle/LiteKit/blob/develop/Doc/LiteKitCoreFAQ.md・Paddle Lite 项目地址・ github:https://github.com/PaddlePaddle/Paddle-Litegitee:https://gitee.com/paddlepaddle/paddle-lite・Paddle Lite Demo 项目地址・https://github.com/PaddlePaddle/Paddle-Lite-Demo