Author: glaxman

05/05

05/05

Found and fixed an issue in the integrated classifier that was causing some of the extra time the added to the latency for detecting images!!  Sadly this was after the demo.. but now we surpass all our requirements.  Time to detect gesture has gone down 

Gauri’s Status Report for 05/02

Gauri’s Status Report for 05/02

Last status report!  This week we wrapped up all loose ends of our project and finished integrating it all!  🙂  We also worked on our final presentation slides, I prepared for the presentation since it was my turn this time.  We think it went well. 

Gauri’s Status Report for 04/25

Gauri’s Status Report for 04/25

We basically finished all the independent parts of our project this week!   I worked on a few things:

  • Our classifier had a 95%+ accuracy on just identifying left vs right.  However, I realized earlier this week that it would classify everything it saw as left or right (even heads/walls/etc)
  • I added a dataset of celebrity heads and trained the classifier to figure out head/left/right which it now does with a 93% accuracy.  (I did attempt to teach it walls/rooms as well but that was too complicated since there is too much variety in the stock images of these that I could find online)
  • Shrutika and I integrated this working classifier with the Pi camera and played with the framerate to figure out how to handle frames as fast as possible and also get a reasonably accurate prediction by taking the mode of n predictions.  We decided 2fps was good.
  • I added multiprocessing to make the classifier make predictions on frames faster by utilizing 2 cores of the Pi simultaneously.  This reduced the lag a little.  Still a bit slow because the classifier is slow to run (it is a neural net after all).
  • Shrutika and I also worked on testing the mic setup before and after she built the baffles (all on zoom haha) and we also added multiprocessing to this so that the 4 mic channels’ inputs would be processed simultaneously on the 4 cores.  The performance of the mics dramatically improved after adding the baffles.
  • We all demo-ed the three separate parts to Professor Sullivan and Jens on Wednesday.
  • We will integrate (which should take < 1hr) the three pieces once Neeti is done perfecting the animation.  We are now working on the final presentation for Monday.

Overall we have almost wrapped up this project very well 🙂  Looking forward to finishing this up successfully!

Gauri’s Status Report for 04/18

Gauri’s Status Report for 04/18

This week I worked on many things – getting frames from the RPi camera video stream to pass to the gesture classifier, collecting more images (through crowdsourcing on social media which was a very interesting experience – we have a total of around 1200 real 

Gauri’s Status Report for 04/11

Gauri’s Status Report for 04/11

This week we spent time on the gesture classifier and animation for manual mode.  We met multiple times to work remotely.  I worked with Neeti on debugging, training and testing the gesture classifier with different online datasets.  We discovered that the Kaggle dataset had a 

04/08

04/08

  • Demo-ed current status on manual mode to Professor Sullivan and Jens
  • Integrated animation with the gesture classifier
  • Spent time yesterday and today morning trying to make classifier work on real images
  • Attempted to train other_classifier.py on an augmented dataset (kaggle + real images) – did not work
  • So far unable to classify real images correctly.  Classifier always predicts the same class for both gestures.
  • Feeding in any Kaggle image works correctly
  • Trying to build up our own dataset now by asking for images from people
    • Will use this on the existing classifier
    • If that doesn’t work, will try other tutorial (the one for a real, manufactured dataset)
  • Goals:
    • By Friday night, have the classifier working, be able to process a video stream to get frames to feed into the classifier.
    • By Sunday night, have manual mode fully done and out of the way
  • Ethics assignment due Sunday, ethics discussion on Monday
04/06

04/06

Decided to use Python pygame instead of Simulink/Matlab for the animation (why we didn’t think of this before is a mystery) – much easier and simple to integrate as well Testing gesture classifier on real images Goal is to have the pipeline ready by Wednesday 

Gauri’s Status Report for 04/04

Gauri’s Status Report for 04/04

This week was too busy for me personally due to midterms, assignments and moving to another apartment on campus, so I didn’t get to spend as much time as I would have liked to on the control loop.  We met a couple times this week 

Team Status Update for 03/28

Team Status Update for 03/28

This week we began implementing based on our restructured plan.  Neeti is working on the gesture classifier, Shrutika is working on modelling the physical platform animation with Simulink and Gauri is working on the control loop.  We also ordered and received the mics.  So we have all the parts we need to complete our project.  The main changes we are making are with regards to animating a physical platform using Simulink instead of building a real one and rotating the animation based on the inputs received and processed by the RPis.  We overall seem to be on track to demo-ing at least a mostly full version of manual mode.

Updated Risk Analysis:

We have identified several risk factors for our project.  The first risk factor is related to the gesture detection input, taken by the Raspberry Pi Camera Module to classify left and right gestures, and forward them to the paired COMOVO.  The risk here is that the accuracy rate of identifying the gestures depends on the size and quality of our dataset.   Since we don’t have the resources to make our own datasets anymore, we are choosing an already available dataset and have changed the gestures to thumbs-up and thumbs-down for right and left.  We plan to narrow the scope for the purpose of the demo to recognizing a gesture with a specific background (against a plain black/white background).

The second risk factor is the accuracy of the sound localization.  We are planning for a very high accuracy rate of the COMOVO rotating towards the loudest speaker, and we have identified several risks regarding ambient sound, sound from the phone speaker and the accuracy of directional microphones.  We plan to use hand-made baffles around each mic to ensure that too much ambient noise is not picked up.  For the demo video we will demo in a quieter room so that there isn’t much distracting ambient noise.

The third risk factor is the potential for higher latency than is anticipated. Since our use case is for long distance video calls, our short distance testing might not accurately represent the latency for our original use case.

Finally, the performance of our device is heavily dependent on parameter tuning  – the classifiers will need to be tuned to accurately recognize heads and hands and the baffled omnidirectional microphones’ sensitivities need to be sufficient to offset the short distance between them.

Updated Gantt chart:

Gauri’s Status Report for 03/28

Gauri’s Status Report for 03/28

This week we met on Monday to research what to do about the microphones and finally ordered 4 cheaper omnidirectional ones.  We decided that making baffles around these would be a better idea than buying 4 super expensive cardioid singing mics.  On Wednesday we met