AWS Panorama

Learn via video courses
Topics Covered

Overview

All organizations want to improve the visibility of their manufacturing processes to increase efficiency and reduce potential issues. For this, Automation with computer vision is a better option, so here is another AWS service, i.e., AWS Panorama, which helps organizations bring computer vision to on-premises cameras to predict better with high accuracy and low accuracy latency. AWS Paranoma analyzes video feeds in milliseconds and provides better data control.

What is AWS Panorama?

AWS Panorama allows you to apply machine learning algorithms of computer visions to the on-premises camera or image/video input devices. It uses machine learning models for AWS to build its computer vision application. It improves operations with computer vision at the edge. You can create your applications using AWS support for machine learning and computer vision without sharing the image data with the AWS cloud.

aws panorama logo

AWS Panorama provides us to execute some of the everyday computer vision tasks using the on-premises setup without uploading the data to AWS Cloud like:

  1. Object Detection
  2. Object Tracking
  3. Easy Object Character Recognition

AWS Panorama has in-built libraries and templates for carrying out each of these operations. You can also configure and optimize your machine learning models as per your need.

How Does It Work?

AWS Panorama integrates machine learning devices and software, making it possible for on-premises IP cameras to conduct computer vision processes without sending the data directly to the AWS cloud.

Let's understand the detailed working of AWS Panorama with the help of the given diagram.

working of aws panorama

  • AWS Panorama contains some pre-defined machine learning models and templates, which can be used, or some custom models can also be created to run CV applications.
  • The AWS Panorama Appliance is a hardware device installed in the network, and the on-premises IP cameras are connected to it so that they can be further connected to AWS Panorama.
  • Multiple cameras can be added to the AWS Panorama Appliance, and multiple CV applications can be run parallelly.
  • The results generated by the application hosted on-premises using AWS Panorama can be redirected to other AWS services for storage or actions like Amazon S3, Cloudwatch, etc. It can also be redirected to other on-premises devices to trigger other actions as needed.

AWS Panorama Client

AWS Panorama client allows us to connect programmatically to AWS Panorama. It contains methods that connect with AWS Panorama API to get things done.

We can install a panorama client using the age manager of our choice. Some of the common ones are:

  • npm install @aws-sdk/client-panorama
  • yarn add @aws-sdk/client-panorama
  • pnpm add @aws-sdk/client-panorama

OR

You can use it by importing Boto3 packages.

You can check the API Documentation for AWS Panorama to see the list of methods and their uses through AWS Panorama Client.

Features of AWS Panorama

There are multiple features of AWS Panorama. Some of the common features are listed below.

Quick Setup

AWS Panorama can be set up within minutes. The process of setting up AWS Panorama is quite easy, and we need to execute the following few steps:

  • Install AWS Panorama on your device and connect it to the network.
  • Register your AWS Panorama device using the AWS Management Console.
  • After registering, the video feeds from cameras set up on-premises can be added, on which machine learning operations can be performed.

Connects to IP Cameras

You can connect your IP cameras to AWS Panorama. It provides support for RTSP-enabled IP cameras. In addition, it also allows connection for IP cameras with ONVIF standards.

Supports Multi-Model Multi-Stream Parallelly

  • We can connect multiple cameras to AWS Panorama to add video/image feeds.
  • It also allows running multiple machine learning models on a given feed to generate desired outcomes.
  • Not only this, AWS Panorama can integrate the above two features, i.e., It can run multiple machine learning models on top of multiple connected devices in parallel.

Inference at the Edge

  • AWS Panorama reduces the need for manual intervention or human monitoring.
  • It serves the purpose of automating the task of running high-level machine learning models on the on-premises image input devices.
  • Ensuring low latency, enhanced data privacy, and filling the gap of limited internet bandwidth are the major concerns taken care of by AWS Panorama.

GPU Compute

AWS Panorama provides high computational speed of machine learning models using the built-in NVIDIA Xavier GPU.

Edge to Cloud Managed Service

  • AWS Panorama devices can deploy applications based on computer vision with live input.
  • It takes care of the versioning and lifecycle of these computer vision-based applications.
  • Multiple computer vision-based applications are taken care of by a single interface in the AWS Console for management.

Flexible Options for Deploying CV

  • AWS contains some inbuilt templates for standard machine learning algorithms like counting the number of persons in an image, classifying the vehicles, recognizing the license plate, and many more.
  • You can get started with applications using the inbuilt machine learning templates without prior knowledge of Machine Learning.
  • You can also train your machine learning models and optimize them to increase speed and efficiency.

