Real-time object detection in the cloud

Hi All!

I am doing a project where I will be getting a video stream, running real-time object detection on the stream, and outputting a version with bounding boxes and labels. Now, while I am able to do this on a local machine w/ a GPU, I would like to get this working on a laptop without a GPU, as the end-users for my project will not have GPU-accelerated machines.

Would it be possible to leverage the cloud for my project without adding significant (>3sec) delay or is there another option you all would recommend? I have tried streaming to a video streaming server such as Wowza but there was way too much delay (over 1 minute) making the solution impractical.

I am using a custom-implemented version of YOLOv3 as of now but am be open to changing the model if there is a better option available to get it working using the cloud.

Thanks so much in advance and let me know if anyone has any questions about my project!

1 Like

A possibility is to capture every n-th frame of the video and only send that for detection. Then uploading to the server becomes feasible in a reasonable time.

I wrote a Medium article not too long ago about using fast.ai object detection to control a video game from my laptop. I was able to get the frame rate down to about 0.05s for the detection (this was actually time for 2 nn’s predicting and pressing keys, so could be much faster) and then collecting those frames in a file was negligible after that.

Not sure if this is your bottleneck or you’re more asking about streaming video quickly, but hopefully this helps.

1 Like

Although I know this is possible, I wanted to know if I could do this with a video stream in near-time performance. Would you know any methods of doing that?

1 Like