The Internet-Of-Things (IoT) is currently in full roll-out around the world and will only grow with the deployment of 5G, enabling new use cases and collecting more data than ever seen before. An important aspect of this is not only managing the data that you collect, but also correctly filtering and reducing the latency that you experience on-premise. It is not accepted that it takes 10 seconds round-trip from a container ship in the middle of the atlantic ocean, if you need a response for every image of a camera feed at 24fps.
A way to solve this is by utilizing edge deployments. Edge deployments allow you to create your model in a scalable environment (cloud) and deploy these to the edge devices. Which can then utilize this model, filter the needed data and send just this data back when the connection is re-established.
Interesting use cases for example are:
- Image processing from live video feeds (drones, street cameras, ...)
- Just think about streaming at 24fps, including your model inference and including the network round-trip
- Dongles in cars, sending the captured data from its CAN-bus
- If a car sends at 1Hz, what is your captured data rate? It's predicted that self-driving cars will consume about 4Tb every 1.5 hours!
So how can we solve this technical wise? Well you'd be happy to know that currently we have all the tools in place to actually accomplish this on-edge computing already!
Illustrating this with an architecture, we can see that we will have to add a small computing capability to our devices (think for example cameras, cars, ...) that will then hook up to an event pipeline or IoT Device manager. On top of this we can then add our full lifecycle that can train our model and send the trained model back to the edge devices, creating a perfect loop and self-iterating process.
So let's try to simulate this in our own environment! Now since this post would get too big due to the different steps being required, I decided to split it up into different modules: