Giter VIP home page Giter VIP logo

buptxyb666 / adaptivepose Goto Github PK

View Code? Open in Web Editor NEW
174.0 174.0 18.0 31.52 MB

This is an official implementation of our AAAI2022 paper AdaptivePose and Arxiv paper AdaptivePose++

License: MIT License

Python 25.75% Cython 1.00% Shell 0.49% C++ 5.88% C 1.24% Lua 0.79% MATLAB 2.20% Makefile 0.01% Jupyter Notebook 60.30% Cuda 2.35%
2d coco crowdpose human-pose-estimation pytorch real-time single-stage

adaptivepose's People

Contributors

buptxyb666 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

adaptivepose's Issues

Can i ask you some questions

@buptxyb666

  1. z['ap'] 虽然输出了,但是没有参与最终的计算, 这个ap更像是网络自己学的一个中间级的过程,这个ap没有监督 能学到像论文的示意么。
  2. Resample2D的作用是啥,在flownet2中搜到了,但还是不太清楚, 是将不同位置的特征进行融合么。 self.gradient_mul是为了控制ap回传的梯度范围么,这个是经验值吗。
  3. 我之前在centernet中加入oks 替换掉了原来的RegWeightedL1Loss_coco(), 你这是额外加了oks的loss,这没有重复学这个回归信息么, 如果为了加快收敛可不可以先RegWeightedL1Loss_coco(),再oks。我一直很好奇如果是自己的数据集,oks中的sigma一般怎么估计呀。 还有oks 的应该是以绝对位置作为计算吧, 我看代码里好像是相对中心点的偏移。
    有时间的解答一下, 谢谢!

torch12

Thanks for your work, I have a question,Do you mean "torch12 " is "pythoch1.12" ?Looking forward to your reply and answer

No such file or directory: '/home/aa/AdaptivePose-master/src/lib/../../exp/multi_pose_wodet/hrnet_48_coco640/model_last.pth'

您好,请问通过bash main_hrnet48_coco640.sh,一开始训练就报错FileNotFoundError: [Errno 2] No such file or directory: '/home/aa/AdaptivePose-master/src/lib/../../exp/multi_pose_wodet/hrnet_48_coco640/model_last.pth'是什么原因,这不应该是在训练一轮后生成的么?训练的时候已经吧main_hrnet48_coco640.sh中的测试部分注释掉了。

Compare with mmpose

Would author transplant code to the frame of mmpose ? So many start-of-the-art methods are published on mmpose~

The jitter of performance

We found about 0.3-0.5 AP noise during training process. We think the user can decay the learning rate of the DCN in regression head to 1/10 for stabilizing the training.

NameError: name 'resample2d_cuda' is not defined

你好,按source prepare_enve.sh进行安装的。运行完后,显示如下图
image
执行main_dla34_coco512.sh,报NameError: name 'resample2d_cuda' is not defined.

请问这是什么问题啊

problem about 'resample2d_cuda'

当时使用torch==1.2.0和torchvision==0.4.0版本进行环境配置时,运行训练代码报错提示:CUDA error: CUBLAS_STATUS_EXECUTION_FAILED,猜测是因为CUDA与torch的版本对应不上;

但当我安装与CUDA11.6相对应的torch版本后,编译安装resample2d_cuda,又出现报错提示:undefined symbol: _ZN6caffe26detail37_typeMetaDataInstance_preallocated_32E

请问该如何解决?

How to get good pose estimation?

Run the demo using command with model pose_hrnet_w48_384x288.pth:

python demo.py multi_pose_wodet \
    --gpus 0 \
    --exp_id adp_hrnet_48 \
    --dataset coco_hp_wodet \
    --not_reg_offset \
    --not_reg_hp_offset \
    --K 20 \
    --not_hm_hp \
    --arch hrnet_48 \
    --input_h 1920 \
    --input_w 1080 \
    --keep_res \
    --debug 1 \
    --demo ../data/video1/video1.mp4 \
    --vis_thresh 0.1

and get results with bad pose estimation.

Input and output videos can be found here: BaiduDisk with code: hogg

Questions:

  • How to improve the performance of pose estimation ?
  • How to use model hrnet_48_crowdpose640.pth ?
    • I tried to add PRETRAINED: 'hrnet_48_crowdpose640.pth' in hrnet48.yaml, but it did not work.

the pretrain_models of CrowdPose data

hi, can you provide the pretrain_models of CrowdPose data, I train the model by pose_hrnet_w32_384x288.pth and the outcome is not great ,thank you!

how to run demo.py?

你好 , 我运行demo.py的时候,Coco的数据格式,调试的时候adapt_pts 为空,然后报错,请问这个值是干嘛的? 怎么运行demo呢 谢谢!

无法测试,TypeError: __init__() missing 1 required positional argument: 'hps_channel'

由于本人远程实验室的机器,且没有root权限,所以无法使用您准备脚本配置环境,故均按照你的脚本改了改,现在在最后测试的时候出现这样的问题

