How one Japanese used Deep Learning to sort his parents’ cucumbers

When we think of neural networks or machine learning we tend to imagine them involved in radically transforming the world by preventing crimes before they happen or improving energy efficiency. But you don’t need to change the world to make good use of machine learning. Sometimes, using this tech to help your mom and pop’s business can be just as impressive.


Credit: Pixabay

Makoto Koike, a former embedded systems designer, first got into machine learning after he found out that Google’s DeepMind division used it to train a machine to beat a human champion at Go. He later learned about TensorFlow, an open source library released by Google that allows engineers to implement deep neural networks without prior knowledge of all the complex mathematical and optimization algorithms. Using TensorFlow, Koike saved countless man-hours for his parents who run a cucumber farm in Japan.

What deep learning does is it allows a computer to learn from training data, like a huge database of images, what the most important or defining features that it needs to recognize are. With the help of a hierarchy of numerous artificial neurons, deep learning can then classify all sorts of images with high accuracy. A neural network could be used to recognize different species of cats from varying images or even predict what happens next.

Crooked cucumbers are ranked lower. Credit: Makoto Koike

Crooked cucumbers are ranked lower. Credit: Makoto Koike

His deep learning system uses a Raspberry Pi 3 as the controller and a personal computer that’s connected to the TensorFlow server. Once a cucumber travels down the line and in front of the system’s camera, a picture is taken and then Makoto’s modified neural network tries to ‘understand’ what it’s looking it at. First, it determines that the item sitting right in front of the camera is a cucumber, then it further classifies it because, if you didn’t know, cucumbers come in all sort of sizes, textures, and varying degrees of quality. For instance, thorny cucumbers with many prickles still on them that are fresh and vivid in color are sold at a premium, so sorting the gems from the clutter can be very lucrative.

“The sorting work is not an easy task to learn. You have to look at not only the size and thickness, but also the color, texture, small scratches, whether or not they are crooked and whether they have prickles. It takes months to learn the system and you can’t just hire part-time workers during the busiest period. I myself only recently learned to sort cucumbers well,” Makoto said for Google Cloud’s blog.

Makoto spent about three months taking 7,000 pictures of cucumbers sorted by his mother, but this was still not enough. Partly to blame is his system which can take and analyze pictures of cucumbers that are only 80×80 pixels in resolution.

“When I did a validation with the test images, the recognition accuracy exceeded 95%. But if you apply the system with real use cases, the accuracy drops down to about 70%. I suspect the neural network model has the issue of “overfitting” (the phenomenon in a neural network where the model is trained to fit only to the small training dataset) because of the insufficient number of training images.”

Makoto needs to invest a lot more than $1,000 — the money he spent so far — to make his cucumber assembly line really stellar. Even so, his results are inspiring because they go to show just how much you can achieve if you set your mind to it.



One thought on “How one Japanese used Deep Learning to sort his parents’ cucumbers

  1. Pingback: Google's Neural Machine can translate nearly as well as a human - Artificial Intelligence Online

Leave a Reply

Your email address will not be published.