Figure 1 shows the software architecture of the project, we use Node.js, MQTT and an AI engine to analyze images or video frames with deep learning. So far, there are two supported AI engines, the classification engine and the object detection engine. Figure 2 shows the differences between classification and object detection.

                                       Figure 1  Software architecture of BerryNet

                              Figure 2  Classification (Left) and Detection (Right)

With BerryNet, users can build applications such as a monkey alert camera to prevent monkeys messing up with their backyard and eating up all the fruit, like figure 3 shows.

                                              Figure 3  Monkey alert system

There are 5 major components in the system:

((a)  Data receiver: a camera

(b)  Computation hardware: key hardware component for tensor computation

(c)  Software system: including the deep learning libraries and the operating system running on local hardware

(d)  AI model: the deep learning model used for analyzing input data

(e)  Alarm trigger system: deliver the detection results to users

              Figure 4  Components of the Monkey alert system using BerryNet

The following is a quick guide of building the system.

-  Hardware you need to prepare:

    Raspberry Pi 3 (b), an IP/Nest/Pi camera (a). You can also purchase Movidius Neural Compute Sticker for better inference performance.

-  Steps to build the system:

   1  — Train a deep learning model as a money detector (d)

   2 — Install and configure BerryNet (c) with the trained model on Raspberry Pi 

   3 — Setup input client as data receiver (can be a pi camera, an IP camera or even a Nest camera), and output client as alarm trigger

Currently, the model training requires users to setup environment manually. For example, following theYOLO website[1] to train the monkey detector. A new easy-to-use service, Epeuva[2]  is coming soon to help customers train the model. Click to register for the early invitation.

On Epeuva, you can bring your own data and customized AI models without any coding effort. By repeating step 1 users are easily to build a detection system they want.

If you would like to know more about how to use BerryNet or other details, you can visit BerryNet's wiki: https://github.com/DT42/BerryNet/wiki, which includes guide for installation, configuration, tutorials and other information.

[1] https://pjreddie.com/darknet/yolo/

[2] http://www.dt42.io/epeuva/index.html#contact-section