NVlabs / BundleSDF

[CVPR 2023] BundleSDF: Neural 6-DoF Tracking and 3D Reconstruction of Unknown Objects
https://bundlesdf.github.io/
Other
1.04k stars 114 forks source link

Files deleted automatically! Very strange thing. #117

Closed percypeng5221 closed 11 months ago

percypeng5221 commented 11 months ago

I was following the README.md step by step. It works till this part: # 1) Run joint tracking and reconstruction python run_custom.py --mode run_video --video_dir /home/bowen/debug/2022-11-18-15-10-24_milk --out_folder /home/bowen/debug/bundlesdf_2022-11-18-15-10-24_milk --use_segmenter 1 --use_gui 1 --debug_level 2 After running the program on the milk dataset, it seems that most files in the folder are deleted! Only these files are left: . ├── config_bundletrack.yml └── config_nerf.yml And this is the output from the terminal: root@percyp:/home/percyp/BundleSDF# python run_custom.py --mode run_video --video_dir /home/percyp/milk --out_folder /home/percyp/milk --use_segmenter 1 --use_gui 1 --debug_level 2 [2023-11-14 12:00:19.949] [warning] [Bundler.cpp:49] Connected to nerf_port 9999 [2023-11-14 12:00:19.949] [warning] [FeatureManager.cpp:2084] Connected to port 5555 default_cfg {'backbone_type': 'ResNetFPN', 'resolution': (8, 2), 'fine_window_size': 5, 'fine_concat_coarse_feat': True, 'resnetfpn': {'initial_dim': 128, 'block_dims': [128, 196, 256]}, 'coarse': {'d_model': 256, 'd_ffn': 256, 'nhead': 8, 'layer_names': ['self', 'cross', 'self', 'cross', 'self', 'cross', 'self', 'cross'], 'attention': 'linear', 'temp_bug_fix': False}, 'match_coarse': {'thr': 0.2, 'border_rm': 2, 'match_type': 'dual_softmax', 'dsmax_temperature': 0.1, 'skh_iters': 3, 'skh_init_bin_score': 1.0, 'skh_prefilter': True, 'train_coarse_percent': 0.4, 'train_pad_num_gt_min': 200}, 'fine': {'d_model': 128, 'd_ffn': 128, 'nhead': 8, 'layer_names': ['self', 'cross'], 'attention': 'linear'}} GUI started Traceback (most recent call last): File "run_custom.py", line 223, in <module> run_one_video(video_dir=args.video_dir, out_folder=args.out_folder, use_segmenter=args.use_segmenter, use_gui=args.use_gui) File "run_custom.py", line 70, in run_one_video reader = YcbineoatReader(video_dir=video_dir, shorter_side=480) File "/home/percyp/BundleSDF/BundleTrack/scripts/data_reader.py", line 26, in __init__ self.K = np.loadtxt(f'{video_dir}/cam_K.txt').reshape(3,3) File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/npyio.py", line 1356, in loadtxt arr = _read(fname, dtype=dtype, comment=comment, delimiter=delimiter, File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/npyio.py", line 975, in _read fh = np.lib._datasource.open(fname, 'rt', encoding=encoding) File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/_datasource.py", line 193, in open return ds.open(path, mode, encoding=encoding, newline=newline) File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/_datasource.py", line 533, in open raise FileNotFoundError(f"{path} not found.") FileNotFoundError: /home/percyp/milk/cam_K.txt not found. Process Process-2: Process Process-3: Traceback (most recent call last): File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap self.run() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 108, in run self._target(*self._args, **self._kwargs) File "/home/percyp/BundleSDF/bundlesdf.py", line 37, in run_gui if gui_dict['join']: File "<string>", line 2, in __getitem__ File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/managers.py", line 835, in _callmethod kind, result = conn.recv() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 250, in recv buf = self._recv_bytes() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 414, in _recv_bytes buf = self._recv(4) File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 379, in _recv chunk = read(handle, remaining) ConnectionResetError: [Errno 104] Connection reset by peer Traceback (most recent call last): File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap self.run() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 108, in run self._target(*self._args, **self._kwargs) File "/home/percyp/BundleSDF/bundlesdf.py", line 89, in run_nerf join = p_dict['join'] File "<string>", line 2, in __getitem__ File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/managers.py", line 835, in _callmethod kind, result = conn.recv() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 250, in recv buf = self._recv_bytes() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 414, in _recv_bytes buf = self._recv(4) File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 379, in _recv chunk = read(handle, remaining) ConnectionResetError: [Errno 104] Connection reset by peer [2023-11-14 12:00:23.164] [warning] [Bundler.cpp:59] Destructor (py38) root@percyp:/home/percyp/BundleSDF# python run_custom.py --mode run_video --video_dir /home/percyp/milk --out_folder /home/percyp/milk --use_segmenter 1 --use_gui 1 --debug_level 2 [2023-11-14 12:13:21.300] [warning] [Bundler.cpp:49] Connected to nerf_port 9999 [2023-11-14 12:13:21.300] [warning] [FeatureManager.cpp:2084] Connected to port 5555 default_cfg {'backbone_type': 'ResNetFPN', 'resolution': (8, 2), 'fine_window_size': 5, 'fine_concat_coarse_feat': True, 'resnetfpn': {'initial_dim': 128, 'block_dims': [128, 196, 256]}, 'coarse': {'d_model': 256, 'd_ffn': 256, 'nhead': 8, 'layer_names': ['self', 'cross', 'self', 'cross', 'self', 'cross', 'self', 'cross'], 'attention': 'linear', 'temp_bug_fix': False}, 'match_coarse': {'thr': 0.2, 'border_rm': 2, 'match_type': 'dual_softmax', 'dsmax_temperature': 0.1, 'skh_iters': 3, 'skh_init_bin_score': 1.0, 'skh_prefilter': True, 'train_coarse_percent': 0.4, 'train_pad_num_gt_min': 200}, 'fine': {'d_model': 128, 'd_ffn': 128, 'nhead': 8, 'layer_names': ['self', 'cross'], 'attention': 'linear'}} GUI started Traceback (most recent call last): File "run_custom.py", line 223, in <module> run_one_video(video_dir=args.video_dir, out_folder=args.out_folder, use_segmenter=args.use_segmenter, use_gui=args.use_gui) File "run_custom.py", line 70, in run_one_video reader = YcbineoatReader(video_dir=video_dir, shorter_side=480) File "/home/percyp/BundleSDF/BundleTrack/scripts/data_reader.py", line 26, in __init__ self.K = np.loadtxt(f'{video_dir}/cam_K.txt').reshape(3,3) File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/npyio.py", line 1356, in loadtxt arr = _read(fname, dtype=dtype, comment=comment, delimiter=delimiter, File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/npyio.py", line 975, in _read fh = np.lib._datasource.open(fname, 'rt', encoding=encoding) File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/_datasource.py", line 193, in open return ds.open(path, mode, encoding=encoding, newline=newline) File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/_datasource.py", line 533, in open raise FileNotFoundError(f"{path} not found.") FileNotFoundError: /home/percyp/milk/cam_K.txt not found. Process Process-2: Process Process-3: Traceback (most recent call last): File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap self.run() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 108, in run self._target(*self._args, **self._kwargs) File "/home/percyp/BundleSDF/bundlesdf.py", line 37, in run_gui if gui_dict['join']: File "<string>", line 2, in __getitem__ File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/managers.py", line 835, in _callmethod kind, result = conn.recv() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 250, in recv buf = self._recv_bytes() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 414, in _recv_bytes buf = self._recv(4) File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 379, in _recv chunk = read(handle, remaining) ConnectionResetError: [Errno 104] Connection reset by peer Traceback (most recent call last): File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap self.run() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 108, in run self._target(*self._args, **self._kwargs) File "/home/percyp/BundleSDF/bundlesdf.py", line 89, in run_nerf join = p_dict['join'] File "<string>", line 2, in __getitem__ File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/managers.py", line 835, in _callmethod kind, result = conn.recv() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 250, in recv buf = self._recv_bytes() File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 414, in _recv_bytes buf = self._recv(4) File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 379, in _recv chunk = read(handle, remaining) ConnectionResetError: [Errno 104] Connection reset by peer [2023-11-14 12:13:24.390] [warning] [Bundler.cpp:59] Destructor

