概述

移动端所说的AI,通常是指“机器学习”。

定义:机器学习其实就是研究计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身。从实践的意义上来说,机器学习是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。

目前,机器学习已经有了十分广泛的应用,如:数据挖掘、计算机视觉、自然语言处理、语音和手写识别、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、战略游戏与机器人运用。

机器学习

机器学习包含了几个重要元素:数据集、AI算法、AI模型,如下图:

通过训练,得到最终的AI模型,可以做什么?如下图:

预测结果的准确性取决于模型的判断合理性(即算法的准确性与合理性、数据特征各参数的正确性)

移动端现状

Android端,谷歌提供的面向Android和iOS设备的跨平台人工智能SDK: ML Kit



iOS端,苹果提供的用于iOS设备的机器学习软件开发工具包:Core ML

ML Kit与 Core ML功能对比,如下:

ML Kit

1、跨平台,支持Android与iOS
2、支持模型云托管
3、支持模型离线本地化
4、使用*.tflite 模型文件
5、系统版本要求Android 4.1 + , iOS 9.0 +
Core ML

1、非跨平台,仅支持iOS
2、不支持模型云托管
3、支持模型离线本地化
4、使用*.mlmodel模型文件
5、系统版本要求iOS 11+

AI 模型

现阶段,机器学习模型推理框架较多,常用的如:TensorFlow、keras、Caffe等。

通过训练产生的模型文件种类也较多,包括:.pb、.ckpt、.caffemodel、.h5、.pkl等格式。

移动端受设备限制,不能支撑常规模型运算:

1、内存、存储空间较小,模型不能复杂;
2、运算能力差,不如专门的伺服器,只能使用相对简单的运算法;
3、电力有限,不适合长时间运算;

所以,移动设备使用AI时,需要将框架已训练模型文件转为Android与iOS能识别的.tflite、.mlmodel模型文件。

模型转换

下面列出几个主流的模型框架与对应的转换工具(本处只列出主流转换工具,第三方平台也有很多转换工具)

Toco示例:

toco --input_file=$(pwd)/mobilenet_v1_1.0_224/frozen_graph.pb \
--input_format=TENSORFLOW_GRAPHDEF \
--output_format=TFLITE \
--output_file=/tmp/mobilenet_v1_1.0_224.tflite \
--inference_type=FLOAT \
--input_type=FLOAT \
--input_arrays=input \
--output_arrays=MobilenetV1/Predictions/Reshape_1 \
--input_shapes=1,224,224,3

tflite_convert示例:

tflite_convert --output_file=/home/yourname/Documents/tensorflow/images/500pics2/model/my_model.tflite --keras_model_file=/home/yourname/Documents/tensorflow/images/500pics2/model/my_model.h5

Core ML Tools示例:

import coremltools
coreml_model = coremltools.converters.caffe.convert('XXX.caffemodel')
coreml_model.save('XXX.mlmodel')

官方已提供的模型与API

谷歌:



官网:https://firebase.google.com/docs/ml-kit/

苹果:

ML Kit的使用

谷歌的ML Kit是与Firebase移动开发平台完全集成的机器学习模块,可用于iOS和Android,移动端集成示意图,如下:

总结

本篇文章仅为说明AI的基础概念,让大家对移动端AI有一定的认识。

文章中概念性的内容较多,如有描述不当的地方,请指出,多谢。

后续,会继续更新Android与iOS AI相关的使用。

