cvlab/new-york-smells-coip
COIP — Contrastive Olfaction-Image Pretraining
Joint embeddings of smell and sight, trained on New York Smells: 7,000 paired image / electronic-nose recordings captured in the wild across New York City with a Cyranose 320 (32 conducting-polymer sensors).
Two towers project into a shared 128-d L2-normalised space, so a dot product between an olfaction embedding and an image embedding is a cosine similarity. Given a smell, you can retrieve the image of what produced it; given the embedding alone, a linear probe can name the scene, object, or material.
- Paper: arXiv:2511.20544
- Code: https://github.com/cvondrick/new-york-smells
- Project page: https://smell.cs.columbia.edu
Usage
from nys.models import from_pretrained
model = from_pretrained("transformer")
image_emb, smell_emb = model(image, raw_smell) # both (B, 128), L2-normalised
similarity = smell_emb @ image_emb.t()raw_smell is (B, 28, 32) — concat(baseline_raw[:14], sample_raw[:14]), z-scored per sensor with training-split statistics. The smellprint model instead takes the (B, 32) hand-crafted feature. nys.data.SmellDataset assembles either from the released dataset.
Models
Each is ~96 MB, trained on the object-level split with the image tower finetuned from ImageNet initialisation, and carries its training configuration under legacy_opt.
Cross-modal retrieval
Smell query against a gallery of image embeddings, N = 933.
Training on the raw olfactory signal substantially outperforms the hand-crafted smellprint on every metric, and the transformer is the strongest of the raw encoders.
Recognising scenes, objects and materials from smell
A linear probe on the frozen olfaction embedding, on the object-level test split. Random-weight encoders are shown for reference.
Scene is top-1; material and object are balanced accuracy (mean per-class recall). Those two tasks have 51 and 49 heavily skewed classes — the largest material class alone is 13.7% of the test set — so unbalanced top-1 there largely measures the class prior. Scene's 8 classes are roughly even, where the two metrics coincide.
Scene labels are per-session; object and material labels are GPT-4o annotations derived from the paired image. All three tasks are well above chance from smell alone.
Scope
60 recording sessions in New York City over roughly three months. Electronic-nose response varies with temperature, humidity and sensor age, so behaviour on other hardware, other climates, or odorants unlike those in the dataset is untested.
Citation
@article{ozguroglu2025smell,
title={New York Smells: A Large Multimodal Dataset for Olfaction},
author={Ozguroglu, Ege and Liang, Junbang and Liu, Ruoshi and Chiquier, Mia and DeTienne, Michael and Qian, Wesley Wei and Horowitz, Alexandra and Owens, Andrew and Vondrick, Carl},
journal={arXiv preprint arXiv:2511.20544},
year={2025}
}License
CC BY 4.0, matching the dataset.
