How to Build a Real-Time Object Detection iOS App Using TensorFlow(heartbeat.fritz.ai)
heartbeat.fritz.ai
How to Build a Real-Time Object Detection iOS App Using TensorFlow
https://heartbeat.fritz.ai/https-heartbeat-fritz-ai-building-a-real-time-object-recognition-ios-app-that-detects-sushi-c4a3a2c32298
5 comments
You're probably going to get much better performance if you convert your TensorFlow model to CoreML (use tfcoreml). Also has the advantage of not needing to compile TF for your phone yourself, and distribute it with your app.
We wrote a similar article to this about a year ago, using CoreML & TuriCreate to train the data...
https://medium.com/jigsaw-xyz/realtime-image-recognition-in-...
https://medium.com/jigsaw-xyz/realtime-image-recognition-in-...
TuriCreate also provides good tutorials on doing this:
https://apple.github.io/turicreate/docs/userguide/object_det...
I came here to say the same thing :). It's probably also easier to train using CreateML, but if you already know how to use TensorFlow then you don't really need to use CreateML.
I've heard through the grapevine that Tensorflow-Lite just makes a CoreML conversion for you? Is that true?
If, and only if, it can be compiled to CoreML.
(I wrote and maintain Keras-RCNN. It does not compile to CoreML. Yet.)
(I wrote and maintain Keras-RCNN. It does not compile to CoreML. Yet.)
Out of curiosity, why does compiling to CoreML fail?
Not every op supported in generic Tensorflow (software) can be converted to CoreML ops (hardware), which means a number of the more complicated models can't be automagically converted. If you have specific domain knowledge you can add substitute ops/roll your own, but this is beyond the scope of most people trying to bring models over to mobile.
Many models exist in many formats that can be converted to CoreML. So that shouldn’t be a problem. Also there is always the option of training a new model from scratch or with transfer learning.
Reminds me of the “see/seafood” app pitched by Jian-Yang from Silicon Valley
This is image classification, not object detection!
/pedant
Edit: /eats crow
/pedant
Edit: /eats crow
Actually, this is object detection because there is a bounding box which is generated localizing the object(s).
Classification would be if each frame returned a class and class score without the bounding box.
High-performance != Real-Time
Are they still using YOLO for object detection in TF?