3A
  • Portfolio Top
  • Categories
  • Tags
  • Archives

3次元空間情報の取得と処理

  • 講師:山崎俊彦
  • 参考書:CG-ARTS協会発行「ディジタル画像処理」
  • 参考書:R. Szeliski, Computer Vision Algorithms and Applications, Springer (PDF版はインターネット上で無料公開)
In [1]:
import numpy as np
import matplotlib.pyplot as plt

大きく分けて2種類ある。

  • アクティブ法:光やレーザーなど、エネルギーを当てて反応を観測。
  • パッシブ法:カメラなど、エネルギーを放出しないもののみを使う。

アクティブ法¶

手法 説明 特徴
time-of-flight法(ToF) 光を照射して戻るまでの時間から算出。直接は計算できないので、変調をかけて位相差等から計算する。(計算可能な範囲が指定されるのはこの為。) 高精度だが、時間がかかる。そのため、動物体に弱い。
XBox2(Microsoft)のKinect2というコントローラや自動運転用のLIDARなどで使われている。
スリット光照射法 線状のレーザー光等を照射し、線の歪みから計算する。(→エポピーラ幾何学 p.312 を参照)
Structured light 法 細かさの異なる市松模様(チェッカーボードパターン)や、パターンが既知のランダムドット等を照射し、位置ずれから計算 XBoxのKinectで使われていた。

パッシブ法¶

手法 説明
ステレオ法 複数のカメラを用いて、見え方の違いから奥行推定
平行ステレオ法 近くのものは大きくズレ、遠くのものはズレない。正確には以下
照度差ステレオ法 複数の見え方があれば良いので、カメラを1台にして照明を変化させても良い。詳細は以下
Shape-from-motion(SfM) 首里城プロジェクトや "Building Roma in a Day" などで使用されている。詳細は以下)

平行ステレオ法¶

  • 物体の3次位置:$(X,Y,Z)$
  • 2カメラの距離:$b$
  • それぞれのカメラで点 $(X,Y,Z)$ が見えている画素位置 $(u,v),(u^{\prime},v^{\prime})$
  • イメージセンサのピクセル間隔:$\delta$(縦・横とも)
  • カメラの焦点距離:$f$
  • 画像面と光軸の交点が画像座標原点

このとき、視差($=u-v$)がわかると、奥行き情報 $Z$ がわかる。なお、視差はブロックマッチング法等で見つける。

照度差ステレオ法¶

最も簡単な反射モデル(均等拡散反射のみ。鏡面反射なし。)で行う。

$$\text{Lambert model: }I_x\left(\text{Brightness}\right)=\rho L\mathbf{n}\cdot\mathbf{S} = \rho L \cos\theta$$
  • $\rho, \mathbf{S},L$ は予め知ることができる。
  • 未知なのは、$\mathbf{n} = \left(n_x,n_y,n_z\right)$ の3変数のみ。($n_z = \sqrt{1-\left(n_x^2+n_y^2\right)}$ とすると2変数)
  • 2~3通りの位置から観測すると、$\mathbf{n}$ がわかる。
  • 通常は20~100の位置に照明をおき、最小2乗法で解く。

Shape-from-motion(SfM)¶

  • 2枚の視点の異なる画像があるとする。
  • 3次元中の点 $p$ がそれぞれの画像中で点 $(u.v),(u^{\prime},v^{\prime})$ で見えていたとする。
  • 2つの視点間には回転 $\mathbf{R}(3\times3)$ と平行移動 $\mathbf{t}(3\times1)$ から成る行列で次の関係がある。 $$ \left(u^{\prime},v^{\prime},1\right)\begin{pmatrix} f_{11} & & \\ & \ddots & \\&&f_{33} \end{pmatrix}\begin{pmatrix} u\\v\\1 \end{pmatrix} = \mathbf{0} $$
  • 逆に $\mathbf{F}$ がわかれば2枚の画像の全てのピクセルで対応がとれているはず。対応点がわかっている点が9点以上あると、最小2乗法で解ける。
  • しかし、実は $\mathbf{F}$ は規格化できるので、$8$ パラメータが決まれば残り $1$ つは自動的に決定できる。(自由度 $8$, eight-point algorithmと呼ぶ。)
  • 今は five-point algorithm まで進化。
In [ ]:
 

  • « 動画像処理
  • 分子生命科学Ⅲ 第7回 »
hidden
Table of Contents
Published
Nov 13, 2019
Last Updated
Nov 13, 2019
Category
映像メディア工学
Tags
  • 3A 127
  • 映像メディア工学 17
Contact
Other contents
  • Home
  • Blog
  • Front-End
  • Kerasy
  • Python-Charmers
  • Translation-Gummy
    • 3A - Shuto's Notes
    • MIT
    • Powered by Pelican. Theme: Elegant