新しいものから表示

当初の予定から随分変わりましたが、月姫リメイクこと「月姫 -A piece of blue glass moon-」を進めてます。

今のところ基本的なストーリー進行はオリジナルと変わらないものの、細かいところに手が入ってますねぇ
不穏な新キャラとかも、ちょこちょこ登場しているし。。。

公式サイトでは、発売後 2週間はネタバレを控えるよう通知が出ていますが、現時点でゲーム全編に渡ってスクリーンショットが撮れない設定になっているのは、もしかして、それも時限性だったりするとか。。。?

typemoon.com/products/tsukihim

今日はPS5を色々弄るつもりだったのですが、一つのリプライTweetきっかけで、予定が大幅に変更になりました。

twitter.com/naundob/status/143

@skawa デプスマップ生成時はCUDAの使用率も上がっているので、ちゃんとGPUも使われてはいる模様

スレッドを表示

肌色な画像に対してもテスト 

ただの輪郭抽出ではなく、ちゃんと奥行きも認識したうえでデプスマップが作られてますねぇ

@skawa 更に更に
CUDAのツールキットの辺りは、良く分かってないです。(分かっていないのは、ここだけに限りませんが。。。)

とりあえず、今の私の環境下では、明示的にCUDAツールキットを導入しなくても、動作はしてくれました。
(もしかしたらGPUを使わずに、CPUで演算しているかも。。。)

スレッドを表示

@skawa やり方に迷ったのが、PyTorchのインストールのところで、私は以下のサイトを参考にしてインストールしました。

PyTorch のインストール (Windows 上)
kkaneko.jp/tools/win/pytorch.h

スレッドを表示

@skawa あと、「To use SGRnet as base: Install dependencies as following:」以降の手順は、まだ理解できていないのですが、生成したデプスマップを評価しているような気がします。
よって、ひとまず「その2」までの手順で良いんじゃないかなぁ

スレッドを表示

ざっくりメモ 続き 

@skawa
6. LeResの学習済みの重みデータをダウンロード
res101.pth(518MB)
所定のパスへ

7. pythonの実行環境で、run.pyを実行。オプションのdepthNetは2で。
これでMR_LeResの方のデプスマップが生成されます。

8. ステレオフォトメーカーで元画像と生成したデプスマップを読み込み、Looking Glass Portrait用のRGBDデータを保存
MR_LeResで生成されたデータは、深度情報が反転しているので、ステレオフォトメーカーの「デプスマップ」⇒「デプスマップ反転」しておく。
(一般的には、こちらの方が標準的らしい?)

スレッドを表示

時間があれば、まとめるかもしれませんが、ざっくりメモ 

@skawa

■メソッドはこれ
github.com/compphoto/BoostingM

1. Pythonの機械学習の環境を作る
私の場合、Pythonは触ったことが無かったので、以下の導入手順を手探りで実施
stereo.jpn.org/jpn/stphmkr/goo

更に「Environments」の直下にあるpytorch環境も導入
導入の仕方も、ググってどうにか入れる

2. GitHub上の資源をまとめて落として展開

3. merge net model の学習済みの重みデータをダウンロード
latest_net_G.pth(310MB)
して、所定のパスへ

4. MiDaS-v2の学習済みの重みデータをダウンロード
model.pt(412MB)

5. pythonの実行環境で、run.pyを実行。オプションのdepthNetは0で。
これでMR_MiDaSの方のデプスマップが生成されます。
(続く)

@skawa 取り急ぎ、生成してLooking Glass Portraitに取り込めるデータは、こっちにどんどん突っ込んでいってます~

mstdn.guru/@shingo1228/1068378

フィギュアやプラモデルといった被写体に対しては、マルチ解像度のMiDaS方式の方がスッキリしたデプスマップが作られる傾向にあったので、今度は傾向の違う写真でテスト

元データは、2018年11月にdaruimonさん、ジャーマネ、ryo-sukeさんたちとアキヨド 8階の飲み屋で撮った写真(懐かしい!)

こちらはMiDaS(1枚目)より、LeRes(2枚目)の方が、全体的に情報量が多いですね。

後でもっとデータを追加してみるつもりですが、各デプスマップ生成法で作ったLooking Glass Portrait用データです。

ファイル名の命名ルールは以下のような感じで

*_depth:Google APIを使用
*_MiDaS:MiDaS-v2を単独
*_MR_MiDaS:マルチ解像度合成 生成にはMiDaSを使用
*_MR_LeRes:マルチ解像度合成 生成にはLeResを使用

1drv.ms/u/s!Aj5pPz4vGETRhIl5Vc

ということで各手法の関係性を整理して、再度デプスマップ生成
1枚目:オリジナル画像
2枚目:MiDaS-v2単独で生成したデプスマップ
3枚目:MiDaS-v2ベースで、複数解像度マージで生成したデプスマップ
4枚目:LeResベースで、複数解像度マージで生成したデプスマップ

LeRes単独実行はモジュールが不足しているというエラーが発生したので未確認

となると、単独のMiDaSやLeResの結果も知りたくなるな。。。

スレッドを表示

しまった訳し方、というか理解の仕方を勘違いしてました。

「Boosting Monocular Depth Estimation Models to High-Resolution via Content-Adaptive Multi-Resolution Merging」というやり方を実現するために、MiDaSやLeResという手法を使って、Multi-Resolutionのデプスマップを生成しよう、というものなのか。
いずれかの手法で、複数解像度から得られたデプスマップをMergingすると、より精度の高いデプスマップが得られるよ、というものが、より正しい理解のように読めてきました。

スレッドを表示

ということで海外の型からTwitterで教えてもらった情報を基に、色々実験が出来ました。

元々は、
Boosting Monocular Depth Estimation Models to High-Resolution via Content-Adaptive Multi-Resolution Merging

」コンテンツ適応型マルチ解像度マージング(という手法)を用いた、単眼高解像度画像からの深度推定によるぶースティング(改善?)」というGitHub上の研究らしいのですが、いやぁ、色々なことを考えている人がいるんですねぇ。。。

github.com/compphoto/BoostingM

iPhone12 Proのポートレートモードで撮った深度マップ付き写真とMiDaS、LeResを比較

更にいくつかの画像データで深度マップを生成してみる。
必ずしもLeResが万能というわけではなくて、場合によっては背景にノイズが混じりやすいような気もしますね。

スレッドを表示
古いものから表示
グルドン

Mastodon は、オープンなウェブプロトコルを採用した、自由でオープンソースなソーシャルネットワークです。電子メールのような分散型の仕組みを採っています。