HoloMat Part1 Hand Tracking
🕑 Added 2024-04-14 01:13:47 +0000 UTCHere is the first of many tutorials for building your own Holomat.
Unlock the Power of Hand Tracking with Real-Time Computer Vision
Welcome to our exclusive Patreon series where you delve into the fascinating world of real-time hand tracking using OpenCV and MediaPipe! Whether you're a hobbyist, a student, or a budding developer, this project is your gateway to understanding and implementing cutting-edge computer vision techniques.
Skip the tutorial and run the code: https://github.com/Concept-Bytes/HandTracking
What You'll Learn:
Fundamentals of Computer Vision: Grasp the basics of processing and analyzing images with OpenCV, the leading library for computer vision applications.
Real-Time Video Processing: Learn how to handle video streams in real time. We'll cover everything from capturing video from a webcam to manipulating these live video feeds in Python.
Advanced Hand Tracking: Dive deep into MediaPipe, a state-of-the-art framework that enables developers to build complex vision applications easily. Understand how to detect and track human hand movements dynamically, identifying various landmarks on the hand.
Integration with Other Applications: Explore how to take the hand tracking data and use it to interact with other software. In the advanced part of our series, you'll learn to control the mouse pointer with hand movements, opening doors to potential applications in accessibility tech and beyond.
Practical Coding Skills: Enhance your coding skills as you work through real-world problems, debugging, and optimizing your code to work efficiently.
Comments
Cens
Hey I got the same error what where some of the changes you made?
Nick Huffstetler
anyone know where the list of hardware is?
Ney Torres
Is there a video showing about the projectors and other parts?
Alim Williams
where can i find the parts list
Jordan Newman
Where can i buy the mat itself
Lux Tenebris
Do you have a parts list?
Freely Porshe
Hello, I was wondering if you’d know how to fix this - whenever I try to do python handtracking.py it doesn’t do anything… I have python installed and I have downloaded opencv-python and mediapipe
Stoo
@concept Bytes
Masyad
I was also wondering where those were
Stoo
i cant see anywhere where i get the files and manual on building the actual projector for jarvis?
Jordan Newman
Did you ever post this anywhere? Thanks
Alexander Jones
pip install opencv-python mediapipe numpy
yoel
hi I can't make it run but any error comes out in the moment of the camera to pop out it doesn't
Designer123
That always helps
Jordan Hobbs
Messed with the code a bit and got it to work
Jordan Hobbs
After using the code for hand tracking, I get the following response: INFO: Created TensorFlow Lite XNNPACK delegate for CPU. WARNING: All log messages before absl::InitializeLog() is called are written to STDERR W0000 00:00:1723428106.456605 6700 inference_feedback_manager.cc:114] Feedback manager requires a model with a single signature inference. Disabling support for feedback tensors. W0000 00:00:1723428106.491182 6700 inference_feedback_manager.cc:114] Feedback manager requires a model with a single signature inference. Disabling support for feedback tensors. Error I'm using python 3.11 and I have all the libraries installed. I'm not very knowledgeable in programming at all, but I figured copying and pasting code wouldn't be too hard. Not sure what the errors mean or how to fix them, please let me know if anyone has any information. Please and thank you.
Jonathan Perez
So I had to redo my env and downgrade mediapipe to 0.9.3.0 to get the code to run
Jonathan Perez
Hey guys. I'm trying to run the hand tracking, but I'm getting the following error: Traceback (most recent call last): File "handtracking.py", line 8, in hands = mp_hands.Hands(static_image_mode=False, File "/Users/jp/.pyenv/versions/3.8.10/lib/python3.8/site-packages/mediapipe/python/solutions/hands.py", line 114, in __init__ super().__init__( File "/Users/jp/.pyenv/versions/3.8.10/lib/python3.8/site-packages/mediapipe/python/solution_base.py", line 248, in __init__ self._graph = calculator_graph.CalculatorGraph( RuntimeError: ValidatedGraphConfig Initialization failed. ImageToTensorCalculator: ; RET_CHECK failure (mediapipe/calculators/tensor/image_to_tensor_calculator.cc:144) ValidateOptionOutputDims(options) returned INTERNAL: ; RET_CHECK failure (./mediapipe/calculators/tensor/image_to_tensor_utils.h:136) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required. ConstantSidePacketCalculator: ; RET_CHECK failure (mediapipe/calculators/core/constant_side_packet_calculator.cc:64) (cc->OutputSidePackets().NumEntries(kPacketTag))==(options.packet_size())Number of output side packets has to be same as number of packets configured in options. ConstantSidePacketCalculator: ; RET_CHECK failure (mediapipe/calculators/core/constant_side_packet_calculator.cc:64) (cc->OutputSidePackets().NumEntries(kPacketTag))==(options.packet_size())Number of output side packets has to be same as number of packets configured in options. ImageToTensorCalculator: ; RET_CHECK failure (mediapipe/calculators/tensor/image_to_tensor_calculator.cc:144) ValidateOptionOutputDims(options) returned INTERNAL: ; RET_CHECK failure (./mediapipe/calculators/tensor/image_to_tensor_utils.h:136) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required. ConstantSidePacketCalculator: ; RET_CHECK failure (mediapipe/calculators/core/constant_side_packet_calculator.cc:64) (cc->OutputSidePackets().NumEntries(kPacketTag))==(options.packet_size())Number of output side packets has to be same as number of packets configured in options. ConstantSidePacketCalculator: ; RET_CHECK failure (mediapipe/calculators/core/constant_side_packet_calculator.cc:64) (cc->OutputSidePackets().NumEntries(kPacketTag))==(options.packet_size())Number of output side packets has to be same as number of packets configured in options. SplitTensorVectorCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions. Has anyone run into this? Thanks, JP
emir
Hey where can I add a 3d Model on my project?
Adam
Starting today, followed the guide and it all worked perfectly using my laptops webcam, if anyone is having problems I would suggest making sure you can code a basic python program first so you know python is working correctly. My only real problem since I don't use python much was I had to set the path in my enviornment variables in order to use 'pip'
Abigail Koval
What’s your camera and projector setup like?
P Raja Rajeshwar Reddy
camera is not working with me
Mitchell
I've copied from your Github to confirm i had it all correct and for some reason every time i run the code, it thinks i'm already "clicking", any ideas?
Megan Smith
I’m getting this error as well on a Raspberry Pi 5
Tom Tharp
How would I reduce the bounding box of where you have to move your hands? For example, halving the amount you move your hand to get the same level of movement.
Spyder Flag Check
I have this same issue but with OpenAI and can’t seem to find out why
Adam Robinson
Try opening up an annoconda prompt and type in "pip install mediapipe"
Johnny
import mediapipe as mp ModuleNotFoundError: No module named 'mediapipe'
Jonathan Luna
got it to work, i may have corrected some depdency issues during another project. but shes up and running. very light and impressive
Jonathan Luna
PS C:\Users\jonat\Downloads\HandTracking-main\HandTracking-main> & C:/ProgramData/anaconda3/envs/myenv/python.exe c:/Users/jonat/Downloads/HandTracking-main/HandTracking-main/handtracking.py Traceback (most recent call last): File "c:\Users\jonat\Downloads\HandTracking-main\HandTracking-main\handtracking.py", line 1, in import cv2 ModuleNotFoundError: No module named 'cv2' PS C:\Users\jonat\Downloads\HandTracking-main\HandTracking-main> Pip install opencv-python Requirement already satisfied: opencv-python in c:\python311\lib\site-packages (4.9.0.80) Requirement already satisfied: numpy>=1.21.2 in c:\python311\lib\site-packages (from opencv-python) (1.24.2) PS C:\Users\jonat\Downloads\HandTracking-main\HandTracking-main>
Jonathan Luna
its installed and verified. also verified i was using the correct interpreter "
Kevin Coda
Pip install opencv-python in your terminal
Jonathan Luna
i have tried with not much luck, I keep running into this error " line 1, in import cv2 ModuleNotFoundError: No module named 'cv2'
Kevin Coda
Git link in the description. It's got a read me attached. You can just clone it and run it if ya want
Jonathan Luna
I'm totally lost, can you possibly please provide a wiki, git, or some sort of written readMe documentation for us to follow along? I am working with one monitor and switching from fullscreen video to IDE can become overwhelming very quickly.
Matthew
I am having trouble installing the mediapipe library I was on python 3.12 and went down to python 3.9 and I still can’t get it to work what should I do ?
Halil Sevim
Hello, I followed the specified steps and completed the installation. The camera opens, and the camera tab also opens, but there is no image. What could be the reason for this?
Infinite Tech
I'm using 3.12.
Infinite Tech
I just updated it and I still can't
Kevin Coda
Yeah what version of python are you using? Other had this issue with 3.12. I think mediapipe works with 3.11
Infinite Tech
Can someone help me
Infinite Tech
Mine say import mediapipe could not be resolved and when I do pip install it says error no matching distribution found for mediapipe
Devin Roberts
This fixed it for me
Juan Carlos P. Melgar
Ok, maybe this feature is not contemplated in future projects (and possibly most of the users on this channel are not interested). But is there any way that Jarvis can scan the content of a TCG (i.e. Magic, Pokemon) that can be projected in the Holomat? My idea is, for example, to scan a deck and have Jarvis (using AI algorithms) be able to play a game of any TCG using this scanned deck against another physical deck. It would be something quite nerdy but useful to test the competitiveness of the decks.
Nicholas Wen
It would also be great for you to release a schedule of what tutorials will be released with parts needed so we can get parts in time for the tutorial to come out!
Nicholas Wen
I'd love to get a tutorial adding in the projection functionality soon!
Kevin Coda
WHOOOHOO!
Juan Carlos P. Melgar
omg! it's working! I have to adjust the circle between the index and the thumb, but its working!
Kevin Coda
Absolutely. That will be in HoloMat tutorial part 2 where we do the calibration for it
Gil Henrique Penner
Sweet! I’ll definitely be following together. I’m very curious on how you’re protecting the light. You never showed on your videos (not that I have seen) where is the projector. I’m not a python dev so will definitely be enjoying this
Kevin Coda
Saturdays weekly and code and other content more often than that. That might change. Jarvis is a large project and is hard to break down. Even for part 1 of the release I plan on having the full Jarvis pipeline to give you from whisper ->LLM->TTS so even part 1 is pretty big
Gil Henrique Penner
What's the frequency you're planning on releasing those tutorials?
Brantley O'Day
Try python -m pip install mediapipe
Theo
ImportError: cannot import name 'builder' from 'google.protobuf.internal'
Theo
i have 3.10.11 and it wont work for me
Sjoerd Stouten
Maybe an idea tot print not just an error, but add what kind of error
Sjoerd Stouten
It+s no Mac related, I had to downgrade to the same version of python and pip as you on windows. Also in handtracking.py you might need to change cap = cv2.VideoCapture(0) to 0-1-2-3 to start.
Wesley Spangler
I want to see how to access the 3d files for 3d printing on the holomat, that or Jarvis! :) Thank you!
Juan Carlos P. Melgar
you need to install first python on your machine (use MS market), then you can use pip on the termial. Just a reminder to use python 3.11 due to mediapipe only works on 3.11 version
Juan Carlos P. Melgar
NVM , solved ^ ^
Juan Carlos P. Melgar
Hi, quick question: pip : The term 'pip' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. Yes, I've installed Python
Theo
Do i need a webcam for the media import to work? Because ive copy pasted the github, pip installed everything and double checked it but its not resolving the import.
Analytical Creative
Glad I read this comment :-D
Kevin Coda
Just a webcam, or a laptop with a webcam for now. Eventually we will transfer it to a projector. But in this tutorial you just need a webcam to learn about hand tracking
Theo
What componants do i need for this?
Cody Eves
I also had luck with adjusting the distance check values. I ended up with 0.05 for mouseDown and 0.2 for mouseUp. This had the best results for my camera placement and the angle it can see my hands. I imagine once I move the camera overhead to see the tops of my hands it will be different values for better results.
Jay Shrestha
Is everyone paid member here?
Cody Eves
I'm debugging the same thing. I changed "if distance > 0.3 and mouseDown == True:" to "if distance >= 0.3 and mouseDown == True:" and that seemed to help
Devin Roberts
Turn the “1” to a “0” in the place where which camera it’s choosing is listed. If you look in the code it shows it displays only “error” when the camera cannot be found. A “1” indicates the first camera listed a “0” indicated the default camera, which solved my problem
Gustavo Cotom
I have the same issue. What did you do?
Devin Roberts
Working on Error where you can’t “unclick” once you’ve pinched.
Devin Roberts
Solved the “Error” message problem showing up for myself, if anyone runs into it maybe I can help.
Devin Roberts
Created TensorFlow Lite XNNPACK delegate for CPU. ERROR any idea why I may be getting this?
royyalbert
Thank you very much Resh, one last question, people, will you show how to connect everything and display everything with the projector and that everything will work like in your videos on Tiktok because it's really impressive
Kevin Coda
I'm using a Logitech HD webcam. I'll get the model number but it's like the most basic one you can get from them. It's 1080p. My surface size is going to be 32inx24in for the new HoloMat in building.
royyalbert
What camera are you using? And what is the size of your surface?
royyalbert
TY
Kevin Coda
Thank you for this advice! You guys are helping everyone. I love it! I would have never known that. Will keep that in mind
Florian Middendorf
Also for the Mouse movement script you need to enable the Accessibility settings under Mac. "As a security measure, macOS doesn’t normally let programs control the mouse or keyboard. To make PyAutoGUI work on macOS, you must set the program running your Python script to be an accessibility application. Without this step, your PyAutoGUI function calls will have no effect."
Kevin Coda
Try printing the distance variable and see what it says. That's super useful for debugging. Compare that to the limits you have set for clicking
Kevin Coda
Link in the description
Florian Middendorf
If someone use like me a Mac Book with the M chips. is not so easy to get the application running. On my machine it works now. I have solved problem with an environment on Python 3.11.4 and a pip version of 23.2.1. then Pip install works but crash by initializing the package. I have downgraded it to mediapipe==0.10.9 and know my application is running.
royyalbert
Where do I get a link to github?
pepDC
Thank you for the tutorial! I might have just a little issue with click and drag. I have tried to tweak the distance values and also making the radius bigger but it seems that nothing works. Do you have any suggestion?
Kevin Coda
Great idea. I'll do that
Brantley O'Day
Maybe a min and recommend specs list like they do for games
Kevin Coda
I can put together a recommendation, but my goal is to make this work on any cheap projector and webcam setup so anyone can do it.
Brantley O'Day
Can we get a full parts list for the Holomat early on so we can buy parts over time?
Kevin Coda
Hi, sorry you having issues. You can try "python -m pip" instead of just pip. Or you can try running it outside of vs code terminal. Just open up a command prompt. And pip install and run from there
Alec Dobbie
I'm having issues on Vs, it is not recognising pip . How can i fix this?
Kevin Coda
Good to know, I'll add this to the read me. Thanks for reporting back!
Kevin Coda
I apologize for the error, it's up now!
Kevin Coda
I apologize for the error, it's fixed now!
Gustavo Cotom
I'm also getting a 404 page. Is this an issue for anyone else?
amirhosein fj
The GitHub link leads to a 404 page. Is there anything else I should do to have access?
Brantley O'Day
nevermind, fixed. mediapipe only works up to python 3.11 and I had 3.12
Jaxon Watt
does my github have to be linked to my patreon to access the repo?
Brantley O'Day
I'm having toruble with mediapipe. I'm trying to pip install mediapipe and getting an error. ERROR: Could not find a version that satisfies the requirement mediapipe (from versions: none) ERROR: No matching distribution found for mediapipe
Kevin Coda
Comment what you guys wanna see next!
Kevin Coda
It's up to you guys!
Brantley O'Day
Holo record player next?