percypeng5221 commented 11 months ago

Sorry, the output is a little nasty. I changed the format a little:


[2023-11-14 12:00:19.949] [warning] [Bundler.cpp:49] Connected to nerf_port 9999
[2023-11-14 12:00:19.949] [warning] [FeatureManager.cpp:2084] Connected to port 5555
default_cfg {'backbone_type': 'ResNetFPN', 'resolution': (8, 2), 'fine_window_size': 5, 'fine_concat_coarse_feat': True, 'resnetfpn': {'initial_dim': 128, 'block_dims': [128, 196, 256]}, 'coarse': {'d_model': 256, 'd_ffn': 256, 'nhead': 8, 'layer_names': ['self', 'cross', 'self', 'cross', 'self', 'cross', 'self', 'cross'], 'attention': 'linear', 'temp_bug_fix': False}, 'match_coarse': {'thr': 0.2, 'border_rm': 2, 'match_type': 'dual_softmax', 'dsmax_temperature': 0.1, 'skh_iters': 3, 'skh_init_bin_score': 1.0, 'skh_prefilter': True, 'train_coarse_percent': 0.4, 'train_pad_num_gt_min': 200}, 'fine': {'d_model': 128, 'd_ffn': 128, 'nhead': 8, 'layer_names': ['self', 'cross'], 'attention': 'linear'}}
GUI started
Traceback (most recent call last):
  File "run_custom.py", line 223, in <module>
    run_one_video(video_dir=args.video_dir, out_folder=args.out_folder, use_segmenter=args.use_segmenter, use_gui=args.use_gui)
  File "run_custom.py", line 70, in run_one_video
    reader = YcbineoatReader(video_dir=video_dir, shorter_side=480)
  File "/home/percyp/BundleSDF/BundleTrack/scripts/data_reader.py", line 26, in __init__
    self.K = np.loadtxt(f'{video_dir}/cam_K.txt').reshape(3,3)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/npyio.py", line 1356, in loadtxt
    arr = _read(fname, dtype=dtype, comment=comment, delimiter=delimiter,
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/npyio.py", line 975, in _read
    fh = np.lib._datasource.open(fname, 'rt', encoding=encoding)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/_datasource.py", line 193, in open
    return ds.open(path, mode, encoding=encoding, newline=newline)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/_datasource.py", line 533, in open
    raise FileNotFoundError(f"{path} not found.")
FileNotFoundError: /home/percyp/milk/cam_K.txt not found.
Process Process-2:
Process Process-3:
Traceback (most recent call last):
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/percyp/BundleSDF/bundlesdf.py", line 37, in run_gui
    if gui_dict['join']:
  File "<string>", line 2, in __getitem__
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/managers.py", line 835, in _callmethod
    kind, result = conn.recv()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 250, in recv
    buf = self._recv_bytes()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 414, in _recv_bytes
    buf = self._recv(4)
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 379, in _recv
    chunk = read(handle, remaining)
ConnectionResetError: [Errno 104] Connection reset by peer
Traceback (most recent call last):
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/percyp/BundleSDF/bundlesdf.py", line 89, in run_nerf
    join = p_dict['join']
  File "<string>", line 2, in __getitem__
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/managers.py", line 835, in _callmethod
    kind, result = conn.recv()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 250, in recv
    buf = self._recv_bytes()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 414, in _recv_bytes
    buf = self._recv(4)
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 379, in _recv
    chunk = read(handle, remaining)
ConnectionResetError: [Errno 104] Connection reset by peer
[2023-11-14 12:00:23.164] [warning] [Bundler.cpp:59] Destructor
(py38) root@percyp:/home/percyp/BundleSDF# python run_custom.py --mode run_video --video_dir /home/percyp/milk --out_folder /home/percyp/milk  --use_segmenter 1 --use_gui 1 --debug_level 2
[2023-11-14 12:13:21.300] [warning] [Bundler.cpp:49] Connected to nerf_port 9999
[2023-11-14 12:13:21.300] [warning] [FeatureManager.cpp:2084] Connected to port 5555
default_cfg {'backbone_type': 'ResNetFPN', 'resolution': (8, 2), 'fine_window_size': 5, 'fine_concat_coarse_feat': True, 'resnetfpn': {'initial_dim': 128, 'block_dims': [128, 196, 256]}, 'coarse': {'d_model': 256, 'd_ffn': 256, 'nhead': 8, 'layer_names': ['self', 'cross', 'self', 'cross', 'self', 'cross', 'self', 'cross'], 'attention': 'linear', 'temp_bug_fix': False}, 'match_coarse': {'thr': 0.2, 'border_rm': 2, 'match_type': 'dual_softmax', 'dsmax_temperature': 0.1, 'skh_iters': 3, 'skh_init_bin_score': 1.0, 'skh_prefilter': True, 'train_coarse_percent': 0.4, 'train_pad_num_gt_min': 200}, 'fine': {'d_model': 128, 'd_ffn': 128, 'nhead': 8, 'layer_names': ['self', 'cross'], 'attention': 'linear'}}
GUI started
Traceback (most recent call last):
  File "run_custom.py", line 223, in <module>
    run_one_video(video_dir=args.video_dir, out_folder=args.out_folder, use_segmenter=args.use_segmenter, use_gui=args.use_gui)
  File "run_custom.py", line 70, in run_one_video
    reader = YcbineoatReader(video_dir=video_dir, shorter_side=480)
  File "/home/percyp/BundleSDF/BundleTrack/scripts/data_reader.py", line 26, in __init__
    self.K = np.loadtxt(f'{video_dir}/cam_K.txt').reshape(3,3)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/npyio.py", line 1356, in loadtxt
    arr = _read(fname, dtype=dtype, comment=comment, delimiter=delimiter,
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/npyio.py", line 975, in _read
    fh = np.lib._datasource.open(fname, 'rt', encoding=encoding)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/_datasource.py", line 193, in open
    return ds.open(path, mode, encoding=encoding, newline=newline)
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/numpy/lib/_datasource.py", line 533, in open
    raise FileNotFoundError(f"{path} not found.")
FileNotFoundError: /home/percyp/milk/cam_K.txt not found.
Process Process-2:
Process Process-3:
Traceback (most recent call last):
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/percyp/BundleSDF/bundlesdf.py", line 37, in run_gui
    if gui_dict['join']:
  File "<string>", line 2, in __getitem__
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/managers.py", line 835, in _callmethod
    kind, result = conn.recv()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 250, in recv
    buf = self._recv_bytes()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 414, in _recv_bytes
    buf = self._recv(4)
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 379, in _recv
    chunk = read(handle, remaining)
ConnectionResetError: [Errno 104] Connection reset by peer
Traceback (most recent call last):
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/percyp/BundleSDF/bundlesdf.py", line 89, in run_nerf
    join = p_dict['join']
  File "<string>", line 2, in __getitem__
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/managers.py", line 835, in _callmethod
    kind, result = conn.recv()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 250, in recv
    buf = self._recv_bytes()
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 414, in _recv_bytes
    buf = self._recv(4)
  File "/opt/conda/envs/py38/lib/python3.8/multiprocessing/connection.py", line 379, in _recv
    chunk = read(handle, remaining)
ConnectionResetError: [Errno 104] Connection reset by peer
[2023-11-14 12:13:24.390] [warning] [Bundler.cpp:59] Destructor```
wenbowen123 commented 11 months ago
FileNotFoundError: /home/percyp/milk/cam_K.txt not found.

what's this folder like?

percypeng5221 commented 11 months ago

I just downloaded the milk dataset and rename it as milk. After I run the program, only . config_bundletrack.yml and config_nerf.yml are left inside the folder. And somehow, the folder cannot be deleted unless using sudo command. Very strange thing. At which part does the code delete files? Do you think the problem comes from this repository or docker?

wenbowen123 commented 11 months ago

in argparse, there is a --out_folder and --video_dir. The out_folder should be used for output and will be cleared up each time you run. Did you set them as the same thing?

percypeng5221 commented 11 months ago

Oh, yeah. I make those two files the same. Now this problem is fixed. Thanks!