AWS Panorama Use Cases

There are various use cases of AWS Panorama. Listed below are some common use cases. Let's discuss them.

Improve Supply Chain Logistics

Under these, Computer vision models can be used on live input to monitor the following:

  • Recognize objects which are being transported via cargo
  • Ensure the cargo is moving safely and efficiently
  • keep an eye on the activities of transportation yards

supply chain logistics example

Optimize Traffic Management

Traffic is one of the major issues to address in metropolitan cities. The cv based machine learning models can be used to manage traffic. It helps in:

  • Ensuring a safe environment at airports and other important places.
  • In emergencies, alerts can be sent to ensure a smooth traffic flow.
  • Customer delays can be reduced by monitoring the vehicles.

Evaluate Manufacturing Quality

When companies manufacture products, there can be some errors that get ignored if monitored manually, and this can be automated using machine learning models

  • Real-time monitoring can be done with the help of AWS Panorama.
  • Any defects or anomalies can be easily and accurately detected, saving on extra costs.

manufacturing example

Alarms Specifying Unsafe Zones

In a company spread across hectares of land comprising various manufacturing units, some areas might be prohibited.

Prohibition can be for the security of the products or the safety of the workers. In such cases, alerts can be sent if a person is detected to have entered a prohibited area using CV-based applications with real-time inputs.

Analysis of Retail Visitors

Retail shops can be monitored to make some analysis of the visitors. Some of the information retrieved includes:

  • Interest areas of visitors.
  • The time when maximum visitors visit the retail shop.
  • Monitoring of queues is also covered.
  • The product which appeals to a particular age group etc.

retail visitors analysis example

Drive-Thru Pickup Optimisation

Pickups can be monitored to ensure customer satisfaction. It helps in keeping track of the time taken to deliver products. Other ML models, like models to detect a person's mood, can be used to check the satisfaction level of a particular customer. All these optimizations can be made by connecting the IP cameras with an input feed connected to the AWS Panorama appliance.

drive thru pickup optimisation

AWS Panorama Pricing

Device and Usage Pricing

  • For the device referred to as AWS Panorama Appliance, you need to pay a one-time upfront cost of $4,000 per device.
  • Instead of AWS Panorama Appliance, you can also use Lenovo ThinkEdge SE70, for which the one-time upfront cost is $2,339 MSRP* per device.
  • You can add multiple camera devices. For each device streaming and processing video using the appliance, $8.33 is charged per month.

Additional Charges

  • The application assets, which include the machine learning models and business logic, are stored in a versioned form by AWS Panorama. Storing this asset requires some space, for which you are charged $0.10 per GB monthly.
  • If you want to store the business logic on AWS S3 for carrying out analysis offline, then extra charges are incurred based on the pricing structure of AWS S3.

AWS Panorama Appliance

AWS Panorama Appliance is a hardware that helps to provide computer vision to the applications. We can create our computer vision model using machine learning and use the model with the help of AWS Panorama Appliance.

aws panorama appliance

To develop the computer vision model, we use the AWS SageMaker and then deploy that model to the AWS Panorama Appliance. This Appliance can add computer vision to the existing IP cameras and automate tasks to inspect and monitor.

AWS Panorama Appliance has some features and functions. They are:

  • It can connect to the IP cameras and process video to run simultaneous machine learning models per stream.
  • The IP cameras do not need any built-in Machine Learning capabilities. AWS Panorama Appliance provides computer vision to these cameras.
  • This Appliance is dust-proof and water-resistant.

AWS Panorama Endpoints and Quotas

Endpoints

We need endpoints to connect programmatically with the AWS Panorama. These endpoints differ from one region to another. The table below lists the endpoints which follow the HTTPS protocols for different regions.

RegionRegion NameEndpoint
us-east-1US East (N. Virginia)panorama.us-east-1.amazonaws.com
us-west-2US West (Oregon)panorama.us-west-2.amazonaws.com
ap-southeast-1Asia Pacific (Singapore)panorama.ap-southeast-1.amazonaws.com
ap-southeast-2Asia Pacific (Sydney)panorama.ap-southeast-2.amazonaws.com
ca-central-1Canada (Central)panorama.ca-central-1.amazonaws.com
eu-west-1Europe (Ireland)panorama.eu-west-1.amazonaws.com

Quotas

