Skip to main content

Logo

Megh VAS Suite-100

0.13 Release Notes

Megh Computing, Inc

Megh Computing provides a real-time streaming analytics platform that is performant, scalable, and flexible. The Megh VAS Suite-100 is a video analytics application based on our Megh VAS platform.

Model

Summary

The Megh VAS Suite-100 is a complete, end-to-end video analytics solution that offers high performance and low latency. It can be used as-is, or easily integrated into existing VMS platforms. The Megh VAS Suite-100 is available today on AWS EC2 c5 and t3 instances and can also be deployed on the edge in a Docker container.

The Megh VAS Suite-100 is easy to enable on AWS or Edge compute servers, and can support up to 10 channels of video running on the CPU only. As your analytics needs scale, you can easily upgrade to the Megh VAS Suite-300+, and accelerate any or all portions of the pipeline using accelerator devices such as GPU and/or FPGAs. See our additional product offerings at https://megh.com./

Quick Notes on Terms of Use and Privacy Policies

  • This is a early version of the Megh VAS Suite-100. It contains pre-release code that may not reflect the performance or compatibility of the final, generally available product. This software is provided “AS IS” solely to internally evaluate the Solution and without warranty of any kind. This software can not be commercialized or distributed without explicit, written permission from Megh Computing.

  • The deep learning models in this release have been trained using public datasets. Topologies may need to be retrained to the end-user’s environment for optimum performance. The end-user must determine if the level of accuracy of the models is sufficient for their use-case.

  • We integrate with third party applications (license managers, Docker hub, AWS) that may collect usage statistics related to downloads and API usage.

  • Our application outputs video frames that may contain personal information. Although we offer optional facial blurring when displaying these frames, the obfuscation may not be 100% effective.

  • Our application supports asymmetric encryption between data transfer points. Additional authentication can be optionally activated to ensure data is only published to certified clients.

  • We are committed to protecting your privacy. If you have any questions or concerns please contact us at info@megh.com

Camera Configuration

Any IP camera that can stream using rtsp and is ONVIF compliant will work in the VAS Suite-100 system. The cameras should be configured with the following parameters.

RecommendedMaximumComments
Camera - resolutionHD 720p 1MFHD 1080p 2MIncreasing Resolution or frame rate will increase compute requirements
Camara - Framerate15 fps30 fps
Camera - Bandwidth1 to 2 Mbps3 to 4 Mbps

VAS Suite has been tested with the following cameras

  1. SV3C 5MP Camera (link: https://www.amazon.com/SV3C-Megapixels-2592x1944-Waterproof-Detection/dp/B07BNGWZVR)
  2. AXIS M2025-LE Network Camera (link: https://www.amazon.com/AXIS-M2025-Network-Camera-Monochrome/dp/B01LWSS834/ref=sr_1_3[...]1&keywords=AXIS+M2025-LE+Network+Camera&qid=1612827029&sr=8-3)

Server Configuration

Recommended Edge Gateways or Servers with the following processors:

  • Intel Core i3, i5, or i7 with up to 8 cores / 16 vCPUs
  • Intel Xeon-D processor with up to 16 cores / 32 vCPUs
Per CameraCPU RecommendationComments
Use Cases based on People Detection: Physical Distancing People Counting People Occupancy People Tracking4 vCPU per use case with no acceleratorsAssuming Recommended configuration for camera, i.e., HD resolution and 15 fps
Use Cases based on People Detection: Physical Distancing People Counting People Occupancy Dwell/Loitering Detection2 vCPU per use case with integrated GPU accelerator (e.g., in Intel Core processors)Assuming Recommended configuration for camera, i.e., HD resolution and 15 fps
Use Cases based on Face Detection: Face Mask Detection PPE Compliance8 vCPU per use case with no acceleratorFace Mask Detection uses a more complex DL model
note

These are early estimates and are subject to change

Supported Usecases

As part of the current VAS100 release we are enabling usescases that are relevant and can be tailored to Smart Building, Smart Factory and Smart City usecases deployment like

• People Distancing

• People Counting

• People Occupancy

• People Tracking

• Intrusion Detection

• Fire Detection

• PPE Compliance

• FaceMask Compliance

• Collision Detection

• Dwell/Loitering Detection

Installation script installs only a subset of usecase. Please contact Megh for any modification or customization requests.

Installing the Application

1.1 For On-premise distributions

  1. Megh VAS Suite-100 is deployed using docker containers. So prior to installing Megh VAS Suite-100, users are required to install docker and docker-compose (version: 1.28.2) on server running Ubuntu 18.04

$ sudo apt-get update

$ sudo apt-get install -y nginx libczmq-dev libsodium-dev pkg-config

$ sudo apt-get install -y apt-transport-https ca-certificates

curl gnupg lsb-release

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg |

sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \

$(lsb_release -cs) stable" | sudo tee

/etc/apt/sources.list.d/docker.list > /dev/null

$ sudo apt-get update

$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io

$ sudo curl -L

"https://github.com/docker/compose/releases/download/1.28.2/doc

ker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

$ sudo chmod +x /usr/local/bin/docker-compose

$ sudo groupadd docker

$ sudo usermod -aG docker $USER

$ sudo chmod 666 /var/run/docker.sock

  1. Download and extract Megh VAS100

curl -L -o MEGH-VAS100-0.13.0.tar <link to release tarball>
tar -xvf MEGH-VAS100-0.13.0.tar

note

Starting 0.10 release Megh is switching to a new License Manager solution. VAS-100-0.13 installation is now a 2 step process. First step is install the License Manager followed by installation of VAS Solution.

1.1.1 Install License Manager

License Manager needs to be installed only once when you upgrade to VAS-100-0.10.1 or higher. This step can be skipped for any future VAS Suite upgrades unless explicitly mentioned in the release notes.

a) Install License Manager as sudo


cd <DOWNLOAD DIRECTORY>
sudo ./install.sh

b) Use the default path (/opt/megh-vas) suggested for the License Manager

