The short answer

Ground truth is the independently verified reality you use to train a remote sensing model and, separately, to test whether its output is correct. A satellite product without ground truth is an unvalidated hypothesis: it may look plausible and still be wrong. A good ground-truth campaign gets four things right — a statistically sound sampling design, positional accuracy well inside the pixel, disciplined georeferencing and metadata, and an honest accuracy assessment with a confusion matrix. The checklist below is what we actually carry into the field and apply at the desk, with the reasoning behind each item.

Why ground truth, precisely

Two distinct jobs hide under one phrase, and conflating them is the most common methodological error:

  • Training data teaches a supervised classifier (Random Forest, SVM) or calibrates a model (e.g. satellite-derived bathymetry).
  • Validation/reference data independently tests the finished product's accuracy.

These sample sets must be independent. If you assess accuracy using points that also trained the model, you measure how well the model memorised, not how well it generalises — and the reported accuracy is optimistically biased. Split your samples before you start, or collect a separate validation set.

Sampling design

Random "wherever looked convenient" sampling produces biased, indefensible accuracy. Choose a probability design:

  • Simple random — unbiased, but may under-sample rare classes.
  • Stratified random — random points allocated per class so rare-but-important classes (e.g. a small alteration unit, a wetland) get enough samples. Usually the right default.
  • Systematic / grid — even coverage, but risks aligning with landscape periodicity.

Sample size: a widely used rule of thumb is ~50 reference points per class for a stable per-class estimate, increasing for rare or high-stakes classes; formal designs size the total from a target standard error using the binomial/multinomial approach. Allocate more to classes that matter most to the decision, not equally by area.

Pixel purity: place reference sites in homogeneous patches at least 3×3 pixels across so geolocation jitter and mixed pixels do not corrupt the label. Avoid edges and contacts for labelling points.

Positional accuracy: GNSS in the field

Your point is useless if you do not know where it is to within the imagery's resolution. Match GNSS grade to pixel size:

  • Handheld GNSS (3-10 m) — marginal for Landsat/Sentinel-2 (10-30 m), acceptable only for large homogeneous patches.
  • RTK or PPK GNSS (cm-dm) — required for high-resolution imagery, sub-pixel work, or anything feeding a precise change-detection product.

Record for every point: coordinates, the CRS/EPSG (e.g. EPSG:4326 raw GNSS, or the project UTM zone such as EPSG:32630), horizontal accuracy estimate, date/time (so it can be matched to an acquisition), observer, and the class/attribute observed. Reproject to the imagery CRS deliberately:

-- raw WGS84 GNSS points → project UTM 30N in PostGIS
ALTER TABLE gt_points ALTER COLUMN geom TYPE geometry(Point,32630)
  USING ST_Transform(ST_SetSRID(geom,4326),32630);
ogr2ogr -t_srs EPSG:32630 gt_utm.gpkg gt_wgs84.gpkg

Temporal and condition matching

Ground truth must correspond to the imagery's date and conditions. A vegetation point collected in March cannot validate an August scene; a waterline depends on tide; alteration field spectra must be collected on the same surfaces the sensor saw. Note recent disturbance (burn, harvest, flood, construction) that may have changed the surface between acquisition and visit. For dynamic targets, the closer the field date to acquisition, the better.

Field measurement specifics

Tailor what you record to the product:

  • Land cover / lithology: dominant class, secondary class, photos in cardinal directions, surface notes.
  • Vegetation: species/community, canopy cover %, height, phenological stage.
  • Alteration / mineralogy: field spectrometer (ASD/TerraSpec) reading plus a sample for XRD; note the diagnostic absorption observed.
  • Bathymetry / water: depth (echo sounder), turbidity, bottom type.

Photograph each site and log the photo IDs against the point. Standardise a digital form (QField, ArcGIS Field Maps, ODK) so attributes are consistent and exportable — handwritten notes become the bottleneck.

Accuracy assessment and reporting

This is the deliverable reviewers actually scrutinise. From the independent reference set, build a confusion (error) matrix: rows/columns are mapped vs reference classes.

  • Overall accuracy — proportion correct overall (necessary but insufficient alone).
  • Producer's accuracy (1 − omission error) — of the real class X, how much was mapped X.
  • User's accuracy (1 − commission error) — of pixels mapped X, how many are really X. This is what an end user experiences.
  • Kappa or, increasingly preferred, quantity and allocation disagreement (Pontius & Millones), which separate magnitude from spatial misplacement and avoid kappa's known shortcomings.

Report the sampling design and sample sizes alongside the numbers — accuracy without its design is not interpretable. For continuous products (depth, biomass), report RMSE, bias and an R² against reference, with a scatter plot.

The checklist

Design (desk): independent train/validation split; probability sampling (usually stratified); per-class sample size set; pixel-pure, homogeneous sites; CRS chosen.

Field: GNSS grade matched to pixel; CRS, accuracy, date/time, class, observer recorded per point; photos logged; condition/disturbance noted; standardised digital form.

Desk (post-field): reproject points to imagery CRS; QA for outliers and mislabels; build confusion matrix; report overall, producer's, user's accuracy plus kappa or disagreement; report RMSE/bias for continuous products; archive raw points, form schema and processing steps.

Common pitfalls and why they happen

  • Same points for training and testing. Inflates accuracy because you test memorisation, not generalisation.
  • Convenience sampling along roads. Biases toward accessible, often atypical, terrain and breaks probability-based accuracy.
  • GNSS coarser than the pixel. A 8 m fix on a 10 m pixel can land in the neighbour, mislabelling the validation.
  • Date mismatch. Phenology, tide or recent disturbance means the field reality differs from the imaged reality.
  • Reporting only overall accuracy. Hides that a rare critical class is wrong half the time; per-class measures expose it.
  • Lost CRS/metadata. Points with no recorded CRS or accuracy cannot be reliably re-projected or trusted later.

Bathyl perspective

We treat ground truth as the spine of any remote sensing claim, designed before the first scene is processed and reported as a confusion matrix, not a sentence. A product shipped with its sampling design, positional accuracy and per-class error is one a client can defend; one shipped without is a picture.

Related reading

Sources