← Home

A research directionThermal Array–Based Spatial Sensing

Physics-guided and learning-based frameworks that elevate low-resolution thermal arrays into 3D spatial representations for human detection, ranging, reconstruction, interaction, and building-scale occupancy analytics, with strong privacy and cost advantages.

Principle and property

A scene radiates, transmission carries that radiation to a thermal array, and detection yields a thermal-array map. Three properties: fully passive sensing, long wavelength from 8 to 15 micrometers, and multi-physics encoding.

Fully passive sensing

The array never lights the scene and never sends a probe. Many of them can share a room, through the day and the night, without a lamp, a radio collision, or an emission hazard.

Long wavelength (8–15 μm)

The recording is heat, so a face is not resolved. The same wavelength is why glare, smoke, and darkness do not take the person off the map.

Multi-physics encoding

One pixel mixes temperature, how the surface emits, and a cue tied to distance. Pulling those apart is the problem the techniques below take on.

Current research overview

Three stages: Technique with TADAR and TAP3D, Application with hand pose, sleep, fall, and blink, and System with rooms left running.
Techniques turn the map into spatial primitives: a range for each person, then a body-shaped cloud. Applications read behavior from that geometry, from a hand beside a device to sleep, a loss of balance, and a blink. Systems leave the same sensing running in real rooms and record how those rooms are used.

1Techniques

A thermal pixel is a temperature, not a distance. The first two steps put a range on that heat, then a body.

1.1TADAR

Thermal Array-based Detection and Ranging for Privacy-Preserving Human Sensing

From a temperature map to a multi-user range

MobiHoc 2024

Motivation and challenges. Human sensing needs a range, and a thermal array is the modality that keeps both resolution and privacy. The map it returns is only two-dimensional. It has lost the complete 3D spatial information, so it cannot say where each person stands, and earlier work was left mounting the sensor on the ceiling and reading the pixels as a flat picture.

Sensing modalities arranged from high imaging resolution to strong privacy protection. A camera is sharp and exposing. A thermal array still shows a person while hiding identity. Radio returns almost no image.
Motivation. From a camera to a radio, resolution falls as privacy rises. A thermal array is where both still hold.

Key insight. Air attenuates thermal radiation, so a closer person reads warmer than a farther one. Bare skin at the face and neck is the stable reference: its emissivity barely changes, and clothing only makes the other pixels cooler.

One person steps from 1 m to 5 m. The thermal signature shrinks and cools while a second person stays in place.
Insight. The same person reads cooler, and smaller, as the range grows from 1 m to 5 m.

Model. For each person, the region of interest is pooled, flattened, and sorted so the hottest pixels lead the feature, and the region’s center is appended to correct readings near the edge of the frame. A histogram gradient booster maps that feature to a range, and a Kalman filter smooths it over time. A spatial detector and a temporal tracker find and follow several people in the textureless map, without a trained segmentation network, and the two streams are fused.

TADAR model: preprocessing, a spatial detector and a temporal tracker fused together, then a thermal ranging model.
Model overview. Detection and tracking feed the ranging model.

Results

  • 88.8%multi-user detection F1
  • 32.0 cmmean ranging error
  • 20.1 cmwithin 3 m
People in a room and the matching thermal maps, with a range marked on each person.
Several people, each with a range, from one passive array.

1.2TAP3D

Thermal-Assisted 3D Human Point Clouds

From a coordinate to a body-shaped cloud

MobiCom 2026

Motivation and challenges. A human point cloud is the intermediate representation that carries pose and shape into later tasks, and the bridge that aligns one modality with LiDAR, radar, and depth. Depth cameras raise privacy concerns, LiDAR is costly and emits a laser, and radar returns a sparse cloud and interferes with its neighbors. From a temperature map the remaining challenges are depth mixed with emissivity and surface temperature, warm objects that look like people, and people who overlap along the line of sight.

A scene, its thermal map, the TAP3D point cloud, and point clouds from a depth camera, LiDAR, and radar.
The same heat, as a body-shaped cloud, beside depth, LiDAR, and radar.

