发新帖回复

金山 WPS:基于 TensorFlow 的 AI 移动办公

[复制链接]
1711 1

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x
文 / 赵威  胡旭华,金山 WPS 团队

164.jpg

AI 的能力下沉到更多移动终端上,才能完全打开智能的想象力。前不久,金山 WPS 与 Google 合作,以 TensorFlow 架构为办公工具赋予了 AI 算力和功能。分析 TensorFlow 与金山 WPS 的应用场景和技术合作,尤其是如何解决办公用户痛点,或许可以帮助透析移动端 AI 开发的通识问题与突围之道。

一、金山 WPS 与 TensorFlow 的合作:移动端部署 AI 的典范

借助 TensorFlow 和 TensorFlow Lite 在框架层的算法优化能力,移动版 WPS 已经有多个业务场景开始使用 AI 算法,来进行图片的处理和转换:

1. 物体边缘检测。金山 WPS 设计的 CNN 文档检测网络,可以让安卓版用户快速检测结果,自动判断边缘并调整滤镜。约 62% 的用户在拍摄图片后,不需要再次手动调整控点。
2. 自动识别图片类型。金山 WPS 利用 TensorFlow Lite 实现了能够自动识别图片类型的 OCR 模型,可以自动识别图片类型 (文档、表格、或是 PPT),从而提供对应的滤镜和 OCR 输出格式。
3. 扫描件 OCR。采用 TensorFlow 部署模型,通过 10 层 CNN 网络,以及一种近似 CTPN 的算法,可以对文档实现旋转矫正、文本行检测等操作,节省大量文档编辑的时间,性能表现提升了 30%。
4. 自然场景 OCR。WPS 研发团队利用 TensorFlow Lite 将自然场景 OCR 运行在手机上,使它能在短时间内,从复杂场景中准确定位文字并获得理想的识别结果。在 NEON 指令优化支持下,文字定位部分运行时间不超过 300 ms。
5. 图片转文档的布局分析。“图片转文档”的原理和上述功能一样,都是对于图片进行直接识别处理:定点识别+自动矫正。金山 WPS 结合 TensorFlow 与 scikit-learn 框架一起进行图文布局分析算法,大幅度降低了算法的研发成本。

除一般 OCR 技术外,金山 WPS 对 SVM、CNN、RNN 等机器学习算法进行了加工整合,从不同层次优化和改进了文档转图片、图片方向校正、内容检测、文档还原等功能,解决了图片转文档“乱码”这一历史难题。

在一些移动端办公的高频痛点功能上,金山与 TensorFlow 的协同工作,已经带来一些直观效果:
· 很多高功耗、高能耗的实时 AI 处理在移动端成为可能;
· 阅读体验升级,办公 AI 功能解锁,让办公效率进一步提升;
· WPS 正在打开端侧部署 AI 的可能性。

这场合作背后所隐藏的,或许是开发者从云端 AI 到移动 AI 的进化路线图。

二、 从云到移动:金山 WPS 借助 TensorFlow Lite 实现的惊险一跃

从云端算法到移动端开发的实操阶段,移动芯片端侧运算支撑力不足、云计算数据传输延迟,使得拍照识别这样的实时运算,用户体验极差。因此,框架的选择和应用,直接影响着开发者的 AI 研发进程和成果。而正是通过结合 TensorFlow Lite,金山 WPS 训练移动端模型才能达到如此快的效果。

TensorFlow Lite 在移动端具有一下明显优势:

1. 足够小:训练的 AI 模型可以很容易被压缩和传输到手机端,不影响更新,TensorFlow Lite 一个完整 libtensorflow_jni.so 只有 1M 多,基于此生成的 CNN 文档检测网络也仅有 5M,对用户的手机内存十分友好。

图像学习框架的轻量神经网络

2. 手机机型兼容性好,对安卓天然亲近:金山 WPS 利用 TensorFlow Lite 把算法集成到 WPS 后,在数十台机型上的稳定性测试都表现很好;

高效的 “投影” 模型

3. 移动端的适应性强:TensorFlow Lite 与 TensorFlow 的过渡平滑,TensorFlow Lite 还为安卓开发者提供 Java 接口,不熟悉 JNI 或 C/C++的也能很快上手,不会增加大量的兼容成本;

TensorFlow Lite 的架构设计

4. TF 社区资源丰富,具体的业务场景很容易找到相关参照系,并学习案例的集成方式。

那么,移动端友好的 TensorFlow Lite 又是如何被金山 WPS 部署到手机端的呢?

以文档边缘检测为例:
· 首先,利用 tf.keras 可以很快完成深度网络的构建。在拍照扫描算法中,开发者设计了一个 5M 左右的 CNN 文档检测网络;
· 其次,将 tf.keras.Model 提供的 fit_generator 与 tf.data 灵活结合,对训练数据进行预处理,根据业务场景对训练数据进行分组定义,然后构造适合的代价函数。以此优化训练性能,不断地迭代优化算法效果。
· 最后,把业务算法集成到 WPS,在数十台旗舰机上进行稳定测试。针对一些难点问题进行分析迭代,直至稳定上线。

至此,移动 AI 的开发者完成了从云端到移动端的惊险一跃。

三、 从个案到公式:移动端 AI 开发的通识问题与解决之道

TensorFlow 在金山 WPS 办公软件上的落地,给移动端办公带来了奇妙的变化,也在找到了移动端 AI 开发的通识问题与解决之道。

目前智能手机应用 AI  的关键在于:
1. 解决 AI 落地的成本问题。TensorFlow 能够解决技术或算法实现商业化时如何低成本地解锁需求的问题,而金山 WPS 业务量大、业务线多,能为技术解决方案提供足够大的商业落地空间。
2. 解决端侧 AI 的技术沉淀。现在 AI 在移动端的落地只有一点微小的成绩,金山仍在攻克很多难题。除了 TensorFlow Lite,金山 WPS 研发团队还掌握了几款移动推理框架及一些小规模网络设计的技巧,希望能为算法的终端落地做出更多贡献。

Google 也在发力,比如即将推出 TensorFlow 2.0,TensorFlow Lite 将支持更丰富模型运算方式,并且得到了安卓系统层面的支持,能够与 Android 8.1 发布的神经网络 API 完美配合。

或许 TensorFlow 与金山 WPS 合作的最大意义是让我们看到:超强算力的 AI 硬件+移动端友好的深度学习框架+清晰广泛的业务场景,才是帮助更多开发者打开想象的前提。

金山 WPS 在移动办公上的努力实现,使得移动 AI 开发这件事,在葱茏的生态下前所未有地真实起来。

精彩评论1

gaohan  TF荚荚  发表于 2018-12-23 14:02:46 | 显示全部楼层
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

快速回复 返回顶部 返回列表