(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-07
(45)【発行日】2024-11-15
(54)【発明の名称】マーカー、情報処理装置、及びプログラム
(51)【国際特許分類】
G06K 7/12 20060101AFI20241108BHJP
G06K 19/06 20060101ALI20241108BHJP
【FI】
G06K7/12
G06K19/06 018
G06K19/06 037
G06K19/06 056
G06K19/06 140
G06K19/06 168
(21)【出願番号】P 2020169115
(22)【出願日】2020-10-06
【審査請求日】2023-08-07
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、総務省、「仮想空間における電波模擬システム技術の高度化に向けた研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】504157024
【氏名又は名称】国立大学法人東北大学
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100188558
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100141139
【氏名又は名称】及川 周
(72)【発明者】
【氏名】岡田 佳都
(72)【発明者】
【氏名】大野 和則
(72)【発明者】
【氏名】田所 諭
(72)【発明者】
【氏名】多田隈 建二郎
【審査官】後藤 彰
(56)【参考文献】
【文献】特開2015-230554(JP,A)
【文献】特開平03-228193(JP,A)
【文献】特開2004-240874(JP,A)
【文献】特開2007-090448(JP,A)
【文献】特開2018-009959(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 7/12
G06K 19/06
(57)【特許請求の範囲】
【請求項1】
第1情報を示す第1マーカーと、第2情報を示す第2マーカーとが重畳された
対象マーカー
が撮像された撮像画像に基づいて、前記第1情報と前記第2情報とを検出する制御部を備え、
前記第1マーカーは、所定の第1波長帯の電磁波を反射し、且つ、所定の第1種類の符号化により前記第1情報を示すマーカーであり、
前記第2マーカーは、前記第1波長帯と異なる第2波長帯の電磁波を反射し、且つ、前記第1種類と異なる第2種類の符号化により前記第2情報を示すマーカーであり、
前記制御部は、前記撮像画像に基づいて、前記第1マーカーが示す前記第1情報を検出するとともに、前記第1マーカーの輪郭を検出し、検出した前記第1マーカーの輪郭と前記撮像画像とに基づいて、前記第2マーカーが示す前記第2情報を検出する、
情報処理装置。
【請求項2】
前記第1波長帯の電磁波と、前記第2波長帯の電磁波との少なくとも一方は、可視光であり、
前記第1マーカーの色相は、前記第2マーカーの色相と異なる色相である、
請求項1に記載の
情報処理装置。
【請求項3】
前記第1マーカーの色相と前記第2マーカーの色相とのうちの一方は、所定の色相環において、前記色相環に内接する正三角形が有する3つの頂点のうちの第1頂点に位置する色相であり、
前記第1マーカーの色相と前記第2マーカーの色相とのうちの他方は、所定の色相環において、前記3つの頂点のうちの前記第1頂点と異なる第2頂点に位置する色相である、
請求項2に記載の
情報処理装置。
【請求項4】
前記第1マーカーは、ArUcoマーカーである、
請求項1から3のうちいずれか一項に記載の
情報処理装置。
【請求項5】
前記第2マーカーは、QRコード
(登録商標)である、
請求項1から4のうちいずれか一項に記載の
情報処理装置。
【請求項6】
前記対象マーカーは、前記第1マーカー及び前記第2マーカーに加えて、1つ以上のマーカーが重畳されている、
請求項1から5のうちいずれか一項に記載の
情報処理装置。
【請求項7】
前記第1波長帯と前記第2波長帯との少なくとも一方の電磁波を透過させるフィルタが取り付け可能なレンズと、前記レンズにより集束された電磁波を電気信号に変換する撮像素子とを有する撮像部を更に備え、
前記制御部は、前記撮像部により撮像された前記撮像画像に基づいて、前記第1情報と前記第2情報とを検出する、
請求項
1から6のうちいずれか一項に記載の情報処理装置。
【請求項8】
移動体と通信を行う通信部を更に備え、
前記移動体は、前記第1波長帯と前記第2波長帯との少なくとも一方の電磁波を透過させるフィルタが取り付け可能なレンズと、前記レンズにより集束された電磁波を電気信号に変換する撮像素子とを有する撮像部を備え、
前記第1情報は、前記撮像部と前記
対象マーカーとの相対的な位置及び姿勢を示す情報であり、
前記第2情報は、所定の座標系における前記
対象マーカーの位置及び姿勢を示す情報であり、
前記制御部は、前記撮像部により撮像された前記撮像画像に基づいて、前記第1情報と前記第2情報とを検出し、検出した前記第1情報及び前記第2情報に基づいて、前記所定の座標系における前記移動体の位置及び姿勢を算出し、算出した前記移動体の位置及び姿勢に基づいて、前記通信部を介して、前記移動体を制御する、
請求項
1から6のうちいずれか一項に記載の情報処理装置。
【請求項9】
前記移動体は、ドローン、又は、ロボットである、
請求項
8に記載の情報処理装置。
【請求項10】
前記制御部は、前記第1情報及び前記第2情報を検出した後、前記第1情報が検出された前記第1マーカーを示す情報と、検出した前記第2情報とを対応付ける履歴情報を記憶部に記憶させる、
請求項
1から
9のうちいずれか一項に記載の情報処理装置。
【請求項11】
請求項1から6のうちいずれか一項に記載の情報処理装置のコンピュータに、
前記対象マーカーが撮像された
前記撮像画像に基づいて、前記第1情報と前記第2情報とを検出させる検出ステップ、
を実行させるためのプログラム。
【請求項12】
移動体と通信を行う通信部と、
第1情報を示す第1マーカーと、第2情報を示す第2マーカーとが重畳されたマーカーが撮像された撮像画像に基づいて、前記第1情報と前記第2情報とを検出する制御部と、
を備え、
前記第1マーカーは、所定の第1波長帯の電磁波を反射し、且つ、所定の第1種類の符
号化により前記第1情報を示すマーカーであり、
前記第2マーカーは、前記第1波長帯と異なる第2波長帯の電磁波を反射し、且つ、前
記第1種類と異なる第2種類の符号化により前記第2情報を示すマーカーであり、
前記移動体は、前記第1波長帯と前記第2波長帯との少なくとも一方の電磁波を透過させるフィルタが取り付け可能なレンズと、前記レンズにより集束された電磁波を電気信号に変換する撮像素子とを有する撮像部を備え、
前記第1情報は、前記撮像部と前記マーカーとの相対的な位置及び姿勢を示す情報であり、
前記第2情報は、所定の座標系における前記マーカーの位置及び姿勢を示す情報であり、
前記制御部は、前記撮像部により撮像された前記撮像画像に基づいて、前記第1情報と前記第2情報とを検出し、検出した前記第1情報及び前記第2情報に基づいて、前記所定の座標系における前記移動体の位置及び姿勢を算出し、算出した前記移動体の位置及び姿勢に基づいて、前記通信部を介して、前記移動体を制御する、
情報処理装置。
【請求項13】
第1情報を示す第1マーカーと、第2情報を示す第2マーカーとが重畳されたマーカーが撮像された撮像画像に基づいて、前記第1情報と前記第2情報とを検出する制御部を備え、
前記第1マーカーは、所定の第1波長帯の電磁波を反射し、且つ、所定の第1種類の符号化により前記第1情報を示すマーカーであり、
前記第2マーカーは、前記第1波長帯と異なる第2波長帯の電磁波を反射し、且つ、前記第1種類と異なる第2種類の符号化により前記第2情報を示すマーカーであり、
前記制御部は、前記第1情報及び前記第2情報を検出した後、前記第1情報が検出された前記第1マーカーを示す情報と、検出した前記第2情報とを対応付ける履歴情報を記憶部に記憶させる、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マーカー、情報処理装置、及びプログラムに関する。
【背景技術】
【0002】
移動体が備える撮像部により撮像された撮像画像に含まれるマーカーが示す情報を読み取り、移動体を制御する情報処理装置についての研究、開発が行われている。なお、移動体は、例えば、ドローン、ロボット等である。
【0003】
これに関し、情報処理装置が読み取る情報を示すマーカーとして、QRコード(登録商標)が知られている(特許文献1参照)。また、このようなマーカーとして、ArUcoマーカーも知られている(非特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】S. Garrido-Jurado, et al., "Generation of fiducial marker dictionaries using mixed integer linear programming," Pattern Recognition, Volume 51, March 2016, Pages 481-491.
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、移動体に行わせる動作が複雑であるほど、情報処理装置がマーカーから読み取る情報量は、増大する傾向にある。そして、情報処理装置に読み取らせる情報量が多い場合、1つのマーカーでは情報のすべてを示すことができないことがある。これを解決するため、2つ以上のマーカーのそれぞれが示す情報を情報処理装置に読み取らせる方法がある。しかしながら、この方法は、情報処理装置に読み取らせる情報が増えるほど、マーカーの数が増大してしまう。これは、マーカーの専有面積の増大に繋がり、望ましいことではない。マーカーの数の増大を抑制する方法として、符号化の種類が互いに同じ2つ以上のマーカー同士を、互いに色相を異ならせて重畳し、1つのマーカーとする方法も知られている。しかしながら、この方法では、1つのマーカーとして重畳された2つ以上のマーカーのうちのいずれかが示す情報の検出率が低下してしまうことがあった。その結果、情報処理装置は、移動体を精度よく動作させることができない場合があった。
【0007】
本発明は、このような事情を考慮してなされたもので、マーカーの数の増大を抑制しつつ、より多くの情報をマーカーが撮像された撮像画像から精度よく検出することができるマーカー、情報処理装置、及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【0008】
本発明は以下の態様を含む。
[1]第1情報を示す第1マーカーと、第2情報を示す第2マーカーとが重畳されたマーカーであり、前記第1マーカーは、所定の第1波長帯の電磁波を反射し、且つ、所定の第1種類の符号化により前記第1情報を示すマーカーであり、前記第2マーカーは、前記第1波長帯と異なる第2波長帯の電磁波を反射し、且つ、前記第1種類と異なる第2種類の符号化により前記第2情報を示すマーカーである、マーカー。
[2]前記第1波長帯の電磁波と、前記第2波長帯の電磁波との少なくとも一方は、可視光であり、前記第1マーカーの色相は、前記第2マーカーの色相と異なる色相である。
[3]前記第1マーカーの色相と前記第2マーカーの色相とのうちの一方は、所定の色相環において、前記色相環に内接する正三角形が有する3つの頂点のうちの第1頂点に位置する色相であり、前記第1マーカーの色相と前記第2マーカーの色相とのうちの他方は、所定の色相環において、前記3つの頂点のうちの前記第1頂点と異なる第2頂点に位置する色相である。
[4]前記第1マーカーは、ArUcoマーカーである。
[5]前記第2マーカーは、QRコードである。
[6]前記第1マーカー及び前記第2マーカーに加えて、1つ以上のマーカーが重畳されている。
[7]上記に記載のマーカーが撮像された撮像画像に基づいて、前記第1情報と前記第2情報とを検出する制御部を備える、情報処理装置。
[8]前記制御部は、前記撮像画像に基づいて、前記第1マーカーが示す前記第1情報を検出するとともに、前記第1マーカーの輪郭を検出し、検出した前記第1マーカーの輪郭と前記撮像画像とに基づいて、前記第2マーカーが示す前記第2情報を検出する。
[9]上記に記載のマーカーが撮像された撮像画像に基づいて、前記第1情報と前記第2情報とを検出する制御部を備える、情報処理装置。
[10]前記制御部は、前記撮像画像に基づいて、前記第1マーカーが示す前記第1情報を検出するとともに、前記第1マーカーの輪郭を検出し、検出した前記第1マーカーの輪郭と前記撮像画像とに基づいて、前記第2マーカーが示す前記第2情報を検出する。
[11]情報処理装置は、前記第1波長帯と前記第2波長帯との少なくとも一方の電磁波を透過させるフィルタが取り付け可能なレンズと、前記レンズにより集束された電磁波を電気信号に変換する撮像素子とを有する撮像部を更に備え、前記制御部は、前記撮像部により撮像された前記撮像画像に基づいて、前記第1情報と前記第2情報とを検出する。
[12]情報処理装置は、移動体と通信を行う通信部を更に備え、前記移動体は、前記第1波長帯と前記第2波長帯との少なくとも一方の電磁波を透過させるフィルタが取り付け可能なレンズと、前記レンズにより集束された電磁波を電気信号に変換する撮像素子とを有する撮像部を備え、前記第1情報は、前記撮像部と前記マーカーとの相対的な位置及び姿勢を示す情報であり、前記第2情報は、所定の座標系における前記マーカーの位置及び姿勢を示す情報であり、前記制御部は、前記撮像部により撮像された前記撮像画像に基づいて、前記第1情報と前記第2情報とを検出し、検出した前記第1情報及び前記第2情報に基づいて、前記所定の座標系における前記移動体の位置及び姿勢を算出し、算出した前記移動体の位置及び姿勢に基づいて、前記通信部を介して、前記移動体を制御する。
[13]前記移動体は、ドローン、又は、ロボットである。
[14]前記制御部は、前記第1情報及び前記第2情報を検出した後、前記第1情報が検出された前記第1マーカーを示す情報と、検出した前記第2情報とを対応付ける履歴情報を記憶部に記憶させる。
[15]コンピュータに、上記に記載のマーカーが撮像された撮像画像に基づいて、前記第1情報と前記第2情報とを検出させる検出ステップ、を実行させるためのプログラム。
【発明の効果】
【0009】
本発明によれば、マーカーの数の増大を抑制しつつ、より多くの情報をマーカーが撮像された撮像画像から精度よく検出することができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態に係る移動体制御システム1の構成の一例を示す図である。
【
図3】マーカーMKの構成の他の例を示す図である。
【
図4】マーカーMKの構成の更に他の例を示す図である。
【
図5】情報処理装置20のハードウェア構成の一例を示す図である。
【
図6】情報処理装置20の機能構成の一例を示す図である。
【
図7】情報処理装置20が移動体10を制御する処理の流れの一例を示す図である。
【
図8】移動体10を移動させた軌道と、情報処理装置20により算出された位置との関係の一例を示す図である。
【
図9】
図8に示した関係のうち、高さ方向における関係の一例を示す図である。
【
図10】フィルタFTがレンズに取り付けられた撮像部11を備える情報処理装置20の一例を示す図である。
【
図11】フィルタFTが撮像部11に取り付けられていない場合において撮像部11によりマーカーMKAが撮像された撮像画像の一例を示す図である。
【
図12】赤の波長帯のみを透過させるフィルタFTが撮像部11に取り付けられている場合において撮像部11によりマーカーMKAが撮像された撮像画像の一例を示す図である。
【
図13】青の波長帯のみを透過させるフィルタFTが撮像部11に取り付けられている場合において撮像部11によりマーカーMKAが撮像された撮像画像の一例を示す図である。
【発明を実施するための形態】
【0011】
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。なお、実施形態では、マーカーは、所定の種類の符号化によって各種の情報を示す図形、印等のことである。マーカーは、例えば、ArUcoマーカー、QRコード、バーコード、同心円マーカー等であるが、これらに限られるわけではない。ここで、ArUcoマーカー、QRコード、バーコード、同心円マーカーのそれぞれは、符号化の種類が互いに異なるマーカーである。また、実施形態では、符号化の種類が互いに異なる複数のマーカーは、互いに異なる種類の符号化によって各種の情報を示す。また、実施形態では、符号化の種類が互いに同じ複数のマーカーは、互いに同じ種類の符号化によって各種の情報を示す。例えば、ArUcoマーカーとQRコードは、符号化の種類が互いに異なるマーカーである。また、例えば、2つのArUcoマーカーは、符号化の種類が互いに同じマーカーである。
【0012】
<移動体制御システムの構成>
以下、
図1を参照し、実施形態に係る移動体制御システム1の構成について説明する。
図1は、実施形態に係る移動体制御システム1の構成の一例を示す図である。
【0013】
移動体制御システム1は、移動体10と、情報処理装置20を備える。また、移動体10は、撮像部11を備える。なお、移動体制御システム1は、移動体10と、情報処理装置20とに加えて、他の装置を備える構成であってもよい。また、移動体制御システム1では、移動体10は、情報処理装置20と一体に構成されてもよい。また、移動体制御システム1では、移動体10は、以下において説明する情報処理装置20が有する機能のうちの一部を有する構成であってもよい。
【0014】
移動体制御システム1は、情報処理装置20により移動体10を制御する。例えば、移動体制御システム1は、情報処理装置20による制御によって、所定の軌道に沿って移動体10を移動させる。
【0015】
移動体10は、情報処理装置20による制御によって、移動体10の一部又は全部を移動することが可能な物体であれば、如何なる物体であってもよい。
図1に示した例では、移動体10は、ドローンである。なお、移動体10は、ドローンに代えて、ロボット等であってもよい。
【0016】
移動体10は、無線により情報処理装置20と通信可能に接続される。なお、移動体10は、有線により情報処理装置20と通信可能に接続される構成であってもよい。
【0017】
撮像部11は、集束された電磁波を電気信号に変換する撮像素子を備えたカメラである。以下では、一例として、撮像部11が、集光された可視光を電気信号に変換する撮像素子として、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである場合について説明する。撮像部11は、無線によって情報処理装置20と通信可能に接続されている。なお、撮像部11は、有線によって情報処理装置20と通信可能に接続される構成であってもよい。
【0018】
撮像部11は、移動体10の位置及び姿勢に応じた範囲を撮像可能である。撮像部11は、情報処理装置20からの制御により、撮像部11が撮像可能な範囲を撮像する。撮像部11は、撮像した撮像画像を、情報処理装置20に送信する。
【0019】
情報処理装置20は、例えば、多機能携帯電話端末(スマートフォン)である。なお、情報処理装置20は、多機能携帯電話端末に代えて、タブレットPC(Personal Computer)、ノートPC、PDA(Personal Digital Assistant)、携帯電話端末、デスクトップPC、ワークステーション等の他の情報処理装置であってもよい。
【0020】
情報処理装置20は、マーカーMKを含む範囲を撮像部11に撮像させる。マーカーMKは、例えば、撮像部11とマーカーMKとの相対的な位置及び姿勢を示す情報と、所定の座標系におけるマーカーMKの位置及び姿勢を示す情報とを示すマーカーである。所定の座標系は、例えば、ワールド座標系である。なお、所定の座標系は、マーカーMKに対して静止している他の座標系であってもよい。
【0021】
情報処理装置20は、例えば、撮像部11により撮像された撮像画像のうちマーカーMKを含む撮像画像に基づいて、マーカーMKが示す情報を検出する。情報処理装置20は、検出した当該情報に基づいて、所定の座標系における移動体10の位置及び姿勢を算出する。情報処理装置20は、算出した移動体10の位置及び姿勢と、予め記憶された軌道情報とに基づいて、当該軌道に沿って移動体10を移動させる。軌道情報は、前述の所定の軌道を示す情報のことである。なお、情報処理装置20は、マーカーMKを含む撮像画像に基づいて、他の動作を移動体10に行わせる構成であってもよい。この場合、情報処理装置20は、所定の座標系における移動体10の位置及び姿勢を算出する構成であってもよく、所定の座標系における移動体10の位置及び姿勢を算出しない構成であってもよい。
【0022】
ここで、撮像画像に含まれるマーカーが示す情報に基づいて移動体10に行わせる動作が複雑であるほど、情報処理装置20がマーカーから読み取る情報量は、増大する傾向にある。そして、情報処理装置20に読み取らせる情報量が多い場合、1つのマーカーでは情報のすべてを示すことができないことがある。これを解決するため、2つ以上のマーカーのそれぞれが示す情報を情報処理装置20に読み取らせる方法がある。しかしながら、この方法は、情報処理装置20に読み取らせる情報が増えるほど、マーカーの数が増大してしまう。マーカーの数の増大を抑制する方法として、符号化の種類が互いに同じ2つ以上のマーカー同士を、互いに色相を異ならせて重畳し、1つのマーカーとする方法も知られている。しかしながら、この方法では、1つのマーカーとして重畳された2つ以上のマーカーのうちのいずれかが示す情報の検出率が低下してしまうことがある。この場合、情報処理装置20は、移動体10を精度よく動作させることができない場合がある。
【0023】
そこで、マーカーMKは、2つ以上の情報のそれぞれを示すマーカーが重畳されたマーカーである。ただし、マーカーMKにおいて重畳される2つ以上のマーカーには、少なくとも互いに異なる2種類の符号化それぞれによって情報を示すマーカーが含まれている。このため、例えば、マーカーMKにおいて重畳される2つ以上のマーカーは、符号化の種類が互いに異なるマーカーであってもよい。また、例えば、マーカーMKにおいて重畳される2つ以上のマーカーには、互いに異なる2種類の符号化のうちの一方によって情報を示す1つ以上のマーカーと、互いに異なる2種類の符号化のうちの他方によって情報を示す1つ以上のマーカーとが含まれる構成であってもよい。また、マーカーMKにおいて重畳される2つ以上のマーカーのそれぞれは、互いに異なる波長帯の電磁波であり、且つ、予め決められた単一の波長帯の電磁波を反射するマーカーである。このため、実施形態において、当該2つ以上のマーカーとしてカラーコードを用いることは、想定されていない。以下では、一例として、マーカーMKが、第1マーカーMK1と、第2マーカーMK2とが重畳されたマーカーである場合について説明する。第1マーカーMK1は、所定の第1波長帯の電磁波を反射し、且つ、所定の第1種類の符号化により所定の第1情報を示すマーカーである。第2マーカーMK2は、第1波長帯と異なる第2波長帯の電磁波を反射し、且つ、第1種類と異なる第2種類の符号化により所定の第2情報を示すマーカーである。これにより、マーカーMKは、第1情報と第2情報との2つの情報それぞれの検出率を低下させることなく、1つのマーカーとして第1情報と第2情報とのそれぞれを示すことができる。その結果、マーカーMKは、マーカーの数の増大を抑制しつつ、より多くの情報をマーカーMKが撮像された撮像画像から精度よく検出することができる。換言すると、情報処理装置20は、マーカーの数の増大を抑制しつつ、より多くの情報をマーカーMKが撮像された撮像画像から精度よく検出することができる。なお、この一例では、第1情報は、撮像部11とマーカーMKとの相対的な位置及び姿勢を示す情報である。また、この一例では、第2情報は、所定の座標系におけるマーカーMKの位置及び姿勢を示す情報である。この場合、マーカーMKは、マーカーの数の増大を抑制しつつ、移動体10を精度よく所定の軌道に沿わせて移動させることができる。すなわち、この場合、情報処理装置20は、マーカーの数の増大を抑制しつつ、移動体10を精度よく所定の軌道に沿わせて移動させることができる。
【0024】
なお、第1マーカーMK1は、撮像部11とマーカーMKとの相対的な位置及び姿勢を示す情報以外の情報を第1情報として示すマーカーであってもよい。また、第2マーカーMK2は、所定の座標系におけるマーカーMKの位置及び姿勢を示す情報以外の情報を第2情報として示すマーカーであってもよい。また、マーカーMKには、第1マーカーMK1及び第2マーカーMK2とともに、第1マーカーMK1及び第2マーカーMK2のそれぞれと異なる1つ以上の他のマーカーが重畳される構成であってもよい。当該1つ以上の他のマーカーのうちの一部又は全部は、第1マーカーMK1及び第2マーカーMK2それぞれの符号化の種類と異なる種類の符号化によって各種の情報を示すマーカーであってもよく、第1マーカーMK1及び第2マーカーMK2それぞれの符号化の種類と同じ種類の符号化によって各種の情報を示すマーカーであってもよい。また、当該1つ以上のマーカーのうちの一部又は全部は、符号化の種類が互いに異なるマーカーであってもよく、符号化の種類が互いに同じマーカーであってもよい。
【0025】
また、第1マーカーMK1は、所定の第1波長帯の電磁波を反射する第1マーカー部分を有する。第1マーカーMK1は、第1マーカー部分に加えて、第1マーカーMK1において背景となる第1背景部分を有する構成であってもよく、第1背景部分を有さない構成であってもよい。第1背景部分は、第2波長帯と異なる波長帯の電磁波を反射する構成であってもよく、電磁波をほぼ反射しない部分であってもよい。また、第1マーカーMK1は、第1マーカー部分に加えて、第1マーカー部分及び第1背景部分のそれぞれと異なる付加的な第1付加部分を有する構成であってもよく、第1付加部分を有さない構成であってもよい。ただし、当該部分は、第1波長帯及び第2波長帯のそれぞれと異なる波長帯の電磁波を反射する。また、第2マーカーMK2は、第1波長帯と異なる第2波長帯の電磁波を反射する第2マーカー部分を有する。第2マーカーMK2は、第2マーカー部分に加えて、第2マーカーMK2において背景となる第2背景部分を有する構成であってもよく、第2背景部分を有さない構成であってもよい。第2背景部分は、第1波長帯と異なる波長帯の電磁波を反射する構成であってもよく、電磁波をほぼ反射しない部分であってもよい。また、第2マーカーMK2は、第2マーカー部分に加えて、第2マーカー部分及び第2背景部分のそれぞれと異なる付加的な第2付加部分を有する構成であってもよく、第2付加部分を有さない構成であってもよい。ただし、第2付加部分は、第1波長帯及び第2波長帯のそれぞれと異なる波長帯の電磁波を反射する。
【0026】
以下では、一例として、第1波長帯及び第2波長帯が、可視光の波長帯である場合について説明する。この場合、第1波長帯の電磁波、及び第2波長帯の電磁波は、可視光である。第1波長帯と第2波長帯とが異なる波長帯であり、且つ、第1波長帯と第2波長帯とが可視光の波長帯であることは、第1マーカーの色相が、第2マーカーの色相と異なる色相であることを意味する。ここで、第1マーカーの色相は、第1マーカー部分の色相のことである。第2マーカーの色相は、第2マーカー部分の色相のことである。なお、第1波長帯と第2波長帯との少なくとも一方は、可視光の波長帯と異なる波長帯であってもよい。例えば、第1波長帯と第2波長帯との少なくとも一方は、赤外線の波長帯であってもよい。また、第2波長帯は、第1波長帯の一部と重なる構成であってもよく、第1波長帯の全部と重ならない構成であってもよい。
【0027】
以下では、このようなマーカーMKの構成と、情報処理装置20の構成と、情報処理装置20が移動体10を制御する処理とのそれぞれについて詳しく説明する。
【0028】
<マーカーMKの構成>
【0029】
以下、マーカーMKの構成について説明する。
図2は、マーカーMKの構成の一例を示す図である。
図2には、マーカーMKの一例として、マーカーMKAが示されている。マーカーMKAは、第1マーカーMK1の一例である第1マーカーMK1Aと、第2マーカーMK2の一例である第2マーカーMK2Aとが重畳されたマーカーである。なお、
図2において、色相の違いは、ハッチングの違いによって示されている。
【0030】
第1マーカーMK1Aは、ArUcoマーカーである。すなわち、第1マーカーMK1Aは、第1マーカー部分を有し、第1背景部分及び第1付加部分を有さない第1マーカーMK1の一例である。また、第1マーカーMK1Aは、色相が赤のマーカーである。すなわち、第1マーカーMK1Aの第1マーカー部分の色相は、赤である。なお、第1マーカーMK1Aは、ArUcoマーカーに代えて、第2種類と異なる種類の符号化により第1情報を示すマーカーであれば、如何なるマーカーであってもよい。また、第1マーカーMK1Aは、第1背景部分を有さないわけではなく、第1背景部分が透明であると解釈されてもよく、第2マーカーMK2Aと重畳される際に第1背景部分が除去されたと解釈されてもよい。
【0031】
第2マーカーMK2Aは、QRコードである。すなわち、第2マーカーMK2Aは、第2マーカー部分及び第2背景部分を有し、第2付加部分を有さない第2マーカーMK2の一例である。また、第2マーカーMK2Aは、色相が緑のマーカーである。すなわち、第2マーカーMK2Aの第2マーカー部分の色相は、緑である。また、
図2に示した例では、第2背景部分の色相は、電磁波をほぼ反射しない黒である(
図2では、第2背景部分には、図が煩雑になるのを防ぐため、ハッチングがなされていない)。なお、第2マーカーMK2Aは、QRコードに代えて、第1種類と異なる種類の符号化により第2情報を示すマーカーであれば、如何なるマーカーであってもよい。
【0032】
図2に示したように、マーカーMKAでは、第1マーカーMK1Aの色相と、第2マーカーMK2Aの色相とが異なる。すなわち、マーカーMKAでは、第1マーカーMK1Aの第1マーカー部分の色相は、第2マーカーMK2Aの第2マーカー部分及び第2背景部分それぞれの色相と異なる。このため、情報処理装置20は、マーカーMKAが撮像された撮像画像に基づいて、第1マーカーMK1Aが示す第1情報と、第2マーカーMK2Aが示す第2情報とのそれぞれを、検出することができる。ここで、マーカーMKAでは、第1マーカー部分を構成する線のうち最も細い線の幅が太いほど、情報処理装置20による第1マーカーMK1Aからの第1情報の検出率が高くなる。また、マーカーMKAでは、第2マーカー部分を構成する線のうち最も細い線の幅が太いほど、情報処理装置20による第2マーカーMK2Aからの第2情報の検出率が高くなる。
図2に示した矢印が示す幅L1Aは、第1マーカー部分を構成する線のうち最も細い線の幅の一例である。また、
図2に示した矢印が示す幅L2Aは、第2マーカー部分を構成する線のうち最も細い線の幅の一例である。
図2に示した例では、幅L1Aは、幅L2Aよりも太い。すなわち、当該例では、情報処理装置20による第1マーカーMK1Aからの第1情報の検出率は、情報処理装置20による第2マーカーMK2Aからの第2情報の検出率よりも高い。
【0033】
図3は、マーカーMKの構成の他の例を示す図である。
図3には、マーカーMKの一例として、マーカーMKBが示されている。マーカーMKBは、第1マーカーMK1の一例である第1マーカーMK1Bと、第2マーカーMK2の一例である第2マーカーMK2Bとが重畳されたマーカーである。なお、
図3において、色相の違いは、ハッチングの違いによって示されている。
【0034】
第1マーカーMK1Bは、同心円マーカーである。すなわち、第1マーカーMK1Bは、第1マーカー部分を有し、第1背景部分及び第1付加部分を有さない第1マーカーMK1の一例である。また、第1マーカーMK1Bは、色相が赤のマーカーである。すなわち、第1マーカーMK1Bの第1マーカー部分の色相は、赤である。なお、第1マーカーMK1Bは、同心円マーカーに代えて、第2種類と異なる種類の符号化により第1情報を示すマーカーであれば、如何なるマーカーであってもよい。また、第1マーカーMK1Bは、第1背景部分を有さないわけではなく、第1背景部分が透明であると解釈されてもよく、第2マーカーMK2Bと重畳される際に第1背景部分が除去されたと解釈されてもよい。
【0035】
第2マーカーMK2Bは、バーコードである。すなわち、第2マーカーMK2Bは、第2マーカー部分及び第2背景部分を有し、第2付加部分を有さない第2マーカーMK2の一例である。また、第2マーカーMK2Bは、色相が青のマーカーである。すなわち、第2マーカーMK2Bの第2マーカー部分の色相は、青である。また、
図3に示した例では、第2背景部分の色相は、紫である(
図3では、第2背景部分には、図が煩雑になるのを防ぐため、ハッチングがなされていない)。なお、第2マーカーMK2Bは、バーコードに代えて、第1種類と異なる種類の符号化により第2情報を示すマーカーであれば、如何なるマーカーであってもよい。
【0036】
図3に示したように、マーカーMKBでは、第1マーカーMK1Bの色相と、第2マーカーMK2Bの色相とが異なる。すなわち、マーカーMKBでは、第1マーカーMK1Bの第1マーカー部分の色相は、第2マーカーMK2Bの第2マーカー部分及び第2背景部分それぞれの色相と異なる。このため、情報処理装置20は、マーカーMKBが撮像された撮像画像に基づいて、第1マーカーMK1Bが示す第1情報と、第2マーカーMK2Bが示す第2情報とのそれぞれを、検出することができる。ここで、
図3に示した矢印が示す幅L1Bは、第1マーカー部分を構成する線のうち最も細い線の幅の一例である。また、
図3に示した矢印が示す幅L2Bは、第2マーカー部分を構成する線のうち最も細い線の幅の一例である。
図3に示した例では、幅L1Bは、幅L2Bよりも太い。すなわち、当該例では、情報処理装置20による第1マーカーMK1Bからの第1情報の検出率は、情報処理装置20による第2マーカーMK2Bからの第2情報の検出率よりも高い。
【0037】
図4は、マーカーMKの構成の更に他の例を示す図である。
図4には、マーカーMKの一例として、マーカーMKCが示されている。マーカーMKCは、第1マーカーMK1の一例である第1マーカーMK1Cと、第2マーカーMK2の一例である第2マーカーMK2Cと、3つ目のマーカーである第3マーカーMK3Cとが重畳されたマーカーである。なお、以下では、説明の便宜上、第3マーカーMK3Cの符号化の種類を、第3種類と称して説明する。また、以下では、説明の便宜上、第3マーカーMK3Cが示す情報を、第3情報と称して説明する。また、
図4において、色相の違いは、ハッチングの違いによって示されている。
【0038】
第1マーカーMK1Cは、ArUcoマーカーである。すなわち、第1マーカーMK1Cは、第1マーカー部分を有し、第1背景部分及び第1付加部分を有さない第1マーカーMK1の一例である。また、第1マーカーMK1Cは、色相が赤のマーカーである。すなわち、第1マーカーMK1Cの第1マーカー部分の色相は、赤である。なお、第1マーカーMK1Cは、ArUcoマーカーに代えて、第2種類及び第3種類のそれぞれと異なる種類の符号化により第1情報を示すマーカーであれば、如何なるマーカーであってもよい。また、第1マーカーMK1Cは、第1背景部分を有さないわけではなく、第1背景部分が透明であると解釈されてもよく、第2マーカーMK2Cと重畳される際に第1背景部分が除去されたと解釈されてもよい。
【0039】
第2マーカーMK2Cは、QRコードである。すなわち、第2マーカーMK2Cは、第2マーカー部分及び第2背景部分を有し、第2付加部分を有さない第2マーカーMK2の一例である。また、第2マーカーMK2Cは、色相が青のマーカーである。すなわち、第2マーカーMK2Cの第2マーカー部分の色相は、青である。また、
図4に示した例では、第2背景部分の色相は、電磁波をほぼ反射しない黒である(
図4では、第2背景部分には、図が煩雑になるのを防ぐため、ハッチングがなされていない)。なお、第2マーカーMK2Cは、QRコードに代えて、第1種類及び第3種類のそれぞれと異なる種類の符号化により第2情報を示すマーカーであれば、如何なるマーカーであってもよい。
【0040】
第3マーカーMK3Cは、文字コードである。第3マーカーMK3Cは、文字部分を有し、背景となる部分を有さない。また、第3マーカーMK3Cは、色相が緑のマーカーである。すなわち、第3マーカーMK3Cの文字部分の色相は、緑である。なお、第3マーカーMK3Cは、文字コードに代えて、第1種類及び第2種類のそれぞれと異なる種類の符号化により第3情報を示すマーカーであれば、如何なるマーカーであってもよい。また、第3マーカーMK3Cは、背景となる部分を有さないわけではなく、当該部分が透明であると解釈されてもよく、第1マーカーMK1C及び第2マーカーMK2Cと重畳される際に当該部分が除去されたと解釈されてもよい。
【0041】
図4に示したように、マーカーMKCでは、第1マーカーMK1Cの色相と、第2マーカーMK2Cの色相と、第3マーカーMK3Cの色相とが異なる。すなわち、マーカーMKCでは、第1マーカーMK1Bの第1マーカー部分の色相は、第2マーカーMK2Bの第2マーカー部分及び第2背景部分それぞれの色相、及び、第3マーカーMK3Cの文字部分の色相と異なる。このため、情報処理装置20は、マーカーMKCが撮像された撮像画像に基づいて、第1マーカーMK1Cが示す第1情報と、第2マーカーMK2Cが示す第2情報と、第3マーカーMK3Cが示す第3情報とのそれぞれを、検出することができる。ここで、
図4に示した矢印が示す幅L1Bは、第1マーカー部分を構成する線のうち最も細い線の幅の一例である。また、
図4に示した矢印が示す幅L2Cは、第2マーカー部分を構成する線のうち最も細い線の幅の一例である。また、
図4に示した矢印が示す幅L3Cは、第3マーカーMK3Cの文字部分を構成する線のうち最も細い線の幅の一例である。
図4に示した例では、幅L1Cは、幅L2C、幅L3Cのそれぞれよりも太い。また、幅L2Cは、幅L3Cよりも太い。すなわち、当該例では、情報処理装置20による第1マーカーMK1Cからの第1情報の検出率は、情報処理装置20による第2マーカーMK2Cからの第2情報の検出率よりも高い。また、当該例では、情報処理装置20による第2マーカーMK2Cからの第2情報の検出率は、情報処理装置20による第3マーカーMK3Cからの第3情報の検出率よりも高い。
【0042】
このように、マーカーMKは、符号化の種類が互いに異なる2つ以上のマーカーが重畳されたマーカーである。これにより、マーカーMKは、2つ以上の情報を示すことができる。その結果、情報処理装置20は、1つのマーカーMKから2つ以上の情報を検出することができる。これは、マーカーにより占有される面積、体積を小さくすることに繋がる。その結果、マーカーMKは、2つ以上の情報を示すことができるとともに、設置の自由度を高くすることができる。また、マーカーMKにおいて第1マーカーMK1、第2マーカーMK2のそれぞれとして既存の種類の符号化により各種の情報を示すマーカーを用いた場合、マーカーMKを検出するアルゴリズム、ライブラリとして既存のアルゴリズム、ライブラリを用いることができる。また、例えば、マーカーMKCのように3つ目のマーカーを第1マーカーMK1、第2マーカーMK2に重畳させる場合、第1マーカーMK1の検出方法を示す情報を当該3つ目のマーカーに示させることができる。この場合、第1マーカーMK1として、既存の種類の符号化により各種の情報を示すマーカーに代えて、新たに開発した種類の符号化により各種の情報を示すマーカーを容易に用いることができる。更に、マーカーMKから第1情報及び第2情報を検出する情報処理装置20は、後述するように、第1マーカーMK1と第2マーカーMK2とのうち先に検出する方のマーカーの輪郭に基づいて、第1マーカーMK1と第2マーカーMK2とのうち後に検出する方のマーカーが示す情報の検出成功率を向上させることができる。なお、マーカーMKとして重畳されるマーカーの数は、4つ以上であってもよい。
【0043】
<情報処理装置20のハードウェア構成>
以下、
図5を参照し、情報処理装置20のハードウェア構成について説明する。
図5は、情報処理装置20のハードウェア構成の一例を示す図である。
【0044】
情報処理装置20は、例えば、CPU(Central Processing Unit)21と、記憶部22と、入力受付部23と、通信部24と、表示部25を備える。これらの構成要素は、バスを介して相互に通信可能に接続されている。また、情報処理装置20は、通信部24を介して移動体10、撮像部11のそれぞれと通信を行う。
【0045】
CPU21は、例えば、情報処理装置20の全体を制御するプロセッサーである。なお、CPU21は、FPGA(Field-Programmable Gate Array)等の他のプロセッサーであってもよい。CPU21は、記憶部22に格納された各種のプログラムを実行する。
【0046】
記憶部22は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、ROM(Read-Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶部22は、情報処理装置20に内蔵されるものに代えて、USB(Universal Serial Bus)等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部22は、情報処理装置20が処理する各種の情報、各種の画像、各種のプログラム等を格納する。
【0047】
入力受付部23は、キーボード、マウス、タッチパッド等の入力装置である。なお、入力受付部23は、表示部25と一体に構成されたタッチパネルであってもよい。
【0048】
通信部24は、例えば、アンテナ、USB等のデジタル入出力ポート、イーサネット(登録商標)ポート等を含んで構成される。
【0049】
表示部25は、例えば、液晶ディスプレイパネル、あるいは、有機EL(Electro Luminescence)ディスプレイパネル等を含む表示装置である。
【0050】
<情報処理装置20の機能構成>
以下、
図6を参照し、情報処理装置20の機能構成について説明する。
図6は、情報処理装置20の機能構成の一例を示す図である。
【0051】
情報処理装置20は、記憶部22と、入力受付部23と、通信部24と、表示部25と、制御部26を備える。
【0052】
制御部26は、情報処理装置20の全体を制御する。制御部26は、例えば、撮像制御部261と、画像処理部262と、位置姿勢算出部263と、移動体制御部264を備える。制御部26が備えるこれらの機能部は、例えば、CPU21が、記憶部22に記憶された各種のプログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
【0053】
撮像制御部261は、撮像部11が撮像可能な範囲を撮像部11に撮像させる。
【0054】
画像処理部262は、撮像部11により撮像された撮像画像を撮像部11から取得する。画像処理部262は、取得した撮像画像に基づいて、各種の画像処理を行う。例えば、画像処理部262は、取得した撮像画像に基づいて、撮像画像に含まれる第1マーカーMK1、第2マーカーMK2のそれぞれを検出する。また、例えば、画像処理部262は、検出した第1マーカーMK1が示す第1情報を検出する。また、例えば、画像処理部262は、検出した第2マーカーMK2が示す第2情報を検出する。
【0055】
位置姿勢算出部263は、画像処理部262による画像処理の結果に基づいて、所定の座標系における移動体10の位置及び姿勢を算出する。
【0056】
移動体制御部264は、位置姿勢算出部263により算出された移動体10の位置及び姿勢に基づいて、移動体10を制御する。
【0057】
<情報処理装置20が移動体10を制御する処理>
以下、
図7を参照し、情報処理装置20が移動体10を制御する処理について説明する。
図7は、情報処理装置20が移動体10を制御する処理の流れの一例を示す図である。以下では、一例として、
図7に示したステップS110の処理が行われるよりも前のタイミングにおいて、前述の軌道情報が記憶部22に記憶されている場合について説明する。また、以下では、一例として、当該タイミングにおいて、所定の座標系における移動体10の位置及び姿勢が、所定の開始位置及び所定の開始姿勢と一致している場合について説明する。所定の開始位置は、情報処理装置20による移動体10の制御が開始されるタイミングにおいて移動体10の位置が一致している位置のことである。所定の開始姿勢は、情報処理装置20による移動体10の制御が開始されるタイミングにおいて移動体10の姿勢が一致している姿勢のことである。移動体10の位置は、例えば、ワールド座標系における位置のうち、移動体10とともに動くように移動体10に対応付けられたローカル座標系の原点の位置によって表される。また、移動体10の姿勢は、例えば、ワールド座標系における方向のうち、当該ローカル座標系の各座標軸の向いている方向によって表される。なお、移動体10の位置は、移動体10に応じた他の位置によって表される構成であってもよい。また、移動体10の姿勢は、移動体10に応じた他の方向によって表される構成であってもよい。また、以下では、一例として、マーカーMKとして、
図2に示したマーカーMKAを用いる場合について説明する。また、以下では、一例として、移動体10の位置及び姿勢が所定の開始位置及び所定の開始姿勢と一致している場合、マーカーMKAが、撮像部11が撮像可能は範囲に含まれている場合について説明する。
【0058】
位置姿勢算出部263は、記憶部22に予め記憶された軌道情報を記憶部22から読み出す(ステップS110)。
【0059】
次に、撮像制御部261は、撮像部11が撮像可能な範囲を撮像部11に撮像させる(ステップS120)。これにより、撮像部11は、マーカーMKAを含む範囲を撮像する。そして、画像処理部262は、撮像部11により撮像された撮像画像を撮像部11から受信する。
【0060】
次に、画像処理部262は、ステップS120において撮像部11から受信した撮像画像に基づいて、画像分離を行う(ステップS130)。ここで、画像分離は、第1マーカーMK1Aの色相の成分と、第2マーカーMK2Aの色相の成分とを撮像画像から分離して、第1マーカーMK1Aが含まれる第1画像と、第2マーカーMK2Aが含まれる第2画像とを生成する画像処理のことである。
【0061】
次に、画像処理部262は、ステップS130において画像分離により生成した第1画像に基づいて、第1画像に含まれる第1マーカーMK1Aが示す第1情報を検出する(ステップS140)。この一例では、第1情報は、前述した通り、撮像部11とマーカーMKAとの相対的な位置及び姿勢を示す情報である。そして、この一例では、撮像部11は、移動体10に備えられている。このため、撮像部11の位置及び姿勢は、近似的に移動体10の位置及び姿勢として扱える。すなわち、ステップS140において、画像処理部262は、第1情報として、移動体10とマーカーMKAとの相対的な位置及び姿勢を示す情報を検出する。なお、第1マーカーMK1Aが示す第1情報の検出方法は、既知の方法であってもよく、これから開発される方法であってもよい。
【0062】
次に、画像処理部262は、第1画像に基づいて、第1画像に含まれる第1マーカーMK1Aの輪郭を検出する(ステップS150)。なお、第1マーカーMK1Aの輪郭の検出方法は、既知の方法であってもよく、これから開発される方法であってもよい。
【0063】
次に、画像処理部262は、ステップS150において検出した輪郭に基づいて、ステップS130において生成した第2画像に含まれる第2マーカーMK2Aの画像の射影変換を行う(ステップS160)。ここで、ステップS160の処理について説明する。第2マーカーMK2Aは、前述した通り、第1マーカーMK1Aと比較して、検出率が低い。このため、マーカーMKAが斜めから撮像画像に撮像されている場合、第2マーカーMK2Aは、検出できないことがある。そこで、画像処理部262は、当該輪郭に基づいて、第2画像に含まれる第2マーカーMK2Aの画像を、第2マーカーMK2Aを正面から見た場合の画像に射影変換する。なお、このような射影変換を行う方法は、既知の方法であってもよく、これから開発される方法であってもよい。
【0064】
次に、画像処理部262は、ステップS160において射影変換された後の第2画像に基づいて、第2マーカーMK2Aが示す第2情報を検出する(ステップS170)。この一例では、第2情報は、前述した通り、所定の座標系におけるマーカーMKAの位置及び姿勢を示す情報である。すなわち、ステップS170において、画像処理部262は、第2情報として、所定の座標系におけるマーカーMKAの位置及び姿勢を示す情報を検出する。なお、第2情報を検出する方法は、既知の方法であってもよく、これから開発される方法であってもよい。
【0065】
次に、位置姿勢算出部263は、ステップS140において検出した第1情報と、ステップS170において検出した第2情報とに基づいて、所定の座標系における移動体10の位置及び姿勢を算出する(ステップS180)。
【0066】
次に、移動体制御部264は、ステップS180において算出した移動体10の位置及び姿勢と、ステップS110において記憶部22から読み出した軌道情報とに基づいて、軌道情報が示す軌道に沿って移動体10を移動させ(ステップS190)、処理を終了する。
【0067】
以上のように、情報処理装置20は、マーカーMKAから第1情報及び第2情報を検出し、検出した第1情報及び第2情報に基づいて、移動体10を制御する。これにより、情報処理装置20は、マーカーの数の増大を抑制しつつ、より多くの情報をマーカーMKAが撮像された撮像画像から精度よく検出することができる。
【0068】
ここで、
図8は、移動体10を移動させた軌道と、情報処理装置20により算出された位置との関係の一例を示す図である。
図8に示したグラフの横軸は、所定の座標系におけるX軸方向の位置を示す。
図8に示したグラフの縦軸は、所定の座標系におけるY軸方向の位置を示す。当該グラフ中の実線は、移動体10が移動した軌道を示す。そして、当該グラフ中のプロットは、
図7に示したフローチャートの処理に基づいて情報処理装置20により算出された位置であり、移動体10を当該軌道に沿って移動させている間の各時刻における移動体10の位置を示す。
図8に示したように、情報処理装置20は、マーカーMKが撮像された撮像画像に基づいて、所定の座標軸のXY平面上での移動体10の位置を精度よく算出することができる。
【0069】
図9は、
図8に示した関係のうち、高さ方向における関係の一例を示す図である。
図9に示したグラフの横軸は、所定の座標軸の原点から水平方向へ向かう距離を示す。当該グラフの縦軸は、所定の座標系におけるZ軸方向の位置を示す。当該グラフ中の実線は、移動体10が移動した軌道を示す。そして、当該グラフ中のプロットは、
図7に示したフローチャートの処理に基づいて情報処理装置20により算出された位置であり、移動体10を当該軌道に沿って移動させている間の各時刻における移動体10の位置を示す。
図9に示したように、情報処理装置20は、マーカーMKが撮像された撮像画像に基づいて、所定の座標軸のZ軸方向での移動体10の位置を精度よく算出することができる。
【0070】
<実施形態の変形例1>
上記において説明した情報処理装置20は、撮像部11と一体に構成されてもよい。この場合、情報処理装置20は、移動体10を制御する構成であってもよく、移動体10を制御しない構成であってもよい。また、この場合、撮像部11は、例えば、第1波長帯と第2波長帯との少なくとも一方の電磁波をレンズに透過させるフィルタFT(例えば、バンドパスフィルタ等)が取り付け可能なレンズと、レンズにより集束された電磁波を電気信号に変換する撮像素子とを有する。ここで、
図10は、フィルタFTがレンズに取り付けられた撮像部11を備える情報処理装置20の一例を示す図である。
【0071】
このようなフィルタFTが撮像部11に取り付けられた場合、情報処理装置20は、前述の画像分離を行うことなく、前述の第1画像及び第2画像のそれぞれを撮像することができる。
【0072】
例えば、
図11は、フィルタFTが撮像部11に取り付けられていない場合において撮像部11によりマーカーMKAが撮像された撮像画像の一例を示す図である。
図11に示した画像P1は、当該撮像画像の一例である。
図11に示したように、この場合、
図11では、マーカーMKAとして重畳された第1マーカーMK1A及び第2マーカーMK2Aのそれぞれが視認できる。すなわち、当該場合、情報処理装置20は、第1情報及び第2情報を検出する際、画像分離を行わなければならない。
【0073】
一方、
図12は、赤の波長帯のみを透過させるフィルタFTが撮像部11に取り付けられている場合において撮像部11によりマーカーMKAが撮像された撮像画像の一例を示す図である。
図12に示した画像P2は、当該撮像画像の一例である。この場合、
図12では、マーカーMKAとして重畳された第1マーカーMK1A及び第2マーカーMK2Aのうちの第2マーカーMK2Aが視認でき、マーカーMKAとして重畳された第1マーカーMK1A及び第2マーカーMK2Aのうちの第1マーカーMK1Aが視認できない。すなわち、当該場合、情報処理装置20は、画像分離を行うこと無く、当該撮像画像に基づいて第2情報を検出することができる。
【0074】
また、
図13は、青の波長帯のみを透過させるフィルタFTが撮像部11に取り付けられている場合において撮像部11によりマーカーMKAが撮像された撮像画像の一例を示す図である。
図13に示した画像P3は、当該撮像画像の一例である。この場合、
図13では、マーカーMKAとして重畳された第1マーカーMK1A及び第2マーカーMK2Aのうちの第1マーカーMK1Aが視認でき、マーカーMKAとして重畳された第1マーカーMK1A及び第2マーカーMK2Aのうちの第2マーカーMK2Aが視認できない。すなわち、当該場合、情報処理装置20は、画像分離を行うこと無く、当該撮像画像に基づいて第1情報を検出することができる。
【0075】
ここで、フィルタFTが透過させる光の波長帯を変更可能であれば、情報処理装置20は、前述した通り、画像分離を行うことなく、マーカーMKAから第1情報及び第2情報を検出することができる。これは、第1マーカーMK1A及び第2マーカーMK2Aのそれぞれを検出可能な既存のアプリケーションプログラムがインストールされていることにより、新たなアプリケーションプログラムをインストールすることなく、情報処理装置20は、マーカーMKから2つ以上の情報を検出可能であることを意味している。従って、情報処理装置20のユーザーは、マーカーMKを用いた情報の取得を行う場合、フィルタFTを情報処理装置20に取り付けて既存のアプリケーションプログラムにより検出を行う方法と、画像分離を行うことが可能な新たなアプリケーションプログラムにより検出を行う方法とを選択することができる。これは、ユーザーの利便性を向上させることに繋がり、好ましいことである。
【0076】
<実施形態の変形例2>
上記において説明したフィルタFTは、移動体10に備えられた撮像部11に取り付けられる構成であってもよい。この場合、情報処理装置20は、
図7に示したフローチャートのうちのステップS130の処理を省略することができる。ただし、この場合、情報処理装置20は、ステップS120において、フィルタFTにより透過される光の波長帯を変更する毎に、撮像部11が撮像可能な範囲を撮像部11に撮像させて、第1画像及び第2画像のそれぞれを撮像部11から受信する。これにより、情報処理装置20は、画像分離を行わない構成であっても、マーカーの数の増大を抑制しつつ、より多くの情報をマーカーMKが撮像された撮像画像から精度よく検出することができる。
【0077】
<実施形態の変形例3>
上記において説明した情報処理装置20は、第1情報及び第2情報を検出した後、第1情報が検出された第1マーカーMK1を示す情報と、検出した第2情報とを対応付ける履歴情報を記憶部22に記憶させる構成であってもよい。これにより、情報処理装置20は、マーカーMKの2回目の検出時において、第1情報を検出した後、第1情報が検出された第1マーカーMK1を示す情報に対応付けられた第2情報を記憶部22から読み出すことができる。すなわち、情報処理装置20は、この場合、第2情報を検出する処理を行う必要がない。その結果、情報処理装置20は、
図7に示したフローチャートの処理の負荷を軽減することができるとともに、当該処理の高速化を行うことができる。
【0078】
<第1マーカーの色相、及び第2マーカーの色相の選択と検出精度について>
上記において説明した情報処理装置20は、第1波長帯及び第2波長帯がともに可視光の波長帯である場合、第1マーカーMK1の色相と、第2マーカーMK2の色相との違いが大きいほど、第1情報及び第2情報を精度よく検出することができる。そこで、以下において説明するようにこれら2つの色相を選択することにより、情報処理装置20による第1情報及び第2情報の検出精度が低下してしまうことを抑制することができる。
【0079】
まず、第1マーカーMK1の色相と第2マーカーMK2の色相とのうちの一方を、所定の色相環において、任意の色相に割り当てる。以下では、説明の便宜上、この割り当てた色相を、第1色相と称して説明する。その後、色相環に内接する正三角形を考える。この三角形は、当該三角形が有する頂点のうちの1つが第1色相に位置するように色相環に内接させる。そして、当該三角形が有する頂点のうちの第1色相に位置する頂点以外の2つの頂点のうちのいずれかが位置する色相を、第1マーカーMK1の色相と第2マーカーMK2の色相とのうちの他方として割り当てる。このように、第1マーカーMK1の色相と第2マーカーMK2の色相とを選択することにより、情報処理装置20は、情報処理装置20による第1情報及び第2情報の検出精度が低下してしまうことを抑制することができる。なお、第1マーカーMK1の色相と第2マーカーMK2の色相とは、他の方法により選択される構成であってもよい。
【0080】
なお、上記において説明した情報処理装置20は、移動体10に代えて、情報処理装置20からの制御によって移動する部位を有さない装置を制御する構成であってもよい。この場合、当該装置は、例えば、撮像可能な範囲を変化させることが可能なように当該装置に撮像部11が取り付けられる構成であってもよく、撮像可能な範囲を変化させることが不可能なように当該装置に撮像部11が取り付けられる構成であってもよい。
【0081】
また、上記において説明したマーカーMKは、移動体10に貼付されてもよい。この場合、撮像部11は、移動体10を移動させる範囲を含む範囲を撮像可能な位置に設置される。また、第1マーカーMK1と第2マーカーMK2とのうちの一方は、移動体10の個体情報を示す第1マーカーMK1を示す。また、また、第1マーカーMK1と第2マーカーMK2とのうちの他方は、撮像部11とマーカーMKとの相対的な位置及び姿勢を示す情報を、撮像部11と移動体10との相対的な位置及び姿勢を示す情報として示す。そして、情報処理装置20は、マーカーMKから検出されるこれら2つの情報に基づいて、移動体10を制御する。このような制御方法は、例えば、情報処理装置20により多数の移動体の群れに含まれる個々の移動体を制御(管制)する場合に適用されることが多い。また、このような制御方法における第1情報及び第2情報を検出する処理の流れは、例えば、
図7に示したステップS120~ステップS170の処理の流れであってもよく、第1情報及び第2情報を検出することが可能な他の処理の流れであってもよい。
【0082】
以上のように、実施形態に係るマーカー(上記において説明した例では、マーカーMK、マーカーMKA、マーカーMKB、マーカーMKC)は、第1情報を示す第1マーカー(上記において説明した例では、第1マーカーMK1、第1マーカーMK1A、第1マーカーMK1B、第1マーカーMK1C)と、第2情報を示す第2マーカー(上記において説明した例では、第2マーカーMK2、第2マーカーMK2A、第2マーカーMK2B、第2マーカーMK2C)とが重畳されたマーカーであり、第1マーカーは、所定の第1波長帯の電磁波を反射し、且つ、所定の第1種類の符号化により第1情報を示すマーカー(上記において説明した例では、例えば、ArUcoマーカー)であり、第2マーカーは、第1波長帯と異なる第2波長帯の電磁波を反射し、且つ、第1種類と異なる第2種類の符号化により第2情報を示すマーカー(上記において説明した例では、例えば、QRコード)である。これにより、マーカーは、マーカーの数の増大を抑制しつつ、より多くの情報をマーカーが撮像された撮像画像から精度よく検出することができる。
【0083】
また、マーカーでは、第1波長帯の電磁波と、第2波長帯の電磁波との少なくとも一方は、可視光であり、第1マーカーの色相は、第2マーカーの色相と異なる色相である、構成が用いられてもよい。
【0084】
また、マーカーでは、第1マーカーの色相と第2マーカーの色相とのうちの一方は、所定の色相環において、色相環に内接する正三角形が有する3つの頂点のうちの第1頂点に位置する色相であり、第1マーカーの色相と第2マーカーの色相とのうちの他方は、所定の色相環において、3つの頂点のうちの第1頂点と異なる第2頂点に位置する色相である、構成が用いられてもよい。
【0085】
また、マーカーでは、第1マーカーは、ArUcoマーカーである、構成が用いられてもよい。
【0086】
また、マーカーでは、第2マーカーは、QRコードである、構成が用いられてもよい。
【0087】
また、マーカーでは、第1マーカー及び第2マーカーに加えて、1つ以上のマーカー(上記において説明した例では、第3マーカーMK3C)が重畳されている、構成が用いられてもよい。
【0088】
また、実施形態に係る情報処理装置(上記において説明した例では、情報処理装置20)は、上記に記載のマーカーが撮像された撮像画像に基づいて、第1情報と第2情報とを検出する制御部(上記において説明した例では、制御部26)を備える。これにより、情報処理装置は、マーカーの数の増大を抑制しつつ、移動体に精度の高い動作を行わせることができる。
【0089】
また、情報処理装置では、制御部は、撮像画像に基づいて、第1マーカーが示す第1情報を検出するとともに、第1マーカーの輪郭を検出し、検出した第1マーカーの輪郭と撮像画像とに基づいて、第2マーカーが示す第2情報を検出する、構成が用いられてもよい。
【0090】
また、情報処理装置は、第1波長帯と第2波長帯との少なくとも一方の電磁波を透過させるフィルタ(上記において説明した例では、フィルタFT)が取り付け可能なレンズと、レンズにより集束された電磁波を電気信号に変換する撮像素子とを有する撮像部(上記において説明した例では、撮像部11)を更に備え、制御部は、撮像部により撮像された撮像画像に基づいて、第1情報と第2情報とを検出する、構成が用いられてもよい。
【0091】
また、情報処理装置は、移動体(上記において説明した例では、移動体10)と通信を行う通信部(上記において説明した例では、通信部24)を更に備え、移動体は、第1波長帯と第2波長帯との少なくとも一方の電磁波を透過させるフィルタが取り付け可能なレンズと、レンズにより集束された電磁波を電気信号に変換する撮像素子とを有する撮像部を備え、第1情報は、撮像部とマーカーとの相対的な位置及び姿勢を示す情報であり、第2情報は、所定の座標系(上記において説明した例では、ワールド座標系)におけるマーカーの位置及び姿勢を示す情報であり、制御部は、撮像部により撮像された撮像画像に基づいて、第1情報と第2情報とを検出し、検出した第1情報及び第2情報に基づいて、所定の座標系における移動体の位置及び姿勢を算出し、算出した移動体の位置及び姿勢に基づいて、通信部を介して、移動体を制御する、構成が用いられてもよい。
【0092】
また、情報処理装置では、移動体は、ドローン、又は、ロボットである、構成が用いられてもよい。
【0093】
また、情報処理装置では、制御部は、第1情報及び第2情報を検出した後、第1情報が検出された第1マーカーを示す情報と、検出した第2情報とを対応付ける履歴情報を記憶部(上記において説明した例では、記憶部22)に記憶させる、構成が用いられてもよい。
【0094】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【0095】
また、以上に説明した装置(例えば、情報処理装置20等)における任意の構成部の機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録し、そのプログラムをコンピュータシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピュータシステム内部の揮発性メモリー(RAM(Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
【0096】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0097】
1…移動体制御システム、10…移動体、11…撮像部、20…情報処理装置、22…記憶部、23…入力受付部、24…通信部、25…表示部、26…制御部、261…撮像制御部、262…画像処理部、263…位置姿勢算出部、264…移動体制御部、FT…フィルタ、MK、MKA、MKB、MKC…マーカー、MK1、MK1A、MK1B、MK1C…第1マーカー、MK2、MK2A、MK2B、MK2C…第2マーカー、MK3C…第3マーカー