2016-09-08 13:29:08 Real_Myth 阅读数 14831

图像检测技术的研究现状

技术检测

图像处理知识库 · 2016-01-08 19:59

图像检测技术的研究现状

图像检测技术的研究现状

所谓图像检测,就是通过图像对感兴趣的特征区域(检测目标)进行提取的过程,其中图像是承载检测目标的载体,检测目标需要事先进行特征提取、归纳,最终通过相应算法分离出来。

图像检测方法可分为单帧图像检测和多帧图像检测。单帧图像检测主要是利用图像的灰度信息对目标进行分割,主要包括基于灰度阈值的目标检测方法和基于边缘信息的目标检测方法。

多帧图像检测通过序列图像的变化特征实现对目标的提取,主要用于运动目标的检测,大体包括:基于像素分析的方法、特征检测的方法和基于变换的方法。本文主要对单帧图像的检测方法进行详述。

1、基于灰度阈值的目标检测

基于灰度阈值的目标检测是根据目标灰度与背景灰度的不同,通过选取合适的阈值将图像二值化,使得目标从背景中分离出来的过程。显然,阈值的选取是目标检测的关键,同样也是目标检测的难点,如何能得到合适的灰度阈值,最大程度的将目标提取出来,并消除背景的干扰,这一直是研究的热点。根据阈值选取数量的不同,基于灰度阈值的目标检测方法又可分为单阈值目标检测和多阈值目标检测。

单阈值目标检测适合于噪声少、照度均匀、目标和背景灰度值相差较明显的情况。最常用的方法有直方图分析法、迭代分割法。直方图分析法是多种空间域处理技术的基础,在目标相比背景比较突出的情况下,直方图会有明显的双峰现象,两峰之间的谷点即为最佳阈值,这种阈值选取方法又称为峰谷法。峰谷法主要在理想情况下对阈值进行选取,现实中采集图像的直方图经常会有峰值悬殊极大或宽平谷底的情况,一般需要通过分析直方图的凹形来确定一个较理想的全局阈值迭代分割法的实现过程是:首先对初始图像的最大灰度值和最小灰度值取平均,得到初始阈值T0;其次根据阈值T0将图像分为前景与背景,分别求得前景灰度平均值Vq和背景灰度平均值Vb,并对两者取平均得到T1;通过T1再次将图像分为前景与背景,通过对前景灰度平均值和背景灰度平均值取平均得到T2;如此往复,当|Tk+1-Tk|<ε时(ε为一无穷小常数),我们认为Tk为最终阈值。迭代分割方法得到的阈值处在与前景和背景区域的重心成反比的位置,因此从路径规划的角度可看做一种最优阈值。此外,单阈值分割方法中还有最大类间方差法,最大熵分割法,贝叶斯分割法。其中,最大类间方差法通过寻找一个阈值,使分割后目标和背景之间的方差最大,仅适用于目标和背景所占比例相差不大的情况。最大熵分割法通过在规定的分布集合中寻找熵值最大者作为真实分布的一种判断,一般情况下由于推测分布与实际分布差距较大,错分率较大。贝叶斯分割法要求精确估算目标和背景先验概率,由于实际中采集图像存在大量噪声,处理效果会与预想差距较大。

多阈值分割方法是将图像分为多个具有不同区域特征的分块,在这些分块中分别采用不同的阈值对图像进行分割的方法。相比单阈值分割,它能够兼顾图像各处的情况,在有突发噪声、照度不均、各处对比度不同时对图像进行有效分割,特别是在目标和背景的灰度有梯度变化时效果最为明显。

2、基于边缘信息的目标检测

图像的边缘包含了用于识别的有用信息,是图像分割所依赖的重要特征。边缘信息包含的往往是图像中最重要的信息,通常情况下边缘附近灰度值会发生剧烈变化,基于边缘信息的目标检测就是根据这一特征对目标的边缘进行检测,进而实现目标的定位。边缘检测最为通用的方法是检测亮度的不连续性,这样的不连续主要通过求一阶导数和二阶导数得到检测,若找到亮度的一阶导数在幅值上比指定的阈值大或二阶导数有零交叉的位置,可将其识别为边缘。基于边缘信息的目标检测方法大体包括:梯度算子检测、最优算子检测、多尺度信号处理方法、自适应平滑滤波法以及利用其它数学工具的边缘检测方法。

