Skip to content

Backport AprilTag threaded convolution#1748

Merged
fspindle merged 2 commits intolagadic:masterfrom
s-trinh:add_apriltag_threaded_convolution
Oct 3, 2025
Merged

Backport AprilTag threaded convolution#1748
fspindle merged 2 commits intolagadic:masterfrom
s-trinh:add_apriltag_threaded_convolution

Conversation

@s-trinh
Copy link
Contributor

@s-trinh s-trinh commented Aug 15, 2025

See:


Script:
#!/usr/bin/env bash

# # AFTER
# # 1 thread
# ./perfApriltagDetection --benchmark --nThreads 1 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_1threads_run1_after.xml \
#     --reporter console::out=-::colour-mode=ansi

# ./perfApriltagDetection --benchmark --nThreads 1 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_1threads_run2_after.xml \
#     --reporter console::out=-::colour-mode=ansi

# ./perfApriltagDetection --benchmark --nThreads 1 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_1threads_run3_after.xml \
#     --reporter console::out=-::colour-mode=ansi


# # 2 threads
# ./perfApriltagDetection --benchmark --nThreads 2 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_2threads_run1_after.xml \
#     --reporter console::out=-::colour-mode=ansi

# ./perfApriltagDetection --benchmark --nThreads 2 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_2threads_run2_after.xml \
#     --reporter console::out=-::colour-mode=ansi

# ./perfApriltagDetection --benchmark --nThreads 2 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_2threads_run3_after.xml \
#     --reporter console::out=-::colour-mode=ansi


# # 4 threads
# ./perfApriltagDetection --benchmark --nThreads 4 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_4threads_run1_after.xml \
#     --reporter console::out=-::colour-mode=ansi

# ./perfApriltagDetection --benchmark --nThreads 4 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_4threads_run2_after.xml \
#     --reporter console::out=-::colour-mode=ansi

# ./perfApriltagDetection --benchmark --nThreads 4 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_4threads_run3_after.xml \
#     --reporter console::out=-::colour-mode=ansi


# # 8 threads
# ./perfApriltagDetection --benchmark --nThreads 8 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_8threads_run1_after.xml \
#     --reporter console::out=-::colour-mode=ansi

# ./perfApriltagDetection --benchmark --nThreads 8 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_8threads_run2_after.xml \
#     --reporter console::out=-::colour-mode=ansi

# ./perfApriltagDetection --benchmark --nThreads 8 --blur 0.8 --benchmark-samples 200 \
#     --reporter xml::out=perfApriltagDetection_8threads_run3_after.xml \
#     --reporter console::out=-::colour-mode=ansi



# BEFORE
# 1 thread
./perfApriltagDetection --benchmark --nThreads 1 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_1threads_run1_before.xml \
    --reporter console::out=-::colour-mode=ansi

./perfApriltagDetection --benchmark --nThreads 1 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_1threads_run2_before.xml \
    --reporter console::out=-::colour-mode=ansi

./perfApriltagDetection --benchmark --nThreads 1 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_1threads_run3_before.xml \
    --reporter console::out=-::colour-mode=ansi


# 2 threads
./perfApriltagDetection --benchmark --nThreads 2 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_2threads_run1_before.xml \
    --reporter console::out=-::colour-mode=ansi

./perfApriltagDetection --benchmark --nThreads 2 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_2threads_run2_before.xml \
    --reporter console::out=-::colour-mode=ansi

./perfApriltagDetection --benchmark --nThreads 2 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_2threads_run3_before.xml \
    --reporter console::out=-::colour-mode=ansi


# 4 threads
./perfApriltagDetection --benchmark --nThreads 4 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_4threads_run1_before.xml \
    --reporter console::out=-::colour-mode=ansi

./perfApriltagDetection --benchmark --nThreads 4 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_4threads_run2_before.xml \
    --reporter console::out=-::colour-mode=ansi

./perfApriltagDetection --benchmark --nThreads 4 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_4threads_run3_before.xml \
    --reporter console::out=-::colour-mode=ansi


# 8 threads
./perfApriltagDetection --benchmark --nThreads 8 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_8threads_run1_before.xml \
    --reporter console::out=-::colour-mode=ansi

./perfApriltagDetection --benchmark --nThreads 8 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_8threads_run2_before.xml \
    --reporter console::out=-::colour-mode=ansi

./perfApriltagDetection --benchmark --nThreads 8 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_8threads_run3_before.xml \
    --reporter console::out=-::colour-mode=ansi

