What makes building a computer vision product or a solution more challenging is the choices that you need to make for deciding the hardware that should be used for the processing. References lead to the multiple hardware available for the development of a computer vision product, a server-grade hardware, an edge hardware. Where to apply what is always the question! Well, let us help you by explaining what these are and how they influence your decision.
Computer Vision is defined as a field of study that seeks to develop techniques to help computers perceive and understand the content of digital images such as photographs and videos. It employs algorithms and methods to help the computer mimic the human vision and understandability. Thanks to the evolving artificial intelligence technologies, algorithms and neural networks, we have been able to reach heights never thought or seen before. Computer vision has been used in many applications like face recognition, AR, VR, mixed reality and medical field. Detecting patterns in medical CT scans and analyzing the progress of a medical condition using computer vision can save many lives. Games and entertainment industries are able to provide top-notch service due to the growth of AR, VR and XR. For all such applications, the choice of hardware varies from the perspective of a business use case. Let us now explain the various possibilities of hardware we can use for our product design.
Using server-grade hardware involves sending the image or picture to the server and allowing the server to process the same and return the information. Therefore it is not a live processing and there is network latency involved in sending the picture to the server. The hardware suited to this type of processing include CPU, GPU and Hybrid. GPUs are rated to be better suited to run computer vision algorithms as the signal processing involved are better handled by the GPUs than your number-crunching CPU units. Today, GPU supports better signal processing and signal transformations are done more effectively. Hybrid, as the name suggests, is a combination of both CPU and GPU, therefore depending on your requirements, hardware selection can be made.
Edge hardware type involves using local devices to perform the computations and deliver results or useful information. They are typically on-the-location and do not have any processing latency involved. In this CPU and GPU are used as well, like Intel i5, i7 and NVidia Xavier. Another prevalent method is to use accelerators along with your edge device which renders the neural network quicker and more efficient. They appear like USB sticks or cards that can be attached like a motherboard extension and it extends the capabilities of the motherboard. Google coral, NVidia Nano, Intel Movidius are some of the accelerators that are widely used. We need to analyse whether the product to be designed requires quick and live processing or can take some latency to make these decisions.
Let us take the most popular surveillance applications which can be both “live” and after event processing. Tracking occurrence of a specific event in the home surveillance sector involves after event analysis usually through stored videos. For such processing, latency is not an issue and therefore we can use a server-grade hardware. Images or videos can be sent to a server for processing and then results can be obtained from them after processing. Multi-CPU, multi-GPU or a hybrid can serve the purpose. Surveillance applications do not stop with just analysing stored videos and server processing. There are situations where live tracking and notifications become crucial, like in preventing an intruder in your premises or catching a theft red-handed or even the water level rising in your front yard during a heavy downpour. We want immediate notifications and alert signals with latency of less than 40 ms. Well, a server-grade hardware is not useful here, we cannot afford to wait for a server to process and respondent defeat the whole purpose of an alert. Therefore the advice would be to use edge GPU for such processing and get prompt notifications on the imminent intruder or danger. The current COVID pandemic scenario benefit from live monitoring, we can track the number of customers in the queue for a shop or the number of people inside a retail store and alert if there is a breach in threshold or social distancing norms.
We brought to you some of the factors driving the choice of hardware in the development of a computer vision product. A product manager or a product designer should go back to the drawing board and analyze the requirements and capabilities expected out of the product, its computation cost, power and make decisions in an appropriate manner. We, as an organization have travelled along with multiple business owners and clients to guide them in their decision-making process for their products. If you are one such keen product developer, please reach out to us and we can assist you in whatever way we can.