...

修士論文 ステレオカメラを用いた 任意視点画像のリアルタイム生成 塚本拓

by user

on
Category: Documents
3

views

Report

Comments

Transcript

修士論文 ステレオカメラを用いた 任意視点画像のリアルタイム生成 塚本拓
NAIST-IS-MT9851070
修士論文
ステレオカメラを用いた
任意視点画像のリアルタイム生成
塚本 拓
2000 年 2 月 14 日
奈良先端科学技術大学院大学
情報科学研究科 情報システム学専攻
本論文は奈良先端科学技術大学院大学情報科学研究科に
修士 (工学) 授与の要件として提出した修士論文である。
塚本 拓
指導教官:
小笠原 司 教授
横矢 直和 教授
今井 正和 助教授
ステレオカメラを用いた
任意視点画像のリアルタイム生成
∗
塚本 拓
内容梗概
複数視点の画像から3次元形状を再構成する研究は,古くからコンピュータビ
ジョンの研究において盛んに行われてきた.近年の急激な計算機の計算能力およ
び記憶容量の向上により,3次元形状の再構成をオンライン処理で実現すること
も可能になりつつある.例えば,近年の汎用 CPU が持つマルチメディア命令を
用いたり,専用の画像処理ハードウェアを開発することにより,極めて計算量の
多いステレオマッチングをリアルタイムで行い,デプスマップ得ようとする研究
がある.
3次元形状の再構成のアプリケーションの1つとして,任意視点からの仮想的
な画像の生成がある.従来の任意視点画像生成の研究はオフライン処理によるも
のがほとんどであったが,この処理のオンライン化はVRの分野における重要な
技術になると考えられる.しかし,オンラインの3次元形状復元の研究は,復元
の精度を上げることに主眼を置いており,デプスマップを得る以上の処理を実現
しているものはほとんどないのが現状である.
本論文ではこのような現状を踏まえて,たとえ限定品質であってもリアルタイ
ムに任意視点画像が生成可能なシステムを構築することを目的とする.本システ
ムではステレオマッチングには市販の汎用並列画像処理プロセッサを用いる.ま
∗
奈良先端科学技術大学院大学 情報科学研究科 情報システム学専攻 修士論文, NAIST-ISMT9851070, 2000 年 2 月 14 日.
i
ずはじめに,1組のステレオカメラによって得られたデプスマップを用いて,リ
アルタイムで任意視点画像生成する手法について述べ,次に,複数組のステレオ
カメラを用いた任意視点画像生成への拡張について述べる.
キーワード
リアルタイムビジョン, ステレオビジョン, 視差画像, 並列画像処理
ii
Realtime Virtual View Generation based on
Stereo Camera System∗
Taku Tsukamoto
Abstract
3D shape reconstruction from multiple views has been studied in computer
vision researches for a long time. Due to the rapid improvement on the calculation and storage capability of computers in these days, on-line processing of
reconstruction is becoming possible. For example, some researches utilize multimedia functions of recent general-purpose CPU, and others develop novel vision
processing hardwares specialized in the template matching function in order to
obtain depth maps in real-time.
Generation of virtual images from arbitrary viewpoints are one of the applications of 3D shape reconstruction. Most of such researches have been examined in
off-line processing so far, and the on-line implementation of it is regarded to be
an important VR technology. However researches on the on-line depth map generation put their emphasises on the improvement in the quality of the obtained
depth maps, and not many of them refer to their applications.
The aim of this thesis is to develop a system which can generate virtual images
from arbitrary viewpoints in real-time. The system uses off-the-shelf parallel
vision processor for stereo matching. In this paper, the approach in which a
stereo camera pair is used to get a depth map is firstly described. Then it is
extended to use multiple stereo pairs.
∗
Master’s Thesis, Department of Information Systems, Graduate School of Information
Science, Nara Institute of Science and Technology, NAIST-IS-MT9851070, February 14, 2000.
iii
Keywords:
Real-time Vision, Stereo Vision, Depth Map, Parallel Image Processing
iv
目次
1. はじめに
1
2. 本研究の概要
3
2.1 本研究の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2 関連研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.3 本研究の位置付け . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.4 システム構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
3. 単独ステレオカメラによる任意視点画像生成
5
3.1 ステレオカメラによる奥行き情報の取得 . . . . . . . . . . . . . .
5
3.2 並列画像処理プロセッサ IMAP-VISION . . . . . . . . . . . . . .
5
3.3 ハードウエア構成 . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
3.3.1
ステレオカメラユニット . . . . . . . . . . . . . . . . . . .
8
3.3.2
ステレオ画像入力方法の検討
. . . . . . . . . . . . . . . .
9
3.3.3
フィールド単位での画像の多重化 . . . . . . . . . . . . . .
10
3.3.4
フィールド多重化装置 . . . . . . . . . . . . . . . . . . . .
11
3.3.5
3 次元画像視覚化装置 . . . . . . . . . . . . . . . . . . . .
12
3.4 ソフトウエア構成 . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.4.1
IMAP-VISION のソフトウエア開発 . . . . . . . . . . . . .
16
3.4.2
ホストコンピュータのソフトウエア開発 . . . . . . . . . .
17
3.5 実験と結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
3.5.1
デプスマップ生成 . . . . . . . . . . . . . . . . . . . . . . .
21
3.5.2
任意視点画像生成 . . . . . . . . . . . . . . . . . . . . . . .
24
4. 複数ステレオカメラによる任意視点画像生成
30
4.1 単独ペアから複数ペアへの拡張 . . . . . . . . . . . . . . . . . . .
30
4.2 座標系の統一 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.2.1
実際の運用を考慮した手法の検討 . . . . . . . . . . . . . .
31
4.2.2
カメラキャリブレーション . . . . . . . . . . . . . . . . . .
31
v
4.3 奥行き画像の高品位化 . . . . . . . . . . . . . . . . . . . . . . . .
35
4.3.1
視差の信頼性 . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.3.2
ピラミッド法 . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.3.3
LR-Check 法 . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.4 ハードウエア構成 . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.4.1
複数ステレオカメラ信号のキャプチャ
. . . . . . . . . . .
39
4.4.2
ライン・フィールド多重化 . . . . . . . . . . . . . . . . . .
39
4.5 ソフトウエア構成 . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.5.1
LR-Check 法の実装 . . . . . . . . . . . . . . . . . . . . . .
40
4.5.2
ポリゴンの構成 . . . . . . . . . . . . . . . . . . . . . . . .
40
4.6 実験と結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
4.6.1
実験環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
4.6.2
単独ステレオカメラでの 3 次元形状復元 . . . . . . . . . .
44
4.6.3
複数ステレオカメラによる 3 次元形状復元 . . . . . . . . .
45
4.6.4
複数ステレオカメラによる任意視点画像生成 . . . . . . . .
45
5. おわりに
55
謝辞
56
参考文献
57
付録
59
A. ラインフィールド多重化装置の製作
59
A.1 全体構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
A.2 実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
A.3 調整 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
vi
図目 次
1
Parallel Image Processor IMAP-VISION RVS-D-10G . . . . . . .
6
2
Structure of IMAP-VISION RVS-D-10G . . . . . . . . . . . . . .
7
3
Stereo Camera Unit . . . . . . . . . . . . . . . . . . . . . . . . . .
8
4
Interlace Scanning in NTSC. . . . . . . . . . . . . . . . . . . . . .
11
5
Block Diagram of Field Multiplexer . . . . . . . . . . . . . . . . .
12
6
Implementation of Field Multiplexer . . . . . . . . . . . . . . . .
13
7
Field Multiplexed Stereo Image . . . . . . . . . . . . . . . . . . .
14
8
Example of Field Multiplexed Stereo Image
. . . . . . . . . . . .
14
9
System Configuration . . . . . . . . . . . . . . . . . . . . . . . . .
15
10
Internal Memory Allocation . . . . . . . . . . . . . . . . . . . . .
18
11
Flow of Depth Map Generation . . . . . . . . . . . . . . . . . . .
19
12
Pixel Plot Method and Texture Mapped Scan Line Method . . . .
20
13
Depth Map Result . . . . . . . . . . . . . . . . . . . . . . . . . .
22
14
Distribution of SAD . . . . . . . . . . . . . . . . . . . . . . . . .
23
15
Genereted Virtual View Images by Pixel Plot Method (Left Shot)
25
16
Genereted Virtual View Images by Pixel Plot Method (Right Shot) 26
17
Genereted Virtual View Images by Texture Mapped Scan Line
Method (Left Shot) . . . . . . . . . . . . . . . . . . . . . . . . . .
18
28
Genereted Virtual View Images by Texture Mapped Scan Line
Method (Right Shot) . . . . . . . . . . . . . . . . . . . . . . . . .
29
19
Selecting Calibration Points . . . . . . . . . . . . . . . . . . . . .
34
20
Selecting Calibration Points in Camera Images . . . . . . . . . . .
34
21
Piramid Images . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
22
Depth Map of using Piramid method . . . . . . . . . . . . . . . .
37
23
LR-Check Result Images . . . . . . . . . . . . . . . . . . . . . . .
38
24
Block Diagram of Line/Field Multiplexer . . . . . . . . . . . . . .
41
25
Implementation of Line/Field Multiplexer . . . . . . . . . . . . .
42
vii
26
Experimental Environment of Genereted Virtual View Images by
Two Pairs of Stereo Camera . . . . . . . . . . . . . . . . . . . . .
44
27
Original Depth Map by Left Stereo Camera Unit . . . . . . . . .
46
28
Genereted Virtual View Images by Left Stereo Camera Unit . . .
46
29
Original Depth Map by Right Stereo Camera Unit . . . . . . . . .
47
30
Genereted Virtual View Images by Right Stereo Camera Unit . .
47
31
Genereted Merging Virtual View Images by Two Pairs of Stereo
Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
32
Genereted Virtual View Images by Two Pairs of Stereo Camera (1) 49
33
Genereted Virtual View Images by Two Pairs of Stereo Camera (2) 50
34
Genereted Virtual View Images by Two Pairs of Stereo Camera (3) 51
35
Genereted Virtual View Images by Two Pairs of Stereo Camera (4) 52
36
Genereted Virtual View Images by Two Pairs of Stereo Camera (5) 53
37
Genereted Virtual View Images by Two Pairs of Stereo Camera (6) 54
38
Field/Line Multiplexers
. . . . . . . . . . . . . . . . . . . . . . .
61
1
Typical Image Processing Performance . . . . . . . . . . . . . . .
7
2
Hardware and Software Specification of PC/AT Personal Computer 15
3
Experimental Condition and Result . . . . . . . . . . . . . . . . .
24
4
Distance Resolution . . . . . . . . . . . . . . . . . . . . . . . . . .
24
表目 次
viii
1. はじめに
現在,テレビスタジオなどで視点の異なる映像を撮影する場合には,複数テレ
ビカメラからの信号をスイッチャーで切替えるという方法が一般的に用いられて
いる.この方法では切替える前に,あらかじめテレビカメラを希望する視点とな
るようにカメラ位置,パン・チルト角,画角,フォーカスなどを合わせておく必
要がある.ニュース番組などでは登場人物がせいぜい数人で動きが少ないため,
数通りのパターンをあらかじめ記憶しておけば十分である.事実,NHK の定時
ニュース番組では電子台本システムにカメラ制御情報を埋め込み,カメラアング
ル変更の自動化を実現している.しかし,一般的にはカメラ 1 台に 1 人のオペ
レータがついて適宜,カメラ位置,パン・チルト角,画角,フォーカスなどを調
整する必要がある.この場合,予期出来ないイベントが起きた場合,人的操作の
ためどうしても遅れがちで,良い絵が撮れないことが多い.
この問題に対処するため,できるだけ多くの固定カメラを用いて対象をあら
ゆる角度から撮影するという手法がある.この手法では全てのカメラ画像を録画
しておけば対象に関するあらゆる事象も逃さず記録することが可能である.しか
し,有限個のカメラでは視点移動が離散的になってしまうという致命的な欠点が
ある.視点を滑らかに移動可能であることは演出上欠くことの出来ない要素であ
る.従って有限個のカメラ画像からあらゆる視点の画像を生成することが求めら
れている.
これを実現するための手法はこれまでに多く提案されている.しかし,ほとん
どの研究はオフライン処理が前提である.生放送に使えないのは当然のこととし
て,ユーザーの立場からしてもリアルタイムに結果が出ないのではインパクトに
乏しくなかなかアプリケーションに結びついていないというのが現状である.例
え放送に耐えるような十分な品質が得られなくともリアルタイムに結果を生成可
能なシステムの提案がまず必要ではないかと考える.
リアルタイムとは,NTSC におけるビデオレート (30 フレーム毎秒) で画像が
生成可能,あるいはそれに近いレートで生成可能であることをいう.具体的な手
法にはステレオカメラにより物体の3次元形状を計測し復元するという,いわゆ
る”Model-Based Rendering”の手法を用いる.その理由として従来,計算量が膨
1
大でリアルタイム化が困難とされていたステレオ対応点探索処理が近年,専用の
ハードウエアはもとより汎用 CPU 上で走るソフトウエアでもリアルタイム処理
可能であるという研究が数多くされている [1],[2] . また,レンダリングにおいて
もパーソナルコンピュータ用の3次元グラフィック描画ハードウエアが飛躍的に
進歩しており,それらを組み合わせればリアルタイム化への希望が持てると考え
たからである.想定される処理の流れは以下の通りである.
1. 複数のステレオカメラを用いて,異なる視点からのステレオ画像を得る
2. それぞれの視点からのステレオ画像をもとに並列画像処理プロセッサを用
いてデプスマップを求める
3. 複数のデプスマップを統合し環境の 3 次元形状を再構築する
4. 指定されたカメラ位置・姿勢でのレンダリングを行なって任意視点画像を
出力する
これらの処理全てを実時間処理できて初めて任意視点画像のリアルタイム生成
が現実のものとなる.
2
2. 本研究の概要
2.1 本研究の目的
現在実現しうるハードウエアにおいて任意視点画像をリアルタイムに生成可能
であることを示すこと.
2.2 関連研究
計算機の計算能力や大量のデータを扱う能力が向上したため,複数視点の画像
から3次元形状を再構築するテクノロジは最近盛んにに研究が行われている.複
数視点の画像から3次元形状を再構築することはロボットビジョンやマシンビジョ
ンにおいて現実のシーンやオブジェクトの形状を認識するためによく用いられて
いる.これらのアプリケーションにおいては3次元形状の獲得そのものが再構築
の目的である.
3次元形状復元の新しいアプリケーションとして複数視点の画像から任意の視
点の画像を生成するというものがある.任意視点の画像は3次元形状復元された
モデルをもとに入力された画像の座標に一致するピクセルカラーをレンダリング
することによって得る.3次元形状復元の手法は新しい視点の画像を生成するため
の3Dモデルの構築に適用することができる.このような3次元モデルを構築して
新たな視点の画像を得ようとするアプローチは一般に”Model-Based Rendering”
と呼ばれている.3次元情報を得るための手法については数多くある.
一方で”Image-Based Rendering”と呼ばれる物体の3次元形状を復元しないで
新しい視点の画像を得る手法が研究されている [3],[4] .Image-Based Rendering は
2Dの画像処理に基づくものであるので Model-Based Rendering において問題と
なる3次元形状復元誤差の影響によるクオリティ低下がない.このように入力さ
れた画像のクオリティが維持できる点が Image-Based Rendering の特長である.
”Model-Based Rendering”の手法の一例として CMU の金出らによって提唱さ
れている Virtualized Riality[5] がある.”3D Room”と呼ばれる部屋の壁面状に 51
台のカメラを設置し,その全ての映像信号をパーソナルコンピュータによって同
時キャプチャする.キャプチャした画像に対してマルチベースラインステレオを
3
構成し複数のデプスマップを得る.その得たデプスマップを統合し3次元形状を
復元しテクスチャを張ることで対象の3次元イメージを再構築するというシステ
ムである.最近の成果ではモーフィング手法を組み入れることでよりリアルな任
意視点画像生成に成功している.
2.3 本研究の位置付け
本研究はこれまでオフライン処理に甘んじていた関連研究とは異なり品質をあ
る程度犠牲にしてでもリアルタイムで任意視点画像を生成する手法及びハードウ
エアを提案するものである. また,リアルタイム生成可能なことで新たなアプリ
ケーション開発への布石となることが期待される.
2.4 システム構成
想定されるシステム構成は次のようなものである.どのカメラにも写らない部
分の画像生成は不可能であるので,オクルージョンが生じないよう可能な限り多
くのカメラで撮影対象を取り囲む.ステレオの構成としてモノカメラの組み合わ
せによるマルチベースラインステレオや独立したステレオカメラの組み合わせが
考えられる.撮影されたステレオ画像は相関演算などの手法を用いて対応点探索
しデプスマップを得る.このデプスマップを統合して対象の 3 次元形状を復元し,
その復元された形状に対して仮想カメラで撮影することにより任意の視点からの
画像を得る.
4
3. 単独ステレオカメラによる任意視点画像生成
3.1 ステレオカメラによる奥行き情報の取得
ステレオ視は人間の目と同様に2台のカメラにより撮影された画像を用いて三
角測量の原理により環境の奥行きを受動的に計測する手法である.2台のカメラ
によって得られた画像中で明るさが急激に変化しているエッジなどの特徴点を利
用して対応点を決定するので,明るさの変化が少ない物体表面の3次元情報が獲
得できないという重大な問題点があるものの,適用できる環境に対する制限が少
ないという特徴がある.
対応点探索には様々な方法が提案されているが,よく用いられている手法は2
つの画像間の相互相関を求め最も相関の高い個所を対応点とするものである.エ
ピポーラ拘束を用いることでこの相関演算の計算量を減らすことが出来るが,そ
れでも画像中の全ての点×視差探索範囲の点数だけ相関演算を必要とするのでリ
アルタイム化が困難な処理である.
この計算量の問題に対処するための方法として並列画像処理プロセッサ IMAP-
VISION を用いることを考えた.このプロセッサを用いる理由を以下に述べる.
1. ステレオ相関演算は局所的な処理であるので並列アーキテクチャへの親和
性が高い
2. 汎用の画像処理プロセッサであるので入手が容易で新たに独自ハードウエ
アを設計する必要がない
3. ホストコンピュータの CPU に負担がかからないので余った計算資源を別処
理に割り当てられる
3.2 並列画像処理プロセッサ IMAP-VISION
IMAP-VISION は NEC 製の画像処理用 CPU アレイとコントロールプロセッサ
LSI およびビデオインタフェースからなる PCI バス規格カードである (Fig. 1 ).
Fig. 2 に示すように 8bit CPU を 1 次元状に接続して 256PE(PE=Processor
5
Element) の 1 次元プロセッサアレイを構成している.PE は演算クロック 40MHz
で動作し,256PE で 10.24GIPS の最大性能を持つ.PE に対する命令はコント
ロールプロセッサから供給され,全 PE で同一の命令を同時に実行する,いわゆ
る SIMD (Single Instruction stream Multiple Data stream) 型の並列プロセッサ
となっている.PE 内部メモリのデータ転送速度 10.24GB/s の性能を有している.
しかし,内部メモリの容量は 1PE あたり 1KB で 256×240 の 8bit 画像 4 面程度
しか保持できない.外部メモリを用いれば同サイズの画像を 256 面以上保持でき
るがメモリ転送速度は内部メモリの 1/8 である.従って高速処理を行うためには
できる限り内部メモリのみで処理を完結させるようにする必要がある.Table 1
に IMAP-VISION による代表的な画像処理に要する時間を示す.
IMAP-VISION では画像の縦 1 列を 1 つの PE に担当させることで並列性を持
たせている.全 PE でライン数分だけの繰り返し処理を行うことによって全画面
の処理が完了することになる.また,通信オーバヘッドを伴うが他の PE のメモ
リも参照可能である.開発環境はアセンブリ言語に加えて 1DC1 をサポートして
いる.
Fig.1 Parallel Image Processor IMAP-VISION RVS-D-10G
1
C 言語に 1 次元アレイプロセッサ向け拡張を加えた言語で 1 次元アレイ上に配置・独立処理
される sep 型変数やそれに対する拡張演算子,制御構文などを持つ.
6
Local Bus
Control
Processor
PE
[0]
PE
[1]
PE
[2]
PE
[3]
PE
[255]
External
RAM
External
RAM
External
RAM
External
RAM
External
RAM
PCI Bus
Video
Interface
NTSC
Output
NTSC
Input
Fig.2 Structure of IMAP-VISION RVS-D-10G
処理
2 値化
処理時間 (ms)
対 33ms 比 (%)
0.036
0.11
3×3 ラプラシアンフィルタ 0.19
0.56
3×3 コンボリューション
0.65
1.96
90 度回転
0.51
1.53
拡大縮小
1.68
5.04
※処理対象画像は,すべて 256 × 240 画素の 8 ビット濃淡画像
Table 1 Typical Image Processing Performance
7
3.3 ハードウエア構成
3.3.1 ステレオカメラユニット
一般的に入手可能な NTSC カラー工業用ビデオカメラ SONY DXC-107A に焦
点距離 6mm,F 値 1.2 のレンズを装着したものを 2 つ用いてステレオカメラを
構成した.(Fig. 3 ) 使用レンズの焦点距離 6mm という値は肉眼でレンズ歪み
のそれほど気にならない程度でできるだけ広角な値を選定した結果である.ステ
レオベースラインは適当な値として 10cm とした.使用する画像処理装置の特性
上,エピポーラ線の平行化などの前処理は困難であるので平行ステレオ法を用い
る.また,5mm 厚のアルミ板を使用してカメラを強固に固定した.しかし,こ
のままでは CCD の取り付け位置や角の相違になどによる影響と思われるずれが
認められたので,紙などをカメラとアルミ板の間に挟んで簡易的に補正する必要
があった.
Fig.3 Stereo Camera Unit
8
3.3.2 ステレオ画像入力方法の検討
本システムでは 2 台の平行に配置された NTSC カメラによってステレオ画像
を取得する.しかし,IMAP-VISION(RVS-D-10G) は NTSC 入力 1 系統しか有し
ないため何らかの方法を用いて複数の NTSC 信号を入力しなければならない.
従来の研究においては複数のカメラの画像に対して処理を行うために複数のカ
メラと複数の画像処理装置を繋いで用いるという形態のステレオビジョンシステ
ムが多く用いられてきた [6],[7],[8] .しかし,複数の画像をそれぞれ個別のシステ
ムに取り込む場合,(1) マッチング処理のための画像転送や処理結果の統合にシ
ステム間の通信が必要となるために,オーバーヘッドが生じる,(2) カメラの数
と同数の画像処理装置が必要となり,システム構成が大きくなる,という欠点が
ある.本システムにおいても,画像処理装置として用いる IMAP-VISION はボー
ド間で画像転送するには低速な PCI バスを介して通信しなければならないため
IMAP-VISION の性能が生かせない,また比較的高価な画像処理装置でありカメ
ラ台数分だけ用意するのは現実的ではないという問題がある.
これに対して,一つの画像処理システムのフレームメモリに必要な画像が全て
含まれていればステレオ処理の高速化が期待できる上に,システム構成もシンプ
ルにすることができる.近年このような考えに基づき,これまでに複数の画像を
1 枚の画像内に収めて処理する研究が行なわれている.
稲葉ら [9] は,ステレオビューアと呼ばれるミラーを 1 台のカメラに装着し,画
面を 2 分割してステレオ視を可能にするシステムを考案したが,視野が半分に狭
くなる,2 つの視点間の距離が構造的に制限される,という欠点があった.細田
ら [10] は MaxVideo200(DataCube) を用いて 2 つの入力画像を横方向に圧縮して
1 枚の画像にしステレオ処理用の画像処理装置へ入力してるが,この圧縮処理の
ために時間遅れが生じてしまう,また視差の分解能に必要な横方向の解像度が半
分になってしまうという欠点がある.ほかにも市販の 4 画面画像合成装置を利用
したステレオシステムもあるが,一般に A/D,D/A 変換とメモリによってスキャ
ンコンバートする構成になっているためそのアナログ回路部の精度による変換誤
差や S/N 比の劣化が懸念される.また溝口ら [11] はロボティクルームのための
複数のカメラの画像をピクセル毎に多重化するシステムを試作しているが,ピク
9
セル毎の多重化には高速な画像の切替えが必要となる.
そこで本システムでは NTSC のフィールド周期ごとに 2 系統のビデオ信号を
時分割するという手法 [12] を採用する.この手法の特徴としてハードウエアが極
めてシンプルであるということに加え,A/D,D/A 変換の必要もなく信号劣化と
なる要素が少ないという点があげられる,これは左右のカメラの特性差が大きな
性能劣化を引き起こすステレオ相関演算においては好ましい性質であると考えら
れる.
3.3.3 フィールド単位での画像の多重化
NTSC 方式の映像信号は 2:1 インタレース(飛び越し走査)とよばれる走査方
式を採用している.これは,2 回の走査により一つの画面を構成するもので,初
めに奇数番目の走査線 (奇数フィールド) を走査し,次に偶数番目の走査線 (偶数
フィールド) を走査する (Fig. 4 ).このように 1 フレーム期間 (約 33.3ms) 内で
2 度走査すると,人間の残像効果により画面のちらつき(フリッカ)を少なくす
ることができ,同時に前の走査でできた走査線のすき間を次の走査線が埋めるの
で見かけ上の解像度を上げる効果がある.しかし,この 2 回の走査に時間差が生
じるため,動画に対しては映像がずれてぼやけることになるが,人間の目は静止
画に比べ動画に対しては解像度が低いので問題は小さい.このようにインタレー
ス方式は人間の目の特性を積極的に利用している.
本システムではこのインタレース方式における 2 つのフィールドの画像にそれ
ぞれ異なる映像を入れる「フィールド多重化」という手法によりビデオ信号を有
効利用する.この映像信号の多重化には,アナログ信号の段階で行なうものと,
A/D 変換した後のデジタル信号の段階で行なうものがあり,本システムではアナ
ログ信号の段階で行なう.フィールド多重化の欠点として,モニタに出力される
画像が 2 つの画像が重なっているために,人間の目には奇妙に映ることが挙げら
れるが,これは画像処理においては問題にはならない.
10
1
2
3
263
264
265
260
261
262
523
524
525
odd field
even field
Fig.4 Interlace Scanning in NTSC.
3.3.4 フィールド多重化装置
アナログ多重化は,ビデオ信号のアナログの段階で複数の信号を多重化する方
法である.同期のとれた複数のビデオ信号がビデオスイッチ IC に入力され,そ
のうちの一つが選択,出力される.
アナログ信号の段階で画像の多重化を行なう場合の利点は,画像処理装置に入
力する前段階で多重化を行なうことができ,その後の処理には通常の画像処理装
置をそのまま利用することができることである.回路の概要を Fig. 5 に示す.溝
口らのシステム [11] は,アナログ段階での 1 ピクセル単位での多重化を行なって
いるが,画像の切替えに 12MHz 程度の高速性が必要となる.これに比べると,
フィールド単位の多重化は画像の切替えの周波数は 60Hz とはるかに低速であり,
回路の実現が容易になる.
本画像処理システムでは,2 台のカメラからの信号を同時に扱えるようにする
ためにアナログフィールド多重化回路を用いる.ステレオカメラ画像をフィール
ド多重化した画像の例を Fig. 8 に示す.図から分かるようにステレオカメラ画像
をフィールド多重化すると視差の大きい物体 (カメラまでの距離が短い物体) は大
11
sync
separator
field signal
odd reg
even reg
odd mode select
even mode select
mode select
video signal
camera1
mixed
video signal
synchronized
video signal
camera2
video
switch
synchro
signal
Fig.5 Block Diagram of Field Multiplexer
きくずれて映り,視差の小さい対象 (カメラから遠い物体) はほぼ重なって映る.
3.3.5 3 次元画像視覚化装置
市販の PC/AT 互換パーソナルコンピュータを用いて構成した.システム構成
を Fig. 9 に,ハードウエア及びソフトウエア環境を Table 2 示す.画像処理
装置を除いては全て一般的な PC の構成となっている.ただし,Video Card は
3 次元画像表示のパフォーマンスに大きく影響するので OpenGL のハードウエ
アアクセラレータをもつものの 1 つとして 3dfx VooDoo3 3500TV を選定した.
IMAP-VISION を使用する上で注意する点は PCI バススロットに 3.3V 電源が供
給されているマザーボードを選ぶということである.3.3V を用いる PCI カード
があまりないためか 3.3V が供給されていないマザーボードが存在する.今回使
用した ASUS P2B も例外ではなく IMAP-VISION を PCI バススロットに挿すと
起動しなくなった.やむを得ないのでマザーボード上の電源コネクタ付近のプリ
ントパターンから PCI バスの 3.3V 供給ピンまでジャンパ線を追加することで対
12
Fig.6 Implementation of Field Multiplexer
13
Camera L
Camera R
MUX
Even Field
Odd Field
One Frame [33ms]
Fig.7 Field Multiplexed Stereo Image
Zoom Up
Fig.8 Example of Field Multiplexed Stereo Image
14
CPU
INTEL PentiumIII 500MHz
Mother Board
ASUS P2B
ChipSet
INTEL 440BX
Memory
256MByte
Video
3dfx Voodoo3 3500TV AGP
Image Processor
IMAP-VISION RVS-D-10G
OS
Microsoft WindowsNT4.0 ServicePack5
Compiler(Host PC)
Microsoft VisualC++ 6.0
Compiler(IMAP-VISION)
ccimap Ver. 3.01
Graphics Library
OpenGL1.1
Table 2 Hardware and Software Specification of PC/AT Personal Computer
処した.
PC (WindowsNT)
VIDEO OUT
Left
GENLOCK
Field Sequencial
Stereo Signal
Stereo Camera
Pair
Field Multiplexer
NTSC
IN
GENLOCK
Right
IMAP-VISION
(PCI CARD)
VIDEO OUT
Fig.9 System Configuration
3.4 ソフトウエア構成
本研究で実装したソフトウエアは次の 2 つからなる.
15
NTSC
OUT
1. IMAP-VISION 上で動作するコード
2. ホスト PC 上で動作するコード
IMAP-VISION には NTSC 入出力があるのでそれ自身でスタンドアロン動作
が可能である.しかし,IMAP-VISION で動作するオブジェクトは起動時にホス
トコンピュータ上で動作するコードなどによって IMAP-VISON へロードさせる
必要がある.また,ホストコンピュータ上で動作するコードが IMAP-VISION に
よって得られた結果を必要とするときは PCI バスを介してデータを転送する.こ
こで問題となるのはどのように処理を割り振るかである.IMAP-VISON は並列
アーキテクチャを採用した画像処理ボードで同じ操作を画面全体に対して行うよ
うな処理において高いパフォーマンスが得られる.局所的な処理も不可能ではな
いが PC 上の汎用 CPU に比べ,パフォーマンスの点において有利とは言えなく
なる.また画像処理に特化しているので扱うデータタイプは 8bit の整数型が前提
となっており浮動小数点演算は行えない.以上の条件を踏まえて視差画像を求め
るまでの処理,つまり 2 次元画像処理は原則として IMAP-VISION で行う.そし
て,それ以降の 3 次元画像処理及び 3 次元画像表示はホスト PC 上で行うことと
した.
3.4.1 IMAP-VISION のソフトウエア開発
RVS-10G/RVS-D-10G を使用したシステムでのプログラムの開発環境として,
専用 C 言語用のコンパイラと,ソースレベルデバッガ,そして IMAP-VISION アセ
ンブラと,IMAP-VISION デバッガが用意されている.OS は Windows95/98/NT4.0
と UNIX(FreeBSD/LINUX-SlackWare/LINUX-RedHat) に対応している.専用 C
言語 (1dc) およびアセンブリ言語で記述したプログラムは専用の C コンパイラや
IMAP-VISION アセンブラによって実行形式あるいは,IMAP オブジェクト形式
となる.本研究で開発したプログラムは次のような機能を持っている.
1. フィールド多重化された画像を内部処理しやすいように分離する
2. 左カメラ画像を基準として右カメラ画像上での対応点を SAD(Sum of Absolute Difference) によって求め視差画像を生成する
16
3. ホスト PC に視差画像と元画像を転送する
前述したように高速化のためには外部メモリの使用を極力避け,内部メモリの
みで処理を完結させる必要がある.内部画像メモリは 256KB(256×240 ピクセルの
8bit 画像 4 面分相当) である.内部メモリの割り当てを Fig. 10 に示す.256×120
ピクセルの領域を 1 単位とし (a)∼(h) と表している.画像入力と出力は外部メ
モリを介して行うものの,それ以外の処理は内部メモリのみで完結させた.視差
画像生成の流れを以下に示す.またこの流れを模式的に表したものを Fig. 11 に
示す.
1. IMAP-VISION の 256 画素 ×480 ラインモノクロモードでフィールド多重
ステレオ画像を取り込み,縦ラインを平均化処理によって半分にする.こ
れを PE の内部画像メモリの (a) 及び (b) に配置する.
2. 右カメラ画像を 1 ピクセルずつ右シフトする.シフトするごとに基準左カ
メラ画像との差の絶対値を求め (c) に格納し,ウインドウサイズで足し合わ
せた結果,すなわち (a) と (b) の SAD を (d) に格納する.
3. (d) とそれまでの (d) の最小値が格納されている (e) を比較して (d) のほう
が小さければ (e) を (d) の値で書き換え,その時点でのシフト量を (f) に書
き込む.
4. 2∼3 を求める視差探索範囲に達するまで繰り返す.
5. (f) に視差画像が生成される.
これらの処理はウインドウの足し合わせを除いては,1PE 内で閉じているので
256 の並列性を持たせることができる.ウインドウの足し合わせも左右それぞれ
2PE 先まで (ウインドウサイズ 5×5 の場合) の通信でありその通信自体も並列に
行われる.
3.4.2 ホストコンピュータのソフトウエア開発
IMAP-VISION にコードをロードしたり,ボード上のビデオスイッチなどのハー
ドウエアを直接ホスト PC 上から操作したり,処理の実行中にメモリアクセスを
17
240Pixel
256Pixel
(a)
Left Image
(e)
(b)
Right Image
Minimum of (d)
at the moment
(f)
Disparity of (e)
(c)
Absolute Difference
Between (a) and (b)
(g)
(d) Sum of Absolute
Difference
Between (a) and (b)
(h)
256KB
Internal Memory
Fig.10 Internal Memory Allocation
行うための関数群が IMAP-VISION 制御ライブラリとして提供されている.従っ
て,IMAP-VISION 上のコードとホスト PC 上のコードは並列動作させることが
できる.ホスト PC 上のコードは以下に示すような機能を持っている.
1. IMAP-VISION から視差画像と元画像のデータを受信する
2. 受け取ったデータを元にして 3 次元空間上にモデルを構築する
3. 任意の視点からの画像を OpenGL によってレンダリングして表示する
IMAP-VISION から横 256 ×縦 120 ピクセルの 6bit 分解能の視差画像とそれ
に対応する横 256 ×縦 120 ピクセルの 8bit 元画像 (左カメラ画像) データを受け
取る.この転送は IMAP-VISION の制御ライブラリによって 10ms 程度で DMA
転送されるので CPU 資源の消費は少ないはずであるが,ユーザレベルで割り込
みを使えないためそのまま転送関数を呼び出すとブロッキングされてしまい処理
時間の大幅な低下を引き起こす.従って転送関数を呼び出す処理を別スレッドと
し全体の処理がブロックされることを防いだ.
本来ならばカメラキャリブレーションを厳密に行い,視差画像から実世界上で
の 3 次元座標を求め 3 次元形状の復元を行うべきであるが,前述したように本研
18
Source Image
Near
Result Image
Left Image
(Base)
Right Image
Translation
Right Images
Minimum of
SAD Area
Reflect Brightness
on Disparity
SAD Images
SAD
SAD
SAD
Disparity
Fig.11 Flow of Depth Map Generation
19
Far
究では計測上の厳密さではではなく人間がみて不自然でない程度のリアルタイム
画像が得られることを第一に考える.従ってできる限り処理の簡単な表示方法を
考案する必要がある.まず考えられるのは視差画像と元画像が一対一で対応する
ことを利用して,元画像輝度のピクセルを元画像上の座標に視差値の値を Z 座標
に反映させてプロットするという手法である. しかし,この手法ではピクセルと
ピクセルの間の画像は描画されないので隙間があいてしまう.ピクセルの大きさ
を大きくすることによりある程度は防げるが,解像度の低下を招き好ましくない.
次に考えられるのは画像を走査線単位で扱い,視差の値を Z 座標に反映させて走
査線ごと (水平 1 ラインごと) に折れ線を描き,その折れ線に対して元画像のテ
クスチャを貼るというものである.この手法では走査線と走査線の間の隙間はや
はりあいてしまうものの,走査線方向に対しては連続性が保てるという特徴があ
る.さらに 3D ビデオカードはテクスチャ処理用のハードウエアを持っているた
め高速描画も期待される.この 2 つの描画手法のイメージを Fig. 12 に示す.
Y
Y
Z
Z
X
Texture Mapped
Scan Line Method
Pixel Plot Method
X
Fig.12 Pixel Plot Method and Texture Mapped Scan Line Method
20
3.5 実験と結果
3.5.1 デプスマップ生成
Table 3 に今回構築したシステムの実験条件およびデプスマップ生成処理時間
測定結果を,Fig. 13 に得られた視差画像の例を示す.デプスマップ生成のみの
処理時間は Table 3 に示す条件において 13ms と NTSC の 1 フレーム期間 (約
33ms) よりも短く十分な結果を得ることができた.しかし,デプスマップの品質
のほうはそれほど高くはない.物体の左側にオクルージョンによるものと思われ
るゴーストが生じたり,その他の部分においても視差が正しく求まっていないと
思われる個所が多くみられる.
その詳しい原因を突き止めるために画像中のある一点における探索視差範囲
内の SAD の分布を調べた.その結果を Fig. 14 に示す.丸印の中央の一点にお
ける SAD の分布が左下に示されている.上の例はテクスチャのある領域であり
d=25 という視差が正しく求まっている.一方で,下の例はテクスチャのない領域
で d=15 という誤った視差が求まっている.その原因は分布をみれば明きらかで,
テクスチャのない領域においては SAD が小さい平坦な値になってしまい SAD の
最小値を決定できないからである.また,逆に左カメラに映っているけれども右
カメラには映っていないというようなオクルージョンが発生している場合におい
ても無理矢理 SAD の最小値をとるところを視差として求めてしまう.これらの問
題はステレオ視の原理的な問題に関わることなので解決は難しいが,テクスチャ
のない領域が小領域でそのまわりと輝度が異なる場合はウインドウサイズを大き
くすることで視差が求まると考えられる.また,オクルージョンに対しては無理
に対応点を求めるのではなく,視差の信頼度を何からの方法で検証することで,
信頼度の低い点は視差の求まらない点というラベリングを行い,後処理をより上
位の層に任せる必要があると考えられる.
21
0
64
0
64
0
64
0
64
Fig.13 Depth Map Result
22
Depth Map
Good
64
Distribution of SAD
0
min
d=25
0
Left Camera
64
Disparity[pixel]
Depth Map
NG
64
Distribution of SAD
0
min
d=15
0
Left Camera
64
Disparity[pixel]
Fig.14 Distribution of SAD
23
NTSC カメラ
SONY DXC-107A
ステレオベースライン
10cm
視差探索範囲
64 ピクセル
ウインドウサイズ
5×5
生成視差画像
横 251× 縦 116 ピクセル
処理時間
13ms (1 フレーム時間の約 39%)
Table 3 Experimental Condition and Result
Distance from Stereo Camera[cm] Distance Resolution[cm]
50
0.79
100
3.1
200
13
300
26
400
57
Table 4 Distance Resolution
3.5.2 任意視点画像生成
得られた視差の値を用いてピクセルを 3 次元空間上にプロットした結果を Fig. 16 ,
Fig. 15 に示す.Fig. 15 は仮想視点を元画像より左側に持ってきた例で,Fig. 16 は
仮想視点を元画像より右側に持ってきた例である.物体の形が奥行きに対して不
自然で十分な品質の仮想視点画像が得られているとは言い難い.これは距離では
なく視差の値をそのまま Z の値として使っていることなど処理を簡略化している
ためだと考えられる.また,ピクセルを表示しているだけのため仮想視点画像の
角度によってはピクセルとピクセルの隙間が目立って目障りである.表示速度は
3∼4fps 程度が得られた.
一方,得られた視差の値を用いて走査線ごとに折れ線を描き,その折れ線に対
して元画像のテクスチャを貼って生成した任意視点画像を Fig. 18 ,Fig. 17 に
24
1
2
3
4
Fig.15 Genereted Virtual View Images by Pixel Plot Method (Left
Shot)
25
1
2
3
4
Fig.16 Genereted Virtual View Images by Pixel Plot Method (Right
Shot)
26
示す.ピクセルのプロットと同様に Fig. 18 は仮想視点を元画像より左側に持っ
てきた例で,Fig. 17 は仮想視点を元画像より右側に持ってきた例である.それ
まで回転させている.視差が不連続な点においても補完されたテク
ぞれ最大 45 °
スチャが貼られるのでピクセルのプロットのように隙間があくことはない.しか
し,ステレオ視の原理上,Table 4 に示すように視差の小さいところにおける距
離分解能は低いため,ノイズの影響などにより 1 ピクセル変動しただけで表示が
大きく異なってしまい目障りなものとなる.これに対処するため視差がある値よ
りも小さい場合は一律に視差を 0 に落とし込むことで表示を安定させた.以上に
より比較的視聴に耐えうる自然な絵が得られた.また,テクスチャマッピングを
利用したためにビデオカードのハードウエアアクセラレーションを有効に活用さ
せることができ,表示速度は 20fps 程度が得られた.
27
1
2
3
4
5
6
Fig.17 Genereted Virtual View Images by Texture Mapped Scan Line
Method (Left Shot)
28
1
2
3
4
5
6
Fig.18 Genereted Virtual View Images by Texture Mapped Scan Line
Method (Right Shot)
29
4. 複数ステレオカメラによる任意視点画像生成
4.1 単独ペアから複数ペアへの拡張
前章では単独ステレオカメラによる任意視点画像生成について述べた.しかし,
単独ステレオカメラでのみでは対象を全て捉えることはできない.当然のことな
がら,見えていない個所を生成することは不可能であるので n 組のカメラを用い
任意視点画像生成をさせたい範囲において概ねみえるようにする必要がある.そ
のプロトタイプとして 2 組のステレオカメラによる任意視点画像生成について考
える.
まず,問題となるのはカメラ画像の入力方法である.複数カメラ画像のリアル
タイム取り込みは技術的には決して難しいことではないと考えられるが,現実問
題としてそのような需要があまりないためか既存の製品として手に入れることが
困難である.
もちろん,そのような純技術的な問題に加え,互いのステレオカメラから得ら
れる情報をいかにして統合するかという本質的な問題がある.最低限でも互いの
座標系を一致させなければそれらをシームレスに取り扱うことは難しい.前章で
は簡単化のために省略したカメラキャリブレーションを厳密に行う必要があると
考えられる.
また,統合を行う際にもとの 3 次元情報の信頼性が低くてノイズが多ければ最
終結果に大きく影響する可能性がある.なんらかの方法によって信頼度を判定し,
品質を向上させるべきである.これには統合前に行うアプローチと統合時に行う
アプローチ,もしくはその両方が考えられる.
以上を踏まえて本章では 2 組のステレオカメラによる任意視点画像のリアルタ
イム生成の実現方法について述べる.
30
4.2 座標系の統一
4.2.1 実際の運用を考慮した手法の検討
2 つのステレオカメラによって得られる 3 次元情報の座標系を統一するための
具体的な手法として次の 2 つを検討した.
1. ステレオカメラの位置を固定してからキャリブレーションを行い,カメラ
の位置を既知としてカメラ座標系を通じて整合させる
2. ステレオカメラの位置は適当に決めて同時に共通するものを撮影すること
でそれから得られる物体座標系を通じて整合させる
1. の特徴として一度キャリブレーションを行ってしまえばキャリブレーション
フリーなシステムとなることがあげられる.しかし,2 つのカメラの位置関係を
全く変えないようにするには強固なフレームが必要で取り扱いが困難である.こ
れは台数が増えるにしたがって致命的な欠点となりうる.
一方,2. の特徴として 2 組のカメラはフレームなどを用いては固定せず,運用
時にキャリブレーションボックスなどを用いて現場でキャリブレーションを行う.
カメラの位置を変更する度にキャリブレーションを行う必要があるが,台数が増
えてもカメラの扱いが非常に容易であると考えられる.以上のことを踏まえて 2.
の手法を採用することに決定した.
4.2.2 カメラキャリブレーション
T
実空間内の任意の点を P = [x, y, z] ,それに対応する画像平面上の点を I =
[u, v]T ,その同座標次座標表現を I ∗ = [U, V, S]T とすると点 P と点 I との関係は,


 x 


 y 


