GithubHelp home page GithubHelp logo

ziwei-zh / corrpm Goto Github PK

View Code? Open in Web Editor NEW
104.0 104.0 18.0 391 KB

Pytorch implementation of CVPR2020 paper "Correlating Edge, Pose with Parsing"

License: MIT License

Python 81.28% Shell 1.63% Cuda 9.05% C 1.91% C++ 6.13%
cvpr cvpr2020 human-parsing pytorch semantic-segmantation

corrpm's Issues

> 1. First you may have to do NMS or other post-processing. You may refer to simple baseline repo: https://github.com/microsoft/human-pose-estimation.pytorch/blob/18f1d0fa5b5db7fe08de640610f3fdbdbed8fb2f/lib/core/inference.py#L49

  1. First you may have to do NMS or other post-processing. You may refer to simple baseline repo: https://github.com/microsoft/human-pose-estimation.pytorch/blob/18f1d0fa5b5db7fe08de640610f3fdbdbed8fb2f/lib/core/inference.py#L49
  2. I think the upsampling step is not needed since it may cause misalignment issues.

Thank you very much! Finally able to get it work;)

Originally posted by @Sonseca97 in #8 (comment)

NO LIP_SP_VAL_annotations.json in the project

Hi, thanks for your code, here are some problem. I can't find LIP_SP_VAL_annotations.json in your project, but run_eval.sh have the code like:
CS_PATH='/data/zzw/segment/data/lip/images_labels' POSE_ANNO='/data/zzw/segment/data/lip/TrainVal_pose_annotations/LIP_SP_VAL_annotations.json'

class Edge_Module, In forward function, edge not be used??

def forward(self, x1, x2, x3):
    _, _, h, w = x1.size()

    edge1_fea = self.conv1(x1)
    edge1 = self.conv4(edge1_fea)
    edge2_fea = self.conv2(x2)
    edge2 = self.conv4(edge2_fea)
    edge3_fea = self.conv3(x3)
    edge3 = self.conv4(edge3_fea)

    edge2_fea = F.interpolate(edge2_fea, size=(h, w), mode='bilinear', align_corners=True)
    edge3_fea = F.interpolate(edge3_fea, size=(h, w), mode='bilinear', align_corners=True)
    edge2 = F.interpolate(edge2, size=(h, w), mode='bilinear', align_corners=True)
    edge3 = F.interpolate(edge3, size=(h, w), mode='bilinear', align_corners=True)

    #***************
    edge = torch.cat([edge1, edge2, edge3], dim=1)  ### this edge not be used?
    #***************
    edge_fea = torch.cat([edge1_fea, edge2_fea, edge3_fea], dim=1)
    edge_fea = self.conv6(edge_fea)
    edge = self.conv5(edge_fea)

    return edge, edge_fea

Running model with torch 1.x

Hi,
could you suggest a solution to run the evaluation with pytorch 1? I would like to try it on Colab but installing torch 0.4.1 generates problem with Cuda so it is a bit problematic.

The main problem is related to the libs modules but I can't find a complete solution to it :(

About the trainning speed.

It's weird for my PC to train the code, it's very slow, can you figure it out.
In order to use PyTorch:1.4.0, I replace the "InPlaceABNSync" with normal "nn.BatchNorm2d".

CUDA:10.0
PyTorch:1.4.0
RTX 2080ti 11G
Ubuntu 16.04
i7-9700k
RAM:32 GB
iter:0/7616,loss:8.788,lr:1.000e-03,time:8.2 iter:500/7616,loss:3.455,lr:9.997e-04,time:165.6 iter:1000/7616,loss:2.483,lr:9.993e-04,time:166.3 iter:1500/7616,loss:3.580,lr:9.990e-04,time:167.0 iter:2000/7616,loss:2.938,lr:9.987e-04,time:167.5 iter:2500/7616,loss:2.709,lr:9.984e-04,time:166.9 iter:3000/7616,loss:3.379,lr:9.980e-04,time:167.1 iter:3500/7616,loss:2.261,lr:9.977e-04,time:164.4 iter:4000/7616,loss:2.764,lr:9.974e-04,time:164.3 iter:4500/7616,loss:3.147,lr:9.970e-04,time:164.3 iter:5000/7616,loss:3.124,lr:9.967e-04,time:164.3 iter:5500/7616,loss:2.995,lr:9.964e-04,time:164.3 iter:6000/7616,loss:1.715,lr:9.961e-04,time:164.4 iter:6500/7616,loss:2.305,lr:9.957e-04,time:164.0 iter:7000/7616,loss:1.912,lr:9.954e-04,time:165.5 iter:7500/7616,loss:1.704,lr:9.951e-04,time:165.5
Thank you.

Missing files in utils folder?

Thank for publish your code,

I try to run ./run_train.sh, but face this error. I cannot find this files in utils folder. Does your class CriterionPoseEdge different from class CriterionAll in CE2P repo?

Traceback (most recent call last):
File "train.py", line 24, in
from utils.criterion import CriterionPoseEdge
ImportError: cannot import name 'CriterionPoseEdge'

pose point

Dear author ,thanks your code.About 16 pose point ,I have a question,how to get this result.I get this parameter use blew code:
points=outputs[2][0]
points = interp(points).data.cpu().numpy()
points = points.transpose(0, 2, 3, 1)
points_preds[idx:idx + num_images, :, :] = np.asarray(np.argmax(points, axis=3), dtype=np.uint8)
point_pred=np.asarray(np.argmax(points, axis=3), dtype=np.uint8)
but how to map this shape (116 96*96) map orign image,hope yor answer.thank you @ziwei-zh

Hi Author: about Mask R-CNN

I think you have done a great work. Could you tell me, where could download Mask R-CNN that you used in your paper?

Poor result with pre-trained model LIP_best.pth

I also encountered the issue as well as liutinglt/CE2P#34.
However, this issue does not provide a solution.
I do not change the part of weight loading and it does not output any error messages.
How do I fix it?
Note that I referred to the CE2P repository (https://github.com/liutinglt/CE2P) so that exchange ABN for PyTorch ver 0.x to ABN for PyTorch ver 1.x.

The output of the network goes from about -0.02 to 0.03. Is it collect?
The network generates a poor result though I exchanged ABN to BN.
Thanks.

--My environment--
GPU: Tesla V100
PyTorch: 1.6
CUDA: 10.2.89
cuDNN: 8.0.2
ABN: https://github.com/mapillary/inplace_abn
Pre-trained model: LIP_best.pth

generate pose coordinates as output

Hi, may I ask if the model is able to generate pose coordinates as output on a test image? I found the model output is a list where you only used seg2. However, when I use the output of pose1, I get the shape of 12x16x96x96 where 12 is the batch size and 16 is the number of keypoints labels. I am not sure how to proceed from this stage. Hope you can help me clarify! Thank you!
return [[seg1, seg2], [edge1], [pose1]]

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.