Image analysis technology using AI surveillance cameras is evolving at a dizzying pace, and more and more people are using it to solve business problems.
If you decide to introduce it and develop an image analysis application in-house, you will need to master the dedicated tools for development. Information on image analysis application development is scattered all over the world, but there are few useful information, and software engineers have to get used to a completely new environment, and many people struggle with development. there is.
In this article, for those who are just starting to develop an image analysis application, or for those who have already tried and failed, I will explain the basic knowledge necessary for development in a series of 5 episodes without using difficult words as much as possible. to explain.
[Knowledge required for AI image analysis application development]
Episode 1 What is NVIDIA DeepStream SDK
Episode 2 What is GStreamer?
Episode 3 Pipeline design
Episode 4 Application Development
Episode 5 Development of plug-ins
What is IVA?
Suddenly, do you know the word IVA? IVA is an abbreviation for Intelligent Video Analytics, a technology that applies AI to make it possible to obtain excellent insights from camera images in real time. Analyze the flow of customers in retail stores to improve profits, analyze the flow of pedestrians and vehicles to improve traffic congestion, grasp vacant parking lots in real time, and detect suspicious persons and objects. It can be used for many applications such as quick detection and crime prevention.
Watch a demo video of the IVA application in action.
(You can try the following demos by watching up to "Chapter 4 Application Development".)
In order to achieve these, there are two options, either using pre-packaged applications or developing in-house. If you want to improve the accuracy of the package or customize it, or if you want to sell it as your own product, you will develop the latter IVA application.
Now, let's take a look at the tools that you should definitely know when proceeding with development.
What is DeepStream SDK?
DeepStream SDK is a software development kit for image processing that facilitates the development of advanced IVA applications using NVIDIA GPUs. There are some patterned parts in the development flow, and it is possible to accelerate development by modularizing them instead of creating them from scratch.
How the DeepStream SDK works
GStreamer
The DeepStream SDK is based on a multimedia framework called GStreamer. GStreamer builds applications by connecting functional blocks called plugins. Its flexible programming model makes it easy to implement IVA applications that support multi-channel input.
GStreamer is explained in detail in "Chapter 2 About GStreamer".
NVIDIA TensorRT
The DeepStream SDK incorporates a high-speed deep learning inference function using NVIDIA TensorRT, so it can process user-prepared trained models at high speed.
Video decoding function
It also includes built-in (GPU-accelerated) video decoding functionality commonly required for IVA applications, allowing hardware to process H.264 and H.265 video streams from IP surveillance cameras. can be decoded efficiently.
Data Analysis Flow Source: NVIDIA DeepStream SDK
Why use the DeepStream SDK
Supports a wide range of use cases and domains
You can build applications that support a wide range of use cases, such as smart cities, purchasing analysis for retail stores, visual inspections for the manufacturing industry, and logistics.
Emphasis on performance
NVIDIA社製GPUに最適化されており、低遅延と卓越した性能を発揮します
Faster time to market
Out-of-the-box functional blocks and IP, so you can focus on developing what differentiates you
Cloud ready
You can also build applications/services that run on the cloud
Easy deployment
- Can be easily deployed as a Docker container
Supports a wide range of NVIDIA GPU products, from embedded Jetson modules to data center GPU cards for data centers
Flexibility and Customizability
Applications can be developed by connecting provided plug-ins or independently developed plug-ins with plug-and-play.
Processing performance of DeepStream SDK
The number of processing channels and CPU/GPU usage when detecting and tracking objects from 1080p30 video input are as follows.
Click here for more information
NVIDIA Products |
H.264 / CPU Usage / GPU Usage |
H.265 / CPU usage / GPU usage |
Jetson AGX Xavier |
34 / 38.89% / 56.32% |
54 / 59.07% / 84.66% |
Jetson Xavier NX |
23 / 56.22% / 66.10% |
30 / 71.59% / 85.12% |
Jetson AGX Orin |
15 / 5.10% / 10.45% |
37 / 11.06% / 23.24% |
Jetson Orin NX |
13 / 7.22% / 18.21% |
32 / 14.97% / 44.39% |
Jetson Orin Nano |
8 / 8.17% / 21.66% |
19 / 17.12% / 43.40% |
Data center CPU-GA100 |
98 / 2.53% / 18.42% |
187 / 6.41% / 40.20% |
Data center GPU-T4 |
43 / 1.93% / 23.27% |
75 / 3.21% / 44.77% |
Data center GPU-A30 |
71 / 1.80% / 19.31% |
190 / 6.30% / 53.86% |
Data center GPU-A2 |
48 / 1.64% / 47.93% |
91 / 53.48% / 99.99% |
Data center GPU-A10 |
45 / 1.39% / 12.62% |
105 / 2.81% / 29.60% |
Data center GPU-H100 |
153 / 1.73% / 26.41% |
274 / 1.71% / 65.36% |
Data center GPU-L40 |
82 / 1.92% / 13.74%% |
192 / 4.93% / 33.55% |
Data center GPU-L4 |
91 / 2.19% / 28.96% |
181 / 11.50% / 71.68% |
Data center GPU-A6000 |
48 / 0.61% / 11.44% |
108 / 1.40% / 26.62% |
Next, I would like to introduce GStreamer, which IVA application developers must know!
In this article, we introduced the NVIDIA DeepStream SDK, which accelerates IVA application development, and how it works and why it is used.
Next time, I'll explain what GStreamer is and its basic components.
This person has downloaded episode 2 onwards
Here are some testimonials from people who actually downloaded it.
"I'm trying to create a GStreamer plug-in on Jetson in the development I'm doing now.
After searching, I found a good article, so I downloaded it. I'm looking at it right now, but it's very helpful! ”
If you are considering IVA development, please contact us.
For the introduction of IVA, we offer selection and support for hardware NVIDIA GPU cards and GPU workstations, as well as face recognition, route analysis, skeleton detection algorithms, and learning environment construction services. If you have any problems, please feel free to contact us.