Adding AI to a camera

Our solution

In this case, we enhanced a traditional digital camera with an Artificial Intelligence hardware accelerator (Intel Movidius). Then we delivered a software stack that allowed for AI inferencing directly on the camera hardware. In addition, we connected the camera to the Cloud (Microsoft Azure) for further analytics.

Results

All was wrapped up in a traffic analytics scenario. So the camera was capable of detecting up to 20 objects in near-real-time fashion and on-the-spot (i.e. humans, bikes, busses etc.). This information was then asynchronously sent to the Cloud for further analytics (i.e. objects counting, business intelligence etc.).

Benefits for the customer

  • Camera can detect objects and trigger alarms without connectivity to the Cloud, in near-real-time fashion
  • Camera does not require stable, high bandwidth connectivity as it only sends pure text to the Cloud
  • Privacy: video stays locally on the device
  • byteLAKE team also helped the customer benchmark the possible hardware configurations and pick the best ones meeting their cost, performance (latencies) and energy requirements

Details

Combining Intel’s VPU with a traditional digital camera, helped us eliminate latencies related to the connectivity issues and caused by large amount of video streams being constantly sent between a camera and the Cloud. In our approach, the camera does not need to send the frames to the server and wait for a list of detected objects. It can do so on its own, instantly.

To ensure further analytics of the results, we integrated the camera with Azure’s IoT HUB (allowing for connecting, monitoring, and managing billions of IoT assets), Azure’s Stream Analytics (an on-demand real-time analytics service) and Power BI. Overall the system works in the following way:

Adding AI to cameras (high-level architecture)

 

The cameras detect objects on their own and send reports for further processing to Azure Cloud. It is important to note, however, that the camera can trigger certain alerts immediately i.e. intrusion detection, cars in bike-only areas etc. It does not need to wait for triggers from the servers. The application in the Cloud, on the other hand, performs traffic analytics and counts the detected objects per category. It can, however, perform a lot of more things. For instance, it can become a foundation of an advanced video surveillance system and enable features like: search in videos, suspicious objects following etc.

The solution addresses some of the key pains of the IoT applications:

  • Eliminate intermittent connectivity related issues
    (devices become smarter and can make decisions independently from the Cloud)
  • Solve round-trip latency
    (no need for sending GBs+ of data from to the Cloud for further processing. On-device AI can process the data instantly.)
  • Reduce costs of bandwidth
    (bandwidth mainly needed for reporting, statistics, diagnostics purposes etc.)
  • Address security and privacy concerns in a new way and opens a new chapter of “Security on the Edge”
    (Data stays locally on the device)
  • Make the most of the innovative Video Processing Units (VPU)
    (Low power, high performance)
  • Have all of these and still… embed your AI into a small form factor!

 

Have a look at this video to see a proof-of-concept version of the solution. Read more in our blog post here.

Adding AI to cameras

See the video here.