LM1

c) Choose just “License Manager Installation” from the options to install

LM2

CAUTIONARY NOTE: Make sure nimble or GUI are not selected by accident

d) Enter your Customer UUID provided by Megh

LM3

e) You should see the dialog box below confirming successful installation of LM manager

LM4

1.1.2 Install VAS Suite

Below are steps to install VAS Suite

a) Install VAS Suite


<DOWNLOAD DIRECTORY> ./install.sh

b) Choose the path where you want to install the product.

VAS1

CAUTIONARY NOTE: Replace <user> with appropriate user id. Also make sure you are not pointing to the same directory where you downloaded the product

c) Choose “Nimble” and “GUI” from the options to install

VAS2

CAUTIONARY NOTE: Make sure “LMInstall” is not selected by accident

d)Storage of Event History and Notification are turned off by default. Change “STORAGE_MODULE” environment variable from “false” to “true” to enable storage.

CAUTIONARY NOTE: Enabling this feature causes the VAS Suite to progressively consume Hard Disk space on the system depending on the Alarm setup criteria. Once the Hard Disk is full no new notifications are stored. Section 8.1.4 gives details on how to purge the notification/event database and recover storage spaces.

e) Stop nginx


sudo service nginx stop

f) Go to the product install directory to bringup all the dockers


cd /home/<user>/megh/0.13/deploy
docker-compose up -d

g) Access the VAS application using web-browser and typing the IP address or full domain name of machine. GUI interface like below should be visible if you are logging for the first time.

GUI

3.Now user can register by clicking on the Register link.

1.2 For AWS Marketplace

The AWS Marketplace AMI is already configured with the latest version of the application. Simply launch the AMI on the desired instance type (we validate using c5.2xlarge, c5a.2xlarge, and t2.xlarge instances) and min 64GB memory.

When launching the instance, you must enable the following ports access from your IP:

• Port 22 for SSH, so you can connect to and control your session

• Port 80 & 8080 to view the web GUI output directly

AWS

a) Connect and login to the running AWS instance

b) Storage of Event History and Notification are turned off by default. Change “STORAGE_MODULE” environment variable from “false” to “true” to enable storage.

CAUTIONARY NOTE: Enabling this feature causes the VAS Suite to progressively consume Hard Disk space on the system depending on the Alarm setup criteria. Once the Hard Disk is full no new notifications are stored. Section 8.1.4 gives details on how to purge the notification/event database and recover storage spaces.

c) Stop nginx

  sudo service nginx stop

d) Start the application by bringing up all the dockers

cd megh-vas_suite
docker-compose up -d
note

When starting the Megh VAS Suite for the first time it might take several minutes for product to come up because the storage blocks must be pulled down from Amazon S3 and written to the volume before you can access them. This preliminary action takes time and can cause a significant increase in the latency of I/O operations the first time each block is accessed. Volume performance is achieved after all blocks have been downloaded and written to the volume.

e) To stop the application by bring down all the dockers

docker-compose down

f) Access the VAS application using the web browser and typing the IP address or full domain name of machine. GUI interface like below should be visible if you are logging in for the first time.

GUI

g) Now user can register by clicking on the Register link.

Uninstalling the Application

The uninstall procedure documented below is applicable only to No-premise deployment. Uninstall of Megh VAS Suite involves two step

1 Uninstall Licence Manager

Follow the steps below to delete License Manager installation

  1. Stop and Disable License Manager services as sudo

    sudo systemctl stop sentinel-scp.service
    sudo systemctl stop lserv64.service
    sudo systemctl disable sentinel-scp.service
    sudo systemctl disable lserv64.service
    rm /etc/sentinel-scp /etc/logrotate.d/sentinel-scp 
    find / -name lservrc -exec rm {} \;
    find / -name lservsta -exec rm {} \;
    rm -Rf /var/log/scp
  2. Delete the install directory

     rm -Rf /opt/megh-vas

2 Uninstall VAS Suite

  1. Stop and delete all docker containers

    docker container prune
    docker image prune -a # Note, this will delete ALL containers, not just ours
  2. Delete the VAS Suite install directory

    rm -Rf /home/<user>/megh/0.13

Changing Default Configuration

By default the VAS Suite application is configured to stream canned videos for each usecase delivered as part of the software package. Below section talks about the different default pipeline configurations that can be customized/changed.

