Camlytics user guide

Overview of Camlytics Camera Software, and how to get started with it.

Major feature of Camlytics that makes it stand out from the crowd of Video Surveillance systems is ability to analyse video in real time, to generate different kinds of events and to store them in database, providing a flexible API for the events for developers.
Analytics is able to detect objects in the scene, identify, classify and track them. With zones/lines you can collect all kinds of information from your camera - count people, detect crowds, classify pedestrians and vehicles, detect abandoned or stolen objects, etc.

In order to track objects properly (for any purposes - counting, heatmaps, motion), its essential that analytics is calibrated first.
Enter calibration settings by clicking on "Camera events" in channel menu or icon and choosing "Zones/Lines/Calibration" tab.

video analytics calibration

The calibration section will be chosen by default. It is very important setting because video analytics precision depends on it. Here you will notice ruler on the video snapshot which has to be adjusted to a real object on the scene. Choose average object that you want to track and adjust the ruler to its dimensions.
See the best possible calibration for particular people counting camera - the ruler is adjusted to a real person (image above).
In case of strongly varying object sizes on the scene, try to choose the smaller object (image below).

After proper calibration all tracked green frames should be approximately of the size of the moving objects, see example of proper calibration below (for Overhead camera profile only).

good people counting calibration

If the ruler was set too big or too small, tracking results will be poor and analytics will be unstable (see examples below, for Overhead camera profile only).

bad people counting calibration

bad people counting calibration

For Arbitrary camera profile its also important to set marker correctly as it will affect minimum and maximum object sizes, see the correct detection example below.

people counting camera

After proper video calibration you can proceed to the Area of interest settings.

Area of interest is responsible for setting region in which video analytics will work and objects will be detected, by default it is set to entire camera view.
This is very useful for separating non-relevant or noizy areas on the scene, for example, driveway from sidewalk (first image) or moving door in hall (second image).
You can add or delete extra nodes from the area by double clicking it.

video analytics roi

video analytics roi

Zones

Zones and lines allow you to set areas where different camera events will be generated. For example, you can add zone where you want signalize all of all entered objects, line where you want to count people, etc.

One or multiple scenarios can be applied to a zone, here we will look at each of them in detail.
Counting
This scenario will count the total amount of objects currently belonging to the zone. It also shows recent average amount of objects that where inside. See the example below - as it looks like in the monitor mode.

Crowding
This scenario will count objects currently belonging to the zone and signalize if the defined minimal amount of objects is present for more than trigger time.

Motion detection
This scenario will watch current zone for present of any motion - objects detected inside, lighting changed, etc.

Speeding
This scenario will detect any object has exceeded defined speed for at least defined time.

Dwelling
This scenario will detect any object that has been inside zone for at least defined time and shifted for at least defined radius.

Abandoned item
This scenario will detect any object that has been left on the scene and has been there for at least 3-4 minutes (with default analytics profile). The scenario is also able to detect removed objects, that previously had been on the scene for long time.

Lines

Lines allow object counting in all possible directions as well as notify of lines crossing. You can use as many tripwire lines as you want.

video analytics tripwires

video analytics tripwires

Add lines by clicking Add button and configure its direction and disposition on the frame. You can turn line crossing directions on and off by clicking according arrows. Green arrow means active direction and empty arrow inactive direction. You can also change line name, that will appear in reports and statistics.
You can see the configured lines and its counters in the example below - just how it will look like in the monitor mode.

Camlytics presents powerful mechanism of events that are generated during video analytics process. All events belong to two main categories - those that are generated by lines/zones (for example, event "Zone join" generated by zone "Zone 1" or event "Enter" generated by "Line 1"), and events generated by video scene ("Object appear", "Object disappear", "Camera obstructed").

