Research

Research

SmellDB: Building AI Models That Recognise Scent

|

8

min read

Smell DB - Anemo Labs

Today, we're sharing our research into training AI models to generalise from smell.

At Anemo Labs, we're building the foundational AI to digitise smell. A major part of this challenge is understanding how to capture, label and interpret olfactory signals at scale. In this study, we introduce SmellDB, a labelled olfactory dataset containing 3,000 samples collected over nearly 100 hours.

The results are encouraging. Our best-performing model achieves 84.15% accuracy, and we show that performance improves as more training data is introduced. We expect this sample size-to-accuracy scaling to hold across more complex mixtures and environments outside of the lab.

The challenge of machine olfaction

AI has made extraordinary progress in vision, speech and language. In each case, large datasets, standardised measurement methods and established benchmarks have helped drive improvements in model performance.

Smell has largely been left behind.

Unlike vision or audio, olfactory signals are generated by complex mixtures of volatile organic compounds (VOCs) interacting with an array of chemical sensors. A single odour can contain hundreds of different molecules, each contributing to the overall chemical fingerprint.

Without consistent data and repeatable benchmarks, it becomes difficult to establish how much progress is actually being made.

We wanted to address part of this problem by bringing data capture, labelling and machine learning evaluation into a single experimental pipeline.

Building SmellDB

Starting with our Electronic Nose, we set out to capture the chemical fingerprints of different odours.

We selected 12 distinct odour classes and collected 3,000 samples over 96 hours of recorded sampling. Each sample was captured using a controlled procedure: a 5 ml quantity of essential oil was placed inside a closed vial, with a pump drawing air from the vial's headspace across the sensor array.

An important part of the process was retaining the temporal information in the sensor readings. Rather than reducing each sample to a single measurement, we preserved the changing response of every sensor over the sampling period.

This gives the model access to a much richer representation of the underlying chemical fingerprint.

The final dataset contains 3,000 labelled samples, with more than 180 samples per odour class. We deliberately focused on a smaller number of classes with substantially more examples per class, rather than maximising the number of labels at the expense of training data quality.

This is important for supervised learning. A model needs repeated examples of each class to identify patterns that are consistent across samples, rather than simply memorising individual measurements.

Training models to recognise smell

With the dataset in place, we evaluated four different machine learning model architectures and averaged 50 runs of each model, separating train-time data from test-time data.

The results showed a substantial difference between the traditional machine learning approaches and our Neural Network architecture (CNN).

Model

Classification accuracy

Decision Tree

51.74%

Random Forest

64.29%

XGBoost

64.24%

Convolutional Neural Network

84.15%

The CNN outperformed the other approaches by a considerable margin. For a typical deep learning problem, this dataset is relatively small, making it clear that scaling both the complexity (number of smells) would require scaling the dataset size. Unsurprisingly, we show that deep learning extracts useful representations from raw olfactory sensor signals without requiring extensive manual feature engineering.

The CNNs 84.15% accuracy is against a random guesses baseline of approximately 8.33% (i.e. 1 in 12 chance).

Accuracy improves with more data

One of the most important findings from the study was the relationship between training-set size and model performance.

We wanted to understand whether the model was learning a meaningful representation of the different odours, or simply finding patterns that happened to exist in the initial dataset.

To investigate this, we progressively increased the number of training samples in increments of 100, retraining the CNN at each checkpoint while maintaining the same time-based train-test split.

The results showed a clear improvement in classification performance as more samples were introduced. Accuracy increased rapidly during the earlier stages of training before gradually approaching a plateau as the dataset grew.


Figure 1. Accuracy against Sample Set size, recorded in 100-sample checkpoints.

 

The accuracy growth suggests that the model is learning an underlying structure in the sensor responses that becomes more useful as additional examples are provided.

It also gives us a direction for future development. If performance continues to improve with additional data, scaling the collection and labelling pipeline becomes a direct route to improving model capability.

We believe this relationship between data quality, data quantity and model performance will be central to the development of practical artificial olfaction systems.

Understanding where the model gets it right

Overall accuracy is useful, but it only tells part of the story.

To understand how the model behaves across individual odour classes, we also evaluated its predictions using confusion matrices.

A confusion matrix shows how often samples from each actual class are assigned to each predicted class. Correct classifications appear along the diagonal, while predictions falling outside the diagonal indicate where the model has confused one odour with another.


Figure 2. Confusion matrices for the four classification models across all 12 odour classes. Darker diagonal values indicate stronger classification performance.

The results show that the model does not perform identically across every odour. Some classes, including English Orchid and Banana, are consistently classified with high accuracy, while Rose, Coconut and Caffe Latte present more difficult classification challenges.

This is particularly useful because it gives us a way to identify where improvements in sensor chemistry, sampling protocols and training data could have the greatest impact.

Rather than treating the model as a black box that produces a single accuracy score, we can start to understand which chemical fingerprints are easier to distinguish and where the underlying sensor responses overlap.

Comparing machine olfaction with human smell

The most widely benchmarked reference point for human olfaction is the Sniffin' Sticks test. The smell identification section of the test presents participants with 16 different odours. For each one, they select the correct answer from four possible options.

Across a study of 8,369 participants, the average identification score was approximately 81.67%.

To mimic this reduced choice test, we re-ran the problem but forced the model to choose from 1 of 4 answers ( not 1 of 12).

Under this evaluation, model accuracy increased to over 90%.

Through repeated sampling and perfect memory, the AI model outperforms the average human on this physical sensory task.

We believe this will continue and electronic noses will, given enough data and time, surpass any human or biological system on smell.

Right now, we note that humans and animals perform in more complex environments and closed testing often doesn’t capture all the edge cases the real world has to offer.

Testing beyond a single device

A further challenge in electronic nose development is ensuring that a model learns to recognise odours rather than characteristics specific to one sensor array.

Sensors can vary between individual devices, and their responses can also be affected by environmental conditions such as temperature and humidity.

To investigate this, we repeated the classification study using a second, independently built electronic nose with the same configuration.

The second device collected an independent dataset of 1,000 samples, and we were able to reproduce the classification behaviour on this second device, providing further evidence that the learned representation is not simply tied to one particular hardware unit. We are now exploring model-to-model transfer learning which would enable AI models learn from pre-trained datasets as we’ve seen work in computer vision.

Releasing this dataset

There are several interesting research efforts in machine olfaction, but differences in sensor configurations, sampling methods, labelling approaches and dataset structures make it difficult to establish consistent benchmarks. Clean and consistent sampling is a physical problem, given we can’t just download smells from the internet.

SmellDB is our contribution towards addressing this.

We also see an opportunity to build on this work through more open benchmarking, allowing different model architectures and approaches to be evaluated against the same underlying data.

What's next

This study represents an early step towards building AI systems that can learn meaningful representations of smell.

There is still considerable work to do. We continue to expand the volume and diversity of our olfactory training data, improve sensor selectivity, and better understand how models behave across different devices and environmental conditions.

Ultimately, digitising smell requires more than a sensor that can detect chemicals. It requires the ability to capture complex chemical fingerprints, build reliable datasets and train models that can generalise to previously unseen measurements.

At Anemo Labs, we're working across all three of these areas.

For now, SmellDB can be accessed via our project page: https://smelldb.anemolabs.com/