一种基于分布式K-means的海量图像分类方法技术

技术编号:12091369 阅读:65 留言:0更新日期:2015-09-23 09:43
本发明专利技术提供了一种基于分布式K-means的海量图像分类方法,属于机器学习与图像处理技术领域。本发明专利技术可用于大规模图像分类,该方法在大数据处理平台Hadoop上采用分布式K-means算法提取图像特征,最终实现对大规模图像进行分类的目的。本发明专利技术通过对大规模图像数据进行字典的学习,构建特征映射函数以及分类算法的设计,提出了在大数据处理平台Hadoop基础上,基于分布式K-means的特征提取算法。该方法避免了人为设计大规模图像特征的繁琐工作,在保证分类准确度的前提下,减少了训练时间,本发明专利技术的成果在大规模数据库管理、军事、医疗等方面有着重要的意义。

【技术实现步骤摘要】

本专利技术属于机器学习与图像处理
,涉及分布式平台上的海量图像处理, 尤其涉及。
技术介绍
近年来,聚类算法被广泛的应用在日常生活中。在商业上,聚类算法有助于分析人 员从各种消费数据库中提取出特定的消费信息,并且概括出消费信息中体现的消费模式。 聚类算法是数据挖掘领域中的一个重要部分,通常可以作为一个良好的工具来发现数据库 中的深层次的特征表达,同时,可以概括出每一个特定类别的特点,最重要的是,聚类算法 可以作为数据挖掘领域中各个算法的预处理步骤。随着图像库的不断增大,复杂度不断增 高,单机的提取人为设计的特征已经远远不能满足需求,使用并行处理无疑是一个好的解 决方案。大数据处理平台Hadoop作为Map-Reduce架构的开源实现,主要用于大规模数据 集的并行计算,由于架构简单,对数据密集型应用能够有效支持。本专利技术正是在大数据处理 平台Hadoop的基础上,将单机K-means算法并行化,对输入的数据并行处理,设计并实现了 基于分布式K-means的图像特征提取算法。
技术实现思路
本专利技术要解决大规模图像的特征提取问题,从而达到图像分类的目的,针对图像 分类的准确度,提出,研宄实现在大数据 处理平台Hadoop的基础上,提出并行化的图像特征提取算法,图像的多分类问题,采用 DAG-SVM分类器完成最终的图像分类。 为了实现上述目的本专利技术采用以下技术方案: ,其流程如图1所示,具体包括以下 步骤: 步骤1.训练图像预处理; 输入训练图像数据集,并将每张训练图像划分成多个图像块,对每个图像块依次 进行正则化和白化操作以去除干扰信息、保留关键信息,作为输入信息送给下一步处理; 步骤2.在大数据处理平台Hadoop上,将K-means算法并行化,把步骤1所得的预 处理后的图像块作为输入,进行字典的提取; 步骤3.提取字典后,构建特征映射函数,将预处理后的训练图像块映射为新的特 征表达; 步骤4.将步骤3获得的训练图像块的新的特征表达输入到SVM分类器中,进行图 像分类训练; 步骤5.针对需要进行分类的目标图像,将其依次进行图像块划分、正则化及白化 操作后,利用所述完成图像分类训练的SVM分类器进行分类。 进一步的,步骤1所述的正则化操作具体如下: 其中x(i)是输入的第i个图像块,var (i)和mean (i)分别是x (i)中所有元素的方差 和平均值;〇是一个预设常量,其作用是在进行除法之前的操作,减少了噪音以及防止方 差趋近于零的时候,防止除数为零,对于像素值的取值范围是,〇 -般取值为10能 达到很好的效果,其取值方法一般是通过做实验通过具体的效果判断的,具体过程是通过 经验设置一个相对较好的值,再通过实验进行调整。 进一步的,采用PCA白化方法对正则化的每个图像块7;进行减少像素间相关性 的处理: 其中,XaWPU(i)分别是图像块7"的特征值和特征向量,式(2)的作用是减少输 入图片的像素之间相关性,通过公式(3)得到了白化后的图像块数据,e为预设常数,其作 用是能够平滑图像数据,达到提高性能的目的,e的取值一般是比较小的值,其取值方法同 〇〇 进一步的,步骤2所述的字典提取过程具体如下: 经过步骤1预处理后的图像块作为Map节点的输入,首先初始化聚类中心,多 个Map节点并行的读取预处理后的图像数据,并计算分配到每个聚类中心的元素,之后在 Reduce节点上,统计每个类别的所有元素,重新计算新的聚类中心,对比新的聚类中心和之 前的聚类中心的变化是否小于设定的阈值,若小于,则迭代结束,输出聚类中心,否则更新 聚类中心,重新开始新的一轮迭代过程; 进一步的,步骤3所述的具体过程如下: 将步骤2得到的字典并行化的分配给多个Map节点,同时输入新的无标签的图像 数据集给每个Map节点,对Map节点上的图像数据集进行特征学习,将输入图像数据进行特 征映射得到的特征,公式如下: 其中,f(i) (x)是图像块的新的特征表达,N是步骤2所提取字典的聚类中心 总数,c(k)是第k个聚类中心,;这个公式表明当特征fk到聚类中心c (k)的距离超过均值时, 该特征映射函数将会输出〇。 进一步的,上述技术方案中,在得到了图像特征后,由于对图像进行分类是一个图 像的多分类问题,因此步骤4及步骤5采用DAG-SVM分类器进行最后的训练及分类过程。 本专利技术的有益效果是: 本专利技术在图像特征提取算法的基础上,采用非监督学习方法K-means进行特征 的学习,由于K-means的训练参数相对于传统的非监督学习方法减少了很多,因此,该算 法在保证分类准确度的前提下,大大减少了分类复杂度;同时,本专利技术在大数据处理平台 hadoop的基础上,对深度层次特征学习的每层处理并行化,降低了时间成本和资源开销。【附图说明】 图1基于分布式K-means的图像分类方法流程框架图。 图2基于分布式K-means的图像分类方法中提取字典的流程图。 图3图像多分类问题分类过程示意图。 图4白化操作对字典的影响。 图5Hadoop网络拓扑图。【具体实施方式】 为了使得本专利技术的目的、技术方案和有益效果更加清楚明白,以下结合实例,并参 照附图,对本专利技术进行进一步详细的说明 本专利技术可用于大规模图像分类,该方法在大数据处理平台Hadoop上采用分布式 K-means算法提取图像特征,最终实现对大规模图像进行分类的目的;本专利技术通过分析图 像处理技术和机器学习等相关领域的最新研宄成果,对大规模图像数据进行字典的学习, 构建特征映射函数以及分类算法的设计,提出了在大数据处理平台Hadoop基础上,基于分 布式K-means的特征提取算法。该方法避免了人为设计大规模图像特征的繁琐工作,在保 证分类准确度的前提下,减少了训练时间,本专利技术的成果在大规模数据库管理、军事、医疗 等方面有着重要的意义。 实例 本实施例的测试实验软硬件环境如下,及其实验拓扑图如图5所示: 硬件环境: 电脑类型:台式机; CPUPentium(R)Dual-CoreCPUE5600i2. 93GHz 内存:4. 00GB(3. 49GB可用) 系统类型:32位操作系统 显示卡:集成显卡 软件环境: IDE:Eclipse 图像处理SDK:JavaCV 开发语言:Java; 如图1本专利技术是针对大规模图像分类的系特征提取算法,包括如下步骤: 步骤1.训练图像预处理; 输入训练图像数据集,并将每张训练图像划分成多个图像块,对每个图像块依次 进行正则化和白化操作以去除干扰信息、保留关键信息,作为输入信息送给下一步处理; 步骤2.在大数据处理平台Hadoop上,将K-means算法并行化,把步骤1所得的预 处理后的图像块信息作为输入,进行字典的提取; 如图2所示是分布式K-means算法提取字典的过程:首先初始化聚类中心,多 个Map节点并行的读取预处理后的图像数据,并计算分配到每个聚类中心的元素,之后在 Reduce节点上,统计每个类别的所有元素,重新计算新的聚类中心,对比新的聚类中心和之 前的聚类中心的变化是否小于设定的阈值,若小于,则迭代结束,输出聚类中心,否则更新 聚类中心,重新开始新的一轮迭代过程; 步骤3.提取字典后,构建特征映射函数,将预处理后的训练图像块映射本文档来自技高网...

【技术保护点】
一种基于分布式K‑means的海量图像分类方法,具体包括如下步骤:步骤1.训练图像预处理;输入训练图像数据集,并将每张训练图像划分成多个图像块,对每个图像块依次进行正则化和白化操作以去除干扰信息、保留关键信息,作为输入信息送给下一步处理;步骤2.在大数据处理平台Hadoop上,将K‑means算法并行化,把步骤1所得的预处理后的图像块信息作为输入,进行字典的提取;步骤3.提取字典后,构建特征映射函数,将预处理后的训练图像块映射为新的特征表达;步骤4.将步骤3获得的训练图像块的新的特征表达输入到SVM分类器中,进行图像分类训练;步骤5.针对需要进行分类的目标图像,将其依次进行图像块划分、正则化、白化操作以及特征提取之后,利用所述完成图像分类训练的SVM分类器进行分类。

【技术特征摘要】

【专利技术属性】
技术研发人员:董乐张宁
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1