1
CGの原理
ボリュームグラフィックス(Volume Graphics: VG)
ボリュームグラフィックス
ボリューム (3次元CT画像)ボリューム(3次元画像) 可視化画像
可視化画像 (Volume Rendering)
光線
ボリュームグラフィックス法の分類
Volume Rendering ( VR ) ボリュームの透過表示陰影なし (Unshaded)陰影つき (Shaded)
Maximum Intensity Projection ( MIP ) 最大値投影 (MIP) 極大値投影 (LMIP: Local MIP)
Surface Rendering ( SR )表面の陰影表示
ボリュームグラフィックス法の比較
SR VR VR MIP LMIPUnshaded Shaded
濃淡 × ○ △ ◎ ◎形状 ◎ ○ ○ △ △空間関係 ◎ ○ ○ × ◎
客観性 ○ △ △ ◎ ○多様性 △ ○ ◎ × ×
客観性: しきい値などへの依存性多様性: 多彩な描画表現能力
MIP
LMIP
SR VR ShadedVR Unshaded
Maximum Intensity Projection(MIP)
LMIPMIP
MIP: Maximum Intensity Projectionボリューム(3次元画像)
↓ 光線上の最大値を選択可視化画像
光線上のプロファイル
最大値光線方向
光線ボリューム
2
LMIP: Local Maximum Intensity Projection
ボリューム(3次元画像) ← しきい値
↓ 光線上の最初の極大値を選択(しきい値以上)
可視化画像
Y. Sato, et al.,JCAT,22(6), 1998.
光線方向
しきい値
極大値
最大値
光線上のプロファイル
光線
ボリューム
Surface Rendering
Surface Renderingボリューム(3次元画像) ← しきい値
↓
表面形状モデル ←表面(面素)の色・材質
光源(色・方向)
↓
可視化画像
モデリング:マーチンキューブ法
光源
面素
法線レンダリング
ボリューム
モデリングの原理: マーチンキューブ法
高解像度3次元形状モデリング手法W.E. Lorensen and H. E. Cline,Computer Graphics,21(3), 1987.
原画像に適用 二値画像に適用
モデリングの原理: マーチンキューブ法
1次元マーチンキューブ(インターバル)法離散点での濃淡値を線形内挿して、2次元空間にプロットし、
しきい値に対応する直線で切った切断点 (等高点)
しきい値
等高点 等高点 等高点位置は連続値
モデリングの原理: マーチンキューブ法
2次元マーチンキューブ(スクエア)法3次元空間のしきい値平面で切った切断輪郭 (等高線)
しきい値平面等高点
等高点位置は格子線上
等高線
等高線位置はサブ画素精度
3
2次元マーチンキューブ(スクエア)法等高点から等高線へ
等高点
等高線
モデリングの原理: マーチンキューブ法
3次元マーチンキューブ法4次元空間のしきい値超平面で切った切断表面(サブボクセル精度の等高面)
3次元マーチンキューブ法等高点から等高面へ
等高点
等高線
3次元マーチンキューブ法等高点から等高面へ
Volume Rendering
VR ShadedVR Unshaded
Volume Rendering: Unshaded (陰影なし)
ボリュームデータVolume Redering画像
アルファブレンディング
ボクセルの色(濃淡値)
不透明度(Opacity)
ボクセル値のヒストグラム
色・不透明度マップ
光線ボリューム
ボクセル値
4
不透明度合成の原理:アルファ・ブレンディングボクセル =半透明の色つきゼリー
光線 (強さ 1)
( 1ーαR) ( 1ーαG) ×αB×B
( 1ーαR)×αG× G
αR×R
色, 不透明度 (0~1.0)B ,αB
G ,αG
R ,αR
各ボクセルの画素値への寄与
+
+
光線に対応する画素値
透過した光線の強さ×不透明度×色
演習問題 C:光線に沿ったアルファブレンディングの一般式をかけ.光線に沿ってN個のボクセルがあるとし,i (1~N)で参照する.i = 1が最も視点に近いとする.また,不透明度をαi,色をCiとする.
Volume Rendering: Shaded (陰影つき)ボリュームデータ Volume Rendering画像
陰影つきアルファブレンディング
3次元法線データ
表面(面素)の反射特性光源の方向
光源
ボクセル
法線
ヒスト
グラム
グラディエントの大きさ
不透明度
色・不透明度マップ
CT値
不透明度
ボクセル色
グラディエント・ベクトル
ボクセル法線の計算
ボクセル法線計算の原理:グラディエント(勾配)ベクトル
グラディエント・ベクトルの方向: 濃淡変化が最大となる方向
グラディエント・ベクトルの大きさ: 濃淡変化の大きさ
コントラスト大 コントラスト小
近傍ボクセルからの推定
法線=グラディエントベクトルの方向
異なる方向
陰影つきアルファブレンディング
( 1 ーα1) ( 1 ーα2) ×α3×cosθ3× C3
( 1 ーα1) ×α2×cosθ2× C2
1 ×α1×cosθ1× C1
各ボクセルの画素値への寄与=
+
+
光線に対応する画素値
透過した光線の強さ×不透明度×陰影係数×色
光線(入射光の強さ 1)
色(C)
C1,α1C2,α2
C3,α3
不透明度
(α)
光源
法線
θ1
θ3
θ2
法線
法線
法線: 面の方向(単位ベクトル)
ボリュームグラフィックス法の比較脳血管3次元像の例
SR
VR Unshaded LMIP
VR Shaded
MIP
5
ボリュームグラフィックス
フリーソフト
Visualization Toolkit (VTK) 開発元:GE (General Electric) 動作環境: Unix, Windows http://www.kitware.com機能: SR, VR (Shaded, Unshaded) , 種々の3次元画像解析ツール特徴: C++クラスライブラリ。Tcl/Tk スクリプト言語をサポート。
Volpack 開発元:スタンフォード大学動作環境: Unix http://graphics.stanford.edu/software/volpack/機能: VR (Shaded) 特徴: C関数ライブラリ。
不透明度関数設定におけるグラディエントの利用可能。
SGI Volumizer 開発元:SGI動作環境: IRIX6.3以降 (SGIマシンのみ)機能: VR(Unshaded) , 種々の3次元画像処理ツール特徴: C++クラスライブラリ。 SGIハードウエアレンダラーをサポート
VG (Volume Graphics) プログラム演習
平行投影,超楕円体,回転,アルファブレンディング,
グラディエントベクトル,拡散反射
VGの原理: プログラム演習 (VG)平行投影,超楕円体,拡散反射
投影(カメラ)モデル:平行投影
(x, y, z)(x’, y’)
x
y
z投影面
x’ = xy’ = y
物体形状表現: 超楕円体
物体材質表現:拡散反射成分のみ
問題:以上の条件で,超楕円体の5つのパラメータ,回転パラメータ,および光源の方向
を変化させて陰影つきボリュームレンダリング画像を生成できるプログラムを作り,方法・結果をレポートにまとめよ.
光源:平行光線
カメラ座標系を実世界座標系と考える.
O
× ×
× ×
×
超楕円体ボリュームの生成:1
× ×× ××
× ×× ××
楕円体
超楕円体
陰関数表現
パラメトリック表現
パラメトリック表現
問題1 超楕円体の陰関数表現を導け.
超楕円体ボリュームの生成:2
超楕円体の陰関数表現を以下とする
F (x, y, z) = 1
128×128×128(1283 )の3次元配列を用意する.メモリに余裕があれば,2563でもよいし,メモリが足りな
ければ643でもよい.
3次元配列の各要素に,F (x, y, z) > 1 (Outside) のときは,0,それ以外 (Inside) は100を入れる.
回転させて超楕円体のボリューム生成を行うためには,回転行列をかけてから上の処理を行う.
ボリュームの平滑化入力ボリューム(配列): I (i, j, k)平滑化ボリューム(配列): J (i, j, k)
J (i, j, k) = (1/27) I (i+p, j+q, k+r)∑ ∑p = -1 q = -1 r = -1
∑1 1 1
一様平均による平滑化を何回か繰り返す
(一様平均による平滑化)
Jn (i, j, k) = (1/27) Jn-1 (i+p, j+q, k+r)∑ ∑p = -1 q = -1 r = -1
∑1 1 1
J0 (i, j, k) = I (i, j, k)
問題2:一様平均による平滑化をn回繰り返すと,どんな平滑化になっているか? (n が大きくなるとある有名な関数の重み平均に近づく.)
6
グラディエントベクトルの計算平滑化ボリューム(配列): J (i, j, k)グラディエントボリューム(配列)
x成分: Gx (i, j, k) = J (i+1, j, k) J (i-1, j, k)-
問題3: y成分(Gy)とz成分(Gz)は,どのように計算するか?
法線方向: n = (Gy, Gy, Gy) / Sqrt(Gx2+Gy2+Gz2)グラディエント強度: Sqrt(Gx2+Gy2+Gz2)
(i, j, k) は,連続変数 (x, y, z) の離散変数に対応.
y成分: Gy (i, j, k) = J (i, j +1, k) J (i, j-1, k)-
z成分: Gz (i, j, k) = J (i, j, k +1) J (i, j, k-1)-
陰影つきアルファブレンディング
( 1 ーα1) ( 1 ーα2) ×α3×cosθ3× C3
( 1 ーα1) ×α2×cosθ2× C2
1 ×α1×cosθ1× C1
各ボクセルの画素値への寄与=
+
+
光線に対応する画素値
透過した光線の強さ×不透明度×陰影係数×色
光線(入射光の強さ 1)
色(C)
C1,α1C2,α2
C3,α3
不透明度
(α)
光源
法線
θ1
θ3
θ2
法線
法線
面法線方向 n (単位ベクトル)問題4:光線に沿った陰影つきアルファブレンディングの一般式をかけ.光線に沿ってN個のボクセルがあるとし,k (1~N)で参照する.k = 1が最も視点に近いとする.また,不透明度をαk,色をCkとする.
光源方向 s (単位ベクトル)
不透明度関数の設定色は,例えば「白」に固定する.
不透明度は,例えば以下のようにする.
ボクセル値0
1不透明度
グラディエント強度0
1不透明度
a b
c 例えば,a=40, b=60, c=0.5
実験項目および考察事項
• 超楕円体のパラメータ,回転パラメータを変化させてボリュームレンダリングせよ.
• 光源の方向を変化させよ.• 一様平均による平滑化の回数を変化させよ.• 不透明度関数を変化させよ.• その他,各自,創意工夫を加えて実験を行うこと.
• 以上の実験結果に考察を加えよ.
CV (Computer Vision)の原理
画像からの3次元計測の基本原理カメラキャリブレーション
3次元データ処理・イントロダクション
CG (Computer Graphics) CV (Computer Vision)
カメラ
画像
3次元世界
コンピュータグラフィックス(Computer Graphics: CG)3次元世界モデル→画像
光源
物体
コンピュータビジョン(Computer Vision: CV)画像→3次元世界モデル
7
Computer Graphics (CG)3次元仮想世界モデル → 仮想画像
Computer Vision (CV)実画像 → 3次元実世界モデル
CV + CG (Mixed/Hybrid Reality複合現実感)実画像 → 3次元実世界モデル + →
3次元仮想世界モデル
リアリスティックな仮想画像
(実+仮想)画像
CV CG
CV + CG (Mixed Reality 複合現実感)実例1: PlayStation2: FIFASOCCER
CV + CG (Mixed Reality 複合現実感)実例1: PlayStation2: FIFASOCCER
実画像 → 3次元(実)運動モデル
+ →
3次元(仮想)形状モデル
リアリスティックな仮想画像
(実+仮想)画像
CV CG
モーションキャプチャー
CV + CG: モーションキャプチャー実例1: PlayStation2: FIFASOCCER
(赤外線反射)マーカ
赤外線発光装置+赤外線カメラ
赤外線発光装置
赤外線ビデオカメラ
マーカの3次元運動を複数のカメラで計測する.
モーションキャプチャーの原理マーカの3次元運動を複数のカメラで計測する.
カメラ座標系
(x, y, z)(x’, y’)
x
y
z
f焦点距離
投影面
xy面
モーションキャプチャーの原理
投影(カメラ)モデル: 中心投影(透視投影)
投影中心
投影面
8
モーションキャプチャーの原理3D from 2D → 2D from 1D3次元運動を2次元画像で計測する.
2次元運動を1次元画像で計測する.
モーションキャプチャーの原理2D from 1D: 2次元運動を1次元画像で計測する.
マーカa
カメラ2
カメラ3
投影中心
投影面(投影線)
X
Y
画像3 画像2 画像1
カメラ1
マーカaの像
2次元世界座標系 (X, Y)
マーカaの像
モーションキャプチャーの原理マーカの2次元世界座標系での位置計測
マーカ a の位置
カメラ2 カメラ座標系の位置・方向
X
Y カメラ1
予め知っておかなければならないデータ
画像2の座標軸 v 画像1の座標軸 u
マーカの像の位置va
マーカの像の位置ua
画像から計測されるデータ
カメラキャリブレーション(カメラ座標系が世界座標系のどこにあるか?)
カメラ座標系の位置・方向
投影中心投影中心
投影線投影線
モーションキャプチャーの原理カメラキャリブレーション
マーカ a の位置 (Xa, Ya)X
Y 1次元カメラ座標系
画像(投影線)の座標軸 u
マーカaの像の位置ua
投影中心
投影線u
w
f焦点距離
O
光軸
ua = Xa’
f + Ya’
Xa’Ya’
XaYa
= cosθ
cosθ-sinθ
sinθtxty
+
未知数が4つ1点の対応関係から1つの式
2次元世界座標系
モーションキャプチャーの原理カメラキャリブレーション
3次元世界座標系
投影中心の位置
投影面の位置・方向
2次元カメラ座標系
モーションキャプチャーの原理カメラキャリブレーション
既知の計測点位置 xi
カメラ座標系の位置 t・ 回転R
X
Y 未知の焦点距離 f
画像の座標軸
マーカの像の位置ui
Z
予め,答え(既知の3次元位置と像の位置) xi , uiを与えて,未知パラメータ f, t, R を推定
f (xi , ui ; f, t, R) = 0xi , ui の組を多数集めて,最小2乗当てはめを行なう.
3次元世界座標系
2次元カメラ座標系
9
CV + CG: モーションキャプチャー実例2: 手術ナビゲーション(阪大田村研)
実画像 → 3次元(実)運動モデル
+ →
3次元(仮想)形状モデル
リアリスティックな仮想画像
(実+仮想)画像
CV CG
モーションキャプチャー(手術器具の動き)
CV + CG: マーカなしの3次元運動復元実例3: カーネギーメロン大学(CMU)プロジェクト
3次元(実)運動モデル実画像 → +
3次元(実)形状モデル
カメラ
CV + CG: 4次元ビデオに向けて
手術の4次元記録スポーツなどの4次元記録
阪大手術ナビゲーションプロジェクト
CMUプロジェクト
CGゲーム
授業(佐藤担当分)に対する意見を述べよ. 1.良かった点,改善すべき点 2.来年以降の授業に向けて,特に要望したい点 3.佐藤担当分と他の先生担当分の題材の関連性 やバランスに対する問題点など 4.その他,感想なんでも
マルチメディア工学・情報論
授業の感想について