☰
红外技术三条线:从测温、遥控到AI检测一次捋清
2026/9/26 1:54:23 网站建设 项目流程

1. 一个波段,三种面孔:先把"红外"这个词拆清楚

如果你跟我一样,是从单片机、传感器或者物联网这个入口接触红外的,大概率会经历一段认知混乱期。因为"红外"这个词在不同场景下指代的东西差别太大了:测温枪里的红外,摄像头夜视里的红外,遥控器里的红外,手环测心率里的红外,还有算法工程师嘴里"红外小目标检测"里的红外……它们都叫红外,原理却完全是几条不同的技术路线。

这个混乱不是你的问题,是红外这个波段实在跨得太宽。从波长上说,红外覆盖的范围比整个可见光波段宽几百倍,不同的波长区间对应完全不同的物理效应和工程玩法。所以这篇笔记我不想按教科书顺序念一遍电磁波谱,而是把大家经常搜的那些词——38kHz、NEC协议、电力红外数据集、红外热成像、红外可见光融合、红外循迹、红外光通信——按照我自己的理解,归成三条线来讲:能量线、信息线、数据线。

对应到实际使用场景就是:红外怎么测温度、红外怎么传信号、红外怎么喂给算法做检测。把这三条线捋顺了,你再看到任何带"红外"字眼的技术方案,基本都能一眼判断它在哪个体系里、核心难点在哪、应该用什么思路去调。

2. 能量线:测温和热成像为什么"看"的是温度差

2.1 万物都在发红外,关键是找到"看"哪个波段

先讲一个最反常识但最重要的事实:我们平时说红外测温、红外热成像,它接收的不是物体反射回来的光,而是物体自己辐射出来的电磁波。

任何温度高于绝对零度的物体都会向外辐射电磁波,温度不同,辐射的峰值波长就不同。这个规律由维恩位移定律描述,公式很简单:

λmax = 2898 / T(μm)

T是开尔文温度。常温物体大约300K,峰值波长在9.6微米附近,落在8~14微米的"长波红外"窗口;一个300℃的加热设备,峰值波长会往短波方向移动,掉到3~5微米的"中波红外"窗口。这就是为什么工业热像仪和测温型红外传感器,不是随便抓一个红外波段就行的——你必须根据被测目标的温度范围选探测器的响应波段,选错了信号弱一大截,甚至会完全测不到。

我刚开始玩红外测温时犯过典型的错误:拿一个响应波段在8~14微米的传感器去测一个小型电烙铁头,烙铁温度300℃左右,峰值波长5微米多,已经偏出传感器灵敏区边缘了,读数不仅偏低还抖得厉害。后来换成中波响应(3~5微米)的探测器,数据才稳定下来。选波段就是选镜头焦段,拍人像用85mm,拍月亮用600mm,用错焦段拍出来一定糊。

2.2 发射率是个隐藏大坑,电力检修最清楚

有了波段,还有第二个坑叫"发射率"。黑体辐射定律里,理想黑体的发射率是1.0,但现实物体不是黑体,同样温度下辐射出来的能量强度不一样。光滑金属表面发射率可能只有0.1左右,而水泥墙面、砖头、带锈的铁皮往往会到0.8以上。

这意味着什么?一台变压器外壳,你用热像仪看,亮的地方不一定温度高,可能是表面材料发射率高、辐射能力强。所以正规的电力红外巡检作业,第一步永远是设发射率。瓷瓶、导线、绝缘子、金属接头,各自有自己的经验发射率值。如果图省事全用默认的0.95去测,裸露铜排可能会被低估几十度,该报警的过热点就这么漏过去了。

这也是为什么"电力红外数据集"这类东西不能直接从网上随便拉一批热像图就训练算法——不同设备、不同季节、不同拍摄角度下,发射率差异和背景温度差异都会影响像素值和真实温度的映射关系。做过电力巡检项目的人都知道,同一块绝缘子在晴天和阴天拍出来的热像图,温度分布能差很多,但故障特征可能恰恰藏在那些细微的温差模式里。

