It is also important to run a performance comparison to see which of the algorithms and methods works faster. To run the analysis, I have used the @btime macro from the BenchmarkTools package in the following code:
using Images, ImageFeatures, BenchmarkTools
@btime fastcorners(img_f, 12, 0.15);
# Main> 6.504 ms (12 allocations: 150.27 KiB)
@btime fastcorners(img_f, 12, 0.05);
# Main> 8.954 ms (12 allocations: 150.27 KiB)
@btime imcorner(img_f, method=harris);
# Main> 8.022 ms (69574 allocations: 8.79 MiB)
@btime imcorner(img_f, Percentile(95), method=harris);
# Main> 7.024 ms (69574 allocations: 9.15 MiB)
@btime imcorner(img_f, method=shi_tomasi);
# Main> 8.133 ms (8986 allocations: 7.96 MiB)
@btime imcorner(img_f, method=kitchen_rosenfeld);
# Main> 7.122 ms (977 allocations: 7.25 MiB)
Despite the time growth for the smaller threshold value when using the fastcorners function, the memory consumption stays small and fixed. It makes it preferred algorithm for all subsequent tasks we will be doing in the following sections.