JP2015075429A - マーカ、マーカの評価方法、情報処理装置、情報処理方法、及びプログラム - Google Patents

マーカ、マーカの評価方法、情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP2015075429A
JP2015075429A JP2013212905A JP2013212905A JP2015075429A JP 2015075429 A JP2015075429 A JP 2015075429A JP 2013212905 A JP2013212905 A JP 2013212905A JP 2013212905 A JP2013212905 A JP 2013212905A JP 2015075429 A JP2015075429 A JP 2015075429A
Authority
JP
Japan
Prior art keywords
marker
shape
descriptor
coordinate set
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013212905A
Other languages
English (en)
Inventor
幸男 福井
Yukio Fukui
幸男 福井
三品 豪
Takeshi Mishina
豪 三品
純 三谷
Jun Mitani
純 三谷
由博 金森
Yoshihiro Kanamori
由博 金森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Tsukuba NUC
Original Assignee
University of Tsukuba NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Tsukuba NUC filed Critical University of Tsukuba NUC
Priority to JP2013212905A priority Critical patent/JP2015075429A/ja
Publication of JP2015075429A publication Critical patent/JP2015075429A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】計測に用いられるマーカの有する情報が背景にある類似する模様等と誤認識され、マーカの位置及び姿勢が誤計測されることを抑制した、位置及び姿勢を計測するためのマーカ及び当該マーカに関する情報処理方法を提供する。【解決手段】視点から物体までの距離に応じた画素値を画素ごとに有する距離画像に基づいて位置及び姿勢が計測されるマーカ1が有する形状を、特定の姿勢のマーカ1に関する、方位角及び仰角の少なくとも一方が異なる視線について、視線ごとの距離画像中のマーカ1の表面を示す画素の配列それぞれが、視線に応じてすべて異なった配列を示す形状とした。【選択図】図1

Description

