Start Deploying Your Smart System Today!
Conventional Systems are obsolete. Get in with the future.
iOmniscient has been developing and deploying Artificial Intelligence Video Analytics Systems for almost two decades. The approaches involved were chosen because they were practical and could efficiently address customers’ problems.
There are several Artificial Intelligence (AI) methodologies used today and there are pros and cons with each type as explained in the table below. iOmniscient has developed a unique hybrid capability where the system uses the appropriate algorithms to get the best results overcoming the constraints of any specific method.
AI has become popular over the last couple of years and many start-ups have entered this market promoting one approach over another primarily because:
• They were brain-washed by some of the big players (e.g. google or nVidia) who had a vested interest in promoting computing heavy algorithms that helped to sell their hardware.
• Many tools were made readily accessible to enable companies with little understanding of AI to put together simple product offerings.
Unfortunately, these start-ups lacked the capability to build more sophisticated solutions for specific real-world problems.
The objective of this article is to help you to understand the different approaches and to help you choose appropriate technologies from experienced suppliers rather than be confused by marketing gimmicks introduced by inexperienced start-ups.
There are essentially two main approaches in Artificial Intelligence used for computer vision. They are Heuristic Systems – often called rule based systems and Neural Network systems which has evolved to a technology called Deep Learning.
(a) Neural Network and Deep Learning
Neural Networks involve machine learning where the system uses statistical techniques to understand patterns. The system can then use this knowledge of certain patterns to make sense of new similar patterns. Deep learning is essentially a neural network which can understand more layers of complexity in the pattern.
A Heuristic is a mental shortcut that allows people to solve problems and make judgments quickly and efficiently. The world is full of information, yet our brains are only capable of processing a certain amount. When we need a quick solution, these rule-of-thumb strategies shorten decision-making time and allow people to think through the possible outcomes quickly and arrive at a solution that will work for your unique problem.
(c) Hybrid Capability
This is equivalent to the above (a) + (b) where the system uses the appropriate algorithms to get the best results overcoming the constraints of any specific method.
In Deep Learning the system teaches itself the characteristics of various objects by itself. For instance, if you want it recognize tea pots you need to provide the system with thousands of examples of tea pots and in due course when a system sees a teapot it will recognize it as such. In a heuristic system the system is given a set of rules such as a tea pot is usually short and stout. It has a handle and it has a spout.
Deep Learning systems are usually very computing heavy and require a lot of time and enormous amounts of data for learning. However, they are useful where the rules are not easy to define and it is easier to learn by example.
Heuristic systems on the other are very computing light, require virtually no learning time and no sample data.
|Requirements||(a) Neural Network/Deep Learning||(b) Heuristic (Rule-Based)|
|Usefulness||Good for Object Classification||Good for behaviour analysis where one can develop rules based on experience|
|Good where there are limited variations e.g. License Plate Recognition (limited characters to be recognized: A-Z & 0-9); Merchandise logos||Good for pre-defined behaviours e.g. slips and falls|
|Where all the possible scenarios can be derived through massive learning processes e.g. chess playing||Quick and frugal way to address specific problems|
|Source Code||Open Sources widely available. No need for the developer to be an expert in AI||The developer needs to develop Algorithms for specific problems. He therefore needs to be an AI expert|
|Available Data||Useful where large amount of data are available||No need for large amounts of training data. The developer just needs an understanding of how a human would address the problem.|
|Training Time||Useful where there is no constraint on the me spent on intensive training||No training is required|
|Real Time Analysis||Significant offline pre-Training required||Always Real Time|
|Set up Time||Lengthy set up time – can range from hours to months||Quick set up (under a minute)|
|Ongoing Improvements||Based on extensive training||Based on refinement of rules|
|Applications||Good for classifying regular pattern e.g. trademarks/logos, traffic flow||Good for complex abnormal incidents e.g. slip & fall; fighting behaviours, Queue Management|
The challenge for customers is to be able to choose between suppliers. A large number of them are new and many offer similar capabilities because they use the same open source tools to achieve a result. To choose a supplier you need to answer “yes” or “no” to the following questions:
• Do you not need to respond quickly to rapidly changing situations? Can you allow the system to “learn” at its own pace (e.g. hours, months or years)?
• Whenever you have a new situation do you have large amounts of data to enable the system to learn?
• Are you unconstrained in the amount of computational power you can use? Do you not need to worry about how much your storage, rack spaces & computers costs and how much power consumption you need?
• Are you unconcerned about how many cameras and infrastructure costs you may require to achieve the result?
If the answers to the above questions is “yes” then you should consider a system that is based purely on Deep Learning. If any of the answers is “no” then you need to consider an alternative approach.
You also need to consider how wide an experience your supplier has. It is one thing to be able to do a demo. It takes a lot of experience to cope with the dynamically changing environment of a smart city or an airport.
iOmniscient has developed a Hybrid capability that uses the strengths of both types of AI. So, for instance if one wishes to ensure that all vehicles in a street travel in only one direction, this is simple to do using heuristics. If one attempted to do this using any form of self-learning algorithm it would take a long time for the system to learn the necessary behaviour. And if the requirement changed e.g. the traffic direction needs to be changed for a short period of time to enable a VIP to travel in the opposite direction, a heuristic system could respond in seconds while a self-learning system could take days or weeks to figure this out by itself. So, for this aspect the iOmniscient system would use heuristics or rules.
However, the system needs to understand how the light changes as it goes from day to night. This is an ongoing process and the iOmniscient system learns this by itself.
This ensures the system can react quickly and is computing light when it needs to be, and it can also use neural networks and deep learning when it has the luxury of time and data to keep improving itself.
iOmniscient’s learning is real time as in the above example. The system does not have to learn offline. It can learn continuously even while the system is operating.
The iOmniscient system also has an active learning capability in that one can tell it what to look for. As an analogy consider the difference between giving a child the complete works of Shakespeare. Over a long period of time it will probably understand what the plays are about. Alternatively, one can send the child to school and teach him about the plays and he will understand them much faster.
iOmniscient’s sophisticated approach to AI honed over many years of experience has enabled it to retain its position as the provider of the World’s Best Video Analytics technology as declared by the Wealth and Finance magazine this year.
Vision-Based Artificial Intelligence (AI) System can be used to facilitate human operations so as to improve operational efficiency and offload work that would otherwise be time-consuming & tedious if it had to be done manually. However, AI systems are complex and to make sure they can generate the results you require you must consider the followings:
• What is the false alarm rate?
• What is the computational cost? This is particularly important when GPUs are required as their costs can accumulate and accelerate.
• How automated is the activity? Are you aware how much preparatory manual work is involved to train the system to achieve any particular level of automation?
• Can the system be set up to work in a demonstration only or is it easily adapted to work in a complex and dynamic real time use case where there is no time for “training and preparing” the system?
Customers often ask “can you recognize a person whose face is fully masked”. The answer is simple. Can a human recognize a person when his face is fully masked? And if a human cannot do it then a computer that is emulating a human will not be able to do this.
The only definitive way to recognize a particular human is from his face.
There are alternative ways of recognizing and tracking people if accuracy is not crucial.
For instance one could use other characteristics such as the colour of his clothing or his gait. But these characteristics are not as deterministic a Face Recognition. A person could don a coat and one would miss him. Criminals are very familiar with technology and can easily defeat a system that is reliant on tracking people based on their clothes. Those who have seen the movie called “The Thomas Crown Affair” will see how a crook can confuse both a system and humans by dressing up several people in similar clothes.
Characteristics like gait can be affected by the camera angle or the surface on which the person is walking. A person will walk differently on a wooden floor or on tiles. So it is only useful in very limited environments. Colour will depend on the lighting conditions and vary from camera to camera.
All these other methods work inconsistently and are only really useful in very limited situations.
Systems based on deep learning are useful where the system has time to learn the person’s characteristics by playing a video multiple times but not in real life. Such system are therefore useful as secondary methods but not useful as a definitive method for recognizing or tracking a person. In an airport situation, if you see a person abandoning a bag and walking away and if he then takes off his jacket (which is what would happen in a real terrorist attack situation), the only way to actually track him is based on his face.
And if a person is wearing a Burkha (full head and face covering) how would one recognize her – especially if there were twenty other people who were similarly dressed? The answer is that a human could not do it and nor can a system.
Real-life situations are always more complex than short demonstrations. The best approach would be to use of multiple technologies together. But assuming that the face is visible even at very low resolutions in a distance then iOmniscient has the patented technology to recognize and track the person. For faces in uncontrolled environments, iOmniscient can recognize people with 22 pixels between the eyes going down to 12 pixels (with slightly lower accuracy). This is an international patent and NO OTHER company can do this today.
Once a face is identified, other characteristics such as the colour of his clothes and his gait can be used to track him.
iOmniscient’s advanced capability had previously been recognized by the UK Home Office when it won the “Global Challenge for Crowded Places”. Today this capability continues to be recognized. Wealth and Finance Magazine has just named iOmniscient the 2018 Video Analytics Company of the Year
Fortune/ Fox News has listed iOmniscient in its Top 20 technology suppliers for Smart Cities – the only one specializing in Video Analytics. And CIO Insider has named it in its Top 25 AI companies of the year – again the only video analytics company to make the list.
There are many technologies available for Queue Management and the method deployed should depend on the user’s specific requirements.
Below you can see the differences between the two main types of Queue Management and where each should be used.
Static queues are only useful in places like the branch of a bank where the environment is stable and it is feasible to establish a disciplined queue.
Please click video here for Simple Queue Management.
In many airport environments this may not be possible. Different airlines might open up different counters at varying times. People may join queues or change queues depending on what they perceive may be a faster moving queue. Sometimes a large group may turn up and spontaneously form a queue in an unexpected area.
Despite this the airport authority needs to understand how long it takes for a person to be serviced in the queue.
The traditional counting technologies are not sophisticated enough to analyse anything other than static queues. iOmniscient however, has evolved a number of advanced technologies which in combination can achieve the required results.
For instance, the camera can use a heat map to understand where new queues are forming dynamically and which ones are moving fast as shown here.
Next having understood where the queue is forming the system can understand where people are at any given time whether it meets the required service level or whether more check-in counters should be opened.
iOmniscient’s patented dwell time capability (see video demo) can determine how long people go from Point A to Point B and how long they stay at each point. This provides the time required to service individuals that can be very useful in managing queues within the required Key Performance Index (KPI).
The cameras are the eyes and one requires the right cameras placed correctly to achieve accurate results. Do not expect general purpose cameras placed for general surveillance to provide the type of advanced information that an airport would require to manage its queues. Note however, that cameras required for intelligent analytics are usually less expensive than those often used for general surveillance.
No human can watch thousands of cameras and make any sense of them – hence the need for intelligent systems. If you have the right cameras in the right place and the right software to analyse the video feed, the efficiency gains for an airport can be large and quantifiable.
Start Deploying Your Smart System Today!
Conventional Systems are obsolete. Get in with the future.