1. Introduction
Continuous monitoring of active volcanoes allows for the ongoing assessment of their internal and external activities, facilitating the detection of anomalies—also known as precursors—that may precede an eruption. Adequate volcanic monitoring by utilizing various techniques and comprehensive analysis of the collected data is essential for precursor detection [
1]. Volcano seismology involves the analysis and interpretation of seismic signals generated by active sources inside and around volcanoes, including the application of seismic techniques for imaging internal volcanic structures [
2,
3].
Technological advancements have led to the widespread use of seismic networks by dedicated observatories for the monitoring of many volcanoes. These observatories automatically collect and analyze continuous data.
A deeper understanding of volcanic behavior can be attained by analyzing volcanic seismic events. Short-Time Average over Long-Time Average (STA/LTA) [
4] is a broadly used algorithm that allows the detection of an event through its energy, and it is typically applied to data that undergo bandpass filtering within a frequency range where the signal prevails over the background noise [
5]. Nevertheless, for weaker events, the background noise could have a higher amplitude than that of the event itself [
6,
7]. Additionally, in environments with dynamic noise, no single filter will be universally optimal for a diverse range of signals when using energy detectors [
8]. The activation threshold, also known as the trigger, plays a crucial role in determining which events are recorded and which ones are not. Furthermore, experts should set the parameters of STA/LTA methods in such a way that they cannot take advantage of the prior knowledge of previous picks, since each measurement is treated individually [
9].
Machine learning (ML) has gained considerable success across various application domains, including image recognition, semantic image segmentation, pest classification, information retrieval, and autonomous driving, among others [
10,
11,
12,
13]. Due to the complexity of seismic events, the latest advancements in ML offer powerful solutions for handling large datasets and extracting desired features effectively [
14,
15]. ML has been employed for event and eruption detection in studies such as [
16,
17,
18]. With the increasing number of seismic sensors deployed for earthquake monitoring, the accurate identification of signal segments that correspond to events and non-events performed on the acquisition node facilitates postprocessing tasks and enhances the overall efficiency of data analysis.
ML techniques have been used to process data in volcanology [
19]. The Cotopaxi Volcano (Mexico) was analyzed through unsupervised learning, where the classification of seismic events was achieved using six clustering-based methods [
20]. The authors performed feature extraction on the events, each of which was described by an 84-dimensional feature vector, including 13 features from the time domain, 21 features from the frequency domain, and 50 features from the scale domain. Their reduced dataset comprised 668 long-period (LP) and volcano–tectonic (VT) events.
Lara et al. [
21] presented feature selection for seismic events produced by the Cotopaxi Volcano. The time and frequency domains were employed to process the seismic signals. Three types of events were classified—LP, VT, and Hybrid (HB)—and good performance for LP and VT was observed. Events in the Ubinas Volcano were analyzed in [
22] using empirical mode decomposition and ML techniques. Spectral, time, and cepstral domains were considered for the definition and computation of attributes. Moreover, the proposed approach used a multichannel triaxial sensor to perform classification (vertical, east, and north channels were considered). Event classification was achieved using a multilayer perceptron (MLP), linear discriminant analysis, random forest, and support vector machine.
Witsil et al. [
23] proposed the use of unsupervised ML for continuous infrasound analysis of the Stromboli Volcano in Italy. The authors of [
24] examined the continuous wavelet transform (CWT) for volcano–seismic spectral analysis for the Santiaguito Volcano in Guatemala. Volcanic seismic events were classified through wavelet scattering transforms [
25] that were applied to the Llaima Volcano in Chile.
A machine learning approach was presented by Falcin et al. [
26] for events from La Soufrière Volcano in Guadeloupe. The authors used a random forest classifier to perform event discrimination and categorization. From their proposal, the impact of feature reduction from 104 to 14 could be observed. Titos et al. [
27] proposed recurrent neural networks (RNNs), long short-term memory (LSTM), and a gated recurrent unit (GRU) to detect and classify continuous sequences of volcanic seismic events at the Deception Island Volcano in Antarctica. A study using DNN architectures for seismic event classification was presented by Canario et al. [
28].
Ren et al. [
29] proposed the use of ML to describe specific patterns of seismic signals recorded during eruptions in the Piton de la Fournaise Volcano by employing gradient-boosted decision trees for binary classification. Li et al. [
9] proposed an attention-based multi-scale UNet for earthquake detection. An EQTtransformer [
30] was proposed for the simultaneous detection of earthquake signals and phases (P and S). The architecture was based on an attention mechanism composed of one very deep encoder and three separate decoders. Tottori earthquakes in Japan were employed to test the performance of the model by slicing the continuous data into 1 min windows.
Considering the aforementioned contributions, employing an extensive array of features enables diverse representations of signals, allowing a wealth of information to be captured. Another benefit of feature utilization is the ability to minimize the data dimensionality, preserving crucial information embedded in the signals.
In this paper, we propose a software/hardware co-design for the detection of seismic events in the Copahue Volcano based on digital signal processing techniques and ML, and the complete process is performed on a system (SoC) based on a field-programmable gate array (FPGA) to achieve event classification on the edge. The selection of this platform was due to its low power consumption, real-time processing, high parallelism that can enable the processing of several channels in parallel, and integration with PYNQ to improve productivity when porting the software into a processing system.
We also provide insights into the integration of a low-end SoC into the acquisition node. This approach holds the potential for the development of an early alert system in conjunction with an acquisition system—as a triggering system based on ML for operation on the edge—as an alternative to methods based on the STA/LTA and power spectral density (PSD) algorithms. Moreover, it can prove valuable in other scenarios, such as landslides or rockfalls.
To the best of our knowledge, there is no previous work that jointly achieved the following:
-
Presented a software/hardware co-design for volcanic seismic event detection based on digital signal processing techniques and ML while considering a multichannel approach;
-
Showed the implementation of an event detection process on a system (SoC) based on a field-programmable gate array (FPGA) to provide data about resource utilization, latency, and power consumption;
-
Exposed insights regarding the integration of a low-end SoC device into the acquisition node as an event-triggered system based on ML to operate on the edge; this can prove valuable in other scenarios, such as landslides or rockfalls, where stations are deployed solely for data collection.
In situations where the distribution of seismic stations is sparse due either to low financial resources or difficult access, an on-the-edge detector can improve the monitoring. Also, this approach can be particularly effective in volcanoes that show seismic events with relatively low amplitudes, i.e., when an event is not recorded in all of the stations of the network.
The rest of this paper is organized as follows.
Section 2 presents the geological setting, volcanic seismic event detection, and the software/hardware co-design integrated with PYNQ-Z1.
Section 3 describes the experiments and their results.
Section 4 shows the proposed system for volcanic seismic event detection on the edge, whereas the discussion is presented in
Section 5. Finally,
Section 6 presents the conclusions.
4. Towards a Seismic Event Processing on the Edge
Figure 15 presents the proposed system for volcanic seismic event classification on the edge. Considering the system monitoring installed at the stations, a PYNQ-Z1 board could be added to the acquisition node to perform suitable signal processing. Because the stations were located in isolated places, a method for guaranteeing the operation of the processing system in the edge device is described below.
To provide a reliable and uninterrupted power supply for the processing board, a solar panel was combined as the primary power supply source and a 2-cell Li-Poly battery as the energy storage and backup power supply source. Switching between these sources was meant to be implemented in such a way that it provided uninterrupted operation of the board. That is, when there was not enough power from the panel (under-voltage detection), the primary power source was seamlessly switched to the battery, and vice versa. In addition, the battery was charged when the main source switched back to the solar panel.
To implement such circuitry, a buck–boost topology needed to be utilized to accommodate different types of solar panels, which might have varied in the output voltage. A block diagram of circuitry with the required functionalities is given in
Figure 16. As can be noticed, the central part of the circuit was the buck–boost voltage rail controller and the battery charger ISL9238C [
46] from Renesas. This integrated circuit possessed all of the functionalities previously mentioned while providing over-voltage protection, under-voltage lockout, and load protection. Battery charging was performed automatically, i.e., no external control was needed. The circuitry could provide an output voltage in the range of 2.4 V to 18.3 V, whereas the input voltage could vary from 3.9 V to 23.4 V. Because the processing board had connectors for the Arduino shield form factor, the circuitry could be implemented on that form factor to enable the connection to Zynq via the I2C bus and PSYS signal (system power monitor). This needed to be done to utilize diagnostic data available from the circuitry, such as the battery voltage and input voltage.
5. Discussion
In situations marked by sparse seismic station distribution owing to financial constraints or difficult access, an on-the-edge detector emerges as a valuable tool for enhancing monitoring capabilities. This approach is particularly effective for volcanoes that exhibit seismic events with relatively low amplitudes, addressing instances where an event might not be recorded at all stations in the network. Furthermore, an ML-based detector could serve as an alternative to methods based on the STA/LTA and PSD algorithms.
To address the challenge of cataloging real events amid vast amounts of data, we propose incorporating event discrimination at the ground station node. This step aims to streamline the postprocessing of traces and significantly reduce manual effort.
In this study, the ML-based model was trained using the extracted features of signals from the HIGI station. Training with raw data and reducing the number of samples per signal are left for future work. Expansion of the training dataset can be achieved by incorporating signals from the remaining stations in the CP network and, if necessary, by employing augmentation techniques.
Additionally, contrasting the MLP architecture with 1D CNN and RNN, among others, could offer insights into training using the acquired data, providing a more comprehensive perspective on the model’s performance and limitations. Furthermore, this can be reinforced by comparing different methods for feature selection, such as recursive feature elimination, genetic algorithms for feature selection, and recursive feature addition. This analysis could help to understand the complexity of relationships between features and potential information loss.
In addition, the correlation of detection results among three or more stations to ensure the effectiveness of volcanic seismic event detection can be performed, as well as the discrimination among different types of events.
The use of ML for event classification constitutes a fundamental tool in analyzing massive seismic data acquired from various sources, such as ground stations, satellites, and UAVs, contributing to the generation of innovative solutions and advancements in early alert systems. Nevertheless, volcanic behavior can vary seasonally or over different geological periods, and limiting the study to a short time frame might have caused important patterns or trends to be overlooked. Therefore, models need to be updated regularly through continuous experimentation and improvement when deploying them in production.
A low-end SoC based on FPGA for edge computing offers flexibility, customization, low power consumption, and real-time processing capabilities. Low-end FPGAs often exhibit constraints in terms of logic elements, memory, and processing power, thereby limiting the complexity and scale of applications feasible on FPGAs. Programming these FPGAs can be more intricate than conventional processors, demanding expertise in hardware description languages (HDLs), such as Verilog or VHDL. This complexity may present challenges for software developers striving to develop efficient and optimized codes for FPGAs. Additionally, the integration of an FPGA into a system necessitates the consideration of the overall system architecture, posing challenges in ensuring seamless compatibility with other components, such as sensors, actuators, and communication modules. Despite these challenges, ongoing efforts have focused on developing tools to facilitate the widespread adoption of this technology across various research domains [
47].
To enhance developer productivity, we leveraged the PYNQ framework for the seamless integration of various design components. PYNQ can be visualized as a multilayer stack, enabling Python to be used as the programming language. This ensures the integration of the application code and facilitates the interaction between the processing system and hardware through specific libraries. Given its Linux foundation, it is important to note that PYNQ introduces latency, which should be considered, especially for applications where detection time is critical.
Furthermore, to achieve high-performance development of ML models in this type of technology, compression techniques become an essential tool [
41]. We chose a low-end FPGA also because it is more accessible due to its cost, making it feasible for developers aiming to implement such systems.