1

私はTensorflowとKerasを使用しています。球の表面上の画像に対して適切なパターン認識を達成する可能性はありますか?私は(Healpy framework)を使用して、パターン認識が機能するはずのスカイマップを作成しています。問題は、これらのHealpyスカイマップが1次元の配列であることです。したがって、コンパクトなサブパターンは、この1次元配列に分散して配置されます。これは、実際には基本的な機械学習アルゴリズム(私は畳み込み深いネットワークについて考えています)を学ぶのはかなり難しいです。球体のパターン認識(HEALPYベース)

この文脈での特定のタスクは、球の表面上の球を数えることです(添付のimageを参照)。この特定のタスクでは、正しい数は8になります。そのため、0から9の間の乱数を持つ10000個のスカイマップ(Healpy設定:nside = 16がnpix = 3072に対応)を作成しました。私は1D Healpyアレイと単純フィードフォワードネットワークでこの問題を解決しようとした:

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細胞の実際の配置を(球面上に現れるように)1d配列の代わりに提供するときに、これが大幅に増加すると考えています。この場合、畳み込みネットワーク(Convolution2d)を使用し、通常の画像認識と同様に動作することができる。任意のアイデアをどのように2d配列で適切にhealpy細胞をマップするか、球上で畳み込みネットワークを直接使用するか?

ありがとうございます!

答えて

0

これは、面倒な2-Dである比較的簡単な問題に取り組む難しい方法です!

あなたが探しているオブジェクトがあなたのものと同じくらい顕著な場合は、データの2dマップを作成し、一連のしきい値レベルのしきい値を設定します。最高しきい値は最も明るいオブジェクトを選びます。 AitoffやHammmerのような連続的な投影ができ、エッジの問題を解消するには、投影の回転を使用します。 Healpixのようなセグメント化された投影法はデータの保存には適していますが、必ずしもデータ分析には理想的ではありません。

マップのノイズが悪いため、ノイズの邪魔になるオブジェクトを探している場合は、いくつかの洗練が必要です。多少のニューラルネットアルゴリズムも必要です。しかし、Sunyaev-Zeldovich銀河クラスターのPlanckデータ分析については、おそらくhttps://arxiv.org/abs/1101.2024(ペーパーVIII)であるかもしれません。後続の論文はこれを精緻化して追加します。

(これはコメントだったはずですが、担当者がいません)