Milestone Hardware Accelerated VMD Tested

By: Ethan Ace, Published on Apr 28, 2017

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:

** ***** **** ******** release,********* ********* ********** ******** *********** ***** motion *********, ******* * ** increase ** ****** ************ (and *** "****** ******* Recording ******"). 

** ****** **** ******* in ******** ************** ** see **** ****** ** really ***, *** **** ****** load *** ******* ** not *** **** ****** it *** ** *** accuracy:

[***************]

Test *******

** *** *****, *********'* hardware ************ *********** ******* CPU **** **** ********* on ********* **** (**%+) or **** ***** ****** resolution *** ********* (**%+). Effects **** *** ** ***** when ***** ****** ********, with *** ***** *********** maxed ** ***% ****** our ** ****** *****.

*** ******* ** ****** on ****** *********** ******* improved ********* ** *** tests, ********* ******* ****** by *** ***** **% resolution *******, **** *** and *****. *******, ****** resolutions **** ****** ** more ***** ******* **** as ******* ***** *** artifacts ***** **** ** "motion", ***** *** **** to ***** *********** ** sensitivity ** *** ******** to **********. 

Outlook *** *********

*** ******** ** ******** acceleration for *** *** *** potential ******** *** *********:

  • ***** ******* *** ***** systems: ** ***** *******, hardware acceleration *** ****** *** number ** ******* ********, cutting hardware *** ***** *****.
  • ***** *******/**** ********* *******: In ***** *******, ***** may ** **** ** run * ****** ******** of ******* ** ***** powered ******** (**** ** Intel ****/**** ***), ******** hardware ****, ******** ***** required, *** ******* ***** costs.

***** *** ********* ******** compared ** *********'* **** architecture.

*******, ***** ** *********, as **** ** ***********, may ****** *** **** further ** ***** ****** side ****** *********, ***** ********** the ********* **** ******** for ****** *** **********. Hardware ************ *** ** benefit ** ***** *********.

Our *****

** ****** ****** *********** using *** ********* *************:

  • ***** **** **-***** @ 3.10 ***
  • ***** **** ******** ****
  • ** ** ***
  • ******* ** *** ***

*********** *** ****** ***** 25 ******* **** ******* manufacturers, *** ********* ** 1080p, * ***** ** about **-** **/* ********** depending ** ********.

**** **** *** *** GPU **** ******* ***** refer **** ** ********* processes, *** *** ** as * *****, ** eliminate ********* ****** ** other *********.***-**** **** ** ******* GPU *****.

Default *** ******: *** ******* >**%

***** *********'* ******* *** settings (******** ****, **% resolution), *** ***** *** reduced ** **** **** half, **** *** **** increasing ** ********** (****** still **** ***). 

High Resolution *********: *** **** ******* >**%

**** ********** ********** **** Milestone's **% *******, ******* are *** **** **********. For *******, **** ********* to ***% ********** (***** in ******* ******) *** analyzing ***** ****** (******), CPU ***** ** ******* from **** **% ** 8% **** ******** ************ on, **** **** * slight ******** ** *** usage. ********** ********* ********** has ***** ********/***** ********, detailed *****.

Faster ********, ******* ************

******** ************ ********** *** reduced **** ********** ******** speed, **** ** *********** to ******** ** *** tests. 

*** *******, ********** **** keyframe **** ******** (~* second) ** ***** (***** as ****) ******* *** usage, **** **** ***** 80% ** **** ***** 50%, **** **** **** processing ********* ** *** GPU, ********** **** * baseline ** ~*% ** 28%. 

 

******* **** ********** ******** speed ******* **** **** less, ******** *** **** from * ******** ***% to **%, **** **% CPU ****.

Accuracy ******

** *** *****, ****** from ******* **% ********** to ***% *** * significant ****** ** ***** and ********, **** ******** able ** ****** ******* using **** ********** ***** were *** ******** ***** lower ********. 

