Milestone Hardware Accelerated VMD Tested

Published Apr 28, 2017 20:04 PM

** ***** **** ******** *******,********* ********* ********** ******** *********** ***** ****** *********, touting a ** ******** ** ****** ************ (and *** "****** ******* ********* ******"). 

** ****** **** ******* ** ******** configurations ** *** **** ****** ** really ***, *** **** ****** **** *** reduced ** *** *** **** ****** it *** ** *** ********:

Test *******

** *** *****, *********'* ******** ************ drastically ******* *** **** **** ********* on ********* **** (**%+) ** **** using ****** ********** *** ********* (**%+). Effects **** *** ** ***** **** ***** faster ********, **** *** ***** *********** maxed ** ***% ****** *** ** camera *****.

*** ******* ** ****** ** ****** resolutions ******* ******** ********* ** *** tests, ********* ******* ****** ** *** lower **% ********** *******, **** *** and *****. *******, ****** *********** **** result ** **** ***** ******* **** as ******* ***** *** ********* ***** seen ** "******", ***** *** **** to ***** *********** ** *********** ** not ******** ** **********. 

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

*** ******** ** ******** ************ *** *** has *** ********* ******** *** *********:

  • ***** ******* *** ***** *******: ** large *******, ******** ************ *** ****** *** number ** ******* ********, ******* ******** *** power *****.
  • ***** *******/**** ********* *******: ** ***** systems, ***** *** ** **** ** run * ****** ******** ** ******* on ***** ******* ******** (**** ** Intel ****/**** ***), ******** ******** ****, physical ***** ********, *** ******* ***** costs.

***** *** ********* ******** ******** ** Milestone's **** ************.

*******, ***** ** *********, ** **** as ***********, *** ****** *** **** further ** ***** ****** **** ****** detection, which ********** *** ********* **** ******** for ****** *** **********. ******** ************ has ** ******* ** ***** *********.

Our *****

** ****** ****** *********** ***** *** following *************:

  • ***** **** **-***** @ *.** ***
  • ***** **** ******** ****
  • ** ** ***
  • ******* ** *** ***

*********** *** ****** ***** ** ******* from ******* *************, *** ********* ** 1080p, * ***** ** ***** **-** Mb/s ********** ********* ** ********.

**** **** *** *** *** **** figures ***** ***** **** ** ********* processes, *** *** ** ** * whole, ** ********* ********* ****** ** other *********.***-**** **** ** ******* *** *****.

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

***** *********'* ******* *** ******** (******** only, **% **********), *** ***** *** reduced ** **** **** ****, **** GPU **** ********** ** ********** (****** still **** ***). 

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

**** ********** ********** **** *********'* **% default, ******* *** *** **** **********. For *******, **** ********* ** ***% resolution (***** ** ******* ******) *** analyzing ***** ****** (******), *** ***** is ******* **** **** **% ** 8% **** ******** ************ **, **** only * ****** ******** ** *** usage. ********** ********* ********** *** ***** accuracy/range ********, ******** *****.

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

******** ************ ********** *** ******* **** increasing ******** *****, **** ** *********** to ******** ** *** *****. 

*** *******, ********** **** ******** **** analysis (~* ******) ** ***** (***** as ****) ******* *** *****, **** just ***** **% ** **** ***** 50%, **** **** **** ********** ********* to *** ***, ********** **** * baseline ** ~*% ** **%. 

 

******* **** ********** ******** ***** ******* were **** ****, ******** *** **** from * ******** ***% ** **%, with **% *** ****.

Accuracy ******

** *** *****, ****** **** ******* 12% ********** ** ***% *** * significant ****** ** ***** *** ********, with ******** **** ** ****** ******* using **** ********** ***** **** *** detected ***** ***** ********. 

*** *******, ** *** ***** *****, our ******* ******* ** ~**' ***** (~10 ***) ** *** ******** ***** default **% **********. *******, ********** ** 100% (*****), *** ******* ** ******** every ****. *** **** *** **** ** low ***** ****** (****** ******* ******* from **').

 

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

*******, **** ********** ********* **********, ***** should ********* *** ********* *** ***********, as ****** *********** "***" **** ******* than *** ******* **%.

*** *******, ******* ** *** **** scene **** ** ******** *******, ** the **** ** **% **********, **** no ******* ******** **********. *******, ** the *****, ***** ***% *********, **** areas ***** *** *********** ** *****, as ***** *******, ******* *****, *** artifacting *** *****. 

 

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

***** ** ****** ************* ******** *** hardware ************. ***** ****** ****** * single ****** ** "*********" ******* ** "Off" ** *** *****. ***** ** no ************* ***** *** ******** *********** VMD, *** ********** *** ********* *******, updating *******, ***., *** *** **** as ***** ** ***** ***** ****** ******** ************ ***** *****.

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

******** *********** *** ** ********* **** in ******** ********* *** ******, ** other ********, *** ** ***** ********* codebase. ***** ** ************, **********, ***., must ******* ** **** **** ** take ********* ** **** *******.

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

*** ******** ************ ********* ************* *********. ********* ******** ***** **** **** no ******.

*** ********* ******* *** ** ************* **** ******* **** *****. **** ******* *** ****** ********** are *********, ****** ******* ** **** common ** ******* ******. **** **** QuickSync ** ** ***** *******, *** is *** ***** ** *** **********.

********* **** ********** **** *** ****** use * "******** ******" *** **, with *** ** **** *****, *** best *******. *** *******, ** * server *** *** ****** *****, ***** RAM ******* *** ***********, ******* ** a ****** *** ****. 

Versions ****

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

  • ********* ******** ********* **** **: **.**
  • ****** **** *.**
Comments (19)
DG
Donald Gordon
Apr 28, 2017
IPVMU Certified

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

(1)
UI
Undisclosed Integrator #1
Apr 28, 2017

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.

(1)
UM
Undisclosed Manufacturer #2
Apr 28, 2017

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

(2)
Avatar
Josh Hendricks
Apr 30, 2017
Milestone Systems

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.

(3)
Avatar
ralph azzi
May 03, 2017

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

(1)
Avatar
Mike Dotson
Apr 28, 2017
Formerly of Seneca • IPVMU Certified

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.

 

 

(1)
Avatar
Mike Dotson
May 01, 2017
Formerly of Seneca • IPVMU Certified

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.

U
Undisclosed #3
Apr 28, 2017
IPVMU Certified

Question, were the following tests all using keyframe only?

  

Avatar
Ethan Ace
May 01, 2017

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:

(1)
U
Undisclosed #3
May 01, 2017
IPVMU Certified

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.

(1)
Avatar
Vincent Tong
May 01, 2017

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. 

(1)
(2)
(2)
(1)
U
Undisclosed #3
May 01, 2017
IPVMU Certified

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

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

(1)
Avatar
Vincent Tong
May 01, 2017

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. 

(1)
(1)
(2)
JH
John Honovich
May 01, 2017
IPVM

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.

(1)
(1)
Avatar
Vincent Tong
May 01, 2017

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"

(3)
(1)
U
Undisclosed #3
May 02, 2017
IPVMU Certified

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

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

Avatar
Dave Arnould
May 01, 2017

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

(1)
(4)
Avatar
Josh Hendricks
May 01, 2017
Milestone Systems

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.

(2)
Avatar
Marcelo Martinez
Jul 19, 2017
SATIS Argentina

 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.