2.3 夜视检测鸟类:热红外为什么能"看见"活物

再举一个能量线的典型应用:红外夜视检测鸟类。这个需求在机场驱鸟、风电场生态监测、自然保护区夜间鸟类调查里都很常见。

白天用可见光摄像头拍鸟不难,难在夜间。夜视仪用微光增强把月光、星光放大到肉眼可见,但完全无光的条件下就废了。热红外不依赖外部光源,它靠的是鸟的体温和周围环境的温差。鸟类体温普遍在38~42℃,在夜间比环境温度高出一大截,在热像图上就是一个明亮的运动目标。

不过这里也有讲究。鸟类羽毛覆盖层有保温作用,如果冬天特别冷,羽毛外表面温度会被拉低,和环境的温差反而缩小。再加上热成像分辨率普遍比可见光低,远处的鸟在画面上可能就一两个像素。所以实际的项目里很少只靠热像仪一路数据硬扛,常见做法是热像仪负责"发现疑似热目标",可见光相机负责"确认细节",两路数据做融合判断。这个思路,后面讲红外可见光融合时还会再展开。

2.4 能量线的小结:记住"温差即信号"

把能量线串起来看,你会发现所有热红外应用的底层逻辑都是同一个:检测温差,而不是检测绝对温度。测温枪测的是物体辐射强度反推温度,热像仪看的是场景里各点的辐射差异形成图像,夜视监测找的是目标与环境的热对比。

所以做热红外相关的事,永远先问三个问题:目标温度在什么范围、背景温度大概多少、目标与背景之间会不会有温差叠加上发射率差异。公式算不清没关系,先把这几个物理量想明白,方向就不会错。

3. 信息线:遥控器、38kHz和NEC协议为什么是绝配

3.1 为什么偏偏是38kHz

从能量线跳到信息线,最大的认知跃迁在于:红外通信根本不关心热量,它只把红外光当作一种不可见的载波。遥控器、红外循迹、红外光通信,本质都是发红外光、收红外光、从光的亮灭序列里解出信息。

那为什么家电遥控器几乎都用38kHz载波?这个问题我从大学玩单片机一直好奇到工作后才真正想透。原因有三个,层层叠加:

第一,为了抗干扰。红外接收头不光接收遥控器的信号,也会接收环境里的红外辐射,包括阳光、白炽灯、暖气片。这些干扰大部分是缓慢变化的直流分量和低频噪声,38kHz的交流调制信号可以轻松地把"有用信号"和"背景噪声"在频域上分开。接收头内部做一个带通滤波器,只放行38kHz附近频带,其他统统衰减掉。这就好比你在嘈杂的菜市场里喊人,喊的内容可能听不清,但如果约定好只认一个特定频率的口哨声,就算周围人声鼎沸也能对上暗号。

第二,匹配接收头的谐振点。红外接收头(比如常见的HS0038B)内部是PIN光电二极管加高增益放大器加带通滤波器加解调器,厂家在设计时把放大器的中心频率就调在38kHz附近。发射端也用38kHz,等于收发双方卡在同一个谐振频率上,接收灵敏度最高。有些接收头标37.9kHz,并不是写错了,而是故意让谐振点略偏,换取更大的频率容差范围。

第三,折中考虑速率和距离。载波频率越高,理论上能传的数据速率越快,但LED的开关特性和驱动电路的寄生电容会限制实际上升沿,频率太高波形畸变严重,传输距离还要掉。38kHz在这个年代确实不算快,但遥控这种低速场景下它是性价比极高的平衡点。

3.2 NEC协议:从波形到解码的完整链路

载波是物理层的事,信息层就得靠协议。家电领域NEC协议是最经典的,美的、格力、索尼、飞利浦大量设备都在用它的变体。我当初为了用STM32做空调遥控器,硬啃过一份逻辑分析仪抓出来的波形,把它掰开揉碎讲一遍,后面理解什么"美的空调遥控器红外编码规则"就顺理成章了。

