Hacker News new | comments | show | ask | jobs | submit login
Show HN: Offline Object Detection and Tracking on a Raspberry Pi (medium.com)
106 points by bko 7 months ago | hide | past | web | favorite | 12 comments

Is there a more self-contained way of running trained models on devices like the Pi? Almost all tutorials I've come across always require me to install a lot of Python dependencies. I'd love to have classifiers installed as a single binary somewhere. I guess https://pjreddie.com/darknet/yolo/ is pretty close to that and I would imagine with a custom build wrapper around https://github.com/tensorflow/tensorflow/tree/master/tensorf..., the same could be achieved. Any hints?

Not exactly a single binary, but Flogo - https://github.com/TIBCOSoftware/flogo uses one binary + one .so for TF inferencing. See https://tibcosoftware.github.io/flogo/development/flows/tens... for some basic documentation.

We’re looking to grow this further with a model serving service so that its more controlled and better abstracted from processing logic - A/B, champion/challenger, etc. Core devs hang out on gitter in case you have qns or feedback.

This has a way to do it without installing anything https://medium.com/nanonets/how-to-easily-detect-objects-wit...

You could use tensorflow.js, not self-contained, but it only depends on the browser. And... Is it easy to get openCL working on a Pi? WebGL might be slower, but it ought to just work.

You want to proceed carefully with a Pi Zero - the chip is an ARMv6, so you'll end up building more things and you loose some optimization - you might not like the performance :-(

Why not just install all the python 3 dependencies to a docker image and then run the docker container on the pi?

This was actually my original approach. I meant to mention that. And I got it to work but then I had to figure out how to control the hardware from the pi and I just gave up. To be fair, I didn't try too hard. I'm sure there is a way to communicate with peripherals through

Another option would be to make a minimal install and then just clone the SD card. It's less neat than Docker, but if you're provisioning a new Pi then you still need to install Docker on it in the first place. Or use something like Ansible to do the setup automatically?

Hardware control on the Pi is pretty simple, use the WiringPi library. I guess you'd need to run Docker in privileged mode, but it should work from within a container?

Did you look at Resin OS at all (resin.io)? No affiliation. Ship a container to your Pi that you can develop on your laptop and then have built for the ARM architecture on Resin's server. It looked very good last fall when I was toying around with Pi video but never pursued it.

Since the Pi is ARM, you'd need to get pip to cross-compile any native extensions in the Python libraries (or use a pre-compiled wheel, if available).

Why python and not c++?

Why C++ and not Python?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact