杜佳豪编辑

手把手教你移动端AI应用开发(一)——快速在安卓上跑通OCR应用

伴随着移动端用户增速的放缓,移动端市场经过几年的大浪淘沙,沉淀下来的APP产品逐渐稳定,对于移动端人才需求的增速也日趋下降。移动开发“两极分化”愈加明显:只有平庸和抢手之分,没有差不多的“中间层”。退后一步一无所有,向前一步一马平川!

假设,你有一份月薪10k-20k的工作。

但你希望获得更多的收入。

那么,你有没有想过:

“每个月多赚一千,我该做什么 ?”

“每个月多赚一万,我该做什么 ?”

“每个月多赚十万,我该做什么 ?”

想不被替代、想升职加薪?

就不要不断学习!

2020年新冠肺炎疫情,一批批“科技铁军”奔赴抗击疫情第一线,智慧物流、大数据疫情趋势分析、AI多人体温快速检测器、AI智能消毒护理机器人等发挥了巨大作用。随着生产生活的秩序恢复,“新基建”的热度不断提升,人工智能产业随着政策的推动、资本的关注、5G的商用,深度学习数据挖掘、自动程序设计等领域将得以迅猛发展,在更多的应用场景中得到实现。据最新研究报告表明,2020年中国人工智能核心产业规模将超1500亿元!

作为最靠近用户、最普及的终端落地,手机已逐渐成为人工智能“落地”的最新选择。手机AI拍照、语音助手、AI翻译、人脸解锁等应用开发爆发式增长,人工智能手机成为真正打开数以亿计普通人生活大门的钥匙。根据CSGSystemsInternational发布的一份报告显示,千禧一代的年轻人认为人工智能是智能手机的必备功能;超过53%的受访者表示,愿意为配备人工智能特性和功能的设备支付更高的费用。

AI时代的到来带给我们的不仅是机遇,还有挑战。只有通过不断地学习,才能够对当下和未来的事物有比较清晰的认知,并且在适当的时候做出正确的选择。身处AI人工智能时代,掌握AI应用编程技能,可以帮助你拿到打开新时代大门的钥匙,更快地融入这个时代,成为走在时代发展前端的优秀人才。

本文尽量用最简单的操作,给大家展现如何将AI模型集成到APP中,希望通过本教程与示例应用,带大家快速入门手机端AI应用开发。

效果展示

开始之前,先给大家看一下本项目的最终效果。

这个APP只需要拍一下,就可以读取所有文字并框出文字的位置,比如识别快递单号、识别电话号码等。本应用开发使用的是安卓平台(只需一台电脑,一部安卓手机就可以搞定)、使用开源模型(飞桨文本识别模型OCR)。看完这篇文章,你可以快速上手AI应用开发。在此基础上发挥想象力和创造力,更换模型,还可以开发更多有趣、有实用价值的APP哦。

OCR模型的详细介绍戳这里:

https://mp.weixin.qq.com/s/6ZwuJlO22pDLxuLf40YGFQ

https://aistudio.baidu.com/aistudio/projectdetail/507159

因篇幅比较长,内容以连载的形式为大家推送:

第一部分,主要介绍模型集成的必要准备工作、以及如何快速在手机上跑通OCR应用。

第二部分,手把手教大家将模型集成到Android应用,在手机上实现对实时视频流或本地图片的文字识别。

第三部分:对模型集成APP的相关代码进行详细解读。

准备工作

硬件:
  1. 准备一台PC机
  2. 准备一部Android手机

开发环境:

  1. 安装Android Studio
    在PC机上安装较新版本的Android Studio,本文使用的是4.0.1版本,下载地址:
    https://developer.android.com/studio
    安装指导:
    https://blog.csdn.net/weixin_43851639/article/details/89429571
  2. 打开USB调试模式
    手机上需要打开USB调试模式,您也可以下载91助手:
    https://zs.91.com/,按照软件提示连接手机。

创建第一个项目

Android Hello World

Hello World,几乎是程序猿学习各种语言的第一个程序,这里教大家在Android Studio上实现第一个项目:Android HelloWorld,并运行到手机上。有Android基础的可以跳过本段。

打开Android Studio,选择菜单“File-> New -> New Project..”,弹框中选择“Basic Activity”,点击“Next”,之后用默认配置,最后点击“Finish”,项目就生成了。

小技巧:

Android项目需要同步后才能出现编译和运行的选项。强制同步的方法为:菜单File->Sync Project with Gradle Files。

导入成功后,有以下图标:

新建Android Studio

自带的NDK项目

如果您有Android NDK (C++)的开发经验,也可以跳过此段。

Android项目通常是用Java或者koltin开发的,但是也支持C++的底层开发,这里OCR的处理考虑到高效,需要使用C++开发,NDK编译。

新建Android Studio自带的测试项目,菜单File->New ->New Project.. , 弹框中最后一个项目模板 “Native C++”,点“Next”, 之后用默认配置, 点“Finish”,项目就生成了。

通常在界面下会有类似Install NDK '21.0.6113669' and sync project, 点击这链接触发下NDK的安装。

小技巧:

编译用的NDK和SDK都会自动添加到项目根目录下的local.properties中

快速在手机上跑通OCR应用


第一步、下载本应用所需要的的代码文件。

下载地址:

https://github.com/PaddlePaddle/PaddleOCR

第二步、按照此方法导入项目。

菜单File->New-> Import Project .. , 选择PaddleOCR\deploy\android_demo目录。注意千万不要使用菜单File->New-> New Project..。

导入后如下图:
点击上图中的运行按钮,正常情况下项目就可以运行成功了

按照上图可以选相册的图片和拍照测试。

如在使用过程中有问题,可加入飞桨官方QQ群进行交流:1108045677。

·百度飞桨PaddleOCR 项目地址·

GitHub: 

https://github.com/PaddlePaddle/PaddleOCR 

Gitee: 

https://gitee.com/paddlepaddle/PaddleOCR

·飞桨官网地址·

https://www.paddlepaddle.org.cn/

·飞桨开源框架项目地址·

GitHub: 

https://github.com/PaddlePaddle/Paddle 

Gitee: 

https://gitee.com/paddlepaddle/Paddle

飞桨PaddlePaddle
飞桨PaddlePaddle

飞桨(PaddlePaddle)是中国首个自主研发、功能完备、开源开放的产业级深度学习平台。

https://www.paddlepaddle.org
专栏二维码
工程AIAI应用安卓OCR
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

百度机构

百度是全球最大的中文搜索引擎,是一家互联网综合信息服务公司,更是全球领先的人工智能平台型公司。2000年1月1日创立于中关村,公司创始人李彦宏拥有“超链分析”技术专利,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

https://www.baidu.com/
5G技术

第五代移动通信系统(5th generation mobile networks),简称5G,是4G系统后的延伸。美国时间2018年6月13日,圣地牙哥3GPP会议订下第一个国际5G标准。由于物理波段的限制,5G 的网络也将会与其他通信技术并用,包含长距离的其他传统电信波段。

推荐文章
暂无评论
暂无评论~