microsoft / multiview-human-pose-estimation-pytorch

This is an official Pytorch implementation of "Cross View Fusion for 3D Human Pose Estimation, ICCV 2019".
MIT License
541 stars 89 forks source link

Project dependencies may have API risk issues #49

Open PyDeps opened 1 year ago

PyDeps commented 1 year ago

Hi, In multiview-human-pose-estimation-pytorch, inappropriate dependency versioning constraints can cause risks.

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

EasyDict==1.7
opencv-python==3.4.2.17
shapely==1.6.4
Cython
scipy
pandas
pyyaml
json_tricks
scikit-image
tensorboardX
pymvg

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 scipy can be changed to >=0.14.0,<=1.7.3.

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 scipy
scipy.interpolate.RegularGridInterpolator
The calling methods from the all methods
grid.mul.clamp
PoseMobileNetV2
min
j.output.detach
matplotlib.pyplot.subplot
scipy.interpolate.RegularGridInterpolator
conv_3x3_bn.append
torch.nn.ConvTranspose2d
self._make_branches
B.mean
max_i.detach.cpu
logging.getLogger.addHandler
optim.zero_grad
batch_image.clone.clone
p.p.np.array.reshape
math.ceil
sys.path.insert
self.mobilenetv2
points_2d_set.append
dataset.multiview_h36m.MultiViewH36M
m.weight.data.fill_
numpy.abs
self.layer3
matplotlib.pyplot.figure
self.bn2
numpy.float32
coords.copy
i.self.transition1
numpy.matmul
get_dir
torch.mul
torch.einsum
torchvision.utils.make_grid
numpy.array.append
utils.transforms.transform_preds
numpy.all
max_i.detach.cpu.numpy
torch.save
pathlib.Path.exists
modules.append
path.index
gridz.contiguous.view.contiguous
torch.max
transition_layers.append
numpy.argsort
self._get_db
core.inference.get_max_preds
self.maxpool
random.random
batch_image.clone.size
gridx.contiguous.view
cv2.imread
weight.append
matplotlib.pyplot.show
_xml_zfile.open
torch.optim.lr_scheduler.MultiStepLR
torch.nn.Upsample
core.config.update_dir
torch.nn.Sequential
yaml.load
i.batch_heatmaps.mul.clamp.byte.cpu.numpy
name_value.values
torch.load
pprint.pformat
self.features
numpy.amax
parse_args
batch_index._meta.clone.cpu
numpy.random.randn
PoseMobileNetV2.init_weights
self.deconv_layers
_xml_zfile.append
PoseUtils.estimate_camera
batch_index._output.clone.cpu
numpy.linspace
torch.cuda.memory_allocated
xrange
i._xml_zfile.open
torchvision.transforms.ToTensor
j.output.detach.cpu.numpy
self.sort_views
os.path.join
model.parameters
torch.nn.functional.grid_sample
cv2.waitKey
gen_config
infer.sort
self.union_joints.keys
self.stage4
add_path
m.x.torch.cat.view
R.dot
numpy.greater
save_batch_image_with_joints
numpy.dot
numpy.frombuffer
utils.transforms.affine_transform_pts_cuda
o.clone
grid.mul.clamp.byte.permute
h5py.File
node.unary.squeeze
PoseResNet
self.mpii_grouping
self.conv
imgs.append
numpy.meshgrid
pair.output_flipped.copy
self.layer1
torchvision.transforms.Compose
time.time
max_i.detach
idx.heatmaps_pred.squeeze.mul
self.transform
conv3x3s.append
model
m.weight.size
torch.nn.ModuleList
numpy.dot.mean
affine_transform
torch.cat
self.fuse_with_weights.reshape
os.path.dirname
Aggregation
i.self.transition3
batch_index._img.clone.min
root_idx.states_of_all_joints.detach
self.generate_heatmap
ChannelWiseFC
math.sqrt
v.todense.astype
torch.device
gridy.contiguous.view.contiguous
range
rgi
reset_config
cv2.getAffineTransform
self._initialize_weights
numpy.mean
batch_heatmaps.detach.cpu.numpy
torch.meshgrid
routing
cv2.resize
_update_dict
self.layer2
torch.Tensor
torch.from_numpy
main
compute_pairwise
numpy.sqrt
i.self.branches
min.img.add_.div_
unfold_camera_param
argparse.ArgumentParser.parse_args
idx.heatmaps_gt.squeeze
torch.sum.view
core.evaluate.accuracy
eval
i.batch_image.mul.clamp
root_idx.states_of_all_joints.detach.cpu
grid.mul.clamp.byte
outputs.append
poses3d.append
o.clone.cpu
cv2.imdecode
fc
self.branches
self.reset
project_point_radial
hmap.transpose
get_affine_transform
meta.append
i._im_zfile.read
copy.deepcopy
maxvals.reshape.reshape
tolerance.expect_length.distance.torch.abs.float
i.batch_image.mul.clamp.byte
node.unary.clone
self.fuse_with_weights
core.config.get_model_name
easydict.EasyDict
batch_index.finals.clone
multiviews.pictorial_cuda.rpsm
numpy.sign
self.generate_target
torch.zeros_like.clone
torch.t
self._make_deconv_layer
print
argparse.ArgumentParser.add_argument
m.bias.data.zero_
batch_index._img.clone.add_
self.downsample
img.mul.clamp.byte.permute.cpu
list.index
self.bn1
w.cuda.cuda
self.ChannelWiseFC.super.__init__
batch_index._hmap.clone.mul.clamp.byte.cpu.numpy
root_idx.states_of_all_joints.detach.cpu.numpy
get_loc_from_cube_idx
dataset.mpii.MPIIDataset
pymvg_cameras.append
batch_index._hmap.clone.mul
new_map.reshape.reshape
core.config.config.DATASET.TEST_DATASET.eval
aggre_layer.aggre.weight.data.cpu.numpy
o.clone.cpu.numpy
self.criterion
core.config.config.BACKBONE_MODEL.eval
multiviews.cameras.unfold_camera_param
pose_3d.reshape.reshape
self._get_deconv_cfg
conv_3x3_bn
PoseUtils.align_3d_to_2d
torch.as_tensor.append
grouping.append
os.path.exists
db_rec.np.array.copy
gpus.model.torch.nn.DataParallel.cuda.load_state_dict
batch_image.clone.min
self.conv2
numpy.mean.sum
ce.expand_as.expand_as
torch.tensor
fuse_layer.append
type
super.do_mapping
idx.heatmaps_gt.squeeze.mul
pdist2
batch_index._output.clone
prediction.cpu.numpy
torch.nn.MSELoss
core.config.config.LOSS.USE_TARGET_WEIGHT.JointsMSELoss.cuda
torch.optim.Adam
pair.joints.copy
infer.copy
mpii_grouping.append
root_idx.states_of_all_joints.detach.cpu.numpy.numel
len
poses.append
self.actual_joints.items
torch.nn.DataParallel
torch.mm
batch_index.finals.clone.mul.clamp.byte
round
m.numpy
torch.nn.Conv2d
multiviews.cameras_cuda.project_pose
img.mul.clamp.byte.permute.cpu.numpy
_xml_path_zip.append
batch_heatmaps.detach
batch_image.clone.max
multiviews.cameras.project_pose
core.config.config.GPUS.split
self.load_state_dict
numpy.cos
img.mul.clamp.byte
layers.append
self.get_group
u2a.items
numpy.not_equal
output.reshape
self.sort_skeleton_by_level
collections.OrderedDict
skeleton.append
torch.pairwise_distance
batch_index.finals.clone.mul
batch_heatmaps.size
_im_zfile.append
utils.utils.get_optimizer
torch.load.items
numpy.add
max
self.stage3
self.layer4
img.mul.clamp
name_value.keys
gridz.contiguous.view
logging.getLogger.setLevel
isinstance
numpy.clip
self.final_layer
j.target.detach
gpus.model.torch.nn.DataParallel.cuda
numpy.linalg.det
core.inference.get_final_preds
model.module.state_dict
sklearn.preprocessing.normalize
numpy.argmax
MobileNetV2
branches.append
num_joints.batch_size.target.reshape.split
idx.reshape.reshape
numpy.array.dot
numpy.outer
numpy.concatenate.sum
input.append
idx.heatmaps_pred.squeeze
modules.get_num_inchannels
numpy.linalg.svd
numpy.reshape
build_multi_camera_system
pred_mask.astype.astype
HumanBody
hmaps.append
triangulate_one_point
numpy.random.choice
i.batch_heatmaps.mul.clamp.byte
float
time.strftime
batch_index._img.clone.mul
batch_index._meta.clone.cpu.numpy
dict
batch_index._hmap.clone.mul.clamp
pymvg.multi_camera_system.MultiCameraSystem
logging.basicConfig
get_3rd_point
pose.append
self.aggre_layer
input.reshape
j.i.self.fuse_layers
self.conv3
core.config.config.DATASET.TRAIN_DATASET.eval
self.stage2
batch_index.finals.clone.mul.clamp.byte.cpu
os.makedirs
multiviews.cameras.camera_to_world_frame
matplotlib.pyplot.imshow
self.PoseHighResolutionNet.super.__init__
numpy.sin
i.batch_image.mul.clamp.byte.permute.cpu
numpy.linalg.inv
i.batch_heatmaps.mul.clamp.byte.cpu
i.batch_image.mul
dataset.evaluate
children_state.np.array.T.tolist
torch.no_grad
torch.utils.data.DataLoader
tensorboardX.SummaryWriter.close
self._make_fuse_layers
batch_heatmaps.reshape
self.deconv_layers.named_modules
i.batch_heatmaps.mul.clamp
j.all_unary.view
cameras.append
queue.append
i.batch_heatmaps.mul.clamp.byte.cpu.numpy.append
i.self.fuse_layers
recursive_infer
pair.joints_vis.copy
warped.append
self._make_transition_layer
utils.transforms.get_affine_transform
format
final_output_dir.mkdir
x_fuse.append
pathlib.Path.mkdir
cfg_name.os.path.basename.split
self.load_db
logging.getLogger.error
torchvision.transforms.Normalize
tensorboardX.SummaryWriter
self.final_layer.modules
tuple
numpy.less
torch.as_tensor.repeat
super.__getitem__
enumerate
images.append
save_batch_heatmaps
dist_acc
i.batch_image.mul.clamp.byte.permute.cpu.numpy
logging.StreamHandler
list.size
cv2.circle
pred.copy.copy
pose3d_as_cube_idx.copy.append
utils.zipreader.imread
self.get_key_str
numpy.sum
torch.nn.init.constant_
argparse.ArgumentParser
loss.item
multiviews.body.HumanBody
dict.items
batch_index._hmap.clone.mul.clamp.byte
self.Bottleneck.super.__init__
gt_db.append
core.loss.JointsMSELoss
utils.utils.load_checkpoint
compute_pairwise_constrain
torch.nn.Parameter
os.path.isfile
logging.getLogger.info
grid.mul.clamp.byte.permute.cpu
numpy.max
multiviews.pictorial.rpsm
_im_zfile.read
pathlib.Path
numpy.linalg.pinv
v.items
zipfile.ZipFile
batch_index._hmap.clone.mul.clamp.byte.cpu
i.batch_image.mul.clamp.byte.permute
batch_index.finals.clone.mul.clamp
cv2.warpAffine
numpy.exp
batch_index._img.clone.max
children_state.np.array.T.tolist.append
gridy.contiguous.view
block
target_cuda.append
torch.optim.Adam.load_state_dict
batch_index._output.clone.cpu.numpy
yaml.dump
self.relu
all_unary_list.append
os.path.basename
optim.step
routing.append
torch.nn.ReLU
target.append
mini_group.append
criterion
pose_2d.reshape.reshape
int
model.train
self.HighResolutionModule.super.__init__
self._check_branches
core.function.validate
PoseUtils
shutil.copy2
self.get_skeleton
model.eval
compute_grid
min.batch_image.add_.div_
argparse.ArgumentParser.parse_known_args
compute_limb_length
m.weight.data.normal_
torch.nn.init.normal_
join
model.module.load_state_dict
torch.pairwise_distance.view
self.aggre.append
target.astype.astype
torch.matmul
sample_grid.view.view
numpy.linalg.norm
logger.info
list
p.p.torch.cat.view
ndarr.copy.copy
batch_index._input.clone
self.weight.data.uniform_
thr.dist_cal.dists.np.less.sum
x_list.append
single_views.append
grid.mul.clamp.byte.permute.cpu.numpy
u2a.items.values
torch.ones
item.clone
sorted_skeleton.append
get_max_preds
self.MobileNetV2.super.__init__
utils.utils.get_optimizer.state_dict
numpy.tile
tan.radial.repeat
xml.etree.ElementTree.fromstring
cv2.applyColorMap
writer.add_scalar
cv2.imwrite
calc_dists
self.union_joints.values
zip
torch.ger
grouping.items
torch.sum
list.sort
numpy.diag
torch.optim.lr_scheduler.MultiStepLR.step
infer
ValueError
child.states_of_all_joints.squeeze
super.__init__
torch.zeros
pickle.load.items
self.modules
boxes.append
batch_index._hmap.clone
pymvg.camera_model.CameraModel.load_camera_from_M
batch_index._meta.clone
numpy.einsum
self.InvertedResidual.super.__init__
self.PoseResNet.super.__init__
numpy.concatenate
output.size
gridx.contiguous.view.contiguous
target.reshape
i.self.transition2
PoseResNet.init_weights
math.floor
super
json_tricks.load
utils.utils.create_logger
core.config.update_config
prediction.cpu.numpy.cpu
torch.nn.BatchNorm2d
m.named_parameters
torch.nn.ReLU6
logging.getLogger
open
utils.transforms.affine_transform_pts
utils.utils.save_checkpoint
loss.backward
numpy.not_equal.sum
self._make_stage
unary_of_all_joints.append
filtered_grouping.append
utils.vis.save_debug_images
aggre_layer.aggre.weight.data.cpu
j.output.detach.cpu
build_multi_camera_system.find3d
j.target.detach.cpu.numpy
fuse_layers.append
R.T.dot
PoseHighResolutionNet
numpy.vstack
batch_heatmaps.detach.cpu
numpy.zeros
batch_index._img.clone
_xml_zfile.open.read
map
A0.sum
AverageMeter
target.clone.append
core.function.train
self.MultiViewPose.super.__init__
torch.zeros_like
self._make_one_branch
numpy.cross
super.get_mapping
pairwise_mat.toarray.toarray
numpy.arange
numpy.float
copy.deepcopy.copy
numpy.floor
self.PoseMobileNetV2.super.__init__
self.Aggregation.super.__init__
preds.astype.astype
torchvision.utils.make_grid.mul
torch.linspace
conv3x3
self.conv1
AverageMeter.update
input.size
numpy.array
v.todense
self.BasicBlock.super.__init__
torch.as_tensor
compute_unary_term
idx.np.tile.astype
t.cuda.cuda
img.mul.clamp.byte.permute
pickle.load
numpy.ones
utils.transforms.affine_transform
cv2.imshow
numpy.min
batch_image.clone.add_
mpjpes.append
batch_index.finals.clone.mul.clamp.byte.cpu.numpy
pose3d_as_cube_idx.copy.pop
MultiViewPose
self.JointsMSELoss.super.__init__
easydict.EasyDict.items
HighResolutionModule
core.config.config.MODEL.eval
self.bn3
h5py.File.close
torch.nn.MaxPool2d
name.split
str
num_joints.batch_size.output.reshape.split
self._make_layer
numpy.multiply
torch.abs
PoseHighResolutionNet.init_weights
i.batch_heatmaps.mul
infer.append
torch.optim.SGD
u2a.items.keys
j.target.detach.cpu
grids.append
self.resnet

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