実験記録 ae244bb7: Griffin-Lim の二次元拡張
びっくりするほど成果が出ないので、現実逃避に別のことをする。
今回試すのは、Griffin-Lim1 と呼ばれるアルゴリズムを画像に応用できるかということ。
やること
-
STFT を2次元に拡張する
-
位相を捨てる
-
Griffin-Lim で位相推定
-
画像を復元する
STFT の二次元拡張
STFT をシンプルに2次元に拡張する。
音声に対する STFT は、1次元の窓を時間方向にスライドしてゆく。画像に対しては、2次元の窓をX軸、Y軸それぞれの方向にスライドしてゆく。スペクトル同士の位置関係が維持できれば順番は問わない。
窓は、通常の窓ベクトル同士の直積を使用する。
実験
-
画像サイズ: 256x256
-
窓サイズ: 32x32
-
窓の移動量: 8x8
-
反復回数: 100 および 1000
結果
左がオリジナル画像で右が復元された画像。画像は Travel Coffee Book より(CC0)。
復元された画像の端が歪んでいるのは位相を推定する材料がないためで、padding を行うことで解決できる(と思う)。
感想
既に誰かやってそう、というのは置いといて。
まず、時間がかかるということ。1000 iterations で20分ほど掛かっている。結果を見るとわかるが、100 iterations では十分に位相が推定できておらず、グラフから推定するに500 iterations 程度は繰り返す必要がありそう。
使い所は不明。生成系のニューラルネットで画像を直接生成する代わりに使えるかもしれない。先述の通りかなり時間がかかるためオンデマンドに生成するには向いてないかも。
コード
脚注
-
Griffin, D. W., & Lim, J. S. (1984). Signal Estimation from Modified Short-Time Fourier Transform. ↩