热成像摄像头温度校准方法详解(学习心得)

热成像摄像头温度校准方法详解

一、校准核心原理与场景

1.1 校准必要性

热成像摄像头集成到整机后,因热分布变化(如散热结构)、光学结构变化(如加装窗口片),导致测温偏差。通过二次标定修正硬件偏差,结合环境变量修正补偿外部因素,确保测温精度。

1.2 核心方法对比

方法适用场景精度操作复杂度
单点标定仅热分布变化(如环境温度漂移)中等简单(1 台黑体)
两点标定光学与热分布均变化(如更换镜头)复杂(2 台黑体)

二、测温二次标定全流程

(一)两点标定法(高精度校准)

2.1.1 准备工作
  • 黑体配置
    增益模式低温黑体(TA)高温黑体(TB)距离均匀区域要求
    工业高增益-10℃(263K)120℃(393K)0.25m≥9×9 像素
    工业低增益100℃(373K)400℃(673K)0.25m≥9×9 像素
    人体测温30℃(303K)40℃(313K)0.25m≥9×9 像素
  • 设备要求:黑体发射率需修正(默认 0.95),温度稳定后使用(等待≥15 分钟)。
2.1.2 操作步骤
  1. 低温黑体采集

    c

    // 关闭自动快门
    vdcmd_set_prop_auto_shutter_params(SHUTTER_PROP_SWITCH, 0); 
    // 快门校正
    vcmd_fw_isp_ooc_b_update(B_UPDATE(0)); 
    // 发送低温点标定指令
    vcmd_isp_tpd_ktbt_recal_2_point(TPD_KTBT_RECAL_P1, TA); 
    
  2. 高温黑体采集

    c

    // 更换黑体后再次快门校正
    vcmd_fw_isp_ooc_b_update(B_UPDATE(0)); 
    // 发送高温点标定指令(等待15-20秒)
    vcmd_isp_tpd_ktbt_recal_2_point(TPD_KTBT_RECAL_P2, TB); 
    
  3. 恢复自动快门

    c

    vdcmd_set_prop_auto_shutter_params(SHUTTER_PROP_SWITCH, 1); 
    

(二)单点标定法(快速校准)

2.2.1 适用场景
  • 光学结构未变(如同一镜头),仅环境温度变化导致的偏差。
  • 人体测温(固定场景,如体温筛查)。
2.2.2 操作要点
  • 黑体设置:温度设为应用中值(如人体 34.85℃/308K,工业高增益 35℃/308K)。
  • 指令调用

    c

    // 关闭快门 → 校正 → 采集 → 发送单点指令(等待11秒)
    vdcmd_set_prop_auto_shutter_params(0); 
    vcmd_fw_isp_ooc_b_update(0); 
    vcmd_isp_tpd_ktbt_recal_1_point(T0); 
    

三、环境变量修正细节

3.1 影响测温的关键变量

变量单位影响机制修正方式
环境反射温度(Tu)K目标反射周围辐射通过 LUT 表输入
大气温度(Ta)K大气自身辐射与吸收LUT 表 + 传感器补偿
目标发射率(ε)-实际物体辐射能力用户设定(金属 ε=0.2,人体 ε=0.95)
大气透过率(τ)-大气对红外的衰减根据距离、湿度查询 LUT

3.2 等效大气透过率 LUT 使用

3.2.1 LUT 结构
  • 三维数组Tau[湿度等级][温度点][距离点]
  • 温度点:-5℃~55℃(共 14 点,含用户预留点)
  • 距离点:0.25m~50m(共 64 点,间隔 0.05m~1m)
3.2.2 查询与量化
  1. 插值计算:若当前温度在Ta[i]Ta[i+1]之间,距离在D[j]D[j+1]之间,通过双线性插值获取 τ:

    math

    τ = τ[i][j] + (Ta - Ta[i]) * (τ[i+1][j] - τ[i][j]) / (Ta[i+1] - Ta[i])  
    
  2. 量化转换:将 τ 转换为 7 位整数(0-128,对应 0~100% 透过率)。

3.3 SDK 实现步骤

c

// 1. 读取模组基础参数(高低增益分别处理)
read_nuc_parameter(high_gain_mode); 
// 2. 获取内置环境系数
calculate_org_env_cali_parameter(); 
// 3. 输入自定义参数(如Ta=300K,Tu=305K,ε=0.95,D=2m)
calculate_new_env_cali_parameter(Ta, Tu, ε, get_tau_from_lut(D, Ta, humidity)); 
// 4. 温度校正
float corrected_temp = temp_calc_with_new_env_calibration(raw_temp); 

四、校准失败原因与对策

4.1 常见失败现象

  • 标定后测温偏差大:黑体温度不稳定、均匀区域不足(<9×9 像素)。
  • 指令无响应:USB 通信超时、权限不足(Linux 需 root)。

4.2 解决方案

问题对策
黑体温度波动使用高精度黑体(精度 ±0.1℃),等待≥30 分钟稳定
均匀区域不足调整黑体位置,确保中心区域占比≥50%
USB 超时增加vdcmd_set_polling_wait_time(20000)(20 秒超时)
增益模式错误高低增益需分别标定,检查gain_switch状态

五、特殊场景校准建议

5.1 人体测温优化

  • 标定参数:单点法,T0=308K(34.85℃),关闭自动快门后采集 5 帧平均。
  • 环境修正:设ε=0.98(人体皮肤发射率),距离≤1.5m(LUT 查表)。

5.2 工业高温场景

  • 两点法参数:高增益 TA=263K(-10℃)、TB=393K(120℃),低增益 TA=373K(100℃)、TB=673K(400℃)。
  • 防灼伤保护:设置阈值(高增益 2% 像素 > 150℃时闭合快门)。

六、关键指令速查表

功能指令名称参数说明等待时间
关闭自动快门VDCMD_PROP_SET_AUTO_SHUTTER_PARAMSHUTTER_PROP_SWITCH=0立即
快门校正VCMD_FW_ISP_OOC_B_UPDATEB_UPDATE=01 秒
两点标定(低温)VCMD_ISP_TPD_KTBT_RECAL_2_POINTpoint=0, temp=TA11 秒(USB)/20 秒(I2C)
单点标定VCMD_ISP_TPD_KTBT_RECAL_1_POINTtemp=T011 秒(USB)/20 秒(I2C)
环境参数设置set_prop_tpd_paramsTPD_PROP_TA=Ta, TPD_PROP_TU=Tu立即

七、总结

温度校准是热成像开发的核心环节,需结合硬件标定软件修正

  1. 两点标定作为高精度校准首选,适用于光学结构变化场景;
  2. 单点标定用于快速维护,适合已知稳定环境;
  3. 环境变量修正通过 LUT 表和传感器模型,补偿距离、湿度等外部因素。

建议定期校准(普通场景 1 年一次,高精度场景 3-5 年一次),并在模组集成后优先执行锅盖标定,确保后续测温数据可靠。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值