写点什么

iOS MachineLearning 系列(1)——简介

作者:珲少
  • 2023-04-16
    上海
  • 本文字数:1899 字

    阅读完需:约 6 分钟

最近,随着 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


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

发布于: 刚刚阅读数: 2
用户头像

珲少

关注

还未添加个人签名 2022-07-26 加入

还未添加个人简介

评论

发布
暂无评论
iOS MachineLearning系列(1)——简介_珲少_InfoQ写作社区