利用SVM和Matlab开发图像内容检索系统的方法

时间:2022-06-16 09:46:58

利用SVM和Matlab开发图像内容检索系统的方法

摘要: 为了验证图像内容检索新技术的有效性和实用性,设计了一种图像内容检索原型系统的快速开发方法,利用Matlab的图形化用户界面开发工具和适合小样本学习的支持向量机机器学习方法提出了系统开发思路和方法,在提高系统开发效率的同时降低了开发难度,对以研究为目的的科技工作者有重要的借鉴和应用意义.

关键词: 基于图像内容的检索;支持向量机;图形化用户界面;特征提取

中图分类号:TP391.41

文献标识码:A文章编号:1672-8513(2010)03-0207-04

Method for Developing Content-Based Image Retrieval

Systems Based on SVM and Matlab

XIE Hongsheng1, SUN Longmei1, WANG Lianguo2

(1. School of Information Technology, Women’s Academy at Shandong, Jinan 250300, China; 2. College of Sciences, China University of Mining Technology, Xuzhou 221008, China)

Abstract:

In order to verify the effectiveness and practicality of the new technology for content-based image retrieval, a method for the rapid development of content-based image retrieval systems is proposed, which combines the systems development ideas with the relevant methods through using graphical user interface development tools of Matlab and support vector machine methods suitable for small sample study; it improves efficiency in system development while reducing development difficulty, and has much practical significance to the scientists concerned.

Key words: content-based image retrieval(CBIR); support vector machine(SVM); graphical user interface(GUI); feature extraction

随着互联网和多媒体技术的快速发展,人类可获取和应用的图像数据类别及数量正以惊人的速度增长,用户迫切希望快速、准确地找到需要的图像,早期的基于文本标注的查询方式显然已不能满足今天的发展和需求,基于图像内容的检索(CBIR)成为近年来较为活跃的研究领域之一,其融合了图像理解、人工智能、模式识别和机器学习等多项技术[1].

基于内容的图像检索在图像搜索引擎、商标注册[2]、遥感影像查询[3]等领域得到广泛应用,已成为管理海量图像数据资源的有效技术手段,检索新技术的研究和发展离不开合适的测试环境或模拟工具,但目前市场上没有合适的商业工具所用,如果开发一个图像内容检索原型系统要学习和掌握多方面的技术,需要投入大量的时间、精力和物力,对以研究和验证新技术有效性为目的的广大科技工作者来说是难以承受的,这严重制约了图像内容检索新技术的深入研究和进一步发展.为进一步提高图像内容检索技术的实用性,机器学习方法应用于图像内容检索成为信息检索领域近年来的研究热点之一,如何应用新的机器学习方法来提高图像内容检索的性能具有十分重要的理论研究和实用意义,同时,机器学习方法和图像内容检索技术的有效融合和相互渗透也是非常具有挑战性的研究课题.

根据上述的分析和探讨,本文提出一种开发图像内容检索原型系统的简单可行的实用方法,利用具有功能强大、简单易学和编程效率高等特点的Matlab语言开发了图像内容特征的提取、存储及索引等算法;利用Matlab开发环境提供的图形化用户界面(GUI)技术有效地降低了相似图像浏览、相关图像标注和检索结果显示等界面设计工作的复杂度和难度,并将一种新的机器学习方法-支持向量机(SVM)和Matlab进行了集成应用.

1 支持向量机基本原理

支持向量机是Vapnik等人根据统计学习理论的VC维理论和结构风险最小化原理提出的一种机器学习方法[4],在解决小样本、非线性及高维模式识别问题中得到了广泛应用并表现出许多特有的优势.

1.1 线性SVM

SVM 是从线性可分情况下发展而来的,以图1(A)所示的二维线性可分情况为例说明.图1(a)中用实心点和空心点各代表一类样本,H为其分类线(或面),H1、H2分别为过各类中离分类线H最近的且平行于H的直线(或面),它们之间的距离叫做分类间隔.最优分类线(或面)就是要求该分类线(或面)不但能够将2类样本正确分开(训练错误率为0),而且使的分类间隔达到最大.

第3期解洪胜,孙龙梅,王连国:利用SVM和Matlab开发图像内容检索系统的方法

1.2 非线性SVM

如图1(b)所示,当学习样本是线性不可分的情况时,根据Mercer定理,可利用核函数K(x,y)通过与其相联系的非线性变换隐含地把学习样本映射到高维空间,使其在该空间中变为线性可分,从而求出最优分类面,而不必知道非线性映射的具体变换形式.这样,大量工作将在输入空间而不是在高维空间中完成,所以空间特征维度虽有所增加,但计算复杂度并没有增加多少[5].

总之,SVM是利用非线性映射将输入向量映射到一个高维的特征空间,然后在该空间中构造一个最优分类超平面来逼近目标函数;通过采用核函数方法避免了显示的非线性变换,从而有效克服了高维特征空间带来的维数灾难问题;最优分类超平面方法能够有效控制学习机函数集的容量,从而使得SVM具有更好的推广和泛化能力[6].

2 系统设计

图像内容检索原型系统的体系结构如图2所示.

2.1 查询界面

查询及结果图像浏览界面在Matlab开发环境中实现,Matlab是一种广泛应用于工程计算及数值分析等领域的高级语言,它内置了大量的矩阵处理和图像可视化函数及丰富的工具箱,并提供了面向对象的编程方法和方便的图形化用户界面设计工具,使得软件开发和界面设计过程真正实现“所见即所得”,是一款非常适合编写基于内容的图像检索原型系统的开发环境[7].

2.2 数据管理

