Comments (5)
@ravijo Merged the latest changes and submitted a new pull request.
from ros_openpose.
@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.
@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.
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.
@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)
- Increasing frame rate for Azure Kinect HOT 3
- Cannot get it to work in the most standard configuration HOT 2
- Frame_id + Publishing depth information HOT 6
- Information about Face Output HOT 7
- Hand skeleton error HOT 4
- Net Resolution HOT 2
- Only Hand Poses HOT 1
- Skeleton error in Rviz HOT 2
- Directory for openpose python node HOT 6
- encoding MONO16 support HOT 5
- Cmake Error - Package Configuration File Not Found HOT 2
- Error of run.launch HOT 14
- Input the Wrapper a recorded Azure Kinect Video HOT 2
- (OpenPose 1.7.0:16877): Gtk-ERROR ** HOT 5
- Need to detect only one person in the frame HOT 2
- Missing tags section HOT 2
- REQUIRED process [rosOpenpose-2] has died! HOT 4
- Lunch file operation error HOT 6
- Error running the launch file run.launch HOT 2
- Question about ROS Message Frame 3D Points HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ros_openpose.