Quotas are also referred to as limits. These are used to define the maximum number of resources that can be used for your AWS account. We will discuss all the limits for the AWS resources. It is important to note that these quotas are non-adjustable and apply only to regions supported by AWS Panorama.

  • Applications per device: You can run ten application instances on a device for any supported region.
  • Assets per package: You can have 50 assets per node package.
  • Camera nodes per application: A maximum of 8 camera nodes can be attached.
  • Devices: You can register for a maximum of 50 devices for a particular account.
  • Node packages: A maximum of 50 node packages can be created for an AWS account.
  • Package artifact size: Maximum size of Node package artifact can be 8 gigabytes.
  • Versions per package: A maximum of 20 versions can be created per node package.

Getting Started with AWS Panorama

We know the concepts of AWS Panorama. Let's start installing Panorama in AWS and deploy the Panorama in AWS Infrastructure. It involves three sets of procedures:

  • Creating and Configuring AWS Infrastructure
  • Deploying a Panorama Virtual Appliance in the Management VPC
  • Updating the Virtual Appliance and Activating Services

In this demo, we are covering the two procedures because up to the deployment of Panorama in VPC, for updating and activating the services, we need the serial number of the Panorama devices to which we want to connect. So, let's get started with the hands-on activity.

Creating and Configuring AWS Infrastructure

In this procedure, we must create a ManageManagement VPC, IP subnets, VPC Internet Gateway, VPC Route Tables, Security Groups, and an IAM Role with Read-Only Access.

Create a Management VPC

Follow these steps:

  • Login to the AWS console and choose the US West(Oregon) region. choose region in aws console
  • Search VPC in the search bar and click on Your VPCs. selecting vpc
  • Click on Create VPC. selecting create vpc option
  • Choose VPC only, fill in the name of the VPC, and provide the IPv4 CIDR block. Scroll and click on Create VPC. filling details of vpc
  • VPC is successfully created. Go to the Actions and click on Edit DNS hostnames. selecting edit dns hostnames
  • Mark the Enable checkbox and click on Save changes. editing dns hostnames

Create IP Subnets

Follow these steps:

  • On the next screen, click on subnets and click on Create subnet. create subnet option
  • Choose the VPC and fill in the name for the subnet. filling name of subnet
  • Choose the Availability zone and provide the IPv4 CIDR block. Click on the Create subnet. choose availability zone
  • Subnet is created successfully. subnet create successful notification

Create a VPC Internet Gateway

Follow these steps:

  • Go to the Internet Gateway in the VPC menu and click on Create internet gateway. vpc menu
  • Provide a name to the internet gateway and click on Create internet gateway. naming internet gateway
  • Now, we have to attach this internet gateway to the VPC. Click on Attach to a VPC. attach internet gateway to vpc
  • Choose the VPC and click on Attach internet gateway. selecting vpc to attach
  • The internet gateway is successfully attached to the VPC. internet gateway successfull attach notification

Create the VPC Route Tables

Follow these steps:

  • Go to the Route table in the VPC menu and click on Create route table. route table menu
  • Fill in the name of the routing table and choose the VPC. Scroll and click on Create route table. filling credentials of routing table
  • The route table is created. Click on Edit routes. edit route option
  • Click on Add route. Enter 0.0.0.0/0 in the destination box and choose the created internet gateway in the target box. Click on Save changes. selecting internet gateway in target box
  • Go to the Subnet Associations tab and click on Edit subnet associations. subnet associations tab
  • Select the subnet and click on Save associations. save associations options
  • The VPC route table is configured successfully. vpc route table configured

Create Security Groups

Follow these steps:

  • Search Security groups in the search bar and open it. search security groups
  • Click on Create security group. create security group example
  • Provide a name to the security group and a description, and choose the VPC. provide name to security group
  • Scroll down and set up the inbound rules. setup inbound rules
  • Click on Add new tag and provide a name tag. Click on Create security group. adding new tag
  • We created the security groups successfully. security group successful notifications

Create IAM Role with Read-Only Access

Follow these steps:

  • Search IAM in the search bar and click on Roles. search iam in search box

  • Click on Create role. click create role option

  • Choose the AWS services as a trusted entity and choose EC2. aws as trusted entity

  • In the permissions, choose the AmazonEC2readonly access and click on Next. choose amazonec2readonly access

  • Provide a name and description of the role. Scroll down and click on Create role. name and description of role

  • The IAM role is created successfully. iam role created successfully

We are done with creating and configuring AWS infrastructure. Now let's deploy Panorama Virtual Appliance in the Management VPC.

