(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-28
(45)【発行日】2024-01-12
(54)【発明の名称】測位システム、測位装置、測位方法および測位プログラム
(51)【国際特許分類】
G06T 7/70 20170101AFI20240104BHJP
【FI】
G06T7/70 Z
(21)【出願番号】P 2020073636
(22)【出願日】2020-04-16
【審査請求日】2023-01-23
(73)【特許権者】
【識別番号】000162113
【氏名又は名称】共同印刷株式会社
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100123593
【氏名又は名称】関根 宣夫
(74)【代理人】
【氏名又は名称】胡田 尚則
(72)【発明者】
【氏名】斎藤 吉和
【審査官】佐藤 実
(56)【参考文献】
【文献】特開2013-141049(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
(57)【特許請求の範囲】
【請求項1】
カメラデバイスにより撮影された画像のデバイス座標において矩形をなす4点の座標が算出可能な複数の2次元コードを撮影し、3次元空間における所定の2次元コードの3次元位置情報であるワールド座標を測位する測位システムであって、
前記複数の2次元コードは、前記ワールド座標で矩形をなす4点の座標と向きが定義されている基準2次元コード、および、前記ワールド座標における位置情報を測位する対象となる幅および高さの少なくとも一方が判明している測位対象2次元コードを含み、
前記測位システムは、
前記複数の2次元コードのコード情報、並びに、前記デバイス座標において決められた矩形をなす4点のうち3点以上の座標を読み取るコード読み取り手段と、
前記コード読み取り手段で読み取って得られた前記複数の2次元コードのデバイス座標、当該複数の2次元コード毎の幅および高さの少なくとも一方、並びに、前記基準2次元コードのワールド座標から前記測位対象2次元コードの前記ワールド座標を特定する測位手段と、
前記測位手段によって特定された前記測位対象2次元コードのワールド座標を格納する位置保存部と、を有する、
ことを特徴とする測位システム。
【請求項2】
前記複数の2次元コードは、さらに、測位の際に一時的に利用する幅および高さの少なくとも一方が判明している測位用2次元コードを含み、
前記測位手段は、前記コード読み取り手段で読み取って同じ画像内で認識された前記測位用2次元コードを介して、前記測位対象2次元コードのワールド座標を特定する、
ことを特徴とする請求項1に記載の測位システム。
【請求項3】
前記測位システムは、さらに、前記コード読み取り手段で読み取って同じ画像内で認識された前記複数の2次元コードの関連付け情報を作成するコード関連付け手段を有し、
前記位置保存部は、前記測位手段によって特定された前記測位対象2次元コードのワールド座標と共に、前記コード関連付け手段によって作成された前記複数の2次元コードの関連付け情報を格納する、
ことを特徴とする請求項1に記載の測位システム。
【請求項4】
前記コード関連付け手段は、前記コード読み取り手段で読み取って同じ画像内で認識された前記基準2次元コードと前記測位対象2次元コードの関連付け情報を作成する、
ことを特徴とする請求項3に記載の測位システム。
【請求項5】
前記複数の2次元コードは、さらに、測位の際に一時的に利用する幅および高さの少なくとも一方が判明している測位用2次元コードを含み、
前記コード関連付け手段は、前記コード読み取り手段で読み取って同じ画像内で認識された前記測位用2次元コードを介して、前記基準2次元コードと前記測位対象2次元コードの関連付け情報を作成する、
ことを特徴とする請求項3に記載の測位システム。
【請求項6】
前記測位システムは、データベースサーバー、および、前記データベースサーバーと通信回線を介してデータの授受が可能な作業端末を有し、
前記データベースサーバーは、前記位置保存部を含み、
前記作業端末は、前記コード読み取り手段、前記コード関連付け手段、および、前記測位手段を含む、
ことを特徴とする請求項3乃至請求項5のいずれか1項に記載の測位システム。
【請求項7】
前記測位システムは、前記コード読み取り手段、前記コード関連付け手段、前記測位手段、および、前記位置保存部を含む作業端末を有する、
ことを特徴とする請求項3乃至請求項5のいずれか1項に記載の測位システム。
【請求項8】
矩形をなす前記4点の座標は、矩形の前記2次元コードの四隅の座標である、
ことを特徴とする請求項1乃至請求項7のいずれか1項に記載の測位システム。
【請求項9】
前記コード読み取り手段は、前記カメラデバイスを含み、前記カメラデバイスにより撮影された前記画像を処理する、
ことを特徴とする請求項1乃至請求項8のいずれか1項に記載の測位システム。
【請求項10】
カメラデバイスにより撮影された画像のデバイス座標において矩形をなす4点の座標が算出可能な複数の2次元コードを撮影し、3次元空間における所定の2次元コードの3次元位置情報であるワールド座標を測位する測位装置であって、
前記複数の2次元コードは、前記ワールド座標で矩形をなす4点の座標と向きが定義されている基準2次元コード、および、前記ワールド座標における位置情報を測位する対象となる幅および高さの少なくとも一方が判明している測位対象2次元コードを含み、
前記測位装置は、
前記複数の2次元コードのコード情報、並びに、前記デバイス座標において決められた矩形をなす4点のうち3点以上の座標を読み取るコード読み取り手段と、
前記コード読み取り手段で読み取って得られた前記複数の2次元コードのデバイス座標、当該複数の2次元コード毎の幅および高さの少なくとも一方、並びに、前記基準2次元コードのワールド座標から前記測位対象2次元コードの前記ワールド座標を特定する測位手段と、
前記測位手段によって特定された前記測位対象2次元コードのワールド座標を格納する位置保存部と、を有する、
ことを特徴とする測位装置。
【請求項11】
前記複数の2次元コードは、さらに、測位の際に一時的に利用する幅および高さの少なくとも一方が判明している測位用2次元コードを含み、
前記測位手段は、前記コード読み取り手段で読み取って同じ画像内で認識された前記測位用2次元コードを介して、前記測位対象2次元コードのワールド座標を特定する、
ことを特徴とする請求項10に記載の測位装置。
【請求項12】
前記測位装置は、さらに、前記コード読み取り手段で読み取って同じ画像内で認識された前記複数の2次元コードの関連付け情報を作成するコード関連付け手段を有し、
前記位置保存部は、前記測位手段によって特定された前記測位対象2次元コードのワールド座標と共に、前記コード関連付け手段によって作成された前記複数の2次元コードの関連付け情報を格納する、
ことを特徴とする請求項10に記載の測位装置。
【請求項13】
前記コード関連付け手段は、前記コード読み取り手段で読み取って同じ画像内で認識された前記基準2次元コードと前記測位対象2次元コードの関連付け情報を作成する、
ことを特徴とする請求項12に記載の測位装置。
【請求項14】
前記複数の2次元コードは、さらに、測位の際に一時的に利用する幅および高さの少なくとも一方が判明している測位用2次元コードを含み、
前記コード関連付け手段は、前記コード読み取り手段で読み取って同じ画像内で認識された前記測位用2次元コードを介して、前記基準2次元コードと前記測位対象2次元コードの関連付け情報を作成する、
ことを特徴とする請求項12に記載の測位装置。
【請求項15】
前記測位装置は、スマートグラス,スマートフォンまたはタブレットコンピュータである、
ことを特徴とする請求項10乃至請求項14のいずれか1項に記載の測位装置。
【請求項16】
カメラデバイスにより撮影された画像のデバイス座標において矩形をなす4点の座標が算出可能な複数の2次元コードを撮影し、3次元空間における所定の2次元コードの3次元位置情報であるワールド座標を測位する測位方法であって、
前記複数の2次元コードは、前記ワールド座標で矩形をなす4点の座標と向きが定義されている基準2次元コード、および、前記ワールド座標における位置情報を測位する対象となる幅および高さの少なくとも一方が判明している測位対象2次元コードを含み、
前記測位方法は、
前記複数の2次元コードのコード情報、並びに、前記デバイス座標において決められた矩形をなす4点のうち3点以上の座標を読み取り、
読み取って得られた前記複数の2次元コードのデバイス座標、当該複数の2次元コード毎の幅および高さの少なくとも一方、並びに、前記基準2次元コードのワールド座標から前記測位対象2次元コードの前記ワールド座標を特定し、
特定された前記測位対象2次元コードのワールド座標を格納する、
ことを特徴とする測位方法。
【請求項17】
前記複数の2次元コードは、さらに、測位の際に一時的に利用する幅および高さの少なくとも一方が判明している測位用2次元コードを含み、
前記複数の2次元コードの関連付け情報を作成するのは、読み取って同じ画像内で認識された前記測位用2次元コードを介して、前記測位対象2次元コードのワールド座標を特定する、
ことを特徴とする請求項16に記載の測位方法。
【請求項18】
前記測位方法は、さらに、読み取って同じ画像内で認識された前記複数の2次元コードの関連付け情報を作成し、
特定された前記測位対象2次元コードのワールド座標と共に、作成された前記複数の2次元コードの関連付け情報を格納する、
ことを特徴とする請求項16に記載の測位方法。
【請求項19】
前記複数の2次元コードの関連付け情報を作成するのは、読み取って同じ画像内で認識された前記基準2次元コードと前記測位対象2次元コードの関連付け情報を作成する、
ことを特徴とする請求項18に記載の測位方法。
【請求項20】
前記複数の2次元コードは、さらに、測位の際に一時的に利用する幅および高さの少なくとも一方が判明している測位用2次元コードを含み、
前記複数の2次元コードの関連付け情報を作成するのは、読み取って同じ画像内で認識された前記測位用2次元コードを介して、前記基準2次元コードと前記測位対象2次元コードの関連付け情報を作成する、
ことを特徴とする請求項18に記載の測位方法。
【請求項21】
カメラデバイスにより撮影された画像のデバイス座標において矩形をなす4点の座標が算出可能な複数の2次元コードを撮影し、3次元空間における所定の2次元コードの3次元位置情報であるワールド座標を測位する測位プログラムであって、
前記複数の2次元コードは、前記ワールド座標で矩形をなす4点の座標と向きが定義されている基準2次元コード、および、前記ワールド座標における位置情報を測位する対象となる幅および高さの少なくとも一方が判明している測位対象2次元コードを含み、
コンピュータに、
前記複数の2次元コードのコード情報、並びに、前記デバイス座標において決められた矩形をなす4点のうち3点以上の座標を読み取り、
読み取って得られた前記複数の2次元コードのデバイス座標、当該複数の2次元コード毎の幅および高さの少なくとも一方、並びに、前記基準2次元コードのワールド座標から前記測位対象2次元コードの前記ワールド座標を特定し、
特定された前記測位対象2次元コードのワールド座標を格納する、処理を実行させる、
ことを特徴とする測位プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、測位システム、測位装置、測位方法および測位プログラムに関する。
【背景技術】
【0002】
近年、AR(Augmented Reality:拡張現実)技術を用いた誘導(案内)システムが注目され、例えば、物流倉庫や薬局において、AR技術を利用して物品や薬品のピッキングを効率的に行うための情表示装報置や情報表示システムが提案されている。
【0003】
また、このようなAR技術を利用した情報表示システムの適用は、ピッキングに限定されるものではなく、例えば、駅の利用者やイベントの参加者に対して道案内を行うといったものにも適用することができる。なお、AR技術を利用した情報表示としては、例えば、スマートグラス,スマートフォンまたはタブレットコンピュータなどが利用可能である。
【0004】
従来、例えば、AR技術を用いた誘導システム(情報表示システム)を構築するには、作業端末における表示画面上の現在座標系と案内対象を定義したワールド座標(ワールド座標系)を紐づける測位システムが必要となる。なお、ワールド座標は、例えば、適用する情報表示システムにおいて、ユーザーが原点(基準点)を決めた実空間における座標である。
【0005】
すなわち、2次元コードなどのマーカーを用いた情報表示システムはいくつかの方法が確立されているが、実際に運用するにあたり、マーカーの位置をワールド座標に紐づけてシステムに登録するには、手作業を伴う測位作業が必要となる場合があった。また、位置を特定するためにGPS(Global Positioning System)やBluetooth(登録商標)などの特別なセンサーを用いると、ノイズなどによって位置の特定が安定しないことがあった。
【0006】
従来、例えば、情報表示システムにおいて、複数のコードの位置関係から対象物品の位置情報を生成する測位技術が提案されている。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2019-163172号公報
【文献】特開2015-045952号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
前述したように、例えば、AR技術を用いた情報表示システムを構築する場合、表示画面上の現在座標系とワールド座標系を紐づける必要があるが、このような紐づけを手作業で行うとユーザーの負担が大きくなり、また、特別なセンサーを用いて行うと位置の特定が安定しないといった課題がある。
【0009】
本発明は、上述した課題に鑑み、測位対象となる測位対象2次元コードを容易にワールド座標に紐づけることができる測位システム、測位装置、測位方法および測位プログラムの提供を目的とする。
【課題を解決するための手段】
【0010】
本発明に係る第1実施形態によれば、カメラデバイスにより撮影された画像のデバイス座標において矩形をなす4点の座標が算出可能な複数の2次元コードを撮影し、3次元空間における所定の2次元コードの3次元位置情報であるワールド座標を測位する測位システムであって、前記複数の2次元コードは、前記ワールド座標で矩形をなす4点の座標と向きが定義されている基準2次元コード、および、前記ワールド座標における位置情報を測位する対象となる幅および高さの少なくとも一方が判明している測位対象2次元コードを含み、前記測位システムは、前記複数の2次元コードのコード情報、並びに、前記デバイス座標において決められた矩形をなす4点のうち3点以上の座標を読み取るコード読み取り手段と、前記コード読み取り手段で読み取って得られた前記複数の2次元コードのデバイス座標、当該複数の2次元コード毎の幅および高さの少なくとも一方、並びに、前記基準2次元コードのワールド座標から前記測位対象2次元コードの前記ワールド座標を特定する測位手段と、前記測位手段によって特定された前記測位対象2次元コードのワールド座標を格納する位置保存部と、を有する測位システムが提供される。
【0011】
本発明に係る第2実施形態によれば、カメラデバイスにより撮影された画像のデバイス座標において矩形をなす4点の座標が算出可能な複数の2次元コードを撮影し、3次元空間における所定の2次元コードの3次元位置情報であるワールド座標を測位する測位装置であって、前記複数の2次元コードは、前記ワールド座標で矩形をなす4点の座標と向きが定義されている基準2次元コード、および、前記ワールド座標における位置情報を測位する対象となる幅および高さの少なくとも一方が判明している測位対象2次元コードを含み、前記測位装置は、前記複数の2次元コードのコード情報、並びに、前記デバイス座標において決められた矩形をなす4点のうち3点以上の座標を読み取るコード読み取り手段と、前記コード読み取り手段で読み取って得られた前記複数の2次元コードのデバイス座標、当該複数の2次元コード毎の幅および高さの少なくとも一方、並びに、前記基準2次元コードのワールド座標から前記測位対象2次元コードの前記ワールド座標を特定する測位手段と、前記測位手段によって特定された前記測位対象2次元コードのワールド座標を格納する位置保存部と、を有する測位装置が提供される。
【0012】
本発明に係る第3実施形態によれば、カメラデバイスにより撮影された画像のデバイス座標において矩形をなす4点の座標が算出可能な複数の2次元コードを撮影し、3次元空間における所定の2次元コードの3次元位置情報であるワールド座標を測位する測位方法であって、前記複数の2次元コードは、前記ワールド座標で矩形をなす4点の座標と向きが定義されている基準2次元コード、および、前記ワールド座標における位置情報を測位する対象となる幅および高さの少なくとも一方が判明している測位対象2次元コードを含み、前記測位方法は、前記複数の2次元コードのコード情報、並びに、前記デバイス座標において決められた矩形をなす4点のうち3点以上の座標を読み取り、読み取って得られた前記複数の2次元コードのデバイス座標、当該複数の2次元コード毎の幅および高さの少なくとも一方、並びに、前記基準2次元コードのワールド座標から前記測位対象2次元コードの前記ワールド座標を特定し、特定された前記測位対象2次元コードのワールド座標を格納する測位方法が提供される。
【0013】
本発明に係る第4実施形態によれば、カメラデバイスにより撮影された画像のデバイス座標において矩形をなす4点の座標が算出可能な複数の2次元コードを撮影し、3次元空間における所定の2次元コードの3次元位置情報であるワールド座標を測位する測位プログラムであって、前記複数の2次元コードは、前記ワールド座標で矩形をなす4点の座標と向きが定義されている基準2次元コード、および、前記ワールド座標における位置情報を測位する対象となる幅および高さの少なくとも一方が判明している測位対象2次元コードを含み、コンピュータに、前記複数の2次元コードのコード情報、並びに、前記デバイス座標において決められた矩形をなす4点のうち3点以上の座標を読み取り、読み取って得られた前記複数の2次元コードのデバイス座標、当該複数の2次元コード毎の幅および高さの少なくとも一方、並びに、前記基準2次元コードのワールド座標から前記測位対象2次元コードの前記ワールド座標を特定し、特定された前記測位対象2次元コードのワールド座標を格納する、処理を実行させる測位プログラムが提供される。
【発明の効果】
【0014】
本実施形態に係る測位システム、測位装置、測位方法および測位プログラムによれば、測位対象となる測位対象2次元コードを容易にワールド座標に紐づけることができるという効果が発揮される。
【図面の簡単な説明】
【0015】
【
図1】
図1は、本発明に係る測位システムの一実施例の全体構成を概略的に示すブロック図である。
【
図2】
図2は、
図1に示す測位システムにおける2次元コードを説明するための図(その1)である。
【
図3】
図3は、
図1に示す測位システムにおける2次元コードを説明するための図(その2)である。
【
図4】
図4は、
図1に示す測位システムにおける位置保存部に保存されるデータ構成の一例を説明するための図である。
【
図5】
図5は、
図1に示す測位システムによる処理の一例を説明するためのシーケンス図である。
【
図6】
図6は、
図5に示す同時認識コードの関連付け処理の一例を説明するための図(その1)である。
【
図7】
図7は、
図5に示す同時認識コードの関連付け処理の一例を説明するための図(その2)である。
【
図8】
図8は、
図5に示す同時認識コードの関連付け処理の一例を説明するための図(その3)である。
【
図9】
図9は、
図5に示す同時認識コードの関連付け処理の一例を説明するための図(その4)である。
【
図10】
図10は、
図5に示す関連付け情報の整理処理の一例を説明するための図(その1)である。
【
図11】
図11は、
図5に示す関連付け情報の整理処理の一例を説明するための図(その2)である。
【
図12】
図12は、
図5に示すカメラ座標算出処理の一例を説明するための図である。
【
図13】
図13は、
図5に示すワールド座標算出処理の一例を説明するための図(その1)である。
【
図14】
図14は、
図5に示すワールド座標算出処理の一例を説明するための図(その2)である。
【
図15】
図15は、
図5に示すワールド座標算出処理の一例を説明するための図(その3)である。
【
図16】
図16は、
図5に示すワールド座標算出処理の一例を説明するための図(その4)である。
【
図17】
図17は、
図5に示すワールド座標算出処理の一例を説明するための図(その5)である。
【発明を実施するための形態】
【0016】
以下、本発明に係る測位システム、測位装置、測位方法および測位プログラムの実施例を、添付図面を参照して詳述する。
図1は、本発明に係る測位システムの一実施例の全体構成を概略的に示すブロック図である。
図1において、参照符号1は位置保存部、2は作業端末、31は基準2次元コード、32は測位対象2次元コード、そして、33は測位用2次元コードを示す。
【0017】
図1に示されるように、本実施例の測位システムは、位置保存部1および作業端末2を有し、作業端末2は、測位手段21,コード関連付け手段22およびコード読み取り手段23を含む。ここで、基準2次元コード31,測位対象2次元コード32および測位用2次元コード33は、カメラ(カメラデバイス)により撮影された画像の座標(デバイス座標)において、例えば、矩形をなす4点の座標、すなわち、矩形の2次元コードの四隅の座標が算出可能な2次元コードである。
【0018】
本実施例の測位システムは、このような基準2次元コード31,測位対象2次元コード32および測位用2次元コード33から、所定の2次元コード(測位対象2次元コード32)の3次元空間における座標(ワールド座標)を測位するものである。ただし、本実施例の測位システムにおけるコード読み取り手段23は、矩形の2次元コードにおける四隅の座標を全て読み取らなくても、デバイス座標において決められた矩形をなす4点のうち3点以上の座標を読み取ればよい。
【0019】
基準2次元コード31は、ワールド座標で矩形をなす4点の座標と向きが定義されている2次元コードであり、測位対象2次元コード32は、ワールド座標における位置情報を測位する対象となる幅および高さの少なくとも一方が判明している2次元コードである。また、測位用2次元コード33は、測位の際に一時的に利用する幅および高さの少なくとも一方が判明している2次元コードである。ここで、基準2次元コード31,測位対象2次元コード32および測位用2次元コード33としては、例えば、QRコード(登録商標)、データマトリックス、フルスキャンコード(登録商標)および各種ARマーカーといった様々な2次元コードを適用することができる。なお、本明細書では、主としてフルスキャンコード(登録商標)を例として説明するが、本発明の適用は、フルスキャンコード(登録商標)に限定されないのはもちろんである。
【0020】
コード読み取り手段23は、2次元コード(基準2次元コード31,測位対象2次元コード32および測位用2次元コード33)のコード情報と、デバイス座標において決められた矩形をなす4点のうち3点以上の座標を読み取る。コード関連付け手段22は、コード読み取り手段23で読み取って同じ画像内で認識された(同時に認識された)複数の2次元コードの関連付け情報を作成する。
【0021】
測位手段21は、コード読み取り手段23で得られた2次元コードのデバイス座標,2次元コード毎の幅および高さの少なくとも一方、並びに、基準2次元コード31のワールド座標から測位対象2次元コード32および測位用2次元コード33のワールド座標を特定する。なお、測位手段21は、コード関連付け手段22がなくても実行可能である。
【0022】
位置保存部1は、測位手段21によって測位された測位対象2次元コード32のワールド座標、および、コード関連付け手段22によって得られた複数の2次元コードの関連付け情報を格納する。すなわち、位置保存部1には、実際の2次元コードのサイズ、2次元コードの向き、および、2次元コードのデータ等が格納される。
【0023】
ここで、位置保存部1は、独立したデータベースサーバー上に設けてもよいが、作業端末2に内蔵することも可能である。なお、位置保存部1をデータベースサーバー上に設けた場合、作業端末2は、Wi-Fi(登録商標)などの通信回線を介して、データベースサーバーとの間でデータ授受が可能とされる。また、作業端末2は、専用の端末装置としてもよいが、例えば、スマートグラス,スマートフォンまたはタブレットコンピュータなどのカメラ付きデバイスを適用することもできる。
【0024】
図2および
図3は、
図1に示す測位システムにおける2次元コード(基準2次元コード31,測位対象2次元コード32および測位用2次元コード33)を説明するための図である。
図2に示されるように、基準2次元コード31,測位対象2次元コード32および測位用2次元コード33は、それぞれ、そのコード(ID)と共に、幅、高さ、中心点、法線ベクトルおよび傾きベクトルが定義される。
図3において、参照符号P1およびP2は、カメラレンズの画像範囲(カメラデバイスにより撮影された画像の範囲)を示し、画像範囲P1には、基準2次元コード31および測位用2次元コード33が含まれ、画像範囲P2には、測位対象2次元コード32および測位用2次元コード33が含まれている。
【0025】
基準2次元コード31は、測位の基準となる2次元コードであり、ワールド座標系におけるコードの中心座標(x,y,z)、コード(ID)、コードの中心点、コードの幅および高さの少なくとも一方、向き(コード平面の法線ベクトル(x, y, z))、並びに、回転(コードの傾きベクトル(x, y, z))が判明していることが前提となる。
【0026】
測位対象2次元コード32は、測位対象となる2次元コードであり、コード(ID)、並びに、コードの幅および高さの少なくとも一方が判明していることが前提となる。なお、コード(ID)は、基準2次元コード31および測位対象2次元コード32の全体で一意に決められている。
【0027】
測位用2次元コード33は、例えば、測位対象2次元コード32と、測位基準となる既に測位済みの測位対象2次元コード32または基準2次元コード31の位置が離れ過ぎていて、カメラデバイスが同時に認識(撮影)できない場合、一時的に間に配置することで測位の補完を行うための2次元コードであり、コード(ID)、並びに、コードの幅および高さの少なくとも一方が判明していることが前提となる。なお、コードは、目標とする測位対象(測位対象2次元コード32)が測位されるまでの測位1施行単位(1回の測位処理)で一意となることが前提であるが、これを満たせば、すなわち、異なる測位処理であれば、同じコード使いまわしても構わない。
【0028】
作業端末2は、カメラおよびプレビュー機能を有し、2次元コードを読み取って、位置情報の測位および計算を行う。すなわち、
図1を参照して説明したように、作業端末2は、測位手段21,コード関連付け手段22およびコード読み取り手段23を含む。コード読み取り手段23は、カメラ機能の付いた端末(作業端末2)で撮影した画像において、2次元コードと、カメラ座標(カメラデバイスにより撮影された画像のデバイス座標)における2次元コードの決められた矩形をなす4点のうち3点以上の座標を読み取り、読み取った情報を測位手段21に出力する。
【0029】
コード関連付け手段22は、例えば、基準2次元コード31と未測位の測位対象2次元コード32が、コード読み取り手段23により同時に読み取って認識されたとき(基準2次元コード31と未測位の測位対象2次元コード32が同じ画像内で認識されたとき)、その2次元コード同士をそれぞれの移動元にすることで関連付けを行い、位置保存部1に保存する。ここで、基準2次元コード31としては、測位済みの測位対象2次元コード32、すなわち、ワールド座標が既知の測位対象2次元コード32を適用することができる。
【0030】
また、測位手段21は、例えば、未測位の測位対象2次元コード32が含まれる画像内に基準2次元コード31または測位済みの測位対象2次元コード32が存在しない場合、測位用2次元コード33を仲介させて、未測位の測位対象2次元コード32の測位を行う。すなわち、未測位の測位対象2次元コード32が含まれる画像に対して測位用2次元コード33を含め、同時に読み取って認識されるようにすると共に、基準2次元コード31(または、測位済みの測位対象2次元コード33)が含まれる画像に対して同じ測位用2次元コード33を含め、同時に読み取って認識されるようにする。そして、測位用2次元コード33を仲介させて、基準2次元コード31(または測位済みの測位対象2次元コード32)に基づいて未測位の測位対象2次元コード32の測位を行い、未測位の測位対象2次元コード32の座標(ワールド座標)を算出して位置保存部1に保存する。
【0031】
具体的に、
図3に示されるように、例えば、画像範囲P1に基準2次元コード31および測位用2次元コード33が含まれ、画像範囲P2に測位用2次元コード33および測位対象2次元コード32が含まれる場合を考える。まず、コード読み取り手段23は、画像範囲P1における基準2次元コード31および測位用2次元コード33を読み取って認識し、コード関連付け手段22は、基準2次元コード31を移動元として測位用2次元コード33の関連付けを行う。さらに、コード読み取り手段23は、画像範囲P2における測位用2次元コード33および測位対象2次元コード32を読み取って認識し、コード関連付け手段22は、測位用2次元コード33を移動元として測位対象2次元コード32の関連付けを行い、測位手段21は、その関連付けされた測位対象2次元コード32の情報を位置保存部1に保存する。
【0032】
測位手段21は、画像範囲P1における基準2次元コード31と測位用2次元コード33の関連付け情報、並びに、画像範囲P2における測位用2次元コード33と測位対象2次元コード32の相対関係に基づいて、測位対象2次元コード32の測位を行う。すなわち、測位手段21は、一時的に使用される測位用2次元コード33を仲介させることにより、基準2次元コード31に基づいた、すなわち、ワールド座標における、測位対象2次元コード32の位置を算出し、その測位対象2次元コード32のワールド座標情報を、位置保存部1に保存する。
【0033】
図4は、
図1に示す測位システムにおける位置保存部に保存されるデータ構成の一例を説明するための図である。位置保存部1は、自己位置の推定や道案内で利用するために、2次元コード(基準2次元コード31および測位対象2次元コード32)の情報を格納する保存部であり、位置保存部1には、測位用2次元コード33の情報は保存しない。なお、一度測位された測位対象2次元コード32および測位用2次元コード33は、基準2次元コードとして扱うことが可能となる。
【0034】
図4において、「ID」は、2次元コードから読み取り可能な、2次元コードの識別子であり、位置保存部1の全体で一意となるようにされている。「位置(x,y,z)」は、コードの中心点(ワールド座標)を示し、ある任意の点を基準(0,0,0)としたときの2次元コードの中心点を示す相対座標(x,y,z)である。「コードサイズ」は、コード読み取り手段23によって読み取り可能となるように、実空間上の(実際に配置された)コードのサイズ(幅および高さ)を示す。なお、コードサイズの定義は、2次元コードの規格に依存し、コード読み取り手段23によりコードを読み取って認識した際に合わせて取得可能な数値から計算されるものとする。
【0035】
「回転」は、2次元コードの傾きをベクトル(x,y,z)で指定され、「向き」は、2次元コード平面の向きを示し、配置された2次元コードの背面に対する法線ベクトル(x,y,z)で指定される。なお、2次元コードは、例えば、壁や棚などに貼り付け、或いは、立て札などに印刷することで、配置される。「移動元」は、コード関連付け手段22によって紐づけられたコードのIDを示す。
【0036】
図5は、
図1に示す測位システムによる処理の一例を説明するためのシーケンス図であり、位置保存部1,測位手段21,コード関連付け手段22およびコード読み取り手段23における各処理を説明するためのものである。ここで、作業端末2としては、スマートグラスが適用され、位置保存部1,測位手段21,コード関連付け手段22およびコード読み取り手段23は、スマートグラス2に設けられているものとする。
【0037】
図5に示されるように、例えば、スマートグラス2を装着したユーザーがアプリ(スマートグラス2における測位プログラム)を起動すると、測位手段21は、位置保存部1にアクセスして、基準2次元コードのワールド座標および各2次元コードのサイズを取得する。上述のように、位置保存部1は、スマートグラス2に設けることもできるが、例えば、外部のサーバーに設けられている場合には、Wi-Fi(登録商標)などの通信回線を介して、基準2次元コードのワールド座標などを取得することになる。なお、ユーザーは、測位手段21が取得した基準2次元コードのワールド座標および各2次元コードのサイズをカメラキャプチャの表示により認識することができる。
【0038】
測位手段21は、2次元コードデコーダであるコード読み取り手段23により読み取って認識された結果(認識結果)を取得する。さらに、測位手段21は、コード関連付け手段22にアクセスし、同時認識コード(同じカメラ画像に撮影されている複数の2次元コード)の関連付けを行う。なお、同時認識コードの関連付け処理[PRa]は、
図6~
図9を参照して、後に詳述する。
【0039】
次に、測位手段21は、カメラ座標算出(撮影したカメラ画像における座標の算出)およびワールド座標算出(ユーザーが原点を決めた座標系における座標の算出)を行い、測位結果をカメラキャプチャの表示によりユーザーに伝える。なお、カメラ座標算出処理(カメラ座標を算出する処理)[PRc]は、
図12を参照して、また、ワールド座標算出処理(ワールド座標を算出する処理)[PRd]は、
図13~
図17を参照して、それぞれ後に詳述する。
【0040】
さらに、測位手段21は、コード関連付け手段22にアクセスして関連付け情報の整理を行い、コード関連付け手段22から関連付け結果を取得すると共に、位置保存部1にアクセスして測位結果を保存する。そして、ユーザーは、測位手段21から、測位オペレーション(測位プログラム)の終了が通知される。なお、関連付け情報の整理処理(関連付け情報を整理する処理)[PRb]は、
図10および
図11を参照して、後に詳述する。
【0041】
このように、本実施例の測位システム(測位装置)によれば、測位対象となる測位対象2次元コードを容易にワールド座標に紐づけることができる。また、本実施例の測位システムを、例えば、AR技術を用いた情報表示システム(誘導システム)に適用すると、GPSが届かない屋内における誘導に有用であり、さらに、利用するセンサーは、カメラから得られる視覚情報のみで、しかも誤り訂正などの正確な読み取り手段が確立した2次元コードを用いているため、電波を利用する場合に比べて位置測定の誤差を小さくすることができる。
【0042】
また、本実施例の測位システムによれば、測位用2次元コード33を測位時に一時的に配置することにより、複数の測位対象2次元コード32が撮影画像内に収まらない場合でも測位することが可能となる。なお、2次元コードは、シール・タグ・タイルなどに対して柔軟に印字でき、設置および取り外しに手間がかからないため、店舗における日替わりコーナーやイベント会場などで手軽に測位を行うことが可能となる。
【0043】
さらに、本実施例の測位システムは、例えば、通信を不要として作業端末で完結した構成が可能であるため、オフラインによる測位を行うことができる。また、コード関連付け手段22は、コード読み取り手段23によって同時に認識された2次元コードのみの関連付けを行うため、例えば、壁を隔てた位置にある2次元コード同士といった、3次元座標での距離は近いが測位不可能となるような関連付けを行わないようにすることも可能となる。
【0044】
図6~
図9は、
図5に示す同時認識コードの関連付け処理の一例を説明するための図であり、同時認識コードの関連付け処理[PRa]の一例として、コード読み取り手段23による3回の読み取りを行う場合を説明するためのものである。
図6~
図9において、参照符号Ca~Ceは、2次元コードを示し、R1~R3は、コード読み取り手段23による1回目~3回目の読み取り範囲を示す。
【0045】
図6に示されるように、同時認識コードの関連付け処理[PRa]の一例では、コード読み取り手段23の1回目の施行で得られた読み取り範囲R1において、2次元コードCa,Cbが認識され、2回目の施行で得られた読み取り範囲R2において、2次元コードCb,Cc,Cdが認識され、そして、3回目の施行で得られた読み取り範囲R3において、2次元コードCd,Ceが認識される。
【0046】
すなわち、
図7に示されるように、コード読み取り手段23による1回目の読み取り範囲R1には、2次元コードCaおよびCbが含まれ、これら2つの2次元コードCaおよびCbの関連付けが行われる。また、
図8に示されるように、コード読み取り手段23による2回目の読み取り範囲R2には、2次元コードCb,CcおよびCdが含まれ、これら3つの2次元コードにおけるそれぞれの関連付けが行われる。そして、
図9に示されるように、コード読み取り手段23による3回目の読み取り範囲R2には、2次元コードCdおよびCeが含まれ、これら2つの2次元コードCdおよびCeの関連付けが行われる。
【0047】
図10および
図11は、
図5に示す関連付け情報の整理処理の一例を説明するための図である。ここで、
図10は、測位用2次元コードに紐づく関連付けの整理を説明するためのものであり、
図11は、同一方向に関連する情報の整理を説明するためのものである。
【0048】
まず、測位用2次元コード33に紐づく関連付けの整理処理[PRb]は、測位用2次元コード33は位置保存部1に保存しないため、測位手段21が測位用2次元コード33に紐づけられた2次元コード同士の関連付けを行う。すなわち、
図10(a)の更新前と、
図10(b)の更新後の比較から明らかなように、相互に関連付けが行われていない2次元コード30a,30b,30c,30dは、測位手段21により、測位用2次元コード33を介して関連付け(相互の紐づけ)が行われる。そして、位置保存部1には、相互に関連付けが行われた2次元コード30a,30b,30c,30d、すなわち、測位用2次元コード33を除く、2次元コード30a~30dの相互間の関連付けに置き換えられた情報が保存される。
【0049】
次に、同一方向に関連する情報の整理は、1つの2次元コードから2つ以上の関連付けが行われ、さらに、1つの2次元コードに2つ以上のコードが同一直線に近い方向に関連付けられた場合(複数の関連付けが同一方向の場合)、最も近い距離同士の2次元コードの関連付けのみを残す。すなわち、
図11に示されるように、2次元コード30xから、同一方向の2つの2次元コード30yおよび30zの情報を整理する場合、距離が短い2次元コード30xから2次元コード30yの関連付けのみを、位置保存部1に保存する。ここで、2次元コード30xに対して、2つの2次元コード30yおよび30zが同一方向か否かの判断は、例えば、3つの2次元コード30x,30y,30zの中心がなす角度をθとしたとき、そのθの値が一定の閾値を超えるかどうかにより行うことができる。
【0050】
図12は、
図5に示すカメラ座標算出処理の一例を説明するための図である。
図12に示されるように、カメラ座標算出処理[PRc]は、撮影された2次元コード(基準2次元コード31,測位対象2次元コード32,測位用2次元コード33)の四隅の座標の情報、および、位置保存部1から取得したコードサイズの情報に基づき、カメラ視点をSとして、各2次元コードの3次元座標(カメラ座標)を計算する。
【0051】
すなわち、求める対象の2次元コードの3次元座標における4点(2次元コードの四隅)を、左上から時計回りにA(X1,Y1,Z1),B(X2,Y2,Z2),C(X3,Y3,Z3),D(X4,Y4,Z4)とし、それらが投影されたデバイス座標をそれぞれa(x1,y1),b(x2,y2),c(x3,y3),d(x4,y4)とし、デバイス座標における光学中心を撮影画像の中心(w/2,h/2)とし、そして、カメラ視点S(0,0,0)としたときの例を、以下に説明する。なお、Wは2次元コードの幅(実空間上の幅)、Hは2次元コードの高さ(実空間上の高さ)、wは、撮影画像における2次元コードの幅(ディスプレイ上の幅)、そして、hは撮影画像における2次元コードの高さ(ディスプレイ上の高さ)を示す。
【数1】
【0052】
図13~
図17は、
図5に示すワールド座標算出処理の一例を説明するための図である。ここで、
図13は、ワールド座標算出処理の一例を説明するためのフローチャートであり、
図14~
図17は、測位済みの2次元コードを後に認識した場合の計算方法を説明するためのものである。ここで、ワールド座標算出処理[PRd]は、上述したカメラ座標算出処理[PRc]により得られたコード毎のカメラ座標と、基準2次元コード31または測位済みの測位対象2次元コード33、および、測位用2次元コード33から、ワールド座標を算出する。
【0053】
すなわち、
図13に示されるように、ワールド座標算出処理[PRd]の一例が開始すると、ステップST1において、認識したコード数分ループを実行する。すなわち、コード読み取り手段23により読み取って認識された2次元コードの数だけ、ステップST1~ST3のループ処理を実行する。ステップST2では、コード座標が計算済みかどうかを判定し、コード座標が計算済みである(Yes)と判定するとステップST4に進み、コード座標が計算済みではない(No)と判定すると、ステップST3に進む。ステップST3では、認識したコード数分ループを実行したと判定するまで、ステップST1~ST3のループ処理を実行し、認識したコード数分ループを実行したと判定すると、ワールド座標算出処理[PRd]を終了する。
【0054】
ステップST4では、ビュー変換行列の算出を行い、算出した行列をMとしてステップST5に進む。ステップST5において、認識したコード数分ループを実行する。すなわち、コード読み取り手段23により読み取って認識された2次元コードの数だけ、ステップST5~ST8のループ処理を実行する。ステップST6では、コード座標が計算済みかどうかを判定し、コード座標が計算済みである(Yes)と判定するとステップST8に進み、コード座標が計算済みではない(No)と判定すると、ステップST7に進む。ステップST7では、行列Mを用いたビュー変換を実施してステップST8に進む。ステップST8では、認識したコード数分ループを実行したと判定するまで、ステップST5~ST8のループ処理を実行し、認識したコード数分ループを実行したと判定すると、ワールド座標算出処理[PRd]を終了する。
【0055】
次に、ステップST4におけるビュー変換行列の算出処理を説明するが、まず、「2次元コードを視点としたビュー変換」を説明する。3次元座標の平行移動や回転などを含むアフィン変換は、同次座標表現を用いて、以下のような行列式で表すことができる。
【数2】
【0056】
これを応用して、4点の座標が分かっている2次元コードの場合、矩形という特性からコード平面の法線ベクトルとコードの傾きベクトルを算出することで、そのコードの中心を原点、垂直上方向きのベクトルをY軸、法線ベクトルをZ軸とした座標系に変換するための行列を算出することができる。一例として、2次元コードの4点を左上から時計回りにA(X1,Y1,Z1),B(X2,Y2,Z2),C(X3,Y3,Z3),D(X4,Y4,Z4)としたとき、
【数3】
【0057】
次に、ワールド座標系へのビュー変換処理を説明する。ワールド座標が判明している測位済みの2次元コードについて、上述した「2次元コードを視点としたビュー変換」を利用して、ワールド座標系から2次元コードP1を視点とした座標系に変換するための行列M1と、カメラ座標系からP1を視点とした座標系に変換する座標系に変換するための行列M2が算出可能である。また、行列M1の逆行列が2次元コードP1を視点とした座標系からワールド座標系に変換するための行列となるため、
【数4】
【0058】
図14~
図17を参照して、測位済みの2次元コードを後に認識した場合の計算方法を説明する。上述したアルゴリズムでは、測位済みの2次元コードを含めた状態でコード読み取りを行う必要があったが、認識した複数の未測位の2次元コードそれぞれを仮の基準とした座標を算出し保持しておくことにより、測位済みの2次元コードを後に認識した場合でも、先に認識した2次元コードのワールド座標を算出することができる。以下は、その算出方法の一例である。
【0059】
図14に示されるように、2次元コード(コード)Ci,Cjは未測位(座標不明)で、コードCkが測位済みであり、3つのコードCi,Cj,Ckを左から順にスキャンする場合、すなわち、先にコードCiとコードCjを認識し、測位済みのコードCkを最後にスキャンする場合を説明する。なお、
図15におけるRR1および
図16におけるRR2は、それぞれ撮影画像を示す。
【0060】
まず、
図15に示されるように、撮影画像RR1において、コードCiとコードCjを左から順にスキャンして認識する。この時点で、コードCjを視点としたコードCiの座標を仮に算出し、位置保存部1に保持しておく。
【0061】
次に、
図16に示されるように、撮影画像RR2において、測位済みのコードCkを含めた状態でコードCjを認識し、測位済みのコードCkの情報(ワールド座標)からコードCjのワールド座標を算出する。そして、
図17に示されるように、位置保存部1に保持しておいたコードCiの仮に算出した座標と、コードCjのワールド座標から、コードCiのワールド座標を算出する。このように、例えば、コード読み取り手段23により読み取って認識される複数の2次元コードのうちのいずれか1つが、基準2次元コード31または測位済みの測位対象2次元コード32であれば、コード読み取り手段23が読み取って認識した全ての2次元コードのワールド座標を測位することが可能となる。
【0062】
なお、前述した測位方法は、コンピュータにより実行される測位プログラムとして提供することができる。また、コンピュータにより実行される測位プログラムは、例えば、インターネット等の通信回線を介して提供することができるが、半導体メモリ,磁気記録媒体または光記録媒体といったコンピュータが読み取り可能な可搬性の記録媒体に記録された形で提供することも可能である。
【0063】
このように、本発明に係る測位システム、測位装置、測位方法および測位プログラムの実施例によれば、測位対象となる測位対象2次元コードを容易にワールド座標に紐づけることができる。さらに、本発明に係る測位システム、測位装置、測位方法および測位プログラムを、AR技術を用いた情報表示システム(誘導システム)に適用すると、表示画面上の現在座標系とワールド座標系を容易に紐づけることが可能となる。
【0064】
以上、実施形態を説明したが、ここに記載した全ての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【0065】
1 位置保存部
2 作業端末
21 測位手段
22 コード関連付け手段
23 コード読み取り手段
31 基準2次元コード
32 測位対象2次元コード
33 測位用2次元コード