(57)【要約】【課題】棚割り情報を容易に生成する。【解決手段】棚割生成プログラムは、画像に含まれる、棚に陳列される商品に関する情報が表示されたオブジェクトを検出する処理をコンピュータに実行させる。棚割生成プログラムは、オブジェクトの棚における位置を決定する処理をコンピュータに実行させる。また、棚割生成プログラムは、特定されたオブジェクトの棚における位置及びオブジェクトに対応する商品に関する情報を含む棚割情報を生成する処理をさらにコンピュータに実行させる。【選択図】図５
2019094191.tif 000002
【特許請求の範囲】
【請求項１】
画像に含まれる、棚に陳列される商品に関する情報が表示されたオブジェクトを検出し、
前記オブジェクトに対応する商品に関する情報を特定し、
前記オブジェクトの前記棚における位置を決定し、
特定された前記オブジェクトの前記棚における位置及び前記オブジェクトに対応する商品に関する情報を含む棚割情報を生成する
処理をコンピュータに実行させることを特徴とする棚割生成プログラム。
【請求項２】
前記決定する処理は、前記画像を取得したセンサの画角、前記画像におけるオブジェクトの座標、並びに検出された前記オブジェクトの大きさのうちの少なくともいずれかを用いて、前記オブジェクトの前記棚における位置を決定することを特徴とする請求項１に記載の棚割生成プログラム。
【請求項３】
前記検出する処理は、前記オブジェクトに含まれる商品コード又は前記オブジェクトに含まれる商品に関する文字情報をさらに検出し、
前記生成する処理は、検出された前記商品コード又は前記文字情報により特定される前記商品に関する情報を含む棚割情報を生成することを特徴とする請求項１又は２に記載の棚割生成プログラム。
【請求項４】
前記検出する処理は、検出された前記オブジェクトから所定の範囲内において商品コードを検出した場合、当該オブジェクトが前記商品コード及び前記文字情報のうち少なくともいずれかを含むか否かをさらに判定し、
前記特定する処理は、前記オブジェクトが前記商品コード及び前記文字情報のいずれも含まないと判定された場合、前記オブジェクトから所定の範囲内において検出された前記商品コードを用いて前記商品を特定することを特徴とする請求項３に記載の棚割生成プログラム。
【請求項５】
検出された前記オブジェクトが、期限が定められた特別オブジェクトであるか、期限の定めのない通常オブジェクトであるかを判定し、
前記特別オブジェクトであると判定された場合、前記特別オブジェクトに記載された前記期限が有効であるか否かをさらに判定する
処理をさらにコンピュータに実行させることを特徴とする請求項１乃至４のいずれか１つに記載の棚割生成プログラム。
【請求項６】
前記検出する処理は、所定の範囲内において２つのオブジェクトを検出した場合、前記２つのオブジェクトが同一の商品に関するオブジェクトであるか否かを判定し、
前記特定する処理は、判定された前記オブジェクトに対応する商品を特定することを特徴とする請求項１乃至５のいずれか１つに記載の棚割生成プログラム。
【請求項７】
第１のセンサにより検出される第１の画像と、第２のセンサにより検出される第２の画像とを取得する処理をさらにコンピュータに実行させ、
前記検出する処理は、前記第１の画像により特定されるオブジェクトと、前記第２の画像により特定されるオブジェクトとが同一の商品に関するオブジェクトであるか否かを判定することを特徴とする請求項６に記載の棚割生成プログラム。
【請求項８】
前記検出する処理は、前記第１のセンサの画角と前記第２のセンサの画角との位置関係、前記第１の画像におけるオブジェクトの座標及び前記第２の画像におけるオブジェクトの座標、並びに前記２つのオブジェクトの大きさのうちの少なくともいずれかを用いて、前記２つのオブジェクトが同一の商品に関するオブジェクトであるか否かを判定することを特徴とする請求項７に記載の棚割生成プログラム。
【請求項９】
前記検出する処理は、前記２つのオブジェクトに含まれる商品コードが相互に一致する場合、又は前記２つのオブジェクトに含まれる文字情報が相互に一致する場合に、前記２つのオブジェクトが同一の商品に関するオブジェクトであると判定することを特徴とする請求項６乃至８のいずれか１つに記載の棚割生成プログラム。
【請求項１０】
前記オブジェクトの位置に関する情報と、その他のオブジェクトの位置に関する情報と、前記棚の大きさに関する情報とのうち少なくともいずれかを用いて、前記オブジェクトと前記その他のオブジェクトとの間隔を算出することにより、前記商品の陳列範囲を特定し、
前記商品の情報により特定される前記商品のサイズと、特定された前記商品の陳列範囲とを用いて、前記商品の陳列数を算出する処理をさらに前記コンピュータに実行させ、
前記生成する処理は、算出された前記商品の陳列数を含む前記棚割情報を生成することを特徴とする請求項１乃至９のいずれか１つに記載の棚割生成プログラム。
【請求項１１】
コンピュータが、
画像に含まれる、棚に陳列される商品に関する情報が表示されたオブジェクトを検出し、
前記オブジェクトに対応する商品に関する情報を特定し、
前記オブジェクトの前記棚における位置を決定し、
特定された前記オブジェクトの前記棚における位置及び前記オブジェクトに対応する商品に関する情報を含む棚割情報を生成する
処理を行うことを特徴とする棚割生成方法。
【請求項１２】
画像に含まれる、棚に陳列される商品に関する情報が表示されたオブジェクトを検出する検出部と、
前記オブジェクトに対応する商品に関する情報を特定する特定部と、
前記オブジェクトの前記棚における位置を決定する決定部と、
特定された前記オブジェクトの前記棚における位置及び前記オブジェクトに対応する商品に関する情報を含む棚割情報を生成する生成部と
を有することを特徴とする棚割生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、棚割生成プログラム、棚割生成方法及び棚割生成装置に関する。
【背景技術】
【０００２】
スーパーマーケット等の店舗において、棚に陳列された商品の棚割り情報や在庫情報を管理する際に、商品が陳列された棚の画像を撮影して、画像から商品や値札を検出する技術が知られている。例えば、複数の整理されたオブジェクトを含むリアログラム画像を受け取り、小売り棚にある１つ以上のアイテムのリアログラム画像においてオブジェクトを検出及び特定する技術が知られている。当該技術は、棚の最前部を特定してそれにラベルを付し、棚の下にある空きスペースを特定し、特定されていない製品がある可能性がある領域を特定し、製品が“品切れ”である領域を特定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１１５３４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記技術においては、特定された値札の位置及び商品の位置を用いて、どの棚にどの商品が陳列されるかという、いわゆる棚割り情報を生成するようなことはない。
【０００５】
一つの側面では、棚割り情報を容易に生成できる棚割生成プログラム、棚割生成方法及び棚割生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの態様において、棚割生成プログラムは、画像に含まれる、棚に陳列される商品に関する情報が表示されたオブジェクトを検出する処理をコンピュータに実行させる。棚割生成プログラムは、オブジェクトの棚における位置を決定する処理をコンピュータに実行させる。また、棚割生成プログラムは、特定されたオブジェクトの棚における位置及びオブジェクトに対応する商品に関する情報を含む棚割情報を生成する処理をさらにコンピュータに実行させる。
【発明の効果】
【０００７】
一つの態様によれば、棚割り情報を容易に生成できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１における棚画像の取得処理の一例を示す図である。
【図２】図２は、実施例１における棚画像の一例を示す図である。
【図３】図３は、実施例１における棚画像の取得処理の別の一例を示す図である。
【図４】図４は、値札の一例を示す図である。
【図５】図５は、実施例１における生成装置の一例を示す図である。
【図６】図６は、実施例１における値札ＤＢの一例を示す図である。
【図７】図７は、実施例１における商品ＤＢの一例を示す図である。
【図８】図８は、実施例１における棚位置ＤＢの一例を示す図である。
【図９】図９は、実施例１における棚割ＤＢの一例を示す図である。
【図１０】図１０は、実施例１における値札検出処理の一例を示す図である。
【図１１】図１１は、実施例１における位置決定処理の一例を示す図である。
【図１２】図１２は、実施例１におけるＦＡＣＥ数算出処理の一例を示す図である。
【図１３】図１３は、実施例１における棚割生成処理の一例を示すフローチャートである。
【図１４】図１４は、実施例２における値札一元化処理の一例を示す図である。
【図１５】図１５は、実施例２における複数のセンサと画角との関係の一例を示す図である。
【図１６Ａ】図１６Ａは、実施例２における２つのセンサの画角と値札との関係の一例を示す図である。
【図１６Ｂ】図１６Ｂは、実施例２における２つのセンサの画角と値札との関係の一例を示す図である。
【図１６Ｃ】図１６Ｃは、実施例２における２つのセンサの画角と値札との関係の一例を示す図である。
【図１７】図１７は、実施例２における生成装置の一例を示す図である。
【図１８】図１８は、実施例２におけるセンサＤＢの一例を示す図である。
【図１９】図１９は、実施例２におけるオブジェクトＤＢの一例を示す図である。
【図２０】図２０は、実施例２における値札一元化処理の一例を示すフローチャートである。
【図２１】図２１は、実施例３における生成装置の一例を示す図である。
【図２２】図２２は、実施例３におけるオブジェクトＤＢの一例を示す図である。
【図２３】図２３は、実施例３における棚割ＤＢの一例を示す図である。
【図２４】図２４は、実施例３における値札判定処理の一例を示すフローチャートである。
【図２５】図２５は、実施例３におけるコード検出処理の一例を示す図である。
【図２６】図２６は、生成プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願の開示する棚割生成プログラム、棚割生成方法及び棚割生成装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例１】
【００１０】
本実施例における生成装置１００は、バーコードやＱＲコード（登録商標）などの商品に関する情報コードを含む値札が付された商品陳列棚等を撮影した画像データ等を用いて、商品の棚割情報を生成する。なお、値札はオブジェクトの一例である。また、以下において、バーコードやＱＲコード（登録商標）等の商品に関する情報コードを「商品コード」と表記する場合がある。なお、以下において、商品陳列棚を、単に「棚」と表記する場合がある。
【００１１】
図１は、実施例１における棚画像の取得処理の一例を示す図である。なお、以下において、棚９００を撮影した画像を、棚画像と表記する場合がある。図１に示すように、本実施例における生成装置１００は、例えば自走式のロボットであり、移動しながら棚画像を取得する。
【００１２】
生成装置１００は、例えばバーコードリーダやＱＲコード（登録商標）リーダ等のコードリーダを用いて、棚画像のうち、例えば画角９１０に含まれる範囲に含まれる商品コードを取得する。図２は、実施例１における棚画像の一例を示す図である。図２に示すように、生成装置１００は、画角９１０に含まれる範囲から、バーコード８２０を含む値札を検出する。生成装置１００は、例えばバーコード８２０の周囲の特定の範囲を、値札として検出する。なお、生成装置１００は、値札のサイズや色、レイアウト等に関するデータを予め保持しておき、棚９００の棚画像とマッチングすることにより、値札を検出してもよい。
【００１３】
図３は、実施例１における棚画像の取得処理の別の一例を示す図である。図３に示すように、生成装置１００は、例えばバーコード８２０を含む特定の範囲を、値札８００として検出する。なお、本実施例においては、棚画像の左右方向の左側から、逐次値札を検出する構成について説明する。
【００１４】
また、図３に示すように、生成装置１００は、検出された値札と隣接する他の値札７００をさらに検出する。そして、生成装置１００は、値札８００の左端から、他の値札７００の左端までの範囲８１０を、値札８００に対応する商品の陳列範囲として特定する。
【００１５】
図４は、値札の一例を示す図である。例えば、図４の（ａ）に示すように、値札１０１１は、バーコード１０１２と、商品名１０１３と、価格表示１０１４とを含む。なお、商品名１０１３及び価格表示１０１４は、文字情報の一例である。
【００１６】
なお、本実施例における値札は、図４の（ａ）に示すような通常の値札１０１１に加えて、図４の（ｂ）に示すような期間の限定を示す情報１０２９をさらに含む値札１０２１の２種類がある。なお、値札１０２１も、値札１０１１と同様に、商品コード１０２２と、商品名１０２３と、価格表示１０２４とを含む。以下において、図４の（ａ）に示すような値札１０１１を単に「通常値札」と表記し、図４の（ｂ）に示すような値札１０２１を単に「限定値札」と表記する場合がある。通常値札と限定値札との相違に応じた処理については、後に説明する。なお、通常値札は通常オブジェクトの一例であり、限定値札は特別オブジェクトの一例である。
【００１７】
生成装置１００は、値札を検出すると、コードリーダの画角９１０における当該値札の位置と、コードリーダの画角９１０が棚９００の棚画像に占める位置とを用いて、検出された値札の棚９００における位置を特定する。なお、生成装置１００は、棚９００の位置をさらに特定してもよい。
【００１８】
次に、生成装置１００は、検出された値札を用いて、当該値札に対応する商品を特定する。そして、生成装置１００は、特定された値札の位置と、特定された商品に関する画像とを用いて、棚に陳列される商品の種類や陳列位置、陳列範囲を含む棚割情報を生成する。
【００１９】
このように、本実施例における生成装置１００は、陳列棚を撮影した画像から商品の値札を検出し、画像における値札の座標を、実際の棚における商品の陳列位置に変換して棚割情報を生成するので、画像から簡易に棚割情報を生成できる。
【００２０】
［機能ブロック］
次に、本実施例における生成装置１００の機能の一例について、図５を用いて説明する。図５は、実施例１における生成装置の一例を示す図である。図５に示すように、本実施例における生成装置１００は、外部Ｉ／Ｆ１１０と、記憶部１２０と、制御部１３０とを有する。
【００２１】
外部Ｉ／Ｆ１１０は、有線又は無線を問わず、店員の端末やその他のデータベースサーバなど、その他のコンピュータ等との通信を制御する。外部Ｉ／Ｆ１１０は、例えばＮＩＣ（Network  Interface  Card）等の通信インタフェース等である。外部Ｉ／Ｆ１１０は、例えばカメラ及びコードリーダ等のセンサを有する外部の装置から、棚９００の棚画像及び情報コードの検出結果を取得する。なお、図１に示すように、生成装置１００がカメラ及びコードリーダを有するロボット等により実装される場合、外部Ｉ／Ｆ１１０の代わりに各種センサを有してもよい。
【００２２】
記憶部１２０は、例えば制御部１３０が実行するプログラムなどの各種データなどを記憶する。また、記憶部１２０は、値札ＤＢ１２１、商品ＤＢ１２２、棚位置ＤＢ１２３及び棚割ＤＢ１２４を有する。記憶部１２０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。なお、以下の説明では、データベース（Database）を「ＤＢ」と表記する場合がある。
【００２３】
値札ＤＢ１２１は、値札に関する情報を記憶する。図６は、実施例１における値札ＤＢの一例を示す図である。図６に示すように、値札ＤＢ１２１は、例えば、「値札ＩＤ」（Identifier）と、「大きさ」と、「種別」と、「商品名」と、「コード種別」及び「コード位置」とを対応付けて記憶する。なお、値札ＤＢ１２１に記憶される情報は、例えば生成装置１００の管理者（不図示）により予め入力される。値札ＤＢ１２１は、例えば、同一の商品に対して複数種類の値札が設定される場合、値札の種類ごとに１レコードとして記憶する。
【００２４】
図６において、「値札ＩＤ」は、値札を一意に識別する識別子を記憶する。「大きさ」は、値札のサイズを記憶する。「種別」は、当該値札が通常値札であるか限定値札であるかを記憶する。「商品名」は、当該値札に対応する商品の名称を記憶する。「コード種別」及び「コード位置」は、当該値札に付与される情報コードの種類、及び情報コードが含まれる位置を示す。例えば、値札ＩＤ「Ｔ１０１」の値札は、サイズは「横１００ｍｍ×縦５０ｍｍ」であり、種別は「限定値札」であり、対応する商品名は「●●焼きそば」であること、及び「バーコード」が「左から５０ｍｍ×上から３０ｍｍ」の位置に付されることを示す。
【００２５】
なお、値札ＤＢ１２１が記憶する情報は一例であり、例えば値札の色や、値札に含まれる価格表示のサイズやレイアウト等のその他の情報を記憶してもよい。
【００２６】
商品ＤＢ１２２は、商品に関する情報を記憶する。図７は、実施例１における商品ＤＢの一例を示す図である。図７に示すように、商品ＤＢ１２２は、「ＪＡＮコード」と、「商品名」と、「商品幅」とを対応付けて記憶する。なお、商品ＤＢ１２２に記憶される情報は、例えば外部Ｉ／Ｆ１１０を通じて、外部のデータベース（不図示）から取得された情報である。
【００２７】
図７において、「ＪＡＮコード」は、商品コードの一例を記憶する。「商品幅」は、当該商品の左右方向のサイズを記憶する。
【００２８】
棚位置ＤＢ１２３は、商品陳列棚における商品の配置を記憶する。図８は、実施例１における棚位置ＤＢの一例を示す図である。図８に示すように、棚位置ＤＢ１２３は、「棚番」と、「位置」とを対応付けて記憶する。なお、棚位置ＤＢ１２３に記憶される情報は、例えば生成装置１００の管理者により、予め入力される。
【００２９】
図９において、「棚番」は、商品陳列棚を一意に識別する識別子を記憶する。「位置」は、当該棚が設置される位置を記憶する。図９において、例えば棚番「１」の棚は、店舗内の東端から「１２００ｍｍ」、北端から「１８００ｍｍ」の位置に設置されることが記憶される。また、棚位置ＤＢ１２３は、棚の位置に加えて、棚の高さや段数、幅などのその他の情報を記憶してもよい。
【００３０】
棚割ＤＢ１２４は、棚に陳列される商品の種類や陳列位置、陳列範囲を含む棚割情報を記憶する。図９は、実施例１における棚割ＤＢの一例を示す図である。図９に示すように、棚割ＤＢ１２４は、「棚割ＩＤ」と、「棚番」と、「棚段」及び「棚列」と、「商品名」と、「ＦＡＣＥ数」とを対応付けて記憶する。なお、棚割ＤＢ１２４に記憶される情報は、例えば後に説明する位置決定部１３４により入力される。
【００３１】
図９において、「棚割ＩＤ」は、特定の位置に陳列される商品に関する情報を一意に識別する識別子を記憶する。「棚段」及び「棚列」は、当該商品が陳列される、棚における位置を記憶する。「ＦＡＣＥ数」は、棚に陳列される商品の数を記憶する。例えば、棚割ＩＤ「Ａ００１」は、棚番「１」の棚の「１」段目の「１」列目に、「●●ラーメン」が「２列」陳列されることを記憶する。ＦＡＣＥ数を用いた構成については、後に詳しく説明する。
【００３２】
図５に戻って、制御部１３０は、生成装置１００の全体的な処理を司る処理部である。制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。
【００３３】
制御部１３０は、画像取得部１３１、値札検出部１３２、商品特定部１３３、位置決定部１３４及び出力部１３５を有する。なお、画像取得部１３１、値札検出部１３２、商品特定部１３３、位置決定部１３４及び出力部１３５は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００３４】
画像取得部１３１は、棚画像及び情報コードの検出結果を取得する。例えば、画像取得部１３１は、外部Ｉ／Ｆ１１０を通じて、例えばカメラ及びコードリーダ等のセンサを有する外部の装置から棚画像及び情報コードの検出結果を取得し、値札検出部１３２に出力する。また、画像取得部１３１は、取得された画像の対象となる棚９００の位置及び棚９００における撮影範囲、並びにコードリーダの画角９１０の位置を、位置決定部１３４に出力する。
【００３５】
値札検出部１３２は、取得された棚画像及び情報コードの検出結果を用いて、値札及び値札に含まれる各種の情報を検出する。なお、値札検出部１３２は、検出部の一例である。
【００３６】
値札検出部１３２は、取得された棚画像及び情報コードの検出結果を用いて、値札を検出する。値札検出部１３２は、例えば値札ＤＢ１２１に記憶された値札の情報と合致する画像の範囲を、値札に関する範囲として検出する。また、値札検出部１３２は、例えば検出された情報コードに対応する範囲を、値札に関する範囲として検出する。さらに、値札検出部１３２は、公知の光学文字認識（ＯＣＲ：Optical  Character  Recognition）技術等により、値札に関する範囲に含まれる価格に関する情報や、商品名に関する情報を検出する。値札検出部１３２は、検出された値札に関する各種の情報を、商品特定部１３３に出力する。
【００３７】
図１０は、実施例１における値札検出処理の一例を示す図である。図１０に示すように、値札１０１１及び１０２１は、例えば棚板１０００に設けられる場合が多い。そこで、値札検出部１３２は、棚画像から棚板１０００の位置を検出し、棚板１０００の周辺にある情報コードであるバーコード１０１２を検出する。値札検出部１３２は、値札ＤＢ１２１を参照し、バーコード１０１２に対応する範囲を、値札１０１１として検出する。
【００３８】
また、値札検出部１３２は、値札ＤＢ１２１に記憶された値札の情報とのパターンマッチングを行うことにより、情報コードを含まないが、商品名及び価格に関する情報を含む値札１０２１を検出する。一方、値札検出部１３２は、例えば商品名も価格に関する情報も商品コードも含まないその他の表示１０３１については、値札として検出しない。
【００３９】
商品特定部１３３は、二次元コードの読取結果をデコードする。商品特定部１３３は、画像取得部１３１から値札に関する各種の情報の入力を受けると、商品ＤＢ１２２を参照し、値札に関する各種の情報に対応する商品を特定し、位置決定部１３４に出力する。なお、商品特定部１３３は、特定部の一例である。
【００４０】
位置決定部１３４は、取得された値札の画像をもとに、棚における値札の位置を決定する。位置決定部１３４は、決定した値札の位置に関する情報を、棚割ＤＢ１２４に記憶する。なお、位置決定部１３４は、決定部の一例である。
【００４１】
位置決定部１３４は、画像取得部１３１から入力される情報を用いて、取得された値札の位置を特定する。例えば、位置決定部１３４は、画像の対象となる棚９００の位置を用いて、値札が設けられた棚の位置を決定する。また、位置決定部１３４は、棚９００における棚画像の撮影範囲及びコードリーダの画角９１０の位置を用いて、棚における、値札が設けられた位置を決定する。
【００４２】
図１１は、実施例１における位置決定処理の一例を示す図である。図１１に示すように、位置決定部１３４は、棚９００を撮影した棚画像１０９９において、商品８０１が陳列された棚板１０００に設けられた値札２０１１を検出した場合、値札２０１１の左上の座標２０９９（ｘ，ｙ）を特定する。次に、位置決定部１３４は、棚画像１０９９の棚９００における位置を特定することにより、棚画像１０９９上の座標２０９９（ｘ，ｙ）を、実際の棚９００における位置（Ｘｍｍ，Ｙｍｍ）に変換する。
【００４３】
さらに、位置決定部１３４は、特定された値札の位置（Ｘｍｍ，Ｙｍｍ）を用いて、棚９００における棚段及び棚列を特定する。
【００４４】
なお、位置決定部１３４は、例えばセンサと棚との距離、画像における値札の大きさと値札ＤＢ１２１に記憶された値札のサイズとの比率等を用いて、値札の位置を調整してもよい。
【００４５】
さらに、位置決定部１３４は、検出された値札と、隣接する値札との間隔を算出することにより、値札に対応する商品の陳列範囲を特定する。位置決定部１３４は、例えば対象とする第１の商品の値札の左端から、右側に隣接する第２の商品の値札の左端までの幅を、第１の商品の陳列範囲として特定する。また、位置決定部１３４は、例えば対象とする値札の右側に他の値札が検出されなかった場合、当該値札の左端から、値札が設けられた棚の右端までの幅を、商品の陳列範囲として特定する。
【００４６】
また、位置決定部１３４は、商品ＤＢ１２２に記憶された、値札に対応する商品の商品幅を参照し、当該商品の陳列範囲における当該商品のＦＡＣＥ数を特定する。図１２は、実施例１におけるＦＡＣＥ数算出処理の一例を示す図である。商品のＦＡＣＥ数は、例えば商品の陳列範囲の幅を、商品幅で除算することにより求められる。図１２において、例えば商品Ａの値札７０１と、商品Ｂの値札７０２との間隔７１０が「５００ｍｍ」であり、商品８０１の商品幅が「１５０ｍｍ」である場合、５００ｍｍ／１５０ｍｍ＝３（端数切り捨て）で、ＦＡＣＥ数は３であることが特定される。
【００４７】
出力部１３５は、棚割ＤＢ１２４に記憶された棚割情報を出力する。出力部１３５は、例えば外部Ｉ／Ｆ１１０を通じて、生成装置１００の利用者の端末（不図示）に棚割情報を出力する。なお、出力部１３５が、生成装置１００の表示部（不図示）に棚割情報を出力するような構成であってもよい。
【００４８】
［処理の流れ］
次に、本実施例における処理について、図１３を用いて説明する。図１３は、実施例１における棚割生成処理の一例を示すフローチャートである。まず、生成装置１００の画像取得部１３１は、例えば外部Ｉ／Ｆ１１０を通じて棚画像及び情報コードの検出結果を取得するまで待機する（Ｓ１００：Ｎｏ）。
【００４９】
画像取得部１３１は、棚画像及び情報コードの検出結果を取得したと判定した場合（Ｓ１００：Ｙｅｓ）、取得した及び情報コードの検出結果に関する情報を、値札検出部１３２及び位置決定部１３４に出力する。
【００５０】
値札検出部１３２は、取得した棚画像、及び情報コードの検出結果を用いて、棚画像に含まれる値札を検出し、商品特定部１３３に出力する（Ｓ１０１）。
【００５１】
商品特定部１３３は、検出された値札に関する情報を用いて、値札に対応する商品を特定し、位置決定部１３４に出力する（Ｓ１０２）。
【００５２】
位置決定部１３４は、棚における値札の位置を決定し、棚割ＤＢに記憶する（Ｓ１０３）。また、位置決定部１３４は、値札に対応する商品のＦＡＣＥ数を算出し、棚割ＤＢに記憶する（Ｓ１０４）。
【００５３】
そして、出力部１３５は、全ての棚画像について処理が完了したかを判定する（Ｓ１９０）。出力部１３５は、処理が完了していない棚画像があると判定した場合（Ｓ１９０：Ｎｏ）、Ｓ１００に戻って処理を繰り返す。一方、出力部１３５は、全ての棚画像について処理が完了したと判定した場合（Ｓ１９０：Ｙｅｓ）、棚割情報を出力し（Ｓ１９１）、処理を終了する。
【００５４】
［効果］
以上説明したように、本実施例における生成装置１００は、画像に含まれる、棚に陳列される商品に関する情報が表示されたオブジェクトを検出する。生成装置１００は、オブジェクトの棚における位置を決定する。また、生成装置１００は、特定されたオブジェクトの棚における位置及びオブジェクトに対応する商品に関する情報を含む棚割情報を生成する。これにより、生成装置１００は、棚割り情報を容易に生成できる。
【００５５】
また、生成装置１００は、画像を取得したセンサの画角、画像におけるオブジェクトの座標、並びに検出されたオブジェクトの大きさのうちの少なくともいずれかを用いて、オブジェクトの棚における位置を決定してもよい。また、生成装置１００は、オブジェクトに含まれる商品コード又はオブジェクトに含まれる商品に関する文字情報をさらに検出し、検出された商品コード又は文字情報により特定される商品に関する情報を含む棚割情報を生成してもよい。これにより、取得された画像に含まれる情報から、値札の位置を特定できる。
【００５６】
また、生成装置１００は、オブジェクトの位置に関する情報と、その他のオブジェクトの位置に関する情報と、棚の大きさに関する情報とのうち少なくともいずれかを用いて、オブジェクトとその他のオブジェクトとの間隔を算出することにより、第１の商品の陳列範囲を特定してもよい。また、生成装置１００は、商品の情報により特定される第１の商品のサイズと、特定された第１の商品の陳列範囲とを用いて、第１の商品の陳列数を算出し、商品の陳列数を含む棚割情報を生成してもよい。これにより、商品のＦＡＣＥ数を特定した棚割情報を生成できる。
【実施例２】
【００５７】
ところで、商品陳列時等に、棚板に付された値札の位置がずれて、他の値札と重複する場合がある。また、期間限定のセールなどの際に、通常値札に重畳して、又は通常値札に近接して、限定値札が付される場合もある。この結果、図１４に示すように、２つの値札が隣接して検出される場合がある。
【００５８】
図１４は、実施例２における値札一元化処理の一例を示す図である。図１４に示すように、所定の範囲内において２つの値札が検出された場合、当該値札が同一の商品に関するものか、又はそれぞれ異なる商品に関するものであるかを特定できることが望ましい。
【００５９】
また、コードリーダが情報コードを検出できる画角９１０は、カメラが取得できる画像の画角よりも限定される場合が多い。そこで、後に説明する本実施例における生成装置３００は、複数のコードリーダを用いて、複数の画角から同時に情報コードを検出してもよい。
【００６０】
図１５は、実施例２における複数のセンサと画角との関係の一例を示す図である。図１５は、生成装置３００が４つのコードリーダから同時に情報コードを検出する場合における各コードリーダの画角を示す。図１５に示すように、４つのコードリーダの各画角２２０１乃至２２０４は、それぞれ「２７００ｍｍ」の幅を有し、「９０００ｍｍ」の幅の棚の一段分の商品コードを一括して検出する。
【００６１】
この場合において、各画角２２０１乃至２２０４は、それぞれ「６００ｍｍ」の範囲で、他の画角と重複する。すなわち、図１５に示す例においては、各画角間の座標は、「２１００ｍｍ」相互に離間している。本実施例における生成装置３００は、各画角の座標を調整することにより、各画角において検出された値札の実際の棚における位置を特定する。
【００６２】
この場合において、例えば画角２２０１と画角２２０２の両方において値札が検出される場合がある。この場合、各画角において検出された値札が同一の値札であるか、又は異なる値札であるかを特定できることが望ましい。
【００６３】
そこで、本実施例においては、２つの値札が検出された場合における値札を一元化する構成について説明する。
【００６４】
まず、図１４に示すように、生成装置３００は、１つの画角の中で、所定の範囲内に２つの値札２０１１及び２０２１が検出される場合、各値札に含まれる情報を相互に比較する。なお、生成装置３００は、例えば２つの値札の距離が所定の閾値より小さい場合に、所定の範囲内において２つの値札が検出されると判定してもよい。
【００６５】
例えば、生成装置３００は、商品ＤＢ１２２を参照して、各値札に含まれる商品コード２０１２及び２０２２に対応する商品をそれぞれ特定する。生成装置３００は、特定された商品が相互に一致する場合、値札２０１１及び２０２１が当該同一の商品に対応するものであることを特定する。例えば、生成装置３００は、値札２０１１と２０２１とを一元化した値札２１００として扱う。
【００６６】
また、生成装置３００は、公知の光学文字認識技術等により、商品名２０１３及び２０２３を特定してもよい。そして、生成装置３００は、商品名２０１３及び２０２３が、それぞれ同一の商品名に関するものである場合、値札２０１１及び２０２１が当該同一の商品に対応するものであることを特定する。これにより、値札２０１１及び２０２１のうち少なくとも一方において商品コードを検出しない場合においても、検出された２つの値札を一元化することができる。
【００６７】
また、複数のコードリーダ等のセンサによる画角において、それぞれ値札が検出される場合の値札一元化処理について、図１６Ａ乃至図１６Ｃを用いて説明する。図１６Ａ乃至図１６Ｃは、実施例２における２つのセンサの画角と値札との関係の一例を示す図である。まず、図１６Ａは、値札２０１１がいずれか一方の画角において検出されるが、もう一方の画角においては検出されない場合を示す。
【００６８】
例えば、図１６Ａの（ａ）に示す場合においては、センサ１の画角２２０１においては、「☆」印で示した座標（ｘ，ｙ）において、サイズ「ｗｉｄｔｈ」の値札が検出されたことを示す検出結果２３０１が示される。一方、検出結果２３０１は、センサ２の画角２２０２においては、値札が検出されなかったことを示す。逆に、図１６Ａの（ｂ）に示す検出結果２３０２は、センサ２の画角２２０２において、「☆」印で示した座標（ｘ’，ｙ’）において、サイズ「ｗｉｄｔｈ」の値札が検出されたこと。及びセンサ１の画角２２０１においては値札が検出されなかったことを示す。
【００６９】
図１６Ａの（ａ）及び（ｂ）に示す例においては、１つの画角だけで値札が検出されたため、値札を一元化する処理は行われない。
【００７０】
これに対して、図１６Ｂの（ｃ）及び（ｄ）に示す場合においては、センサ１の画角２２０１とセンサ２の画角２２０２との両方において値札が検出される。検出結果２３０３に示すように、センサ１の画角２２０１においては、「☆」印で示した座標（ｘ，ｙ）において、サイズ「ｗｉｄｔｈ」の値札が検出される。一方、検出結果２３０３は、センサ２の画角２２０２においては、「☆」印で示した座標（ｘ’，ｙ’）において、サイズ「ｗｉｄｔｈ−（ｘ’−ｘ）」の値札が検出されたことを示す。
【００７１】
この場合において、生成装置３００は、センサ１において値札が検出されたｘ座標（ｘ）と、検出された値札のサイズ「ｗｉｄｔｈ」との和が、センサ２において値札が検出されたｘ座標（ｘ’）よりも大きいか否かを判定する。
【００７２】
生成装置３００は、図１６Ｂの（ｃ）に示すように、（ｘ＋ｗｉｄｔｈ）が（ｘ’）よりも大きいと判定した場合、センサ１において検出された値札と、センサ２において検出された値札とは同一の値札であると判定する。一方、生成装置３００は、（ｘ＋ｗｉｄｔｈ）が（ｘ’）以下であると判定した場合は、センサ１において検出された値札と、センサ２において検出された値札とはそれぞれ異なる値札であると判定する。
【００７３】
また、生成装置３００は、図１６Ｂの（ｄ）についても同様に、（ｘ＋ｗｉｄｔｈ）が（ｘ’）よりも大きいと判定した場合、センサ１において検出された値札と、センサ２において検出された値札とは同一の値札であると判定する。なお、図１６Ｂの（ｄ）において、検出結果２３０４に示すように、センサ１の画角２２０１において検出された値札のサイズは、「Ｌ−ｘ」（Ｌは画角２２０１の右端の座標）となる。
【００７４】
次に、図１６Ｃの（ｅ）及び（ｆ）に示す場合においては、センサ１の画角２２０１とセンサ２の画角２２０２とが重複する部分２２１２の「☆」印で示した座標において値札が検出される。
【００７５】
この場合、生成装置３００は、検出結果２３０５において、センサ１の画角２２０１において検出された値札のｘ座標（ｘ）と、センサ２の画角２２０２において検出された値札のｘ座標（ｘ’）とが一致するか否かを判定する。生成装置３００は、図１６Ｃに示すように、ｘ＝ｘ’であると判定した場合、センサ１において検出された値札と、センサ２において検出された値札とは同一の値札であると判定する。
【００７６】
また、図１６Ｃの（ｆ）においては、検出された値札２０３１の幅（ｗｉｄｔｈ２）は、（Ｌ−ｘ）よりも小さい。この場合においても、生成装置３００は、検出結果２３０６において、ｘ＝ｘ’であると判定するので、センサ１において検出された値札と、センサ２において検出された値札とは同一の値札であると判定する。
【００７７】
［機能ブロック］
次に、本実施例における生成装置３００の機能の一例について、図１７を用いて説明する。図１７は、実施例２における生成装置の一例を示す図である。図１７に示すように、本実施例における生成装置３００は、外部Ｉ／Ｆ１１０と、記憶部３２０と、制御部３３０とを有する。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。
【００７８】
記憶部３２０は、例えば制御部３３０が実行するプログラムなどの各種データなどを記憶する。また、記憶部３２０は、値札ＤＢ１２１、商品ＤＢ１２２、棚位置ＤＢ１２３及び棚割ＤＢ１２４に加えて、センサＤＢ３２５及びオブジェクトＤＢ３２６をさらに有する。記憶部３２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００７９】
センサＤＢ３２５は、各センサの位置及び画角に関する情報を記憶する。図１８は、実施例２におけるセンサＤＢの一例を示す図である。図１８に示すように、センサＤＢ３２５は、例えば、「センサＩＤ」と、「座標」と、「画角」とを対応付けて記憶する。なお、センサＤＢ３２５に記憶される情報は、例えば生成装置３００の管理者（不図示）により予め入力される。
【００８０】
図１８において、「センサＩＤ」は、各センサを一意に識別する識別子を記憶する。「座標」は、各センサの画角の位置を記憶する。なお、本実施例において、ｘ座標は例えば左端を０とし、右に移動するにつれて値が大きくなる。「画角」は、各センサが情報コードを検出できる範囲を記憶する。
【００８１】
オブジェクトＤＢ３２６は、一元化される前の値札等のオブジェクトに関する情報を記憶する。図１９は、実施例２におけるオブジェクトＤＢの一例を示す図である。図１９に示すように、オブジェクトＤＢ３２６は、「オブジェクトＩＤ」と、「センサＩＤ」と、「座標」とを対応付けて記憶する。なお、オブジェクトＤＢ３２６に記憶される情報は、後に説明する値札検出部３３２により入力される。
【００８２】
図１９において、「オブジェクトＩＤ」は、各オブジェクトを一意に識別する識別子を記憶する。「センサＩＤ」及び「座標」は、当該オブジェクトが検出されたセンサ、及び各センサの画角における座標を記憶する。
【００８３】
図１７に戻って、制御部３３０は、生成装置３００の全体的な処理を司る処理部である。制御部３３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部３３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【００８４】
制御部３３０は、画像取得部３３１、値札検出部３３２、商品特定部１３３、位置決定部１３４及び出力部１３５を有する。なお、画像取得部３３１及び値札検出部３３２も、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００８５】
画像取得部３３１は、棚画像を取得するとともに、情報コードの検出結果を複数のセンサから取得する。例えば、画像取得部３３１は、外部Ｉ／Ｆ１１０を通じて、例えばカメラ及びコードリーダ等のセンサを有する外部の装置から棚画像、及び情報コードを検出したセンサのセンサＩＤを含む検出結果を取得し、値札検出部３３２に出力する。また、画像取得部３３１は、取得された画像の対象となる棚９００の位置及び棚９００における撮影範囲、並びにセンサの画角９１０の位置を、位置決定部１３４に出力する。
【００８６】
値札検出部３３２は、値札を検出する際に、図１４乃至図１６Ｃに示すような値札の一元化処理を行う。値札検出部３３２は、図１４に示すように、所定の範囲内に２つの値札２０１１及び２０２１が検出される場合、各値札に含まれる情報を用いて、各値札が同一の商品に対応するものであるか否かを判定する。
【００８７】
また、値札検出部３３２は、オブジェクトＤＢ３２６を参照し、センサＩＤが異なる２つの値札等のオブジェクトについて、図１６Ａ乃至図１６Ｃに示すように、同一の値札であるか否かを判定する。
【００８８】
そして、値札検出部３３２は、検出され、又は一元化された値札に関する各種の情報を、商品特定部１３３に出力する。
【００８９】
［処理の流れ］
次に、本実施例における処理について、図２０を用いて説明する。図２０は、実施例２における値札一元化処理の一例を示すフローチャートである。なお、値札一元化処理は、例えば図１２のＳ１０１において実行される。
【００９０】
図２０に示すように、生成装置３００の値札検出部３３２は、例えばオブジェクトＤＢ３２６を参照し、選択した値札に対して、所定の範囲内に他の値札を検出したか否かを判定する（Ｓ２０１）。値札検出部３３２は、所定の範囲内に他の値札を検出しなかったと判定した場合（Ｓ２０１：Ｎｏ）、選択した値札を単一の値札として、商品特定部１３３に出力し（Ｓ２０２）、図１３のＳ１０１に戻る。
【００９１】
値札検出部３３２は、所定の範囲内に他の値札を検出したと判定した場合（Ｓ２０１：Ｙｅｓ）、当該他の値札を検出したセンサと、選択した値札を検出したセンサが同一であるか否かを判定する（Ｓ２１１）。
【００９２】
値札検出部３３２は、センサが同一であると判定した場合（Ｓ２１１：Ｙｅｓ）、２つの値札に含まれる商品コードが一致するか否かをさらに判定する（Ｓ２２１）。値札検出部３３２は、商品コードが一致すると判定した場合（Ｓ２２１：Ｙｅｓ）、２つの値札を単一の値札として、商品特定部１３３に出力し（Ｓ２２９）、図１３のＳ１０１に戻る。
【００９３】
一方、値札検出部３３２は、商品コードが一致しないと判定した場合（Ｓ２２１：Ｎｏ）、２つの値札に含まれる商品名が一致するか否かをさらに判定する（Ｓ２２２）。値札検出部３３２は、商品名が一致すると判定した場合（Ｓ２２１：Ｙｅｓ）、Ｓ２２９に進む。
【００９４】
値札検出部３３２は、商品名が一致しないと判定した場合（Ｓ２２２：Ｎｏ）、２つの値札を、それぞれ異なる値札として、商品特定部１３３に出力し（Ｓ２２３）、図１３のＳ１０１に戻る。
【００９５】
Ｓ２１１に戻って、値札検出部３３２は、センサが同一ではないと判定した場合（Ｓ２１１：Ｎｏ）、２つの値札における座標が、例えば図１６Ｂ又は図１６Ｃにおいて図示したような所定の条件を満たすか否かを判定する（Ｓ２１２）。値札検出部３３２は、座標が所定の条件を満たすと判定した場合（Ｓ２１２：Ｙｅｓ）、Ｓ２０２に進む。一方、値札検出部３３２は、座標が所定の条件を満たさないと判定した場合（Ｓ２１２：Ｎｏ）、Ｓ２２３に進む。
【００９６】
［効果］
以上説明したように、本実施例における生成装置３００は、所定の範囲内において２つのオブジェクトを検出した場合、２つのオブジェクトが同一の商品に関するオブジェクトであるか否かを判定し、判定されたオブジェクトに対応する商品を特定してもよい。この際、生成装置３００は、２つのオブジェクトに含まれる商品コードが相互に一致する場合、又は２つのオブジェクトに含まれる文字情報が相互に一致する場合に、２つのオブジェクトが同一の商品に関するオブジェクトであると判定してもよい。これにより、値札が近接する場合において、対応する商品を適切に特定できる。
【００９７】
また、本実施例における生成装置３００は、第１のセンサにより検出される第１の画像と、第２のセンサにより検出される第２の画像とを取得してもよい。生成装置３００は、第１の画像により特定されるオブジェクトと、第２の画像により特定されるオブジェクトとが同一の商品に関するオブジェクトであるか否かを判定してもよい。その際、生成装置３００は、２つのセンサの画角の位置関係、２つの画像におけるオブジェクトの座標、並びに各オブジェクトの大きさのうちの少なくともいずれかを用いてもよい。これにより、複数のコードリーダ等のセンサにより値札が検出される場合においても、重複や漏れなく値札を検出できる。
【実施例３】
【００９８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。例えば、実施例３における生成装置４００は、検出された値札が「限定値札」である場合、当該値札について定められた期限が有効であるか否かをさらに判定してもよい。
【００９９】
［機能ブロック］
次に、本実施例における生成装置４００の機能の一例について、図２１を用いて説明する。図２１は、実施例３における生成装置の一例を示す図である。図２１に示すように、本実施例における生成装置４００は、外部Ｉ／Ｆ１１０と、記憶部４２０と、制御部４３０とを有する。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。
【０１００】
記憶部４２０は、例えば制御部４３０が実行するプログラムなどの各種データなどを記憶する。また、記憶部４２０は、値札ＤＢ１２１、商品ＤＢ１２２及び棚位置ＤＢ１２３に加えて、棚割ＤＢ４２４及びオブジェクトＤＢ４２６を有する。記憶部４２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【０１０１】
オブジェクトＤＢ４２６は、限定値札の期限に関する情報をさらに含む、値札等のオブジェクトに関する情報を記憶する。図２２は、実施例３におけるオブジェクトＤＢの一例を示す図である。図２２に示すように、オブジェクトＤＢ４２６は、「オブジェクトＩＤ」と、「座標」と、「種別」と、「期限」とを対応付けて記憶する。なお、オブジェクトＤＢ４２６に記憶される情報は、後に説明する値札検出部４３２により入力される。また、オブジェクトＤＢ４２６は、「センサＩＤ」などの情報をさらに有してもよい。
【０１０２】
図２２において、「種別」は、当該オブジェクトが通常値札であるか又は限定値札であるかを記憶する。「期限」は、種別が限定値札であるオブジェクトにおいて定められた期限を記憶する。例えば、オブジェクトＩＤ「Ｏ００１」は「通常値札」であるため、「期限」は記憶されていない。一方、オブジェクトＩＤ「Ｏ０１１」及び「Ｏ１０１」については、それぞれ期限が「１１／８」及び「１１／１１」のように記憶されている。
【０１０３】
棚割ＤＢ４２４は、棚に陳列される商品の種類や陳列位置、陳列範囲を含む棚割情報を記憶する。図２３は、実施例３における棚割ＤＢの一例を示す図である。図２３に示すように、棚割ＤＢ４２４は、「棚割ＩＤ」と、「棚番」と、「棚段」及び「棚列」と、「商品名」と、「ＦＡＣＥ数」に加えて、さらに「期限」を対応付けて記憶する。なお、棚割ＤＢ４２４に記憶される情報は、例えば後に説明する位置決定部４３４により入力される。
【０１０４】
図２３において、「期限」は、当該棚割ＩＤに対応する値札の期限に関する情報を記憶する。例えば、棚割ＩＤ「Ａ００１」に対応する値札が、オブジェクトＩＤ「Ｏ００１」の「通常値札」である場合、期限の定めがないことが記憶される。一方、例えば棚割ＩＤ「Ａ０１１」に対応する値札が、オブジェクトＩＤ「Ｏ０１１」の「限定値札」である場合、オブジェクトＤＢ４２６に記憶される「期限」は「１１／８」である。また、棚割ＩＤ「Ａ１０１」に対応する値札が、オブジェクトＩＤ「Ｏ１０１」の「限定値札」である場合、オブジェクトＤＢ４２６に記憶される「期限」は「１１／１１」である。
【０１０５】
この場合において、例えば、１１月１０日時点においては、棚割ＩＤ「Ａ０１１」については期限「１１／８」を経過しているので「期限切れ」であることが記憶される。一方、棚割ＩＤ「Ａ１０１」については期限「１１／１１」の経過前であるので、期限を示す日付が記憶される。
【０１０６】
図２１に戻って、制御部４３０は、生成装置４００の全体的な処理を司る処理部である。制御部４３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部４３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。
【０１０７】
制御部４３０は、画像取得部１３１、値札検出部４３２、商品特定部１３３、位置決定部４３４及び出力部１３５を有する。なお、値札検出部４３２及び位置決定部４３４も、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【０１０８】
値札検出部４３２は、「限定値札」を検出した場合、公知の光学文字認識技術等により、当該値札に対応する「期限」を検出し、オブジェクトＤＢ４２６に記憶する。
【０１０９】
位置決定部４３４は、棚割ＤＢ４２４を生成する際に、オブジェクトＤＢ４２６に記憶された、限定値札の「期限」を取得する。そして、位置決定部４３４は、取得した「期限」が、現在の日付より前の日付であるか否かを判定する。
【０１１０】
位置決定部４３４は、棚における値札の位置に関する情報に加えて、さらに当該値札の「期限」に関する情報を、棚割ＤＢ４２４に記憶する。なお、位置決定部４３４は、「期限」が、現在の日付より前の日付であると判定した場合、「期限切れ」を示す情報を棚割ＤＢ４２４に記憶してもよい。また、位置決定部４３４は、値札が通常値札である場合は、図２３に示すように、期限の定めがないことを示す情報を棚割ＤＢ４２４に記憶してもよい。
【０１１１】
［処理の流れ］
次に、本実施例における処理について、図２４を用いて説明する。図２４は、実施例３における値札判定処理の一例を示すフローチャートである。図２４に示すように、生成装置４００の位置決定部４３４は、例えば図１２のＳ１０３において、オブジェクトＤＢ４２６を参照し、棚割ＩＤに対応する値札が限定値札であるか否かを判定する（Ｓ３０１）。位置決定部４３４は、限定値札ではないと判定した場合（Ｓ３０１：Ｎｏ）、有効な値札情報を棚割ＤＢ４２４に記憶し（Ｓ３０２）、Ｓ１０４に進む。
【０１１２】
一方、位置決定部４３４は、限定値札であると判定した場合（Ｓ３０１：Ｙｅｓ）、オブジェクトＤＢ４２６に記憶された「期限」を取得し、現在の日付より前の日付であるか否か、すなわち限定値札が無効か否かを判定する（Ｓ３０３）。位置決定部４３４は、限定値札が無効ではないと判定した場合（Ｓ３０３：Ｎｏ）、Ｓ３０２に進む。
【０１１３】
一方、位置決定部４３４は、限定値札が無効であると判定した場合（Ｓ３０３：Ｙｅｓ）、値札が期限切れであることを示す無効情報を棚割ＤＢ４２４に記憶し（Ｓ３０４）、Ｓ１０４に進む。
【０１１４】
以上説明したように、本実施例における生成装置４００は、検出されたオブジェクトが、期限が定められた特別オブジェクトであるか、期限の定めのない通常オブジェクトであるかを判定してもよい。さらに、生成装置４００は、特別オブジェクトであると判定された場合、特別オブジェクトに記載された期限が有効であるか否かをさらに判定してもよい。これにより、期限切れの値札があることを提示することができる。
【０１１５】
また、上記の各実施例においては、値札が商品コードを含む場合について説明したが、値札に商品コードが付されていない場合や、値札に付された商品コードが正しく読み取れない場合がある。この場合において、生成装置４００は、値札の周辺において商品コードを検出した場合、当該商品コードを当該値札の商品コードとして対応付けてもよい。
【０１１６】
生成装置４００は、例えば値札から所定の範囲内にある商品に付された商品コードを検出する。図２５は、実施例３におけるコード検出処理の一例を示す図である。図２５に示すように、生成装置４００は、例えば商品コードを含まない値札２０４１を検出する。この場合において、生成装置４００は、例えば値札２０４１が検出された座標２０９９から所定の範囲内にある商品８１０１を特定する。そして、生成装置４００は、商品８１０１に付された商品コード８１１１を検出した場合、当該商品コード８１１１を、値札２０４１の商品コードとして対応付けてオブジェクトＤＢ４２６に保存してもよい。
【０１１７】
以上説明したように、生成装置４００は、検出されたオブジェクトから所定の範囲内において商品コードを検出した場合、当該オブジェクトが商品コード及び文字情報のうち少なくともいずれかを含むか否かをさらに判定してもよい。また、生成装置４００は、オブジェクトが商品コード及び文字情報のいずれも含まないと判定された場合、オブジェクトから所定の範囲内において検出された商品コードを用いて商品を特定してもよい。これにより、値札から商品コードを検出できない場合においても、棚割情報を生成できる。
【０１１８】
また、実施例１において、値札ＤＢ１２１及び棚位置ＤＢ１２３に記憶される情報を、生成装置１００の管理者が入力する構成について説明したが、実施の形態はこれに限られない。例えば、生成装置１００が、公知の文字認識技術や画像認識技術、パターンマッチング等を用いて、画像取得部１３１が取得した値札を含む画像から、値札の「大きさ」、「種別」及び「商品名」を特定して、値札ＤＢ１２１に記憶するような構成であってもよい。また、生成装置１００が棚９００の棚画像を取得した位置を特定することにより、棚９００の位置を検出し、棚位置ＤＢ１２３に記憶するような構成であってもよい。
【０１１９】
また、生成装置１００が商品ＤＢ１２２を有さず、外部Ｉ／Ｆ１１０を通じて、外部のデータベースから都度商品情報を取得するような構成であってもよい。
【０１２０】
［システム］
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、値札検出部１３２と位置決定部１３４とを統合してもよい。また、位置決定部１３４の値札の位置を決定する処理と、ＦＡＣＥ数を算出する処理とを分割し、それぞれ別の処理部として設けてもよい。
【０１２１】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。  
【０１２２】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図２６は、生成プログラムを実行するコンピュータの一例を示す図である。なお、以下においては、実施例１における生成装置１００を例として説明するが、実施例２及び３における生成装置３００及び４００についても同様のコンピュータにより実現できる。
【０１２３】
図２６が示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、データ入力を受け付ける入力装置２０２と、モニタ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る媒体読取装置２０４と、各種装置と接続するためのインタフェース装置２０５と、他の情報処理装置等と有線または無線により接続するための通信装置２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。また、各装置２０１〜２０８は、バス２０９に接続される。  
【０１２４】
ハードディスク装置２０８には、図５に示した画像取得部１３１、値札検出部１３２、商品特定部１３３、位置決定部１３４及び出力部１３５の各処理部と同様の機能を有する検出プログラムが記憶される。また、ハードディスク装置２０８には、値札ＤＢ１２１、商品ＤＢ１２２、棚位置ＤＢ１２３及び棚割ＤＢ１２４、並びに検出プログラムを実現するための各種データが記憶される。入力装置２０２は、例えば、コンピュータ２００の管理者から管理情報等の各種情報の入力を受け付ける。モニタ２０３は、例えば、コンピュータ２００の管理者に対して管理情報の画面や各種画面を表示する。インタフェース装置２０５は、例えば、図５に示した外部Ｉ／Ｆ１１０と同様の機能を有し、例えばカメラ及びコードリーダ等のセンサを有する外部の装置等と接続され、各種情報をやりとりする。通信装置２０６は、例えば、図５に示した外部Ｉ／Ｆ１１０と同様の機能を有し、例えば外部のデータベース等と接続され、各種情報をやりとりする。
【０１２５】
ＣＰＵ２０１は、ハードディスク装置２０８に記憶された各プログラムを読み出して、ＲＡＭ２０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ２００を図１に示した画像取得部１３１、値札検出部１３２、商品特定部１３３、位置決定部１３４及び出力部１３５として機能させることができる。  
【０１２６】
なお、上記の検出プログラムは、必ずしもハードディスク装置２０８に記憶されている必要はない。例えば、コンピュータ２００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ２００が読み出して実行するようにしてもよい。コンピュータ２００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの検出プログラムを記憶させておき、コンピュータ２００がこれらから検出プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１２７】
１００、３００、４００  生成装置
１１０  外部Ｉ／Ｆ
１２０、３２０、４２０  記憶部
１２１  値札ＤＢ
１２２  商品ＤＢ
１２３  棚位置ＤＢ
１２４、４２４  棚割ＤＢ
３２５  センサＤＢ
３２６、４２６  オブジェクトＤＢ
１３０、３３０、４３０  制御部
１３１、３３１  画像取得部
１３２、３３２、４３２  値札検出部
１３３  商品特定部
１３４、４３４  位置決定部
１３５  出力部
【図１】
2019094191.tif 000003
【図２】
2019094191.tif 000004
【図３】
2019094191.tif 000005
【図４】
2019094191.tif 000006
【図５】
2019094191.tif 000007
【図６】
2019094191.tif 000008
【図７】
2019094191.tif 000009
【図８】
2019094191.tif 000010
【図９】
2019094191.tif 000011
【図１０】
2019094191.tif 000012
【図１１】
2019094191.tif 000013
【図１２】
2019094191.tif 000014
【図１３】
2019094191.tif 000015
【図１４】
2019094191.tif 000016
【図１５】
2019094191.tif 000017
【図１６Ａ】
2019094191.tif 000018
【図１６Ｂ】
2019094191.tif 000019
【図１６Ｃ】
2019094191.tif 000020
【図１７】
2019094191.tif 000021
【図１８】
2019094191.tif 000022
【図１９】
2019094191.tif 000023
【図２０】
2019094191.tif 000024
【図２１】
2019094191.tif 000025
【図２２】
2019094191.tif 000026
【図２３】
2019094191.tif 000027
【図２４】
2019094191.tif 000028
【図２５】
2019094191.tif 000029
【図２６】
2019094191.tif 000030