python test.py multi_pose_wodet --exp_id coco512 --dataset coco_hp_wodet --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch dla_34 --input_res 512 --keep_res
Keep resolution testing.
training chunk_sizes: [32]
The output will be saved to /home/renyouheng/AI_Code/AdaptivePose/src/lib/../../exp/multi_pose_wodet/coco512
heads {'hm': 1, 'hps': 34}
Namespace(K=20, aggr_weight=0.0, agnostic_ex=False, arch='dla_34', aug_ddd=0.5, aug_rot=0, batch_size=32, cat_spec_wh=False, center_thresh=0.1, chunk_sizes=[32], data_dir='/home/renyouheng/AI_Code/AdaptivePose/src/lib/../../data', dataset='coco_hp_wodet', debug=0, debug_dir='/home/renyouheng/AI_Code/AdaptivePose/src/lib/../../exp/multi_pose_wodet/coco512/debug', debugger_theme='white', demo='/home/users/yabo.xiao/CNet_v2/img', dense_hp=False, dense_wh=False, dep_weight=1, dim_weight=1, down_ratio=4, eval_oracle_dep=False, eval_oracle_hm=False, eval_oracle_hmhp=False, eval_oracle_hp_offset=False, eval_oracle_kps=False, eval_oracle_offset=False, eval_oracle_wh=False, exp_dir='/home/renyouheng/AI_Code/AdaptivePose/src/lib/../../exp/multi_pose_wodet', exp_id='coco512', fix_res=False, flip=0.5, flip_idx=[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12], [13, 14], [15, 16]], flip_test=False, giou=False, giou_weight=1.0, gpus=[0], gpus_str='0', head_conv=256, heads={'hm': 1, 'hps': 34}, hide_data_time=False, hm_hp=False, hm_hp_weight=1, hm_weight=1, hp_weight=1, input_h=512, input_res=512, input_w=512, keep_res=True, kitti_split='3dop', load_model='/home/renyouheng/AI_Code/AdaptivePose/src/lib/../../exp/multi_pose_wodet/coco512/model_last.pth', lr=0.000125, lr_step=[90, 120], master_batch_size=32, mean=array([[[0.40789655, 0.44719303, 0.47026116]]], dtype=float32), metric='loss', mse_loss=False, nms=False, no_color_aug=False, norm_wh=False, not_cuda_benchmark=False, not_hm_hp=True, not_prefetch_test=False, not_rand_crop=False, not_reg_bbox=False, not_reg_hp_offset=True, not_reg_offset=True, num_classes=1, num_epochs=140, num_iters=-1, num_stacks=1, num_workers=4, off_weight=1, output_h=128, output_path='/opt/tiger/adaptivepose', output_res=128, output_w=128, pad=31, peak_thresh=0.2, print_iter=0, rect_mask=False, reg_bbox=True, reg_hp_offset=False, reg_loss='l1', reg_offset=False, resume=True, root_dir='/home/renyouheng/AI_Code/AdaptivePose/src/lib/../..', rot_weight=1, rotate=0, save_all=False, save_dir='/home/renyouheng/AI_Code/AdaptivePose/src/lib/../../exp/multi_pose_wodet/coco512', scale=0.4, scores_thresh=0.1, seed=317, shift=0.1, std=array([[[0.2886383 , 0.27408165, 0.27809834]]], dtype=float32), task='multi_pose_wodet', test=False, test_scales=[1.0], trainval=False, val_intervals=1, vis_thresh=0.3, wh_weight=0.1)
==> initializing coco 2017 val data.
loading annotations into memory...
Done (t=0.35s)
creating index...
index created!
Loaded val 5000 samples
Creating model...
backbone_Params: 19.72M
Traceback (most recent call last):
File "test.py", line 134, in
prefetch_test(opt)
File "test.py", line 58, in prefetch_test
detector = Detector(opt)
File "/home/renyouheng/AI_Code/AdaptivePose/src/lib/detectors/multi_pose_wodet.py", line 26, in init
super(MultiPoseDetector_wodet, self).init(opt)
File "/home/renyouheng/AI_Code/AdaptivePose/src/lib/detectors/base_detector.py", line 24, in init
self.model = create_model(opt.arch, opt.heads, opt.head_conv, is_train=False)
File "/home/renyouheng/AI_Code/AdaptivePose/src/lib/models/model.py", line 30, in create_model
model = get_model(num_layers=num_layers, heads=heads, head_conv=head_conv)
File "/home/renyouheng/AI_Code/AdaptivePose/src/lib/models/networks/pose_dla_dcn_v2.py", line 562, in get_pose_net
head_conv=head_conv)
File "/home/renyouheng/AI_Code/AdaptivePose/src/lib/models/networks/pose_dla_dcn_v2.py", line 528, in init
self.sampler = Feat_sampler(head_conv)
TypeError: init() missing 1 required positional argument: 'hps_channel'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.