本文提出了一种基于zernike矩的极光图像检测算法。该算法首先对每幅图像提取zernike矩特征,然后用欧氏距离衡量图像之间的相似性,最后再依据相似程度用kNN方法进行分类。现实生活中的极光图像会不可避免的受到噪声因素的干扰,这就需要检测算法具有很好的鲁棒性。有时为了适应图像旋转的需求,也需要这种算法具有旋转不变性,而基于zernike矩的极光图像检测算法正好具备这些特点。与传统的LBP特征提取方法相比,由于连续正交的zernike矩是定义在极坐标下的,因此本身具有旋转不变性。通过实验表明,在图像添加噪声、旋转以及平滑滤波后,基于zernike矩的特征提取方法比LBP的检测效果好。 In this paper, an auroral image detection algorithm based on zernike moments is proposed. Firstly, the zernike moments are extracted for each image, and then the similarity between the images is measured by Euclidean distance. Finally, the kNN method is used to classify them according to the similarity degree. In real life, the aurora image will inevitably be disturbed by noise factors, which requires the detection algorithm having a very good characteristic of robustness. Sometimes in order to adapt to the needs of image rotation, the algorithm is needed to have a characteristic of rotation invariance. The aurora image detection algorithm based on zernike moments just has these characteristics. Compared with the traditional LBP feature extraction method, since the continuous orthogonal zernike moments are defined under the polar coordinates, they themselves have the characteristic of rotational invariance. Experiments show that the feature extraction method based on zernike moments is better than LBP when the image is added with noise, rotation and smoothing.
李黄薇,王晅
陕西师范大学物理学与信息技术学院,陕西 西安
收稿日期:2017年3月6日;录用日期:2017年3月20日;发布日期:2017年3月23日
本文提出了一种基于zernike矩的极光图像检测算法。该算法首先对每幅图像提取zernike矩特征,然后用欧氏距离衡量图像之间的相似性,最后再依据相似程度用kNN方法进行分类。现实生活中的极光图像会不可避免的受到噪声因素的干扰,这就需要检测算法具有很好的鲁棒性。有时为了适应图像旋转的需求,也需要这种算法具有旋转不变性,而基于zernike矩的极光图像检测算法正好具备这些特点。与传统的LBP特征提取方法相比,由于连续正交的zernike矩是定义在极坐标下的,因此本身具有旋转不变性。通过实验表明,在图像添加噪声、旋转以及平滑滤波后,基于zernike矩的特征提取方法比LBP的检测效果好。
关键词 :Zernike矩,极光图像检测,LBP,特征提取
Copyright © 2017 by authors and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
极光是磁层-电离层相互作用的最集中的表现形式,是唯一能够用肉眼看得见的具有极区特征的地球物理现 [
早期的极光分类是基于肉眼观察进行的手工标记和分类 [
为了提高极光图像在加噪、旋转、平滑滤波后的检测效果,文章提出了一种基于图像的Zernike矩的极光检测的方法。由于连续正交的Zernike矩是定义在极坐标下的,因此本身具有旋转不变性。通过实验表明,在图像添加噪声、旋转以及平滑滤波后,基于Zernike矩的特征提取方法比LBP [
对于极坐标表示的图像函数
其中,
Zernike多项式
是基于单位圆
实值径向多项式
它被定义为
根据Zernike矩的定义式,如果图像
像为
对上式做坐标代换,则有:
由上式可以看出,基于Zernike矩可以构建旋转不变量,有
由于图像旋转时候模值保持不变,因此对Zernike矩取模可以构建旋转不变特征,即Zernike矩具有旋转不变性。
实值径向多项式的递归关系式为:
其中3个系数定义如下:
以上的关系式在n = l以及
当n = l时
当
由上述关系时可以计算得出n阶l重的实值径向多项式,进而计算出Zernike多项式以及
用迭代方法可以单独求得任意阶矩的极径多项式,相比于Direct、Belkasim、Prata、Kintenr以及Coefficient方法,迭代计算过程中的乘法次数少,计算时间快,因此本实验采用这种方法计算Zernike多项式,进而提取Zernike矩特征。
k近邻分类算法是一种最简单的机器学习算法。它采用测量不同特征值之间的距离方法进行分类。它的思想很简单:如果一个样本在特征空间中的k个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别。
k近邻算法的计算步骤如下: 1) 算距离:给定测试对象,计算它与训练集中的每个对象的距离。
2) 找邻居:圈定距离最近的k个训练对象,作为测试对象的近邻。
3) 做分类:根据这k个近邻归属的主要类别,来对测试对象分类。
kNN算法的分类效果与k值的选取有关,k太小,分类结果易受噪声点影响。k太大,近邻中又可能包含太多的其它类别的点,根据经验k值一般低于训练样本数的平方根。文中所使用的kNN算法的k值为1,即找出测试集中每张图像与训练集中所有图像中欧氏距离最小的值,看该图像属于训练集中的哪一类,由此实现极光图像的检测。
早期的极光检测工作主要是依据专家的经验进行人工标记,这种方法耗费大量的时间,而且主观性比较强。更主要的是近年来随着捕获的极光图像的数量的迅速增加,原始的人工标记的方法已经不能满足海量数据的处理的需求,所以有必要研究一种快速有效的自动检测极光图像的方法。
LBP是一种常见的基于图像纹理特征的特征提取的方法,用在极光的检测上也取得了不错的效果,但是,当图像混有的噪声比较严重、旋转了某个角度或者是先进行滤波处理,再利用LBP提取特征进行分类时,效果会明显下降,而文中提出的基于Zernike矩的极光图像检测算法不但具有很好的鲁棒性和旋转不变性,在滤波处理后也取得了较好的效果。
实验中整体上分为两大类,训练集和测试集。训练集和测试集中均包括有极光的图像和无极光的图像。其中训练集共有1000张图像,包含有500张有极光图像和500张无极光图像。测试集共有2000张图像,包含有1000张有极光图像和1000张无极光图像。本实验采用128 × 128的图像进行极光图像检测,其算法的步骤如下:
1) 对训练集提取特征:对训练集中的1000张图像提取Zernike特征。
2) 对测试集提取特征:对测试集中所有图像分别添加均值为零,方差不等高斯噪声、感染密度不同的椒盐噪声、旋转不同的角度、用不同的窗口大小进行平滑滤波,然后对其提取Zernike特征。
3) 计算相似性度量:分别计算测试集中每张图像与训练集中所有图像之间的欧氏距离,用于度量不同图像之间的相似程度。
4) kNN分类:找出最小的k个距离,k一般为奇数值,然后根据k中大多数属于的类别来确定测试集中该对象所属的类别,进而完成极光的检测。
Zernike矩特征向量的提取过程中涉及到阶数n的选择,实验表明:对大小为128 ´ 128的极光图像提取Zernike矩,当n = 15时,Zernike矩的分类效果达到最好。
实验过程中,首先对训练集和测试集中所有图片提取LBP特征向量以及Zernike特征向量,然后求得测试集中每张图像与训练集中所有图像的欧氏距离,再利用kNN算法进行分类,在kNN算法中,取k的值为1。之后分别对测试集中的图像添加噪声、旋转以及平滑滤波,再对比两种特征提取方法的分类效果,实验结果如下。
1) 椒盐噪声
首先对训练集中的图像分别提取LBP特征向量,以及Zernike矩的特征向量,再对测试集中每张图像添加不同感染密度的椒盐噪声,之后提取其LBP以及Zernike矩的特征向量,然后利用提取出来的特征计算测试集中每张图像与训练集中所有图像的特征向量的欧氏距离,最后利用kNN算法中k = 1的值进行分类,实验结果如图1所示。
实验表明:在没有添加椒盐噪声之前,LBP的分类效果接近100%,Zernike矩的分类效果为95.25%。添加椒盐噪声之后,LBP特征提取的分类效果随着感染密度的增大迅速下降,而Zernike矩特征提取的分类效果下降缓慢。由此可见,在对图像添加椒盐噪声后,Zernike矩的分类效果更好。
2) 高斯噪声
首先对训练集中的图像分别提取LBP特征向量,以及Zernike矩的特征向量,再对测试集中每张图像添加均值为0,方差不同的高斯噪声,之后提取其LBP以及Zernike矩的特征向量,然后利用提取出来的特征计算测试集中每张图像与训练集中所有图像的特征向量的欧氏距离,最后利用kNN算法中k = 1的值进行分类,实验结果如图2所示。
从实验结果可以看出,在没有添加高斯噪声之前,LBP的分类效果接近100%,Zernike矩的分类效果为95.25%。添加高斯噪声之后,LBP的分类效果迅速下降为50%,而Zernike矩的分类效果变化幅度不是很大。
程序运行的结果显示,添加高斯噪声之后,用LBP特征提取的方法对测试集分类时50%的错误率大部分是无极光图片发生了错误,为了说明实验结果的正确性,分别从训练集中的有极光和无极光的图像中选取了n张具有典型代表的图像,提取这些图像的LBP特征向量并画出直方图,之后再从测试集中的
图1. 加椒盐噪声的对比图
图2. 加高斯噪声
有极光和无极光的图像中选取相同数量的具有典型代表的图像,对它们添加高斯噪声之后再次提取其LBP特征向量并画出直方图,得到的直方图如图3、图4、图5所示。
图3. (a) n = 1时训练集的LBP直方图;(b) n = 1时测试集加噪后的LBP直方图
图4. (a) n = 20时训练集的LBP直方图;(b) n = 20时测试集加噪后的LBP直方图
图5. (a) n = 100时训练集的LBP直方图;(b) n = 100时测试集加噪后的LBP直方图
图6. 旋转
图7. 平滑滤波
由上图可知,训练集中未经处理的有极光和无极光图片的LBP直方图相差挺大,但是测试集中加噪之后的有极光和无极光图片的LBP直方图十分接近,正是由于这个原因,使得测试集经过加噪之后,有极光和无极光的图片都被分到了同一个类别,才会出现接近于50%的分类正确率。
首先对训练集中的图像分别提取LBP特征向量,以及Zernike矩的特征向量,再对测试集中每张图像旋转不同的角度,之后提取其LBP以及Zernike矩的特征向量,然后利用提取出来的特征计算测试集中每张图像与训练集中所有图像的特征向量的欧氏距离,最后利用kNN算法中k = 1的值进行分类,实验结果如图6所示。
实验表明:在没有旋转之前,LBP的分类效果接近100%,而Zernike矩的分类效果为95.25%。经计算可得,旋转之后LBP分类效果的平均值为83.91%,而Zernike矩分类效果的平均值为95.23%,由此可见,在对图像进行旋转之后,Zernike矩的检测效果更好。
首先对训练集中的图像分别提取LBP特征向量,以及Zernike矩的特征向量,再对测试集中每张图像加窗口大小不同的滤波器进行平滑滤波,之后提取其LBP以及Zernike矩的特征向量,然后利用提取出来的特征计算测试集中每张图像与训练集中所有图像的特征向量的欧氏距离,最后利用kNN算法中k = 1的值进行分类,实验结果如图7所示。
通过对极光图像进行提取特征,找到了一种比传统的LBP特征提取效果更好的一种方法,即Zernike矩特征的方法。它具有抗噪性强、具有旋转不变性并且在图像经过平滑滤波后依然能保持良好的分类效果。
在研究生学习期间,由于刚刚接触算法这一类问题,很多东西不知道从哪里下手去做,这段期间得到了王晅老师的耐心指导,并会时常鼓励我们,在实验室也从李志权、杨腾飞师兄、时光慧师姐以及曹振婷他们那里学到了很多知识,在此表示深深地感谢!
此外还要感谢物理学与信息学院的带课老师,感谢辛云宏、郭建中、李锦、曹辉以及陈春娥老师,是他们让我学到了很多专业的知识,为研究生的学习打下了基础,在此表示感谢。
李黄薇,王 晅. 基于Zernike矩的极光图像检测Auroral Image Detection Based on Zernike Moments[J]. 计算机科学与应用, 2017, 07(03): 215-224. http://dx.doi.org/10.12677/CSA.2017.73027
https://doi.org/10.5194/angeo-22-1103-2004
https://doi.org/10.1109/lgrs.2011.2163616
https://doi.org/10.5194/angeo-22-1103-2004
https://doi.org/10.1109/icpr.2010.825
https://doi.org/10.1109/cvpr.2009.5206550