Due to drastic and unexpected changes in climate, many farmers struggle to yield desired number of crops from greenhouses. That is due to the fact that many of them fail to closely monitor and control important parameters like temperature, light level and water level. The manual mechanism used in traditional greenhouses often are not efficient due to the energy loss and increased labor cost.
The goal of the project is to create a fully autonomous greenhouse to avoid such losses. With the correct implementation of new technologies like Internet of Things (IoT) and machine learning (ML), we were able to overcome the challenges of an automated greenhouse. The automated greenhouse takes into consideration every possible factor such as the security of the greenhouse, the outdoor factors and their effect on the indoor parameters, remote management and the efficiency of the over all project in regards to cost and power consumption
Learn MoreThe picture to the left demonstrates a real world implementation of an autonomous greenhouse. We tried to model the greenhouse while taking the realistic characteristics of greenhouse into consideration. The software and hardware components used in this project can be applied to a real greenhouse, however at this point we will be presenting a demo project of autnoumous greenhouse at a smaller scale.
The Raspberry Pi is used for its advantageous support for TensureFlow.
The camera takes high quality photos of the tomato plant’s which is sent to our machine learning algorithm for processing.
With the soil moisture sensor, we can limit how much water goes into the plant.
Adafruit Si7021 sensor provided the ability to record the environment’s temperature and humidity.
Adafruit TSL2591 light sensor measures the lux in a local area.
The sample size of 100 images were collected from the internet and bounding boxes were drawn to each image in order to describe the target location. Transfer learning was applied on a pre-trained MobileNet model using manually labeled tomato images. Transfer learning uses the knowledge acquired from learning the similar task in order to solve the related task.
K-means unsupervised clustering algorithm was utilized on the collected dataset which successfully identified three distinct clusters. K-means algorithm tries to partition dataset into k number of distinct non overlapping groups. Identified clusters were labeled by manual supervision as a unripe, medium, and ripe.
A dataset provided by Plant Village Organization was used to identify tomato diseases in leaves. Dataset contains healthy tomato leaf images as well as damaged leaf images for 7 most common diseases of tomatoes. Convolutional Neural Networks were used for disease detection, the model developed consists of 4 Convolutional layers with Relu activation function, each followed by Max Pooling layer.
The automated greenhouse takes into consideration every possible factor such as the security of the greenhouse, the outdoor factors and their effect on the indoor parameters, remote management and the efficiency of the over all project in regards to cost and power consumption.
The Greenhouse project has taken every possible element into consideration from security to power efficiency. The control unit monitors every element including light, temperature, humidity and soil moisture level and provides the best possible condition based the ripeness level of the tomatoes using the systems implemented such as irrigation and air conditioning.
For object detection SSD Mobilenet, an optimized model for Raspberry Pi was used, however, the mentioned model is not trained to detect tomatoes, thus a technique called transfer learning was applied on manually labeled tomato images.