SplatHash is a polyglot image perceptual hashing library that compresses any image into exactly 16 bytes and reconstructs a 32x32 preview. The algorithm decomposes images into a background color and six Gaussian blobs (Splats) using Oklab color space, finds optimal Splat positions via sequential matching pursuit, refines weights with ridge regression, and packs everything into 128 bits. Implementations exist in Go (reference), TypeScript, and Python, all producing bit-identical output for cross-language parity. The system is designed for use as image placeholders during loading, prioritizing decode speed over encode speed.
Perception is a Python library for perceptual image and video hashing, developed by Thorn. It provides a unified interface for multiple hashing algorithms (e.g., pHash, dHash, PDQ, TMK), approximate nearest neighbor search via FAISS with graph-based clustering, and a benchmarking framework for evaluating hasher robustness under various transformations. The library is designed for production use cases like near-duplicate detection, content matching, and CSAM detection via integration with Thorn's Safer service. The codebase demonstrates strong engineering practices: clean abstractions, Cython acceleration, optional dependency management, and extensive test coverage. While primarily an application/library, it includes research-oriented benchmarking pipelines and evaluation datasets, making it a hybrid of production tooling and research infrastructure.