一种基于支持向量机的天文图像实时筛选系统的制作方法

文档序号:11729830阅读:452来源:国知局

技术领域:

本发明属于天文学领域,特别是一种对天文图像的实时筛选系统。



背景技术:

在时域天文观测中,望远镜一般工作于自动巡天模式下。在观测时,天文望远镜固定曝光时间,根据观测策略连续曝光,在时间域内对天体图像进行密集采样。由于在采集过程中,望远镜及后端的成像器件会受到各种噪声的干扰将导致一些存在缺陷的图像产生,这些存在缺陷的图像也会随着有效数据一并存储传输,大大浪费了计算机的存储和网络资源。此外,存在缺陷的图像会严重影响图像信息的自动提取,造成误报和虚警,不利于对于天体时域信息的即时提取。为此,研究如何自动识别和筛选存在缺陷的图像数据对于时域天文研究将是非常重要的。

目前,国内外低帧频天文台大多采用人工筛选的方法。人工筛选虽然系统的复杂度低,但是自动化程度低。



技术实现要素:

本发明所要解决的技术问题是:如何自动识别和筛选存在缺陷的图像数据。

本发明所采用的技术方案是:一种基于支持向量机的天文图像实时筛选系统,按照如下的步骤进行

步骤一:对望远镜下的已有图片进行分类,选择一组最优的特征子集图片并添加标签,对最优的特征子集图片的图像数据进行归一化,把最优的特征子集图片的图像灰度值压缩为0-255之间;

步骤二、提取最优的特征子集图片的图像的信噪比snr、宇宙射线road、类条状缺陷wlk、云层遮挡四类特征指标,将图片数据转化为一个七维数据,即信噪比snr、宇宙射线road、类条状缺陷wlk、能量asm、对比度con、逆差距idm、熵ent七维数据;

步骤三、在支持向量机下,利用libsvm下自带的最优化函数,对步骤二的七维数据寻找最优的损失函数和惩罚系数,构建分类器;

步骤四、对天文望远镜下的实时图像数据进行归一化处理,把图像的灰度值压缩为0-255之间,提取图像的信噪比snr、宇宙射线road、类条状缺陷wlk、云层遮挡四类特征指标,将图片数据转化为一个七维数据,即信噪比snr、宇宙射线road、类条状缺陷wlk、能量asm、对比度con、逆差距idm、熵ent七维数据;

步骤五、对步骤四中提取的七维数据用步骤三中构建的分类器进行分类。

作为一种优选方式:图像的信噪比snr提取使用公式snr=10log(ps/pn)提取特征,式中,ps为图像的信号的功率谱,这里采用图像的所有局部方差最大值,pn为图像的噪声的功率谱,这里采图像的所有局部方差最小值,局部方差是指图像中任意9*9像素的方差,使用gpu加速。gpu即电脑的图像处理器,计算机中的计算主要是由算术逻辑模块(alu)进行的,gpu相对cpu含有数以千百或者更多的alu模块,通过gpu的并行运算可以大大提高运行速率。并行运算首先在电脑安装cuda模块(cuda是基于cpu的一个并行计算平台和编译模型),将需要进行并行运算的内容按cuda要求的数据格式进行转化,在cuda中进行计算,并返回计算结果。

作为一种优选方式:对图像的宇宙射线road进行提取时,采用gpu加速,宇宙射线road是指来自外天空的高能的α粒子、高能质子,它具有随机分布的特性,但其灰度值明显高于周围像素点的灰度值。目前使用的宇宙射线的检测方法主要有直方图、拉普拉斯、road万能算法,对这三种识别宇宙射线的方法进行比较,其中road算法的优点是算法复杂度低又几乎可以识别出所有的宇宙射线。但是算法需要遍历整幅图片,传统的单cpu串行运行实现效率低,这里采用了gpu进行并行运算来提高运行速度,这里采用图像中road的最大值作为一个评价指标来判断图像中是否存在宇宙射线。

作为一种优选方式:类条状缺陷特征提取时使用投影法,即图像中灰度值高于阈值的像素,在0°、45°、90°、135°四个方向进行投影,通过对四个投影的最大值与最小值的比值是否大于2来判断是否存在类条状缺陷,阈值为图像中灰度值最大值乘以0.9。类条状缺陷降低图像质量、增加图像处理难度。

作为一种优选方式:云层遮挡特征提取时使用的纹理识别的方法,即通过对图像整体的能量asm、对比度con、逆差距idm、熵ent四个参量的综合作用来判断是否有云层遮挡。

作为一种优选方式:能量asm、对比度con、逆差距idm、熵ent四个参量的综合作用来判断具体为:设f(x,y)为一幅二维数字图像,其大小为m*n,其灰度级别为ng,则满足其空间关系的灰度共生矩阵为g(i,j)=#{(x1,y1),(x2,y2)∈m*n|f(x1,y1)=i,f(x2,y2)=j},式中#{x}表示集合x中的元素个数,若(x1,y1)与(x2,y2)间距离为d,两者与坐标横轴的夹角为θ,灰度共生矩阵中的元素g(i,j)的值表示了在图像中其中一个像素的灰度值为i,另一个像素的灰度值为j,并且相邻距离为d,方向角为θ的这样两个像素出现的次数,在不同方向的灰度共生矩阵对图像的纹理特征影响很小,选用d=1,θ=0。

