论文部分内容阅读
摘要 在C#.NET环境下利用基于内容的文本检索TBIR这项成熟的技术来实现基于内容的图像检索(CBIR),它不需要进行大量复杂的运算,不仅检索速度快、查准率高,而且能够根据用户感兴趣的区域进行交互式图像检索。本文主要从基本原理、体系结构和实现技术三方面讨论这一问题,给出了以基于内容的文本检索、图像映射成文本和文本还原成图像为主要技术的具体解决方案。最后进行简要分析,指出其不足之处和发展前景。
关键词 WEB页面聚类算法 图像检索 图像数据库 CBIR
一、引言
随着互联网的不断普及和多媒体、数字化技术的快速发展,多媒体内容描述接口MPEG-的逐步制定和完善,Web图像数据日益丰富并且无序激增,如何有效地组织、管理大规模的图像数据库,快速准确地检索到所需的Web图像已经成为迫切需要解决的问题。然而传统的基于文本注释和关键字内容的图像检索方法(Text-Based Image Retrieval, TBIR)存在着手工注释图像工作量过大和注释主观差异性等缺陷,已不能适应需求。因此,基于内容的图像检索(Content-Based Image Retrieval, CBIR)已成为研究热点。
简单来说,CBIR是综合数字图像处理、信息检索和数据库等多方面知识,实现对图像进行查询和管理的综合性技术。它通过直接对图像的内容进行分析,从图像中抽取颜色、形状和纹理等特征作为图像索引,保存在数据库中。进行查询和检索时,以图像特征的距离度量相似性为线索,从图像数据库中检出具有相似特性的其它图像。通常最简单的检索方法是顺序扫描数据库中的所有图像,再计算它们与检索图例的相似性。但是,特征向量的相似性比较计算量往往非常大,顺序扫描检索的效率很低。
二、TBIR与CBIR架构分析
自上世纪90年代以来,国内外对基于内容的Web图像检索进行了大量研究,也开发了一些实验或商业系统。目前已有不少面向Web图像查询的搜索引擎和检索系统,如Google、Fast、Picsearch、Eefind等。再比如,IBM的QBIC系统,美国哥伦比亚大学研究的图像/视频检索系统VisualSeek,Virage公司开发的Virage系统,麻省理工学院研发的Photobook系统等等。事实上,在基于内容的技术检索Web图像具体实施过程中,首先需要从Web中剥离图像,组成图像集,然后才能对图像集中的各个对象进行基于内容的特征分析、相似度匹配。这些系统虽然提高了搜索效率,但通常主要针对特定的数据库,基于算法的研究和实现,一般缺乏对用于Web上的分布式CBIR系统的研究.
由此可以看出,在检索本质上, TBIR和CBIR是一致的,主要包括两方面:一方面对用户需求的分析和转化,形成可以检索索引数据库的提问;另一方面,收集和处理图像,提取特征,进行标引,建立图像资源的索引数据库,依据某特定相似度算法,实现索引库记录与提问的匹配和选择,最终按照相似度降序的方式呈现结果。
但在构架上,基于内容的图像检索系统具有与传统基于文本的检索系统完全却是完全不同的。首先,由于图像依赖其视觉特征而非文本描述进行索引,查询将根据图像视觉特征的相似度进行。用户通过选择具有代表性的一幅或多幅例子图像来构造查询,然后由系统查找与例子图像在视觉内容上比较相似的图像,按相似度大小排列返回给用户。这就是所谓的通过例子的图像的检索。其次,基于内容的检索系统一般通过可视化界面和用户进行频繁的交互,以便用户能够方便地构造查询、评估检索结果和改进检索结果。但是,在具体实施时,基于内容的图像检索要经过大量的运算,如基于颜色直方图的检索,要计算图像间的欧氏距离、相似度等,这将导致检索速度慢且查准率低。而且在许多应用场合,需要找到包含特定物体的图像,例如,在图像库中搜索含有某种型号轿车的图像,或者要搜索某一场足球赛中射门的场景,就需要进行基于区域的交互式图像检索研究,这时还采用整体计算与匹配的方法就显得小题大做了。并且大部分CBIR算法在进行图像筛选时,只是按照目标图像特征的相似度对特征库中的图像进行排序,并向用户返回相似度最大的n幅图像。由于计算机自动提取的图像特征与人所理解的语义之间存在巨大的差异,显示给用户的图像中包含的相似图像可能会很少,造成每次检索的准确率比较低,同时用户需要检索的次数相应增加。要想解决这个可以每次向用户显示更多的图像,例如相似度最大的3n幅图像,以增加相似图像的数量。但是,如果显示给用户的图像太多,又会造成用户的疲劳,反而使后续检索准确率下降。
三、WEB页面聚类算法
为了解决这对矛盾,本论文引入了聚类算法,首先通过对WEB图像进行聚类,再从每一个类别中选出若干幅图像显示给用户进行评价。这样,就可以搜索更大的特征空间,而每次显示给用户的图像数量却不需要增加。
经过大量的研究和训练我们发现,Web图像与Web页面关系密切,95%以上的发布者在Web页面中引用图像一般基于下列两个假设前提:假设1:Web图像与该图所嵌入的Web页面在主题上具有相关性。假设2:Web图像在Web页面中嵌入的位置(标记位置)可以体现该图像在页面中所具备的功能。其中假设1主要针对图像主题分析而言,假设2主要针对background、button、dot、logo等类型的图像,对于这类图像,功能比主题更容易被检索用户所关注。
基于假设,我们在这里将Web页面与图像可能发生的关系归纳为下列三类:
(1)图像名称对于图像具有一定的揭示意义,或者图像可能与它所在的HTML页面所表达的主题是一致的。例如要搜索的图像为红色玫瑰花,那么常常用与“red rose”相关的名称,如: http://www.zzdesk.cn/d/0/16/red-rose.jpg与http://www.xsycn.com/images/pic/red-rose.jpg。图像引用者给所引图像冠以的名称往往会一定程度考虑到图像内容本身的主题,这类似于文本检索中文献作者给出文献标题。并且其中图像表达的主题是一致的。因此,用于判断Web页面主题的算法都可加以利用,如Page-Rank方法、概率方法、位置方法、摘要方法、分类或聚类方法、词性标注法等。
(2)图像与该图像周围密切环绕的上下文可能更相关,图像上下文是Web页面文本的子集,相比(1)而言精确度或许更高,如http://sky.news.sina.com.cn/该页面主题是“新浪航空航天新浪军事新浪网”的首页,页面主题分散,主要提供的是指向各个子栏目的链接信息,其中图像“439ca7a301058qk1.jpg”本身是一架飞机的图像,在图像下面的注释文字则标明了与该图相关的“美国A-7海盗Ⅱ舰载攻击机”。图像所在的tag标记类型以及图像出现的次数与位置特征,一定程度揭示了该图像的功能,其中主要有background、button、dot、logo类图像。对于这类图像而言,确定其功能和用途往往比确定其主题更优先,在确定范围后进一步确定图像内容特征,可以帮助检索用户快速找到自己所需要的图像。
(3)还有一部分图像的提示信息常常起到提示图像内容的作用,提示信息是通过HTML语言中的标记<img>的“alt”属性表现的,以页面中的图像“huaduo2_123.jpg”为例,源代码中表现为<img src=…/…/2005-9-10/huaduo/huaduo2_123.jpg height=500 align=center v align=top alt=red rose border=0>说明该幅图像与“red rose”有关,而另一副图像“pic_show_card.gif”在源代码中表现为<img src=../../images/pic_show_card.gif width=75 height=2 border=0 onClick =“PicSMS ('http://www.iecool.com/uppic/2007-9-10/huaduo/huaduo2_123.jpg') ” style=“cursor :hand” alt=“send to mobile”>提示信息为“send to moblie”,说明该图仅为一个指示性图标。此外图像所指向的链接地址名称,或者是指向地址的页面主题内容,同样可以作为分析图像的依据,不过这种关系在理想状态下非常准确,不理想的状态可能图像与内容完全没有关系。
综上所述,我们可以看出,Web页面与图像关系的分析可以作为基于文本的图像标引的分析基础,然后针对提取出来的图像本身的视觉信息加以提取,采用颜色、形状、纹理等内容信息作为基于内容的图像标引的分析基础,这种结合方式有利于从更全面准确的分析Web图像,同时可以缓解基于内容检索在获取图像抽象的高级语义时的难度。
四、利用TBIR实现CBIR
1.基本原理
根据Web图像的特点,本文采用TBIR与CBIR两者结合的方式来建立图像检索系统,将嵌入图像的Web文档分析与图像的内容特征提取相结合,在保证检索准确的同时降低内容识别和分析的难度。既吸收了文本检索方法速度快、查准率高的优点,又吸收了传统基于内容的图像检索方法能自动提取视觉特征和交互式的优点,同时避免了大量复杂的运算,该方法是对两者的扬弃。
首先,必须为系统建立一个知识库和一套推理规则,使得系统能够根据用户给出的图像查询的关键字/词通过这个知识库和推理规则,进行推理,信息提取,从而得出一系列与此可能相关的关键字/词,然后再到图像数据库中查找注释中包含这些关键字/词的图像,将查询结果反馈给用户,以此提高图像查询的正确性,使得查询结果更加接近用户的需求,提高图像查询的效率。
其次,系统的核心是图像特征数据库和图像提取的实现从图像本身提取得到,又可以通过用户交互获得,并用于计算图像之间的相似度。用户和系统之间的关系是双向的:用户可以向系统提出查询要求,如指定所查询的区域,系统根据查询要求返回查询结果,用户还通过对查询结果的相关反馈来改进查询结果。现分析图1用文本检索方法实现基于内容的图像检索中的两个关键环节。
(1)选择、提取和索引能够充分表达图像的视觉特征。选择视觉特征就是用户指定待检索的区域,如画一个包含某种型号轿车的矩形框,就表示要检索这种型号的轿车,缺省状态是检索整个图像区域。提取视觉特征,就是由检索系统复制该区域并映射成文本描述形式,检索时就以该文本为内容进行基于内容的文本检索。索引视觉特征就是对视觉特征排序以利于快速检索。
(2)处理基于相似度的图像检索在图像库里动态打开图像,并映射成文本描述形式,然后以前面选定区域的图像所映射成的文本为关键字,对其进行模糊匹配检索,如果匹配成功则返回图像的文件名。这里的检索是转化为基于内容的文本检索,相似度是计算未匹配的字符数占总字符数的百分比,其介于0、1之间,0代表完全不相似,而1代表完全相似。这里计算百分比肯定要比计算欧氏距离、相似度等计算量小的多,计算速度快的多,因而检索速度快。处理用户对检索结果的相关反馈,检索图像库里的图像所映射的文本,当检索到包含这些字符的图像后,就可以显示原图像供用户进行交互式操作,从而改善检索结果。
2.体系结构

