{"id":202,"date":"2025-04-19T19:29:38","date_gmt":"2025-04-19T19:29:38","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/?p=202"},"modified":"2025-04-19T19:52:13","modified_gmt":"2025-04-19T19:52:13","slug":"olinas-status-report-for-4-19-2025","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/2025\/04\/19\/olinas-status-report-for-4-19-2025\/","title":{"rendered":"Olina\u2019s Status Report for 4\/19\/2025"},"content":{"rendered":"<p class=\"\">This week, I finalized the fix for the gesture recording issue we identified earlier.\u00a0 <span class=\"Editor_t__not_edited__WuRP8\">I re-<\/span><span class=\"Editor_t__added__LtuNJ\">checked<\/span><span class=\"Editor_t__not_edited_long__JuNNx\">\u00a0the dataset and re-identified the\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">top\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">six gestures with the\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">top<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0success rates.\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">I<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">modified\u00a0<\/span><span class=\"Editor_t__not_edited_long__JuNNx\">the CNN model architecture accordingly.<\/p>\n<p><\/span><span class=\"Editor_t__added__LtuNJ\">Besides<\/span><span class=\"Editor_t__not_edited__WuRP8\">, I\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">scaled<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">up\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">the dataset to\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">twice\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">the<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">size<\/span><span class=\"Editor_t__not_edited__WuRP8\">,\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">making<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">the model<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">even<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">more<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">robust.<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">Consequently<\/span><span class=\"Editor_t__not_edited__WuRP8\">, the wand\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">can<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">correctly<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">identify<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">all<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">the<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">six target gestures with\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">much-enhanced<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">performance.<br \/>\n<\/span><span class=\"Editor_t__added__LtuNJ\"><br \/>\n<\/span><span class=\"Editor_t__not_edited__WuRP8\">I<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">remain\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">on\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">schedule<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">as<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">per\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">the project timeline.<\/p>\n<p><\/span><span class=\"Editor_t__added__LtuNJ\">When<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">developing<\/span><span class=\"Editor_t__not_edited__WuRP8\">, I\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">tried<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">out<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">quite<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">a number of\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">model architectures\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">with<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">the<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">aim of determining\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">the\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">one that\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">best\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">fits<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">the<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">task of\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">classifying\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">gestures\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">based\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">on the IMU<\/span><span class=\"Editor_t__not_edited__WuRP8\">. I started with a simple RNN, which could capture basic motion patterns but showed poor generalization.<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0I then\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">experimented<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">with\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">an LSTM\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">architecture<\/span><span class=\"Editor_t__not_edited__WuRP8\">, which improved\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">on\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">training accuracy but\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">overfitted\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">quickly\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">with<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__not_edited_long__JuNNx\">our small dataset and required long training times. To balance spatial and temporal modeling<\/span><span class=\"Editor_t__not_edited__WuRP8\">, I\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">chose<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0Conv1D + LSTM<\/span><span class=\"Editor_t__not_edited__WuRP8\">, but it\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">did<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">not<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">produce better\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">accuracy<\/span><span class=\"Editor_t__not_edited__WuRP8\">.\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">Lastly<\/span><span class=\"Editor_t__not_edited_long__JuNNx\">, I tested Conv1D-based CNN with two small-kernel convolutional layers,\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">flatten<\/span><span class=\"Editor_t__added__LtuNJ\">,<\/span><span class=\"Editor_t__not_edited_long__JuNNx\">\u00a0and dropout layers. This model\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">had<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><span class=\"Editor_t__not_edited__WuRP8\">the\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">highest<\/span><span class=\"Editor_t__not_edited__WuRP8\">\u00a0validation accuracy\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">throughout\u00a0<\/span><span class=\"Editor_t__not_edited_long__JuNNx\">and was within the size\u00a0<\/span><span class=\"Editor_t__added__LtuNJ\">limit<\/span><span class=\"Editor_t__not_edited__WuRP8\">.<\/p>\n<p><\/span><\/p>\n<p>I learned new skills in time-series modeling, model optimization, and data augmentation. I watched YouTube tutorials to learn key modeling techniques. I referred to TensorFlow documentation for implementing and tuning. Additionally, I read blog posts and Stack Overflow discussions to troubleshoot overfitting and understand best practices for dropout and kernel sizing. These helped me to quickly iterate and effectively tailor the model to meet our system constraints.<\/p>\n<p class=\"\"><span class=\"Editor_t__not_edited__WuRP8\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week, I finalized the fix for the gesture recording issue we identified earlier.\u00a0 I re-checked\u00a0the dataset and re-identified the\u00a0top\u00a0six gestures with the\u00a0top\u00a0success rates.\u00a0I\u00a0modified\u00a0the CNN model architecture accordingly. Besides, I\u00a0scaled\u00a0up\u00a0the dataset to\u00a0twice\u00a0the\u00a0size,\u00a0making\u00a0the model\u00a0even\u00a0more\u00a0robust.\u00a0Consequently, the wand\u00a0can\u00a0correctly\u00a0identify\u00a0all\u00a0the\u00a0six &#8230;<\/p>\n","protected":false},"author":1035,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[3],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/wp-json\/wp\/v2\/posts\/202"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/wp-json\/wp\/v2\/users\/1035"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/wp-json\/wp\/v2\/comments?post=202"}],"version-history":[{"count":3,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/wp-json\/wp\/v2\/posts\/202\/revisions"}],"predecessor-version":[{"id":207,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/wp-json\/wp\/v2\/posts\/202\/revisions\/207"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/wp-json\/wp\/v2\/media?parent=202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/wp-json\/wp\/v2\/categories?post=202"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s25-teame7\/wp-json\/wp\/v2\/tags?post=202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}