Comments (20)
Hi @ravijo,
I am changing to openpose v1.0.6 now.
When I use openpose model --BODY_25, I dint get the error from visualizer.py
. But I noticed I got the error, while I used COCO. I am not sure why this is caused. I am letting you know so that you can test in your machine just in case.
I will test launching ros_openpose with the suggestion you gave.
Thanks!!!
from ros_openpose.
The error you reported i.e., Value error: is not a 'bool' type
is possibly coming from the launch file due to incorrect syntax. I definitely suggest you look at the following working examples of launch files-
You may want to run a debugger in your launch file, please check here.
Feel free to comment. I would love to see ros_openpose working for the Kinect Azure camera.
from ros_openpose.
Hi @ravijo ,
Made some progress here. I am able to launch the run.launch file that runs the kinect driver and the config file that was created.
I am able to vizualise the point cloud data in RViz. But I am unable to do skeleton tracking.
I am not sure about this particular argument in the config file.
<arg name="frame_id" default="camera_body" />
The camera_body is the joint from the URDF from the camera. I am not sure if this is correct. Can you tell me what needs to go in here as the frame_id?
Thanks
from ros_openpose.
Hi,
It seems that you can see the followings-
- OpenPose window with human skeleton detection working
- RVIZ window with point cloud (but no skeleton)
Glad to hear the progress.
The frame_id
is used to assign an id to the skeleton frame. It refers to the origin point of the skeleton frame. This id is used across ROS, such as for RVIZ visualization, etc. You want to make sure that the correct value is assigned to it because an incorrect value will throw the skeleton to a random 3D origin inside RVIZ.
In short, we want to overlap the skeleton with point cloud data. We are using depth frames to get depth info. Therefore you need to make sure that you assign the frame_id
of depth frame to this parameter. At the same time, remember to provide correct cam_info_topic,
too.
from ros_openpose.
Hi,
No, I am not able to do human skeleton tracking detection with openpose window as well. I was able to open the openpose window, but there were not any skeleton tracking.
I can visualize the point-cloud data without skeleton in RViz.
Also, thanks for the information about frame_id. You have mentioned in your comment that a correct value is required to be assigned. But my question was what need to specified as the frame_id? Is it something that needs to be from URDF or from where can I find the exact value of the frame id?
For instance, i looked up in kinectv2 Ros files, and I could not find "kinect2_ir_optical_frame" there. How did you specify this frame id?
Please let me know if you need more info.
Thanks
from ros_openpose.
Can you please use the following files in your project?
- config_azurekinect.launch: Don't forget to rename it. Use the following command to execute it-
roslaunch ros_openpose run.launch camera:=azurekinect
It should print the 3D coordinates in the terminal. Meanwhile, you should be able to see the detection inside the OpenPose window as well.
- person_pointcloud_azurekinect.rviz.txt: Don't forget to rename it. Manually, use this file in RViz. It will show you the point cloud from the camera.
Let me know the progress. It has been tested in my machine.
from ros_openpose.
Hi @ravijo,
Thanks for the launch files.
I tried to run the files launch file after making the necessary changes.
When I launch the file, the open pose console window pops up and then there is now output.
In the terminal, I noticed the following error,
[ WARN] [1597701258.012252524]: Waiting for datum...
Error Prototxt file not found: /home/open_pose/openpose/models/pose/body_25/pose_deploy.prototxt.
Possible causes: 1. Not downloading the OpenPose trained models. 2. Not running OpenPose from the same directory where the model folder is located. 3. Using paths with spaces.
In the path mentioned above, there is a file named pose_deploy.prototxt.
Please find the line modified in the run.launch file below.
<arg name="openpose_args" value="-net_resolution 128x96 --camera 0 --model_folder /home/open_pose/openpose/models/ --model_pose" />
Openpose works fine when running it directly using the following commands
-camera_resolution 640x480 -net_resolution 128x96 --camera 0
Kindly let me know if I am missing something here. Thank you for your time.
from ros_openpose.
Hi @ravijo ,
Fixed the previous error [Error Prototxt file not found].
But yet I am unable to solve the issues with the openpose console. The console pops up but cannot see any output. The console becomes grey.
In the terminal window, I noticed the following,
[ WARN] [1597752455.110829289]: Waiting for datum...
[ WARN] [1597752462.086175956]: Waiting for color image frame...
[INFO] [1597752462.182616]: [x: 1382.0637207
y: 520.540100098, x: 1218.11791992
y: 682.417724609, x: 1072.24780273
y: 633.846923828, x: 1007.66003418
y: 942.556762695, x: 1382.01049805
y: 976.009033203, x: 1348.83227539
y: 698.646728516, x: 1413.88232422
y: 942.575256348, x: 1511.85571289
y: 958.788269043, x: 1008.00073242
y: 1218.91125488, x: 1218.77209473
y: 1316.27380371, x: 0.0
y: 0.0, x: 1235.48376465
y: 1202.98779297, x: 1462.73388672
y: 1511.42089844, x: 0.0
y: 0.0, x: 1365.33227539
y: 456.047821045, x: 0.0
y: 0.0, x: 1235.99304199
y: 455.566131592, x: 0.0
y: 0.0]
[ERROR] [1597752462.447914]: bad callback: <bound method RealtimeVisualization.frame_callback of <__main__.RealtimeVisualization instance at 0x7f82426c80>>
Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
cb(msg)
File "/home/ak/catkin_ws/src/ros_openpose/scripts/visualizer.py", line 144, in frame_callback
body_marker[index].points = [person.bodyParts[idx].point for idx in body_part if self.isValid(person.bodyParts[idx])]
IndexError: list index out of range
[ERROR] [1597752462.979111]: bad callback: <bound method RealtimeVisualization.frame_callback of <__main__.RealtimeVisualization instance at 0x7f82426c80>>
Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
cb(msg)
File "/home/ak/catkin_ws/src/ros_openpose/scripts/visualizer.py", line 144, in frame_callback
body_marker[index].points = [person.bodyParts[idx].point for idx in body_part if self.isValid(person.bodyParts[idx])]
IndexError: list index out of range
[INFO] [1597752462.980736]: [x: 1382.06408691
y: 520.425720215, x: 1218.23754883
y: 682.420654297, x: 1072.30224609
y: 633.846313477, x: 992.027954102
y: 942.834228516, x: 1397.73803711
y: 976.227539062, x: 1349.04248047
y: 698.64239502, x: 1413.93566895
y: 942.830993652, x: 1527.73303223
y: 958.943908691, x: 1039.98583984
y: 1219.05419922, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 1251.15441895
y: 1218.85888672, x: 1446.37158203
y: 1511.60253906, x: 0.0
y: 0.0, x: 1365.3392334
y: 455.972015381, x: 0.0
y: 0.0, x: 1235.95178223
y: 455.499237061, x: 0.0
y: 0.0]
[INFO] [1597752463.511045]: [x: 1382.05517578
y: 536.416442871, x: 1186.69311523
y: 682.386047363, x: 1040.20556641
y: 617.983581543, x: 1023.88751221
y: 958.379638672, x: 1365.91015625
y: 991.463256836, x: 1332.32958984
y: 699.08001709, x: 1430.0045166
y: 958.937255859, x: 1495.00256348
y: 861.627563477, x: 1056.74279785
y: 1235.52197266, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 1236.01306152
y: 1235.07800293, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 1365.38989258
y: 456.232727051, x: 0.0
y: 0.0, x: 1235.88085938
y: 455.448364258, x: 0.0
y: 0.0]
[ERROR] [1597752463.513085]: bad callback: <bound method RealtimeVisualization.frame_callback of <__main__.RealtimeVisualization instance at 0x7f82426c80>>
Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
cb(msg)
File "/home/lams/catkin_ws/src/ros_openpose/scripts/visualizer.py", line 144, in frame_callback
body_marker[index].points = [person.bodyParts[idx].point for idx in body_part if self.isValid(person.bodyParts[idx])]
IndexError: list index out of range
[ WARN] [1597752465.008793953]: Waiting for datum...
[ WARN] [1597752472.094717145]: Waiting for color image frame...
[ WARN] [1597752475.011401042]: Waiting for datum...
[ WARN] [1597752481.838410622]: Waiting for color image frame...
[ WARN] [1597752485.016863770]: Waiting for datum...
[ WARN] [1597752491.838509336]: Waiting for color image frame...
[ WARN] [1597752495.018291123]: Waiting for datum...
[ WARN] [1597752501.848509184]: Waiting for color image frame...
[ WARN] [1597752505.023092456]: Waiting for datum...
[ WARN] [1597752511.852989200]: Waiting for color image frame...
[ WARN] [1597752515.034455380]: Waiting for datum...
After the values are printed 3 times with the errors and then the warning continues.
please find the openpose console window that opens up after roslaunch.
Thanks for you time
from ros_openpose.
Hi @ravijo ,
I have fixed the issue with the openpose and other issues I had with the kinect azure device.
But, currently I am having the following error.
[ERROR] [1598044032.342585]: bad callback: <bound method RealtimeVisualization.frame_callback of <__main__.RealtimeVisualization instance at 0x7f89f5d550>>
Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
cb(msg)
File "/home/ak/catkin_ws/src/ros_openpose/scripts/visualizer.py", line 144, in frame_callback
body_marker[index].points = [person.bodyParts[idx].point for idx in body_part if self.isValid(person.bodyParts[idx])]
IndexError: list index out of range
from ros_openpose.
Are you using the latest version? You should not face such an issue in the newest version.
Please note that config_azurekinect.launch and person_pointcloud_azurekinect.rviz provided above works without showing any error in my system.
However, please note that at this moment for Azure Kinect camera, 3D conversation from image pixels is not working correctly. It is due to a different distortion model used by Azure Kinect camera. So far, ros_openpose assumes the plumb_bob
model but Azure Kinect is found using rational_polynomial
distortion model. This is why 2D pixel to the 3D coordinate calculation is returning the wrong points.
Wait for a while. I am looking for a way to incorporate the rational polynomial distortion model as well.
Nevertheless, you should be able to run Azure Kinect camera with ros_openpose in image(pixel) space.
from ros_openpose.
Hi,
I am using the openpose version 1.5.1.Do you want me to change to latest version?
And you can visualize the skeleton image in Rviz?
Do mind tell me what are the errors you are facing with the kinect azure sensor?
I have been working on last week to figure out a way fix a few error. I can help you with that if required.
from ros_openpose.
The following error is thrown by visualizer.py
which basically uses converted 3D values to compose a skeleton of the human and renders it in RViz.
[ERROR] [1598044032.342585]: bad callback: <bound method RealtimeVisualization.frame_callback of <main.RealtimeVisualization instance at 0x7f89f5d550>>
Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
cb(msg)
File "/home/ak/catkin_ws/src/ros_openpose/scripts/visualizer.py", line 144, in frame_callback
body_marker[index].points = [person.bodyParts[idx].point for idx in body_part if self.isValid(person.bodyParts[idx])]
IndexError: list index out of range
As I said above, right now, 2D to 3D conversion for Azure Kinect camera is broken. Therefore, we can disable 3D rendering inside Rviz by unsetting the skeleton
flag. Please use the following command-
roslaunch ros_openpose run.launch camera:=azurekinect skeleton:=false
I am using the openpose version 1.5.1. Do you want me to change to latest version?
The error you reported doesn't seem to relate to OpenPose. However, there is no harm checking with the latest version.
Do mind tell me what are the errors you are facing with the kinect azure sensor?
There is no error. It is working fine in my system. Please read my complete response here.
Cheers!
from ros_openpose.
Hi @ravijo ,
Did you by any chance get a error like this?
../src/capturesync/capturesync.c (142): replace_sample(). capturesync_drop, releasing capture early due to full queue TS: 442084411 type:Depth
or
capturesync_drop, releasing capture early due to full queue TS: 451066 type:Color
Thanks
from ros_openpose.
Please pull the latest version of ros_openpose. I have just added the support for the Azure Kinect camera. Please note that I have verified it and found it working on my machine (Ubuntu 18). I hope your query is solved.
I am closing the issue now. Please feel free to open the issue and comment if the problem persists.
from ros_openpose.
Hi @ravijo ,
Thanks. Can you kindly let me what resolution you were using for the camera? and what was you output fps?
from ros_openpose.
I was running the camera in default parameters. The output FPS in OpenPose was 4 FPS (with CUDA+ cuDNN).
Later on, I noticed that the default FPS parameter is set to 5 in Azure Kinect. Therefore, 4 FPS is not bad in this case.
Furthermore, an explicit sleep is defined inside ros_openpose just to lower CPU usage. You may try to decrease of remove this sleep. Please see here.
from ros_openpose.
It should print the 3D coordinates in the terminal. Meanwhile, you should be able to see the detection inside the OpenPose window as well.
Hi @ravijo,
The output result prints the X and Y coordinates in the terminal. How do you get the the 3D coordinates?
Thanks
from ros_openpose.
Hello @AswinkarthikeyenAK
The output result prints the X and Y coordinates in the terminal. How do you get the the 3D coordinates?
As you said, the terminal shows only pixel values. These pixels are converted to 3D world coordinates using depth image and the camera's intrinsic parameter.
from ros_openpose.
Hi @ravijo ,
First, I'd like to thanks for your support.
I noticed that the skeleton image in RViz is quite distorted while visualizing it.
Did you have the same issue while visualizing this in RViz or was it working fine in you system?
I am just wondering if this is due the 2D to 3D conversion you had mentioned earlier or something else?
However, please note that at this moment for Azure Kinect camera, 3D conversation from image pixels is not working correctly. It is due to a different distortion model used by Azure Kinect camera. So far, ros_openpose assumes the
plumb_bob
model but Azure Kinect is found usingrational_polynomial
distortion model. This is why 2D pixel to the 3D coordinate calculation is returning the wrong points.
Thanks again
from ros_openpose.
I am happy to see that you made it work. Great!
I noticed that the skeleton image in RViz is quite distorted while visualizing it.
Some of the values published under the human skeleton visualization topic are invalid as I can see "Uninitialized quaternion, assuming identity" warning message in the screenshot.
Did you have the same issue while visualizing this in RViz or was it working fine in you system?
Yes. I noticed the same warning message "Uninitialized quaternion, assuming identity" with the Azure Kinect camera.
I am just wondering if this is due the 2D to 3D conversion you had mentioned earlier or something else?
I am not sure. All I can say that this warning message comes only with the Azure Kinect camera. Perhaps, we need to explore more about the Azure Kinect camera. Frankly speaking, when you opened the issue and pointed out that you are trying to use Azure Kinect camera, I decided to get one and quickly made the configuration files. So, I have gained in-depth exposure to this camera. For example, I used k4aviewer
to see color and depth images, which look great. However, when I saw the point cloud inside k4aviewer
(and rviz
too), it was not so satisfactory to me. I think that this camera has applied so many filters to process the point cloud data that unfortunately the output is not that great (as it was in the case of RealSense).
I would suggest you look at the depth values and then manually verify the coordinates of the skeleton point in 3D space. Give it a try by changing the depth (and camera calibration topic too) topic.
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.