Key insight. A pixel’s temperature is not a depth. Depth is entangled with emissivity and surface temperature. Those two are what mark a person, and people who overlap along the optical axis often separate in a bird’s-eye view.

Pilot study: a predicted cloud offset from the true depth, a warm refrigerator taken as a person, and two people merged into one cloud.
Pilot study. A direct learner misplaces depth, takes a warm refrigerator for a person, and merges two people into one cloud.

Physics model. Each pixel collects radiation from a patch of body surface. Air attenuates that radiation on the way to the lens, and warm objects nearby can add a reflection. The patch projects onto the array through a pinhole, so the temperature a pixel reports mixes depth, emissivity, and surface temperature. The forward model rebuilds the map from those quantities. The network then solves the inverse.

Physical model of a thermal array: image plane and lens, the sensor, a person along the optical axis, and ambient warm objects that reflect.
Physics model. A pixel receives the person’s emission, attenuated along the projection line, plus radiation reflected from ambient objects.

Model. A U-Net-style inverse solver reads one temperature map and jointly estimates depth, emissivity, surface temperature, reflected radiation, and which person each pixel belongs to. The forward thermal model above rebuilds the map from those estimates, so the solver trains without labels for emissivity or surface temperature. Geometric perspective fusion then cleans the result: a detector on the optical-axis view uses temperature and emissivity to reject ambient heat, and differentiable index mapping lifts the depth into a bird’s-eye view so adjacent people come apart. The two views fuse into one cloud per person.

TAP3D model: multi-primitive estimation from a temperature map, then geometric perspective fusion of the optical-axis view and the bird’s-eye view.
Model overview. Primitives are estimated, then refined from two views.

Results

  • 4.60 cmdirected Chamfer distance
  • 0.95detection F1
  • 21.86 cmtracking MAE
  • 4.87 cmmesh error
  • 91.46%fall from the cloud

160K samples, 8 rooms, 11 people.

Three examples: scene and thermal input, the TAP3D point cloud, and a generated body mesh for walking, standing, and sitting.
Case: the cloud is dense enough to generate a body mesh while walking, standing, and sitting.

2Applications

The same passive pixel, used at the edge: a hand beside a device, a loss of balance, a person under a blanket, and a blink on a pair of glasses.

2.1TAPOR

3D Hand Pose Reconstruction with Fully Passive Thermal Sensing for Around-Device Interactions

Hand pose beside the device

Ubicomp 2025 · IMWUT

Motivation and challenges. More IoT devices ship without a screen or a keyboard, so they need flexible gesture control beside the device, beyond a fixed menu of gestures. Wearables ask to be worn, cameras threaten privacy and cost compute, and radio or acoustic sensing needs a cumbersome setup. A privacy-preserving thermal array can reconstruct the 3D hand for that control, yet the map is low-resolution and textureless, and the model must still run on a small, low-power board.

Key insight. Captured radiant power falls as the hand moves away, but not by the same curve at every keypoint. Different poses also leave different two-dimensional patterns even at the same depth, so the pose can be retrieved from that pattern rather than regressed from a blank map.

Normalized temperature against depth. Edge samples fall faster than center samples, between a theoretical upper and lower bound.
Insight. Temperature falls with depth, and the edge of the hand falls faster than the center.

Model. Three modules. A thermo-space encoder turns the temperature map, with its two-dimensional hand context, into a three-dimensional space of depth and possible poses. A keypoint feature extractor reads that spatial pattern together with the structure of a hand. A position-retrieval decoder uses those features as queries and picks each keypoint’s three-dimensional position out of that space. Heterogeneous distillation compresses this model into NanoTAPOR, which runs on an ESP32-class board from one MLX90640, about $20 and under 0.08 W.

TAPOR and NanoTAPOR: a thermo-space encoder, a keypoint feature extractor, and a position retrieval decoder.
Model overview. Pose is retrieved from a thermo-space, then distilled for the device.

Results

  • 2.26 cmjoint error
  • 3.26 cmon device
  • 2.69 cmfinger tracking
  • 377×less compute
Thermal maps of several hand poses and the reconstructed 3D hands.
Case: gesture and pose recovered from the temperature map of one hand.

