Difference between revisions of "NVIDIA VPI GStreamer Plug-in/Performance/Jetson TX1"

From RidgeRun Developer Connection
Jump to: navigation, search
m
m
 
(32 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
<noinclude>
 
<noinclude>
{{NVIDIA VPI GStreamer Plug-in/Head|previous=Performance/Jetson Nano|next=Performance/Jetson TX2|keywords=}}
+
{{NVIDIA VPI GStreamer Plug-in/Head|previous=Performance/Jetson Nano|next=Performance/Jetson TX2|metakeywords=OV5693, nvarguscamerasrc, Gaussian Filter, Jetson TX1, Undistort, Separable Convolution}}
 
</noinclude>
 
</noinclude>
 +
__TOC__
 +
<br>
 +
{{Ambox
 +
|type=notice
 +
|small=left
 +
|issue=JetPack version 4.4.1 is used for the performance measurements.
 +
|style=width:unset;
 +
}}
  
==Performance Measurements==  
+
==NVIDIA VPI GStreamer Plug-in Performance Measurements :  Source - Onboard camera OV5693 (nvarguscamerasrc) ==  
  
=== <span style="color:#006400;"> <u> Algorithm : Gaussian Filter</u></span> ===  
+
=== <span style="color:#006400;"> Algorithm : Gaussian Filter </span> ===  
  
 
'''Platform : Jetson TX1''' <br>
 
'''Platform : Jetson TX1''' <br>
'''Onboard camera :  nvarguscamerasrc''' <br> <br>
+
'''Onboard camera :  nvarguscamerasrc''' <br>
 +
'''Resolution: 1920x1080 ''' <br> <br>
 
For a Gaussian filter given by kernel size of 3 in the X direction and 3 in the Y direction.
 
For a Gaussian filter given by kernel size of 3 in the X direction and 3 in the Y direction.
 +
<br>
 +
<br>
 +
'''Backend : CUDA (default)'''
 
<pre>
 
<pre>
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=3 size-y=3 ! perf print-arm-load=true ! vpidownload ! videoconvert ! video/x-raw,format=I420 ! nvoverlaysink
+
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=3 size-y=3 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 
</pre>
 
</pre>
 
+
<br>
{| border="1" align="top" class="sortable wikitable" style="text-align: center;margin: 1em auto 1em auto;"
+
'''Backend : CPU'''
|-
+
<pre>
! style="background:MidnightBlue; color:White" | CPU %
+
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw'  ! vpiupload ! vpigaussianfilter size-x=3 size-y=3 backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
! style="background:MidnightBlue; color:White" | GPU %
+
</pre>
! style="background:MidnightBlue; color:White" | FPS  
+
<center>
|-
+
<table class="wikitable">
| 31.0714 %
+
  <tr>
| 7.83333 % @ 87.5057 MHz
+
    <th style="background:MidnightBlue; color:White">Backend</th>
| 20.28
+
    <th style="background:MidnightBlue; color:White">CPU %</th>
|}
+
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>22.1724 %</td>
 +
    <td>21.0972 % @ 174.719 MHz</td>
 +
    <td>30.029</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>28.931 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>30.039</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 
For a Gaussian filter given by kernel size of 5 in the X direction and 5 in the Y direction.
 
For a Gaussian filter given by kernel size of 5 in the X direction and 5 in the Y direction.
 +
<br>
 +
<br>
 +
'''Backend : CUDA (default)'''
 
<pre>
 
<pre>
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=5 size-y=5 ! perf print-arm-load=true ! vpidownload ! videoconvert ! video/x-raw,format=I420 ! nvoverlaysink
+
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=5 size-y=5 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 
</pre>
 
</pre>
 
+
<br>
{| border="1" align="top" class="sortable wikitable" style="text-align: center;margin: 1em auto 1em auto;"
+
'''Backend : CPU'''
|-
+
<pre>
! style="background:MidnightBlue; color:White" | CPU %
+
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=5 size-y=5 backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
! style="background:MidnightBlue; color:White" | GPU %
+
</pre>
! style="background:MidnightBlue; color:White" | FPS  
+
<center>
|-
+
<table class="wikitable">
| 31.3704 %
+
  <tr>
| 7.25517 % @ 89.8069 MHz
+
    <th style="background:MidnightBlue; color:White">Backend</th>
| 20.037
+
    <th style="background:MidnightBlue; color:White">CPU %</th>
|}
+
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>22.3448 %</td>
 +
    <td>20.8561 % @ 170.427 MHz</td>
 +
    <td>30.034</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>31.1034 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>30.035</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 
For a Gaussian filter given by kernel size of 7 in the X direction and 7 in the Y direction.
 
For a Gaussian filter given by kernel size of 7 in the X direction and 7 in the Y direction.
 +
<br>
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=7 size-y=7 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 
<pre>
 
<pre>
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=7 size-y=7 ! perf print-arm-load=true ! vpidownload ! videoconvert ! video/x-raw,format=I420 ! nvoverlaysink
+
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=7 size-y=7 backend=1  ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 
</pre>
 
</pre>
 
+
<center>
{| border="1" align="top" class="sortable wikitable" style="text-align: center;margin: 1em auto 1em auto;"
+
<table class="wikitable">
|-
+
  <tr>
! style="background:MidnightBlue; color:White" | CPU %
+
    <th style="background:MidnightBlue; color:White">Backend</th>
! style="background:MidnightBlue; color:White" | GPU %
+
    <th style="background:MidnightBlue; color:White">CPU %</th>
! style="background:MidnightBlue; color:White" | FPS  
+
    <th style="background:MidnightBlue; color:White">GPU %</th>
|-
+
    <th style="background:MidnightBlue; color:White">FPS</th>
| 29.7931 %
+
  </tr>
| 8.52217 % @ 85.8621 MHz
+
  <tr>
| 19.568
+
    <td>CUDA</td>
|}
+
    <td>21.7241 %</td>
 +
    <td>20.6293 % @ 166.493 MHz</td>
 +
    <td>30.034</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>31.3103 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>30.031</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 
For a Gaussian filter given by kernel size of 11 in the X direction and 11 in the Y direction.
 
For a Gaussian filter given by kernel size of 11 in the X direction and 11 in the Y direction.
 +
<br>
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=11 size-y=11 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 
<pre>
 
<pre>
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=11 size-y=11 ! perf print-arm-load=true ! vpidownload ! videoconvert ! video/x-raw,format=I420 ! nvoverlaysink
+
gst-launch-1.0 nvarguscamerasrc ! nvvidconv !  'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=11 size-y=11 backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 
</pre>
 
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>22.2759 %</td>
 +
    <td>20.869 % @ 162.873 MHz</td>
 +
    <td>30.032</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>31.7586 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>30.039</td>
 +
  </tr>
 +
</table>
 +
</center>
  
{| border="1" align="top" class="sortable wikitable" style="text-align: center;margin: 1em auto 1em auto;"
+
=== <span style="color:#006400;"> Algorithm : Undistort </span> ===  
|-
 
! style="background:MidnightBlue; color:White" | CPU %
 
! style="background:MidnightBlue; color:White" | GPU %
 
! style="background:MidnightBlue; color:White" | FPS
 
|-
 
| 29.8276 %
 
| 10.0086 % @ 88.2802 MHz
 
| 19.171
 
|}
 
 
 
=== <span style="color:#006400;"> <u>Algorithm:Undistort</u></span> ===  
 
  
 
'''Platform : Jetson TX1''' <br>
 
'''Platform : Jetson TX1''' <br>
'''Onboard camera :  nvarguscamerasrc''' <br> <br>
+
'''Onboard camera :  nvarguscamerasrc''' <br>  
 +
'''Resolution: 1920x1080 ''' <br>
 +
==== Fisheye Distortion ====
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv bl-output=false ! vpiupload ! vpiundistort k1=0.05 k2=0.01 k3=0 k4=0 model=fisheye ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiundistort k1=0.05 k2=0.01 k3=0 k4=0 model=fisheye backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>23.4483 %</td>
 +
    <td>21.748 % @ 168.719 MHz</td>
 +
    <td>30.066</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>83.3929 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>12.995</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 +
==== Polynomial Distortion ====
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv bl-output=false ! vpiupload ! vpiundistort k1=0.52 k2=-0.02 p1=0 p2=0 k3=-0.001 k4=0.8 k5=0.05 k6=-0.008 model=polynomial ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 
<pre>
 
<pre>
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiundistort k1=0.05 k2=0.01 k3=0 k4=0 model=fisheye ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
+
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiundistort k1=0.52 k2=-0.02 p1=0 p2=0 k3=-0.001 k4=0.8 k5=0.05 k6=-0.008 model=polynomial backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
 
</pre>
 
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>23.1034 %</td>
 +
    <td>22.5287 % @ 173.939 MHz</td>
 +
    <td>30.051</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>83.5 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>12.977</td>
 +
  </tr>
 +
</table>
 +
</center>
  
{| border="1" align="top" class="sortable wikitable" style="text-align: center;margin: 1em auto 1em auto;"
+
=== <span style="color:#006400;"> Algorithm : KLT Tracker </span> ===  
|-
 
! style="background:MidnightBlue; color:White" | CPU %
 
! style="background:MidnightBlue; color:White" | GPU %
 
! style="background:MidnightBlue; color:White" | FPS
 
|-
 
| 23.6207 %
 
| 14.1379 % @ 111.697 MHz
 
| 30.054
 
|}
 
  
 +
'''Platform : Jetson TX1''' <br>
 +
'''Source:  filesrc''' <br>
 +
'''Resolution: 1280x720 ''' <br> <br>
 +
<br>
 +
'''Backend : CUDA (default)'''
 
<pre>
 
<pre>
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiundistort k1=0.05 k2=0.01 k3=0 k4=0 model=fisheye ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
+
gst-launch-1.0 filesrc location=/opt/nvidia/vpi/samples/assets/dashcam.mp4 ! qtdemux name=demux demux.video_0 ! queue !  h264parse ! omxh264dec ! videoconvert ! vpiupload ! vpiklttracker name=klt boxes='<<613,332,23,23>,<669,329,30,29>,<790,376,41,22>>' ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 
</pre>
 
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 filesrc location=/opt/nvidia/vpi/samples/assets/dashcam.mp4 ! qtdemux name=demux demux.video_0 ! queue !  h264parse ! omxh264dec ! videoconvert ! 'video/x-raw'  ! vpiupload ! vpiklttracker name=klt boxes='<<613,332,23,23>,<669,329,30,29>,<790,376,41,22>>' backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>29.2381 %</td>
 +
    <td>22.0185 % @ 172.243 MHz</td>
 +
    <td>26.44</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>34 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>29.342</td>
 +
  </tr>
 +
</table>
 +
</center>
  
{| border="1" align="top" class="sortable wikitable" style="text-align: center;margin: 1em auto 1em auto;"
+
=== <span style="color:#006400;"> Algorithm : Harris Detector </span> ===  
|-
 
! style="background:MidnightBlue; color:White" | CPU %
 
! style="background:MidnightBlue; color:White" | GPU %
 
! style="background:MidnightBlue; color:White" | FPS
 
|-
 
| 24.3103 %
 
| 17.0862 % @ 130.697 MHz
 
| 30.054
 
|}
 
  
=== <span style="color:#006400;"> <u>Algorithm:KLT Tracker</u></span> ===
+
'''Platform : Jetson TX1''' <br>
 +
'''Onboard camera :  nvarguscamerasrc''' <br>
 +
'''Resolution: 1920x1080 ''' <br>
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiharrisdetector gradient-size=3 block-size=3 ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! 'video/x-raw' !  vpiupload ! vpiharrisdetector gradient-size=3 block-size=3 backend=1 ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>  
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>26.3793 %</td>
 +
    <td>22.7408 % @ 178.168 MHz</td>
 +
    <td>28.79</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>78.1724 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>24.927</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 
'''Platform : Jetson TX1''' <br>
 
'''Platform : Jetson TX1''' <br>
'''Sourcefilesrc''' <br> <br>
+
'''Onboard camera nvarguscamerasrc''' <br>
 +
'''Resolution: 1920x1080 ''' <br>
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiharrisdetector gradient-size=5 block-size=5 ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=5 block-size=5 backend=1 ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>26.7586 %</td>
 +
    <td>23.5425 % @ 182.813 MHz</td>
 +
    <td>28.749</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>81.5357 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>20.402</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 +
'''Platform : Jetson TX1''' <br>
 +
'''Onboard camera :  nvarguscamerasrc''' <br>
 +
'''Resolution: 1920x1080 ''' <br>
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiharrisdetector gradient-size=7 block-size=7 ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 
<pre>
 
<pre>
gst-launch-1.0 filesrc location=/opt/nvidia/vpi/samples/assets/dashcam.mp4 ! qtdemux name=demux demux.video_0 ! queue !  h264parse ! omxh264dec ! videoconvert ! vpiupload ! vpiklttracker name=klt boxes=<<613,332,23,23>,<669,329,30,29>,<790,376,41,22>> ! perf print-arm-load=true ! vpidownload ! videoconvert ! video/x-raw,format=I420 ! nvoverlaysink
+
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=7 block-size=7 backend=1  ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
 
</pre>
 
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>26.4828 %</td>
 +
    <td>24.0178 % @ 189.046 MHz</td>
 +
    <td>28.812</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>84.1724 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>16.665</td>
 +
  </tr>
 +
</table>
 +
</center>
  
{| border="1" align="top" class="sortable wikitable" style="text-align: center;margin: 1em auto 1em auto;"
+
=== <span style="color:#006400;"> Algorithm : Convolution </span> ===  
|-
 
! style="background:MidnightBlue; color:White" | CPU %
 
! style="background:MidnightBlue; color:White" | GPU %
 
! style="background:MidnightBlue; color:White" | FPS
 
|-
 
| 30.0476 %
 
| 16.7618 % @ 126.931 MHz
 
| 16.649
 
|}
 
 
 
 
 
  
 +
'''Platform : Jetson TX1''' <br>
 +
'''Onboard camera :  nvarguscamerasrc''' <br>
 +
'''Resolution: 1920x1080 ''' <br> <br>
 +
For a convolution filter given by kernel size of 3 in the X direction and 3 in the Y direction.
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! 'video/x-raw' ! vpiupload ! vpiconvolution kernel="<<0.1111,0.1111,0.1111>,<0.1111,0.1111,0.1111>,<0.1111,0.1111,0.1111>>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! video/x-raw ! vpiupload ! vpiconvolution kernel="<<0.1111,0.1111,0.1111>,<0.1111,0.1111,0.1111>,<0.1111,0.1111,0.1111>>" backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>16.4138 %</td>
 +
    <td>16.0526 % @ 150.512 MHz</td>
 +
    <td>30.073</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>33.2414 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>30.031</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 +
For a convolution filter given by kernel size of 5 in the X direction and 5 in the Y direction.
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiconvolution kernel="<<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiconvolution kernel="<<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>>"  backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>17.8966 %</td>
 +
    <td>16.1235 % @ 149.31 MHz</td>
 +
    <td>30.042</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>36.7931 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>30.032</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 +
For a convolution filter given by kernel size of 7 in the X direction and 7 in the Y direction.
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiconvolution kernel="<<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiconvolution kernel="<<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>>" backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>15.4483 %</td>
 +
    <td>15.8318 % @ 147.682 MHz</td>
 +
    <td>30.028</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>40.6207 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>30.041</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 +
For a convolution filter given by kernel size of 11 in the X direction and 11 in the Y direction.
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiconvolution kernel="<<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiconvolution kernel="<<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>>" backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>15.8276 %</td>
 +
    <td>15.9488 % @ 148.083 MHz</td>
 +
    <td>30.024</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>75.5862 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>29.485</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 +
=== <span style="color:#006400;"> Algorithm : Separable Convolution </span> ===
  
 +
'''Platform : Jetson TX1''' <br>
 +
'''Onboard camera :  nvarguscamerasrc''' <br>
 +
'''Resolution: 1920x1080 ''' <br> <br>
 +
For a separable convolution filter given by kernel size of 3 in the X direction and 3 in the Y direction.
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! 'video/x-raw' ! vpiupload ! vpiseparableconvolution kernel-row="<-1.0,0.0,1.0>" kernel-col="<1.0,2.0,1.0>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! video/x-raw ! vpiupload ! vpiseparableconvolution kernel-row="<-1.0,0.0,1.0>" kernel-col="<1.0,2.0,1.0>" backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>15.4138 %</td>
 +
    <td>16.1116 % @ 116.296 MHz</td>
 +
    <td>30.035</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>33.2759 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>30.033</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 +
For a separable convolution filter given by kernel size of 5 in the X direction and 5 in the Y direction.
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiseparableconvolution kernel-row="<-2.0,-1.0,0.0,1.0,2.0>" kernel-col="<1.0,2.0,4.0,2.0,1.0>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiseparableconvolution kernel-row="<-2.0,-1.0,0.0,1.0,2.0>" kernel-col="<1.0,2.0,4.0,2.0,1.0>"  backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>15.5862 %</td>
 +
    <td>17.4856 % @ 123.793 MHz</td>
 +
    <td>30.031</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>34.5172 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>30.043</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 +
For a separable convolution filter given by kernel size of 7 in the X direction and 7 in the Y direction.
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiseparableconvolution kernel-row="<-4.0,-2.0,-1.0,0.0,1.0,2.0,4.0>" kernel-col="<1.0,2.0,4.0,6.0,4.0,2.0,1.0>"  ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiseparableconvolution kernel-row="<-4.0,-2.0,-1.0,0.0,1.0,2.0,4.0>" kernel-col="<1.0,2.0,4.0,6.0,4.0,2.0,1.0>"  backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>15.7241 %</td>
 +
    <td>17.6708 % @ 126.448 MHz</td>
 +
    <td>30.029</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>34.9655 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>30.035</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 +
For a separable convolution filter given by kernel size of 11 in the X direction and 11 in the Y direction.
 +
<br>
 +
'''Backend : CUDA (default)'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiseparableconvolution kernel-row="<-16.0,-8.0,-4.0,-2.0,-1.0,0.0,1.0,2.0,4.0,8.0,16.0>" kernel-col="<1.0,2.0,4.0,6.0,12.0,24.0,12.0,6.0,4.0,2.0,1.0>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<br>
 +
'''Backend : CPU'''
 +
<pre>
 +
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiseparableconvolution kernel-row="<-16.0,-8.0,-4.0,-2.0,-1.0,0.0,1.0,2.0,4.0,8.0,16.0>" kernel-col="<1.0,2.0,4.0,6.0,12.0,24.0,12.0,6.0,4.0,2.0,1.0>" backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
 +
</pre>
 +
<center>
 +
<table class="wikitable">
 +
  <tr>
 +
    <th style="background:MidnightBlue; color:White">Backend</th>
 +
    <th style="background:MidnightBlue; color:White">CPU %</th>
 +
    <th style="background:MidnightBlue; color:White">GPU %</th>
 +
    <th style="background:MidnightBlue; color:White">FPS</th>
 +
  </tr>
 +
  <tr>
 +
    <td>CUDA</td>
 +
    <td>16 %</td>
 +
    <td>17.4695 % @ 123.385 MHz</td>
 +
    <td>30.036</td>
 +
  </tr>
 +
  <tr>
 +
    <td>CPU</td>
 +
    <td>37.8276 %</td>
 +
    <td>15.3284 % @ 150.901 MHz</td>
 +
    <td>30.048</td>
 +
  </tr>
 +
</table>
 +
</center>
  
 
<noinclude>
 
<noinclude>
 
{{NVIDIA VPI GStreamer Plug-in/Foot|Performance/Jetson Nano|Performance/Jetson TX2}}
 
{{NVIDIA VPI GStreamer Plug-in/Foot|Performance/Jetson Nano|Performance/Jetson TX2}}
 
</noinclude>
 
</noinclude>

Latest revision as of 13:43, 23 February 2023



Previous: Performance/Jetson Nano Index Next: Performance/Jetson TX2





NVIDIA VPI GStreamer Plug-in Performance Measurements : Source - Onboard camera OV5693 (nvarguscamerasrc)

Algorithm : Gaussian Filter

Platform : Jetson TX1
Onboard camera : nvarguscamerasrc
Resolution: 1920x1080

For a Gaussian filter given by kernel size of 3 in the X direction and 3 in the Y direction.

Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=3 size-y=3 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw'  ! vpiupload ! vpigaussianfilter size-x=3 size-y=3 backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 22.1724 % 21.0972 % @ 174.719 MHz 30.029
CPU 28.931 % 15.3284 % @ 150.901 MHz 30.039

For a Gaussian filter given by kernel size of 5 in the X direction and 5 in the Y direction.

Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=5 size-y=5 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=5 size-y=5 backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 22.3448 % 20.8561 % @ 170.427 MHz 30.034
CPU 31.1034 % 15.3284 % @ 150.901 MHz 30.035

For a Gaussian filter given by kernel size of 7 in the X direction and 7 in the Y direction.

Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=7 size-y=7 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=7 size-y=7 backend=1  ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 21.7241 % 20.6293 % @ 166.493 MHz 30.034
CPU 31.3103 % 15.3284 % @ 150.901 MHz 30.031

For a Gaussian filter given by kernel size of 11 in the X direction and 11 in the Y direction.

Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpigaussianfilter size-x=11 size-y=11 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv !  'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=11 size-y=11 backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 22.2759 % 20.869 % @ 162.873 MHz 30.032
CPU 31.7586 % 15.3284 % @ 150.901 MHz 30.039

Algorithm : Undistort

Platform : Jetson TX1
Onboard camera : nvarguscamerasrc
Resolution: 1920x1080

Fisheye Distortion


Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv bl-output=false ! vpiupload ! vpiundistort k1=0.05 k2=0.01 k3=0 k4=0 model=fisheye ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiundistort k1=0.05 k2=0.01 k3=0 k4=0 model=fisheye backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 23.4483 % 21.748 % @ 168.719 MHz 30.066
CPU 83.3929 % 15.3284 % @ 150.901 MHz 12.995

Polynomial Distortion


Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv bl-output=false ! vpiupload ! vpiundistort k1=0.52 k2=-0.02 p1=0 p2=0 k3=-0.001 k4=0.8 k5=0.05 k6=-0.008 model=polynomial ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! 'video/x-raw' ! vpiupload ! vpiundistort k1=0.52 k2=-0.02 p1=0 p2=0 k3=-0.001 k4=0.8 k5=0.05 k6=-0.008 model=polynomial backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 23.1034 % 22.5287 % @ 173.939 MHz 30.051
CPU 83.5 % 15.3284 % @ 150.901 MHz 12.977

Algorithm : KLT Tracker

Platform : Jetson TX1
Source: filesrc
Resolution: 1280x720


Backend : CUDA (default)

gst-launch-1.0 filesrc location=/opt/nvidia/vpi/samples/assets/dashcam.mp4 ! qtdemux name=demux demux.video_0 ! queue !  h264parse ! omxh264dec ! videoconvert ! vpiupload ! vpiklttracker name=klt boxes='<<613,332,23,23>,<669,329,30,29>,<790,376,41,22>>' ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink


Backend : CPU

gst-launch-1.0 filesrc location=/opt/nvidia/vpi/samples/assets/dashcam.mp4 ! qtdemux name=demux demux.video_0 ! queue !  h264parse ! omxh264dec ! videoconvert ! 'video/x-raw'  ! vpiupload ! vpiklttracker name=klt boxes='<<613,332,23,23>,<669,329,30,29>,<790,376,41,22>>' backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 29.2381 % 22.0185 % @ 172.243 MHz 26.44
CPU 34 % 15.3284 % @ 150.901 MHz 29.342

Algorithm : Harris Detector

Platform : Jetson TX1
Onboard camera : nvarguscamerasrc
Resolution: 1920x1080

Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiharrisdetector gradient-size=3 block-size=3 ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! 'video/x-raw' !  vpiupload ! vpiharrisdetector gradient-size=3 block-size=3 backend=1 ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 26.3793 % 22.7408 % @ 178.168 MHz 28.79
CPU 78.1724 % 15.3284 % @ 150.901 MHz 24.927

Platform : Jetson TX1
Onboard camera : nvarguscamerasrc
Resolution: 1920x1080

Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiharrisdetector gradient-size=5 block-size=5 ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=5 block-size=5 backend=1 ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 26.7586 % 23.5425 % @ 182.813 MHz 28.749
CPU 81.5357 % 15.3284 % @ 150.901 MHz 20.402

Platform : Jetson TX1
Onboard camera : nvarguscamerasrc
Resolution: 1920x1080

Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiharrisdetector gradient-size=7 block-size=7 ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=7 block-size=7 backend=1  ! vpioverlay ! perf print-arm-load=true ! vpidownload ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 26.4828 % 24.0178 % @ 189.046 MHz 28.812
CPU 84.1724 % 15.3284 % @ 150.901 MHz 16.665

Algorithm : Convolution

Platform : Jetson TX1
Onboard camera : nvarguscamerasrc
Resolution: 1920x1080

For a convolution filter given by kernel size of 3 in the X direction and 3 in the Y direction.
Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! 'video/x-raw' ! vpiupload ! vpiconvolution kernel="<<0.1111,0.1111,0.1111>,<0.1111,0.1111,0.1111>,<0.1111,0.1111,0.1111>>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! video/x-raw ! vpiupload ! vpiconvolution kernel="<<0.1111,0.1111,0.1111>,<0.1111,0.1111,0.1111>,<0.1111,0.1111,0.1111>>" backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 16.4138 % 16.0526 % @ 150.512 MHz 30.073
CPU 33.2414 % 15.3284 % @ 150.901 MHz 30.031

For a convolution filter given by kernel size of 5 in the X direction and 5 in the Y direction.
Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiconvolution kernel="<<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiconvolution kernel="<<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>,<0.04,0.04,0.04,0.04,0.04>>"  backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 17.8966 % 16.1235 % @ 149.31 MHz 30.042
CPU 36.7931 % 15.3284 % @ 150.901 MHz 30.032

For a convolution filter given by kernel size of 7 in the X direction and 7 in the Y direction.
Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiconvolution kernel="<<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiconvolution kernel="<<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>>" backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 15.4483 % 15.8318 % @ 147.682 MHz 30.028
CPU 40.6207 % 15.3284 % @ 150.901 MHz 30.041

For a convolution filter given by kernel size of 11 in the X direction and 11 in the Y direction.
Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiconvolution kernel="<<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiconvolution kernel="<<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>,<0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083,0.0083>>" backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 15.8276 % 15.9488 % @ 148.083 MHz 30.024
CPU 75.5862 % 15.3284 % @ 150.901 MHz 29.485

Algorithm : Separable Convolution

Platform : Jetson TX1
Onboard camera : nvarguscamerasrc
Resolution: 1920x1080

For a separable convolution filter given by kernel size of 3 in the X direction and 3 in the Y direction.
Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! 'video/x-raw' ! vpiupload ! vpiseparableconvolution kernel-row="<-1.0,0.0,1.0>" kernel-col="<1.0,2.0,1.0>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! video/x-raw ! vpiupload ! vpiseparableconvolution kernel-row="<-1.0,0.0,1.0>" kernel-col="<1.0,2.0,1.0>" backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 15.4138 % 16.1116 % @ 116.296 MHz 30.035
CPU 33.2759 % 15.3284 % @ 150.901 MHz 30.033

For a separable convolution filter given by kernel size of 5 in the X direction and 5 in the Y direction.
Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiseparableconvolution kernel-row="<-2.0,-1.0,0.0,1.0,2.0>" kernel-col="<1.0,2.0,4.0,2.0,1.0>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiseparableconvolution kernel-row="<-2.0,-1.0,0.0,1.0,2.0>" kernel-col="<1.0,2.0,4.0,2.0,1.0>"  backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 15.5862 % 17.4856 % @ 123.793 MHz 30.031
CPU 34.5172 % 15.3284 % @ 150.901 MHz 30.043

For a separable convolution filter given by kernel size of 7 in the X direction and 7 in the Y direction.
Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiseparableconvolution kernel-row="<-4.0,-2.0,-1.0,0.0,1.0,2.0,4.0>" kernel-col="<1.0,2.0,4.0,6.0,4.0,2.0,1.0>"  ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiseparableconvolution kernel-row="<-4.0,-2.0,-1.0,0.0,1.0,2.0,4.0>" kernel-col="<1.0,2.0,4.0,6.0,4.0,2.0,1.0>"  backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 15.7241 % 17.6708 % @ 126.448 MHz 30.029
CPU 34.9655 % 15.3284 % @ 150.901 MHz 30.035

For a separable convolution filter given by kernel size of 11 in the X direction and 11 in the Y direction.
Backend : CUDA (default)

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiseparableconvolution kernel-row="<-16.0,-8.0,-4.0,-2.0,-1.0,0.0,1.0,2.0,4.0,8.0,16.0>" kernel-col="<1.0,2.0,4.0,6.0,12.0,24.0,12.0,6.0,4.0,2.0,1.0>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink


Backend : CPU

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! video/x-raw ! vpiupload ! vpiseparableconvolution kernel-row="<-16.0,-8.0,-4.0,-2.0,-1.0,0.0,1.0,2.0,4.0,8.0,16.0>" kernel-col="<1.0,2.0,4.0,6.0,12.0,24.0,12.0,6.0,4.0,2.0,1.0>" backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend CPU % GPU % FPS
CUDA 16 % 17.4695 % @ 123.385 MHz 30.036
CPU 37.8276 % 15.3284 % @ 150.901 MHz 30.048


Previous: Performance/Jetson Nano Index Next: Performance/Jetson TX2