CUDA ISP for NVIDIA Jetson/Performance: Difference between revisions

From RidgeRun Developer Wiki
Line 271: Line 271:
<br>
<br>
<br><br>
<br><br>
[[File:Debayer1920x1200rgbproctime.png|1000px|frameless|left|CUDA ISP library ]]
[[File:Debayer1920x1200rgbproctime.png|500px|frameless|right|CUDA ISP library ]]
<br>
<br>
<br><br>
<br><br>

Revision as of 03:52, 24 March 2023



  Index  





GStreamer elements performance

To measure the performance, we have used two of our GStreamer tools: GstShark and GstPerf.

For testing purposes, take into account the following points:

  • Maximun performance mode enabled: all cores and Jetson clocks enabled.
  • Jetpack 4.6
  • FPS is equal to 1/processing time

Jetson Xavier NX

In the following sections you will see the performance for each of the elements.

cudashift element

The following pipeline was used to measure the processing time and FPS for the cudashift element with an input image with 4K resolution coming from a camera sensor.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, format=rggb' ! cudashift shift=5 ! fakesink

The results obtained:

Measurement (Average) Jetson Xavier NX
FPS 396
Processing time (seconds) 0.002522




CUDA ISP library
CUDA ISP library




cudadebayer element

RGB Output

The following pipeline was used to measure the processing time and FPS for the cudadebayer element with an input image with 4K resolution coming from a camera sensor to an RGB output image.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! fakesink

The results obtained:

Measurement (Average) Jetson Xavier NX
FPS 228
Processing time (seconds) 0.004389




CUDA ISP library
CUDA ISP library




I420 Output

The following pipeline was used to measure the processing time and FPS for the cudadebayer element with an input image with 4K resolution coming from a camera sensor to an I420 output image.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! fakesink

The results obtained:

Measurement (Average) Jetson Xavier NX
FPS 187
Processing time (seconds) 0.005353




CUDA ISP library
CUDA ISP library




cudaawb element

RGB Output

The following pipeline was used to measure the processing time and FPS for the cudaawb element with an input image with 4K resolution coming from a camera sensor to an RGB output image.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! cudaawb ! fakesink

The results obtained:

Measurement (Average) Jetson Xavier NX
FPS 370
Processing time (seconds) 0.002698




CUDA ISP library
CUDA ISP library




I420 Output

The following pipeline was used to measure the processing time and FPS for the cudaawb element with an input image with 4K resolution coming from a camera sensor to an I420 output image.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! cudaawb ! 'video/x-raw, format=I420' ! fakesink

The results obtained:

Measurement (Average) Jetson Xavier NX
FPS 202
Processing time (seconds) 0.004952




CUDA ISP library
CUDA ISP library




Jetson Xavier AGX

In the following sections you will see the performance the elements.

cudadebayer

RGB Output

The following pipeline was used to measure the processing time and FPS for the cudadebayer element with an input image with 1920x1200 resolution coming from a camera sensor to an RGB output image.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve rrv4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=1920, height=1200, format=grbg' ! cudadebayer ! 'video/x-raw, format=RGB' ! fakesink

The results obtained:

Measurement (Average) Jetson Xavier AGX
FPS 539
Processing time (seconds) 0.001854




CUDA ISP library
CUDA ISP library




I420 Output

The following pipeline was used to measure the processing time and FPS for the cudadebayer element with an input image with 1920x1200 resolution coming from a camera sensor to an I420 output image.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve rrv4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=1920, height=1200, format=grbg' ! cudadebayer ! 'video/x-raw, format=I420' ! fakesink

The results obtained:

Measurement (Average) Jetson Xavier AGX
FPS 458
Processing time (seconds) 0.002183




CUDA ISP library
CUDA ISP library




cudaawb

RGB Output

The following pipeline was used to measure the processing time and FPS for the cudaawb element with an input image with 1920x1200 resolution coming from a camera sensor to an RGB output image.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve rrv4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=1920, height=1200, format=grbg' ! cudadebayer ! cudaawb ! 'video/x-raw, format=RGB' ! fakesink

The results obtained:

Measurement (Average) Jetson Xavier NX
FPS 752
Processing time (seconds) 0.001329




CUDA ISP library
CUDA ISP library




I420 Output

The following pipeline was used to measure the processing time and FPS for the cudaawb element with an input image with 1920x1200 resolution coming from a camera sensor to an I420 output image.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve rrv4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=1920, height=1200, format=grbg' ! cudadebayer ! cudaawb ! 'video/x-raw, format=I420' ! fakesink

The results obtained:

Measurement (Average) Jetson Xavier NX
FPS 473
Processing time (seconds) 0.002111




CUDA ISP library
CUDA ISP library




More cameras

This section shows the performance results for the elements running at the same time on more than one camera on a Jetson XavierAGX.


Two cameras

RGB Output

The following pipeline was used to measure the processing time and FPS for the cudaawb and the cudadebayer element with an input image with 1920x1200 resolution coming from a camera sensor to an RGB output image.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve rrv4l2src device=/dev/video0 io-mode=userptr ! 'video/x-bayer, bpp=10, width=1920, height=1200, format=grbg' ! cudadebayer ! cudaawb ! 'video/x-raw, format=RGB' ! fakesink

The results obtained:

Measurement (Average) cudadebayer cudaawb
FPS 0 0
Processing time (seconds) 0 0




CUDA ISP library
CUDA ISP library







CUDA ISP library
CUDA ISP library














  Index