Deploying a Panorama Virtual Appliance in the Management VPC

In this procedure, we have to create Panorama Virtual Appliances, label the primary network interfaces, create the EIP address for the Virtual appliances, and configure the admin login for browser access.

Create Panorama Virtual Appliances Follow these steps:

  • Click on the AWS CloudShell icon.

aws cloudshell icon

  • aws ec2 describe-images --filters "Name=product-code,Values=eclz7j04vu9lf8ont8ta3n17o" Name=name,Values=Panorama*10.1.6* --region us-west-2 --output json Run this command to get the image ID. Copy this image ID. copy image id
  • Search the EC2 in the search bar and click on it. search ec in search bar
  • Go to the AMI menu in the EC2 console and choose the Public images. ami menu
  • Search the copied image ID. Select the image ID and click on Launch instance from AMI. search copied image id
  • Provide a name to the instance and the number of instances. name to instances
  • Scroll down and click on Create a key pair. create key pair option
  • Fill name for the key pair and choose the file format as ppk. Click on Create key pair. It will create a key pair and save it to your machine. name of key pair
  • Scroll down to the Network setting. Choose the VPC subnet and select the existing security groups. Choose the security group created earlier. selecting vpc subnet
  • In the advanced network configurations, provide the primary IP. primary ip in advanced network configuration
  • In the Advance details, choose the IAM profile we created earlier. Click on Launch instance. launch instance in advance details
  • It may take some time to launch the instance. Click on View all instances. view all instances options
  • The instance is successfully launched. instance successfully launched

Label the Primary Network Interfaces

Follow these steps:

  • Go to the Network interface in the EC2 console menu. network interface

  • Edit the name of the Network interface. edit name of network interface

Create EIP Addresses for the Virtual Appliances

Follow these steps:

  • Go to the Elastic IPs in the VPC console. Click on Allocate Elastic IP address. elastic ips menu
  • Click on Allocate. allocate options
  • Select this Elastic IP address and click on Actions. Click on View Details. actions on elastic ip address
  • Click on Manage tags. manage tags option
  • Click on Add tag and provide a Name. Click on Save. add tag and name it
  • Now, we have to Associate the Elastic IP address. Click on Associate Elastic IP address. associate elastic ip address
  • Choose the network interface and select the network interface and IP address. Click on Associate. select-network-interface-and-ip-address
  • We set up the Elastic Ip and successfully associated it with the network interface. set up elastic ip

Configure the Admin Login for Browser Access

Follow these steps:

  • Go to the instance and copy the Public IPv4 DNS. copy public dns
  • Open putty to connect to this instance. putty to connect instance
  • Fill the DNS in the Hostname and click on Credentials. fill dns in hostname
  • Select the ppk file from the local machine and click on Open. select ppk file
  • login as admin. login as admin
  • Run the commands configure, set mgt-config users admin password, and commit to set a strong admin password, and then commit the changes. set the strong password using commands
  • Open the IPv4 DNS and log in with the admin user and the password we set in the last step. login with admin user
  • Click ok on a few prompts and we will get on to the Panorama dashboard page. panorama dashboard page

We have successfully deployed Panorama Virtual Appliance on AWS Infrastructure.

Benefits of AWS Panorama

Some of the common benefits of AWS Panorama are:

  • Add machine learning to the existing IP camera systems
  • Make decisions in real-time.
  • Enable computer vision in a connected network environment.
  • Meet data privacy and governance requirements.
  • Integrating AWS Panorama into consulting solutions and SafetyVisor products.
  • Fast development in a familiar programming environment.

Conclusion

  • AWS Panorama is a machine learning appliance and software development kit that helps bring computer vision to the on-premises cameras.
  • We can connect to the AWS Panorama programmatically using the AWS Panorama client.
  • AWS Panorama features include connecting the IP cameras, supporting Multi-Model Multi-Stream Parallelly, providing a flexible option to deploy computer vision, etc.
  • Under the AWS Panorama pricing, we need to pay a one-time upfront cost for AWS Panorama Appliance. For each IP camera that is connected, the appliance follows the pay-as-you-go model, with a pricing of $8.33 per month.
  • AWS Paronama Appliance is a hardware device that helps connect IP cameras and provides computer vision.
  • Endpoints are used to connect AWS Panorama programmatically using HTTPS protocol.
  • We can successfully deploy Panorama Virtual Appliance on AWS Infrastructure using the AWS management console.