wheat-point-detect โ DINOv3 root-point detector (area-aux POC, epoch 200)
Frozen DINOv3 ViT-B/16 backbone + dual-branch decoder (density / classification /
regression / polygon-area auxiliary head, area_lambda=0.15). The checkpoint is
run 0003-point18-joint-area-poc of the joint-root-area-poc experiment:
200 epochs, seed 1001, patch 512 / stride 512, AdamW lr 1e-4, batch size 2
(2x1 microbatch with gradient accumulation, fp16 autocast), trained on one
3797x3943 wheat tile with 209 manual CVAT root points plus SAM3 pseudo-area
supervision.
Files
| File | Purpose |
|---|---|
joint_root_area_poc_epoch200.pt |
Lightning state_dict (backbone.*, decoder.*, criterion.*); sha256 1bed00bc8f934243f079592c84f06090d720798f63044ffcb462a11ddf0105f8 |
CONFIG.json, RUN_MANIFEST.json, RECIPE.json, DATA_MANIFEST.json, source_audit.json, split.json |
full run provenance |
metrics.json, checkpoint_metadata.json, inference_summary.json, id_predictions.json, heldout_predictions.json |
evaluation outputs |
tile_1001_0_0_id_overlay_preview_1600.png |
prediction overlay preview |
CHECKSUMS.sha256 |
hashes for all files |
Operating point
RGB input, white pixels (all channels >= 250) filled black, ImageNet
normalization, 512/512 tiled accumulation with averaging;
points = peak_local_max(sigmoid(classification), threshold_abs=0.5, min_distance=8) plus regression offsets.
Same-tile full image: P 0.801, R 0.636, F1 0.709 (tp 133 / fp 33 / fn 76, count error 43 of 209 roots). Held-out spatial region (same tile, y>=2048): F1 0.548. Matching tolerance 15 px.
Scope and limitations (from RUN_MANIFEST)
This is a single-tile architecture/behavior POC, not an area-supervision effect claim: no matched point-only baseline, spatial holdout from the same source tile instead of unseen images, and the area target is SAM3 pseudo segmentation rather than manual polygons. The unseen-image predictions (166 points) are qualitative only.
Serving
A self-contained Nuclio function kit (Dockerfile, function-gpu.yaml, handler)
lives in nuclio/point-detector/ of
Samuka007/cits5551-group7
(branch nuclio). The backbone snapshot must be fetched separately from the
gated repo facebook/dinov3-vitb16-pretrain-lvd1689m.