第 4 章 解体支援手法を実現する要素技術
4.3 ラインコードマーカを用いたトラッキング手法
4.3.1 ラインコードマーカの設計
本研究室では過去に、ふげん発電所構内における拡張現実感技術を利用した解体作業 支援システムのうち、特にその機能の一つである放射線可視化システムに利用するのに 適したトラッキング手法として、長方形の人工マーカを利用した手法を提案した[25, 26]。 この手法では、図4.5に示すような白地の上にID番号をコード化した黒縞の模様を持 つ人工マーカ(以下、ラインコードマーカ)を利用する。ラインコードマーカの長さは コード内容によって68 cm〜104 cm、幅が4 cmの細長い形状であるため、ふげん発電 所構内のパイプ類に容易に貼ることが可能である。なお、カメラ画像からラインコー ドマーカの抽出を容易にするため、周りには余白を設けている。
図 4.5: ラインコードマーカ(11bit)
ラインコード部分では、長さ4 cmの黒縞が0、長さ8 cmの黒縞が1を表しており、
全部で11 bitの情報を表現することができる。この11 bitのうち先頭の7 bitを情報部
として、ラインコードのID番号を記録する。後部4 bitは1 bitの符号誤りを訂正する ための冗長部(ハミング符号)となっている。冗長部によって、ラインコードの一方 の端がカメラ画像からはみ出している場合や、1つの黒縞でそれが0と1のどちらを表 現するのかの認識を誤った際でも、正しくラインコードマーカのID番号を識別するこ とができる。この場合、使用可能なラインコードマーカは128種類となる。ふげん発 電所構内は数100 m2程度の広さの区域ごとに分かれているため、異なる区域では同種
類のラインコードマーカを使用することで、構内全てにおいてこのマーカを利用する ことができる。また、1つの人工マーカを複数の場所で用いる手法[27]を利用すればさ らに必要なラインコードマーカの種類を減らすことも可能である。
ラインコードマーカの素材は、白い部分は紙であり、黒縞はフェルトである。光が 乱反射しやすいフェルトを用いることで、光沢によって黒縞がカメラに白く映るのを 防ぐことができる。そのため、照明環境に左右されず安定してラインコードの認識を 行うことが可能になる。
しかし、このラインコードマーカの黒縞間の隙間は2 cmと短く、次節で述べる画像 処理の段階でその隙間がつぶれてしまい、ラインコードマーカの認識が不安定になる ことがあった。この場合、ラインコードマーカとして認識していないため、ハミング 符号による訂正も行うことができなかった。
図 4.6: ラインコードマーカ(7bit)
そこで、本研究では図4.6のように隙間を4cmとし、ハミング符号を除いたライン コードマーカを設計した。図4.7・図4.8のように画面左の11 bitのラインコードマー カでは、2 cmの隙間が画像処理の段階でつぶれてしまっており、ラインコードマーカ として認識できていないのに対し、画面右の7bitのラインコードマーカは隙間が4 cm と十分広く、認識に成功し青色の直線が重畳表示されている。このように、ラインコー ドマーカの認識が向上したことが確認できた。
4.3.2 ラインコードマーカの認識手法
ラインコードマーカの検出・認識は以下のようにして行われる。
まず、図4.9のような得られたカメラ画像(320×240ピクセル)に対しエッジ検出を 行う。エッジ検出は単純に画像の輝度値を二値化する場合に比べ、計算負荷が大きく なるが、照明の変化に強いという特徴を持つ。画像の二値化を行った際に、照明によっ てラインコードマーカの一部が消えてしまっている様子を図4.10に示す。また、同じ 画像に対してエッジ検出を行った場合にはラインコードマーカの全ての黒縞が検出さ
図 4.7: ラインコードマーカの比較( カラー画像)
図 4.8: ラインコードマーカの比較(画像処理後の白黒画像)
れている様子を図4.11に示す。次に画像全域に対してラベリング処理を施し、連結成 分を得る。こうして得られた連結成分のうち、面積が4 - 150ピクセルでないものを除 去する。また、著しくラインコードの黒縞と形状の異なるものも除外する。
図 4.9: カメラ画像(原画像)
このようにして選択された黒縞である可能性のある領域のうち、一定の角度以内で 直線上に7個並んでいるものをラインコードマーカの候補として抽出する。そしてそ のラインコード中の各黒縞について、面積が最大値と最小値の中央値より大きければ 1、そうでなければ0と判断する。ラインコードの符号が得られれば、あらかじめ登録 されている各ラインコードの位置情報と照合して、そのラインコードの3次元座標を 確定する。
4.3.3 トラッキング手法
ここではラインコードマーカを用いたトラッキング手法について述べる。通常、拡 張現実感技術におけるトラッキングとはユーザの3次元位置姿勢を6自由度で計測す
る6自由度(DOF:dgree of freedom)トラッキングを指す。一方、カメラ画像内に捉え
たラインコードマーカの位置と大きさ、左右の傾きをもとに仮想物体や情報を表示さ せる方法がある。これはユーザがラインコードマーカと正対している場合、視点の3自 由度の回転と前後移動に追従して正しく仮想物体や情報を表示させることができる手
図 4.10: カメラ画像の二値化
図 4.11: カメラ画像のエッジ検出
法であり、これを4DOFトラッキングと呼ぶ。以下では6DOFトラッキングと4DOF トラッキングについて説明する。
4.3.3.1 6DOFトラッキング
まず、ラインコードマーカを用いた6DOFトラッキングの流れを以下に示す。
1. ラインコードマーカを環境内に貼り、その空間内の3次元座標を計測する。
2. ラインコードマーカを小型カメラによって撮影し、その画像を計算機に取り込む。
3. 取り込んだ画像に画像処理を施し、ラインコードマーカを検出する。
4. 検出されたラインコードに表現されたID番号を認識する。
5. 2つ以上のラインコードマーカの位置情報からラインコードマーカとカメラの相 対的な3次元位置・姿勢関係を6自由度で算出する。
3次元位置と画像上の座標との対応が取れているn点を用いて撮影したカメラの位置 を求める問題を、透視n点問題(PnP問題) という[28]。ラインコードマーカとカメラ の位置・姿勢関係の算出はP6P問題、及びP4P問題を解くことで行う。
P6P問題の解法においては、同一平面上にない点の組を用いて計算を行わなければ ならないという制約条件がある[25, 29]。この条件を満たす2つのラインコードマーカの 組があれば、それぞれのラインコードマーカから3点ずつ、計6点の位置情報を用い P6P問題を解くことで各ラインコードマーカとカメラの相対的な位置・姿勢関係を算 出できる。
また、1組のラインコードマーカが互いに同一平面状にあることがわかればP4P問 題を解くことでトラッキングすることが可能である。図4.12のように同一平面状にあ る一組のラインコードマーカから仮想的な正方形をつくり、その4頂点の座標を計算 することによりP4P問題に帰着できる[30]。
ここで6DOFトラッキングの特徴をまとめる。
² カメラの位置・姿勢を6自由度で計測するために、カメラのあらゆる移動・回転 に応じて正しい位置・向きに情報を提示できる。
² 事前にラインコードマーカの3次元位置を計測する必要がある。
² 2つ以上のラインコードマーカをカメラ画像内に捉える必要がある。
以上の特徴から、ユーザが比較的広い場所で視点の位置や視線の方向を頻繁に移動 させる場合に有効であると考えられる。しかし、広範囲においてトラッキングを可能
図 4.12: P4P問題に用いる仮想正方形
とするためには多数のラインコードマーカを環境内に貼る必要があり、その全ての3次 元位置を計測するためには大きな労力が必要であるという問題がある。
4.3.3.2 4DOFトラッキング
まず、ラインコードマーカを用いた4DOFトラッキングの流れについて以下に示す。
1. ラインコードマーカを環境内に貼る。
2. ラインコードマーカを小型カメラによって撮影し、その画像を計算機に取り込む。
3. 取り込んだ画像に画像処理を施し、ラインコードマーカを検出する。
4. 検出されたラインコードに表現されたID番号を認識する。
5. 画面内のラインコードマーカの2次元位置や左右の傾き、大きさから仮想物体や 情報を表示させる位置や大きさを算出する。
次に、4DOFトラッキングの特徴を以下に示す。
² ラインコードマーカに正対したユーザの視点の3自由度の回転と前後移動の計4 自由度の変化に限り、正確に機器とCADデータを重畳表示することができる。
² ラインコードマーカに正対したユーザの視点を上下左右に平行移動させると重畳 表示位置がややずれてしまう。
² そのため、仮想物体を実世界の対象に正確な位置と向きで重畳表示させるために は視点の位置がある程度限定される。
² ラインコードマーカの3次元位置を計測する必要がなく、貼るだけでよいため、
セットアップが容易である。
² カメラに捉えるラインコードマーカは1つでよい。
以上のような特徴から、ユーザの視点位置があまり大きく移動しない場合や、セッ トアップを簡便に行いたい場合に有効な手法であると考えられる。