Team Status Report 04/13

Team Status 04/13

Risks and Contingency

Right now our biggest risk is small scale bugs in our application that can add up. For instance, sometimes, the application will tell a user to recalibrate multiple times during the same sequence because it is unable to track points on the user’s body. In addition, we sometimes encounter an issue where the same instruction is given to the user but obeying it does not render a result. We need to account for these tiny bugs, just be extensively testing the application. In addition, we will be incorporating thresholds to help improve the yoga practice for beginner users. We will be testing and generating metrics for the following components of our application. In addition, we are going to lower risk for demo surprises by using a camera and tripod system for capturing images via the webcam

  1. Optical Flow Runtime
  2. Pose Correction and Verbal Instruction Generation Runtime
  3. Overall Routine Runtime
  4. Verbal Instruction Usefulness

Schedule Changes and Updates

To account for the final in-class demo on the week of April 22nd, we are going to speed up some of our application testing. In the upcoming week, we will be conducting tests in the areas outlined above. Furthermore, we finish up adding poses and developing thresholds that are dynamic for the user. We are hoping to get the bulk of testing done in the upcoming week, so we can spend the last few weeks, doing smaller additions on the applications and report, presentation, and demo.

Team Member Updates

Sandra Sajeev

Accomplished Tasks

This week I was able to do runtime testing on both the optical flow runtime and pose correction runtime. The chart below showcases the average Pose Correction runtime in an area with low lighting. I will need to repeat these tests in various lighting conditions to determine the true approximation of the runtime. This is slightly higher than our initial estimate of pose correction time, but it is still under our 5-second maximum time.

In addition, I did some testing with the updated optical flow workflow. The new optical flow workflow looks at a bunch of distances from frame to frame and then initiates pose correction if the difference between the min and max distances is greater than some percentage. Below is a summary of results for thresholds ranging from 0.25 to 1.0. From these results as well as the overall experience, it seems like 0.5 and 0.75 are the best performers. 0.75 has the most stable results as the time remained similar. The time period measures the time between pose corrections on the y-axis.

Deliverables

This upcoming week I will be continuing the pose correction runtime testing and beginning overall routine testing. I will be collecting data and generating graphics as well as comparing test results with our test results.

 

Tian Zhao

Accomplished Tasks

This week I filtered out new poses (Cobra and Hero) that didn’t work well with OpenPose after testing with many static pose images.

I also finished refactoring and writing code for the entire instruction generation logic for all 14 poses. Previously, we were using a lot of if statements to condition on different poses and decide on which instruction to give. However, this approach only works well with a small number of poses. Now after refactoring, each pose has a list of functions such as get_arms_instructions, get_back_instructions, and each of the function will output instructions on different aspects of the pose. Given a pose, our instruction generator will simply concatenate the outputs of the functions. This makes it easier to add special instructions to a pose and to reuse similar functions for different poses.

Deliverables I hope to complete next week
  1. Finish static image and webcam testing for all poses with Sandra and Chelsea
  2. Implement threshold manager and tune the thresholds for all poses with Sandra and Chelsea

 

Chelsea’s Status Report

Accomplished Tasks

This week I added a feature to allow users to select their yoga levels, level 1-3, when they click on a routine button. The level determines how leniently the program restricts the angle differences between the user’s pose and the standard pose.

Additionally, when the user’s mouse hovers over a routine, an overview carousel card is added to display the poses in that routine with pictures and verbal descriptions.

Lastly, since we decided on the poses for the three routines: beginner, intermediate, and advanced, I hardcoded these values into our program.

Deliverables I Hope to Complete next week

Next week I hope to detect any remaining bugs on the UI side by testing our app as a whole and fix them. I will also start working on the final presentation with my teammates.

Leave a Reply

Your email address will not be published. Required fields are marked *