5/4/19 — Week 14:
Olly:
What did you personally accomplish this week on the project?
Is your progress on schedule or behind?
What deliverables do you hope to complete in the next week?
Arman:
What did you personally accomplish this week on the project?
Is your progress on schedule or behind?
What deliverables do you hope to complete in the next week?
Raunak:
What did you personally accomplish this week on the project?
This week I worked on the background subtraction task. This turned out to be harder than I thought it would be due to the background changing constantly. However, I think the background subtraction should work well with our table since we will have 3-4 sections to the dashboard which remain relatively static with solid colors that are easy to distinguish. I also started working on getting to integrate the Raspberry Pis.
Is your progress on schedule or behind?
Right now I am a little behind schedule for the demo. I need to improve the background subtraction a little bit, and finish integrating the Raspberry Pi to run OpenCV.
What deliverables do you hope to complete in the next week?
On Sunday, me and my team will be working on the final integrations and deploying our code on the hardware. After the demo on Monday, the main deliverable I need to work on will be the final report.
Team:
Provide an updated schedule if changes have occurred.
No schedule changes.
4/27/2019 — Week 13:
Olly:
What did you personally accomplish this week on the project?
I have successfully worked to preprocess my character images so that they’re properly classified by my MNIST model about 95% of the time. From there, I move on to incorporate the EMNIST dataset into my model, which involved changing my framework slightly. I also wrote my own code to load the MNIST and EMNIST datasets to make the loading process more efficient and completely for my own purposes. I changed my preprocessing slightly, because the EMNIST and MNIST images are slightly different. My model now properly classifies about 30% of all characters.
Is your progress on schedule or behind?
This progress is roughly on schedule. My model needs some improvements to be fully successful, but there is still time for that.
What deliverables do you hope to complete in the next week?
I hope to add more layers to my model, which is a single layer neural net as of right now. I also hope to play around with other methods of OCR performance improvement.
Arman:
What did you personally accomplish this week on the project?
This week I 3D-printed an enclosure for our tablet and designed our table hardware. Additionally, I redesigned the schema of the database to save images more efficiently. Lastly, I wrote the start-up script for the raspberry pi to start our chromium browser on startup.
Is your progress on schedule or behind?
on schedule
What deliverables do you hope to complete in the next week?
I plan to finish creating the tablet and the table.
Raunak:
What did you personally accomplish this week on the project?
I worked on making the hand gesture detection much more robust. I am now able to detect a clench and 2 finger tap pretty well in most cases. I also started working on background subtraction.
Is your progress on schedule or behind?
Progress in on schedule.
What deliverables do you hope to complete in the next week?
Next week I hope to achieve 2 things. Firstly, I want to make our hand detection much more robust, and I will test this with our actual table. Second, I want to run our code on the Raspberry Pi. This will be a little challenging as getting OpenCV to deploy on a Raspberry Pi will require building it from source.
Team:
Provide an updated schedule if changes have occurred.
No schedule changes.
4/20/2019 — Week 12:
Olly:
What did you personally accomplish this week on the project?
Is your progress on schedule or behind?
What deliverables do you hope to complete in the next week?
Arman:
What did you personally accomplish this week on the project?
Is your progress on schedule or behind?
What deliverables do you hope to complete in the next week?
Raunak:
What did you personally accomplish this week on the project?
This week I worked on detecting convexity defects on the hand hull. This helped improve the performance of the clenching and swiping detection. This also helps me implement the gestures involving counting the number of fingers one has raised. I am now working on integrating the hand gesture detection with the Google Cloud API.
Is your progress on schedule or behind?
My progress is a little behind schedule right now, but I am confident I can get the rest done over the next couple weeks as the only major things remaining our integrating with the Google Cloud API and actual hardware.
What deliverables do you hope to complete in the next week?
In the next week, I will first work on finishing up the code for the in class demo. For this I will aim to have my hand gesture detection completely integrated with the Google Cloud API. After that I plan on working on transferring my code onto the Raspberry Pi, and making final changes such as background subtraction and full integration with the Google Cloud API.
Team:
Provide an updated schedule if changes have occurred.
None
4/6/2019 — Week 10:
Olly:
What did you personally accomplish this week on the project?
Is your progress on schedule or behind?
What deliverables do you hope to complete in the next week?
Arman:
What did you personally accomplish this week on the project?
This week, I worked more on storing information. Previously, all of the OCR results were displayed on our web UI, but nothing was stored in persistent memory. Thus, there was a loss of info between sessions. Now, that is no longer the case.
Is your progress on schedule or behind?
I’m on schedule.
What deliverables do you hope to complete in the next week?
Next week, it’s Carnival, so I don’t think I’ll accomplish much to be honest. I’ll try to clean up the UI, debug, and test.
Raunak:
What did you personally accomplish this week on the project?
Is your progress on schedule or behind?
What deliverables do you hope to complete in the next week?
Team:
No schedule changes.
3/30/2019 — Week 10:
Olly:
What did you personally accomplish this week on the project?
Is your progress on schedule or behind?
What deliverables do you hope to complete in the next week?
Arman:
What did you personally accomplish this week on the project?
Is your progress on schedule or behind?
What deliverables do you hope to complete in the next week?
Raunak:
What did you personally accomplish this week on the project?
This week I primarily worked on implementing the clenching detection. I ran into a little more trouble than I expected as the fine tuning of parameters was much harder than I thought it would be. I also started working on integrating my work so far with the rest of my team for the interim demo.
Is your progress on schedule or behind?
My progress is a little behind schedule right now as the clench detection took longer than I expected. However, I do not foresee this being a huge problem – I have much more time next week to catch up.
What deliverables do you hope to complete in the next week?
My goal is to a get a good start on the swipe detection. Another big goal is finishing up our integration for the interim demo. I anticipate these 2 deliverables taking up most of my time this week.
Team:
3/23/2019 — Week 9:
Olly:
What did you personally accomplish this week on the project?
I spent a lot of this week working on the ethics report, so I didn’t have a lot of time to put into the project itself. I spent more time looking into TensorFlow models, but didn’t make a lot of progress with my code itself.
Is your progress on schedule or behind?
At this point, my progress is slightly behind schedule. I haven’t made as much progress on the OCR as I planned to at this point. I will put more hours into this project next week to get back on track.
What deliverables do you hope to complete in the next week?
I hope to complete my model and move onto training my model and beginning to refine it next week.
Arman:
What did you personally accomplish this week on the project?
This week, I implemented much of the cloud architecture that I wanted to. I set up the cloud endpoint and wrote all of the python code for cloud functions. I also instantiated the cloud storage bucket, the Cloud Firestore database, and used client libraries to communicate with these instances via my cloud functions endpoint. I have not tested these, though.
Is your progress on schedule or behind?
I believe that I’m mostly on schedule.
What deliverables do you hope to complete in the next week?
Next week, I plan to test my cloud infrastructure to ensure that it works as I planned. Additionally, I’d like to create a very basic dashboard that shows screenshots at the very least.
Raunak:
What did you personally accomplish this week on the project?
This week I worked on further refining the hand detection algorithm. To do this, I researched a lot about convex hull algorithms to isolate the finger tips. I continued to experiment with different parameters settings to best isolate the hands. I think I have a good working algorithm, and I have now moved onto implementing the actual hand gestures we need. I am starting to first work on the clench, which I will implement by detecting a change in the position and number of convex hull vertices. I aim to get this done by this week.
Is your progress on schedule or behind?
My progress is mainly on schedule. I did not get as much time as I would have liked to over spring break to work on the gesture detection algorithm, but now that I have the basic detection algorithm working, I am fairly confident I can implement the gestures required quickly.
What deliverables do you hope to complete in the next week?
This week I hope to complete the detection go the clenching hand gesture, and I hope to start working on the swiping motion, which I will detect by checking (x,y) coordinates of the hand over multiple frames.
Team:
There are no design changes since last week.
No schedule changes.
3/9/2019 — Week 8:
Olly:
What did you personally accomplish this week on the project?
This week, I mainly worked on building my text classification model using TensorFlow. A lot of this time still went into ramping up on TensorFlow before moving onto the OCR architecture I settled on. I have moved onto writing the barebones of my code.
Is your progress on schedule or behind?
My progress is on schedule. I have two weeks allocated to building my initial model, before testing and refinement. I’ll make sure to continue making progress.
What deliverables do you hope to complete in the next week?
I hope to complete my model and move onto training my model and beginning to refine it next week.
Arman:
What did you personally accomplish this week on the project?
Is your progress on schedule or behind?
What deliverables do you hope to complete in the next week?
Raunak:
What did you personally accomplish this week on the project?
Is your progress on schedule or behind?
What deliverables do you hope to complete in the next week?
Team:
As of right now, the most significant risk to our project is the number of distinct parts that we need to complete in order to reach MVP. Additionally, we have to connect each of these parts and have a successfully complete overall system. One of the ways we can mitigate the risk of having so many moving parts is not fully implementing each of the parts before connecting them. For example, we can start with having API calls or hard-coding in place of our handwritten code. Then, as we complete our tasks, we can replace each part one by one to convert our project to a handwritten system.
There are no design changes since last week.
No schedule changes.
3/2/2019 — Week 7:
Olly:
What did you personally accomplish this week on the project?
This week, I finished my OCR research and moved on to building my model based on my results. I also began looking into TensorFlow tutorials and examples to be able to properly implement my planned architecture for this model.
Is your progress on schedule or behind?
This progress is on schedule. This week and the next week are dedicated to building my model, before I move on to training and testing.
What deliverables do you hope to complete in the next week?
Next week, I hope to finish building my model and move on to training and testing with the EMNIST data set.
Arman:
What did you personally accomplish this week on the project?
My plan was to fully design the database and API and I mostly did that. I say mostly because I have the database fully designed and the API designed with as many of the endpoints as I can foresee. For example, I know that in Cloud Storage, we’ll need two “folders” — one for the screenshot images and another for the OCR images that Olly will be creating. In the database, I’ve designed the schema through which we’ll store the G Suite data and the screenshot metadata. I’ve also designed all of the endpoints that have to do with conducting the OCR, the storage, and everything else we’ve discussed, but I foresee things having to change or new things coming up.
Is your progress on schedule or behind?
I believe that I’m mostly on schedule.
What deliverables do you hope to complete in the next week?
Next week, I plan to implement the cloud functions to create the endpoints, instantiate the database and cloud storage instances and connect the storage instances to the endpoints.
Raunak:
What did you personally accomplish this week on the project?
This week I continued working on hand gesture recognition. I further worked with the Kinect to perform hand detection. However, while working with the Kinect I ran into a problem – the Kinect framework only allows for hand joints to be detected if the entire human body is tracked. Since we plan on having the Kinect just detect hand gestures on the table this means we cannot just use the skeleton data provided by the Kinect when the body is tracked. I have since then switched over the approach to detecting color frames as provided by the Kinect instead. I have switched over to a more rudimentary CV approach to accomplish the hand gesture detection. I wrote some basic code to find contours to detect the outline of the hand and started working on the convex hull algorithm to isolate the finger tips.
Is your progress on schedule or behind?
Its a little behind since I had to switch the computer vision approach I was using. (contours to detect hand outline rather than joint data provided by the Kinect) However, I am now confident that the current approach will work well, so I should be on track pretty soon.
What deliverables do you hope to complete in the next week?
I aim to finish implementing the hand gesture detection for basic gestures such as palm closed and palm open this week. This will involve finishing the convex hull algorithm to isolate finger tips and then using some geometry to figure out when the hand is closed vs when it’s open.
Team:
Back to the drawing board, we created two options moving forward: 1) use a simple RGB camera with OCR techniques to track joints in the hand and recognize gestures and 2) use an rgb camera with OCR techniques to track physical tools besides the hands to create gestures (imagine a colored rod that we can use to move things around on the screen. Raunak will be trying these two techniques in order to decide how we move forward with the gesture recognition.
2/23/2019 — Week 6:
Olly:
What did you personally accomplish this week on the project?
This week, I put more research into OCR. However, due to timing issues, I wasn’t able to make a lot of progress on this. I primarily developed training and testing data in the format we would receive it from the Raspberry Pi touchscreen.
Is your progress on schedule or behind?
I’m a little behind our schedule. I wanted to be done with the primary phase of my OCR research so that I could move on to building and refining my model. However, this was a busy week for me, so I focused more on the accomplishable task of data simulation. I have about two weeks allocated for building my model, so I’m planning to re-allocate some of that time to completing my research and then working on my model more quickly. I also have about two weeks of buffer time, so I can also use this.
What deliverables do you hope to complete in the next week?
I want to completely finish my research and begin building my model.
Arman:
What did you personally accomplish this week on the project?
I created a cloud project in Google Cloud Platform Console. I also did tons of research into different backends and determined the back-end stack we’d use.
I decided we’re going to store all of our data in a Cloud Firestore database. This is good because it has Client Libraries for several languages and frameworks and additionally, it’s fully scaled and has a flexible schema. For file storage (mostly screenshots, but also other static files), I’ll store them in Firebase Storage.
To create a REST API, I’ll use the Python runtime for Cloud Functions. This API will serve our static content, allow for all GET and POST requests in communicating with our database, and will also serve as an endpoint for Olly’s OCR model.
I’ve already began designing the API and Database. Once I’m done designing it, implementing it should be fairly quick.
Is your progress on schedule or behind?
Designing the stack has taken a little longer than I’d thought, but it worked out because the technologies I settled on have very quick development times. I should be back on track next week.
What deliverables do you hope to complete in the next week?
Next week, I plan to have the API and database fully designed. I want to also implement the entire thing, but I’ll put priority on creating the dashboard.
Raunak:
What did you personally accomplish this week on the project?
This week I primarily worked on getting started with hand gesture recognition using the Kinect platform. I was able to set up the Kinect and get some basic sample code running, and I was able to toy around with it to get a better idea of the framework. However, this took longer than I expected since the product is now deprecated by Microsoft – and hence I had to use a lot of online tutorials and sample API code to understand the Kinect API framework. Now that I have a better understanding of this, I am working on a hand detection algorithm that will use the body joint data provided by the Kinect to trace out hands present in the view.
Is your progress on schedule or behind?
My progress is slightly behind schedule right now. I think it took a little longer than expected to understand how the Kinect API works. I am still flushing out my understanding of this. But after spending sometime this week working on this, I am confident that I can catch up on my progress this week. I have started working on the hand detection algorithm, which I plan to finish implementing this week. Following this, I will then use a convex hull algorithm to isolate the fingers – after which I can start looking into the implementation of preliminary hand gestures.
What deliverables do you hope to complete in the next week?
By next week I am to have the hand detection algorithm implemented and tested. I am also aiming to get the majority of the convex hull algorithm working to isolate finger tips. This will allow me to form a solid foundation for implementing hand gestures.