Timing between consecutive runs are not very stable:

  • 4 threads, before the changes, run1 vs run2
Benchmark Apriltag detection 1920x1080 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 1920x1080 12602.50 12670.70 0.99
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=2 11831.20 11876.30 1.00
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=3 3646.02 6581.58 0.55
Benchmark Apriltag detection: tag25_09 1920x1080 7743.98 12590.80 0.62
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=2 12582.60 6673.91 1.89
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=3 6857.99 4986.22 1.38
Benchmark Apriltag detection: tag36_11 1920x1080 12753.80 6675.66 1.91
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=2 11551.20 11961.30 0.97
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=3 5934.13 7010.88 0.85
Benchmark Apriltag detection: tag21_07 1920x1080 6166.22 6262.20 0.98
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=2 10869.90 6849.24 1.59
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=3 3540.25 5126.68 0.69
Benchmark Apriltag detection: tag49_12 1920x1080 6442.46 6459.20 1.00
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=2 6228.59 8191.48 0.76
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=3 3824.24 3355.37 1.14
Benchmark Apriltag detection: tag48_12 1920x1080 11277.50 11387.40 0.99
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=2 11372.90 6569.75 1.73
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=3 6127.75 3584.22 1.71
Benchmark Apriltag detection: tag41_12 1920x1080 7648.20 6698.41 1.14
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=2 6483.60 6562.82 0.99
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=3 3438.05 3333.87 1.03
Benchmark Apriltag detection: tag52_13 1920x1080 11626.80 11506.40 1.01
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=2 6931.20 11221.40 0.62
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=3 5576.61 5916.99 0.94
Benchmark Apriltag detection 640x480 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 640x480 1845.14 2912.17 0.63
Benchmark Apriltag detection: tag25_09 640x480 2276.62 1827.97 1.25
Benchmark Apriltag detection: tag36_11 640x480 1805.13 1610.20 1.12
Benchmark Apriltag detection: tag21_07 640x480 1512.58 1503.90 1.01
Benchmark Apriltag detection: tag49_12 640x480 1705.27 1816.39 0.94
Benchmark Apriltag detection: tag48_12 640x480 1541.62 1735.24 0.89
Benchmark Apriltag detection: tag41_12 640x480 1800.35 1698.38 1.06
Benchmark Apriltag detection: tag52_13 640x480 1504.13 1451.06 1.04

  • with 1 thread, it is better, run1 vs run2, before the changes:
Benchmark Apriltag detection 1920x1080 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 1920x1080 12035.70 11587.00 1.04
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=2 11737.00 11684.90 1.00
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=3 6160.22 6124.67 1.01
Benchmark Apriltag detection: tag25_09 1920x1080 11861.00 11799.30 1.01
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=2 11827.70 11750.00 1.01
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=3 6131.03 6115.11 1.00
Benchmark Apriltag detection: tag36_11 1920x1080 11901.60 11765.20 1.01
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=2 11790.70 11735.10 1.00
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=3 6261.49 6255.05 1.00
Benchmark Apriltag detection: tag21_07 1920x1080 8906.94 8833.60 1.01
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=2 8787.08 9935.82 0.88
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=3 4605.26 4879.76 0.94
Benchmark Apriltag detection: tag49_12 1920x1080 8877.08 10500.30 0.85
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=2 8884.04 9556.81 0.93
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=3 4682.96 4706.12 1.00
Benchmark Apriltag detection: tag48_12 1920x1080 9897.92 10678.20 0.93
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=2 9924.57 10172.40 0.98
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=3 5322.80 5542.23 0.96
Benchmark Apriltag detection: tag41_12 1920x1080 9573.35 9932.01 0.96
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=2 9481.86 10029.10 0.95
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=3 5021.99 5194.13 0.97
Benchmark Apriltag detection: tag52_13 1920x1080 9860.64 10517.60 0.94
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=2 9919.72 10909.80 0.91
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=3 5207.54 5570.30 0.93
Benchmark Apriltag detection 640x480 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 640x480 2542.34 2650.63 0.96
Benchmark Apriltag detection: tag25_09 640x480 2540.40 2708.01 0.94
Benchmark Apriltag detection: tag36_11 640x480 2640.03 2746.60 0.96
Benchmark Apriltag detection: tag21_07 640x480 1940.40 2071.06 0.94
Benchmark Apriltag detection: tag49_12 640x480 1937.14 1970.85 0.98
Benchmark Apriltag detection: tag48_12 640x480 1852.60 1863.39 0.99
Benchmark Apriltag detection: tag41_12 640x480 1943.98 1951.66 1.00
Benchmark Apriltag detection: tag52_13 640x480 1863.20 1876.88 0.99

  • comparison before / after, 1/2/4/8 threads, example:
