基于K-Means的颜色量化算法在岩石图像预处理中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于K-Means的颜色量化算法在岩石图像预处理中的应用程国建;魏珺洁
【摘要】提出了一种基于K-Means的颜色量化算法的岩石图像预处理方法,利用K-Means自动将图像中相似的颜色合并为一种颜色,减少了岩石图像中的无用颜色.对于颜色量化,假设RGB岩石图像中的每个像素点都有自己的颜色,并且每个像素点都有对应坐标,使用欧几里得距离公式计算每个像素点之间的距离,最后利用K-Means算法对这些有特定颜色的坐标点进行无监督聚类,从而实现颜色的量化.应用结果表明,将基于K-Means的颜色量化算法用在岩石图像中,可以减少岩石图像中的颜色数量,且能在较低性能的计算机设备中很好地再现岩石图像,同时也能提高岩石图像处理的效率.
【期刊名称】《西安石油大学学报(自然科学版)》
【年(卷),期】2019(034)003
【总页数】6页(P114-119)
【关键词】岩石图像处理;颜色量化;K-Means;像素点;聚类
【作者】程国建;魏珺洁
【作者单位】西安石油大学计算机学院,陕西西安710065;西安石油大学计算机学院,陕西西安710065
【正文语种】中文
【中图分类】TE19;TP183
引言
岩石图像是油气勘探与开发领域的专业图像数据,它能够反映出岩石内部的微观结构和空隙特征,是进行油气勘探与开发的重要参考。

已有许多学者对岩石图像进行研究,包括在多彩空间下利用神经网络对岩石图像进行自动识别[1]、使用卷积神经网络对岩石图像进行分类[2]、使用SIFT算法将多个岩石图像进行拼接[3]等。

然而受计算机性能的限制,在低配置的计算机中无法处理颜色数量太多的岩石图像,因此需要使用颜色量化算法来减少岩石图像中的颜色数量,同时又能更好地再现原始图像特征。

对岩石图像进行颜色量化不仅使低性能设备可以进行岩石图像的研究工作,使岩石图像更具可用性,而且可以减小图像的大小,降低图像在计算机内的存储空间,提高图像处理的效率。

1 颜色量化
计算机中的彩色数字图像一般由红(R)、绿(G)、蓝(B)3种基本颜色按照某个比例混合得到,这些图像的颜色是离散的,用一组0到255之间的二进制数值表示。

计算机中的红(R)、绿(G)、蓝(B)3种颜色的数值各占一个字节,以矩阵形式存储,因此计算机中最多存储颜色数为[4]:
2(8+8+8)=224=16 777 216。

(1)
颜色量化就是将图像中那些不太重要的颜色合并为一种相对重要的颜色,并且使图像在量化前后的视觉误差最小。

在这个过程中,RGB图像的颜色值由R、G、B变为R′、G′、B′,颜色量化之后的颜色差异的表达式为
E=(R-R′)2+(G-G′)2+(B-B′)2 。

(2)
颜色量化算法主要有2种,一种是聚类法,另一种是分割法。

本文利用基于聚类
的颜色量化算法,将RGB岩石图像的颜色量化问题转换为像素点的聚类问题,最
终聚类结果的均方误差[5]
(Bp-Bk′)2]。

(3)
然而,颜色量化给人类视觉造成的差异与其本身的数值差异并不相同。

本文颜色量化的要求主要是减少视觉误差,保留最具代表性的颜色,使量化之后的岩石图像与原始岩石图像在视觉上尽可能的相似。

基于聚类的颜色量化具体流程如图1所示。

图1 颜色量化流程图Fig.1 Color quantization flow chart
在科研过程中,受经济条件和设备性能的制约,对图像的颜色数量会产生限制。

配置较高的计算机设备可显示的图像颜色数量较多,而配置较低的计算机设备可显示的颜色数量较少,这就会严重影响研究进度和准确性。

当研究中使用的设备性能不高时,如果想要在该设备上再现原始图像的颜色特征,就需要将颜色数量较大的原始图像量化为颜色数量较低的图像,同时尽量保持原图像的颜色特征。

