AI Hand Pose Estimation with MediaPipe and Python

Поделиться
HTML-код
  • Опубликовано: 10 сен 2024

Комментарии • 146

  • @charliedancey
    @charliedancey 3 года назад +22

    I have to say that this was the best coding video I have ever watched, by a long mile.
    Slick, quick and straight to the trick.
    The half hour I’ve spent watching this has saved me about two days on my project.
    Many thanks.

  • @lailaelhaddad8342
    @lailaelhaddad8342 4 месяца назад

    thank you very much nicholas, I was on the verge of giving up on my research work. but thanks to you and your videos I was able to have a new lease of life to continue. Thank you very much again.

  • @rachaelesh965
    @rachaelesh965 2 года назад

    I'm so appreciative of you! I could not understand this until your broke each step down-thank you so much!!

  • @sandeep2523
    @sandeep2523 3 года назад +1

    Really loved it. We need a long playlist on this. Make more videos.

  • @vikashchand.
    @vikashchand. 3 года назад +2

    Nice intro 🔥🤘😂
    Media Pipe is quite interesting, I saw it's repo on GitHub, not very compatible with JS huh? Yet lol
    Can't wait for part 2 of this! 🔥

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +1

      😅 thought you might like it! This code base isn't but when I took a look it's super similar to what's available using Tensorflow.Js. I think I'm eventually going to extend out some of the TF.js use cases but with the additional components, e.g. kinematics, rep counting etc!

  • @BrunoSilva-rt1wz
    @BrunoSilva-rt1wz Год назад

    Great content! This was the exactly kind of introduction to mediapipe that I was looking for. Thank you so much!

  • @sumitevs
    @sumitevs 3 года назад +3

    Really appreciate your work. well explained and a breeze to follow.

  • @lory4kids272
    @lory4kids272 3 года назад +1

    you are the best on youtube really, please keep up, thank you, will be useful if you can make a tutorial about how to define a particular hand gesture and how to send it to be assigned for an action like play a video or something else. thanks again

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      Yesss, will definitely dig into this @Lory4 Kids!

  • @goikoi212
    @goikoi212 3 года назад +1

    Great content !!!
    Hope you continue making awesome videos like this.

  • @manausprevsagem4713
    @manausprevsagem4713 2 года назад

    Bravo, Nick. Without words. It helped me so much Thanks!

  • @akshikamde6764
    @akshikamde6764 2 года назад

    Thank you for this tutorial. Very concise and clear!

  • @hugomoreno519
    @hugomoreno519 3 года назад +1

    Another amazing video man, please do the learning without forgetting and incremental learning, keep up the great content bro 😉

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      Definitely got it planned for one of my non-techy vids!

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      Heya @Hugo, the vid is out! ruclips.net/video/cCmGg_Pn9K8/видео.html

  • @blazjanezic7495
    @blazjanezic7495 3 месяца назад

    What is the hardware you're running mediapipe on? I've tried running gesture recognition on Raspberry PI4 and noticed quite a lag between image capture and hand tracking...

  • @AishaKyes
    @AishaKyes 2 года назад +1

    Hi, I have a quick question. I'm really new to this but I followed everything like you did but when I run "mp_hands.HAND_CONNECTIONS" I get a somewhat empty result. Even though the tracking works and the XYZ coordinates too
    this is part of the 'result' i get:
    frozenset({(0, 1),
    (0, 5),
    (0, 17),
    (1, 2),
    (2, 3),
    (3, 4),
    (5, 6),
    (5, 9),
    (6, 7),
    . . .
    Do I have to import something else for those missing landmark connections? Sorry if this is a silly question

  • @coopersowards286
    @coopersowards286 2 года назад +1

    It says unexpected indent on cv2.imshow(‘Hand Tracking’, image)
    What do I do

  • @tahagenio8555
    @tahagenio8555 7 месяцев назад +1

    It is impossible for me to install MediaPipe Library

  • @amongsussyballs
    @amongsussyballs 3 года назад +1

    I get "ImportError: libGL.so.1: cannot open shared object file: No such file or directory" when it tries to import mediapipe...
    just copied everything to pycharm and works fine, ignore this

  • @elcorreodesteven
    @elcorreodesteven 2 года назад

    friend thank you very much for this great video, I'm ready to see the next video.
    Thank you so much for teaching us such great things.

  • @jubaidabushra5857
    @jubaidabushra5857 5 месяцев назад

    hello.....each time i try to run the code,,,i face this kind of error ' cv2.VideoCapture' object has no attribute 'isOpend' ' can you please help me???

  • @ameerazam3269
    @ameerazam3269 3 года назад +1

    Amazing again bro you always bit faster than me

  • @quratulannimran7454
    @quratulannimran7454 3 года назад +1

    It is neither giving any error nor any output. What to do now

  • @ewaperlinska1179
    @ewaperlinska1179 3 года назад +2

    I can't install !pip install mediapipe , it throws me error
    ERROR: Could not find a version that satisfies the requirement mediapipe
    ERROR: No matching distribution found for mediapipe
    help

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      What version of Python are you using? Could try Python 3.7.3?

    • @roscianyt
      @roscianyt 2 года назад

      same error

  • @aamirmunir9435
    @aamirmunir9435 2 года назад

    Where is my images saves in jupyter. I can not finds my images like video time duration 34:50. how to find my directory where the images save

  • @enasaref8888
    @enasaref8888 Год назад +1

    Thank you for this video. what lines of code are needed to display angles on the screen. Also, how can I save the angles to a dataset or an excel file. Thank you

  • @jayavibhavnk3688
    @jayavibhavnk3688 2 года назад +2

    not printing results.multi_hand_landmarks
    even after i show my hand pls help

    • @NicholasRenotte
      @NicholasRenotte  2 года назад +1

      Got hand landmarks in the frame? Double check your hand is in the last frame and see if it is still apparing there.

    • @jayavibhavnk3688
      @jayavibhavnk3688 2 года назад

      @@NicholasRenotte thank you

  • @user-ef5pm1hg4q
    @user-ef5pm1hg4q 3 года назад +2

    how would i get the x and y values for my left and right hand?

  • @martinwettig8212
    @martinwettig8212 2 года назад

    Excellent video, thanks a bunch.

  • @codista.1213
    @codista.1213 3 года назад +1

    really good content, love your work!!!

  • @michelghaith4346
    @michelghaith4346 Год назад

    excuse me, i read the documentation of mediapipe
    it said that hand detection model depends on palm detection model and hand landmark extraction model
    for my application it just need the palm position
    do you know how can i stop the process when i detect the palm just in case to increase the fps

  • @nandanbhandarii
    @nandanbhandarii 2 года назад

    In one word, Awesome...

  • @sorochinsky
    @sorochinsky 3 года назад +2

    оууу😱🔥🔥🔥🔥 будет чем вечером заняться😁😁😁 Thank you very much! 🥰🥳

  • @ashleysami1640
    @ashleysami1640 3 года назад +2

    I ALWAYS read the description 😂

  • @RitmuKids
    @RitmuKids 2 года назад

    How do you capture the movements and bring it to the Blender? I've hit myself all over the internet, including with the BlendArMocap addon and I couldn't

  • @ayushsharma8950
    @ayushsharma8950 2 года назад

    Can someone tell me when I do results.multihandlandmarks, it's empty, why?

  • @adarshjaiswal7334
    @adarshjaiswal7334 3 года назад +2

    Bro you are superb. Buddy just one favor bro can you please please make one video in real time object detection along with frame around object in React Native (mobile) using tensorflow . Trust me buddy I am struggling a lot since a long but can't find any good resources to completely execute it

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +1

      Ya! It's been on the cards for a while, just need to tighten up my RN coding. But definitely it's on the list @Adarsh, ideally using tflite and RN for end to end object detection!

    • @adarshjaiswal7334
      @adarshjaiswal7334 3 года назад +1

      @@NicholasRenotte Thanks buddy for your reply. If you are gonna go for it in coming days, I would request you to do something similar to this heartbeat.fritz.ai/turning-the-mobile-camera-into-a-real-time-object-detector-with-flutter-and-tensorflow-lite-f412962b1805

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +1

      @@adarshjaiswal7334 awesome, will take a look into it!

  • @sudhanshushrivastava6313
    @sudhanshushrivastava6313 2 года назад

    Amazing tutorial, gonna try this for sure, thanks for the tutorial, subscribing u for some more such videos

  • @divyanjalisingh8759
    @divyanjalisingh8759 3 года назад +1

    I'm a beginner at this, could you please tell me how to do foot pose estimation (there's no model specifically for foot pose in the mediapipe framework right?)

  • @yashvijay7170
    @yashvijay7170 Год назад

    How do fix this problem
    If cv2.waitKey(10) &0 *FF = ord('q'):
    Problem is FF is not defined

    • @joshua_dlima
      @joshua_dlima 5 месяцев назад

      it is this:
      if cv2.waitKey(10) & 0xFF == ord("q"):
      break

  • @pgsaisandeep8878
    @pgsaisandeep8878 2 года назад +1

    Can i know which algorithm is used in detecting the hands..

  • @josebencao5574
    @josebencao5574 2 года назад

    Hi, I keep getting this error, can anyone help me ?
    binary_graph_path=os.path.join(root_path, binary_graph_path))
    FileNotFoundError: The path does not exist.
    [ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-oduouqig\opencv\modules\videoio\src\cap_msmf.cpp (434) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback

  • @elifhanci7483
    @elifhanci7483 2 года назад

    hey, I want to ask a question about the confidence score for each joint. Mediapipe doesn't provide these scores but is there a way to get these confidence scores for each joint of a hand??

  • @zeyadramadan8759
    @zeyadramadan8759 2 года назад

    Really amazing. Keep it up.

  • @cryptonyte6715
    @cryptonyte6715 2 года назад +2

    Can the capture data be output as a fbx or bvh animation format for 3d applications?

    • @NicholasRenotte
      @NicholasRenotte  2 года назад

      A few people have been asking for it! Will be working on it soon!

  • @AliRashidi97
    @AliRashidi97 2 года назад +1

    Tnx a Lot !!!! That was great !!!

  • @akkick7324
    @akkick7324 2 года назад

    Traceback (most recent call last):
    File "D:/pythonProject2/name.py", line 2, in
    import mediapipe as mp
    File "D:\pythonProject2\app_d\lib\site-packages\mediapipe\__init__.py", line 16, in
    from mediapipe.python import *
    File "D:\pythonProject2\app_d\lib\site-packages\mediapipe\python\__init__.py", line 17, in
    from mediapipe.python._framework_bindings import resource_util
    ImportError: DLL load failed: The specified module could not be found.
    please help iam getting this error

    • @NicholasRenotte
      @NicholasRenotte  2 года назад

      Check this out: github.com/google/mediapipe/issues/1839

  • @MrSANS
    @MrSANS 2 года назад

    Hello i want to collect data and train the model with mediapipe, how should i use?

  • @rupendrakrishnaraavi4217
    @rupendrakrishnaraavi4217 3 года назад +1

    Hi Nicholas a great video I extracted the key points trained them but while detecting I am getting this error "X has 63 features, but this StandardScaler is expecting 84 features as input" (I used your holistic code for detection) any idea bro how to solve it?

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      Heya @Rupendra, might be missing features when passing through. 63 features is synonymous with the handpose keypoints, but 84 I think is close to the posenet features. Might need to retrain if you're making a model for handpose detection!

  • @manjunathshenoy3774
    @manjunathshenoy3774 Год назад

    Hi this is very helpful. Actually I have to detect hands in a video where the person is wearing gloves, the mediapipe is not giving consistent detections, any suggestions to get better detections?

  • @dayspring4709
    @dayspring4709 3 года назад +2

    Hello friends, is there any way to use it to export FBX to blender or connect to blender in real time? It would be great, thank you

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +1

      Working on it @day spring :)

    • @dayspring4709
      @dayspring4709 3 года назад +1

      @@NicholasRenotte ohhhhhhhhhhhhhhhhh,yes,yes

  • @talisingh128
    @talisingh128 3 года назад +1

    Instead of using my webcam feed can I use a prerecorded video? And how do I do this? Pretty new to this stuff, thanks.

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      Sure can, just sub out the 0 in cv2.VideoCapture(0) for the path to your video. E.g. cv2.VideoCapture('pathtoyourvideo.mp4')

  • @yazdangh3604
    @yazdangh3604 2 года назад +1

    hi, im trying to get an executable output of this project but i get an error of none existing path of solution in mediapipe and the .exe doesnt run. could you create a video of how to create a .exe file from these kind of projects like hand detections?

  • @RohitKumar-oz7wn
    @RohitKumar-oz7wn 3 года назад +1

    Hand tracking is not responding while I move my hand then what should I do ?

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +1

      What's happening, just not picking it up or?

    • @RohitKumar-oz7wn
      @RohitKumar-oz7wn 3 года назад +1

      @@NicholasRenotte when I move my hand ...then system stop performing ,look like hanging my system..

    • @NicholasRenotte
      @NicholasRenotte  2 года назад

      @@RohitKumar-oz7wn any errors in the terminal or notebook?

    • @RohitKumar-oz7wn
      @RohitKumar-oz7wn 2 года назад

      @@NicholasRenotte no sir

  • @brucewayne9708
    @brucewayne9708 3 года назад +2

    hey dude can you do the sign language detection using this one

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +1

      Yup, working on something special with it!

  • @bankcrawpackchannel6936
    @bankcrawpackchannel6936 3 года назад +4

    Sign Language with mediapipe.

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +5

      Ya! Been thinking about how to best do this!

  • @sushanthk4638
    @sushanthk4638 Год назад

    When i raise my hand my webcam window gets stuck😢😢

  • @rohitjosyula7983
    @rohitjosyula7983 3 года назад

    This is a great video, I loved it! One question I have though that I hope you could answer: is this a 2D hand pose estimation or 3D? I seem to have a bit of trouble figuring if it’s 2D or 3D so I would appreciate it if you could explain as to which one it is!

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      It's 3D, x,y,z with z being estimated depth from the camera @Rohit!

  • @emirylmaz2169
    @emirylmaz2169 Год назад

    thanks!

  • @gauranshnayyar5879
    @gauranshnayyar5879 Год назад

    Hi mp.solution.drawing_utils where can we find ‘solutions’ in mediapipe as to know what this function does and weather to put something in it or not because the whole code is given on mediapipe, can you help me with this?

  • @yityenglow3585
    @yityenglow3585 2 года назад

    Only can use jupyter to train the dataset?

  • @thanhhai5964
    @thanhhai5964 3 года назад +1

    I really like your video

  • @user-pv8tq2ne2q
    @user-pv8tq2ne2q 3 года назад +1

    Dear Nicholas,
    How can i input those finger skeleton points into Recurrent Neural Network to training a gesture recognition model.
    Can you please make a tutorial about it?
    Thank you for your help.

    • @NicholasRenotte
      @NicholasRenotte  2 года назад +1

      Check this out: ruclips.net/video/doDUihpj6ro/видео.html

    • @user-pv8tq2ne2q
      @user-pv8tq2ne2q 2 года назад

      @@NicholasRenotte Thank you very much.

  • @sgeorgeBJ
    @sgeorgeBJ 7 месяцев назад

    How did you set up the enviroment?

  • @pasindumanodya5517
    @pasindumanodya5517 Год назад

    how can we import a json file to the above code ?

  • @alekhyagayen1214
    @alekhyagayen1214 3 года назад +1

    Besides the code, I'm curious about the screen recorder you're using. What is it ??

  • @eusou0
    @eusou0 3 года назад

    Why use the "& 0xFF" if the comparison will work anyway? Is it somehow making the execution of the comparison faster overall?

    • @NicholasRenotte
      @NicholasRenotte  2 года назад

      waitKey checks if a key is pressed, the second part checks what key was pressed!

  • @eranfeit
    @eranfeit 3 года назад +1

    Thank you. How do you grab a specific landmark from a specific hand ?

  • @bendict723
    @bendict723 3 года назад +1

    Hey, great video! Just a question, is it necessary to set writeable to False initially?

  • @muhammadmohaz334
    @muhammadmohaz334 2 года назад

    can someone tell me how i can make these green lines thick cz these are too thein in my case

  • @coiwcollege9854
    @coiwcollege9854 2 года назад +1

    What's the difference between connections and landmarks?

  • @wanheda_867
    @wanheda_867 3 года назад

    great video 🔥🔥🔥 , Can you do an activity recognition AI using MediaPipe pose estimation next?

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      Thanks a bunch @Javian! Like this: ruclips.net/video/We1uB79Ci-w/видео.html

  • @viktordenisov4840
    @viktordenisov4840 3 года назад

    Good afternoon! I decided to write the code one - to-one as in the video. As a result, I reached the usual output of the image from the camera. Then I inserted the code:
    with mp_hands.Hands(mine_detection_confidence=0.8, min_tracking_confidence=0.5) as hands:
    and gave a bunch of errors. Although mediapipe has installed (pip install mediapipe on the command line). What should I do?
    Mistakes:
    Traceback (most recent call last):
    File "C:\python_work\hello_world.py", line 13, in
    with mp_hands.Hands(min_detection_confidence=0.8, min_tracking_confidence=0.5) as hands:
    File "C:\Users\Виктор\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mediapipe\python\solutions\hands.py", line 129, in __init__
    super().__init__(
    File "C:\Users\Виктор\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mediapipe\python\solution_base.py", line 229, in __init__
    validated_graph.initialize(
    FileNotFoundError: The path does not exist.
    [ WARN:0] global C:\Users
    unneradmin\AppData\Local\Temp\pip-req-build-1hfhc_rd\opencv\modules\videoio\src\cap_msmf.cpp (438) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback

    • @viktordenisov4840
      @viktordenisov4840 3 года назад

      Python 3.9.5

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      Not sure if this is the source of the error, but this should be min_detection_confidence not mine_detection_confidence?

  • @WonderRob
    @WonderRob 3 года назад +1

    Great video! Can you please do GPT3 level content creation?

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +2

      Oh man, actually got the code working but it looks like the library is broken so it maxes out at 293 words generated. Been meaning to raise a GH error for it. But yep, will eventually be coming @Rob!

  • @jandotz8104
    @jandotz8104 2 года назад

    Hi Nicholas, very nice tutorial really, I have followed last year already. I got one question I did not find any answer so far and maybe can help someone else as well. I hope you can help me out. Can I get the confidence level of only particular hand's landmark? I mean e.g. for somewhat reason the confidence level of landmark n. 8 - INDEX_FINGER_TIP solely. Is there any way to obtain/extract that? THX and keep up very good job!

  • @shayinmontreal137
    @shayinmontreal137 3 года назад +1

    Dear Nicholas,
    Can you please make a hand sign recognition with google colab using our webcam in python that does real time recognition?
    Please it would help because the other video you posted about real time sign language detector does not work for google colab.
    From a college student

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +1

      Heya @SharCie, unfortunately the latecy between colab and your webcam doesn't really make this feasible, that's why I do it locally. Training on colab is fine but inference should ideally be done on a local machine!

    • @shayinmontreal137
      @shayinmontreal137 3 года назад +1

      @@NicholasRenotte Oh okaie..cebause
      I don't have a gpu :(
      Thank you for the reply tho.. Your content is so much fun to learn.

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +1

      @@shayinmontreal137 anytime! Stoked you're enjoying it!

  • @johnzarate9975
    @johnzarate9975 2 года назад

    can you do a video about installation about mediapipe for python?

  • @RusFarFaz
    @RusFarFaz 2 года назад

    thank! How I can get coordinates some point?

  • @zimzime
    @zimzime 3 года назад +1

    Is there any chance to get landmarks for every 2 frames?

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +1

      Yup, you could just pause or skip a frame as you're running through each!

    • @zimzime
      @zimzime 3 года назад

      @@NicholasRenotte Thank you very much :d

  • @arunreddy7549
    @arunreddy7549 3 года назад

    Hi, Can you please tell me how to implement a "real-time 3d virtual trial room using webcam."

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      In theory this is what I think is needed @Arun:
      1. Detect keypoints
      2. Convert keypoints to a rig
      2. Render 3D overlay for clothes to a rig

  • @Gabriel-nw9il
    @Gabriel-nw9il 3 года назад +1

    why do you use jupyter??

    • @NicholasRenotte
      @NicholasRenotte  3 года назад +1

      I like it! In all honestly it allows for rapid prototyping and exploratory analysis.

  • @_ShrutiRawat
    @_ShrutiRawat 3 года назад +1

    Sir write the program for yolov4 object detection

    • @ameerazam3269
      @ameerazam3269 3 года назад +1

      you will find lots of code on github but I'm sure this will create the video on that

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      Yeah I've been hearing a lot about it. Any reason why yolov4 versus something like TFOD?

    • @_ShrutiRawat
      @_ShrutiRawat 3 года назад +1

      @@NicholasRenotte tfod is good but I don’t prefer doing it with JS or react js I can do it with tfod for object detection yolov4 is mostly used for object detection

    • @NicholasRenotte
      @NicholasRenotte  3 года назад

      @@_ShrutiRawat but you can use TFOD in Python as well for Object Detection!

  • @torresjosephine8039
    @torresjosephine8039 3 года назад

    how to fix this NameError: name 'cv2' is not defined?