Home / Projects / Temi-VOC-Datasets
Project Software Apache-2.0

Temi-VOC-Datasets

Details

Architecture Python
License Apache-2.0

Temi VOC/Smell Datasets (2025)

This repo includes raw and cleaned smell collection metrics recorded by 2 versions of the SmartNanotubes Smell Inspector. The sensor was attached to the tray of a Temi robot, which roamed our office on a set path for around 5 months. The robot patrolled every hour and recorded a few hundred smell data points on each run. At each smell data point (in the processed/new-sensor.csv file), the robot also took a picture using its front top camera of the area that it was in.

Images associated with the processed CSV data can be found on huggingface.

Data Dictionary (processed/old-sensor.csv)

Column Data Type Purpose
Timestamp DateTime (YYYY-MM-DD hh:mm:ss) The timestamp when the smell measurement was taken
value_{0,1,2,…63} float Measurement from each of the 64 smell sensor channels (raw values from sensor)
temperature float Measurement from the temperature sensor included in the smell sensor (Celsius)
humidity float Measurement from the humidity sensor included in the smell sensor (%)

Data Dictionary (processed/new-sensor.csv)

Column Data Type Purpose
Timestamp DateTime (YYYY-MM-DD hh:mm:ss) The timestamp when the smell measurement was taken
value_{0,1,2,…63} float Measurement from each of the 64 smell sensor channels (raw values from sensor)
temperature float Measurement from the temperature sensor included in the smell sensor (Celsius)
humidity float Measurement from the humidity sensor included in the smell sensor (%)
robot_x_position float X position of the robot w.r.t. its home base
robot_y_position float Y position of the robot w.r.t. its home base
frame_filename string Filename of the picture taken by the robot when a smell was measured (see frames/ directory)

Pipeline Scripts

0_process_raw.py

Cleans raw CSV files by removing header/start rows, dropping NaN values, and renaming value_64/value_65 to temperature/humidity. Outputs to processed/.

1_clean_frames.py

Removes frame images from the frames/ directory that are not referenced in processed/new-sensor.csv.

2_prepare_features.py

Applies the sensor channel mapping (Configuration A) to transform the 64 raw value_* channels into meaningful feature columns. Inactive/base channels (mapped to 999) are dropped. The 15 active feature IDs (1–15) each have 3 replicate channels (one per detector type), which can optionally be averaged together. Temperature (16) and humidity (17) pass through unchanged.

python 2_prepare_features.py              # keep all 45 individual channels
python 2_prepare_features.py --average    # average replicates → 15 feature columns

Outputs: processed/new-sensor-features.csv, processed/old-sensor-features.csv

Evaluation Datasets

In addition to the full sensor logs, two labeled evaluation datasets are provided for ammonia detection benchmarking:

processed/newSensor_training_ammonia-features.csv

Training set for ammonia detection. Contains 15-channel averaged feature columns (ch1_avgch15_avg) plus temperature and humidity, with binary class labels (ambient / ammonia) and a file column identifying the source environment. Used for training downstream classifiers and self-supervised pretraining.

processed/newSensor_testing_ammonia-features.csv

Held-out test set for ammonia detection. Collected from a single consistent sensor run where ammonia was poured in the middle of the recording — the sensor response rises and falls in a controlled pattern, providing the cleanest evaluation signal. Same schema as the training set. Used only for final evaluation — never for training or hyperparameter tuning.

processed/new-sensor-features.csv

Full unlabeled dataset with 15-channel averaged features from all environments. Used for self-supervised pretraining of the Smell-JEPA encoder.

See evaluation/README.md for the full evaluation pipeline, baseline results, and Smell-JEPA architecture details.

License

This dataset is licenced under the Apache License 2.0.


Imported from gh:Kentucky-Open-Science/Temi-VOC-Datasets. Source last updated 2026-06-18. Synced 2026-07-27.