我使用VNImageRequestHandler和VNDetectRectanglesRequest来处理在图像中查找矩形的请求。但是,由于iOS11中的Vision只提供条形码、矩形、人脸查找,但我想在图像中找到汽车,我应该更改代码以找到图像中指定的对象吗?
发布于 2017-10-06 17:34:15
如果您希望苹果创建一个名为VNDetectCarRequest的API,那么您可能应该使用提交功能请求。(如果发生这种情况,我相信“苹果正在制造一辆汽车!”流言蜚语会再次开始)
对于一般用途的图像识别,与视觉的路径是使用VNCoreMLRequest和提供一个机器学习模型,为您在脑海中的图像识别任务训练。
在本机编程方面,所有图像识别/分类任务都是相同的--您可以从重用苹果的基于视觉和核ML的图像分类示例代码开始,该代码设置VNCoreMLRequest并处理它生成的VNClassificationObservation结果。将一般的“这是什么”分类器转变为“热狗或不热狗”分类器或“这是一种什么样的车辆(如果有的话)”分类器的特殊酱汁都在模型中。
可能有一个机器学习模型已经完成了您正在寻找的任务--如果您找到了一个,您可以使用Apple提供的脚本将其包装在一个核心ML模型文件中。
否则,您将需要查看其中一个通用的图像分类器模型(同样,有几个已经很方便地收集在developer.apple.com上),并致力于将其专门化/再培训到您更具体的任务中。这部分工作是在苹果的API生态系统之外,有很多可能的选择。在网上搜索“列车图像模型”或“列车图像模型”或类似的内容应该是有帮助的。
一旦您训练好您的模型,使用核ML工具将其转换为Core以便与Vision一起使用。
https://stackoverflow.com/questions/46399765
复制相似问题