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

5
我正在尝试找到一种在iOS应用中运行Tensorflow模型(Inception或mobilenet)的最简单方法,实现物体检测。
我已经在我的应用程序中使用iOS Tensorflow图像分类,并且按照这个示例设置好了网络,同时在我的应用程序和网络中使用了这个示例来实现Tensorflow图像分类和物体检测。
但是,iOS示例中仅包含图像分类,没有物体检测,因此如何扩展iOS示例代码以支持物体检测,或者是否有一个完整的iOS示例?(最好是objective-C)
我确实找到了这个这个,但它们需要重新编译Tensorflow源代码,似乎比较复杂,
也找到了Tensorflow lite
但同样没有物体检测。
我还发现将Tensorflow模型转换为Apple Core ML的选项,使用Core ML,但这似乎非常复杂,并且找不到用于Core ML中物体检测的完整示例。
2个回答

1

将 TensorFlow 目标检测模型导出为 Core ML,是否可行?从我所读的内容来看,似乎这并不工作得很好。 - James
有没有一个Core ML示例应用程序,它显示带有物体检测框叠加的相机视图,类似于Tensorflow Android TFDetect应用程序? - James
是的,这里有示例视频:https://www.youtube.com/watch?v=q73ZcqV6pPc 这是代码链接:https://github.com/vonholst/SSDMobileNet_CoreML - Heisenbug
1
我以前使用过TensorFlow Lite模型,它们运行得非常好。 - Heisenbug

0

所以我最终跟随了这个演示项目,

https://github.com/csharpseattle/tensorflowiOS

它提供了一个可工作的演示应用/项目,并且很容易将其Tensorflow pb文件切换为我自己训练的网络文件。
readme中的说明非常直接明了。 您确实需要检出和重新编译Tensorflow,这需要几个小时和10GB的空间。我遇到了线程问题,使用了gsed的指令,效果很好。您还需要安装Homebrew。
我还没有看过Core ML,但根据我所了解,从Tensorflow转换到Core ML是复杂的,并且可能会丢失模型的某些部分。
即使使用Inception模型而不是Mobilenet,在iPhone上运行速度也相当快。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接