Image Retrieval Framework

本文探讨了多媒体数据挖掘的原理与应用,重点介绍了图像挖掘的过程与技术,包括图像预处理、特征提取、图像分类与相似性评估,以及基于内容的图像检索(CBIR)的概念与方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Abstract

由于社交网络的出现和繁荣发展,产生了很多多媒体资源,在浩瀚的数据源中如何搜索有用的资料为重中之重;Multimedia Data Mining 可以被定义为从媒体数据中,如音频/视频/图像/文本,找到感兴趣的资料。

1.      Introduction

在信息爆炸时代,数据之间隐含的信息往往不易察觉,所以通过信息检索,在特定的时间,获取有限的信息满足使用者。

一般说来,从数据库中获取的多媒体文件,必须经过处理,以改善其质量。在这之后,进行多种变换和特征提取,生成多媒体文件的重要特征。通过此类特征,可以发现这些文件的模式差异。在应用过程中,这些模式可以用于评价和说明如何选择有用的信息!

2.      The Characteristics ofMultimedia Data Mining

多媒体数据一般具有多维和不规则结构,用其特有的方式表示信息!由下图可知,其为多领域交叉,Data Mining 可以提供大概的处理方向!



Data Mining process大概包含下述流程:

(1). Domain understanding;

(2). Data selection;

(3). Data preprocessing, cleaning and transformation;

(4). Discovering patterns;

(5). Interpretation;

(6). Reporting and using discovered knowledge.

 

此文以Image Mining为例进行分析。

3.      Image Mining

Image Mining找到一种方法,有效的从低层次的像素关系,包含图像或图像序列,发现高层次的物体以及它们之间的关系!其着眼点在于从大量的图像中提取相关模式!

下图为Image Mining 的典型流程!


3.1  Preprocessing

批量处理图像,平滑,几何校正,gamma等预处理,然后进行区域或边缘分割,或者根据需要进行相应检测,如几何图形。

3.2  Feature Extraction andTransformation

Color, edges, shape, and texture等图像识别属性,一般被提取出来进行Image mining.特征一般分为Global descriptors 和Local descriptors,各有千秋,此处不详述!

3.3  Image Mining Techniques

a)      Classification:

参数分类器和无参数分类器。其实此条目说的是,监督分类;

数据分类主要分两步:

(1)    确定分类器,描述预定义的数据类型,概念;

(2)    利用适合的模型对数据进行分类;

一般常用的分类器有:决策树,基于准则的分类,神经网络,支持向量机,朴素贝叶斯等。

b)      Clustering:

无监督分类,如K均值,此处比较熟悉,略过。

CBIR: An Introduction & Survey

[2] 提出了有效的基于内容的图像检索算法,基于颜色,纹理和边缘直方图等特征;

[3] 提出了新的相似匹配算法,在RGB和HSV颜色空间,基于直方图、象形图的匹配;

4. Image Miningusing CBIR Concepts

CBIR 一般基于查询整幅图像或者图像中的ROI,一般的CBIR系统架构如下图所示。


4.1 ImageContent Descriptors

Color

a.定义恰当的颜色空间

b.提出恰当的提取算法

c.相似性评价算法

Color Histogram

Color Moment

Color Moment常用于减少相似图像的数目然后,在此基础上运行其他算法!

 

推荐学习MPEG-7中关于多媒体检索的功能。

Texture

         纹理主要分为两类:基于结构的和基于统计的,结构式算法包含有形态学操作和连接表;统计式算法包含有Tamura feature, shift-invariant principal component analysis—SPCA, Fourierpower spectra, Wold decomposition, co-occurrence matrices, Markov random field,fractal model 以及多尺度分析工具Gabor 和 wavelet transform.

此处仅简述

       Tamura Feature

Tamura’sfeatures are based on psychophysical studies of the characterizing elementsthat are perceived in textures by humans.

Contrast 对比度

Measures the wayin which gray levels q vary in the image I and to what extent theirdistribution is based to black or white.

通过对像素灰度直方图分布情况的统计得到的,其定义公式:



Directionality 方向度

Takes intoaccount the edge strength and the directional angle. They are computed usingpixelwise derivatives according to Prewitt’s edge detector.


Coarseness 粗糙度

测量纹理间的尺寸

针对每个像素计算六个窗口的均值,窗口的大小为2^k ×2^k,(k=0,1,2,…,5)





然后再计算水平和垂直方向的差值



找到任意方向的E_k(x,y)对应的k值,并设S_best(x,y)=2^k.



另外Tamura Features还包括linelikeness,regularity, roughness,因为在CBIR中比较常用的是前三种,故不再详述。

Shape

图像经过分割后,表示为区域。优秀的区域特征对于物体应具有变换,旋转和尺度的不变性。

MomentInvariants


此处p,q可取0,1,2,3的组合!

4.2 Similarityand Indexing Schemes

SimilarityMeasures

MahalanobisDistance

Minkowski-Form Distance

如果特征之间相互独立,且同等重要;


Quadratic Form(QF) distance

此种比较方式,比Minkowski-FormDistance更有效,因为其将图像颜色间的交错相似性考虑在内:


      




### QTC++ Library or Framework Information QTC++ is a combination of the Qt framework and C++ programming language, widely used for developing cross-platform applications. Below is an in-depth overview of relevant technical information and resources: #### 1. **Qt Framework Overview** Qt is a cross-platform application development framework that supports multiple operating systems, including Windows, macOS, Linux, Android, and iOS. It provides tools for building graphical user interfaces (GUIs) and can be extended with additional libraries such as OpenCV[^1], MySQL, and others. - **Development Language**: C++ - **Primary Features**: - GUI Design - Networking - Database Integration - Multimedia Support - Cross-Platform Compatibility #### 2. **Integration with Other Libraries** The integration of Qt with other libraries enhances its functionality. For example, in the Image Retrieval System mentioned in the reference, Qt5.12 is combined with OpenCV4.4 for image processing and MySQL for database management. ```cpp #include <opencv2/opencv.hpp> #include <QtWidgets/QApplication> int main(int argc, char *argv[]) { QApplication app(argc, argv); // Example of integrating OpenCV with Qt cv::Mat image = cv::imread("example.jpg"); if (image.empty()) return -1; QImage qImage((const unsigned char*)(image.data), image.cols, image.rows, image.step, QImage::Format_RGB888); QLabel label; label.setPixmap(QPixmap::fromImage(qImage.rgbSwapped())); label.show(); return app.exec(); } ``` #### 3. **Cross-Platform Compilation** Cross-platform compilation is essential for ensuring compatibility across different operating systems. The reference[^2] provides an example of configuring dependencies for cross-platform builds using Qt and QGIS. ```makefile LIBS += -L../QGIS/lib CONFIG(debug, debug|release) { LIBS += -lcurld } else { LIBS += -lcurl } win32 { LIBS += -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 LIBS += -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -lws2_32 } ``` #### 4. **Building Qt from Source** Building Qt from source allows customization of the framework to meet specific project requirements. The reference[^3] outlines the process for building Qt 4.8.1 with Visual Studio 2008. - **Configuration Command**: ```bash configure -fast -static ``` - **Build Commands**: ```bash nmake nmake install ``` This process ensures that only necessary components are included, reducing the overall size and complexity of the build. #### 5. **Resources for Learning and Development** - **Official Qt Documentation**: Provides comprehensive guides and tutorials. - **GitHub Repositories**: Examples like the one mentioned in the reference offer practical implementations. - **Community Forums**: Platforms like Stack Overflow and Qt Forums are invaluable for troubleshooting and learning. --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值