首页 > 其他分享 >iOS MachineLearning系列(1)——简介

iOS MachineLearning系列(1)——简介

时间:2023-04-14 18:37:13浏览次数:53  
标签:识别 训练 MachineLearning 简介 模型 iOS 文本 图像 ML

iOS MachineLearning系列(1)——简介

最近,随着Chat-GPT的发布,人工智能相关的资讯和话题再次火热了起来。有了人工智能的加持,对人们的生活以及各行各业的工作都将带来效率的极大提升。目前,各种大模型的发布层出不穷,这些大模型虽然功能非常强大(如文本理解,绘图等),但对于个人来说,要跑起这样一个模型来对外提供服务还是比较困难的,其需要有非常强大的算力支持。

本系列博客,主旨在讨论使用分布式的方式来运行ML或AI相关的服务功能,在iOS平台中,系统本身就提供了ML相关的框架以及内置API接口,使用内置接口已经可以实现非常强大的AI功能,且不需要引入额外的模型,不会增大App的体积。如果有更高级的AI需求,我们也可以使用CoreML框架来运行第三方的模型,非常强大。更甚一步,如果有非常定制化的AI需求,我们也可以通过Xcode工具来自己训练模型,使用自己训练的模型来实现更加复杂的功能。

在结构上,本系列博客将从应用的角度由浅入深的进行介绍,先介绍系统API的功能,再介绍如何使用三方模型,最后讨论如何自己训练模型。希望这些文章可以起到抛砖引玉的效果,帮助你打开在iOS平台上AI应用的新思路,并充分的利用用户的设备来实现AI功能,而不是中心服务器。

1 - 关于Machine Learning

CoreML是iOS系统提供的机器Learning核心框架,其可以将训练好的模型轻松的集成到我们的应用中,至于模型,我们可以使用自己训练的,也可以使用三方训练好的,甚至可以将其他框架的模型转换成CoreML所需要的类型进行使用。

iOS中的Machine Learning能力可以概括为以下几个方面:

  • Machine Learning APIS
  • Create ML
  • Use Models
  • ML Converters

2 - Machine Learning APIS

我们知道,iOS系统本身就有一些AI功能,例如人脸识别,语音识别等,这些系统内置的功能其实也开发了API供开发者使用,我们只需要很少的代码,即可在应用中集成这些功能,包括:

  • 视觉:分析图像和视频的相关功能。
  • 自然语言:处理和理解文本相关的。
  • 语音:语音内容识别相关的。
  • 音频:音频类型识别相关的。

与视觉相关的API功能包括有:

图片分类:自动识别图像中的内容。

图片增强:将图像的关键部分进行突出。

图像对齐:处理图像边缘对齐。

图像相似性对比:生成特征对比图像相似性。

目标检测:在图像中找到目标物。

对象跟踪:跟踪视频中的移动对象。

轨迹检测:检测视频中运动物体的轨迹。

轮廓检测:检测图像或视频中物体的轮廓。

文本检测:检测图像中的文本区域。

文本识别:识别图像中的文本,提取文本。

人脸检测:检测图像中的人脸。

人脸追踪:实时追踪相机视频流中的人脸。

面部特征提取:检测面部特征提取人脸特征。

人脸捕获质量:比较一组图中的人脸捕获质量。

人体检测:在图片中查找人体。

身体姿势分析:分析图像中的人体姿势。

手部姿势识别:在图像中识别手部姿势。

动物识别:识别图像中的猫狗。

条形码识别:识别条形码。

矩形检测:查找图片中的矩形区域。

地平线检测:分析图片中的地平线角度。

光电流:分析对象在连续视频帧之间的运动模式。

人像细分:为图片中的人物生成无光图像。

文档分析:检测图像中包含的文本矩形区域。

与自然语言处理相关API有:

token化:枚举文本字符串中的单词。

语言识别:识别文本的主体语言。

打标签:对文本中的实体进行标签化。

词性标注:标注文本中实体的词性。

单词嵌入:嵌入相近词。

句子嵌入:嵌入相近句。

情绪分析:分析文本的情绪。

与语音识别API有:

语音识别:将语音提取成文字。

与音频处理相关的API有:

声音分类:将声音进行分类。

本系列的后续文章会对这些API的使用多详细介绍。

2 - Create ML

Create ML是Mac上提供的一种模型训练方式,其训练完成后的模型可以直接在CoreML框架上进行使用。降低了模型训练的复杂性。

Create ML支持对多种类型的数据为内容进行训练,包括图片,视频,活动,声音,文本和表格等。如果安装了Xcode,则自动也将安装Create ML工具,其中自带了很多训练模板,如下图所示:

关于模型的训练,也将在后续文章中做介绍。

3 - Use Models

