NVIDIA VPI GStreamer Plug-in - Performance - Jetson Nano

From RidgeRun Developer Connection
< NVIDIA VPI GStreamer Plug-in‎ | Performance
Revision as of 14:59, 6 April 2021 by Spalli (talk | contribs) (Algorithm : Gaussian Filter)
Jump to: navigation, search



Previous: Performance Index Next: Performance/Jetson TX1






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.

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
CPU % GPU % FPS
15.7857 % 18.0805 % @ 102.552 MHz 30.039

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.

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
CPU % GPU % FPS
15.5862 % 20 % @ 105.207 MHz 30.022

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.

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
CPU % GPU % FPS
16.3571 % 22.1241 % @ 117.421 MHz 30.027

Algorithm : Undistort

Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080

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
CPU % GPU % FPS
19.069 % 25.6897 % @ 175.408 MHz 30.075

Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080

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
CPU % GPU % FPS
19.2143 % 28.3645 % @ 214.177 MHz 30.094

Algorithm : KLT Tracker

Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1280x720

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
CPU % GPU % FPS
21.0952 % 32.0106 % @ 257.204 MHz 29.776

Algorithm : Harris Detector

Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080

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
CPU % GPU % FPS
17.3103 % 32.4612 % @ 242.922 MHz 29.246

Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080

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
CPU % GPU % FPS
19.3793 % 34.8659 % @ 272.946 MHz 29.986


Platform : Jetson Nano developer kit
RasberryPi HQ Camera (IMX477 Sensor)
Resolution: 1920x1080

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
CPU % GPU % FPS
17.069 % 37.3241 % @ 297.497 MHz 28.99

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.

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
CPU % GPU % FPS
16.6429 % 4.89383 % @ 105.161 MHz 30.034


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.

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
CPU % GPU % FPS
15.2857 % 5.80854 % @ 105.375 MHz 30.045

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.

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
CPU % GPU % FPS
16.2857 % 7.08546 % @ 109.487 MHz 30.052

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.

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
CPU % GPU % FPS
15.2414 % 8.07749 % @ 111.986 MHz 30.035


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.

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
CPU % GPU % FPS
16.0357 % 17.3563 % @ 99.8966 MHz 30.039


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.

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
CPU % GPU % FPS
16.2143 % 17.2931 % @ 99.2328 MHz 30.036

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.

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
CPU % GPU % FPS
15.4286 % 22.4741 % @ 108.858 MHz 30.031

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.

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
CPU % GPU % FPS
16.5517 % 23.1801 % @ 109.927 MHz 30.041


Previous: Performance Index Next: Performance/Jetson TX1