梯度算子检测是最基本的边缘检测方法,主要通过计算模板系数与所包围区域内灰度级的乘积之和,并与设定阈值T比较实现。一般情况下,设定的模板系数总和为零,在灰度不变的区域,模板响应也为零,而在灰度变化的区域,模板响应不为零,梯度算子就是依据这一特点对图像进行检测的。梯度算子主要包括Roberts算子、Sobel算子、Prewitt算子、Laplacian算子等。Roberts算子是数字图像中最简单的算子,经常用于图像检测的硬件实现中,不足之处是功能有限(如不能检测45倍数的边缘)。Sobel算子和Prewitt算子是在实践中计算数字梯度时最常用的,基于Prewitt算子的图像检测相比Sobel算子在计算上要简单一些,但基于Sobel算子的图像检测在噪声抑制特性方面略胜一筹。Laplacian算子一般不以其原始形式用于边缘检测,主要原因是:作为一个二阶导数,它对噪声具有无法接受的敏感性,幅值产生双边缘且不能检测边缘方向,这些均是图像检测过程中不希望有的结果。

最优算子检测是在传统算子的基础上发展起来的边缘检测方法,主要有LOG(Laplacian of a Gaussian)算子、Canny算子以及基于曲面拟合的边缘检测算法。

LOG算子为高斯型的Laplacian算子,它将高斯型平滑函数与Laplacian算子相结合, 首先对图像进行平滑处理,然后使用Laplacian算子产生双边缘图像,最后通过找到两个边缘之间的零交叉定位边缘。其中,图像的平滑处理不仅减小了噪声的影响,还抵消了由Laplacian算子的二阶导数引起的逐渐增加的噪声影响,为Laplacian算子在边缘检测中发挥作用提供了有力的条件支持。采用LOG算子进行图像检测的优点是抗干扰能力强,边界定位精度高,连续性好,且能提取出对比度弱的边界;不足之处是当边界宽度小于算子宽度时,零交叉处的斜坡发生融合,小于2✔2σ(σ为标准差)的区域边界细节会丢失。

Canny算子的基本思想是把边缘检测问题转换为检测单位函数的极大值问题,它根据边缘检测对好的信噪比与定位性能、边缘响应唯一性的要求,采用最优化数值方法,得到了对应给定边缘类型的最佳边缘检测模板。基于曲面拟合的边缘检测算法的基本思想是用一个平滑曲面与待测点周围某邻域内像素的灰度值进行拟合,在此基础上计算曲面的一阶或二阶导数。最早采用曲面拟合对图像进行边缘检测的是Prewitt,他首先采用最小二乘法用n阶多项式对原始图像拟合,然后用梯度算子在拟合曲面上进行边缘检测,取得了较理想的效果。Haralick在一个规则对称领域构造了正交多项式,对图像每一像素邻域灰度变化作曲面拟合,再用二阶方向导数的零交叉检测阶跃边缘,算法精度有较大提高,但由于正交多项式基构造过程复杂,灵活性差,不易表达复杂边界形状,应用受到了限制。

多尺度图像检测方法是在尺度空间滤波理论的基础上发展起来的,它不仅可以辨识出信号中的重要特征,而且能以不同细节程度对信号进行重构,在高级视觉处理中有广泛的应用。多尺度图像检测方法主要包括边缘聚焦和小波变换。边缘聚焦的基本思想是用一个很强的平滑在低分辨率下检测出重要边缘,再减弱平滑强度进行跟踪聚焦以确定其准确位置。它的特点是:可不使用阈值,所需计算量与最粗分辨率尺度上的计算量相同,很好的将定位的高精度与良好的噪声抑制结合起来。小波变换具有本质的多尺度特性,它能把图像信号分解成不同尺度上的多个分量,对图像进行多分辨率分析;利用小波变换进行多尺度边缘检测,能提高定位目标的准确度,取得良好的检测效果。20世纪80年代,在多分辨率理论中,小波首次作为分析基础出现。接着Mallat首次将小波变换用于信号奇异点的检测,奠定了小波在信号检测方面应用的基础[18]。在小波变换基础上发展起来的最新理论有1999年Donoho等人提出的curvelet变换,相比以往的小波变换在图像增强与去噪方面有了很大的提高。至今小波变换仍是学术界讨论的热点,在图像处理中也发挥着越来越重要的作用。

自适应平滑滤波是一种变尺度边缘检测方法,它的基本思想是用一个随像素点的梯度变化的平均模板与待平滑的信号进行迭代卷积。其中,模板函数以k为尺度变化参数,该参数控制了迭代过程中所要保留的突变点幅度,保证了在不同尺度下边缘检测的正确性。自适应平滑滤波方法通过自适应迭代平滑提高了图像的信噪比;在边缘检测之前对图像进行平滑滤波迭代运算,提高了边缘定位精度;相比其它边缘检测方法,在图像检测过程中具有很强的自适应能力。

除上述方法之外,许多学者一直致力于将各种数学思想引入图像的边缘检测中。20世纪80年代,Pal和King将模糊集理论与边缘检测相结合,提出了图像边缘检测模糊算法,该算法可对图像中的背景和目标进行有效的分离,成功应用在了模式识别与医疗图像处理领域。近年来,基于神经网络的边缘提取方法已成为一个重要的研究热点,其中基于BP网络的边缘检测方法已在许多领域得到应用。数学形态学引入图像处理,解决了噪声抑制、特征提取等问题。遗传算法作为一种优化算法也成功运用在边缘检测中。

