Machine olfaction has a strange dependency: to build models that "smell like humans," you need lots of data about how humans smell. Psychophysics is the discipline that produces that data—and, done badly, it produces data your models will happily memorise into confident nonsense. This article is about the human side of the stack.

What Psychophysics Measures

Olfactory psychophysics asks four questions about every odorant:

  1. Detection — can you smell it? (threshold)
  2. Discrimination — can you tell it apart from another? (similarity)
  3. Intensity — how strong is it? (scaling)
  4. Quality — what does it smell like? (descriptors)

Each maps to a machine-learning task: classification, similarity search, regression on concentration, and multi-label descriptor prediction.

Detection Thresholds: The Dynamic Range of Life

The odor detection threshold (ODT) is the concentration at which a panel detects an odorant ~50% of the time—the midpoint of a steep psychometric function. This is where olfaction's absurd sensitivity shows up. Some compounds are detected at parts-per-trillion concentrations. Consider mercaptans: the thiols added to natural gas so humans can smell leaks are detectable at ~1–10 ppb, and a few even lower. The human nose can beat many gas chromatographs on sheer sensitivity for certain compounds.

Two consequences for engineering:

  • Thresholds are log-normal and hugely variable. Individual ODTs for the same compound vary by orders of magnitude across people (genetics: you literally have different receptor repertoires). The published "threshold" is a distribution, not a number.
  • Dynamic range is enormous but compressed. Perceived intensity grows with concentration as a power law—Stevens' law, I = k·Cⁿ with n ≈ 0.2–0.8—meaning a 10× concentration increase is often perceived as only a ~2× intensity increase. Your sensor is linear and your human is logarithmic; any "matches human perception" claim has to reconcile the two.

This is why the "smell-o-meter" dream fails at the first calibration step if you treat perception as a single number. It isn't one.

The Trillion-Smells Debate

In 2014, Science published a paper estimating that humans can discriminate more than one trillion olfactory stimuli. It made headlines. It also attracted serious statistical critique: reanalyses (notably by Gerkin & Castro and by Meister) argued the extrapolation was mathematically fragile, with sensible estimates ranging anywhere from ~3 billion mixtures down to ~1.6 trillion depending on the assumptions.

The defensible takeaway is not the number—it's the shape of the space. Olfactory perceptual space is staggeringly high-dimensional. With ~400 receptor types, each broadly tuned and combinatorially activated, the encoding capacity dwarfs what any current sensor array samples. That's the gap between the human nose and the $30 e-nose: not sensitivity, dimensionality.

Quality: Descriptors and the Atlas

"How does it smell?" is answered with words—and words are noisy labels. The field's reference point is the Dravnieks Atlas (1985): 160 odorants rated by ~120 panelists across 146 descriptors, producing a "profile" for each compound. Modern descriptor sets (and Osmo's POM training data) descend from this approach. The known failure modes:

  • Label noise. Panels disagree; consensus is smoother than any individual.
  • Cultural grounding. Descriptor vocabularies are not universal; "pungent" and "sweet" anchor differently across languages and cultures.
  • Hedonic bias. "Pleasant/unpleasant" is the strongest, most reliable axis in odor space—and also the most culturally variable.
  • Context. A smell in isolation is rated differently than the same smell in a matrix (coffee vs. a coffee-scented candle).

A useful model therefore predicts consensus and treats individual variance as irreducible noise. This is exactly what made Osmo's POM result impressive: beating the average single panelist at predicting consensus.

The Open Data Commons

The good news: unlike 1985, the data is being freed.

SourceWhat it has
Pyrfume (Monell)Open platform linking molecule identities to psychophysical data, with structured IDs
GoodScentsCompiled olfactory descriptors, thresholds, and references from fragrance literature
LeffingwellOdor and flavor threshold database
Dravnieks Atlas160 × 146 descriptor matrix
UCI Gas Sensor Drift13,910 MOX array measurements, 6 gases, 36 months
PubChem / ChEMBLOdor annotations linked to molecular structures
OpenSmell data commonsLabeled e-nose recordings + chemoprints, CC-licensed

For ML practitioners the strategic advice is blunt: download Pyrfume and the Dravnieks matrix before you write a model. Structure-to-descriptor prediction is the most data-starved problem in the field, and every compound with a published threshold is a free training example.

Protocols That Make Data Shareable

The quality of the commons depends on protocol discipline. When you contribute data (please do!), follow the checklist:

  1. Standardise the headspace — fixed container, fixed volume, fixed temperature.
  2. Log everything environmental — temperature, humidity, pressure, time, batch.
  3. Repeat ×N — at least 5 exposures per sample, ideally across days.
  4. Store raw waveforms, not just extracted features; features are lossy opinions.
  5. Timestamp and tag instrument metadata — sensor model, age, calibration history.
  6. License it — CC0/CC-BY. Undefined licensing is why most corporate odor data is unusable.
  7. Record human labels as distributions — panel n, spread, and method, so downstream users can model the noise.

The Argument in Brief

Olfaction's data problem is not "not enough molecules." It's "enough molecules, measured in a thousand incompatible ways by people who never published the raw values." Psychophysics gives us the right primitives—thresholds, power laws, descriptor matrices—and open platforms like Pyrfume and OpenSmell give us the plumbing. The models will come. The discipline is the bottleneck.

Sources & Further Reading