因此,颜色量化不仅给许多专业领域的图像研究带来便利,也可提高研究的工作效率。

2 K-Means算法
K-Means算法是一种无监督的聚类算法,它可以根据各个数据点的相似度进行自
动聚类。

K-Means算法原理简单、易于实现,而且对于大数据集仍有较好的聚类
效果和较高的处理效率。

经过国内外众多学者的研究与改进,K-Means及其改进
算法广泛用于图像聚类[6]、图像分割[7]、文本聚类[8]及目标检测[9]等方面。

K-Means算法的基本思想如下:
(1)从包含n个数据点x(n)的数据集中选择k个数据点作为初始聚类中心C1,这里的数据点即为图像中的像素点;
(2)分别计算每个数据点与聚类中心的距离,
(4)
将与聚类中心距离最小的数据点划为与该聚类中心相同的类别;
(3)根据每个类别现有的数据点计算均值,根据
(5)
重新选出每个类别的聚类中心;
(4)如此反复,直至聚类中心Ci不再变化。

在上述聚类过程中,任意2个数据点之间的距离的度量方式有多种,例如欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离等,本文的K-Means算法使用的距离度量方法是欧氏距离,即在度量空间中两点的直线距离,计算式为
d
(6)
式(6)是在n维空间中任意2个数据点的欧氏距离公式,本文主要利用式(4)计算三维空间中的RGB岩石图像像素点之间的距离,图2是利用ImageJ将岩石图像映
射到三维空间后的结果,3个坐标轴均代表颜色范围为0~255的值,岩石图像的三维构图可以直观地反映出岩石图像的颜色特征。

图2包括3种不同孔隙的岩石
图像,其中图2(a)是粒间孔隙的岩石图像,图2(b)是晶间孔隙的岩石图像,图2(c)是溶蚀孔隙的岩石图像。

图2 三维空间下的岩石图像Fig.2 Rock image in 3D space
3 岩石图像的颜色量化
3.1 数据集
本文实验用到的岩石图像数据来自西安石油大学数字油田研究所,如图2所示,
这些岩石图像是对来自鄂尔多斯盆地的储层岩心样本进行切片、注胶、加压等操作,
最终制成的岩石薄片图像[10]。

根据这些岩石微观结构中的孔隙类型差异,可以将岩石图像分为如图3所示的3种。

3种岩石孔隙各具特色。

粒间孔隙的内部形状规则,无论是否含有胶结物,孔隙的边缘都很清晰,没有被溶蚀的迹象。

晶间孔隙是成岩作用中形成的孔隙,从图3可以看出,该孔隙边缘较清晰,着色较浅。

溶蚀孔隙分为两种,一种是粒间溶孔,一种是粒内溶孔。

与图3(a)与图3(b)两种孔隙相比,溶蚀孔隙的内部形状不规则,孔隙内部存在矿物溶蚀。

3.2 实验过程
本文的实验环境为Python3.6,NumPy1.14,Scikit-Learn0.19以及
matplotlib2.2。

Numpy是Python实现的开源科学计算包,它支持大量的维度
数组与矩阵运算,也为数组运算提供了大量的数学函数库。

本次实验导入Numpy 包进行三维数组的运算。

Matplotlib是Python实现的作图包,能够生成简单的
可视化数据和图像。

本次实验导入matplotlib作图包,可以将输出的岩石图像和
相关描述以可视化的形式展示处理。

Scikit-Learn,简称sklearn,是一个基于NumPy、SciPy,matplotlib的机器学习算法库,实验中使用的K-Means算法可以直接从sklearn算法库中调用。

图3 3种不同孔隙的岩石图像Fig.3 Images of rock with three different pores 实验基于K-Means算法进行颜色量化,输入是有50 176种颜色的RGB岩石图像。

根据K-Means算法的基本原理,将岩石图像看成由三维空间中的像素点组成的图像。

其基本思想是对这些带有颜色的像素点进行聚类,将颜色相似的像素点聚为一类,聚类中心的像素点要有最具代表性的颜色,最后将颜色数量较多的岩石图像重构为颜色数量较少的岩石图像。

