I am currently working with TensorFlow and I thought it’d be interesting to see what kind of performance I could get when processing video and trying to recognize objects with Inception-v3. While I’d like to get TensorFlow integrated with some of my Qt apps, the whole “build with Bazel” thing is holding that up right now (problems with Eigen includes – one day I’ll get back to that). As a way of taking the path of least resistance, I included TensorFlow in an inline MQTT filter written in Python. It subscribes to a video topic sourced from a webcam and outputs recognized objects in the stream.
As can be seen from the screen capture, it’s currently achieving 11 frames per second using 640 x 480 frames with a GTX 970 GPU. With a GTX 960 GPU, the rate falls to around 8 frames per second. This is pretty much what I have seen with other TensorFlow graphs – the GTX 970 is about 50% faster than a GTX 960, probably due to the restricted memory bus width on the GTX 960.
Hopefully I’ll soon have a 10 series GPU – that should be an interesting comparison.
Hey Richard, can you provide some additional info on how to feed a continuous video streams to tensorflow placeholders ? whats the approach ?
Best thing would be to look at the code – it’s here:
https://github.com/richardstechnotes/rtndf/blob/master/Python/imageproc/imageproc.py
It is part of the whole rtndf system but uvccam.py can be used for example to generate a video stream.
Hey, the github link does not work for me. did it change?
I am in the slow process of reorganizing things. I can put that stuff back somewhere though.
The link should work again now. Haven’t used the software for a while so I have no idea if everything is still correct unfortunately.