[Necessary knowledge for AI image analysis application development] Episode 1 What is NVIDIA DeepStream SDK?

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

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.