RidgeRun Video Stabilization Library/Useful Links/Performance: Difference between revisions
(Created page with "<noinclude> {{RidgeRun Video Stabilization Library/Head|previous=Useful Links/BMI160 Setup|next=Contact_Us|metakeywords=imu,stabilizer,rb5,jetson,nvidia,xilinx,amd,qualcomm}} </noinclude> {{DISPLAYTITLE:Useful Links - Performance|noerror}} <noinclude> {{RidgeRun Video Stabilization Library/Foot|Useful Links/BMI160 Setup|Contact_Us}} </noinclude>") |
No edit summary |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 5: | Line 5: | ||
{{DISPLAYTITLE:Useful Links - Performance|noerror}} | {{DISPLAYTITLE:Useful Links - Performance|noerror}} | ||
== Performance == | |||
The heaviest stage of the algorithm is the Video Undistortion. The following metrics come as a result of measuring this stage. | |||
=== Overall Latency === | |||
The RidgeRun Real-Time Video Stabilizer has a '''latency of the processing time of one single frame''', it is important to consider that this is the stabilizer process latency, you need to consider possible additional latency added by: video dequeue, pipelines queues, encoding/decoding process, streaming or another process required by your project. | |||
=== Qualcomm RB5 === | |||
This is using a synthetic image running at average conditions on Ubuntu 20.04 during 100 iterations. | |||
{| class="wikitable" style="text-align:center;" | |||
|- style="font-weight:bold;" | |||
! style="text-align:left;" | Backend | |||
! Dimensions | |||
! Processing Time (ms) | |||
! Average Framerate (fps) | |||
|- | |||
| rowspan="3" style="text-align:left;" | OpenCV | |||
| 720p | |||
| 22.28 | |||
| 44.88 | |||
|- | |||
| 1080p | |||
| 171.6 | |||
| 5.83 | |||
|- | |||
| 4K | |||
| 781.7 | |||
| 1.28 | |||
|- | |||
| rowspan="3" style="text-align:left;" | OpenCL | |||
| 720p | |||
| 11.00 | |||
| 91.00 | |||
|- | |||
| 1080p | |||
| 18.69 | |||
| 53.5 | |||
|- | |||
| 4K | |||
| 41.65 | |||
| 24.01 | |||
|} | |||
=== NVIDIA Jetson === | |||
==== Xavier NX ==== | |||
This is using a synthetic image running at average conditions on Jetpack 5.1.2 during 100 iterations. It uses the maximum performance power profile and jetson clocks. | |||
{| class="wikitable" style="text-align:center;" | |||
|- style="font-weight:bold;" | |||
! style="text-align:left;" | Backend | |||
! Dimensions | |||
! Processing Time (ms) | |||
! Average Framerate (fps) | |||
|- | |||
| rowspan="3" style="text-align:left;" | OpenCV | |||
| 720p | |||
| 61.55 | |||
| 16.26 | |||
|- | |||
| 1080p | |||
| 195.59 | |||
| 5.11 | |||
|- | |||
| 4K | |||
| 979.83 | |||
| 1.02 | |||
|- | |||
| rowspan="3" style="text-align:left;" | CUDA | |||
| 720p | |||
| 10.02 | |||
| 99.84 | |||
|- | |||
| 1080p | |||
| 12.35 | |||
| 90.94 | |||
|- | |||
| 4K | |||
| 24.03 | |||
| 41.62 | |||
|} | |||
=== NXP i.MX8 MP === | |||
This uses a synthetic image running at average conditions on Yocto Hardnott during 100 iterations. Please, note that the imx8mp is one of the most basic boards. | |||
{| class="wikitable" style="text-align:center;" | |||
|- style="font-weight:bold;" | |||
! style="text-align:left;" | Backend | |||
! Dimensions | |||
! Processing Time (ms) | |||
! Average Framerate (fps) | |||
|- | |||
| rowspan="2" style="text-align:left;" | OpenCV | |||
| 720p | |||
| 84.42 | |||
| 11.85 | |||
|- | |||
| 1080p | |||
| 192.77 | |||
| 5.19 | |||
|- | |||
| rowspan="2" style="text-align:left;" | OpenCL | |||
| 720p | |||
| 85.36 | |||
| 11.72 | |||
|- | |||
| 1080p | |||
| 169.32 | |||
| 5.91 | |||
|} | |||
=== X86 PC === | |||
This uses a synthetic image running at average conditions on Ubuntu 18.04 during 100 iterations. | |||
* CPU: Intel i7-1065G7 (8) @ 3.900GHz | |||
* GPU1: NVIDIA GeForce MX230 | |||
* GPU2: Intel Iris Plus Graphics [0x8a52] | |||
{| class="wikitable" style="text-align:center;" | |||
|- style="font-weight:bold;" | |||
! style="text-align:left;" | Backend | |||
! Dimensions | |||
! Processing Time (ms) | |||
! Average Framerate (fps) | |||
|- | |||
| rowspan="3" style="text-align:left;" | OpenCV | |||
| 720p | |||
| 26.65 | |||
| 37.52 | |||
|- | |||
| 1080p | |||
| 38.85 | |||
| 25.74 | |||
|- | |||
| 4K | |||
| 922.1 | |||
| 1.08 | |||
|- | |||
| rowspan="3" style="text-align:left;" | OpenCL<br /><br />(NVIDIA MX230) | |||
| 720p | |||
| 18.22 | |||
| 54.88 | |||
|- | |||
| 1080p | |||
| 26.84 | |||
| 37.26 | |||
|- | |||
| 4K | |||
| 50.1 | |||
| 19.96 | |||
|- | |||
| rowspan="3" style="text-align:left;" | OpenCL<br />(Intel Iris) | |||
| 720p | |||
| 6.53 | |||
| 153.14 | |||
|- | |||
| 1080p | |||
| 8.59 | |||
| 116.4 | |||
|- | |||
| 4K | |||
| 17.54 | |||
| 57.01 | |||
|- | |||
| rowspan="3" style="text-align:left;" | CUDA<br /><br />(NVIDIA MX230) | |||
| 720p | |||
| 17.58 | |||
| 56.25 | |||
|- | |||
| 1080p | |||
| 25.7 | |||
| 38.91 | |||
|- | |||
| 4K | |||
| 78.9 | |||
| 12.67 | |||
|- | |||
|} | |||
<noinclude> | <noinclude> | ||
{{RidgeRun Video Stabilization Library/Foot|Useful Links/BMI160 Setup|Contact_Us}} | {{RidgeRun Video Stabilization Library/Foot|previous=Useful Links/BMI160 Setup|next=Contact_Us}} | ||
</noinclude> | </noinclude> |
Latest revision as of 17:38, 30 September 2024
RidgeRun Video Stabilization Library RidgeRun documentation is currently under development. |
Performance
The heaviest stage of the algorithm is the Video Undistortion. The following metrics come as a result of measuring this stage.
Overall Latency
The RidgeRun Real-Time Video Stabilizer has a latency of the processing time of one single frame, it is important to consider that this is the stabilizer process latency, you need to consider possible additional latency added by: video dequeue, pipelines queues, encoding/decoding process, streaming or another process required by your project.
Qualcomm RB5
This is using a synthetic image running at average conditions on Ubuntu 20.04 during 100 iterations.
Backend | Dimensions | Processing Time (ms) | Average Framerate (fps) |
---|---|---|---|
OpenCV | 720p | 22.28 | 44.88 |
1080p | 171.6 | 5.83 | |
4K | 781.7 | 1.28 | |
OpenCL | 720p | 11.00 | 91.00 |
1080p | 18.69 | 53.5 | |
4K | 41.65 | 24.01 |
NVIDIA Jetson
Xavier NX
This is using a synthetic image running at average conditions on Jetpack 5.1.2 during 100 iterations. It uses the maximum performance power profile and jetson clocks.
Backend | Dimensions | Processing Time (ms) | Average Framerate (fps) |
---|---|---|---|
OpenCV | 720p | 61.55 | 16.26 |
1080p | 195.59 | 5.11 | |
4K | 979.83 | 1.02 | |
CUDA | 720p | 10.02 | 99.84 |
1080p | 12.35 | 90.94 | |
4K | 24.03 | 41.62 |
NXP i.MX8 MP
This uses a synthetic image running at average conditions on Yocto Hardnott during 100 iterations. Please, note that the imx8mp is one of the most basic boards.
Backend | Dimensions | Processing Time (ms) | Average Framerate (fps) |
---|---|---|---|
OpenCV | 720p | 84.42 | 11.85 |
1080p | 192.77 | 5.19 | |
OpenCL | 720p | 85.36 | 11.72 |
1080p | 169.32 | 5.91 |
X86 PC
This uses a synthetic image running at average conditions on Ubuntu 18.04 during 100 iterations.
- CPU: Intel i7-1065G7 (8) @ 3.900GHz
- GPU1: NVIDIA GeForce MX230
- GPU2: Intel Iris Plus Graphics [0x8a52]
Backend | Dimensions | Processing Time (ms) | Average Framerate (fps) |
---|---|---|---|
OpenCV | 720p | 26.65 | 37.52 |
1080p | 38.85 | 25.74 | |
4K | 922.1 | 1.08 | |
OpenCL (NVIDIA MX230) |
720p | 18.22 | 54.88 |
1080p | 26.84 | 37.26 | |
4K | 50.1 | 19.96 | |
OpenCL (Intel Iris) |
720p | 6.53 | 153.14 |
1080p | 8.59 | 116.4 | |
4K | 17.54 | 57.01 | |
CUDA (NVIDIA MX230) |
720p | 17.58 | 56.25 |
1080p | 25.7 | 38.91 | |
4K | 78.9 | 12.67 |