1

J'utilise Tensorflow et Keras. Est-il possible d'obtenir une reconnaissance de forme correcte pour les images à la surface d'une sphère? J'utilise le (Healpy framework) pour créer mes skymaps sur lesquels la reconnaissance de formes devrait fonctionner. Le problème est que ces skymaps healpy sont des tableaux numériques unidimensionnels, ainsi, un sous-pattern compact peut être distribué dispersé sur ce tableau 1d. C'est en fait assez difficile à apprendre pour un algorithme d'apprentissage automatique de base (je pense à un réseau profond convolutif). Une tâche spécifique dans ce contexte serait de compter les blobbs sur la surface d'une sphère (voir pièce jointe image). Pour cette tâche particulière, le nombre correct serait 8. J'ai donc créé 10000 skymaps (paramètres Healpy: nside = 16 correpsonding à npix = 3072) chacun avec un nombre aléatoire de blobbs entre 0 et 9 (donc 10 possibilités). J'ai essayé de résoudre ce avec le tableau 1d Healpy et un simple réseau alimentation avant:Reconnaissance de formes sur sphère (base 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) 

, cependant, après la formation avec 10.000 skymaps l'ensemble de test a abouti à une précision de seulement 38%. Je suppose que cela augmentera de manière significative en fournissant l'arrangement réel des cellules Healpy (comme il apparaît sur la sphère) au lieu du tableau 1d seulement. Dans ce cas, on peut utiliser un réseau convolutif (Convolution2d) et opérer comme pour la reconnaissance d'image habituelle. Des idées pour mapper correctement les cellules healpy dans un tableau 2D ou utiliser un réseau convolutif directement sur la sphère?

Merci!

Répondre

0

C'est une façon difficile de s'attaquer à un problème relativement simple qui est sans complexe à deux dimensions! Si les objets que vous recherchez sont aussi importants que ceux de votre image, créez la carte 2_d pour les données, puis établissez un seuil pour une série de niveaux de seuil: les seuils les plus élevés sélectionnent les objets les plus brillants. Toute projection continue comme Aitoff ou Hammmer fera, et pour éliminer les problèmes de bord, utiliser des rotations de la projection. Les projections segmentées, comme Healpix, sont bonnes pour le stockage de données, mais pas nécessairement idéales pour l'analyse de données.

Si la carte a un faible rapport signal/bruit de sorte que vous recherchez des objets dans le mur du bruit, alors une certaine sophistication est requise, peut-être même un algorithme de réseau neuronal. Cependant, vous pouvez jeter un oeil à l'analyse des données de Planck sur les amas de galaxies de Sunyaev-Zeldovich, dont la plus ancienne est peut-être https://arxiv.org/abs/1101.2024 (article VIII). Les articles suivants affinent et ajoutent à cela.

(Cela aurait dû être un commentaire mais je n'ai pas le représentant.)