NEC协议一帧数据的标准结构是:

  • 引导码:9ms高电平 + 4.5ms低电平,接收端靠这一段判断"一帧开始了"。
  • 地址码8位 + 地址反码8位:用来区分设备,反码用于校验。同一个遥控器对不同设备发不同地址。
  • 命令码8位 + 命令反码8位:命令本身加校验,防止误触发。
  • 最后的停止位是一个560μs的高电平。

两种数据位靠高低电平的持续时间区分:"0"是560μs高 + 560μs低;"1"是560μs高 + 1690μs低。注意关键点:不管0还是1,前面的高电平都是560μs,区别在后面的低电平长度。很多初学者扫描波形时只盯着高电平看,发现两种bit长得一样就懵了,其实是没看全整个周期。

解码的思路也就清晰了:用定时器捕获引脚电平变化,记录每个高低电平的持续时长。先识别出9ms+4.5ms的引导码,然后按"高脉冲后低电平长短"判断0或1。这里我踩过最大的坑是解调后的波形是"反向"的——接收头输出低电平表示收到载波,高电平表示空闲,和发射端波形正好反相,第一次写解码逻辑时没注意,折腾了两个晚上。

美的的遥控编码和标准NEC并不完全一样,常见的是连续发送多帧、数据位更多(有的机型是48位甚至更长),帧间隔也更短。网上一堆"美的空调红外编码规则"的帖子,抄的时候一定得先拿逻辑分析仪抓自己手头遥控器的真实波形对一遍,不同批次可能都有差异。我见过有人拿别人抓的码库刷进单片机,结果控制的不是温度而是风速,就是因为码位定义理解错了。

3.3 从遥控到循迹小车,再到红外光通信

理解了38kHz载波和NEC解码,再看STM32F103C8T6红外循迹,思路就完全通透了。循迹小车用的不是通信协议,而是反射式红外对管——发射管发出红外光,接收管检测物体反射回来的光强。黑线吸光、白线反光,接收管输出的电平就不一样,单片机读ADC或者GPIO就能判断小车是在线上还是偏了。它和信息线共用了一套"发光-收光"的物理基础,但没有协议层,属于简单的物理量探测。

再往高阶走就是红外光通信。遥控器本质就是最低速的红外光通信,每秒撑死几千比特。但红外光通信可以做得更快、更远、更复杂,比如用大功率红外LED阵列做可见光通信的替代方案,在电磁干扰强的医院、矿井里,红外光通信因为不产生射频干扰,反而比Wi-Fi更合适。我实际试过用红外LED做点对点音频传输,50cm距离内完全可行,原理就是一个模拟信号调制成红外光脉冲,接收端解调出来还原声音。这个项目让我对"光也是电磁波,也能当信道"有了特别直观的体会。

信息线这一段的共同点,是红外在这里只是媒介,真正有价值的是编码和解码那一层。不管做遥控、循迹还是光通信,你都得先想清楚:发端和收端用什么载波、什么编码、什么时序,以及怎么抗干扰。能把这串问题想明白,红外的"信息线"你就出师了。

4. 数据线:红外图像怎么变成算法能用的数据集

4.1 红外图像和可见光图像,差的不只是颜色

这几年红外在AI圈特别火,动不动就是"红外小目标检测""红外可见光融合""电力红外数据集",很多人第一次见到红外图像会想:这不就是一张灰度图吗?直接拿Visible预训练模型来跑不就行了?

这个想法坑过不少人。红外图像和可见光图像的区别远不止颜色通道。首先,可见光图像记录的是物体表面对太阳光的反射,纹理信息非常丰富,而红外图像记录的是物体自身的辐射,边缘细节、纹理对比天然就弱。其次,红外探测器分辨率普遍低于可见光相机,配上镜头视场角,同样一个目标在红外图上可能就几个像素。最后,红外图像的信噪比受环境温度影响很大,同一场景白天和晚上拍的图,统计分布完全不同。

