(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】物品位置管理装置、物品位置管理システム、物品位置管理方法及びプログラム
(51)【国際特許分類】
G01B 11/00 20060101AFI20240730BHJP
G06T 7/70 20170101ALI20240730BHJP
【FI】
G01B11/00 H
G06T7/70 A
(21)【出願番号】P 2020562439
(86)(22)【出願日】2019-12-26
(86)【国際出願番号】 JP2019051259
(87)【国際公開番号】W WO2020138345
(87)【国際公開日】2020-07-02
【審査請求日】2021-06-25
【審判番号】
【審判請求日】2023-03-10
(31)【優先権主張番号】P 2018244356
(32)【優先日】2018-12-27
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000232254
【氏名又は名称】日本電気通信システム株式会社
(74)【代理人】
【識別番号】100080816
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【氏名又は名称】内田 潔人
(72)【発明者】
【氏名】長谷川 貴宏
(72)【発明者】
【氏名】岩井 優仁
(72)【発明者】
【氏名】阿部 憲一
(72)【発明者】
【氏名】伊藤 哲也
(72)【発明者】
【氏名】伊藤 睦
【合議体】
【審判長】濱野 隆
【審判官】濱本 禎広
【審判官】佐々木 祐
(56)【参考文献】
【文献】特開2017-214197(JP,A)
【文献】特開2010-119117(JP,A)
【文献】特開2011-133313(JP,A)
【文献】特開2015-48171(JP,A)
【文献】特表2001-506369(JP,A)
【文献】国際公開第2018/066614(WO,A1)
【文献】特開2001-330411(JP,A)
【文献】特開2015-225014(JP,A)
【文献】特開2018-116572(JP,A)
【文献】特開2017-130047(JP,A)
【文献】特開2007-48068(JP,A)
【文献】加藤 博一 外3名,マーカー追跡に基づく拡張現実感システムとそのキャリブレーション,日本バーチャルリアリティ学会論文誌 TVRSJ,1999年,Vol.4,No.4,第607-616頁
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
(57)【特許請求の範囲】
【請求項1】
複数の物品と、
フィールド内での絶対座標系における座標情報が予め定まっている複数の基準点マーカと、
前記フィールド内を撮像する移動式カメラ装置と固定式カメラ装置を含む複数のカメラ装置と、
が配置された前記フィールド内での前記物品の位置を管理する物品位置管理装置であって、
画像データと、前記画像データを撮像した前記カメラ装置の識別情報とを前記カメラ装置から入力する入力部と、
前記識別情報から、前記画像データを撮像した前記カメラ装置が前記移動式カメラ装置であると判別した場合、前記画像データに含まれる、前記基準点マーカと前記物品に貼り付けられた物品マーカとについて、それぞれ算出した前記移動式カメラ装置に対する前記基準点マーカの相対位置と前記物品マーカの相対位置とに基づき、
前記絶対座標系における前記物品マーカの位置を求め、前記物品の位置を特定し、
前記画像データを撮像した前記カメラ装置が固定式カメラ装置であると判別した場合、前記画像データに含まれる前記物品マーカについて算出した前記固定式カメラ装置に対する前記物品マーカの相対位置に基づき、
前記絶対座標系における前記物品マーカの位置を求め、前記物品の位置を特定する、特定部と、
を備える、物品位置管理装置。
【請求項2】
前記カメラ装置が移動式カメラ装置である場合に、
前記特定部は、
前記移動式カメラ装置の画角と歪情報、及び、前記基準点マーカと前記物品マーカの各マーカサイズに基づき、前記画像データ取得時における前記移動式カメラ装置に対する前記基準点マーカの相対位置を計算すると共に、前記画像データ取得時における前記移動式カメラ装置に対する前記物品マーカの相対位置を計算し、
前記基準点マーカの前記相対位置及び前記物品マーカの相対位置の差分に基づき、前記基準点マーカの絶対方向に基づく位置から前記物品マーカの位置への方向ベクトルを算出し、前記基準点マーカの座標情報と、前記方向ベクトルと前記基準点マーカの絶対方向を示す回転行列の演算結果と、から前記物品マーカの位置を求め、前記物品の位置を特定する、請求項1に記載の物品位置管理装置。
【請求項3】
前記カメラ装置が固定式カメラ装置である場合に、
前記特定部は、
前記固定式カメラ装置の画角と歪情報、及び、前記物品マーカのマーカサイズに基づき、前記画像データ取得時における前記固定式カメラ装置に対する前記物品マーカの相対位置を計算し、
前記固定式カメラ装置の座標情報と、前記物品マーカの相対位置に基づき、前記固定式カメラ装置の絶対方向に基づく位置から前記物品マーカの位置への方向ベクトルを算出し、前記固定式カメラ装置の座標情報と、前記方向ベクトルと前記固定式カメラ装置の絶対方向を示す回転行列との演算結果とから前記物品マーカの位置を求め、前記物品の位置を特定する、請求項1又は2に記載の物品位置管理装置。
【請求項4】
前記入力部は、同じ移動体に設置された少なくとも第1及び第2のカメラのそれぞれから画像データを入力し、
前記特定部は、
前記第1のカメラが撮影した第1の画像データに含まれる前記基準点マーカに基づき、前記第1の画像データ取得時における前記第1のカメラに対する前記基準点マーカの相対位置を計算し、
前記第2のカメラが撮影した第2の画像データに含まれる前記物品マーカに基づき、前記第2の画像データ取得時における前記第2のカメラに対する前記物品マーカの相対位置を計算し、
前記基準点マーカの相対位置と、前記物品マーカの相対位置と、前記第1及び第2のカメラに関する位置及び方向の差分と、を用いて前記物品の位置を特定する、請求項1又は2に記載の物品位置管理装置。
【請求項5】
前記入力部は、第1の移動式カメラ装置から第1の画像データを、第2の移動式カメラ装置から第2の画像データをそれぞれ入力し、
少なくとも前記第2の移動式カメラ装置には移動体マーカが貼り付けられており、
前記特定部は、
前記第1の画像データに含まれる、前記基準点マーカと前記第2の移動式カメラ装置に貼り付けられた前記移動体マーカとに基づき、前記第2の移動式カメラ装置の位置を特定し、
前記第2の画像データに写る前記物品マーカと前記第2の移動式カメラ装置の位置に基づき、前記物品の位置を特定する、請求項1に記載の物品位置管理装置。
【請求項6】
前記特定部は、前記位置が特定された物品に貼り付けられた前記物品マーカを新たな基準点マーカとして使用する、請求項1乃至5のいずれか一項に記載の物品位置管理装置。
【請求項7】
前記入力部は、前記移動式カメラ装置から第1及び第2の画像データを入力し、
前記特定部は、
前記第1の画像データに含まれる前記基準点マーカに基づき、前記第1の画像データ取得時における前記移動式カメラ装置に対する前記基準点マーカの相対位置を計算し、
前記第2の画像データに含まれる前記物品マーカに基づき、前記第2の画像データ取得時における前記移動式カメラ装置に対する前記物品マーカの相対位置を計算し、
前記基準点マーカの相対位置と、前記物品マーカの相対位置と、前記第1の画像データ取得時から前記第2の画像データ取得時までの前記移動式カメラ装置の移動履歴と、を用いて前記物品の位置を特定する、請求項2に記載の物品位置管理装置。
【請求項8】
前記移動式カメラ装置に設置されたカメラの向きは可変に構成されており、
前記入力部は、前記カメラの向きが可変に構成された移動式カメラ装置から第1及び第2の画像データを入力し、
前記特定部は、
第1の向きにてカメラが撮影した第1の画像データに含まれる前記基準点マーカに基づき、前記第1の画像データ取得時における前記移動式カメラ装置に対する前記基準点マーカの相対位置を計算し、
第2の向きにてカメラが撮影した第2の画像データに含まれる前記物品マーカに基づき、前記第2の画像データ取得時における前記移動式カメラ装置に対する前記物品マーカの相対位置を計算し、
前記基準点マーカの相対位置と、前記物品マーカの相対位置と、前記カメラに関する第1及び第2の向きの差分と、を用いて前記物品の位置を特定する、請求項2に記載の物品位置管理装置。
【請求項9】
前記移動式カメラ装置に設置されたカメラは焦点距離が可変に構成されており、
前記入力部は、前記焦点距離が可変に構成された移動式カメラ装置から第1及び第2の画像データを入力し、
前記特定部は、
第1の焦点距離にてカメラが撮影した第1の画像データに含まれる前記基準点マーカに基づき、前記第1の画像データ取得時における前記移動式カメラ装置に対する前記基準点マーカの相対位置を計算し、
第2の焦点距離にてカメラが撮影した第2の画像データに含まれる前記物品マーカに基づき、前記第2の画像データ取得時における前記移動式カメラ装置に対する前記物品マーカの相対位置を計算し、
前記基準点マーカの相対位置と、前記物品マーカの相対位置と、を用いて前記物品の位置を特定する、請求項2に記載の物品位置管理装置。
【請求項10】
前記移動式カメラ装置は、少なくとも前記物品マーカと自装置の間の距離を測定し、
前記特定部は、前記測定された距離に基づき、前記物品マーカの相対位置を計算する、請求項2に記載の物品位置管理装置。
【請求項11】
前記基準点マーカ及び物品マーカの相対位置は、PnP(Perspective-n-Point)問題の解として計算される、又は、PnP問題の解を修正することで計算される、請求項1乃至10のいずれか一項に記載の物品位置管理装置。
【請求項12】
前記基準点マーカ及び/又は物品マーカは、AR(AugmentedReality)マーカである、請求項1乃至11のいずれか一項に記載の物品位置管理装置。
【請求項13】
前記特定部は、前記画像データに付与されたカメラ装置の識別子に基づき、前記画像データの送信元が移動式カメラ装置及び固定式カメラ装置のいずれかを判定する、請求項1乃至12のいずれか一項に記載の物品位置管理装置。
【請求項14】
複数の物品と、
フィールド内での絶対座標系における座標情報が予め定まっている複数の基準点マーカと、
前記フィールド内を撮影し、画像データを生成する移動式カメラ装置と固定式カメラ装置を含む複数のカメラ装置と、
を備え、
前記フィールド内での前記物品の位置を管理する物品位置管理システムであって、
前記画像データと前記画像データを撮像した前記カメラ装置の識別情報を前記カメラ装置から入力する手段と、
前記画像データから前記基準点マーカと前記物品に貼り付けられた物品マーカを抽出する手段と、
前記識別情報から、前記画像データを撮像した前記カメラ装置が前記移動式カメラ装置であると判別した場合、前記画像データに含まれる前記基準点マーカと前記物品マーカとについて、それぞれ算出した前記移動式カメラ装置に対する前記基準点マーカの相対位置と前記物品マーカの相対位置とに基づき、
前記絶対座標系における前記物品マーカの位置を求め、前記物品の位置を特定し、
前記画像データを撮像した前記カメラ装置が固定式カメラ装置であると判別した場合、前記画像データに含まれる前記物品マーカについて算出した前記固定式カメラ装置に対する前記物品マーカの相対位置に基づき、
前記絶対座標系における前記物品マーカの位置を求め、前記物品の位置を特定する手段と、
を含む、物品位置管理システム。
【請求項15】
複数の物品と、
フィールド内での絶対座標系における座標情報が予め定まっている複数の基準点マーカと、
前記フィールド内を撮影する移動式カメラ装置と固定式カメラ装置を含む複数のカメラ装置と、
が配置された前記フィールド内での前記物品の位置を管理する物品位置管理装置において、
画像データと、前記画像データを撮像した前記カメラ装置の識別情報とを前記カメラ装置から入力するステップと、
前記識別情報から、前記画像データを撮像した前記カメラ装置が前記移動式カメラ装置であると判別した場合、前記画像データに含まれる、前記基準点マーカと前記物品に貼り付けられた物品マーカとについて、それぞれ算出した前記移動式カメラ装置に対する前記基準点マーカの相対位置と前記物品マーカの相対位置とに基づき、
前記絶対座標系における前記物品マーカの位置を求め、前記物品の位置を特定するステップと、
前記画像データを撮像した前記カメラ装置が固定式カメラ装置であると判別した場合、前記画像データに含まれる前記物品マーカについて算出した前記固定式カメラ装置に対する前記物品マーカの相対位置に基づき、
前記絶対座標系における前記物品マーカの位置を求め、前記物品の位置を特定するステップと、
を含む、物品位置管理方法。
【請求項16】
複数の物品と、
フィールド内での絶対座標系における座標情報が予め定まっている複数の基準点マーカと、
前記フィールド内を撮影する移動式カメラ装置と固定式カメラ装置を含む複数のカメラ装置と、
が配置された前記フィールド内での前記物品の位置を管理する物品位置管理装置に搭載されたコンピュータに、
画像データと、前記画像データを撮像した前記カメラ装置の識別情報とを前記カメラ装置から入力する処理と、
前記識別情報から、前記画像データを撮像した前記カメラ装置が前記移動式カメラ装置であると判別した場合、前記画像データに含まれる、前記基準点マーカと前記物品に貼り付けられた物品マーカとについて、それぞれ算出した前記移動式カメラ装置に対する前記基準点マーカの相対位置と前記物品マーカの相対位置とに基づき、
前記絶対座標系における前記物品マーカの位置を求め、前記物品の位置を特定する処理と、
前記画像データを撮像した前記カメラ装置が固定式カメラ装置であると判別した場合、前記画像データに含まれる前記物品マーカについて算出した前記固定式カメラ装置に対する前記物品マーカの相対位置に基づき、
前記絶対座標系における前記物品マーカの位置を求め、前記物品の位置を特定する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願についての記載)
本発明は、日本国特許出願:特願2018-244356号(2018年12月27日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、物品位置管理装置、物品位置管理システム、物品位置管理方法及びプログラムに関する。
【背景技術】
【0002】
工場等の生産現場では、使用する資材などの物品に関する位置管理が重要である。円滑な工場運営には、必要な資材を迅速に探し出すことが不可欠だからである。このような物品の位置管理を実現する方法として、物品を運搬する移動体の位置を取得し、物品が設置された際の移動体の位置と物品の識別子を紐付けて記録する方法が存在する。
【0003】
移動体の位置を取得する方法として、絶対的な位置を取得する絶対位置推定が存在する。絶対位置推定には、衛星測位(GPS(Global Positioning System)測位)、無線電波信号を用いた測位、カメラで認識可能なランドマーク(目印、特徴物)を基準点として利用する方法等が存在する。
【0004】
衛星測位(GPS測位)には、信号受信機さえあれば容易に利用できるという長所が存在する。一方で、当該手法には、衛星が死角に入る屋内では信号を受信できず動作しないという短所が存在する。
【0005】
そこで、無線電波信号(ビーコン)の強度(RSSI;Received Signal Strength Indicator)を用いた近接測位や三角測位による位置計測手法が用いられることがある。また、ビーコンを用いた物品位置計測は移動体の位置を計測可能なだけでなく、物品自身の位置を計測することもできる。
【0006】
特許文献1には、資産の位置情報及び方向情報のデータベースへの登録作業を簡便化する技術を提供する、と記載されている。当該文献のシステムには、資産に貼り付けられるマーカと、基準資産に貼り付けられたマーカのID情報とともに、基準資産の位置情報及び方向情報を保持する資産管理サーバ、未登録資産の位置情報及び方向情報を資産管理サーバに登録する操作端末、が含まれる。
【0007】
特許文献2には、物体の3次元位置・姿勢を示す物体座標系を高精度で推定することができる推定装置、推定方法、及び推定プログラムを提供する、と記載されている。
【先行技術文献】
【特許文献】
【0008】
【文献】国際公開第2012/157055号
【文献】特開2011-203148号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
【0010】
上述のように、工場等では物品の位置管理が重要である。当該物品の位置管理を実現するための方法として、無線信号(ビーコン)を用いた手法が存在するが、当該方法には問題点もある。
【0011】
具体的には、管理の対象となる物品ごとにビーコンの受信手段が必要となり、膨大な数の物品を管理するためには多大なコストが必要となる。また、ビーコンを用いた物品の位置計測には測位誤差が大きいという問題もある。なお、特許文献1に開示された技術は、人による端末を必要とするものであり、工場等の面積の広い生産現場における物品の位置管理に適用するのは困難である。
【0012】
本発明は、物品の位置を正確且つ低コストで管理することに寄与する、物品位置管理装置、物品位置管理システム、物品位置管理方法及びプログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【0013】
本発明乃至開示の第1の視点によれば、カメラ装置から画像データを入力する入力部と、前記カメラ装置が移動式カメラ装置である場合に、前記画像データに含まれる、フィールド内での絶対座標系における座標情報が予め定まっている基準点マーカと物品に貼り付けられた物品マーカとに基づき、前記物品の位置を特定し、前記カメラ装置が固定式カメラ装置である場合に、前記画像データに含まれる前記物品マーカに基づき、前記物品の位置を特定する、特定部と、を備える、物品位置管理装置が提供される。
【0014】
本発明乃至開示の第2の視点によれば、フィールド内での絶対座標系における座標情報が予め定まっている基準点マーカと物品に貼り付けられた物品マーカを撮影し、画像データを生成する手段と、前記画像データから前記基準点マーカ、物品マーカを抽出する手段と、前記画像データが移動式カメラ装置により生成された場合に、前記基準点マーカと物品マーカとに基づき、前記物品の位置を特定する手段と、前記画像データが固定式カメラ装置により生成された場合に、前記物品マーカに基づき、前記物品の位置を特定する手段と、を含む、物品位置管理システムが提供される。
【0015】
本発明乃至開示の第3の視点によれば、物品位置管理装置において、カメラ装置から画像データを入力するステップと、前記カメラ装置が移動式カメラ装置である場合に、前記画像データに含まれる、フィールド内での絶対座標系における座標情報が予め定まっている基準点マーカと物品に貼り付けられた物品マーカとに基づき、前記物品の位置を特定するステップと、前記カメラ装置が固定式カメラ装置である場合に、前記画像データに含まれる前記物品マーカに基づき、前記物品の位置を特定するステップと、を含む、物品位置管理方法が提供される。
【0016】
本発明乃至開示の第4の視点によれば、物品位置管理装置に搭載されたコンピュータに、カメラ装置から画像データを入力する処理と、前記カメラ装置が移動式カメラ装置である場合に、前記画像データに含まれる、フィールド内での絶対座標系における座標情報が予め定まっている基準点マーカと物品に貼り付けられた物品マーカとに基づき、前記物品の位置を特定する処理と、前記カメラ装置が固定式カメラ装置である場合に、前記画像データに含まれる前記物品マーカに基づき、前記物品の位置を特定する処理と、を実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【0017】
本発明乃至開示の各視点によれば、物品の位置を正確且つ低コストで管理することに寄与する、物品位置管理装置、物品位置管理システム、物品位置管理方法及びプログラムが、提供される。
【図面の簡単な説明】
【0018】
【
図1】一実施形態の概要を説明するための図である。
【
図2】第1の実施形態に係る物品位置管理システムの概略構成の一例を示す図である。
【
図4】第1の実施形態に係る移動式カメラ装置の外観の一例を示す図である。
【
図5】第1の実施形態に係る移動式カメラ装置の処理構成の一例を示す図である。
【
図6】第1の実施形態に係る物品位置管理装置の処理構成の一例を示す図である。
【
図11】第1の実施形態に係る物品位置特定部の動作の一例を示すフローチャートである。
【
図12】第1の実施形態に係る物品位置管理装置の動作を説明するための図である。
【
図13】第1の実施形態に係る物品位置管理装置の動作を説明するための図である。
【
図14】第2の実施形態に係る移動式カメラ装置の外観の一例を示す図である。
【
図15】第2の実施形態に係る物品位置特定部の動作の一例を示すフローチャートである。
【
図16】第3の実施形態に係る物品位置管理システムの動作を説明するための図である。
【
図17】第3の実施形態に係る物品位置特定部の動作の一例を示すフローチャートである。
【
図18】第4の実施形態に係る物品位置管理装置の処理構成(処理モジュール)の一例を示す図である。
【
図19】物品位置管理装置のハードウェア構成の一例を示す図である。
【
図20】移動式カメラ装置の別の処理構成の一例を示す図である。
【
図21】移動式カメラ装置の別の処理構成の一例を示す図である。
【発明を実施するための形態】
【0019】
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各図におけるブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。さらに、本願開示に示す回路図、ブロック図、内部構成図、接続図などにおいて、明示は省略するが、入力ポート及び出力ポートが各接続線の入力端及び出力端のそれぞれに存在する。入出力インターフェイスも同様である。
【0020】
一実施形態に係る物品位置管理装置100は、入力部101と、特定部102と、を備える(
図1参照)。入力部101は、カメラ装置から画像データを入力する。特定部102は、カメラ装置が移動式カメラ装置である場合に、画像データに含まれる、フィールド内での絶対座標系における座標情報が予め定まっている基準点マーカと物品に貼り付けられた物品マーカとに基づき、物品の位置を特定する。さらに、特定部102は、カメラ装置が固定式カメラ装置である場合に、画像データに含まれる物品マーカに基づき、物品の位置を特定する。
【0021】
物品位置管理装置100は、カメラ装置の種別に応じて物品の絶対位置算出方法を切り替える。具体的には、カメラ装置が移動式であれば、物品位置管理装置100は、1枚の画像に写る基準点マーカと物品マーカを抽出し、これらのマーカを利用して物品の位置を特定する。対して、カメラ装置が固定式であれば、物品位置管理装置100は、1枚の画像に写る物品マーカを抽出し、当該マーカを利用して物品の位置を特定する。このように、カメラ装置の種別に応じて物品の位置特定方法を切り替えることで物品の位置が正確に特定できる。具体的には、カメラ装置が移動しフィールド内の隅々まで撮影する。そのため、固定式カメラ装置では死角となり把握できない物品の位置が正確に把握できる。また、物品の位置が頻繁に変わるような領域を固定式カメラ装置によりピンポイントで撮影することで、移動式カメラ装置では瞬時に把握できない物品の移動もリアルタイムで把握できる。さらに、物品の位置特定に利用するマーカとして印刷物を利用することで、ビーコンの受信手段等に比べて格段に低いコストで必要な部材を用意できる。従って、ビーコン等を用いた物品の位置管理とは異なり、低いコストで正確な物品の位置管理が行える。
【0022】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
【0023】
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
【0024】
図2は、第1の実施形態に係る物品位置管理システムの概略構成の一例を示す図である。
図2を参照すると、物品位置管理システムには、複数の移動式カメラ装置10と、複数の固定式カメラ装置20と、物品位置管理装置30と、が含まれる。
【0025】
第1の実施形態では、移動式カメラ装置10はフォークリフト等の移動体に設置されている。フォークリフトは作業者により操作され、物品の取り出しや物品の配置等を行う。
【0026】
なお、移動式カメラ装置10は、フィールド内における位置の変更が可能であればよく、例えば、天井に敷設されたレール上を移動するようなカメラ装置でもよいし、フィールド内を巡回するロボットにカメラが設置されていてもよい。また、物品位置管理システムには、上記種々の形態による複数種類の移動式カメラ装置10が含まれていてもよい。例えば、フォークリフトのような物品運搬手段に取り付けられた移動式カメラ装置10と、巡回ロボットに取り付けられた移動式カメラ装置10と、が混在していてもよい。
【0027】
固定式カメラ装置20は、フィールドの柱や天井に固定されたカメラである。固定式カメラ装置20は、フィールド内の所定領域を常時撮影するように設置されている。
【0028】
移動式カメラ装置10及び固定式カメラ装置20と物品位置管理装置30は、有線又は無線により接続されており相互に通信(データの送受信)が可能に構成されている。なお、以降の説明において特段の釈明がなく単に「カメラ装置」と表記した場合には、移動式カメラ装置10又は固定式カメラ装置20を示すものとする。
【0029】
第1の実施形態では、物品位置管理装置30が、カメラ装置から送信されてくる情報(データ)に基づきフィールドに配置された物品の位置を特定し、管理する。
【0030】
図2に示すように、フィールドには複数の物品40が含まれる。物品40は、例えば、パレットに積まれたコンテナ、ダンボールや箱、機械、装置等である。フィールドに配置された複数の物品40のそれぞれには、物品マーカ50が付されている。なお、各物品40に貼り付けられる物品マーカ50は重複することがないように管理され、物品40と物品マーカ50は1対1で対応する。つまり、物品マーカ50が一意に識別され、物品マーカ50の位置が特定されれば、物品40の位置が特定されたことになる。
【0031】
物品マーカ50は、カメラ装置に搭載されたカメラにより検出可能であり、カメラ装置とマーカの相対位置を計算可能な識別子(マーカ)として機能する。例えば、物品マーカ50としてAR(Augmented Reality)マーカを使用することができる。但し、物品マーカ50をARマーカに限定する趣旨ではなく、カメラにより検出可能であり、且つ、カメラとマーカの相対位置を算出可能であれば任意のマーカを使用できる。
【0032】
図2に示すように、フィールドには、複数の基準点マーカ60が含まれる。基準点マーカ60にもARマーカを使用することができる。物品マーカ50、基準点マーカ60のそれぞれは、マーカの印刷物を利用できる。印刷されたARマーカが、物品40やフィールド内の所定位置に貼り付けられる。
【0033】
上述のように、物品マーカ50及び基準点マーカ60は、カメラ装置とマーカの相対位置を計算可能な識別子である。相対位置の計算には、PnP(Perspective-n-Point)問題を解く方法(以下、PnP手法と表記する)を用いることができる。つまり、基準点マーカ60、物品マーカ50の相対位置は、PnP問題の解として計算される。
【0034】
以下、ARマーカの識別とARマーカを用いた相対位置の計算について概説する。
【0035】
図3は、ARマーカの一例を示す図である。ARマーカには、
図3に示すように黒枠の内部に予め定められたパターンが印刷されている。ARマーカを撮影することで得られる画像データに対する画像処理を実行することで、ARマーカの識別(特定)が行える。
【0036】
具体的には、画像データに含まれる黒枠を検出することでARマーカ自体の存在が把握され、黒枠内のパターンによりARマーカが一意に特定される。より具体的には、黒枠内を複数の領域に分割し、各分割領域内の画像を数値化したパターンファイルを予め用意しておき、当該パターンファイルとカメラにより撮影された画像データから抽出されたパターンの比較によりARマーカが一意に特定される。
【0037】
また、ARマーカにPnP手法を適用するためには、3次元座標系の3つ以上の座標とそれらに対応する2次元画像の3つ以上の座標が必要である。第1の実施形態では、上記特徴点としてARマーカの四隅の頂点P1~P4を用いる。
【0038】
なお、多くのARマーカでは、検出したマーカの2次元画像上の四隅の頂点座標を得る方法が確立されている。そこで、ARマーカを設置する際、マーカの位置、向き、大きさを予め記録しておくことで、3次元座標系におけるARマーカ四隅の頂点座標が得られる。大きさは、ARマーカが正方形の場合は1辺の長さ、長方形の場合は縦と横の長さとなる。
【0039】
なお、第1の実施形態ではARマーカの四隅を特徴点として用いると説明したが、特徴点は、必ずしも四隅の頂点でなくともよい。四隅以外の特徴点を用いる場合には、当該特徴点の3次元座標系での座標が得られる情報を記録しておけばよい。
【0040】
1つの基準点マーカ60は、1つの座標情報(絶対位置、絶対方向)及びマーカのサイズを有する。例えば、
図2には3つの基準点マーカ60が図示されているが、これら3つの基準点マーカ60のそれぞれが異なる座標情報を有する。なお、基準点マーカ60のサイズ(マーカサイズ)に関しては、各マーカのサイズが同じであっても良いし異なっていても良い。各マーカのサイズは予め定まったものであれば任意のサイズが使用できる。
【0041】
各基準点マーカ60が有する座標情報に含まれる絶対位置は、任意の位置(例えば入り口)を原点とする絶対座標系の座標である。あるいは、座標情報に含まれる絶対位置を経緯度を用いて表現してもよい。また、基準点マーカ60が有する座標情報に含まれる絶対方向は、上記原点を基準とする座標系(絶対座標系)の方向(3軸のそれぞれに対する角度で表現される方向)である。即ち、絶対位置及び絶対方向は、予め原点が定められた座標系における位置と方向である。
【0042】
基準点マーカ60の座標情報(絶対位置、絶対方向)及びサイズを用いたPnP手法により、基準点マーカ60を認識したカメラの位置と向きが算出可能である。
【0043】
以下、PnP問題の解決について概説する。
【0044】
PnP問題を解くためには画像データを取得したカメラの画角、歪みに関する情報が必要となる。より詳細には、「カメラ行列」と「歪み係数ベクトル」と称されるデータが必要となる。
【0045】
カメラ行列は、ピクセル単位で表される焦点距離fx、fyと、通常は画像中心となる主点(cx、cy)を含む、3次元正方行列である(下記の行列A)。
【0046】
上記行列Aにおいて、カメラ画角はfx、fyにより表現される。例えば、一般的なカメラ(ピンホールカメラモデル)において、画像幅が2000pixel、水平画角が60度の場合を考える。この場合、「cx=2000/2=1000」、「fx=1/tan(60/2)*(2000/2)=約1732」となる。
【0047】
カメラ行列は、PnP問題を解くため、下記に示す透視投影変換を表す方程式の誤差を最小とするr11~r33、t1~t3を求めるために必要な行列である。
【0048】
上記の方程式(透視投影変換を表す方程式)について、解として求まるr11~r33がカメラの向き(回転行列)、t1~t3がカメラの位置(並進ベクトル)となる。
【0049】
一方、歪み係数ベクトルは観測された点座標から歪み補正がなされた理想的な点座標を求めるために用いられる。なお、カメラ行列と歪み係数ベクトルは、下記の示す参考文献1、2に示されるカメラキャリブレーションにより得ることができる。
【0050】
<参考文献1>
http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_calib3d/py_calibration/py_calibration.html#calibration
<参考文献2>
http://opencv.jp/opencv-2.1/cpp/camera_calibration_and_3d_reconstruction.html#cv-calibratecamera
【0051】
[システムの動作概略]
次に、
図2を参照しつつ、物品位置管理システムの動作概略について説明する。
【0052】
カメラ装置(移動式カメラ装置10、固定式カメラ装置20)は、予め定めたタイミング又は定期的にフィールド内を撮影する。カメラ装置により取得された画像データは、各カメラ装置の識別子(ID;Identification)と共に物品位置管理装置30に送信される。
【0053】
物品位置管理装置30は、受信した画像データに基づきフィールド内の物品40(物品マーカ50)の絶対位置を算出する。その際、物品位置管理装置30は、画像データの送信元(移動式カメラ装置10、固定式カメラ装置20)に応じて物品40の絶対位置算出方法を変更する。なお、画像データの送信元に関する判別は各カメラ装置の識別子に基づき行われる。
【0054】
はじめに、受信した画像データの送信元が移動式カメラ装置10の場合を説明する。この場合、物品位置管理装置30は、画像データに基準点マーカ60と物品マーカ50が同時に写っているか否かを判定する。具体的には、物品位置管理装置30は、取得した画像データから基準点マーカ60及び物品マーカ50の抽出を試みる。
【0055】
2つのマーカが同時に写っていれば、物品位置管理装置30は、基準点マーカ60に関する情報に基づき、当該画像データ(2つのマーカが写る画像データ)取得時の移動式カメラ装置10に対する基準点マーカ60の相対的な位置(相対位置)を算出する。
【0056】
さらに、物品位置管理装置30は、当該画像データに含まれる物品マーカ50に関する情報に基づき、画像データ取得時の移動式カメラ装置10に対する物品マーカ50の相対位置を算出する。
【0057】
その後、物品位置管理装置30は、上記算出された2つのマーカの相対位置と、基準点マーカ60の座標情報(絶対位置、絶対方向)に基づき画像データに含まれる物品マーカ50の絶対位置を算出する。
【0058】
物品位置管理装置30は、当該物品マーカ50の絶対位置と物品40を対応付けて各物品40の位置を管理する。
【0059】
次に、受信した画像データの送信元が固定式カメラ装置20の場合を説明する。
【0060】
物品位置管理装置30は、受信した画像データに物品マーカ50が写っているか否かを判定する。物品マーカ50が写っていれば、物品位置管理装置30は、固定式カメラ装置20に対する物品マーカ50の相対位置を算出する。
【0061】
固定式カメラ装置20の座標情報(絶対位置、絶対方向)は物品位置管理装置30にて把握されているので、物品位置管理装置30は、当該固定式カメラ装置20の座標情報と物品マーカ50の相対位置に基づき、物品マーカ50の絶対位置を算出する。
【0062】
物品位置管理装置30は、当該物品マーカ50の絶対位置と物品40を対応付けて各物品40の位置を管理する。
【0063】
このように、物品位置管理装置30は、カメラ装置が移動式カメラ装置10である場合には、フィールド内での絶対座標系における座標情報が予め定まっている基準点マーカ60と物品に貼り付けられた物品マーカ50とに基づき、物品40の位置を特定する。対して、物品位置管理装置30は、カメラ装置が固定式カメラ装置20である場合に、画像データに含まれる物品マーカ50に基づき、物品40の位置を特定する。なお、固定式カメラ装置20の座標情報も予め定まった情報である。
【0064】
続いて、物品位置管理システムに含まれる各装置について説明する。
【0065】
[移動式カメラ装置]
図4は、第1の実施形態に係る移動式カメラ装置10の外観の一例を示す図である。
【0066】
上述のように、移動式カメラ装置10は、フォークリフトのような移動体にカメラを設置することで実現される。なお、移動体は、搬送用台車や「人」であってもよい。第1の実施形態では、一台の移動体に一台の移動式カメラ装置10が設置されている場合を説明する。また、上述のように移動式カメラ装置10の動力(移動の方式)はどのようなものであってよいので、その詳細な説明を省略する。
【0067】
図5は、第1の実施形態に係る移動式カメラ装置10の処理構成(処理モジュール)の一例を示す図である。
図5を参照すると、移動式カメラ装置10は、カメラ制御部201と、データ出力部202と、記憶部203と、を含んで構成される。
【0068】
カメラ制御部201は、カメラ(図示せず)を制御する手段である。カメラ制御部201は、カメラを制御して画像データを取得する。なお、カメラ制御部201は、所定間隔で画像データを取得しても良いし、予め定めたタイミングで画像データを取得してもよい。あるいは、移動体(例えば、フォークリフト)等の制御モジュールと連携し、移動体の動作が所定の条件に合致した場合に、カメラ制御部201は、画像データを取得してもよい。例えば、カメラ制御部201は、移動体が停止したことを契機として画像データを取得してもよい。あるいは、カメラ制御部201は、システム管理者、フォークリフトの操縦者、又は、物品位置管理装置30からの指示に基づき、画像データを取得してもよい。
【0069】
カメラ制御部201は、取得した画像データをデータ出力部202に引き渡す。データ出力部202は、画像データを物品位置管理装置30に向けて送信する。データ出力部202は、画像データをリアルタイムで物品位置管理装置30に送信してもよいし、所定量の画像データを蓄積した後に一括して物品位置管理装置30に送信してもよい。
【0070】
記憶部203は、移動式カメラ装置10の動作に必要な情報、データを記憶する手段である。例えば、記憶部203は、自装置(移動式カメラ装置10)に割り当てられた識別子を記憶する。データ出力部202は、画像データを物品位置管理装置30に送信する際、上記自装置の識別子も併せて送信する。
【0071】
[固定式カメラ装置]
固定式カメラ装置20の処理構成(処理モジュール)は移動式カメラ装置10の処理構成と同一とすることができるので、固定式カメラ装置20に関する
図5に相当する説明を省略する。
【0072】
[物品位置管理装置]
図6は、第1の実施形態に係る物品位置管理装置30の処理構成(処理モジュール)の一例を示す図である。
図6を参照すると、物品位置管理装置30は、データ入力部301と、物品位置特定部302と、記憶部303と、を含んで構成される。
【0073】
データ入力部301は、カメラ装置(移動式カメラ装置10、固定式カメラ装置20)から画像データを入力(取得)する手段である。データ入力部301は、取得した画像データを物品位置特定部302に引き渡す。
【0074】
物品位置特定部302は、取得した画像データに基づき物品40の位置を特定する。物品位置特定部302の動作は後述する。
【0075】
記憶部303は、物品位置管理装置30の動作に必要な情報、データを記憶する。具体的には、記憶部303は、基準点マーカ60に関する情報と、物品マーカ50に関する情報と、カメラに関する情報と、物品40の位置に関する情報と、を記憶する。なお、以降の説明において、基準点マーカ60に関する情報を「基準点マーカ情報」と表記する。物品マーカ50に関する情報を「物品マーカ情報」と表記する。カメラに関する情報を「カメラ関連情報」と表記する。物品40の位置に関する情報を「物品位置情報」と表記する。
【0076】
図7は、基準点マーカ情報の一例を示す図である。
図7に示すように、基準点マーカ情報は、基準点マーカの識別子、基準点マーカの座標情報(絶対位置、絶対方向)、基準点マーカのサイズ、を対応付けた情報である。
【0077】
基準点マーカ60の識別子は、例えば、上述のARマーカのパターンファイルを特定する情報(例えば、ファイル名等)である。
【0078】
基準点マーカ60の絶対位置は、原点(例えば、フィールドの出入り口)を基準とした場合の座標である。基準点マーカ60の絶対方向は、基準点マーカ60が取り付けられた向きを示す回転行列である。なお、基準点マーカ60の向きは、回転行列により指定されなくとも、当該回転行列を生成可能なパラメータ(ロー、ピッチ、ヨー)により指定されてもよい。
【0079】
基準点マーカ60のサイズは、マーカの形状が正方形の場合は1辺の長さ、長方形の場合は縦と横の長さとなる。
図7には、基準点マーカは正方形として1辺の長さを記載している。
【0080】
図8は、物品マーカ情報の一例を示す図である。
図8に示すように、物品マーカ情報は、物品マーカが貼り付けられた物品の識別子、物品マーカの識別子、物品マーカのサイズ、を対応付けた情報である。
【0081】
物品の識別子は、例えば、管理対象となっている物品のシリアル番号である。あるいは、物品の識別子として物品名を用いても良い。
【0082】
物品マーカ50の識別子は、上述の基準点マーカ60の識別子と同種の情報である。物品マーカ50のサイズに関しても、上述の基準点マーカ60のサイズと同種の情報である。そのため、これらに関する説明は省略する。
【0083】
図9は、カメラ関連情報の一例を示す図である。
図9に示すように、カメラ関連情報は、カメラ装置の識別子と、各カメラ装置の種別(移動式、固定式)と、各カメラ装置に搭載されたカメラの画角、歪みの情報と、カメラ装置が固定式である場合の座標情報(絶対位置、絶対方向)と、を対応付けた情報である。
【0084】
カメラ装置の識別子には、例えば、IP(Internet Protocol)アドレスやMAC(Media Access Control)アドレスを用いることができる。また、カメラ装置が固定式カメラ装置20である場合には、当該カメラ装置が設置された座標情報(絶対位置、絶対方向)がカメラ関連情報として登録される。なお、上述のように、カメラ関連情報に含まれるカメラの画角、歪みの情報は、PnP手法により基準点マーカ60等の相対位置を検出する際に使用される。より具体的には、画角に関する情報(カメラ行列)は、透視投影変換方程式においてPnP問題を解くためのパラメータとして用いられる。歪みに関する情報(歪み係数ベクトル)は、観測された点座標から歪み補正がなされた理想的な点座標を求めるために用いられる。
【0085】
図10は、物品位置情報の一例を示す図である。
図10に示すように、物品位置情報は、物品の識別子と、物品の絶対位置と、を対応付けた情報である。なお、「絶対方向」を物品位置情報に加えてもよい。つまり、物品の絶対位置だけでなく、物品の置かれている方向も物品位置情報により管理しても良い。
【0086】
続いて、物品位置特定部302の動作を説明する。
【0087】
図11は、物品位置特定部302の動作の一例を示すフローチャートである。
【0088】
物品位置特定部302は、画像データに付与されたカメラ装置の識別子に基づき、画像データの送信元が移動式カメラ装置10及び固定式カメラ装置20のいずれかを判定する(ステップS101)。なお、物品位置特定部302は、カメラ関連情報にアクセスすることで、画像データに付与された識別子が移動式カメラ装置10に対応する識別子か固定式カメラ装置20に対応する識別子かを判定できる。
【0089】
画像データの送信元が移動式カメラ装置10である場合には、物品位置特定部302はステップS102以降の処理を実行する。
【0090】
画像データの送信元が固定式カメラ装置20である場合には、物品位置特定部302はステップS110以降の処理を実行する。
【0091】
ステップS102において、物品位置特定部302は、画像データに「基準点マーカ」と「物品マーカ」が共に含まれるか否かを判定する。具体的には、物品位置特定部302は、基準点マーカ情報及び物品マーカ情報を参照しつつ、上記説明した方法により画像データから基準点マーカ60の識別子、物品マーカ50の識別子の抽出を試みる。
【0092】
2つのマーカの識別子が抽出されれば、画像データには基準点マーカ60及び物品マーカ50が含まれると判定される。2つのマーカの識別子のうち少なくとも一方が抽出されなければ、画像には基準点マーカ60及び物品マーカ50が同時に写っていないと判定される。
【0093】
2つのマーカが同時に写っていなければ(ステップS102、No分岐)、物品位置特定部302は処理を終了する。
【0094】
2つのマーカが同時に写っていれば(ステップS102、Yes分岐)、物品位置特定部302は、カメラ関連情報を参照し、受信した画像データを撮影したカメラの画角、歪みに関する情報を取得する(ステップS103)
【0095】
物品位置特定部302は、基準点マーカ情報を参照し、画像データに含まれる基準点マーカ60の識別子に対応する基準点マーカ60の座標情報(絶対位置、絶対方向)及びマーカサイズを取得する(ステップS104)。
【0096】
物品位置特定部302は、上記カメラの画角及び歪みと、基準点マーカ60のマーカサイズと、を用いて、画像データ取得時における移動式カメラ装置10に対する基準点マーカ60の相対位置を計算する(ステップS105)。具体的には、物品位置特定部302は、PnP手法を用いて基準点マーカ60の相対位置を計算する。
【0097】
次に、物品位置特定部302は、物品マーカ情報を参照し、画像データに含まれる物品マーカ50の識別子に対応する物品マーカ50のサイズを取得する(ステップS106)。
【0098】
物品位置特定部302は、上記カメラの画角及び歪みと、物品マーカ50のサイズ(マーカサイズ)と、を用いて画像データ取得時における移動式カメラ装置10に対する物品マーカ50の相対位置を計算する(ステップS107)。具体的には、物品位置特定部302は、PnP手法を用いて物品マーカ50の相対位置を計算する。
【0099】
物品位置特定部302は、基準点マーカ情報から得られる基準点マーカ60の座標情報(絶対位置、絶対方向)と、基準点マーカ60の相対位置及び物品マーカ50の相対位置と、を用いて物品マーカ50の絶対位置を計算する(ステップS108)。
【0100】
物品位置特定部302は、当該計算された物品マーカ50の絶対位置を用いて物品位置情報を更新する(ステップS109)。その際、物品位置特定部302は、物品マーカ情報を参照することで、画像データに含まれる物品マーカ50の識別子に紐付けられた物品40の識別子を取得し、移動式カメラ装置10が撮影した物品40を特定する。物品位置特定部302は、当該特定した物品40(物品40の識別子)に対応する物品位置情報の絶対位置を上記計算した物品マーカ50の絶対位置により更新する。
【0101】
なお、上述のように、物品位置特定部302は、物品マーカ50の絶対方向を物品位置情報に反映することもできる。
【0102】
次に、上述の画像データの送信元が移動式カメラ装置10である場合の物品位置管理方法を、
図12を参照しながら具体的に説明する。
【0103】
移動式カメラ装置10は、基準点マーカ60と物品マーカ50を同時に撮影する。物品位置特定部302は、当該2つのマーカが同時に撮影された画像データを取得する。
【0104】
物品位置特定部302は、当該画像データを撮影したカメラや基準点マーカ60の詳細(座標情報、マーカサイズ)を把握しており、PnP法を用いて移動式カメラ装置10の位置cに対する基準点マーカ60の位置Aの相対位置cAを算出できる。
【0105】
同様に、物品位置特定部302は、当該画像データを撮影したカメラや物品マーカ50の詳細を把握しており、PnP法を用いて移動式カメラ装置10の位置cに対する物品マーカ50の位置Bの相対位置cBを算出できる。
【0106】
物品位置特定部302は、相対位置cA及びcBを用いて、基準点マーカ60の位置Aに対する物品マーカ50の位置Bの相対位置cABを算出できる。具体的には、物品位置特定部302は、下記の式(1)により相対位置cABを算出する。
[式1]
cAB=cB-cA
なお、式(1)に示すcABは、基準点マーカ60の位置Aから物品マーカ50の位置Bへの方向ベクトルとなる。
【0107】
次に、物品位置特定部302は、基準点マーカ60の座標情報(絶対位置、絶対方向)を用いて、基準点マーカ60の絶対方向に基づく位置Aから物品マーカ50の位置Bへの方向ベクトルを求める。具体的には、物品位置特定部302は、下記の式(2)により基準点マーカ60の絶対方向に基づく位置Aから位置Bへの方向ベクトルrABを求める。
[式2]
rAB=rAmat*cAB
なお、式(2)におけるrAmatは、基準点マーカ60の絶対方向を示す回転行列である。
【0108】
次に、物品位置特定部302は、下記の式(3)を用いて、物品マーカ50の絶対位置rBを求める。
[式3]
rB=rA+rAB
なお、式(3)におけるrAは、基準点マーカ60の絶対位置(位置Aの絶対座標)である。また、物品位置情報に物品マーカ50の絶対方向を登録する場合には、物品位置特定部302は上記式(2)における「rAB」を用いる。
【0109】
次に、
図11に戻り、画像データの送信元が固定式カメラ装置20の場合について説明する。
【0110】
ステップS110において、物品位置特定部302は、画像データに物品マーカ50が含まれるか否かを判定する。
【0111】
物品マーカ50が写っていなければ(ステップS110、No分岐)、物品位置特定部302は処理を終了する。
【0112】
物品マーカ50が写っていれば(ステップS110、Yes分岐)、物品位置特定部302は、カメラ関連情報を参照し、受信した画像データを撮影したカメラの画角、歪みに関する情報を取得する(ステップS111)
【0113】
物品位置特定部302は、物品マーカ情報を参照し、画像データに含まれる物品マーカ50の識別子に対応する物品マーカ50のサイズを取得する(ステップS112)。
【0114】
物品位置特定部302は、上記カメラの画角及び歪みと、物品マーカ50のサイズ(マーカサイズ)と、を用いて画像データ取得時における固定式カメラ装置20に対する物品マーカ50の相対位置を計算する(ステップS113)。
【0115】
物品位置特定部302は、固定式カメラ装置20の座標情報(絶対位置、絶対方向)と、先に算出された物品マーカ50の相対位置と、を用いて物品マーカ50の絶対位置を計算する(ステップS114)。
【0116】
物品位置特定部302は、当該計算された物品マーカ50の絶対位置を用いて物品位置情報を更新する(ステップS109)。
【0117】
上述の画像データの送信元が固定式カメラ装置20である場合の物品位置管理方法を、
図13を参照しながら具体的に説明する。
【0118】
固定式カメラ装置20は、物品マーカ50を撮影する。物品位置特定部302は、当該物品マーカ50が撮影された画像データを取得する。
【0119】
物品位置特定部302は、当該画像データを撮影したカメラや物品マーカ50の詳細を把握しており、PnP法を用いて固定式カメラ装置20の位置cに対する物品マーカ50の位置Bの相対位置cBを算出できる。
【0120】
次に、物品位置特定部302は、固定式カメラ装置20の座標情報(絶対位置、絶対方向)を用いて、固定式カメラ装置20の絶対方向に基づく位置cから物品マーカ50の位置Bへの方向ベクトルを求める。具体的には、物品位置特定部302は、下記の式(4)により固定式カメラ装置20の絶対方向に基づく位置cから位置Bへの方向ベクトルrcBを求める。
[式4]
rcB=rCmat*cB
なお、式(4)におけるrCmatは、固定式カメラ装置20の絶対方向を示す回転行列である。
【0121】
次に、物品位置特定部302は、下記の式(5)を用いて、物品マーカ50の絶対位置rBを求める。
[式5]
rB=rC+rcB ・・・(5)
なお、式(5)におけるrCは、固定式カメラ装置20の絶対位置(位置cの絶対座標)である。また、物品位置情報に物品マーカ50の絶対方向を登録する場合には、物品位置特定部302は、上記式(4)における「rcB」を用いる。
【0122】
以上のように、第1の実施形態に係る物品位置管理装置30は、カメラ装置の種別に応じて物品40の絶対位置算出方法を切り替える。具体的には、カメラ装置が移動式カメラ装置10であれば、画像データ取得時における移動式カメラ装置10に対する、基準点マーカ60の相対位置と物品マーカ50の相対位置が計算される。その後、少なくとも、基準点マーカ60の座標情報と、基準点マーカ60の相対位置及び物品マーカ50の相対位置と、を用いて物品の位置が特定される。さらに、カメラ装置が固定式カメラ装置20であれば、画像データ取得時における固定式カメラ装置20に対する物品マーカ50の相対位置が計算される。その後、少なくとも、固定式カメラ装置の座標情報と、物品マーカ50の相対位置と、を用いて物品の位置が特定される。
【0123】
その結果、物品40の位置が正確に管理される。第1の実施形態では、カメラが移動しフィールド内の隅々まで撮影される。そのため、固定式カメラ装置20では死角となり把握できない物品40の位置が正確に把握される。また、物品40の位置が頻繁に変わるような領域を固定式カメラ装置20によりピンポイントで撮影することで、移動式カメラ装置10では瞬時に把握できない物品40の移動もリアルタイムで把握することができる。
【0124】
また、第1の実施形態によれば、物品40の位置管理を低コストで実現できる。上記説明した物品40の位置管理に必要な構成要素は、主にマーカ(基準点マーカ60、物品マーカ50)である。当該マーカは印刷物として入手可能であり、物品40の数が増加してもマーカの取得に要するコストは限定的である。従って、ビーコン等を用いた物品の位置管理とは異なり、低いコストで正確な物品40の位置管理が行える。
【0125】
[第2の実施形態]
続いて、第2の実施形態について図面を参照して詳細に説明する。
【0126】
第1の実施形態では、1台の移動体に1台のカメラが設置されている場合を説明した。第2の実施形態では、1台の移動体に2台以上のカメラが設置されている場合を説明する。
【0127】
図14は、第2の実施形態に係る移動式カメラ装置10の外観の一例を示す図である。
図14に示すように、移動式カメラ装置10は、2台のカメラ11、12を備える。特に制限はないが、2台のカメラ11、12は撮影する方向が重複しないように設置されているのが好ましい。
【0128】
また、移動体に設置された2台のカメラ11、12の位置関係やカメラの向きは変化せず、当該位置関係等は予め把握可能な情報である。つまり、カメラ11を基準としてどの程度の距離離れ、且つ、どのような角度(方向)でカメラ12が設置されているかは予め判明している。
【0129】
なお、第2の実施形態におけるシステム構成は第1の実施形態と同様とすることができるので、
図2に相当する説明を省略する。また、移動式カメラ装置10、物品位置管理装置30等の処理構成も第1の実施形態と同様とすることができるので、これらに関する説明を省略する。
【0130】
以下、第1及び第2の実施形態の相違点を中心に説明する。
【0131】
第2の実施形態では、主に物品位置管理装置30における、画像データの送信元が移動式カメラ装置10であった場合の動作が第1の実施形態と異なる。具体的には、
図11のステップS102~S108に係る動作が異なる。
【0132】
図15は、第2の実施形態に係る物品位置特定部302の動作の一例を示すフローチャートである。
図15を参照しつつ、第2の実施形態に係る物品位置特定部302の動作を説明する。なお、
図15には、
図11に示す各処理のうち第1及び第2の実施形態の間で異なる処理に限り図示している。
【0133】
また、移動式カメラ装置10から、カメラ11、12それぞれが撮影した画像データが実質的に同時(画像データの送信時刻の差分が所定値以下)に物品位置管理装置30に送信されるものとする。つまり、データ入力部301は、同じ移動体に設置された少なくとも2以上のカメラのそれぞれから画像データを入力する。
【0134】
物品位置特定部302は、2枚の画像データのうち少なくともいずれか一方に基準点マーカ60が含まれるか否かを判定する(ステップS201)。
【0135】
いずれの画像データにも基準点マーカ60が含まれなければ(ステップS201、No分岐)、物品位置特定部302は処理を終了する。
【0136】
いずれかの画像データに基準点マーカ60が含まれれば(ステップS201、Yes分岐)、物品位置特定部302は、他方の画像データに物品マーカ50が含まれるか否かを判定する(ステップS202)。
【0137】
他方の画像データに物品マーカ50が含まれなければ(ステップS202、No分岐)、物品位置特定部302は処理を終了する。他方の画像データに物品マーカ50が含まれれば(ステップS202、Yes分岐)、物品位置特定部302は、ステップS203以降の処理を実行する。
【0138】
ここでは、
図14に示すカメラ11が基準点マーカ60を撮影し、カメラ12が物品マーカ50を撮影したものとして以下の説明を行う。
【0139】
物品位置特定部302は、基準点マーカ60が写る画像データを用いて、画像データ取得時におけるカメラ11に対する基準点マーカ60の相対位置を計算する(ステップS203~S205)。当該計算は、第1の実施形態にて説明した方法と同様とすることができるので説明を省略する。
【0140】
物品位置特定部302は、物品マーカ50が写る画像データを用いて画像データ取得時におけるカメラ12に対する物品マーカ50の相対位置を計算する(ステップS206、S207)。当該計算は、第1の実施形態にて説明した方法と同様とすることができるので説明を省略する。
【0141】
物品位置特定部302は、基準点マーカ60の相対位置と、物品マーカ50の相対位置と、2つのカメラ11、12に関する位置及び方向の差分と、を用いて物品マーカ50の絶対位置を計算する(ステップS208)。
【0142】
なお、2つのカメラ11、12に関する位置の差分とは、カメラ11とカメラ12の間の絶対位置の差分である。また、2つのカメラ11、12に関する方向の差分とは、カメラ11とカメラ12の間の絶対方向の差分である。当該2つのカメラに関する情報(位置及び方向の差分)は、予め物品位置管理装置30の記憶部303に格納しておく。
【0143】
第1の実施形態では、例えば、
図12において、相対位置cA及びcBを用いて、基準点マーカ60の位置Aに対する物品マーカ50の位置Bの相対位置cABを算出している(式(1)参照)。第2の実施形態では、当該相対位置cABの計算に2つのカメラに関する情報を反映する。
【0144】
具体的には、物品位置特定部302は、下記の式(6)によりカメラ12を基準(原点)とした場合の基準点マーカ60の相対位置c2Aを求める。
[式6]
c2A=c12vec+c12mat*c2B ・・・(6)
なお、式(6)において、c12vecは、カメラ11とカメラ12の絶対位置の差分である。また、c12matは、カメラ11とカメラ12の絶対方向の差分である(絶対方向の差分を示す回転行列)。また、c2Bは、カメラ12を基準とした場合の物品マーカ50の相対位置である。
【0145】
上記式(6)により物品マーカ50を撮影したカメラ12に対する基準点マーカ60の相対位置が求まるので、式(1)における「cA」を「c2A」に置き換えることで、基準点マーカ60の位置Aから物品マーカ50の位置Bへの方向ベクトルが求まる。当該方向ベクトルが求まれば、物品位置特定部302は、式(2)及び(3)により物品マーカ50の座標情報(絶対位置、絶対方向)を計算できる。
【0146】
このように、カメラが2台の場合、PnP手法で得られる座標系も2つになるため、物品位置特定部302は、2つの座標系を1つの座標系に合成し、最終的な物品マーカ50の位置を計算する。
【0147】
なお、第2の実施形態における上記説明では、同じ移動体に2台のカメラが搭載されている場合について説明したが、3台以上のカメラが同じ移動体に搭載されている場合でも同様に物品の位置を特定できることは勿論である。また、同じ移動体に搭載される2以上のカメラは、同じ仕様を備えていても良いし、異なる仕様を備えていても良い。2以上のカメラが異なる仕様を備えている場合には、カメラごとの画角、歪みに関する情報をカメラ関連情報に登録しておけばよい。
【0148】
第1の実施形態では、1枚の画像に基準点マーカ60と物品マーカ50が同時に写っている必要があったが、第2の実施形態ではそのような画像は不要である。第2の実施形態では、複数のカメラを用いてフィールド内を撮影し、実質的に同時に基準点マーカ60と物品マーカ50が撮影できれば、物品の位置が特定可能である。即ち、1台のカメラだけでは基準点マーカ60と物品マーカ50の同時撮影が困難な場合であっても、第2の実施形態では、物品40の位置を正確に特定できる。
【0149】
[第3の実施形態]
続いて、第3の実施形態について図面を参照して詳細に説明する。
【0150】
第3の実施形態では、移動体にマーカ(以下、移動体マーカ70と表記する)を貼り付け、当該移動体マーカ70を撮影した画像データを物品マーカ50の位置特定に利用する場合について説明する。なお、移動体マーカにもARマーカを使用することができる。
【0151】
図16は、第3の実施形態に係る物品位置管理システムの動作を説明するための図である。
図16に示すように、移動式カメラ装置10-1、10-2のそれぞれには移動体マーカ70が付されている。
【0152】
第3の実施形態では、移動式カメラ装置10-1が、基準点マーカ60と移動体マーカ70を同時に撮影し、実質的に同じタイミングにて、移動式カメラ装置10-2が物品マーカ50を撮影した場合について説明する。なお、第3の実施形態では、各移動式カメラ装置10は、画像データの撮影時刻も画像データと共に物品位置管理装置30に送信する。また、各移動式カメラ装置10の内部クロック(時計)は互いに同期が図れるように構成するか、システム運用時にクロックのずれを修正する。
【0153】
物品位置特定部302は、第1の実施形態にて説明した方法と同様の方法により、移動式カメラ装置10-1が撮影した画像データから移動式カメラ装置10-2の座標情報(絶対位置、絶対方向)を計算できる。
【0154】
また、移動式カメラ装置10-2は、物品マーカ50を撮影しているので、物品位置管理装置30は、第1の実施形態にて説明した固定式カメラ装置20による物品マーカ50の位置特定の方法と同様の方法により物品マーカ50の絶対位置を計算できる。
【0155】
なお、第3の実施形態におけるシステム構成は第1の実施形態と同様とすることができるので、
図2に相当する説明を省略する。また、移動式カメラ装置10、物品位置管理装置30等の処理構成も第1の実施形態と同様とすることができるので、これらに関する説明を省略する。
【0156】
物品位置管理装置30の記憶部303には、移動体マーカ情報を予め格納しておく。移動体マーカ情報は、移動体マーカが付与された移動式カメラ装置10の識別子と、移動体マーカの識別子と、マーカサイズと、を関連づけた情報である。
【0157】
以下、第1及び第3の実施形態の相違点を中心に説明する。
【0158】
第3の実施形態では、主に物品位置特定部302の物品位置管理方法が第1の実施形態とは異なる。具体的には、
図11のステップS102~S108に係る動作が異なる。
【0159】
図17は、第3の実施形態に係る物品位置特定部302の動作の一例を示すフローチャートである。
図17を参照しつつ、第3の実施形態に係る物品位置特定部302の動作を説明する。なお、
図17には、
図11に示す各処理のうち第1及び第3の実施形態にて異なる処理に限り図示している。
【0160】
第3の実施形態では、移動式カメラ装置10-1及び10-2のそれぞれが撮影した画像データが実質的に同時に物品位置管理装置30に送信されるものとする。換言するならば、物品位置管理装置30は、取得した画像データのうち、2つの画像間の撮影時刻に関する差分が所定値以下である画像データを処理の対象とする。
【0161】
物品位置特定部302は、2枚の画像データのうち少なくともいずれか一方に基準点マーカ60と移動体マーカ70が含まれるか否かを判定する(ステップS301)。
【0162】
2つのマーカが含まれる画像データがなければ(ステップS301、No分岐)、物品位置特定部302は処理を終了する。
【0163】
2つのマーカを含む画像データが存在すれば(ステップS301、Yes分岐)、物品位置特定部302は、移動体マーカ70の識別子に対応する移動式カメラ装置10から実質的に同時刻に画像データを取得しているか否かを確認する(ステップS302)。
図16の例では、物品位置特定部302は、移動式カメラ装置10-2から画像データを取得しているか否かを判定する。
【0164】
上記画像データを取得していない場合(ステップS302、No分岐)、物品位置特定部302は処理を終了する。
【0165】
上記画像データを取得している場合(ステップS302、Yes分岐)、物品位置特定部302はステップS303以降の処理を実行する。
【0166】
ステップS303~S308において、物品位置特定部302は、移動体マーカ70の座標情報(絶対位置、絶対方向)を計算する。なお、ステップS303~S308の処理は、第1の実施形態にて説明したステップS103~S108において「物品マーカ」を「移動体マーカ」に読み替えて処理をすれば良いので詳細は説明を省略する。
【0167】
その後、物品位置特定部302は、ステップS302にて存在を確認した画像データに関する処理を実行する。具体的には、物品位置特定部302は、移動体マーカ70が撮影された移動式カメラ装置10の座標情報(絶対位置、絶対方向)を固定式カメラ装置20の座標情報として扱う。即ち、物品位置特定部302は、第1の実施形態にて説明したステップS111~S114と同様の計算により物品マーカ50の絶対位置を計算する(ステップS309~S312)。
【0168】
このように、第3の実施形態に係る物品位置管理装置30は、移動式カメラ装置10-1から第1の画像データを、移動式カメラ装置10-2から第2の画像データをそれぞれ入力する。また、少なくとも移動式カメラ装置10-2には移動体マーカが貼り付けられている。物品位置管理装置30は、第1の画像データに含まれる、基準点マーカ60と移動式カメラ装置10-2に貼り付けられた移動体マーカ70とに基づき、移動式カメラ装置10-2の位置を特定する。さらに、物品位置管理装置30は、第2の画像に写る物品マーカ50と移動式カメラ装置10-2の位置に基づき、物品40の位置を特定する。
【0169】
なお、第3の実施形態では、1台の移動体に1台のカメラが搭載されている場合を想定しているが、第2の実施形態にて説明したように1台の移動体に複数のカメラが搭載されていてもよい。つまり、第2の実施形態と第3の実施形態を組み合わせてもよい。また、上記説明では、2台の移動式カメラ装置10による連携を説明したが、3台以上の移動式カメラ装置10の連携により物品40の位置を特定してもよい。
【0170】
以上のように、第3の実施形態では、移動式カメラ装置10の移動体マーカ70を物品マーカに見立て基準点マーカ60と移動体マーカ70が同時に撮影されていれば、移動体マーカ70の位置を特定する。位置が特定された移動式カメラ装置10が物品マーカ50を撮影していれば、当該移動式カメラ装置10を固定式カメラ装置20と同様に扱うことで物品40の位置が特定可能となる。その結果、広大なフィールドが管理対象であったとしても多数の移動式カメラ装置10をシステムに投入することで、フィールド内の物品40の位置を漏れなく管理することができる。
【0171】
[第4の実施形態]
続いて、第4の実施形態について図面を参照して詳細に説明する。
【0172】
第4の実施形態では、位置が特定された物品40に付与された物品マーカ50を新たな基準点マーカ60として使用する場合について説明する。
【0173】
図18は、第4の実施形態に係る物品位置管理装置30の処理構成(処理モジュール)の一例を示す図である。
図18に示すように、第4の実施形態では、基準点マーカ情報更新部304が追加されている。
【0174】
物品位置特定部302は、物品40の位置を特定すると、物品40の座標情報(絶対位置、絶対方向)を基準点マーカ情報更新部304に通知する。基準点マーカ情報更新部304は、当該物品40の座標情報を基準点マーカ情報(
図7参照)に追記する。
【0175】
なお、基準点マーカ情報更新部304は、基準点マーカ情報に追記する情報のうち、座標情報(絶対位置、絶対方向)は物品位置特定部302から取得する。さらに、基準点マーカ情報更新部304は、基準点マーカ情報に追記する情報のうち、サイズに関する情報は、物品マーカ情報から取得する。
【0176】
物品位置特定部302は、追加された物品マーカ50を新たな基準点マーカ60として使用し、物品40の位置を特定する。
【0177】
以上のように、第4の実施形態では、位置が特定された物品マーカ50を新たな基準点マーカ60として利用し、物品40の位置特定に役立てる。その結果、システムの運用と共に基準点マーカ60の数が徐々に増加し、基準点マーカ60と物品マーカ50の同時撮影の機会が増え、漏れのない物品40の位置管理が実現できる。
【0178】
続いて、物品位置管理装置30のハードウェア構成について説明する。
【0179】
[ハードウェア構成]
図19は、物品位置管理装置30のハードウェア構成の一例を示す図である。物品位置管理装置30は
図19に例示する構成を備える。例えば、物品位置管理装置30は、内部バスにより相互に接続される、CPU(Central Processing Unit)31、メモリ32、入出力インターフェイス33、通信手段である通信回路34等を備える。
【0180】
但し、
図19に示す構成は、物品位置管理装置30のハードウェア構成を限定する趣旨ではない。物品位置管理装置30は、図示しないハードウェアを含んでもよい。物品位置管理装置30に含まれるCPU等の数も
図19の例示に限定する趣旨ではなく、例えば、複数のCPU31が物品位置管理装置30に含まれていてもよい。
【0181】
メモリ32は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)等である。
【0182】
入出力インターフェイス33は、図示しない入出力装置のインターフェイスである。入出力装置には、例えば、表示装置、操作デバイス等が含まれる。表示装置は、例えば、液晶ディスプレイ等である。操作デバイスは、例えば、キーボードやマウス等である。
【0183】
物品位置管理装置30の機能は、上述の処理モジュールにより実現される。当該処理モジュールは、例えば、メモリ32に格納されたプログラムをCPU31が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能は、何らかのハードウェア、或いはハードウェアを利用して実行されるソフトウェアにより実現できればよい。
【0184】
[変形例]
第1乃至第4の実施形態にて説明した物品位置管理システムの構成、動作は例示であって、システムの構成等を限定する趣旨ではない。
【0185】
例えば、物品位置管理装置30が有する複数の機能のうち一部の機能がカメラ装置にて実現されてもよい。具体的には、物品位置管理装置30の物品位置特定部302の機能は、画像データからARマーカを抽出するモジュール(マーカ抽出部)と、物品位置を特定するモジュール(位置特定部)と、に分離することができる。カメラ装置にこれらの機能の一部又は全部を持たせ、物品位置管理装置30の負荷分散を実現してもよい。例えば、マーカ抽出部を移動式カメラ装置10に実装する場合(
図20参照)には、移動式カメラ装置10から、マーカの抽出できた画像データと抽出したマーカの種類(基準点マーカ60、物品マーカ50)を物品位置管理装置30に通知すればよい。あるいは、マーカ抽出部と物品位置特定部を移動式カメラ装置10に実装する場合(
図21参照)には、移動式カメラ装置10から特定された物品40の位置を物品位置管理装置30に通知すればよい。即ち、カメラ装置は、画像データに変えて、画像データから特定された物品40の位置を物品位置管理装置30に送信してもよい。このように、上記実施形態にて説明した各機能(画像データの取得、マーカの抽出、物品位置特定)の役割分担は一例である。従って、物品位置管理システムには、画像データを生成する手段、マーカを抽出する手段、物品40の位置を特定する手段が、カメラ装置や物品位置管理装置30に含まれていればよい。画像データを生成する手段(カメラ制御部201)は、フィールド内での絶対座標系における座標情報が予め定まっている基準点マーカ60と物品に貼り付けられた物品マーカ50を撮影し、画像データを生成する。マーカを抽出する手段(マーカ抽出部204)は、画像データから基準点マーカ60、物品マーカ50を抽出する。物品40の位置を特定する手段(物品位置特定部302)は、画像データが移動式カメラ装置10により生成された場合に、基準点マーカ60と物品マーカ50とに基づき、物品40の位置を特定する。あるいは、物品40の位置を特定する手段は、画像データが固定式カメラ装置20により生成された場合に、物品マーカ50に基づき、物品40の位置を特定する。
【0186】
上記実施形態では、1台の物品位置管理装置30がシステムに含まれる場合を説明したが、複数の物品位置管理装置30がシステムに含まれていてもよい。この場合、各カメラ装置による画像データの宛先となる物品位置管理装置30を予め定めておくことで、システムの規模が拡大した場合でも物品位置管理装置30の負荷を分散することができる。
【0187】
上記実施形態では、カメラ装置から物品位置管理装置30に直接、画像データが送信さされているが、画像データ収集サーバ等を設け当該サーバを経由して画像データを物品位置管理装置30に送信してもよい。この場合、画像データ収集サーバにて画像データのフィルタリング(例えば、マーカの写っていない画像を破棄)等を実施することで、物品位置管理装置30の負荷を低減することができる。
【0188】
物品位置管理装置30は、計算した物品40の位置を所定時間キャッシュし、当該キャッシュにヒットした物品40に関しては位置の計算を省略してもよい。例えば、工場の非稼働日等、物品が移動しないことが予め分かっている場合には、既に位置の計算をした物品40に関する再計算は不要である。キャッシュを利用することで、このような不要な再計算を省略することができる。
【0189】
上記実施形態では、1枚の画像に1つの基準点マーカ60又は物品マーカ50が写っている場合を説明したが、1つの画像データに同種のマーカが複数写る場合があり得る。この場合、物品位置管理装置30は、カメラ装置に最も近接するマーカを物品の位置算出に利用してもよいし、あるいは、マーカの認識精度(パターンファイルの類似度)が最も高いマーカを位置算出に利用してもよい。あるいは、1つの画像データに同種のマーカが複数含まれる場合に、物品位置管理装置30は、それぞれのマーカから相対位置等を算出し、これらの平均値を最終的な値としてもよい。このような対応により位置算出精度を高めることができる。
【0190】
上記実施形態では、画像データと共に送信されてくるカメラ装置の識別子によりカメラ装置の種別を判定しているが、画像データの比較によりカメラ装置の種別を判定してもよい。例えば、物品位置管理装置30は、画像データの送信元のIPアドレスと画像データを関連づけて保存し、先に受信した画像データと最新の画像データの差分が小さければ「固定式カメラ装置」と判断し、大きければ「移動式カメラ装置」と判断すればよい。
【0191】
上記実施形態では、カメラ装置から静止画が物品位置管理装置30に送信される場合を説明したが、動画が物品位置管理装置30に送信されてもよい。この場合、物品位置管理装置30は、動画から所定の割合でフレームを抽出し、上記説明した画像データとして扱えばよい。
【0192】
上記実施形態では、1つの物品40や移動体に1つのマーカ(物品マーカ50、移動体マーカ70)を貼り付けることを前提としたが、物品40や移動体に複数のマーカを貼り付けてもよい。また、その際、物品40等の識別が目的であれば、貼り付けるマーカの識別子は同一であってもよい。識別子が異なる複数のマーカを同一の物品40等に貼り付ける場合には、識別子ごとに物品40との対応を管理(記録)すればよい。
【0193】
上記実施形態では、移動式カメラ装置10に設置されたカメラはその向きが固定されている場合を説明したが、カメラの向きが可変に構成されていてもよい。具体的には、モータ等を含むアクチュエータとカメラを接続し、カメラの向きを変更してもよい。この場合、1台のカメラを第2の実施形態にて説明した「同一の移動体に設置された2台のカメラ」と同様に扱うことができる。なお、この場合、式(6)における2つのカメラ(方向を変更する前と後のカメラ)の絶対方向の差分は予め把握することできない。そこで、アクチュエータの制御値から上記絶対方向の差分を算出し、式(6)の絶対方向の差分として用いればよい。あるいは、カメラにジャイロセンサ等を取り付け、当該センサから回転量を取得して上記差分を算出してもよい。即ち、移動式カメラ装置10に設置されたカメラの向きは可変に構成されている。この場合、移動式カメラ装置10は、第1の向きで撮影した第1の画像データと第2の向きで撮影した第2の画像データと、上記向きが可変に構成されたカメラに関する第1及び第2の向きの差分(回転量)と、を物品位置管理装置30に送信する。その後、物品位置管理装置30の物品位置特定部302は、第1の画像データに含まれる基準点マーカ60に基づき、第1の画像データ取得時における移動式カメラ装置10に対する基準点マーカ60の相対位置を計算する。さらに、物品位置特定部302は、第2の画像データに含まれる物品マーカ50に基づき、第2の画像データ取得時における移動式カメラ装置10に対する物品マーカ50の相対位置を計算する。その後、物品位置特定部302は、基準点マーカ60の相対位置と、物品マーカ50の相対位置と、カメラに関する第1及び第2の向きの差分(回転量)と、を用いて物品40の位置を特定する。
【0194】
カメラの制御に「ズーム(画角の変更)」を取り入れてもよい。例えば、カメラ装置のカメラ制御部201は、基準点マーカ60を撮影したことを確認すると、当該基準点マーカ60が写る画像データを保存する。さらに、カメラ制御部201は、カメラをズームして画像データを取得する。その際、物品マーカ50が写っていれば、カメラ制御部201は、当該画像データも保存する。その後、保存された2枚の画像データが物品位置管理装置30に送信される。物品位置管理装置30は、当該2枚の画像データを第2の実施形態で説明した方法と同様に扱い物品40の位置を特定すればよい。なお、ズームした画像データから物品マーカ50の相対位置を算出する際に、ズーム値が必要となる。この場合、ズーム値はカメラ装置と物品位置管理装置30の間で予め取り決めた値を用いても良いし、物品位置管理装置30から指示した値でも良いし、カメラ装置から使用したズーム値を画像データと共に物品位置管理装置30に通知してもよい。なお、画像データの処理に必要なズーム値は、焦点距離、画角等の値である。即ち、移動式カメラ装置10に設置されたカメラは焦点距離が可変に構成されている。移動式カメラ装置10は、焦点距離を変更して第1及び第2の画像データを取得すると共に、物品位置管理装置30に当該画像データを送信する。物品位置管理装置30の物品位置特定部302は、第1の焦点距離にてカメラが撮影した第1の画像データに含まれる基準点マーカ60に基づき、第1の画像データ取得時における移動式カメラ装置10に対する基準点マーカ60の相対位置を計算する。さらに、物品位置特定部302は、第2の焦点距離にてカメラが撮影した第2の画像データに含まれる物品マーカ50に基づき、第2の画像データ取得時における移動式カメラ装置10に対する物品マーカ50の相対位置を計算する。その後、物品位置特定部302は、基準点マーカ60の相対位置と、物品マーカ50の相対位置と、を用いて物品40の位置を特定する。なお、焦点距離と画角は互いにタンジェント計算により相互変換可能な情報であるため、ズーム値として焦点距離か画角のいずれか一方が得られればよい。
【0195】
上記実施形態では、基準点マーカ60と物品マーカ50は同じマーカ(ARマーカ)であることを前提として説明を行ったが、これらは異なるマーカであってもよい。その場合には、各マーカに適した検出方法を適用すればよい。
【0196】
上記実施形態では、主にARマーカとPnP手法に基づく物品位置の推定について説明した。しかし、他のマーカ及び他の手法を用いて物品位置を推定してもよい。例えば、以下の参考文献3に記載された高精度なARマーカを用いて物品位置が推定されてもよい。参考文献3に開示された高精度ARマーカは、当該マーカが視認される角度に応じて変化する2次元モアレパターンを有している。当該高精度ARマーカは視認される角度によりパターンが変化するため、当該マーカのパターン変化に適合した(考慮した)物品位置の推定方法が必要となる。具体的には、PnP手法により求められた解(姿勢推定値)を修正することで、高精度ARマーカを用いた物品位置推定が可能となる。
<参考文献3>
https://5da3fa2e-a-62cb3a1a-s-sites.googlegroups.com/site/htver2/research/service_robots/newarmarker/ArrayMark_2012.pdf?attachauth=ANoY7cqDnMqRdnkBszHS0j4FFXPVZv4nWNvQo5Wu3mW6dI5aB0gkZWzOLXCNPstRd_6Dza69LO_mmBlKYqkHtl_bL0M6j1Z48ZVfVo2IP8IWthD9MqfM9T2oZQJvAcuAE3bIqvxWks0cdSORjOzIgMmYxfUusYNwd_2o_Wp6tF8x4pHA1bEvc9B8ji09LM1XYlDRiLsiGrpMEiBBAFEuobNesI2kzNG0-1jNzzsU3g-IZFOz0sWdGGKxSMEXzK-ocjIkOQnreZfaYk8Jpti-7SmxMw2nzrH7XA%3D%3D&attredirects=0
【0197】
また、基準点マーカ等は、中心の座標だけが得られるマーカ、例えば、識別子として機能するバーコード等であってもよい。ただし、この場合には、3つ以上の特徴点に関する座標が得られないので、PnP手法が使用できず相対位置等が計算できない。そこで、バーコード等のマーカをその位置(中心の画像座標)の算出に利用する。具体的には、カメラ装置からバーコード等が貼り付けられた物品への方向算出にバーコードを利用する。その上で、カメラ装置とマーカ(物品等)の間の距離を測ればよい。具体的には、レーザ距離計、RGB-D(Red Green Blue - Depth)カメラを利用して上記距離を測定すればよい。また、マーカのサイズが小さい等の事情があれば、マーカの検出可能距離が自ずと定まり当該検出可能距離(例えば、1m)を上記距離として採用してもよい。
【0198】
上記第2の実施形態では、1台の移動体に2台以上のカメラ装置を設置する場合を説明した。しかし、1台のカメラ装置が移動体に設置されている場合でも、移動体の移動履歴(移動距離、移動方向)を把握できれば、第2の実施形態と同様の結果を得ることもできる。具体的には、画像データに基準点マーカ60が写っていれば当該基準点マーカ60に対する移動式カメラ装置10の相対位置を計算し、移動式カメラ装置10は移動する。その際、移動式カメラ装置10は、移動履歴(移動距離、移動方向)を生成する。その移動中に物品マーカ50が撮影された画像データが得られれば、物品マーカ50に対する移動式カメラ装置10の相対位置が計算できる。その後、移動履歴を使って基準点マーカ60に対する相対位置の修正を行い、物品40の位置を特定すればよい。なお、上記移動履歴の生成にはジャイロセンサ等を用いればよい。
【0199】
あるいは、以下のような方法により1台のカメラを2台のカメラのように扱ってもよい。基準点マーカ60を検出した際の移動式カメラ装置10を便宜上「c1」とし、c1Aをそのときの基準点マーカ60の相対座標とする。また、物品マーカ50を検出した際の移動式カメラ装置10のカメラを便宜上「c2」とし、c2Bをそのときの物品マーカ50の相対座標とする。その上で、上記式(6)におけるc12vec(カメラ1とカメラ2の絶対位置の差分)とc12mat(カメラ1とカメラ2の絶対方向の差分)を移動履歴から求めてもよい。つまり、移動式カメラ装置10は、基準点マーカ60が写る第1の画像データと、物品マーカ50が写る第2の画像データと、第1の画像データを取得してから第2の画像データを取得するまでの移動履歴と、を物品位置管理装置30に出力する。物品位置管理装置30の物品位置特定部302は、第1の画像データに含まれる基準点マーカ60に基づき、第1の画像データ取得時における移動式カメラ装置10に対する基準点マーカ60の相対位置を計算する。同様に、物品位置特定部302は、第2の画像データに含まれる物品マーカ50に基づき、第2の画像データ取得時における移動式カメラ装置10に対する物品マーカ50の相対位置を計算する。その後、物品位置特定部302は、基準点マーカ60の相対位置と、物品マーカ50の相対位置と、第1の画像データ取得時から第2の画像データ取得時までの移動式カメラ装置10の移動履歴と、を用いて物品40の位置を特定する。
【0200】
コンピュータの記憶部に、上述したコンピュータプログラムをインストールすることにより、コンピュータを物品位置管理装置として機能させることができる。さらにまた、上述したコンピュータプログラムをコンピュータに実行させることにより、コンピュータにより物品位置管理方法を実行することができる。
【0201】
また、上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、例えば各処理を並行して実行する等、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
【0202】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込み記載されているものとし、必要に応じて本発明の基礎ないし一部として用いることが出来るものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。さらに、上記引用した文献の各開示事項は、必要に応じ、本発明の趣旨に則り、本発明の開示の一部として、その一部又は全部を、本書の記載事項と組み合わせて用いることも、本願の開示事項に含まれるものと、みなされる。
【符号の説明】
【0203】
10、10-1、10-2 移動式カメラ装置
11、12 カメラ
20 固定式カメラ装置
30、100 物品位置管理装置
31 CPU(Central Processing Unit)
32 メモリ
33 入出力インターフェイス
34 通信回路
40 物品
50 物品マーカ
60 基準点マーカ
70 移動体マーカ
101 入力部
102 特定部
201 カメラ制御部
202 データ出力部
203、303 記憶部
204 マーカ抽出部
205 位置特定部
301 データ入力部
302 物品位置特定部
304 基準点マーカ情報更新部