Ankita’s Status Report 04/29

Progress Updates:

    • Prepped for the final presentation (worked on slides and rehearsed)
    • Helped analyze test results and compiled data into graphs

In regards to the timeline, we have a few more tests to run and some minor software changes to make before the final demo!

Next Steps:

  • Meet with the yoga instructor again to gather feedback on the accuracy metric of our Software suggestions
  • Gather data from the survey on how accessible PosePal is to fulfill our design requirement
  • Start working on the final report/video!

Ankita’s Status Report 04/22

Progress Updates:

  • Finished Audio cues code and figured out a way to sync the audio cues with the live video feed (was very laggy before as the audio files would need to be continuously generated)
  • Tested and fine-tuned the thresholds for all the poses to suit beginner/intermediate level yoga practitioners
    • Might need to add in some buffer time between poses and display the name and picture of what the expected pose is
    • Overall, the software is in good shape and just some minor adjustments need to be made
  • Created a survey (Google form) that will be used to gauge how accessible and effective PosePal is

In regards to the timeline, we are in good shape as we finished the Hardware construction and just have some minor Software adjustments to make. We just have testing, as scheduled, remaining with the yoga instructor and users of different body types, heights, and skill levels.

Next Steps:

  • Change some of the audio cues to be phrased differently and tune the parameters further for the Downward Dog pose (other poses have already been tuned)
  • Finish integrating the side camera into the system and test with running both cameras in different shells
  • Meet with the yoga instructor again to gather feedback on the accuracy metric of our Software suggestions
  • Gather data from the survey on how accessible PosePal is to fulfill our design requirement
  • Start working on the final presentation/report/video!

Ankita’s Status Report 04/08

Progress:

  • Worked on rendering the audio cues using gtts, pydub, and playsound and ran into many dependency issues
  • Phrased the audio feedback for each of the pose corrections and created separate audio files for each suggestion
  • Worked on creating a new Hardware plan after damaging the monitor (order a used monitor and replace)

In regards to the timeline, we are slightly behind schedule as our Hardware is not going as expected, however we have a plan in place that will allow us to finish building the hardware and allow adequate time for testing as well.

Next Steps:

  • Finish all the audio cues and test the entire yoga routine workflow
  • Meet with the Yoga instructor to verify the pose corrections
  • Re-build the Smart Mirror with the new monitor and make sure all the connections are secure
  • Integrate the second camera so we can track the side poses as well

Ankita’s Status Report 4/01

Current Progress:

  • Assembled the Smart Mirror hardware and built a frame that will encompass the monitors, mirror, and additional wiring. Our initial designs were not compatible with the wood piece sizes, so we had to pivot to another design that didn’t offer as much support for the monitors causing them to bulge in the center. To rectify this, we removed the bezel/outer covering of the monitors entirely and re-attached our mirror (as shown below)
  • We also worked on testing the camera with the current hardware and displayed some initial renderings of the nodes on the monitors. One issue right now is that the monitors’ brightness and the acrylic mirror sheet’s transparency are conflicting, making it hard to see some color renderings. Thus, as we construct the UI going forward, we will need to use bright colors to render the error suggestions and display any written commands.

Timeline:

  • According to the timeline, we should be finished with the hardware construction, however, because of all the issues we ran into and how critical the hardware is for the software, we chose to spend more time working on the Mirror hardware construction. This means that we will have to push the mirror-camera integration and the mirror UI into our buffer time which we allocated for situations like this where we are slightly off-track.

Next Steps:

  • Assuming our last prototype for the Mirror hardware is sufficient, we plan to work on the Mirror mapping component and finish our initial rendering of the error nodes to construct an MVP of PosePal.
  • We will also contact the yoga instructor to gain any constructive criticism before our final demo.

Ankita’s Status Report 3/25

Current Progress:

  • Finished finalizing the dimensions for the Mirror frame around the key constraints (primarily the acrylic mirror dimensions and monitor thickness)
  • Researched different smart mirror construction designs and created a plan of assembly and materials required, making sure the monitors are seamlessly attached together and the 2-way mirror is as straight as possible to not distort the reflected image
  • Went to Home Depot to obtain the wood pieces and get the corresponding cuts
  • Helped gather data points on the distance to the mirror and how the reflection changes accordingly (for the Mirror mapping aspect)

Timeline:

  • According to the timeline, we should be focusing on the Mirror UI and the Mirror-Camera calibration components which we are on track to accomplish. We are slightly behind on the error rendering component of the UI and the hardware assembly, but we plan to have that finished this week.

Next Steps:

  • By the end of the week, we plan to finish the hardware assembly and have an MVP of PosePal.
  • We will primarily focus on the error rendering and Mirror-camera mapping aspect.

Ankita’s Status Report 3/18

