在Android中集成AI模型(Tensorflow,caffe,coreml)

该开发指南可以指导Android手机应用开发者将常见深度学习框架(Caffe、Tensorflow、Coreml、PaddlePaddle)训练的AI模型集成到华为NPU手机中。

最近小编闲来无事跑到附近动物园转了转,动物园里奇珍异兽数不胜数。红翻石鹬、红脚鹬、蛎鹬、沙狐、北极狐…弄得小编是一脸的懵,分不清谁是谁。无奈小编只能每次拍小动物们之前先拍名牌上的动物名称,以便日后翻看图片能够对上号,可是这样一来小编翻看图片时都处于来回翻看动物名称的疯狂状态。有没有和小编同样遭遇的你,SmartPhoto App就可以解决这一问题。该应用能够在拍照时自动识别物体,并在拍出的照片上打上水印标签。如下图:

巧妇难为无米之炊,我们先得准备自己的AI模型,这里小编以CoremlStore的MobileNet模型为例,演示如何集成图像识别的AI模型到App中。

第一步:首先下载安装Android Studio插件,见下图,搜索栏中输入“DevEco IDE”关键字。

第二步:进入DevEco插件,并拖入模型到图中所示位置,进入参数配置界面,输入相关参数,点击Run按钮。

注意,上图第6步中需选择DDK版本, DDK版本和手机之间对应关系详见选择框右边的“问号”按钮

工具会帮助自动生成的Java API,如下图所示,Java文件的存放路径在参数配置界面中设置,类名称由模型名称+“Model”字符串构成。

第三步:API的使用

(1)在onCreate函数中加载模型

(2)在获取到图片数据之后对图片进行预测

(3)模型结束使用时在onDestroy()函数中卸载模型

到此,AI模型在App中的集成过程就结束了,有没有感觉很简单?总结起来就是“下载插件,拖入模型,再写三句代码”。
        【提示】该Demo目前只支持麒麟980手机,小编开发用的是华为Mate20手机,没有Mate20手机的小伙伴,可以在上述Android Studio插件中免费申请Mate20远程真机进行调试。

免费远程真机的使用步骤如下:

Demo的github源码地址:https://github.com/HuaweiOpenlab/SmartPhoto

如何将AI模型集成到android应用(app)中相关推荐

  1. Android备份onedrive,三星Note10正将OneDrive集成到Android相册应用中

    原标题:三星Note10正将OneDrive集成到Android相册应用中 IT之家8月14日消息 除了在Galaxy Note10上预装微软Your Phone应用程序外,三星还宣布三星手机上的相册 ...

  2. android 中打电话,Android 在 APP 中实现拨打电话的方法

    Android 在 APP 中实现拨打电话的方法 2020-12-20 09:17:08 方法一: 首先添加拨打电话的权限: /** * 拨打电话(直接拨打电话) * @param phoneNum ...

  3. android 代码 卸载app,Android在一个app中安装并卸载另一个app的示例代码

    Android在一个app中安装并卸载另一个app 1.在app→src→main下新建文件夹asserts,将准备安装的apk文件放在asserts内 2.在app→src→main→res下新建文 ...

  4. android 启动其他app的activity,Android在一个app中启动其他app中的service或者Activity

    前言: 启动另一个app的activity和service其实是一样的,区别在于startActivity(intent)还是startService(intent)而已:所以下面案例以启动另一个ap ...

  5. [Android]在App中使用相机

    如果要在自己的应用中实现拍照的功能,首先要在AndroidManifest.xml文件中添加权限: <uses-permission android:name="android.per ...

  6. java 类加载 apk_在Android的App中动态的加载Java类

    原文的地址:http://yenliangl.blogspot.com/2009/11/dynamic-loading-of-classes-in-your.html 我正在编写一个应用程序能够加载别 ...

  7. Android在一个APP中通过包名或类名启动另一个APP

    开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用.一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通 ...

  8. android应用APP中的页面响应时间测试

    说明:这里只介绍基本测试逻辑 整理出 整个APP需要关注的一级页面列表 基本工具:ut(内部工具,不便透露细节) 在开发代码中引入TimeProfile类:这个类是ut的最上层,暴露出一些简单的时间打 ...

  9. Android实现自定义相册,在Android Gallery App中创建自定义相册

    您可以使用这种方式在Gallery应用中创建相册.该名称显示为"app images". String path = Environment.getExternalStorageD ...

最新文章

  1. 2022-2028年中国密胺塑料制品行业市场研究及前瞻分析报告
  2. Flume日志收集系统
  3. SIFT原理与源码分析 特征检测 描述子
  4. BCGSoft Demo示例展示:控件示例集合(1/2)
  5. 用python的五种方式_Python加载数据的5种不同方式(收藏)
  6. php nginx 域名重定向,Nginx默认虚拟主机、用户认证、域名重定向
  7. VIP站长大会(北京站)常见问题解答
  8. 将ping命令结果输出到文本
  9. JavaScript学习(二十九)—JS常用的事件
  10. TensorFlow中RNN实现的正确打开方式(转)
  11. 前端性能监控你会监控哪些数据? 如何做?
  12. 不写xml的MyBatis-Plus中关联属性的查询(1对1,1对n)
  13. 在java中获取全年的节假日(包含周末和法定节假日及调休日)
  14. 自动升级Golang版本
  15. 动态表情与超链接制作
  16. 伪造微信语音文件的过程分析
  17. 《python大战机器学习》勘误
  18. USB-HDD和USB-ZIP制作U盘启动盘有什么区别?
  19. MSI_MSI-X中断之体验与使用
  20. Spring Security # ACLs

热门文章

  1. CSS3实现针线缝合效果
  2. 【武忠祥高等数学基础课笔记】常微分方程
  3. 雷电模拟器谷歌套件安装的时候总是卡着转圈圈
  4. 数据要素:以数据安全保护为前提的新型生产要素
  5. 英文登录验证码php,php 中英文验证码程序
  6. nbiot和2g_Nbiot哪家运营商做的最好?
  7. 怎样查看手机电脑上网时的IP
  8. 亚马逊云科技 build on - 实验20220806
  9. axios 的理解和使用
  10. 用迭代和递归方式分别写一个兔子生育的python程序(斐波那契数列)