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

From RidgeRun Developer Connection
Jump to: navigation, search
m (Polynomial Distortion)
m
 
(7 intermediate revisions by 2 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__
 
__TOC__
Line 11: Line 11:
 
}}
 
}}
  
==Performance Measurements :  Source - Onboard camera OV5693 (nvarguscamerasrc) ==  
+
==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>
Line 23: Line 23:
 
'''Backend : CUDA (default)'''  
 
'''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 ! nvvidconv ! video/x-raw(memory:NVMM),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>
 
<br>
 
'''Backend : CPU'''
 
'''Backend : CPU'''
 
<pre>
 
<pre>
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
+
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
 
</pre>
 
</pre>
 
<center>
 
<center>
Line 58: Line 58:
 
'''Backend : CUDA (default)'''  
 
'''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 ! nvvidconv ! video/x-raw(memory:NVMM),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>
 
<br>
 
'''Backend : CPU'''
 
'''Backend : CPU'''
 
<pre>
 
<pre>
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
+
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
 
</pre>
 
</pre>
 
<center>
 
<center>
Line 93: Line 93:
 
'''Backend : CUDA (default)'''  
 
'''Backend : CUDA (default)'''  
 
<pre>
 
<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
+
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>
 
</pre>
 
<br>
 
<br>
 
'''Backend : CPU'''
 
'''Backend : CPU'''
 
<pre>
 
<pre>
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
+
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>
 
<center>
Line 128: Line 128:
 
'''Backend : CUDA (default)'''  
 
'''Backend : CUDA (default)'''  
 
<pre>
 
<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
+
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>
 
</pre>
 
<br>
 
<br>
 
'''Backend : CPU'''
 
'''Backend : CPU'''
 
<pre>
 
<pre>
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
+
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>
 
<center>
Line 158: Line 158:
 
</center>
 
</center>
  
=== <span style="color:#006400;"> <u>Algorithm : Undistort</u></span> ===  
+
=== <span style="color:#006400;"> Algorithm : Undistort </span> ===  
  
 
'''Platform : Jetson TX1''' <br>
 
'''Platform : Jetson TX1''' <br>
Line 167: Line 167:
 
'''Backend : CUDA (default)'''  
 
'''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 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>
 
</pre>
 
<br>
 
<br>
Line 201: Line 201:
 
'''Backend : CUDA (default)'''  
 
'''Backend : CUDA (default)'''  
 
<pre>
 
<pre>
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 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
+
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>
 
</pre>
 
<br>
 
<br>
Line 231: Line 231:
 
</center>
 
</center>
  
=== <span style="color:#006400;"> <u>Algorithm : KLT Tracker</u></span> ===  
+
=== <span style="color:#006400;"> Algorithm : KLT Tracker </span> ===  
  
 
'''Platform : Jetson TX1''' <br>
 
'''Platform : Jetson TX1''' <br>
Line 237: Line 237:
 
'''Resolution: 1280x720 ''' <br> <br>
 
'''Resolution: 1280x720 ''' <br> <br>
 
<br>  
 
<br>  
<br>
 
 
'''Backend : CUDA (default)'''  
 
'''Backend : CUDA (default)'''  
 
<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 ! nvvidconv ! video/x-raw(memory:NVMM),format=I420 ! 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>
 
<br>
 
'''Backend : CPU'''
 
'''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 ! '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
+
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>
 
</pre>
 
<center>
 
<center>
Line 270: Line 269:
 
</center>
 
</center>
  
=== <span style="color:#006400;"> <u>Algorithm : Harris Detector</u></span> ===  
+
=== <span style="color:#006400;"> Algorithm : Harris Detector </span> ===  
  
 
'''Platform : Jetson TX1''' <br>
 
'''Platform : Jetson TX1''' <br>
 
'''Onboard camera :  nvarguscamerasrc''' <br>
 
'''Onboard camera :  nvarguscamerasrc''' <br>
 
'''Resolution: 1920x1080 ''' <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>
 
<pre>
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiharrisdetector gradient-size=3 block-size=3 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! video/x-raw(memory:NVMM),format=I420 ! nvoverlaysink
+
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>
 
</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>
| 26.3793 %
+
  </tr>
| 22.7408 % @ 178.168 MHz
+
  <tr>
| 28.79
+
    <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>
 
'''Onboard camera :  nvarguscamerasrc''' <br>
 
'''Onboard camera :  nvarguscamerasrc''' <br>
 
'''Resolution: 1920x1080 ''' <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>
 
<pre>
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiharrisdetector gradient-size=5 block-size=5 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! video/x-raw(memory:NVMM),format=I420 ! nvoverlaysink
+
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>
 
</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>
| 26.7586 %
+
  </tr>
| 23.5425 % @ 182.813 MHz
+
  <tr>
| 28.749
+
    <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>
 
