Work Log Day 18

Let's attempt to guess espresso pull time using images of coffee grinds. Saving coffee with CNN magic.


Work Log Day 18

My new Proud Mary tin of Panamanian Green Tip Geisha came into today and I set about trying to dial it in using 1 gram doses. The Proud Mary tins have been some of my favorite coffees when I dial them in right, however they also seem to always be difficult to dial in.

Is so exotic

Starting at about 8.5 on my MC3, which seems to be the lower end of most coffees I grind for espresso I got a mean prediction of 39 with a standard deviation of 4. Between doses of 1 gram I flushed the grinder by using the Mr. Puff device, which might not be enough but don’t have too many beans to burn adjusting grind. Taking the grind down to 8 to see how a finer adjustment did I saw the mean value go from 39 to 35, which isn’t what I had hoped for obviously. I settled on 9 for an actual pull which came out to be only 20 seconds, of which no predictions were taken (I need to support prediction and collection at the same time). Finally going down to 8.25 I got a pull of 25 seconds and a prediction mean of 34 with a standard deviation of 4. The 25 second shot was surprisingly drinkable though, so I am excited to see where it can end up. I have 60 grams left to play with, will continue to see if the model has any signal.

Overall that is not the result I had hoped for with the great looking results of the model over historical data. However 1.2k images is really not much to train a model against and I know some of the images within the dataset are poor at best and need to be pruned. Also these exotic coffees that I am hoping this model will be effective for is a very small portion of the model thanks to them being expensive, often temperamental and relatively rare. Hopefully getting some ‘professional’ perspective on my model will help as well, just need to clean up the code so I don’t embarrass myself too badly.

In coding news, I have completed allowing prediction using a camera ‘live’ which has improved the usability of the prediction component. I also added a Gaussian Process model that tries to fit the predictions to an individual users results. It is likely that going from the predicted time to a per user prediction is probably overly simplified and requires more thought that what I have so far, but should at least be a start. Have to start thinking about how to modify the model if I do, don’t want to have to tell folks to blow away directories and such.