1.1 Configuring Multiple channels

config.yaml under <INSTALL_DIR>/deploy/config.yaml directory allow users to modify pipeline definitions for each of the usecases. The users can configure multiple channels for each usecase using pipe symbol(|) as shown below.

- pipeline:
- person-detection-nano:a:0.3:0.3
- social-distancing:0.2
- image-resize:640:480
- image-encoder
sources:
- address: videos/sd_london_station_sd.mp4
rate: 15
type: file
usecase: physical-distancing|0
- pipeline:
- person-detection-nano:a:0.3:0.3
- social-distancing:0.2
- image-resize:640:480
- image-encoder
sources:
- address: videos/sd_london_station_sd.mp4
rate: 15
type: file
usecase: physical-distancing|1
- pipeline:
- person-detection-nano:a:0.3:0.3
- social-distancing:0.2
- image-resize:640:480
- image-encoder
sources:
- address: videos/sd_london_station_sd.mp4
rate: 15
type: file
usecase: physical-distancing|2

In the above config.yaml file we can see that the pipe symbol | with numbers(0,1,2) are used in the usecase section to configure 3 channels of physical distancing usecase.

1.2 Connecting to live camera

To connect a nimble pipeline to live camera feed, change source description as shown below in the config.yaml.

 - pipeline:
- person-detection-nano:a:0.3:0.3
- social-distancing:0.2
- image-resize:640:480
- image-encoder
sources:
- address: "CAMERA RTSP ADDRESS"
rate: 15
type: video
proxy: false
usecase: physical-distancing|0

Check with the camera manufacture to get the exact “CAMERA RTSP ADDRESS”. Make sure the camera is setup to stream h264 streams @ 720p, RTSP Port: 554 and RTSP authentication is disabled. Verify if the camera is setup properly by streaming from camera RTSP link using VLC Viewer.

1.3 Connecting to SMTP server to receive emails

Megh VAS Suite-100 allows for email notification to be sent out on alerts generated for each of the usecases.

System Administrator can modify below smtp setting in <INSTALL_DIR>/deploy/sts/config.yaml to connect to their own SMTP servers

module:
smtp:
auth: true
host: smtp
port: 2500
username: notification@megh.com
password: NimbleUser
from: notification@megh.com
to: test@megh.com
attachment: false

Note: In the current release TLS and SSL type connections are not supported. Those connection types will be enabled in a future release

1.4 Configuring HTTPS to secure connection to Portal

• Make sure all the VAS Suite containers are up and running

• Copy the default nginx.conf from the Portal docker container to the current directory.

• Create certificate using the certbot tool. Instructions can be found on the following link.

• After HTTPS certificate is generated, link the certificate to the nginx configuration by updating the portal/nginx.conf and by volume linking the certificate files and the config files the Portal can be accessed securely over the https://<IP> link. uncomment this under the Portal section in the docker-compose.yaml file.

volumes:
- ${PWD}/portal/certificates:/etc/nginx/certificates
- ${PWD}/portal/nginx.conf:/etc/nginx/conf.d/default.conf

1.5 Purging Event/Notification data

When Event/Notification data storage is enable in docker-compose.yaml, VAS Suite-100 continously stores data on the local Hard-drive. This can eventually lead to system running out of space. Below are steps to purge data.

• Stop VAS Suite by bringing down all the docker containers

 cd <INSTALL_DIR>
docker-compose stop

• Delete the MinIO data directory

 rm -rf <INSTALL_DIR>/deploy/minio/data

• Restart VAS Suite again

 docker-compose up -d

Known Issues

Issue
  1. Detections in pipelines (Fire and Smoke, Face mask) using these models maybe of low confidence or sometimes erroneous

WORKAROUND: Change models/TinyYoloV3.py file to do the following:

  Replace: 
@staticmethod
def preprocess(image):
return image
With:
@staticmethod
def preprocess(image):
return image[:, ::-1, :, :]
Issue
  1. Timeline calender is disabled in Event and Notification history Pages on Firefox browser.

WORKAROUND: None. Will be fixed in the future releases

Issue
  1. The README.md in the <install_dir>/deploy/ has outdated instructions.

WORKAROUND: Please ignore this README file and follow the Release Notes for documentation on installation of the VAS Suite.

Issue
  1. Online/Offline connection status on stream window is updated immediately

WORKAROUND: Wait for 30 sec or refresh the page

Onlineoffline

Issue
  1. MinIO Retention is set to 1 day as default. Users have access to 1 day of Events and Notification history. This can't be changed for this release.

WORKAROUND: None

Issue
  1. The Watch+Trace option in the dashboard, displayed in the below screenshot, is not currently functional.

Dashboardoptions

Issue
  1. If the new user is created with role other than admin i.e. user or viewer. He/she is not provided with all functionality features of the Megh portal.

WORKAROUND: For the above issue the fix will be available in the next release.

Issue
  1. MongoDB data/port corrupted when abruptly stopped and restarted.

WORKAROUND: Avoid spinning of multiple instances of Mongodb on same port and wait for graceful shutdown on docker-compose down.