本発明は、位置及び姿勢が計測されるマーカに関する。
従来、2次元コードを側面に貼り付けた直方体をマーカとし、これをカメラで撮像し、撮像された画像における2次元コードの位置、大きさ、射影の歪み等に基づいて、現実空間におけるマーカの位置及び姿勢を計測する方法がある。
また従来、複数個の赤外線LED(Light Emitting Diode)を取り付けたボードをマーカとし、これを赤外線カメラで撮像し、撮像された画像における赤外線LEDの発光点がなす形状に基づいて、現実空間におけるマーカの位置及び姿勢を計測する方法がある。
安室喜弘、外5名、「立体マーカを用いた実空間における仮想物体の調和的表現〜インタラクティブMRインテリアデザイン〜」、映像情報メディア学会誌、一般社団法人映像情報メディア学会、2003年10月1日、第57巻、第10号、P.1307−1313 Nam-Hoon Ryu, Hye-Mi Lee and Eung-Kon Kim, "Implementation of Augmented Reality System using the Infrared Rays LED Marker based on Hybrid Tracking", International Proceedings of Computer Science and Information Technology, (Singapore), IACSIT Press, 2011, vol.13, p.254-259
しかし、例えば、上述の2次元コードを側面に貼り付けたマーカを用いる方法では、周囲に存在してマーカの背景として撮像される2次元コードと類似する模様等が、マーカの2次元コードと誤認識され、マーカの位置及び姿勢が誤計測される問題があった。
このような問題に鑑み、本発明は、一側面では、マーカが有する計測に用いられる情報を3次元形状により表すことで背景にある模様等による誤計測を抑制した、位置及び姿勢を計測するためのマーカ及び当該マーカに関する情報処理技術を提供することを課題とする。
上記課題を解決するために、本願は、次のマーカを開示する。
視点から物体までの距離に応じた画素値を画素ごとに有する距離画像に基づいて位置及び姿勢が計測されるマーカであって、
特定の姿勢の前記マーカに関する、方位角及び仰角の少なくとも一方が異なる視線について、視線ごとの距離画像中の前記マーカの表面を示す画素の配列それぞれが、視線に応じてすべて異なった配列を示す形状を有するマーカ。
また、本願は、次のマーカを開示する。
視点から物体までの距離に応じた画素値を画素ごとに有する距離画像に基づいて位置及び姿勢が計測されるマーカであって、
凸多面体の一面を除いた面それぞれに対して、複数の凹凸のパターンから重複を許さずにパターンを選択し、前記選択されたパターンの凹凸を前記面それぞれに設けた形状を示す候補形状情報を生成し、
前記生成された候補形状情報に基づいて、方位角または仰角が異なる所定の複数の視線方向から前記候補形状を見た場合に見える、前記候補形状の表面に位置する点群の座標集合それぞれに対して、特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を算出し、
前記算出された形状記述子から2つを選択した組み合わせに対して、2つの形状記述子間の差異の量を示す記述子間距離を算出し、前記組み合わせから算出されたそれぞれの記述子間距離のうちの最小値を、前記候補形状に対する位置及び姿勢の計測性能の評価値として算出し、
前記算出された評価値に基づき、前記候補形状に応じて造形されるマーカ。
また、本願は、次のマーカの評価方法を開示する。
視点から物体までの距離に応じた画素値を画素ごとに有する距離画像に基づいて位置及び姿勢が計測されるマーカの評価方法であって、
コンピュータが、
前記マーカの形状情報を取得する形状取得ステップと、
前記形状取得ステップにおいて取得された形状情報に基づいて、シミュレーションによって、方位角または仰角が異なる所定の複数の視線方向から前記マーカを見た場合に見える、前記マーカの表面に位置する点群の座標集合それぞれに対して、特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を算出する形状記述子算出ステップと、
前記形状記述子算出ステップにおいて算出された形状記述子から2つを選択した組み合わせに対して、2つの形状記述子間の差異の量を示す記述子間距離を算出し、前記組み合わせから算出されたそれぞれの記述子間距離のうちの最小値を、前記マーカの位置及び姿勢の計測性能の評価値として算出する評価値算出ステップと、
を実行する、マーカの評価方法。
また、本願は、次の情報処理装置を開示する。
現実空間にあるマーカの姿勢を計測する情報処理装置であって、
視点から現実空間にある物体までの距離に応じた画素値を画素ごとに有する距離画像を取得する距離画像取得手段と、
前記距離画像取得手段によって取得された距離画像から前記マーカの表面に位置する点群の座標集合をマーカ点座標集合として取得するマーカ点座標集合取得手段と、
特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を、前記取得されたマーカ点座標集合に応じて算出する形状記述子算出手段と、
方位角または仰角が異なる複数の視線方向から前記マーカを見た場合に見える、前記マーカの表面に位置する点群の座標集合それぞれに対して予め算出された形状記述子を、基準形状記述子として視線方向とともに取得する基準形状記述子取得手段と、
前記基準形状記述子取得手段が取得し得る基準形状記述子のうちから、前記形状記述子算出手段によって算出された形状記述子との間の、2つの形状記述子間の差異の量を示す記述子間距離が最小となる基準形状記述子を抽出する基準形状記述子抽出手段と、
前記基準形状記述子抽出手段によって抽出された基準形状記述子とともに取得される視線方向に基づいて、現実空間における前記マーカの姿勢を決定する姿勢決定手段と、
を備える、情報処理装置。
また、本願は、次の情報処理方法を開示する。
現実空間にあるマーカの姿勢を計測する情報処理方法であって、
視点から現実空間にある物体までの距離に応じた画素値を画素ごとに有する距離画像を取得する距離画像取得手段を備えるコンピュータが、
前記距離画像取得手段によって取得された距離画像から前記マーカの表面に位置する点群の座標集合をマーカ点座標集合として取得するマーカ点座標集合取得ステップと、
特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を、前記取得されたマーカ点座標集合に応じて算出する形状記述子算出ステップと、
方位角または仰角が異なる複数の視線方向から前記マーカを見た場合に見える、前記マーカの表面に位置する点群の座標集合それぞれに対して予め算出された形状記述子を、基準形状記述子として視線方向とともに取得する基準形状記述子取得ステップと、
前記基準形状記述子取得ステップにおいて取得し得る基準形状記述子のうちから、前記形状記述子算出ステップによって算出された形状記述子との間の、2つの形状記述子間の差異の量を示す記述子間距離が最小となる基準形状記述子を抽出する基準形状記述子抽出ステップと、
前記基準形状記述子抽出ステップによって抽出された基準形状記述子とともに取得される視線方向に基づいて、現実空間における前記マーカの姿勢を決定する姿勢決定ステップと、
を実行する情報処理方法。
また、本願は、次のプログラムを開示する。
コンピュータを、
視点から現実空間にある物体までの距離に応じた画素値を画素ごとに有する距離画像を取得する距離画像取得手段と、
前記距離画像取得手段によって取得された距離画像から、姿勢が計測されるマーカの表面に位置する点群の座標集合をマーカ点座標集合として取得するマーカ点座標集合取得手段と、
特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を、前記取得されたマーカ点座標集合に応じて算出する形状記述子算出手段と、
方位角または仰角が異なる複数の視線方向から前記マーカを見た場合に見える、前記マーカの表面に位置する点群の座標集合それぞれに対して予め算出された形状記述子を、基準形状記述子として視線方向とともに取得する基準形状記述子取得手段と、
前記基準形状記述子取得手段が取得し得る基準形状記述子のうちから、前記形状記述子算出手段によって算出された形状記述子との間の、2つの形状記述子間の差異の量を示す記述子間距離が最小となる基準形状記述子を抽出する基準形状記述子抽出手段と、
前記基準形状記述子抽出手段によって抽出された基準形状記述子とともに取得される視線方向に基づいて、現実空間における前記マーカの姿勢を決定する姿勢決定手段と、
として機能させるプログラム。
また、本願は、次のプログラムを開示する。
視点から物体までの距離に応じた画素値を画素ごとに有する距離画像に基づいて位置及び姿勢が計測されるマーカを評価するためのプログラムであって、
コンピュータを、
前記マーカの形状情報を取得する形状取得手段と、
前記形状取得手段によって取得された形状情報に基づいて、シミュレーションによって、方位角または仰角が異なる所定の複数の視線方向から前記マーカを見た場合に見える、前記マーカの表面に位置する点群の座標集合それぞれに対して、特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を算出する形状記述子算出手段と、
前記形状記述子算出手段によって算出された形状記述子から2つを選択した組み合わせ
に対して、2つの形状記述子間の差異の量を示す記述子間距離を算出し、前記組み合わせから算出されたそれぞれの記述子間距離のうちの最小値を、前記マーカの位置及び姿勢の計測性能の評価値として算出する評価値算出手段と、
として機能させるプログラム。
また、上記課題を解決するためには、これらのプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものが採用されてもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
本発明によれば、マーカが有する計測に用いられる情報を3次元形状により表すことで背景にある模様等による誤計測を抑制して、現実空間におけるマーカの位置及び姿勢を計測することができる。
図1は、実施の形態におけるマーカ計測装置がマーカの位置及び姿勢を計測する場面を例示する図である。 図2は、実施の形態に係るマーカの形状を例示する斜視図である。 図3は、実施の形態に係るマーカに対する任意の視線方向を例示する図である。 図4は、距離画像を濃淡で表現した例を示す図である。 図5は、距離画像を配列で表現した例を示す図である。 図6は、実施の形態に係るマーカ造形装置のハードウェア構成を例示する図である。 図7は、実施の形態に係るマーカ造形装置の機能構成を例示する図である。 図8は、凹凸のパターンを例示する図である。 図9は、実施の形態に係るマーカの基本形状を例示する斜視図である。 図10は、実施の形態に係るマーカの候補形状を例示する斜視図である。 図11は、点群を例示する図である。 図12は、実施の形態に係る座標の分布の特徴を示すヒストグラムを例示する図である。 図13は、マーカの造形処理の流れを示すフローチャートである。 図14は、マーカの評価処理の流れを示すフローチャートである。 図15は、実施の形態に係るマーカ計測装置のハードウェア構成を例示する図である。 図16は、実施の形態に係るマーカ計測装置の機能構成を例示する図である。 図17は、学習データベースのデータ項目を例示する図である。 図18は、カメラ座標系及びz軸回りのロール角を例示する図である。 図19は、ロール角の算出手順の一例におけるヒストグラムの算出処理の流れを例示するフローチャートである。 図20は、ロール角の算出手順の別の例における処理の流れを例示するフローチャートである。 図21は、形状学習処理の流れを示すフローチャートである。 図22は、マーカの計測処理の流れを示すフローチャートである。 図23は、マーカ計測装置が4つのマーカの位置及び姿勢を計測する場面を例示する図である。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。なお、以下に説明する実施の形態は、本発明を実施する一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明を実施するにあたっては、実施の形態に応じた具体的構成が適宜採用されることが好ましい。本実施形態は、§1.位置及び姿勢計測の概要、§2.マーカ、§3.マーカの製法、§4.位置及び姿勢計測の詳細の順に説明される。
§1.位置及び姿勢計測の概要
図1は、本実施形態におけるマーカ計測装置がマーカの位置及び姿勢を計測する場面を例示する図である。図1には、位置及び姿勢が計測されるマーカ1、マーカ1の位置及び姿勢を計測するマーカ計測装置2、マーカ計測装置2が備える距離画像カメラ3、及びマーカ1を下方から支持する平板である支持板4が示されている。マーカ計測装置2は、現実空間にあるマーカ1の位置及び姿勢を計測する情報処理装置の一例である。
マーカ1は、下方から支持板4によって支えられ、ある位置及び姿勢で現実空間に存在している。距離画像カメラ3は、視点3Aから物体までの距離に応じた画素値を画素ごとに有する距離画像を撮像する。マーカ計測装置2は、距離画像カメラ3から、マーカ1を含んだ物体の距離画像を取得する。マーカ計測装置2は、取得した距離画像に基づいて、現実空間におけるマーカ1の位置及び姿勢を計測する。距離画像にはマーカ1の3次元形状に関する情報が含まれているため、マーカ1の3次元形状に基づいてマーカ1の位置及び姿勢を計測することができる。
なお、マーカ1は、人の手、ロボットアーム、紐、その他の物によって支持されてもよい。また、マーカ1は、支持されなくてもよい。
§2.マーカ1
図2は、本実施形態に係るマーカ1の形状を例示する斜視図である。図2(a)には、マーカ1の形状が透視投影法で示されている。本実施形態においてマーカ1は、同一姿勢の所定の大きさの小立方体が、整列され積み重ねられた形状を有する。図2では、説明のために小立方体間の境界線が示されているが、当該境界線は、凹凸等を示すものではなく、マーカ1の形状に影響を与えるものではない。図3、図9、及び図10においても、説明のために同様の小立方体間の境界線が用いられる。また、マーカ1は、マーカ計測装置2によって現実空間におけるマーカ1の位置及び姿勢が精度よく計測されるように、距離画像カメラ3の距離計測の性能に応じた大きさの形状を有する。なお、マーカ1は、立方体以外の多面体を組み合わせた形状、曲面で形成された形状、その他の立体形状を有してもよい。
マーカ1は、例えば、ABS(Acrylonitrile Butadiene Styrene)樹脂によって造形される。マーカ1は、石膏粉末体が凝集して固形化したもの、アクリル系樹脂、金属、木材、その他の距離画像カメラ3による距離画像の撮像が妨げられない材質で造形されてもよい。また、マーカ1は、内部に空洞を有してもよいし、有さなくてもよい。また、マーカ1は、着色されてもよいし、表面に模様を有してもよい。
本実施形態において、マーカ1は、凸多面体の一面を除いた面それぞれに、互いに異なるパターンの凹凸を設けた形状を有する。具体的には、マーカ1は、図2(b)に示される、小立方体の5倍の大きさである立方体10の、底面を除いた、4つの側面及び底面の対面である上面の計5面それぞれに、互いに異なるパターンの凹部を設けた形状を有する。当該パターンは、小立方体を単位として表現される。図2(b)では、斜線で塗られた
小立方体群が、マーカ1の形状に対して立方体10の各面に設けられる凹部に相当する。つまり、マーカ1は、斜線で塗られた小立方体群を立方体10から取り除いた形状を有する。
なお、マーカ1は、小立方体の3倍の大きさである立方体の、底面を除いた、4つの側面及び底面の対面である上面の計5面それぞれに、小立方体を単位として表現される、互いに異なるパターンの凸部を設けた形状を有するともいえる。また、凹凸のパターンは、小立方体を単位にするものに限られず、半球状の凹部や凸部のパターン等その他の凹凸パターンであってもよい。また、凹凸のパターンは、面内の各位置における凹部の深さや凸部の高さ等を用いて表現されてもよい。
図2(c)に示されるように、マーカ1は、支持板4に支持される際に支持板4と接する底面11(斜線部分)を有する。また、図2(c)に示されるように、本実施形態のマーカ1は、底部12を有する。底部12は、1つの面がマーカ1の底面11であり、小立方体を縦横5個ずつ計25個並べて結合した直方体の形状である。詳細は後述するが、マーカ1の姿勢等が計測される際には、距離画像に撮像された複数の物体の形状に関し、支持板4、マーカ1等の物体を示す領域を検出して検出した領域に分割するセグメンテーションと呼ばれる処理が行われる。底面11の形状は、セグメンテーションの処理における計算誤差を吸収するような役割を果たす。そのため、マーカ1の姿勢等が算出される際に、セグメンテーションの計算誤差の影響を抑制することができる。なお、マーカ1は、底部を有しない形状であってもよい。
マーカ1の形状特性について説明する。マーカ1は、様々な視線方向から見た場合における、表面の形状の見え方が、視線方向ごとに異なっている。特定の姿勢のマーカ1に関する、方位角及び仰角の少なくとも一方が異なる視線について、視線ごとの距離画像中のマーカ1の表面を示す画素の配列それぞれが、視線に応じてすべて異なった配列を示す。ここで、本実施形態における特定の姿勢は、底面11の法線ベクトルを鉛直下向きとした姿勢である。このようなマーカ1の形状が有する形状特性を、以下「ビュー独立」と呼ぶこととする。なお、球、円筒、直方体等の対象性のある形状は、ビュー独立ではない。
図3は、本実施形態に係るマーカ1に対する任意の視線方向を例示する図である。ここで任意の視線方向は、方位角及び仰角の少なくとも一方が異なる方向にある視点からの視線の方向である。図3(a)には、水平面に底面11が接するように配置したマーカ1に関し、視線の注視点である底面11の重心C1を基準に、仰角22.5度間隔、方位角45度間隔の41方向の視線方向が示されている。図3(a)では、カメラの図形が示す視点と注視点である重心C1とを結ぶ線分が視線を示し、視点から注視点へ向かう方向が視線方向である。図3(a)における各視点は、注視点である重心C1から同一の距離にある。なお、任意の視点における各視点の位置は、このような注視点から同一の距離となる位置に限定されるものではない。
図3には、マーカ1のローカル座標系CL1も示されている。図3(b)には、マーカ1とローカル座標系CL1との関係が示されている。ローカル座標系CL1は、原点をマーカ1の底面11の重心C1とし、鉛直上方向をz軸方向とした右手系の直交座標系である。ローカル座標系CL1のxy平面は、底面11と接する。
ローカル座標系CL1に関し、x軸方向を基準方位とし、xy平面を水平面として、方位角φ及び仰角θを定義できる。方位角φは、x軸と視点VPのxy平面への直交射影VQとのなす角である。仰角θは、線分O−VQと線分O−VPとのなす角である。図3(a)には、0度≦仰角θ≦90度、0度≦方位角φ<360度の範囲に位置する視点からの視線方向が示されていることになる。以下、視線方向を、仰角θ及び方位角φの組(θ
,φ)で表すことがある。例えば、視点VP1から重心CL1へ向かう視線VL1は、仰角θ=22.5度,方位角φ=315度に位置する視点VP1からの視線方向を示すので、視線方向(仰角θ,方位角φ)=(−22.5度,45度)と表すことにする。
なお、任意の視線方向は、図3に示される41方向に限定されるものではない。また、任意の視線方向には、マーカ1の下方向からの視線方向、すなわち−90度≦仰角θ<0度、0度≦方位角φ<360度の範囲の視点からの視線方向が更に含まれてもよい。この場合において、マーカ1は、立方体の底面を含めた6面それぞれに、互いに異なるパターンの凹凸を設けた形状を有してもよい。
図4は、距離画像を濃淡で表現した例を示す図である。図4には、図3の視線方向(仰角θ,方位角φ)=(−22.5度,45度)の視点VL1から取得されるマーカ1の距離画像が例示されている。距離画像は、所定の解像度で格子状に画素を有する。距離画像の各画素は、視点3Aから視線方向に見通した場合に見えるマーカ1の表面上の点を、視線方向に垂直な矩形の画面に投影した点を示す。本実施形態で、各画素は、視点を通り視線方向に垂直な平面と画素に投影されるマーカ1の表面上の点との距離(ユークリッド距離)を示す画素値を有する。図4では、画素は、画素値が示す距離が遠い程、濃淡がより濃くなるように示されている。図4において、黒色で示される画素は、所定距離以内に物体が存在しないことを意味する。図4では、黒色以外で示された画素は、マーカ1の表面上の点を投影した画素であり、マーカ1の表面に位置する点を示す。
図5は、距離画像を配列で表現した例を示す図である。図5では、各画素は、フィールドX、Y、Dの値の組で示される。X、Yは、それぞれ、距離画像におけるx座標、y座標を表す。Dは、画素値である。本実施形態では、Dの値は、mm(ミリメートル)を単位とする。なお、距離画像は、x座標を列、y座標を行、画素値を要素値とした2次元配列として表現されてもよい。
以上説明したマーカ1によれば、様々な方位角及び仰角の視線方向の視点から距離画像を取得すると、取得される視線方向ごとの距離画像中に含まれるマーカ1の表面を示す画素の配列それぞれが、視線方向に応じてすべて異なった配列を示す。マーカ1がこのようなビュー独立な形状を有するため、マーカ計測装置2は、取得した距離画像が示すマーカ1の立体形状の見え方に基づいて、マーカ1の姿勢等を算出することができる。そのため、背景にある模様等による誤計測を抑制して、現実空間におけるマーカ1の姿勢等を計測することができる。
§3.マーカ1の製法
マーカ1は、次の工程で、造形され製造される。
(工程1)凸多面体の一面を除いた面それぞれに対して、複数の凹凸のパターンから重複を許さずにパターンを選択し、選択されたパターンの凹凸を当該面それぞれに設けた形状を示す候補形状情報を生成する。
(工程2)生成された候補形状情報に基づいて、方位角または仰角が異なる所定の複数の視線方向から候補形状を見た場合に見える、候補形状の表面に位置する点群の座標集合それぞれに対して、特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、座標集合の座標の分布の特徴を示す形状記述子を算出する。
(工程3)算出された形状記述子から2つを選択した組み合わせに対して、2つの形状記述子間の差異の量を示す記述子間距離を算出し、組み合わせから算出されたそれぞれの記述子間距離のうちの最小値を、候補形状に対する位置及び姿勢の計測性能の評価値として算出する。
(工程4)算出された評価値に基づき、候補形状に応じてマーカ1を造形する。
本実施形態において、マーカ1は、マーカ造形装置において、その形状が構成され、造形されることで製造される。マーカ造形装置による製造方法は、マーカ1を製造する方法の一例である。以下、マーカ造形装置を中心にマーカ1を製造する方法を説明する。なお、マーカ1の形状の構成、造形その他の製造工程は、それぞれ別の装置において行われてもよい。また、マーカ1の形状の構成、造形その他の製造工程は、コンピュータや装置によらずに行われてもよい。
<マーカ造形装置のハードウェア構成>
図6は、本実施形態に係るマーカ造形装置のハードウェア構成を例示する図である。マーカ造形装置5は、CPU(Central Processing Unit)51、RAM(Random Access Memory)52、ROM(Read Only Memory)53、HDD(Hard Disk Drive)等の補助記憶装置54、及び物体を造形する3D(3次元)プリンタ55を備えるコンピュータである。図6では、マーカ造形装置5は1台のコンピュータとして例示されているが、マーカ造形装置5は1台のコンピュータに限定される訳ではない。例えば、マーカ造形装置5は、ネットワークで接続された複数台のコンピュータであってもよい。
CPU51は、中央処理装置であり、RAM52等に展開された各種プログラムの命令及びデータを処理することで、RAM52、補助記憶装置54、3Dプリンタ55等を制御する。RAM52は、主記憶装置であり、CPU51によって制御され、各種命令やデータが書き込まれ、読み出される。補助記憶装置54は、不揮発性の記憶装置であり、RAM52にロードされる各種プログラム等、主にコンピュータの電源を落としても保持したい情報が書き込まれ、読み出される。
3Dプリンタ55は、3次元形状の情報に基づいて、造形物を造形する装置である。3Dプリンタ55には、アクリル系光硬化樹脂を使用した紫外線硬化方式、ABS樹脂を使用した熱溶解積層法、石膏粉末等を使用した粉末固着積層法、粉末焼結積層法、光造形法等、インクジェット法等、種々の方式の3Dプリンタの何れが採用されてもよい。また、3Dプリンタ55の代わりに、レーザ加工機等その他の造形装置が採用されてもよい。
<マーカ造形装置5の機能構成>
図7は、本実施形態に係るマーカ造形装置5の機能構成を例示する図である。マーカ造形装置5は、補助記憶装置54に記憶されているプログラムが、RAM52に読み出され、CPU51によって実行されることで、候補形状生成部F51、形状取得部F52、形状記述子算出部F53、評価値算出部F54、選抜部F55、及び造形部F56を備えるコンピュータとして機能する。このうち、形状取得部F52、形状記述子算出部F53、及び評価値算出部F54は、それぞれ、形状取得手段、形状記述子算出手段、及び評価値算出手段の一例である。
なお、本実施形態では、コンピュータの備える各機能は、汎用プロセッサであるCPU51によって実行されるが、これらの機能の一部または全部は、1または複数の専用プロセッサ、ハードウェアの演算回路等によって実行されてもよい。ここで、ハードウェアの演算回路とは、例えば、論理ゲートを組み合わせた加算回路、乗算回路、フリップフロップ等をいう。また、これらの機能の一部または全部は、別途のコンピュータにおいて実行されてもよい。
候補形状生成部F51は、マーカ1の候補形状を生成する。本実施形態において、候補形状情報は、凸多面体の一面を除いた面それぞれに対して、複数の凹凸のパターンから重複を許さずにパターンを選択し、選択されたパターンの凹凸を面それぞれに設けた形状を示す。本実施形態では、ユーザによって指定された大きさの立方体である基本立方体につ
いて、底面を除いた4つの側面及び底面の対面である上面の計5面それぞれに対して、凹凸のパターンが選択される。ここで、本実施形態のパターンは、縦3マス横3マスの格子状のマス目それぞれの位置に、基本立方体の5分の1の大きさである小立方体形状の凹部を形成するか否かを表したものである。
図8は、凹凸のパターンを例示する図である。図8には、24個のパターンが例示されている。図8では、一部または全部が点線で囲われた白色のマスは凹部を形成することを示し、実線のみで囲われた灰色のマスは凹部を形成しないこと、すなわち凸部となることを示す。例えば、パターンP01は、右上のマス目に対応する位置に小立方体の凹部を形成することを意味するパターンである。
候補形状生成部F51は、縦3マス横3マスの計9マスのそれぞれに凹部を形成するか否かの場合の数512通りの候補のうち、所定の基準により、凹部が少ないものパターンとして複数選別する。また、候補形状生成部F51は、造形時に不都合が生じるものを排除してパターンを選別する。ここで、不都合が生じるパターンは、例えば、候補形状生成部F51が側面にパターンが割り当てて凹部を設けると、3Dプリンタ55を用いた積層方式の造形においてサポート材等が必要となるものである。
候補形状生成部F51は、上面及び側面の5面それぞれに割り当てるパターンを選択する。図8に示される24個のパターンがある場合には、245=42,504通りの割り
当て方がある。
候補形状生成部F51は、基本立方体の形状から所定の基本形状を算出し、更に、上面及び側面の5面に対して、選択して割り当てたパターンに応じた凹部を設けた基本形状を算出する。候補形状生成部F51は、当該算出した形状を示す情報を候補形状情報とする。
図9は、本実施形態に係るマーカ1の基本形状を例示する斜視図である。図9(a)には、マーカ1の基本形状MC20が示されている。基本形状MC20は、図9(b)に示される基本立方体MC10から、図中斜線部分の小立方体を取り除いた形状である。ここで取り除かれる斜線部分の小立方体は、基本立方体MC10の上面と各側面とが接する辺、及び、各側面が接する辺の一部を自身の辺として有する小立方体である。ただし、基本立方体MC10の底面の一部を自身の底面として有する小立方体は、取り除かれる斜線部分の小立方体に含まれない。
図10は、本実施形態に係るマーカ1の候補形状を例示する斜視図である。図10(a)には、マーカ1の候補形状MC1が示されている。候補形状MC1は、基本形状MC20の図中左側の側面、右側の側面、上面それぞれに対し、図8のパターンP01、P04、P23を割り当てた場合に算出される候補形状である。候補形状MC1は、パターンP01、P04、P23それぞれに応じて、図10(b)に示される、MCP01(斜線部分)、MCP04(格子部分)、MCP23(網掛け部分)の形状を基本形状MC20から取り除いた形状である。なお、図10には図示されていない3つの側面それぞれに対しても、パターンが割り当てられ、パターンに応じた形状が取り除かれる。
本実施形態の候補形状生成部F51によれば、側面及び上面の5つの面それぞれに異なるパターンの凹部が刻まれた候補形状が得られる。そのため、ビュー独立な候補形状を定型的な手順で得ることができる。
なお、本実施形態では、縦3マス横3マスの格子状のマス目によって表される凹部のパターンが採用されたが、縦4マス横4マスの格子状のマス目によって表される凹部のパタ
ーン等その他のパターンが採用されてもよい。
形状取得部F52は、マーカ1の形状情報を取得する。本実施形態において、形状取得部F52は、候補形状生成部F51によって生成された候補形状情報を取得する。なお、形状取得部F52は、マーカ造形装置5以外のコンピュータが生成した候補形状情報を、ネットワークやCD−R等のリムーバルメディアを介して取得してもよい。また、取得される候補形状情報は、3次元CAD(Computer Aided Design)等のソフトウェアによって生成された形状の情報であってもよい。
形状記述子算出部F53は、形状取得部F52によって取得された形状情報に基づいて、シミュレーションによって、方位角または仰角が異なる所定の複数の視線方向からマーカ1を見た場合に見える、マーカ1の表面に位置する点群の座標集合それぞれに対して、形状記述子を算出する。ここで、形状記述子は、特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、座標集合の座標の分布の特徴を示すものである。
本実施形態において、形状記述子算出部F53は、候補形状情報に基づいて、シミュレーションによって、方位角または仰角が異なる所定の41の視線方向からマーカ1の候補形状を見た場合に見える、候補形状の表面に位置する点群の座標集合それぞれ(Si,i
=1..41)に対して、形状記述子(Hi,i=1..41)を算出する。ここで、所
定の41の視線方向は、図3で例示される仰角22.5度間隔、方位角45度間隔の視線方向である。なお、形状記述子算出部F53が算出する形状記述子の視線方向は、このような41に限定されるものではない。
具体的には、形状記述子算出部F53は、3次元コンピュータグラフィックスのシミュレーションによって、例えば図4で示されるような、候補形状に対する距離画像を生成する。形状記述子算出部F53は、例えば、透視投影法を用いてレンダリングすることにより、仮想的な距離画像カメラに取得されるべき各画素値を計算して距離画像を生成する。本実施形態では、視点が候補形状の底面の重心から所定の距離にあり、視線方向が視点から候補形状の底面の重心へ向かう方向であり、かつ、視野角(画角)が一定である、距離画像が生成される。
形状記述子算出部F53は、生成した距離画像から候補形状の表面に位置する点群を得る。具体的には、形状記述子算出部F53は、距離画像の各画素を座標に変換して座標集合として点群を得る。ここで、座標系には、視点を原点として視線方向を−z方向とした右手系の直交座標系(以下、カメラ座標系と呼ぶことがある)が採用される。
図11は、点群を例示する図である。図11には、図4で示される距離画像から得られた、候補形状の表面に位置する点群が視覚的に示されている。図11では、黒色以外で示された点が当該点群を示している。点の縦、横の位置が、それぞれx座標、y座標を示し、変換元の距離画像の画素の位置と対応している。また、各点は、点のz座標が小さい程、すなわち視線方向へ離れる程、濃淡がより濃くなるように示されている。
本実施形態において、形状記述子には、VFH(Viewpoint Feature
Historam)と呼ばれるヒストグラムの各ビンの値を成分としたベクトルが採用される。なお、VFHは、論文「R.B. Rusu, G.Bradski, R.Thibaux, and J.Hsu, "Fast 3D recognition and pose using the Viewpoint Feature Histogram", 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE, 2010, p.2155 -2162」で提案されたヒストグラムである。
形状記述子の算出について具体的に説明する。視点から見た点群の重心をpc、各点pi
の法線ベクトルの平均をncとして、piにおけるDarboux基底:(ui,vi,wi
)を数式1のように定める。ここで、点群の重心は、当該点群の座標の相加平均であるとする。また、点の法線ベクトルは、当該点の近傍の点群に最もよくフィットする平面の法線ベクトルであるとする。
Figure 2015075429
形状記述子算出部F53は、数式2で規定される、点群の各点piにおける法線角度偏
差(normal angular deviations):(αi,φi,θi,βi)を求める。
Figure 2015075429
αは、Darboux基底のv軸と法線ベクトルとのなす角である。βは、視点→pc
クトルと法線ベクトルとのなす角である。φは、pc→頂点ベクトルとncのなす角である。θは、法線ベクトルをDarboux基底のuw平面に射影したベクトルと、Darboux基底のu軸とのなす角である。
なお、数式2において、atan2(y,x)は、y/xの逆正接を意味する。
形状記述子算出部F53は、求めた点piそれぞれに対する(αi,φi,θi,βi)を
、α,φ,θ,βの角度それぞれを45、45、45、128に分割したヒストグラムのビンに記録する。形状記述子算出部F53は、記録された総ポイント数でヒストグラムを正規化し、263ビンの複合ヒストグラムをVFHとして得る。そして、形状記述子算出部F53は、VFHの各ビンのポイント数を成分とした263次元のベクトルを、点群の座標集合に応じた形状記述子として算出する。なお、VFHのビン数は、263に限定されるものではない。
図12は、本実施形態に係る座標の分布の特徴を示すヒストグラムを例示する図である。図12には、VFHの例が示されている。縦軸がポイント数(度数)であり、横軸がα45ビン,φ45ビン,θ45ビン,β128ビンを順に並べた階級である。
なお、形状記述子には、CVFH(Clustered Viewpoint Feature Historam)と呼ばれるヒストグラムの各ビンの値を成分としたベクトルが採用されてもよい。なお、CVFHは、論文「A. Aldoma, M. Vincze, N. Blodow, and D. Gossow, "CAD-model recognition and 6DOF pose estimation using 3D cues", 2011 IEEE International Conference on Computer Vision Workshops, IEEE, 2011, p.585-592」で提案されたヒストグラムである。
CVFHが採用される場合には、点群の各点piにおける法線角度偏差(αi,φi,θi,βi)がVFHと同様に求められ、更に、数式3で規定されるSDC(Shape D
istribution Component)が各点piについて算出される。
Figure 2015075429
形状記述子算出部F53は、求めた点piそれぞれの(α,φ,θ,SDC,β)を、α
,φ,θ,SDC、βそれぞれを45、45、45、45、128に分割したヒストグラムのビンに記録する。形状記述子算出部F53は、記録された総ポイント数でヒストグラムを正規化し、308ビンの複合ヒストグラムをCVFHとして得る。そして、形状記述子算出部F53は、CVFHの各ビンのポイント数を成分とした308次元のベクトルを、形状記述子として算出する。
評価値算出部F54は、形状記述子算出部F53によって算出された形状記述子から2つを選択した組み合わせに対して、2つの形状記述子間の差異の量を示す記述子間距離を算出する。評価値算出部F54は、組み合わせから算出されたそれぞれの記述子間距離のうちの最小値を、マーカ1の候補形状に対する位置及び姿勢の計測性能の評価値として算出する。
本実施形態では、形状記述子算出部F53によって、1つの候補形状に対して41個の形状記述子Hi(i=1..41)が算出される。評価値算出部F54は、まず、当該4
1個の形状記述子から2つを選択した412=820通りの組み合わせに対して、所定の
距離関数を用いて記述子間距離d(Hi,Hj)(i,j=1..41,i≠j)を算出する。
本実施形態において、距離関数には、数式4に示すd(Hi,Hj)が採用される。
Figure 2015075429
なお、距離関数には、Bhattacharyya(バタチャリア)係数を用いた、数式5に示すd(Hi,Hj)が採用されてもよい。
Figure 2015075429
評価値算出部F54は、次に、算出された記述子間距離d(Hi,Hj)(i,j=1..41,i≠j)のうちの最小値を、当該候補形状に対する評価値として決定する。評価値算出部F54は、形状記述子算出部F53によって形状記述子が算出された候補形状ごとに評価値を算出することになる。
本実施形態の評価値算出部F54によれば、立体形状のビュー独立性に関する定量的評価を行うことができる。そのため、立体形状に関する位置及び姿勢を計測する場合における計測性能を、立体形状間で比較することができる。
選抜部F55は、算出された評価値に基づいて候補形状の採否を決定する。本実施形態において、選抜部F55は、評価値算出部F54によって算出された評価値のうち、最大の評価値が算出された候補形状を採用することで、1つの候補形状を選抜する。なお、選抜部F55は、評価値が上位所定数までの複数の候補形状を選抜してもよい。また、選抜部F55は、評価値が閾値以上である候補形状を選抜してもよい。
造形部F56は、採用と決定された候補形状に応じてマーカ1を造形する。本実施形態において、造形部F56は、選抜部F55によって選抜された候補形状を示す候補形状情報に基づいて、3Dプリンタ55にマーカ1を造形させる。なお、造形部F56は、3Dプリンタ55によってマーカ1の金型等の型を作成し、当該作成された型によってマーカ1が造形されてもよい。また、造形は、3Dプリンタ55を用いた造形に限定されない。
<マーカ造形装置5の処理の流れ>
図13及び図14を用いて、本実施形態に係るマーカ造形装置5の処理の流れを説明する。なお、これらの図に示された処理の具体的な内容及び順序は一例であり、処理内容及び順序には、実施の形態に適したものが適宜採用されることが好ましい。
図13は、マーカ1の造形処理の流れを示すフローチャートである。この処理の流れは、ユーザ等によってマーカ造形装置5に処理の開始が指示されたことを契機に開始する。
ステップS101では、候補形状生成部F51がマーカ1の候補形状情報を複数生成する。候補形状生成部F51は、例えば、上述の基本形状MC20の上面及び側面の5面にそれぞれに対して、図8の24個のパターンのうちからパターンを選択して割り当てた場合に生成できる、245通りの候補形状を生成する。ステップS101は、上述の(工程
1)の一例である。
ステップS102及びS104では、全候補形状評価ループが形成される。全候補形状評価ループでは、ステップS101で生成された候補形状情報が示す候補形状がすべて評
価済になるまで、ステップS103が繰り返される。ステップS102において、すべての候補形状が評価済であると判定された場合、繰り返し処理は終了し、処理はステップS105へ進む。
ステップS103では、ステップS101で生成された候補形状情報が示す候補形状のうち、未評価のものが1つ評価され、評価値が算出される。処理の詳細については、後述する。
ステップS105及びS106は、上述の(工程4)の一例である。ステップS105では、選択部F55が、算出された評価値のうち、最大の評価値が算出された候補形状を採用することで、1つの候補形状を選抜する。ステップS106では、造形部F56が、選抜された候補形状の候補形状情報に基づいて、3Dプリンタ55にマーカ1を造形させる。
図14は、マーカ1の評価処理の流れを示すフローチャートである。この処理の流れでは、1つのマーカ1の候補形状が評価され、評価値が算出される。この処理の流れは、図13におけるステップS103の処理の詳細を示すものである。
ステップS201では、形状取得部F52が、図13のステップS101で生成された候補形状情報のうち、未評価の候補形状を示す候補形状情報を1つ取得する。
ステップS202からS204では、41の視線方向に応じた候補形状の形状記述子それぞれが算出される。ステップS202からS204は、上述の(工程2)の一例である。まず、ステップS202では、形状記述子算出部F53が、3次元コンピュータグラフィックスのシミュレーションによって、候補形状に対する距離画像(41画像)を生成する。次に、ステップS203では、形状記述子算出部F53が、生成した距離画像それぞれから候補形状の表面に位置する点群の座標集合それぞれ(Si,i=1..41)を取
得する。次に、ステップS204では、形状記述子算出部F53が、点群の座標集合それぞれ(Si,i=1..41)から形状記述子それぞれ(Hi,i=1..41)を算出する。
ステップS205及びS206では、候補形状に対する位置及び姿勢の計測性能の評価値が算出される。ステップS205及びS206は、上述の(工程3)の一例である。まず、ステップS205では、評価値算出部F54が、形状記述子(Hi,i=1..41
)から2つを選択した組み合わせに対して、記述子間距離(d(Hi,Hj),i,j=1..41,i≠j)を算出する。次に、ステップS206では、評価値算出部F54が、算出された記述子間距離(d(Hi,Hj),i,j=1..41,i≠j)のうちの最小値を、候補形状に対する評価値として決定する。
以上説明した本実施形態のマーカ1の製法によれば、ビュー独立な形状のうち、マーカ計測装置2等による位置及び姿勢の計測性能が高い形状を有するマーカ1を得ることができる。また、本実施形態のマーカ1の製法によれば、ビュー独立な形状のマーカ1を、定型的な工程によって容易に製造することができる。
§4.位置及び姿勢計測の詳細
本実施形態では、マーカ計測装置2がマーカ1の位置及び姿勢の計測を行う。以下、マーカ計測装置2を中心に位置及び姿勢の計測について説明する。
<マーカ計測装置2のハードウェア構成>
図15は、本実施形態に係るマーカ計測装置2のハードウェア構成を例示する図である
。マーカ計測装置2は、CPU21、RAM22、ROM23、HDD等の補助記憶装置24、及び距離画像カメラ3を備えるコンピュータであり、情報処理装置である。図15では、マーカ計測装置2は1台のコンピュータとして例示されているが、マーカ計測装置2は1台のコンピュータに限定される訳ではない。例えば、マーカ計測装置2は、ネットワークで接続された複数台のコンピュータであってもよい。
CPU21は、中央処理装置であり、RAM22等に展開された各種プログラムの命令及びデータを処理することで、RAM22、補助記憶装置24、距離画像カメラ3等を制御する。RAM22は、主記憶装置であり、CPU21によって制御され、各種命令やデータが書き込まれ、読み出される。補助記憶装置24は、不揮発性の記憶装置であり、RAM22にロードされる各種プログラム等、主にコンピュータの電源を落としても保持したい情報が書き込まれ、読み出される。補助記憶装置24には、後述する学習データベースのデータも格納される。
距離画像カメラ3は、視点3Aから現実空間にある物体までの距離に応じた画素値を画素ごとに有する距離画像を撮像する機能を持つ装置である。本実施形態の距離画像カメラ3は、例えば、TOF(Time Of Flight)方式の距離画像センサである。距離画像カメラ3は、発光ダイオード等によって赤外光を照射し、照射された赤外光が撮像対象物に反射されて戻るまでの時間をイメージセンサ等で画素ごとに計測する。なお、距離画像カメラ3は、赤外線プロジェクタにより特徴的な赤外線パターンを照射し、撮像対象物に照射された赤外線パターンの歪み等に基づいて、距離画像を撮像する距離画像センサであってもよい。また、距離画像カメラ3は、深度センサと呼ばれる装置であってもよい。また、距離画像カメラ3は、本実施形態ではリアルタイム、すなわち高いフレームレートで距離画像を撮像する距離画像センサであるが、このような距離画像センサに限定されない。また、距離画像カメラ3は、レーザ光の反射により距離を計測するレーザファインダ等であってもよい。
<マーカ計測装置2の機能構成>
図16は、本実施形態に係るマーカ計測装置2の機能構成を例示する図である。マーカ計測装置2は、補助記憶装置24に記憶されているプログラムが、RAM22に読み出され、CPU21によって実行されることで、学習部F21、基準形状記述子取得部F22、距離画像取得部F23、マーカ点座標集合取得部F24、形状記述子算出部F25、基準形状記述子抽出部F26、姿勢決定部F27、及び位置決定部F28を備えるコンピュータとして機能する。このうち、基準形状記述子取得部F22、距離画像取得部F23、マーカ点座標集合取得部F24、形状記述子算出部F25、基準形状記述子抽出部F26、姿勢決定部F27、及び位置決定部F28は、それぞれ、基準形状記述子取得手段、距離画像取得手段、マーカ点座標取得手段、形状記述子算出手段、基準形状記述子抽出手段、姿勢決定手段、及び位置決定手段の一例である。また、学習部F21及び基準形状記述子取得部F22は、学習データベースD01にアクセスする。
なお、本実施形態では、コンピュータの備える各機能は、汎用プロセッサであるCPU51によって実行されるが、これらの機能の一部または全部は、1または複数の専用プロセッサ、ハードウェアの演算回路等によって実行されてもよい。また、これらの機能の一部または全部は、別途のコンピュータにおいて実行されてもよい。
学習部F21は、方位角または仰角が異なる複数の視線方向からマーカ1を見た場合に見える、マーカ1の表面に位置する点群の座標集合それぞれに対して予め算出された形状記述子を、学習データベースD01に登録する。ここで登録される形状記述子は、マーカ1の姿勢等を計測する際の基準となる。そのため、以下、学習データベースD01に登録される形状記述子を基準形状記述子と呼ぶことにする。学習部F21は、基準形状記述子
とともに、基準形状記述子を算出する際に用いられた、視線方向、及び点群を示す座標集合を登録する。ここで、学習データベースD01は、補助記憶装置24に構築されるデータベースである。なお、学習データベースD01は、マーカ計測装置2がネットワーク等を介してアクセスできるデータベースサーバに構築されてもよい。
本実施形態において、学習部F21は、方位角または仰角が異なる所定の41の視線方向((仰角θi,方位角φi),i=1..41)からマーカ1を見た場合に見える、マーカ1の表面に位置する点群の座標集合それぞれ(Si,i=1..41)に対して予め算
出された基準形状記述子(Hi,i=1..41)を、学習データベースD01に登録す
る。ここで、所定の41の視線方向は、図3で例示される仰角22.5度間隔、方位角45度間隔の視線方向である。基準形状記述子は、上述のマーカ造形装置5の形状記述子算出部F53と同様の手順で算出される、点群の座標集合Siに応じた形状記述子である。
基準形状記述子は、マーカ計測装置2によって予め算出されたものであってもよいし、マーカ造形装置5その他のコンピュータによって算出されたものであってもよい。
本実施形態において、学習部F21は、基準形状記述子Hiを、視線方向(θi,φi
、点群の座標集合SL i、視点VPi、及びカメラ姿勢CPiとともに登録する。ここで点群の座標集合SL iは、マーカ1のローカル座標系CL1で表された点群の座標の集合である。視点VPiは、基準形状記述子Hiを算出する際の視点の座標である。カメラ姿勢CPi
は、基準形状記述子Hiが算出された際の距離画像の上方向示す向きである。
図17は、学習データベースD01のデータ項目を例示する図である。学習データベースD01の各レコードは、基準形状記述子Hi、視線方向(θi,φi)、点群の座標集合
L i、視点VPi、及びカメラ姿勢CPiのデータを含む。このうち、視線方向(θi,φi)、点群の座標集合SL i、視点VPi、及びカメラ姿勢CPiのデータは、基準形状記述子Hiに紐付けられて登録され、基準形状記述子Hiとともに取得できるデータである。以下、これらのデータをラベルデータと呼ぶ。
基準形状記述子取得部F22は、方位角または仰角が異なる複数の視線方向からマーカ1を見た場合に見える、マーカ1の表面に位置する点群の座標集合それぞれに対して予め算出された形状記述子を、基準形状記述子として取得する。基準形状記述子取得部F22は、基準形状記述子を、視線方向、及び基準形状記述子を算出する際に用いられた点群を示す座標集合とともに取得する。具体的には、基準形状記述子取得部F22は、学習部F21が予め登録した基準形状記述子を学習データベースD01から取得する。基準形状記述子取得部F22によって41個の基準形状記述子(Hi,i=1..41)が取得し得
る。また、基準形状記述子取得部F22は、各基準形状記述子をキーとして、基準形状記述子に紐付けられた視線方向等のラベルデータを学習データベースD01から取得する。なお、基準形状記述子取得部F22は、マーカ計測装置2とは別途のデータベースサーバ等からネットワーク等を介して基準形状記述子を取得してもよい。
距離画像取得部F23は、視点から現実空間にある物体までの距離に応じた画素値を画素ごとに有する距離画像を取得する。本実施形態において、距離画像取得部F23は、距離画像カメラ3を制御して、距離画像カメラ3によって撮像された距離画像を取得する。距離画像カメラ3が、例えば図1で示されるように、支持板4により支持されたマーカ1を撮像した場合、取得される距離画像には、視点3Aから、支持板4及びマーカ1という複数の物体それぞれまでの距離に応じた画素値が含まれる。なお、距離画像取得部F23は、マーカ計測装置2が備える距離画像カメラ3によって撮像された距離画像に限らず、例えば、ネットワークを介してマーカ計測装置2と通信可能な距離画像カメラ3やコンピュータから距離画像を取得してもよい。
マーカ点座標集合取得部F24は、距離画像取得部F23によって取得された距離画像からマーカ1の表面に位置する点群の座標集合をマーカ点座標集合として取得する。
具体的には、まず、マーカ点座標集合取得部F24は、距離画像が有する画素が示す複数の物体の表面に位置する点群を、所定の基準で検出される複数の物体間の境界で複数の点群(S'i,i=1..n)に分割する。本実施形態では、マーカ点座標集合取得部F24は、距離画像が有する各画素を、距離画像カメラ3の視点3Aを原点としたカメラ座標系の座標で表される点群へ変換し、当該点群を分割する。
図18は、カメラ座標系及びz軸回りのロール角を例示する図である。図18は、図1のマーカ計測装置2がマーカ1の位置及び姿勢を計測する場面に対応した図である。本実施形態では、距離画像カメラ3の視点3Aを原点とした右手系の直交行座標系CL2が採用される。カメラ座標系CL2において、z軸方向は、視線方向の逆向きである。また、y軸方向は、距離画像カメラ3の鉛直上向きであり、撮像される距離画像の上方向に対応する。また、x軸方向は、撮像される距離画像の右方向に対応する。ここで、z軸回りの角は、ロール角rである。ロール角rによって、例えば、距離画像カメラ3からマーカ1等の物体を見たときの、物体の左右の傾きの程度を表すことができる。
マーカ点座標集合取得部F24は、距離画像で近接する画素に対応する点どうしのカメラ座標空間上の隔たりやその他のギャップ等に基づき、物体間の境界を点群から検出する。マーカ点座標集合取得部F24は、カメラ座標系CL2の座標が示す点群を、検出された境界で分割し、分割された複数の点群の集合D={S'i,i=1..n}を得る。ここで得られる点群S'iそれぞれは、例えば、マーカ1、支持板4等の個々の物体の表面上に位置する点群である。画像あるいは画素が示す点群等から対象物となる領域を検出して、分割するこのような処理を、セグメンテーションと呼ぶ。なお、セグメンテーションの方法として、種々のアルゴリズムが採用されてもよい。
次に、マーカ点座標集合取得部F24は、分割された複数の点群S'i∈Dからマーカ1の表面に位置する点群を選び、当該点群の座標集合をマーカ点座標集合として取得する。ここで、分割された複数の点群S'i∈Dそれぞれに応じて形状記述子H'iが算出可能である。また、当該算出可能な形状記述子H'i(i=1..n)から1つと基準形状記述子取得部F22によって取得され得る基準形状記述子Hj(j=1..41)から1つとを選
んだ組み合わせ(S'i,Hj)は、n×41通りある。マーカ点座標集合取得部F24は
、当該組み合わせのうち、形状記述子H'iと基準形状記述子Hjとの間の記述子距離d(
H'i,Hj)が最小となる組み合わせの点群S'iの座標集合をマーカ点座標集合として取
得する。ここで、記述子間距離d(H'i,Hj)とは、マーカ造形装置5の評価値算出部
F54の説明において上述した記述子間距離である。
具体的には、マーカ点座標集合取得部F24は、分割された複数の点群S'i∈Dそれぞれに応じた形状記述子H'iを、形状記述子算出部F25に算出させる。マーカ点座標集合取得部F24は、基準形状記述子取得部F22を介して学習データベースD01を検索して、記述子間距離が最小となる、点群S'iの形状記述子Hiと基準形状記述子Hjとの組み合わせを見つける。マーカ点座標集合取得部F24は、当該見つけた組み合わせの点群S'iの座標集合を、マーカ1の表面に位置する点群を示すマーカ点座標集合として取得する。なお、当該見つけた組み合わせに関する情報は、基準形状記述子抽出部F26によっても参照される。
本実施形態のマーカ点座標集合取得部F24によれば、形状記述子間の記述子間距離を尺度として、最も近い、形状記述子H'iと基準形状記述子Hjとの組み合わせが見つけら
れる。形状記述子は、物体の立体形状の視点からの見え方を反映しているため、模様等に
影響されずに、立体形状に基づいたパターンマッチが行われることになる。2次元コード等の模様と類似する模様が存在する場合と比較し、本実施形態のマーカ1と類似する形状を有する自然物や人工物が存在する確率は低い。また、模様等は、鏡やビデオを映したスクリーン等に映り込むことがあるが、マーカ1の形状にはそのような現象が発生しない。そのため、誤検出を抑制して、複数の物体が撮像された距離画像からマーカ1を精度よく検出することができる。また、形状記述子は点群の座標の分布の特徴を示し、点群の座標自体を示さない。そのため、距離画像を取得する際の視点距離や解像度、距離画像カメラ3の性能差等の影響を抑制した好適なマーカ1の検出が可能になる。
形状記述子算出部F25は、特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、座標集合の座標の分布の特徴を示す形状記述子を、マーカ点座標集合取得部F24によって取得された点群のマーカ点座標集合に応じて算出する。本実施形態において、形状記述子算出部F25は、マーカ点座標集合に応じた形状記述子に限らず、マーカ点座標集合取得部F24と連携して、分割された複数の点群S'i(i=1..n)の座標集合それぞれに応じた形状記述子H'i(i=1..n)を算出する。ここで算出される形状記述子は、上述のマーカ造形装置5の形状記述子算出部F53及びマーカ計測装置2の学習部F21と同様の手順で算出される形状記述子である。
基準形状記述子抽出部F26は、基準形状記述子取得部F22が取得し得る基準形状記述子Hi(i=1..41)のうちから、形状記述子算出部F25によって算出された形
状記述子H'iとの間の、記述子間距離が最小となる基準形状記述子を抽出する。本実施形態において、基準形状記述子抽出部F26が抽出する基準形状記述子は、マーカ点座標集合取得部F24によって見つけられた、記述子間距離が最小となる点群S'iの形状記述子Hiと基準形状記述子Hjとの組み合わせにおける基準形状記述子Hjである。
姿勢決定部F27は、基準形状記述子抽出部F26によって抽出された基準形状記述子Hiとともに取得される視線方向(θi,φi)に基づいて、現実空間におけるマーカ1の
姿勢を決定する。本実施形態のマーカ1の姿勢は、方位角h,仰角p,ロール角rによって表される。また、姿勢決定部F27は、抽出された基準形状記述子Hiとともに取得さ
れる座標集合SL iが示す点群とマーカ点座標集合が示す点群S'iとを対応付けた場合における、対応付けられた点群間の所定座標軸回りの回転量を算出する。姿勢決定部F27は、算出された回転量に更に基づいて、マーカ1の姿勢を決定する。ここで、本実施形態における所定座標軸回りの回転量は、ロール角rである。姿勢決定部F27のマーカ1の姿勢の決定は、距離画像等からの各種計算に基づいた推定にあたる。なお、マーカ1の姿勢は、方位角hの代わりに、カメラ座標系CL2のx軸回りの回転角に相当する、ヨー、ヘディング、あるいはパンと呼ばれる角を用いて表されてもよい。また、マーカ1の姿勢は、仰角pの代わりに、カメラ座標系CL2のy軸回りの回転角に相当する、ピッチあるいはチルトと呼ばれる角を用いて表されてもよい。
具体的には、姿勢決定部F27は、抽出された基準形状記述子Hiに紐付けられたラベ
ルデータである視線方向(θi,φi)を取得して、マーカ1の姿勢の、方位角hをφi
仰角pをθiに決定する。姿勢決定部F27は、更に、マーカ1の姿勢に関して、ロール
角rを算出して決定する。ロール角rは、抽出された基準形状記述子Hiのラベルデータ
であるSL iが示す点の集合とマーカ点座標集合が示す点の集合(S'i)との傾きを比較する所定の手法により算出される。本実施形態では、CRH(Camera Roll Histogram)によるロール角推定が所定の手法として採用される。なお、CRHによる手法は、論文「A. Aldoma, M. Vincze, N. Blodow, and D. Gossow, "CAD-model recognition and 6DOF pose estimation using 3D cues", 2011 IEEE International Conference on Computer Vision Workshops, IEEE, 2011, p.585-592」で提案された手法である。
本実施形態のロール角を算出の手順について説明する。(手順1)まず、姿勢決定部F27は、SL iが示す点の集合、S'iが示す点の集合のそれぞれに対して、所定の手順で角度のヒストグラムHα,Hβを求める。なお、ヒストグラムを求める手順の詳細は後述す
る。(手順2)次に、姿勢決定部F27は、(手順1)で求めたヒストグラムHα、Hβに対して、離散フーリエ変換を行い、複素数で表される周波数成分の系列ziα,ziβ(i=1..90)を求める。(手順3)次に、姿勢決定部F27は、ziα,ziβの積の系列である数式6を求める。
Figure 2015075429
(手順4)次に、姿勢決定部F27は、数式6の系列に対して逆離散フーリエ変換を適用し、クロスパワースペクトルR={ri}(i=1..90)を得る。(手順5)次に、
姿勢決定部F27は、Rから最大値max(ri)を見つけ、見つけた値をロール角rと
して決定する。
図19は、ロール角の算出手順の一例におけるヒストグラムの算出処理の流れを例示するフローチャートである。この処理の流れは、上述の(手順1)の角度のヒストグラムを求める手順の詳細を例示するものである。この処理の流れでは、カメラ座標系の座標集合で表された点集合1つを入力として、角度のヒストグラム1つが算出される。なお、SL iはローカル座標系CL1で表現されているため、対応するラベルデータである視点VPi
及びカメラ姿勢CPiに基づいて、SL iをカメラ座標系に変換した座標集合が本算出処理
に入力される。
ステップS301では、4度刻み、計90ビンで表される角度の分布を表すヒストグラムのデータ格納領域が用意される。なお、その他のビン数が採用されてもよい。
ステップS302及びS306では、全点処理ループが形成される。全点処理ループでは、入力された点集合の要素すべてが処理済になるまで、点集合の各要素を対象として、ステップS303からS305の処理が繰り返される。ステップS302において、入力された点集合の要素すべてが処理済であると判定された場合、処理は終了する。
ステップS303からS305では、点集合の要素のうち、未処理の1点が90ビンのどのビンに対応するかが判定され、ヒストグラムに反映される。まず、ステップS303では、姿勢決定部F27が、点集合の未処理の要素である点piの法線ベクトルniをカメラ座標系のxy平面に射影し、ベクトルn'iを求める。ここで、点の法線ベクトルは、当該点の近傍の点群に最もよくフィットする平面の法線ベクトルである。次に、ステップS304では、姿勢決定部F27が、ベクトルn'iとカメラ座標系のy軸(鉛直上方向)とのなす角を求める。次に、ステップS305では、姿勢決定部F27が、ステップS304で求めた角に対応するヒストグラムのビンの頻度(ポイント数)を1 つカウントアップ
する。
姿勢決定部F27は、以上の通り、方位角h,仰角p,ロール角rで表されるマーカ1の姿勢を決定する。
なお、点集合どうしの傾きを比較する所定の手法として、Sample Consensusによるロール角の推定が採用されてもよい。
図20は、ロール角の算出手順の別の例における処理の流れを例示するフローチャート
である。この処理の流れでは、点集合P及びQに対して、Sample Consensusによるロール角の推定が行われる。この処理の流れでは、点集合Pを、カメラ座標系の視線方向である−z軸方向回りに回転させ、点集合Qと最もよく一致する角度がロール角として決定される。
ステップS401では、姿勢決定部F27が、点集合Pからランダムにn個の点を選択し、これをpi = [xiiiT(i=1..n)とする。なお、Tは行列の転置を意味する。
ステップS402では、姿勢決定部F27が、点集合Qからpiと類似の特徴を持つ点
i =[xiiiT(i=1..n)を所定のアルゴリズムで探索する。この際、piを−z軸方向回りにr回転させるとqiと一致するような理想的な場合には、piとqiとの間には数式7の関係が成り立つ。
Figure 2015075429
なお、(b)式は、−z軸回りのr回転を表す回転変換行列をRrとして、数式:qi=Rriから導かれる。
ステップS403では、誤差が評価され、回転角rjが算出される。まず、姿勢決定部
F27は、数式7を前提に、(b)式の右辺のn×2行列の一般逆行列を求め、数式8を得る。次に、姿勢決定部F27は、数式9によりr1,r2を求める。次に、姿勢決定部F27は、数式7の(a)式にr1を代入して(b)式の右辺の値と左辺の値の誤差を評価
する。次に、姿勢決定部F27は、数式7の(a)式にr2を代入して(b)式の右辺の
値と左辺の値の誤差を評価する。次に、姿勢決定部F27は、r1,r2のうち、評価された誤差の小さい方をrjとする。
Figure 2015075429
Figure 2015075429
次に、ステップS404では、姿勢決定部F27が、rjについて評価された誤差が閾
値より小さいか否かを判定する。ステップS404で、当該誤差が閾値より小さいと判定された場合、処理は、ステップS406へ進む。ステップS404で、当該誤差が閾値より小さいと判定されなかった場合、処理は、ステップS405へ進む。
ステップS405では、姿勢決定部F27が、Pのすべての点:∀x∈Pを−z軸方向回りにrj回転させる。具体的には、姿勢決定部F27は、Pのすべての点:∀x∈Pを
x←Rrjxで更新する。ここでRrjは、数式10で表される回転変換行列である。
Figure 2015075429
更に、姿勢決定部F27は、rjを、回転の履歴を格納するrの系列に追加する。ステッ
プS405の後、処理は、ステップS401へ戻る。
ステップS406では、姿勢決定部F27が、回転rjの履歴が格納された、rの系列
の総和を算出し、算出した総和をロール角rとして決定する。
位置決定部F28は、マーカ点座標集合取得部F24によって取得されたマーカ点座標集合が示す点群の位置を代表する代表点の座標を算出する。決定部F28は、算出された代表点の座標、及び姿勢決定部F27によって決定された姿勢に基づいて、マーカ座標集合の座標系におけるマーカ1の基準点の座標を算出して、現実空間におけるマーカ1の位置を決定する。ここで、本実施形態における代表点は、点群の座標の相加平均としてその位置が算出される点であり、点群の重心と呼ぶ。また、本実施形態におけるマーカ1の基準点はマーカ1の底面11の重心C1であり、マーカ1のローカル座標系CL1の原点Oに相当する点である。位置決定部F28によって、当該基準点のカメラ座標系CL2における座標が算出される。この座標は、距離画像カメラ3の視点3Aと当該基準点との相対的な位置関係を示すことになる。
具体的には、まず、位置決定部F28は、マーカ点座標集合取得部F24によって取得されたマーカ点座標集合が示す点群S'iの代表点である重心c'の座標を算出する。ここ
で算出される重心c'の座標は、カメラ座標系CL2で表されるマーカ点座標集合の相加
平均である。次に、位置決定部F28は、基準形状記述子抽出部F26によって抽出された基準形状記述子Hiとともに取得される座標集合SL iが示す点群Siの重心cを算出する。ここで算出される重心cの座標は、ローカル座標系CL1で表される座標集合SL iの相加平均である。
次に、位置決定部F28は、算出された重心c',cの座標、及び姿勢決定部F27に
よって決定された姿勢(方位角h,仰角p,ロール角r)に基づいて、マーカ1の基準点である底面11の重心C1の座標を、マーカ座標集合のカメラ座標系CL2で算出する。より具体的には、位置決定部F28は、次式によって座標を表す位置ベクトルO(x,y,z)を算出する。
O(x,y,z)=c'−R(h,p,r)・c
ここで、R(h,p,r)は、マーカ1の姿勢を表す方位角h,仰角p,ロール角rによって定まる回転変換行列である。また、c’はカメラ座標系CL2で表された位置ベクトルであり、cはローカル座標系CL1で表された位置ベクトルである。
次に、位置決定部F28は、算出された座標O(x,y,z)を現実空間におけるマーカ1の位置として決定する。この決定は、距離画像等からの各種計算に基づいた推定にあたる。
<マーカ計測装置2の処理の流れ>
図21及び図22を用いて、本実施形態に係るマーカ計測装置2の処理の流れを説明する。姿勢決定部F27及び位置決定部F28における一部の処理の流れについては、図19、図20を用いて説明済みであるため、ここでは省略する。なお、これらの図に示された処理の具体的な内容及び順序は一例であり、処理内容及び順序には、実施の形態に適したものが適宜採用されることが好ましい。
図21は、形状学習処理の流れを示すフローチャートである。この処理の流れは、図22に例示されるマーカ1の計測処理が実行される前に実行されるものである。また、この処理の流れは、例えば、マーカ1の形状を示す形状情報等をともなって形状学習を開始する旨の指示等がユーザから入力されたことを契機に開始する。
ステップS501及びS506では、全視線方向ループが形成される。全視線方向ループでは、所定の41の視線方向すべてが処理済になるまで、視線方向(θ1,φ1),(θ2,φ2),…,(θ41,φ41)を順に処理対象として、ステップS502からS505の処理が繰り返される。ステップS501において全視線方向が処理済であると判定された場合、処理は終了する。
ステップS502では、学習部F21が、3次元コンピュータグラフィックスのシミュレーションによって、処理対象の視線方向(θi,φi)からマーカ1の形状を見た場合における距離画像を生成する。
次に、ステップS503では、学習部F21が、生成した距離画像からマーカ1の表面に位置する点群の座標集合Siを取得する。座標集合Siは、カメラ座標系の座標の集合である。
次に、ステップS504では、学習部F21が、点群の座標集合Siから形状記述子Hiを算出する。
次に、ステップS505では、学習部F21が、算出した形状記述子Hiを基準形状記
述子として、学習データベースD01に登録する。このとき、学習部F21は、視線方向(θi,φi)、点群の座標集合SL i、視点VPi、及びカメラ姿勢CPiを、ラベルデータとして基準形状記述子Hiとともに登録する。ここで、点群の座標集合SL iは、カメラ座
標系で表されたSiをローカル座標系CL1に変換したものである。
図22は、マーカ1の計測処理の流れを示すフローチャートである。この処理の流れは、図21の形状学習処理の流れが終了した後に、ユーザからの指示等を契機に開始される。また、この処理の流れは、例えば、距離画像カメラ3が距離画像を撮像するフレームレート等に応じた時間間隔で繰り返し実行される。
ステップS601では、距離画像取得部F23が、現実空間にあるマーカ1、支持板4等を撮像した距離画像を取得する。ステップS601は、距離画像取得ステップの一例である。
ステップS602では、ステップS601で取得された距離画像が複数の点群の集合へ変換される。まず、マーカ点座標集合取得部F24は、当該距離画像が有する各画素を、カメラ座標系CL2の座標で表された点群へ変換する。次に、マーカ点座標集合取得部F24は、変換された点群をセグメンテーションの処理によって、複数の点群S'i(i=1..n)に分割する。
ステップS603では、形状記述子算出部F25が、点群S'i(i=1..n)それぞれに応じた形状記述子H'i(i=1..n)を算出する。ステップS603は、形状記述子算出ステップの一例である。
ステップS604では、学習データベースD01が参照され、記述子間距離が最小となる、点群S'iの形状記述子Hiと基準形状記述子Hjとの組み合わせが見つけられる。まず、マーカ点座標集合取得部F24は、形状記述子H'iと基準形状記述子Hjとの間の記述
子間距離d(H'i,Hj)を算出する。ここでは、ステップS603で算出された形状記
述子H'i(i=1..n)から1つと学習データベースD01に登録された基準形状記述子Hj(j=1..41)から1つとを選んだ組み合わせすべてについて、記述子間距離
d(H'i,Hj)が算出される。次に、マーカ点座標集合取得部F24は、最小の記述子
間距離d(H'i,Hj)をとる組み合わせを見つける。更に、基準形状記述子抽出部F2
6は、見つけられた組み合わせの基準形状記述子Hjを抽出する。ステップS604は、
基準形状記述子抽出ステップの一例である。
ステップS605では、マーカ点座標集合取得部F24が、ステップS604で見つけられた組み合わせに関し、形状記述子H'iの算出元となった点群S'iの座標集合を、マーカ1を示すマーカ点座標集合として取得する。ステップS605は、マーカ点座標集合取得ステップの一例である。
ステップS606では、ステップS604で抽出された基準形状記述子Hjに紐付けら
れた視線方向(θi,φi)等のラベルデータを、基準形状記述子取得部F22を介して学習データベースD01から取得する。
ステップS607では、姿勢決定部F27が、ステップS606で取得されたラベルデータに基づいて、現実空間におけるマーカ1の姿勢(方位角h,仰角p,ロール角r)を推定する。まず、姿勢決定部F27は、ラベルデータである視線方向(θi,φi)に基づいて、方位角h,仰角pを推定する。次に、姿勢決定部F27は、ラベルデータであるSL iが示す点集合とマーカ点座標集合が示す点集合との傾きを比較する上述の所定の手法によりロール角rを推定する。ステップS607は、姿勢決定ステップの一例である。
ステップS608では、現実空間におけるマーカ1の位置が推定される。まず、位置決定部F28は、マーカ点座標集合が示す点群の重心c'、ラベルデータSL iが示す点群の
重心cを算出する。次に、位置決定部F28は、算出された重心c',c、及びステップ
S605で推定された姿勢に基づいて、カメラ座標系CL2におけるマーカ1の基準点の座標を算出し、算出された座標をマーカ1の位置として推定する。ステップS608は、位置決定ステップの一例である。
以上説明した本実施形態によれば、ビュー独立な形状を有するマーカ1に関し、視点からの立体的な見え方に応じた形状記述子に基づいて、距離画像に撮像されたマーカ1が検出され、マーカ1の位置及び姿勢が算出され計測される。マーカ1が有する計測に用いられる情報は、各視線方向からの立体的な見え方であり、マーカ1の3次元形状により表される。本実施形態では、上述の2次元コードを側面に貼り付けたマーカを用いた位置及び姿勢を計測する方法のような、2次元の模様等に基づいた計測は行われない。そのため、背景にある模様等による誤計測を抑制して、現実空間におけるマーカ1の位置及び姿勢を計測することができる。
また、本実施形態によれば、赤外線を用いて撮像された距離画像に基づいてマーカ1の位置及び姿勢が計測される。そのため、暗所においてもマーカ1の位置及び姿勢を測定す
ることができる。
赤外線を利用する距離画像センサは、赤外線の発光体を撮像してしまうと、正常な距離画像を取得できない可能性がある。そのため、例えば、上述の赤外線LEDを取り付けたボードをマーカとして用いる位置及び姿勢を計測する方法は、赤外線を利用する距離画像センサを用いたモーションキャプチャ等の各種技術と併用することができない。一方、本実施形態のマーカ1は、赤外線を発光しない。そのため、本実施形態のマーカ1の計測方法は、他の赤外線を利用する距離画像センサを用いた各種技術と併用することができる。
<<複数のマーカ1の計測>>
以上説明した実施の形態では、マーカ計測装置2は、1つのマーカ1が撮像された距離画像を取得し、1つのマーカ1の位置及び姿勢を計測した。別の実施の形態として、複数のマーカ1が撮像された距離画像を取得し、複数のマーカ1それぞれの位置及び姿勢を計測してもよい。このような実施形態について、上述の実施形態と異なる点を中心に説明する。
図23は、マーカ計測装置2が4つのマーカ1の位置及び姿勢を計測する場面を例示する図である。図23では、マーカ1A、マーカ1B、マーカ1C、及びマーカ1Dが、支持板4の所定位置に所定向きで配置されている。また、図23では、被測定体6も支持板4の所定位置に所定向きで配置されている。ここで被測定体6は、マーカ1ではないが、マーカ1A〜1Dの位置及び姿勢が測定されることで、マーカ1A〜1Dとの相対的な位置や向きの関係に基づいて、位置及び姿勢を算出することができる物体である。
この場面において、マーカ計測装置2は、マーカ1A〜1Dを含んだ物体の距離画像を距離画像カメラ3から取得する。マーカ計測装置2は、取得した距離画像に基づいて、現実空間におけるマーカ1A〜1Dそれぞれの位置及び姿勢を計測する。なお、図23では、マーカ1A〜1Dは、支持板4の四隅に配置されるがその他の位置に配置されてもよい。また、支持板4に配置されるマーカ1の数は4つに限定されるものではない。
マーカ1A、マーカ1B、マーカ1C、及びマーカ1Dは、それぞれ、図9に示した基本形状MC20の底面以外の5面に、互いに異なる小立方体の凹部のパターンを設けた形状を有する。マーカ1A〜1Dそれぞれの5面それぞれ(20面)は、マーカ1A〜1Dの5面のうちの他の面(19面)の、何れとも異なるパターンの凹部が設けられる。そのため、4つのマーカ1を様々な視線方向から見た場合の立体的な見え方それぞれは、すべて異なったものとなる。
本実施形態では、同一の距離画像に撮像される可能性のある複数の特定姿勢のマーカ1に関して、方位角または仰角が異なる視線で異なるマーカ1の距離画像を取得すると、視線方向ごと、マーカ1ごとの距離画像がすべて異なったものになる。複数の1A〜1Dそれぞれは、このような性質の形状を有する。そのため、本実施形態に係るマーカ計測装置2は、距離画像に撮像された複数のマーカ1A〜1Dそれぞれが、何れのマーカ1であるかを識別して、マーカ1それぞれの位置及び姿勢を計測することができる。
<マーカ造形装置5>
マーカ造形装置5は、例えば、過去に造形したマーカ1の形状や、当該マーカ1の造形にあたって形状の生成の際に各面に割り当てた凹凸のパターン等を、造形履歴として補助記憶装置54に記憶する。マーカ造形装置5の候補形状生成部F51は、造形履歴として割り当てたことが記憶されていない凹凸のパターンから、基本形状MC20の底面を除いた5面それぞれにパターンを選択して割り当てて、マーカ1の候補形状を生成する。このようなマーカ1の造形によれば、上述した性質の形状を有する複数のマーカ1を造形する
ことができる。
なお、マーカ造形装置5の評価値算出部F54は、造形履歴を参照して、過去に造形したマーカ1の形状から算出される複数の視線方向に応じた形状記述子と候補形状から算出される視線方向に応じた形状記述子との間の記述子間距離を加味して、評価値を算出してもよい。このようにすることで、複数のマーカ1の位置及び姿勢を1つの距離画像から計測する場合に、精度よく計測されるマーカ1を造形することができる。
<マーカ計測装置2>
マーカ計測装置2の学習データベースD01には、マーカ1A〜1Dそれぞれを所定の41の視線方向からを見た場合に見える、マーカ1の表面に位置する点群の座標集合それぞれに対して予め算出された基準形状記述子(4×41個)が登録される。学習データベースD01には、マーカ1を識別する識別情報がラベルデータとして更に登録される。このような学習データベースD01に基づきマーカ1を識別することで、マーカ点座標集合取得部F24は、マーカ1ごとのマーカ点座標集合を取得する。また、このような学習データベースD01に基づきマーカ1を識別することで、姿勢決定部F27及び位置決定部F28は、マーカ1ごとの姿勢及び位置を決定する。
以上説明した別の実施形態によれば、背景にある模様等による誤計測を抑制しつつ、複数のマーカ1それぞれの位置及び姿勢を、まとめて計測することができる。また、マーカ1A〜1Dは、その全部または一部が支持板4、被測定体6その他の物体に遮られて、距離画像に十分に撮像されない場合がある。ここで説明した実施形態では、計測されるマーカ1が複数あるため、一部のマーカ1が距離画像に十分に撮像されない場合であっても、十分に撮像されたマーカ1については、位置及び姿勢を計測することができる。そのため、計測することができた何れかのマーカ1の位置及び姿勢に基づいて支持板4や被測定体6の位置及び姿勢を算出することもできる。また、計測することができた複数のマーカ1の位置及び姿勢に基づいて、被測定体6の位置及び姿勢をより精度よく算出することもできる。
1、1A、1B、1C、1D マーカ
2 マーカ計測装置(情報処理装置、コンピュータ)
3 距離画像カメラ(距離画像センサ)
3A 視点
4 支持板
5 マーカ造形装置(コンピュータ)
6 被測定体
D01 学習データベース

Claims (11)

  1. 視点から物体までの距離に応じた画素値を画素ごとに有する距離画像に基づいて位置及び姿勢が計測されるマーカであって、
    特定の姿勢の前記マーカに関する、方位角及び仰角の少なくとも一方が異なる視線について、視線ごとの距離画像中の前記マーカの表面を示す画素の配列それぞれが、視線に応じてすべて異なった配列を示す形状を有するマーカ。
  2. 前記形状は、凸多面体の一面を除いた面それぞれに、互いに異なるパターンの凹凸を設けた形状である、
    請求項1に記載のマーカ。
  3. 視点から物体までの距離に応じた画素値を画素ごとに有する距離画像に基づいて位置及び姿勢が計測されるマーカの評価方法であって、
    コンピュータが、
    前記マーカの形状情報を取得する形状取得ステップと、
    前記形状取得ステップにおいて取得された形状情報に基づいて、シミュレーションによって、方位角または仰角が異なる所定の複数の視線方向から前記マーカを見た場合に見える、前記マーカの表面に位置する点群の座標集合それぞれに対して、特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を算出する形状記述子算出ステップと、
    前記形状記述子算出ステップにおいて算出された形状記述子から2つを選択した組み合わせに対して、2つの形状記述子間の差異の量を示す記述子間距離を算出し、前記組み合わせから算出されたそれぞれの記述子間距離のうちの最小値を、前記マーカの位置及び姿勢の計測性能の評価値として算出する評価値算出ステップと、
    を実行する、マーカの評価方法。
  4. 視点から物体までの距離に応じた画素値を画素ごとに有する距離画像に基づいて位置及び姿勢が計測されるマーカを評価するためのプログラムであって、
    コンピュータを、
    前記マーカの形状情報を取得する形状取得手段と、
    前記形状取得手段によって取得された形状情報に基づいて、シミュレーションによって、方位角または仰角が異なる所定の複数の視線方向から前記マーカを見た場合に見える、前記マーカの表面に位置する点群の座標集合それぞれに対して、特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を算出する形状記述子算出手段と、
    前記形状記述子算出手段によって算出された形状記述子から2つを選択した組み合わせに対して、2つの形状記述子間の差異の量を示す記述子間距離を算出し、前記組み合わせから算出されたそれぞれの記述子間距離のうちの最小値を、前記マーカの位置及び姿勢の計測性能の評価値として算出する評価値算出手段と、
    として機能させるプログラム。
  5. 現実空間にあるマーカの姿勢を計測する情報処理装置であって、
    視点から現実空間にある物体までの距離に応じた画素値を画素ごとに有する距離画像を取得する距離画像取得手段と、
    前記距離画像取得手段によって取得された距離画像から前記マーカの表面に位置する点群の座標集合をマーカ点座標集合として取得するマーカ点座標集合取得手段と、
    特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を、前記取得されたマーカ点座標集合に応じて算出する形状記述子算出手段と、
    方位角または仰角が異なる複数の視線方向から前記マーカを見た場合に見える、前記マーカの表面に位置する点群の座標集合それぞれに対して予め算出された形状記述子を、基準形状記述子として視線方向とともに取得する基準形状記述子取得手段と、
    前記基準形状記述子取得手段が取得し得る基準形状記述子のうちから、前記形状記述子算出手段によって算出された形状記述子との間の、2つの形状記述子間の差異の量を示す記述子間距離が最小となる基準形状記述子を抽出する基準形状記述子抽出手段と、
    前記基準形状記述子抽出手段によって抽出された基準形状記述子とともに取得される視線方向に基づいて、現実空間における前記マーカの姿勢を決定する姿勢決定手段と、
    を備える、情報処理装置。
  6. 前記基準形状記述子取得手段は、前記基準形状記述子とともに、前記基準形状記述子を算出する際に用いられた点群を示す座標集合を更に取得し、
    前記姿勢決定手段は、前記基準形状記述子抽出手段によって抽出された基準形状記述子とともに取得される座標集合、及び、前記マーカ点座標集合取得手段によって取得されたマーカ点座標集合に基づいて、前記取得される座標集合が示す点群と前記マーカ点座標集合が示す点群とを対応付けた場合における、前記対応付けられた点群間の所定座標軸回りの回転量を算出し、前記算出された回転量に更に基づいて、前記マーカの姿勢を決定する、
    請求項5に記載の情報処理装置。
  7. 前記マーカには、前記マーカの位置の基準となる所定の基準点が定められ、
    前記マーカ点座標集合取得手段によって取得されたマーカ点座標集合が示す点群の位置を代表する代表点の座標を算出し、前記算出された代表点の座標、及び前記姿勢決定手段によって決定された姿勢に基づいて、前記マーカ座標集合の座標系における前記マーカの基準点の座標を算出して、現実空間における前記マーカの位置を決定する位置決定手段を更に備える、
    請求項6に記載の情報処理装置。
  8. 前記距離画像取得手段によって取得される距離画像には、複数の物体それぞれまでの距離に応じた画素値が含まれ、
    前記マーカ点座標集合取得手段は、前記距離画像が有する画素が示す複数の物体の表面に位置する点群を、所定の基準で検出される前記複数の物体間の境界で複数の点群に分割し、前記分割された複数の点群から1つと前記基準形状記述子取得手段によって取得され得る基準形状記述子から1つとを選んだ組み合わせのうち、点群の座標集合に応じて算出される形状記述子と基準形状記述子との間の記述子距離が最小となる組み合わせの点群の座標集合をマーカ点座標集合として取得する、
    請求項5から7の何れか一項に記載の情報処理装置。
  9. 現実空間にあるマーカの姿勢を計測する情報処理方法であって、
    視点から現実空間にある物体までの距離に応じた画素値を画素ごとに有する距離画像を取得する距離画像取得手段を備えるコンピュータが、
    前記距離画像取得手段によって取得された距離画像から前記マーカの表面に位置する点群の座標集合をマーカ点座標集合として取得するマーカ点座標集合取得ステップと、
    特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を、前記取得されたマーカ点座標集合に応じて算出する形状記述子算出ステップと、
    方位角または仰角が異なる複数の視線方向から前記マーカを見た場合に見える、前記マーカの表面に位置する点群の座標集合それぞれに対して予め算出された形状記述子を、基準形状記述子として視線方向とともに取得する基準形状記述子取得ステップと、
    前記基準形状記述子取得ステップにおいて取得し得る基準形状記述子のうちから、前記
    形状記述子算出ステップによって算出された形状記述子との間の、2つの形状記述子間の差異の量を示す記述子間距離が最小となる基準形状記述子を抽出する基準形状記述子抽出ステップと、
    前記基準形状記述子抽出ステップによって抽出された基準形状記述子とともに取得される視線方向に基づいて、現実空間における前記マーカの姿勢を決定する姿勢決定ステップと、
    を実行する情報処理方法。
  10. コンピュータを、
    視点から現実空間にある物体までの距離に応じた画素値を画素ごとに有する距離画像を取得する距離画像取得手段と、
    前記距離画像取得手段によって取得された距離画像から、姿勢が計測されるマーカの表面に位置する点群の座標集合をマーカ点座標集合として取得するマーカ点座標集合取得手段と、
    特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を、前記取得されたマーカ点座標集合に応じて算出する形状記述子算出手段と、
    方位角または仰角が異なる複数の視線方向から前記マーカを見た場合に見える、前記マーカの表面に位置する点群の座標集合それぞれに対して予め算出された形状記述子を、基準形状記述子として視線方向とともに取得する基準形状記述子取得手段と、
    前記基準形状記述子取得手段が取得し得る基準形状記述子のうちから、前記形状記述子算出手段によって算出された形状記述子との間の、2つの形状記述子間の差異の量を示す記述子間距離が最小となる基準形状記述子を抽出する基準形状記述子抽出手段と、
    前記基準形状記述子抽出手段によって抽出された基準形状記述子とともに取得される視線方向に基づいて、現実空間における前記マーカの姿勢を決定する姿勢決定手段と、
    として機能させるプログラム。
  11. 視点から物体までの距離に応じた画素値を画素ごとに有する距離画像に基づいて位置及び姿勢が計測されるマーカであって、
    凸多面体の一面を除いた面それぞれに対して、複数の凹凸のパターンから重複を許さずにパターンを選択し、前記選択されたパターンの凹凸を前記面それぞれに設けた形状を示す候補形状情報を生成し、
    前記生成された候補形状情報に基づいて、方位角または仰角が異なる所定の複数の視線方向から前記候補形状を見た場合に見える、前記候補形状の表面に位置する点群の座標集合それぞれに対して、特定の視線方向から見える、物体の表面に位置する点群の座標集合に応じた、前記座標集合の座標の分布の特徴を示す形状記述子を算出し、
    前記算出された形状記述子から2つを選択した組み合わせに対して、2つの形状記述子間の差異の量を示す記述子間距離を算出し、前記組み合わせから算出されたそれぞれの記述子間距離のうちの最小値を、前記候補形状に対する位置及び姿勢の計測性能の評価値として算出し、
    前記算出された評価値に基づき、前記候補形状に応じて造形されるマーカ。
JP2013212905A 2013-10-10 2013-10-10 マーカ、マーカの評価方法、情報処理装置、情報処理方法、及びプログラム Pending JP2015075429A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013212905A JP2015075429A (ja) 2013-10-10 2013-10-10 マーカ、マーカの評価方法、情報処理装置、情報処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013212905A JP2015075429A (ja) 2013-10-10 2013-10-10 マーカ、マーカの評価方法、情報処理装置、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2015075429A true JP2015075429A (ja) 2015-04-20

Family

ID=53000391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013212905A Pending JP2015075429A (ja) 2013-10-10 2013-10-10 マーカ、マーカの評価方法、情報処理装置、情報処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2015075429A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017036999A (ja) * 2015-08-10 2017-02-16 日本電信電話株式会社 形状検出装置、形状検出方法、及びプログラム
JP2018044897A (ja) * 2016-09-15 2018-03-22 株式会社五合 情報処理装置、カメラ、移動体、移動体システム、情報処理方法およびプログラム
CN110168308A (zh) * 2017-01-13 2019-08-23 恩普乐股份有限公司 标记搭载用单元及其制造方法
CN110177994A (zh) * 2017-01-13 2019-08-27 恩普乐股份有限公司 标记安装单元
CN110192078A (zh) * 2017-01-13 2019-08-30 恩普乐股份有限公司 标记安装单元
WO2020049272A1 (en) * 2018-09-03 2020-03-12 University Of Northumbria At Newcastle Object tracking
CN113834444A (zh) * 2021-09-24 2021-12-24 云南特可科技有限公司 一种适用于暗光环境的多维测量方法
CN116628786A (zh) * 2023-07-26 2023-08-22 中南大学 一种异形立体标志球制造方法
WO2023223916A1 (ja) * 2022-05-20 2023-11-23 株式会社Preferred Networks 三次元再構成システム、及び三次元再構成方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017036999A (ja) * 2015-08-10 2017-02-16 日本電信電話株式会社 形状検出装置、形状検出方法、及びプログラム
JP2018044897A (ja) * 2016-09-15 2018-03-22 株式会社五合 情報処理装置、カメラ、移動体、移動体システム、情報処理方法およびプログラム
EP3543644A4 (en) * 2017-01-13 2020-07-22 Enplas Corporation MARKER MOUNTING UNIT
CN110177994A (zh) * 2017-01-13 2019-08-27 恩普乐股份有限公司 标记安装单元
CN110192078A (zh) * 2017-01-13 2019-08-30 恩普乐股份有限公司 标记安装单元
CN110168308A (zh) * 2017-01-13 2019-08-23 恩普乐股份有限公司 标记搭载用单元及其制造方法
EP3540368A4 (en) * 2017-01-13 2020-07-22 Enplas Corporation MARKER MOUNTING UNIT AND METHOD FOR MANUFACTURING THE SAME
EP3537099A4 (en) * 2017-01-13 2020-07-22 Enplas Corporation MARKER MOUNTING UNIT
WO2020049272A1 (en) * 2018-09-03 2020-03-12 University Of Northumbria At Newcastle Object tracking
GB2576878B (en) * 2018-09-03 2023-01-25 Univ Of Northumbria At Newcastle Object tracking
CN113834444A (zh) * 2021-09-24 2021-12-24 云南特可科技有限公司 一种适用于暗光环境的多维测量方法
WO2023223916A1 (ja) * 2022-05-20 2023-11-23 株式会社Preferred Networks 三次元再構成システム、及び三次元再構成方法
CN116628786A (zh) * 2023-07-26 2023-08-22 中南大学 一种异形立体标志球制造方法
CN116628786B (zh) * 2023-07-26 2023-10-10 中南大学 一种异形立体标志球制造方法

Similar Documents

Publication Publication Date Title
JP2015075429A (ja) マーカ、マーカの評価方法、情報処理装置、情報処理方法、及びプログラム
JP6237326B2 (ja) 姿勢推定装置、姿勢推定方法及び姿勢推定用コンピュータプログラム
US6081269A (en) Image processing system and method for generating data representing a number of points in a three-dimensional space from a plurality of two-dimensional images of the space
US7003136B1 (en) Plan-view projections of depth image data for object tracking
US9519968B2 (en) Calibrating visual sensors using homography operators
JP5618569B2 (ja) 位置姿勢推定装置及びその方法
JP2020526818A (ja) 畳み込み画像変換を使用して同時位置特定およびマッピングを実施する方法およびシステム
CN108509848A (zh) 三维物体的实时检测方法及系统
CN111243093A (zh) 三维人脸网格的生成方法、装置、设备及存储介质
JP6425847B1 (ja) 画像処理装置、画像処理方法およびプログラム
WO2012081687A1 (en) Information processing apparatus, information processing method, and program
CN107680125A (zh) 在视觉系统中自动选择三维对准算法的系统和方法
CN114766042A (zh) 目标检测方法、装置、终端设备及介质
US11373329B2 (en) Method of generating 3-dimensional model data
CN111415420A (zh) 空间信息确定方法、装置及电子设备
Asif et al. Real-time pose estimation of rigid objects using RGB-D imagery
JP2015184054A (ja) 同定装置、方法及びプログラム
Ohta et al. Live 3D video in soccer stadium
JP5762099B2 (ja) 姿勢認識装置、作業ロボット、姿勢認識方法、プログラム及び記録媒体
JP2010231350A (ja) 人物識別装置、そのプログラム、及び、その方法
CN106408654A (zh) 一种三维地图的创建方法及系统
Bajramovic et al. Global Uncertainty-based Selection of Relative Poses for Multi Camera Calibration.
JP7251631B2 (ja) テンプレート作成装置、物体認識処理装置、テンプレート作成方法、物体認識処理方法及びプログラム
CN113240736A (zh) 基于yolo6d改进网络的位姿估计方法及装置
Yoshimoto et al. Cubistic representation for real-time 3D shape and pose estimation of unknown rigid object