Hi @jaybdub, this project looks amazing, best pose estimation model on the jetson series thus far!
I would like to train on my own data for this purpose, in your training script train.py, there is a config.json file that is needed to perform training. Could you provide that the config file that you used to train for your model? Thank you!
I’d like to examine on our own device. The aim of project is human pose estimation just like yours.But also we want to create simulation which replicated the motions of the human in front of the camera Which programs do we have to install to Jetson Nano?
I’m trying to run this on my Geforce 1060 laptop, for this I’m using the PyTorch 20.06 NGC Container. But I’m receiving this error message in the firt cell of live_demo.ipynb.
Thank you, I was looking for this kind of example to get started and I would like to get the key points and coordinates of body joints Is it possible? the idea is to build a system that alert when someone falls or behave unnaturally, if you have any input, please provide.
@pmario.silva Hmm. This looks like perhaps trt_pose was built against a version of PyTorch different from what you’re currently using. I would try uninstalling trt_pose, and re-install from scratch.
@salmanfaris Hi salmanfaris, you can get the 2D body keypoints from the output of the model. Please let me know if you have questions on how to do this. While pose is particularily useful because it’s offers a nice programatic interface (point locations) and also abstracts away the visual variation of different people, sometimes an end-to-end approach, like training a classification model, may be more robust and easy to continually improve. This is particularily true if the problem is visually simple. If you want to learn how to train your own model, I’d check out the JetBot project. I encourage you to explore which fits your application best.
Please let me know if this helps or you have any questions.
This notebook demonstrates how to run the model and draw keypoints.
The 2D keypoints are parsed from the neural network using the “ParseObjects” function. This returns
object_counts: The number of people per image (Tensor of size (Num Images)
objects: An (Num Images)x(Number of People)x(Number of Body Part Types) matrix. The values in this matrix correspond the the keypoint index (see next tensor, and are -1 if the keypoint doesn’t exist for that person)
normalized_peaks: An (Num Images)x(Number of Body Part Types)x(Maximum Num Possible Keypoints)x(2) tensor containing the keypoint locations in normalized images coordinates [0,1].
To get the left eye for the person with index=0 we would do.
image_idx = 0
if object_counts[image_idx ] > 0:
# there is an object in the first image
person_idx = 0
left_eye_type_idx = 1
left_eye_idx = objects[image_idx, person_idx , left_eye_type_idx ]
if left_eye_idx > 0:
# the person has a left eye
left_eye_location = normalized_peaks[image_idx, left_eye_type_idx, left_eye_idx, :] # row, col
y, x = left_eye_location[0], left_eye_location[1]
y_pixels, x_pixels = y * height, x * width
You may find these helpful. Apologies that there isn’t currently a helper function to do this parsing into a more intuitive format.
Please let me know if this helps or you have any questions.
Is it possible to parse this trt_pose into deepstream and then overlay the pose on the video stream and output? Then use the key points to identify different scenarios?
HI,
when I run the demo, I’m receiving an error message in the firt cell of live_demo.ipynb .
OSError: /usr/lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory in static TLS block.
Thanks
Hi @jaybdub et al,
We have converted the OpenPifPaf to run on Jetson Nano using TensorRT and we open-sourced it. Here is the article to our work and Github links:
Also our work is highlighted in OpenPifPaf development team at EPFL University.
we got good results with NVIDIA Jetson devices, probably this could be shared in NVIDIA developer’s blog so other developers can use it. Let me know if you need any content from our team to promote this.
Here is a sample video: OpenPifPaf Pose Estimation Using TensorRT - YouTube
I would like to know how can I increase the resolution. My goal is to detect the pose for a person located 20 - 30 ft away from the camera. It seems the current resolution is not enough so wondering which steps should be followed to increase the image input size.