In order to produce a usefully accurate temperature reading, the raw data from the thermal camera should be adjusted using additional data such as the distance of the face, the ambient temperature, and the humidity of the environment. The body temperature is also different from the surface temperature of the skin, which requires additional adjustments.
Ambient temperature and humidity (as well as air pressure and gases) are already available from the BME680 sensor.
Face distance could be determined in one of two ways:
Estimate the distance from the size of face detections. Simple bounding boxes might work, but face landmarks (eyes, nose, mouth) may be more accurate.
Pro: straightforward implementation, no additional hardware
Con: likely not very accurate (assumes uniform face size, sensitive to detection errors)
In order to produce a usefully accurate temperature reading, the raw data from the thermal camera should be adjusted using additional data such as the distance of the face, the ambient temperature, and the humidity of the environment. The body temperature is also different from the surface temperature of the skin, which requires additional adjustments.
Ambient temperature and humidity (as well as air pressure and gases) are already available from the BME680 sensor.
Face distance could be determined in one of two ways:
Estimate the distance from the size of face detections. Simple bounding boxes might work, but face landmarks (eyes, nose, mouth) may be more accurate.
Use a depth camera such as the Intel RealSense D400 series.
The exact formula to combine these inputs into a temperature remapping function is also TBD.
See also: