はじめに
こんにちは、可視化研究室でサロゲートモデルを使った研究をしているゆうき(@engieerblog_Yu)です。
今回は、depth画像を使って、GANモデルの学習を行う機会があったので、そちらをまとめていきたいと思います。
depth画像とは?
depth 画像とは、3D 空間中の物体や表面の深さを表す画像のことを指します。通常、カメラやセンサーを使用して撮影されます。
depth 画像は、コンピュータビジョンやロボットなどの様々な分野で活用されています。
例えば、depth 画像を使用することで、3D 空間中の物体や表面の深さを測定することができます。
またdepth 画像を使用することで、3D 空間中の物体の配置や移動をトラッキングすることもできます。
depth 画像は、通常、色の無い画像として表現されます。
各ピクセルには、その点からカメラやセンサーまでの距離が格納されています。
距離が近いほど、ピクセルの値は大きくなります。
逆に、距離が遠いほど、ピクセルの値は小さくなります。
例(左:RGB画像 右:depth画像)
実際の画像は以下のようになります。
画像は、私が研究で使っている口内摩擦発生シミュレーションの画像です。
左はRGB画像で、各ピクセルに0~255の値がRGBそれぞれ入っています。
画像は等値面可視化を行なっている画像です。
右がdepth画像で、各ピクセルに0~255の値がグレースケールで入っています。
距離が遠いほど値が小さく、近いほど値が大きくなります。
私が行なっている研究での画像生成モデルは、RGB画像のみを使っています。
今回はdepth画像も用いて学習を行うことで、画像生成モデルの精度が向上するのか試していきたいと思います。
上記の研究では、視点座標を入力として、256×256の画像を生成します。
(なぜそんなことをしているかが気になる方は、上記の記事を合わせてどうぞ。)
以前までは、256×256にRGBをかけた256×256×3の三次元配列を出力するようにしていました。
今回は、それにdepth画像の値を追加した256×256×4の三次元配列を出力するように実装しました。
結果
まずは視覚的な差です。
depth画像なしより、depth画像あり出力画像の方が立体感があり、輪郭が鮮明になっていることがわかります。
次にSSIM,PSNRを用いて画像誤差を測ってみました。
SSIM | PSNR | |
depthなし | 0.883 | 21.343 |
depthあり | 0.918 | 24.954 |
SSIMとPSNRは一般的に高い方が画像誤差が小さいので、depth画像ありの方が精度が良くなっていることがわかります。
depth画像を使う欠点
depth画像を使用することで、GANの学習や生成に必要なデータが増えるため、学習や生成にかかる時間が増加することがあるという欠点があります。
また、depth画像の収集が困難な場合があります。
収集・学習コストよりも、画像の精度の方が大切な時に、depth画像を使うのが良さそうです。
終わりに
depth画像を使った方が、SSIM,PSNRで画像誤差が小さくなった
収集・学習コストよりも、画像の精度の方が大切な時に、depth画像を使うのが良い
最後まで読んでいただきありがとうございました。
コメント