*** *******, ** *** scene *****, *** ******* walking ** ~**' ***** (~10 ***) ** *** detected ***** ******* **% resolution. *******, ********** ** 100% (*****), *** ******* is ******** ***** ****. *** same *** **** ** low ***** ****** (****** notably ******* **** **').

 

False ********** ******** **** ****** ********** *********

*******, **** ********** ********* resolution, ***** ****** ********* set ********* *** ***********, as ****** *********** "***" more ******* **** *** default **%.

*** *******, ******* ** the **** ***** **** no ******** *******, ** the **** ** **% resolution, **** ** ******* detected **********. *******, ** the *****, ***** ***% detection, **** ***** ***** are *********** ** *****, as ***** *******, ******* noise, *** *********** *** shown. 

 

Hardware ************ *************

***** ** ****** ************* required *** ******** ************. Users ****** ****** * single ****** ** "*********" instead ** "***" ** VMD *****. ***** ** no ************* ***** *** hardware *********** ***, *** guidelines *** ********* *******, updating *******, ***., *** the **** ** ***** in ***** ***** ****** ******** ************ Quick *****.

Xprotect *********/****** ****

******** *********** *** ** available **** ** ******** Corporate *** ******, ** other ********, *** ** their ********* ********. ***** of ************, **********, ***., must ******* ** **** wish ** **** ********* of **** *******.

QuickSync *************

*** ******** ************ ********* ************* *********. ********* ******** ***** will **** ** ******.

*** ********* ******* *** be ************* **** ******* **** Intel. **** ******* *** server ********** *** *********, though ******* ** **** common ** ******* ******. Note **** ********* ** an ***** *******, *** is *** ***** ** AMD **********.

********* **** ********** **** the ****** *** * "balanced ******" *** **, with *** ** **** DIMMs, *** **** *******. For *******, ** * server *** *** ****** slots, ***** *** ******* are ***********, ******* ** a ****** *** ****. 

Versions ****

******* *** ********* *****:

  • ********* ******** ********* **** R1: **.**
  • ****** **** *.**

Comments (19)

Thanks for the report Ethan.  Prior to this feature, we had to use camera-side VMD which works good enough but probably not as good as the server-side VMD.  It would be nice to see a report comparing server-side VMD to camera-side VMD.  At lot of camera manufacturers seem to offer VMD now.  With that in mind, you can purchase a much cheaper recording server and offload the VMD to the cameras (if you even need VMD processing).

You probably saw the recent announcement from Milestone that they are teaming with NVidia to use the NVidia GPU to perform the hardware acceleration.  This should be interesting.  We hope this feature is extended to the Milestone Smart Client video decoding which is currently our performance bottleneck.

Don

100% agree on the smart client side. CPU utilization is horrid compared to Avigilon and Exacq, but the Milestone Mobile experience is great compared to the other two.

Avigilon has a new App for preview available on the various App stores which great enhancements for which we have been waiting a while.

When you say CPU utilization is horrid, are you observing this on a system with Intel Quick Sync Video and an OS version of Windows 8 or greater?

Most customers and partners have been happy with the CPU usage reduction with hardware acceleration, but I recognize not everyone has the option to use it due to OS or hardware limitations.

GPU on milestone smart client is already implemented and enable on the 2016 version .

Good report Ethan.   I would like to add a little to the info. 

We still see many customers request Windows7, and this OS does NOT support QSYNC.   Only Win8 and newer OS versions do.

For the Professional and lower code versions, the QSYNC will also get used by the 'Mobile Server' service according to the documentation.   

"If the processor on the mobile server supports hardware accelerated decoding, it is by default enabled"

This service is 'transcoding' a video stream wherever it is running.   One has to be aware of this load because it can easily swamp an underpowered CPU and the primary recording function will get swamped.

Fortunately, one can install this service on a separate system.

Also note this limitation: "Hardware-accelerated decoding is not supported, if the mobile server is installed in a virtual environment."

This is simply a reflection of the fact that ESX currently does not support the integrated GPU.

 

 

A clarification on my post..."For the Professional and lower code versions, the QSYNC will also get used ONLY by the 'Mobile Server' service according to the documentation."

The lower code level will NOT use QSYNC for Server Side VMD...only the mobile Server and SmartClient  will use Qsync on these code levels.

The Corporate code level has full QSYNC support on systems where the OS and hardware support it.

Question, were the following tests all using keyframe only?

  

Note: we removed "GPU" from parts of the test (including the title) to avoid the impression that this hardware acceleration was effective using a separate hardware GPU (e.g., Nvidia). QuickSync offloads processing to a "GPU", but it's actually a specific CPU architecture function, not a dedicated GPU.

However, if you use a tool such as GPU-Z (below, from our tests) to measure load, QuickSync load does show as GPU load:

QuickSync offloads processing to a "GPU", but it's actually a specific CPU architecture function, not a dedicated GPU.

Just to note newer Nvidia cards also use fixed-function ASIC decoding, not traditional GPU cores.  Apparently everything has come full circle (for decoding), from fix-function to shader cores back to fixed function.

So basically milestone found a way to make up for their inefficiencies on the CPU usage on the VMD server side.  Reminds me of Blue iris in a way of cpu load for vmd.  

They could have just done it more efficient similar to  how NX Witness has been handling VMD server side with such a minimal CPU load for all these years.  So in a way i figure it is more of a band aid by throwing other technologies or brute force by handling the load. 

...just done it more efficient similar to how NX Witness...

Is it easy to "just" do it like NX Witness?

Or Milestone can start specifying Quadro cards and saying, look how cuda makes the cpu less demanding.  Even incorporating other GPU technology and go the OpenCL route and offload the resources to a more parallel architecture. 

Related, April 2017 announcement:

Milestone XProtect will leverage NVIDIA GPUs and the CUDA parallel computing platform and programming model to provide parallel processing capabilities of recording servers, mobile servers and other video processing services.

Probably next month they will announce " Hey look !!! we developed an ASICs board which you can buy from us too that fixes our way of doing server side software VMD"

...offload the resources to a more parallel architecture...

Ok, so in their current architecture is there a mutex problem?

Sounds like you need to be working for Milestone if its that easy...

Besides analyzing fewer pixels which Nx Witness does by pulling a second lower-resolution video stream, how do they do motion detection more efficiently?

Milestone defaults to analyzing 12% of the image, achieving a similar (but different) effect. I'm not sure how much overhead there is when decoding a subset of pixels of larger frames for motion detection compared to Nx Witness where presumably all pixels of the low resolution stream are analyzed, but from experience it is very rare to see high CPU utilization as a result of our motion detection.

If it happens, it is either because there are 200-300+ cameras on the server or the motion detection settings have been turned up such that 25-100% of the image is analyzed and/or analysis is done on more than just keyframes.

The use of CUDA cores mean even virtual machines could offload the image processing tasks to hardware acceleration which would enable higher resolution and accuracy of motion detection without impact to the CPU or significantly higher camera/server density.

It's not something that has been a concern for most of our customers in the last 19 years, but it's an option which enables new system configurations or potential expansion of existing hardware with no additional cost to the software.

 Hi John, good article, even when them camera market is moving to >4MP & H265.

Do you believe more capture compression, needs more processing to get acceptable results ?

Good opportunity to talk about servers, storage & workstation performance with a same camera set. At the end of the road, this balances is what the end user get form a middle to large systems.

 

Login to read this IPVM report.
Why do I need to log in?
IPVM conducts unique testing and research funded by member's payments enabling us to offer the most independent, accurate and in-depth information.

Related Reports

Bandwidth Fundamentals For Video Surveillance on Jan 13, 2020
Bandwidth is the most fundamental element of computer networking for video surveillance systems. Because video surveillance can consume an immense...
Testing Bandwidth vs. Frame Rate on Jan 23, 2019
Selecting frame rate has a major impact on surveillance bandwidth and storage consumption. But with smart codecs now common and cameras more...
Bandwidth vs Low Light Shootout - Avigilon, Axis, Bosch, Dahua, Geovision, Hanwha, Hikvision, Uniview, Vivotek on Feb 08, 2019
Nighttime bandwidth spikes are a major concern in video surveillance, but do all manufacturers' cameras perform the same? Are some more consistent...
Exacq Raises VMS Software Pricing Twice in Less Than a Year on Feb 18, 2019
Most VMSes regularly release new features, but rarely increase their prices. For the 3rd time in 4 years, and 2nd time in 8 months, since being...
Milestone Machine Learning Camera Auto-Setting Examined on Mar 13, 2019
Milestone wants to improve image quality using Machine Learning to solve the problem of "a camera doesn't know what it is being used for",...
H.265 Usage Statistics on Apr 19, 2019
H.265 has been available in IP cameras for more than 5 years and, in the past few years, the number of manufacturers supporting this codec has...
Average Frame Rate Video Surveillance 2019 on May 23, 2019
What is the average frame rated used in video surveillance systems? In IPVM's 2011 statistics, the average was 6-8fps increasing to ~10fps in...
Verkada Video Quality Problems Tested on May 23, 2019
Verkada suffers from numerous video quality problems, not found in commercial IP cameras, new IPVM testing of Verkada vs Axis and Hikvision...
Smart CODEC Usage Statistics 2019 on Jun 03, 2019
Smart codecs are now nearly a standard feature in IP cameras, but our statistics show integrator adoption has not increased at the same rate. In...
Axis Live Privacy Shield Analytics Tested on Jun 25, 2019
Privacy is becoming a bigger factor in video surveillance, driven both by increased public awareness and by GDPR. Now, Axis has released Live...

Most Recent Industry Reports

Hanwha Wisenet X Plus PTRZ Tested on Feb 14, 2020
Hanwha has released their PTRZ camera, the Wisenet X Plus XNV-6081Z, claiming the "modular design allows for easy installation". We bought and...
PRC Warns Against China Video Surveillance Hacks, Hikvision Targeted on Feb 14, 2020
Hackers are targeting China video surveillance manufacturers and systems, according to the PRC's main cyber threat monitoring body. The hackers...
IPVM Conference 2020 on Feb 13, 2020
IPVM is excited to announce our 2020 conference. This is the first and only industry event that will be 100% sponsor-free. Like IPVM online, the...
Bosch Dropping Dahua on Feb 13, 2020
Bosch has confirmed to IPVM that it is in the process of dropping Dahua, over the next year, as both IP camera contract manufacturer and recorder...
BluB0X Alleges Lenel, S2, Software House Are Dinosaurs on Feb 13, 2020
BluB0X is running an ad campaign labeling Lenel, S2, Software House, Honeywell, AMAG and more as dinosaurs: In a follow-up email to IPVM,...
London Live Police Face Recognition Visited on Feb 13, 2020
London police have officially begun using live facial recognition in select areas of the UK capital, sparking significant controversy. IPVM...
Converged vs Dedicated Networks For Surveillance Tutorial on Feb 12, 2020
Use the existing network or deploy a new one? This is a critical choice in designing video surveillance systems. Though 'convergence' was a big...
Monitoreal "Completely Autonomous" Home AI Tested on Feb 12, 2020
Monitoreal claims to allow users to "see the things you want (people, vehicles, animals) and ignore the things you don’t”, using AI to distinguish...
Cisco Video Surveillance Is Dead, Long Live Cisco Meraki Video Surveillance on Feb 11, 2020
A dozen years ago much of the industry thought that Cisco was destined to dominate video surveillance. They stumbled repeatedly, failing. Now it is...
BICSI For IP Video Surveillance Guide on Feb 11, 2020
Spend enough time around networks and eventually someone will mention BICSI, the oft-referenced but only vaguely known standards body prevalent in...