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

From RidgeRun Developer Connection
Jump to: navigation, search
m
m
Line 164: Line 164:
 
'''Resolution: 1920x1080 ''' <br>
 
'''Resolution: 1920x1080 ''' <br>
 
==== Fisheye Distortion ====
 
==== Fisheye Distortion ====
 +
<br>
 +
<br>
 +
'''Backend : CUDA (default)'''
 
<pre>
 
<pre>
 
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiundistort k1=0.05 k2=0.01 k3=0 k4=0 model=fisheye ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
 
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! vpiupload ! vpiundistort k1=0.05 k2=0.01 k3=0 k4=0 model=fisheye ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
 
</pre>
 
</pre>
 +
<br>
 +
'''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>
  
{| border="1" align="top" class="sortable wikitable" style="text-align: center;margin: 1em auto 1em auto;"
 
|-
 
! style="background:MidnightBlue; color:White" | CPU %
 
! style="background:MidnightBlue; color:White" | GPU %
 
! style="background:MidnightBlue; color:White" | FPS
 
|-
 
| 23.4483 %
 
| 21.748 % @ 168.719 MHz
 
| 30.066
 
|}
 
 
==== Polynomial Distortion ====
 
==== Polynomial Distortion ====
 +
<br>
 +
<br>
 +
'''Backend : CUDA (default)'''
 
<pre>
 
<pre>
 
gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! vpiupload ! vpiundistort k1=0.52 k2=-0.02 p1=0 p2=0 k3=-0.001 k4=0.8 k5=0.05 k6=-0.008 model=polynomial ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
 
gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! vpiupload ! vpiundistort k1=0.52 k2=-0.02 p1=0 p2=0 k3=-0.001 k4=0.8 k5=0.05 k6=-0.008 model=polynomial ! perf print-arm-load=true ! vpidownload ! nvvidconv ! nvoverlaysink
 
</pre>
 
</pre>
 
+
<br>
{| border="1" align="top" class="sortable wikitable" style="text-align: center;margin: 1em auto 1em auto;"
+
'''Backend : CPU'''
|-
+
<pre>
! style="background:MidnightBlue; color:White" | CPU %
+
gst-launch-1.0 nvarguscamerasrc ! nvvidconv  ! 'video/x-raw' ! vpiupload ! 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
! style="background:MidnightBlue; color:White" | GPU %
+
</pre>
! style="background:MidnightBlue; color:White" | FPS  
+
<center>
|-
+
<table class="wikitable">
| 23.1034 %
+
  <tr>
| 22.5287 % @ 173.939 MHz
+
    <th style="background:MidnightBlue; color:White">Backend</th>
| 30.051
+
    <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;"> <u>Algorithm : KLT Tracker</u></span> ===  
 
=== <span style="color:#006400;"> <u>Algorithm : KLT Tracker</u></span> ===  

Revision as of 13:48, 7 April 2021



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





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 ! 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  ! 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

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
CPU % GPU % FPS
29.2381 % 22.0185 % @ 172.243 MHz 26.44

Algorithm : Harris Detector

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

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

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

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

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

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

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.

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
CPU % GPU % FPS
16.4138 % 16.0526 % @ 150.512 MHz 30.073

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

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
CPU % GPU % FPS
17.8966 % 16.1235 % @ 149.31 MHz 30.042

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

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
CPU % GPU % FPS
15.4483 % 15.8318 % @ 147.682 MHz 30.028

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

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
CPU % GPU % FPS
15.8276 % 15.9488 % @ 148.083 MHz 30.024

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.

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
CPU % GPU % FPS
15.4138 % 16.1116 % @ 116.296 MHz 30.035

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

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
CPU % GPU % FPS
15.5862 % 17.4856 % @ 123.793 MHz 30.031

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

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
CPU % GPU % FPS
15.7241 % 17.6708 % @ 126.448 MHz 30.029

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

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
CPU % GPU % FPS
16 % 17.4695 % @ 123.385 MHz 30.036


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