CoolFace
Datasetpublic

tentime/ufo-mnist

UFO-MNIST Table of Contents Why UFO-MNIST Get the Data Labels Usage Benchmark Visualization Contributing Citing UFO-MNIST License UFO-MNIST is a dataset of UFO-like spotting patterns and common aerial lookalikes, consisting of a training set of 8,000 examples and a test set of 2,000 examples. Each example is a 28x28 grayscale image associated with one of 10 labels. UFO-MNIST is designed as a compact, MNIST-style benchmark for machine-learning examples and image… See the full description on the dataset page: https://huggingface.co/datasets/tentime/ufo-mnist.

sourceHugging Facemitupdated 4mo agoView on Hugging Face
1likes83downloads
Dataset Card

UFO-MNIST

![GitHub stars](https://github.com/tentime/ufo-mnist/) ![License: MIT](LICENSE) ![Dataset](data/ufo)

<details><summary>Table of Contents</summary><p>

UFO-MNIST is a dataset of UFO-like spotting patterns and common aerial lookalikes, consisting of a training set of 8,000 examples and a test set of 2,000 examples. Each example is a 28x28 grayscale image associated with one of 10 labels.

UFO-MNIST is designed as a compact, MNIST-style benchmark for machine-learning examples and image classifiers. It shares the original MNIST image size and train/test structure, and it is provided both as a compressed NumPy archive and as IDX gzip files compatible with common MNIST loaders.

Here's an example of how the data looks:

[image]

Why UFO-MNIST

MNIST-style datasets are useful because they are small, fast, visual, and easy to load. UFO-MNIST keeps those properties while moving away from handwritten digits into low-resolution spotting categories: disks, orbs, triangles, formations, glows, aircraft, balloons, birds, and celestial or sensor artifacts.

The dataset is assembled from public UFO/UAP sighting references, official release material, and generated augmentations that make the classes balanced and easy to use in MNIST-style experiments.

Get the Data

You can use the NumPy archive directly:

NameContentExamplesSizeLinkSHA-256
ufo_mnist_28x28.npztrain/test images and labels10,0005.7 MBDownload65a87cf1121c38c247862637faea5cb3d0381dcb18dc4dac42d9545f0ef6c5e6

The dataset is also stored in the same IDX gzip format used by the original MNIST dataset:

NameContentExamplesLink
train-images-idx3-ubyte.gztraining set images8,000Download
train-labels-idx1-ubyte.gztraining set labels8,000Download
t10k-images-idx3-ubyte.gztest set images2,000Download
t10k-labels-idx1-ubyte.gztest set labels2,000Download

Metadata:

NameContent
`labels.json`label mapping
`manifest.csv`source manifest
`samples.csv`per-sample split, label, source family, and seed
`dataset_card.md`dataset card
`checksums.json`release checksums

Labels

Each training and test example is assigned to one of the following labels:

LabelDescription
0disk
1orb
2triangle
3cigar_rod
4light_formation
5irregular_glow
6aircraft
7balloon
8bird
9celestialorartifact

Usage

Loading the NumPy archive

python
import numpy as np

data = np.load("data/ufo_mnist_v1/ufo_mnist_28x28.npz")
X_train = data["train_images"]
y_train = data["train_labels"]
X_test = data["test_images"]
y_test = data["test_labels"]

Loading the IDX files with Python

Use utils/mnist_reader.py in this repository:

python
from utils import mnist_reader

X_train, y_train = mnist_reader.load_mnist("data/ufo", kind="train")
X_test, y_test = mnist_reader.load_mnist("data/ufo", kind="t10k")

Build from source

bash
python3 -m pip install -e .
ufo-mnist build --output data/ufo_mnist_v1 --seed 1337
ufo-mnist inspect --dataset data/ufo_mnist_v1
python3 scripts/export_idx.py

Benchmark

The table below lists local benchmarks on the provided train/test split.

ClassifierPreprocessingTest accuracyMacro F1Code
Nearest centroidraw pixels0.420-`src/ufo_mnist/inspect.py`
Logistic regressionstandardization0.4590.456`scripts/train_baseline.py`
Small CNNrescale to [0, 1]0.9960.996`scripts/train_cnn.py`

The CNN benchmark uses three convolutional blocks with batch normalization, dropout, adaptive pooling, and AdamW. Full metrics are available in `cnn_metrics.json`.

Visualization

Training samples by class:

[image]

Test samples by class:

[image]

Contributing

Issues and pull requests are welcome. Useful contributions include better loaders, benchmark submissions, visualization notebooks, and reproducible model scripts. If you submit a benchmark, include the exact train/test split, code, seed, preprocessing, and test accuracy.

Citing UFO-MNIST

If you use UFO-MNIST in a project or publication, cite this repository:

bibtex
@misc{ufo_mnist_2026,
  title        = {UFO-MNIST: A 28x28 Grayscale Dataset of UFO-like Spotting Patterns},
  author       = {tentime},
  year         = {2026},
  howpublished = {\url{https://github.com/tentime/ufo-mnist}},
}

License

MIT. See LICENSE.