{"id":149,"date":"2020-10-31T10:22:17","date_gmt":"2020-10-31T10:22:17","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/?p=149"},"modified":"2020-11-01T03:26:57","modified_gmt":"2020-11-01T03:26:57","slug":"alberts-status-report-for-10-31-20","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/2020\/10\/31\/alberts-status-report-for-10-31-20\/","title":{"rendered":"Albert&#8217;s Status Report for 10\/31\/20"},"content":{"rendered":"<p class=\"p1\">This week I worked on multiple tasks and I am ready to the integration and verification on the image processing side. On the hardware side, Venkata gave me the task of reading and understanding the Vitis Vision Library because we may potentially be using the OpenCV like Library to implement the image processing portion as our current clock period does not meet the baud rate requirements. I converted the<span class=\"Apple-converted-space\">\u00a0 <\/span>maxAreaRectangle, maxAreaHistogram, and getCenter to C code because that was the only portion left to be converted to RTL. On the image processing end, I made good progress and finished the leg raises and lunges posture analysis. I completely restructured the previous code to support our new change where we only give feedback on the necessary position of the workout. Also, to make things easier for integration, I implemented polymorphism for the posture analysis. Instead of calling a specific function for a leg raise or lunge. I grouped them and refactored them to be easier to integrate later on. I was also able to fine tune on the HSV bounds on the leg raise and lunges (as shown below).<\/p>\n<figure id=\"attachment_150\" aria-describedby=\"caption-attachment-150\" style=\"width: 227px\" class=\"wp-caption alignleft\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-150 \" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/legRaiseDown_submit-300x225.png\" alt=\"\" width=\"227\" height=\"170\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/legRaiseDown_submit-300x225.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/legRaiseDown_submit-768x577.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/legRaiseDown_submit-1024x769.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/legRaiseDown_submit.png 1524w\" sizes=\"(max-width: 227px) 100vw, 227px\" \/><figcaption id=\"caption-attachment-150\" class=\"wp-caption-text\">Successfully tracked important points on the Leg Raise (Bottom)<\/figcaption><\/figure>\n<figure id=\"attachment_151\" aria-describedby=\"caption-attachment-151\" style=\"width: 230px\" class=\"wp-caption alignright\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-151 \" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/legRaiseUp_submit-300x225.png\" alt=\"\" width=\"230\" height=\"172\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/legRaiseUp_submit-300x225.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/legRaiseUp_submit-768x576.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/legRaiseUp_submit-1024x767.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/legRaiseUp_submit.png 1684w\" sizes=\"(max-width: 230px) 100vw, 230px\" \/><figcaption id=\"caption-attachment-151\" class=\"wp-caption-text\">Successfully tracked important points on the Leg Raise (Top)<\/figcaption><\/figure>\n<figure id=\"attachment_152\" aria-describedby=\"caption-attachment-152\" style=\"width: 229px\" class=\"wp-caption alignleft\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-152 \" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/lungeBackward_submit-300x225.png\" alt=\"\" width=\"229\" height=\"172\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/lungeBackward_submit-300x225.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/lungeBackward_submit-768x577.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/lungeBackward_submit-1024x769.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/lungeBackward_submit.png 1722w\" sizes=\"(max-width: 229px) 100vw, 229px\" \/><figcaption id=\"caption-attachment-152\" class=\"wp-caption-text\">Successfully tracked important points on the Lunge (Backward)<\/figcaption><\/figure>\n<figure id=\"attachment_153\" aria-describedby=\"caption-attachment-153\" style=\"width: 224px\" class=\"wp-caption alignright\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-153 \" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/lungeFoward_submit-300x224.png\" alt=\"\" width=\"224\" height=\"167\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/lungeFoward_submit-300x224.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/lungeFoward_submit-768x573.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/lungeFoward_submit-1024x763.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-content\/uploads\/sites\/106\/2020\/11\/lungeFoward_submit.png 1454w\" sizes=\"(max-width: 224px) 100vw, 224px\" \/><figcaption id=\"caption-attachment-153\" class=\"wp-caption-text\">Successfully tracked important points on the Lunge (Forward)<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p class=\"p1\">As we take more pictures, I can fine tune the HSV bounds to be more precise and accurate. For the posture analysis portion, I was also fine tuning the feedback for the leg raises and lunges. It was able to output &#8220;Raise your Legs Higher&#8221; and &#8220;Knees Bent&#8221; on the appropriate posture. I realized that since the trackers might slide off the middle of the joint and also the natural position of the joints, we might be setting a requirement to try to meet and that is the angles have to be within 10 degrees of the expected. We decided on this because a proper leg raise doesn\u2019t require the hip to be at an exact 90 degree for a good posture. I would be waiting on when we get to integration to test my models on wrong posture and fine tune the thresholds better. Last but not least, I created a way to test the FPGA\u2019s result on the software side.<\/p>\n<p class=\"p1\">I am on track in terms of schedule, but I need to help Venkata on the hardware side because we ran into unexpected challenges. Therefore, as more pictures come in, I will be continuing to fine tune them. Next week I will try to implement or help Venkata implement the Vitis Vision Library function and see if that will be be better for timing on the FPGA side.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week I worked on multiple tasks and I am ready to the integration and verification on the image processing side. On the hardware side, Venkata gave me the task of reading and understanding the Vitis Vision Library because we may potentially be using the OpenCV like Library to implement the image processing portion as &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/2020\/10\/31\/alberts-status-report-for-10-31-20\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Albert&#8217;s Status Report for 10\/31\/20&#8221;<\/span><\/a><\/p>\n","protected":false},"author":323,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8,3],"tags":[5,6],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-json\/wp\/v2\/posts\/149"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-json\/wp\/v2\/users\/323"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-json\/wp\/v2\/comments?post=149"}],"version-history":[{"count":2,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-json\/wp\/v2\/posts\/149\/revisions"}],"predecessor-version":[{"id":155,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-json\/wp\/v2\/posts\/149\/revisions\/155"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-json\/wp\/v2\/media?parent=149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-json\/wp\/v2\/categories?post=149"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f20-teama0\/wp-json\/wp\/v2\/tags?post=149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}