./perfApriltagDetection --benchmark --nThreads 2 --blur 0.8 --benchmark-samples 200 \
    --reporter xml::out=perfApriltagDetection_2threads_run1_before.xml \
    --reporter console::out=-::colour-mode=ansi

1 thread

Benchmark Apriltag detection 1920x1080 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 1920x1080 12035.70 12093.80 1.00
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=2 11737.00 11823.20 0.99
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=3 6160.22 6170.47 1.00
Benchmark Apriltag detection: tag25_09 1920x1080 11861.00 12364.50 0.96
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=2 11827.70 11986.30 0.99
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=3 6131.03 6347.64 0.97
Benchmark Apriltag detection: tag36_11 1920x1080 11901.60 12182.40 0.98
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=2 11790.70 11787.10 1.00
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=3 6261.49 6270.25 1.00
Benchmark Apriltag detection: tag21_07 1920x1080 8906.94 9040.48 0.99
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=2 8787.08 9009.99 0.98
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=3 4605.26 4604.95 1.00
Benchmark Apriltag detection: tag49_12 1920x1080 8877.08 9731.75 0.91
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=2 8884.04 9518.16 0.93
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=3 4682.96 4879.03 0.96
Benchmark Apriltag detection: tag48_12 1920x1080 9897.92 10644.70 0.93
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=2 9924.57 10431.70 0.95
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=3 5322.80 5340.78 1.00
Benchmark Apriltag detection: tag41_12 1920x1080 9573.35 9892.70 0.97
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=2 9481.86 9746.55 0.97
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=3 5021.99 5278.91 0.95
Benchmark Apriltag detection: tag52_13 1920x1080 9860.64 10470.10 0.94
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=2 9919.72 10487.40 0.95
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=3 5207.54 5290.14 0.98
Benchmark Apriltag detection 640x480 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 640x480 2542.34 2593.78 0.98
Benchmark Apriltag detection: tag25_09 640x480 2540.40 2571.53 0.99
Benchmark Apriltag detection: tag36_11 640x480 2640.03 2608.93 1.01
Benchmark Apriltag detection: tag21_07 640x480 1940.40 1992.40 0.97
Benchmark Apriltag detection: tag49_12 640x480 1937.14 1998.69 0.97
Benchmark Apriltag detection: tag48_12 640x480 1852.60 1870.15 0.99
Benchmark Apriltag detection: tag41_12 640x480 1943.98 1958.89 0.99
Benchmark Apriltag detection: tag52_13 640x480 1863.20 1910.05 0.98

2 threads

Benchmark Apriltag detection 1920x1080 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 1920x1080 14962.80 7236.71 2.07
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=2 10103.50 7171.53 1.41
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=3 5242.10 3984.50 1.32
Benchmark Apriltag detection: tag25_09 1920x1080 17877.00 8111.63 2.20
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=2 17782.60 8604.45 2.07
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=3 10037.90 6788.04 1.48
Benchmark Apriltag detection: tag36_11 1920x1080 14354.10 8228.57 1.74
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=2 17248.50 7720.51 2.23
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=3 9886.42 3944.62 2.51
Benchmark Apriltag detection: tag21_07 1920x1080 14600.30 7815.02 1.87
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=2 14467.50 9715.87 1.49
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=3 7891.93 5987.65 1.32
Benchmark Apriltag detection: tag49_12 1920x1080 14514.90 8499.15 1.71
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=2 14998.80 9552.36 1.57
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=3 7719.32 7275.27 1.06
Benchmark Apriltag detection: tag48_12 1920x1080 15787.40 7353.19 2.15
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=2 16316.00 8704.95 1.87
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=3 9112.24 4037.89 2.26
Benchmark Apriltag detection: tag41_12 1920x1080 13953.80 7509.96 1.86
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=2 15743.70 7039.23 2.24
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=3 8167.35 6302.98 1.30
Benchmark Apriltag detection: tag52_13 1920x1080 13126.70 9308.54 1.41
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=2 15377.40 6787.63 2.27
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=3 8601.49 6269.36 1.37
Benchmark Apriltag detection 640x480 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 640x480 2169.48 1700.13 1.28
Benchmark Apriltag detection: tag25_09 640x480 2464.32 1756.31 1.40
Benchmark Apriltag detection: tag36_11 640x480 4168.57 3732.97 1.12
Benchmark Apriltag detection: tag21_07 640x480 3337.96 2456.01 1.36
Benchmark Apriltag detection: tag49_12 640x480 3134.79 2073.62 1.51
Benchmark Apriltag detection: tag48_12 640x480 3163.68 3066.68 1.03
Benchmark Apriltag detection: tag41_12 640x480 3401.56 1570.02 2.17
Benchmark Apriltag detection: tag52_13 640x480 3133.99 2324.16 1.35