能量asm,也即每个元素的平方和,是对图像平整度的衡量其值为对不同类型的图片,灰度共生矩阵具有不同的特点:比如对连续灰度值图像,值集中在对角线;对结构化的图像,值集中在偏离对角线的位置;对具有严重噪声的图像,灰度共生矩阵的值分布比较均匀。如果g中的所有值均匀,则asm的值较小;相反如果一些值大而其他值较小,则asm的值较大。

对比度con是反映图像局部灰度变化的情况,其值为如果偏离对角线的元素有较大值,即图像亮度值变化很快,则con会有较大取值,这也符合对比度的定义。灰度差即对比度大的象素对越多,这个值越大。灰度公生矩阵中远离对角线的元素值越大,con越大。

逆差矩idm反映图像纹理的同质性,度量图像纹理局部变化的多少,其值为如果灰度共生矩阵对角元素有较大值,idm就会取较大的值。

熵是图像所具有的信息量的度量,是一个随机性的度量,它表示了图像中纹理的非均匀程度或复杂程度,其值为当共生矩阵中所有元素有最大的随机性、空间共生矩阵中所有值几乎相等时,共生矩阵中元素分散分布时,熵较大。

本发明的有益效果是:首先对天文图像进行特征提取,然后用支持向量机用训练好的分类器对天文图像进行分类。它对天文图像实时筛选提供了一种快速,精确的实时筛选系统,相对人工筛选提高了自动化程度。

具体实施方式

实验数据:实验选用的大视场schmidt望远镜的图片数据作为原始数据,图片大小为1024*1024。

实验环境:实验采用的是cpu为intel公司生产的corei7-5820k,主频为3.3ghz,15mb的三级缓存。gpu为nvidia公司生产的gt610,拥有48个流多处理器(streamingmultiprocessor,sm),每个sm常驻线程可达1024,计算能力为2.0,具有4gb显存。程序编译环境为ubuntu16.04下的python2.7,cuda使用的版本是cuda8.0,程序中cuda部分采用python与c的混编。

步骤一:选取大视场schmidt望远镜已采集的20000幅图片数据,随机抽取1000幅图片作为一组特征子集,并多次抽取,对几组特征子集,选取最优的特征子集。特征子集中会存在一些信噪比(snr)、宇宙射线(road)、类条状缺陷(wlk)、云层遮挡(能量asm、对比度con、逆差距idm、熵ent)四类特征很明显或者很不明显的图片,选择特征子集四类特征很明显或者很不明显的图片含量最少的并且四类缺陷数据都存在的作为最优的特征子集。把特征子集图片数据分为两类(根据四类缺陷数据含量多少进行分类,一类是含量较少的,一类的含量较大的),分别给定标签0、1;对图片数据进行归一化处理,将图像的灰度压缩为0-255的值。

步骤二:提取图像的信噪比(snr)、宇宙射线(road)、类条状缺陷(wlk)、云层遮挡(能量asm、对比度con、逆差距idm、熵ent)四类特征指标,及将图片数据转化为一个七维数据(即snr、road、wlk、asm、con、idm、ent)。

步骤三:对步骤二处理好的带标签的数据,在支持向量机下,利用libsvm(libsvm是台湾大学林智仁(linchih-jen)教授等开发设计的一个简单、易于使用和快速有效的支持向量机(svm)模式识别与回归的软件包,只要在电脑上安装该软件包就可以使用)下自带的最优化函数寻找最优的损失函数和惩罚系数,使得分类的正确率最高达到90%以上,用最优的惩罚系数和损失函数构建分类器。

步骤四:对大视场schmidt望远镜下的实时数据进行归一化处理,提取图像的信噪比(snr)、宇宙射线(road)、类条状缺陷(wlk)、云层遮挡四类特征指标,及将图片数据转化为一个七维数据。如下表格中所示为特征空间的维度,每个公式的具体含义以在前面进行了说明。

表1特征空间的维度

步骤五:对步骤四中提取的特征数据用步骤二中构建的分类器进行分类,将图片数据输入建好的分类器中。

其中,在步骤二与步骤四中的图像特征提取中,信噪比与宇宙射线这两个参数采用了利用gpu的cuda的并行运算,提高运算速度,使得该系统能够实现实时处理的效果。gpu是目前普遍使用的显卡的处理器,gpu跟cpu相比更适合处理大量的并行数据,gpu具有强大的浮点运算、并行运算能力,在图像的特征提取中提取snr和road时对图像采用的循环遍历,并且任意两次运算之间两两独立,所以适合采用cuda进行并行运算。cuda是显卡厂商nvidia推出的运算平台,它使用c语言为基础,开发人员可以使用c语言来编写程序。

我们这里主体部分使用的是python进行编写,其中cuda部分是采用的c语言。图片为1024*1024的二维数据,需要将二维数据变为1*1024^2的一维数据,并由cpu将数据传入cuda,在cuda中进行并行运算,在由cuda将计算后的结果传出到cpu进行后续的工作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1