在整个过程中,要保持视觉误差最小才能达到本实验最好的效果。

为突出基于K-Means的颜色量化算法的效果,在实验中加入基于Random的颜
色量化算法,对比二者的实验结果。

最终输出算法执行时间和三类岩石图像的颜色量化图。

具体步骤如下:
(1)设置参数聚类中心的个数k=64,此时颜色量化算法将岩石图像的颜色数量化为64种。

(2)加载输入数据。

输入数据是3种有50 176种颜色的岩石图像,分别是粒间孔
隙岩石图像、晶间
孔隙岩石图像和溶蚀孔隙岩石图像。

(3)标注出岩石图像中的像素点。

这里把岩石图像转化为由像素点组成的图像,方
便下一步使用聚类算法对具有相似颜色的像素点进行聚类。

(4)分别调用K-Means算法和Random算法建立调色板,对具有50176种颜色的岩石图像进行颜色量化,将其重构为具有64种颜色的岩石图像。

(5)计算上一步中K-Means和Random 2种算法颜色量化的时间并输出结果,见
表1。

表1 2种颜色量化算法的运行时间(64色)Tab.1 Running time of two color quantization algorithms(64 colors)算法运行时间/s粒间空隙晶间孔隙溶蚀孔隙
K-Means0.0290.0250.024Random0.0260.0230.022
(6)利用matplotlib包的plt函数,可视化输出结果(图4)。

图4自左向右分别展
示了粒间孔隙岩石图像、晶间孔隙岩石图像和溶蚀孔隙岩石图像的颜色量化结果。

第1行是实验输入的50 176色岩石图像,第2行是使用基于K-Means的颜色量化算法得到的重构图,第3行是使用基于Random的颜色量化算法得到的重构图,重构图被量化为只有64色的岩石图像。

图4 3种岩石图像的颜色量化结果(64色)Fig.4 Color quantification results of three rock images(64 colors)
(7)再次设置参数k,使k=16。

此时,颜色量化算法将岩石图像的颜色数量量化为
16种。

(8)重复步骤(2)—(6),得到K-Means和Random 2种算法进行颜色量化的时间,见表2。

同时,输出如图5所示的颜色量化结果,可见图5与图4一样,自左向
右分别显示了粒间孔隙岩石图像、晶间孔隙岩石图像和溶蚀孔隙岩石图像的颜色量化结果。

因为第二次实验的输入数据与第一次实验的输入数据一样,均为有50176种颜色的岩石图像,所以两次图像的第1行完全一样。

图5的第2行是使
用基于K-Means的颜色量化算法得到的16色重构图,第3行是使用基于Random的颜色量化算法得到的16色重构图。

表2 2种颜色量化算法的运行时间(16色)Tab.2 Running time of two color quantization algorithms (16 colors)算法运行时间/s粒间空隙晶间孔隙溶蚀孔隙K-Means0.0110.0100.011Random0.0100.0110.009
图5 3种岩石图像的颜色量化结果(16色)Fig.5 Color quantification results of three rock images(16 colors)
(9)将运行的结果图导出,并查看每幅图像的大小,总结出表3。

对比表3中的数
据可以明显的看出,经过颜色量化的RGB岩石图像占用的存储空间有大幅度的减少。

3.3 结果分析
从表3中可以看出,颜色量化减小了RGB岩石图像的大小,大大节省其在计算机内的存储空间。

计算机在对RGB岩石图像进行图像处理时,占内存少的RGB岩
石图像可以提高处理速度,提高研究的效率。

表3 颜色量化前后的岩石图像大小对比Tab.3 Comparison of rock image size before and after color quantization项目色值图像大小/kB粒间孔隙晶间孔隙溶蚀孔隙原始图像50 176色147147147K-Means64色90.211296.516色
44.769.552.9Random64色91.111898.916色43.868.352.6
第一次实验得到2个输出(表1和图4)。

由表1可知,在3幅图像的处理过程中,基于Random的颜色量化算法速度略微比基于K-Means的颜色量化算法快一点。

