赋能AI测试 Testin云测与英特尔合作,将OCR模型推理效率提升6倍

2019年11月22日

谈起OCR(光学字符识别,Optical Character Recognition)应用,很多人并不陌生,其最常见的应用场景就是实现“图片转换成文字”,并广泛应用于如扫描名片并加入通讯录、拍摄英文菜单并将其翻译成中文等需求之中。经历长期的发展之后,OCR应用的准确率、速度都有了显著提升,实用性也越来越高。

虽然当前的OCR应用已经能够应对大多数消费类的场景,但是在商业化应用场景中,OCR 的识别效率仍存在广泛的提速需求。在AI技术引领的下一代测试中,北京云测信息技术有限公司*(以下简称:Testin云测)发布全新AI测试产品iTestin,全面提升测试产品的易用性和自动化效率,在提升脚本编写效率一倍的同时,将脚本的维护成本降低了一倍。其使用了 OCR 深度学习方案来支持控件定位的输入,OCR 识别速度越快,就越有助于自动化速度测试的提升。为此,Testin云测基于英特尔® 至强® 可扩展处理器、英特尔® OpenVINO™ 工具套件对 OCR 深度学习方案进行优化,将AI测试中的OCR识别时间从2秒降低到0.3秒左右,实现了6倍的性能提升,且不影响测试的效果和结果。

当AI测试遇上OCR,开启下一代测试

要开发出一款软件应用并将其投入到实际运营中,并不是很多人想象中的那样,找一些程序员写一些代码就能简单完成的事情,而是涉及到一套完整、复杂的流程。很多开发者甚至认为,测试是开发过程中最繁琐的环节之一。在软件完成初步开发之后,开发人员需要测试其功能是否可用、在不同型号的设备(如基于安卓系统的设备与基于iOS系统的设备)上有什么应用问题。此外,不同的软件在各区域实际网络环境中的表现也可能会有差异,这些都需要进行详尽的测试。

为了帮助开发者对软件进行测试,Testin云测全球首创了云测试的模式,并在此基础上,推出了融合AI技术的下一代测试产品iTestin。开发者可以将软件上传到该平台进行自动化测试,Testin云测会详尽列出测试环节中的所有参数,并会提供自动输出错误、报警等测试日志服务,出具专业化测试报告,以帮助开发者快速定位可能出现的问题,对软件进行持续优化。

在AI测试过程中,Testin云测发现,自动化框架本身提供的控件输入不稳定。因此,Testin云测的AI测试方案倾向于使用更稳定的手机截屏,做为控件定位的输入,这就要求使用 OCR 技术来定位和解析屏幕截图中的文本。由于 OCR 的效率与准确度会对测试的效果与结果带来不可忽视的影响,而模板匹配、特征提取等传统 OCR 方案又暴露出对于图像清晰度要求高、抗背景干扰能力较差等缺陷,所以Testin云测决定使用深度学习方案来提升文本推理能力。

为了提升 OCR 深度学习的效率,Testin云测与英特尔进行了深度合作,从软件加速以及硬件两个角度对于 OCR 方案进行优化。

至强+ OpenVINO™ 将 OCR 效率提升6倍

在很多情况下,OCR 深度学习方案使用的都是 GPU,通过其强大的并行计算能力来提升文本推理能力。但是,GPU 方案也存在很多缺陷。特别是在较小规模、私有云用户的深度学习应用中,搭建专用于 OCR 深度学习的 GPU 平台需要客户同时升级硬件平台,这样不仅耗费时间成本,而且也会带来相应的硬件升级成本,更多用户希望在现有的基础设施平台上运行深度学习负载。而且,在大量推理负载中,基于 CPU 的推理性能并不弱于 GPU 平台,这也成为Testin云测进行方案验证的重要动力。

在基础设施平台的搭建上,Testin云测最终选择了英特尔® 至强® 金牌 6140处理器,该处理器是英特尔® 至强® 可扩展处理器家族产品,不仅拥有强大的通用计算能力,还集成了增强单指令多数据流(Single Instruction Multiple Data,SIMD)、英特尔® AVX-512等创新技术,实现了对于通用计算能力和并行计算能力的兼顾,为深度学习训练提供了卓越的性能基础。相比上一代产品,英特尔® 至强® 可扩展处理器针对深度学习训练和推理可提供高达2.2倍的性能。结合可加快交付人工智能服务的软件优化,相比3年前未经优化的服务器系统,全新的处理器可实现113倍的深度学习性能提升。

在软件与算法层面上,Testin云测对深度学习框架、加速方案也进行探索和选择。为了加速 OCR 方案,Testin云测在初期使用的深度学习框架是Google* 开发的 TensorFlow*,TensorFlow将深度学习复杂的计算过程抽象成数据流图,在深度学习中有着广泛的应用。但是,Testin云测发现,无论是公开版本的 TensorFlow,还是优化版本的 TensorFlow,在速度上都无法满足需求。因此,Testin云测希望能够找到一种全新的加速方案。

在英特尔的建议下,Testin云测尝试使用英特尔® OpenVINO™ 工具套件分发版来进行加速。该工具套件支持开发人员使用行业标准人工智能框架、标准或自定义层,将深度学习推理轻松集成到应用中,开发人员只需编写一次代码,即可将其快速、无缝地部署在当前和未来的英特尔硬件上,从而消除应用重复开发问题。该工具套件基于卷积神经网络 (CNN),可在英特尔硬件中扩展工作负载。

OpenVINO™ 的采用带来了立竿见影的效果,Testin云测针对公共 TensorFlow 与英特尔® OpenVINO™ 实现的推理吞吐量进行了测试,并发现,基于公共 TensorFlow 的解决方案的推理吞吐量为 23.26 (FPS) ,基于英特尔® OpenVINO™ 的解决方案的推理吞吐量为 151.29 (FPS) ,后者比前者的吞吐量提升650%左右(对比结果如图1),而且基本没有精度损失。

此外,Testin云测还基于第二代英特尔® 至强® 可扩展处理器进行了测试,该处理器集成了英特尔® 深度学习加速(英特尔® Deep Learning Boost)技术、DL Boost(VNNI)技术,以加速数据中心、企业和智能边缘计算环境中的人工智能推理工作负载。特别是在搭配支持低精度的INT8加速的 OpenVINO™ 新版本之后,有望将推理速度在提升3倍左右。

以AI赋能测试服务

目前,Testin云测的业务范畴,不仅包括测试服务,还包括安全、推广,以及AI数据标注等服务。通过开发基于人工智能 (AI)、深度学习技术的数据标注、OCR 识别等相关AI测试工具,Testin云测可以帮助企业客户完成自动化应用测试,大幅降低劳动密集度。

通过将 AI 与自动化测试解决方案结合,能够有助于自动化、全路径探索应用的各种显在或是潜在问题,提取特征训练进行业务功能的识别,并智能生成测试报告。AI 的加入还有助于实现对功能模块的自动探索,并实现执行过程的可视化,使得测试环节定位更加迅速准确。对于用户来说,自动化的测试管理和测试用例创建能够显著降低测试时间与资源的浪费,加快应用上市进程。

Testin云测的测试实例证明,英特尔® 至强® 可扩展处理器+英特尔® OpenVINO™ 的融合解决方案有助于在具体应用场景中加快推理的速度。而且,该解决方案还展现了其它自动化测试场景的应用潜力,为用户搭建基础平台提供了重要的方案选择。

免费获取Testin云测产品体验

立即咨询