系统利用Matlab语言编写相应算法提取图像特征并分别生成特征库和索引库,可存储在数据库中或MAT格式文件中,图像库以文件目录的形式存储,在特征库和索引库中存有每幅图像对应的存储路径及文件名.

在系统中利用了图像的颜色、纹理和形状特征.颜色特征通过在RGB和HSV空间分别量化生成的颜色直方图表示,对于RGB颜色空间,将R、G、B进行了均匀量化,分别生成了512(8×8×8)维和4096(16×16×16)维的直方图;对于HSV颜色空间,对H、S、V进行了非均匀量化,分别生成了2种72维、1种162维和256维的直方图.其中,72维直方图将H非均匀量化为16级,将S和V分别量化为3级,根据公式F=9×H+3×S+V合成一个72维特征向量,162维直方图是将H量化为18级,将S和V分别量化为3级,根据公式F=9×H+3×S+V合成一个162维特征向量,256维直方图将H量化为16级,将S和V分别量化为4级,根据公式F=16×H+4×S+V合成一个256维特征向量.纹理特征分别利用Gabor变换、改进的Gabor变换及二元树复小波变换方法进行提取和表示,通过计算变换后小波系数模的均值和标准方差生成48维的特征向量.形状特征通过计算具有变换、旋转和缩放无关性的Hu不变矩组成7维的特征向量来描述图像形状.

2.3 检索算法

系统提供了基于特征相似性度量和基于SVM的相关反馈2种检索方法.其中,特征相似性度量检索实现了基于L1距离、L2距离、直方图相交和x2统计距离4种度量方式下的检索;基于SVM的相关反馈检索方法利用LIBSVM的Matlab接口工具箱提供的函数实现[8].

3 系统实现

原型系统采用MathWorks公司的Matlab 7.0开发环境及其编程语言开发实现,利用Matlab功能强大、易于使用的优点,从而使得原型系统具有高效、使用简单的特点.

3.1 测试数据

系统测试数据是从加州大学信号与图像处理实验室的网站下载的,这些遥感影像主要来源于美国的圣地亚哥、旧金山、奥克兰和华盛顿等地的港口及林地等景物,共38幅航空遥感影像[9].本文实验从中选择了12幅512×512和24幅1024×1024全彩色影像作为实验数据,所选影像如图3所示.首先,将所选36幅影像分别不重叠分割为128×128像素大小的图像块,组成一个包含1728幅128×128像素大小图像的实验数据库.

3.2 检索过程

对于每一类数据,随机选择1幅图像作为查询样本,首先利用x2统计距离行相似性度量,按计算距离从小到大的顺序返回检索结果,检索界面及返回结果如图4所示.根据最大相似性原则选择,用户从返回的检索结果中分别标记相关和不相关图像,生成初始样本集来训练SVM分类器,得到最初的最优分类超平面,在每次反馈检索过程中选择未标记样本进行类别标记,然后加入到标记样本集中,再次训练支持向量机分类器,根据图像最优分类超平面的距离返回检索结果,如此循环反馈,直到用户主动终止了反馈过程.在检索过程中发现,每类图像在系统反馈3~5次后即可达到较为理想的查准率,检索结果如图5所示.

根据对不同核函数的测试结果,检索过程中选用了高斯径向基核函数,数学表达式为K(x,xi)=exp(-x-xi2/2σ2),其中参数σ=0.7,SVM分类器的惩罚参数C=1000.

3.3 性能评价

系统采用查准率作为检索性能评价指标,通过计算返回结果中前30或100幅图像中相关图像所占比例表示一次检索的查准率,记为P(30)或P(100),最终的性能评价结果通过计算多次检索查准率的平均值得到.

限于篇幅和写作目的,本文主要对图像内容检索系统的设计和开发进行了研究和描述,对系统的检索精度的评价没有在本文中体现.

4 结语

本文主要介绍了图像内容检索原型系统包括的主要功能及其具体实现,对使用的颜色、纹理及颜色特征进行了概述,简要介绍了图像特征的存储数据模型和各种功能应用及其检索示例,重点对SVM在Matlab中的应用进行了实证研究.

本文中介绍的系统只实现了必要的功能模块,还存在许多功能需要进一步增加和扩展,下一步的工作将对原型系统做进一步修改和完善.

参考文献:

[1]SMEULDERS A W M, WORRING M, SANTINI S, et al. Content-based image retrieval at the end of the early years[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22 (12): 1349-1380.

[2]EAKINS J P. Trademark images retrieval. In: principles of visual information retrieval[J].Springer Ch,2001,13:319-350.

[3]罗睿,张永生.遥感图像数据库基于内容查询的研究[J].遥感学报,2002,6(1):24-29.

[4]VAPNIK V N. The nature of statistical learning theory[M]. New York: Spring-Verlag,1995.

[5]张学工.统计学习理论的本质[M].北京:清华大学出版社,1999.

[6]徐淑平,林福宗.基于图像中心加权特征的图像检索[J].计算机应用与软件,2006,23(2):3-5.

[7]刘卫国,陈昭平,张颖.Matlab程序设计与应用[M].北京:高等教育出版社,2002.

[8]CHANG C C, LIN C J. LIBSVM: A library for support vector machines[EB/OL]. (2009-02-01) www.csie.ntu.edu.tw/~cjlin/libsvm.

[9]USC Signal and Image Processing Institute.The USC-SIPI image database [EB/OL].(2009-02-01) sipi.usc.edu/services/database.

上一篇:混合粉剂扑草净和乙草胺的反相高效液相色谱分... 下一篇:一种文本图像倾斜校正的方法