Sprout Image Recognition (ML)

Sprout Image Recognition (ML)

My quest to automate the growing process led me to use machine learning to recognize when sprouts were ready to be moved to the hydroponic system.  To start, I soaked rockwool in 1/8th nutrient concentration.  Rockwool is the growth medium of choice for NFT hydroponics and is great for starting seeds as it can hold enough moisture that it will not need watered for 7-10 days

Lettuce Seeds Planted in Rockwool

Next a dome was placed on a propagation dome to increase humidity and retain moisture

Rockwool Placed in Humidity Dome

The propagation dome was then place in the nursery side of the tent

Propigation Dome in Nursery

Next,  I placed a Raspberry Pi camera module in a vent hole of the propagation dome.  The Raspberry Pi is programed to take a time-lapse giving me the images I need to train the ML

After about a week the seeds had sprouted to plants big enough to be moved to the hydroponics

I took the pictures from the final day the plants were in the nursery and brought them into TensorFlow to train a machine learning model.  One of the first steps was to label the sprouts. A labeling program then converted the label locations to coordinates in a DXF file

Labeling Sprouts

The next step was to train the TensorFlow model.  Status updates were given while the program ran and when it completed it created a table of the results

To view the results graphically I used TensorBoard.  This tool helps you visualize the loss and other key statistics as the model is trained

Now that the model was trained I ran a test photo through and the program was able to identify the sprouts in the image

Sprouts Being Detected by The Machine Learn Model