【红外DDE算法】数字细节增强算法的缘由与效果(我对FLIR文档详解)

1. 为什么红外系统中图像大多是14bit(甚至更高)?
一个红外系统的性能经常以其探测的范围来区别,以及其对最小等效温差指标。首先是探测的范围,就是常说的动态范围,意思是探测器能够检测到温度红外信号的范围。然后是最小等效温差,意思是探测器能够检测到的最小温度差。
这就好比一把尺子,有两个重要指标。第一,就是尺子的量程,意思是它能丈量多少长度范围的物体;第二,就是尺子的最小刻度,就是它能够分辨多少精度的长度。
在自然界中,红外信号不同于可见光,动态范围比较宽,而且物体信号的差异比较小。所以我们需要高bit的ADC(模数转换器)去采集红外信号。常用的ADC位宽有:12bit 、14bit 、16bit。
2. 相机的14bit数据怎么显示?
许多模拟和数字视频接口都要求是8位,而且人类只能识别图像中约128级灰阶(7位)。要想将显示14位数据,就得将动态范围有效地限制到256级灰阶。因此,需要一种从14bit到8 bit的对应关系或者方法。一般常用的就是“滑位显示”,比如Camera link采集卡上显示采集到的超过8位 的灰度图像。
但是在红外图像中,不能采取该办法。“滑位显示”方法显示高8位的数据,那么低位的数据就被舍弃,这样的显示必然会丢失细节。
所以这种高动态范围的红外图像显示并不是那么简单,既然相机“看到”了,并不一定可准确不失真的显示,让人眼也“看见”。
3. DDE算法的提出
为了解决这14bit至8bit显示的问题,既要能够保障图像的整体信息,又能够保障图像的细节既可能被保留。FLIR 提出了一种算法,帮助用户解决在高动态范围场景中克服低对比度目标检测的难题。FLIR称之为 数字图像细节增强(DDE)。FLIR在《Technical Note --DDE 》对其描述如此:“DDE是一种改进的非线性图像处理算法,可以保留高动态范围图像中的细节。图像细节得到增强,从而与原始图像的总动态范围相匹配,这样即使在极端的温度动态范围的场景中,操作员也能够看清细节。”
4. FLIR的理论示例
使用一个理论上的五个温度目标(ΔT≈200mK)的图像,分别对比采用“线性映射”,“HE直方图均衡”,DDE算法进行处理。在这三张图,五组“栅状目标”隐藏其中,每一个目标较其所在的背景的温度高出大约200mK的温度值。

图1 采用AGC(线性映射)算法 (看不到目标)

图2 采用HE(直方图均衡)算法 (只能看到一个目标)

图3 采用DDE算法 (所有目标都能看到)
采用FLIR的DDE算法(如图3),5个目标都能被同时看到。而且呢,这五个目标的对比度相同,和特定动态范围中有多少像素无关。这就使得DDE在不管场景如何变化下,都是有效且可预测的。
传统的AGC算法消除了极端值,然后将动态范围线性映射到8bit域。然而,这对高动态范围视频几乎没有帮助。HE直方图均衡化,增加了主要灰度分布的温度/辐照度范围的对比度。如果目标不在那个主要灰度分布动态范围内吗? DDE为细节分配了可用对比度的预定义部分。低对比度物体的检测概率在图像上是恒定的。
5. 我的 DDE实例
图4-图8展示的一个相当高动态范围场景的图片序列。图4 是采用标准的AGC(线性映射)算法,该算法将截止(省略)一些极端像素,这样就使得位于直方图的绝大部分灰度形成更大对比度。

图4 采用标准的AGC(线性映射)算法
在图5-图7中,使用ImageJ软件是人为的调整以便拉伸部分灰度范围,以更好的显示目标。

图5 图像的低灰度信号范围
在图5中,使用ImageJ软件拉伸图像中灰度值较低的像素值,可以发现:经过拉伸,可以看到如箭头所示的指示牌信息以及树木草丛细节。这些潜在的信息在图4中观察不到。

图6 图像的中间灰度信号范围
在图6中,使用ImageJ软件拉伸图像中灰度值处于中间的像素值,可以发现:经过拉伸,可以看到楼宇清晰的边缘信息。楼宇突出的边缘部分和楼宇的其他外墙是有显著的温度差异得到了很好的表现。在图4中,这些差异的显示是微弱的,原始图像中的这些细节差异已然被损失。

图7 图像的高灰度信号范围
在图7中,使用ImageJ软件拉伸图像中灰度值较高的像素值,可以发现:经过拉伸,可以看到楼宇右侧外墙的边缘信息,以及广告牌上的文字信息。而在图4中,这些信号差异没有那么明显。

图8 采用DDE算法,可以同时观察到所有目标。
最后,图8显示了使用Luster的DDE算法。 可以同时观察到所有目标。 在图像中可以看到非常少的伪影(artifacts)。
6. 不同厂家的图像增强算法
针对高动态范围的红外图像的压缩显示,不同的厂家有自己的算法命名,比如:Leonardo称其算法为GLACE(local contrast enhancement ),局部对比度增强算法;Xenics称其算法XIE( Xenics image enhancement ),Xenics图像增强。究其本质都是为了将大动态范围红外图像中低对比度目标显示出来。

