随着技术的进步,我们正处于设备可以使用内置摄像机通过预先训练的数据集准确识别和标记图像的地步。 您也可以训练自己的模型,但是在本教程中,我们将使用开源模型来创建图像分类应用程序。
我将向您展示如何创建可以识别图像的应用。 我们将从一个空的Xcode项目开始,并一次一步地实现机器学习支持的图像识别。
入门
Xcode版本
在开始之前,请确保您的Mac上安装了最新版本的Xcode。 这一点非常重要,因为Core ML仅在Xcode 9或更高版本上可用。 您可以通过打开Xcode并转到上方工具栏中的Xcode > 关于Xcode来检查您的版本。
如果您的Xcode版本早于Xcode 9,则可以转到Mac App Store进行更新,或者如果没有,则免费下载。
样例项目
新项目
确定具有正确版本的Xcode之后,您需要创建一个新的Xcode项目。
继续并打开Xcode,然后单击“ 创建新的Xcode项目”。
接下来,您需要为新的Xcode项目选择模板。 使用Single View应用程序是很常见的,因此请继续进行选择,然后单击“ 下一步”。
您可以根据自己的喜好为项目命名,但是我将命名为CoreML Image分类。 对于此项目,我们将使用Swift,因此请确保在Language(语言)下拉列表中将其选中。
准备调试
连接iPhone
由于Xcode Simulator没有相机,因此您需要插入iPhone。 不幸的是,如果您没有iPhone,则需要借用一本才能随本教程一起使用(以及与其他任何与相机相关的应用程序)。 如果您已经将iPhone连接到Xcode,则可以跳到下一步。
Xcode 9中的一个令人讨厌的新功能是您可以在设备上无线调试应用程序,因此让我们花点时间现在进行设置:
在顶部菜单栏中,选择“ 窗口” >“ 设备和模拟器” 。 在出现的窗口中,确保在顶部选择了设备 。
现在,使用避雷线插入设备。 这应该使您的设备出现在“ 设备和模拟器”窗口的左窗格中。 只需单击您的设备,然后选中通过网络连接框。
现在,您将可以在所有未来的应用程序的iPhone上进行无线调试。 要添加其他设备,您可以遵循类似的过程。
模拟器选择
如果您想最终使用iPhone进行调试,只需从“ 运行”按钮旁边的下拉列表中选择它即可。 您应该在其旁边看到一个网络图标,显示该网络已连接以进行无线调试。 我已经选择了Vardhan的iPhone,但是您需要选择特定的设备。
深潜
现在,您已经创建了项目并将您的iPhone设置为模拟器,我们将更深入地研究并开始对实时图像分类应用程序进行编程。
准备项目
获取模型
为了能够开始制作Core ML图像分类应用程序,您首先需要从Apple的网站上获取Core ML模型。 如前所述,您也可以训练自己的模型,但这需要一个单独的过程。 如果滚动到Apple