Published using Google Docs
Noctuai AICam - User Manual
Updated automatically every 5 minutes

AICam

User Manual

v.1.0.3

Table of contents

Introduction        2

Installation process of free version        3

The installation process of the paid version        3

Basic configuration        6

Creating new USERS        7

Adding new stream        8

Stream statuses        10

Test events        10

MQTT Configuration for integration with external systems        11

Applications for different analytics functionalities        12

Detecting Fire Smoke        12

PPE Inspection        15

Detecting Fire Smoke in Tunnels or Car Parks        19

Fall Detection        21

Flare Inspection        24

Intruder detection        29

Changelog        32


Introduction

AICam is a web application that offers an interface for using different types of Noctuai video analytics. Currently available analytics are Fire Smoke, Fire Smoke for tunnels, Fall, Intruder Detection, and PPE Inspection. The core of the application is video preview along with settings. They allow manipulation of analytics that analyze videofeed. Feed for analysis in the preview is added via RTSP streams. The output of the analysis can be seen on the user preview. Another way to be informed about analysis output is via MQTT messaging protocol. During the installation process, users can configure the names of channels that allow integration later on.

Installation process of free version


The installation process of the paid version

To perform the installation, you must have the proper hardware to allow the application to run. Below, you will find the minimum recommended hardware setups. For more information or recommendations regarding a larger amount of streams, please contact us at contact@noctuai.com

no. of streams

up to 10

up to 20

20 - 100

CPU

8 Cores / 16Threads - i5 10 gen

8 Cores / 16Threads - i5 10 gen

16 Cores / 24Threads (14thGEN Intel / AMD ThreadRipper)

RAM

32 GB

32 GB

64 GB

GPU

cards with compute capability >=6.5 https://developer.nvidia.com/cuda-gpus

NVIDIA® RTX™ 4060GPU / A2000 8GB

NVIDIA® RTX™4070TI SUPER lub RTX A4000 16GB

NVIDIA® RTX 5000 ADA lub RTX 4090, 32GB VRAM

Disk

1TB SSD

1TB SSD

1TB SSD

Operating System

Linux Ubuntu 24.X

Linux Ubuntu 24.X

Linux Ubuntu 24.X

The installation package (that can be downloaded via the appropriate link or received via email from our representative) contains the following:

The archive fileapp-installer.tar.gz has to be unpacked to an application destination folder (the folder name can be anything), and then the nct-installer file can be run.

After accepting our EULA available at https://noctuai.com/eula there are phases to be run during the installation process:

The first three steps are currently experimental and might not work in Your environment!

Of course, the first three phases can be skipped if the computer already has proper software installed. It is essential to run the phases in the same order as listed. The duration of the process depends on the internet connection parameters as the process assumes downloading files from the Internet repository.

After completing the phases choosing option “Start Application” will initiate the AICam. The first start after installation can take a longer time. During this period, you won't be able to connect the streams to the AICam.

