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.
-
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.
- 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.
- 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.
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.
5.3 Select Time Frame
You can utilize the drop-down menu to choose a time frame for the chart.
5.4 Select Target
Select target objects to count.
5.5 Account Page
Users can update their account information using this 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
5.6.1 Choose Targets
Users can designate specific targets they wish to count within camera feeds.
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.
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.
5.10 Settings
Users can change the system theme as Light, Dark or System Default.