NVIDIA VPI GStreamer Plug-in/Performance/Jetson TX1: Difference between revisions
(Created page with "<noinclude> {{NVIDIA VPI GStreamer Plug-in/Head|previous=|next=|keywords=}} </noinclude> <noinclude> {{NVIDIA VPI GStreamer Plug-in/Foot||}} </noinclude>") |
mNo edit summary |
||
(39 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
{{NVIDIA VPI GStreamer Plug-in/Head|previous=|next=| | {{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; | |||
}} | |||
==NVIDIA VPI GStreamer Plug-in Performance Measurements : Source - Onboard camera OV5693 (nvarguscamerasrc) == | |||
=== <span style="color:#006400;"> Algorithm : Gaussian Filter </span> === | |||
'''Platform : Jetson TX1''' <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. | |||
<br> | |||
<br> | |||
'''Backend : CUDA (default)''' | |||
<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 | |||
</pre> | |||
<br> | |||
'''Backend : CPU''' | |||
<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 | |||
</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.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. | |||
<br> | |||
<br> | |||
'''Backend : CUDA (default)''' | |||
<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 | |||
</pre> | |||
<br> | |||
'''Backend : CPU''' | |||
<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 | |||
</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.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. | |||
<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> | |||
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> | |||
<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>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. | |||
<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> | |||
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> | |||
<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> | |||
=== <span style="color:#006400;"> Algorithm : Undistort </span> === | |||
'''Platform : Jetson TX1''' <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> | |||
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> | |||
<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> | |||
=== <span style="color:#006400;"> Algorithm : KLT Tracker </span> === | |||
'''Platform : Jetson TX1''' <br> | |||
'''Source: filesrc''' <br> | |||
'''Resolution: 1280x720 ''' <br> <br> | |||
<br> | |||
'''Backend : CUDA (default)''' | |||
<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 | |||
</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> | |||
=== <span style="color:#006400;"> Algorithm : Harris Detector </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> | |||
'''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> | |||
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> | |||
<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> | |||
=== <span style="color:#006400;"> Algorithm : Convolution </span> === | |||
'''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||}} | {{NVIDIA VPI GStreamer Plug-in/Foot|Performance/Jetson Nano|Performance/Jetson TX2}} | ||
</noinclude> | </noinclude> |
Latest revision as of 18:43, 23 February 2023
GstVPI |
---|
GstVPI Basics |
Getting Started |
Examples |
Performance |
Contact Us |
JetPack version 4.4.1 is used for the performance measurements. |
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 |