Sruti’s Status Report 3/18

Current Progress:

  • Helped with testing acrylic two way mirror, which we now decided we want to use.
  • Spent significant amounts of time understanding the math and physics behind the mirror-camera integration and presented it to the team. The whole team then  discussed and solidified the approach to solve the problem.
  • Wrote the function to calculate the amount by which an object appears smaller as they move away from the mirror, which we will use for understanding which parts of a body is visible on the mirror.

In regards to the schedule, I think we are mostly on track, but it depends on whether the hardware construction is difficult or not.

Next Steps:

  • Work on completing the mirror-camera integration
  • Work on hardware construction

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.

Team Status Report 3/18

Current Progress:

  • Tested the acrylic two way mirror with the monitors. Through the testing, we realized that the acrylic is a much better solution that the mirror film and so decided to stick to using this for the hardware.
  • We spent time doing research into the wooden frame construction and the different tools we have at CMU (like techspark and what is needed to do wood working there) to build the frame. We are now designing the wooden frame to build next week.
  • We have had extensive ideation sessions on how to map the camera coordinates to the mirror coordinates, which included a lot of trigonometry and physics for mirrors. We now have a much better idea of how we want to implement this and have broken them down into sub tasks.
  • We have written a function to calculate the amount by which an object appears smaller as they move away from the mirror, which we will use for understanding which parts of a body is visible on the mirror.

Next Steps:

  • Since we only have one work session scheduled during class time due to the ethics discussion, we are planning to meet 2 more times throughout the week to discuss our progress in our respective sections
  • We divided out the work into actionable sections that should be completed by the end of next week
    • Youssef: Working on how to render the error corrections (highlight/circle nodes with openCV or using tkinter)
    • Sruti: Working on the Camera to Mirror mapping by scaling different nodes and transforming the coordinates using a camera projection matrix
    • Ankita: Working on planning out the hardware assembly, ordering parts, and potentially creating a CAD model of our product

Challenges/Timeline

  • One major challenge is to complete the implementation of our mirror mapping methodology per our outlined approach and verify that it works as expected, tuning as needed
  • We also need to complete the pose correction rendering and ensure that users can suitably understand their errors and correct based on these suggestions
  • We are on track with our original timeline, but are beginning to have tasks with sequential dependencies, particularly on the hardware construction of the mirror itself. We need to have this completed in order to most accurately test the mirror mapping work and implementation as well as the final pose correction rendering

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

Youssef Status Report 3/11

Completed Tasks

  • Worked with team in completion of pose correction component and testing pose estimation
  • Tested pose correction system with user testing, started to set up work to test the pose correction with labeled ground truth based on feedback from professor advisor meeting
  • Ordered parts for the hardware and tested different alternatives (i.e. acrylic vs film mirror sheet)

Timeline

  • Still largely on track with original schedule outlined in Gantt chart using slack week before spring break for finishing hardware setup
  • On track with software tasks

Next Tasks

  • Complete hardware construction of mirror and addition of camera for live user feed
  • More rigorous, objective testing of pose correction system via ground-truth comparison
  • Work on rendering of pose corrections

Tools to Learn

  • Need to revise and expand knowledge of tkinter and possibly other libraries to enable the rendering of pose corrections in a visually nice, dynamic, and insightful manner
  • May need to learn techniques for wood-working to assemble the mirror frame itself

Team Status Report 3/11

Current Progress

  • Pose detection and correction sub-section completed: Completed pose comparison algorithm for all the poses
  • Tested and tuned parameters of five out of the six yoga poses
  • Received the monitors and two way mirror sheet. Tested the smart mirror with the mirror sheet and monitors. The results are pretty good, we can see the monitor’s display quite clearly through the two way mirror. However, since the sheet is thin, the reflection of the person gets blurred as the person moves further from the mirror. So, while we think this is a good back up option, we want to try the acrylic mirror and pick the best of the two. We ordered the acrylic mirror which we will be able to test after spring break and finalize our hardware.

  • The pose correction algorithm can identify which parts of the body have errors and what needs to be done to fix them, which will help the error rendering sub-system.

Challenges

  • The major upcoming challenges our team will face are related to translating the corrections generated from our completed Pose Correction component into visually and auditorily helpful corrective suggestions for users of the final product.
    • We currently associate each possible pose error with a text description on the backend but will need to find an extendable and flexible way to translate these into the visual and auditory feedback users receive to make sure the use case/design requirements addressing usability are satisfied
  • We also need to complete the actual hardware integration and try out using the higher-quality acrylic mirror

