User Manual - CankayaUniversity/ceng-407-408-2023-2024-Insightio GitHub Wiki

1. Scope of Document

This manual serves as a comprehensive guide for effectively utilizing our software. From setup procedures to detailed explanations of each page's functionalities, users will find clear instructions for configuring cameras, setting up tracking parameters, and analyzing tracking data. With this resource, users can swiftly familiarize themselves with Insightio's capabilities, optimizing surveillance operations and leveraging valuable insights.

1.1 Release Dates

Date Version Release Name
09.05.2024 v0.0.1 Pre-alpha Release
26.05.2024 v0.1.0 Alpha Release

1.2 Glossary

Acronym Definition
API Application Programming Interface
CPU Central Processing Unit
GPU Graphics Processing Unit
UI User Interface
IP Internet Protocol
VS Code Visual Studio Code
URL Uniform Resource Locator
CUDA Compute Unified Device Architecture

2.Introduction

The Insightio platform provides crowd/object counting and tracking solutions for businesses.The use case of the system had been explained in the SRS document. The characteristics of the Insightio will be described in this document.

2.1 Requirements

2.1.1 Hardware Requirements

Insightio operates optimally with hardware specifications such as an NVIDIA GPU supporting CUDA technology, coupled with at least 4GB of RAM for efficient data processing. Additionally, a multi-core CPU with a minimum of 2.0 GHz clock speed ensures smooth execution of computational tasks. By meeting these hardware requirements, users can expect seamless analysis of surveillance data and enhanced performance when utilizing Insightio for their monitoring needs.

2.1.2 Software Requirements

Insightio is only compatible with Windows 10 and WIndows 11 operating systems. This choice is deliberate, as older operating systems are no longer supported by the software packages utilized alongside Insightio.

3. Preparation for Installing the Application

  • Kotlin and Electron Interpreters are required. IntelliJ IDEA for Kotlin and Visual Studio Code for Electron are recommended.
  • MongoDB and Postman required for creating the initial user and configuring the camera settings through API interactions.
  • Python 3.11 is required. Please refer to README.md in the InsightioTracker directory for installation instructions and additional resources.
  • Setting up CUDA

4. Getting Started

  • Download the Insightio at the GitHub page. The zip file is the source code and base documents of Insightio.

  • For setting up InsightioTracker and InsightioUI, it is recommended to use Visual Studio Code.

  • Follow the instructions in the InsightioTracker's README.md to set up the virtual environment, install dependencies, and configure PyTorch.

  • Setting up UI

  • Open IntelliJ and run the server.

  • Load Maven dependencies from IntelliJ.

  • Run Server.

  • Add MongoDB Configuration.

    • Connect to localhost:27017 in MongoDB Compass.
    • Create a database called "user-insightio".
    • Create 3 separate folders called: "CameraSettings", "Users", and "user-insightio".
    • Create an object as given below without the ID.

Mongo DB Camera Congiguration

  • To enter your login information using Postman, proceed as follows:
    • Open Postman and navigate to the 'New Request' page.
    • Select 'POST' as the method and use the URL: http://localhost:8091/users.
    • In the 'Body' tab, select 'raw' and choose 'JSON' from the dropdown menu.
    • Input the login credentials as demonstrated.

Postman

  • To run UI, it is recommended to use VS Code. Execute the "yarn dev" command.

5. Using Insightio

Simple steps to help using the Insightio platform effectively.

5.1 Login

Enter your username and password, upon successful authentication, you will gain access to the application.

Login

5.2 Main Dashboard

The main page of the application serves as a central hub for various functionalities, including camera selection, target selection, and chart viewing.

Dashboard

5.3 Select Time Frame

You can utilize the drop-down menu to choose a time frame for the chart.

Time Frame

5.4 Select Target

Select target objects to count.

Select Target

5.5 Account Page

Users can update their account information using this page.

Account Page

5.6 Configure Camera settings

Within the camera configuration page, users have the capability to manage cameras, whether built-in or IP, and customize tracking parameters. This includes:

  • Adding or Editing Cameras
  • Target Selection for Counting
  • Drawing Zones for Targets

Camera Settings

Camera Settings - IP

5.6.1 Choose Targets

Users can designate specific targets they wish to count within camera feeds.

Choose Targets

5.6.2 Choose Draw Zones

Users can define zones within camera feeds for target tracking purposes. These zones can be delineated as either lines or rectangles.

Draw Zones

5.6.3 Add/Edit Camera

Users can add new cameras to the system or modify existing cameras whether they are built-in or IP cameras.

Edit Camera

5.10 Settings

Users can change the system theme as Light, Dark or System Default.

Settings