Team Status
This week we improved our integration and prepared for the MVP demo. Our have completed the following functionalities by far:
- Basic UI features including pre-determined yoga routines, interactive GUI and speech synthesis system
- Calibrating, tracking and capturing user movements using Optical Flow
- Calculating differences between user pose and standard metric and generating meaningful template text instructions
Risks and Contingency Plans
Currently our program applies static thresholds for all the users and all the poses, which means if the user cannot meet the preset standard, it will repeatedly output the same verbal instruction. This affects the utility of our application and can be discouraging for yoga beginners.
We will deal with the risk using the following approaches:
- Implement a Threshold Tracker that will loosen the thresholds if the user has received the same instruction multiple times
- Increase the interval between two same instructions
- Perform user testing on our application to make sure that users are comfortable with the pace and the contents of the instructions
Changes and Schedule Updates
We decided to replace DownDog and Plank with other yoga poses since they don’t work well with OpenPose and are hard to demo. Our current yoga pose set includes Tree Pose, Mountain Pose, Chair Pose, Staff Pose, Half Forward Bend and 9 other poses.
Our schedule remains the same.
Tian’s Status
Accomplished Tasks
This week I worked on integrating more poses into our existing algorithm. I collected standard yoga pose images for 12 more poses: Bridge Pose, Cat Pose, Cow Pose, Cobra Pose, Chair Pose, Hero Pose, Staff Pose, Seat Forward Bend, Half Forward Bend, Low Lunge, Cobbler’s Pose and Easy Pose. I experimented running these poses with OpenPose and generated standard metrics for these poses.
I also summarized the commonalities shared among these yoga poses based on the outcome of the experiments:
Since now we have many more poses, I started refactoring the instruction generator for more generic use and implementing instruction generation logic for these new poses.
Deliverables I hope to complete next week
- Finish basic integration of all yoga poses mentioned above
- Start webcam testing for all poses
Chelsea’s Status
Accomplished Tasks
This week I added a tool bar to allow users to exit a routine and go back to the landing page, switch to the previous or next pose, and pause or resume the current pose. I also added a summary page summarizing the user’s workout.
The routine page and the summary page now looks like the following:
Deliverables I hope to accomplish next week
Next week I hope to fully define the routines with my teammates since we have added a lot more poses as well as will be able to reverse poses. Secondly, I hope to be able to display the standard pose skeleton over the user’s body in the video feed to provide visual feedback.
Sandra’s Status
Accomplished Tasks
This week I refactored optical flow to dynamically change thresholds to detect movement. We have kept noticing that optical flow distances varied depending on the environment we are demoing. For instance at nighttime in my aparmtnet a large movement threshold of 40 was sufficient, however during sessions in HH, the distances never exeeded 10 pixel distance. This might be affected by the overall light in the room. So I tracked the last 50 frames to detect an average threshold for movement or stabilization. This will create a more tailored yoga experience.
Next Week Deliverables
Next week, I will be stress testing the application and looking into creating the User Statistics class. In addition, I need to implement logic to close threads and the application