Tensorflow 및 Keras를 사용하고 있습니다. 구면의 이미지에 대해 적절한 패턴 인식을 얻을 수 있습니까? 나는 (Healpy framework)을 사용하여 패턴 인식이 작동해야하는 나의 스카이 맵을 생성한다. 문제는이 Healpy skymaps가 일차원 numpy 배열이고, 따라서 compact sub-pattern이이 1 차원 배열에 분산되어 배포 될 수 있다는 것입니다. 이것은 실제로 알고리즘을 배우는 기본 기계를 배우기가 꽤 어렵습니다. (나는 컨볼 루션 딥 네트워크에 대해 생각하고 있습니다.)구의 패턴 인식 (HEALPY 기반)
이 컨텍스트의 특정 작업은 구체의 표면에 얼룩을 계산하는 것입니다 (첨부 된 image 참조). 이 특정 작업에 대해 올바른 숫자는 8이됩니다. 그래서 0과 9 사이의 무작위 수 (따라서 10 개의 가능성)로 각각 10000 개의 skymaps (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 세포의 실질적인 배열을 제공 할 때 (1 차원 배열 대신에 구체에 나타나는 것처럼) 크게 증가 할 것입니다. 이 경우에는 Convolutional 네트워크 (Convolution2d)를 사용하고 일반적인 이미지 인식과 같이 작동 할 수 있습니다. 2d 배열에서 healpy 셀을 올바르게 매핑하는 방법이나 구에 직접 컨볼 루션 네트워크를 사용하는 방법은 무엇입니까?
감사합니다.