Detection pipeline - implementation updated 19 July 2026
Raw data to reviewable alerts
This page specifies the onboard data path from raw thermal frames through calibration, geotagging, candidate detection, operator review, and dataset export. The five core evidence records, deterministic radiometric-frame generator, and replayable compact-hot detector are now implemented and tested together.
Pipeline principles
Detection must be traceable to thermal source data, not display colour.
What changed
The concept has a data contract for flight software and validation work.
The pipeline separates thermal evidence from operator imagery. AGC colour video can help a person inspect a scene, but it is not the quantitative evidence path for detection or performance claims.
The output is a small alert packet for operators plus enough raw, calibrated, geotagged context to replay missed detections and false positives after the flight.
Implementation checkpoint - 19 July 2026
Calibrated synthetic frames now produce replayable alert packets.
Flight manifests, frame indexes, alert packets, review logs, and dataset-export manifests now have versioned JSON contracts, canonical record checksums, file checksums, validators, and round-trip tests.
Missing or stale calibration forces an uncalibrated flag and excludes affected evidence from performance scoring. Missing pose or invalid time sync removes precise coordinates. AGC colour input stays visual-review-only. Dataset exports require disjoint splits and complete checksum, label, and calibration-state coverage.
A new seeded generator produces 640 x 512 unsigned 16-bit frames calibrated at 0.01 K per count, with 30 mK detector noise around a 305 K background. The committed radiometry model supplies the target signal: the recorded 3 cm, 430 K hot-char case contributes about 36.6 K of integrated apparent contrast, distributed at an exact subpixel position. Regression tests recover that position and contrast and require byte-identical repeat generation.
The new compact-hot-v1 detector accepts calibrated Kelvin arrays
only, estimates a local median background, labels compact hot components,
applies GSD-tied size and motion limits, and requires persistence across at
least two adjacent frames. Every alert records the profile, all thresholds,
measured background, peak contrast, extent, detector-pixel count, frame and
calibration references, and replay pointer.
The preliminary minimum contrast is the committed 2.0 K sun-warmed-clutter floor; component scale and association use the recorded 5.94 cm survey GSD. Tests detect the injected 3 cm, 430 K target across three independently seeded frames, produce no alert for target-free frames or a one-frame transient, reject AGC and stale-calibration input, and reproduce identical alert JSON on replay.
These are uniform generated scenes, not field imagery or a detector-performance claim. Real no-fire clutter, motion, calibration residuals, detector artifacts, and field data are still required before these configurable thresholds can support an operational detection or false-alarm claim.
Stage map
Each onboard stage has a record that future validation can audit.
| Stage | Minimum function | Record kept | Failure gate |
|---|---|---|---|
| Raw capture | Acquire radiometric or pre-AGC thermal frames at the selected detector bit depth and frame rate. | Frame ID, detector branch, settings, NUC state, timestamp, dropped-frame count, checksum. | AGC-only input can support viewing, but not a detection claim. |
| Calibration | Apply detector correction, bad-pixel handling, reference-target correction, and later path corrections. | Calibration version, reference reading, ambient and payload temperature, window state, flags. | Stale calibration marks alerts as uncalibrated. |
| Geotagging | Attach GPS/IMU time, pose, altitude, speed, and footprint estimates to each alert crop. | UTC timestamp, monotonic clock, GPS quality, attitude, transform version, footprint. | Invalid pose withholds precise map coordinates. |
| Detection | Find compact thermal anomalies against local background using calibrated radiometric values. | Threshold profile, background estimate, extent, peak value, contrast, persistence count. | RGB-only or palette-only candidates stay visual-review only. |
| Rejection | Suppress common rural false positives using context, motion, morphology, history, and optional RGB context. | Rejection features, assigned clutter class, local scene context, recent-frame history. | Non-reproducible rejections remain in the review queue. |
| Alert | Send a compact packet for operator review while keeping a replay link to raw context. | Candidate ID, footprint, confidence band, crops, frame links, threshold and calibration provenance. | Packets without raw or calibration references are not validation evidence. |
Data products
The camera must save more than a picture of a hot spot.
Flight manifest
Platform, detector, optics profile, software versions, calibration files, route, weather fields, operator, and storage roots.
Frame index
Timestamp, raw checksum, calibration state, pose/geotag status, quality flags, and storage pointer for each frame.
Alert packet
Candidate geometry, confidence band, radiometric crop, context image, threshold provenance, geotag, and replay pointers.
Review log
Human label, notes, reviewer role, review time, final action, and links to raw and calibrated crops.
Dataset export
Source flights, split membership, checksums, labels, calibration state, detector assumptions, and metric configuration.
Replay outputs
Deterministic alert and rejection deltas when thresholds, calibration, or detection code changes after a flight.
Operational review
Ambiguous detections should be preserved for review, not hidden by a hard reject.
Rural false positives include sun-heated rocks, roads, roofs, metal gates, machinery, vehicles, people, livestock, smoke, dust, haze, water, residual heat, bad pixels, shutter transients, and window contamination.
The first onboard detector should be simple and auditable: calibrated thermal thresholds, local background estimates, compact connected components, temporal persistence where dwell permits, and written threshold state in every alert packet.
Learned classifiers can be added later only if they preserve the same raw-frame, calibration, geotag, alert, and review interfaces.