NVIDIA VPI GStreamer Plug-in/Performance/Jetson Nano: Difference between revisions
Jrodriguez (talk | contribs) mNo edit summary |
mNo edit summary |
||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
{{NVIDIA VPI GStreamer Plug-in/Head|previous=Performance|next=Performance/Jetson TX1|keywords=}} | {{NVIDIA VPI GStreamer Plug-in/Head|previous=Performance|next=Performance/Jetson TX1|keywords=NVIDIA VPI GStreamer Plug-in Performance Measurements, GstVPI Performance Measurements, Gaussian Filter, RasberryPi HQ Camera, IMX477 Sensor, Jetson Nano developer kit}} | ||
</noinclude> | </noinclude> | ||
Line 10: | Line 10: | ||
}} | }} | ||
<br> | <br> | ||
== Performance Measurements : Source - RasberryPi HQ Camera (IMX477 Sensor) == | == NVIDIA VPI GStreamer Plug-in Performance Measurements: Source - RasberryPi HQ Camera (IMX477 Sensor) == | ||
=== <span style="color:#006400;" | === <span style="color:#006400;"> Algorithm : Gaussian Filter </span> === | ||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
'''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | '''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
For a Gaussian filter given by kernel size of 3 in the X direction and 3 in the Y direction. | For a Gaussian filter given by kernel size of 3 in the X direction and 3 in the Y direction. <br> <br> | ||
'''Backend : CUDA (default)''' | |||
<pre> | <pre> | ||
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=3 size-y=3 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </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 flip-method=2 ! "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.1786 %</td> | |||
<td>19.5862 % @ 99.8966 MHz</td> | |||
<td>30.044</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>27.8214 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>30.041</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
Line 35: | Line 52: | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
For a Gaussian filter given by kernel size of 5 in the X direction and 5 in the Y direction. | For a Gaussian filter given by kernel size of 5 in the X direction and 5 in the Y direction. | ||
<br> | |||
<br> | |||
'''Backend : CUDA (default)''' | |||
<pre> | <pre> | ||
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=5 size-y=5 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </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 flip-method=2 ! "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.7857 %</td> | |||
<td>18.0805 % @ 102.552 MHz</td> | |||
<td>30.039</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>28.2069 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>30.045</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
Line 54: | Line 90: | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
For a Gaussian filter given by kernel size of 7 in the X direction and 7 in the Y direction. | For a Gaussian filter given by kernel size of 7 in the X direction and 7 in the Y direction. | ||
<br> | |||
<br> | |||
'''Backend : CUDA (default)''' | |||
<pre> | <pre> | ||
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=7 size-y=7 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </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 flip-method=2 ! "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>20 % @ 105.207 MHz</td> | |||
<td>30.022</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>29.25 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>30.052</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
Line 73: | Line 128: | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
For a Gaussian filter given by kernel size of 11 in the X direction and 11 in the Y direction. | For a Gaussian filter given by kernel size of 11 in the X direction and 11 in the Y direction. | ||
<br> | |||
<br> | |||
'''Backend : CUDA (default)''' | |||
<pre> | <pre> | ||
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=11 size-y=11 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </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 flip-method=2 ! "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.3571 %</td> | |||
<td>22.1241 % @ 117.421 MHz</td> | |||
<td>30.027</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>29.3103 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>30.039</td> | |||
</tr> | |||
</table> | |||
</center> | |||
=== <span style="color:#006400;"> Algorithm : Undistort </span> === | |||
=== <span style="color:#006400;" | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
'''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | '''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' | ||
<br> | |||
<br> | |||
'''Backend : CUDA (default)''' | |||
<pre> | <pre> | ||
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiundistort k1=0.05 k2=0.01 k3=0 k4=0 model=fisheye ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! nvoverlaysink | gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiundistort k1=0.05 k2=0.01 k3=0 k4=0 model=fisheye ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! nvoverlaysink | ||
</pre> | </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 flip-method=2 ! 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>19.069 %</td> | |||
<td>25.6897 % @ 175.408 MHz</td> | |||
<td>30.075</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>83.5926 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>11.077</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
'''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | '''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' | ||
<br> | |||
<br> | |||
'''Backend : CUDA (default)''' | |||
<pre> | <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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! nvoverlaysink | gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiundistort k1=0.52 k2=-0.02 p1=0 p2=0 k3=-0.001 k4=0.8 k5=0.05 k6=-0.008 model=polynomial ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! nvoverlaysink | ||
</pre> | </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 flip-method=2 ! 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>19.2143 %</td> | |||
<td>28.3645 % @ 214.177 MHz</td> | |||
<td>30.094</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>83.7037 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>11.075</td> | |||
</tr> | |||
</table> | |||
</center> | |||
=== <span style="color:#006400;"> Algorithm : KLT Tracker </span> === | |||
=== <span style="color:#006400;" | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
'''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | '''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | ||
'''Resolution: 1280x720 ''' <br> | '''Resolution: 1280x720 ''' | ||
<br> | |||
<br> | |||
'''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 ! nvvidconv ! 'video/x-raw' ! 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 ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiklttracker name=klt boxes="<<613,332,23,23>,<669,329,30,29>,<790,376,41,22>>" ! perf print-arm-load=true ! vpidownload ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </pre> | ||
<br> | |||
'''Backend : CPU''' | |||
<pre> | |||
gst-launch-1.0 filesrc location=/opt/nvidia/vpi/samples/assets/dashcam.mp4 ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! omxh264dec ! nvvidconv ! '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>21.0952 %</td> | |||
<td>32.0106 % @ 257.204 MHz</td> | |||
<td>29.776</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>26.2857 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>29.99</td> | |||
</tr> | |||
</table> | |||
</center> | |||
=== <span style="color:#006400;"> Algorithm : Harris Detector </span> === | |||
=== <span style="color:#006400;" | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
'''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | '''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' | ||
<br> | |||
<br> | |||
'''Backend : CUDA (default)''' | |||
<pre> | <pre> | ||
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=3 block-size=3 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </pre> | ||
<br> | |||
'''Backend : CPU''' | |||
<pre> | |||
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=3 block-size=3 backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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.3103 %</td> | |||
<td>32.4612 % @ 242.922 MHz</td> | |||
<td>29.246</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>76.8621 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>21.458</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
'''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | '''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
<br> | |||
<br> | |||
'''Backend : CUDA (default)''' | |||
<pre> | <pre> | ||
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=5 block-size=5 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </pre> | ||
<br> | |||
'''Backend : CPU''' | |||
<pre> | |||
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=5 block-size=5 backend=1 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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>19.3793 %</td> | |||
<td>34.8659 % @ 272.946 MHz</td> | |||
<td>29.986</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>80.2759 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>17.813</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
'''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | '''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
<br> | |||
<br> | |||
'''Backend : CUDA (default)''' | |||
<pre> | <pre> | ||
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=7 block-size=7 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </pre> | ||
<br> | |||
'''Backend : CPU''' | |||
<pre> | |||
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=7 block-size=7 backend = 1 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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.069 %</td> | |||
<td>37.3241 % @ 297.497 MHz</td> | |||
<td>28.99</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>83.2857 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>14.457</td> | |||
</tr> | |||
</table> | |||
</center> | |||
=== <span style="color:#006400;"> Algorithm : Convolution </span> === | |||
=== <span style="color:#006400;" | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
'''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | '''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <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> | |||
<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 flip-method=2 ! "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 flip-method=2 ! "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.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 flip-method=2 ! "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.6429 %</td> | |||
<td>4.89383 % @ 105.161 MHz</td> | |||
<td>30.034</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>31.3333 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>30.048</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
Line 231: | Line 430: | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
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> | |||
<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 flip-method=2 ! "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 flip-method=2 ! "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.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 flip-method=2 ! "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.2857 %</td> | |||
<td>5.80854 % @ 105.375 MHz</td> | |||
<td>30.045</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>37.2069 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>30.039</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
Line 250: | Line 468: | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
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> | |||
<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 flip-method=2 ! "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 flip-method=2 ! "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.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,0.0204,0.0204,0.0204,0.0204,0.0204>,<0.0204,0.0204,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 flip-method=2 ! "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.2857 %</td> | |||
<td>7.08546 % @ 109.487 MHz</td> | |||
<td>30.052</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>44.1786 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>30.045</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
Line 269: | Line 506: | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
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> | |||
<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 flip-method=2 ! "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 flip-method=2 ! "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 flip-method=2 ! "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.2414 %</td> | |||
<td>8.07749 % @ 111.986 MHz</td> | |||
<td>30.035</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>74.8276 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>24.453</td> | |||
</tr> | |||
</table> | |||
</center> | |||
=== <span style="color:#006400;"> Algorithm : Separable Convolution </span> === | |||
=== <span style="color:#006400;" | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
'''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | '''RasberryPi HQ Camera (IMX477 Sensor) ''' <br> | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <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> | |||
<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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </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 flip-method=2 ! "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.0357 %</td> | |||
<td>17.3563 % @ 99.8966 MHz</td> | |||
<td>30.039</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>31 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>30.026</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
Line 310: | Line 583: | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
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> | |||
<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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </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 flip-method=2 ! "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.2143 %</td> | |||
<td>17.2931 % @ 99.2328 MHz</td> | |||
<td>30.036</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>32 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>30.041</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
Line 329: | Line 621: | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
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> | |||
<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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </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 flip-method=2 ! "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.4286 %</td> | |||
<td>22.4741 % @ 108.858 MHz</td> | |||
<td>30.031</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>34.7857 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>30.038</td> | |||
</tr> | |||
</table> | |||
</center> | |||
'''Platform : Jetson Nano developer kit''' <br> | '''Platform : Jetson Nano developer kit''' <br> | ||
Line 348: | Line 659: | ||
'''Resolution: 1920x1080 ''' <br> | '''Resolution: 1920x1080 ''' <br> | ||
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> | |||
<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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink | ||
</pre> | </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 flip-method=2 ! "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.5517 %</td> | |||
<td>23.1801 % @ 109.927 MHz</td> | |||
<td>30.041</td> | |||
</tr> | |||
<tr> | |||
<td>CPU</td> | |||
<td>39.3214 %</td> | |||
<td>31.2802 % @ 256.856 MHz</td> | |||
<td>30.043</td> | |||
</tr> | |||
</table> | |||
</center> | |||
<noinclude> | <noinclude> | ||
{{NVIDIA VPI GStreamer Plug-in/Foot|Performance|Performance/Jetson TX1}} | {{NVIDIA VPI GStreamer Plug-in/Foot|Performance|Performance/Jetson TX1}} | ||
</noinclude> | </noinclude> |
Latest revision as of 18:37, 23 February 2023
GstVPI |
---|
GstVPI Basics |
Getting Started |
Examples |
Performance |
Contact Us |
JetPack version 4.4.1 and VPI version 0.4.4 is used for the performance measurements. |
NVIDIA VPI GStreamer Plug-in Performance Measurements: Source - RasberryPi HQ Camera (IMX477 Sensor)
Algorithm : Gaussian Filter
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
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 ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=3 size-y=3 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 16.1786 % | 19.5862 % @ 99.8966 MHz | 30.044 |
CPU | 27.8214 % | 31.2802 % @ 256.856 MHz | 30.041 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
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 ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=5 size-y=5 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 15.7857 % | 18.0805 % @ 102.552 MHz | 30.039 |
CPU | 28.2069 % | 31.2802 % @ 256.856 MHz | 30.045 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
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 ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=7 size-y=7 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 15.5862 % | 20 % @ 105.207 MHz | 30.022 |
CPU | 29.25 % | 31.2802 % @ 256.856 MHz | 30.052 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
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 ! 'video/x-raw' ! vpiupload ! vpigaussianfilter size-x=11 size-y=11 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 16.3571 % | 22.1241 % @ 117.421 MHz | 30.027 |
CPU | 29.3103 % | 31.2802 % @ 256.856 MHz | 30.039 |
Algorithm : Undistort
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
Backend : CUDA (default)
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiundistort k1=0.05 k2=0.01 k3=0 k4=0 model=fisheye ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! 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 flip-method=2 ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 19.069 % | 25.6897 % @ 175.408 MHz | 30.075 |
CPU | 83.5926 % | 31.2802 % @ 256.856 MHz | 11.077 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
Backend : CUDA (default)
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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! 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 flip-method=2 ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 19.2143 % | 28.3645 % @ 214.177 MHz | 30.094 |
CPU | 83.7037 % | 31.2802 % @ 256.856 MHz | 11.075 |
Algorithm : KLT Tracker
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
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 ! nvvidconv ! 'video/x-raw' ! 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 ! nvvidconv ! '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 | 21.0952 % | 32.0106 % @ 257.204 MHz | 29.776 |
CPU | 26.2857 % | 31.2802 % @ 256.856 MHz | 29.99 |
Algorithm : Harris Detector
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
Backend : CUDA (default)
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=3 block-size=3 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 17.3103 % | 32.4612 % @ 242.922 MHz | 29.246 |
CPU | 76.8621 % | 31.2802 % @ 256.856 MHz | 21.458 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
Backend : CUDA (default)
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=5 block-size=5 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 19.3793 % | 34.8659 % @ 272.946 MHz | 29.986 |
CPU | 80.2759 % | 31.2802 % @ 256.856 MHz | 17.813 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
Backend : CUDA (default)
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! 'video/x-raw' ! vpiupload ! vpiharrisdetector gradient-size=7 block-size=7 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "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 ! perf print-arm-load=true ! vpidownload ! nvvidconv flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 17.069 % | 37.3241 % @ 297.497 MHz | 28.99 |
CPU | 83.2857 % | 31.2802 % @ 256.856 MHz | 14.457 |
Algorithm : Convolution
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 16.6429 % | 4.89383 % @ 105.161 MHz | 30.034 |
CPU | 31.3333 % | 31.2802 % @ 256.856 MHz | 30.048 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 15.2857 % | 5.80854 % @ 105.375 MHz | 30.045 |
CPU | 37.2069 % | 31.2802 % @ 256.856 MHz | 30.039 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 16.2857 % | 7.08546 % @ 109.487 MHz | 30.052 |
CPU | 44.1786 % | 31.2802 % @ 256.856 MHz | 30.045 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 15.2414 % | 8.07749 % @ 111.986 MHz | 30.035 |
CPU | 74.8276 % | 31.2802 % @ 256.856 MHz | 24.453 |
Algorithm : Separable Convolution
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 16.0357 % | 17.3563 % @ 99.8966 MHz | 30.039 |
CPU | 31 % | 31.2802 % @ 256.856 MHz | 30.026 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 16.2143 % | 17.2931 % @ 99.2328 MHz | 30.036 |
CPU | 32 % | 31.2802 % @ 256.856 MHz | 30.041 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 15.4286 % | 22.4741 % @ 108.858 MHz | 30.031 |
CPU | 34.7857 % | 31.2802 % @ 256.856 MHz | 30.038 |
Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080
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 flip-method=2 ! "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 flip-method=2 ! "video/x-raw(memory:NVMM),format=I420" ! nvoverlaysink
Backend | CPU % | GPU % | FPS |
---|---|---|---|
CUDA | 16.5517 % | 23.1801 % @ 109.927 MHz | 30.041 |
CPU | 39.3214 % | 31.2802 % @ 256.856 MHz | 30.043 |