距離を調べる - tokushima u1 距離を調べる 画像の距離(奥行き)の知覚...

15
1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる. 物の見方についての知識があるため. 機械(コンピュータ)では,1枚の画像のみから奥行きを認識 することは難しい. しかし,人間でも,片目のみでは,両目の場合よりも奥行きを認識 することは難しくなる.

Upload: others

Post on 23-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

1

距離を調べる

画像の距離(奥行き)の知覚

1枚の画像中に写っている物体の奥行き・前後関係について,人間は見ればすぐに分かる.

→物の見方についての知識があるため.

機械(コンピュータ)では,1枚の画像のみから奥行きを認識することは難しい.

しかし,人間でも,片目のみでは,両目の場合よりも奥行きを認識することは難しくなる.

Page 2: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

2

人間の目が2つある理由左右の目では,物の見え方が異なる.•右目では,より左側に,左目では,より右側に物が見える.(そのずれを,「視差」と呼ぶ)

•遠くの物の視差は小さく,近くの物の視差は大きい.

→これにより,人間は物体の奥行き・前後関係を,より正確に把握することができる.(物体の奥行き知覚は,これ以外のこと(目のピント調節機構等)も関係している)

機械の場合も,2台以上のカメラで画像を撮影することで,(人間よりも正確に)奥行き・距離を検出することができる.

右目の画像左目の画像

Page 3: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

3

画像と空間の関係

透視変換

焦点(ピンホール)

撮像面

レンズ 撮像面 (CCD)

焦点

単一凸レンズモデルピンホールカメラモデル

X

YZ x

y

O

P(X,Y,Z)

p(x, y)

焦点距離 f視点(焦点)

光軸

fZ

Yy

fZ

Xx

• 距離 Zが大きく(遠く)なる程,(x, y)は小さくなり,Z が小さく(近く) なる程,(x, y) は大きくなる.

• 画像1枚だけでは,(x, y) から,(X,Y,Z) を求めることは不可能.

Page 4: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

4

ステレオ画像(両眼ステレオ法)2台のカメラを左右に並べて画像を撮影.3次元空間中の点 P(X,Y,Z) は,左カメラ画像上 ,右カメラ画像 に投影されているとする.(左右のカメラの光軸が平行で,焦点距離が同じであれば,投影点の y座標は同じになる.)