2.2TAFALL

Balance-Informed Fall Detection via Passive Thermal Sensing

A fall as loss of balance

IMWUT 2026 · vol. 10, no. 4, Article 232. To be presented at UbiComp 2027.

Motivation and challenges. Falls are common among older adults, and many of them happen in bedrooms and bathrooms, where a camera is hard to accept and a wearable is easy to leave off. Radio sensing avoids the image, yet it still reads a fall through a change in height or speed, so sitting down quickly, bending, or a passing pet raises alarms that wear out trust. On a thermal map the further challenges are a textureless pose under motion smear, a loss of balance that is brief and hard to label, and daily motions the model has never seen.

Key insight. A fall is a loss of balance, not a spike in speed. On a thermal map the head and exposed skin stay hotter than the clothed torso, and the smear of a fast movement is a cue for velocity rather than a defect. Balance itself is a continuous margin, not a binary label.

A fall as a scene, a thermal map, and a filmstrip from stable balance, to loss of balance, to the ground.
Stable, loss of balance, ground. The decision follows the margin, not a velocity peak.
A standing person with center of mass and base of support marked, and a walking sequence whose thermal map smears with the motion.
Insight. Balance is the margin between the center of mass and the base of support. Fast motion leaves a smear the array can read as velocity.

Model. Two phases. Appearance–motion fusion uses a dual path: one path reads the temperature layout, the other reads the smear, and together they estimate a pose sequence. A balance-aware head is trained on both the continuous signed margin of balance and the discrete fall label. Before that, the pose network is pretrained on large public pose data with cross-view contrast, so unseen activities and people raise fewer false alarms.

TaFall model: appearance and motion paths estimate a pose, then a balance head predicts the signed margin of balance and the fall.
Model overview. Pose from appearance and motion, then the margin of balance.

Results

  • 98.26%detection
  • 0.65%false alarms, lab
  • 3.6 / weekfalse alarms, homes
  • 25 / 25bathroom falls

More than 3,000 falls, 35 people. Then 27 days in four homes: 0.00126% of about 0.29 million windows, and one false alarm in the bathroom pilot.

2.3SomnoSense

Privacy-Preserving Non-Contact Sleep Monitoring via Multimodal Thermal–Depth Sensing

Sleep posture under a blanket

HotSense @ MobiCom 2025

Motivation and challenges. Sleep posture and motion are health signals, from bedsores to positional apnea, and a clinical lab with contact sensors is the wrong place to watch them for a week. Cameras need light and enter the bedroom; radar is coarse. A thermal array is private and works in the dark, but a blanket hides the body and heat left in the mattress looks like a person who has already gone.

Key insight. A blanket hides the body from the array, and heat left in the mattress looks like a person who has already gone. Depth from a co-located time-of-flight sensor supplies the occupancy the heat map cannot, and a state machine stops leftover warmth from flipping presence on and off.

A thermal map of a person in bed. A blanket covers the torso, and the visible limbs are drawn as a stick figure.
Insight. The blanket hides the torso. Only the limbs still read as body heat.
Four thermal maps from 6 to 60 seconds. The person has left, but a fading body-shaped patch remains.
Insight. After the person leaves, the bed keeps a body-shaped patch for about a minute.

Model. Three modules on synchronized thermal and depth frames. Presence scores summary statistics of the temperature map and of consecutive depth frames with a random forest each, averages them, and smooths the result with a state machine whose transitions depend on motion. Motion is a masked difference of thermal frames, summed inside the body. Posture resizes that body region and classifies it with a ResNet-18, then a majority vote assigns one posture to each low-motion stretch.

SomnoSense overview: thermal and depth inputs into presence detection, motion estimation, and posture recognition.
Model overview. Presence, motion, and posture from the thermal map and a small depth sensor.

Results

  • 98.7%presence detection
  • 96.1%posture
  • 0.718motion MAE

170 minutes, 5 people, 6 postures, 3 rooms.

Thermal map of a person lying in bed.
The in-bed heat pattern the array still sees.
A week of nights drawn as rings of a clock, colored by sleep posture, with a pie of time in each posture.
Case: one week, 45 hours. Posture around the clock, from absent to soldier, starfish, log, yearner, foetus, and freefaller.

