以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明のネットワークカメラシステムの構成の一例を示すシステム構成図である。本ネットワークカメラシステムは、1又は複数のネットワークカメラ101、POE HUB102、画像解析サーバ103、無線LANルータ104、画像表示端末105を含む、各機器はネットワーク106により接続されている。
ネットワークカメラ101は、例えば、倉庫や工場等で、荷物を載せるための荷役台である「パレット」が置かれる場所(集荷場所)を撮影可能な位置に設けられている。ネットワークカメラ101は、本発明における、撮像装置の一例である。
POE HUB(Power over Ethernet HUB)102は、ネットワークカメラ101に電力を供給して動作させる。
画像解析サーバ103は、ネットワークカメラ101で撮影した画像データを取得し、取得した画像データを解析して、パレットに載っている荷物の配送先の特定等を行う。画像解析サーバ103は、本発明における、情報処理装置の一例である。
画像表示端末105は、フォークリフトを操縦する作業員等が持ち歩くか、フォークリフトに備え付けられる装置である。
画像表示端末105は、無線LANルータ104を介してネットワーク106に接続し、画像解析サーバ103により、各荷物の配送先が重畳された集荷場所画像データを表示部306に表示する。
作業員は、画像表示端末105の表示部306に表示された集荷場所画像データを閲覧することで、各荷物の配送先を特定し、特定した配送先に荷物を配送する配送車の所までフォークリフトで荷物を移動させる。
なお、本実施形態では、荷物の側面にラベルが貼られており、またラベルにはQRコード(QRコードは登録商標)と、荷物の配送先を一意に識別するための配送先コードが印字されている。なお、他の実施形態として、QRコードに限らずバーコード(1次元コードともいう)であっても、カラーバーコードであっても良い。以上で、図1の説明を終了する。
次に、図2を用いて、図1に示した画像解析サーバ103に適用可能な情報処理装置のハードウェア構成の一例について説明する。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード(KB)209等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、ディスプレイ210(液晶、ブラウン管を問わない)等の表示器への表示を制御する。
207はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる設定ファイル等も外部メモリ211に格納されており、これらについての詳細な説明も後述する。以上で、図2の説明を終了する。
次に、図3を参照して、図1の画像表示端末105のハードウェア構成の一例について説明する。
図3において、301はCPUで、システムバス310に接続される後述する各種のデバイスを統括的に制御する。ROM303や外部メモリ309には、CPU301の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステム(OS)や、画像表示端末105が実行する機能を実現するために必要な各種プログラムやデータ等が記憶されている。
302はRAMで、CPU301の主メモリ、ワークエリア等として機能する。CPU301は、後述する各種の処理の実行に際して必要なプログラム等をROM303や外部メモリ309からRAM302にロードして、ロードしたプログラムを実行することで、各種の動作を実現する。
撮影部304は、撮影レンズ、撮像素子、撮像素子で得られた画像信号を所定の形式に変換する回路等からなる。通信部305は、通信ネットワーク(例えば、図1のネットワーク106)を介して画像解析サーバ103等の外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
表示部306は、液晶ディスプレイ等からなり、CPU301が、例えばRAM302内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示部306への表示を可能としている。
操作部307はCPU301に対して各種の指示を入力するためのものであり、各種のボタンや表示部306に貼られているタッチパネルシートからなる。表示部306に表示されているシステムの操作画面に対する押下指示を受け付けると、押されるとその位置情報を操作部307はCPU301に伝える。
音声入力部308は、マイク等から構成され、入力された音声を音声信号に変換する。外部メモリ309は、画像表示端末105が後述するフローチャート示す各ステップの処理を実行するためのプログラムやデータを記憶する記憶装置である。
本発明を実現するための各種プログラムは外部メモリ309に記録されており、必要に応じてRAM302にロードされることにより、CPU301によって実行されるものである。さらに、上記プログラムの実行時に用いられる設定ファイル等も外部メモリ309に格納されており、これらについての詳細な説明も後述する。
以上が、図1の画像表示端末105のハードウェア構成の一例の説明である。
次に、図21を用いて、図1に示したネットワークカメラ101(情報処理装置)のハードウェア構成の一例について説明する。
図21は、ネットワークカメラ101のハードウェアの構成を示す構成図である。
CPU2101は、システムバス2104に接続される各デバイスやコントローラを統括的に制御する。また、ROM2102あるいは外部メモリ2105には、CPU2101の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、画像処理サーバ108の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM2103は、CPU2101の主メモリ、ワークエリア等として機能する。
CPU2101は、処理の実行に際して必要なプログラム等をRAM2103にロードして、プログラムを実行することで各種動作を実現するものである。
メモリコントローラ(MC)2106は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ、画像データ等を記憶するハードディスク(HD)やPCMCIAカードスロットにアダプタを介して接続されるスマートメディア(登録商標)等の外部メモリ2105へのアクセスを制御する。
カメラ部2107は、画像処理部2108と接続されており、監視対象に対して向けられたレンズを透過して得られた光をCCDやCMOS等の受光セルによって光電変換を行った後、RGB信号や補色信号を画像処理部2108に対して出力する。
画像処理部2108は、RGB信号や捕色信号に基づいて、ホワイトバランス調整、ガンマ処理、シャープネス処理を行い、更に、YC信号処理を施して輝度信号Yとクロマ信号(以下、YC信号)を生成し、YC信号を所定の圧縮形式(例えばJPEGフォーマット、あるいはMotionJPEGフォーマット等)で圧縮し、この圧縮されたデータは、画像データとして外部メモリ2105へ一時保管される。
通信I/Fコントローラ(通信I/FC)2109は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行しており、外部メモリ2105に記憶された画像データは、通信I/Fコントローラ2109によって外部機器へ送信される。
次に、図4について説明する(本発明の第1の実施形態)。図4は、画像表示端末105が画像解析サーバ103から解析結果の画像データを受け取り、出荷先を表示した集荷場所画像データを表示する本発明の出荷先表示処理の流れを示すフローチャートの一例である。
図4に示す各処理は、画像解析サーバ103のCPU201、または画像表示端末105のCPU301により実行される。
ステップ401で、画像表示端末105は、表示部306に表示された配送先表示画面(図6)上で、出荷先表示ボタン(601)の選択をユーザから受け付けると、ステップ402で、画像解析サーバ103は、集荷場所のネットワークカメラ画像データの解析を行い、集荷場所画像データ内のパレットに配送先の配色をオーバレイした画像データを作成する。ステップ402の処理の詳細は、図5を用いて後ほど説明する。
ここで、図6~図8について説明する。図6は画像表示端末105の表示部306に表示される、QRコード解析前の配送先表示画面である。
出荷先表示ボタン601は、当該ボタンがユーザにより押下されることで、図7に示す通り、画像データ表示領域603に表示される画像データ中の各パレットの荷物に配送先の色がオーバレイされて表示(図7の701~703)される。また、各配送先をどの色で表示するかは、図8の配送先データテーブルにより決定される。
キャンセルボタン602は、配送先表示画面の表示を終了するためのボタンである。
画像データ表示領域603は、ネットワークカメラ101で撮影した画像データが表示される。
604は、ネットワークカメラ101で撮影した画像データに映るパレットを示す。
凡例605は、図7に示すように、画像データ表示領域603に表示される画像データ中の各パレットの荷物に配送先の色をオーバレイして表示するときに、各色が示す配送先がどこであるかを示す。
配送先コードの文字列606は、荷物側面に貼られたラベルに印字される、荷物の配送先を一意に識別するためのコードである。
図7は、後述する図4のステップ404で、出荷先表示ボタン601がユーザにより押下されることで各パレットの荷物に配送先の色をオーバレイした状態の一例を示す図である。
図8は、画像解析サーバ103の外部メモリ211で管理される配送先データテーブルの一例を示す図であり、QRコードに埋め込まれている配送先コードから、配送先と配送先を識別するための色を管理するデータテーブルである。
配送先コード801は、各配送先を一意に識別するためのコードであり、パレット上の荷物に張り付けられるQRコード(2次元コードともいう)に埋め込まれている情報である。配送先802はパレット上の荷物の配送先を示し、色803は、画像データ表示領域603に表示される画像データ中のパレットの荷物が、配送先802に示される配送先である場合に、何色をオーバレイするかを示す。
QRコードは、本発明における識別情報の一例である。以上で、図6~図8の説明を終了し、図4の説明に戻る。
画像解析サーバ103は、ステップ403で、画像表示端末105に対してステップ402で作成した画像データを送信し、ステップ404で、画像表示端末105は、受信した画像データを表示部306に表示する(図7)。以上で図4の説明を終了し、次に図5について説明する。
図5は、画像解析サーバ103が撮影した集荷場所画像データを解析し、パレット画像部分に配送先の配色をオーバレイする手順の一例を示すフローチャートであり、図4のステップ402の処理の詳細を示すフローチャートの一例を示す図である。
図5に示す各処理は、画像解析サーバ103のCPU201、またはネットワークカメラ101のCPUにより実行される。
ステップ501で画像解析サーバ103は、ネットワークカメラ101に集荷場所画像データをリクエストする。
ネットワークカメラ101は、画像解析サーバ103からのリクエストを受信し、ステップ502で、当該ネットワークカメラ101で撮影した集荷場所画像データを画像解析サーバ103に送信する。
ステップ503で、画像解析サーバ103は、集荷場所画像データを受信し、図9に示す通り、あらかじめ決められた数(横X、縦Y)で画像を分割する。図9は撮影した集荷場所画像データを横X、縦Yで分割した画面のイメージを表している。
ステップ503と、後述するステップ1003は、本発明における、撮像装置から、画像データを取得する取得手段の一例である。
ステップ504で、画像解析サーバ103は、x=1,y=1で変数を初期化し、ステップ505で、画像解析サーバ103は、分割した(x,y)の領域の集荷場所画像データの色分布を解析する。
ステップ506で、画像解析サーバ103は、ステップ505の解析の結果、白と黒の割合が所定以上あるかどうかを判定し、所定以上あればステップ507に移行し、所定以上なければ次の領域の画像を解析するためにステップ516に移行する。ステップ506は、本発明における、取得手段で取得した画像データを解析し、識別情報を特定する特定手段の一例である。
白と黒の割合が所定以上であった場合、ステップ507で、画像解析サーバ103は、QRコードを解析するためにネットワークカメラ101に(x,y)領域のズーム画像の送信命令を送る。ステップ507は、本発明における、前記特定手段で特定した識別情報をズームして撮像するように前記撮像装置に指示する指示手段の一例である。
ステップ508で、ネットワークカメラ101は、画像解析サーバ103からの送信命令を受信し、(x,y)領域のズーム画像を画像解析サーバ103へ送る。
ステップ509で、画像解析サーバ103は(x,y)領域のズーム画像を受信し、ステップ510で受信したズーム画像の中にQRコードのファインダパターンがあるかどうかを判定する。
画像解析サーバ103は、ステップ510の判定によりQRコードのファインダパターンを検出できなかった場合はステップ516に処理を移行し、QRコードのファインダパターンを検出した場合は、ステップ511に処理を移行してQRコードの情報の読み取りを行う。
ステップ512で、画像解析サーバ103は、QRコードの情報が読み取れたかどうかの判定を行い、読み取れた場合はステップ514でQRコードに含まれている配送先コードに紐づいた色を配送先データベース(図8)から取得して、ステップ515に移行する。
ステップ512でQRコードの情報が読み取れなかったと判定された場合、画像解析サーバ103は、ステップ513でQRコードの右上にある配送先コードの文字列(配送先コードの文字列606)をOCRで読み取り、ステップ515に移行する。
なお、本実施例では、配送先コードはQRコードの右上にあるものとしたが、配送先コードがどの位置にあるかは、画像解析サーバ103にユーザが予め登録していれば、右上でなくとも良い。また、画像解析により、配送先コードを特定しても良い。
ステップ515では、集荷場所画像データ中のQRコードを中心とした荷物のサイズに相当する矩形に配送先コードに紐づいた色をオーバレイ(図7)し、ステップ516へ移行する。なお、荷物のサイズは画像解析サーバであらかじめ記憶しても良いし、画像解析により、集荷場所画像中の荷物の領域を特定しても良い。
次にステップ506で白と黒の割合が所定以上でなかった場合の説明を行う。ステップ516では、画像解析サーバ103は、xが横分割数Xと同じかどうかを比較して、同じであればステップ518に移行し、同じでなければ次の領域の画像をチェックするためにステップ517でxをインクリメントしてステップ505に戻る。
ステップ518では、画像解析サーバ103は、yが縦分割数Yと同じかどうかを比較して、同じであれば全分割画像を解析したので処理を終了し、同じでなければ次の領域の画像をチェックするためにステップ519でyをインクリメントしてステップ505に戻る。
なお、図5の処理を実行後に荷物が運ばれると、運ばれた荷物の後ろに置かれていた別の荷物が集荷場所画像データに新たに映ることもあるため、荷物が運ばれた場合、その荷物があった領域に対してのみステップ505~ステップ519の処理を実行することで、再度集荷場所画像データ全体に対してステップ505~ステップ519の処理を実行するよりも処理負荷を軽減することが可能となる。荷物が運ばれたか否かは、集荷場所画像データを解析することにより特定する。
以上で、図5の説明を終了し、次に、図10を用いて、図4のステップ402の処理の詳細を示すフローチャートの他の実施形態について説明する。
図10は図5のフローチャートと別技術で、撮影した集荷場所画像データを解析し、パレット画像部分に配送先の配色をオーバレイする手順の一例を示すフローチャートである。
図5の処理では、パレットに載っている荷物一つ一つのQRコードの情報を読み取って、配送先の特定を荷物ごとに行っている。しかしながら、通常同一のパレットに載っている荷物は同一の配送先である。
そのため、本実施形態では、まず集荷場所画像データからパレットを特定し、パレットに載っている荷物のうちの1つのQRコードの情報を読み取ることで、その荷物の配送先を特定するとともに、当該荷物と同じパレットに載っているその他の荷物も特定した配送先と同じ配送先として特定する。そうすることで、パレットに載っている荷物一つ一つのQRコードの情報を読み取って、配送先の特定を荷物ごとに行うよりも、解析時間を短縮することができる。では、ここから図10のフローチャートの各ステップについて説明する。
なお、図10に示す各処理は、画像解析サーバ103のCPU201、またはネットワークカメラ101のCPUにより実行される。
ステップ1001で、画像解析サーバ103は、ネットワークカメラ101に集荷場所画像データをリクエストする。
ステップ1002で、ネットワークカメラ101は、画像解析サーバ103からのリクエストを受信し、当該ネットワークカメラ101で撮影した集荷場所画像データを画像解析サーバ103に送信する。
ステップ1003で、画像解析サーバ103は、ネットワークカメラ101から送信された集荷場所画像データを受信し、集荷場所画像データの中からパレット1102を検索する(図11)。パレットの検索には、既知の画像のパターンマッチング技術を用いる(例えば、予め荷台の画像データを画像解析サーバ103で管理し、当該パレットの画像データと特徴量が一致または所定以上類似するものを集荷場所画像データから検索する)。ステップ1003は、本発明における、取得手段で取得した画像データから台を特定する特定手段の一例である。
画像解析サーバ103は、ステップ1004でパレットが見つからなかった場合は本処理を終了し、パレットが見つかった場合は、ステップ1005で画像解析サーバ103はパレット上部の所定の位置の「横x,縦yのサイズのQRコード解析画像領域(図11のQRコード解析画像領域1101)」のズーム画像送信命令をネットワークカメラ101に送信する。
本実施形態においては、「横x,縦yのサイズのQRコード解析画像領域」の所定の位置の情報は、ユーザが画像解析サーバ103にあらかじめ登録しておくものとする。
ステップ1006で、ネットワークカメラ101は、画像解析サーバ103からの命令を受信し、QRコード解析画像領域1101をズームして撮影した画像データを画像解析サーバ103へ送る。
ステップ1007で、画像解析サーバ103は、QRコード解析画像領域1101をズームして撮影した画像データを受信し、ステップ1008で受信した画像データの中にQRコードのファインダパターンがあるかどうかを判定する。
画像解析サーバ103は、ステップ1008の判定でQRコードを検出できなかった場合はステップ1014に移行し、QRコードを検出した場合は、ステップ1009に移行してQRコードの情報を読み取る。
ステップ1010で、画像解析サーバ103は、QRコードの情報が読み取れたかどうかの判定を行い、読み取れた場合はステップ1012でQRコードに含まれている配送先コードに紐づいた色を配送先データベース(図8)から取得して、ステップ1013に移行する。
ステップ1010でQRコードが読み取れなかった場合は、ステップ1011でQRコードの右上にある配送先コードの文字列をOCRで読み取り、ステップ1013に移行する。
なお、本実施例では、配送先コードはQRコードの右上にあるものとしたが、配送先コードがどの位置にあるかは、画像解析サーバ103にユーザが予め登録していれば、右上でなくとも良い。また、画像解析により、配送先コードを特定しても良い。
ステップ1013で、画像解析サーバ103は、集荷場所画像中のパレットに載っている全荷物に対して、配送先コードに紐づいた色をオーバレイ(図12)し、ステップ1014へ移行する。ステップ1013は、本発明における、前記特定手段で特定した前記台ごとに当該台上の荷物を識別表示した画面を生成する生成手段の一例である。
ステップ1014で、画像解析サーバ103は、ステップ1002でネットワークカメラ101から送信された集荷場所画像データの中から、画像検索により次のパレットを検索する。
ステップ1015でパレットが見つからなかった場合は本処理を終了し、見つかった場合は次のパレットの配送先を解析するためにステップ1005に戻る。以上で、図10の説明を終了する。
次に図13を用いて、本発明の実施形態における、配送可能な配送車を提示する処理の流れを示すフローチャートの一例について説明する。
図13は、既知の車番認識技術(例えば、特開2007-293492号公報や、特開2013-251005号公報に記載の技術)を利用し、各配送先に荷物を運ぶ配送車が配送可能な状態かどうかをユーザに提示する方法を示すフローチャートの一例である。これにより配送可能なパレットから出荷することができるため、配送車の待機時間を短縮し、効率良い配送業務が可能となる。
ステップ1301で、画像解析サーバ103は、駐車場の入り口など配送車の帰車が分かる場所に設置されたネットワークカメラから画像データを取得する。ステップ1301は、本発明における、前記撮像装置から、荷物を配送先に運ぶ車両を撮像した画像データ(車両画像)を取得する取得手段(車両画像取得手段)の一例である。
ステップ1302で、画像解析サーバ103は、ステップ1301で取得した画像データから、これから荷積を行う配送車のナンバーを読み取る。ステップ1302は、本発明における、取得手段で取得した画像データから、当該画像データに映る車両を識別可能な識別情報を特定する第1特定手段の一例である。
ステップ1303で、画像解析サーバ103は、配送車データベース(図14)を参照して、読み取ったナンバーと、ナンバー1403が一致する行の配送先1402を取得し、ステップ1304で、当該配送先1402によって示される配送先の配送車が到着したことをユーザに認識させるべく、通知する。
ステップ1303は、本発明における、第1特定手段で特定した前記識別情報を用いて、前記車両の荷物の配送先を特定する第2特定手段の一例である。また、ステップ1304は、本発明における、第2特定手段で特定した配送先をユーザに認識させるべく、通知する通知手段の一例である。
具体的には、例えば、図15に示す通り、配送先表示画面上で「配送車到着済み」1501を表示することで通知する。なお、複数の配送車が到着した場合には、到着した順番を示す番号がそのまま優先度として、配送先表示画面上に表示される。
なお、図13の処理は、ステップ401より後の画像表示端末105に配送先表示画面を表示している間に実行される。
図14は、画像解析サーバ103の外部メモリ211に記憶される配送車データベースの一例を示す図である。
配送先コード1401は、各配送車の配送先を一意に識別するためのコードである。
配送先1402は、配送車が荷物を配送する配送先を示す。ナンバー1403は、配送車のナンバープレートに記載のナンバーを示す。以上で図14の説明を終了する。
次に図16を用いて、配送先表示画面の他の実施形態について説明する。図16は、図4のステップ404において、画像表示端末105の表示部306に表示される配送先表示画面の一例を示す図である。
パレット選択ボタン1601は、フォークリフトでパレットを運ぶ作業員が、配送先表示画面中の荷物の中からこれから運ぶ荷物をタッチ操作等により選択した後に押すボタンである。パレット選択ボタン1601が押下されると、その荷物の選択情報を画像解析サーバ103が取得・管理し、他の作業員の画像表示端末105の表示部306に対して、メッセージ1602に示すように、当該選択された荷物がすでに運ばれる予定であることを示すメッセージを含む配送先(移動先)表示画面を再度生成して表示する。これにより、例えば、複数のフォークリフトで荷物を運ぶ場合に、他の作業員に対して、選択済みの荷物を優先的に運ぶべきであることを認識させたり、逆に選択済みの荷物以外の荷物を運ぶべきであることを認識させたりすることが可能となる。以上で、図16の説明を終了する。
次に、図17を用いて、配送先(移動先)表示画面の他の実施形態について説明する。図17は、図4のステップ404において、画像表示端末105の表示部306に表示される配送先表示画面の一例を示す図である。上述の配送先表示画面では、荷物を最終的に送る先を表示したが、図17の実施形態では、荷物の移動先をパレットの荷物にオーバレイして表示する。そうすることで、例えば、東京行きの荷物は、東京行きの配送車が到着するエリアAに移動させるといった運用の場合に、東京行きの荷物であるというだけでは、どのエリアに荷物を移動させれば良いのかが分からないといった課題を解消することが可能となる。
次に図18、図19を用いて、本発明の第2の実施形態について説明する。第2の実施形態では、図4、図5、図10、図13のフローチャートにおいて、画像解析サーバ103が実行していた処理をネットワークカメラ101が実行する。また、第1の実施形態において画像解析サーバ103の外部メモリ211で記憶する各データテーブルは、ネットワークカメラ101の外部メモリ2105で記憶するものとする。そのため、第2の実施形態におけるネットワークカメラシステムでは、画像解析サーバ103は必須の構成ではない。
第2の実施形態では、まず、第1の実施形態同様、図4の処理を実行する。なお、上述のとおり、ステップ402、およびステップ403の処理はネットワークカメラ101が実行する。ただし、ステップ402の処理の詳細は、図5ではなく、図18、または図19である。
では、ここから図18、図19について説明する。
図18は、ネットワークカメラ101が撮影した集荷場所画像データを、当該ネットワークカメラ101が解析し、パレット画像部分に配送先の配色をオーバレイする手順の一例を示すフローチャートであり、図4のステップ402の処理の詳細を示すフローチャートの一例を示す図である。
図18に示す各処理は、ネットワークカメラ101のCPU2101により実行される。なお、図5のフローチャートにおいて画像解析サーバ103が実行する処理を、ネットワークカメラ101が実行する以外は、図5のフローチャートと同様の処理であるため、簡潔に説明する。
ステップ1801で、ネットワークカメラ101は、出荷先表示ボタン(601)が選択された旨の情報を画像表示端末105から受信し、ステップ1802で、当該ネットワークカメラ101で集荷場所画像データを撮影する。
ステップ1802と、後述するステップ1902は、本発明における、移動対象の荷物を撮像する撮像手段の一例である。
ステップ1803で、ネットワークカメラ101は、集荷場所画像データを、図9に示す通り、あらかじめ決められた数(横X、縦Y)で画像を分割する。
ステップ1804で、ネットワークカメラ101は、x=1,y=1で変数を初期化し、ステップ1805で、ネットワークカメラ101は、分割した(x,y)の領域の集荷場所画像データの色分布を解析する。
ステップ1806で、ネットワークカメラ101は、ステップ1805の解析の結果、白と黒の割合が所定以上あるかどうかを判定し、所定以上あればステップ1807に移行し、所定以上なければ次の領域の画像を解析するためにステップ1814に移行する。
白と黒の割合が所定以上であった場合、ステップ1807で、ネットワークカメラ101は、(x,y)領域のズーム画像を撮影する。
ステップ1808で、ネットワークカメラ101は(x,y)領域のズーム画像の中にQRコードのファインダパターンがあるかどうかを判定する。
ネットワークカメラ101は、ステップ1808の判定によりQRコードのファインダパターンを検出できなかった場合はステップ1814に処理を移行し、QRコードのファインダパターンを検出した場合は、ステップ1809に処理を移行してQRコードの情報の読み取りを行う。ステップ1809と、後述するステップ1907は、本発明における、前記撮像手段で前記荷物を撮像することで得られる画像データを用いて当該画像データに映る荷物の移動先を特定する特定手段の一例である。
ステップ1810で、ネットワークカメラ101は、QRコードの情報が読み取れたかどうかの判定を行い、読み取れた場合はステップ1812でQRコードに含まれている配送先コードに紐づいた色を配送先データベース(図8)から取得して、ステップ1813に移行する。
ステップ1810でQRコードの情報が読み取れなかったと判定された場合、ネットワークカメラ101は、ステップ1811でQRコードの右上にある配送先コードの文字列(配送先コードの文字列606)をOCRで読み取り、ステップ1813に移行する。
なお、本実施例では、配送先コードはQRコードの右上にあるものとしたが、配送先コードがどの位置にあるかは、ネットワークカメラ101にユーザが予め登録していれば、右上でなくとも良い。また、画像解析により、配送先コードを特定しても良い。
ステップ1813では、集荷場所画像データ中のQRコードを中心とした荷物のサイズに相当する矩形に配送先コードに紐づいた色をオーバレイ(図7)し、ステップ1814へ移行する。なお、荷物のサイズは画像解析サーバであらかじめ記憶しても良いし、画像解析により、集荷場所画像中の荷物の領域を特定しても良い。
ステップ1813と、後述するステップ1911は、本発明における、前記特定手段で特定した荷物の移動先を識別可能な画面を生成する生成手段の一例である。
次にステップ1806で白と黒の割合が所定以上でなかった場合の説明を行う。ステップ1814では、ネットワークカメラ101は、xが横分割数Xと同じかどうかを比較して、同じであればステップ1816に移行し、同じでなければ次の領域の画像をチェックするためにステップ1815でxをインクリメントしてステップ1805に戻る。
ステップ1816では、ネットワークカメラ101は、yが縦分割数Yと同じかどうかを比較して、同じであれば全分割画像を解析したので処理を終了し、同じでなければ次の領域の画像をチェックするためにステップ1817でyをインクリメントしてステップ1805に戻る。
なお、図18の処理を実行後に荷物が運ばれると、運ばれた荷物の後ろに置かれていた別の荷物が集荷場所画像データに新たに映ることもあるため、荷物が運ばれた場合、その荷物があった領域に対してのみステップ1805~ステップ1819の処理を実行することで、再度集荷場所画像データ全体に対してステップ1805~ステップ1817の処理を実行するよりも処理負荷を軽減することが可能となる。荷物が運ばれたか否かは、集荷場所画像データを解析することにより特定する。
以上で、図18の説明を終了し、次に、図19を用いて、第2の実施形態における図4のステップ402の処理の詳細を示すフローチャートの他の実施形態について説明する。
図19は、図5のフローチャートと別技術で、撮影した集荷場所画像データを解析し、パレット画像部分に配送先の配色をオーバレイする手順の一例を示すフローチャートである。
なお、図19に示す各処理は、ネットワークカメラ101のCPU2101により実行される。なお、図10のフローチャートにおいて画像解析サーバ103が実行する処理を、ネットワークカメラ101が実行する以外は、図10のフローチャートと同様の処理であるため、簡潔に説明する。
ステップ1901で、ネットワークカメラ101は、出荷先表示ボタン(601)が選択された旨の情報を画像表示端末105から受信し、ステップ1902で、当該ネットワークカメラ101で集荷場所画像データを撮影する。
ステップ1903で、ネットワークカメラ101は、集荷場所画像データの中からパレット1102を検索する(図11)。
ネットワークカメラ101は、ステップ1904でパレットが見つからなかった場合は本処理を終了し、パレットが見つかった場合は、ステップ1905でネットワークカメラ101はパレット上部の所定の位置のQRコード解析画像領域1101をズームして撮影する。
ステップ1906で、ネットワークカメラ101は、QRコード解析画像領域1101をズームして撮影した画像データの中にQRコードのファインダパターンがあるかどうかを判定する。
ネットワークカメラ101は、ステップ1906の判定でQRコードを検出できなかった場合はステップ1912に移行し、QRコードを検出した場合は、ステップ1907に移行してQRコードの情報を読み取る。
ステップ1908で、ネットワークカメラ101は、QRコードの情報が読み取れたかどうかの判定を行い、読み取れた場合はステップ1910でQRコードに含まれている配送先コードに紐づいた色を配送先データベース(図8)から取得して、ステップ1911に移行する。
ステップ1908でQRコードが読み取れなかった場合は、ステップ1909でQRコードの右上にある配送先コードの文字列をOCRで読み取り、ステップ1911に移行する。
ステップ1911で、ネットワークカメラ101は、集荷場所画像中のパレットに載っている全荷物に対して、配送先コードに紐づいた色をオーバレイ(図12)し、ステップ1912へ移行する。
ステップ1912で、ネットワークカメラ101は、ステップ1902でネットワークカメラ101から送信された集荷場所画像データの中から、画像検索により次のパレットを検索する。
ステップ1913でパレットが見つからなかった場合は本処理を終了し、見つかった場合は次のパレットの配送先を解析するためにステップ1905に戻る。以上で、図19の説明を終了する。
図18、または図19の処理を実行後、図13の処理を実行する。ただし、第2の実施形態においては、図13の各処理は、画像解析サーバ103ではなく、ネットワークカメラ101が実行する。以上で第2の実施形態の説明を終了する。
次に、本発明の他の実施形態について説明する。上述の各実施形態では、QRコードに配送先コードが含まれているとしたが、運用によっては、必ずしもQRコードに配送先コードが含まれているとは限らない。そこで、本実施形態では、QRコードに配送先コードが含まれておらず、各荷物を一意に識別するための識別情報だけがQRコードに含まれている形態について、図20を用いて説明する。
図20は、第1の実施形態では画像解析サーバ103の外部メモリ211に、第2の実施形態では、ネットワークカメラ101の外部メモリ2105に記憶される配送先特定テーブルの一例を示す図である。識別情報2001は、各荷物のQRに含まれる各荷物を一意に識別するための識別情報を示す。配送先コード2002は、識別情報2001によって識別される荷物の配送先を一意に識別するためのコードである。配送先2003は、配送先コード2002に対応する配送先を示す。このように、配送先特定テーブルをあらかじめ記憶することにより、QRコードに配送先コードが含まれていなかったとしても、荷物の配送先を特定することが可能となる。
なお、図20の配送先特定テーブルを用いる場合、配送先を特定する処理は、ステップ514、ステップ1012、ステップ1812、ステップ1910の処理の前にそれぞれ実行される。以上で、図20の説明を終了する。
以上、本発明によると、荷物の移動作業における、業務効率を向上させることができる。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM,DVD-R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。