Introducing OliveGuard, a revolutionary machine learning solution committed to safeguarding the health and productivity of your olive groves. Utilizing our trained machine learning model, OliveGuard proactively identifies and alerts you of Bactrocera Oleae, the Olive Fruit Fly, presence in your orchards in real-time. It saves time, ensures early detection, and helps prevent widespread infestations. With OliveGuard, the future of pest control is in your hands - intelligent, efficient, and effective. Protect your investment, maximize your yield, and bring the future of sustainable farming to your doorstep. OliveGuard - your vigilant protector in olive farming.
Project descriptionOur project makes use of an Arduino Nano 33 BLE Sense microcontroller due to its affordability and the inclusion of various sensors, including the required microphone and Bluetooth connectivity.
For implementing machine learning, we opted for Edge Impulse, as it offers a straightforward and efficient approach to building models using the collected data. It seamlessly integrates with Arduino Nano 33 BLE Sense, enabling us to swiftly create our own machine learning model.
Through the Android app, users can receive notifications concerning insect detection. Extensive testing was conducted to validate the performance of the developed machine learning model, and the documented results are presented below.
How?OliveGuard is composed of three components. Its foundation lies in the OliveMachineLearningModel, which conducts sound data analysis gathered by the microphone of the Arduino Nano 33 BLE Sense device. The results are then transmitted to the OliveMobileApp through Bluetooth.
DATA COLLECTION AND PREPARATIONThe raw audio data we collected are segments of 200ms each, with a window increase of 50ms. This configuration means that the microphone records a new audio sample every 50ms, each sample being 200ms in length. The data collected is time-series in nature, as it's essentially a sequence of sound pressure levels recorded over time.
FEATURE EXTRACTION: SPECTROGRAMThe data processing block includes a spectrogram, which converts the time-series data into a frequency domain representation. This transformation facilitates the identification of different types of sounds, as different sound sources typically occupy different frequency bands. The spectrogram parameters, such as frame length, frame stride, and FFT length, are optimized to effectively break down the data into smaller frames and convert them into their frequency representations. This makes it easier to identify different types of sounds, as different sound sources typically occupy different frequency bands.
The parameters for our spectrogram are:
Frame length: 0.05 (each frame is 50ms in duration)
Frame stride: 0.02 (each frame is shifted by 20ms for overlap)
FFT length: 512 (Fast Fourier Transform is applied to a window of 512 samples)
These parameters help us effectively break down the time-series data into smaller frames, convert them into their frequency representations, and then overlap them to ensure smoothness and continuity between frames.
LEARNING BLOCK: NEURAL NETWORK CLASSIFIERThe learning block of our model is a neural network classifier designed as follows:
Input layer: Takes in 2, 056 features (from the spectrogram)
Reshape layer: Reshapes the input data into 257 columns. This helps us to ensure that the data fits the requirements of the following layers.
1D convolutional / pooling layer: With 8 neurons and kernel size 3. It identifies the local patterns or features in the spectrogram.
Dropout layer: With a rate of 0.25, it helps prevent overfitting by randomly setting a fraction of input units to 0 during training.
Another 1D convolutional / pooling layer: With 16 neurons and kernel size 3. It further identifies complex patterns in the spectrogram.
Second Dropout layer: With a rate of 0.25, to further prevent overfitting.
Flatten layer: It transforms the 2D matrix data from the previous layers into a 1D array which can be input into the final dense layer.
Output layer: Consisting of 2 classes - idle and insect. It provides the final classification of the audio input.
This neural network architecture enables us to extract salient features from the spectrograms and use them to distinguish between idle and insect sounds effectively.
In summary, our project showcases the application of time-series data analysis and neural networks in the context of audio classification, specifically identifying insect sounds amidst idle noise. The project demonstrates the power and flexibility of Edge Impulse for Edge Computing tasks.
Our Android app that seamlessly connects with an Arduino module using Bluetooth technology, revolutionizing the way you monitor recent detections in your olive groves.
Our innovative solution combines the power of an Android app and an Arduino module to provide you with real-time insights and convenient access to the latest detection data. By integrating these technologies, we offer an intuitive and user-friendly platform that enhances your ability to safeguard your olive trees effectively.
OliveGuard is an innovative solution designed to protect and maximize the productivity of olive groves. By utilizing machine learning and advanced technology, OliveGuard proactively detects and alerts farmers of the presence of the Olive fruit fly, a significant pest in olive orchards. The Android app connects seamlessly with an Arduino module via Bluetooth, providing real-time updates on recent detections. This enables farmers to take immediate action, preventing widespread infestations and ensuring the quality of their olive harvest. With OliveGuard, sustainable farming practices and efficient pest control are at farmers' fingertips, empowering them to protect their investment and optimize yields.
Implementing LoRaWAN technology would extend the coverage range and enable the use of low-power sensors, enhancing the scalability and efficiency of the detection system.
Expanding the solution to detect and monitor other pests relevant to olive groves would offer farmers a comprehensive solution for pest management, addressing multiple threats simultaneously.
By implementing these improvements, OliveGuard can further enhance its functionality, usability, and overall effectiveness in safeguarding olive groves from pests.
ARDUINO installation stepsStep 1. Download and Install the Arduino Nano 33 BLE library on your Arduino IDE.
Step 2. Add the .zip file "ei-mosquito-arduino-1.0.2.zip" to your Arduino IDE as a Library.
Step 3. Compile and Upload the code to your Nano 33 BLE.
Note:Since we couldn't acquire the dataset from the authors of the following article, we decided to make the same platform but for mosquito. This project can be modified to detect any insect if you have a suitable dataset. https://www.researchgate.net/publication/362347269_Acoustic_characteristics_of_sound_produced_by_males_of_Bactrocera_oleae_change_in_the_presence_of_conspecifics
Comments
Please log in or sign up to comment.