megvii-research / TransMVSNet

(CVPR 2022) TransMVSNet: Global Context-aware Multi-view Stereo Network with Transformers.
MIT License
262 stars 25 forks source link

The program stops suddenly but does not report an error #21

Open ZDDWLIG opened 1 year ago

ZDDWLIG commented 1 year ago

During the running of test_tnt.sh, the generation of mask images always stops suddenly, but the program is not interrupted and no error is reported. At the same time, the consumption of resources such as cpu and memory drops sharply.

9c534c9dff49ec9f16e53026a2a2f5f

The following two pictures are not the same run test_tnt.sh but the same problem occurred

1c8329631e5c8efd3484a8ca12f52d1 1c4a4d751b149433b1bf3eca68e026b
DingYikang commented 1 year ago

After filtering the outliers in the fusion process, the program needs time to generate the point cloud results (there is no new message in the terminal during this phase), so you might need to wait for a while.

If you find the program is stuck due to resource limitation, you could try to set the default multi-thread from 8 to 1 (in Line-302 of dynamic_fusion.py).

ZDDWLIG commented 1 year ago

Thank you very much for your reply. However, a new problem appeared. We tried to use gipuma for point cloud fusion, but the following error occurred:

c4f0c5aa5a6627ee6c0be0ec231e373

Point clouds can be generated correctly using the normal or dynamic method

DingYikang commented 1 year ago

Hi, it looks like your gipuma is not installed correctly. Please follow the instruction in README and re-install the gipuma. Make sure there is no error message when compiling and installing the gipuma.

SLwarrior commented 1 year ago

Hello, when I used gipuma method to fuse point cloud, the process was interrupted. May I ask what caused it? image

DingYikang commented 1 year ago

Hi, I think the program is killed due to insufficient system memory. For the TnT dataset, we recommend using dynamic fuse instead of gipuma fuse.

SLwarrior commented 1 year ago

Hi, thank you for your response. The issue was indeed due to insufficient memory, and I have resolved it now. Here are the results of my reconstruction, but there are quite a few outliers. Could you please advise on how to set a filtering threshold for each scene in the TNT dataset to remove these outliers? I look forward to your reply and wish you a pleasant day. image

DingYikang commented 1 year ago

Hi, glad to hear that you have solved the problem.

To get fewer outliers, you can turn up the --photo_threshold in test_tnt.sh (if you use our released code and the dynamic fuse). Generally speaking, turning up the --photo_threshold or --thres_view will reduce the total points number (including outliers and inliers), which means the accuracy will be better but the completeness will become worse.

It's pretty hard to filter all of the outliers.

Hope this can help you.

SLwarrior commented 1 year ago

Hello, your method is very helpful to me. Thank you for your reply. Have a good day!