CactusBrain Vision / Developer Preview

Visual identification that stays with your app.

Build persistent collections of products, tools, or other known objects, then identify a new image locally with ranked matches and explicit unknown rejection.

REFERENCE IMAGES2+
LOCAL COLLECTIONproducts
IDENTIFICATIONmatch / unknown
01

Enroll

Add multiple reference images and metadata for each identity.

02

Persist

Create and reopen atomically stored collections with model compatibility checks.

03

Identify

Rank identities using normalized cosine similarity and configurable top-K results.

04

Reject

Return an explicit unknown result when the best score falls below the collection threshold.

Collections are the core abstraction.

The application supplies a runtime adapter and storage directory. CactusBrain Vision owns enrollment, persistence, matching, and result semantics.

let vision = try CactusBrainVision(
    runtime: runtime,
    collectionsDirectory: collectionsDirectory
)

let collection = try vision.createCollection(id: "products")

try await collection.add(
    id: "coke-500",
    images: images
)

let result = try await collection.identify(image: image)

The SDK core is ready. Production embedding execution is the next dependency.

CactusBrain Vision accepts any implementation of VisionEmbeddingRuntime. Its tests use a deterministic fake solely to verify SDK behavior.

A released cellm adapter must provide image preprocessing and a compatible embedding model before production end-to-end inference is available.

  • Available: collection and matching APIs
  • Available: persistence and model checks
  • Pending: production cellm vision adapter
  • Pending: measured model and backend compatibility