Feature-Type Explanations

I’ve been experimenting with creating 3D models from various datasets and as I’ve been going through the settings I started looking into the “Feature-type” settings and haven’t been able to find a good description of the different types and if there are different use cases for them. Would anybody be able to provide more of a definition on them?



I need to write this up formally, haha. Thanks for the reminder!

Real quick back-of-the-napkin:
SIFT = Safest bet, performant and robust
AKAZE = Can sometimes deal with lower-resolution images better
HAHOG = Incredibly slow, can sometimes match more robust than SIFT
ORB = Can be significantly faster than others, limited to 15k features currently, can handle noisy data

So basically, throw SIFT at everything. If it doesn’t work, maybe try HAHOG if you’ve got the time. After that, come ask us and show us some sample data so we can see if you need to try something different.

AKAZE and ORB are not fully/properly implemented, so they have limitations, though in certain situations they can be worthwhile.


As always Saijin, the info you give is much appreciated! Thank you!

I was running a couple of low quality data sets through to see what WebODM would generate for 3D models and experimenting with the different settings. Interestingly enough Akaze seemed to output a better 3D point cloud and textured model then SIFT on them. Very subjectively that is. The data set was just 10-15 images of objects on my desk so nothing too crazy. That would match up though with the lower resolution images as you stated.


It seems to be highly situational, for sure! I’m still reviewing the literature to see if I can draw some conclusions in general, so it is nice to hear that your experimentation seems to match what trends I’m identifying in the literature.

Happy processing, and keep asking questions as they come up!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.