我拿一个做红外小目标检测的朋友的图看过,万里无云天空背景下一个无人机目标,在640×512的热像图里就是2×2像素的一个亮点,周围全是噪声。这种目标用常规的检测框标注都费劲,因为"目标区域"太小,几乎没法提取形状特征。难怪现在红外小目标检测数据集需要在标注时额外给"目标中心点坐标"或者"像素级掩膜",就是为了照顾这种极端情况。

4.2 数据集到底长什么样:VOC/YOLO格式和firc-dataset

顺着热搜词里的"firc-dataset 电力红外数据集 voc yolo"往下说。所谓的"电力红外数据集",来源大多是电力巡检无人机或手持热像仪拍摄的变压器、绝缘子、线夹等设备的热像图,然后用LabelImg这类工具标注出故障部件或者过热区域,导出成VOC格式的XML或者YOLO格式的TXT。

为什么强调VOC和YOLO格式?因为主流检测网络(YOLO系列、SSD、Faster R-CNN)的训练脚本基本都是吃这两种标注格式的。VOC格式是每个图片对应一个XML文件,里面用<bndbox>记录目标的xmin、ymin、xmax、ymax,加上name类别;YOLO格式更粗暴,一个TXT文件一行一个目标,写类别id和归一化后的中心坐标、宽高。转换脚本网上一堆,但真正麻烦的是标注质量——红外图像对比度低,部件边界模糊,不同标注员画出来的框差距很大,这直接影响模型收敛。

还有一类更专业的红外数据集用于"红外可见光图像融合"或者"RGB-红外多模态检测"。融合任务需要同一场景的可见光图和红外图严格配准,也就是两幅图要拍到同一视角、同一时刻的画面。城市多模态目标检测数据集一般用双目套件或者同步采集装置,一辆车上装一个可见光相机加一个红外相机,做标定和同步后输出成对图片。训练时有的网络把两路直接concat成4通道输入,有的先做特征级融合,不同做法效果差别很大,但数据配准问题永远是绕不过的坎。

4.3 红外检测算法为什么比可见光难调

最后聊算法侧。红外小目标检测、红外手势识别、红外夜视鸟类检测,听起来场景完全不同,但算法层面的痛点高度一致:目标小、对比度低、背景复杂。

目标小的问题我前面说过,几个像素的目标在卷积神经网络里经过几次下采样可能就消失了。所以这类任务里"注意力机制"和"高分辨率特征图"特别重要,很多针对红外小目标的网络都会保留更大尺寸的特征图,或者用Transformer那种能捕捉全局信息的结构。

对比度低的问题影响的是特征提取。红外图上目标和背景的灰度差可能只有十几个灰度级,人眼都要仔细看才行,这就要求网络对灰度变化极其敏感。拿可见光预训练模型直接迁移的话,骨干网络的第一层卷积核可能已经对可见光纹理形成了强响应,对红外微弱的热特征反而响应不足。我见过一个项目,明明数据量不小,YOLO训练完mAP就是上不去,后来把骨干网络换成专门在红外图像上预训练的版本,或者对训练图做灰度拉伸预处理,指标才明显改善。

背景复杂的问题则体现在数据多样性上。电力红外巡检里,同一台变压器的热像图,晴天、阴天、夏天、冬天拍出来,背景温度层级完全不同,如果训练集全是夏天拍的,模型冬天一上线就泛化崩盘。所以做红外数据集的采集方案时,一定要覆盖不同时间、不同季节、不同天气,这和可见光任务只需要保证光照多样性的思路是不同的——可见光的"光照"对应红外的"热背景",必须单独设计采集矩阵。

