(57)【要約】【課題】本発明は、識別コードが付された物品が多数ある場合でも、物品の配置の情報を簡易に取得することを目的とする。【解決手段】本発明の情報処理装置１１０は、複数の識別コードが写された撮影画像を複数取得する画像取得手段と、画像取得手段によって取得された各撮影画像から識別コードを読取る読取手段と、読取手段によって各撮影画像から読取られた識別コードに基づいて、各撮影画像における識別コードの配置を組み合わせた識別コードの配置の情報である読取配置情報を生成する第１生成手段と、を備えることを特徴とする。【選択図】図６
2018097773.tif 000002
【特許請求の範囲】
【請求項１】
複数の識別コードが写された撮影画像を複数取得する画像取得手段と、
前記画像取得手段によって取得された各前記撮影画像から前記識別コードを読取る読取手段と、
前記読取手段によって各前記撮影画像から読取られた前記識別コードに基づいて、各前記撮影画像における前記識別コードの配置を組み合わせた前記識別コードの配置の情報である読取配置情報を生成する第１生成手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記第１生成手段は、同じ前記識別コードが複数の前記撮影画像に写されている場合、前記複数の前記撮影画像の同じ前記識別コードを基準にして、前記複数の前記撮影画像における前記識別コードの配置を組み合わせた前記読取配置情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記読取手段によって各前記撮影画像から読取られた前記識別コードに基づいて、各前記撮影画像における前記識別コードの配置の情報である画像内配置情報を生成する第２生成手段を更に備え、
前記第１生成手段は、前記第２生成手段によって生成された前記画像内配置情報に基づいて、前記読取配置情報を生成することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第２生成手段は、
前記撮影画像における前記識別コードの代表点を補正した補正後の代表点を、前記撮影画像の消失点から前記識別コードの代表点の方向に伸びる半直線にある点であって、次の式を満たす点に決定し、
（前記識別コードの代表点と前記撮影画像の消失点との前記撮影画像における距離  ／  前記識別コードの補正後の代表点と前記撮影画像の消失点との前記撮影画像における距離）  ＝  （前記撮影画像における前記識別コードの代表サイズ  ／  所定の基準サイズ）
前記識別コードの補正後の代表点に基づいて、前記画像内配置情報を生成することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
一対の前記識別コードが隣接可能な隣接方向が複数定められており、
前記第２生成手段は、各前記撮影画像について、前記識別コードの代表点と、前記識別コードの前記隣接方向ごとに定められる範囲であって隣接する前記識別コードの代表点の範囲である隣接範囲と、に基づいて前記識別コードの配置を決定して、前記画像内配置情報を生成することを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記第２生成手段は、前記撮影画像における前記識別コードの大きさに基づいて、前記隣接範囲のサイズ、及び、前記隣接範囲の位置を決定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記隣接方向は、上方向、下方向、左方向、及び、右方向であることを特徴とする請求項５又は６に記載の情報処理装置。
【請求項８】
前記隣接方向は、左上方向、右上方向、左下方向、右下方向、左方向、及び、右方向であることを特徴とする請求項５又は６に記載の情報処理装置。
【請求項９】
前記読取配置情報は、前記識別コードに記録された識別ＩＤで表され、
予定されている物品の配置を、前記物品に割り当てられている前記識別ＩＤで表した予定配置情報を取得する情報取得手段と、
前記情報取得手段によって取得された前記予定配置情報と、前記第１生成手段によって生成された前記読取配置情報とを、同じ前記識別ＩＤを基準に重畳した情報を表示する制御を行う表示制御手段と、を更に備えることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記表示制御手段は、前記読取配置情報と前記予定配置情報とを重畳したときの相違識別ＩＤ数が最小になるように、前記読取配置情報と前記予定配置情報とを重畳した情報を表示する制御を行い、
前記相違識別ＩＤ数は、前記読取配置情報の前記識別ＩＤと前記読取配置情報の前記識別ＩＤに対応する位置の前記予定配置情報の前記識別ＩＤとが相違する、という条件を満たす前記読取配置情報の識別ＩＤの数、又は、前記予定配置情報の識別ＩＤの数であることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記表示制御手段は、前記読取配置情報の前記識別ＩＤと、前記読取配置情報の前記識別ＩＤに対応する位置についての前記予定配置情報の前記識別ＩＤと、が同じか否かに基づいて、前記読取配置情報の前記識別ＩＤに対応する表示を変更する制御を行うことを特徴とする請求項９又は１０に記載の情報処理装置。
【請求項１２】
前記表示制御手段は、前記読取配置情報の前記識別ＩＤと、前記読取配置情報の前記識別ＩＤに対応する位置についての前記予定配置情報の前記識別ＩＤと、が同じ場合、前記読取配置情報の前記識別ＩＤが、直近に撮影された前記撮影画像から読取られた前記識別コードに記録されたものであるか否かに基づいて、前記読取配置情報の前記識別ＩＤに対応する表示を変更する制御を行うことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記表示制御手段は、前記読取配置情報の前記識別ＩＤと、前記読取配置情報の前記識別ＩＤに対応する位置についての前記予定配置情報の前記識別ＩＤと、が異なる場合、前記読取配置情報の前記識別ＩＤが前記予定配置情報に含まれるか否か基づいて、前記読取配置情報の前記識別ＩＤに対応する表示を変更する制御を行うことを特徴とする請求項１１又は１２に記載の情報処理装置。
【請求項１４】
前記表示制御手段は、前記予定配置情報に含まれる前記識別ＩＤに対応する位置についての前記読取配置情報の前記識別ＩＤがあるか否か基づいて、前記読取配置情報の前記識別ＩＤに対応する表示を変更する制御を行うことを特徴とする請求項９乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記表示制御手段は、前記予定配置情報と前記読取配置情報とに同じ前記識別ＩＤが無い場合、前記予定配置情報に対応する表示と前記読取配置情報に対応する表示とを異なる位置に表示する制御を行うことを特徴とする請求項９に記載の情報処理装置。
【請求項１６】
前記表示制御手段は、前記予定配置情報と前記読取配置情報とに同じ前記識別ＩＤが無い場合、前記予定配置情報に対応する表示をして、前記読取配置情報に対応する表示をしない制御を行うことを特徴とする請求項９に記載の情報処理装置。
【請求項１７】
前記読取配置情報に対応する表示を行う制御する表示制御手段、を更に備えることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１８】
前記撮影画像を撮影する撮影手段と、
自機の姿勢を検知する検知手段と、
前記検知手段によって検知された自機の姿勢が所定の許容される姿勢のときに、前記撮影手段によって撮影された前記撮影画像に基づいて、前記第１生成手段によって前記読取配置情報が生成されるように制御する制御手段と、を更に備え、
前記画像取得手段は、前記撮影手段によって撮影された前記撮影画像を取得することを特徴とする請求項１乃至１７のいずれか１項に記載の情報処理装置。
【請求項１９】
複数の識別コードが写された撮影画像を複数取得する画像取得手段と、
前記画像取得手段によって取得された各前記撮影画像から前記識別コードを読取る読取手段と、
各前記撮影画像について前記読取手段によって読取られた前記識別コードに基づいて、各前記撮影画像における前記識別コードの配置を組み合わせた前記識別コードの配置の情報である読取配置情報を生成する第１生成手段と、を備えることを特徴とする情報処理システム。
【請求項２０】
複数の識別コードが写された撮影画像を複数取得する画像取得ステップと、
前記画像取得ステップによって取得された各前記撮影画像から前記識別コードを読取る読取ステップと、
各前記撮影画像について前記読取ステップによって読取られた前記識別コードに基づいて、各前記撮影画像における前記識別コードの配置を組み合わせた前記識別コードの配置の情報である読取配置情報を生成する第１生成ステップと、を備えることを特徴とする情報処理方法。
【請求項２１】
情報処理装置を制御するためのプログラムであって、
複数の識別コードが写された撮影画像を複数取得する画像取得ステップと、
前記画像取得ステップによって取得された各前記撮影画像から前記識別コードを読取る読取ステップと、
各前記撮影画像について前記読取ステップによって読取られた前記識別コードに基づいて、各前記撮影画像における前記識別コードの配置を組み合わせた前記識別コードの配置の情報である読取配置情報を生成する第１生成ステップと、をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
特許文献１等に記載されているように、画像に写された識別コードを読取る技術が従来から知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２４７５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
倉庫等において、そこに保管されている物品の配置についての情報は、物品の管理上、重要である。そこで、各物品に識別コードを付しておき、識別コードが付された物品を撮影して、撮影した画像に写された識別コードを読取って物品の配置の情報を取得することが考えられる。
しかしながら、物品が多数の場合、１つの画像に全ての物品が収まるように撮影することが困難な場合がある。多数の物品を複数の画像に撮影した場合、画像ごとでは物品の配置を把握できたとしても、異なる画像に写された物品の位置関係を特定することは、作業者の介在等が必要となり、煩雑である。また、１つの画像に全ての物品が収まるように撮影できた場合であっても、識別コードが小さく写されてしまって識別コードが読み取れないことがある。
【０００５】
本発明は、識別コードが付された物品が多数ある場合でも、物品の配置の情報を簡易に取得することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、複数の識別コードが写された撮影画像を複数取得する画像取得手段と、前記画像取得手段によって取得された各前記撮影画像から前記識別コードを読取る読取手段と、前記読取手段によって各前記撮影画像から読取られた前記識別コードに基づいて、各前記撮影画像における前記識別コードの配置を組み合わせた前記識別コードの配置の情報である読取配置情報を生成する第１生成手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、識別コードが付された物品が多数ある場合でも、物品の配置の情報を簡易に取得できる。
【図面の簡単な説明】
【０００８】
【図１】画像処理システムの全体の構成図である。
【図２】スマートデバイスのハードウェア構成図である。
【図３】スマートデバイスの機能構成図である。
【図４】識別コードの例を示す図である。
【図５】第１実施形態の読取結果画面の例を示す図である。
【図６】第１実施形態の読取結果画面の例を示す図である。
【図７】第１実施形態の読取結果画面の例を示す図である。
【図８】第１実施形態の姿勢ガイダンスの例を示す図である。
【図９】第１実施形態の配置解析処理のフローチャートである。
【図１０】第１実施形態の配置図更新処理のフローチャートである。
【図１１】第１実施形態の予定配置情報の例を示す図である。
【図１２】第１実施形態の保管場所の例を示す図である。
【図１３】第１実施形態の撮影画像の例を示す図である。
【図１４】第１実施形態の物品の配置判定の例を説明する図である。
【図１５】第１実施形態の読取配置情報等の例を示す図である。
【図１６】第２実施形態の物品の配置の例を示す図である。
【図１７】第２実施形態の撮影画像の例を示す図である。
【図１８】第２実施形態の読取結果画面の例を示す図である。
【図１９】第３実施形態の読取結果画面の例を示す図である。
【発明を実施するための形態】
【０００９】
＜第１実施形態＞
［全体構成］
情報処理システムの例である画像処理システム１００は、例えば、倉庫等の保管場所１０で使われ、保管場所１０に保管されている複数の物品１２の配置の情報を取得する。まず、図１を参照して、保管場所１０について説明する。図１は、保管場所１０、及び、画像処理システム１００の全体の構成図である。
図１の例では、保管場所１０には、棚１１が配置され、棚１１の上に、複数の物品１２が載せられている。本実施形態では、物品１２は、端面が略正方形の四角柱の形状であり、例えば、角棒鋼や角ビレットである。それぞれの物品１２は、長手方向が水平になり、長手方向が互いに平行になるように、左右、及び、上下に並べられている。このように配置された物品１２を、物品１２の長手方向の側から見ると、物品４２は正方格子状に配置されている。それぞれの物品１２には、一意の識別ＩＤが定められている。
【００１０】
それぞれの物品１２の端面には、識別コード２０が付されている。例えば物品１２の端面に、識別コード２０を印刷したシールが貼り付けられる。１つの物品１２には１つの識別コード２０が付されているものとする。同様に、棚１１にも１つの識別コード２０が付されている。保管場所１０では、図１に示すように、全ての識別コード２０が手前側（スマートデバイス１１０の側）から見えるように、棚１１、及び、物品１２が配置されている。識別コード２０の詳細は後述する。物品１２に付された識別コード２０ａには、物品１２に対応する識別ＩＤが記録されている。棚１１に付された識別コード２０ｓには、物品１２の識別ＩＤとは異なる情報が記録されている。
【００１１】
次に、図１を参照して、画像処理システム１００について説明する。画像処理システム１００は、スマートデバイス１１０と、管理装置１２０とを備える。
スマートデバイス１１０は、撮影機能を有し、保管場所１０を撮影して、撮影画像に基づいて、識別コード２０の配置の情報を生成することで、保管場所１０における物品１２の配置の情報を取得する。スマートデバイス１１０として、スマートフォンやタブレット端末等が使われるが、これら以外の情報処理装置であってもよい。
管理装置１２０は、予定配置情報を管理する情報処理装置である。予定配置情報は、保管場所１０において予定されている物品１２の配置の情報である。予定配置情報は、物品の識別ＩＤで表されており、正方格子状に隣接する物品１２の配置の関係を表す。
画像処理システム１００と管理装置１２０とは、通信ネットワーク１３０を介して、互いにデータの送受信が可能である。通信ネットワーク１３０として例えば無線ＬＡＮが使われる。
【００１２】
［スマートデバイスの構成］
次に、図２を参照して、スマートデバイス１１０のハードウェア構成について説明する。図２は、スマートデバイス１１０のハードウェア構成図である。スマートデバイス１１０は、ＣＰＵ２００と、記憶装置２０１と、表示装置２０２と、姿勢センサ２０３と、入力装置２０４と、撮影装置２０５と、外部インタフェース２０６と、これらを接続するバス２０７とを備える。
ＣＰＵ２００は、スマートデバイス１１０の全体を制御する。ＣＰＵ２００が記憶装置２０１等に記憶されているプログラムに基づき処理を実行することによってスマートデバイス１１０の機能、及び、図９、図１０に示すスマートデバイス１１０の処理が実現される。
【００１３】
記憶装置２０１は、ＲＡＭ、ＲＯＭ、ＨＤＤ等の記憶装置であって、プログラムを記憶したり、ＣＰＵ２００がプログラムに基づき処理を実行する際に利用するデータ等を記憶したりする。
表示装置２０２は、液晶モニタ等であって画像を表示できる。
姿勢センサ２０３は、検知手段の例であり、自機であるスマートデバイス１１０の姿勢を検知する。姿勢センサ２０３には、例えば加速度センサが使われる。
入力装置２０４は、ユーザの指示を受け付ける。入力装置２０４には、タッチパネルやボタン等が使われる。入力装置２０４は、マウスやキーボード等であってもよい。
撮影装置２０５は、画像の撮影が可能な装置であり、例えば、レンズ、及び、撮像素子等を備える。本実施形態では、撮影装置２０５は、ＣＰＵ２００の制御に基づいて、時間軸に対して連続的に撮影を行う。撮影装置２０５は、例えば毎秒３０回、撮影を行う。撮影装置２０５は、動画撮影機能によって、時間軸に対して連続的に撮影を行ってもよく、静止画撮影機能によって一定時間ごとに撮影することで、時間軸に対して連続的に撮影を行ってもよい。
外部インタフェース２０６は、スマートデバイス１１０と、管理装置１２０等の外部装置との通信の制御を司る。
【００１４】
次に、図３を参照して、スマートデバイス１１０の機能について説明する。図３は、スマートデバイス１１０の機能構成図である。スマートデバイス１１０は、画像取得部２１０と、読取部２１１と、生成部２１２と、表示制御部２１３と、制御部２１４と、情報取得部２１５とを備える。
画像取得部２１０は、撮影装置２０５が撮影した撮影画像を複数取得する。本実施形態では、撮影装置２０５の撮影画像には、通常、複数の識別コード２０が写されている。より具体的には、画像取得部２１０は、画像処理時間ごとに、撮影装置２０５によって直近に撮影された撮影画像を取得していく。画像処理時間は、撮影画像１枚について、読取部２１１、生成部２１２、及び、表示制御部２１３によって行われる処理の合計時間であり、後述する図９のステップＳ１０３からＳ１１２までの処理時間に対応する。このため、画像処理時間が撮影装置２０５の撮影間隔以下のとき、画像取得部２１０は、撮影装置２０５によって撮影された順に、撮影装置２０５が撮影した撮影画像を全て取得していくことになる。
読取部２１１は、画像取得部２１０によって取得された各撮影画像から識別コード２０を読取る。
【００１５】
生成部２１２は、読取部２１１によって読取られた識別コード２０に基づいて、各撮影画像における画像内配置情報を生成する。画像内配置情報は、各撮影画像における識別コード２０の配置の情報である。また、生成部２１２は、画像内配置情報に基づいて、読取配置情報を生成する。読取配置情報は、撮影画像における識別コード２０の配置を組み合わせた識別コード２０の配置の情報である。すなわち、読取配置情報は、複数の画像内配置情報を組み合わせた情報である。それぞれの識別コード２０は、物品１２に付されたものであるため、読取配置情報は、物品１２の配置の情報といえる。読取配置情報は、識別ＩＤで表されており、正方格子状に隣接する識別コード２０の配置の関係を表す。
表示制御部２１３は、後述の読取結果画面を表示装置２０２に表示させる制御を行う。
制御部２１４は、姿勢センサ２０３の検知に基づいて、自機の姿勢が所定の許容される姿勢のときに撮影された撮影画像に基づいて生成部２１２が読取配置情報を生成するように制御する。
情報取得部２１５は、管理装置１２０から予定配置情報、及び、配置種別情報を取得する。配置種別情報の詳細は後述する。
【００１６】
［識別コード］
次に、識別コード２０について説明する。識別コード２０は、物品１２ごとに一意に定められている識別ＩＤ等を記録可能なコードである。スマートデバイス１１０は、識別コード２０が写された撮影画像を解析することで、識別コード２０が記録する識別ＩＤを取得できる。
また、識別コード２０には、代表点、及び、代表サイズを定義できる。識別コード２０の代表点は、識別コード２０が写された撮影画像において、識別コード２０の位置を代表する点である。識別コード２０の代表サイズは、識別コード２０が写された撮影画像において、識別コード２０のサイズを代表する大きさである。
【００１７】
次に、図４を参照して、本実施形態で用いる識別コード２０について説明する。識別コード２０は、データ部２２と、データ部２２から分離して配置されるファインダパターン２１とを備える。
ファインダパターン２１は、データ部２２を検出するための検出用パターンであり、円環部２１ａと、方向特定部２１ｂとを備える。円環部２１ａは、複数の円環を備える。方向特定部２１ｂは、ファインダパターン２１の基準方向Ｗを特定できるパターンであり、円環部２１ａに沿って、円環部２１ａの円周方向に伸びる複数の突起部を備える。
データ部２２は、基準方向Ｗに対して予め定められた所定の方向であって、ファインダパターン２１から所定の距離に配置される。データ部２２は、矩形状の枠部の内側に、記録するデータを表すデータ領域を備える。
本実施形態の識別コード２０では、円環部２１ａの中心点を代表点２３とし、データ部２２の長辺の長さを代表サイズ２４とする。ただし、データ部２２の中心点等の他の点を代表点としてもよい。また、円環部２１ａの中心点から最も離れたデータ部２２の枠部の頂点と円環部２１ａの中心点との距離、又は、最も外側の円環の直径等、他の長さを代表サイズとしてもよい。
【００１８】
スマートデバイス１１０は、例えば、撮影画像から次のように識別コード２０を読取る。
まず、スマートデバイス１１０は、撮影画像から、ファインダパターン２１を検索して、基準方向Ｗを特定する。次に、スマートデバイス１１０は、基準方向Ｗに基づいて、データ部２２の位置を特定する。次に、スマートデバイス１１０は、特定したデータ部２２の位置に基づいて、データ部２２から、データ部２２に記録されたデータを読取る。データ部２２は、識別ＩＤ等が記録されているため、スマートデバイス１１０は、識別ＩＤ等を取得できる。
このとき、スマートデバイス１１０は、ファインダパターン２１の円環部２１ａの中心点を識別コード２０の代表点２３とし、データ部２２の長辺の長さを代表サイズ２４とする。
【００１９】
なお、識別コード２０として、図４以外の二次元コードを用いてもよい。例えば、識別コード２０として、ＱＲコード（登録商標）を使用してもよい。この場合、例えば、ＱＲコードの中心点を代表点とし、ＱＲコードの一辺の長さを代表サイズとする。また、識別コード２０として、バーコードを用いてもよい。この場合、例えば、バーコードの中心点を代表点とし、バーコードにおける一方の端部のバーから他方の端部のバーまでの長さを代表サイズとする。
【００２０】
［読取結果画面］
次に、図５を参照して、読取結果画面３００について説明する。図５は、読取結果画面３００の例を示す図である。
読取結果画面３００は、スマートデバイス１１０の表示装置２０２に表示される画面であり、スマートデバイス１１０が撮影した撮影画像からの識別コード２０の読取り結果を表示する画面である。
読取結果画面３００には、撮影画像３０１と、重畳配置表示３１０と、姿勢ガイダンス３２０とが表示される。
撮影画像３０１は、直近にスマートデバイス１１０の撮影装置２０５が撮影した画像である。図５の例では、撮影画像３０１は、図１の第１撮影領域３１を撮影したときの画像である。
【００２１】
重畳配置表示３１０は、予定配置情報と読取配置情報とを重ね合わせた情報を表示する図である。したがって、重畳配置表示３１０には、保管場所１０において予定されている物品１２の配置の情報と、スマートデバイス１１０が実際に読取った物品１２の配置の情報とが重ね合わせて表示されることになる。
重畳配置表示３１０には、予定配置表示３１１と、直近読取マーク３１２と、不一致マーク３１４とが表示される。
予定配置表示３１１は、予定配置情報に対応する図であり、予定配置表示３１１のそれぞれの矩形の領域（マス）が、予定されている識別コード２０の配置を表す。
【００２２】
直近読取マーク３１２と、不一致マーク３１４とは、読取配置情報に対応する表示である。
直近読取マーク３１２は、スマートデバイス１１０が撮影画像の識別コード２０から直近に読取った識別コード２０に記録された識別ＩＤが、この識別ＩＤに対応する位置についての予定配置情報の識別ＩＤと一致することを表す。本実施形態では、直近読取マーク３１２は塗りつぶされた円であるが、他の形態であってもよい。
不一致マーク３１４は、読取配置情報の識別ＩＤと予定配置情報の識別ＩＤとが異なることを表す。不一致マーク３１４には、第１不一致マーク３１４ａ、第２不一致マーク３１４ｂ、及び、第３不一致マーク３１４ｃの３種類ある。図５では第１不一致マーク３１４ａが表示されている。
第１不一致マーク３１４ａは、予定配置情報に含まれる識別ＩＤに対応する位置についての読取配置情報の識別ＩＤがないことを表す。すなわち、第１不一致マーク３１４ａは、予定配置情報に含まれる識別ＩＤの位置について、スマートデバイス１１０が識別ＩＤを読取っていないことを表す。本実施形態では、第１不一致マーク３１４ａは網掛けされた矩形であるが、透過する赤色で塗りつぶされた矩形等、他の形態であってもよい。
第２不一致マーク３１４ｂ、及び、第３不一致マーク３１４ｃについては後述する。また、重畳配置表示３１０の作成方法の詳細は後述する。
【００２３】
姿勢ガイダンス３２０は、スマートデバイス１１０の姿勢を表す表示であり、スマートデバイス１１０が正常な姿勢か否かを表す。
ここで、図８（ａ）、（ｂ）、（ｃ）を参照して、スマートデバイス１１０の姿勢と姿勢ガイダンス３２０の表示との関係について説明する。図８（ａ）は、スマートデバイス１１０が水平方向、及び、前後方向に傾いていないときの姿勢ガイダンス３２０の例を示す図である。図８（ｂ）は、スマートデバイス１１０が水平方向に傾いているときの姿勢ガイダンス３２０の例を示す図である。図８（ｃ）は、スマートデバイス１１０が前後方向に傾いているときの姿勢ガイダンス３２０の例を示す図である。
【００２４】
姿勢ガイダンス３２０は、水平傾き線３２２と、前後傾き枠３２１と、垂直基準線３２３と、水平基準線３２４とからなる。
水平傾き線３２２は、スマートデバイス１１０の水平方向の傾きを表す線である。
前後傾き枠３２１は、スマートデバイス１１０の前後方向の傾きを表す枠である。
垂直基準線３２３は、垂直方向を表す基準線である。
水平基準線３２４は、水平方向を表す基準線である。
【００２５】
図８（ａ）、（ｃ）に示すように、スマートデバイス１１０が水平方向に傾いていないとき、水平傾き線３２２は、水平基準線３２４に重ねられて表示される。この場合、水平基準線３２４は表れない。また、図８（ｂ）に示すように、スマートデバイス１１０が水平方向に傾いているとき、水平傾き線３２２は、スマートデバイス１１０の水平方向の傾きに対応するように、水平基準線３２４に対して傾いて表示される。
図８（ａ）、（ｂ）に示すように、スマートデバイス１１０が前後方向に傾いていないとき、前後傾き枠３２１は矩形状に表示される。また、図８（ｃ）に示すように、スマートデバイス１１０が前後方向に傾いているとき、前後傾き枠３２１は、スマートデバイス１１０の前後方向の傾きに対応するような台形形状に表示される。
【００２６】
スマートデバイス１１０の正常な姿勢は、識別コード２０を読取る元となる撮影画像を撮影するスマートデバイス１１０の姿勢として許容される所定の姿勢である。より具体的には、スマートデバイス１１０の正常な姿勢は、スマートデバイス１１０が、水平方向に予め定められた第１の所定の角度以上傾いておらず、かつ、前後方向に予め定められた第２の所定の角度以上傾いていない姿勢のことである。
姿勢ガイダンス３２０は、スマートデバイス１１０が正常な姿勢の場合と、正常な姿勢ではない場合とで、異なる方法で表示される。
【００２７】
より具体的には、姿勢ガイダンス３２０は、次のように表示される。
スマートデバイス１１０が水平方向に第１の所定の角度以上傾いているとき、水平傾き線３２２は、スマートデバイス１１０が水平方向に第１の所定の角度以上傾いていないときとは異なるように表示される。例えば、水平傾き線３２２の色、又は、線の太さが異なるように表示される。
また、スマートデバイス１１０が前後方向に第２の所定の角度以上傾いているとき、前後傾き枠３２１は、スマートデバイス１１０が前後方向に第２の所定の角度以上傾いていないときとは異なるように表示される。例えば、前後傾き枠３２１の色、又は、線の太さが異なるように表示される。
このような読取結果画面３００は、表示制御部２１３の制御により表示装置２０２に表示される。
【００２８】
図５に示す読取結果画面３００は、スマートデバイス１１０が図１の第１撮影領域３１を撮影したときのものである。その後、ユーザが図１の矢印３０に沿ってスマートデバイス１１０を移動させて、スマートデバイス１１０が第２撮影領域３２を撮影したとき、読取結果画面３００は、例えば、図６に示すものになる。図６は、スマートデバイス１１０が第２撮影領域３２を撮影したときの読取結果画面３００を示す図である。
ここで、図６の読取結果画面３００について説明する。図６の読取結果画面３００が、図５の読取結果画面３００と異なるのは、撮影画像３０１、及び、重畳配置表示３１０である。
【００２９】
図６の撮影画像３０１は、スマートデバイス１１０が第２撮影領域３２を撮影したときの画像である。
図６の重畳配置表示３１０には、図５の重畳配置表示３１０と同様に、予定配置表示３１１と、直近読取マーク３１２と第１不一致マーク３１４ａとが表示される。さらに、図６の重畳配置表示３１０には、過去読取マーク３１３と、第２不一致マーク３１４ｂと、第３不一致マーク３１４ｃとが表示される。
過去読取マーク３１３は、スマートデバイス１１０が既に読取った識別コード２０に記録された識別ＩＤが、この識別ＩＤに対応する位置についての予定配置情報の識別ＩＤと一致することを表す。本実施形態では、過去読取マーク３１３は塗りつぶされていない円であるが、他の形態であってもよい。
【００３０】
第２不一致マーク３１４ｂは、読取配置情報に存在する識別ＩＤが、読取配置情報の識別ＩＤに対応する位置についての予定配置情報の識別ＩＤと異なり、かつ、予定配置情報に含まれることを表す。本実施形態では、第２不一致マーク３１４ｂは塗りつぶされた三角形であるが、他の形態であってもよい。
第３不一致マーク３１４ｃは、読取配置情報に存在する識別ＩＤが、読取配置情報の識別ＩＤに対応する位置についての予定配置情報の識別ＩＤと異なり、かつ、予定配置情報に含まれないことを表す。本実施形態では、第３不一致マーク３１４ｃはクエスチョンマーク「？」であるが、他の形態であってもよい。
ユーザが、図１に示す矢印３０に沿ってスマートデバイス１１０を次々に移動させていき物品１２の撮影を行うと、スマートデバイス１１０は、読取結果画面３００の重畳配置表示３１０を更新していく。そして、スマートデバイス１１０は、最終的に、全ての物品１２の配置の情報を取得し、物品１２の配置の情報を重畳配置表示３１０に表示する。
【００３１】
次に、図７を参照して、読取配置表示３３０が表示された読取結果画面３００について説明する。図７は、読取配置表示３３０が表示された読取結果画面３００を示す図である。
図７の読取結果画面３００は、スマートデバイス１１０が読取った識別コード２０の識別ＩＤと、予定配置情報の物品１２の識別ＩＤとが全て不一致の場合に表示される。
図７の読取結果画面３００には、重畳配置表示３１０が表示されるが、重畳配置表示３１０は予定配置表示３１１のみの表示であり、直近読取マーク３１２、過去読取マーク３１３、及び、不一致マーク３１４は表示されない。これは、スマートデバイス１１０が読取った識別コード２０の識別ＩＤと、予定配置情報の識別ＩＤとが全て不一致であり、予定配置情報と読取配置情報とを重ね合わせることができないためである。
また、図７の読取結果画面３００には、読取配置表示３３０が表示される。読取配置表示３３０は、読取配置情報を表す図であり、スマートデバイス１１０が読取った識別コード２０の配置が表示される。読取配置表示３３０には、直近読取マーク３１２と過去読取マーク３１３とが表示される。読取配置表示３３０の直近読取マーク３１２は、スマートデバイス１１０が撮影画像の識別コード２０から直近に読取った識別コード２０に記録された識別ＩＤを表す。読取配置表示３３０の過去読取マーク３１３は、スマートデバイス１１０が既に読取った識別コード２０に記録された識別ＩＤを表す。
【００３２】
［配置解析処理］
次に、図９を参照して配置解析処理について説明する。配置解析処理は、撮影画像を解析して、識別コード２０の配置を解析し、読取結果画面３００を表示する制御を行う処理である。
ステップＳ１００において、情報取得部２１５は、管理装置１２０から、予定配置情報、及び、配置種別情報を取得する。
ここで、図１１を参照して、予定配置情報の詳細を説明する。図１１は、予定配置情報の例を示す図である。予定配置情報は、既に説明したように、保管場所１０における物品１２の予定されている配置を表す情報であり、物品の識別ＩＤで表されており、正方格子状に隣接する物品１２の配置の関係を表す。予定配置情報は、例えば、図１１のような表で表現できる。図１１に示すそれぞれのマスが、物品１２の位置を示す。図１１のそれぞれのマスの中の数値が物品１２の識別ＩＤを示す。図１１の例では、保管場所１０における一番下には、左から順に「２５」、「２６」、「２７」、「２８」、「２９」、「３０」の識別ＩＤに対応する物品１２の配置が予定されている。また、保管場所１０における下から２段目には、左から順に「１９」、「２０」、「２１」、「２２」、「２３」、「２４」の識別ＩＤに対応する物品１２の配置が予定されている。他の段も同様である。そして、例えば、識別ＩＤ「８」の物品１２の上方向、下方向、左方向、及び、右方向に、それぞれの識別ＩＤ「２」、「１４」、「７」、「９」の物品１２の配置が予定されていることを表す。
【００３３】
次に、配置種別情報について説明する。配置種別情報は、保管場所１０における物品１２を正面側から見たときの物品１２の配置の種別の情報である。保管場所１０における物品１２を正面側とは、保管場所１０に配置された物品１２の識別コード２０が見える側を表し、本実施形態では、物品１２の長手方向の側である。本実施形態では、配置種別情報は、正方格子状を表す。
【００３４】
図９に戻って、配置解析処理の説明を続ける。
ステップＳ１０１において、表示制御部２１３は、表示装置２０２に、初期状態の読取結果画面３００を表示させる制御を行う。初期状態の読取結果画面３００には、撮影画像３０１は表示されていない。初期状態の読取結果画面３００には、姿勢ガイダンス３２０として、初期状態の姿勢ガイダンス３２０が表示される。初期状態の姿勢ガイダンス３２０は、スマートデバイス１１０が水平方向、及び、前後方向に傾いていないときの姿勢ガイダンス３２０である。初期状態の読取結果画面３００の重畳配置表示３１０は、予定配置表示３１１のみからなる。表示制御部２１３は、予定配置表示３１１を、ステップＳ１００で取得された予定配置情報に基づいて生成する。
なお、ステップＳ１０１は存在しなくてもよい。この場合、初回のステップＳ１０３で、読取結果画面３００の撮影画像３０１が新規に表示される。また、初回のステップＳ１０６又はＳ１０７で、読取結果画面３００の姿勢ガイダンス３２０が新規に表示される。また、初回のステップＳ１１１の配置図更新処理で、読取結果画面３００の重畳配置表示３１０が新規に表示される。
【００３５】
ステップＳ１０２において、画像取得部２１０は、撮影装置２０５が直近に撮影した撮影画像を取得する。
ステップＳ１０３において、表示制御部２１３は、直近のステップＳ１０２で取得された撮影画像を読取結果画面３００の撮影画像３０１として表示する制御を行い、読取結果画面３００の撮影画像３０１を更新する。
ステップＳ１０４において、読取部２１１は、直近のステップＳ１０２で取得された撮影画像から識別コード２０を読取る。このとき、読取部２１１は、それぞれの識別コード２０に記録された識別ＩＤ、並びに、それぞれの識別コード２０についての代表点、及び、代表サイズを取得する。読取部２１１は、直近のステップＳ１０２で取得された撮影画像に複数の識別コード２０が含まれないとき、処理をステップＳ１０２に戻してもよい。
【００３６】
ステップＳ１０５において、制御部２１４は、姿勢センサ２０３の検知に基づいて、自機であるスマートデバイス１１０が、既に説明した正常な姿勢か否かを判定する。制御部２１４は、スマートデバイス１１０が正常な姿勢のとき処理をステップＳ１０６に進め、スマートデバイス１１０が正常な姿勢ではないとき処理をステップＳ１０７に進める。
ステップＳ１０６において、表示制御部２１３は、読取結果画面３００の姿勢ガイダンス３２０を、直近のステップＳ１０５での姿勢センサ２０３の検知に基づいたスマートデバイス１１０の姿勢を表すものに更新する。
【００３７】
ステップＳ１０７において、表示制御部２１３は、読取結果画面３００の姿勢ガイダンス３２０を、直近のステップＳ１０５での姿勢センサ２０３の検知に基づいたスマートデバイス１１０の姿勢を表すものに更新する。
ステップＳ１０６で表示される姿勢ガイダンス３２０はスマートデバイス１１０が正常な姿勢のときのものであり、ステップＳ１０７で表示される姿勢ガイダンス３２０はスマートデバイス１１０が正常な姿勢ではないときのものである。表示制御部２１３は、両者を、既に説明したように異なる方法で表示する制御を行い、区別できるようにする。
【００３８】
ステップＳ１０８において、生成部２１２は、凹凸位置補正を行い、直近のステップＳ１０４で取得された識別コード２０の代表点を補正する。
ここで、図１２、図１３を参照して、凹凸位置補正について説明する。保管場所１０において、物品１２の端面は必ずしもきれいに揃った状態とならず、一部の物品１２の端面が突出したり、奥まったりして配置されることがある。すなわち、識別コード２０が同一平面上にならないように物品１２が保管されていることがある。図１２は、１つの物品１２ａが突出して配置された保管場所１０の例を示す図である。図１２の例では、物品１２ａの識別コード２０が、他の物品１２の識別コード２０よりも手前側になるように、物品１２ａが保管されている。また、図１３は、物品１２ａを含む複数の物品１２を写した撮影画像３０１である。すなわち、図１３の撮影画像３０１は、図１２の撮影領域３３を撮影したときの画像である。
凹凸位置補正は、撮影画像３０１において、識別コード２０の代表点を、全ての識別コード２０が同一平面上に配置されるように物品１２を手前側又は後ろ側に移動したときの識別コード２０の代表点の位置に補正する処理である。
【００３９】
次に、図１３を参照して、凹凸位置補正の具体的な処理を説明する。物品１２ａに付された識別コード２０を識別コード２０ｂとする。ここでは、物品１２ａの識別コード２０ｂの代表点２３を補正する処理を例に説明する。
生成部２１２は、撮影画像３０１の消失点３５０から代表点２３の方向に伸びる半直線３５２上にある点であって、次の式（１）を満たす点を、補正後の代表点３５１と決定する。
（識別コード２０ｂの代表点２３と消失点３５０との距離  ／  識別コード２０ｂの補正後の代表点３５１と消失点３５０との距離）  ＝  （撮影画像３０１における識別コード２０の代表サイズ２４  ／  基準サイズ）  ・・・  （１）
【００４０】
消失点３５０は、保管場所１０において平行な線が撮影画像３０１において交わる点である。本実施形態では消失点３５０を撮影画像３０１の中心点とする。式（１）における距離とは、撮影画像３０１における距離である。基準サイズは、基準となる平面に識別コード２０が配置されているときの撮影画像３０１における識別コード２０の代表サイズである。基準サイズが、撮影画像３０１における識別コード２０の凹凸位置補正の基準のサイズとなる。基準サイズとして任意の値を使うことができるが、本実施形態では、生成部２１２は、直近のステップＳ１０２で取得された撮影画像３０１に写された識別コード２０の代表サイズのうち、最も小さい代表サイズを基準サイズとする。
生成部２１２は、直近のステップＳ１０４で取得された全ての識別コード２０について、凹凸位置補正を行って、代表位置を補正する。ただし、代表サイズが基準サイズと等しい識別コード２０については、凹凸位置補正を行わなくてもよい。
【００４１】
ステップＳ１０９において、生成部２１２は、直近のステップＳ１０２で取得された撮影画像３０１に写された物品１２の配置を判定する。ステップＳ１０９において、生成部２１２は、直近のステップＳ１０８で代表位置が補正されたとき、識別コード２０の代表位置として、直近のステップＳ１０８で補正された代表位置を使う。
【００４２】
ここで、図１４を参照して、撮影画像３０１における物品１２の配置の判定方法を説明する。図１４は、撮影画像における物品１２の配置の判定方法を説明する図である。
１個の物品１２には１つの識別コード２０が付されているため、生成部２１２は、識別コード２０の配置を判定することで、物品１２の配置を判定することになる。
まず、生成部２１２は、一対の識別コード２０が隣接可能な隣接方向を、配置種別情報に基づいて決定する。本実施形態では、配置種別情報は正方格子状を表す。したがって、図１４から分かるように、隣接方向は、上方向、下方向、左方向、及び、右方向である。このように隣接方向は複数定められる。
次に、生成部２１２は、それぞれの識別コード２０について、隣接方向ごとに隣接範囲２５を決定する。ここで、任意の１つの識別コード２０を基準識別コードと呼ぶと、基準識別コードの隣接範囲２５は、基準識別コードに隣接する識別コード２０の代表点がとりえる範囲である。
例えば、図１４の中央にある識別コード２０ｃを基準識別コードとする。このとき、基準識別コードの上方向の隣接範囲２５は、隣接範囲２５ａである。同様に、基準識別コードの下方向、左方向、及び、右方向の隣接範囲２５は、それぞれの隣接範囲２５ｂ、隣接範囲２５ｃ、及び、隣接範囲２５ｄである。
【００４３】
生成部２１２は、次のように隣接範囲２５を決定する。
隣接方向ごとに、隣接方向に隣接した一対の識別コード２０の距離を表す比例定数であるコード間距離定数が予め定められている。また、隣接範囲の大きさを表す比例定数である隣接範囲比例定数が予め定められている。
まず、生成部２１２は、撮影画像３０１における識別コード２０の大きさとコード間距離定数とに基づいて、コード間距離を決定する。また、生成部２１２は、撮影画像３０１における識別コード２０の大きさと隣接範囲比例定数とに基づいて、隣接範囲サイズを決定する。本実施形態では、凹凸位置補正が行われているため、撮影画像３０１における識別コード２０の大きさとして基準サイズが使われる。このため、生成部２１２は、基準サイズとコード間距離定数とを乗算した値をコード間距離と決定する。また、生成部２１２は、基準サイズと隣接範囲比例定数とを乗算した値を隣接範囲サイズと決定する。
【００４４】
次に、生成部２１２は、それぞれの識別コード２０について、隣接方向ごとに、識別コード２０の代表点から隣接方向にコード間距離の位置にある隣接点を決定する。識別コード２０の代表点から隣接点までの線を隣接線２６と呼ぶ。隣接線２６の長さがコード間距離である。
図１４の例では、中央の識別コード２０ｃの上方向の隣接線２６は、識別コード２０ｃの代表点２３ｃから上方向に伸びる隣接線２６ａである。同様に、下方向、左方向、及び、右方向の隣接線２６は、それぞれの隣接線２６ｂ、隣接線２６ｃ、及び、隣接線２６ｄである。
次に、生成部２１２は、それぞれの隣接点を中心として、大きさが隣接範囲サイズとなる隣接範囲２５を決定する。したがって、コード間距離の決定により、隣接方向ごとの隣接範囲２５の位置が定まることになる。本実施形態では、隣接範囲２５は、例えば矩形であり、隣接範囲２５の大きさは、矩形の１辺の長さとする。ただし、隣接範囲２５を円とし、隣接範囲２５の大きさを円の半径等としてもよい。隣接範囲２５は他の形状でもよく、隣接範囲２５の大きさは、隣接範囲２５の形状ごとに定められる。
生成部２１２は、以上のように隣接範囲２５を決定する。
【００４５】
生成部２１２は、隣接範囲２５を決定した後、隣接範囲２５に含まれる代表点があるか否かを判定する。隣接範囲２５に含まれる代表点があるとき、生成部２１２は、この代表点に対応する識別コード２０が、基準識別コードの隣接範囲２５に対応する隣接方向に隣接すると判定する。また、生成部２１２は、隣接範囲２５が撮影画像の範囲に含まれ、かつ、この隣接範囲２５に代表点が含まれないとき、生成部２１２は、この隣接範囲２５に対応する隣接方向には、基準識別コードと隣接する識別コード２０が無いと判定する。
【００４６】
例えば、図１４の例では、基準識別コードを識別コード２０ｃとしたとき、上方向の隣接範囲２５ａには、識別コード２０ｄの代表点２３ｄが含まれる。したがって、生成部２１２は、識別コード２０ｃの上方向に識別コード２０ｄが隣接すると判定する。
同様に、生成部２１２は、識別コード２０ｃの下方向の隣接範囲２５ｂ、左方向の隣接範囲２５ｃ、及び、右方向の隣接範囲２５ｄには、それぞれ、識別コード２０ｅの代表点２３ｅ、識別コード２０ｆの代表点２３ｆ、及び、識別コード２０ｇの代表点２３ｇが含まれる。したがって、生成部２１２は、識別コード２０ｃの下方向に識別コード２０ｅが隣接し、識別コード２０ｃの左方向に識別コード２０ｆが隣接し、識別コード２０ｃの右方向に識別コード２０ｇが隣接すると判定する。
【００４７】
生成部２１２は、撮影画像３０１に写された全ての識別コード２０を基準識別コードとしてここで説明した判定を行うことで、撮影画像３０１に写された全ての識別コード２０の配置を特定して、画像内配置情報を生成する。
ここで、図１５（ａ）を参照して、画像内配置情報について説明する。図１５（ａ）は、画像内配置情報の例を示す図である。画像内配置情報は、直近のステップＳ１０２で取得された撮影画像に写された識別コード２０の配置を表す情報である。画像内配置情報は、識別ＩＤで表されており、正方格子状に隣接する識別コード２０の配置の関係を表す。
図１５（ａ）に示す例では、下段に左側から順に識別ＩＤ「９」、「１００」、「１０」が記録された識別コード２０が配置され、上段に左側から順に識別ＩＤ「３」、「４」が記録された識別コード２０が配置されていることを表す。また、「×」は、「×」に対応する位置には識別コード２０が配置されていないことを表す。また、識別ＩＤ「９」が記録された識別コード２０の上方向に識別ＩＤ「３」が記録された識別コード２０が配置されていることを表す。
【００４８】
ステップＳ１１０において、生成部２１２は、読取配置情報を更新する。より具体的には、生成部２１２は、次の処理を行う。初回のステップＳ１１０において、生成部２１２は、読取配置情報を直近のステップＳ１０９で生成された画像内配置情報と同じ内容に設定する。２回目以降のステップＳ１１０において、生成部２１２は、既存の読取配置情報と直近のステップＳ１０９で生成された画像内配置情報とを組み合わせて、新たな読取配置情報とする。新たな読取配置情報が更新された読取配置情報である。
図１５（ａ）、（ｂ）、（ｃ）を参照して、既存の読取配置情報と画像内配置情報との組み合わせ方法について説明する。図１５（ａ）は、画像内配置情報の例を示す図である。図１５（ｂ）は、既存の読取配置情報の例を示す図である。図１５（ｃ）は、更新された新たな読取配置情報の例を示す図である。
【００４９】
生成部２１２は、既存の読取配置情報と画像内配置情報とを、同じ識別コード２０を基準にして組み合わせて、新たな読取配置情報とする。より具体的には、読取配置情報、及び、画像内配置情報は、それぞれ識別コード２０に記録された識別ＩＤで表されるため、生成部２１２は、既存の読取配置情報と画像内配置情報とを、同じ識別ＩＤを基準にして組み合わせて、新たな読取配置情報とする。
生成部２１２は、新たな読取配置情報を生成する際に、既存の読取配置情報の識別ＩＤに対応する位置についての識別ＩＤが画像内配置情報にないとき、この位置についての新たな読取配置情報の識別ＩＤには、既存の読取配置情報の識別ＩＤを使う。これにより、直近のステップＳ１０４で識別コード２０が読取れなかった場合でも、過去に読取った識別コード２０の識別ＩＤが破棄されることを回避できる。
【００５０】
図１５（ｂ）に示す既存の読取配置情報は、下段に左側から順に識別ＩＤ「７」、「８」、「９」が記録された識別コード２０が配置され、上段に左側から順に識別ＩＤ「１」、「２」、「３」が記録された識別コード２０が配置されていることを表す。また、識別ＩＤ「７」が記録された識別コード２０の上方向に識別ＩＤ「１」が記録された識別コード２０が配置されていることを表す。
生成部２１２は、画像内配置情報と既存の読取配置情報とに共通する識別ＩＤを基準に、画像内配置情報と既存の読取配置情報とを組み合わせて、新たな読取配置情報を生成することで、読取配置情報を更新する。
図１５の例では、図１５（ａ）の画像内配置情報と、図１５（ｂ）の既存の読取配置情報とには、共通する識別ＩＤ「３」、「９」が含まれる。そこで、生成部２１２は、共通する識別ＩＤ「３」、「９」が重なるように、画像内配置情報と既存の読取配置情報とを組み合わせて、図１５（ｃ）に示す新たな読取配置情報を生成することで、読取配置情報を更新する。
【００５１】
ステップＳ１１１において、生成部２１２は、配置図更新処理を行う。図１０を参照して、配置図更新処理について説明する。配置図更新処理は、読取結果画面３００の重畳配置表示３１０等を更新する処理である。
ステップＳ２００において、表示制御部２１３は、読取配置情報と予定配置情報とに重複する識別ＩＤがあるか否かを判定する。表示制御部２１３は、重複する識別ＩＤがあるとき処理をステップＳ２０１に進め、重複する識別ＩＤが無いとき処理をステップＳ２０２に進める。
【００５２】
ステップＳ２０１において、表示制御部２１３は、重複する識別ＩＤを基準にして読取配置情報と予定配置情報とを重ね合わせた情報に対応する重畳配置表示３１０を表示装置２０２に表示させる制御を行う。
ここで、読取配置情報が図１５（ｃ）に示すものであり、予定配置情報が図１１に示すものであり、直近に生成された画像内配置情報が図１５（ａ）に示すものであるとする。このとき、表示制御部２１３は、例えば重複する識別ＩＤ「１」を基準にして、読取配置情報と予定配置情報とを重ね合わせた情報を生成する。そして、表示装置２０２は、図６に示すように、読取配置情報と予定配置情報とを重ね合わせた情報に対応する重畳配置表示３１０を生成して、表示装置２０２に表示させる制御を行う。
【００５３】
なお、表示制御部２１３は、読取配置情報と予定配置情報とを重ね合わせたときの相違識別ＩＤ数が最小になるように、読取配置情報と予定配置情報とを重ね合わせて、重畳配置表示３１０を生成してもよい。相違識別ＩＤ数は、読取配置情報の識別ＩＤと読取配置情報の識別ＩＤに対応する位置の予定配置情報の識別ＩＤとが相違する、という条件を満たす読取配置情報の識別ＩＤの数、又は、予定配置情報の識別ＩＤの数である。
【００５４】
重畳配置表示３１０を生成する際に、表示制御部２１３は、読取配置情報の識別ＩＤが、読取配置情報の識別ＩＤに対応する位置についての予定配置情報の識別ＩＤと同じか否かに基づいて、読取配置情報の識別ＩＤの表示を変更する制御を行う。この制御により、読取配置情報の識別ＩＤが、不一致マーク３１４で表示されるか否かが定まる。
また、表示制御部２１３は、読取配置情報の識別ＩＤと、読取配置情報の識別ＩＤに対応する位置についての予定配置情報の識別ＩＤとが同じ場合、読取配置情報の識別ＩＤが、直近に撮影された撮影画像から読取られた識別コード２０に記録されたものか否か、すなわち、直近に生成された画像内配置情報に含まれるか否かに基づいて、読取配置情報の識別ＩＤの表示を変更する制御を行う。この制御により、読取配置情報の識別ＩＤが、直近読取マーク３１２で表示されるか過去読取マーク３１３で表示されるかが定まる。
また、表示制御部２１３は、読取配置情報の識別ＩＤと、読取配置情報の識別ＩＤに対応する位置についての予定配置情報の識別ＩＤと、が異なる場合、読取配置情報の識別ＩＤが予定配置情報に含まれるか否か基づいて、読取配置情報の識別ＩＤに対応する表示を変更する制御を行う。さらに、表示制御部２１３は、予定配置情報に含まれる識別ＩＤに対応する位置についての読取配置情報の識別ＩＤがあるか否か基づいて、読取配置情報の識別ＩＤに対応する表示を変更する制御を行う。この制御により、読取配置情報の識別ＩＤが、第１不一致マーク３１４ａ、第２不一致マーク３１４ｂ、及び、第３不一致マーク３１４ｃの何れで表示されるかが定まる。
【００５５】
図１５（ｃ）に示す読取配置情報の識別ＩＤ「１」、「２」、「７」、「８」は、図１１に示す予定配置情報の識別ＩＤ「１」、「２」、「７」、「８」と同じ位置にあり、図１５（ａ）の直近に生成された画像内配置情報に含まれない。したがって、表示制御部２１３は、図６に示すように、重畳配置表示３１０において、読取配置情報の識別ＩＤ「１」、「２」、「７」、「８」を過去読取マーク３１３で表示する制御を行う。
また、図１５（ｃ）に示す読取配置情報の識別ＩＤ「３」、「４」、「９」は、図１１に示す予定配置情報の識別ＩＤ「３」、「４」、「９」と同じ位置にあり、図１５（ａ）に示す直近に生成された画像内配置情報に含まれる。したがって、表示制御部２１３は、図６に示すように、重畳配置表示３１０において、読取配置情報の識別ＩＤ「３」、「４」、「９」を直近読取マーク３１２で表示する制御を行う。
【００５６】
また、図１５（ｃ）に示す読取配置情報の識別ＩＤ「１００」は、この識別ＩＤに対応する位置についての図１１に示す予定配置情報の識別ＩＤ「１０」と異なる。さらに、識別ＩＤ「１００」は、図１１に示す予定配置情報に含まれない。したがって、表示制御部２１３は、図６に示すように、重畳配置表示３１０において、読取配置情報の識別ＩＤ「１００」を第３不一致マーク３１４ｃで表示する制御を行う。
また、図１５（ｃ）に示す読取配置情報の識別ＩＤ「１０」は、この識別ＩＤに対応する位置についての図１１に示す予定配置情報の識別ＩＤ「１１」と異なる。さらに、識別ＩＤ「１０」は、図１１に示す予定配置情報に含まれる。したがって、表示制御部２１３は、図６に示すように、重畳配置表示３１０において、読取配置情報の識別ＩＤ「１０」を第２不一致マーク３１４ｂで表示する制御を行う。
【００５７】
また、図１５（ｃ）に示す読取配置情報は、識別ＩＤ「４」に対応する識別コード２０の右方向には識別コード２０が存在しないことを表す。一方、図１１に示す予定配置情報では、識別ＩＤ「４」の物品１２の右方向には識別ＩＤ「５」の物品１２が存在することを表す。このため、表示制御部２１３は、図６に示すように、重畳配置表示３１０において、予定配置情報の識別ＩＤ「５」に対応する位置に第１不一致マーク３１４ａを表示する制御を行う。
【００５８】
ステップＳ２０２において、表示制御部２１３は、図７に示すように、予定配置情報に対応する予定配置表示３１１のみが表示された重畳配置表示３１０と、読取配置情報に対応する読取配置表示３３０を、表示装置２０２に表示させる制御を行う。
例えば、直近に生成された画像内配置情報が図１５（ａ）に示すものであり、読取配置情報が図１５（ｃ）に示すものであり、読取配置情報と予定配置情報とに重複する識別ＩＤが無い場合を考える。
表示制御部２１３は、図７に示すように、読取配置表示３３０において、図１５（ａ）に示す直近に生成された画像内配置情報に含まれず、図１５（ｃ）に示す読取配置情報にのみ含まれる識別ＩＤ「１」、「２」、「７」、「８」に対応する識別コード２０を過去読取マーク３１３で表示する制御を行う。
また、表示制御部２１３は、図７に示すように、読取配置表示３３０において、図１５（ａ）に示す直近に生成された画像内配置情報に含まれる識別ＩＤ「３」、「４」、「９」、「１００」、「１０」に対応する識別コード２０を直近読取マーク３１２で表示する制御を行う。
【００５９】
図９に戻って、配置解析処理の説明を続ける。
ステップＳ１１２において、制御部２１４は、配置解析処理を終了するか否かを判定する。制御部２１４は、配置解析処理を終了するとき図９に示す処理を終了し、配置解析処理を終了しないとき処理をステップＳ１０２に戻す。
制御部２１４は、スマートデバイス１１０の入力装置２０４が終了を表す所定の操作を受け付けたとき、配置解析処理を終了すると判定する。
制御部２１４は、読取部２１１が、棚１１に付された識別コード２０ｓを読取ったときに配置解析処理を終了すると判定してもよく、その他条件を満たすときに配置解析処理を終了すると判定してもよい。
【００６０】
以上説明したように、生成部２１２は、それぞれの撮影画像における識別コード２０の配置を組み合わせた読取配置情報を生成する。したがって、識別コード２０が付された物品１２が多数あって、１つの撮影画像に全ての識別コード２０を写すことが困難な場合であっても、ユーザは、画像処理システム１００によって簡易に物品１２の配置情報を取得できる。
また、生成部２１２は、識別コード２０の代表点と、識別コード２０ごとに定められる隣接範囲２５とに基づいて、識別コード２０の配置を決定する。したがって、生成部２１２は、簡易な方法で識別コード２０の配置を決定できるため、スマートデバイス１１０の処理負荷を抑えられる。
【００６１】
また、隣接範囲２５のサイズは、基準サイズに基づいて決定される。したがって、撮影画像に写される識別コード２０のサイズがどのようなものであっても正確に隣接範囲２５を決定でき、精度よく識別コード２０の配置を決定できる。
また、生成部２１２は、凹凸位置補正を行う。したがって、物品１２が前後にずれて保管されていても、生成部２１２は、精度よく識別コード２０の配置を決定できる。
また、表示制御部２１３は、重畳配置表示３１０を表示する制御を行う。したがって、ユーザは、重畳配置表示３１０を参照することで、予定されている物品１２の配置と、保管場所１０における実際の物品１２の配置とを容易に比較でき、正しく配置されていない物品１２を簡単に特定できる。
また、姿勢センサ２０３の検知に基づいて、自機の姿勢が所定の許容される姿勢ではないとき、制御部２１４は、生成部２１２が読取配置情報を生成しないように制御する。したがって、識別コード２０の配置の誤認を防止できる。
【００６２】
なお、図１０のステップＳ２０２において、表示制御部２１３は、予定配置情報に対応する予定配置表示３１１のみが表示された重畳配置表示３１０を表示装置２０２に表示させる制御を行い、読取配置表示３３０を表示装置２０２に表示させる制御は行わなくてもよい。この場合、図７に示す読取配置表示３３０には、読取配置表示３３０が表示されない。これにより、読取結果画面３００の表示がシンプルになり、ユーザが読取結果画面３００を確認しやすくなる。また、予定配置表示３１１に直近読取マーク３１２や過去読取マーク３１３が表示されないことから、ユーザは、物品１２が保管場所４０に予定通りに保管されていないことを認識できる。
【００６３】
＜第２実施形態＞
次に、本実施形態の画像処理システム１００について説明する。上記の実施形態と同様の点は、同じ符号を付して説明を省略する。
上記の実施形態では、物品１２の端面は略正方形の四角柱の形状であり、配置種別情報は正方格子状を表すものであった。しかし、本実施形態の物品４２は、図１６に示すように円柱の形状である。それぞれの物品４２は、保管場所４０において、長手方向が水平になり、長手方向が互いに平行になるように、左右、及び、上下に並べられている。このように配置された物品４２を、物品４２の長手方向の側から見ると、物品４２は六角格子状に配置されている。このため、本実施形態での配置種別情報は、六角格子状を表す。
本実施形態の予定配置情報は、物品４２の識別ＩＤで表されており、六角格子状に隣接する物品４２の配置の関係を表す。また、本実施形態の読取配置情報、及び、画像内配置情報は、識別コード５０の識別ＩＤで表されており、六角格子状に隣接する識別コード２０の配置の関係を表す。読取配置情報、及び、画像内配置情報の識別コード２０は、スマートデバイス１１０が撮影画像から読取ったものである。
【００６４】
次に、図１７を参照して、撮影画像３０１における物品４２の配置の判定方法を説明する。図１７は、撮影画像３０１における物品４２の配置の判定方法を説明する図である。
まず、生成部２１２は、一対の識別コード２０が隣接可能な隣接方向を、配置種別情報に基づいて決定する。本実施形態では、配置種別情報は六角格子状を表す。したがって、図１７から分かるように、隣接方向は、左上方向、右上方向、左下方向、右下方向、左方向、及び、右方向である。
次に、生成部２１２は、それぞれの識別コード５０について、隣接方向ごとに隣接範囲５５を決定する。ここで、任意の１つの識別コード５０を基準識別コードと呼ぶと、基準識別コードの隣接範囲５５は、基準識別コードに隣接する識別コード５０の代表点がとりえる範囲である。
【００６５】
例えば、図１７の中央にある識別コード５０ａを基準識別コードとする。このとき、基準識別コードの左上方向の隣接範囲は、隣接範囲５５である。また、識別コード５０ａの代表点５３を代表点５３ａとする。
隣接範囲５５の決定方法は、上記の実施形態と同様である。すなわち、生成部２１２は、隣接点を決定して、隣接点を中心として隣接範囲サイズの大きさになる隣接範囲５５を決定する。識別コード５０の代表点から隣接点までの線を隣接線５６と呼ぶ。
【００６６】
生成部２１２は、隣接範囲５５を決定した後、上記の実施形態と同様に、隣接範囲５５に含まれる代表点があるか否かに基づいて、基準識別コードと隣接する識別コード５０を決定する。
例えば、図１７の例では、基準識別コードを識別コード５０ａとしたとき、左上方向の隣接範囲５５には、識別コード５０ｂの代表点５３ｂが含まれる。したがって、生成部２１２は、識別コード５０ａの左上方向に識別コード５０ｂが隣接すると判定する。
【００６７】
次に、図１８を参照して、本実施形態の読取結果画面４００について説明する。本実施形態の読取結果画面４００は、図５等を参照して説明した読取結果画面３００と同様である。ただし、本実施形態の読取結果画面４００の重畳配置表示４１０は、物品４２、及び、識別コード５０が六角格子状に配置されること表す表示になっている。
【００６８】
以上説明したように、物品４２や識別コード５０が六角格子状に配置される場合であっても、生成部２１２は、精度よく識別コード５０の配置を決定できる。
また、上記の実施形態と同様に、識別コード５０が付された物品４２が多数あって、１つの撮影画像に全ての識別コード５０を写すことが困難な場合であっても、ユーザは、画像処理システム１００によって簡易に物品４２の配置情報を取得できる。
【００６９】
＜第３実施形態＞
次に、本実施形態の画像処理システム１００について説明する。上記の実施形態と同様の点は、同じ符号を付して説明を省略する。
本実施形態では、読取結果画面５００が上記実施形態と異なる。図１９を参照して、本実施形態の読取結果画面５００について説明する。
本実施形態の読取結果画面５００は、図５や図６の読取結果画面３００とは異なり、重畳配置表示３１０の代わりに、読取配置表示３３０が表示される。読取結果画面５００の読取配置表示３３０は、図７に示した読取配置表示３３０と同様のものである。
本実施形態の情報取得部２１５は、管理装置１２０から配置種別情報を取得し、予定配置情報は取得しない。また、本実施形態の表示制御部２１３は、重畳配置表示３１０を表示する制御は行わず、読取配置表示３３０を表示する制御を行う。
本実施形態では、予定配置情報が無い場合や、予定配置情報が取得できない場合であっても、ユーザは、画像処理システム１００によって簡易に物品１２の配置情報を取得できる。
【００７０】
＜その他の実施形態＞
スマートデバイス１１０は、配置解析処理の終了後に、読取配置情報を管理装置１２０等の外部装置に送信してもよい。
また、上記の実施形態では、配置解析処理、及び、配置図更新処理を１台のスマートデバイス１１０が実行する。しかし、複数の情報処理装置が分担して配置解析処理、及び、配置図更新処理を行ってもよい。
また、物品１２や識別コード２０の配置は、上記の正方格子状や六角格子状に限定されるものではなく、これら以外であってもよい。スマートデバイス１１０は、配置種別情報に基づいて、上記の隣接方向を決定し、読取配置情報を生成できる。
また、スマートデバイス１１０は、ユーザの指示等に基づいて、第１実施形態や第２実施形態のように読取結果画面３００に重畳配置表示３１０を表示する動作モードと、第３実施形態のように読取結果画面５００には重畳配置表示３１０を表示せずに読取配置表示３３０を表示する動作モードとを切り替える制御を行ってもよい。
【００７１】
また、上記の実施形態では、スマートデバイス１１０は、正常な姿勢ではないとき、撮影画像に基づいた重畳配置表示３１０の更新等は行わない。しかし、スマートデバイス１１０は、正常な姿勢ではないとき、直近の撮影画像を補正して、補正した撮影画像に基づいて重畳配置表示３１０の更新等を行ってもよい。撮影画像の補正は、撮影画像の撮影時の自機の姿勢が正常な姿勢であったときの撮影画像に近づける補正である。例えば、スマートデバイス１１０が水平方向に対して傾いているとき、スマートデバイス１１０は、画像をスマートデバイス１１０が傾いた方向とは反対方向に傾ける補正を行う。
【００７２】
本発明は、上記の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００７３】
１２  物品、２０  識別コード、１００  画像処理システム、１１０  スマートデバイス、３００  読取結果画面、３０１  撮影画像、３１０  重畳配置表示、３２０  姿勢ガイダンス
【図１】
2018097773.tif 000003
【図２】
2018097773.tif 000004
【図３】
2018097773.tif 000005
【図４】
2018097773.tif 000006
【図５】
2018097773.tif 000007
【図６】
2018097773.tif 000008
【図７】
2018097773.tif 000009
【図８】
2018097773.tif 000010
【図９】
2018097773.tif 000011
【図１０】
2018097773.tif 000012
【図１１】
2018097773.tif 000013
【図１２】
2018097773.tif 000014
【図１３】
2018097773.tif 000015
【図１４】
2018097773.tif 000016
【図１５】
2018097773.tif 000017
【図１６】
2018097773.tif 000018
【図１７】
2018097773.tif 000019
【図１８】
2018097773.tif 000020
【図１９】
2018097773.tif 000021