zju3dv / NeuralRecon

Code for "NeuralRecon: Real-Time Coherent 3D Reconstruction from Monocular Video", CVPR 2021 oral
https://zju3dv.github.io/neuralrecon/
Apache License 2.0
2.03k stars 294 forks source link

Project dependencies may have API risk issues #118

Open PyDeps opened 1 year ago

PyDeps commented 1 year ago

Hi, In NeuralRecon, inappropriate dependency versioning constraints can cause risks.

Below are the dependencies and version constraints that the project is using

ray
transforms3d
tqdm
opencv-python
numba
pycuda
tensorboardX
scikit-image
trimesh~=3.9.18
yacs
h5py
loguru
gdown
pyrender~=0.1.45
pyglet
open3d

The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict. The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.

After further analysis, in this project, The version constraint of dependency tqdm can be changed to >=4.36.0,<=4.64.0. The version constraint of dependency numba can be changed to >=0.34.0,<=0.55.2. The version constraint of dependency pycuda can be changed to >=2015.1,<=2021.1. The version constraint of dependency pyglet can be changed to >=1.3.0rc2,<=1.4.11.

The above modification suggestions can reduce the dependency conflicts as much as possible, and introduce the latest version as much as possible without calling Error in the projects.

The invocation of the current project includes all the following methods.