2.4ThermalEye

Fully Passive Eye Blink Detection on Smart Glasses via Low-Cost Thermal Sensing

A blink on the glasses

HotSense @ MobiCom 2025

Motivation and challenges. Blink rate is a marker for fatigue, dry eye, and interaction, and a visible-light camera on the face is lighting-sensitive, power-hungry, and hard to justify. On a thermal array the blink is a small, slow dip. It is easy to lose in sensor noise, uneven across the pixels, and different from person to person.

Key insight. A blink is a small, slow dip in the heat over the eye. It is easy to lose in sensor noise, the dip is uneven across the array, and the resting pattern differs from person to person.

Temperature traces. Three sessions of one person stay close together. Four people sit at clearly different resting temperatures.
Insight. One person’s sessions agree. Four people do not: each rests at a different temperature.

Model. Three stages. Preprocessing filters, normalizes, and raises the contrast of the 12×16 map. A ResNet-18, taking a six-channel frame, scores whether the eye is closed. Temporal post-processing applies a median filter and groups frames into blink events, which is what cuts isolated false alarms.

ThermalEye pipeline: preprocessing, a spatial network, and temporal post-processing that turns frame scores into blink events.
Model overview. A frame score, then a blink event.

Results

  • 0.89F1 per frame
  • 0.80F1 per blink

190 minutes, 4 people.

A 12 by 16 thermal array and an ESP32 mounted on a pair of glasses.
The array, worn. One small passive sensor on the frame.
A temperature trace with blink start and end marked, and two thermal maps for eyes open and eyes closed.
Case: temperature falls between blink start and blink end. The maps are eyes open and eyes closed.

3Systems

3.1BuildingPulse

Privacy-First Occupancy Monitoring with Thermal Arrays

Occupancy from a ceiling mesh

Under review

We are commercializing this system at SenseAI, where Xie Zhang is Chief Scientist, for privacy-first occupancy sensing in human-aware buildings.

Motivation and challenges. Buildings need continuous occupancy for crowding, evacuation, and heating and cooling, and cameras, LiDAR, and Wi-Fi each fail privacy, cost, or spatial precision. One thermal array covers only part of a room. At building scale the nodes are mounted differently, their views overlap, their clocks disagree, and sunlight, monitors, and leftover heat look like people.

Key insight. A ceiling view makes an occupant a small, stable signature, so nearby people can be split by region size. Nodes should send a detection, not the raw map. Short tracks reconcile overlapping views, and the history of a location separates a person from a heater that never moves.

Two people under a ceiling camera. Without a size cue their heat merges into one box. With it, the same heat splits into two people.
Insight. From the ceiling, two nearby people merge into one warm region. A size cue splits them back apart.

Model. Each node runs Extended-TADAR: a nonlinear contrast transform, then a region-size-guided search that splits merged occupants. The cloud projects those boxes onto one floor, fuses asynchronous tracks so the same person is not counted twice, and applies a posterior filter that marks persistent static heat as non-human.

BuildingPulse: edge nodes run Extended-TADAR, the cloud fuses detections and filters them, and the occupancy state feeds building services.
Model overview. Compact detections leave the node. Fusion and filtering happen once, for the whole floor.

Results

  • 0.933F1, one node
  • 0.16counting MAE, one node
  • 0.96recall, many nodes
  • 1.30counting MAE, many nodes
Ceiling sensors and floor plans for an office, a student activity center, and a gym.
The three rooms, and where the nodes sit. Office, 60 m², 8 nodes, 198 days, on a routine. Student activity center, 180 m², 15 nodes, 256 days, spiking with events. Gym, 300 m², 31 nodes, 62 days.
Gym occupancy heatmaps over a month, a week, and a day, a 24-hour curve, and equipment-level usage.
Case: the gym floor over a month, a week, and a day. It shows where people stand and which machines they use.

Open questions for future exploration

I am open for any discussions and collaborations. If you are interested in the following research problems, or in other thermal-related questions, please feel free to contact me with zhangxie289 at gmail dot com.

References