Skip to content
AI360Xpert
Beta

Hyperspectral Imaging

Hyperspectral cameras split light into hundreds of thin slices so materials with the same color reveal different fingerprints in the slices you cannot see.

A matching pixel scores a spectral angle of 4 degrees against 25 degrees for a stranger, so a 10 degree threshold names the mineral
A matching pixel scores a spectral angle of 4 degrees against 25 degrees for a stranger, so a 10 degree threshold names the mineral

Why Does This Exist?

RGB confuses materials that share a color: dry soil and limestone, healthy and painted leaves, real and fake blood. Chemistry writes its signature across wavelengths the eye merges into one hue. Farms, mines, and food lines need the material, not the color.

Hyperspectral imaging exists to record that signature. Input is a data cube with two spatial axes plus BB bands, often 100100 to 250250 slices each 55 to 1010 nm wide. Output is a material label or abundance per pixel. The few band sibling is multispectral imaging; the overhead setting is remote sensing with per date analysis in satellite imagery. Land use context comes from land cover.

Use it when spectra separate what color merges. Use RGB or multispectral when a few bands already split the classes and data volume matters.

Think of It Like This

A barcode scanner for light

A checkout scanner ignores package color and reads thin black bars, where the spacing pattern names the product. Two cans with identical red labels carry different barcodes and ring up differently.

A spectrum is that barcode for materials. Bands are bar positions, reflectance values are bar widths. The spectral angle measures how the barcodes line up. The analogy stops at mixing: a pixel can hold two products at once, which no checkout barcode allows.

How It Actually Works

Calibrate counts to reflectance with a white reference under the same light. Compare each pixel spectrum ss to a library spectrum rr with the spectral angle: cos⁡θ=(r⋅s)/(∣r∣∣s∣)\cos \theta = (r \cdot s)/(|r||s|). Small θ\theta means same shape even under different brightness, because the ratio cancels illumination. Threshold θ\theta to label, or unmix a mixed pixel as abundances a1+a2=1a_1 + a_2 = 1 that best rebuild the observed mix.

Worked example

Library r=[0.60,0.30,0.10]r = [0.60, 0.30, 0.10]. Pixel A s=[0.55,0.32,0.12]s = [0.55, 0.32, 0.12]. Dot =0.60×0.55+0.30×0.32+0.10×0.12=0.438= 0.60 \times 0.55 + 0.30 \times 0.32 + 0.10 \times 0.12 = 0.438. Norms ∣r∣≈0.678|r| \approx 0.678 and ∣s∣≈0.647|s| \approx 0.647. Cosine ≈0.438/0.439≈0.998\approx 0.438/0.439 \approx 0.998, so θ≈4\theta \approx 4 degrees. Stranger pixel B gives θ≈25\theta \approx 25 degrees. A 1010 degree threshold calls A the library mineral and rejects B. A border pixel that is half mineral and half soil unmixes near 0.50.5 and 0.50.5 abundance.

Watch Out For

Mixed pixels that defeat hard labels

At 1010 m sampling a pixel often holds road plus verge plus roof. The spectrum matches no library entry, and the nearest angle names a third material present in neither. The symptom is speckled labels along every boundary. Fix it with abundance unmixing or finer sampling instead of forcing one label per pixel.

Uncalibrated cubes that compare weather, not chemistry

Two flights under different sun give different counts for one field. Angles shrink the error but do not erase smile distortion across the swath or sensor drift. The symptom is stripes that follow flight lines. Fix it with per flight white referencing and smile correction before any angle math.

The Quick Version

  • Hyperspectral cubes hold 100100 plus narrow bands per pixel for material fingerprints.
  • Spectral angle cos⁡θ=(r⋅s)/(∣r∣∣s∣)\cos \theta = (r \cdot s)/(|r||s|) compares shape, not brightness.
  • The fixture scores 44 degrees for a match against 2525 degrees for a stranger.
  • A 1010 degree threshold labels; abundances split mixed pixels.
  • Calibrate to reflectance or flight lines become false minerals.