Equation (7) corresponds to the convective part of Equation (6), in which the surface convection coefficient \(\alpha_{con}\) is usually taken from a standard tabulated value (normally 7.69 W/m\({}^{2}\)\({}^{\circ}\)C), whereas \(T_{inside\_air}\) and \(T_{outside\_air}\) correspond to internal and external temperatures measured by local sensors. The radiative component of the thermal resistance of the object is calculated from Equation (8). In addition to again containing \(T_{inside\_air}\) and \(T_{outside\_air}\), this equation also includes the emissivity of the object, \(\varepsilon\), which is calculated from Equation (3), and the [PERSON] constant \(\sigma=5.67\times 10^{-8}\) W/m\({}^{2}\) K\({}^{4}\). \[U=\frac{1}{R} \tag{5}\]

\[R=R_{conv}+R_{rad} \tag{6}\]

\[R_{conv}=\frac{T_{inside\_air}-T_{outside\_air}}{\left(T_{inside\_air}-T_{ object\_r}\right)}\frac{1}{\alpha_{con}} \tag{7}\]\[R_{rad}=\frac{T_{inside\_air}-T_{outside\_air}}{(T^{4}{}_{insider\_air}-T^{4}{}_{ outside\_air})}\frac{1}{\epsilon\sigma} \tag{8}\]

## 6 Experimental Results

### Thermal Scanning Platform

The methodology that performs the temperature correction has been tested in the indoors of buildings composed of several rooms (or zones) using our thermal scanning platform. As a case study, the results obtained for two different zones are shown throughout this section. The scanning platform, which is composed of a 3D scanner, a colour camera and a thermal camera, makes it possible to generate panoramic thermal point clouds by following a procedure presented in [24]. The scanner scans a space of 360\({}^{\circ}\)\(\times\) 320\({}^{\circ}\) (v \(\times\) h) and has a range of accuracy of 4 mm at 10 m (Z resolution) and 7 mm at 20 m. The resolutions are of 3, 18 and 65 million points for fast, standard and high-density modes, respectively. The fact that it is programmed using its own SDKs makes it possible to customise the data acquisition process. The RGB camera has a resolution of 2592 \(\times\) 1944 pixels with an FoV of 60\({}^{\circ}\)\(\times\) 45\({}^{\circ}\) (V \(\times\) Hz). The thermal camera takes 10 images of 120 \(\times\) 160 pixels with a reduced field of view of 71\({}^{\circ}\)\(\times\) 56\({}^{\circ}\) (v \(\times\) h), thus equally covering 360\({}^{\circ}\)\(\times\) 71\({}^{\circ}\). These ten images are subsequently used to assign temperatures to 3D points. It functions in a temperature range of between \(-\)10 \({}^{\circ}\)C and 65 \({}^{\circ}\)C, and its thermal sensitivity is 0.05 \({}^{\circ}\)C. Figure 1 shows the assignment of thermal images to 3D points for each IR image in Zone 0 (lab). The thermal image and the portion of the point cloud with the assigned temperature are displayed in pairs. The platform is programmed under ROS Melodic Morenia on Ubuntu 18.04.05 LTS with C++ and Matlab R2022a scripts. Apart from the correction processes presented in this paper, the thermal camera has previously been corrected with a black-body device and subsequently calibrated with the help of contact devices with a precision of below 0.2 \({}^{\circ}\)C, all of which is performed in order to measure the offset and conversion of the radiance value that the thermal camera provides. This process has been performed with 200 measurements of temperature, obtaining an average precision of 0.06 \({}^{\circ}\)C.

Note that this section is devoted solely to showing the automatic temperature correction procedure. More information on the extraction of the data and the calculation of a thermal point cloud can be found in [24; 25]. ### Detecting Outlier Images and Obtaining Average Thermal Images: Results of Stage I

As explained in Section 3, the thermal camera variability issue is solved by repeating thermal images from the same viewpoint and then detecting and removing the outlier images. Figure 2a provides an example of this process. In this case, ten thermal images for the first rotation of the platform are analysed.