Linux: 1 PC System Installation

Follow this step-by-step guide to install the system components on a single server running Linux/Ubuntu 20.04.

Introduction

  • Before starting the installation, ensure that the operating system is Ubuntu 20.04 Server (64-bit).
  • Install and configure MySQL/PostgreSQL/MSSQL before proceeding with the analytics system installation to establish a connection to the server. For instructions on installing MySQL DB Management System, refer to the MySQL Installation Guide.
  • Maintain a stable internet connection during the software installation process. After the installation is complete, disconnect the internet if desired.
  • During the installation process, all necessary drivers will be downloaded and installed automatically. Do not pre-install any drivers.

To initiate the system installation, navigate to the Installation Files section in the Partners Portal and select either the Linux CPU Server Analytics block or the Linux GPU Server Analytics block, depending on the desired version.

Download and install the GPU files if the server has GPU hardware, as the Analytics System requires it for proper functionality. Otherwise, refrain from installing the GPU files.

To enhance access rights before working with archives in Linux, run the command in the command line:

sudo -i

To obtain the necessary archives, input the command in the command line for each archive as shown in the example:

wget <full_link_from_distr_website>/incoresoft-middleware-core.tgz

Press Enter and wait patiently until the file download is completed.

For a comprehensive installation, download the following files:

  • Middleware Core and Process Runner archives:
Middleware Core:
incoresoft-middleware-core.tgz       

Process Runner:
incoresoft-process-runner-cpu.tgz
or
incoresoft-process-runner-gpu.tgz
  • Required analytics file archive:
LPR:
incoresoft-alpr-analytics-cpu.tgz
or
incoresoft-alpr-analytics-gpu.tgz

Crowd Detection: 
incoresoft-object-in-zone-analytics-cpu.tgz
or
incoresoft-object-in-zone-analytics-gpu.tgz

Face Recognition:
incoresoft-face-analytics-cpu.tgz
or
incoresoft-face-analytics-gpu.tgz

Smoke & Fire Detection:
incoresoft-smoke-fire-analytics-cpu.tgz
or
incoresoft-smoke-fire-analytics-gpu.tgz

Age & Gender Detection:
incoresoft-gender-age-analytics-cpu.tgz
or
incoresoft-gender-age-analytics-gpu.tgz

Hard Hat Detection:
incoresoft-hardhat-analytics-cpu.tgz
or
incoresoft-hardhat-analytics-gpu.tgz

Heat Map:
incoresoft-heatmap-analytics-cpu.tgz
or
incoresoft-heatmap-analytics-gpu.tgz

Motion Detection:
incoresoft-motion-detection-analytics-cpu.tgz
or
incoresoft-motion-detection-analytics-gpu.tgz

Object Detection:
incoresoft-object-in-zone-analytics-cpu.tgz
or
incoresoft-object-in-zone-analytics-gpu.tgz

Smart Tracking System: 
incoresoft-object-in-zone-analytics-cpu.tgz
or
incoresoft-object-in-zone-analytics-gpu.tgz

Smoking Detection:
incoresoft-smoking-analytics-analytics-cpu.tgz
or
incoresoft-smoking-analytics-analytics-gpu.tgz

Traffic Analytics: 
incoresoft-object-in-zone-analytics-cpu.tgz
or
incoresoft-object-in-zone-analytics-gpu.tgz

Pose Estimation: 
incoresoft-object-in-zone-analytics-gpu.tgz    

UIC & Container:
incoresoft-railways-analytics-cpu.tgz
or
incoresoft-railways-analytics-gpu.tgz

Unpack each file archive individually:

Middleware Core:
tar -xzf incoresoft-middleware-core.tgz       

Process Runner:
tar -xzf incoresoft-process-runner-cpu.tgz
or
tar -xzf incoresoft-process-runner-gpu.tgz  

LPR:
tar -xzf incoresoft-alpr-analytics-cpu.tgz
or
tar -xzf incoresoft-alpr-analytics-gpu.tgz

Crowd Detection: 
tar -xzf incoresoft-object-in-zone-analytics-cpu.tgz
or
tar -xzf incoresoft-object-in-zone-analytics-gpu.tgz

Face Recognition:
tar -xzf incoresoft-face-analytics-cpu.tgz
or
tar -xzf incoresoft-face-analytics-gpu.tgz

Smoke & Fire Detection:
tar -xzf incoresoft-smoke-fire-analytics-cpu.tgz
or
tar -xzf incoresoft-smoke-fire-analytics-gpu.tgz

Age & Gender Detection:
tar -xzf incoresoft-gender-age-analytics-cpu.tgz
or
tar -xzf incoresoft-gender-age-analytics-gpu.tgz

Hard Hat Detection:
tar -xzf incoresoft-hardhat-analytics-cpu.tgz
or
tar -xzf incoresoft-hardhat-analytics-gpu.tgz

Heat Map:
tar -xzf incoresoft-heatmap-analytics-cpu.tgz
or
tar -xzf incoresoft-heatmap-analytics-gpu.tgz

Motion Detection:
tar -xzf incoresoft-motion-detection-analytics-cpu.tgz
or
tar -xzf incoresoft-motion-detection-analytics-gpu.tgz

Object Detection:
tar -xzf incoresoft-object-in-zone-analytics-cpu.tgz
or
tar -xzf incoresoft-object-in-zone-analytics-gpu.tgz

Smart Tracking System: 
tar -xzf incoresoft-object-in-zone-analytics-cpu.tgz
or
tar -xzf incoresoft-object-in-zone-analytics-gpu.tgz  

Smoking Detection:
tar -xzf incoresoft-smoking-analytics-analytics-cpu.tgz
or
tar -xzf incoresoft-smoking-analytics-analytics-gpu.tgz

Traffic Analytics: 
tar -xzf incoresoft-object-in-zone-analytics-cpu.tgz
or
tar -xzf incoresoft-object-in-zone-analytics-gpu.tgz  

Pose Estimation: 
tar -xzf incoresoft-object-in-zone-analytics-gpu.tgz    

UIC & Container:
tar -xzf incoresoft-railways-analytics-cpu.tgz
or
tar -xzf incoresoft-railways-analytics-gpu.tgz

Middleware Core Installation

To install the Middleware Core, execute the following command:

./install-incoresoft-middleware-core.sh

Then, open the corresponding URL:

  • If the system was installed on the current PC, use http://localhost:2001/
  • If the system was remotely installed on a server, use http://ip:2001/ where IP is the IP address of the server

Within the Database block, perform the following steps:

  • Choose the appropriate DB type from the drop-down list:
    • Internal DB for small projects with up to 20 analytics and low server load
    • MySQL/PostgreSQL/MSSQL for larger projects with over 20 analytics
  • Fill in the necessary fields for the DB connection (applicable only for MySQL/PostgreSQL/MSSQL type):
    • In the Host field, specify the IP address of the server with the preinstalled and configured DB
    • In the Login field, enter the login credentials for accessing the DB
    • In the Password field, provide the password associated with the DB login
  • Click the Connection Test button to verify the DB connection. A successful connection will be indicated by a green Connection toggle. For the Internal DB type, this step will also create the database, which will be indicated by a green Database toggle

  • If there are plans to expand the system to a server cluster in the future, selecting MySQL is preferable.
  • The Root Login and Password are used only once during the initial setup to create a limited internal user for working with MySQL.

Proceed to the next step without configuring the NATS block. Click the Save and Reload button to save the current settings and restart the service:

Once the webpage reloads, use the default user login and password to access the system:

  • Login: admin
  • Password: admin

Process Runner Installation

To install the Process Runner, execute the following command:

./install-incoresoft-process-runner-cpu.sh
or
./install-incoresoft-process-runner-gpu.sh

For the Server ID in Cluster field, keep the default value and click the Ok button:

In the installation dialog that follows, input "localhost" to indicate the server with preinstalled Middleware Core, and then click the Ok button:

After the installation of Process Runner is finished, it is necessary to restart the computer to ensure proper operation of the NVIDIA graphics card drivers.

Analytics Installation

To install the desired Analytics plugin, run the corresponding command:

LPR:
./install-incoresoft-alpr-analytics-cpu.sh
or 
./install-incoresoft-alpr-analytics-gpu.sh

Crowd Detection: 
./install-incoresoft-object-in-zone-analytics-cpu.sh
or  
./install-incoresoft-object-in-zone-analytics-gpu.sh  

Face Recognition:
./install-incoresoft-face-analytics-cpu.sh
or  
./install-incoresoft-face-analytics-gpu.sh

Smoke & Fire Detection:
./install-incoresoft-smoke-fire-analytics-cpu.sh
or  
./install-incoresoft-smoke-fire-analytics-gpu.sh

Age & Gender Detection:
./install-incoresoft-gender-age-analytics-cpu.sh
or  
./install-incoresoft-gender-age-analytics-gpu.sh

Hard Hat Detection:
./install-incoresoft-hardhat-analytics-cpu.sh
or  
./install-incoresoft-hardhat-analytics-gpu.sh

Heat Map:
./install-incoresoft-heatmap-analytics-cpu.sh
or  
./install-incoresoft-heatmap-analytics-gpu.sh

Motion Detection:
./install-incoresoft-motion-detection-analytics-cpu.sh
or  
./install-incoresoft-motion-detection-analytics-gpu.sh

Object Detection:
./install-incoresoft-object-in-zone-analytics-cpu.sh
or  
./install-incoresoft-object-in-zone-analytics-gpu.sh

Smart Tracking System: 
./install-incoresoft-object-in-zone-analytics-cpu.sh
or  
./install-incoresoft-object-in-zone-analytics-gpu.sh  

Smoking Detection:
./install-incoresoft-smoking-analytics-cpu.sh
or  
./install-incoresoft-smoking-analytics-gpu.sh

Traffic Analytics: 
./install-incoresoft-object-in-zone-analytics-cpu.sh
or  
./install-incoresoft-object-in-zone-analytics-gpu.sh  

Pose Estimation: 
./install-incoresoft-object-in-zone-analytics-gpu.sh    

UIC & Container:
./install-incoresoft-railways-analytics-cpu.sh
or
./install-incoresoft-railways-analytics-gpu.sh

During the installation of the Face Recognition analytics, in the subsequent installation dialog, enter "localhost" to specify the server that has Middleware Core preinstalled, and then click the Ok button:

During the installation of the LPR analytics, in the subsequent installation dialog, manually select the region corresponding to the current location of the server, and then click the Ok button:

After the installation of all the necessary analytics is complete, restart the webpage and wait while the system performs a check for installed plugins:

The initial system setup is now complete.

Disable Automatic Updates

To disable automatic package updates, access the file via the command line:

nano /etc/apt/apt.conf.d/20auto-upgrades

Modify the contents of the file as follows:

Replace:

APT::Periodic::Update-Package-Lists "1";

APT::Periodic::Unattended-Upgrade "1";

With:

APT::Periodic::Update-Package-Lists "0";

APT::Periodic::Download-Upgradeable-Packages "0";

APT::Periodic::AutocleanInterval "0";

APT::Periodic::Unattended-Upgrade "0";

Make sure that all values are set to 0. Save the changes.