`

图像检索:CEDD(Color and Edge Directivity Descriptor)算法

 
阅读更多

颜色和边缘的方向性描述符(Color and Edge Directivity Descriptor,CEDD)

 

 

本文节选自论文《Android手机上图像分类技术的研究》。

 

CEDD具有抽取特征速度较快,特征描述符占用空间较小的优势。下面就对CEDD原理进行详细的阐述和分析。

1.颜色信息

CEDD特征结合了颜色和纹理两方面信息,本小结将给出颜色信息提取的过程,重点分析RGB-HSV模型转换、10-bins模糊过滤器和24-bins模糊过滤器的原理。

1.1.RGB模型转换为HSV模型

RGB模型可以说是我们最熟悉、使用也最多的颜色模型,它们分别代表组成一个颜色的三个分量,(0,0,0)代表黑色,(255,255,255)代表白色,(255,0,0)代表红色,(0,255,0)代表绿色,(0,0,255)代表蓝色,其它颜色也可通过调整这三个分量表示出来。RGB颜色模型的设计是根据色彩发光原理而来的,且与硬件相关,一般情况下,计算机都会釆用这种空间模型在屏幕上显示某种颜色的定义,即人们所熟悉的三色组合。所以,当从一幅图像中提取像素点时首先提取的一般也是像素点的RGB信息。

HSV模型中,H (Hue)代表色调,指通过物体传播或从物体射出的颜色,一般在使用中是由颜色名称来标识的。S (Saturation)代表饱和度,表示色调中灰色成分的比例,指颜色的纯度或强度。V (Value)代表亮度,指颜色相对的明暗程度。HSV模型能够较好地反应人对颜色的感知和鉴别能力,所以非常适合于比较基于颜色的图像相似性,在图像分类中也得到了广泛应用。

综合上述两点,在提取颜色信息前就需要对图像像素进行RGB-HSV的模型转换。在此特征提取算法中RGB-HSV转换的方式稍有不同,且最后得出的S、V取值范围也有差别,都是(0,255),但基本原理不变,这是为了方便于后面在模糊过滤器中的运算,转换公式如下:

 

这里所有的HSV值最后都取整数。

通过上面的计算,便可以得出像素点的HSV值,下面将用HSV值进行模糊过滤,得出颜色信息的直方图。

 

1.2. 10-bins模糊过滤器

10-bins模糊过滤器的工作过程是通过三个通道输入HSV信息,然后输出10个模糊的直方图信息值。10个直方图信息值的含义如下:(0)黒色(Black),(1)灰色(Gray),(2)白色(White),(3)红色(Red), (4)橙色(Orange),(5)黄色(Yellow),(6)绿色(Green),(7)青色(Cyan),(8)蓝色(Blue),(9)品红色(Magenta)。其原理如图所示。

10-bins模糊过滤器是基于模糊理论的,我们先来分析一下模糊理论中颜色径向边缘的生成。由于H代表的是色调,从它的计算方法可以看出H的取值范围为0-360,则当一张图片上出现由一种颜色向另一种颜色过渡时,H值的变化就会较快,这时就会出现所谓的颜色径向边缘。根据模糊理论可以找出这些径向边缘的位置。如图所示,图(a)为提取出的H通道值的图像,图(b)是将图(a)通过CLF过滤器模糊处理后得出的。CLF的英文全称为Coordinatelogic filters,它的方法就是将图像上每个3*3方块的九个像素点的二进制值进行逻辑“与”运算,这样,在H通道的颜色边缘处就会出现较小的H值,也就是我们看到的图 (b)的效果。再将原H值图像与过滤后的H图像进行差运算即可得如图(c)所示的较明显的颜色径向边缘。图 (d)为H通道理论上的径向边缘位置。

通过上述原理反复实验可以得到H径向边缘的范围,如图所示,将H通道的值分为八个模糊区域,每一区域依次命名为:(0)红色-橙色(Redto Orange),(1)橙色(Orange),(2)黄色(Yellow),(3)绿色(Green),(4)青色(Cyan),(5)蓝色(Blue),(6)品红色(Magenta),(7)蓝色-红色(Blueto Red)。每两个相邻区域都有交叉的部分。

 

3.1.3.24-bins模糊过滤器

24-bins模糊过滤器就是将10-bins模糊过滤器输出的每种色区再分为3个H值区域,输入一个10维向量和S、V通道值,输出的是一个24维向量,其系统模型如图3-7所示。它输出的每一维所代表的信息分别是:(0)黑色(Black),(1)灰色(Grey),(2)白色(White),(3)暗红色(Dark Red),(4)红色(Red),(5)浅红(Light Red),(6)暗橙色(DarkOrange),(7)橙色(Orange),(8)浅橙色(Light Orange),(9)暗黄色(Dark Yellow),(10)黄色(Yellow), (11)浅黄色(LightYellow),(12)深绿色(Dark Green),(13)绿色(Green),(14)浅绿色(Light Green),(15)暗青色(Dark Cyan),(16)青色(Cyan),(17)浅青色(Light Cyan),(18)深蓝色(Dark Blue),(19)蓝色(Blue),(20)淡蓝色(LightBlue),(21)暗品红色(DarkMagenta),(22)品红色(Magenta),(23)浅品红色(Light Magenta)。

 

3.2.纹理信息

本小结将介绍CEDD特征中纹理信息的提取过程,通过YIQ模型计算出像素灰度值,再提取图像的边缘方向直方图纹理信息。

3.2.1.YIQ彩色空间

YIQ色彩空间属于NTSC (国际电视标准委员会)系统。Y(Luminace)代表了颜色的明视度,直观点说就是图像的灰度值。I和Q (Chrominace)代表了色调信息,它们分别描述图像色彩以及饱和度的属性。在YIQ色彩空间模型中,Y分量表示图像的亮度信息,I和Q分量表示颜色信息,I分量是指从橙色到青色,Q分量则是指从紫色到黄绿色[24]。

通过对彩色图像从RGB到YIQ空间的转换,可以分开彩色图像中的亮度信息与色度信息,并对其各自进行独立处理。RGB转换到YIQ空间模型的对应关系如下面方程所示:

提取纹理特征时,最常用的就是图像的灰度值,这里引出YIQ空间也只为求出Y值,以便后面进行纹理信息的提取。

3.2.2.边缘方向直方图

在这里将提出一种计算速度较快捷的纹理信息提取方法,EHD( Edge Histogram Descriptor),即边缘直方图描述符,将会用到5个数字滤波器,如图3-9所示。

 

这五个数字滤波器是用来提取纹理边缘信息的,它们能够将其所作用的区域分为垂直方向、水平方向、45度方向、135度方向和无方向五个类别。在对图像进行纹理信息提取时会将图像分为若干小区。然后每个小区再分为如图3-9的四个大小相等的子小区。然后每个小区再分为如图3-9的四个大小相等的子小区。用g0 (i,j),g1(i,j),g2(i,j),g3(i,j)分别表示在第(i,j)个小区内四个子小区的平均灰度值。av (k),ah (k),ad-45 (k),ad-135 (k)和and (k)分别代表四个子小区平均灰度值经过过滤器时的参数,图中每个子小区中的数值便是滤波器的参数,其中k的取值范围是0到3整数,表示小区内的四个子小区。nv (i, j),nh (i,j),nd-45(i,j),nd-135(i,j)和nnd(i,j)为第(i,j)个小区内所判定各方向的取值。计算方法如下:

找出最大值,

再对所有n值规范化,

通过上面的计算公式,可以得出每个小区内图像边缘的信息。CEDD中纹理信息提取的是一个6维直方图,直方图中各维信息的含义分别是:(0)无边缘信息,(1)无方向的边缘信息,(2)水平方向的边缘信息,(3)垂直方向的边缘信息,(4) 45度方向的边缘信息,(5) 135度方向的边缘信息。判断每个小区纹理信息所属的直方图区域的方法如图3-10所示:

首先设定4个阈值:T0=14,检验该小区是否含有边缘信息;T1=0.68,判断该小区是否含有无方向信息;T2=T3=0.98,用来判断该小区是否含有其它四个方向的信息。如果mmax大于T0,则该小区含有纹理信息,如果不大于则是非含有纹理信息的小区,那么6维直方图第一维的值会加1。如果该区域是有边缘信息的,即mmax大于等于T0,便可以计算其它各方向信息的值,如图3-10所示。此原理图是一个发散的五边形,每个顶点代表一个边缘方向类别,每个小区内计算出的nnd、nh、nv、nd-45、nd-135值便分别落在五个点与中心原点的连线上。中心点的值为1,五边形边界线上的值为0。如果n值大于它相应边缘方向类别上的阈值,则可判定该小区属于这个边缘方向类别,可想而知,一个小区可以同时属于几个类别。由此,便有如下划分方法:若nnd大于T1,则直方图中含有无方向信息的区域值加1;若nh大于T2,则直方图中含有水平方向边缘信息的区域值加1;若nv大于T2,则直方图中含有垂直方向边缘信息的区域值加1;若nd-45大于T3,则直方图中含有45度方向边缘信息的区域值加1;若nd-135大于T3,则直方图中含有135度方向边缘信息的区域值加1。

 

3.3. CEDD 特征

CEDD的英文全称是Color and Edge Directivity Descriptor,即颜色和边缘方向特征描述符。它结合了图像的颜色和纹理信息,生成一个144位的直方图。这个特征提取方法可以分为两个子模块系统,提取颜色信息的是颜色模块,提取纹理信息的是纹理模块,这两个单元的具体算法已经在3.1小节和3.2小节进行了详细讲述。CEDD直方图信息由六个区域组成,也就是3.2中讲到的纹理模块,六个区域就是提取出的6维向量直方图,然后在这些纹理信息的每一维中再加入颜色模块提取出的24维颜色信息,这样就可以将颜色和纹理有效结合起来,最终得出6*24=144维的直方图信息。其原理如图3-11所示。

在实现过程中先将图片分成若干小区,小区的数量是根据图像具体情况和计算机能力综合决定的,每一个图像小区都会经过纹理模块和颜色模块的处理。

小区在纹理模块特征提取过程中会先分为4个子小区。根据YIQ计算公式得出每个像素的灰度值,求出每个子小区的平均灰度值。再经过5个数字滤波器过滤后,根据图3-10的原理判断该子小区属于哪些纹理信息类别。

在颜色模块中,每个图像小区都会转换为HSV色彩空间,系统会将小区内HSV各通道的平均值通过10-bins模糊过滤器输出的10维向量再通过24-bins模糊过滤器中。通过10-bins模糊过滤器后根据H值得出了 10个色彩类别,当通过24-bins模糊过滤器时会根据S和V的区域判定对H进行再分类输出24维的直方图。

图像的每一个小区都会经过颜色模块的处理,处理后将24个数据分别加入到该小区所属的各纹理类别中,最后对直方图进行归一化处理。

如果只进行到归一化这一步并不能体现出CEDD的优越性,因为这里面的值含有小数部分,要占用大量的存储空间。如果对其进行量化,则量化后的整数值既方便存储,又可以让人们直观的读取特征值。表3-1是CEDD特征提取后的量化表,量化范围是0-7的整数。可以看出它并不是一个均匀量化,向量中每一纹理区域的量化范围都是不同的,而且区域内的量化级也不是等比递增,有关它的原理可以参考文献。

 

 

原文地址:

http://www.cnki.net/KCMS/detail/detail.aspx?QueryID=0&CurRec=1&recid=&filename=1013244249.nh&dbname=CMFDTEMP&dbcode=CMFD&pr=&urlid=&yx=&uid=WEEvREcwSlJHSldSdnQ1ZStuZ0NTSk9iRWltY2FjWXRhVnU3aTllaWxjQnBWWk4yRkIrTDdmd1Bka1BrY3pZPQ==&v=MjQzNTVuVzcvQVZGMjZIYkc4R3RQSXBwRWJQSVI4ZVgxTHV4WVM3RGgxVDNxVHJXTTFGckNVUkxtZVp1UnVGeXI=

 

分享到:
评论

相关推荐

    CEDD: Color and Edge Directivity Descriptor.

    CEDD(Color and Edge Directivity Descriptor)是一种用于图像索引与检索的紧凑型描述符。它将颜色与纹理信息整合进一个直方图中,该描述符的大小限制在每张图像54字节以内,这使得CEDD非常适合在大型图像数据库中...

    一个面向大数据的智能图像搜索系统.pdf

    这个系统采用了CEDD(Color and Edge Directivity Descriptor)算法来提取图片的颜色和边缘特征,并以此为基础构建了智能图像搜索系统。系统的主要优点在于其高效性和易用性,非计算机专业的用户也能轻松上手。本文将...

    Qt 采用http通信json解析读取天气

    Qt 采用http通信json解析读取天气

    岗位晋升360度调查表.doc

    岗位晋升360度调查表.doc

    合法辞退员工的N种方式.pptx

    合法辞退员工的N种方式.pptx

    大模型、Agent、具身智能及人形机器人学习全路径规划.pdf

    大模型、Agent、具身智能及人形机器人学习全路径规划.pdf

    华润万家员工手册.doc

    华润万家员工手册.doc

    招聘需求分析.xls

    招聘需求分析.xls

    光伏+蓄电池系统中双有源桥DC-DC变换器的Matlab仿真与MPPT及闭环控制实现

    内容概要:本文详细介绍了基于‘光伏(PV)+蓄电池+负载’架构的双有源桥DC-DC变换器仿真方法及其在Matlab 2021b中的具体实现。首先解析了光伏系统的MPPT控制,通过扰动观察法使光伏板始终处于最大功率点。接着讨论了蓄电池的恒流充放电控制,利用PI控制器确保电池的安全和高效运作。然后阐述了双有源桥DC-DC变换器的闭环控制机制,借助PID控制器维持系统输出电压的稳定性。最后,文章展示了如何在Matlab Simulink环境下构建完整的仿真模型,涵盖各模块间的电气连接与信号交互,为新能源系统的优化提供了理论和技术支持。 适合人群:从事电力电子、新能源系统设计的研究人员和工程师,尤其是那些需要深入了解光伏储能系统工作原理的人群。 使用场景及目标:适用于希望掌握光伏储能系统中关键组件如MPPT、恒流充放电控制及双有源桥DC-DC变换器的设计与仿真的技术人员。目标是在实际工程项目中提高系统的效率和可靠性。 其他说明:文中提供的代码片段和建模思路有助于读者更好地理解和实践相关技术,同时也强调了一些常见的陷阱和调试技巧,帮助避免潜在的问题。

    数学建模_Matlab_SPSS_教程分享_学习用途_1742838826.zip

    线性代数

    电机调速技术解析:直流电机双闭环与多种电机滞环调速方法对比

    内容概要:本文详细介绍了不同类型电机的调速方法,重点探讨了直流电机双闭环调速、永磁同步电机电流滞环闭环调速以及异步电机滞环电流调速。文中不仅提供了每种调速方法的基本原理和技术特点,还附带了相应的代码示例进行辅助解释。此外,文章对永磁同步电机的电流滞环调速与SVPWM调速进行了对比,指出了各自的优劣之处。最后,强调了在实际应用中选择合适调速方案的重要性。 适合人群:从事电机控制系统设计与开发的技术人员,尤其是有一定电机控制基础的研发人员。 使用场景及目标:适用于需要深入了解电机调速机制及其应用场景的专业人士。目标是帮助读者掌握不同电机调速方法的特点,以便在实际工程中做出最优选择。 其他说明:文章通过具体的代码实例展示了调速方法的实际应用,使读者能够更好地理解和实践相关技术。同时提醒读者在实际调试过程中要注意参数设置和硬件条件的影响。

    人员晋升推荐表.xls

    人员晋升推荐表.xls

    员工生日关怀方案.doc

    员工生日关怀方案

    模拟IC设计:解析国际知名大厂的SAR、Sigma-Delta和Pipeline ADC逆向工程

    内容概要:本文详细介绍了对国际知名大厂的三个逆向ADC电路(SAR ADC、Sigma-Delta ADC和Pipeline ADC)进行深入剖析。作者通过Cadence Virtuoso平台研究了这些电路的标准单元库设计,探讨了各个电路的关键技术和实现细节。对于24bit Sigma-Delta ADC,重点讨论了其调制器部分的时钟相位分配和噪声整形技术;对于16bit SAR ADC,则关注其比较器阵列的独特设计以及动态锁存比较器的应用;而对于14bit Pipeline ADC,着重分析了其级间放大器设计和电荷共享技术。此外,文中还提到了在将这些设计适配到自家工艺过程中遇到的问题及其解决方案,如电容寄生效应、时序约束调整、运放结构优化等。 适合人群:从事模拟集成电路设计的专业人士,尤其是对ADC设计感兴趣的工程师和技术研究人员。 使用场景及目标:帮助读者深入了解高精度ADC的工作原理和设计技巧,掌握逆向工程技术在实际项目中的应用,提高对不同工艺节点下ADC设计的理解和适应能力。 其他说明:文中提供了大量具体的代码片段和仿真命令,便于读者理解和实践。同时,作者分享了许多宝贵的经验教训,强调了在逆向工程中需要注意的技术细节和潜在风险。

    大型立体仓库智能物流系统的PLC控制与优化设计

    内容概要:本文详细介绍了大型立体仓库智能物流系统的构建与优化。该项目涉及一万多个库位、一百多台输送机和八台堆垛机,采用了西门子PLC作为控制核心,通过无线网桥与WCS和WMS系统对接。文章重点讲解了梯形图编程和功能块的应用,如输送机启停控制、堆垛机移动控制、路径规划、无线通讯处理以及异常处理机制。此外,还探讨了设备协同、逻辑优化、任务分配算法和速度曲线规划等方面的技术细节。 适合人群:从事工业自动化、智能仓储系统设计与开发的工程师和技术爱好者。 使用场景及目标:适用于智能仓储系统的设计、实施和维护,旨在提高系统的稳定性、效率和可维护性。 其他说明:文中提供了大量实际项目中的代码示例和调试经验,有助于读者理解和应用相关技术。

    新员工月工作总结表.xlsx

    新员工月工作总结表.xlsx

    西门子PLC汽车电子零件装配线SCL语言模块化编程与集成解决方案

    内容概要:本文详细介绍了基于西门子S7-1500 PLC的汽车电子零件装配线集成解决方案。主要内容涵盖伺服轴控制、阿特拉斯拧紧枪控制、康耐视视觉检测系统以及HMI界面的设计与实现。文中展示了如何利用SCL语言将多种工业设备(如HMI、伺服电机、六轴机器人等)的功能封装为标准化功能块,从而提高系统的模块化程度和可复用性。同时,还分享了一些实际项目中的调试经验和优化技巧,如通过调整加减速曲线避免机械振动、设置扭矩保持时间和视觉检测的防抖定时器等。 适合人群:从事自动化控制领域的工程师和技术人员,尤其是熟悉PLC编程和工业自动化设备集成的专业人士。 使用场景及目标:适用于汽车制造行业的生产线控制系统设计与实施。主要目标是帮助工程师快速掌握如何使用SCL语言构建高效稳定的PLC控制系统,提升生产效率和产品质量。 其他说明:文中不仅提供了详细的代码示例,还结合具体的应用场景进行了深入剖析,有助于读者更好地理解和应用相关技术。此外,强调了模块化编程的优势,如减少重复劳动、便于维护升级等。

    嵌入式系统中基于STM32/AT32/GD32的串口IAP Bootloader实现与远程升级方案

    内容概要:本文详细介绍了如何在STM32、AT32和GD32等Cortex-M系列MCU上实现串口IAP(In Application Programming)Bootloader,支持远程升级及RS485升级。主要内容涵盖Bootloader的工作原理、内存分配、通信协议设计、Flash写入操作以及跳转应用程序的关键步骤。文中提供了具体的代码示例,如Bootloader主循环、RS485收发控制、Flash写入、CRC校验等,并分享了多个实战经验和注意事项,确保数据传输的可靠性。 适合人群:从事嵌入式系统开发的技术人员,尤其是对STM32、AT32、GD32等国产MCU有一定了解并希望掌握串口IAP技术的研发人员。 使用场景及目标:适用于需要远程升级固件的嵌入式项目,帮助开发者避免现场升级带来的不便,提高设备维护效率。目标是让读者能够独立实现一个可靠的串口IAP Bootloader,掌握RS485通信和Flash编程的关键技术。 其他说明:文中提到的代码和配置已在GitHub上提供,方便读者下载和实践。同时,作者分享了许多实战经验和常见问题解决方案,有助于减少开发过程中可能出现的问题。

    线性代数_矩阵运算_方程组解释_MIT公开课笔记用途_1742822302.zip

    线性代数

    学生会干部竞选清心简约.pptx

    学生会干部竞选清心简约.pptx

Global site tag (gtag.js) - Google Analytics