AssayPilot research / Federated learning

Train locally.
Exchange model updates.

A downloadable, inspectable research pipeline for laboratories that want to test collaborative learning on their own annotated plate images.

This is a local research toolkit. Website uploads do not enroll in training. No trained federated model is active in DishFlow, and cross-laboratory performance has not been established.

The full training loop

1. Prepare each laboratory locally

Describe annotated images, declare permitted use, identify physical dishes and acquisition groups, and record image hashes. Keep related observations in the same split.

2. Freeze the research plan

Choose held-out laboratories, rounds, thresholds and hyperparameters before evaluating the test set.

3. Fit and exchange updates

Each client extracts documented image features and fits countability and count heads. Transfer the update files using a channel your laboratories approve. The coordinator validates and aggregates them.

4. Evaluate and export the candidate

Compare with local-only training, retain per-lab outcomes, and create an auditable candidate bundle. Candidates do not automatically replace the website detector.

What is implemented

A transparent CPU baseline

Hand-engineered OpenCV image features, locally fitted countability and count models, sample-weighted FedAvg and a FedProx option. This is not a pretrained image encoder.

The kit includes manifests, commands, checkpoint validation and an executable generated-image protocol test. Its README gives the complete local workflow.

python -m training.federated --help

Before using real lab data

Agree on the data and the evidence

The kit records a lab's authorization declaration; it cannot independently verify ownership or permission. Use consistent expert labels and retain an untouched held-out laboratory.

Updates and hash commitments may reveal information. FedAvg alone is not secure aggregation or differential privacy. Agree on recipients, transfer protection, retention and withdrawal handling before exchanging any real updates.

Images remain in each client's local folder in this workflow. The toolkit has no automatic network upload. Copying images into a shared folder changes that boundary.

What completion means here

The engineering loop can be run and inspected. Whether it improves colony counting on unfamiliar real laboratories is an experiment that still needs to be performed. Synthetic protocol checks establish neither accuracy nor privacy.