2018-04-18 20:02:11 Gentleman_Qin 阅读数 7588

高光谱图像处理之目标检测技术

一、高光谱图像处理之目标检测


1、高光谱图像目标检测的发展趋势和研究现状:

   20世纪80年代末,美国的一些研究机构开始利用高光谱图像数据进行目标检测方面的研究。自上世纪九十年代,国外出现了进行高光谱图像目标检测算法理论研究的研究组。由Reed和Yu提出了基于广义似然比检验的恒虚警RX 检测器(RXD)。Chang课题组提出了基于正交子空间投影的OSP检测方法, Harsanyi提出了基于约束能量最小化的CEM算法。未来高光谱目标检测的发展将会越来越重视实用性,算法的性能将会进一步提高,同时更也加适合使用FPGA硬件对其进行加速从而具有更高的实际应用价值。

2、高光谱目标检测技术的应用范围:

   高光谱目标检测具有较强的实用性,可应用于公共安全、环境检测、城市规划、食品卫生、地质岩矿的识别等众多方面。


                         图1.1 高光谱图像数据结构

3、高光谱图像数据的特点:

   高光谱图像数据“图谱合一”,具有丰富的光谱维信息。高光谱图像数据共有三个维度,如图2.1所示,其中,图像空间维信息x、y用于表示物体的实际空间分布,而光谱波段L用于表示每个像素的光谱属性。

4、高光谱图像目标检测原理:

   高光谱图像的各波段在成像范围内都是连续成像,因此高光谱的光谱曲线一般是平滑的、连续的曲线。高光谱图像的波段L中涵盖了物质的光谱信息,而每种物质的光谱信息都不一样,我们可以利用图像像素的光谱波段L所包含的特定的光谱信息来判断该像素所代表的特定的物质种类。

5、高光谱图像目标检测流程:


                    图1.2 高光谱图像目标检测流程图

   如图所示,对于拍摄得到的原始高光谱图像数据,需要先对数据进行预处理,包括数据格式化、无用数据剔除以及亮度到反射率的转化等。同时,对于遥感仪拍摄的高光谱图像还需要进行辐射校正,在目标检测前,应对数据进行调整,包括数据归一化等。最后根据已知的先验信息选择相应的目标检测算法进行检测。

6、现场可编程门阵列(FPGA)在高光谱图像处理中的应用:

   一个FPGA可以大致定义为一系列互连的逻辑块。这些器件的主要优点之一是,为了实现不同的组合或时序逻辑功能,可以根据需要多次重新配置逻辑块及其互连。这一特性为FPGA提供了软件和硬件系统的优势。因为FPGA具有比专用集成电路(ASIC)更多的灵活性和更短的开发时间,更接近GPU提供的性能,但同时功耗要比GPU低得多。FPGA供应商通过改进FPGA体系结构(包括优化的硬件模块)并利用最新的硅技术不断提升FPGA的功耗和能效。可重构性、低功耗的特点以及FPGA对空间电离辐射耐受性的提高,这些因素已经使得FPGA成为目前板载高光谱遥感的最佳选择之一。


二、算法分类、比较和选择:


1、方法分类:

   高光谱目标检测方法按照先验信息是否已知分为监督方法和非监督方法。前者用于目标光谱已知的情况下,利用目标光谱与图像像元光谱进行匹配,从而完成目标检测,比如CEM算法、OSP算法;后者多用于异常目标检测,一般不需要目标和背景的先验信息,根据高光谱图像数据获取目标检测所需要的数据,然后根据数据的大小来判断是否为异常目标,比如RXD算法。

2、CEM、OSP、RXD算法的区别:

(1)CEM(Constrained Energy Minimization)算法:

   CEM算法主要思想是设计一个FIR线性滤波器,使得在满足约束条件式的情况下滤波器的输出能量最小。该算法不需要图像的背景信息,只需要知道要检测的先验光谱信息(目标向量)即可,具体方法是通过高光谱图像数据和先验已知的待检测目标确定一个滤波向量,让图像经过该滤波向量即可得到检测结果,其中滤波向量的作用是滤除图像中的非目标像素,让感兴趣的目标能够通过,同时抑制由其他信号带来的滤波器输出能量。

(2)OSP(Orthogonal Subspace Projection)算法:

   OSP算法与CEM算法相比,最大区别在于不仅需要目标的先验知识,还需要图像中背景的先验知识,但在实际中中这些先验信息很难全部得到。在高光谱检测中我们一般用其来检测异常。该算法需要前提条件:图像信息、目标像元、非目标像元(异常目标)信息。

(3)RXD(Reed-XiaoliDetector)算法:

   RXD算法是异常目标检测领域中最基础的算法,不需要目标光谱的先验知识,而是基于背景服从多元正态分布的假设,通过检测与背景分布中心相比属于异常像元,并在这些感兴趣区域进一步查找可能存在的目标。该算法主要针对的是小目标检测问题。