Timeline

  • Our original timeline expected hardware assembly for the mirror itself to be completed by now, but using one of our scheduled-in slack weeks before spring break, we are still on track with our original timeline.
  • We should complete hardware setup of the mirror and camera by the end of the week and begin working on the mirror-camera coordination as the next major task for the following week

New tools for Sub-Systems

  • Mirror Hardware System: Table saw, Wood glue, Nails, Sandpaper, Drill, Framing square
  • Mirror UI: Magic Mirror library, tkinter

Next Steps

  • The acrylic mirror should arrive within the next week, so we are aiming to finish the hardware assembly for the mirror.
  • The rest of the poses for our Pose Correction component still need to be tested with the parameters for the Downward Dog pose especially needing a lot of tuning as the angles we specified are slightly too strict.
  • The Mirror UI and mapping component is our next major software component after we wrap up the Pose Correction algorithm and according to our Gantt chart, we are planning to start working on the error display component next week.

Sruti’s Status Report 3/11

Current Progress:

  • Completed pose comparison algorithm for all poses (6 poses)
  • Tested and tuned 5 out of the 6 poses, which are now ready for testing with the yoga instructor
  • Received the monitors and two way mirror sheet, which was tested with the whole team
  • Ordered the acrylic mirror hardware with the team for testing after spring break.
  • We are able to identify which parts of the body is wrong and how it should be corrected

In regards to the schedule, I think we are on track except the one pose that needs to be tested.

Next Steps:

  • Finish the Pose Comparison testing
  • Get yoga teacher to verify our pose comparison algorithm
  • Work on rendering the error as a graphic
  • Decide on whether we want to use acrylic mirror or mirror sheet

Youssef’s Status Report 2/25

Current Progress:

  • Researched possible monitors to use and ordered them
  • Looked more deeply into 2-way mirror options to purchase, compare pros/cons of film vs acrylic mirror approaches. Ordered film for now as cheap option, have budget to upgrade to acrylic if film is insufficient/doesn’t meet standards when testing it this week
  • Synced with other teammates on pose correction for specific poses, began implementation and split up remaining work by poses

Next Steps:

  • Complete pose correction for poses I am assigned
  • Begin to assemble the mirror hardware with the team
  • Test integrations of the system, validate pose correction works

Sruti’s Status Report 2/25

Current Progress:

  • Worked on researching different monitors and ordering the appropriate ones for the project
  • Also spent time looking into two way mirrors – both acrylic as well as film mirrors and then ordering them
  • Worked on pose comparison algorithms for tree pose and upward Salute. Spent time setting up the pose comparison framework which is standard between all poses and then wrote the specific code for these two poses.

In regards to the schedule, I think we are on track to complete the Pose Detection and Correction before Spring break.

Next Steps:

  • Finish the Pose Correction functions for the remaining poses
  • It is difficult to test the poses alone, so work on testing the pose comparison
  • Assemble the mirror hardware

Team Status Report For 2/25

Progress Updates:

  • We continued working on the Pose Correction algorithm and completed the functions to check whether the current pose is within the defined threshold of the reference pose (as determined by extracting the notable node configurations from the yoga instructor’s ideal images)
  • We researched different monitors that we could potentially use to construct a full-length mirror and decided to use a seamless, dual monitor set-up resulting in a final length of 48 in, which we determined was sufficient enough to account for most heights
    • We decided to use the flexible 2-way mirror sheet instead of the acrylic as an initial prototype as it was cheaper, thin (so the LCD screen would shine through), and had a variable length (as we were initially not sure which monitors we would end up using).

Risks:

  • The primary risk so far is the Mirror hardware construction as we are not sure whether the 2 LCD monitors will be able to stick together using just the wooden frame or if additional measures will need to be taken
  • If the wooden frame is not sufficient enough, we could also attach both monitors to an external piece of wood and overlay the mirror on top of that subassembly.

Changes to schedule and team work:

  • No other schedule changes have been made and we will attempt to finish our backlogged tasks this week
  • The pose correction is our top priority and all teammates are working on that right now but we will continue with our task split up after this
  • There are no issues with our teamwork and accountability

Next Steps:

  • Continue testing and refining the threshold parameters for whether the current pose is within error margins and can be classified as correct
  • After receiving feedback on our Design Presentation, we will adjust our verification and validation procedures to create more quantitative and robust checks to ensure our design meets our stated requirements
  • Contingent upon our materials arriving this week, we will start assembling the wooden frame encapsulating our LCD screens, attach the LCD screens together, and apply the 2-way mirror sheet to complete our hardware assembly
  • For software, we will completely finish the Pose Correction algorithm and start testing it at various angles and distances to ensure it accounts for those discrepancies