|
|
(87 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
| <noinclude>
| |
| {{CUDA ISP for NVIDIA Jetson/Head|previous=|next=|metakeywords=|metadescription=}}
| |
| </noinclude>
| |
|
| |
|
| {{DISPLAYTITLE:CUDA ISP for NVIDIA Jetson: Performance|noerror}}
| |
|
| |
| = GStreamer elements performance =
| |
| To measure the performance, we have used two of our GStreamer tools: [[GstShark]] and [https://github.com/RidgeRun/gst-perf 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.
| |
|
| |
| <source lang=bash>
| |
| 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
| |
| </source>
| |
| The results obtained:
| |
| <center>
| |
| {| class="wikitable"
| |
| |-
| |
| ! Measurement (Average) !! Jetson Xavier NX
| |
| |-
| |
| | FPS || 396
| |
| |-
| |
| | Processing time (seconds) || 0.002522
| |
| |}
| |
| </center>
| |
|
| |
| <br>
| |
| <br><br>
| |
| [[File:Shift4kproctimenx.png|1000px|frameless|center|CUDA ISP library ]]
| |
| <br>
| |
| <br><br>
| |
|
| |
| === '''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.
| |
| <source lang=bash>
| |
| 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
| |
| </source>
| |
| The results obtained:
| |
| <center>
| |
| {| class="wikitable"
| |
| |-
| |
| ! Measurement (Average) !! Jetson Xavier NX
| |
| |-
| |
| | FPS || 228
| |
| |-
| |
| | Processing time (seconds) || 0.004389
| |
| |}
| |
| </center>
| |
|
| |
| <br>
| |
| <br><br>
| |
| [[File:Debayer4krgbproctimenx.png|1000px|frameless|center|CUDA ISP library ]]
| |
| <br>
| |
| <br><br>
| |
|
| |
| '''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.
| |
| <source lang=bash>
| |
| 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
| |
| </source>
| |
| The results obtained:
| |
| <center>
| |
| {| class="wikitable"
| |
| |-
| |
| ! Measurement (Average) !! Jetson Xavier NX
| |
| |-
| |
| | FPS || 187
| |
| |-
| |
| | Processing time (seconds) || 0.005353
| |
| |}
| |
| </center>
| |
|
| |
| <br>
| |
| <br><br>
| |
| [[File:Debayer4ki420proctimenx.png|1000px|frameless|center|CUDA ISP library ]]
| |
| <br>
| |
| <br><br>
| |
|
| |
| === '''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.
| |
| <source lang=bash>
| |
| 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
| |
| </source>
| |
| The results obtained:
| |
| <center>
| |
| {| class="wikitable"
| |
| |-
| |
| ! Measurement (Average) !! Jetson Xavier NX
| |
| |-
| |
| | FPS || 370
| |
| |-
| |
| | Processing time (seconds) || 0.002698
| |
| |}
| |
| </center>
| |
| <br>
| |
| <br><br>
| |
| [[File:Awb4krgbproctimenx.png|1000px|frameless|center|CUDA ISP library ]]
| |
| <br>
| |
| <br><br>
| |
|
| |
| '''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.
| |
| <source lang=bash>
| |
| 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
| |
| </source>
| |
| The results obtained:
| |
| <center>
| |
| {| class="wikitable"
| |
| |-
| |
| ! Measurement (Average) !! Jetson Xavier NX
| |
| |-
| |
| | FPS || 202
| |
| |-
| |
| | Processing time (seconds) || 0.004952
| |
| |}
| |
| </center>
| |
|
| |
| <br>
| |
| <br><br>
| |
| [[File:Awb4ki420proctimenx.png|1000px|frameless|center|CUDA ISP library ]]
| |
| <br>
| |
| <br><br>
| |
|
| |
| == '''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.
| |
| <source lang=bash>
| |
| 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
| |
| </source>
| |
| The results obtained:
| |
| <center>
| |
| {| class="wikitable"
| |
| |-
| |
| ! Measurement (Average) !! Jetson Xavier AGX
| |
| |-
| |
| | FPS || 539
| |
| |-
| |
| | Processing time (seconds) || 0.001854
| |
| |}
| |
| </center>
| |
|
| |
| <br>
| |
| <br><br>
| |
| [[File:Debayer1920x1200rgbproctimev1.png|1000px|frameless|center|CUDA ISP library ]]
| |
| <br>
| |
| <br><br>
| |
|
| |
| '''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.
| |
| <source lang=bash>
| |
| 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
| |
| </source>
| |
| The results obtained:
| |
| <center>
| |
| {| class="wikitable"
| |
| |-
| |
| ! Measurement (Average) !! Jetson Xavier AGX
| |
| |-
| |
| | FPS || 458
| |
| |-
| |
| | Processing time (seconds) || 0.002183
| |
| |}
| |
| </center>
| |
|
| |
| <br>
| |
| <br><br>
| |
| [[File:Debayer1920x1200i420proctime.png|1000px|frameless|center|CUDA ISP library ]]
| |
| <br>
| |
| <br><br>
| |
|
| |
| === 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.
| |
| <source lang=bash>
| |
| 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
| |
| </source>
| |
| The results obtained:
| |
| <center>
| |
| {| class="wikitable"
| |
| |-
| |
| ! Measurement (Average) !! Jetson Xavier NX
| |
| |-
| |
| | FPS || 752
| |
| |-
| |
| | Processing time (seconds) || 0.001329
| |
| |}
| |
| </center>
| |
|
| |
| <br>
| |
| <br><br>
| |
| [[File:Debayer1920x1200rgbproctime.png|1000px|frameless|center|CUDA ISP library ]]
| |
| <br>
| |
| <br><br>
| |
|
| |
| '''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.
| |
| <source lang=bash>
| |
| 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
| |
| </source>
| |
| The results obtained:
| |
| <center>
| |
| {| class="wikitable"
| |
| |-
| |
| ! Measurement (Average) !! Jetson Xavier NX
| |
| |-
| |
| | FPS || 473
| |
| |-
| |
| | Processing time (seconds) || 0.002111
| |
| |}
| |
| </center>
| |
|
| |
| <br>
| |
| <br><br>
| |
| [[File:Awb1920x1200i420proctimeagx.png|1000px|frameless|center|CUDA ISP library ]]
| |
| <br>
| |
| <br><br>
| |
|
| |
| == 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 ===
| |
| 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.
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
| <noinclude>
| |
| {{CUDA ISP for NVIDIA Jetson/Foot||}}
| |
| </noinclude>
| |