(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024137682
(43)【公開日】2024-10-07
(54)【発明の名称】情報処理方法、プログラム、情報処理装置および情報処理システム
(51)【国際特許分類】
H04N 7/18 20060101AFI20240927BHJP
G05D 1/249 20240101ALI20240927BHJP
G05D 1/243 20240101ALI20240927BHJP
【FI】
H04N7/18 D
G05D1/249
G05D1/243
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023217303
(22)【出願日】2023-12-22
(31)【優先権主張番号】P 2023046293
(32)【優先日】2023-03-23
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】永島 健司
(72)【発明者】
【氏名】岡本 敏弘
(72)【発明者】
【氏名】青木 伸
(72)【発明者】
【氏名】木村 輔宏
【テーマコード(参考)】
5C054
5H301
【Fターム(参考)】
5C054CA04
5C054CC02
5C054CF06
5C054EA01
5C054EA03
5C054EA05
5C054FC12
5C054FC13
5C054FC15
5C054GB01
5C054GB05
5C054HA31
5H301AA01
5H301AA10
5H301BB07
5H301CC03
5H301CC06
5H301FF11
5H301GG07
5H301GG16
5H301KK08
5H301KK10
(57)【要約】
【課題】現在位置が分からなくなった物体の現在の位置情報を短時間で取得可能な情報処理方法、プログラムおよび情報処理装置を提供すること。
【解決手段】本発明の一態様に係る情報処理方法は、追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理装置による情報処理方法であって、前記物体の識別情報と、前記物体の位置情報と、前記物体の位置情報を取得したときの時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の位置情報を取得する移動開始位置取得ステップと、前記位置管理情報に基づき、前記物体の移動が開始される前の時刻情報を取得する時刻取得ステップと、前記撮影動画のうち、前記時刻情報に対応する動画時刻から開始される動画において、前記物体の位置時報から前記物体を画像処理によって追跡する追跡ステップと、前記追跡ステップによる前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理装置による情報処理方法であって、
前記物体の識別情報と、前記物体の位置情報と、前記物体の位置情報を取得したときの時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の位置情報を取得する移動開始位置取得ステップと、
前記位置管理情報に基づき、前記物体の移動が開始される前の時刻情報を取得する時刻取得ステップと、
前記撮影動画のうち、前記時刻情報に対応する動画時刻から開始される動画において、前記物体の位置時報から前記物体を画像処理によって追跡する追跡ステップと、
前記追跡ステップによる前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、情報処理方法。
【請求項2】
追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理装置による情報処理方法であって、
前記物体の識別情報と、前記物体の位置情報と、前記物体の移動が開始される前の時刻である第1時刻情報と、前記物体の移動が終了したときの時刻である第2時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の移動が開始される前の前記物体の位置情報を取得する移動開始位置取得ステップと、
前記位置管理情報に基づき、前記第1時刻情報を取得する第1時刻取得ステップと、
前記撮影動画のうち、前記第1時刻情報に対応する動画時刻から開始される動画において、前記物体の位置情報から前記物体を画像処理によって追跡する追跡ステップと、
前記追跡ステップによる前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、情報処理方法。
【請求項3】
前記位置管理情報に基づき、前記第2時刻情報を取得する第2時刻取得ステップを更に有し、
前記撮影動画のうち、前記第1時刻情報から前記第2時刻情報に対応する動画時刻の動画において、前記物体の位置情報から前記物体を画像処理によって追跡する追跡ステップと、
前記追跡ステップによる前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、請求項2に記載の情報処理方法。
【請求項4】
前記情報処理装置は、更新部により、前記物体の前記現在の位置情報に基づき、前記位置管理情報を更新する、請求項2又は請求項3に記載の情報処理方法。
【請求項5】
前記情報処理装置は、予め相対位置が定められている複数の撮影装置による複数の前記撮影動画に基づいて、前記物体の位置情報を取得可能であり、
前記物体が移動されることで、複数の前記撮影動画のうちの第1の撮影動画に前記物体が含まれなくなった場合に、前記物体を追跡できるように、特定部により、複数の前記撮影動画のうちの前記物体が含まれる第2の撮影動画を特定可能である、請求項1から請求項3の何れか1項に記載の情報処理方法。
【請求項6】
前記情報処理装置は、前記追跡対象の物体の周囲を撮影する撮影装置と、前記物体におけるマーカの位置と、の相対位置に基づいて、前記物体の移動が開始される前の前記物体の位置情報を算出する、請求項1又は請求項2に記載の情報処理方法。
【請求項7】
追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理装置に処理を実行させるプログラムであって、
前記物体の識別情報と、前記物体の位置情報と、前記物体の位置情報を取得したときの時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の移動が開始される前の前記物体の位置情報を取得する移動開始位置取得ステップと、
前記位置管理情報に基づき、前記物体の移動が開始される前の時刻情報を取得する時刻取得ステップと、
前記撮影動画のうち、前記時刻情報に対応する動画時刻から開始される動画において、前記物体の位置情報から前記物体を画像処理によって追跡する追跡ステップと、
前記追跡ステップによる前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、プログラム。
【請求項8】
追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理装置であって、
前記物体の識別情報と、前記物体の位置情報と、前記物体の位置情報を取得したときの時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の移動が開始される前の前記物体の位置情報を取得する移動開始位置取得部と、
前記位置管理情報に基づき、前記物体の移動が開始される前の時刻情報を取得する時刻取得部と、
前記撮影動画のうち、前記時刻情報に対応する動画時刻から開始される動画において、前記物体の位置情報から前記物体を画像処理によって追跡する追跡部と、
前記追跡部による前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、情報処理装置。
【請求項9】
通信可能に接続された複数の情報処理装置を有し、移追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理システムであって、
前記物体の識別情報と、前記物体の位置情報と、前記物体の位置情報を取得したときの時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の移動が開始される前の前記物体の位置情報を取得する移動開始位置取得部と、
前記位置管理情報に基づき、前記物体の移動が開始される前の時刻情報を取得する時刻取得部と、
前記撮影動画のうち、前記時刻情報に対応する動画時刻から開始される動画において、前記物体の位置情報から前記物体を画像処理によって追跡する追跡部と、
前記追跡部による前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、プログラム、情報処理装置および情報処理システムに関する。
【背景技術】
【0002】
従来、倉庫等の施設内に配置される荷物等の物体を管理するために、フォークリフト等の移動体に取り付けたカメラによる撮影画像に基づいて、移動体により移動された物体の位置情報を取得する情報処理方法、プログラム、および情報処理装置が知られている。
【0003】
また、カメラが取り付けられていない移動体により物体が移動されることで物体の現在位置が分からなくなった場合に、物体の現在の位置情報を取得するために、カメラが取り付けられた移動体で物体が最後に配置された位置と、施設の天井に固定されたカメラによる撮影動画と、に基づき、物体の移動を追跡する技術が開示されている(例えば、特許文献1参照)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の構成では、撮影動画により物体の移動を追跡する場合に、物体が移動される時点の撮影動画からの追跡が難しく、撮影動画をはじめから再生して追跡しなければならないなど、現在位置が分からなくなった物体の現在の位置情報を取得することに時間がかかる場合があった。
【0005】
本発明は、現在位置が分からなくなった物体の現在の位置情報を短時間で取得可能な情報処理方法、プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る情報処理方法は、追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理装置による情報処理方法であって、前記物体の識別情報と、前記物体の位置情報と、前記物体の位置情報を取得したときの時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の位置情報を取得する移動開始位置取得ステップと、前記位置管理情報に基づき、前記物体の移動が開始される前の時刻情報を取得する時刻取得ステップと、前記撮影動画のうち、前記時刻情報に対応する動画時刻から開始される動画において、前記物体の位置時報から前記物体を画像処理によって追跡する追跡ステップと、前記追跡ステップによる前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する。
【発明の効果】
【0007】
本発明によれば、現在位置が分からなくなった物体の現在の位置情報を短時間で取得可能な情報処理方法、プログラムおよび情報処理装置を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】倉庫内における物体の位置情報例を説明する図である。
【
図2】第1実施形態に係る情報処理システムの全体構成例を示す図である。
【
図3】第1実施形態に係る情報処理装置の構成例を示す図である。
【
図4A】第1実施形態に係る情報処理装置の機能構成例を示す図である。
【
図4B】第1実施形態に係る位置管理情報の一例を示す図である。
【
図5】第1実施形態に係る情報処理装置による物体の位置情報の取得処理例を示すフローチャートである。
【
図6】第1実施形態に係る情報処理装置による物体の現在位置情報の取得処理例を示すフローチャートである。
【
図7】物体位置情報の取得結果の第1例を示す図であり、
図7(a)は位置地図を示す図、
図7(b)は位置情報とタイムスタンプを示す図である。
【
図8】物体位置情報の取得結果の第2例を示す図であり、
図8(a)は区画を示す図、
図8(b)は区画の位置情報と区画のバーコードを示す図である。
【
図11】対象指定方法の第1例における指定画面の図である。
【
図12】対象指定方法の第1例における指定結果画面の第1図である。
【
図13】対象指定方法の第1例における指定結果画面の第2図である。
【
図14】対象指定方法の第1例における取得結果画面の図である。
【
図15】対象指定方法の第2例における指定画面の図である。
【
図16】対象指定方法の第2例における指定結果画面の図である。
【
図17】対象指定方法の第3例における指定画面の図である。
【
図18A】第2実施形態に係る情報処理装置の機能構成例を示す図である。
【
図18B】第2実施形態に係る位置管理情報の一例を示す図である。
【
図19】第2実施形態に係る情報処理装置による物体の現在位置取得処理例のフローチャートである。
【
図20】第2実施形態に係るハンドリフトでの物体移動を説明する図である。
【
図21】第2実施形態に係る物体移動の様子を示す第1図である。
【
図22】第2実施形態に係る物体移動の様子を示す第2図である。
【
図23】第3実施形態に係る情報処理装置の機能構成例を示す図である。
【
図24】第3実施形態に係る情報処理装置による物体の現在位置取得処理例のフローチャートである。
【
図25】第4実施形態の第1例に係る情報処理システムのブロック図である。
【
図26】第4実施形態の第2例に係る情報処理システムのブロック図である。
【
図27】第4実施形態の第3例に係る情報処理システムのブロック図である。
【
図28】第4実施形態の第4例に係る情報処理システムのブロック図である。
【
図29】全天球撮影装置のハードウェア構成例を示すブロック図である。
【
図30】全天球カメラと物体の相対位置の取得方法の第1例を示す図である。
【
図31】全天球カメラと物体の相対位置の取得方法の第2例を示す図であり、
図31(A)はフォークリフトを側方から視た図、
図31(B)は、フォークリフトが支持する補助マーカを全天球カメラ側から視た図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して発明を実施するための形態について説明する。各図面において、同一の構成部分には同一符号を付し、重複した説明を適宜省略する。
【0010】
実施形態に係る情報処理システムは、追跡対象の物体の周囲を撮影する撮影装置による撮影動画に基づき、前記物体の位置情報を取得するシステムである。移動体は、倉庫において、物体を移動するために使用されるフォークリフト、ハンドリフト等である。フォークリフトは、駆動部を有する物体搬送車両である。ハンドリフトは、駆動部を有さず、人が簡易に扱える物体搬送機器である。ハンドリフトは、人がハンドリフトを押したり引いたりすることで移動される。ハンドリフトは、ハンドパレットトラックと称される場合もある。物体は、倉庫において取り扱われるパレット、貨物等である。
【0011】
図1は、倉庫内における物体の位置情報の一例を説明する図である。
図1は、倉庫100の内部および倉庫100の周辺を上方(天井側)から視た様子を示している。倉庫100はターミナル倉庫、すなわち輸送の中継地において設置される倉庫である。倉庫100は、ターミナル倉庫のうち、クロスドッキング型と呼ばれる形態の倉庫である。クロスドッキング型の倉庫では、商品ごとに複数のパレットが工場または卸売業者等から入荷され、倉庫内に一時仮置きされる。その後、出荷の際に同じパレットの荷姿のまま、複数の種類のパレットが組み合わされ、複数の小売店の方面ごとに出荷される。
【0012】
図1において、倉庫100の周囲にはトラックヤード200が位置する。トラックヤード200にはトレーラーによって運ばれ、切り離されたコンテナ300や、トラックの荷台が配置される。フォークリフト10は、トラックヤード200に到着したトラックの荷台、トレーラーによって運ばれたコンテナ300からパレット31を取り出すことができる。
【0013】
パレット31を取り出したフォークリフト10は、仮置き場所40にパレット31を運び、仮置きする。フォークリフト10は、出荷の際には、倉庫100内のトラックヤード200に近い場所にパレット31を運んで荷揃えした後、トラックの荷台またはコンテナ300にパレット31を積込む。
【0014】
仮置き場所40では、出入りする商品の種類や量が日々変動することに対して柔軟にスペースを確保するために、商品ごとの区画が定められていないことが多い。一方で、複数の作業者が任意の場所にパレット31を仮置きするため、出荷の際には、仮置きされた複数のパレットの中から所望のパレットを探索する必要がある。この探索作業を効率的に行うために、倉庫100内においてパレット31の仮置き場所40を定めないことでスペースを有効活用しながら、倉庫100内でのパレット31の位置を、追跡により可視化可能な情報処理システムが求められている。実施形態に係る情報処理装置は、このような情報処理システムで使用されるものである。実施形態に係る情報処理装置は、フォークリフトにより移動される物体の位置情報を取得するとともに、物体の位置を追跡することができる。以下、実施形態に係る情報処理装置を有する情報処理システムについて、詳細に説明する。なお、本明細書において、画像には、静止画および動画の少なくとも一方が含まれるものとする。また動画は、映像と称してもよい。
【0015】
[第1実施形態]
<情報処理システム1の全体構成例>
図2は、第1実施形態に係る情報処理システム1の全体構成の一例を示す図である。
図2に示すように、情報処理システム1は、フォークリフト10と、全天球カメラ20と、情報処理装置50と、固定型カメラ60と、読取器700と、を有する。これらは、LAN(Local Area Network)、インターネット等のネットワーク400を介して通信可能に接続されている。なお、ネットワーク400には、外部サーバまたは画像形成装置等の上記以外の装置または機器が通信可能に接続されていてもよい。
【0016】
フォークリフト10は、パレット31に載置された貨物32を保持し、パレット31および貨物32を搬送する移動体である。物体30は、パレット31および貨物32を含む。なお、フォークリフト10は1以上のフォークリフト、パレット31は1以上のパレット、貨物32は1以上の貨物をそれぞれ含んでもよい。フォークリフト10は、作業者の運転操作に応じて物体30を搬送するものであってもよいし、作業者を介さず自動運転により物体30を搬送するものであってもよい。
【0017】
全天球カメラ20は、フォークリフト10に設けられた撮影装置である。全天球カメラ20は、全天球カメラ20の周囲における360度の全方位を撮影する。
図2に示した方位20aは、全天球カメラ20により撮影可能な方位を表している。但し、フォークリフト10に設けられる撮影装置は、全天球カメラ20に限らず、フォークリフト10の周囲を撮影できれば如何なるものであってもよい。また撮影画像は、必ずしも全天球画像でなくてよい。
【0018】
全天球画像は、フォークリフト10から視た物体30の搬送方向11側の風景と、フォークリフト10から視た鉛直上方向12側の風景とが撮影された画像を含む。搬送方向11はフォークリフト10の前方に対応する。鉛直上方向12はフォークリフト10の上方に対応する。全天球カメラ20は、フォークリフト10の前方および上方を1枚の画像に含むように撮影できる。
【0019】
全天球カメラ20は、フォークリフト10の屋根上、またはフォーク21を支持する支持部材22上に取り付けられることが好ましい。このように取り付けられることで、全天球カメラ20は、視界を遮る障害物を低減し、フォークリフト10の前方および上方を撮影するための視界を好適に確保できる。全天球カメラ20は、無線による通信機能を有し、ネットワーク400を介して情報処理装置50に全天球画像を送信できる。
【0020】
固定型カメラ60は、倉庫100の天井等に設けられ、天井側から床側に向けて倉庫100内を撮影するカメラである。固定型カメラ60は、無線による通信機能を有し、ネットワーク400を介して情報処理装置50に撮影動画を送信できる。
【0021】
固定型カメラ60は、広い範囲を撮影できるものが好ましく、180度程度の画角を持つ半天球(魚眼カメラ)がよりいっそう好ましい。固定型カメラ60が設置される台数は1台であってもよいし、複数台であってもよい。本明細書に示す例では、固定型カメラ60は複数台設けられているものとし、固定型カメラ60は複数の固定型カメラを示すものとする。これら複数の固定型カメラ60は、予め相対位置が定められている。
【0022】
本実施形態では、複数の固定型カメラ60は、フォークリフト10およびフォークリフト10により移動される物体30の少なくとも一方が、自身の移動によって所定の固定型カメラ60の撮影範囲から外れた場合に、撮影動画に物体30が含まれるように、他の固定型カメラ60に撮影を切り替えることができる。なお、撮影の切替とは、複数の固定型カメラ60それぞれによる撮影動画のうち、情報処理装置50に格納させる撮影動画を切り替えることをいう。複数の固定型カメラ60それぞれは、作業者または管理者による電源オン等の撮影開始操作に応じて撮影動作を開始し、作業者または管理者による電源オフ等の撮影終了操作に応じて撮影動作を終了する。
【0023】
読取器700は、物体30を識別する識別情報Idを読み取る機器である。読取器700は、貨物32またはパレット31のいずれか一方に付与されるバーコード、QRコード(登録商標)等のコード33に基づき、識別情報Idを読み取ることができる。なお、識別情報Idは、コード33がテキスト文字等の他の情報形態に変換されたものであってもよいし、コード33そのものであってもよい。
【0024】
読取器700は、バーコードを読み取るバーコードリーダ、QRコードを読み取るQRコードリーダ等である。読取器700は、読み取った物体30の識別情報Idを、ネットワーク400を介して情報処理装置50に送信できる。なお、識別情報Idは、読取器700によって読み取られたものに限らず、キーボード等の操作入力部を用いて管理者等により入力されたものであってもよい。
【0025】
情報処理装置50は、全天球カメラ20により撮影された全天球画像を、ネットワーク400を介して受信する。また、情報処理装置50は、読取器700により読み取られた物体30の識別情報Idを、ネットワーク400を介して受信する。情報処理装置50は、受信した全天球画像に基づき、フォークリフト10が保持する物体30の位置情報を取得し、物体30の位置情報と物体30の識別情報とを対応づけて管理できる。
【0026】
また、例えば、全天球カメラ20が設けられていないハンドリフト等により物体30が移動されると、全天球カメラ20の撮影画像を用いて物体30の位置を追跡できずに物体30の現在位置が分からなくなる場合がある。現在位置が分からないと、物体30の位置を正確に管理することができなくなる。本実施形態に係る情報処理装置50は、固定型カメラ60による撮影動画を用いることで、ハンドリフト等により物体30が移動されて現在位置が分からなくなった物体30の現在の位置情報(以下、現在位置情報をいう。)を取得でき、物体30の位置を正確に管理できる。
【0027】
また、本実施形態では、情報処理装置50は、予め相対位置が定められている複数の固定型カメラ60それぞれによる撮影動画に基づいて、物体30の位置情報を取得することができる。
【0028】
<情報処理装置50のハードウェア構成例>
次に
図3は、情報処理装置50のハードウェア構成の一例を示すブロック図である。情報処理装置50は、例えばコンピュータにより構築される。
【0029】
図3に示すように、情報処理装置50は、CPU(Central Processing Unit)501と、ROM(Read Only MemoryM502と、RAM(Random Access Memory)503と、HD(Hard Disk)504と、を有する。また情報処理装置50は、HDD(Hard Disk Drive)コントローラ505と、ディスプレイ506と、外部機器接続I/F(Interface)508と、ネットワークI/F509と、を有する。また情報処理装置50は、データバス510と、キーボード511と、ポインティングデバイス512と、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514と、メディアI/F516とを有する。これらのうち、CPU501は、情報処理装置50全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。
【0030】
HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御に従ってHD504に対する各種データの読み出しまたは書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、または画像等の各種情報を表示する。
【0031】
外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、ネットワーク400を利用してデータ通信をするためのインターフェースである。データバス510は、
図3に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0032】
キーボード511は、文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出しまたは書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等のメディア515に対するデータの読み出しまたは書き込み(記憶)を制御する。
【0033】
<情報処理装置50の機能構成例>
図4Aは、情報処理装置50の機能構成の一例を示すブロック図である。情報処理装置50は、受信部51と、格納部70と、物体位置取得部52と、時刻取得部53と、移動開始位置取得部54と、追跡部55と、現在位置取得部56と、更新部57と、出力部58と、を有する。これら各部は、
図3に示した各構成要素の何れかが、HD504からRAM503上に展開されたプログラムに従ったCPU501からの命令によって動作することで実現される機能、または機能する手段である。
【0034】
図4Aに示す機能の一部は、情報処理装置50以外の外部装置により実現されてもよい。また
図4Aに示す機能の一部は、情報処理装置50と、情報処理装置50以外の外部装置と、の分散処理により実現されてもよい。この場合の外部装置には、ネットワーク400を介して接続される情報処理装置50以外のPC(Personal Computer)、外部サーバ等が挙げられる。
【0035】
格納部70は、位置管理情報71と、撮影動画Mvと、を格納する。撮影動画Mvは、複数の固定型カメラ60により撮影された複数の撮影動画を含む。格納部70の機能は、
図3のHD504等により実現される。ここで、
図4Bは位置管理情報71の一例である。
【0036】
第1実施形態に係る位置管理情報71は、物体30の識別情報Idと、物体30の位置情報と、物体30の位置情報を取得したときの時刻情報と、が対応付けられたテーブルに対応する。本明細書に示す例では、位置管理情報71は、物体30の位置情報Poと、全天球画像Imが受信部51により受信された時刻である画像時刻t1(物体30の位置情報Poを取得したときの時刻)と、物体30の識別情報Idと、識別情報Idが受信部51により受信された時刻である読取時刻t3と、を対応付けて格納している。なお、本明細書および特許請求の範囲において、時刻には、日付と時間の情報が含まれる。
【0037】
撮影動画Mvは、受信部51を介して入力されたものである。撮影動画Mvは、撮影動画Mvにおける各フレームが得られた時刻である動画時刻t2を含んでいる。なお、格納部70は、情報処理装置50に限らず、外部装置に設けられてもよい。この外部装置には、情報処理装置50以外のPC、外部サーバ、外部ストレージサーバ等が挙げられる。
【0038】
受信部51は、全天球カメラ20による全天球画像Im、固定型カメラ60による撮影動画Mv、読取器700により読み取られた識別情報Idを、ネットワーク400を介して受信する。受信部51は、撮影動画Mvおよび識別情報Idを格納部70に出力して格納させる。また受信部51は、物体位置取得部52に全天球画像Imと識別情報Idを出力する。
【0039】
物体位置取得部52は、受信部51を介して入力した全天球画像Imに基づき、倉庫100内における物体30の位置情報Poを演算により取得する。例えば、物体位置取得部52は、全天球画像Imに含まれる倉庫100内の景色と、予め定められている倉庫100内の景色の位置情報と、に基づき、フォークリフト10の位置情報を演算により取得する。物体位置取得部52は、倉庫100内におけるフォークリフト10の位置と、予め定められた、フォークリフト10により保持された物体30のフォークリフト10に対する相対位置と、に基づいて、倉庫100内における物体30の位置情報Poを取得できる。物体位置取得部52は、物体30の位置情報Poと、物体30の識別情報Idと、画像時刻t1と、を格納部70に出力し、これらを対応付けて格納させる。なお、物体位置取得部52は、複数のフォークリフト10のそれぞれが物体30を保持しているか否かを示す保持情報を用いて物体30の位置情報Poを取得してもよい。
【0040】
時刻取得部53は、位置管理情報71を参照し、物体30の識別情報Idに基づき、物体30の移動が開始される前の時刻情報を取得する。時刻取得部53は上述した画像時刻t1、動画時刻t2、および読取時刻t3に関する情報を取得し、格納部70に出力する。時刻取得部53は、位置情報Poと画像時刻t1、撮影動画Mvと動画時刻t2、識別情報Idと読取時刻t3を、それぞれ対応付けて格納部70に格納させる。
【0041】
移動開始位置取得部54は、位置管理情報71を参照し、物体30の識別情報Idに基づき、物体30の移動が開始される前の物体30の位置情報Poを取得する。移動開始位置情報Ppは、物体30の移動が開始される前の位置である移動開始位置に関する情報である。物体30がハンドリフトにより移動された場合には、ハンドリフトによる移動が開始される直前までの物体30の位置情報Poが、物体30の識別情報Idに対応付けて位置管理情報71に格納されている。従って、移動開始位置取得部54は、物体30の識別情報Idに基づき、位置管理情報71を参照して移動開始位置情報Ppを取得できる。移動開始位置取得部54は、移動開始位置情報Ppを追跡部55に出力する。
【0042】
追跡部55は、撮影動画Mvのうち、時刻情報に対応する動画時刻t2から開始される動画において、物体30の位置情報から物体30を画像処理によって追跡する。具体的には、追跡部55は、移動開始位置取得部54からの移動開始位置情報Ppに対応する動画時刻t2を取得する。追跡部55は、撮影動画Mvのうち動画時刻t2から開始される動画Mv0を再生しながら、該動画Mv0の各フレームに基づき物体30の位置を画像処理によって追跡する。そして、追跡部55は、物体30の移動が終了した場合に、このときのフレームである終了画像Ivを、追跡結果として現在位置取得部56に出力する。例えば、追跡部55は、動画Mv0に含まれる景色が、予め定められた閾値時間以上停止した場合に、物体30の移動が終了したと判定できる。追跡部55による追跡画像処理は、オプティカルフロー等を利用して実行可能である。
【0043】
現在位置取得部56は、追跡部55による物体30の追跡結果に基づいて、物体30の移動が終了したときの物体30の現在位置情報Ptを取得する。例えば現在位置取得部56は、追跡部55による追跡結果としての終了画像Ivに基づいて、物体30の現在位置情報Ptを取得できる。現在位置取得部56は、取得した現在位置情報Ptを更新部57に出力する。情報処理装置50は、現在位置取得部56が取得した物体の現在位置情報を、物体の移動が開始される前の物体の位置情報とする。
【0044】
更新部57は、現在位置取得部56から入力した物体30の現在位置情報Ptに基づき、位置管理情報71を更新する。具体的には、更新部57は、位置管理情報71に格納された物体30の位置情報Poのうち、ハンドリフトにより移動されることで正しくない情報となった物体30の位置情報Poを、現在位置情報Ptに置き換える。これにより更新部57は、位置管理情報71を更新できる。
【0045】
出力部58は、格納部70に格納されている情報を外部に出力できる。出力部58が出力する情報は、位置情報Po、現在位置情報Pt等である。出力部58の出力先は、外部PC、外部サーバ、表示装置、記憶装置、送信装置、受信装置、ネットワーク等である。
【0046】
<情報処理装置50による処理例>
(位置情報Poの取得処理)
図5は、情報処理装置50による位置情報Poの取得処理の一例を示すフローチャートである。情報処理装置50は、例えば物体30の位置情報の取得開始操作を受け付けたタイミングで
図5に示す処理を開始する。操作者は、例えば
図3に示したポインティングデバイス512等を用いて物体30の位置情報の取得開始操作を行うことができる。
【0047】
まず、ステップS11において、情報処理装置50は、受信部51により、ネットワーク400を介して全天球画像Imおよび識別情報Idを受信する。
【0048】
続いて、ステップS12において、情報処理装置50は、物体位置取得部52により、受信部51から入力した全天球画像Imに基づき、フォークリフト10の位置情報を演算により取得する。
【0049】
続いて、ステップS13において、情報処理装置50は、物体位置取得部52により、受信部51から入力した全天球画像Imに基づき、フォークリフト10による物体30の保持または非保持の何れか一方の状態を示す保持情報を演算により取得する。
【0050】
続いて、ステップS14において、情報処理装置50は、時刻取得部53により、位置管理情報71を参照し、物体30の識別情報にId基づき、物体30の移動が開始される前の時刻情報を取得する。時刻取得部53は、画像時刻t1および読取時刻t3それぞれに関する情報を取得する。
【0051】
なお、ステップS12~S14の処理は、適宜順番を入れ替えてもよいし、それぞれが並行に行われてもよい。
【0052】
続いて、ステップS15において、情報処理装置50は、物体位置取得部52により、ステップS12におけるフォークリフト10の位置情報と、ステップS13における保持情報と、に基づいて、物体30の位置情報Poを演算により取得する。
【0053】
続いて、ステップS16において、情報処理装置50は、物体位置取得部52により、物体30の位置情報Poと、画像時刻t1と、物体30を示す識別情報Idと、読取時刻t3と、を対応付けて、位置管理情報71に格納する。
【0054】
続いて、ステップS17において、情報処理装置50は、処理を終了するか否かを判定する。例えば情報処理装置50は、ポインティングデバイス512等を介した操作者による終了操作に基づき、処理を終了するか否かを判定する。
【0055】
ステップS17で、終了すると判定された場合には(ステップS17、YES)、情報処理装置50は処理を終了する。一方、終了しないと判定された場合には(ステップS17、NO)、情報処理装置50はステップS11以降の処理を再度行う。
【0056】
このようにして、情報処理装置50は物体30の位置情報Poを取得できる。
【0057】
(現在位置情報Ptの取得処理)
図6は、情報処理装置50による現在位置情報Ptの取得処理の一例を示すフローチャートである。情報処理装置50は、例えば物体30の現在位置情報Ptの取得開始操作を受け付けたタイミングで
図6に示す処理を開始する。操作者は、例えば
図3に示したポインティングデバイス512等を用いて物体30の現在位置情報Ptの取得開始操作を行うことができる。
【0058】
まず、ステップS21において、情報処理装置50は、移動開始位置取得部54により、位置管理情報71を参照し、物体30の識別情報Idに基づき、物体30の移動が開始される前の物体30の位置情報を取得する。例えば、移動開始位置取得部54は、物体30の識別情報Idに基づき、位置管理情報71を参照して移動開始位置情報Ppを取得できる。移動開始位置取得部54は、移動開始位置情報Ppを追跡部55に出力する。
【0059】
続いて、ステップS22において、情報処理装置50は、時刻取得部53により、位置管理情報71を参照し、物体30の識別情報Idに基づき、物体30の移動が開始される前の時刻情報を取得する。
【0060】
続いて、ステップS23において、情報処理装置50は、追跡部55により、撮影動画Mvのうち、時刻情報に対応する動画時刻から開始される動画において、物体30の位置情報から物体30を画像処理によって追跡する。例えば、追跡部55は、移動開始位置取得部54からの移動開始位置情報Ppに対応する動画時刻t2を取得する。追跡部55は、撮影動画Mvのうち動画時刻t2から開始される動画Mv0を再生しながら、該動画Mv0の各フレームを画像処理することにより物体30の位置を追跡する。
【0061】
続いて、ステップS24において、情報処理装置50は、追跡部55により、物体30の移動が終了したか否かを判定する。例えば追跡部55は、動画Mv0に含まれる景色が、予め定められた閾値時間以上停止した場合に、物体30の移動が終了したと判定できる。
【0062】
ステップS24において、移動が終了していないと判定された場合には(ステップS24、NO)、ステップS23以降の処理が再度行われる。一方、移動が終了したと判定された場合には(ステップS24、YES)、情報処理装置50は、追跡部55により、移動が終了したときのフレームである終了画像Ivを、追跡結果として現在位置取得部56に出力する。
【0063】
続いて、ステップS25において、情報処理装置50は、現在位置取得部56により、追跡部55による物体30の追跡結果に基づいて、物体30の移動が終了したときの物体30の現在位置情報Ptを取得する。現在位置取得部56は、取得した現在位置情報Ptを更新部57に出力する。
【0064】
続いて、ステップS26において、情報処理装置50は、更新部57により、現在位置取得部56から入力した物体30の現在位置情報Ptに基づき、位置管理情報71を更新する。
【0065】
続いて、ステップS27において、情報処理装置50は、処理を終了するか否かを判定する。例えば情報処理装置50は、ポインティングデバイス512等を介した操作者による終了操作に基づき、処理を終了するか否かを判定する。
【0066】
ステップS27で、終了すると判定された場合には(ステップS27、YES)、情報処理装置50は処理を終了する。一方、終了しないと判定された場合には(ステップS27、NO)、情報処理装置50はステップS21以降の処理を再度行う。
【0067】
このようにして、情報処理装置50は、物体30の現在位置情報Ptを取得できる。
【0068】
<物体30の位置情報Poの取得結果例>
図7は、物体30の位置情報Poの取得結果の第1例を示す図である。
図7(a)は位置地図を示す図、
図7(b)は位置情報とタイムスタンプを示す図である。
【0069】
図7(a)に示す位置地
図61は、全天球カメラ20により撮影された全天球画像Imに基づいて、
図4Aに示した物体位置取得部52が作成したものである。物体位置取得部52は、3次元座標情報を含む点群を取得し、この点群を2次元平面に投影することで位置地
図61を作成する。
【0070】
位置地
図61は、例えば1台のフォークリフト10の移動に応じて作成され、全てのフォークリフト10の位置情報の取得(自己位置認識)において使用される。位置地
図61を用いることにより、同一座標系において複数のフォークリフト10の各位置を表現できる。
【0071】
全天球画像Im等の撮影画像に基づく位置地
図61の作成方法には、例えば、地図作成と自己位置認識の同時実行技術(SLAM:Simultaneous Localization and Mapping)を適用できる(例えば、「解説 SLAMの現状と今後の展望,」、友納正裕、原祥尭、システム/制御/情報, 2020年64巻2号 p.45-50、https: //www.jstage.jst.go.jp /article/isciesci /64 / 2 /64_45/_article/-char/ja/を参照)。このような撮影画像に基づく自己位置認識は、屋内環境のように撮影画像が安定取得できる場合において、GPS(Global Positioning System)や加速度センサを用いる他の位置取得方法より高い精度で位置情報を取得できる。
【0072】
クロスドッキング型の倉庫で多い平置き型の倉庫では、パレット31の入出荷に伴う物体30の位置変化に応じて、位置地
図61が変化しやすい。位置地
図61の変化は、位置情報の取得処理を複雑にする場合がある。なお、平置き型の倉庫とは、棚等の構造物が少なく、パレット31または貨物32を床面に置くタイプの倉庫をいう。一方、倉庫では、天井の高さが5m等と高いことが多く、天井側である上方の視界を確保しやすい。そのため、実施形態では、全天球カメラ20により撮影された全天球画像Imのうちの上方向を示す画像を用いて位置地
図61を作成し、フォークリフト10の位置情報を取得する。これにより、床面に置かれ、位置変化しやすいパレット31または貨物32を処理に含めなくてよくなる。パレット31または貨物32を処理に含めない結果、時間変化を低減した位置地
図61を用いて、処理を簡素化して物体30の位置情報Poを取得できる。
【0073】
物体位置取得部52は、フォークリフト10による物体30の保持情報を取得するために、全天球画像Imのうちの前方を示す画像を使用する。これにより、全天球カメラ20により撮影された1つの全天球画像Imを用いて、フォークリフト10の位置情報を取得するとともに物体30の保持情報を取得可能となる。
【0074】
物体位置取得部52は、位置地
図61に示すフォークリフト10の位置情報のうち、保持情報が保持から非保持に変化した位置を用いることによって、物体30の位置を示す位置地
図62を取得できる。
図7(a)に示す位置地
図61は、物体30の位置情報を示すものとも言えるため、
図7(a)では位置地
図62を括弧付きで表示している。
【0075】
また、
図7(b)に示す位置管理情報71は、物体30の位置を示す点群の3次元座標と、該3次元座標が取得されたときの時刻を示すタイムスタンプ64とを含んでいる。タイムスタンプ64は、時刻取得部53が取得した画像時刻t1に対応する。
【0076】
物体位置取得部52は、所定時間が経過した後の点群の情報は除外し、新しい点群の情報を用いて位置管理情報71を更新する。これにより、上方の視界確保が難しく、水平方向の視界に頼らざるを得ない場合においても、フォークリフト10の周囲状態の変化に対応して、フォークリフト10の位置情報および物体30の位置情報Poを好適に取得可能になる。但し、フォークリフト10の動きが少ない場合には、新たな取得点群が少ないので、点の数が減少する場合がある。これに対し、物体位置取得部52は、フォークリフト10の移動量に応じ、移動量が少ないときには位置管理情報71の更新頻度を下げることで、位置管理情報71に示す点群の情報が減少し過ぎないようにすることができる。
【0077】
物体30を示す識別情報Idは、フォークリフト10によりパレット31がコンテナ300等から取り出され、パレット31が一旦仮置きされる際に、貨物32またはパレット31に付与されたバーコード等から読取器700により読み取られる。読み取られた識別情報Idは、読取器700から情報処理装置50に送信され、格納部70に格納される。このような格納を初期登録という。
【0078】
ここで、倉庫100内で複数の物体30の各位置を追跡するためのより簡易的な方法の一例を、
図8を参照して説明する。
図8は、物体30の位置情報Poの取得結果の第2例を示す図である。
図8(a)は区画を示す図、
図8(b)は位置情報Poと区画を示すバーコードを示す図である。
【0079】
図8(a)に示す区画A、B、CおよびDは、倉庫100内で予め定められた位置範囲を示すものである。区画A、B、CおよびDの各区画内で物体30を初期登録するための作業が行われる。
【0080】
読取器700を用いて物体30に付与されたバーコードを読み取った前後のどちらかのタイミングで、区画A、B、CおよびDを示すバーコードを読み取ることで、物体30と各区画を示す位置座標とを対応付けることができる。その後、フォークリフト10により物体30を搬送する場合に、どの物体30が搬送されているかの識別情報Idを含めて物体30の位置を追跡可能になる。
図8(b)に示す位置管理情報71は、区画を示すID番号と、区画の位置情報と、区画を示すバーコードと、を対応付けて示している。
【0081】
各区画を示すバーコードは、初期登録を行う作業者が読取器700を用いて読み取り可能なように、印刷されて該作業者により携帯される。或いは倉庫100内の床や柱、またはフォークリフト10に貼付される。これにより、物体30を示すバーコードを読み取る作業を行う前後のタイミングで、各区画のバーコードを容易に読取可能となる。
【0082】
<物体30の現在位置情報Ptを取得するときの表示画面例>
ハンドリフト等で移動されることにより、現在位置が分からなくなった物体30の現在位置情報Ptを取得するときに表示される画面について、
図9~19を参照して説明する。
図9~19は、本実施形態に係る物体30の現在位置取得方法において、情報処理装置50にインストールされたアプリケーションプログラムが動作することにより、
図3に示したディスプレイ506に表示される画面を表している。以下、物体30としてのパレット31の現在位置情報Ptを取得する方法を一例として説明する。
【0083】
図9は、倉庫100の地図画面801の一例を示す図である。
図10は、操作者が操作するために用いる操作画面802の一例を示す図である。
【0084】
図9は、上方から観察した倉庫100内の様子を模式的に表示した地図画面801を示している。入出庫ゲート図形110は、倉庫100に出入りするためのゲートを表している。パレット図形111はパレット31を表している。固定型カメラ図形112は、固定型カメラ60を表している。フォークリフト図形113はフォークリフト10を表している。
【0085】
フォークリフト10およびパレット31が移動されると、地図画面801内のフォークリフト図形113およびパレット図形111が実物の移動に応じて移動する。地図画面801の視認者は、フォークリフト図形113およびパレット図形111を視認することで、フォークリフト10およびパレット31の位置を認識できる。
【0086】
図10に示すように、操作画面802は、パレット情報表示部114と、パレット指定部115と、パレットリスト表示部116と、対象指定部117と、を含む。パレット情報表示部114は、地図画面801上で指定されたパレット31の識別情報Idが更新された時刻を表示する。アプリケーションプログラムにより、倉庫100で管理されている全てのパレット31の情報を含むパレットリストをインポートすることで、パレットリスト表示部116に全てのパレット31の情報が一覧表示される。また、操作者がパレット指定部115に識別情報Idを入力することで、地図画面801上の該当するパレット図形111が強調表示される。パレット情報は、情報処理装置50でパレットリストとして管理されているため、操作者は、パレットリストをいつでも読み出して地図画面801および操作画面802に表示させることができる。
【0087】
(対象パレット指定方法の第1例)
図11~14は、現在位置情報Ptを取得したい対象としての対象パレット(以下、単に対象パレットという)を指定する方法の第1例を説明する図である。第1例では、パレットリストに表示されたパレット情報を指示することで、対象パレットを指定する。
図11は、第1例における指定画面の一例を示す図である。
図12~13は、第1例における指定結果画面の一例を示す図である。
図14は、現在位置の取得結果画面の一例を示す図である。
【0088】
図11は、パレットリストがインポートされた後の操作画面802を示している。操作者は、
図3に示したポインティングデバイス512を操作することで、ディスプレイ506に表示されるカーソル810を移動させる。操作者は、パレットリスト表示部116に表示されたパレットリストの中から対象パレットのパレット情報1160をカーソル810で指示することで、対象パレットを指定できる。
【0089】
対象パレットが指定されると、
図12にドットハッチングで示したように、対象パレットのパレット情報1160が強調表示される。その後、操作者が取得開始ボタン118をカーソル810で指示すると、情報処理装置50は、対象パレットの現在位置情報の取得処理を開始する。
【0090】
図13は、ハンドリフトで移動される前に対象パレットがどこに位置していたかを、地図画面801を用いて表示した図である。
図13において、地図画面801上に丸図形で示した対象表示1110-1によって囲われたパレット図形111は、対象パレットに対応し、その位置は、ハンドリフトで移動される前の位置に対応する。
【0091】
図14は、取得処理の結果、取得された現在位置情報Ptを示している。
図14において、地図画面801上に丸図形で示した対象表示1110-2によって囲われたパレット図形111は、対象パレットに対応し、その位置はハンドリフトで移動された後の位置に対応する。このようにして、情報処理装置50は、対象パレットを指定し、現在位置情報Ptの取得結果を表示することができる。
【0092】
(対象パレット指定方法の第2例)
図15~16は、対象パレットを指定する方法の第2例を説明する図である。第2例では、地図画面801においてパレット図形111を指示することで、対象パレットを指定する。
図15は、第2例における指定画面の一例を示す図である。
図16は、第2例における指定結果画面の一例を示す図である。
【0093】
図15に示すように、第2例では、操作者は、地図画面801に表示された複数のパレット図形111の中から対象パレットに対応するパレット図形111をカーソル810で指示することで、対象パレットを指定できる。
【0094】
対象パレットが指定されると、
図16において、指定された対象パレットに対応するパレット図形111が地図画面801上に丸図形で示した対象表示1110-3により囲われて表示される。この後、
図12に示した取得開始ボタン118を操作者がカーソル810で指示すると、情報処理装置50は、対象パレットの現在位置情報の取得処理を開始する。情報処理装置50は、取得処理の結果、取得された現在位置情報Ptを、
図14に示したように表示することができる。
【0095】
(対象パレット指定方法の第3例)
図17は、対象パレットを指定する方法の第3例を説明する図である。第3例では、顧客識別情報を入力することで、対象パレットを指定する。
図17は、第3例における指定画面の一例を示す図である。
【0096】
図17は、パレットリストがインポートされた後の操作画面802を示している。
図17における顧客識別情報入力部119は、対象パレットを指定するために、対象パレットに対応する顧客識別情報を入力するためのテキストボックスである。操作者は、顧客識別情報入力部119に顧客識別情報をテキスト入力することで対象パレットを指定できる。
【0097】
対象パレットを指定後、
図12に示した取得開始ボタン118を操作者がカーソル810で指示すると、情報処理装置50は、対象パレットの現在位置情報の取得処理を開始する。情報処理装置50は、取得処理の結果、取得された現在位置情報Ptを、
図14に示したように表示することができる。
【0098】
<情報処理装置50の作用効果>
以上説明したように、情報処理装置50は、移動開始位置取得部54により、移動開始位置情報Ppを取得する。また情報処理装置50は、追跡部55により、撮影動画Mvのうち、移動開始位置から物体30の移動が開始され、物体30の移動が終了するまでの動画Mv0において物体30の位置を追跡する。また情報処理装置50は、現在位置取得部56により、追跡部55による物体30の追跡結果に基づいて、物体30の移動が終了したときの物体30の現在位置情報Ptを取得できる。
【0099】
本実施形態では、ハンドリフト等による物体30の移動開始から移動終了するまでの動画Mv0を再生して物体30を追跡するため、撮影動画Mv全体を再生して物体30を追跡することと比較して再生時間が短くなる。この結果、本実施形態では、現在位置が分からなくなった物体30の現在位置情報Ptを短時間で取得可能な情報処理方法、プログラムおよび情報処理装置50を提供することができる。
【0100】
また、本実施形態では、情報処理装置50は、更新部57により、物体30の現在位置情報Ptに基づき、物体30の識別情報Idと物体30の位置情報Poとが対応付けられた位置管理情報71を更新する。これにより、現在位置が分からなくなった物体30の現在位置情報Ptを正しく修正できるため、倉庫100内における物体30の正確な位置管理が可能になる。
【0101】
[第2実施形態]
次に、第2実施形態に係る情報処理装置について、説明する。なお、上述した実施形態と同じ構成部には同じ符号を付し、重複する説明を適宜省略する。この点は、以降に示す他の実施形態においても同様である。
【0102】
本実施形態に係る情報処理装置は、物体30の識別情報Idと、物体30の位置情報と、物体30の移動が開始される前の時刻である第1時刻情報と、物体30の移動が終了したときの時刻である第2時刻情報と、が対応づけられた位置管理情報71に基づき、物体30の移動が開始される前の物体30の位置情報を取得する点が、第1実施形態と主に異なる。
【0103】
<情報処理装置50aの機能構成例>
図18Aは、本実施形態に係る情報処理装置50aの機能構成の一例を示すブロック図である。なお、情報処理装置50aのハードウェア構成は、
図3に示した情報処理装置50のハードウェア構成と同じである。
【0104】
図18Aに示すように、情報処理装置50aは、第1時刻取得部81と、第2時刻取得部82と、追跡部55aと、を有する。これら各部は、
図3に示した各構成要素の何れかが、HD504からRAM503上に展開されたプログラムに従ったCPU501からの命令によって動作することで実現される機能、または機能する手段である。
【0105】
図18Aに示す機能の一部は、情報処理装置50a以外の外部装置により実現されてもよい。また
図18Aに示す機能の一部は、情報処理装置50aと、情報処理装置50a以外の外部装置と、の分散処理により実現されてもよい。この場合の外部装置には、ネットワーク400を介して接続される情報処理装置50a以外のPC、外部サーバ等が挙げられる。
【0106】
第1時刻取得部81は、物体30の識別情報Idと、物体30の位置情報と、物体30の移動が開始される前の時刻である第1時刻情報T1と、物体30の移動が終了したときの時刻である第2時刻情報T2と、が対応づけられた位置管理情報71を参照し、物体30の識別情報Idに基づき、物体30の移動が開始される前の第1時刻情報T1を取得する。ここで、
図18Bは、本実施形態に係る位置管理情報の一例を示す図である。第1時刻情報T1は、物体30の移動が開始される前の時刻である第1時刻に関する情報である。第1時刻取得部81は、第1時刻情報T1を追跡部55aに出力する。
【0107】
第1時刻情報T1および第1時刻取得部81による第1時刻情報T1の取得方法について、詳しく説明する。例えば、ハンドリフトにより物体30を移動させる作業者は、ハンドリフトによる物体30の移動を開始する前に、物体30に付与されたコード33を読取器700により読み取る。なお、ハンドリフトにより物体30を移動させる前に、移動させる物体30のコード33を読取器700で読み取ることは、作業者の間で義務付けられているものとする。読取器700は、読み取った識別情報Idを情報処理装置50aに送信する。情報処理装置50aが物体30の移動前の識別情報Idを受信部51により受信した時刻は、識別情報Idに対応付けられて、格納部70の位置管理情報71に格納される。第1時刻取得部81は、物体30の識別情報Idに基づき、格納部70の位置管理情報71を参照することで、第1時刻情報T1の取得できる。但し、第1時刻取得部81による第1時刻情報T1の取得方法は、上記のものに限定されるものではない。
【0108】
第2時刻取得部82は、位置管理情報71を参照し、物体30の識別情報Idに基づき、物体30の移動が終了されたときの第2時刻情報T2を取得する。第2時刻情報T2は、物体30の移動が終了されたときの時刻である第2時刻に関する情報である。第2時刻取得部82は、第2時刻情報T2を追跡部55aに出力する。
【0109】
第2時刻情報T2および第2時刻取得部82による第2時刻情報T2の取得方法について、詳しく説明する。例えば、ハンドリフトにより物体30を移動させる作業者は、ハンドリフトによる物体30の移動を終了した後に、物体30に付与されたコード33を読取器700により読み取る。なお、ハンドリフトにより物体30を移動させた後に、移動させた物体30のコード33を読取器700で読み取ることは、作業者の間で義務付けられているものとする。読取器700は、読み取った識別情報Idを情報処理装置50aに送信する。情報処理装置50aが物体30の移動後の識別情報Idを受信部51により受信した時刻は、識別情報Idに対応付けられて、格納部70の位置管理情報71に格納される。第2時刻取得部82は、物体30の識別情報Idに基づき、格納部70の位置管理情報71を参照することで、第2時刻情報T2の取得できる。但し、第2時刻取得部82による第2時刻情報T2の取得方法は、上記のものに限定されるものではない。
【0110】
追跡部55aは、撮影動画Mvのうち、第1時刻情報T1に対応する動画時刻から開始される動画Mv0において、物体30の位置情報から物体30を画像処理によって追跡する。追跡部55aは、動画Mv0において第1時刻から第2時刻まで物体30の位置を追跡した後のフレームである終了画像Ivを、追跡結果として現在位置取得部56に出力する。
【0111】
現在位置取得部56は、追跡部55aによる物体30の追跡結果に基づいて、物体30の移動が終了したときの物体30の現在位置情報Ptを取得する。情報処理装置50aは、取得した物体の現在位置情報を、物体の移動が開始される前の物体の位置情報とする。
【0112】
<情報処理装置50aによる処理例>
図19は、情報処理装置50aによる現在位置情報Ptの取得処理の一例を示すフローチャートである。情報処理装置50aは、例えば物体30の現在位置情報Ptの取得開始操作を受け付けたタイミングで
図19に示す処理を開始する。操作者は、例えば
図3に示したポインティングデバイス512等を用いて物体30の現在位置情報Ptの取得開始操作を行うことができる。
【0113】
まず、ステップS31において、情報処理装置50aは、物体位置取得部52により、位置管理情報71を参照し、物体30の識別情報Idに基づき、物体30の移動が開始される前の物体30の位置情報を取得する。
【0114】
続いて、ステップS32において、情報処理装置50aは、第1時刻取得部81により、位置管理情報71を参照し、物体30の識別情報Idに基づき、物体30の移動が開始される前の第1時刻情報T1を取得する。第1時刻取得部81は、第1時刻情報T1を追跡部55aに出力する。
【0115】
続いて、ステップS33において、情報処理装置50aは、第2時刻取得部82により、位置管理情報71を参照し、物体30の識別情報Idに基づき、物体30の移動が終了されたときの第2時刻情報T2を取得する。第2時刻取得部82は、第2時刻情報T2を追跡部55aに出力する。
【0116】
続いて、ステップS34において、情報処理装置50aは、追跡部55aにより、撮影動画Mvのうち、第1時刻情報T1に対応する動画時刻から開始される動画Mv0において、物体30の位置情報から物体30を画像処理によって追跡する。追跡部55aは、動画Mv0において第2時刻まで物体30の位置を追跡した後のフレームである終了画像Ivを、追跡結果として現在位置取得部56に出力する。
【0117】
続いて、ステップS35において、情報処理装置50aは、現在位置取得部56により、追跡部55aによる物体30の追跡結果に基づいて、物体30の移動が終了したときの物体30の現在位置情報Ptを取得する。現在位置取得部56は、取得した現在位置情報Ptを更新部57に出力する。
【0118】
ステップS36~S37の処理は、
図6のステップS26~S27の処理とほぼ同じであるため、ここでは重複する説明を省略する。
【0119】
このようにして、情報処理装置50aは、物体30の現在位置情報Ptを取得できる。
【0120】
<物体30の現在位置情報Ptを取得するときの表示画面例>
図20は、地図画面801におけるハンドリフトでの物体移動の様子を説明する図である。
図21~22は、地図画面801における物体移動の様子を示す図である。
図20~21は、本実施形態に係る物体30の現在位置取得方法において、情報処理装置50にインストールされたアプリケーションプログラムが動作することにより、ディスプレイ506に表示される画面を表している。
【0121】
図20において、対象表示1110-4は、ハンドリフトによる移動前の対象パレットを表している。対象表示1110-5は、ハンドリフトによる移動後の対象パレットを表している。移動経路120は、ハンドリフトによる移動経路を表している。ハンドリフトを用いて対象パレットを移動させる作業者は、ハンドリフトに付与されたコード33を読取器700で読み取る。このとき、読取器700の内部に保存されているコード33を選択して読み取ってもよい。
【0122】
図21において、移動経路121は、対象パレットが移動される途中経路である。対象表示1110-6は、移動経路121における対象パレットの位置を表示している。
【0123】
図22において、移動経路122は、対象パレットが移動される途中経路である。対象表示1110-6は、移動経路122における対象パレットの位置を表示している。ハンドリフトで移動された対象パレットは、空き領域に設置される。
【0124】
<情報処理装置50aの作用効果>
以上説明したように、情報処理装置50aは、第1時刻取得部81により、物体30の識別情報Idに基づき、第1時刻情報T1を取得する。また情報処理装置50aは、第2時刻取得部82により、物体30の識別情報Idに基づき、第2時刻情報T2を取得する。また情報処理装置50aは、追跡部55aにより、撮影動画Mvのうち、第1時刻から第2時刻までの動画Mv0において物体30の位置を追跡する。また情報処理装置50aは、現在位置取得部56により、追跡部55aによる物体30の追跡結果に基づいて、物体30の移動が終了したときの物体30の現在位置情報Ptを取得する
【0125】
本実施形態では、ハンドリフト等による物体30の移動開始から移動終了するまでの動画Mv0を再生して物体30を追跡するため、撮影動画Mv全体を再生して物体30を追跡することと比較して再生時間が短くなる。この結果、本実施形態では、現在位置が分からなくなった物体30の現在位置情報Ptを短時間で取得可能な情報処理方法、プログラムおよび情報処理装置50を提供することができる。
【0126】
また、ハンドリフトによる物体30の移動終了位置を画像処理により検出する第1実施形態と比較して、本実施形態では、ハンドリフトによる物体30の移動の開始位置および終了位置それぞれに関する情報を、位置管理情報71に格納した時刻情報に基づき取得できる。画像処理の検出誤差が含まれないため、本実施形態では、第1実施形態と比較して、物体30の現在位置情報Ptを正確に取得することができる。
【0127】
[第3実施形態]
次に、第3実施形態に係る情報処理装置について、説明する。本実施形態では、物体30が移動されることで、複数の固定型カメラ60による複数の撮影動画Mvのうちの第1の撮影動画に物体30が含まれなくなった場合に、物体30を追跡できるように、特定部により、複数の撮影動画Mvのうちの物体30が含まれる第2の撮影動画を特定可能である点が、第1および第2実施形態と異なる。
【0128】
<情報処理装置50bの機能構成例>
図23は、本実施形態に係る情報処理装置50bの機能構成の一例を示すブロック図である。
図23に示すように、情報処理装置50bは、特定部83を有する。特定部83は、
図3に示した各構成要素の何れかが、HD504からRAM503上に展開されたプログラムに従ったCPU501からの命令によって動作することで実現される機能、または機能する手段である。
【0129】
特定部83の機能は、情報処理装置50b以外の外部装置により実現されてもよい。また特定部83の機能は、情報処理装置50bと、情報処理装置50b以外の外部装置と、の分散処理により実現されてもよい。この場合の外部装置には、ネットワーク400を介して接続される情報処理装置50b以外のPC、外部サーバ等が挙げられる。
【0130】
特定部83は、物体30が移動されることで、複数の固定型カメラ60による複数の撮影動画Mvのうち、第1の撮影動画Mv1に物体30が含まれなくなった場合に、物体30を追跡できるように、複数の撮影動画Mvのうち、物体30が含まれる第2の撮影動画Mv2を特定する。追跡部55は、第1の撮影動画Mv1のうち動画Mv0-1に物体30が含まれなくなった場合に、特定部83により特定された第2の撮影動画Mv2のうち動画Mv0-2において物体30の位置を追跡する。
【0131】
動画Mv0-1は、第1の撮影動画Mv1のうち、物体30の移動の開始位置から、第1の撮影動画Mv1に物体30が含まれなくなった時刻までの動画である。動画Mv0-2は、第2の撮影動画Mv2のうちの第1の撮影動画Mv1に物体30が含まれなくなった時刻から物体の移動が終了するまでの動画である。或いは動画Mv0-2は、第2の撮影動画Mv2のうちの第1の撮影動画Mv1に物体30が含まれなくなった時刻から、第2の撮影動画Mv2に物体30が含まれなくなった時刻までの動画である。
【0132】
<情報処理装置50bによる処理例>
図24は、情報処理装置50bによる物体30の現在位置取得処理の一例を示すフローチャートである。情報処理装置50bは、例えば物体30の現在位置情報Ptの取得開始操作を受け付けたタイミングで
図24に示す処理を開始する。操作者は、例えば
図3に示したポインティングデバイス512等を用いて物体30の現在位置情報Ptの取得開始操作を行うことができる。
【0133】
まず、ステップS41において、情報処理装置50bは、移動開始位置取得部54により、物体30の識別情報Idに基づき、移動開始位置情報Ppを取得する。移動開始位置取得部54は、移動開始位置情報Ppを追跡部55に出力する。
【0134】
続いて、ステップS42において、情報処理装置50bは、追跡部55により、撮影動画Mvのうちの動画Mv0-1において物体30の位置を追跡する。
【0135】
続いて、ステップS43において、情報処理装置50bは、特定部83により、動画Mv0-1に物体30が含まれるか否かを判定する。
【0136】
ステップS43において、動画Mv0-1に物体30が含まれると判定された場合には(ステップS43、YES)、情報処理装置50bは、ステップS45に処理を移行する。一方、ステップS43において、動画Mv0-1に物体30が含まれないと判定された場合には(ステップS43、NO)、ステップS44において、情報処理装置50bは、特定部83により、物体30を追跡できるように、複数の撮影動画Mvのうち物体30が含まれる第2の撮影動画Mv2を特定する。
【0137】
続いて、ステップS45において、情報処理装置50bは、追跡部55により、物体30の移動が終了したか否かを判定する。例えば追跡部55は、動画Mv0-1または動画Mv0-2に含まれる景色が、予め定められた閾値時間以上停止した場合に、物体30の移動が終了したと判定できる。
【0138】
ステップS45において、移動が終了していないと判定された場合には(ステップS45、NO)、ステップS42以降の処理が再度行われる。一方、移動が終了したと判定された場合には(ステップS45、YES)、情報処理装置50bは、追跡部55により、移動が終了したときのフレームである終了画像Ivを、追跡結果として現在位置取得部56に出力する。
【0139】
ステップS46~S48の処理は、
図6のステップS24~S26の処理とほぼ同じであるため、ここでは、重複する説明を省略する。
【0140】
このようにして、情報処理装置50bは、物体30の現在位置情報Ptを取得できる。
【0141】
<情報処理装置50bの作用効果>
以上説明したように、情報処理装置50bは、物体30が移動されることで、複数の固定型カメラ60による複数の撮影動画Mvのうち第1の撮影動画Mv1に物体30が含まれなくなった場合に、物体30を追跡できるように、特定部83により、複数の撮影動画Mvのうち物体30が含まれる第2の撮影動画Mv2を特定可能である。これにより、第1の撮影動画Mv1に物体30が含まれなくなった場合に、第2の撮影動画Mv2において物体30の位置を追跡することができる。これ以外の効果は、第1実施形態とほぼ同じである。
【0142】
[第4実施形態]
次に、第4実施形態に係る情報処理システムについて説明する。
図25は、第4実施形態の第1例に係る情報処理システムのブロック図である。
図26は、第4実施形態の第2例に係る情報処理システムのブロック図である。
図27は、第4実施形態の第3例に係る情報処理システムのブロック図である。
図28は、第4実施形態の第4例に係る情報処理システムのブロック図である。
【0143】
<第1例>
図25に示すように、情報処理システム1aは、情報処理装置50aと、シングルボードコンピュータ500と、ミニPC600と、を有する。情報処理装置50a、シングルボードコンピュータ500およびミニPC600は、通信可能に接続された複数の情報処理装置に対応する。
【0144】
シングルボードコンピュータ500は、フォークリフト10に搭載される。シングルボードコンピュータ500は、送信部521と、物体位置取得部522と、保持情報取得部523と、を有する。シングルボードコンピュータ500は、距離センサ25および全天球カメラ20のそれぞれと通信可能に接続している。また、シングルボードコンピュータ500は、ネットワーク400と通信可能に接続している。
【0145】
シングルボードコンピュータ500は、物体位置取得部522により、全天球カメラ20から入力した全天球画像Imからフォークリフト10の位置情報を取得する。また、シングルボードコンピュータ500は、距離センサ25から入力したフォークリフト10から物体30までの距離に基づき、保持情報取得部523により、物体30の保持情報を取得する。シングルボードコンピュータ500は、送信部521により、フォークリフト10の位置情報と物体30の保持情報を、ネットワークを介して情報処理装置50に送信する。なお、保持情報取得部523は、距離センサ25により検出される距離に代えて全天球カメラ20による全天球画像Imに基づき、物体30の保持情報を取得してもよい。
【0146】
ミニPC600は、天井撮影装置900に搭載される。ミニPC600は、複数の固定型カメラ60と通信可能に接続される。ミニPC600は、送信部631と、物体位置取得部632と、格納部633と、を有する。固定型カメラ60は、倉庫の規模(広さ)に応じて、数10~数100台が倉庫に設置される。但し、動画におけるフレームの欠落を回避するため、固定型カメラ60のフレームレートが15~30fps(frames per second)である場合には、ミニPC1台あたりに接続する固定型カメラ60の台数を4台までに制限して天井撮影装置900を構成することが好ましい。
【0147】
固定型カメラ60による撮影動画Mvは、格納部633に格納される。天井撮影装置900は、情報処理装置50で追跡処理を実行するときに、ネットワーク400を介して、必要な撮影動画Mvを情報処理装置50に逐次転送する。
【0148】
端末800は、PC、タブレット、またはスマートフォンである。端末800は、ユーザが物体30の移動を確認したり、物体30を追跡したりするために、情報処理装置50のディスプレイだけでなく端末800のディスプレイに物体30の位置を表示させることができる。フォークリフト10の操縦者や倉庫内の作業者は、タブレットやスマートフォンを操作することで、物体30の位置情報等を取得できる。
【0149】
情報処理装置50aは、物体位置取得部52を有さない点が、第1実施形態に係る情報処理装置50と異なる。また情報処理装置50aは、格納部70が撮影動画Mvを格納しない点が、第1実施形態に係る情報処理装置50と異なる。
【0150】
<第2例>
情報処理システム1bは、シングルボードコンピュータ500の台数と、天井撮影装置900の台数と、読取器700の台数と、端末800の台数、倉庫100の面積に応じて多くなっている点が、第1例に係る情報処理システム1aと異なる。シングルボードコンピュータ500は、フォークリフト10a~10xのそれぞれに搭載されている。情報処理装置50a、シングルボードコンピュータ500、天井撮影装置900、読取器700および端末800の各機能は、情報処理システム1aにおける情報処理装置50a、シングルボードコンピュータ500、天井撮影装置900、読取器700および端末800の各機能とほぼ同じである。
【0151】
<第3例>
情報処理システム1cは、情報処理システム1aにおいて、情報処理装置50a、シングルボードコンピュータ500およびミニPC600のそれぞれに分散されていた複数の機能構成を情報処理装置50aに集約している点が、第1例に係る情報処理システム1aと異なる。情報処理システム1cは、倉庫100の面積が狭い場合に好適である。情報処理システム1cでは、動画におけるフレームの欠落を回避するため、固定型カメラ60のフレームレートが15~30fps(frames per second)である場合には、情報処理装置50に接続する固定型カメラ60の台数は、2~4台までであることが好ましい。
【0152】
<第4例>
情報処理システム1dは、情報処理装置50aがクラウドサーバ50dである点が、
図26に示した第2例に係る情報処理システム1bと異なる。
【0153】
<その他の好適な実施形態>
天井に取り付けられた固定型カメラ60は、360°の全方位を撮像可能ないわゆる全天球カメラとしてもよい。全天球カメラとすることによって、通常のカメラにより構成する場合に比べて広い撮像範囲をカバーすることができ、カメラの台数を削減することができる。
【0154】
図25を用いて、全天球撮影装置6のハードウェア構成を説明する。
図25は、全天球撮影装置6のハードウェア構成の一例を示すブロック図である。以下では、全天球撮影装置6は、2つの撮像素子を使用した全天球(全方位)撮影装置とするが、撮像素子は2つ以上いくつでもよい。また、必ずしも全方位撮影専用の装置である必要はなく、通常のデジタルカメラやスマートフォン等に後付けの全方位の撮像ユニットを取り付けることで、実質的に全天球撮影装置6と同じ機能を有するようにしてもよい。
【0155】
図25に示されているように、全天球撮影装置6は、撮像ユニット601、画像処理ユニット604、撮像制御ユニット605、マイク608、音処理ユニット609、CPU611、ROM612、SRAM(Static Random Access Memory)613、DRAM(Dynamic Random Access Memory)614、操作部615、外部機器接続I/F616、通信部617、アンテナ617a、加速度・方位センサ618、ジャイロセンサ619、加速度センサ620、及びMicro USB用の凹状の端子621によって構成されている。
【0156】
上記のうち、撮像ユニット601は、各々半球画像を結像するための180°以上の画角を有する魚眼レンズ602a,602bと、各広角レンズに対応させて設けられている2つの撮像素子603a,603bを備えている。撮像素子603a,603bは、魚眼レンズ602a,602bによる光学像を電気信号の画像データに変換して出力するCMOS(Complementary Metal Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサなどの画像センサ、この画像センサの水平又は垂直同期信号や画素クロックなどを生成するタイミング生成回路、この撮像素子の動作に必要な種々のコマンドやパラメータなどが設定されるレジスタ群などを有している。
【0157】
撮像ユニット601の撮像素子603a,603bは、各々、画像処理ユニット604とパラレルI/Fバスで接続されている。一方、撮像ユニット601の撮像素子603a,603bは、撮像制御ユニット605とは、シリアルI/Fバス(I2Cバス等)で接続されている。画像処理ユニット604、撮像制御ユニット605及び音処理ユニット609は、バス610を介してCPU611と接続される。さらに、バス610には、ROM612、SRAM613、DRAM614、操作部615、外部機器接続I/F616、通信部617、及び加速度・方位センサ618なども接続される。
【0158】
画像処理ユニット604は、撮像素子603a,603bから出力される画像データをパラレルI/Fバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを合成処理して、正距円筒射影画像のデータを作成する。
【0159】
撮像制御ユニット605は、一般に撮像制御ユニット605をマスタデバイス、撮像素子603a,603bをスレーブデバイスとして、I2Cバスを利用して、撮像素子603a,603bのレジスタ群にコマンド等を設定する。必要なコマンド等は、CPU611から受け取る。また、撮像制御ユニット605は、同じくI2Cバスを利用して、撮像素子603a,603bのレジスタ群のステータスデータ等を取り込み、CPU611に送る。
【0160】
また、撮像制御ユニット605は、操作部615のシャッターボタンが押下されたタイミングで、撮像素子603a,603bに画像データの出力を指示する。全天球撮影装置6によっては、ディスプレイ(例えば、スマートフォンのディスプレイ)によるプレビュー表示機能や動画表示に対応する機能を持つ場合もある。この場合は、撮像素子603a,603bからの画像データの出力は、所定のフレームレート(フレーム/分)によって連続して行われる。
【0161】
また、撮像制御ユニット605は、後述するように、CPU611と協働して撮像素子603a,603bの画像データの出力タイミングの同期をとる同期制御手段としても機能する。なお、本実施形態では、全天球撮影装置6にはディスプレイが設けられていないが、表示部を設けてもよい。
【0162】
マイク608は、音を音(信号)データに変換する。音処理ユニット609は、マイク608から出力される音データをI/Fバスを通して取り込み、音データに対して所定の処理を施す。
【0163】
CPU611は、全天球撮影装置6の全体の動作を制御すると共に必要な処理を実行する。ROM612は、CPU611のための種々のプログラムを記憶している。SRAM613及びDRAM614はワークメモリであり、CPU611で実行するプログラムや処理途中のデータ等を記憶する。特にDRAM614は、画像処理ユニット604での処理途中の画像データや処理済みの正距円筒射影画像のデータを記憶する。
【0164】
操作部615は、シャッターボタン615aなどの操作ボタンの総称である。ユーザは操作部615を操作することで、種々の撮影モードや撮影条件などを入力する。
【0165】
外部機器接続I/F616は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USBメモリやPC等である。DRAM614に記憶された正距円筒射影画像のデータは、この外部機器接続I/FI/F616を介して外付けのメディアに記録されたり、必要に応じて外部機器接続I/FI/F616を介してスマートフォン等の外部端末(装置)に送信されたりする。
【0166】
通信部617は、全天球撮影装置6に設けられたアンテナ617aを介して、Wi-Fi、NFC(Near Field Communication)やBluetooth(登録商標)等の近距離無線通信技術によって、スマートフォン等の外部端末(装置)と通信を行う。この通信部617によっても、正距円筒射影画像のデータをスマートフォン等の外部端末(装置)に送信することができる。
【0167】
加速度・方位センサ618は、地球の磁気から全天球撮影装置6の方位を算出し、方位情報を出力する。この方位情報はExifに沿った関連情報(メタデータ)の一例であり、撮影画像の画像補正等の画像処理に利用される。なお、関連情報には、画像の撮影日時、及び画像データのデータ容量の各データも含まれている。また、加速度・方位センサ618は、全天球撮影装置6の移動に伴う角度の変化(Roll角、Pitch角、Yaw角)を検出するセンサである。角度の変化はExifに沿った関連情報(メタデータ)の一例であり、撮像画像の画像補正等の画像処理に利用される。更に、加速度・方位センサ618は、3軸方向の加速度を検出するセンサである。全天球撮影装置6は、加速度・方位センサ618が検出した加速度に基づいて、自装置(全天球撮影装置6)の姿勢(重力方向に対する角度)を算出する。全天球撮影装置6に、加速度・方位センサ618が設けられることによって、画像補正の精度が向上する。
【0168】
(全天球カメラと物体との位置関係について)
物体位置取得部52(522)は、前述したように、VSLAM技術等により算出した全天球カメラ20の3次元の位置情報、及び予め取得した全天球カメラ20と物体30との相対位置(フォークリフト10により保持された物体30のフォークリフト10に対する相対位置)から、物体30の3次元の位置情報を算出する。従って、物体位置取得部52(522)が、物体30の3次元の位置情報を算出するためには、全天球カメラ20と物体30との相対位置を予め取得する必要がある。
図30及び
図31を参照して、全天球カメラ20と物体30との相対位置の取得方法について説明する。
図30は、全天球カメラ20と物体30との相対位置の取得方法の第1例を示す図である。
図31は、全天球カメラ20と物体30との相対位置の取得方法の第2例を示す図である。
図31(A)はフォークリフト10を側方から視た図であり、
図31(B)は、フォークリフト10が支持する補助マーカ1501を全天球カメラ20側から視た図である。
【0169】
好適な一例として、物体位置取得部52(522)は、例えば、
図30に示すように、全天球カメラ20で物体30上に設けられたマーカ210を撮像した画像から、全天球カメラ20と物体30との相対位置を算出する。例えば、物体位置取得部52(522)は、全天球カメラ20で物体30上に設けられたマーカ210を撮像し、マーカ210の外径の座標を取得する。また、物体位置取得部52(522)は、取得したマーカ210の外径の座標と、マーカ210の実寸とから、全天球カメラ20のカメラ座標系におけるマーカ210の中心位置211を算出する。
【0170】
また、全天球カメラ20の位置から物体30上に設けられたマーカ210を撮像できない場合、物体位置取得部52(522)は、補助マーカを利用して、全天球カメラ20のカメラ座標系におけるマーカ210の中心位置211を算出することができる。
【0171】
補助マーカ1501は、例えば、
図31(B)に示すように、棒1502の上部に固定されたARマーカである補助マーカ1501を用意し、補助マーカ1501の中心150 3から棒1502の下端までの距離Lを予め測定しておく。また、例えば、
図31(A)に示すように、棒1502の下端をマーカ210の中心に接し、補助マーカ1501全体が全天球カメラ20の撮像範囲に含まれるようにして、全天球カメラ20で補助マーカ1501を撮像する。
【0172】
物体位置取得部52(522)は、撮像した画像から、全天球カメラ20を基準とした3次元座標系における、補助マーカ1501の中心1503と、補助マーカ1501の平面上のマーカ縦横方向を指す3次元ベクトルを決定する。また、物体位置取得部52(522)は、補助マーカ1501の中心1503の位置から下方向へ予め測定した棒1502の長さL分だけ下方に移動した点を、マーカ210の中心の位置として算出することができる。
【0173】
このように、物体の移動が開始される前の物体の正確な位置情報の取得ができる。よって、移動後の物体を画像処理によって追跡する際に悪影響を及ぼす虞も低減される。フォークリフト車両が実業務で運ぶ貨物の毎回の位置算出に利用することも可能であるが、特にキャリブレーション(カメラ設置時の初期設定および校正)が必要となる場合でカメラと物体の位置関係の初期設定をする際に有効である。
【0174】
また、上述のマーカや補助マーカを利用した物体位置の特定方法は、本発明の構成によらずカメラ(全天球カメラ20等)とカメラで撮像される物体(物体30等)との相対位置を予め取得する場合にも利用可能な方法である。
【0175】
以上、実施形態を説明してきたが、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【0176】
移動体の一例としてフォークリフトを示したが、これに限定されるものではない。例えば自動搬送車またはドローン等であってもよい。
【0177】
なお、実施形態の説明で用いた序数、数量等の数字は、全て本発明の技術を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明の技術を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係をこれに限定するものではない。
【0178】
また、機能ブロック図におけるブロックの分割は一例であり、複数のブロックを一つのブロックとして実現する、一つのブロックを複数に分割する、または一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェアまたはソフトウェアが並列または時分割に処理してもよい。また複数のコンピュータに一部または全部の機能を分散させてもよい。
【0179】
実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
【0180】
本開示の態様は、例えば、以下のとおりである。
<1> 追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理装置による情報処理方法であって、前記物体の識別情報と、前記物体の位置情報と、前記物体の位置情報を取得したときの時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の位置情報を取得する移動開始位置取得ステップと、前記位置管理情報に基づき、前記物体の移動が開始される前の時刻情報を取得する時刻取得ステップと、前記撮影動画のうち、前記時刻情報に対応する動画時刻から開始される動画において、前記物体の位置時報から前記物体を画像処理によって追跡する追跡ステップと、前記追跡ステップによる前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、情報処理方法である。
<2> 追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理装置による情報処理方法であって、前記物体の識別情報と、前記物体の位置情報と、前記物体の移動が開始される前の時刻である第1時刻情報と、前記物体の移動が終了したときの時刻である第2時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の移動が開始される前の前記物体の位置情報を取得する移動開始位置取得ステップと、前記位置管理情報に基づき、前記第1時刻情報を取得する第1時刻取得ステップと、前記撮影動画のうち、前記第1時刻情報に対応する動画時刻から開始される動画において、前記物体の位置情報から前記物体を画像処理によって追跡する追跡ステップと、前記追跡ステップによる前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、情報処理方法である。
<3> 前記位置管理情報に基づき、前記第2時刻情報を取得する第2時刻取得ステップを更に有し、前記撮影動画のうち、前記第1時刻情報から前記第2時刻情報に対応する動画時刻の動画において、前記物体の位置情報から前記物体を画像処理によって追跡する追跡ステップと、前記追跡ステップによる前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、前記<2>に記載の情報処理方法である。
<4> 前記情報処理装置は、更新部により、前記物体の前記現在の位置情報に基づき、前記位置管理情報を更新する、前記<2>又は前記<3>に記載の情報処理方法である。
<5> 前記情報処理装置は、予め相対位置が定められている複数の撮影装置による複数の前記撮影動画に基づいて、前記物体の位置情報を取得可能であり、前記物体が移動されることで、複数の前記撮影動画のうちの第1の撮影動画に前記物体が含まれなくなった場合に、前記物体を追跡できるように、特定部により、複数の前記撮影動画のうちの前記物体が含まれる第2の撮影動画を特定可能である、前記<1>から前記<3>の何れか1つに記載の情報処理方法である。
<6> 前記情報処理装置は、前記追跡対象の物体の周囲を撮影する撮影装置と、前記物体におけるマーカの位置と、の相対位置に基づいて、前記物体の移動が開始される前の前記物体の位置情報を算出する、前記<1>から前記<5>のいずれか1つに記載の情報処理方法である。
<7> 追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理装置に処理を実行させるプログラムであって、前記物体の識別情報と、前記物体の位置情報と、前記物体の位置情報を取得したときの時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の移動が開始される前の前記物体の位置情報を取得する移動開始位置取得ステップと、前記位置管理情報に基づき、前記物体の移動が開始される前の時刻情報を取得する時刻取得ステップと、前記撮影動画のうち、前記時刻情報に対応する動画時刻から開始される動画において、前記物体の位置情報から前記物体を画像処理によって追跡する追跡ステップと、前記追跡ステップによる前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、プログラムである。
<8> 追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理装置であって、前記物体の識別情報と、前記物体の位置情報と、前記物体の位置情報を取得したときの時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の移動が開始される前の前記物体の位置情報を取得する移動開始位置取得部と、前記位置管理情報に基づき、前記物体の移動が開始される前の時刻情報を取得する時刻取得部と、前記撮影動画のうち、前記時刻情報に対応する動画時刻から開始される動画において、前記物体の位置情報から前記物体を画像処理によって追跡する追跡部と、前記追跡部による前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、情報処理装置である。
<9> 通信可能に接続された複数の情報処理装置を有し、移追跡対象の物体の周囲を撮影した撮影動画に基づき、前記物体の位置情報を取得する情報処理システムであって、前記物体の識別情報と、前記物体の位置情報と、前記物体の位置情報を取得したときの時刻情報と、が対応づけられた位置管理情報に基づき、前記物体の移動が開始される前の前記物体の位置情報を取得する移動開始位置取得部と、前記位置管理情報に基づき、前記物体の移動が開始される前の時刻情報を取得する時刻取得部と、前記撮影動画のうち、前記時刻情報に対応する動画時刻から開始される動画において、前記物体の位置情報から前記物体を画像処理によって追跡する追跡部と、前記追跡部による前記物体の追跡結果に基づいて、前記物体の移動が終了したときの前記物体の現在の位置情報を取得する現在位置取得ステップと、を有する、情報処理システムである。
【符号の説明】
【0181】
1 情報処理システム
10 フォークリフト
11 搬送方向
12 鉛直上方向
20 全天球カメラ
20a 方位
21 フォーク
22 支持部材
30 物体
31 パレット
32 貨物
33 コード
40 仮置き場所
50、50a、50b 情報処理装置
51 受信部
52 物体位置取得部
53 時刻取得部
54 移動開始位置取得部
55、55a 追跡部
56 現在位置取得部
57 更新部
58 出力部
501 CPU
502 ROM
503 RAM
504 HD
505 HDDコントローラ
506 ディスプレイ
508 外部機器接続I/F
509 ネットワークI/F
510 データバス
511 キーボード
512 ポインティングデバイス
513 DVD-RW
514 DVD-RWドライブ
515 メディア
516 メディアI/F
60 固定型カメラ
61、62 位置地図
64 タイムスタンプ
70 格納部
71 位置管理情報
81 第1時刻取得部
82 第2時刻取得部
83 特定部
100 倉庫
110 入出庫ゲート図形
111 パレット図形
1110-1、1110-2、110-3、110-4、1110―5、110-6 対象表示
112 固定型カメラ図形
113 フォークリフト図形
114 パレット情報表示部
115 パレット指定部
116 パレットリスト表示部
117 対象指定部
118 取得開始ボタン
119 顧客識別情報入力部
120~122 移動経路
200 トラックヤード
300 コンテナ
400 ネットワーク
700 読取器
801 地図画面
802 操作画面
810 カーソル
1160 パレット情報
Id 識別情報
Im 全天球画像
Iv 終了画像
Mv 撮影動画
Mv1 第1の撮影動画
Mv2 第2の撮影動画
Mv0-1、Mv0-2 動画
Mv0 動画
Po 位置情報
Pp 移動開始位置情報
Pt 現在位置情報
t1 画像時刻
t2 動画時刻
t3 読取時刻
T1 第1時刻情報
T2 第2時刻情報
【先行技術文献】
【特許文献】
【0182】