The calling methods from the tqdm
tqdm.tqdm
The calling methods from the numba
numba.prange
numba.njit
The calling methods from the pycuda
pycuda.compiler.SourceModule
The calling methods from the pyglet
datetime.datetime.now
The calling methods from the all methods
numpy.concatenate.append
tools.visualize_metrics.visualize
torchsparse.PointTensor
numpy.sin
torch.cuda.empty_cache
coords_world_s.abs.squeeze
occ_target.view.sum
f.writelines
numpy.ones
train_sample
mask.unsqueeze.permute
grid.unsqueeze.cuda.float
load_camera_intrinsic
self.upsample
cam_pose.float.to
yv.reshape
utils.sparse_to_dense_channel
self._vol_dim.torch.ones.to
torch.rand
args
enumerate
test_sample
up_feat.view.view
self.inner2
coords.detach.clone.long
Renderer.mesh_opengl
numpy.random.choice
x.split
tqdm.tqdm
utils.apply_log_transform.sum
outputs.append
BasicConvolutionBlock
extrinsics_list.append
z.C.view
up_coords.torch.cat.permute
torch.cat.detach
ray.get
z.idx_query.get
self.convq
torch.multiprocessing.set_sharing_strategy
inserted_coords.torch.round.int
utils.SaveScene
r_coords.shape.torch.zeros.to
grid.view.view
img.data.cpu.numpy
torch.Tensor.view.long.torch.Tensor.PointTensor.cuda
range
np.minimum
x.split.split
im_grid.view.view
mask.sum.sum
torch.stack
torch.zeros_like
numpy.logical_and
rs_grid.permute.contiguous
utils.coordinates.type
self.DemoDataset.super.__init__
features.permute.contiguous
self.transforms
numpy.abs
coords.shape.torch.zeros.cuda
vars.data.item
i.coords.torch.nonzero.squeeze
l.tsdf_vol_list.get_mesh
torch.nn.parallel.DistributedDataParallel
self.relu
global_coords_target.dim.global_coords_target.all
os.path.join
torch.nn.init.constant_
load_camera_pose.items
self.stage2
ResidualBlock
im_z.sum.unsqueeze.sum
self.fix_pose
full_tsdf_list.append
torch.ones_like
cv2.destroyAllWindows
pre_coords.unsqueeze
torch.randperm
self.read_scene_volumes
depth_im.float.to
self.reset
scale.self.global_volume.F.squeeze
float
torch.optim.Adam.state_dict
utils.tocuda
meshwrite
pyrender.Mesh.from_trimesh
rotx.dot
self.transform.pop
color_im.reshape.astype
cfg.defrost
np.loadtxt
numpy.stack
int
depth.append
self.scene.remove_node
trimesh.load
distances.append
global_volume.abs.any
torch.tensor
num.pre_coords.unsqueeze.repeat.contiguous
coords_world_s.T.view
np.maximum
xv.reshape
importlib.import_module
utils.apply_log_transform
torch.abs
self.fuse_to_global.keys
self.backbone2d
backbone.MnasMulti
self._cuda_integrate
torch.sign
open3d.pipelines.integration.ScalableTSDFVolume
torch.nn.DataParallel.train
self.occ_preds.append
in_scope_mask.permute.contiguous
r_coords.permute.contiguous
cam_pose.reshape.astype
args.__dict__.items
cv2.cvtColor
torch.from_numpy
print
torch.eye.inverse
torchvision.utils.make_grid
synchronize
l.tsdf_vol_list.get_volume
loguru.logger.add_image
l.tsdf_vol_list.integrate
self._voxel_size.self._vol_bnds.self._vol_bnds.np.round.copy
b.up_coords.torch.nonzero.squeeze
v.data.item
open3d.io.read_point_cloud
mask.view.view
self.tsdf_preds.append
numpy.meshgrid
torch.is_tensor
numpy.cross
datetime.datetime.now
torch.tensor.min
torch.nn.DataParallel
fn.endswith
zv.reshape.yv.reshape.xv.reshape.np.concatenate.astype
utils.sparse_to_dense_channel.any
i.self.tsdf_preds
middle_pose.inverse
self._vol_dim.np.zeros.astype
numpy.linalg.norm
vox_coords.astype.astype
load_camera_intrinsic.keys
neucon_network.NeuConNet
main
gru_fusion.GRUFusion
time.time
PIL.Image.open
preprocess
batch.coords.torch.nonzero.squeeze
batch.origin.unsqueeze.float
self.transform
numpy.floor
numpy.eye
open3d.geometry.PointCloud
torchsparse.nn.functional.spdevoxelize
torch.ones
depth_list.keys
new_input.items
b.pre_coords.torch.nonzero.squeeze
numpy.array.astype
cv2.resize
argparse.ArgumentParser.parse_args
p.data.nelement
self.transform.append
ray.init
transform
cx.cam_c.fx.cam_c.torch.round.long
id.str.self.scene.self.data_path.os.path.join.cv2.imread.astype
numpy.maximum.astype
self.stem
numba.njit
self.convr
utils.coordinates
depth_im.float.to.reshape
torch.Tensor
self.stage1
cfg.freeze
torch.distributed.is_available
z.C.int.view
ScanNetDataset
open3d.geometry.KDTreeFlann
sys.path.append
path_parser
torch.nn.Sequential
torchsparse.nn.functional.spcount
batch_idx.outputs.data.cpu.numpy.all
depth_im.reshape.astype
torch.nonzero
target_volume.squeeze.abs
intr.astype.astype
cv2.resize.permute
torch.meshgrid
transforms3d.quaternions.axangle2quat
NameError
proj_matrices.append
numpy.load
nn_correspondance
cy.cam_c.fy.cam_c.torch.round.long
max
align_corners.coords_world_s.old_voxel_dim.tsdf_s.view.torch.nn.functional.grid_sample.squeeze.get_volume
batch.origin.unsqueeze
scene.replace
self.get_target
torch.cat.sum
torchsparse.tensor.PointTensor
idx_query.transpose.contiguous.transpose
np.savez_compressed
idx_query.transpose.contiguous.int
torch.Generator
coords_world_s.abs.squeeze.any
np.savetxt
open3d.io.write_triangle_mesh
vars.cuda
numpy.minimum
img.data.cpu
mask1.astype
self.cuda.InOut
self.sp_convs.append
zv.reshape
modules.ConvGRU
self._vol_dim.torch.prod.item
torch.max
json.load
yacs.config.CfgNode
im_grid.view.abs
self.MnasMulti.super.__init__
cam_intr.reshape.astype
train
dim.data.cpu.numpy.tolist
align_corners.coords_world_s.old_voxel_dim.tsdf_s.view.torch.nn.functional.grid_sample.squeeze
mask.sum.float
torchsparse.nn.utils.get_kernel_offsets
self.build_list
r_coords.permute.contiguous.permute
sorted.keys
self.cfg.BACKBONE2D.ARC.split
occupancy.sum.data.cpu
dim.data.cpu.numpy
cv2.imwrite
datasets.transforms.Compose.IntrinsicsPoseToProjection
torch.nn.functional.interpolate
self.cuda.memcpy_htod
datasets.transforms.Compose.RandomTransformSpace
f.readlines.split
grid.view.unsqueeze
pycuda.driver.mem_alloc
config.cfg.freeze
zv.flatten
numpy.zeros
self.scene.add
parse_args
vars.items
coords_world_s.T.view.view
world_c.transpose.world2cam.torch.matmul.transpose
cam_intr.float.to
torch.distributed.get_rank
z.additional_features.get
self.point_transforms
z.C.int
self.transform.keys
self.normalizer
self.out1
loss.backward
self.integrate_tsdf
ARKitDataset
torch.unique
vars.detach
torch.cat.permute
tensor2numpy
pickle.load
utils.coordinates.view
threshold.dist1.astype
self.renderer.render
torch.cat.unsqueeze
self.save_mesh
g.self.dataset.len.torch.randperm.tolist
self.viewer.render_lock.release
old_voxel_dim.torch.Tensor.view
torch.clamp
self.tsdf2mesh.export
dict
torch.nn.utils.clip_grad_norm_
updated_coords.detach.clone.float
str
torchvision.models.mnasnet1_0
utils.SaveScene.close
os.path.isdir
line.split
self.NeuConNet.super.__init__
np.array.np.array.T.last_pose.cam_pose.np.linalg.inv.sum
torch.floor
up_coords.detach.clone.float
trimesh.Trimesh
global_coords.dim.global_coords.all
torch.nn.Linear
zip
r_coords.permute.contiguous.float
numpy.empty
data.np.stack.transpose
batch_idx.outputs.data.cpu
self.rotate_view_to_align_xyplane
xyzrgb.astype
torch.cat.abs
torch.nn.DataParallel.state_dict
super
tools.process_arkit_data.process_data
np.linalg.inv
torch.cuda.manual_seed
torch.nn.ReLU
c.coords.shape.torch.zeros.cuda
batch_idx.outputs.data.cpu.numpy
torch.distributed.is_initialized
quat.quat.np.append.tolist
argparse.ArgumentParser.add_argument
SConv3d
mask.sum.unsqueeze
zv.flatten.yv.flatten.xv.flatten.torch.stack.long.to
len.items
cv2.VideoCapture.read
pyrender.Scene
vol_origin.astype.astype
self.pixel_std.type_as
loss_dict.update
all_ids.append
cv2.VideoCapture
numpy.append
np.array
skimage.measure.marching_cubes
torch.distributed.get_world_size
torch.matmul
torch.min
torch.cuda.memory_reserved
open.write
imgs.append
z.weights.get
self._cuda_src_mod.get_function
self.neucon_net
self._vol_dim.torch.zeros.to
config.cfg.TRAIN.LREPOCHS.split.split
ray_worker_ids.append
self._vol_dim.np.ones.astype
threshold.dist2.astype
torch.nn.DataParallel.parameters
numpy.log
rotx
coords.detach.clone
self.pixel_mean.type_as
tuple
self.ScanNetDataset.super.__init__
numpy.empty_like
rigid_transform
config.cfg.defrost
self.gru_fusion
sum
open3d.camera.PinholeCameraIntrinsic
pcd_trgt.voxel_down_sample.voxel_down_sample
self.convz
load_camera_intrinsic.items
self.cuda.memcpy_dtoh
voxel_dim.long
numpy.maximum
pre_coords.unsqueeze.repeat
torchsparse.nn.functional.spvoxelize
MVSDataset
relative_origin.cuda.long
pyrender.Viewer
numpy.ceil
self.ConvGRU.super.__init__
torch.optim.lr_scheduler.MultiStepLR
join
im_z.sum.unsqueeze.view
line_data_list.int.str.zfill
new_tensor.cmaps.setdefault
align_corners.coords_world_s.old_voxel_dim.tsdf_s.view.torch.nn.functional.grid_sample.squeeze.abs
filepath.cv2.imread.astype
cv2.VideoCapture.get
torch.load
numpy.loadtxt
idx_query.transpose.contiguous
os.path.exists
cfg.LOGDIR.split
np.linspace
numpy.linalg.inv
outputs.keys
ckpt_list.append
cfg.merge_from_list
self.modules
open3d.pipelines.integration.ScalableTSDFVolume.extract_triangle_mesh
torch.optim.Adam.zero_grad
torch.save
min_c.max_c.int.data.cpu.numpy
open
cam_line.split
loguru.logger.add
FileNotFoundError
self.fuse_to_global
world_c.transpose
datasets.transforms.Compose.ToTensor
target_volume.squeeze.squeeze
self.save_scene_eval
torch.cat
colors.astype.astype
str.split
torch.nn.functional.grid_sample
torch.distributed.init_process_group
i.self.occ_preds
scale.inputs.permute
vars.detach.cpu
min
numpy.repeat
up_coords.torch.cat.permute.contiguous.view
torch.utils.data.DataLoader
batch_ind.coords.long
cam_intrinsics.append
tools.tsdf_fusion.fusion.TSDFVolumeTorch
torchsparse.nn.functional.sphashquery
verts.np.round.astype
depth_all.update
scale.inputs.permute.contiguous
os.makedirs
numpy.round
self.out3
json.dump
split_list
x.s.idx_query.z.C.F.calc_ti_weights.transpose
utils.tensor2float
point_to_voxel
cfg.MODEL.PIXEL_MEAN.torch.Tensor.view
pyrender.MetallicRoughnessMaterial
self.downsample
num.pre_feat.unsqueeze.expand.contiguous
self._vol_origin.astype
cam_intr.float.to.float
torch.Tensor.view.long
NotImplementedError
vars.detach.cpu.numpy
loguru.logger.info
n_imgs.np.linspace.astype
ops.back_project.back_project
pcd_pred.voxel_down_sample.voxel_down_sample
tsdf_vol_list.append
initial_voxelize
updated_coords.detach.clone
self.viewer.close_external
mask.sum.view
BasicDeconvolutionBlock
math.ceil
nV.n_views.torch.ones.cuda
torch.nn.DataParallel.load_state_dict
torch.prod
torch.nn.functional.binary_cross_entropy_with_logits
occ.view.squeeze
x.s.z.C.torch.floor.int
self.scene.clear
self.save_mesh.append
tsdf_s.view
torch.Tensor.view
float.cam_info.np.array.reshape
load_camera_pose
os.path.dirname
process_with_single_worker.remote
cam_intr.float.to.reshape
vol_origin_partial.view
generate_pkl
os.listdir
argparse.ArgumentParser
scale.self.cfg.N_LAYER.self.cfg.N_VOX.torch.Tensor.cuda.int
coords.shape.torch.ones.to
min_c.max_c.int.data.cpu
open3d.geometry.RGBDImage.create_from_color_and_depth
save_fragment_pkl
np.amax
im.resize.resize
self.conv0
coords_batch.view.view
torch.unbind
datasets.find_dataset_def
extrinsics.data.cpu
x.s.idx_query.z.C.F.calc_ti_weights.transpose.contiguous
is_main_process
intrinsics.append
utils.DictAverageMeter
self.fusion_nets.append
utils.sparse_to_dense_channel.abs
tensor2float.items
self.cfg.N_VOX.torch.Tensor.cuda
torchsparse.cat
renderer
len
tsdf_vol.torch.zeros_like.bool
i.self.sp_convs
torch.cuda.set_device
occ_target.view.view
models.modules.SPVCNN
PIL.ImageOps.expand
self._voxel_size.self._vol_bnds.self._vol_bnds.np.round.copy.astype
utils.SaveScene.vis_incremental
k.metrics1.append
torch.mean
scale.self.fusion_nets
model
open3d.pipelines.integration.ScalableTSDFVolume.integrate
save_tsdf_full
torch.nn.BatchNorm1d
self.up2
im_z.im_z.mean
fragments.append
numpy.arccos
fragments.extend
numpy.cbrt
torch.full
self.up1
config.update_config
torchsparse.nn.Conv3d
numpy.newaxis.depth_pred.np.repeat.astype
torch.nn.DataParallel.eval
torchvision.models.MNASNet
min_c.max_c.int.data.cpu.numpy.tolist
self.viewer.render_lock.acquire
b.inputs.permute.contiguous
yv.flatten
align_corners.coords_world_s.old_voxel_dim.tsdf_s.view.torch.nn.functional.grid_sample.squeeze.integrate
torch.tanh
tensorboardX.SummaryWriter
self.net
data_path.split
format
origin.unsqueeze
xv.flatten
cam_pose.float.to.float
self.weight_initialization
numpy.prod
torch.norm
datasets.transforms.Compose.ResizeImage
batch_ind.up_coords.float
process
csv.reader
datasets.transforms.Compose.Compose
pyrender.IntrinsicsCamera
extract_frames
feats_batch.view.view
ops.generate_grids.generate_grid
os.path.isfile
_round_to_multiple_of
current_volume.abs.any
isinstance
self.save_mesh.index
torch.tensor.max
torch.arange
self.convert2dense
up_coords.detach.clone
loss_dict.items
occ_target.view.float
world_c.transpose.world2cam.torch.matmul.transpose.float
vars.detach.cpu.numpy.copy
self.compute_loss
torch.cat.view
torch.arange.flatten
f.readlines
numpy.hstack
super.__init__
torch.inverse
process_data
float.cam_info.np.array.reshape.transpose
torch.nn.ModuleList
numpy.savez_compressed
torch.Generator.manual_seed
coords_world_s.T.view.abs
gpu_mem_usage.append
test
utils.sparse_to_dense_torch
torch.stack.append
grid.unsqueeze.cuda
numpy.cos
Renderer
RuntimeError
cam_pose_all.update
tensor2float
torch.zeros
new_float_coord.torch.floor.int
cfg.merge_from_file
self._vol_bnds.copy.astype
cv2.imread
mask.unsqueeze.expand
numpy.array.reshape
open3d.utility.Vector3dVector
up_coords.torch.cat.permute.contiguous.append
getattr
dim.data.cpu
ops.generate_grids.generate_grid.detach
self.vis.vis_mesh
occ.squeeze.sum
occ.view.view
torchsparse.nn.ReLU
config.cfg.NeuralRecon.cuda
pycuda.driver.Device
torch.no_grad
sorted.items
metrics.update
numpy.nanmean
scale.self.global_volume.detach
torch.Tensor.cuda
numpy.vstack
torch.optim.Adam.step
visualize
pyrender.OffscreenRenderer
cam_pose.float.to.reshape
skimage.measure.marching_cubes_lewiner
numpy.dot
torch.distributed.barrier
pad_scannet
cam_poses.append
time.sleep
self.tsdf2mesh
loguru.logger.add_scalar
self.NeuralRecon.super.__init__
torch.manual_seed
models.NeuralRecon
self.inner1
torch.optim.Adam
numpy.zeros.fill
self.vis.close
relative_origin.cuda.long.cuda
all_bnds.append
numpy.max
datasets.sampler.DistributedSampler
voxel_to_point
numpy.sqrt
open.close
torch.nn.Dropout
loguru.logger.warning
self.dropout
origin.unsqueeze.float
self.vox2world
pre_feat.unsqueeze.expand
wrapper
pickle.dump
transforms3d.quaternions.quat2mat
torch.eye
self.update_map
np.zeros
torch.nn.DataParallel.cuda
self.conv2
grid_batch.unsqueeze.expand
feat.torch.ones_like.bool
tensor2numpy.items
torch.sigmoid
sorted
intrinsics_list.append
sync_intrinsics_and_poses
TSDFVolume
torch.optim.lr_scheduler.MultiStepLR.step
cfg.MODEL.PIXEL_STD.torch.Tensor.view
config.cfg.NeuralRecon.cuda.eval
self.out2
numba.prange
pycuda.compiler.SourceModule
utils.SaveScene.save_incremental
utils.apply_log_transform.view
self.renderer.delete
b.inputs.float
im_z.sum.unsqueeze
self._vol_dim.astype
np.amin
numpy.mean
datetime.datetime.now.strftime
depth_im.float.to.float
get_rank
origin_batch.float.unsqueeze
list
tools.evaluation_utils.eval_depth
ray.remote
up_coords.torch.cat.permute.contiguous
cv2.imshow
torch.nn.Conv2d
self.data.items
iter
old_origin.view.view
self.out_channels.append
np.linalg.norm
indices.append
torchsparse.nn.functional.calc_ti_weights
cv2.waitKey
utils.DictAverageMeter.mean
os.mkdir
grid_dim_z.grid_dim_y.grid_dim_x.np.array.astype
x.C.to
torchsparse.SparseTensor
numpy.array
lines.append
func
abs
poses.append
n.idx.ret.append
type
n_p.n_all.float
self.conv1
numpy.concatenate
torch.round
utils.DictAverageMeter.update
inputs.keys
self.read_depth
self.read_img
self._vol_bnds.copy
torchsparse.nn.functional.sphash
self.GRUFusion.super.__init__
kwargs.get
self.cam2pix
torchsparse.nn.BatchNorm
config.cfg.TRAIN.LREPOCHS.split
_get_depths
torch.log
np.arccos
ids.append
zv.flatten.yv.flatten.xv.flatten.torch.stack.long
numpy.asarray
target_volume.abs.target_volume.unsqueeze
numpy.stack.astype
up_coords.torch.cat.permute.contiguous.detach
rotation_matrix4x4.torch.from_numpy.float
save_mesh_scene
self.tsdf_cashe.keys
self.read_cam_file
open3d.geometry.Image
tools.evaluation_utils.eval_mesh
i.str.zfill
torch.device
utils.save_scalars
open3d.geometry.KDTreeFlann.search_knn_vector_3d
b.inputs.permute
self._integrate_func
self.get_volume
get_view_frustum
utils.SaveScene.save_scene_eval
tools.render.Visualizer
min_c.max_c.int

@developer Could please help me check this issue? May I pull a request to fix it? Thank you very much.