SRResNet에 의한 초해상도에 도전

3183 단어 KerasResNet

데이터 세트



safebooru 사이트에서 1500장 정도의 이미지를 다운로드해 왔다.
또한, 데이터의 수를 늘리기 위해서, 1매의 화상을 4분할+원의 화상으로 데이터량을 5배로 늘렸다. 이 모든 이미지를 32x32px, 64x64px, 128x128px로 크기 조정하여 데이터 세트 준비가 완료되었습니다.

신경망



이번, 네트워크에는 htps : // 아 rぃ v. rg/아bs/1609.04802 이쪽을 참고로 ResNet+pixel shufller를 도입했다. 전체 구조는 다음 이미지와 거의 동일합니다.

keras에서의 구현 때문에 pytorch와 같이 pixel_shufller층이 준비되어 있지 않았기 때문에, Reshape와 Permute로 작성했다.
        x = Reshape((self.imageSize, self.imageSize, r, r, self.generatorFilters))(x)
        x = Permute((1, 3, 2, 4, 5))(x)
        x = Reshape((self.imageSize2x, self.imageSize2x, self.generatorFilters))(x)

학습 결과



학습은 파라미터는
loss='mean_squared_error',
optimizer=Adam(lr=8e-4, beta_1=0.5)
64 배치로 30epoch 학습했다.

입력 크기 64x64 출력 크기 128x128

입력 크기 32x32 출력 크기 128x128

32x32에서는 세세한 부분의 조형이 재현되지 않고, 50epoch까지 학습했지만 전혀 변했기 때문에, 아마 입력 화상의 정보량이 너무 적기 때문이라고 생각된다. 한편 64x64에서는 배경 등의 세세한 부분은 흐릿하게는 있지만 꽤 높은 정밀도로 재현할 수 있다.
SRResNet은 SRGAN과 달리 파라미터의 조정이 어렵지 않기 때문에, 간편하게 초해상에 도전할 수 있었다고 생각한다.
리포지토리 htps : // 기주 b. 코 m / 아오 키마 타카 / - 스페 r 레소 치온

좋은 웹페이지 즐겨찾기