首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >球面上的模式识别(基于HEALPY)

球面上的模式识别(基于HEALPY)
EN

Stack Overflow用户
提问于 2016-11-18 23:56:56
回答 1查看 324关注 0票数 2

我正在使用Tensorflow和Keras。是否有可能对球体表面的图像进行适当的模式识别?我正在使用(Healpy framework)创建我的skymaps,模式识别应该在上面工作。问题是这些Healpy skymaps是一维numpy数组,因此,紧凑子模式可能分散在这个一维数组上。对于基本的机器学习算法(我正在考虑卷积深度网络)来说,这实际上很难学习。

此上下文中的特定任务是对球体曲面上的水滴进行计数(请参见附加的image)。对于这个特定的任务,正确的数字应该是8。所以我创建了10000个skymaps (Healpy设置:与npix=3072对应的nside=16 ),每个都有0到9之间的随机数量的水滴(因此有10种可能性)。我试图用1d Healpy数组和一个简单的Feed Forward网络来解决这个问题:

代码语言:javascript
复制
model = Sequential()
model.add(Dense(npix, input_dim=npix, init='uniform', activation='relu'))
model.add(Dropout(0.25))
model.add(Dense(10, init='uniform', activation='softmax'))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

model.fit(skymaps, number_of_correct_sources, batch=100, epochs=10, validation_split=1.-train)

然而,在用10,000个skymaps进行训练后,测试集的准确率仅为38%。我猜,当提供Healpy单元的真实排列(就像它在球体上显示的那样)而不是只提供一维阵列时,这将显着增加。在这种情况下,可以使用卷积网络(Convolution2d)并像通常的图像识别一样操作。你知道如何在二维阵列中正确地映射健康细胞,或者直接在球体上使用卷积网络吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-12-17 07:54:01

这是解决一个相对简单的问题的一种艰难的方法,这是厚颜无耻的2-D!

如果您要查找的对象与图中的对象一样突出,请为数据创建2_d图,然后为其设置一系列阈值级别的阈值:最高的阈值将挑选出最亮的对象。任何像Aitoff或Hammmer这样的连续投影都可以,为了消除边缘问题,可以使用投影的旋转。分段投影,如Healpix,对于数据存储是很好的,但不一定是数据分析的理想选择。

如果地图的信噪比很差,所以你要在噪声的黑暗中寻找目标,那么就需要一些复杂的东西,甚至可能是一些神经网络算法。然而,你可以看看普朗克对Sunyaev-Zeldovich星系团的数据分析,其中最早的可能是https://arxiv.org/abs/1101.2024 (论文八)。随后的论文对此进行了改进和补充。

(这应该是一个评论,但我缺乏代表。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40681296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档