基于低分辨器件的超分热成像系统*
2022-06-16焦良葆
徐 逸 焦良葆 孟 琳
(南京工程学院人工智能产业技术研究院 南京 211167)
1 引言
目前测温的方式分为接触式和非接触式测温两大类[1]。接触式测温主要利用热电阻或者热电偶温度探测器,通过测温元件对被测对象进行测温,该种方法优点是操作简单,但缺点是测量的精度低、速度慢,对于高温度的环境下不能起到很好的实时测量效果。非接触式测温主要是基于物体的热辐射原理设计而成的,在测量的过程中不需要与被测物体接触,具有较高的测温上线、安全可靠、测量快速等优势,适合测量移动旋转的高温物体的温度。
非制冷红外焦平面红外热成像系统[2~3]就是采用非接触式红外探测器[4]探测物体的红外辐射,并加以信号处理、光电转换等手段将物体的温度分布转换成红外热辐射图像,使用该设备我们可以清楚地看见待测量物体的发热位置。目前许多部门广泛使用红外热像仪对相关设备进行带电测量,可以及时发现故障隐患。但是分辨率高的热像仪[5~6]的价格比较昂贵、测量范围有限、驱动比较复杂。
针对上述问题,本文设计了一种基于MLX90640低成本的红外热成像系统[7~9]。该系统以树莓派作为核心控制[10~11],并与MLX90640 红外传感器和高清摄像头共同实现温度数据和图片的实时采集,此外可以通过SSH 与PC 端屏幕连接并显示图像。因热像分辨率较低,故采用了基于边缘保护的插值算法来有效提高红外图像的分辨率,可以清晰看出发热部位。该系统具有动态监测、测量范围大、低成本的优势,能实时形成高分辨率的红外热力图,便于使用者监测设备发热情况。
2 系统总体构成和硬件设计
2.1 系统总体方案设计
红外热成像系统主要是以MLX90640 为核心的温度采集模块和基于树莓派的软硬件设计,对采集的数据和图片进行分析和处理,系统结构如图1所示。本系统选用树莓派作为核心控制器件,其内部有IIC 和USB 接口,通过串口通信将MLX90640红外阵列传感器温度数据传输到树莓派进行实时处理、分析和存储。此外将树莓派通过SSH 连接PC 端屏幕来实时显示热图像。由于红外热图像是根据768个温度值绘制的32pixel×24pixel的红外热图像,图像的分辨率较低,所以提出了一种新的基于边缘保护的插值算法,将图像分辨率提高至320pixel×240pixel。此外,为了方便使用者查看,将768个温度数据存储在txt中,并可显示该测量区域的最高温和最低温。
图1 系统总体结构图
2.2 温度传感器模块
为降低成本,本系统选用了尺寸小、功耗低、方便集成的MLX90640 红外阵列传感器。该模块是一款32×24 像素的红外阵列传感器,需要2.5V~3.3V/5V 的供电电压,正常工作时温度为-45℃~85℃,可测量物体温度范围为-40℃~300℃,其编程刷新速率为0.5Hz~64Hz,在整个测量范围内保持高精度水平。该模块有两种视场角(FOV)可以选择,分别为55°×30°和110°×75°。为了能近距离高效地监测物体温度,本系统选用110°×75°红外探测器视角(FOV)。
MLX90640 组成框图如图2 所示,它有四个引脚,其中SDA 用于IIC 串行接口数据线,SCL 用于IIC 串行接口时钟线,VDD 用于外接3.3V 电源,GND 接地。同时,它具有环境温度传感器和VDD电压检测ADC。通过IIC 接口,可以访问存储于内部RAM 中的红外阵列、环境温度以及VDD 实时数据,并能读取存储在EEPROM 中传感器出厂时校准常数和配置参数。
图2 MLX90640组成框图
2.3 微处理器
在此次的微处理器型号选择过程中,本系统主要以成本、效率和集成度作为三个参考指标,通过综合比较,最终选择了树莓派4B 这款微处理器。该款处理器是目前单板计算机中的最新款。实际上,树莓派[12]与普通的小型嵌入式计算机几乎没有差别,不仅体积小而且功能全面。主板上有多种类型的接口,可以满足不同信息处理需求,包括USB 3.0、USB2.0 接口各两个,还有数字接口和网络接口。树莓派内置64 位四核处理器,它内部的随机存取存储器内存有4GB的大容量,有着强大的图像数字处理技术,支持4K 高清影像,包含有2.4/5.0GHz 双频无线LAN。此外,开发板支持Python和C 语言等多种软件编程语言,广泛应用于无线传感器网络领域。
3 软件设计
3.1 温度测量流程
将芯片的刷新速率设置为64Hz并选用棋盘工作模式,然后根据EEPROM 中存储的校准数据计算出测量的温度值,其测量流程如图3 所示。将芯片接上5V 电源后,其内部需要等待80ms 左右,然后从EEPROM 中读取校准参数,并将参数存储在RAM 中,共占用1536 字节。接着,标准的MLX90640 红外传感器工作在棋盘模式下,每次测量一半的像素点,通过I2C 总线轮流读取每个子页像素的测量数据,分两次完成768像素点的测量。
图3 MLX90640测温流程
3.2 温度计算
根据式(1)可计算出每个像素点的实际温度:
式 中 有4 个 未 知 参 数,分 别 是VIR(i,j)_COMPENSATED、αcomp(i,j)、Sx(i,j)和Ta_r,其中i 的取值范围为1~32,j的取值范围为1~24,(i,j)表示像素点的位置;VIR(i,j)__COMPENSATED表示单个像素的温度梯度补偿系数,可由式(2)求得:
αcomp(i,j)表示单个像素归一化的灵敏度系数,其计算公式如式(3):
Sx(i,j)与Ks、α(i,j)、VIR(i,j)__COMPENSATED等 参 数 有关,可由式(4)求得:
Ks表示不同温度范围的灵敏度斜率,Ta_r是由红外信号反射温度Tr、环境温度Ta、发射率系数ε组成,IR反射温度Tr≈Ta-8,其计算公式见式(5):
式中环境温度Ta可由式(6)计算:
式中的所有参数可以在EEPROM和RAM中读取,然后将所求参数直接代入式(1)即可求得每个像素点的实际温度。
3.3 图像插值算法
插值算法[13~15]是获得高分辨率图像的主要技术手段,其中最近邻插值、双线性插值和三次多项式插值方法等使用最为普遍。1)最近邻插值算法:此种算法的优势是算法步骤少,缺点是会在插值生成位置产生锯齿状,其原理是通过计算出最近邻象素灰度,然后赋给待求像素;2)双线性插值算法:此种算法的优点是最终成像效果好,原理是从热力图的两个方向进行两次线性插值计算,这样就得出了四个不同方位的像素值;3)三次多项式插值算法:在这几种算法中,此种获得图像的分辨率最高,效果最好,但是计算量也最大,步骤繁复。需要选取待采样点周围的16 个像素灰度数值,进行三次的插值运算。
在分析了几种不同的插值算法之后,可以得知传统的插值算法尽管提升了图像的分辨率,但问题是细节处理能力较弱,导致最终的整体效果差。因此,本文提出了一种以边缘保护为处理思路的插值算法。一般来说,图像分为边缘和非边缘两个部分,前者的灰度变化很大,后者的灰度变化较小,结合这一特点,针对分辨率较低的图像,可以先运用改进的Canny 算法[16~19]准确检测出边缘位置,然后针对两个不同区域,采用不同的插值算法来获得高分辨率图像。算法流程如图4所示。
图4 插值流程
一般来说,Canny 算法会先对图像进行高斯滤波,然后计算出梯度大小和方向并对梯度幅值进行非极大抑制,最后通过双阈值处理找到图像边界,从而实现边缘提取。高斯滤波虽然使得图像变得更平滑,但滤波后的图片边缘会变得模糊,因此,本文对Canny 算法进行了改进,采用中值滤波来代替高斯滤波,中值滤波[20~21]能有效地消除图片的噪声,克服线性滤波器带来的图像细节模糊问题,能较好地保留图片的细节信息。通过主观和客观实验证明该改进可以有效提取图片的边缘。
在提取边缘并计算出像素点的灰度方向后,按照所需放大的倍数将边缘点进行放大映射,并利用已知的相邻像素灰度值来确定待插值像素,在待插值像素的具体位置插值,即在边缘区采用最近邻插值算法,可有效地保留图片的边缘细节。在此基础上,对非边缘区则采用双线性插值算法,将待插值点对应的原图像中的相邻4 点的灰度值来计算该点灰度值,使得温度高低差异明显,减少了运算量。将32pixel×24pixel 分辨率的热图像提高到320pixel×240pixel。经过技术优化,MLX90640型号的红外传感器的图像处理技术得到了较大提升,像素处理功能已经十分强大,在这点上,无论是AMG8833 还是MLX90621,都稍显逊色。这种新插值方法结合了各插值算法的优点,使得图像保留了大量信息,边缘信息更加清晰,减少了计算量,使得放大后的整体效果自然,具有较好的视觉效果。
4 测试分析
将树莓派接收到的768 温度数据存储在txt 文件中,并实时显示红外热图像。用不同灰度来表示一个区间温度的高低,温度越低,其灰度越暗,温度越高,其灰度越亮。本文对原始的热图像采用传统的插值算法和新算法进行实验。
4.1 评估指标
此次提出的新算法能否真正提升图像分辨率以及是否具有有效性,则需要通过主客实验的方法来进行验证,首先,将新算法和上述提到的几种插值算法做一次综合分析。在此次研究中,图像的熵与平均梯度是验证分析的主要参考指标,图像的熵体现的是图像信源的平均信息量,熵值有具体的数值来表示,且与插值效果成正相关关系。平均梯度能够反映图像纹理的变化情况,细节反差越大,图像整体效果越好,层次感更佳。
4.2 实验对比分析
将上述提到的三种算法进行综合或者搭配运用,第一种实验方法:单独使用双线性插值;第二种实验方法:双线性插值与三次线性插值同时运用;第三种实验方法:最近邻插值与三次多项式插值同时使用;第四种实验方法:本文提出的基于边缘保护的插值算法。放大的效果图分别如图5(a)~5(d)所示。最后,对比四种实验的图像的熵值与平均梯度数值,如表1 所示。其中运用新插值算法得到的图像,其熵值和平均梯度值是最高的,不仅计算量最小,整体效果也最佳,分辨率很高。从效果图中可以看出:图5(a)~(c)的图片中出现严重马赛克,边缘细节模糊,效果较差,图5(d)相较于其它图片层次感更加,视觉效果更好。
图5 检测结果对比
表1 几种插值算法对比
5 结语
本文采用非接触式高精度的MLX90640 红外测温传感器对需要测量的对象进行实时监测并显示热像图。由于系统是根据传感器测得的768 个像素点形成低的图像分辨率较低,提出了基于边缘保护的插值算法,与传统插值算法相比较,有效保持了图像边缘特性,提高了插值后图片的质量,具有良好的视觉效果。为了让使用者更好地监测设备,将所有温度数据存储在txt文件中,并能显示最高和最低温度。实验结果表明该系统成本低、安装方便、测量速度较快、安全稳定,该系统可以应用在对分辨率要求不高的场合,起着红外热成像系统的作用。