如何在iOS上运行Tensorflow对象检测

时间:2019-03-21 21:58:35

标签: ios tensorflow machine-learning object-detection-api

我正在尝试从iOS应用程序中的Tensorflow模型(Inception或mobilenet)中找出运行对象检测的最简单方法。

this example之后,我在自己的应用和网络中运行iOS Tensorflow图像分类

,并在this example之后按照我自己的应用和网络在Android中运行Tensorflow图像分类和对象检测

但是iOS示例不包含对象检测,仅包含图像分类,那么如何扩展iOS示例代码以支持对象检测,或者在iOS中是否有完整的示例? (最好是Objective-C)

我确实找到了thisthis,但是它从源头重新编译了Tensorflow,这看起来很复杂,

还找到了Tensorflow lite

但还是没有物体检测。

我还找到了使用Core ML将Tensorflow模型转换为Apple Core ML的选项,但这似乎非常复杂,无法在Core ML中找到用于对象检测的完整示例

2 个答案:

答案 0 :(得分:1)

您需要训练自己的ML模型。
对于iOS,仅使用Core ML会更容易。张量流模型也可以以Core ML格式导出。您可以使用此示例并尝试不同的模型。 https://developer.apple.com/documentation/vision/recognizing_objects_in_live_capture
或在这里:
https://github.com/ytakzk/CoreML-samples

答案 1 :(得分:0)

所以我结束了这个演示项目,

https://github.com/csharpseattle/tensorflowiOS

它提供了一个有效的演示应用程序/项目,并且很容易将其Tensorflow pb文件切换为我自己训练有素的网络文件。

自述文件中的说明非常简单。 您确实需要检出并重新编译Tensorflow,这需要几个小时和10gb的空间。我确实有线程问题,使用了gsed指令,可以正常工作。您还需要安装Homebrew。

我还没有看过Core ML,但是据我所读,从Tensorflow到Core ML的转换非常复杂,并且您可能会失去模型的一部分。

即使使用Inception模型而不是Mobilenet,它在iPhone上的运行速度也非常快。