alma / docs /inference.md
goel65's picture
Upload folder using huggingface_hub
aa51bb4 verified
|
Raw History Blame Contribute Delete
1.54 kB
# 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.