To access AICam after the installation, you have to open the website (http://localhost:8081) on the machine where it is installed or reach it via the network from another computer using the IP address of the computer where it is installed (http://xxx.xxx.xx.xxx:8081/)


Basic configuration

To enter an application, the user should visit a URL that holds a hosted application.

An account provided during the installation should be used to enter the application for the first time (administrator rights).

The administrator account has the right to create additional user accounts with different permissions if necessary.

Entering the correct credentials as administrator user opens the following screen.

Selecting Users in the left menu bar opens a page with a list of all the users created in the app.

Creating new USERS

To create a new user, click the New User button located in the top right corner of the screen. A pop-up modal window should appear with the user creation form. Note that while creating a new account,, it is best to select the the “User must change password” checkbox for basic credentials security.

 After typing the necessary information, a new user account is created new user can enter the application with provided credentials.

Adding new stream

Note: To obtain the best analytics results, use streams with 16:9 Aspect Ratio.

Accessing the newly created application allows the user to see only the page with an empty list of streams. A new stream should be added to fully use the application. Every account type can create new streams. To create a new stream, click the Add Stream button in the top right corner.

After providing the necessary information, click the Submit button to add a new stream.

Depending on your stream availability, adding might take some time. Once done, a new stream with connectivity status: Connecting should appear on the list.

Now, you can start using the analytics on a given stream. To enter the stream preview and settings, click on the stream name or URL. You will see a stream preview screen with two tabs on the top: Preview and Settings.

Note: Stream preview will differ depending on the analytics used.

Stream statuses

Possible stream statuses:

  1. 🟠Connecting - trying to connect to stream
  2. 🟢Connected – stream is connected and analytics is running
  3. 🔴Disconnected - lost connection to stream. Reconnecting will be run periodically. Please wait for the connection to be established. If waiting does not solve the problem, please verify the provided stream quality.

Test events

Test events are an option standard for every analytics application. It requires a stream to be added to the list but does not require it to be connected. The stream can be in any state to send an event. After clicking the button, one event is sent to all open channels (e.g., reporting and alarming).

MQTT Configuration for integration with external systems

Our Application comes with built-in mqtt server with default mqtt topics configured.

Here are default parameters for built-in mqtt server:

It is possible to set up the application to use other MQTT servers. Please contact our representative for help.

Applications for different analytics functionalities

Detecting Fire Smoke

Preview

The Fire Smoke application allows detection of fire and smoke on video streams.

Settings

Settings page offers detection thresholds for fire and smoke - values that are responsible for triggering alarms. Any value detected in the video stream that surpasses the set value will be treated as an alarm.

The settings also allow to switch on or off and adjust alarming and reporting options. In order to adjust alarming, 2 parameters need to be set. Delay and cooldown time. Both in seconds. Delay time is time of minimal event duration that triggers an alarm. When event is spotted e.g. fire, it needs to be present on frames for the delay time duration in order to generate an event. Cooldown time is time that needs to pass before sending another event. The unit of measurement in alarming is seconds.

In order to adjust reporting mode, there are three settings that can be changed:

Events

Name of default channels for the event along with environment variables names for custom adjustment.

Events format examples:

Alarming:

fire:

{

  "streamId": "UUID string",

  "streamName": "string",

  "settings": {

    "fireThreshold": 0.1,

    "smokeThreshold": 0.1

  },

  "event": {

    "fireConfidence" : 0.1,

    "fireStatus" : "DETECTED / NOT_DETECTED"

  },

  "timestamp": "ISO Timestamp"

}

smoke:

{

  "streamId": "UUID string",

  "streamName": "string",

  "settings": {

    "fireThreshold": 0.1,

    "smokeThreshold": 0.1

  },

  "event": {

    "smokeConfidence" : 0.1,

    "smokeStatus" : "DETECTED / NOT_DETECTED"

  },

  "timestamp": "ISO Timestamp"

}

Reporting:

{ 

"streamId": "3185c18a-a55e-4a72-989c-4186faa57143", 

"streamName": "FS_01", 

"eventType": "FIRE", 

"cumulatedTimeEventOccurredWithinFrameSeconds": 24, 

"currentFireThreshold": 0.5, 

"currentSmokeThreshold": 0.5, 

"analysisIntervalSeconds": 60, 

"id": "a09a41c8-a8d6-4cd0-a946-e53f608dad0e" 

}

PPE Inspection

Preview

The PPE app expands to Personal Protective Equipment. It allows you to ensure the clothing and protective elements that people should be equipped with, e.g., at a construction site or in a factory. The application enables information and reporting in the absence of protective clothing by people in the frame. The application allows you to check whether you have a helmet a protective vest, or both items at the same time.

The application has a preview generated by VPA in JPEG form in the preview tab. The option above the preview allows the user to save the preview refresh interval. The selected interval is the time every time a new preview image is downloaded. Under the preview, there is information about the number of helmets and/or vests missing.

Settings

In the settings tab, we can find a preview of the stream whose settings we add. In the preview, it is possible to draw exclusion zones in which the analytics will operate. In exclusion zones with up to 14 vertices, the user can create, move, and delete. If no zone is drawn, the entire preview area is selected for analysis by default.

Confidence threshold levels can be set according to the needs.

Bounding boxes with helmet and vest confidence are present on the preview stream. They can be switched off by two button icons representing helmet and vest that allow for switching off the bounding box of one of the idem. At least one of the buttons has to be switched on.

Bounding boxes show person's confidence in addition to the helmet or vest presence.

The settings also allow you to switch on or off and adjust alarming and reporting options. To adjust alarming, two parameters need to be set. Delay and cooldown time. Both in seconds. Delay time is the time of minimal event duration that triggers an alarm. When an event is spotted, e.g., person without a helmet, it needs to be present on frames for the delay time duration to generate an event. Cooldown time is time that needs to pass before sending another event. The unit of measurement in alarming in seconds.

To adjust the reporting mode, three settings can be changed:

Events

Name of default channels for the event along with environment variables names for custom adjustment.

${MQTT_ANALYTICS_REPORTING_FIRE_SMOKE_TUNNEL:reporting.ppe}

${MQTT_ANALYTICS_ALARMING_FIRE_SMOKE:alarming.ppe}

Event template for reports:

{

  "streamName": "string",

  "missingItemType": "VEST / HARD_HAT",

  "personId": "number",

  "detectionBox": {

    "topLeft":  { "x": 1, "y": 1},

    "bottomRight": { "x": 1, "y": 1}

  },

  "personDetectionConfidence": 0.1,

  "itemDetectionConfidence": 0.1,

  "timestamp": "ISO Timestamp"

}

Event for alarming:

{

  "streamName": "PPE_02",

  "missingItemType": "HARD_HAT",

  "personId": "48",

  "detectionBox": {

    "topLeft": {

      "x": 0.5115,

      "y": 0.175

    },

    "bottomRight": {

      "x": 0.6083,

      "y": 0.4565

    }

  },

  "personDetectionConfidence": 0.8024,

  "itemDetectionConfidence": 0.4584,

  "telemetryTimestamp": "2023-07-05T16:07:15.489Z"

}

Detecting Fire Smoke in Tunnels or Car Parks

Preview

Tunnel Fire Smoke application allows detection of fire and smoke on video streams from tunnels or car parks. It has a unique AI model dedicated to that kind of environment.

Settings

Events

Name of default channels for event along with environment variables names for custom adjustment.

${MQTT_ANALYTICS_REPORTING_FIRE_SMOKE_TUNNEL:reporting.fire-smoke-tunnel}

${MQTT_ANALYTICS_ALARMING_FIRE_SMOKE_TUNNEL:alarming.fire-smoke-tunnel}

Events format examples:

Alarming:

fire:

{

  "streamId": "UUID string",

  "streamName": "string",

  "settings": {

    "fireThreshold": 0.1,

    "smokeThreshold": 0.1

  },

  "event": {

    "fireConfidence" : 0.1,

    "fireStatus" : "DETECTED / NOT_DETECTED"

  },

  "timestamp": "ISO Timestamp"

}

smoke:

{

  "streamId": "UUID string",

  "streamName": "string",

  "settings": {

    "fireThreshold": 0.1,

    "smokeThreshold": 0.1

  },

  "event": {

    "smokeConfidence" : 0.1,

    "smokeStatus" : "DETECTED / NOT_DETECTED"

  },

  "timestamp": "ISO Timestamp"

}

Reporting:

{

  "streamId": "cbe413b6-9537-450b-8d4e-9550da35cb97",

  "streamName": "FS_01",

  "eventType": "FIRE",

  "cumulatedTimeEventOccurredWithinFrameSeconds": 49,

  "currentFireThreshold": 0.2,

  "currentSmokeThreshold": 0.2,

  "analysisIntervalSeconds": 60,

  "id": "d447069a-a877-4ff5-96b0-aceef09fbfd2"

}

Fall Detection

Fall Detection is one of the analytics that can be chosen when using the application. Based on the settings thresholds, it analyzes video streams and shows previews with bounding boxes that indicate a personhas  fallen.

Preview

Fall Detection preview informs the user about the following:

Settings

The settings page offers detection thresholds for person confidence and fall confidence - values responsible for triggering alarms. Any value detected in the video stream that surpasses the set value will be treated as an alarm.

The settings also allow you to switch on or off and adjust alarming and reporting options. To adjust alarming, two parameters need to be set. Delay and cooldown time. Both in seconds. Delay time is the time of minimal event duration that triggers an alarm. When an event is spotted, e.g., fall detection, it needs to be present on frames for the delay time duration to generate an event. Cooldown time is time that needs to pass before sending another event. The unit of measurement in alarming in seconds.

Events

Name of default channels for the event along with environment variables names for custom adjustment.

${MQTT_ANALYTICS_ALARMING_FALL_DETECTION:alarming.fall-detection}

Events format examples:

Alarming:

{

  "streamId": "UUID string",

  "streamName": "string",

  "fallThreshold": 0.4,

  "isFallDetected": false,

  "fallConfidence": 0.4,

  "numberOfPeopleOnFrame": 1,

  "timestamp": "ISO Timestamp"

}

Analytics thresholds

On the settings page, there are two sliders:

  1. Person Detection Confidence - determines the minimum required trust of detecting the object as a person. The lower the value, the more alarms will occur.
  2. Fall Detection Confidence - determines the minimum required confidence level to treat the person as fallen. The lower the value, the more alarms will occur.

Flare Inspection

Description

The Flare Inspection application allows for monitoring the state of flares. A gas flare, alternatively known as a flare stack, flare boom, ground flare, or flare pit, is a gas combustion device used in places such as petroleum refineries, chemical plants and natural gas processing plants, oil or gas extraction sites having oil wells, gas wells, offshore oil and gas rigs, and landfills. The flares are responsible for burning off the excess of produced substances or byproducts. The combustion process should be adjusted to decrease emissions. The ideal state is when burning produces fire flare, CO2, and other gasses. Therefor,e smoke is not a desired state because it indicates that burning is incomplete.

The application can monitor up to 5 flares and their smoke and fire state. In case of smoke appearance, it draws a bounding box around the flare that causes it as it’s an indication of undesired state. It also drawsa  bounding box around the fire. Depending on the threshold levels set, the bounding boxes can trigger red. The application can also trigger alarms and reports via MQTT channel, depending on the settings. Additional up to 5 inclusion zones can be drawn by the user. Those are limitation areas that make applications analyze the video and look for the fire or smoke only in the desired areas. This is especially useful in situations of other sources of smoke or fire that are present on the video or to avoid other triggers, e.g., haze or fog.

It’s possible to enablea  maximum of 40 analytic zones (e.g., eight streams with five zones each)

Preview

The preview holds a view of the camera stream that shows the monitoring zones. Zones that the user sets show red. On the bottom of the preview view, three labels indicate current settings (amount of monitoring zones set) and provide feedback to the user. The boxes and preview surrounding area flare up in red when vthe ideo shows the incorrect state of flares. Flares producing smoke or not producing fire cause labels' background to be red and add a red glow to all surroundings of the preview stream.

On the top of the preview, is an interval dropdown that allows you to change the refresh rate of the stream. Stream visible on the preview is delivered in still jpg files every 0.5s by default. Changing that value can slow down or increase the refresh speed, which influences the internet usage a (faster rate uses more internet; therefore, in case of slow speed, it is recommended to usea  slower refresh rate, e.g., 1s).

Settings

The settings page offers detection thresholds for fire and smoke - values responsible for triggering alarms. Any value detected in the video stream that surpasses the set value will be treated as an alarm.

Settings preview allows drawing rectangles that represent monitoring zones—the area within which sthe tate of fire and smoke is detected and verified.

The settings also allow you to switch on or off and adjust alarming and reporting options. To adjust alarming, two parameters need to be set. Delay and cooldown time. Both in seconds. Delay time is a time of minimal event duration that triggers an alarm. When an event is spotted, e.g., fire, it needs to be present on frames for the delay time duration to generate an event. Cooldown time is time that needs to pass before sending another event. The unit of measurement in alarming in seconds.

To adjust the reporting mode, three settings can be changed:

Obraz zawierający tekst, oprogramowanie, zrzut ekranu, Strona internetowa

Opis wygenerowany automatycznie

Obraz zawierający tekst, zrzut ekranu, oprogramowanie, Strona internetowa

Opis wygenerowany automatycznie

Events

Name of default channels for event along with environment variables names for custom adjustment.

${MQTT_ANALYTICS_ALARMING_FALL_DETECTION:alarming.flare-inspection}

${MQTT_ANALYTICS_REPORTING_FALL_DETECTION:reporting.flare-inspection}

Events format examples:

Alarming:

{

  "streamId": "UUID string",

  "streamName": "string",

  "settings": {

    "fireThreshold": 0.1,

    "smokeThreshold": 0.1

  },

  "event": {

    "fireConfidence" : 0.1,

    "fireStatus" : "DETECTED / NOT_DETECTED"

  },

  "timestamp": "ISO Timestamp"

}

{

  "streamId": "UUID string",

  "streamName": "string",

  "settings": {

    "fireThreshold": 0.1,

    "smokeThreshold": 0.1

  },

  "event": {

    "smokeConfidence" : 0.1,

    "smokeStatus" : "DETECTED / NOT_DETECTED"

  },

  "timestamp": "ISO Timestamp"

}

Analytics thresholds

On the settings page, there are two sliders located:

  1. Fire Detection Confidence - determines the minimum required trust for detecting a lack of fire. The lower the value, the more alarms will occur.
  2. Smoke Detection Confidence - determines the minimum required confidence level to assess the presence of smoke. The lower the value, the more alarms will occur.

Event timers

New values have been created - Delay Time and Cooldown Time

  1. Delay Time – minimum time in seconds needed for event state to be maintained for it to be reported.
    For example, if fall detection has Delay Time set to 2 seconds when a fall is initially detected, the fallen state
    must be maintained for 2 seconds straight before the fall detection event is reported.
  2. Cooldown Time - minimum time in seconds between reported events.
    For example, if Cooldown Time is set to 3 seconds when a fall detection event is reported at a
    particular moment, the following fall detection event can be reported no sooner than 3 seconds after the previous one.

Intruder detection

Intruder detection is one of the analytics that can be chosen when using the application. Based on the settings thresholds, it analyzes video streams and shows previews with bounding boxes that indicate a person.

Preview

Intruder Detection preview informs the user about the following:

Settings

The settings page offers a detection threshold for intruder detection confidence - values responsible for triggering alarms. Any value detected in the video stream that surpasses the set value will be treated as an alarm.

The settings also allow you to switch on or off and adjust alarming and reporting options. To adjust alarming, two parameters need to be set. Delay and cooldown time. Both in seconds. Delay time is the minimal event duration that triggers an alarm. When an intrusion is spotted, it needs to be present on frames for the delay time duration to generate an event. Cooldown time is time that needs to pass before sending another event. The unit of measurement in alarming in seconds.

To adjust the reporting mode, three settings can be changed:

Events

Name of default event channels and environment variables for custom adjustment.

alarming.intruder-detection

Events format examples:

Alarming:

{

  "streamId": "UUID string",

  "streamName": "string",

  "timestamp": "ISO Timestamp",

  "detectionConfidence": 0.3,

  "intruderDetectionThreshold": 0.4

}

Analytics thresholds

On the settings page, there are, there is a slider located:

  1. Intruder Detection Confidence - determines the minimum required trust of detecting the object as a person. The lower the value, the more alarms will occur.

Changelog

What is new in this file compared to previous documentation?

Features:

AICam User Manual