{"id":60,"date":"2024-09-21T19:22:55","date_gmt":"2024-09-21T19:22:55","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/?p=60"},"modified":"2024-09-22T03:12:01","modified_gmt":"2024-09-22T03:12:01","slug":"shayes-status-report-for-09-21","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/2024\/09\/21\/shayes-status-report-for-09-21\/","title":{"rendered":"Shaye&#8217;s Status Report for 09\/21"},"content":{"rendered":"<p><span style=\"font-weight: 400\">This week I worked on building out the initial pipeline for our hand posture tracking. Before starting the pipeline, I looked more into how wrist deviation is usually measured. I found that typically it relies on the middle joint as a reference position. First, a neutral position is recorded (solid vertical line in the photo). Then, as the wrist deviates, we can measure the angle between the middle solid line and the dotted lines to find the angle of deviation.\u00a0<\/span><\/p>\n<figure id=\"attachment_69\" aria-describedby=\"caption-attachment-69\" style=\"width: 309px\" class=\"wp-caption alignnone\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-69\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-content\/uploads\/sites\/331\/2024\/09\/bioengineering-10-00219-g001-550-2-300x103.jpg\" alt=\"\" width=\"309\" height=\"106\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-content\/uploads\/sites\/331\/2024\/09\/bioengineering-10-00219-g001-550-2-300x103.jpg 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-content\/uploads\/sites\/331\/2024\/09\/bioengineering-10-00219-g001-550-2.jpg 550w\" sizes=\"(max-width: 309px) 100vw, 309px\" \/><figcaption id=\"caption-attachment-69\" class=\"wp-caption-text\">Image from https:\/\/www.mdpi.com\/2306-5354\/10\/2\/219<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400\">I then ran the Mediapipe <\/span><a href=\"https:\/\/github.com\/google-ai-edge\/mediapipe\/blob\/master\/docs\/solutions\/hands.md\"><span style=\"font-weight: 400\">hand landmark detection<\/span><\/a><span style=\"font-weight: 400\"> demo available on Github and used the code as a starting point to build out the rest of the pipeline. After looking at the landmarks I had available to me, I decided to use points 0 and 9 to get the vectors to calculate wrist deviation angle with (see image below). I wrote a function to record a neutral position, then changed the code a bit to continuously find the vector formed between points 0-9 and calculate the current angle of deviation. This then allowed me to print out the live deviation of the wrist once a neutral position was recorded. A video demo of the running code is included <a href=\"https:\/\/drive.google.com\/file\/d\/1qHyIkZa7T_AaWn0ogmfDvkUoW1_BDl2a\/view?usp=sharing\">here<\/a>.<\/span><\/p>\n<figure id=\"attachment_73\" aria-describedby=\"caption-attachment-73\" style=\"width: 300px\" class=\"wp-caption alignnone\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-73 size-medium\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-content\/uploads\/sites\/331\/2024\/09\/68747470733a2f2f6d65646961706970652e6465762f696d616765732f6d6f62696c652f68616e645f6c616e646d61726b732e706e67-2-300x105.png\" alt=\"\" width=\"300\" height=\"105\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-content\/uploads\/sites\/331\/2024\/09\/68747470733a2f2f6d65646961706970652e6465762f696d616765732f6d6f62696c652f68616e645f6c616e646d61726b732e706e67-2-300x105.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-content\/uploads\/sites\/331\/2024\/09\/68747470733a2f2f6d65646961706970652e6465762f696d616765732f6d6f62696c652f68616e645f6c616e646d61726b732e706e67-2-768x268.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-content\/uploads\/sites\/331\/2024\/09\/68747470733a2f2f6d65646961706970652e6465762f696d616765732f6d6f62696c652f68616e645f6c616e646d61726b732e706e67-2-1024x357.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-content\/uploads\/sites\/331\/2024\/09\/68747470733a2f2f6d65646961706970652e6465762f696d616765732f6d6f62696c652f68616e645f6c616e646d61726b732e706e67-2.png 1543w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><figcaption id=\"caption-attachment-73\" class=\"wp-caption-text\">Landmark map for Mediapipe hand detection<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400\">A current issue with the pipeline is that it can\u2019t tell which direction the deviation is in. Since I&#8217;m using a dot product to calculate the angle between my neutral vector and the live recorded vector, the angles I get as outputs are only positive. Thus, I\u2019ll be adding another check in to identify, then label the direction of deviation using more vector operations.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Another smaller issue is that the pipeline currently only works with one hand. I\u2019ll add in the ability to track neutral positions &amp; deviations for both hands while I\u2019m finalizing and cleaning up the pipeline.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">For next week, my plan is to fully flesh out the pipeline by fixing the issues identified above restructuring the code to be more understandable and usable. We have a work session with Professor Dueck\u2019s students on 9\/25\u2014two handed tracking will be added by then. During the session, I\u2019ll be testing to make sure that the pipeline still works from an overhead angle with the piano keyboard backdrop. I&#8217;ll also record some video and photos to test with the following week. Finally, I\u2019ll start looking at how to port the pipeline to work on the FPGA and assist Jessie as necessary on setup.<\/span><\/p>\n<p>Link to <a href=\"https:\/\/github.com\/mich-elle-xu\/gesture_testing\">Github<\/a> w\/ code. A new git will be made for the team; currently using this as a playground to mess with the hand detection before transitioning to a more formal pipeline.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week I worked on building out the initial pipeline for our hand posture tracking. Before starting the pipeline, I looked more into how wrist deviation is usually measured. I found that typically it relies on the middle joint as a reference position. First, a neutral position is recorded (solid vertical line in the photo). &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/2024\/09\/21\/shayes-status-report-for-09-21\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Shaye&#8217;s Status Report for 09\/21&#8221;<\/span><\/a><\/p>\n","protected":false},"author":978,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[4,9],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/posts\/60"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/users\/978"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/comments?post=60"}],"version-history":[{"count":4,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/posts\/60\/revisions"}],"predecessor-version":[{"id":110,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/posts\/60\/revisions\/110"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/media?parent=60"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/categories?post=60"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/tags?post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}