3次元座標P(X,Y,Z) の算出

),( yxp ll

),( yxp rr

bxx

yY

bb

xx

xX

bxx

fZ

rl

rl

l

rl

2

X

Y

ZOl

fOr

),( yxp ll

),( yxp rr

P(X,Y,Z)

lx rx

b/2 b/2

P(X,Z)

b: 基線長(2つの視点間の距離)

: 視差rl xx

Page 5: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

視差を求める左の画像中の各点について,右の画像中での対応する点を求めれば,写っている物体までの距離や形状を求めることができる.

実は,左右の画像間での対応点を正確に求めることが最も難しい.

対応点の算出方法→ブロックマッチング(テンプレートマッチング)1. 左画像のある対象画素を中心としたブロックを決める.2. そのブロックを右画像上で左右に動かしてマッチングを行う(ブロック同士の類似度を求める)

3. 最もマッチする(類似度が高い)位置を対応点とする.4. 上記の操作を左画像上の全ての点について行う.

rxlx lx

を探索左画像 右画像

Page 6: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

6

類似度の計算方法

•差の絶対値の和 (SAD (Sum of Absolute Difference))

0 に近くなる程,類似度は高く,大きくなる程,類似度は低い.計算は速いが,左右の画像間で明るさが異なると間違った結果になる.

•相関係数

1 になる程,類似度は高く,-1 になる程,低い.計算に時間がかかるが,左右の画像間で明るさが多少異なってもマッチングが可能.

i j

jirjil ydxxfyxf ),(),(

i j

rjir

i j

ljil

i j

rjirljil

fydxxffyxf

fydxxffyxf

22

),(),(

),(),(

Page 7: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

距離画像

求められた距離の値を,明るさで表わした画像

距離と視差は反比例の関係があるので,視差の分布を求めても,ほぼ同じ結果.

距離(視差)の算出結果とパラメータの関係

•マッチングを行う時のブロックの移動量大きくすると,間違ったマッチング結果になりやすい.小さくすると,正しい結果になりやすいが,時間がかかる.

•ブロックの大きさ小さくすると,間違ったマッチング結果になりやすい.大きくすると精度は向上するが,時間がかかる.

Page 8: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

8

ステレオ法の問題点と解決策視差(対応点)が求められない場合•模様がない領域類似度が高い部分が多く出るため,マッチング箇所を誤りやすい.

•周期的な模様この場合も,類似度が高い部分が多く出るため,マッチング箇所を誤りやすい.

•オクルージョン(隠れ,隠蔽)物体の端の部分等は,一方の画像では写っていても,他方では写っていない場合がある.そのような場合では対応点を見つけることができない.

解決策•カメラの配置を増やす左右と上下に配置(三眼視),より多くの位置に配置(マルチベースラインステレオ)

•カメラ間の位置や焦点距離の算出,レンズ歪みの補正も必要

Page 9: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

その他の距離・形状計測方法(1)

9

近赤外線プロジェクタ 近赤外線カメラRGB カメラ

• Kinect, Xtion, 3D Sense

赤外線プロジェクタから,特定のパターンを物体表面に投影し,それを赤外線カメラで撮影.その画像中のパターンと投影パターンとの対応を求め,距離を計測.色を得るためには,通常のカメラも必要.

Kinect

Xtionhttp://cubify.com/en/Products/Sense

Page 10: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

その他の距離・形状計測方法(2)

10

•レーザーレンジファインダレーザー光線を物体表面に当て,反射して戻ってくるまでの時間を計測し,装置から物体表面までの距離を求める.レーザー光線を様々な方向に向ける必要があるが,現在は,高速な計測が可能.色を得るためには,通常のカメラも必要.

• Shape from Shading, Photometric stereo法物体表面に対し,様々な方向から光源を当てて画像を撮影し,物体表面の明るさの変化から形状を求める.色や光沢も同時に求めることが可能.

Page 11: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

11

ステレオ法と3Dテレビ

•ステレオ法:2台(以上)のカメラで撮影した画像から,3次元情報(X,Y,Z)を求める.

• 3Dテレビ:何らかの方法で,人間に右目用の画像と左目用の画像を提示する.(それを見た人間が頭の中で奥行き感,立体感を感じる.3次元情報を求めたり,表示したりしている訳ではない.)

※ステレオ法での撮影方法は,3Dテレビで表示する画像の撮影方法と同じ.

右目画像左目画像

Page 12: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

3Dテレビでの映像提示方法

専用眼鏡を用いる場合

•偏光フィルター方式左右の画像を偏光が異なる光で投影する.眼鏡の左右は異なる向きの偏光板を取り付けており,それぞれ対応する画像のみ通過させる.眼鏡は軽く安価.映画館向け.

•アクティブシャッター方式左右の画像は,テレビから交互に表示される.一方,眼鏡は液晶パネルでできており,テレビからの表示に同期して,左右の一方を透明に,もう一方を暗くすることで,対応する画像のみを見せるようにする.眼鏡はやや大掛かりで高価になりやすい.現在の3Dテレビは,この方式が多い.

Page 13: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

13

眼鏡無し(裸眼)の場合•レンチキュラー方式•パララックスバリア方式いずれも,まず,左右の画像を,細長い縦長の短冊上に分割し,左右交互に配置した画像を表示する.レンチキュラー方式では,レンチキュラーシートと呼ばれる,細長いかまぼこ状のレンズを並べたようなシートを画像の前に配置し,分割された画像を左右それぞれの特定の位置で結像させる.パララックスバリア方式では,左右交互に配置した画像を,スリットを通して見ることで,右の画像のみ,左の画像のみをそれぞれの目で見る.(スリット自身を,画像と重ねた別の液晶パネルで実現することで,3D,2Dの両方に対応した表示パネルにすることができる)いずれも,裸眼で可能であるが,特定の位置に両目が配置されないと,立体的に見えない.また,横方向の解像度が,通常の半分またはそれ以下になるという問題もある.

Page 14: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

関数とサンプルプログラムの説明

ip.cpp

• ipStereoDispCor():視差画像の算出:モノクロ画像, 相関係数による類似度

• ip13-1_main.cpp:ステレオ法による視差画像の算出画像データ:st-l1.bmp(左画像), st-r1.bmp(右画像)を使用.• ipStereoDispSAD():視差画像の算出:モノクロ画像,差の絶対値の和による類似度(問題用)

• ipStereoDispColorSAD():視差画像の算出:カラー画像,差の絶対値の和

による類似度(問題用)

14

Page 15: 距離を調べる - Tokushima U1 距離を調べる 画像の距離(奥行き)の知覚 1枚の画像中に写っている物体の奥行き・前後 関係について,人間は見ればすぐに分かる.

問題

15

•問題13-2ipStereoDispColorSAD()の類似度計算部分を作成し,カラーのステレオ画像について,視差を求められるようにしなさい.なお,main()関数では,画像読み込み時にカラーで読み込むように変更しておくこと.

•問題13-1ipStereoDispSAD() の類似度計算部分を作成し,視差を求められるようにしなさい.( ipStereoDispCor()よりも計算時間が短くなっていることも確認しておくこと)