Loading video...

Video Failed to Load

Go Home

I have released gem-x.cpp on GitHub! This produces a 3D skeleton from video, including live video, which is what interests me. NVIDIA showed the original GEM-X teleoperating humanoids, so the next thing I want to do is get that working in simulation all in GGML/C++.

22,353 views • 18 days ago •via X (Twitter)

26 Comments

Richard Palethorpe's profile picture
Richard Palethorpe18 days ago

Source is here:

Richard Palethorpe's profile picture
Richard Palethorpe18 days ago

GEM-X is related to SAM3D-BODY, in that they do similar things and in offline mode GEM-X uses SAM3D. So checkout sam3d.cpp too:

Ettore Di Giacinto's profile picture
Ettore Di Giacinto18 days ago

I wonder how nice could be to have this in games. In C++ and if working on low end devices.. that opens up a lots of new ways for entertainment

Richard Palethorpe's profile picture
Richard Palethorpe18 days ago

It will very soon be in a game ;-)

Ettore Di Giacinto's profile picture
Ettore Di Giacinto18 days ago

looking forward to try it 👀

Lee Penkman's profile picture
Lee Penkman18 days ago

nice! strong follow :)

Richard Palethorpe's profile picture
Richard Palethorpe18 days ago

Thanks!

George Ou's profile picture
George Ou18 days ago

what are the 2 colored sets of lines? Different models for keypoint detection?

Richard Palethorpe's profile picture
Richard Palethorpe18 days ago

Yes, one is ViTPose which locates the joints in 2D, then GEM-X builds on that to create 3D motions which is the other.

George Ou's profile picture
George Ou18 days ago

Is the cyan-colored line the 3D version?

Richard Palethorpe's profile picture
Richard Palethorpe17 days ago

Yes

JERIC陳傑瑞's profile picture
JERIC陳傑瑞17 days ago

Looks awesome! from your experience, how does it compare to Mediapipe or similar?

Richard Palethorpe's profile picture
Richard Palethorpe17 days ago

No idea, I'm interested to hear from people how it compares to other solutions too

JERIC陳傑瑞's profile picture
JERIC陳傑瑞17 days ago

From the looks alone , yours seem to detect finger bones much better

Richard Palethorpe's profile picture
Richard Palethorpe17 days ago

VitPose does in 2D, I'm not sure the final 3D joint positions are tracking fingers well

Synthetic Beef's profile picture
Synthetic Beef18 days ago

Fun! I remember researching pose estimation almost a decade ago for augmented reality games and sports analysis software and was so sad we weren't close to being able to do it well (and in real time). It's come a long way. Very cool.

Tomi's profile picture
Tomi18 days ago

This looks pretty cool. Does it require Nvidia GPU?

Richard Palethorpe's profile picture
Richard Palethorpe18 days ago

No, runs on Vulkan by default and other backends (e.g Metal) can be added

ChristResearch's profile picture
ChristResearch18 days ago

Amazing work as always! :)

Richard Palethorpe's profile picture
Richard Palethorpe18 days ago

Thanks!

Raul Becerril's profile picture
Raul Becerril17 days ago

I’d love to know difference vs mediapipe

Lunah Lee's profile picture
Lunah Lee18 days ago

海报帧 GEM-X:左栏 Live webcam / Start live,9.2 fps;画面褐衫 FOSDEM 22 logo,身上叠青蓝 Projected 3D skeleton 和橙 ViTPose 点,手指关节细线一根根。开源句写在 FOSDEM 22 圆 logo 和青蓝手指骨架上。

🐰 🦄 Kimberly 🦄 🐰's profile picture
🐰 🦄 Kimberly 🦄 🐰17 days ago

Not bad, I made a similar version with a lot less latency.

Richard Palethorpe's profile picture
Richard Palethorpe17 days ago

Feel free to share the details of that

Wherebot's profile picture
Wherebot18 days ago

How's performance for this vs other skeleton tracking older models? Natively 3d? How's it handle occlusion, best fit overall? Dropout?

Richard Palethorpe's profile picture
Richard Palethorpe18 days ago

It produces 3d poses. I find that it tries to infer the location of body parts when they are occluded and it doesn't make the best guesses if large parts of your body are not visible, but self-occlusion it seems to handle well. Otherwise I don't know how it compares

Related Videos

mark explained the confidence behind his big decision “that kind of thing felt so precious. i mean, even putting aside security, money, all these things.. the fact that i still had something i wanted to achieve. that felt so precious. ive always wanted to do things well, to really reach the top in everything. as someone who wakes up every day with this drive to live at my best, i began to wonder, “what does ‘the best’ actually mean? and whats my ultimate dream? what is the greatest thing i can leave behind in this life, in this world?” so everything started connecting. and if this is the greatest dream i believe in, then i needed to commit to it with my absolute best effort. honestly, everyone in this world is living by their own standards and who you are depends on, the standards you live by. but honestly, ive always had a bit of a loser mindset, what a man should be? and i never felt like that matched who i am. ive always had a complex about that, like rough or edgy and not too exemplary either. but suddenly i got confused about all that. i ended up talking about it to david, david kept asking me “what is that coolness you have in your head?” that made me dig deep and really think. i realized i should actually live by what’s ‘good’ and i need to express that through music. so i found this dream of showing ‘goodness’, i want to show the world what real goodness is and making music like that. ultimately, for the next generation.. i really want to show the next generation what that is. so my dream became very clear. you can be good and also be cool, i want to create a new kind of cool. i truly want that and i want to live it and achieve it in my own life. i realized this is truly something worth dedicating your life to.”

ٰ

32,996 views • 1 month ago