Video analytic debates often center around edge vs core and which is 'best'. By contrast, Agent Vi offers a 'hybrid' solution where part of the analytics runs on third party IP cameras and the remainder is performed on a server. It is definitely a different approach and one which many would like to better understand how it is implemented and how well it works.
In this test of Agent Vi's Vi-System [link no longer available] offering, we examine deploying Agent Vi and its real time alerting for motion detection. We integrate their analytics with the Axis Q1910 thermal camera , the Axis Q1755 HD day/night camera and IQinVision's 752 MP day/night camera . We do not examine Agent Vi's search capabilities, PTZ tracking nor retail analytics (which we plan to cover in later dedicated tests).
Contrast to other analytic tests we have performed including Video IQ's iCVR and Vitamin D's video analytic software .
Agent Vi's extensive options for camera support and analytic optimization provides flexibility and power for technical users. This allows and also requires IT expertise and real world experience in using video analytics. However, these same elements make it time consuming and difficult for applications where 'plug n play' deployment by non technical staff is desired. Because of the many options and settings, providing a simple answer on analytics performance is not feasible. For instance, on most cameras Agent Vi analyzes at QVGA (320 x 240) but a few offer VGA (640 x 480) - resulting in significant variances in detection area. Furthermore, settings on Agent Vi's half dozen advanced settings can materially impact performance for common functionalities such as motion detection and line crossing. On the most common false alert sources - shadows, glare and foliage , Agent Vi performed well on the lighting issues but poorly with foliage. Tuning of advanced settings helped on some foliage issues but large palm trees remained a challenge for any setting attempted (short of simply blocking out the area of the tree completely). While the system almost always detected 'real subjects', the system had continuous problems differentiating between vehicles and people. Advanced settings could be changed but this materially increases the risk of missing groups of people (who, to Agent Vi can 'look' like a car). Like most video analytics we have used, Agent Vi's anlytics are not intelligent in the way one thinks of human intelligence. The system uses a collection of inherently imprecise heuristics to judge if an onscreen object is a human or a vehicle. This makes it especially important for an integrator with technical and domain expertise to deliver on-site optimization. With Agent Vi's fairly broad camera support and VMS integrations, Agent Vi is most appropriate for use in larger enterprise applications with an experienced integrator who understands the risks and issues in implementing and optimizing the system.
System Overview
The following screencast provides a high level overview of the Agent-Vi system.
Key points include:
Vi-Agent software can be uploaded directly to a supported camera (including a number of Axis, Sony, IQ, Vivotek and Mango DSP camera/encoders)
As an alternative, Vi-Agent Proxy can handle analytics for a camera as a server based method
Part of the analytics is run directly on the camera (or Vi-Agent Proxy), while the server runs the other half of the analytics processing
Camera agents are associated in the Vi-Config application
Analytics rules and configuration is performed in the Vi-Setup application
Alarm management is performed on the Vi-Monitor application
Pricing
Agent Vi's video analytics is distributed as software licenses and have an MSRP of $600 - $1000 per camera. Cameras and server purchased separately.
Monitoring with Agent Vi's UI
Key points include:
Vi-Monitor handles the alarm management for the Agent-Vi analytics
The list tree shows the associated sensors in the system; In addition, this list serves as a visual indicator to the status of each sensor
Buttons are available to toggle viewing of the detection zone, people counter, and bounding box around subject
Live view layouts can be switched to support 1, 4, or 6 camera views
The event pane lists the triggered alarms from the associated sensors
The alarm list can be filtered using the buttons below the list
Use the Classification button to acknowledge an alarm
VQM (Video Quality Monitors) are automatic rules that report sensor status
The alarm is verified on the left pane as a preview snapshot: Vi-Monitor does not record live video
Right click on the alarm and select "Generate Report" to create and export a report of the alarm
Right click on the preview image to export it as a jpg snapshot
Basic Setup/Configuration of Cameras and Analytics
The following screencast focuses on two components of the Vi-Sentry suite: Vi-Config and Vi-Setup. It's from these two applications all your camera associations, calibrations, rules, and optimizations will occur.
Key points include:
Agent-Vi analytics software is uploaded to supported IP cameras, but the procedure varies between manufacturers
In Vi-Config, the list tree displays the available sensors associated to Agent-Vi
Right click on your Video Sensor and select "Properties" to select the Sensor Type and Environment that is appropriate for the camera
Each associated sensor needs to be calibrated: You will need a subject in the scene as a reference
Once sensor type is established and calibration is completed, open the Vi-Setup program to establish the Analytics rules
In Vi-Setup, the list tree displays the associated sensors
Click "New Rule" and select a rule type: Choose between Vehicle, Person, or Object
Establish a detection zone by drawing the borders inside the preview window
The established rules are now ready to report on the Vi-Monitor alarm management client
Advanced Settings Examined
Key points include:
Under Detection Parameters for a thermal camera, Agent-Vi recommends to change the sensitivity to High
For standard d/n cameras, Agent-Vi recommends to leave the sensitivity to Normal
When sensitivity is adjusted (High, Normal, Low), it impacts the advanced settings
Agent-Vi recommends formal training for adjusting these advanced settings
Once a rule is modified, the system immediately takes it into effect
Increasing the minimal distance yielded less false alerts from swaying trees
The trade-off is that the analytics may miss a subject or it may take longer for the alert to trigger
For vehicles, Normal sensitivity has different properties in advanced settings
Each rule detection type (moving in area, tripwire, crowding, etc) has different advanced parameters available
Examining the Analytics Performance
The following screencast details the series of tests we conducted on the performance of Agent-Vi's analytics. We tested multiple types of cameras with the embedded agent software installed on each type and noted the factors that limit the system's performance.
Key points include:
The analytics succumb to false alerts from swaying trees
Performance fairly solid in accurately detecting people
Analytics not affected by simple light changes
With a subject walking across a scene at 150 ft distance (d/n cam 70ft fov, thermal 48ft fov) the analytics on both the d/n camera and thermal camera was triggered
With a subject walking across a scene at 200ft distance (d/n cam 94ft fov, thermal 60ft fov) the analytics triggered an alarm for the thermal but not the d/n camera
With a subject walking straight towards the camera, analytics took longer to trigger an alarm
CPU Performance Examined
Key points include:
Two elements to Agent-Vi: The embedded software on the camera, and the server component
The embedded software on the thermal camera measured a CPU load range between 4% - 9%
The embedded software on the day/night camera measured a CPU load range between 15% - 20%
Agent-Vi statistics information can be accessed via web interface, but not all implementations have certain details available
Agent-Vi reports that 8-10fps is the normal range for processed frames
On the server side, the Agent-Vi service is called VIAS: CPU consumption was very low