数据线这部分的核心逻辑是:算法只是提取模式,数据决定了模式能不能被提取出来。红外图像的特殊分布决定了你不能照搬可见光那套数据和模型,必须先理解传感器的响应特性、目标的红外特征、背景的热分布规律,再去设计数据采集、标注方案和模型结构。这三个环节都打通了,红外检测项目才算是真正跑得起来。

5. 三条线之外:冷门的红外传感与应用,值得留意的方向

除了上面三条主线,红外还有一批热搜词游离在主线边缘,但工程价值一点都不低,我把它们集中提一下,免得你刷到的时候又觉得是另一个宇宙。

红外手势识别是很有意思的一个方向。市面上的方案通常是一组红外LED加光电二极管阵列,发射红外光后接收反射光,某些传感器(比如APDS-9960)可以同时输出接近、手势方向、RGB颜色等信息。手势识别的核心是把不同手势导致的反射光强变化时序译成方向意图——挥手时接近程度先增后减,滑动时不同方向的传感器接收强度有相位差。这种方案功耗低、体积小,常被用在智能音箱、汽车中控的隔空操作上。

红外脉搏测量器,本质上就是手环测心率的PPG技术。红外LED照射皮肤,光电二极管接收经过皮肤组织吸收、散射后返回的光,每一次心跳导致血管容积变化,反射光强就会产生周期性的微小波动。提取这个波动的频率就是心率。做这类项目时最大的坑是运动伪迹——手一晃动,反射光变化比心跳信号强好几倍,所以一定要加高通滤波和加速度计融合,纯靠红外信号解算出准确心率的算法,试过的人都知道有多难调。

红外传感器在工业上的另一个常见形态就是热释电红外传感器(PIR),用在天线人体感应灯里。它和热像仪不同,只能感知"有没有人动了",不能成像。做人体存在检测时一个常见误伤是:它探测的是红外辐射的变化而非静态存在,人坐着不动超过几十秒,传感器就认为"没人"了,灯就灭了。解决思路是配合微波雷达或者改用热成像阵列,但成本就上去了,需要你在成本和体验之间做取舍。

这些应用有一个共同特点:红外在这里既不是单纯的"热量计",也不是纯粹的"通信信道",而是同时利用红外光"被物体反射/吸收/透射"的复杂特性。真做项目的时候往往要同时懂光学、电子学、信号处理三样,但反过来也说明,红外这个方向真正吃透了,技术纵深是很值得投入的。

6. 给入坑者的学习路径建议

聊了这么多,最后给想系统学红外的新人一条我自己的路径参考。

先别急着置办设备,把电磁波谱那页翻熟。搞清楚近红外、中波红外、长波红外和太赫兹大概的分界,知道什么场景用哪个波段,这是后面所有判断的根。我的工具就三样:一个8~14μm的热成像模块(或者测温枪也行)、一对38kHz红外收发对管和逻辑分析仪、一台STM32F103C8T6最小系统板。这三样加起来不过两三百块钱,但覆盖了能量线、信息线、数据线最底层的实验场景。

第一周先把遥控器解码跑通:NEC波形抓出来,自己写解码程序,再用单片机发射回去控制一个旧空调或电视。这个过程会让你把载波、调制、时序、校验全过一遍,性价比无敌。

第二周切换到热学场景:用热成像模块测一盆热水、一台显示器、一面墙,记录发射率设定不同时读数的变化,理解发射率对测温的影响。有余力就把采集到的热像图存下来,用LabelImg标几类物体,跑一个YOLOv5或者YOLOv8的检测,体会红外图像和可见光图像在训练上的差异。

第三周去啃一个真实需求:机场驱鸟、电力巡检、体温筛查、手势交互,随便选一个,你会发现前两周学到的东西全是地基,真正的项目难点在于目标尺度、环境温度和系统集成。到这一步,你才算真正入了红外这扇门。

我自己的体会是,红外不是一门"看手册就会"的技术,它横跨物理、电子、算法三个领域,最忌讳的就是只盯着某一层死磕。能把能量、信息、数据三条线串起来用,才是这个波段真正有意思的地方。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询