Every single event is generated by unique object that has the id and classification details - it can either be classified as a Human, Vehicle or Unknown. This feature will greatly help in separating unwanted objects from being counted by a line or zone (if you only want to count pedestrians, for example). Object classification will only work for arbitrary camera presets (Default, Arbitrary low sensitivity, Arbitrary high sensitivity). All overhead camera presets will classify objects as Unknown. On the image below you can see the list of recent events on a typical Camlytics setup.

camera analytical events

Below is description of events settings for each video channel.
Enable camera events - completely enables/disables camera events generation, increases performance significantly when disabled. Should be disabled when Camlytics is used for camera recording or viewing only.
Include in aggregated email reports - include channel in daily reports by all channel events, keep in mind that this should also be enabled in Global settings.
Show objects - allows to turn off object annotation on video (green rectangles with trajectory).
Show zones/lines - allows to turn off zones/lines annotation on video.

Every single event can be configured separately.
Enable prevents Camlytics from generating certain unwanted or excessive events.
Save screenshots allows saving screenshots to disk for checked event.
Send email notifications enables email notifications when checked event happens (email settings can be configured from the main settings). All emails will contain event snapshot if according option is enabled.
Taskbar notifications enables popup notifications of checked events in the taskbar.
Webhook URL is the web address to do a GET request to in case of specific event. The request is made immediately and the following parameters are appended to the GET request: event-type, event-objectId, event-ruleId, event-origin, event-channelId, event-time. This feature is very useful when you want to trigger some custom actions but you don't want to connect to Camlytics API. For example, you can hook action to a IoT device that is connected via IFTTT website (ex. turn on yard lights when somebody crosses line with inbound direction).

Below is detailed description of each event.

Name Source Description Has object Id Pedestrian / Vehicle classified
Line crossed Line Fired when line is crossed Yes Yes
Zone joined Zone Fired when object has joined the zone Yes Yes
Zone left Zone Fired when object has left the zone Yes Yes
Motion started Zone Indicates of motion start in the zone No No
Motion finished Zone Indicates of the end of motion un the zone No No
Running Zone Indicates running of object in the zone Yes Yes
Object dwell Zone Fired when object that has been in the zone for long enough time and has moved to enough distance Yes Yes
Crowd appear Zone Fired when many enough objects have been in the zone for long enough time No No
Crowd disappear Zone Fired when Crowd appear condition is not met anymore No No
Abandoned item Zone Fired when static object has been in the zone for long time No No
Object appear Video scene Fired when any object is created Yes Yes
Object disappear Video scene Fired when any object is deleted Yes Yes
Camera obstructed Video scene Indicates that camera has been obstructed partly or completely by light, huge object, etc. No No
Camera disconnected Video scene Fired when there are no frames from camera for long time. No No

Below you can see list of fields that each video analytics event has:

  • event_id
  • type (Line crossed, etc.)
  • time - local time
  • timestamp - time since the beginning of the video playback (in seconds)
  • channel_id
  • channel_name
  • object_id - id of the object that initiated the event
  • origin (Unknown, Pedestrian, Vehicle)
  • rule_id - line or zone id the event is associated with
  • rule_name - line or zone name the event is associated with
  • snapshot_path - path to snapshot file if any
  • video_file_name - name of the video file in case of Video File or Video Folder channel type
  • video_file_time - time of the event relative to the beginning of video file in case of Video File or Video Folder channel type

Advanced settings allow you to configure analytics profile.
Profiles allow you to adjust very specific settings of video analytics, such as motion detector sensitivity, etc. which will suit the current camera scene. They are distributed as files with *.preset extension. There are multiple profiles by default: for overhead (which is best with top mounted cameras) and arbitrary mounted cameras. Extended set of profiles is available for premium users. Also, if you have a premium license you can inquire for the customized preset for your exact scene that will enable the most precise analytics.

For counting purposes its recommended to use the Overhead profiles together with overhead camera - this will improve the counting precision.

Camera events are especially useful when you can export them. In order to do that you can either request the .csv spreadsheet in statistics manager or, if you want it in real time, make use of our API.