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!