File size: 1,540 Bytes
5307569 aa51bb4 5307569 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | # Inference contract
Use QL1 for the 100-ft crop contract and QL2 for 200 ft. Inputs must already
use projected coordinates in feet; inference does not reproject LAS files.
The segmentation decoder tile path runs in FP32. Each forward consumes 20,480 sampled points;
windows overlap by 50 ft or 100 ft in the examples.
Source LAS attributes, classification, header/CRS, and extra dimensions are
preserved. The following dimensions are added:
| Field | Meaning |
| --- | --- |
| `pred_semantic` | 0–4 semantic index; 5 low confidence; 255 uncovered |
| `pred_las_class` | LAS 2–6; 1 low confidence; 0 uncovered |
| `pred_confidence` | Maximum fused softmax probability; 0 uncovered |
| `coverage_count` | Number of accumulated support observations (uint32) |
Sampling does not ensure every raw point is covered. Inspect coverage before
using products. No prediction is propagated to unsampled points.
Examples use `fusion_mode: paper_legacy` to retain the paper pipeline's
NumPy buffered repeated-index accumulation. Repeated indices within a padded
window effectively update once. `sum_occurrences` uses `np.add.at` to sum
and count every occurrence correctly. This changes weighting when support
indices repeat; re-evaluate products before comparing scores with the paper.
Both modes reject non-finite predictions.
Crop NPZ output keeps raw semantic index 0–4 and separately thresholds
`semantic_las_class` to 1 below 0.60. Tile `pred_semantic` also encodes low
confidence as 5. Neither introduces an additional learned class.
|