(4)确定所采用的目标检测算法:

   由于我们的应用场景多为有特定目标的目标检测,CEM正是针对未知场景中可能存在的特定目标的检测,只需要知道目标的光谱信息即可,而RXD算法适应于对特定场景的异常(未知目标)检测,而OSP算法除了需要已知目标光谱还需要背景信息。综上,我决定采用CEM算法进行高光谱目标检测的实现。


三、CEM算法分析:


1、算法步骤

(1)对高光谱图像进行预处理,得到二维化和归一化后的数据r(L*N);

(2)根据图像数据r,求得图像的自相关矩阵:

               

(3)确定目标光谱向量dd大小为L*1);

(4)根据公式:


                                   

   设计FIR线性滤波器:


(5)将归一化后的数据经过FIR滤波器,得到输出信号y

           

2、问题分解:

   CEM算法的实现可分为三部分:自相关矩阵、矩阵求逆、线性FIR滤波器。


图 1.3 CEM算法分解流程图

   如图所示,首先根据高光谱图像r求得自相关矩阵,再利用矩阵求逆模块求得自相关矩阵的逆矩阵,结合从光谱库获取到的目标向量的先验信息求得FIR滤波器的滤波向量,最后将高光谱图像r通过FIR滤波器即可得到最终的检测结果。


四、CEM算法实现:


1、算法流程:

   在MATLAB和C语言中实现CEM算法的具体流程如图所示,因为语言特性是串行执行命令,所以在编写程序时与硬件设计比较更加直接明了。

图1.4 CEM算法流程图

2、数据预处理:

   对前期得到的高光谱图像在MATLAB平台上进行预处理。这一过程主要对原始的200*200*189大小的高光谱图像进行操作:

(1)二维化:通过调用MATLAB里面的reshape()函数实现。

(2)归一化:采用“min-max”方法。 具体步骤是先找到数据的最大值
(maxA)和最小值(minA), 通过 y = (x-minA) /(maxA-minA) 计算的 y 即为归一化后的数据。高光谱数据量大,也造成了数据的存储比较困难,数据在程序中的存储等处理

3、CEM算法的MATLAB实现:

   首先,根据 2 对高光谱图像数据进行预处理,而后求其自相关矩阵。高光谱图像数据的大小为200*200*189,其中200*200为像素数,189为波段数。

              

   首先用reshape()函数和transpose()函数将200*200*189的三维高光谱图像数据转为189*40000的二维矩阵,再用自己写的Normalize()函数对矩阵数据用“min-max”方法进行归一化,然后根据公式式利用MATLAB中的矩阵求转置函数transpose()和矩阵相乘操作得到一个189*189的矩阵,最后对189*189的矩阵除以像素数N即可得到自相关矩阵。

最后,根据先验已知的目标向量和自相关矩阵R的逆矩阵(在MATLAB中矩阵R求逆即为(1/R))求得FIR滤波器,将高光谱图像模拟数据通过FIR滤波器,即可得到最终的检测结果。(本次测试中选取的目标向量 d 是模拟图像中的 C 物质)

4、CEM算法的C语言实现:

   在Visual Studio平台上完成CEM算法C程序的编写。相比于MATLAB实现,CEM算法的C语言实现主要难点在于矩阵运算。因为在C语言中,矩阵的转置、相乘、求逆等操作均没有现有的函数,需要编写相应的函数。在实现矩阵基本运算过程中,通过动态分配内存运用二维指针传递参数,完成矩阵加减法运算、矩阵转置运算、矩阵相乘运算以及矩阵求逆运算,这样可以节省存储空间,使用完后释放空间即可。

CEM算法的C语言实现主要包括如下步骤:

(1)在MATLAB中,将归一化后的高光谱图像数据转为189*40000的二维形式,保存为CEM.mat;

(2)编写矩阵初始化、矩阵转置、矩阵相乘、矩阵求逆、内存释放函数;

(3)编写main函数,读CEM.mat,调用上述函数,求得FIR滤波器,进而获得输出信号y,将其写入CEM.txt;

(4)在MATLAB中显示CEM.txt中数据所代表的图像。

5、难点解决:

(1)矩阵转置

   矩阵转置函数的输入是大小为m*n的矩阵A,输出是大小n*m为的矩阵B。采用嵌套的for循环分别遍历矩阵的行和列,将输入的二维矩阵A按列读出,重新按行写入新矩阵B中,即可实现矩阵的转置。

(2)矩阵相乘

   矩阵相乘函数的输入是大小m*n为的矩阵A和n*k的矩阵B,输出是大小为m*k的矩阵C。采用嵌套的for循环分别遍历矩阵的行和列,首先将矩阵A按行读出,矩阵B按列读出,然后将读出的矩阵A的第i行和矩阵B的第j列对应位相乘求和,将计算的结果写入矩阵C第i行第j列元素中。