自己训练模型是有一定的成本的,比如首先要有大量的用于训练的数据。Core ML社区也为开发者提供了一些训练好的模型,可以直接下载使用。可以在如下网站进行下载:

https://developer.apple.com/machine-learning/models/

这些模型的功能还是很强大的,比如进行图像的深度预测,数字手写体识别,绘图分类,物体识别,像素分割,人类关节分析,以及查找问题的答案等等。

后续文章会介绍如何使用这些模型。

4. ML Converters

Core ML本身是Apple提供的模型框架,我们知道还有很多第三方的训练库,我们也可以将其他框架训练的模型转换为Core ML模型,从而集成进iOS应用。支持的库和框架包括:

  • TenscrFlow
  • PyTorch
  • XGboost
  • scikit-learn
  • LIBSVM

专注技术,懂的热爱,愿意分享,做个朋友

标签:识别,训练,MachineLearning,简介,模型,iOS,文本,图像,ML
From: https://blog.51cto.com/u_11643026/6190764

相关文章

  • 求助 iOS 分发的最佳实践
    目前组里准备开一个iOS的项目,但是还在调研阶段,不太清楚使用哪种分法方式比较合理。理想的方式是:每次发布可以不需要AppStore审核(非必需)不公开发布,仅需要内部分发用户使用量不会特别大(不超过100),但是需要可以自助下载和安装,例如使用GiftCode或者点击一个链接就可以下载可......
  • 图文介绍 Windows 系统下打包上传 IOS APP 流程
    现在很多伙伴跨平台开发应用,有些童鞋没有苹果机,本文将介绍,如何在Windows系统环境下直接上架APP,不用去搞虚拟机之类的了,Windows下照样轻松打包上架iOSAPP。下面从七个步骤进行详细介绍!1、创建唯一标示符AppIDs2、申请发布证书3、申请发布描述文件4、iTunesConnect......
  • 求助 iOS 分发的最佳实践
     目前组里准备开一个iOS的项目,但是还在调研阶段,不太清楚使用哪种分法方式比较合理。理想的方式是:每次发布可以不需要AppStore审核(非必需)不公开发布,仅需要内部分发用户使用量不会特别大(不超过100),但是需要可以自助下载和安装,例如使用GiftCode或者点击一个链......
  • JavaScript 中 new Date().getTime() 方法在 iOS 中的兼容性问题
    JavaScript中newDate(time).getTime()获取时间戳方法在iOS中的兼容性问题在iOS系统的H5页面中获取时间戳方法newDate(time).getTime()存在返回NaN或结果不准确的情况在iPhone8中iOS11.03系统下的H5页面测试newDate(time).getTime()方法测试代码:测试结......
  • vue3微信公众号商城项目实战系列(3)项目初始文件及文件夹简介
    首先我们来看下项目的文件结构图,如下: 各个文件及文件夹作用如下:文件或文件夹名称作用.vscodeVisualStudioCode开发工具的配置信息存放目录,从这个目录可以看出vue3确实是推荐使用vscode作为开发工具的。node_modules项目中用到的包存放目录,当我们用"npminstall......
  • 【c&c++】strdup函数简介
    strdup函数简介收藏 用法:#include<string.h> 功能:复制字符串s  说明:返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。  举例:       //strdup.c          #include<syslib.h>     #include<string.h>      mai......
  • axios实现无感刷新token
    letisRefreshing=false标识当前正在刷新token//重试队列,每一项将是一个待执行的函数形式letrequests=[]axios.interceptors.response.use(response=>{const{code}=response.dataif(code===401){//具体code看和后端定义的是什么,这里是401co......
  • 基于simulink的chaios混沌电路仿真
    1.算法仿真效果matlab2017B仿真结果如下:       根据混沌运动中混沌吸引子的特征,混沌吸引子是整体稳定和局部不稳定相结合的产物,在相空间的表现是“伸长”和“折叠”。它具有复杂的拉伸,折叠和伸缩结构,使得按指数规律发散的系统保持在有限的空间内,即一切位于......
  • 基于simulink的chaios混沌电路仿真
    1.算法仿真效果matlab2017B仿真结果如下:根据混沌运动中混沌吸引子的特征,混沌吸引子是整体稳定和局部不稳定相结合的产物,在相空间的表现是“伸长”和“折叠”。它具有复杂的拉伸,折叠和伸缩结构,使得按指数规律发散的系统保持在有限的空间内,即一切位于吸引子之外的运动都向......
  • 事务-简介以及操作演示
    事务:是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,,即这些操作要么同时成功,要么同时失败默认mysql的事务是自动提交的,也就是说,当执行一条DML语句,mysql会立即隐式地提交服务事务操作:查看/设置事务提交方式:selec......