YOLO on a phone, circa 2016: two FPS and one bounding box
An early, unvarnished port of real-time object detection to Android that shows exactly how much heavy lifting "mobile ML" used to require.

What it does This is a reference Android Studio project that runs the YOLO object-detection network via TensorFlow on-device. It recognizes 20 Pascal VOC classes—person, car, dog, sofa, etc.—and draws a single bounding box around whatever the network thinks is most prominent. The author also distributes a standalone APK if you just want to try it without building.
The interesting bit The project is essentially a fork of a TensorFlow Android demo with the YOLO model swapped in, plus handwritten C++ inference code that passes results back to Java as a string, then tokenizes that string into floats. It is very much “first to do it” code rather than a polished framework: the README explicitly notes only one bounding box is supported, GPU acceleration is absent, and you’ll get roughly two frames per second on a “decent” device.
Key highlights
- First known YOLO-on-Android implementation using TensorFlow (circa 2016)
- 20-class detection from Pascal VOC; model file and APK both provided via Google Drive
- Inference core in C++, with Java-side output parsing documented and commented
- Hardcoded for tiny-YOLO’s final layer; the README points you to the exact file to modify if you want to adapt other models
Caveats
- Single bounding box only; multi-object detection is left as an exercise
- ~2 FPS on CPU-only inference; the README is upfront that this is not fast
- Model and APK hosted on personal Google Drive links; longevity is unclear
- “The code can and will be extended in the future” — last meaningful update appears to be 2016
Verdict Worth cloning if you’re researching the history of mobile object detection or need a minimal, hackable baseline. Skip it if you want production-ready performance; modern alternatives (TensorFlow Lite, ML Kit, etc.) have made this approach obsolete.