五、实现技术
1.知识库和推理规则的建立
SQL SEVER是运行在Windows上的一种功能极强的数据库管理系统(DBMS)。集文档创建、通信和业务信息分析于一体的综合性软件包,也是当前最优秀的关系型数据库管理系统软件之一。利用SQL SEVER 2005建立数据库,数据库中建立图像地址和图像注释字段。然后采用AMZI!公司推出的Amzi!4.1 Prolog +Logic Server构建一个知识库和一套推理规则,知识库中对必要的关键字进行分类,推理规则的目标就是父类推出子类。因为Amzi!Prolog +Logic Server对外提供大量API函数,只要在C#环境中能够调用这些API函数即可实现。调用Amzi! Logic Server提供的LSAPI让其获得这个事实,并控制推理执行,获得推理结果,提取有用信息建立图像库。
2.图像提取的实现
C#.NET是Microsoft公司为支持其.NET框架的开发而设计的,它的出现代表了程序设计语言的未来发展方向。它利用并改进了久经实验的各种特征,给现代的企业级计算环境(包括Windows、Internet以及组件等等)提供一种非常有用的高效的编程方法。并且提供了Visual C++等面向对象的、功能丰富的可视化重量级的开发工具,在基于高效的 Windows 98和Windows NT编程环境的能够建立32位应用程序的强大、复杂的工具,利用它我们可以编写各种各样的软件。C#借助于其生成代码的向导,他能在数秒内生成可运行的Windows应用程序的外壳,使得程序的规模的复杂性是增加了,而程序员所做的工作实际上减少了。用TBIR来实现CBIR,,首先要把图像在内存里映射成文本,其次是实施基于内容的文本检索,最后要把文本还原为图像显示,三者缺一不可.
(1)在C#程序中通过如下代码声明封装在.dll文件中的函数,这样就可以调用函数,通过函数返回值得到C++程序抽取出的图像有用信息:
[DllImport(“动态链接库的文件名”,
EntryPoint=“outer”,
SetLastError=true, CharSet=CharSet.Ansi,
CallingConvention=CallingConvention.StdCall)]
Unsafe public static extern StringBuilder
outer();
其中,outer就是我们要调用的函数名。通过函数的运行得到一个返回值,该返回值是一个指针类型,其中存储的是一个字符串。该字符串就是从用户输入推理得到的查询相关的关键字,将得到的结果用于数据库的查询。重复这个过程直到的所有相关的关键字都用于数据库的查询,最后向用户输出数据库的查询结果。
(2)利用内存映射技术。由于计算机物理内存的限制,大型图像文件的输入输出需要花费大量时间,因而基于位图像素点的图像处理速度无法提高。由于win32实现的是页式虚拟存储管理,内存映射文件是该内部已有的内存管理组件的一个扩充。在win32中,内存映射文件可以使访问磁盘文件就如同正在访问内存文件一样,并且还省去了对文件的输入输出操作。它先是保留一段虚拟的地址空间,然后将磁盘文件提交给这段内存空间。用内存映射文件实现调入和执行EXE文件以及DLL文件,可以节省页交换文件的空间,通过操纵指向该内存区域的指针就可以实现对映射文件的快速访问。这样不仅简化了对文件的访问,也不需编写各种缓冲方案。在使用内存映射文件时先创建与打开文件,对磁盘文件进行操作时必须要获得该文件的句柄,运用Visual Studio.NET 2005首先在.cs文件里声明两个函数:
public Integer FileCreate(string const FileName);
public Integer FileOpen(string const FileName,Mode Word);
然后第一步开始响应检索事件,对每个文本开始检索,并以只读方式打开内存映射文件,用临时变量保存待搜索字符串,每次找到相匹配的字符串就将WordCount加1直到FoundStr=nil为止,最后用MemMapFile.Free释放内存文件。第二步用ScaneLine方法,调用BitmapToRGBValues函数把位图每一像素的RGB值写到内存的文本文件中,供基于内容的文本检索。第三步主要用到TxtToBitmap函数,把文本重新还原为图像供查询和搜索。
3.采用ADO.NET技术访问和查询数据库
解决C#环境下数据库的查询的问题,用的是ADO.NET(Active Xdata Objects.NET),它位于程序集System .Data.dll下,是.NET平台内用于访问数据库的一组类。它是ADO的后续版本,但比ADO有了本质上的重大改进。具有全新且更好的对象模型,主要使用XML作为主要的数据传输格式,支持Internet上的多层应用程序,使得用户对无关联数据的操作变得更加简单。比起他的前辈ADO来说,ADO.NET的主要优点在于:编程更简便、性能更高、伸缩性更强、对单个数据源特性的依赖更小以及与其它平台的交互性更强。
六、结论和前景分析
图像检索是当前研究的一个热点,还有待在算法上继续深入的研究,同时也需要考虑如何充分利用传统现有的检索技术,结合当前的最新进展,共同开发图像检索系统。图像资源检索的一个重要前提是对图像特征的描述、对图像的组织描述,为检索提供入口,组织为图像提供存储的基础。因此还有待对图像元数据、图像内容特征等的表示、图像特征与分析的优先度考虑、Web网页与图像的关系对图像标引的影响,以及加权策略等问题上进行更多深入研究,制定更好的图像分析策略,建立更简单实用的图像检索引擎。
本论文提出的设计方法没有走传统的基于图像颜色、纹理和形状的特征提取的老路,而是把图像在内存中映射为文本,用基于内容的文本检索技术实现了基于内容的图像检索,并且融入了智能推理技术,降低了对图像标注的精确性和标注统一标准的依赖,使得标注的主观性不会过多的影响查询结果。实验表明它比传统方法有更高的速度和查准率。存在的问题是由图像映射为文本时数据量有所增加,主要是写文本时,需用空格来区分不同像素,因此不宜把映射的文本保存在固定存储介质上,当需要保存时有必要考虑对其进一步压缩处理。当然,如果仅仅是对图像检索,由于用到内存映射技术,不会影响其速度和查准率。
参考文献:
[1]Nascimen to M A, Sridhar V, Li Xiao-Bo . Effective and efficient region-based image retrieval[J].Journal of Visual Languages and Commputing,2003,(14):151-179.
[2]熊江..NET环境下基于图像内容智能检索系统的研究[J].计算机工程与设计,2007,28(1):167-185.
[3]黄崐.综合运用基于文本与基于内容技术检索WEB图像[J].情报科学,2004,22(11):1391-1395.
[4]黄斌,杨世洪,吴钦章.用文本检索方法实现基于内容的图像检索[J].计算机工程与应用,2005,(8):92-94.
[5]陈旌.利用聚类算法提高基于内容的图像检索准确率[J].计算机辅助工程,2005,14(1):18-20.
(作者单位:西北民族大学中国民族信息技术研究院)
关键词 WEB页面聚类算法 图像检索 图像数据库 CBIR
一、引言
随着互联网的不断普及和多媒体、数字化技术的快速发展,多媒体内容描述接口MPEG-的逐步制定和完善,Web图像数据日益丰富并且无序激增,如何有效地组织、管理大规模的图像数据库,快速准确地检索到所需的Web图像已经成为迫切需要解决的问题。然而传统的基于文本注释和关键字内容的图像检索方法(Text-Based Image Retrieval, TBIR)存在着手工注释图像工作量过大和注释主观差异性等缺陷,已不能适应需求。因此,基于内容的图像检索(Content-Based Image Retrieval, CBIR)已成为研究热点。
简单来说,CBIR是综合数字图像处理、信息检索和数据库等多方面知识,实现对图像进行查询和管理的综合性技术。它通过直接对图像的内容进行分析,从图像中抽取颜色、形状和纹理等特征作为图像索引,保存在数据库中。进行查询和检索时,以图像特征的距离度量相似性为线索,从图像数据库中检出具有相似特性的其它图像。通常最简单的检索方法是顺序扫描数据库中的所有图像,再计算它们与检索图例的相似性。但是,特征向量的相似性比较计算量往往非常大,顺序扫描检索的效率很低。
二、TBIR与CBIR架构分析
自上世纪90年代以来,国内外对基于内容的Web图像检索进行了大量研究,也开发了一些实验或商业系统。目前已有不少面向Web图像查询的搜索引擎和检索系统,如Google、Fast、Picsearch、Eefind等。再比如,IBM的QBIC系统,美国哥伦比亚大学研究的图像/视频检索系统VisualSeek,Virage公司开发的Virage系统,麻省理工学院研发的Photobook系统等等。事实上,在基于内容的技术检索Web图像具体实施过程中,首先需要从Web中剥离图像,组成图像集,然后才能对图像集中的各个对象进行基于内容的特征分析、相似度匹配。这些系统虽然提高了搜索效率,但通常主要针对特定的数据库,基于算法的研究和实现,一般缺乏对用于Web上的分布式CBIR系统的研究.
由此可以看出,在检索本质上, TBIR和CBIR是一致的,主要包括两方面:一方面对用户需求的分析和转化,形成可以检索索引数据库的提问;另一方面,收集和处理图像,提取特征,进行标引,建立图像资源的索引数据库,依据某特定相似度算法,实现索引库记录与提问的匹配和选择,最终按照相似度降序的方式呈现结果。
但在构架上,基于内容的图像检索系统具有与传统基于文本的检索系统完全却是完全不同的。首先,由于图像依赖其视觉特征而非文本描述进行索引,查询将根据图像视觉特征的相似度进行。用户通过选择具有代表性的一幅或多幅例子图像来构造查询,然后由系统查找与例子图像在视觉内容上比较相似的图像,按相似度大小排列返回给用户。这就是所谓的通过例子的图像的检索。其次,基于内容的检索系统一般通过可视化界面和用户进行频繁的交互,以便用户能够方便地构造查询、评估检索结果和改进检索结果。但是,在具体实施时,基于内容的图像检索要经过大量的运算,如基于颜色直方图的检索,要计算图像间的欧氏距离、相似度等,这将导致检索速度慢且查准率低。而且在许多应用场合,需要找到包含特定物体的图像,例如,在图像库中搜索含有某种型号轿车的图像,或者要搜索某一场足球赛中射门的场景,就需要进行基于区域的交互式图像检索研究,这时还采用整体计算与匹配的方法就显得小题大做了。并且大部分CBIR算法在进行图像筛选时,只是按照目标图像特征的相似度对特征库中的图像进行排序,并向用户返回相似度最大的n幅图像。由于计算机自动提取的图像特征与人所理解的语义之间存在巨大的差异,显示给用户的图像中包含的相似图像可能会很少,造成每次检索的准确率比较低,同时用户需要检索的次数相应增加。要想解决这个可以每次向用户显示更多的图像,例如相似度最大的3n幅图像,以增加相似图像的数量。但是,如果显示给用户的图像太多,又会造成用户的疲劳,反而使后续检索准确率下降。
三、WEB页面聚类算法
为了解决这对矛盾,本论文引入了聚类算法,首先通过对WEB图像进行聚类,再从每一个类别中选出若干幅图像显示给用户进行评价。这样,就可以搜索更大的特征空间,而每次显示给用户的图像数量却不需要增加。
经过大量的研究和训练我们发现,Web图像与Web页面关系密切,95%以上的发布者在Web页面中引用图像一般基于下列两个假设前提:假设1:Web图像与该图所嵌入的Web页面在主题上具有相关性。假设2:Web图像在Web页面中嵌入的位置(标记位置)可以体现该图像在页面中所具备的功能。其中假设1主要针对图像主题分析而言,假设2主要针对background、button、dot、logo等类型的图像,对于这类图像,功能比主题更容易被检索用户所关注。
基于假设,我们在这里将Web页面与图像可能发生的关系归纳为下列三类:
(1)图像名称对于图像具有一定的揭示意义,或者图像可能与它所在的HTML页面所表达的主题是一致的。例如要搜索的图像为红色玫瑰花,那么常常用与“red rose”相关的名称,如: http://www.zzdesk.cn/d/0/16/red-rose.jpg与http://www.xsycn.com/images/pic/red-rose.jpg。图像引用者给所引图像冠以的名称往往会一定程度考虑到图像内容本身的主题,这类似于文本检索中文献作者给出文献标题。并且其中图像表达的主题是一致的。因此,用于判断Web页面主题的算法都可加以利用,如Page-Rank方法、概率方法、位置方法、摘要方法、分类或聚类方法、词性标注法等。
(2)图像与该图像周围密切环绕的上下文可能更相关,图像上下文是Web页面文本的子集,相比(1)而言精确度或许更高,如http://sky.news.sina.com.cn/该页面主题是“新浪航空航天新浪军事新浪网”的首页,页面主题分散,主要提供的是指向各个子栏目的链接信息,其中图像“439ca7a301058qk1.jpg”本身是一架飞机的图像,在图像下面的注释文字则标明了与该图相关的“美国A-7海盗Ⅱ舰载攻击机”。图像所在的tag标记类型以及图像出现的次数与位置特征,一定程度揭示了该图像的功能,其中主要有background、button、dot、logo类图像。对于这类图像而言,确定其功能和用途往往比确定其主题更优先,在确定范围后进一步确定图像内容特征,可以帮助检索用户快速找到自己所需要的图像。
(3)还有一部分图像的提示信息常常起到提示图像内容的作用,提示信息是通过HTML语言中的标记<img>的“alt”属性表现的,以页面中的图像“huaduo2_123.jpg”为例,源代码中表现为<img src=…/…/2005-9-10/huaduo/huaduo2_123.jpg height=500 align=center v align=top alt=red rose border=0>说明该幅图像与“red rose”有关,而另一副图像“pic_show_card.gif”在源代码中表现为<img src=../../images/pic_show_card.gif width=75 height=2 border=0 onClick =“PicSMS ('http://www.iecool.com/uppic/2007-9-10/huaduo/huaduo2_123.jpg') ” style=“cursor :hand” alt=“send to mobile”>提示信息为“send to moblie”,说明该图仅为一个指示性图标。此外图像所指向的链接地址名称,或者是指向地址的页面主题内容,同样可以作为分析图像的依据,不过这种关系在理想状态下非常准确,不理想的状态可能图像与内容完全没有关系。
综上所述,我们可以看出,Web页面与图像关系的分析可以作为基于文本的图像标引的分析基础,然后针对提取出来的图像本身的视觉信息加以提取,采用颜色、形状、纹理等内容信息作为基于内容的图像标引的分析基础,这种结合方式有利于从更全面准确的分析Web图像,同时可以缓解基于内容检索在获取图像抽象的高级语义时的难度。
四、利用TBIR实现CBIR
1.基本原理
根据Web图像的特点,本文采用TBIR与CBIR两者结合的方式来建立图像检索系统,将嵌入图像的Web文档分析与图像的内容特征提取相结合,在保证检索准确的同时降低内容识别和分析的难度。既吸收了文本检索方法速度快、查准率高的优点,又吸收了传统基于内容的图像检索方法能自动提取视觉特征和交互式的优点,同时避免了大量复杂的运算,该方法是对两者的扬弃。
首先,必须为系统建立一个知识库和一套推理规则,使得系统能够根据用户给出的图像查询的关键字/词通过这个知识库和推理规则,进行推理,信息提取,从而得出一系列与此可能相关的关键字/词,然后再到图像数据库中查找注释中包含这些关键字/词的图像,将查询结果反馈给用户,以此提高图像查询的正确性,使得查询结果更加接近用户的需求,提高图像查询的效率。
其次,系统的核心是图像特征数据库和图像提取的实现从图像本身提取得到,又可以通过用户交互获得,并用于计算图像之间的相似度。用户和系统之间的关系是双向的:用户可以向系统提出查询要求,如指定所查询的区域,系统根据查询要求返回查询结果,用户还通过对查询结果的相关反馈来改进查询结果。现分析图1用文本检索方法实现基于内容的图像检索中的两个关键环节。
(1)选择、提取和索引能够充分表达图像的视觉特征。选择视觉特征就是用户指定待检索的区域,如画一个包含某种型号轿车的矩形框,就表示要检索这种型号的轿车,缺省状态是检索整个图像区域。提取视觉特征,就是由检索系统复制该区域并映射成文本描述形式,检索时就以该文本为内容进行基于内容的文本检索。索引视觉特征就是对视觉特征排序以利于快速检索。
(2)处理基于相似度的图像检索在图像库里动态打开图像,并映射成文本描述形式,然后以前面选定区域的图像所映射成的文本为关键字,对其进行模糊匹配检索,如果匹配成功则返回图像的文件名。这里的检索是转化为基于内容的文本检索,相似度是计算未匹配的字符数占总字符数的百分比,其介于0、1之间,0代表完全不相似,而1代表完全相似。这里计算百分比肯定要比计算欧氏距离、相似度等计算量小的多,计算速度快的多,因而检索速度快。处理用户对检索结果的相关反馈,检索图像库里的图像所映射的文本,当检索到包含这些字符的图像后,就可以显示原图像供用户进行交互式操作,从而改善检索结果。
2.体系结构