4 threads

Benchmark Apriltag detection 1920x1080 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 1920x1080 12602.50 8407.78 1.50
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=2 11831.20 6306.11 1.88
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=3 3646.02 5634.05 0.65
Benchmark Apriltag detection: tag25_09 1920x1080 7743.98 5329.96 1.45
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=2 12582.60 6111.02 2.06
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=3 6857.99 4831.55 1.42
Benchmark Apriltag detection: tag36_11 1920x1080 12753.80 7109.74 1.79
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=2 11551.20 5894.72 1.96
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=3 5934.13 3839.07 1.55
Benchmark Apriltag detection: tag21_07 1920x1080 6166.22 5169.12 1.19
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=2 10869.90 5729.98 1.90
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=3 3540.25 3052.78 1.16
Benchmark Apriltag detection: tag49_12 1920x1080 6442.46 6962.68 0.93
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=2 6228.59 6936.62 0.90
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=3 3824.24 2995.84 1.28
Benchmark Apriltag detection: tag48_12 1920x1080 11277.50 7990.77 1.41
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=2 11372.90 7977.44 1.43
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=3 6127.75 4378.36 1.40
Benchmark Apriltag detection: tag41_12 1920x1080 7648.20 5107.79 1.50
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=2 6483.60 8294.39 0.78
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=3 3438.05 3132.77 1.10
Benchmark Apriltag detection: tag52_13 1920x1080 11626.80 7603.65 1.53
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=2 6931.20 6777.89 1.02
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=3 5576.61 4946.97 1.13
Benchmark Apriltag detection 640x480 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 640x480 1845.14 2959.03 0.62
Benchmark Apriltag detection: tag25_09 640x480 2276.62 2668.91 0.85
Benchmark Apriltag detection: tag36_11 640x480 1805.13 2881.76 0.63
Benchmark Apriltag detection: tag21_07 640x480 1512.58 1287.04 1.18
Benchmark Apriltag detection: tag49_12 640x480 1705.27 2162.14 0.79
Benchmark Apriltag detection: tag48_12 640x480 1541.62 2058.55 0.75
Benchmark Apriltag detection: tag41_12 640x480 1800.35 1284.82 1.40
Benchmark Apriltag detection: tag52_13 640x480 1504.13 2103.74 0.71

8 threads

Benchmark Apriltag detection 1920x1080 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 1920x1080 6290.17 6109.38 1.03
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=2 6437.87 6567.33 0.98
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=3 3742.60 4167.24 0.90
Benchmark Apriltag detection: tag25_09 1920x1080 6199.47 7412.08 0.84
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=2 6609.11 7211.01 0.92
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=3 4209.91 4102.60 1.03
Benchmark Apriltag detection: tag36_11 1920x1080 6280.08 7438.46 0.84
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=2 6309.21 5988.76 1.05
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=3 3680.40 4065.44 0.91
Benchmark Apriltag detection: tag21_07 1920x1080 6283.92 6845.29 0.92
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=2 5658.58 6727.97 0.84
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=3 2988.02 2630.72 1.14
Benchmark Apriltag detection: tag49_12 1920x1080 5638.36 6385.41 0.88
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=2 5661.88 6304.99 0.90
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=3 3078.35 4003.26 0.77
Benchmark Apriltag detection: tag48_12 1920x1080 6372.19 7365.89 0.87
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=2 6766.60 7450.92 0.91
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=3 3499.68 4367.93 0.80
Benchmark Apriltag detection: tag41_12 1920x1080 6365.56 7780.51 0.82
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=2 6776.80 7105.43 0.95
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=3 3385.18 3216.69 1.05
Benchmark Apriltag detection: tag52_13 1920x1080 6360.23 6196.97 1.03
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=2 6177.89 6666.17 0.93
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=3 3415.64 3473.74 0.98
Benchmark Apriltag detection 640x480 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 640x480 1793.81 2590.44 0.69
Benchmark Apriltag detection: tag25_09 640x480 1683.80 1881.09 0.90
Benchmark Apriltag detection: tag36_11 640x480 1821.68 1899.77 0.96
Benchmark Apriltag detection: tag21_07 640x480 1620.65 1531.69 1.06
Benchmark Apriltag detection: tag49_12 640x480 1523.51 1633.07 0.93
Benchmark Apriltag detection: tag48_12 640x480 1477.57 1665.42 0.89
Benchmark Apriltag detection: tag41_12 640x480 1687.01 1612.90 1.05
Benchmark Apriltag detection: tag52_13 640x480 1685.99 1583.01 1.07

  • 1 thread vs 2 threads, after:
Benchmark Apriltag detection 1920x1080 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 1920x1080 12093.80 7236.71 1.67
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=2 11823.20 7171.53 1.65
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=3 6170.47 3984.50 1.55
Benchmark Apriltag detection: tag25_09 1920x1080 12364.50 8111.63 1.52
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=2 11986.30 8604.45 1.39
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=3 6347.64 6788.04 0.94
Benchmark Apriltag detection: tag36_11 1920x1080 12182.40 8228.57 1.48
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=2 11787.10 7720.51 1.53
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=3 6270.25 3944.62 1.59
Benchmark Apriltag detection: tag21_07 1920x1080 9040.48 7815.02 1.16
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=2 9009.99 9715.87 0.93
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=3 4604.95 5987.65 0.77
Benchmark Apriltag detection: tag49_12 1920x1080 9731.75 8499.15 1.15
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=2 9518.16 9552.36 1.00
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=3 4879.03 7275.27 0.67
Benchmark Apriltag detection: tag48_12 1920x1080 10644.70 7353.19 1.45
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=2 10431.70 8704.95 1.20
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=3 5340.78 4037.89 1.32
Benchmark Apriltag detection: tag41_12 1920x1080 9892.70 7509.96 1.32
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=2 9746.55 7039.23 1.38
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=3 5278.91 6302.98 0.84
Benchmark Apriltag detection: tag52_13 1920x1080 10470.10 9308.54 1.12
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=2 10487.40 6787.63 1.55
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=3 5290.14 6269.36 0.84
Benchmark Apriltag detection 640x480 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 640x480 2593.78 1700.13 1.53
Benchmark Apriltag detection: tag25_09 640x480 2571.53 1756.31 1.46
Benchmark Apriltag detection: tag36_11 640x480 2608.93 3732.97 0.70
Benchmark Apriltag detection: tag21_07 640x480 1992.40 2456.01 0.81
Benchmark Apriltag detection: tag49_12 640x480 1998.69 2073.62 0.96
Benchmark Apriltag detection: tag48_12 640x480 1870.15 3066.68 0.61
Benchmark Apriltag detection: tag41_12 640x480 1958.89 1570.02 1.25
Benchmark Apriltag detection: tag52_13 640x480 1910.05 2324.16 0.82

  • 1 thread vs 4 threads, after:
Benchmark Apriltag detection 1920x1080 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 1920x1080 12093.80 8407.78 1.44
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=2 11823.20 6306.11 1.87
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=3 6170.47 5634.05 1.10
Benchmark Apriltag detection: tag25_09 1920x1080 12364.50 5329.96 2.32
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=2 11986.30 6111.02 1.96
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=3 6347.64 4831.55 1.31
Benchmark Apriltag detection: tag36_11 1920x1080 12182.40 7109.74 1.71
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=2 11787.10 5894.72 2.00
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=3 6270.25 3839.07 1.63
Benchmark Apriltag detection: tag21_07 1920x1080 9040.48 5169.12 1.75
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=2 9009.99 5729.98 1.57
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=3 4604.95 3052.78 1.51
Benchmark Apriltag detection: tag49_12 1920x1080 9731.75 6962.68 1.40
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=2 9518.16 6936.62 1.37
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=3 4879.03 2995.84 1.63
Benchmark Apriltag detection: tag48_12 1920x1080 10644.70 7990.77 1.33
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=2 10431.70 7977.44 1.31
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=3 5340.78 4378.36 1.22
Benchmark Apriltag detection: tag41_12 1920x1080 9892.70 5107.79 1.94
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=2 9746.55 8294.39 1.18
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=3 5278.91 3132.77 1.69
Benchmark Apriltag detection: tag52_13 1920x1080 10470.10 7603.65 1.38
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=2 10487.40 6777.89 1.55
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=3 5290.14 4946.97 1.07
Benchmark Apriltag detection 640x480 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 640x480 2593.78 2959.03 0.88
Benchmark Apriltag detection: tag25_09 640x480 2571.53 2668.91 0.96
Benchmark Apriltag detection: tag36_11 640x480 2608.93 2881.76 0.91
Benchmark Apriltag detection: tag21_07 640x480 1992.40 1287.04 1.55
Benchmark Apriltag detection: tag49_12 640x480 1998.69 2162.14 0.92
Benchmark Apriltag detection: tag48_12 640x480 1870.15 2058.55 0.91
Benchmark Apriltag detection: tag41_12 640x480 1958.89 1284.82 1.52
Benchmark Apriltag detection: tag52_13 640x480 1910.05 2103.74 0.91

  • 1 thread vs 8 threads, after:
Benchmark Apriltag detection 1920x1080 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 1920x1080 12093.80 6109.38 1.98
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=2 11823.20 6567.33 1.80
Benchmark Apriltag detection: tag16_05 1920x1080 decimate=3 6170.47 4167.24 1.48
Benchmark Apriltag detection: tag25_09 1920x1080 12364.50 7412.08 1.67
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=2 11986.30 7211.01 1.66
Benchmark Apriltag detection: tag25_09 1920x1080 decimate=3 6347.64 4102.60 1.55
Benchmark Apriltag detection: tag36_11 1920x1080 12182.40 7438.46 1.64
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=2 11787.10 5988.76 1.97
Benchmark Apriltag detection: tag36_11 1920x1080 decimate=3 6270.25 4065.44 1.54
Benchmark Apriltag detection: tag21_07 1920x1080 9040.48 6845.29 1.32
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=2 9009.99 6727.97 1.34
Benchmark Apriltag detection: tag21_07 1920x1080 decimate=3 4604.95 2630.72 1.75
Benchmark Apriltag detection: tag49_12 1920x1080 9731.75 6385.41 1.52
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=2 9518.16 6304.99 1.51
Benchmark Apriltag detection: tag49_12 1920x1080 decimate=3 4879.03 4003.26 1.22
Benchmark Apriltag detection: tag48_12 1920x1080 10644.70 7365.89 1.45
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=2 10431.70 7450.92 1.40
Benchmark Apriltag detection: tag48_12 1920x1080 decimate=3 5340.78 4367.93 1.22
Benchmark Apriltag detection: tag41_12 1920x1080 9892.70 7780.51 1.27
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=2 9746.55 7105.43 1.37
Benchmark Apriltag detection: tag41_12 1920x1080 decimate=3 5278.91 3216.69 1.64
Benchmark Apriltag detection: tag52_13 1920x1080 10470.10 6196.97 1.69
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=2 10487.40 6666.17 1.57
Benchmark Apriltag detection: tag52_13 1920x1080 decimate=3 5290.14 3473.74 1.52
Benchmark Apriltag detection 640x480 - time unit: us Before After Speed-up
Benchmark Apriltag detection: tag16_05 640x480 2593.78 2590.44 1.00
Benchmark Apriltag detection: tag25_09 640x480 2571.53 1881.09 1.37
Benchmark Apriltag detection: tag36_11 640x480 2608.93 1899.77 1.37
Benchmark Apriltag detection: tag21_07 640x480 1992.40 1531.69 1.30
Benchmark Apriltag detection: tag49_12 640x480 1998.69 1633.07 1.22
Benchmark Apriltag detection: tag48_12 640x480 1870.15 1665.42 1.12
Benchmark Apriltag detection: tag41_12 640x480 1958.89 1612.90 1.21
Benchmark Apriltag detection: tag52_13 640x480 1910.05 1583.01 1.21

@s-trinh s-trinh force-pushed the add_apriltag_threaded_convolution branch from b7fa0be to b66ea98 Compare August 15, 2025 13:57
@codecov
Copy link

codecov bot commented Sep 2, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 54.39%. Comparing base (6c74a4c) to head (a50db79).
⚠️ Report is 89 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1748      +/-   ##
==========================================
- Coverage   54.39%   54.39%   -0.01%     
==========================================
  Files         447      447              
  Lines       54582    54582              
==========================================
- Hits        29691    29690       -1     
- Misses      24891    24892       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@fspindle
Copy link
Contributor

fspindle commented Oct 3, 2025

@s-trinh Thanks

@fspindle fspindle merged commit 84c4483 into lagadic:master Oct 3, 2025
77 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants