cdcseacave / openMVS

open Multi-View Stereo reconstruction library
http://cdcseacave.github.io
GNU Affero General Public License v3.0
3.36k stars 909 forks source link

Point cloud visibility filter issue #1165

Open originlake opened 3 months ago

originlake commented 3 months ago

Hi,

I noticed there could be a problem in the point cloud visibility filter. The problem is described https://github.com/OpenDroneMap/ODM/issues/1785. I believe the current algorithm cannot handle well for the case like the red shot in the below image, where closer points will occlude further points and leads to unpredictable results in the algorithm. I think introducing normal into consideration could help resolving this problem, I tried to ignore the points that have large angle compared to the shot view direction (smaller than 100° for example) which works for solving the issue in my dataset.

Screenshot from 2024-07-30 12-07-21

cdcseacave commented 3 months ago

Thx for posting this issue. Pls clarify which is the filtering algorithm you are referring to? Point me to the function or command in OpenMVS

originlake commented 3 months ago

The command is shown below(example), it's executed right after the dense point cloud reconstruction(example)

DensifyPointCloud --filter-point-cloud -20 -i <mvs file>.mvs

Function https://github.com/cdcseacave/openMVS/blob/ce03889e2055a3d6cbcae9dd5a93b5eeea94b909/libs/MVS/SceneDensify.cpp#L2225-L2359