以下、適宜図面を参照しながら、実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。尚、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
(第1の実施形態)
図1は、第1の実施形態における荷物検品システム5の構成例を示すブロック図である。荷物検品システム5は、カメラ10と、集線装置20と、照明装置30と、管理装置100と、サーバ200と、を備える。荷物検品システム5は、検品対象の1つ以上の荷物50(図2参照)を検品する。
カメラ10は、検品対象の荷物50を撮像する。カメラ10は、1台でも複数でもよく、本実施形態では、一例として4台設けられることを主に例示する。荷物50は、例えば直方体の形状(例えば段ボールの形状)を有する。この場合、荷物50は、4つの側面を有する。4台のカメラ10は、この荷物50の4つの側面のそれぞれを撮像可能に配置される。
カメラ10は、ズーム機能又はAF(AutoFocus)機能等を有し、カメラ10と荷物50との位置関係に応じて柔軟に設定可能である。カメラ10は、例えば、パン、チルト、及びズーム機能を有するPTZカメラでよい。この場合、カメラ10は、ズーム倍率の変更による撮像範囲の拡大及び縮小、パン又はチルトよる撮像範囲の様々な方向への移動、等が可能である。そのため、カメラ10は、カメラ10の撮像範囲を、検品対象の1つ以上の荷物50の全体が映される全体撮像範囲とすることも、特定の荷物50付近が限定して映される特定撮像範囲とすることも可能である。なお、カメラ10は、パン及びチルト機能を有していなくてもよい。
カメラ10は、例えば、倉庫における荷物50の搬入、搬出、又は棚卸が実施される場所に設置され、固定位置に設置されてよい。この固定位置には、壁面、天井面、床面、又は台上等が含まれる。カメラ10は、例えば、プロセッサ、撮像デバイス、通信デバイス、及びメモリを含んで構成される。
集線装置20は、カメラ10と管理装置100とを電気的に接続し、通信可能に接続する。集線装置20は、ハブ、スイッチングハブ(レイヤ2スイッチ)又はレイヤ3スイッチ等であってよい。
照明装置30は、検品対象の荷物50を照明する。照明装置30は、荷物50を照明することで、カメラ10による荷物50の撮像に必要な荷物50周辺の明るさを確保し易くなる。照明装置30は、1つでも複数でもよい。また、照明装置30は、カメラ10とは別に設けられてもカメラ10に含まれてもよい。また、照明装置30は、カメラ10と同期して動作してもよい。照明装置30は、例えば、照明デバイス、プロセッサ、通信デバイス、及びメモリを含んで構成される。
管理装置100は、検品対象の荷物50を検品する。管理装置100は、荷物検品システム5に含まれる各装置(例えばカメラ10、照明装置30、サーバ200)を管理し、これらの各装置と連動して、荷物50を検品してよい。管理装置100は、例えばPC(Personal Computer)により構成される。なお、管理装置100は、カメラ10と有線通信又は無線通信可能に接続されてもよい。管理装置100は、照明装置30と有線通信又は無線通信可能に接続されてもよい。管理装置100は、サーバ200と有線通信又は無線通信可能に接続されてもよい。
図1に示すように、管理装置100は、プロセッサ110、通信デバイス120、メモリ130、操作デバイス140、及び表示デバイス150を備える。
プロセッサ110は、MPU(Micro processing Unit)、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、又はGPU(Graphical Processing Unit)等を含む。プロセッサは、各種集積回路(例えばLSI(Large Scale Integration)、FPGA(Field Programmable Gate Array))により構成されてもよい。プロセッサ110は、メモリ130に保持されたプログラムを実行することで、各種機能を実現する。プロセッサ110は、管理装置100の各部を統括的に制御し、各種処理を行う。
例えば、プロセッサ110は、カメラ10による撮像条件を決定する。撮像条件の情報は、ズームに関するズーム情報(例えばズーム倍率)、フォーカスに関するフォーカス情報(例えば焦点位置)、又はその他の撮像に関する情報(例えば撮像のタイミング、撮像範囲、シャッタスピード、ISO感度、又は絞り値の情報)を含んでよい。プロセッサ110は、操作デバイス140を介して操作情報を取得し、操作情報に基づいて撮像条件を決定してよい。これにより、管理装置100のユーザ(例えば管理者、検品者)が、所望の撮像条件を生成可能である。プロセッサ110は、各荷物50とカメラ10の位置関係(例えば距離、角度)又は検品位置の環境(例えば明るさ)等に基づいて、撮像条件を演算により決定してもよい。
プロセッサ110は、照明装置30による照明条件を決定する。照明条件の情報は、照明のタイミング、照明範囲、照明パターン、照明光の色、照明光の光量、又はその他の照明に関する情報を含んでよい。プロセッサ110は、操作デバイス140を介して操作情報を取得し、操作情報に基づいて照明条件を決定してよい。これにより、管理装置100のユーザが、所望の照明条件を生成可能である。プロセッサ110は、各荷物50とカメラ10の位置関係(例えば距離、角度)又は検品位置の環境(例えば明るさ)等に基づいて、照明条件を演算により決定してもよい。また、照明装置30による照明は、カメラ10による撮像と連動してよい。そのため、照明条件は、カメラ10による撮像時の照明条件であってよい。照明装置30による照明条件は、カメラ10による撮像条件に含まれてもよい。
通信デバイス120は、各種データ又は情報等を通信する。通信デバイス120による通信方式は、有線通信又は無線通信の方式でよく、LAN(Local Area Network)、WAN(Wide Area Network)、電力線通信、又は携帯電話用のセルラー通信(例えば5G、LTE(Long Term Evolution))等の通信方式を含んでよい。例えば、通信デバイス120は、決定された撮像条件をカメラ10に送信してよい。通信デバイス120は、決定された照明条件を照明装置30に送信してよい。
メモリ130は、一次記憶装置(例えばRAM(Random Access Memory)又はROM(Read Only Memory))を含む。メモリ130は、二次記憶装置(例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive))や三次記憶装置(例えば光ディスク又はSDカード)を含んでよい。メモリ130は、その他の記憶装置を含んでよい。メモリ130は、各種データ又は情報等を保持する。
操作デバイス140は、各種ボタン、キー、スイッチ、タッチパネル、タッチパッド、マイクロホン、又はその他の操作デバイス(入力デバイス)を含んでよい。操作デバイス140は、各種データ又は情報等の入力を受け付ける。
表示デバイス150は、液晶表示デバイス、有機ELデバイス、又はその他の表示デバイスを含んでよい。表示デバイス150は、各種データ又は情報等を表示する。
サーバ200は、荷物50に関する荷物情報、パレット60(荷台の一例)に関するパレット情報、等を保持する。パレット60は、荷物50の検品時に荷物50が載置されて運搬される荷台の一例であり、フォークリフトによる移動が可能である。荷物情報は、例えば、荷物50の識別情報(荷物ID)、荷物50のサイズ情報、荷物50の重さ情報、荷物50の倉庫内の保管位置情報が含まれてよい。パレット情報は、例えば、パレット60の識別情報(パレットID)、パレット60のサイズ情報、パレット60の重さ情報、又はパレット60に載置可能な荷物50の最大載置可能数や最大載置可能重量の情報が含まれてよい。また、サーバ200は、荷物情報とパレット情報とを関連付けて保持しており、パレット60の上に存在すべき荷物50の情報を保持している。つまり、サーバ200は、パレット60を特定することができれば、パレット60に存在すべき荷物50を特定することができ、パレット60上の荷物50を特定できれば、パレット60を特定することができる。この場合、荷物IDとパレットIDとが関連付けられていてよい。サーバ200は、プロセッサ、通信デバイス、及びメモリ等を有する。
図2は、カメラ10により検品対象の荷物50を撮像する様子の一例を示す模式図である。図2では、説明のため、前後左右上下の方向の一例が矢印により示されている。
荷物50の検品時には、所定の検品位置に、検品対象の1つ以上の荷物50が載置されたパレット60が配置される。検品位置にパレット60が配置されると、パレット60及びパレット60に載置された1つ以上の荷物50の全体が、カメラ10により撮像されることが可能である。1つのパレット60に載置された一群の検品対象の荷物50に対する検品が終了すると、検品位置からパレット60及び荷物50が退出し、次の検品対象のパレット60及び荷物50が検品位置に進入する。このような検品対象のパレット60及び荷物50の進入及び退出が順番に繰り返され、多数の荷物50を流れ作業で検品可能である。
図2では、パレット60に載置された荷物50に対する四方に、4つのカメラ10が設置されている。例えば、図2では、検品位置に配置された荷物50の側面のうちの前面、後面、左面、及び右面に対向して、4つのカメラ10が配置されている。荷物50が複数存在する場合、複数の荷物50が同じサイズでよい。なお、前面に対向するカメラ10を前方カメラとも称する。後面に対向するカメラ10を後方カメラとも称する。左面に対向するカメラを左方カメラとも称する。右面に対向するカメラ10を右方カメラとも称する。なお、図には示していないが、パレット60を配置する場所に回転台を用意しておくことで、荷物50の配置を容易にすることができる。
各荷物50には、カメラ10により撮像可能な荷物50の外面のいずれかに(図2では前面に)、荷物50を特定するための荷物コード55が付されている。荷物コード55は、例えば一次元コード(例えばバーコード)、二次元コード(例えばQRコード(登録商標))あるいは三次元コード(例えばPMコード(登録商標))で構成されてよい。
図2に示すように、荷物コード55がラベル52に記されて、ラベル52が荷物50に貼りつけられてもよい。この場合、ラベル52には、例えば荷物コード55が直接印刷されたり荷物コード55が示された別シール等が貼り付けられたりすることで、荷物コード55が記されてよい。ラベル52は、荷物50に対して所定の位置に配置される。荷物50に対するラベル52の相対位置の情報は、管理装置100のメモリ130に保持されていてよい。荷物コード55は、ラベル52に対して所定の位置に配置される。ラベル52に対する荷物コード55の相対位置の情報は、管理装置100のメモリ130に保持されていてよい。
また、荷物コード55が直接荷物50に記されてもよい。この場合、荷物50には、例えば荷物コード55が直接印刷されたり荷物コード55が示された別シール等が貼り付けられたりすることで、荷物コード55が記されてよい。荷物コード55は、荷物50に対して所定の位置に配置される。荷物50に対する荷物コード55の相対位置の情報は、管理装置100のメモリ130に保持されていてよい。
パレット60は、カメラ10により撮像可能なパレット60の外面のいずれかに(図2では前面に)、パレット60を特定するためのパレットコード65が付されている。パレットコード65は、例えば一次元コード(例えばバーコード)、二次元コード(例えばQRコード(登録商標))あるいは三次元コード(PMコード(登録商標))で構成されてよい。パレット60には、例えばパレットコード65が直接印刷されたりパレットコード65が示された別シール等が貼り付けられたりすることで、パレットコード65が記されてよい。
各荷物50は、各荷物50の複数の側面のうち同一方向の側面(例えば前面)に荷物コード55が位置するように、パレット60に載置されてよい。また、パレット60に記されたパレットコード65が位置する側面は、荷物50に記された荷物コード55が位置する側面と同一方向の側面(例えば前面)であってよい。この場合、前方カメラによりパレット60及び荷物50を撮像可能であるので、カメラ10が1つであってもよい。この場合、荷物検品システム5は、カメラ10の設置台数を低減できる。
また、各荷物50に対して、それぞれ異なる方向の側面に荷物コードが位置してもよい。この場合でも、複数のカメラ10により異なる方向から撮像することで、荷物50の各側面に位置する荷物コード55を撮像可能である。したがって、作業者がパレット60に荷物50を載置する場合、この作業者は、パレット60に対する荷物50の向きを気にすることなくパレット60に荷物50を載置でき、荷物50の載置に要する時間を短縮できる。
荷物コード55は、少なくとも1つのカメラ10により撮像され、撮像画像又は撮像画像が加工された加工画像に基づいて読み取られ、荷物コード55に対応する荷物IDが識別される。
(プリセット情報)
プリセット情報について説明する。プリセット情報は、プリセット領域情報、撮像条件の情報及び照明条件の情報によって構成される。なお、照明条件の情報はあってもなくてもよい。
まず、プリセット領域情報について説明する。
図3Aは、全体撮像範囲CA1を構成するプリセット領域PRの第1例を示す図である。
図3Bは、全体撮像範囲CA1を構成するプリセット領域PRの第2例を示す図である。
管理装置100のプロセッサ110は、全体撮像範囲CA1を構成する複数のプリセット領域PRを決定する。プロセッサ110は、操作デバイス140を介して操作情報を取得し、操作情報に基づいて、プリセット領域PRを決定してよい。これにより、管理装置100のユーザが、所望のプリセット領域PRを生成可能である。また、プロセッサ110は、演算によりプリセット領域PRを決定してもよい。例えば、プロセッサ110は、全体撮像範囲CAに対する荷物コード55が占める領域のサイズに基づいて、プリセット領域PRのサイズを決定してよい。プロセッサ110は、全体撮像範囲CAに対する荷物コード55が占める領域のサイズが小さい程、プリセット領域PRのサイズを小さくしてよい。プロセッサ110は、全体撮像範囲CAに対する荷物コード55が占める領域のサイズが大きい程、プリセット領域PRのサイズを大きくしてよい。プロセッサ110は、決定されたプリセット領域PRに関するプリセット領域情報(例えば各プリセット領域の位置、各プリセット領域のサイズ、各プリセット領域の形状、又は隣接するプリセット領域同士の重複の有無)を、メモリ130に保持する。
次に、撮像条件の情報について説明する。プロセッサ110は、カメラ10の撮像条件として、フォーカス、パン、チルト、ズーム、エクスポージャ(露光)等を設定する。プリセット領域PR毎に、上記撮像条件を決定し、決定された撮像条件をメモリ130に保持する。
照明条件について説明する。プロセッサ110は、照明条件として、照明のタイミング、照明範囲、照明パターン、照明光の色、照明光の光量等を設定する。プロセッサ110は、プリセット領域PR毎に、照明条件を決定し、決定された照明条件をメモリ130に保持する。
このように決定された、プリセット領域情報、撮像条件の情報、及び照明条件の情報を含んで、プリセット情報を構成する。なお、プリセット領域情報、撮像条件の情報、及び照明条件の情報を関連付けされていてよい。プロセッサ110は、プリセット情報として、プロセッサ110により決定された情報をメモリ130に保持してよい。また、プロセッサ110は、自らプリセット情報を決定するのではなく、通信デバイス120を介して、外部装置から所定のプリセット情報を取得し、メモリ130に保持してもよい。また、撮像条件の情報が、プリセット領域情報を含んでもよい。
全体撮像範囲CAには検品対象の1つ以上の荷物50の全体が映るので、全体撮像範囲CAが撮像されると、少なくとも1つのプリセット領域PRに、荷物50に記された荷物コード55が映り込む。荷物コード55が映り込んだプリセット領域PRは、荷物50に記された荷物コード55を読み取るための領域でもあるので、読み取り領域PRα(図8A参照)とも称する。
図3Aでは、全体撮像範囲CA1が等分されて、同じサイズ且つ同じ形状の4つのプリセット領域PR1,PR2,PR3,PR4が定められている。各プリセット領域PRの範囲は、座標により定められてよい。例えば、プリセット領域PR1は、(x,y)座標等の座標情報で示されてよく、例えば(0,0)~(300,200)の座標範囲で示される。なお、複数のプリセット領域PRは、異なる形状又は異なるサイズで形成されてもよい。
また、図3Aでは、4つのプリセット領域PRは、隣接するプリセット領域PR(例えばプリセット領域PR1及びPR2、プリセット領域PR2及びPR4、プリセット領域PR4及びPR3、プリセット領域PR3及びPR1)の端部が相互に重複しないで隙間なく配列されている。
図3Bでは、全体撮像範囲CA1が等分されて、同じサイズ且つ同じ形状の4つのプリセット領域PR1A,PR2A,PR3A,PR4Aが定められている。図3Bにおいても、図3Aと同様に各プリセット領域PRの座標範囲で示されてよい。
また、図3Bでは、4つのプリセット領域PRは、隣接するプリセット領域PR(例えばプリセット領域PR1A及びPR2A、プリセット領域PR2A及びPR4A、プリセット領域PR4A及びPR3A、プリセット領域PR3A及びPR1A)の端部が相互に重複して配列されている。
例えば、荷物コード55の位置が、隣接するプリセット領域PRの境界付近の位置P1に存在するとする。この場合、プロセッサ110は、隣接するプリセット領域PRの少なくとも一方を読み取り領域PRαとしてよい。この場合でも、管理装置100は、隣接するプリセット領域PRの隣接する端部が相互に重複していることで、隣接する少なくとも一方のプリセット領域PRに対応する撮像条件に基づく読み取り画像によって、荷物コード55の読み取りに成功する確率(読み取り精度)を高くすることができる。
また、荷物コード55の位置が、隣接するプリセット領域PRの境界付近のP1に存在するとする。この場合、プロセッサ110は、隣接するプリセット領域PRの中心位置PROと荷物コード55の位置P1との距離が最短であるプリセット領域PRを、読み取り領域PRαとしてよい。図3Bでは、プロセッサ110は、隣接するプリセット領域PR1A,PR3Aのうち、プリセット領域PR3Aを読み取り領域PRαとしてよい。これにより、管理装置100は、位置P1にある荷物コード55を読み取りに成功する可能性の高いプリセット領域PRを選択して読み取り領域PRαに指定できるので、読み取り精度を高くしつつ、読み取り時間を短縮できる。
(プリセット情報決定処理)
次に、プリセット情報決定処理について説明する。
図4は、管理装置100によるプリセット情報決定処理時の動作例を示すフローチャートである。図5Aは、プリセット情報決定用の全体画像GA1の一例を示す図である。図5Bは、全体画像GA1を基に決定されたプリセット領域の一例を示す図である。
まず、カメラ10は、全体撮像範囲CA1を撮像範囲として、プリセット情報決定用の(プリセット領域PRを決定するための)全体画像GA1を撮像する。全体画像GA1には、検品対象の荷物50が映り込んでいる。カメラ10は、全体画像GA1を管理装置100に送信する。
管理装置100では、プロセッサ110は、通信デバイス120を介して、全体画像GA1をカメラ10から取得する(S1)。プロセッサ110は、全体画像GA1の画像範囲(つまり全体撮像範囲CA1)を格子状に分割して、複数のプリセット領域PRを決定する(S2)(図5B参照)。プロセッサ110は、プリセット領域PR毎に、撮像条件を決定する(S3)。ここでの撮像条件とともに、照明条件も決定してもよい。なお、細かな撮像条件の設定は、カメラ10側により計算し、決定してもよい。プロセッサ110は、決定された複数のプリセット領域PRの情報とプリセット領域PR毎の撮像条件の情報とを含むプリセット情報を、メモリ130に保存する(S4)。なお、プリセット情報は、カメラ10それぞれに保存されてもよい。
このようなプリセット情報決定処理時の動作によれば、荷物50の検品を行う管理装置100が自ら、荷物50の検品に必要な荷物コード55の読み取りに用いられるプリセット領域PR及びプリセット領域PR毎の撮像条件を決定できる。よって、管理装置100は、実際の検品時の荷物50の撮像時に近い状態の全体画像GAを用いてプリセット領域PRを決定でき、好適な撮像条件で読み取り画像を撮像でき、読み取り精度を向上できる。
上記のプリセット情報決定処理は、後述する荷物検品処理の前、又は初回の荷物検品処理の際に実施されてよい。よって、管理装置100は、決定されたプリセット情報を毎回の荷物検品処理に用いることで、同じ撮像条件で繰り返し読み取り画像を取得できる。
(荷物検品処理)
次に、荷物検品処理について説明する。
図6は、管理装置100による荷物50の検品処理時のフローチャートである。
まず、管理装置100のプロセッサ110は、カメラ10と協働して、荷物コード55の読み取り処理を行う(S11)。荷物コード55の読み取り処理の詳細については後述する。プロセッサ110は、サーバ200と協働して、パレットIDの取得処理を行う(S12)。パレットIDの取得処理の詳細については後述する。
プロセッサ110は、通信デバイス120を介して、パレットIDの取得処理によって取得されたパレットIDをサーバ200に送信する。プロセッサ110は、通信デバイス120を介して、パレットIDに対応する荷物情報をサーバ200から受信する(S13)。
プロセッサ110は、荷物情報に含まれる1つ以上の荷物ID(登録荷物IDとも称する)と、S11の読み取り処理によって読み取られた1つ以上の荷物ID(検品対象の荷物IDとも称する)と、を比較する比較処理を行うことで、検品対象の各荷物50を検品する(S14)。登録荷物IDは、荷物情報としてサーバ200に登録されている荷物IDである。例えば、プロセッサ110は、登録荷物IDと検品対象の荷物IDとが一致する荷物IDについては、事前にサーバ200に登録されており、実際にパレット60にも載置されているので、検品結果OK(正常)と判定する。また、プロセッサ110は、荷物50の読み取り処理によって検品対象の荷物IDが得られたが、検品対象の荷物IDと一致する登録荷物IDが荷物情報に含まれていなかった場合、サーバ200に登録されていない荷物50が存在するので、検品結果NG(異常)と判定する。また、プロセッサ110は、パレット60に対応する荷物情報に含まれる登録荷物IDが得られたが、登録荷物IDと一致する検品対象の荷物IDが荷物50の読み取り処理によって得られなかった場合、サーバ200に登録されているがパレット60上に存在しない荷物50があるので、検品結果NG(異常)と判定する。
プロセッサ110は、表示デバイス150を介して、荷物50の検品結果を示す検品結果情報を表示する(S15)。検品結果情報は、例えば、検品結果表示画面の形式で表示デバイス150に表示される(後述する図10、図11参照)。
プロセッサ110は、通信デバイス120を介して、検品結果情報をサーバ200に送信する(S16)。サーバ200は、管理装置100からの検品結果情報を取得し、検品結果情報に基づいて、サーバ200が保持している荷物情報を更新する。これにより、サーバ200は、管理対象の荷物50の最新の状態を反映した荷物情報を保持できる。
プロセッサ110は、荷物の検品が終了したことを示す終了通知又は終了表示を行う(S17)。プロセッサ110は、終了通知を、例えば通信デバイス120を介して外部装置(例えばサーバ200、検品その他の作業者が有する携帯端末)へ送信してよい。プロセッサ110は、終了通知を、例えば音声出力デバイスにより音声によって出力してもよい。プロセッサ110は、終了表示を、表示デバイス150を介して表示してもよい。
このような荷物コード55の読み取り処理によれば、荷物検品システム5は、管理装置100とカメラ10とサーバ200とが連携し、検品時に撮像されるパレットコード65と荷物コード55を含む画像に基づいて、サーバ200に登録された荷物情報と検品対象としてパレット60上に存在する荷物50の荷物情報とを比較して、各荷物50を検品できる。また、管理装置100のユーザ等は、検品結果情報を表示により確認でき、検品作業に活用できる。
図7は、管理装置100による荷物コードの読み取り処理時の動作例を示すフローチャートである。荷物コード55の読み取り処理は、図6のS11の処理である。
まず、カメラ10は、全体撮像範囲CA1を撮像範囲として、全体画像GA1を撮像する。全体画像GA1には、検品対象の荷物50が映り込んでいる。カメラ10は、全体画像GA1を管理装置100に送信する。
管理装置100では、プロセッサ110は、通信デバイス120を介して、全体画像GA1をカメラ10から取得する(S21)。プロセッサ110は、全体画像GA1に対して画像認識することで、全体画像GA1に含まれるラベル52を認識する。プロセッサ110は、ラベル52を、人工知能(AI:Artificial Intelligence)によって認識してもよい。この場合、プロセッサ110は、例えばニューラルネットワークを用いたディープラーニングによってラベル52を認識するための学習済みモデルを生成してメモリ130等に保持しておき、全体画像GA1と学習済みモデルとに基づいて、ラベル52を認識してよい。
プロセッサ110は、全体画像GA1に対する画像認識により、ラベル52の位置を認識する(S22)。認識されるラベル52の位置は、ラベル52の領域であってもよいし、ラベルの領域における任意の端点(例えば左上端)であってもよいし、ラベル52の領域の中心位置であってもよい。
プロセッサ110は、全体画像GA1に対する荷物コード55の位置を認識する(S23)。例えば、プロセッサ110は、メモリ130に保持されたラベル52に対する荷物コード55の位置の情報を取得する。そして、プロセッサ110は、認識されたラベル52の位置と、ラベル52に対する荷物コード55の位置と、に基づいて、全体画像GA1に対する荷物コード55の位置を認識する。
プロセッサ110は、認識された荷物コード55の位置に基づいて、1つ以上の読み取り領域PRαを特定する(S24)。この場合、プロセッサ110は、メモリ130から、プリセット領域情報を取得する。プロセッサ110は、全体画像GA1を複数のプリセット領域PRに対応して分割する。プロセッサ110は、全体画像GA1が分割された複数のプリセット領域PRの中から、1つ以上の荷物コード55が位置する1つ以上のプリセット領域PRである読み取り領域PRαを特定する。
例えば、荷物コード55の位置が、例えば座標情報(例えば(x,y)=200,50)として得られたとする。この場合、プロセッサ110は、(0,0)~(300,200)の座標範囲に含まれるので、例えば図3Aのプリセット領域PR1又は図3Bのプリセット領域PR1Aに含まれると特定できる。
プロセッサ110は、読み取り領域PRαに対応する撮像条件(読み取り用の撮像条件とも称する)に基づいて、1つ以上の読み取り画像Gαの取得処理を行う(S26)。読み取り用の撮像条件は、読み取り領域PRαに係るプリセット領域情報も含んでよい。読み取り画像Gα(不図示)は、読み取り領域PRαを画像範囲に含み、例えば読み取り領域PRαと同じ範囲を画像範囲とする画像である。読み取り画像Gαの取得処理の詳細については後述する。
プロセッサ110は、画像認識により読み取り画像Gα内に存在する荷物コード55を読み取る荷物コード55の読み取り処理を行い、荷物IDを取得する(S27)。プロセッサ110は、荷物コード55の読み取りの結果得られた読み取り情報(つまり荷物ID)をメモリ130に保持する(S28)。なお、1つの読み取り画像Gα内から、複数の荷物IDが取得されてもよい。つまり、読み取り領域PRα内に複数の荷物50が位置すれば、複数の荷物IDが取得され得る。なお荷物コード55の読み取り処理では、荷物コード55の読み取りに失敗することもあり得る。
プロセッサ110は、全読み取り領域PRαに対応する全読み取り画像Gαに対して荷物コード55の読み取りが終了したか否かを判定する(S29)。荷物コードの読み取りが終了していない読み取り画像Gαが存在する場合(S29のNo)、プロセッサ110は、荷物コード55の読み取りを行う対象の画像を次の読み取り画像Gαに移行して、S27の処理に進む。つまり、プロセッサ110は、必要に応じて、荷物コード55の読み取りを行う対象の画像を変更しながらS27,S28の処理を行う。一方、全読み取り画像Gαに対して荷物コード55の読み取りが終了した場合(S29のYes)、図7の処理を終了する。
このような荷物コード55の読み取り処理によれば、荷物コード55のサイズが小さくても(例えば10mm程度)、管理装置100は、ズーム倍率の高い撮像条件に従った読み取り画像Gαを基に荷物コード55を読み取ることで、荷物コード55を高確率で読み取りできる。また、管理装置100は、荷物コード55が存在する読み取り領域PRαに限定して荷物コード55の読み取りを実施できるので、荷物コード55の読み取り時間を短縮できる。また、荷物コード55の読み取り処理が実施される際には、プリセット情報がメモリ130に保持されている。そのため、管理装置100は、各読み取り領域PRαに対応した撮像条件をメモリ130から取得すれば、新たに撮像条件を調整する必要がないため、撮像条件の調整処理をなくすことで、荷物コード55の読み取り時間を短縮できる。また、管理装置100は、読み取り領域PRα毎に異なる撮像条件に基づいて導出された読み取り画像Gαを取得できるので、各読み取り画像Gαとして荷物コード55の読み取りに好適な画像を取得できる。
図8Aは、全体画像GA1における読み取り領域PRαの一例を示す図である。
全体画像GA1には、検品対象の1つ以上の荷物50が映り込んでいる。全体画像GA1の画像範囲(全体撮像範囲CA1)は、複数(図8Aでは16個)のプリセット領域PRに区分されている。図8Aでは、全プリセット領域PRにおいて、荷物50の少なくとも一部が映り込んでいるが、ラベル52の位置等を基に荷物コード55が存在すると推定される読み取り領域PRαは、複数のプリセット領域PRのうちの一部のプリセット領域である。図8Aでは、X方向中央2列分の8個のプリセット領域PRが、読み取り領域PRα(PRα1~PRα8)として特定されている。管理装置100は、この読み取り領域PRαに対応する撮像条件に基づく読み取り画像Gαを取得でき、荷物コード55を読み取りできる。
図8Bは、読み取り画像Gαの取得処理の第1例を示すフローチャートである。
管理装置100のプロセッサ110は、読み取り画像Gαの取得処理において、通信デバイス120を介して読み取り領域PRαに対応する撮像条件をカメラ10に送信する(S26A)。カメラ10は、管理装置100から読み取り領域PRαに対応する撮像条件を受信する。
なお、カメラ10側にプリセット情報を保存している場合は、管理装置100が、必要なプリセット情報を指し示す情報を送信し、カメラ10が、この情報に基づいて撮像条件を取得してもよい。
例えば、カメラ10がプリセット情報の全ての情報(例えばプリセット領域情報、撮像条件の情報、照明条件の情報)をカメラ10のメモリに保持している場合、管理装置100は、読み取り領域PRαを識別する情報(例えば読み取り領域PRαの識別番号、又は単に全体画像GA1に対する荷物コード55の位置を示す情報)をカメラ10に送信してよい。この場合、カメラ10は、読み取り領域PRαを識別する情報を管理装置100から受信し、プリセット情報を参照し、受信した情報を基に読み取り領域PRαの位置情報と撮像条件の情報又は照明条件の情報等とを取得してよい。
また、例えば、カメラ10がプリセット情報の一部の情報(例えばプリセット領域毎の撮像条件の情報又は照明条件の情報)をカメラ10のメモリに保持している場合、管理装置100は、メモリ130に保持されたプリセット情報を参照し、読み取り領域PRαの識別情報と読み取り領域PRαの位置情報とをカメラ10に送信してよい。この場合、カメラ10は、読み取り領域PRαの識別情報と読み取り領域PRαの位置情報とを管理装置100から受信し、プリセット情報の一部を参照し、この読み取り領域PRαの識別情報に対応する撮像条件の情報又は照明条件の情報等とを取得してよい。
カメラ10は、読み取り領域PRαに対応する撮像条件に従って読み取り画像Gαを取得する。カメラ10は、取得された読み取り画像Gαを管理装置100に送信する。管理装置100のプロセッサは、通信デバイス120を介して、読み取り画像Gαをカメラ10から受信する(S26B)。
カメラ10により取得される読み取り画像Gαとしては、下記の2種類の画像が想定される。例えば、読み取り画像Gαは、カメラ10による全体画像GA1の撮像時の撮像条件を、読み取り領域PRαに対応する撮像条件に変更して得られた、参照用の画像であってよい。この場合、カメラ10は、全体画像GA1の撮像後には新たな撮像をしておらず、例えばライブビューの画像を得ている。また、読み取り画像Gαは、カメラ10により全体画像GA1の撮像とは別に、読み取り領域PRαに対応する撮像条件で新たに撮像された画像であってよい。
このような読み取り画像Gαの取得処理の第1例によれば、管理装置100は、全体画像GA1の画質に依存せずに、全体画像GA1の拡大等により画質が劣化することも抑制でき、読み取り領域PRαに対応する撮像条件を適用したカメラ10により撮像された画像を取得できるので、荷物コード55を読み取り易い画像を得ることができる。
図8Cは、読み取り画像Gαの取得処理の第2例を示すフローチャートである。
プロセッサ110は、読み取り画像Gαの取得処理において、読み取り領域PRαに対応する撮像条件と全体画像GA1とを基に、読み取り画像Gαを生成する(S26C)。この場合、プロセッサ110は、全体画像GA1における読み取り領域PRαに対応する部分画像を、読み取り領域PRαに対応する撮像条件に対応する画像処理条件に従って加工することで、読み取り画像Gαを生成してよい。例えば、プロセッサ110は、ズーム情報に対応して読み取り画像Gαのサイズを決定したり、フォーカス情報に対応して読み取り画像Gαを鮮明化したりぼかしたりしてよいし、照明条件に対応して読み取り画像Gαの明るさを調整したりしてよい。
このような読み取り画像Gαの取得処理の第2例によれば、管理装置100は、画像処理により読み取り領域PRα毎の読み取り画像Gαを生成できるので、カメラ10により読み取り画像Gαを撮像する度にズーム又はフォーカス等の撮像条件を繰り返し変更することが不要となり、読み取り画像Gαの取得に要する時間を短縮できる。
図9は、管理装置100によるパレットIDの取得処理時の動作例を示すフローチャートである。
プロセッサ110は、全体画像GA1に対するパレットコード65の位置を認識する(S31)。例えば、プロセッサ110は、例えば全体画像GA1を画像認識して全体画像GA1に含まれるパレット60を認識し、全体画像GA1に対するパレット60の位置を認識する。プロセッサ110は、メモリ130に保持されたパレット60に対するパレットコード65の位置の情報を取得する。そして、プロセッサ110は、認識されたパレット60の位置と、パレット60に対するパレットコード65の位置と、に基づいて、全体画像GA1に対するパレットコード65の位置を認識する。
プロセッサ110は、位置が認識されたパレットコード65を画像認識して、パレットコードの読み取りを試み(S32)、パレットコード65の読み取りに成功したか否かを判定する(S33)。画像認識によるパレットコード65の読み取りに成功した場合、プロセッサ110は、パレットコード65の読み取りの結果得られた読み取り情報(つまりパレットID)をメモリ130に保持し、図9の処理を終了する。
一方、画像認識によるパレットコード65の読み取りに失敗した場合、プロセッサ110は、荷物コード55の読み取り処理により得られた1つ以上の荷物IDをメモリ130から取得する。プロセッサ110は、取得された1つ以上の荷物IDを基に、パレットIDを取得する(S34)。この場合、例えば、プロセッサ110は、通信デバイス120を介して1つ以上の荷物IDをサーバ200に送信する。サーバ200は、管理装置100からの1つ以上の荷物IDを受信する。サーバ200は、サーバ200のメモリに保持された、1つ以上の荷物IDを含む荷物情報と関連付けられた1つ以上のパレット情報を参照する。そして、サーバ200は、参照された1つ以上のパレット情報のそれぞれに含まれるパレットIDを取得し、取得された1つ以上のパレットIDを管理装置100に送信する。管理装置100のプロセッサ110は、通信デバイス120を介して、この1つ以上のパレットIDをサーバ200から取得する。
プロセッサ110は、取得された1つ以上のパレットIDに基づいて、パレットIDが一意に特定されたか否かを判定する(S35)。例えば、プロセッサ110は、取得されたパレットIDが1つである場合、又は取得された1つ以上のパレットIDが同一の(共通の)パレットIDである場合、パレットコード65に対応するパレットIDがこのパレットIDであると特定し、パレットIDが一意に特定されたと判定する。一方、プロセッサ110は、取得された複数のパレットIDが異なるパレットIDである場合、パレットコード65が一意に特定されないと判定する。
なお、プロセッサ110は、荷物IDを用いてサーバ200に問合せ、サーバ200がパレットIDを推測した推測結果をサーバ200から取得し、一意に特定されたパレットIDとしてもよい。また、プロセッサ110は、サーバ200が保持するパレット情報及び荷物情報をメモリ130に保持しておき、S34,S35の処理をサーバ200と連携することなく管理装置100内で完結してもよい。
パレットIDが一意に特定されたと判定された場合(S35のYes)、プロセッサ110は、一意に特定されたパレットIDをメモリ130に保持し、図9の処理を終了する。
一方、パレットIDが一意に特定されなかったと判定された場合(S35のNo)、プロセッサ110は、操作デバイス140を介してパレットIDを手動入力する(S36)。この場合、操作デバイス140がパレットIDを直接入力し、又は1つ以上の複数のパレットIDの中から特定のパレットIDを選択する操作を受け付ける。そして、プロセッサ110は、手動入力されたパレットIDをメモリ130に保持し、図9の処理を終了する。
このようなパレットIDの取得処理によれば、管理装置100は、様々な方式(例えば画像認識、荷物IDに基づく推測、手動入力)によってパレットIDを高確率に取得できる。よって、管理装置100は、荷物検品処理を滞りなく進めることができる確率を高くできる。
(検品結果の表示例)
図10は、検品結果表示画面の第1例を示す図である。検品結果表示画面G11は、ラベル52が付された荷物50の検品処理の結果得られた情報を表示する画面である。検品結果表示画面G11は、表示デバイス150により表示される。
検品結果表示画面G11は、検品対象の荷物50が載置されたパレット60のパレットID、各カメラ10により撮像された荷物50の各面の全体画像(ここでは前面全体画像、後面全体画像、左面全体画像、右面全体画像)、全体検品結果、及び詳細検品結果の各情報を含む。前面全体画像は、前方カメラにより撮像された全体画像である。後面全体画像は、後方カメラにより撮像された全体画像である。左面全体画像は、左方カメラにより撮像された全体画像である。右面全体画像は、右方カメラにより撮像された全体画像である。全体検品結果は、検品対象の荷物数(登録荷物IDの数、例えば「92」)に対する検品結果OKの荷物数(例えば「90」)を示す情報であり、プロセッサ110により算出されてよい。詳細検品結果には、検品を識別する検品ID、ユーザによって使用されるチェック欄、及び登録荷物IDが含まれる。登録荷物IDは、サーバ200に荷物情報の一部として登録(保持)されている荷物IDである。また、検品結果表示画面G11には、結果保存ボタンB11、キャンセルボタンB12、スクロールバーB13も表示されている。
図10の詳細検品結果の表では、検品IDが「1」に対応する荷物の個別検品結果については、背景に第1の模様が付されている。第1の模様は、検品ID「1」で検品された荷物50において、ラベル52が認識され、荷物コード55の読み取りに失敗したことを示している。また、検品IDが「2」に対応する荷物の個別検品結果については、背景に第2の模様が付されている。第2の模様は、検品ID「2」で検品された荷物50において、ラベル52が認識され、荷物コード55の読み取りに成功したが、パレット60上に載置されるべきではない荷物であることを示している。また、検品IDが「3」以降の番号に対応する荷物の個別検品結果については、背景に模様が付されずに無地で示されている。無地であることは、検品ID「3」以降の番号で検品された各荷物50において、ラベル52が認識され、荷物コード55の読み取りに成功し、パレット60上に載置されるべき荷物であることを示している。
検品結果表示画面G11に表示された荷物50の各面の全体画像では、ラベル52が認識された場合にはラベル枠53(53A,53B,53C,…)によって表示されている。ラベル枠53は、認識されたラベル52の位置(領域)に対して付され、検品結果表示画面G11では矩形の枠で示されている。なお、ラベル52が存在していても、ラベル52が認識されなかった場合には、このラベル52に対してラベル枠53は表示されない。
プロセッサ110は、登録荷物IDと検品対象の荷物IDの比較結果又は荷物コード55の読み取りの結果等に基づいて、ラベル枠53の表示態様を決定してよい。つまり、ラベル枠53の表示態様は、荷物50の検品に係る様々な結果を示してよい。
例えば、プロセッサ110は、ラベル52が認識され、登録荷物IDと検品対象の荷物IDが一致した場合、検品結果OKであることを示す表示態様(例えば図10では実線の太枠)で、表示デバイス150を介してラベル枠53Aを表示してよい。これにより、ユーザは、ラベル枠53Aの表示を確認することで、検品結果OKであった荷物50に対応するラベル52の位置を容易に確認できる。
例えば、プロセッサ110は、ラベル52が認識され、登録荷物IDと検品対象の荷物IDが不一致である場合、検品結果NGであることを示す表示態様(例えば図10では一点鎖線の太枠)で、表示デバイス150を介してラベル枠53Bを表示してよい。ラベル枠53Bの表示は、エラー表示(警告情報の表示)の1つである。これにより、ユーザは、ラベル枠53Bの表示を確認することで、検品結果NGであった荷物コード55に対応する荷物50に付されたラベル52の位置を容易に確認できる。よって、ユーザは、例えば、検品位置に出向き、検品結果NGであった荷物IDに対応する荷物50を個別に詳細に確認するなどの対応をすることが可能である。
例えば、プロセッサ110は、ラベル52が認識されたが荷物コード55の読み取りに失敗した場合、荷物コード55の読み取りに失敗したことを示す表示態様(例えば図10では破線の太枠)で、表示デバイス150を介してラベル枠53Cを表示してよい。ラベル枠53Cの表示は、エラー表示の1つである。これにより、ユーザは、ラベル枠53Cの表示を確認することで、読み取りに失敗した荷物コード55に対応する荷物50に付されたラベル52の位置を容易に確認できる。よって、ユーザは、例えば、検品位置に出向き、携帯可能なハンディターミナルを用いて読み取りに失敗した荷物コード55を個別に読み取るなどの対策を講じることができる。
また、プロセッサ110は、詳細検品結果として、登録荷物IDに対応する検品対象の荷物IDの有無の情報を含んで、表示デバイス150を介して表示する。この場合、プロセッサ110は、荷物50の各面の全体画像の表示と同様に、検品結果OKであった登録荷物IDと検品結果NGであった登録荷物IDとを異なる表示態様で、表示デバイス150を介して表示してよい。この場合、ユーザは、詳細検品結果に含まれる一覧の登録荷物IDから、検品結果NGであった登録荷物IDを一見して容易に確認できる。なお、プロセッサ110は、詳細検品結果として、登録荷物IDには対応しない検品対象の荷物IDを表示してもよい。この場合、検品結果OKであった登録荷物IDと検品結果NGであった登録荷物IDとは異なる表示態様で、検品対象の荷物IDを表示してもよい。この場合、ユーザは、サーバ200に荷物情報が登録されていない荷物50が存在することを容易に確認できる。
図11は、検品結果表示画面の第1例を示す図である。検品結果表示画面G12は、ラベル52が付されていない荷物50の検品処理の結果得られた情報を表示する画面である。検品結果表示画面G12は、表示デバイス150により表示される。なお、図11の検品結果表示画面G12では、図10の検品結果表示画面G11と同様の事項については、その説明を省略又は簡略化する。
検品結果表示画面G12は、図10に示した検品結果表示画面G11と同様に、パレットID、各カメラ10により撮像された荷物50の各面の全体画像、全体検品結果、及び詳細検品結果の各情報を含む。
図11の詳細検品結果の表では、検品IDが「1」に対応する荷物の個別検品結果については、背景に第3の模様が付されている。第3の模様は、検品ID「1」で検品された荷物50において、荷物50が認識され、荷物コード55の読み取りに失敗したことを示している。また、検品IDが「2」に対応する荷物の個別検品結果については、背景に第4の模様が付されている。第4の模様は、検品ID「2」で検品された荷物50において、荷物50が認識され、荷物コード55の読み取りに成功したが、パレット60上に載置されるべきではない荷物であることを示している。また、検品IDが「3」以降の番号に対応する荷物の個別検品結果については、背景に模様が付されずに無地で示されている。無地であることは、検品ID「3」以降の番号で検品された各荷物50において、荷物50が認識され、荷物コード55の読み取りに成功し、パレット60上に載置されるべき荷物であることを示している。
検品結果表示画面G12に表示された荷物50の各面の全体画像では、荷物50が認識された場合には荷物枠51(51A,51B,51C,…)によって表示されている。荷物枠51は、認識された荷物50の位置(領域)に対して付され、検品結果表示画面G12では矩形の枠で示されている。なお、荷物50が存在していても、荷物50が認識されなかった場合には、この荷物50に対して荷物枠51は表示されない。
プロセッサ110は、登録荷物IDと検品対象の荷物IDの比較結果又は荷物コード55の読み取りの結果等に基づいて、荷物枠51の表示態様を決定してよい。つまり、荷物枠51の表示態様は、荷物50の検品に係る様々な結果を示してよい。
例えば、プロセッサ110は、荷物50が認識され、登録荷物IDと検品対象の荷物IDが一致した場合、検品結果OKであることを示す表示態様(例えば図11では実線の太枠)で、表示デバイス150を介して荷物枠51Aを表示してよい。これにより、ユーザは、荷物枠51Aの表示を確認することで、検品結果OKであった荷物50の位置を容易に確認できる。
例えば、プロセッサ110は、荷物50が認識され、登録荷物IDと検品対象の荷物IDが不一致である場合、検品結果NGであることを示す表示態様(例えば図11では一点鎖線の太枠)で、表示デバイス150を介して荷物枠51Bを表示してよい。荷物枠51Bの表示は、エラー表示の1つである。これにより、ユーザは、荷物枠51Bの表示を確認することで、検品結果NGであった荷物コード55に対応する荷物50の位置を容易に確認できる。よって、ユーザは、例えば、検品位置に出向き、検品結果NGであった荷物IDに対応する荷物50を個別に詳細に確認するなどの対応をすることが可能である。
例えば、プロセッサ110は、荷物50が認識されたが荷物コード55の読み取りに失敗した場合、荷物コード55の読み取りに失敗したことを示す表示態様(例えば図11では破線の太枠)で、表示デバイス150を介して荷物枠51Cを表示してよい。荷物枠51Cの表示は、エラー表示の1つである。これにより、ユーザは、荷物枠51Cの表示を確認することで、読み取りに失敗した荷物コード55に対応する荷物50の位置を容易に確認できる。よって、ユーザは、例えば、検品位置に出向き、携帯可能なハンディターミナルを用いて読み取りに失敗した荷物コード55を個別に読み取るなどの対策を講じることができる。
管理装置100のユーザは、検品結果表示画面G11,G12等により表示された検品結果の情報を確認することで、荷物50の不足、内容不明な荷物50の存在又はこれらの荷物50の位置等を認識できるので、検品に係る負荷を低減できる。また、ユーザは、カメラ10により撮像された画像により検品結果OKの結果が得られた荷物50に対しては、個別に出向いてハンディターミナル等で検品することが不要である。また、ユーザは、検品結果NG又は読み取りNGの荷物50に限定して、個別に出向いてハンディターミナル等で検品すれば足りる。したがって、荷物検品システム5は、ユーザの検品作業に要する手間と時間を低減できる。
なお、管理装置100が、検品結果表示画面G11,G12等の検品結果情報をサーバ200又はその他の端末等により送信し、サーバ200又はその他の端末等により検品結果情報を表示してもよい。また、管理装置100は、検品結果表示画面G11ではラベル52に対して矩形の枠を表示し、検品結果表示画面G12では荷物50に対して矩形の枠を表示したが、他にも荷物コードやパレットコード等のコードに対して矩形の枠を表示してもよい。こうすることで、管理装置100は、ラベルの位置を容易に見つけることを補助できる。
以上のように、本実施形態の管理装置100(荷物検品装置の一例)は、荷物50を検品する装置あり、プロセッサ110を備える。プロセッサ110は、カメラ10に検品対象の荷物50の全体が映るように全体画像GA1を撮像させる。プロセッサ110は、全体画像GA1の画像範囲を構成する複数のプリセット領域PRのそれぞれに対して撮像条件をメモリ130に保持させる。プロセッサ110は、全体画像GA1から荷物50の外面に付された荷物50を特定可能な荷物コード55(コードの一例)の位置を特定する。プロセッサ110は、特定した荷物コード55の位置に対応するプリセット領域PRの撮像条件に基づく読み取り画像Gα(画像の一例)を取得する。プロセッサ110は、読み取り画像に基づいて、荷物コード55の読み取りを行う。
これにより、管理装置100は、荷物コード55を読み取るために好適な撮像条件を、全体画像GA1を撮像する前にプリセット領域PR毎に定めておき、この撮像条件に従って荷物50を撮像できる。よって、管理装置100は、カメラ10と各荷物50の荷物コード55との距離が荷物50毎に異なり、カメラ10により各荷物50の荷物コード55を撮像するための撮像方向が荷物50毎に異なる場合でも、全体画像GA1に対する荷物コード55の位置によらずに、荷物コード55の読み取り精度を向上できる。また、各荷物50に付された各荷物コード55を読み取るために、全体画像GA1に対する各荷物コード55の位置に応じてカメラ10による撮像条件をその都度設定する場合と比較すると、管理装置100では、プリセット領域PR毎の撮像条件が予め定められている。そのため、管理装置100は、各荷物コード55の読み取りに要する時間を短縮でき、従って荷物50の検品に要する時間を短縮できる。また、管理装置100は、確実に荷物コード55が存在するプリセット領域PRの撮像条件に適合した読み取り画像Gαを取得できる。よって、管理装置100は、全プリセット領域PRについて撮像条件に適合した画像を取得する場合と比較すると、荷物コード55の読み取り効率が高く、全ての荷物コード55の読み取りが完了するまでの時間を短縮できる。
また、プロセッサ110は、例えば通信デバイス120を介して、読み取り用の撮像条件(撮像条件の一例)をカメラ10に通知し、例えば通信デバイス120を介して、読み取り用の撮像条件に従ってカメラ10により得られた読み取り画像Gαを取得してよい。
これにより、管理装置100は、全体画像GA1の撮像時とは撮像条件を変更して読み取り画像Gαを取得するので、荷物コード55を読み取り易い画像を得ることができる。
また、プロセッサ110は、全体画像GA1の読み取り領域PRαに対応する部分画像を、読み取り領域PRαに対応する読み取り用の撮像条件に基づいて加工することで、読み取り画像Gαを生成してよい。
これにより、管理装置100は、読み取り領域PRαに対応する撮像条件に従った読み取り画像Gα(この撮像条件で撮像されたような読み取り画像Gα)を全体画像GA1に対する電子的な加工により得ることができる。よって、管理装置100とカメラ10との間でデータ通信が発生しないので、読み取り画像Gαの取得に要する時間が短縮可能である。
また、複数のプリセット領域PRのうちの隣接するプリセット領域PR1A,PR3Aの一部が、重複してよい。
これにより、管理装置100は、全体画像GA1のプリセット領域PRの端部付近に荷物コード55が位置する場合でも、隣接するプリセット領域PRのいずれかの撮像条件によって得られた読み取り画像Gαを基に荷物コード55の読み取り処理を行うので、読み取り精度を向上できる。
また、プロセッサ110は、荷物コード55の位置が隣接するプリセット領域PRの少なくとも2つに含まれる場合、隣接するプリセット領域PRのうち、荷物コード55の位置P1(例えば中心位置)とプリセット領域PRの中心位置PROとの距離が最短であるプリセット領域PRを、読み取り領域PRαとしてよい。そして、プロセッサ110は、読み取り領域PRαの撮像条件に基づく読み取り画像Gαに基づいて、荷物コード55の読み取りを行ってよい。
荷物コード55の位置が、プリセット領域PRの中心位置に近い程、読み取り精度が高くなる。よって、管理装置100は、荷物コード55の中心位置とプリセット領域PRの中心位置PROとの距離が最短であるプリセット領域PRの撮像条件で得られた読み取り画像Gαを基に読み取り処理を行うので、読み取り精度を向上できる。
また、撮像条件の情報は、カメラ10による撮像時のズームに関するズーム情報、カメラ10による撮像時のフォーカスに関するフォーカス情報、又はカメラ10による撮像時の照明条件の情報を含んでよい。
これにより、管理装置100は、全体画像GA1を撮像する前に、読み取りに影響することが想定される撮像に関するパラメータを決定できる。
また、全体画像GA1は、荷物50が載置されたパレット60(荷台の一例)を特定可能なパレットコード65を含んでよい。プロセッサ110は、パレットコード65を読み取り、パレット60を特定してよい。プロセッサ110は、特定したパレット60に存在すべき荷物50に関する情報を取得してよい。プロセッサ110は、読み取られた荷物コード55に対応する荷物50の情報である検品対象の荷物ID(第1の荷物情報の一例)とパレット60に存在すべき荷物50に関する情報である登録荷物ID(第2の荷物情報の一例)とを比較することで、荷物50を検品してよい。なお、ここでは第1の荷物情報及び第2の荷物情報が荷物IDであることを例示しているが、荷物ID以外の荷物に関する情報であってもよい。
これにより、管理装置100は、例えば、パレット60に載置される予定の荷物50が実際に載置されているか否かを判別でき、荷物50を検品できる。
また、プロセッサ110は、全体画像GA1を画像認識してパレットコード65の読み取りに成功したか否かを判定し、パレットコード65の読み取りに失敗した場合、検品対象の複数の荷物50のそれぞれに付された荷物コード55に対応する検品対象の荷物IDに基づいて、パレットコード65に対応するパレットIDを取得してよい。
これにより、管理装置100は、画像認識によるパレットコード65の読み取りに失敗しても、読み取りに成功した荷物コード55に対応する検品対象の荷物IDに基づいて、パレットコード65に対応するパレットIDを推定でき、パレットIDに関連付けられて登録された登録荷物IDを取得できる。
また、メモリ130は、荷物50のそれぞれに対する荷物コード55の位置の情報を保持してよい。プロセッサ110は、全体画像GA1に基づいて、全体画像GA1に対する荷物50の位置を認識し、荷物50の位置に基づいて、全体画像GA1に対する荷物コード55の位置を算出してよい。
これにより、管理装置100は、荷物50の位置を基準にして、荷物コード55の位置を導出できる。
また、メモリ130は、荷物コード55が付されたラベル52に対する荷物コード55の位置の情報を保持してよい。プロセッサ110は、全体画像GA1に基づいて、全体画像GA1に対するラベル52の位置を認識し、ラベル52の位置に基づいて、全体画像GA1に対する荷物コード55の位置を算出してよい。
これにより、管理装置100は、ラベル52の位置を基準にして、荷物コード55の位置を導出できる。
また、プロセッサ110は、荷物50の位置が認識され、且つ、荷物コード55の読み取りに失敗した場合、荷物50に基づく荷物コード55の読み取りに失敗したことを示す荷物枠51C(第1の警告情報の一例)を表示デバイス150に表示させてよい。
これにより、管理装置100を利用するユーザは、検品結果NGである理由が、荷物に基づく荷物コード55の読み取りに失敗したことであると認識できる。
また、プロセッサ110は、ラベル52の位置が認識され、且つ、荷物コード55の読み取りに失敗した場合、ラベル52に基づく荷物コード55の読み取りに失敗したことを示すラベル枠53C(第2の警告情報の一例)を表示デバイス150に表示させてよい。
これにより、ユーザは、検品結果NGである理由が、ラベル52に基づく荷物コード55の読み取りに失敗したことであると認識できる。
また、プロセッサ110は、荷物50の位置が認識され、且つ、荷物コード55の読み取りに成功した場合であって、登録荷物IDと検品対象の荷物IDとが異なる場合、登録荷物IDと検品対象の荷物IDとが異なることを示す荷物枠51B(第3の警告情報の一例)を、荷物枠51Cとは異なる表示態様で表示デバイス150に表示させてよい。
これにより、ユーザは、検品結果NGである理由が、荷物50に基づく荷物コード55の読み取りに失敗したことであるか、検品対象の荷物IDと登録荷物IDとが一致しないことであるかを、容易に判別できる。
また、プロセッサ110は、ラベル52の位置が認識され、且つ、荷物コード55の読み取りに成功した場合であって、登録荷物IDと検品対象の荷物IDとが異なる場合、登録荷物IDと検品対象の荷物IDとが異なることを示すラベル枠53B(第4の警告情報の一例)を、ラベル枠53Cとは異なる表示態様で表示デバイス150に表示させてよい。
これにより、ユーザは、検品結果NGである理由が、ラベル52に基づく荷物コード55の読み取りに失敗したことであるか、検品対象の荷物IDと登録荷物IDとが一致しないことであるかを、容易に判別できる。
以上、図面を参照しながら各種の実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上記実施形態における各構成要素を任意に組み合わせてもよい。
上記実施形態では、プリセット情報を決定するための全体画像GA1と荷物50の検品用の全体画像GA1とが同じであることを例示したが、これに限られない。つまり、プリセット情報を決定するための全体画像GA1と荷物50の検品用の全体画像GA1とが異なる画像であってもよい。
また、上記実施形態では、プロセッサは、物理的にどのように構成してもよい。また、プログラム可能なプロセッサを用いれば、プログラムの変更により処理内容を変更できるので、プロセッサの設計の自由度を高めることができる。プロセッサは、1つの半導体チップで構成してもよいし、物理的に複数の半導体チップで構成してもよい。複数の半導体チップで構成する場合、上記実施形態の各制御をそれぞれ別の半導体チップで実現してもよい。この場合、それらの複数の半導体チップで1つのプロセッサを構成すると考えることができる。また、プロセッサは、半導体チップと別の機能を有する部材(コンデンサ等)で構成してもよい。また、プロセッサが有する機能とそれ以外の機能とを実現するように、1つの半導体チップを構成してもよい。また、複数のプロセッサが1つのプロセッサで構成されてもよい。