I∗ = T 




(1)
z 


1

I∗ = T 
31
U/S
V/S


(2)
となる.ここで行列 T は 3 × 4 の射影変換行列である.この行列 T の要素を
tij と表すことにし,t34 = 1 とすると射影変換行列 T は 11 個の未知パラメータ
を持つことになる.いま,実空間上のある 1 つの点との対応がとれたとすると式
(1) と式 (2) より次の 2 つの関係式が得られる.


 t11 



[x, y, z] 
 t12  + t14


t13


 t21 



[x, y, z] 
 t22  + t24


t23


 t31 



− u([x, y, z] 
 t32  + 1)


=0
t33

(3)

 t31 



− v([x, y, z] 
 t32  + 1)


=0
t33
従って少なくとも 6 点を観測すれば射影変換行列 T のパラメタを全て求めるこ
とができる.ただし,6 点全てが同一平面上にあってはならない.実際にはキャ
リブレーション精度を高めるためにより多くの点を観測し,最小自乗法によって
11 個の未知パラメタを求める.いま,未知パラメタベクトル a を,
a = ( t11 , t22 , t33 , t14 ,
t21 , t22 , t23 , t24 ,
t31 , t32 , t33 )
T
T
として実空間上の点 P = [x, y, z] と画像平面上の点 bi = [ui , vi] との対応関係
を n 個観測したとすると式 (3) より次の関係式が得られる.
Aa = b
(4)
ここで行列 A と行列 b は,



