We recently have gained the ability to use SIFT in addition to HaHOG, which is great.
From reading further on the OpenCV Documentation (OpenCV: Feature Detection and Description), it looks like there may yet be other Feature Detection algorithms that may offer us further benefits over HaHOG/SIFT.
SIFT (Scale-Invariant Feature Transform):
https://docs.opencv.org/master/da/df5/tutorial_py_sift_intro.html
SURF (Speeded-Up Robust Features):
https://docs.opencv.org/master/df/dd2/tutorial_py_surf_intro.html
ORB (Oriented FAST and Rotated BRIEF):
https://docs.opencv.org/master/d1/d89/tutorial_py_orb.html
This paper highlights SIFT/SURF/ORB (among others that OpenCV doesn’t seem to expose):
My impression is that SIFT/SURF/ORB are all quite good, with SURF being faster and less computationally intense than SIFT, and ORB being the most efficient with the lowest computational cost, as well as having the highest number of detected features.
Another article showing some examples:
Looks like SIFT might be the most robust overall in difficult conditions, though ORB matches it in noisy conditions.
SIFT distributes features randomly across the frame/images, ORB concentrates on the middle.
I think for possible defaults, ORB could be used for situations like mapping buildings and solar panels/etc, as it sounds like this is ORB’s jam (constructing edges/corners).