Milestone Hardware Accelerated VMD Tested
In their 2017 XProtect release, Milestone announced support for hardware accelerated video motion detection, touting a 2X increase in server capabilities (and the "Worlds Fastest Recording Server").
We tested this feature in multiple configurations to see what impact it really had, how much server load was reduced or not and what impact it had on VMD accuracy:
Test Summary
In our tests, Milestone's hardware acceleration drastically reduced CPU load when detecting on keyframes only (50%+) or when using higher resolution for detection (90%+). Effects were not as great when using faster analysis, with CPU still potentially maxed at 100% during our 25 camera tests.
The ability to detect on higher resolutions greatly improved detection in our tests, detecting objects missed by the lower 12% resolution default, both day and night. However, higher resolutions also result in more small changes such as digital noise and artifacts being seen as "motion", which may lead to false activations if sensitivity is not adjusted to compensate.
Outlook For Milestone
The addition of hardware acceleration for VMD has two potential benefits for Milestone:
- Fewer servers for large systems: In large systems, hardware acceleration may reduce the number of servers required, cutting hardware and power costs.
- Lower powered/less expensive systems: In small systems, users may be able to run a higher quantity of cameras on lower powered hardware (such as Intel NUCs/mini PCs), reducing hardware cost, physical space required, and ongoing power costs.
These are certainly benefits compared to Milestone's past architecture.
However, users of Milestone, as well as competitors, may reduce CPU load further by using camera side motion detection, which eliminates the processor load required for server VMD altogether. Hardware acceleration has no benefit in these instances.
Our Tests
We tested server performance using the following configuration:
- Intel Core i7-5557U @ 3.10 GHz
- Intel Iris Graphics 6100
- 16 GB RAM
- Windows 10 Pro x64
Performance was tested using 25 cameras from various manufacturers, all recording at 1080p, a total of about 60-80 Mb/s throughput depending on activity.
Note that CPU and GPU load figures below refer only to Milestone processes, not the PC as a whole, to eliminate variances caused by other processes. GPU-Z was used to monitor GPU usage.
Default VMD Config: CPU Reduced >50%
Using Milestone's default VMD settings (keyframe only, 12% resolution), CPU usage was reduced by more than half, with GPU load increasing to compensate (though still very low).
High Resolution Detection: CPU Load Reduced >90%
When increasing resolution from Milestone's 12% default, effects are far more noticeable. For example, when switching to 100% resolution (1080p in cameras tested) and analyzing every second (1000ms), CPU usage is reduced from over 80% to 8% with hardware acceleration on, with only a slight increase in GPU usage. Increasing detection resolution has clear accuracy/range benefits, detailed below.
Faster Analysis, Reduced Improvements
Hardware acceleration advantages are reduced when increasing analysis speed, with no improvement to accuracy in our tests.
For example, increasing from keyframe only analysis (~1 second) to 500ms (twice as fast) reduces CPU usage, from just under 80% to just under 50%, with much more processing offloaded to the GPU, increasing from a baseline of ~3% to 28%.
Effects when increasing analysis speed further were even less, reducing CPU load from a constant 100% to 76%, with 32% CPU load.
Accuracy Impact
In our tests, moving from default 12% resolution to 100% had a significant impact on range and accuracy, with XProtect able to detect objects using full resolution which were not detected using lower settings.
For example, in the scene below, our subject walking at ~90' range (~10 PPF) is not detected using default 12% resolution. However, increasing to 100% (1080p), the subject is detected every time. The same was true in low light scenes (though notably reduced from 90').
False Activation Possible With Higher Resolution Detection
However, when increasing detection resolution, users should carefully set threshold and sensitivity, as higher resolutions "see" more changes than the default 12%.
For example, looking at the same scene with no subjects present, on the left is 12% resolution, with no changes detected whatsoever. However, on the right, using 100% detection, many areas areas are highlighted in green, as small changes, digital noise, and artifacting are shown.
Hardware Acceleration Configuration
There is little configuration required for hardware acceleration. Users simply switch a single button to "Automatic" instead of "Off" in VMD setup. There is no configuration guide for hardware accelerated VMD, but guidelines for verifying support, updating drivers, etc., are the same as found in their Smart Client Hardware Acceleration Quick Guide.
Xprotect Corporate/Expert Only
Hardware accelerated VMD is available only in XProtect Corporate and Expert, no other versions, due to their different codebase. Users of Professional, Enterprise, etc., must upgrade if they wish to take advantage of this feature.
QuickSync Compatibility
VMD hardware acceleration functions only with Intel QuickSync. Dedicated graphics cards will have no effect.
CPU QuickSync support can be verified using this listing from Intel. Both desktop and server processors are supported, though support is more common in desktop models. Note that QuickSync is an Intel feature, and is not found on AMD processors.
Milestone also recommends that the server use a "balanced memory" set up, with two or four DIMMs, for best results. For example, if a server has two memory slots, 2x4GB RAM modules are recommended, instead of a single 8GB DIMM.
Versions Used
Testing was performed using:
- Milestone XProtect Corporate 2017 R1: 11.1a
- Driver Pack 8.9a