cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1866
Views
10
Helpful
0
Comments
vinagend
Cisco Employee
Cisco Employee

Custom Computer Vision (Custom CV) allows users to deploy and run custom Machine Learning models directly on MV cameras to perform object detections that are tailored to their unique requirements. On the second-generation cameras, one of the new and exciting capabilities of this platform is the ability to do machine learning-based analytics. With this comes object detection which includes people and vehicle detection.

Artificial Intelligence (AI) can unlock new methods for how enterprises engage with their customers, their products, and their physical spaces. Being able to detect different categories of objects may be instrumental for organizations to be successful. Machine Learning (ML) techniques can be applied to detect objects on images based on triggers such as motion detection.

Meraki smart cameras use deep learning, a type of machine learning at the forefront of artificial intelligence research, to drive our computer vision object detection. The smart camera development teams continually show a computer thousands of examples of what objects look like, and it "learns" how to identify them more and more accurately over time. The model improves as we provide it with additional training data.

vinagend_1-1664431116621.png

 

In this article, we discuss how Cogniac enables Meraki customers to accelerate their use of the new custom CV capabilities on Meraki MV smart cameras.

Meraki MV smart cameras now support RTSP. RTSP (Real Time Streaming Protocol) is a protocol that allows a third-party system to access the video stream directly from the camera.

vinagend_2-1664431116638.png

 

YOLO (You Only Look Once) is a real-time object detection algorithm that identifies specific objects in videos, live feeds, or images. Here’s a quick walk though on how you can use a YOLO v3 pre trained model.

vinagend_3-1664431116662.png

 

We can get the YOLO algorithm which is been already trained against the coco dataset (https://cocodataset.org/#home) that consists of 80 different classes starting from person to toothbrush .

# set of 80 class labels

class_labels = ["person","bicycle","car","motorcycle","airplane","bus","train","truck","boat",

                "trafficlight","firehydrant","stopsign","parkingmeter","bench","bird","cat",

                "dog","horse","sheep","cow","elephant","bear","zebra","giraffe","backpack",

                "umbrella","handbag","tie","suitcase","frisbee","skis","snowboard","sportsball",

                "kite","baseballbat","baseballglove","skateboard","surfboard","tennisracket",

                "bottle","wineglass","cup","fork","knife","spoon","bowl","banana","apple",

                "sandwich","orange","broccoli","carrot","hotdog","pizza","donut","cake","chair",

                "sofa","pottedplant","bed","diningtable","toilet","tvmonitor","laptop","mouse",

                "remote","keyboard","cellphone","microwave","oven","toaster","sink","refrigerator",

                "book","clock","vase","scissors","teddybear","hairdrier","toothbrush"]

 

vinagend_4-1664431116674.png

 

If you want to recognize objects which are not already in the custom class, we need to train an image dataset. The dataset may consist of some 50 to 100 images. We can use this website https://roboflow.com/ to get a data set of a particular image to create a model. Meraki works with Cogniac, a cloud platform where you easily make Custom models.

Cogniac's native integration with Meraki MV smart cameras enables a seamless build-and-deploy workflow for custom CV models.

vinagend_5-1664431116727.png

 

Meraki MV cameras send images to the Cogniac cloud, and the Cogniac Cloud trains the image recognition. 

vinagend_6-1664431116732.png

 

Below is an example for the workflow.

vinagend_7-1664431116737.png

 

 

You can see the accuracy of the model, in this case, to detect the coffee cup on the table, in the summary tab shown below.

vinagend_8-1664431116759.png

 

 

In the above scenario, we are using a camera-as-a-sensor to detect a coffee cup on the table.

vinagend_9-1664431116765.png

 

 

You don’t have direct access to the Meraki Camera on your computer. Everything is done via the Dashboard or via an API.

We will pass an API request to the dashboard to have this camera get a snapshot at a certain point in time. The image is moved to the cloud and sends us a URL pointing to that image. You use an HTTP GET request to grab the image and save it locally.

vinagend_10-1664431116767.png

 

 

 

Let’s see how the Models are deployed to MV cameras. (Meraki + Cogniac deployment)

vinagend_11-1664431116771.png

 

  • On Meraki Dashboard select the camera
vinagend_12-1664431116783.png

 

 Now go to the settings and click on add the model.

vinagend_13-1664431116800.png

 

This will open a window, where we can get the model either from our machine or from the cloud platform. To insert a new model click on new custom model.

vinagend_14-1664431116841.png

 

This will open up a pop up window as shown below were we can select the model and upload it.

vinagend_15-1664431116847.png

 

 

You can perform all these steps automatically with the help of an API.  

vinagend_16-1664431116883.png

 

Please ignore the name of the model given in the above image.

Note - The Cogniac technology lets Meraki cameras collect data and send it to a business intelligence platform for processing.

References-

Github- https://github.com/rafael-carvalho/mv-object-detection

Code-exchange  - https://developer.cisco.com/codeexchange/github/repo/CiscoDevNet/meraki-mv-mt-script-collection/

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links