基于内容的图像检索报告
基于内容的图像检索CBIR (Content Based Image Retrieval) 设计背景:基于内容的图像检索是计算机视觉领域中关注大规模数字图像内容检
索的研究分支。包括图像分析处理和图像分类检索两个部分。
设计目标:利用所学知识和网络资源创建一个简单的CBIR 系统(乃至多功能
的复杂系统),实现用户输入一张图片(样例),通过搜索图片数据库查找具有相同或相似特征的图片。
设计原理:
技术要点: 图像特征提取与图像特征匹配
图像特征提取:
1. 低层视觉,其内容主要包括颜色、形状、纹理等的提取; 颜色:1) 颜色直方图2) 颜色相关图3) 颜色矩4) 颜色一致性矢量 纹理:1) 统计法2) 结构法3) 模型法4) 频谱法 形状:1) 基于边缘2) 基于形状
本次设计就是基于图片颜色特征提取进行的图像识别
2. 语义内容,它包含高层的概念级反应(如“海上升明月”),需要对物体进行识别和解释,了解图片在干什么,真正实现图片标签描述的内容提取。(知识推理) 此法难度:人对图像相似性的判别依据与计算机对相似性的判别依据之间的不同,造成了人所理解的“语义相似”与计算机理解的“视觉相似”之间产生“语义鸿沟”。(如何让计算机读懂图片与标签匹配) 图像特征匹配:
根据系统相似性度量的算法计算查询特征与特征库中对应的每组特征的相似程度,把所得结果由大到小排序后得到一个匹配图像序列返回给用户。(距离度量算法有Minkkowsky 距离,Manhattan 距离,Euc lidean 距离,加权Euc lidean 距离,Chebyshev 距离,Mahalanobis 距离)如产品样例中检索结果NO1,NO2…
流程图
直方Opencv Vs2008 Matlab
设计步骤:
第一步, 建立图像数据库。新建包含图片的文件夹并将其导入图片识别软件作为图像数据库。
第二步,图像分析建模。
第三步,利用算法模型提取图像特征,将相似的图像特征并进行分组入库。
程序设计利用颜色直方图,分层高斯化等方法提取图像像素特征,使用vs2008软件
编程设计,利用open cv接口,open cv含有系列 C 函数和少量 C++ 类构成,同时提供了Python 、Ruby 、MATLAB 等语言的接口,实现了图像处理和计算机视觉方面的很多通用的算法。
第四步,建立图像特征库。
输出文件为out.mat ,该文件包含图像数据库中所有图片的像素特征,以作为归类比
较和分析。
out.mat 使用matlab 软件打开,图像特征(像素)总数为27136行*61幅
第五步,利用算法模型提取图像特征。取出图片样例进行特征提取并将所提取的特征与调用的图像特征库中的像素特征进行对比,分析,帅选出相似图片。
程序设计: 问题改进:
今后设计的实现功能上的完善和代码的编写和bug 的解决。
发展前景:基于内容的图像检索技术在国内的研究和发展已经进行了将近20年,
真正商用的系统还没有出现,其主要瓶颈在于检索精度的不够高和“语义鸿沟”现象,目前已经有相应的方法来解决这个问题,例如相关反馈技术和语义检索技术等。
产品样例:传统的搜索引擎公司包括Google 、百度、Bing 都已提供一定的基于内
容的图像搜索产品。如:Google Similar Images,百度识图,以及北京文献服务处推出的实验性系统PictureFind
e.g. 百度识图:
参考文献:
http://www.cnblogs.com/skyseraph/archive/2011/08/11/2135291.html
http://www.ilovematlab.cn/thread-11681-1-1.html http://baike.baidu.com/view/5529743.htm
基于图像的几何建模技术综
http://wenku.baidu.com/view/ea67790a52ea551810a68778.html
http://www.doc88.com/p-[1**********]0.html
Count :每个灰度级别上的像素出现次数总和 Mode :平均数(频率分布直方图的平均数) Max :最大灰度级别 Min :最小灰度级别 stddev :标准偏差
降维:通过单幅图像数据的高维化, 将单幅图像转化为高维空间中的数据集合, 对其
进行非线性降维, 寻求其高维数据流形本征结构的一维表示向量, 将其作为图像数据的特征表达向量。从而将高维图像识别问题转化为特征表达向量的识别问题, 大大降低了计算的复杂程度, 减少了冗余信息所造成的识别误差, 提高了识别的精度。通过指纹图像的实例说明, 将非线性降维方法(如Laplac ian Eigenmap方法) 应用于图像数据识别问题, 在实际中是可行的, 在计算上是简单的, 可大大改善常用方法(如K-近邻方法) 的效能, 获得更好的识别效果。此外, 该方法对于图像数据是否配准是不敏感的, 可对不同大小的图像进行识别, 这大大简化了识别的过程。
直方图:图像属性的统计分布特性,利用一定方法进行量化的方法。 .ma:
数据格式是matlab 的数据存储的标准格式。
你可以调用matlab 的子程序库,用c 或fortan 调用mat 格式的数据。 我给你几个函数名
matopen 打开mat 文件
matclose 关闭mat 文件
magetfp 取得mat 文件的c 语言句柄 matGetArray 取得一个数组 具体内容看联机文档