This repo contains material to be used for the DSAIL session at DSA 2021. During the session we will discuss the acquisition and processing of data from internet of things (IoT) devices. In particular we will focus on:
- Anomaly detection for time series data
- Acoustic data processing
- Camera trap image processing
The introductory slides for the session are here
To be able to run the notebooks in this session, do the following
- Clone this repository and cd into it
- Create a virtual environment
On Linux
python3 -m venv iot-env
or On Windowspython -m venv iot-env
- Activate it
On Linux
source iot-env/bin/activate
On Windowsiot-env\Scripts\activate.bat
- Update pip
pip install --upgrade pip
- Install the requirements
pip install -r requirements.txt
For the acoustic processing session, download the following data
Extract the audio and melspectrogam folders within the data subfolder in the acoustic-processing folder. The directory structure should look as follows
├── acoustic-processing
│ ├── audio-samples
| | ├── bird-samples
| | | ├── grey-backed camaroptera.wav
| | | ├── hartlaub's turaco.wav
| | ├── birds-test-data
| | | ├── grey-backed camaroptera
| | | | ├── grey-backed camaroptera22.mp3
| | | | ├── grey-backed camaroptera32.mp3
| | | ├── hartlaub's turaco
| | | | ├── hartlaub's turaco4.mp3
| | | | ├── hartlaub's turaco9.mp3
| | | ├── tropical boubou
| | | | ├── tropical boubou9.mp3
| | | | ├── tropical boubou21.mp3
│ │ ├── examples
| | | ├── piano-C6.wav
| | ├── noise
| | | ├── grey-backed camaroptera0.wav
| | | ├── grey-backed camaroptera6.wav
│ │ ├── vehicle-samples
│ │ ├── 2019-10-22-08-40_Fraunhofer-IDMT_30Kmh_1272258_M_D_BR_ME_CH12.mp3
│ │ ├── 2019-10-22-08-40_Fraunhofer-IDMT_30Kmh_1272258_M_D_BR_SE_CH34.mp3
│ ├── data
│ │ ├── audio-16kHz-mono-mp3
│ │ │ ├── 2019-10-22-08-40_Fraunhofer-IDMT_30Kmh_10077440_SE_CH34-BG.npy
│ │ │ ├── 2019-10-22-08-40_Fraunhofer-IDMT_30Kmh_10173440_SE_CH34-BG.npy
| | ├── birds-melspectrograms
| | | ├── grey-backed camaroptera0.npy
| | | ├── grey-backed camaroptera1.npy
│ │ ├── melspec-16kHz-mp3
│ │ │ ├── 2019-10-22-08-40_Fraunhofer-IDMT_30Kmh_10077440_SE_CH34-BG.npy
│ │ │ ├── 2019-10-22-08-40_Fraunhofer-IDMT_30Kmh_10173440_SE_CH34-BG.npy
│ ├── files
│ │ │ ├── eusipco_2021_test.csv
│ │ │ ├── eusipco_2021_train.csv
│ ├── acoustic-traffic-monitoring.ipynb
│ ├── acoustic-ecosystems-monitoring.ipynb
│ ├── audio_noise_separation.py
│ ├── audio-processing.ipynb
│ ├── features_generation.py
│ ├── parallel_feature_compute.py
│ ├── README.md
│ ├── utility_functions.py
👉 Anomaly detection using 🔗 KMeans
- Presentation slides
- A water-level sample dataset (tailored for this Anomaly detection piece)
- Rainfall dataset from TAHMO
- River Muringato daily water level figures dataset from 11th Feb 2021 to 25th Sept 2021
OPTION 1:
- You can use the environment set up for acoustic processing
OPTION 2:
➡️ Loading up the dataset
- Click on the files icon on the side bar shown below.
- Click on the upload button aned you will be prompted to upload a file.
- Select the three datasets from the repo you cloned (in the data folder) and upload it.
- Right click on the dataset samples to copy the path.
- Paste it on the dataset import slots cell of the notebook
- Run the notebook 🔋 green light
- The following is a link to the water level data webapp.
Link 🔗waterlevel_webapp
We will go through the notebook in the cameratrap-data-analysis
folder where we will use a pretrained model to classify the animals in our dataset.