'''Platform : Jetson TX1''' <br>
 
'''Onboard camera :  nvarguscamerasrc''' <br>
 
'''Onboard camera :  nvarguscamerasrc''' <br>
 
'''Resolution: 1920x1080 ''' <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 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiharrisdetector gradient-size=7 block-size=7 ! perf print-arm-load=true ! vpidownload ! nvvidconv ! video/x-raw(memory:NVMM),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
 
|-
 
| 26.4828 %
 
| 24.0178 % @ 189.046 MHz
 
| 28.812
 
|}
 
 
 
=== <span style="color:#006400;"> <u> Algorithm : Convolution</u></span> ===  
 
  
 
'''Platform : Jetson TX1''' <br>
 
'''Platform : Jetson TX1''' <br>
Line 335: Line 385:
 
'''Resolution: 1920x1080 ''' <br> <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.
 
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>
 
<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
 
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>
 
</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 ! 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
! style="background:MidnightBlue; color:White" | GPU %
+
</pre>
! style="background:MidnightBlue; color:White" | FPS  
+
<center>
|-
+
<table class="wikitable">
| 16.4138 %
+
  <tr>
| 16.0526 % @ 150.512 MHz
+
    <th style="background:MidnightBlue; color:White">Backend</th>
| 30.073
+
    <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.
 
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>
 
<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
 
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>
 
</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 ! 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
! style="background:MidnightBlue; color:White" | GPU %
+
</pre>
! style="background:MidnightBlue; color:White" | FPS  
+
<center>
|-
+
<table class="wikitable">
| 17.8966 %
+
  <tr>
| 16.1235 % @ 149.31 MHz
+
    <th style="background:MidnightBlue; color:White">Backend</th>
| 30.042
+
    <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.
 
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>
 
<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
 
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>
 
</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 ! 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
! style="background:MidnightBlue; color:White" | GPU %
+
</pre>
! style="background:MidnightBlue; color:White" | FPS  
+
<center>
|-
+
<table class="wikitable">
| 15.4483 %
+
  <tr>
| 15.8318 % @ 147.682 MHz
+
    <th style="background:MidnightBlue; color:White">Backend</th>
| 30.028
+
    <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.
 
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>
 
<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
 
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>
 
</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>
  
{| border="1" align="top" class="sortable wikitable" style="text-align: center;margin: 1em auto 1em auto;"
+
=== <span style="color:#006400;"> Algorithm : Separable Convolution </span> ===  
|-
 
! style="background:MidnightBlue; color:White" | CPU %
 
! style="background:MidnightBlue; color:White" | GPU %
 
! style="background:MidnightBlue; color:White" | FPS
 
|-
 
| 15.8276 %
 
| 15.9488 % @ 148.083 MHz
 
| 30.024
 
|}
 
 
 
=== <span style="color:#006400;"> <u> Algorithm : Separable Convolution</u></span> ===  
 
  
 
'''Platform : Jetson TX1''' <br>
 
'''Platform : Jetson TX1''' <br>
Line 404: Line 526:
 
'''Resolution: 1920x1080 ''' <br> <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.
 
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>
 
<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
 
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>
 
</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 ! 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
! style="background:MidnightBlue; color:White" | GPU %
+
</pre>
! style="background:MidnightBlue; color:White" | FPS  
+
<center>
|-
+
<table class="wikitable">
| 15.4138 %
+
  <tr>
| 16.1116 % @ 116.296 MHz
+
    <th style="background:MidnightBlue; color:White">Backend</th>
| 30.035
+
    <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.
 
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>
 
<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
 
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>
 
</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 ! 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
! style="background:MidnightBlue; color:White" | GPU %
+
</pre>
! style="background:MidnightBlue; color:White" | FPS  
+
<center>
|-
+
<table class="wikitable">
| 15.5862 %
+
  <tr>
| 17.4856 % @ 123.793 MHz
+
    <th style="background:MidnightBlue; color:White">Backend</th>
| 30.031
+
    <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.
 
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>
 
<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
 
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>
 
</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 ! 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
! style="background:MidnightBlue; color:White" | GPU %
+
</pre>
! style="background:MidnightBlue; color:White" | FPS  
+
<center>
|-
+
<table class="wikitable">
| 15.7241 %
+
  <tr>
| 17.6708 % @ 126.448 MHz
+
    <th style="background:MidnightBlue; color:White">Backend</th>
| 30.029
+
    <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.
 
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>
 
<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
 
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>
 
</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 ! 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
! style="background:MidnightBlue; color:White" | GPU %
+
</pre>
! style="background:MidnightBlue; color:White" | FPS  
+
<center>
|-
+
<table class="wikitable">
| 16 %
+
  <tr>
| 17.4695 % @ 123.385 MHz
+
    <th style="background:MidnightBlue; color:White">Backend</th>
| 30.036
+
    <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