『[備忘録] 形状ボルツマンマシン(Shape-BM)による画像のセグメンテーション』で取り上げた形状ボルツマンマシン(Shape Boltzmann Machine; Shape-BM)による画像のセグメンテーションを試行した。コードはGitHubのリポジトリに配置している。PyPIのpydbmにも追加した。
セグメンテーションの対象画像データ
この画像はthe Weizmann horse datasetから借用し、以下のように、訓練用としてバイナリ化した。
Shape-BMによって再構成された形状データ
Shape-BMによる学習と再構成の過程を可視化してみると、次のような条件付き確率場のような挙動を示した。
主に特徴が密集しているであろう身体中央部から始まり、前足、後ろ足、そして顔の鼻の部分の形状が抽出されていく流れになっている。更にDBM MCMCを反復していけば前景と背景の差異がより際立っていくだろう。
追記:猫の画像を対象としたセグメンテーション
『動物 猫 哺乳動物 · Pixabayの無料写真』から得た猫の画像の再構成を試みたところ、やはり特徴が密集している頭部から始まり、次第に耳の部分が再構成されていく過程を視認できた。
このアニメーションは再構成の初期の過程で、まだ収束には至っていない。学習率が低過ぎたか、Shape-BMのハイパーパラメタの一つである `b` のチューニングが甘いのかもしれない。
理論的背景となる関連記事
参考資料
- 【dataset】Weizmann Horses | Firefly’s space (アクセス日時:2018/04/30 00:00:00)
- 動物 猫 哺乳動物 · Pixabayの無料写真 (アクセス日時:2018/04/30 13:00)