Current Progress:

  • Started creating a plan of action for the mirror assembly and looked into different methods of construction for smart mirrors
  • Tried using the CDCL human part segmentation model (https://github.com/kevinlin311tw/CDCL-human-part-segmentation) 
    • faced a lot of dependency issues running it on an M1 Mac
  • Helped brainstorm ways of how we could attempt to scale the camera feed coordinates onto the LCD screen behind the mirror (mapping) and looked at past studies
  • Ordered cameras

Timeline:

  • Hardware construction is one of our biggest priorities at the moment as we are currently behind on that, but in regards to the error display and Pose accuracy testing, we are on track.

Next Steps:

  • By the end of the week, I hope to have created a plan for hardware integration, finish constructing the mirror, and help with mapping software as issues arise.

Ankita’s Status Report 3/11

Current Progress:

  • We finished writing all the code for the Pose Correction Algorithm and finished testing all but one pose
  • Our monitors and mirror sheet arrived this week so we created a rough prototype and experimented with different brightness levels of the monitor and displaying different colors
    • We determined the mirror sheet was not as sufficient to provide both the mirror display and let the LCD screen overlay show as the visibility of the mirror aspect was very poor at a distance of 3-4 ft back
    • As a proof-of-concept, however, the mirror performed well as we could observe both our reflection as well as the LCD display
    • We submitted an order for an acrylic mirror sheet which is slightly more expensive but has greater potential to display both images with greater clarity
  • We tested the poses on subjects with different heights (lower limit of ~5′ and upper limit of 6’+), to gauge whether the algorithm would still pinpoint the 33 landmarks and display the correct print statements from the Pose Correction algorithm. From our testing of various poses with the array of heights, we determine the algorithm was robust enough to accommodate all heights.

Timeline:

In regards to the timeline, we still have yet to finish our hardware mirror construction which we estimated would be complete before spring break, however we are relatively finished with the Pose Detection/Correction component and are ready to move on to the second half of the software which includes the Mirror UI.

Next Steps:

  • The hardware assembly is still incomplete as we need to attach the 2 monitors together, create the wooden frame, and attach the newly ordered acrylic mirror to the screen
  • We plan to start working on the error component of the Mirror UI and figuring out whether its possible to overlay a yellow highlighted figure onto a person’s reflection

Ankita’s Status Report 2/25

Current Progress:

  • Helped research which monitors we could potentially acquire and that would fit the constraints of our ideal-length mirror (14 in x 48 in)
  • Submitted the material acquisition form after finalizing material details with the rest of the team
  • Created a block diagram of the Software and Hardware Architecture for the Design Presentation
  • Continued working on the Pose/Angle lookup table for the side poses (downward dog and cobra pose) and running the Pose Detection algorithm on the yoga instructor’s ideal poses to determine the ideal angles at key joint configurations
  • Working to implement the Pose Correction functions for determining whether the current pose is a downward dog or cobra pose

In regards to the schedule, we are on track as we are attempting to finish all the Pose Detection/Correction algorithms before Spring break. With this upcoming week being our scheduled slack time, we are planning to work on our backlogged tasks (mainly mirror construction).

Next Steps:

  • Finish the Pose Correction functions for the poses mentioned above
  • Possibly research other metrics that could aid in correcting a pose besides angle- could consult a yoga instructor again for this information?
  • Assemble the mirror hardware

Ankita’s Status Report 2/18

Current Progress:

  • Met with a yoga instructor to take reference pics for each of the 6 specified poses from the TOP and SIDE view
    • Also inquired about how a professional yoga instructor judges whether a pose is held correctly and what metrics she uses.
    • Based on her feedback, we are now emphasizing whether the joints are aligned with each other (“straightness”) of the limb
  • From these pics, created a pose/angle lookup table by quantifying the ideal yoga pose images from the instructor into angles formed from 3 of the 33 possible MediaPipe landmarks using the PoseEstimation function we previously wrote.
  •  Wrote the getAngle2D function that calculates the angle from 3 inputted nodes. This was used above to calculate the angles at notable joint combinations and analyze how the instructor’s pose angles varied with our hypothesized pose angles. This could also help us identify a valid error threshold as angles could vary slightly from person to person.
  • Read and watched tutorials on how to construct a wooden frame that will go around the mirror and LCD screen -> Will finalize the wood dimensions once we decide whether we will use one or two monitors.

In regard to the schedule, we are slightly behind on the hardware construction as we haven’t ordered our materials yet. In regards to the Pose Correction, we have made significant progress and will be most likely finished by the end of the week.

Next Week’s Deliverables:

  • Continue working on the Pose Correction algorithm and research other metrics besides angles and node distances that could be used to further improve our algorithm
  • Order the LCD monitor, 2-way mirror, and wood
  • Participate in a yoga class to gain further insight into what other metrics could be helpful to include

Relevant Courses:

  • 16-385: Computer Vision
  • 16-467: Human-Robot Interaction
  • 15-281: Artificial Intelligence: Representation and Problem Solving
  • 16-384: Robot Kinematics and Dynamics

Ankita’s Status Report 2/11

Key status updates include:

  • Researching different methods of pose correction (OpenCV, BlazePose, and Colab)
  • Researching different ways of integrating the LCD display with the 2-way mirror and the Magic Mirror library
  • Tested out BlazePose on a sample video to see if the software produced the accuracy requirements we aimed for and whether the skeleton could be drawn as the video shifted at different angles

With respect to our current schedule, we are on track with the project deliverables as we plan to order materials this week and work on identifying the error metrics as well as continue implementing the pose correction code.

Next Steps:

  • Work on creating a library and functions to measure the node-to-node distance to help calculate node pose error
  • Finalize Mirror hardware and order soon
  • Meet with the yoga instructor to gain more insight into possible error correction metrics