【问题标题】:How to run Tensorflow object detection on iOS如何在 iOS 上运行 TensorFlow 对象检测
【发布时间】:2019-03-21 21:58:34
【问题描述】:

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

我有 iOS Tensorflow 图像分类在我自己的应用程序和网络中工作,关注 this example

在我自己的应用程序和网络中使用 Android 中的 Tensorflow 图像分类和对象检测,关注 this example

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

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

还发现了Tensorflow lite

但同样没有对象检测。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 将 tensorflow 对象检测模型导出到 Core ML 是否有效?根据我的阅读,这似乎效果不佳。
    • 是否有 Core ML 示例应用程序显示带有对象检测框覆盖的相机视图,例如 Tensorflow Android TFDetect 应用程序?
    • 是的,这是示例视频:youtube.com/watch?v=q73ZcqV6pPc 这是代码:github.com/vonholst/SSDMobileNet_CoreML
    • 我过去使用过 tensorflow lite 模型,它们运行良好。
    【解决方案2】:

    所以我最终关注了这个演示项目,

    https://github.com/csharpseattle/tensorflowiOS

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

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

    我还没有研究过 Core ML,但从我所读到的从 Tensorflow 到 Core ML 的转换很复杂,而且您可能会丢失模型的某些部分。

    它在 iPhone 上运行得相当快,即使使用 Inception 模型而不是 Mobilenet。

    【讨论】:

      猜你喜欢
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 2021-04-21
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      • 2023-03-25
      相关资源
      最近更新 更多