【红外DDE算法】数字细节增强算法的缘由与效果(我对FLIR文档详解)的更多相关文章

  1. 数字麦克风PDM转PCM与STM32 I2S接口应用----重要文档列表

    数字麦克风PDM脉冲到PCM信号需要一个二次采样,ST 提过了PDM2PCM的软件包,可以完成上面的工作.软件包源码没有开源,使用手册也简洁的让人抓狂,我觉得可能是因为ST更高级的MCU直接带了硬解码 ...

  2. Taurus.MVC 2.3 开源发布:增强属性Require验证功能,自带WebAPI文档生成功能

    背景: 上周,把 Taurus.MVC 在 Linux (CentOS7) 上部署任务完成后. 也不知怎么的,忽然就想给框架集成一下WebAPI文档功能,所以就动手了. 以为一天能搞完,结果,好几天过 ...

  3. 【红外DDE算法】聊聊红外图像增强算法的历史进程(第一回)

    宽动态红外图像增强算法综述回顾过去带你回顾宽动态红外图像增强算法的历史进程,历来学者的一步步革命(新的算法框架提出),一步步改革(改进优化),从简单粗暴到细致全面.正所谓是:改革没有完成时,只有进行时 ...

  4. 图像增强之DDE---基于红外图像的数字图像细节增强DDE

    (1)DDE应用背景 (2)DDE算法简介 (3)DDE 实现 (4)DDE 总结和不足 ----------author:pkf -----------------time:2-9 -------- ...

  5. 基于Matlab的MMSE的语音增强算法的研究

    本课题隶属于学校的创新性课题研究项目.2012年就已经做完了,今天一并拿来发表.   目录: --基于谱减法的语音信号增强算法..................................... ...

  6. ABBYY FineReader 15 中保存和导出PDF文档的小细节

    运用ABBYY FineReader OCR文字识别软件,用户能将各种格式的PDF文档保存为新的PDF文档.PDF/A格式文档,以及Microsoft Word.Excel.PPT等格式.在保存与导出 ...

  7. 深入探究JVM之垃圾回收算法实现细节

    @ 目录 前言 垃圾回收算法实现细节 根节点枚举 安全点 安全区域 记忆集和卡表 写屏障 并发的可达性分析 低延迟GC Shenandoah ZGC 总结 前言 本篇紧接上文,主要讲解垃圾回收算法的实 ...

  8. 夜晚场景图像ISP增强算法

    夜晚场景图像ISP增强算法 输入输出接口 Input: (1)图像视频分辨率(整型int) (2)图像视频格式(RGB,YUV,MP4等) (3)摄像头标定参数(中心位置(x,y)和5个畸变 系数(2 ...

  9. 机器学习之Adaboost (自适应增强)算法

    注:本篇博文是根据其他优秀博文编写的,我只是对其改变了知识的排序,另外代码是<机器学习实战>中的.转载请标明出处及参考资料. 1 Adaboost 算法实现过程 1.1 什么是 Adabo ...

随机推荐

  1. linux 安装一个中断处理

    如果你想实际地"看到"产生的中断, 向硬件设备写不足够; 一个软件处理必须在系统中配 置. 如果 Linux 内核还没有被告知来期待你的中断, 它简单地确认并忽略它. 中断线是一个 ...

  2. 应用九:Vue之国际化(vue-i18n)

    vue-i18n是一款针对Vue.js 的国际化插件,具体应用步骤如下: 一.安装插件 npm install vue-i18n --save 二.在main.js中引入插件 import VueI1 ...

  3. 【16.50%】【CF 44G】Shooting Gallery

    time limit per test 5 seconds memory limit per test 256 megabytes input standard input output standa ...

  4. Koa搭建简单服务器

    1. dependencies "co-mysql": "^1.0.0", "koa": "^2.7.0", " ...

  5. [转载]sublime用法精华

    Sublime Text 全程指南 九月 03.2015. 暂无评论 永远站 作者:Lucida 原文链接:http://lucida.me/blog/sublime-text-complete-gu ...

  6. 移动端开发touchstart,touchmove,touchend事件详解和项目

    移动端开发touchstart,touchmove,touchend事件详解和项目 最近在做移动端的开发,在一个“服务商管理”页面使用到了触摸事件"touchstart",&quo ...

  7. windows编译caffe2遇到的问题

    首先介绍下window编译caffe2整体流程: 说明:如果不需要python支持只需3.4即可,而且编译亦不会出现问题. 1. 安装python2.7,. 我使用的是anaconda python2 ...

  8. oracle中update语句修改多个字段

    如需要修改下列数据:表名为student 一般会这样写: update student set sname = '李四', sage = 20, sbirthday = to_date('2010-0 ...

  9. vagrant在windows下的安装和配置(一)

    记录一下安装和配置过程中的一些坑步骤一分别下载vagrant和VirtualBox,我这里下载的是vagrant_1.9.1.msi 和 VirtualBox-5.1.14-112924-Win.ex ...

  10. 18.函数复习,文件处理b模式(二进制处理),文件处理其他高级玩法

    1.函数复习 # map # l = [1,2,3,4,5] # print(list(map(str,l))) # reduce # l = [1,2,3,4,5] # from functools ...