PortMindContact

Study 01 under way · No results yet

PortMind collects frames from public port cameras, keeps every original untouched and turns them into frozen datasets that people label with AI help. The aim is detectors you can trust on a camera they have never seen, with a record of how every result was made.

An illustrated loop of the PortMind pipeline. 1. Capture: Frames from public camera feeds are saved as untouched originals before any model runs. A frame that has not changed is skipped. 2. Catalog: Every saved frame gets a catalog row with its camera, capture time and content hash, so any slice can be found again. 3. Freeze: A study locks its frames into a snapshot with a SHA-256 hash for each file. Test frames are set aside in advance. 4. Review: A model suggests a box. A person fixes it and decides whether it counts. 5. Evaluate: The detector is tested on a camera it never trained on, and the run keeps a record of everything that went into it.

Illustration · not real camera footage or study evidence

How it works

One pipeline from camera frame to tested model.

Collection never stops. Studies work on frozen copies, so tomorrow's captures cannot change yesterday's result. Every study runs through the same five steps.

Collecting from public port camera feeds in Montréal, Vancouver, Houston and Baltimore.

  1. Capture

    Originals are saved before any model looks.

    A collector polls public port camera feeds on a schedule and stores the original image bytes first. A saved file is never overwritten. If a camera sends the same frame again, it is skipped.

    • R2 originals
    • SHA-256 dedupe
    • Four cities
  2. Catalog

    Every frame can be found by camera and time.

    Each new file adds a row to a catalog: which camera, when it was captured and where its bytes live. A reconciliation job fills in rows that were missed.

    • D1 catalog
    • Storage events
    • Reconciliation
  3. Freeze

    Studies run on snapshots that cannot change.

    A study picks cameras and dates, then locks that selection with each file's SHA-256 hash. Collection keeps going, so new captures never change an old result. Test frames are reserved before anyone looks at them.

    • Snapshots
    • SHA-256
    • Reserved test data
  4. Review

    AI suggests. A person decides.

    Reviewers label frames in a private app. Moondream proposes boxes and Llama 4 Scout gives coaching notes. Suggestions are drafts, never truth. The study plan gives each test frame two independent human reviews with AI help turned off.

    • Draft
    • Review
    • QA
    • Approved
  5. Evaluate

    Tested on cameras it has never seen.

    Models train on some cameras and are tested on frozen frames from cameras held out of training. Each run records its code, settings, data and labels. A failed run stays on the record. A new attempt is a new run.

    • Held-out cameras
    • Run record
    • Failures kept

Rules every study follows

  • Originals first

    Source images are stored before inference, so every label can be traced to untouched bytes.

  • Suggestions are not labels

    Model output is a draft until a person accepts or fixes it.

  • Tests are set before results

    The question, the test frames and the metrics are written down first.

  • Negative results count

    Runs where a method did not help are reported too.

Study 01 · Now

How few labels does a new camera need?

A truck detector learns from two port cameras and is tested on two other cameras at the same port. We compare two ways to spend the same small label budget: frames from the new cameras, or more frames from the cameras it already knows. Our guess is that new-camera frames help more. If the guess is wrong, we will say so.

  • 680 development frames frozen
  • 32 frames in a first calibration pass
  • 0 labels approved, no results yet
Extra labeled frames per option

Option A

More frames from the training cameras

10 extra labeled frames from cameras the detector already knows

Option B

Frames from the new cameras

10 labeled frames from the cameras it is tested on

Same test for both

Both options get exactly 10 extra frames. Then both are tested on the same frozen frames from the new cameras, from a week chosen in advance.

Gain over the base detectorNot measured yet

Planned budgets: 10, 50 and 100 frames. Final budgets follow the pilot.

It can show

Whether a few labels from a new camera help a truck detector more than the same number from cameras it already knows. One port, two new cameras, one kind of object.

It cannot show

How a detector does at a different port, or whether a product could count trucks reliably. Those need a larger, separate study.

What we will publish when results exist

  • Results per camera

    Missed trucks, false alarms and count error on each new camera, shown separately. Results where labels did not help are reported too.

  • Labeling effort

    How long the labels took, not just how many there were.

  • The data record

    Camera IDs, capture times, file hashes, frames left out and why, and every human review decision.

Read the study plan

Where it can go

Same pipeline, harder questions.

These are plans, not features. Each one depends on rights, labels and results we do not have yet.

  1. Transfer across ports

    Test whether a detector trained at one port works at another. The archive already collects from several ports. A fair study needs usage rights and human labels first.

  2. More studies on one archive

    Camera drift, capture quality, duplicates and weather can each be a study on the same frozen snapshots.

  3. Benchmark your model

    Let a team run its own model on a frozen, held-out test set and get the full run record back.

  4. Trained reviewers

    A reviewer ladder from calibration to domain expert, so hard frames go to people who can judge them.

  5. Forecasting, then simulation

    Use camera-derived counts to forecast near-term port activity. Simulation and reinforcement learning come only after forecasts hold up.

Follow the work or ask a question.