Great breakdown of a high overview look at the state of today's analytics. Wish I knew more of what I know today just 4 years ago.
Ranking Video Analytic Architectures
Video analytics may be implemented in a number of fundamentally different ways. Many ask: Which one is best? Each has important tradeoffs. Moreover, in our experience, some are far more likely to be accurate as well as simpler to deploy.
Below, we rank and analyze five fundamental approaches (alphabetically):
- Add-On camera analytics
- Analytics appliance / encoder
- Cloud analytics
- Embedded camera analytics
- Embedded DVR / NVR / VMS analytics
- Server based analytics
We also look at recent advancements in video analytics and what may be available in the future.
Let's start with a review of each approach:
I would be very interested to see the changes on the report 2011- current. The development since 2011 has not been nearly as advanced as a lot of us thought it would be by now. I can only assume it is due to the big players in the industry not putting more money in the R&D sector, and at the same time litigating patents. Or it could just be a lot harder than it looks!
The main change, in terms of new analytic areas, was for cloud analytics. We changed a lot to make the report clearer and more detailed but the fundamental analytic options and features have not changed much otherwise.
I agree with you that it has been a combination of factors that have held the analytics market back. Things seem to be on the upswing now though starting from a very depressed base.
Cloud analytics have an additional dimension. Credible reports suggest that at least federal investigations are able to access cloud resources and data without any notification to the user/customer. Retaining data locally has the advantage that (non-hacking) access requires serving a warrant to the holding organization. Such early awareness may be important to addressing critical issues within an organization. Whether or not this should be a meaningful consideration for most businesses, must be determined by the companies themselves.
So you think analytic advances will not "hockey stick" up, due to big brother being tapped into the cloud? So if they do figure out how to do it better, cheaper, and extremely accurate in the cloud...you will not participate due to "federal investigations"? That's rich.
Avigilon claims it has "Self-Learning Video Analytics" attempts to use the self-learning (30 true, 30 false) has not produced any demonstrative better results to eliminate false positives. For example false positives from "ballons on car dealerships". If it did work - no path to copy it from one camera/ appliance to extend the effort invested. Technical support doesn't seem to know how to use it. No documentation/ case study available. Is this just marketing hype?
Some clarification on how Avigilon's analytics learn/work.
In normal mode, the self-learning is automatic and continuous. It only learns based on observing human activity. Vehicle activity doesn't do anything to assist with learning, and if the scene is mostly idle the learning process will take longer than a busy scene.
The teach-by-example process of marking True and False is optional and mostly intended for challenging or odd situations. In a "good" environment you shouldn't have to do any teach-by-example marking of events.
The reason you can't copy analytics learning/data from one device to another is because every scene is different. For just about any object-classification analytics device, the system is attempting to establish an understanding of ground area, where the horizon is, mounting height/angle, and lens AoV. This is so that it can develop a set of expectations about how/where objects should appear in the field of view, and roughly how large/small objects should be in different areas.
If you copied calibration data from one camera to the next the odds are very high that you'd make things worse because the geometry of the scene would be quite different.
An exception to the above rule would be thermal cameras mounted around the perimeter of a site at equal distances. If the thermal cameras are all the same model, they'll have the same fixed lenses, and if the mounting height and tilt angles are pretty close you could potentially get by with copying calibration data from one unit to the next.
For Avigilon analytics specifically, if you have scenes where you are getting a lot of false alarms the problem is often traced back to a lack of good observable human activity in the scene. If you're using a Rialto (IP or Analog), the problem can also be lack of good input video, meaning that there may be noise or other problems in the video stream (poor contrast, low framerate) that impair the analytics from "seeing" what is really there.
However, my issue is false positives on balloons, streamers and banners - with 50,000 objects in the database, what is the problem with Avigilon adding few more? (Didn't I see a marketing piece that it was 250K now?). This has been an issue on every car dealership with every camera, encoder made by Videoiq/ Avigilon in the last 4 years. The triggers are in broad daylight in HD. It is the single biggest source (1000s per week)of false positives at our monitoring station.
I am a little skeptical that the Avigilon lab is real world enough to take analytics to the next level. Can you elaborate the process of how Avigilon goes about improving its analytics?
2, that's a good question. I've forwarded it to Avigilon for comment. Can I share your contact info with them as they may want to speak offline?
Brian certainly knows many things about the VideoIQ / Avigilon analytics but, for current product performance details (like handling balloons, etc.), it would be more appropriate and accurate for Avigilon to comment directly.
I also extend an invitation for their analytics engineering group to visit during a shift at our monitoring station when the sites are armed. We are just a 20 minute drive from their factory in Richmond, B.C.
Wouldn't an additional advantage of add-on camera analytics be that you are spreading the processing workload across multiple devices? In my experience you can save significantly on your server needs.
Yes, that is a good point, I'll update the report to make that clear.
Thanks very much for considering my suggestion on updating this article. As I look on the research side, there is no clear methodology that may significantly improve VA without incurring into a large computational cost.
I am waiting to see what is presented at the http://avss2016.org/ conference. I hope we start seeing some paper on deep learning methods.
It is/will be enough to have Tegra K1/X1 or Snapdragon 820 on board of let's say a camera to add solution based on the artificial neural network. In case of server side solutions it is also possible to either use something like Tesla for multi-channel processing or use multiple custom GPU boards (that can also be based on Tegra K1 or even consumer boards). Thus for sure it will add to hardware cost but if Qualcomm will be serious with their Zeroth project then we will get access to the reasonably priced SoCs.
Other than AVSS I can recommend to check http://www.gputechconf.com/
In your assessment of analytics architectures, it seem you have omitted the option of selecting a VMS that has integrated analytics. In your suggestions of what server based analytics is, I assume you are including a VMS and then integrating a 3rd party analytics solution to go with it. I agree that this would require said 3rd party to have its own HW and SW which would add to the cost, but with a VMS that has its own analytics, you would reduce that cost substantially. I may have missed something, but that's what I get from your article....
- Embedded Analytics - Simpler setup, lower cost, generally strong performance but beware camera VMD pretending to be analytics.
- Analytics Appliances - More flexibility of cameras, but higher costs.
- Add-On Analytics - Generally strong performance, but overall limited choices.
- DVR/VMS Analytics - Simple setup, directly integrated with VMS. Often lower performance.
- Server-Based Analytics - Greatest design flexibility. Likely to be highest cost, complex setup and can present integration risks with VMS.
We may re-write this at some point but for a quick update, in 2016 we said:
Note: cloud was omitted from this ranking, as it is too early and limited to generally say how good or bad it is.
Cloud has definitely gained significantly in the past 3 years. For example, cloud analytics in our consumer analytics shootout performed the best. And cloud analytics like Amazon Rekognition, Microsoft Azure and Google Cloud Vision are definitely increasing in use. However, commercial surveillance use is still limited overall but cloud analytics may become #1 or #2 soon enough, depending oh how advances on the camera side go (which has its own driver in newer chips like Intel Movidius Myriad and Ambarella CV).