由图4可知,基于Random的颜色量化算法略优于基于K-Means的颜色量化算法,二者得到的64色岩石图像都与原始岩石图像类似,且视觉误差较小,但是2
种算法的结果差异很小。

因此本文进行第二次实验。

第二次实验中,将参数k设置为16,得到2个输出(表2和图5)。

表2中基于Random的颜色量化算法和基于K-Means的颜色量化算法的处理速度相差无几。

从图5的第2行和第3行中可以明显看出,经过两种算法颜色量化之后的岩石图
像的区别,显然基于K-Means的颜色量化算法得到的16色岩石图像与原始图像
的视觉差异更小,且该图表现出的颜色特征更接近原始图像。

综合两次实验的结果,从存储上来讲,两种算法都极大地减少了图像的大小,节省了岩石图像在计算机占用的内存空间。

从视觉误差上来讲,基于K-Means的颜色量化算法对岩石图像进行颜色量化的误差更小,可以更好地反映岩石图像的颜色特征。

从时间上来看,基于K-Means的颜色量化算法与基于Random的颜色量化
算法的处理速度差别不是特别大。

因此,选择基于K-Means的颜色量化算法对岩石图像进行预处理效果更佳。

参考文献:
【相关文献】
[1] 郭超,刘烨.多色彩空间下的岩石图像识别研究[J].科学技术与工程,2014,14(18):247-251.
GUO Chao,LIU Ye.Research on rock image recognition in multi-color space[J].Science Technology and Engineering,2014,14(18):247-251.
[2] 程国建,郭文惠,范鹏召.基于卷积神经网络的岩石图像分类[J].西安石油大学学报(自然科学
版),2017,32(4):116-122.
CHENG Guojian,GUO Wenhui,FAN Pengzhao.Classification of rock images based on convolutional neural network[J].Journal of Xi'an Shiyou University(Natural Science Edition),2017,32(4):116-122.
[3] 殷娟娟.基于SIFT特征的岩石图像拼接研究[D].西安:西安石油大学,2015.
YIN Juanjuan.Research on Rock Image Mosaic Based on SIFT Feature[D].Xi'an:Xi'an Shiyou University,2015.
[4] 任智斌,隋永新,杨英慧,等.在均匀颜色空间中实现彩色图像的颜色量化[J].光学精密工
程,2002,10(4):340-345.
REN Zhibin,SUI Yongxin,YANG Yinghui,et al.Color quantization of color images in uniform color space[J].Optics and Precision Engineering,2002,10(4):340-345.
[5] OZTURK C,HANCER E,KARABOGA D.Color Image Quantization:a short review and an application with artificial bee colony algorithm[M].IOS Press,2014.
[6] 陈华,陈书海,张平,等.K-means算法在遥感分类中的应用[J].红外与激光工程,2000,29(2):26-30. CHEN Hua,CHEN Shuhai,ZHANG Ping,et al.Application of K-means algorithm in remote sensing classification[J].Infrared and Laser Engineering,2000,29(2):26-30.
[7] 赵红丹,田喜平.基于K-means算法分割遥感图像的阈值确定方法研究[J].科学技术与工
程,2017,17(9):250-254.
ZHAO Hongdan,TIAN Xiping.Research on threshold determination method for segmentation of remote sensing image based on K-means algorithm[J].Science Technology and Engineering,2017,17(9):250-254.
[8] YAO M,PI D,CONG X.Chinese text clustering algorithm based K-means[J].Physics Procedia,2012,33:301-307.
[9] 张缓缓,赵娟,李仁忠,等.K-means聚类算法在织物疵点检测中的应用[J].毛纺科
技,2016,44(3):11-14.
ZHANG Yuanyuan,ZHAO Juan,LI Renzhong,et al.Application of K-means clustering algorithm in fabric defect detection[J].Woolen Textile Science,2016,44(3):11-14.
[10] 刘丽婷.深度信念网络在岩石薄片图像处理中的应用研究[D].西安:西安石油大学,2017.
LIU Liting.Application of Deep Belief Network in Image Processing of Rock
Slices[D].Xi'an:Xi'an Shiyou University,2017.。

相关文档
最新文档