Giter Club home page Giter Club logo

Comments (5)

luorui93 avatar luorui93 commented on July 19, 2024 2

@ravijo Merged the latest changes and submitted a new pull request.

from ros_openpose.

QuantuMope avatar QuantuMope commented on July 19, 2024 1

@ravijo, Yeah, I remember seeing this difference between Openpose 1.7 and 1.6. I was originally planning on incorporating something like your pseudocode (similar to how the asynchronous module was fixed to handle Openpose 1.7), but I must have forgotten about it.

Good news is that the only code that needs to be changed are the lines you identified so it's a simple fix.

Just submitted request #38. Should work now for versions 1.6+.

@luorui93, please submit a pull request to fix the nobody or partial body crashing. I didn't catch that problem when I was testing it but glad that you did.

from ros_openpose.

ravijo avatar ravijo commented on July 19, 2024 1

@QuantuMope Thank you so much for the quick response!

@luorui93 Please do the needful as suggested by @QuantuMope. Please do not forget to pull the latest changes before you make a pull request.

from ros_openpose.

ravijo avatar ravijo commented on July 19, 2024

Hello @luorui93

This is probably due to the change of emplaceAndPop() in new op_wrapper.
I've updated the code in my fork here:
luorui93@97ad917

Thank you very much for reporting this issue.

Unfortunately, the ros_openpose_synchronous.py was tested with OpenPose 1.6.0 only. Please see the first item under Implementation Versions Info. section. So it is understandable that this bug may have arrived.

I also made some changes to the code so the program won't crash when nobody or only partial body is detected.
Should I make a pull request or something? Sorry I'm not very familiar with the standard procedure.

Yes, please make a pull request.

Meanwhile, I am tagging @QuantuMope who kindly provided this version.

@luorui93
As you said, based on your recent commit, the emplaceAndPop is changed. I am writing down the changes so that QuantuMope can understand quickly without reading your commit.

Before

op_wrapper.emplaceAndPop([datum])

Now

op_wrapper.emplaceAndPop(op.VectorDatum([datum]))

The above changes once done may break support for OpenPose older than 1.7. I can think of a workaround using a flag inside the Python code as shown below (this is a pseudo-code):

OPENPOSE1POINT7_OR_HIGHER = op.__version__ >= 1.7.0

if OPENPOSE1POINT7_OR_HIGHER:
    op_wrapper.emplaceAndPop(op.VectorDatum([datum]))
else:
    op_wrapper.emplaceAndPop([datum])
  • Please suggest if there is a better way!
  • I think other changes such as checking a null object, i.e., None should work without any workaround.

Looking forward to hearing opinions from everyone.

from ros_openpose.

QuantuMope avatar QuantuMope commented on July 19, 2024

@luorui93
If the synchronous node is now working on your end for Openpose 1.7.0, don't forget to close the issue.

from ros_openpose.

Related Issues (20)

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.