So I actually was able to filter out the noise pretty well by adding a temporal filter to confidence and depth values in PerCameraMgr::RoyaleDataDone
in hal3_camera_mgr.cpp
.
^ I used an exponential moving average with alpha = 0.25. After updating the EMA buffer, I cleaned things up further by reducing all confidence values below an ~80% threshold (200/255) to zero,
That seems to be working pretty well at reducing/ignoring noise artifacts from sunlight while still being able to see large objects.
I've only tested it out on the ground so far though, and expect to encounter reliability issues in the air when everything is in motion. I've already noticed that when I walk around in frame, I ghost and become lost in the noise due to the temporal nature of the filter. I'll probably tweak things more and try to experiment with median/spatial filters as well, but for now this at least seems like it should work for things like large trees, buildings, and the ground, when the drone is flying slowly.
Still interested to know more about how outdoor obstacle avoidance is addressed with the Starling Max v2.