机器学习 AI 谷歌ML Kit 与苹果Core ML的更多相关文章

  1. Core ML 机器学习

    在WWDC 2017开发者大会上,苹果宣布了一系列新的面向开发者的机器学习 API,包括面部识别的视觉 API.自然语言处理 API,这些 API 集成了苹果所谓的 Core ML 框架.Core M ...

  2. iOS 11: CORE ML—浅析

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/OWD5UEiVu5JpYArcd2H9ig 作者:l ...

  3. 使用ML.NET + ASP.NET Core + Docker + Azure Container Instances部署.NET机器学习模型

    本文将使用ML.NET创建机器学习分类模型,通过ASP.NET Core Web API公开它,将其打包到Docker容器中,并通过Azure Container Instances将其部署到云中. ...

  4. 手把手教你集成华为机器学习服务(ML Kit)人脸检测功能

    当给自己拍一张美美的自拍照时,却发现照片中自己的脸不够瘦.眼睛不够大.表情不够丰富可爱-如果此时能够一键美颜瘦脸并且添加可爱的贴纸的话,是不是很棒? 当家里的小孩观看iPad屏幕时间过长或者眼睛离屏幕 ...

  5. iOS Core ML与Vision初识

    代码地址如下:http://www.demodashi.com/demo/11715.html 教之道 贵以专 昔孟母 择邻处 子不学 断机杼 随着苹果新品iPhone x的发布,正式版iOS 11也 ...

  6. 超简单集成华为HMS ML Kit文本识别SDK,一键实现账单号自动录入

    前言   在之前的文章<超简单集成华为HMS Core MLKit通用卡证识别SDK,一键实现各种卡绑定>中我们给大家介绍了华为HMS ML Kit通用卡证识别技术是如何通过拍照自动识别卡 ...

  7. 用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍&nbsp;

      你有没有过这种体验,拍照时对着镜头,脑子一片空白.表情僵硬.手和脚无处安放,最后拍出来的照片很是奇怪.拍照软件中的固定姿势抓拍功能可以帮助你:选择一个你想要的姿势模板,当你摆出同款姿势时,软件会进 ...

  8. 超简单集成HMS ML Kit文字超分能力,一键提升文本分辨率

    前言 大家有没有遇到过这种情况,在浏览微博或者公众号时看到一段有趣的文字,于是截图发到朋友圈想和好友分享.但是在发布图片时,软件会对图片强制进行压缩,导致图片分辨率下降,文字变得模糊难以阅读.那么有没 ...

  9. 超简单集成 HMS ML Kit 实现最大脸微笑抓拍

    前言 如果大家对 HMS ML Kit 人脸检测功能有所了解,相信已经动手调用我们提供的接口编写自己的 APP 啦.目前就有小伙伴在调用接口的过程中反馈,不太清楚 HMS ML Kit 文档中的 ML ...

随机推荐

  1. Ocelot自定义管道中间件

    Ocelot是啥就不介绍了哈,网关大家都知道,如果大家看过源码会发现其核心就是由一个个的管道中间件组成的,当然这也是Net Core的亮点之一.一个请求到来,会按照中间件的注册顺序进行处理,今天的问题 ...

  2. 【产品】PM常用的流程图

    一.流程图分类 UML有很多种,大体可以分类两类:行为型的图和结构型的图.平时工作中的流程图,只要能把事情清晰的表明,用何种流程图表现形式,其实都无所谓. 但是,作为一名产品经理,共有哪些种类的流程图 ...

  3. .NET斗鱼直播弹幕客户端(上)

    现在直播平台由于弹幕的存在,主播与观众可以更轻松地进行互动,非常受年轻群众的欢迎.斗鱼TV就是一款非常流行的直播平台,弹幕更是非常火爆.看到有不少主播接入弹幕语音播报器.弹幕点歌等模块,这都需要首先连 ...

  4. java中的Math.ceil、Math.floor和Math.round

    ceil意为天花板,指向上取整:floor意为地板,指向下取整:round指四舍五入 package com.company; public class Main { public static vo ...

  5. lnmp环境搭设

    安装nginx============================ 1添加nginx的rpm信息 rpm -Uvh http://nginx.org/packages/centos/7/noarc ...

  6. e课表项目第二次冲刺周期第十天

    昨天完成了什么? 昨天还有一天第一次冲刺周期就结束了,我们的工作也接近尾声了,所以今天我利用之前的方法,完成了对监听的设置,以及对修改界面的编写,可以实现相应的删除和修改的功能,然后我和我们组的成员商 ...

  7. Focus on the Good 专注于好的方面

    [1]  Dealing with people is like digging for gold. When you go digging for an ounce of gold, you hav ...

  8. 权限维持-wmi事件

    0x01 前言 WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具),提供了从命令行接口和批命令脚本执行系统管理的支持. 在2015年的b ...

  9. Ajax:后台jquery实现ajax无刷新删除数据及demo

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8gAAAFSCAIAAAChUmFZAAAgAElEQVR4nO29z4scWZbn2/+Hb30zi8

  10. 阻塞IO模型

    #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> # ...