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.