(3)矩阵求逆——QR分解求逆

   QR分解求逆的原理是:对于可逆矩阵A,首先利用QR分解将A矩阵分解为Q矩阵和R矩阵。即A=QR,其中Q是正交矩阵,R是上三角矩阵。然后将公式左右同时求逆,可以求得A的逆矩阵,其中Q矩阵的逆矩阵和转置矩阵相同,R求逆有特定的公式。QR分解求逆的运算较为简单,且数据稳定度较高,可以得到误差较小的求逆结果。

6、算法实现结果和对比分析:

1)MATLAB和C语言实现CEM算法的检测结果如图所示:

       

      (a)               (b)            (c)

图1.6 原图CEM算法检测结果:(a)原图(每一行是一种物质)(b)MATLAB检测C物质(c)C语言检测C物质

 

通过对MATLAB和C语言实现结果进行对比,发现二者均成功实现了CEM算法并完成了对目标的检测,观察检测结果基本无差异。

######### 转载请注明出处:https://blog.csdn.net/Gentleman_Qin/article/details/79992314 #########


2019-05-10 13:14:44 DL_wly 阅读数 238

将调研到的图像与视频编解码处理的发展历程与国际研究现状整理如下

        作为通信、介质存贮、数据发行、多媒体计算机等技术的关键环节,图像压缩编码算法的研究是信息技术中最活跃的研究领域之一。尤其是进入21世纪以后,电子技术和通信技术的发展使可视电话、会议电视、数字电视、高清晰度电视、多媒体计算机、信息高速公路等的生产和建立成为可能。在这一背景下,探索高效图像压缩编码算法无疑将成为主要任务之一,对其研究也将成为国际公认的热点之一。

        图像压缩一般分为静态压缩和动态压缩。根据其不同的用途,又可以细分为三类。第一类为无失真无误差压缩, 或叫做信息保持型图像压缩, 它要求在图像压缩的过程中不丢失任何信息, 在需要时可以精确地重建原始图像,代表性的算法有Lempd Zew、Huffman编码、行程编码和算数编码。第二类为有失真压缩, 它只要求重建图像达到一定的保真度,代表性的算法有JPEG、MPEG、P*64。第三类为特征抽提, 多用于计算机模式识别, 这种特征抽提一般是不可逆的, 即无法由它重建原始图像。

        JPEG 是第一个静态图像压缩的国际标准, JPEG(Joint Photographic Experts Group, 联合图像专家小组)包含两种基本压缩方法:有损压缩和无损压缩。有损压缩是以自适应离散余弦变换DCT 为基础的压缩方法,压缩后图像的某些信息会丢失。无损压缩的压缩比有一定的极限,是一种以差分脉冲编码调制DPCM 为基础的压缩方法。此外,基于分形的方法是近几年来引起关注和争议的一种图像压缩方法。对图像压缩而言, 分形主要是利用自相似的特点, 通过迭代函数系统ZFS来实现压缩。Barnsle和Sloan共同提出了分形图像编码压缩方案,利用图像中固有的自相似性来构造一个紧缩变换,具有思路新颖、压缩潜力大、解码分辨率无关性等特点。A.Jaequin随后发表分块迭代函数系统(PZFS)方法, 使得分形压缩成为可行的方法,与JPEG方法相比压缩比在40:1 以上。然而分形压缩方法计算量比较大, 时间开销长, 因此加快分形压缩方法的速度是当前研究的热点之一。Mallat首次巧妙地将计算机视觉领域内的多尺度分析思想引入到小波变换 (Wavelet Transform ,WT), 该算法在频率精度方面稍差一些, 但在时间的分析能力上更好一些, 而且可以对时间和频率同时进行分解, 这是傅立叶变换所做不到的。小波变换已经开始应用到图像数据压缩等领域, 主要是采用离散小波变换。在某些情况下, 小波变换更优于DCT 等其他正交变换。近些年来,新提出的EZW编码算法、SPIHT编码算法被认为是目前世界上比较先进的图像压缩编码算法,这两种算法均具有结构简单、无需任何训练、支持多码率、图像复原质量较理想等优点。随着人工智能领域的兴起,利用人工神经网络(Artificial Neural Network, ANN)进行图像压缩是这个领域近几年的又一研究热点, 并且取得了积极的进展。这是一种与视觉系统知识紧密相关的压缩方法。ANN 并行分布的联结机制与人的视觉系统有某些相似之处, 利用此原理及其改进的方法进行图像压缩可获得较好的效果。

        MPEG( Moving Pictures Expert Group,运动图像专家小组)是ISO和IEC两个国际组织的联合技术委员会领导下的运动图像专家组的英文缩写。MPEG标准是动态图像压缩算法的里程碑,它主要包括MPEG系统(System)、MPEG视频(Video)和MPEG音频(Audio)三个部分。由于运动图像可以看作是静止图像的一个序列, 但运动图像按静止图像序列处理有其不利之处, 就是没有考虑到帧与帧之间的冗余性。因此也可以认为MPEG是JPEG工作的进一步延续。MPEG的优点在于它具有很好的兼容性和压缩比, 压缩比最高可达200 :1 ,数据损失较少。针对不同的应用目的MPEG专家组制定了MPEG系列标准。主要包括MPEG-1,MPEG-2,MPEG-3,MPEG-4。MPEG-1采用了帧间压缩技术, 通过采用丢失方法和仅对连续图像帧间变化部分的数据进行存储的方法, 可使压缩率达到50:1。VCD 作为MPEG-1算法的典型应用,得到了广泛的应用和普及。MPEG -2制定通用的活动图像及其伴音的编码标准, 以适应各种应用如存储载体、分配传输和通信等。它的目的在于保持现有MPEG 标准的前提下提高数据流量, 从而达到娱乐界可以接受的要求, 即利用网络所能提供的更高的带宽来支持具有更高分辨率图像的压缩和更高的图像质量, 由此而发展了MPEG-2 Video 国际标准。MPEG -2 Video 是活动图像压缩技术的一个里程碑。MPEG-4 支持数字音频 视频数据的通信、存取和管理的新途径, 提供了一个灵活的框架和一个开放的工具集, 以支持各种各样新颖的和成功的功能,广泛应用于不同领域。

 

