|
|
(88 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>
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | <noinclude>
| |
− | {{CUDA ISP for NVIDIA Jetson/Foot||}}
| |
− | </noinclude>
| |