A=


A1
..
.
An



,


32



b=


b1
..
.
bn







Ai = 
P̄iT
O
−ui PiT
O
P̄iT −ui PiT




 xi 



P̄iT = 
 yi 

zi

である.式 (4) より最小自乗の解は,
a = (AT A)−1AT b
(5)
となり射影変換行列 T の未知パラメタを求めることができる.
実際に行ったカメラキャリブレーションの手順を次に示す.
1. 2 つのステレオカメラを仮固定する
2. 同じキャリブレーションボックスを撮影する (Fig. 19 )
3. ステレオカメラ A においてキャリブレーションボックス上の 8 つ (変更可
能) の基準点をマウスでポインティングする (Fig. 20 上)
4. ステレオカメラ B においてキャリブレーションボックス上の 8 つ (変更可
能) の基準点をマウスでポインティングする (Fig. 20 下)
5. 画面座標系から物体座標系への射影変換行列が求まる
このようにして異なるステレオカメラの画面座標系から同一の物体座標系への
射影変換行列を求めることができる.なお,今回使用したキャリブレーションボッ
クスは一辺が 30cm の立方体である.このキャリブレーションによりキャリブレー
ションボックス上の任意の点の物体座標をカメラ画像から得た場合における誤差
は± 5mm 程度であった.
33
Fig.19 Selecting Calibration Points
Fig.20 Selecting Calibration Points in Camera Images
34
4.3 奥行き画像の高品位化
4.3.1 視差の信頼性
統合するにあたって奥行き画像の高品位化について検討する.前章の奥行き画
像生成において問題となったのは次の 2 点である.
1. テクスチャのない領域の視差が求まらない
2. オクルージョン領域に対しても視差を求めてしまう
このような問題点を抱える理由は,最も相関の高い値をとる画素を対応点とし
て視差を機械的に算出してしまうことにある.問題 1. に対しては完全にテクス
チャのない領域においてはステレオの原理上視差を求めることは不可能だが,そ
れが周りに対して特徴のある小領域であるならばウインドウサイズを大きくする
ことで視差が求まる可能性がある.また,問題 2. に対しては何らかの方法で得
られた視差に対する信頼度の判定を行い,信頼度がある一定基準を満たさない場
合は視差が求まらない点として扱う必要がある.前者の問題に対しては解像度の
異なる階層画像を用いて等価的にウインドウサイズを大きくする効果が得られる
ピラミッド法によって,後者の問題に対しては左画像を基準として対応点を求め
た結果と,右画像を基準として対応点を求めた結果を比較しその値に矛盾がある
ならばはじく LR-Check 法というアルゴリズムを実際に実装しそれらの効果を検
証した.
4.3.2 ピラミッド法
ピラミッド法とは解像度の異なる階層画像を用いてそれらを統合することによ
り等価的にウインドウサイズを大きくする効果が得られる手法である.また,解
像度の荒い画像でおおまかな視差を求めておくことで解像度の高い層での探索範
囲を絞ることが可能である.しかし,並列アーキテクチャの IMAP-VISION への
実装は困難であるので次の方法によって簡易的に実現した.
1. 縦 120 ×横 128, 縦 60 ×横 64, 縦 30 ×横 32 の階層画像を生成する (Fig. 21 )
35
2. 縦 30 ×横 32 の画像において視差を求める
3. 縦 60 ×横 64 の画像において視差を求める
4. 縦 120 ×横 128 の画像において視差を求める
5. それぞれの解像度における SAD の最小値のピークが最も鋭い解像度の視差
を採用する
ここで SAD の最小値のピークの鋭さを求める方法が問題となるが,SAD の視
差分布において最小値に隣接する値との差をウインドウの面積で正規化すること
によって比較した.このピラミッド法を用いて求めた視差画像の例を Fig. 22 に
示す.Fig. 14 では正確な視差が求まらなかった白い紙に対してもほぼ正確な視
差が求まっていることが分かる.しかし,見かけ上のウインドウサイズが大きく
なる場合があるのでどうしても視差画像の輪郭が甘くなってしまう.この品質劣
化を防ぐには適切な統合の方法を用いて,小さなウインドウで視差が求まる場所
においてはその視差のみを採用して大きなウインドウで求まる視差を用いないと
いう,アダプティブウインドウを実現する必要がある.今回はこの解像度の低下
を懸念してピラミッド法の採用を見送った.
36
Fig.21 Piramid Images
Fig.22 Depth Map of using Piramid method
37
4.3.3 LR-Check 法
LR-Check 法とはステレオ画像の相互相関を求める際に左画像を基準に右画像
上の探索を行った結果と,右画像を基準に左画像上の探索を行った結果を比較し
(これは互いに逆方向の探索となる) ある一定以上の差異があれば対応がとれな
かった点であると判定するアルゴリズムである [13],[14].単純に実装したならば
2 倍の相関演算を必要とする演算であるが,双方の相関演算は演算順序が異なる
だけで結局は同一の演算であるため,実装を工夫することにより計算量を大きく
減らせるという特徴もある.この LR-Check 法を用いなかった場合と用いた場合
の結果について Fig. 23 に示す.なお,この図では信頼度の低い個所をを輝度値
0 で置き換えている.
LR-Check
Disabled
LR-Check
Enabled
Fig.23 LR-Check Result Images
Fig. 23 から明らかなように LR-Check なしで顔の左側に生じているゴースト
や背景のノイズが LR-Check ありでは大幅に低減されていることが分かる.副作
用として正しく視差が求まっていても若干はじかれる個所が生じている.しかし,
簡単な処理で嘘の結果を十分に取り除いていることが確認できるため本アルゴリ
ズムを採用することにした.
38
4.4 ハードウエア構成
基本的には単独ステレオカメラの場合と同様の構成である.しかし,2 組のス
テレオカメラ画像を入力し,かつその両方に対してステレオ相関演算を行わなけ
ればならないので工夫が必要となる.
4.4.1 複数ステレオカメラ信号のキャプチャ
オフライン処理であるならば VTR などに記録しておいてからタイムコードで
再構成するという手法がとれるが,本研究ではリアルタイム処理が前提なのでこ
の手法は使えない.キャプチャカードを複数用いて 4 台のカメラ画像を同時取り
込みして IMAP-VISION に送り込むという手法がもっとも現実的ではあるが PCI
バスを介しての動画転送はバスの転送能力の大部分をそれだけで消費してしまう
可能性がある.また,若干トリッキーではあるが RGB キャプチャが可能なカー
ドを用いて 3 台モノクロビデオ信号をキャプチャするという方法もよく用いられ
ている.しかし4台以上の拡張へは対応できない.
4.4.2 ライン・フィールド多重化
以上のことを踏まえて本研究ではフィールド多重に加えて同一フィールド内で
隣接するラインに対しても多重化する手法を提案する.これはフィールド多重化
の拡張であるのでフィールド多重化の利点であるハードウエアが簡単で信号劣化
が少ないという利点をそのまま引き継ぐものである.具体的には次のような動作
をする.
1. 奇数フィールドの奇数ラインではステレオカメラ A の左カメラを選択
2. 奇数フィールドの偶数ラインではステレオカメラ A の右カメラを選択
3. 偶数フィールドの奇数ラインではステレオカメラ B の左カメラを選択
4. 偶数フィールドの偶数ラインではステレオカメラ B の右カメラを選択
ただし,この多重化を行うことにより水平解像度は保たれるものの垂直解像度は
フレーム入力時に比較して 1/4 になる.また,フィールド多重化装置ではステレ
39
オの切り替え時間がが 1 フィールド時間 (約 16.7ms) もあるため動きのある画像
においては品質が劣化するという問題があったが,ライン・フィールド多重化装
置ではステレオの切り替え時間は 1 ライン走査時間 (63.5µs) であるので動きの
ある画像においても品質の劣化は少ないという特徴がある.Fig. 24 にライン・
フィールド多重化装置のブロック図を,Fig. 25 にライン・フィールド多重化装
置の実装の例を示す.
4.5 ソフトウエア構成
ソフトウエアも基本的には単独ステレオカメラの場合と同様の構成である.し
かし,LR-Check を効率的に行うために実装方法を変更する必要があった.また,
物体座標系への変換のためピクセル,あるいは,走査線間の隙間がより目立つよ
うになったので視差画像からポリゴンを構成するように変更をした.
4.5.1 LR-Check 法の実装
LR-Check を効率的に行うためには視差探索範囲内における SAD の値を全て
保持しておく必要がある.しかし,前章における実装方法では次の視差に移る際
に SAD の値は捨てられてしまう.これでは同じ相関演算を 2 回繰り返す必要が
あり,ほぼ倍の処理時間がかかってしまう.そこで,これまで画像の縦列の画素
値を PE の内部メモリに格納していたがこれを横列,つまり視差探索方向の画素
値をローカルに持つことで視差探索範囲内における SAD の値を保持するように
変更した.これにより LR-Check を行ってもわずか 3ms の処理速度低下に収める
ことができた.
4.5.2 ポリゴンの構成
2 組のステレオ画像からはそれぞれ縦 120 ×横 128 × 5bit の視差画像が得られ
る.このままではノイズも多くポリゴンを構成するのには適さないので平均化処
理によって縦 30 ×横 32 × 9bit の視差画像へと変換する.この平均化処理を行う
際に LR-Check をパスしたデータのみを使いそのパスした数によって正規化する
ことでデータの信頼性を高めている.このデータを元に隣接する視差の値との差
40
Multiplexed
Video Out
-1
Burst Flag
Sync
Separator
Even/Odd
Video
SW
Composite
Sync
1/2
Camera R
Video In 1
+6db
Buff
Buff
Gen Lock
Camera L
Video In 2
+6db
Buff
Stereo A
Gen Lock
Camera R
Video In 3
+6db
Buff
Gen Lock
Camera L
Video In 4
+6db
Buff
Stereo B
Pedesutal Clump
Fig.24 Block Diagram of Line/Field Multiplexer
41
Fig.25 Implementation of Line/Field Multiplexer
42
がある一定値以下であれば 3 角ポリゴンによる接続を行う.一定以上であれば接
続を行わない.この一連の操作によって 3 次元情報の再構築を行う.
43
4.6 実験と結果
4.6.1 実験環境
Fig. 26 に示すようなカメラ配置で実験を行った.2 組のステレオカメラの光
軸をほぼ直交させ,撮影対象までの距離は 50cm 以上 150cm 以内の領域に設定し
た.50cm という値は最大視差探索範囲と CCD,レンズの焦点距離などによって
決まる制約であるが,150cm 以内というのはステレオ視の原理的な問題である,
カメラ近傍でしか距離分解能がとれないことを考慮している.十分な情報が得ら
れないので 150cm を越える位置にある対象の 3 次元形状復元は行わない.
Fig.26 Experimental Environment of Genereted Virtual View Images
by Two Pairs of Stereo Camera
4.6.2 単独ステレオカメラでの 3 次元形状復元
先に行ったカメラキャリブレーションによって,画像上の座標 (u,v) とその点
における視差 d から物体座標系への座標変換が可能になる.この座標変換によっ
44
て前章では割愛した正しい 3 次元情報の復元ができる.Fig. 27 はステレオカメ
ラ A で撮影された画像とその視差画像であり,それを用いて物体座標系に変換し
て 3 次元形状を復元した結果を Fig. 28 に示す.同様に Fig. 29 はステレオカメ
ラ B で撮影された画像とその視差画像であり,それを用いて物体座標系に変換し
て 3 次元形状を復元した結果を Fig. 30 に示す.異なる視点から撮影された画像
であるが,物体座標系に変換することによって顔の各部分がほぼ同じ位置に射影
されていることが,Fig. 28 と Fig. 30 を比較することにより分かる.
4.6.3 複数ステレオカメラによる 3 次元形状復元
Fig. 31 に Fig. 28 と Fig. 30 を同時に表示させた結果を示す.若干,不自
然な接合点もみられるが概ね座標系が一致していることが確認できる.しかし,
LR-Check によって信頼度判定を行っているので,視差の信頼性が低い個所はそ
のまま欠けてしまっている.
4.6.4 複数ステレオカメラによる任意視点画像生成
Fig. 31 ∼Fig. 37 に 2 つの単独ステレオカメラそれぞれによって 3 次元形状
か
を復元した結果と,それらを統合した結果を示す.物体座標系に対して θ=-60 °
まで回転させている.いずれの角度においてもほぼ同一座標系に変換
ら θ=+84 °
できていることが確認できる.一方のステレオカメラだけではこれだけ広範囲の
視点をカバーできないが,2 つの 3 次元形状復元結果を組み合わせることで限定
品質ながら任意視点画像を生成することに成功した.本論文で目的としているリ
アルタイム性については,撮影する対象によって若干の変動があるが 12fps 程度
の性能を確認した.当初の目標であった NTSC と同様のフレームレート (30fps)
には一歩及ばなかったが,今後の最適化やハードウエアの性能向上によって簡単
にクリアできるレベルであると考えられる.
45
Fig.27 Original Depth Map by Left Stereo Camera Unit
Fig.28 Genereted Virtual View Images by Left Stereo Camera Unit
46
Fig.29 Original Depth Map by Right Stereo Camera Unit
Fig.30 Genereted Virtual View Images by Right Stereo Camera Unit
47
Fig.31 Genereted Merging Virtual View Images by Two Pairs of Stereo
Camera
48
Stereo A
Stereo A
Stereo B
Stereo B
Merging
Merging
Fig.32 Genereted Virtual View Images by Two Pairs of Stereo Camera
(1)
49
Stereo A
Stereo B
Stereo B
Stereo B
Merging
Merging
Fig.33 Genereted Virtual View Images by Two Pairs of Stereo Camera
(2)
50
Stereo A
Stereo B
Stereo A
Stereo B
Merging
Merging
Fig.34 Genereted Virtual View Images by Two Pairs of Stereo Camera
(3)
51
Stereo A
Stereo A
Stereo B
Stereo B
Merging
Merging
Fig.35 Genereted Virtual View Images by Two Pairs of Stereo Camera
(4)
52
Stereo A
Stereo A
Stereo B
Stereo B
Merging
Merging
Fig.36 Genereted Virtual View Images by Two Pairs of Stereo Camera
(5)
53
Stereo A
Stereo A
Stereo B
Stereo B
Merging
Merging
Fig.37 Genereted Virtual View Images by Two Pairs of Stereo Camera
(6)
54
5. おわりに
本論文ではリアルタイムに任意視点画像が生成可能なシステムのハードウエア
構成とソフトウエア構成を述べた.当初の目的であった 30fps の任意視点画像生
成にはわずかに及ばなかったものの,オフライン処理に甘んじることなくリアル
タイムに任意視点画像生成が可能なシステムはその応用へと夢が膨らむものであ
る.しかしながら,得られる任意視点画像はまだ限定品質のものであり,このま
まではその応用が限られている.今回は高速化のために簡略化したが、必要最低
限の品質向上に貢献する処理を吟味して加えていくことにより改善できることを
期待したい.
55
謝辞
本研究を進めるにあたり,終始貴重かつ適切なご指導を賜りました,奈良先端
科学技術大学院大学情報科学研究科の小笠原司教授,横矢直和教授,今井正和助
教授,中村恭之助手,松本吉夫助手に心から感謝します.小笠原教授には私の研
究について深い理解を示して下さり大きな励みとなりました.横矢教授には厳し
くも的確な助言を頂き研究の方向性を決定する上で大変助かりました.今井助教
授には高価な機材の手配をして下さり研究を円滑に進めることができました.中
村助手には並列画像処理装置を試用するきっかけを私に与えて下さりました.松
本助手には私の未熟な知識にもめげず親身になって議論して頂きました.また,
博士後期課程 1 年の多田充徳さんにはカメラキャリブレーションについての貴重
な助言を頂き,研究を大きく進めることができました.最後に本研究をまとめる
にあたり,さまざまなご協力を賜りましたロボティックス講座の皆様,そして研
究室の雰囲気づくりに極めて多大なる貢献をし,個人的にも大変親しくしてくれ
たシステム制御・管理講座の山川匡史君に感謝いたします.
56
参考文献
[1] 金出武雄, 蚊野浩, 木村茂, 川村英二, 吉田収志, 織田和夫. ビデオレートステ
レオマシンの開発. 日本ロボット学会誌, Vol. 15, No. 2, pp. 261–267, 1997.
[2] 加賀美聡, 岡田慧, 稲葉雅幸, 稲葉雅幸. 再帰正規化相関演算を用いた実時間
視差画像生成システム. 第 17 回日本ロボット学会学術講演会予稿集, 第 1 巻,
pp. 25–26, 9 1999.
[3] A. Lippman. Movie-maps:an application of the optical videodisc to computer
graphics. Computer Graphics, Vol. 14, No. 3, pp. 32–42, 1980.
[4] S. E. Chen. Quicktimevr - an image-based approach to virtual enviroment
navigation. In SIGGRAPH, pp. 29–38, 1995.
[5] Hideo Saito, Shigeyuki Baba, Makoto Kimura, Sundar Vedula, and Takeo
Kanade. Appearance-based virtual view generation of temporally-varying
events from multi-camera images in the 3d room. Computer Science Technical Report, pp. 99–127, 4 1999.
[6] J.Dias, C.Paredes I.Fonseca, H.Araujo, J.Batista, and A.de Almeida. Simulating Pursuit with Machines : Experiments with Robot and Artificial Vision. In Proc. of IEEE Int. Conf. on Robotics and Automation, pp. 472–477,
1995.
[7] 大久保厚志, 田中麻紀, 丸典明, 宮崎文夫. アクティブなステレオ視覚システ
ムによる移動物体の追跡. 第 5 回ロボットシンポジウム予稿集, pp. 11–16, 5
1995.
[8] Takeo Kanade, Hideo Saito, and Sundar Vedula. The 3d room: Digitizing
time-varying 3d events by synchronized multiple video streams. Robotics
Institute Technical Report, 12 1998.
57
[9] M. Inaba, Hara T., and H. Inoue. A Stereo Viewer Based on a Single Camera
with View-Control Mechanisms. In Proc. of Int’l Conf. on Intelligent Robots
and Systems, pp. 1857–1864, 1993.
[10] K.Hosoda, K.Sakamoto, and M.Asada. Trajectory Generation for Obatacle
Avoidance of Uncalibrated Stereo Visual Servoing without 3D Reconstruction. In Proc. of Int’l Conf. on Intelligent Robots and Systems (IROS), pp.
29–34, 1995.
[11] 溝口博, 上諏訪吉克, 森武俊, 佐藤知正. 行動処理のためのマルチカメラビ
ジョンシステム. 第 13 回日本ロボット学会学術講演会予稿集, pp. 247–248,
11 1995.
[12] Y. Matsutmoto, T. Shibata, K. Sakai, M. Inaba, and H. Inoue. Real-time
Color Stereo Vision System for a Mobile Robot based on Field Multiplexing.
In Proc. of IEEE Int. Conf. on Robotics and Automation, pp. 1934–1939,
1997.
[13] R. Bolles and J. Eoodfill. Spatiotemporal consistency checking of passive
renge data. in t. kanade and r. paul, editors. International Foundation for
Robotics Research, pp. 165–183, 1993.
[14] P. Fua. A parallel stereo algorithm that produces dense depth maps and
preserves images features. In Machine Vision and Applications, pp. 35–49,
1991.
58
付録
A. ラインフィールド多重化装置の製作
A.1 全体構成
本研究で用いたライン・フィールド多重化装置の回路図を Fig. 38 に示す.本
回路は大きく分けて次の 5 つのブロックで構成される.
1. ペデスタルクランプ
2. 同期分離部
3. スイッチング部
4. 出力部
5. 同期信号分配回路
ペデスタルクランプ部では NTSC ビデオ信号のペデスタルレベルを 0V になる
ようにフィードバッククランプ回路を用いて直流レベルを固定する.この操作を
行わないでスイッチングすると切り替わりのタイミングでビデオ信号が不連続に
なってしまい,同期乱れの原因となる.また,同軸線路を 75Ω 終端してレベルが
1/2 となっているので 6dB のゲインを持たせている.
同期分離部では同期分離専用 IC によって複合同期信号,奇数・偶数フィール
ド判定信号,バーストフラグ信号を取り出す.奇数・フィールド判定信号はステ
レオカメラ A とステレオカメラ B を切り替える信号にそのまま用いる.複合同
期信号は 1 ラインごとに L レベルとなる期間があるがこのままではライン切り替
えの信号としては使えないのでフリッププロップによって 2 分の 1 周することで
1 ラインごとに H と L が反転するライン切り替え信号を得る.また,バーストフ
ラグ信号はフィードバッククランプ回路のゲート信号として用いる.
スイッチング/出力部では 4 入力 1 出力の高速ビデオスイッチを用いてライン・
フィールド多重化を行う.選択信号の A0 にライン切り替え信号,A1 奇数・偶数
フィールド判定信号を入力する.
59
出力部では同軸 75Ω ラインを駆動するための電流増幅を行う.また,ペデスタ
ルクランプ部で信号極性が反転しているので,さらに反転増幅回路とすることで
極性を戻す働きも兼ねている.
同期信号分配回路では SW1 の同期信号選択スイッチによって選択された同期信
号を 4 分配して各カメラの同期をとる.同期信号切り替えスイッチを INTERNAL
にすると VIN1 の同期信号が VIN1 を除く全カメラに出力される.同期信号切り
替えスイッチを EXTERNAL にすると外部のリファレンス信号が全カメラに出力
される.EXTERNAL では全カメラを全く同じ条件で駆動するので理想的である
が,INTERNAL でも実用上は問題ない.また,カラーサブキャリア同期のかか
からないカメラではカラーでの使用はできない.カラーで使用するにはカラーサ
ブキャリア同期のかかるカメラを用いてカラーサブキャリアの位相調整をする必
要がある.
A.2 実装
実装は両面基板を用いて行った.できるだけグランド面を大きくとるようにし,
各 IC の電源ピンのできるだけ近い所にパスコンを挿入する.また,コンデンサや
抵抗などの集中定数部品はできるだけ表面実装部品を用いて高性能化を目指した.
A.3 調整
ステレオで用いる場合には特にそれぞれの特性が揃っていることが必要である.
本回路には 6db の増幅回路などゲインに影響する個所があるので,入力段に挿入
されているゲイン調整 VR にてそれぞれのゲインにばらつきがでないように調整
する.
60
Fig.38 Field/Line Multiplexers
61
Fly UP