2012-11-26 15:37:11 kraussyin 阅读数 1257

DICOM图像处理技术研究

 

作者:寇海洲    作者单位:淮阴工学院计算机工程系,江苏淮安223001

 

【摘要】  针对DICOM3.0标准,详细分析了文件结构及数据集,给出了其中一些关键技术问题及相应的解决措施。最后基于VC开发出一种医学图像处理软件,该软件能实现医学图像的显示、通用图像格式转换等功能,该方法克服了传统DICOM图象显示软件的局限性。

【关键词】  DICOM标准 DICOM数据集 显示与处理 医学图像解码

    A research on the DICOM image processing technology

    KOU Haizhou*1, CHEN Hongming1, ZHANG Hui1, CHEN Wenbin2, ZHAO Lijuan1

    (1. Department of Computer Engineering, Huai′an Institute of Technology, Huaian, Jiangsu 223001, China;

    2. Department of Reshaping Cosmetology, Huian Second Pople′s Hosipital, Huaian)

    Abstract:According to the information contents and data format defined by DICOM standard, some classes corresponding to the types of medical image are defined for image information recording. A DICOM image viewer based on VC is designed,  which is able to display and process various types of medical image. A method is thus provided, by which the problem of limitation of traditional DICOM image viewers can be solved.

    Key words: DICOM; DICOM DataSet; display and process; medical image decoding

    DICOM(Digital Imaging Communications in Medicine)标准是医学数字成像和通信的国际标准。DICOM虽然是在美国产生、发展的,但已被欧洲各国、日本等发达国家和地区接受,并被列入国家标准。在我国,DICOM是唯一被接受的医疗影像国际规范。DICOM已经成为国际医疗影像设备的图像通信/交流的唯一规范。DICOM标准逐渐得到国内外的高度重视,一些科研机构和高等院校纷纷展开了对标准的研究和基于标准的开发。因此对DICOM标准文件的正确解读是医学数字图像处理和建设的关键技术之一。

    1  DICOM文件的数据结构和编码规定

    DICOM格式文件包括了数字成像和通信两个方面内容。该文件格式基于面向对象的思想,制定了一系列信息对象定义和服务对象定义,文件的数据结构和编码规则包含了数字成像和通信的真实信息[1]。

    1.1  DCM文件的结构  DCM是比较常用的DICOM文件名后缀,其他PACS软件也使用到了IMG,或是完全不使用后缀,直接就是一连串的数字或字符串命名的。DCM文件从本质上说是一个关于信息体实例的数据集,主要包括患者、检查、序列和图像等信息。文件的结构主要由文件头和文件结构像素数据两大部分组成,文件头又分为文件引言和数据集两部分,其中文件引言是由128个全部置为00的字节序列和一个长度为4个字节的字符串组成[2]。数据集是整个文件中信息量最大的部分,囊括了所有信息实体(患者、图像、检查等)的信息,结构也最为复杂,文件最后的图像数据表示像素,数据结构单一,因此解读文件实际上就是解读数据集。

    1.2  DICOM数据集结构  数据集由多个数据元素串连组成,每个数据元素具有类似的结构,都是由标签、值描述、值长度和值域组成。标签表示该数据元素的特定含义。每个标签在整个数据集中只能出现1次(嵌套除外),共4个字节,分为组号(高位两字节)和元素号(低位两字节)。如00100010表示该数据元素里的信息为患者姓名。标签含义的详细规定在标准的3.62004(数据字典)中。描述了该数据元素中值域的数据种类,大多数情况下是一个长度为2字节的字符串。值得注意的是标签是可选的,取决于商定的传输语法。值域表示该数据元素所保存的实际信息,必须为偶数个字节,不足补0或空格。

    2  DCM文件的读取

    理解了文件的结构和数据集的结构,解读文件就不是一件很难的事情,但有些关键性的问题如数据嵌套、高位截取等在读取时需要注意。

    2.1  数据嵌套  当数据元素的值为0时,则该数据元素的值域又是由1个或多个数据元素组成的,即数据元素中包含了子数据集。如果子数据集中又有值为0的数据元素时,就构成了递归嵌套。嵌套的存在要求解读算法能遍历树型数据结构的所有元素。

    2.2  图像数据的高位截取  通常文件采取2个字节表示1个像素,但是一般情况下,真实像素值的动态范围不足以完全填满这2个字节。因此,高字节的高位可能因为被用于存储其他信息。解读图像数据时应该截取高位,把低位的信息读取出来。标准规定标签为00280101的数据元素储存像素数据的最高位数,标签为00280102的数据元素储存实际存储像素数据的位数。对于某些图像,图像数据中储存的像素值没有实际意义,需要采用斜率和截距来修正,而斜率和截距则储存在标签为00281053和00281052的数据元素中。因为一般情况下这两个值为1或0,图像数据中储存的像素值和实际值相等,所以这一点常常为人们所忽略。

    3  DICOM图像处理

    3.1  DCM图像处理的原理  文件描述的是医学图像,反映人体器官及组织对X线的吸收程度,用色值作为人体器官图像信息。目前计算机常用的位图文件是由红、绿、蓝三基色组成,作为灰度图像所能显示的等级数在0~255之间;在操作平台上处理图像,即需要对值进行处理。处理的方法是在描述显示数据的范围时,用窗宽表示;确定数据的中心值,用窗位表示。对于人体器官获得的某个值,如果小于某个值,可转换成位图图像的黑色,即0值;如果大于某个值,可转换成位图图像的白色,即255值;如果在某个值的范围之内,可转换成对应位图图像的某个值,在1~254之间[3],其转换公式:

    G(v)=    0        v<c-w2

    gmw(v+w2-c)    c-w2≤v≤c+w2(*)

    gm        v>c+w2

    v:为图像数据;G:计算机操作平台上显示值;gm:为显示器的最大值,位图文件为255;w:为窗宽;c:为窗位。

    在该转换关系中,窗宽和窗位的选择决定了图像所需显示的部分,对每一个文件,可以从该文件头获取,并且在图像处理中,也可以进行人为地改变窗宽、窗位,来获取不同的显示效果及选择人体器官某部分内容。

    3.2  DICOM类定义  在正确理解文件结构和数据集结构之后,就不难正确解读文件。首先读取文件引言,检查文件格式;然后提取传输语法,根据传输语法,采取相对应的解码方式,如果是显式就采取显式的读取方式,如果有嵌套存在就调用嵌套处理模块;如果图像数据经过压缩就调用解压模块[4]。最后得到图像数据,并利用设备无关位图(device-independent bitmap, DIB,设备无关位图可以在不同的机器或系统中显示位图)显示出来。这里需要注意的是在数据集中存在上百个数据元素,我们只要读取其中相对重要的元素即可,表1中列出了这些数据元素的标签[4]。表1  重要的数据元素标签

    由于图像数据的动态范围较大(一般大于4096,这个数值取决于采用的图像处理算法和计算机的虚拟内存),而普通显示器只能显示256级灰度,因此读取到图像数据后,要经过窗宽窗位调节才能显示。DICOM数据集包含的信息很多,其中有些信息很少用到或者与具体的医疗情况不符,因此去除冗余信息、保留主要信息是很有必要的。采用面向对象的思想,笔者设计了简化的DICOM图像类结构。其中患者信息主要获取患者的姓名、性别等信息;检查信息主要获取检查的标识、序列号等信息;图像信息参数主要获取图像的长、宽以及存储每个像素所用的比特数等信息;图像像素信息获取图像数据信息。DICOM图像的数据结构C语言描述如下:

    struct PatientInfo{∥患者信息结构

    String PatientName;

    Int age;

    Bool sex;

    …}

    struct StudyInfo{∥检查信息结构

    Int StudyID;

    Int SeriesNumber;

    …

    }

    struct ImageInfo{∥图像信息结构

    Float height, width;

    Int pixel;

    …}

    struct Pixel{

    Int pointx, pointy, pixelvalue; ∥像素信息结构

    …}

    DICOM类定义如下:

    Class DICOM; ∥DICOM 图像类

    {

    int level;

    struct PatientInfo;∥患者信息

    struct StudyInfo;∥检查信息

    struct ImageInfo;∥图像信息参数

    struct Pixel; ∥图像像素信息

    Public;

    ∥Dicom文件读写、处理方法的定义略

    };

    3.3  DICOM图像处理算法设计  在定义好DCM文件类之后,可以通过DCM文件类还能实现一些实用的功能,如把文件转换为位图、JPG等格式文件[5]。简单读取DCM文件的软件流程如图1所示。图1  读取DCM文件的流程图

    在VC6.0环境下,首先设置图像像素缓冲所需要容量的内存,分行读入图像数据;然后按公式(*)进行处理,设置图像点数据,进行移位处理[6]。设窗宽为H,窗位为W,其算法描述为;

    for(i=0;i

    for (j=0;j

    {    t1=*(Data[i]+j*2); t4=t1&16; t3=t1/16; t2=*(Data[i]+j*2+1); t2=t2%16

    Pixel_value=t2*256+t3*16+t4/1024;

    pDibInit>image_Dicom[j][i]=pixel_value;

    if(pixel_value<=win_center-win_width/2)

    pixel_value=0;

    else if(pixel_value>=win_center+win_width/2)

    pixel_value=255;

    else

    {

    pixel_value temp=(pixel_valueW+H/2)/Hf*255;

    pixel_value=int(pixel_value temp+0.5f);

    }

    image[i][j]=byte(pixel_value);

    }

【参考文献】
  [1] 谢长生,熊华明,陈 颉. DICOM图像显示的研究与实现[J].计算机工程与科学,2002,24(6):38-.

[2] 朱剑锋,温 浩,周 昀,等. DCM文件的构成分析和编解码实现[J].中国医疗器械杂志,2003,27(4):247.

[3] 王光飞,刘 杰,刘 文.DICOM医学图像的调窗技术及DIB显示[J].医疗装备,2005,18(8):1-4.

[4] 林春漪,尹俊勋,马丽红,等.论解读DICOM医学图像文件及其显示的VC++实施办法[J].现代医学仪器与应用,2005,17(1): 1-4.

[5] 胡阳秋,高小榕,高上凯.医学图像DICOM格式转换软件的设计与实现[J].北京生物医学工程,2000,19(4):193-197.

[6] 张尤赛,陈福民. DICOM医学图像窗宽变换的加速算法[J].计算机工程与应用,2003,(13):218-220.

2018-10-11 08:38:50 ktigerhero3 阅读数 3766

机器人避障研究现状

1.无人机避障

目前主流的无人机避障导航有三种实现方式:使用超声波的方法、使用 TOF 的方法,以及使用视觉图像处理的避障导航方法。前两种为非视觉传感器避障,后一种为新兴的视觉传感器避障方法。
(1)超声波避障
超声波能够很简单的测出物体距离信息,一般的测距系统大都是采用这种方法。在无人机上接入超声波模块,定向发射和接收超声波,根据检测到的情况实现避障功能。超声波技术成熟,成本低,但是作用距离近,大概为五米左右,并且对反射面的光整程度要求较高,在面对没有反射能力或弱反射能力的障碍物时,安全问题不能得
到保障。
(2)TOF 避障
TOF 与超声波类似,不过发射的不是超声波,而是特定的波长光束,例如红外线或者激光。通过记录反射时间差,计算出附近障碍物的距离分布等情况。TOF 作用距离相对超声波更远,最好情况下可以达到 10 米,但是成本高,抗干扰能力差,只有少数无人机使用此项技术。
(3)基于视觉图像避障
通过搭载摄像头的方法感知环境图像,使用图像处理技术对其进行分析处理,以此提供环境信息,完成障碍物检测。在以前视觉避障有两个难点,一是在于技术难度高,二是距离误差随距离变大而指数增长。不过随着计算机技术的发展,编程的复杂度降低,而且由于避障一般只用于近距离,尚不需要远距离避障,故而如今视觉避障
应用最广,是研究的重点。

障碍物视觉检测研究现状
(1)基于目标特征的方法
(2)基于光流法障碍物检测
(3)基于立体视觉障碍检测
大疆 双目视觉搭配超声波

2.无人车避障

无人车避障检测传感器有超声波传感器、红外测距仪、微波雷达测距系统、激光传感器和计算机双目立体视觉传感器,3D激光雷达。

单目视觉则只能获取环境的二维图像信息,无法获取环境障碍物的深度信息,双目视觉,则存在实时性差、
计算复杂等缺点。
依靠超声波或红外测距传感器的移动机器人避障方法,则存在探测范围有限,探测点数据量不够多,影响无人车避障控制的精确度等缺陷。
而单线激光雷达扫描周期短,探测范围广,能提供大量环境扫描点距离信息,为控制决策提供方便

参考文献
低空环境下视觉辅助无人机避障系统的设计与实现

没有更多推荐了,返回首页