LoginSignup
1
2

More than 3 years have passed since last update.

写真1枚で高精度な3D画像簡単作成やってみた【3】。勝手にdepthのみ 別の手法(intel-isl のMiDaS他)。

Last updated at Posted at 2020-06-03

最初にアウトプット

勝手にdepthのみ feat. intel-isl の。の結果です。

ここでは、下記の2つのgithubのアウトプットを混ぜています。
前者に対して、depthの算出のみ後者に置き換えています。
深い意味はありません。良い結果が得られることを期待しましたが、
とりあえず、あまり良いことは起きていません。

役割分担 github
depth以外 https://github.com/vt-vl-lab/3d-photo-inpainting
1枚の写真から3D画像が作成できる
depth https://github.com/intel-isl/MiDaS
1枚の写真からdepthを算出できる

概要

写真1枚で
高精度な3D画像↓ 簡単作成できるよう。

写真1枚で高精度な3D画像簡単作成やってみた【1】。(depthがPNGで編集できるようになりましたよ。)
の記事参照。

ここでは、

depthは、本来の処理を使わずに変わりに、替わりに、
intel-islのgithubのを使って作成(PNG)し、それを採用してみた

(↑これが手順のすべて)

⇒ 勝手に、コラボレーション
⇒⇒ いいとこどりが、できないかと

以下が、本来のものの論文とgithub。

https://arxiv.org/pdf/2004.04727.pdf
論文『3D Photography using Context-aware Layered Depth Inpainting』
Meng-Li Shih1 さんら

githubは、以下。
https://github.com/vt-vl-lab/3d-photo-inpainting

depthの情報(PNG)を作成するために使った
intel-islのgithubは、以下。
https://github.com/intel-isl/MiDaS

結果

上で、一番最初に示したものが、結果です。
オリジナル(=  intel-isl のMiDaS に置換えていないの)は、
写真1枚で高精度な3D画像簡単作成やってみた【1】。(depthがPNGで編集できるようになりましたよ。)
の記事参照。

ちょっと、条件がずれているのかな?良くはないです
ただ、よくなっている部分もある。気がする。

結果追加

「depthをintel-islに置き換え」のなしありの結果を比較。
⇒ 少し、ありが良い気もします。しかし、まだまだ、あちこち破綻してますね。
⇒⇒ もう少し、丁寧な処理だと、うまくいくのかな??(いや、今の技術の限界か?)

(1)サンプル1
<元(depthをintel-islに置き換えなし)>

 
<depthをintel-islに置き換え

(2)サンプル2
<元(depthをintel-islに置き換えなし)>

<depthをintel-islに置き換え

更に別のdepth estimationを使ってみた。(2020/06/13)

githubは、以下。
https://github.com/ialhashim/DenseDepth
[High Quality Monocular Depth Estimation via Transfer Learning (arXiv 2018)]

※処理都合により画像の範囲を少し変更しています。

ダウンロードci_other.gif

ダウンロードjump_other.gif

ダウンロードdog_other.gif

⇒ depth estimationの手法にかかわらず、共通の問題等もみえる。
  尚、もともと、隠れている領域は、別の問題。

※上記のgithubは、室内を重視しているので、室内で試してみた。(少し良いかも)

↓↓ 比較(元々のdepth)

役立つかもしれない情報

・全面が壁のような画像の場合、垂直面がうまく検出できないような気がする。
  (簡単だと思うので、不思議。)depthの手法をいくつか試したが、いまの
ところ良いものに出会ってない。

今後

もう少し、別途、丁寧に検討したいと思います。
素朴に、以下、2つわからない。

  • PNGの絶対値。(なんとなく雰囲気のわかるグレースケールになっていたので良しとした。)
  • 垂直面(壁)とか水平面が簡単にわからないのかな。。。(なぜ、うまく認識できないのだろうか?)

また、将来的には、depth estimationは更に強力なものが出るのはないか。

コメントなどあれば、お願いします。

参考。
写真1枚で高精度な3D画像簡単作成やってみた【2】。(depthをnumpyで加工してみる)
上に記載していますが、念のため↓
写真1枚で高精度な3D画像簡単作成やってみた【1】。(depthがPNGで編集できるようになりましたよ。)

:star:写真1枚で高精度な3D画像簡単作成やってみた【0】。(空間の捉え方を確認した)

:new:写真1枚で高精度な3D画像簡単作成やってみた【-1】。(隠れた領域が、本当に見えるのか?)

役立つかもしれない情報(一連の記事【-1】~【3】総合)

【1】
・GFORCE GTX1050Ti(専用GPUメモリ4.0GB)では、
GPUのメモリ不足で動かない場合あり
 これは、画像サイズに依存するのではなく
 おそらく、画像の中身で3Dの表現に必要なメモリ量の関係か何か。
 解決策、見つけていません。パラメータ変更等でなんとかなるのかも。
赤い車ので、専用GPUメモリ3.4GB程度、白のは2.7GB程度使用されていました。
 このメモリ問題に関しては、とりえず、Google Colabとかを使うのがいいのでは?
・PNGによるdepth情報の編集を示しましたが、確か、デフォルトはnumpy?。
 そのデータ(numpy)をガタガタ扱うのができる方は、そちらを編集するのもありかも。
・PNGで表現されたdepthの情報は、どこかで正規化されている気がする。PNGのdepthのレンジを
  変更しても結果が同じだった気がする。:star:

【3】
・全面が壁のような画像の場合、垂直面がうまく検出できないような気がする。
  (簡単だと思うので、不思議。)depthの手法をいくつか試したが、
  いまのところ良いものに出会ってない。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2