五、实现技术
1.知识库和推理规则的建立
SQL SEVER是运行在Windows上的一种功能极强的数据库管理系统(DBMS)。集文档创建、通信和业务信息分析于一体的综合性软件包,也是当前最优秀的关系型数据库管理系统软件之一。利用SQL SEVER 2005建立数据库,数据库中建立图像地址和图像注释字段。然后采用AMZI!公司推出的Amzi!4.1 Prolog +Logic Server构建一个知识库和一套推理规则,知识库中对必要的关键字进行分类,推理规则的目标就是父类推出子类。因为Amzi!Prolog +Logic Server对外提供大量API函数,只要在C#环境中能够调用这些API函数即可实现。调用Amzi! Logic Server提供的LSAPI让其获得这个事实,并控制推理执行,获得推理结果,提取有用信息建立图像库。
2.图像提取的实现
C#.NET是Microsoft公司为支持其.NET框架的开发而设计的,它的出现代表了程序设计语言的未来发展方向。它利用并改进了久经实验的各种特征,给现代的企业级计算环境(包括Windows、Internet以及组件等等)提供一种非常有用的高效的编程方法。并且提供了Visual C++等面向对象的、功能丰富的可视化重量级的开发工具,在基于高效的 Windows 98和Windows NT编程环境的能够建立32位应用程序的强大、复杂的工具,利用它我们可以编写各种各样的软件。C#借助于其生成代码的向导,他能在数秒内生成可运行的Windows应用程序的外壳,使得程序的规模的复杂性是增加了,而程序员所做的工作实际上减少了。用TBIR来实现CBIR,,首先要把图像在内存里映射成文本,其次是实施基于内容的文本检索,最后要把文本还原为图像显示,三者缺一不可.
(1)在C#程序中通过如下代码声明封装在.dll文件中的函数,这样就可以调用函数,通过函数返回值得到C++程序抽取出的图像有用信息:
[DllImport(“动态链接库的文件名”,
EntryPoint=“outer”,
SetLastError=true, CharSet=CharSet.Ansi,
CallingConvention=CallingConvention.StdCall)]
Unsafe public static extern StringBuilder
outer();
其中,outer就是我们要调用的函数名。通过函数的运行得到一个返回值,该返回值是一个指针类型,其中存储的是一个字符串。该字符串就是从用户输入推理得到的查询相关的关键字,将得到的结果用于数据库的查询。重复这个过程直到的所有相关的关键字都用于数据库的查询,最后向用户输出数据库的查询结果。
(2)利用内存映射技术。由于计算机物理内存的限制,大型图像文件的输入输出需要花费大量时间,因而基于位图像素点的图像处理速度无法提高。由于win32实现的是页式虚拟存储管理,内存映射文件是该内部已有的内存管理组件的一个扩充。在win32中,内存映射文件可以使访问磁盘文件就如同正在访问内存文件一样,并且还省去了对文件的输入输出操作。它先是保留一段虚拟的地址空间,然后将磁盘文件提交给这段内存空间。用内存映射文件实现调入和执行EXE文件以及DLL文件,可以节省页交换文件的空间,通过操纵指向该内存区域的指针就可以实现对映射文件的快速访问。这样不仅简化了对文件的访问,也不需编写各种缓冲方案。在使用内存映射文件时先创建与打开文件,对磁盘文件进行操作时必须要获得该文件的句柄,运用Visual Studio.NET 2005首先在.cs文件里声明两个函数:
public Integer FileCreate(string const FileName);
public Integer FileOpen(string const FileName,Mode Word);
然后第一步开始响应检索事件,对每个文本开始检索,并以只读方式打开内存映射文件,用临时变量保存待搜索字符串,每次找到相匹配的字符串就将WordCount加1直到FoundStr=nil为止,最后用MemMapFile.Free释放内存文件。第二步用ScaneLine方法,调用BitmapToRGBValues函数把位图每一像素的RGB值写到内存的文本文件中,供基于内容的文本检索。第三步主要用到TxtToBitmap函数,把文本重新还原为图像供查询和搜索。
3.采用ADO.NET技术访问和查询数据库
解决C#环境下数据库的查询的问题,用的是ADO.NET(Active Xdata Objects.NET),它位于程序集System .Data.dll下,是.NET平台内用于访问数据库的一组类。它是ADO的后续版本,但比ADO有了本质上的重大改进。具有全新且更好的对象模型,主要使用XML作为主要的数据传输格式,支持Internet上的多层应用程序,使得用户对无关联数据的操作变得更加简单。比起他的前辈ADO来说,ADO.NET的主要优点在于:编程更简便、性能更高、伸缩性更强、对单个数据源特性的依赖更小以及与其它平台的交互性更强。
六、结论和前景分析
图像检索是当前研究的一个热点,还有待在算法上继续深入的研究,同时也需要考虑如何充分利用传统现有的检索技术,结合当前的最新进展,共同开发图像检索系统。图像资源检索的一个重要前提是对图像特征的描述、对图像的组织描述,为检索提供入口,组织为图像提供存储的基础。因此还有待对图像元数据、图像内容特征等的表示、图像特征与分析的优先度考虑、Web网页与图像的关系对图像标引的影响,以及加权策略等问题上进行更多深入研究,制定更好的图像分析策略,建立更简单实用的图像检索引擎。
本论文提出的设计方法没有走传统的基于图像颜色、纹理和形状的特征提取的老路,而是把图像在内存中映射为文本,用基于内容的文本检索技术实现了基于内容的图像检索,并且融入了智能推理技术,降低了对图像标注的精确性和标注统一标准的依赖,使得标注的主观性不会过多的影响查询结果。实验表明它比传统方法有更高的速度和查准率。存在的问题是由图像映射为文本时数据量有所增加,主要是写文本时,需用空格来区分不同像素,因此不宜把映射的文本保存在固定存储介质上,当需要保存时有必要考虑对其进一步压缩处理。当然,如果仅仅是对图像检索,由于用到内存映射技术,不会影响其速度和查准率。
参考文献:
[1]Nascimen to M A, Sridhar V, Li Xiao-Bo . Effective and efficient region-based image retrieval[J].Journal of Visual Languages and Commputing,2003,(14):151-179.
[2]熊江..NET环境下基于图像内容智能检索系统的研究[J].计算机工程与设计,2007,28(1):167-185.
[3]黄崐.综合运用基于文本与基于内容技术检索WEB图像[J].情报科学,2004,22(11):1391-1395.
[4]黄斌,杨世洪,吴钦章.用文本检索方法实现基于内容的图像检索[J].计算机工程与应用,2005,(8):92-94.
[5]陈旌.利用聚类算法提高基于内容的图像检索准确率[J].计算机辅助工程,2005,14(1):18-20.
(作者单位:西北民族大学中国民族信息技术研究院)