#概要
写真1枚で 高精度な3D画像↓ 簡単作成できるよう。
githubは、以下。https://github.com/vt-vl-lab/3d-photo-inpainting
論文『3D Photography using Context-aware Layered Depth Inpainting』
Meng-Li Shih1 さんらは、以下。https://arxiv.org/pdf/2004.04727.pdf
下記抜粋のabstractによると
元のビューで遮られた領域に幻覚の色と奥行きの構造を含む、新しいビュー合成
となっています。
論文のabstract(Google翻訳ママ)
738/5000
単一のRGB-D入力画像を3D写真に変換する方法を提案します。これは、元のビューで遮られた領域に幻覚の色と奥行きの構造を含む、新しいビュー合成のマルチレイヤー表現です。 基本的な表現として明示的なピクセル接続を備えた階層化深度画像を使用し、新しいローカル色と深度のコンテンツを空間コンテキストを意識した方法で閉塞領域に合成する学習ベースの修復モデルを提示します。 結果の3D写真は、標準のグラフィックエンジンを使用してモーションパララックスで効率的にレンダリングできます。 挑戦的な日常のさまざまなシーンでのメソッドの有効性を検証し、最先端の技術と比較してアーティファクトを少なくします。
↓この記事のテーマは、以下の1点のみ。
#隠れた領域が、本当に見えるのか?
「隠れた領域が、本当に見えるのか?」に関しては、特別な復元技術を用いない場合、見えないことは検証するまでもないですが、
実際の様子を以下に示します。
ここでは、うまくいかない例を示します。
⇒ 特別な見解はありません。
このようなうまくいかないケースがある状況に、ふつう、どう感じるのかな??と。
タイトルの『隠れた領域が、本当に見えるのか?』
⇒ 当然、見えません。
⇒ 総合的な技術で、見えないところも見えるようにするのが、
将来、一般化されると想像します。(技術というか、インターフェースというか。)
#まとめ
このようなうまくいかないケースがある技術の扱いがよくわからないので、
記事に明示しました。
(このような事象が嫌いで、近づかない人もいるのでは?)
コメントなどあれば、お願いします。
参考。
写真1枚で高精度な3D画像簡単作成やってみた【1】。(depthがPNGで編集できるようになりましたよ。)
写真1枚で高精度な3D画像簡単作成やってみた【2】。(depthをnumpyで加工してみる)
写真1枚で高精度な3D画像簡単作成やってみた【3】。勝手にdepthのみ 別の手法(intel-isl のMiDaS他)。
写真1枚で高精度な3D画像簡単作成やってみた【0】。(空間の捉え方を確認した)
#役立つかもしれない情報(一連の記事【-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のレンジを
変更しても結果が同じだった気がする。
【3】
・全面が壁のような画像の場合、垂直面がうまく検出できないような気がする。
(簡単だと思うので、不思議。)depthの手法をいくつか試したが、
いまのところ良いものに出会ってない。