以下、図面を参照して本発明の実施形態について詳しく説明する。
(1.商品販売装置の外観および内部構成)
図1は、本発明の実施形態に係る商品販売装置の外観および内部構成の概略を示した図である。図1に示すように、商品販売装置1は、例えば、たばこなど小物商品の自動販売装置であり、その筐体の前面には、サンプル表示部20、商品ボタン12、入金口30、取出口40などが設けられ、また、その筐体の内部には、情報処理装置10、カメラ11、入金センサ13、取出口センサ14、距離センサ15、人感センサ16、などが設けられている。
図1において、サンプル表示部20は、商品販売装置1の筐体の前面部に設けられ、商品販売装置1が販売中の商品の写真、絵、愛称などを表示した銘板などによって構成される。あるいは、サンプル表示部20の部分に、商品販売装置1の筐体内部に外側から透視可能なボックスが設けられ、そのボックス内に商品を識別可能なサンプル、模型、包装空箱、空瓶などが配置されていてもよい。以下、サンプル表示部20に配置される銘板やサンプルなどを総称して表示サンプルという。
商品ボタン12は、サンプル表示部20と対にして設けられており、顧客は、商品ボタン12を押すことによって、その商品ボタン12の対となっているサンプル表示部20に表示された商品の購買を指示する。商品販売装置1は、通常、複数の商品(本明細書では、同じ名称の商品でも銘柄や型式が異なる商品は異なる商品とみなす)を販売する必要があるため、このようなサンプル表示部20と商品ボタン12の対は、商品販売装置1に複数対設けられている。従って、商品ボタン12は、顧客が購買する商品の選択を検知する商品選択センサとして機能し、それが顧客により押されたときには、その押された検知信号を情報処理装置10へ入力する。
なお、図1の例では、商品販売装置1の筐体の前面上に、サンプル表示部20と商品ボタン12との対が上下方向に4段、各段それぞれに4対ずつ配列されている。すなわち、サンプル表示部20と商品ボタン12との対が、商品販売装置1の筐体の前面上に縦4段×横4列のマトリックス状に配列されている。
顧客は、商品販売装置1により販売されている商品を購入するとき、商品販売装置1の前に立って、サンプル表示部20を見て、購入商品を探し、その購入商品の対価に相当する貨幣を入金口30から入れ、購入商品の商品ボタン12を押す。そうすると、商品ボタン12により選択された商品が取出口40へ出てくるので、顧客はその商品を入手することができる。
カメラ11は、商品販売装置1の筐体内部の、例えば、サンプル表示部20がマトリックス状に配列された部分の中央あたりに設けられ、顧客の顔が含まれるように、顧客が商品を購入する様子を撮影する。なお、カメラ11は、少なくとも1つあればよいが、図1の例のように、複数のカメラ11(中央のカメラ11a、左上のカメラ11b、および、左下のカメラ11c)が設けられていてもよい。このとき、カメラ11は、顧客の顔が撮影可能であれば、どこに配置してもよい。
入金センサ13は、所定の金額の貨幣が入金口30から入金されたことを検出し、取出口センサ14は、取出口40から商品が取り出されたことを検出する。また、距離センサ15は、商品販売装置1から顧客までの距離を計測し、人感センサ16は、商品販売装置1の周りに顧客などがいるか否かを検知する。なお、後記するように、距離センサ15および人感センサ16は、設けなくてもよい場合もある。
以上のような商品販売装置1において、情報処理装置10は、カメラ11を介して顧客の顔を含む映像を取得し、その映像に含まれる顧客の顔の方向や瞳の位置から顧客の視線を検出し、その視線に基づき、顧客の視線が商品販売装置1の筐体前面の平面上で交わる位置(以下、視線位置という)を検出する。
次に、図1および図2を参照して、商品販売装置1の筐体の前面上に仮想的に設けられるメッシュ19について説明する。ここで、図2は、メッシュの概念およびその位置データの定義を説明するための模式図である。
メッシュ19は、1つずつのサンプル表示部20に対応させて、そのサンプル表示部20を1つ含むように設けられた領域である。すなわち、メッシュ19は、サンプル表示部20、つまり、商品を配置する領域を定める領域ということができる。図1にはメッシュ19は、1つしか示されていないが、図1に示すようにサンプル表示部20が4×4のマトリックス状に設けられた商品販売装置1の場合には、メッシュ19も、図2に示すように4×4のマトリックス状に設けられる。
メッシュ19は、顧客がこれらのメッシュ19のうちいずれを見ているか、つまり、顧客の視線がいずれの商品に注がれているかを判定するための領域を定義するためのものである。従って、サンプル表示部20が設けられた領域と同じ領域であってもよく、また、図1のようにサンプル表示部20を含み、さらに、その周辺近傍領域や商品ボタン12が設けられた領域をも含めた領域であってもよい。そのときメッシュとメッシュの間は、互いに接していてもよく、互いに離れていて(スペースがあって)もよい。
メッシュ19の形状は、長方形であるとし、そのメッシュ19の位置データは、長方形の左辺位置、右辺位置、下辺位置および上辺位置の各データによって定義する。ここでは、商品販売装置1の筐体の前面上のある位置に基準点を設け、水平方向をx軸、垂直方向をy軸とし、メッシュの左辺位置および右辺位置を、そのx座標値で表し、下辺位置および上辺位置を、そのy座標値で表す。
例えば、図2の場合、左端最上部のメッシュ19の位置は、左辺位置が「10cm」、右辺位置が「15cm」、下辺位置が「140cm」、上辺位置が「148cm」として定義される。このようなメッシュの位置データは、それぞれのメッシュ19ごとに定義される。従って、メッシュの位置データは、そのメッシュ19を識別するデータ(以下、メッシュIDという)に対応付けられたデータとして、後記するメッシュ定義データを構成する。
なお、図2におけるxy座標系の基準点は、商品販売装置1の筐体の前面を含む平面上であれば、どこに設定してもよい。図2の例では、基準点は、商品販売装置1の筐体の前面の左下端点に設けられている。なお、なお、メッシュ19の位置がこの基準点を基準にして表されるので、その基準点は、通常、商品販売装置1の機種ごとに定められる。
(2.商品販売管理システムの機能ブロックの構成)
図3は、本発明の実施形態に係る商品販売管理システムの機能ブロックの構成の例を示した図である。図3に示すように、商品販売管理システム100は、販売管理センタ装置5にネットワーク4を介して1つ以上の商品販売装置1が接続されて構成される。図3では、商品販売装置1は1つしか示されていないが、多くの場合は、複数の商品販売装置1がネットワーク4を介して1つの販売管理センタ装置5に接続される。
ここで、ネットワーク4は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、公衆交換電話網、携帯電話回線網など、または、それらの組み合わせのいずれであってもよい。
図3に示すように商品販売装置1に収納されている情報処理装置10には、カメラ11が接続されるほか、商品ボタン12、入金センサ13、取出口センサ14、距離センサ15、人感センサ16などが接続される。そして、情報処理装置10は、映像取得部21、視線データ取得部22、センサデータ取得部23、購買者像検知部24、購買動作判定部25、処理対象フレーム指定部26、映像データ削除部27、データ送受信部28などの処理機能ブロックと、映像データ記憶部31、視線データ記憶部32、顧客購買データ記憶部33、処理判定区分データ記憶部34などの記憶機能ブロックと、を含んで構成される。なお、図3では、カメラ11や商品ボタン12は、代表して1つだけを示している。
ここで、情報処理装置10は、図示しないCPUと記憶装置とを少なくとも有する、いわゆる、コンピュータによって構成される。その場合、情報処理装置10における各処理機能ブロックの機能は、前記CPUが前記記憶装置に格納されている所定のプログラムを実行することにより実現される。また、情報処理装置10における各記憶機能ブロックは、前記記憶装置上に構成される。このとき、前記記憶装置は、半導体集積回路によるRAM(Random Access Memory)、フラッシュメモリ、あるいは、磁気記憶装置であるハードディスク装置などからなる。
また、情報処理装置10は、通信装置17を介してネットワーク4に接続される。このとき、通信装置17は、ネットワーク4に有線で接続されるネットワークインタフェースカード、あるいは、ネットワーク4に無線で接続されるIEEE802.11規格の無線LANの端末側通信装置、携帯電話機などによって構成される。なお、通信装置17がネットワーク4に無線で接続される場合には、ネットワーク4は、IEEE802.11規格の無線LANのアクセスポイント、携帯電話通信網の基地局などを含む。
さらに、図3に示すように、販売管理センタ装置5は、汎用のコンピュータである情報処理装置50に表示端末51が接続されて構成される。その場合、情報処理装置50は、データ収集部61、注視対象検出処理部62、商品別注視・販売データ集計部63、集計データ出力部64などの処理機能ブロックと、視線データ記憶部72、顧客購買データ記憶部73、商品配置データ記憶部74、注視履歴データ記憶部75、商品別注視・販売集計データ記憶部76、メッシュ定義データ記憶部77などの記憶機能ブロックと、を含んで構成される。
ここで、情報処理装置50は、図示しないCPUと記憶装置とを少なくとも備え、情報処理装置50における各処理機能ブロックの機能は、前記CPUが前記記憶装置に格納されている所定のプログラムを実行することにより実現される。また、情報処理装置50における各記憶機能ブロックは、前記記憶装置上に構成される。このとき、前記記憶装置は、半導体集積回路によるRAM、フラッシュメモリ、あるいは、磁気記憶装置であるハードディスク装置などからなる。
また、情報処理装置50は、通信装置52を介してネットワーク4に接続される。このとき、通信装置17は、通常、ネットワーク4に有線で接続される。その場合、通信装置17は、ネットワークインタフェースカード、ルータなどによって構成される。
なお、図3の構成において、情報処理装置10における処理機能ブロックの一部または全部を、コンピュータではなく、半導体の集積回路などを用いた専用の処理回路によって構成してもよい。また、同様に、情報処理装置50における処理機能ブロックの一部または全部を、コンピュータではなく、半導体の集積回路などを用いた専用の処理回路によって構成してもよい。
(3.商品販売装置の機能の詳細)
商品販売装置1の機能は、その内部に含まれる情報処理装置10によって実現される。以下、情報処理装置10を構成する機能ブロックの機能について、図3および図4を参照して説明する。ここで、図4は、情報処理装置10の各記憶機能ブロックに蓄積されるデータのレコード構成の例を示した図である。
図3において、映像取得部21は、カメラ11から入力される動画像の映像データを1フレームごとに取得し、その1フレームごとの映像データに、商品販売装置1を個々に識別する販売装置ID、当該映像データの取得年月日、取得時刻、フレームID、および、当該映像データの映像を撮影したカメラのカメラ番号を付し(図4(a)参照)、映像データ記憶部31に蓄積する。なお、情報処理装置10は、所定フレーム数の映像データを一時記憶する映像データバッファ(図3に図示せず)を有しており、映像取得部21は、取得した所定フレーム数分の映像データをその映像データバッファに一時記憶するとともに、その一時記憶している映像データを、適宜、購買者像検知部24などへ提供する。
購買者像検知部24は、映像データバッファに一時記憶された映像データに基づき、購買者の像を検知する。すなわち、購買者像検知部24は、カメラ11で取得される背景画像の中に移動物体を検知し、さらに、その移動物体の中に顔、つまり、目、口、鼻などを有する円形状のものを検知したとき、購買者像を検知したと判定する。
購買動作判定部25は、顧客の購買動作の開始と終了とを判定する。ここでは、購買者像検知部24によって検知された購買者像の中に所定の大きさより大きい顔が検出されるようになったときを、購買動作の開始と判定し、また、前記購買者像の中に所定の大きさより大きい顔が検出されなくなったときを、購買動作の終了と判定する。
さらに、購買動作判定部25は、購買動作の終了を判定したときには、購買開始から終了までの時間である購買時間を取得するとともに、センサデータ取得部23を介して、顧客によって押された商品ボタン12の識別番号を取得し、その識別番号に基づき、その商品ボタン12に対応付けられたメッシュを識別するメッシュIDを取得する。そして、購買動作判定部25は、そのメッシュID(以下、販売メッシュIDという)を含んだ顧客購買データを作成し、作成した顧客購買データを顧客購買データ記憶部33に蓄積する。なお、購買動作判定部25における処理の詳細については、別途、図面を参照して説明する。
ここで、顧客購買データのレコードは、図4(b)に示すように、販売装置ID、顧客識別キー、購買開始時刻、購買終了時刻、開始時視線データ識別キー、終了時視線データ識別キー、販売メッシュID、購買時間、蓄積フレーム数、完了フラグなどを含んだレコードにより構成される。
この顧客購買データにおいて、顧客識別キーは、当該購買動作をした顧客を識別する情報であり、また、開始時視線データ識別キーおよび終了時視線データ識別キーは、それぞれ、当該購買動作の購買開始時および購買終了時の視線データを識別する情報である。また、購買時間は、当該購買動作に要した時間、蓄積フレーム数は、当該購買動作の購買開始から購買終了までに取得され、映像データ記憶部31に蓄積された映像データの数、つまり、フレーム映像の数である。完了フラグの意味については後記するが、購買動作判定部25は、顧客購買データを作成するときには、完了フラグを‘0’に設定する。
なお、以上の説明では、購買者像における顔の大きさにより、顧客の購買動作の開始および終了を検知するとしているが、購買動作の開始および終了は、顔の大きさの検知に限定されるものではなく、他の情報によって検知してもよい。例えば、購買動作判定部25は、センサデータ取得部23を介して、人感センサ16により、商品販売装置1の前面近傍に顧客がいること検出したときには、購買動作の開始と判定し、商品販売装置1の前面近傍に顧客がいなくなったことを検出したときには、購買動作の終了と判定してもよい。また、商品ボタン12が押されたとき、あるいは、取出口センサ14が取出口40の窓の開閉を検知したときを、購買動作の終了と判定してもよい。
この場合には、精度よく購買者を検知できない可能性もあるが、購買者像検知部24によって購買者像の有無を常時監視する必要がないので、情報処理装置10の処理負荷が軽減される。
また、購買動作判定部25は、センサデータ取得部23を介して人感センサ16から得られる情報と、購買者像検知部24から得られる情報とを併せて、顧客の購買動作の開始および終了を判定するようにしてもよい。この場合には、より信頼性の高い顧客の購買動作の開始および終了の判定が可能になる。
図3において、購買動作判定部25により顧客の購買動作の終了が検知されると、処理対象フレーム指定部26の処理が開始される。処理対象フレーム指定部26は、顧客購買データ記憶部33に蓄積された当該購買動作の顧客購買データを読み出し、その顧客購買データから購買時間および蓄積フレーム数を取得し、さらに、処理判定区分データ記憶部34から処理判定区分データを読み出す。次に、処理対象フレーム指定部26は、前記取得した購買時間、蓄積フレーム数および処理判定区分データに基づき、視線データ取得対象のフレーム映像(以下、処理対象フレームという)を定め、視線データ取得部22による視線データ取得処理を起動する。なお、処理対象フレーム指定部26における処理の詳細については、別途、図面を参照して詳しく説明する。
ここで、処理判定区分データは、図4(c)に示すように、販売装置ID、フレーム固定値、時間数固定値、逆処理閾値、適用開始年月日、適用終了年月日などを含んで構成される。この処理判定区分データは、商品販売装置1の所有者や販売管理センタ装置5の管理者などによって事前に設定されるデータであり、例えば、販売管理センタ装置5からネットワーク4を介して送信されるデータに基づき設定される。なお、処理判定区分データの構成については、処理対象フレーム指定部26における処理の詳細な説明の中で説明する。
図3に示すように、視線データ取得部22は、その下位の機能ブロックとして、顔検知部222、顔特徴量計算部223、視線検出部224、視線位置検出部225などを含んで構成される。
視線データ取得部22の処理は、処理対象フレーム指定部26によって起動され、当該顧客の購買動作について映像データ記憶部31に蓄積されている映像データのうち、処理対象フレーム指定部26により求められた処理対象フレーム数分の映像データのそれぞれについて、その映像データに含まれる顧客の顔および瞳の状況から顧客の視線を検出する。さらに、視線データ取得部22は、その顧客の視線が商品販売装置1の筐体の前面上で交わる視線位置を算出し、その視線位置を含んだ視線データを作成し、作成した視線データを視線データ記憶部32に蓄積する。
すなわち、視線データ取得部22においては、顔検知部222は、まず、静止画像の中に移動物体を検出するとともに、その移動物体中に顔があるか否か、つまり、目、口、鼻などを有する円形状のものがあるか否かを検知する。
次に、顔特徴量計算部223は、顔検知部222によって検知された顔の映像から、公知の方法を用いて、所定の顔の特徴量を求める。なお、ここで求めた顔の特徴量は、商品販売装置1を複数回にわたって利用する顧客の同一性を識別するのに利用することができる。ただし、その同一性の識別の程度は、情報セキュリティの分野で個人認証に用いられているような厳密なものである必要はない。
一方、視線検出部224は、顔検知部222によって検知された顔の映像から、その顔の中心位置、顔が向いている方向、目の中における瞳の位置などを解析し、その解析結果に基づき、顧客の顔の視線方向を計算する。なお、具体的な視線方向の計算は、例えば、特許文献2に記載された公知の方法に従って行うものとし、その計算方法の詳細についての説明を省略する。
次に、視線位置検出部225は、視線検出部224で求められた視線方向に基づき、その視線が指し示す商品販売装置1の筐体の前面上の視線位置を検出し、その視線位置を含むデータを視線データとして、視線データ記憶部32に蓄積する。
ここで、視線データのレコードは、図4(d)に示すように、販売装置ID、顧客識別キー、視線データ識別キー、フレームID、顔特徴量、顔特徴量、当該視線データが検出された視線検出日、視線検出時刻、視線位置(x)、視線位置(y)などを含んで構成される。このとき、視線データ識別キーは、当該視線データのレコードを識別する情報、フレームIDは、当該視線データが取得された映像データのフレームを識別する情報、顔特徴量は、当該フレームの映像に含まれる人の顔についての所定の特徴量である。
なお、顧客購買データ(図4(b)参照)および視線データ(図4(d)参照)における顧客識別キーは、特定の顧客をユニークに識別するものではなく、当該顧客の購買動作の開始から終了までの視線データのレコードの同一性を識別するものであり、同じ顧客識別キーが付された視線データは、その顧客についての注視データの時系列のデータを構成する。また、当該商品販売装置1を複数回、または、繰り返し利用する顧客の同一性を識別する場合には、顔特徴量によって識別する。
視線データ取得部22は、以上に説明した視線判定の処理を、処理対象フレーム指定部26によって求められた処理対象フレーム数分の映像データのすべてに対して実行し、その処理がすべて終了したときには、映像データ削除部27の処理を起動するとともに、顧客購買データ記憶部33に蓄積された当該顧客の購買動作についての顧客購買データの完了フラグに‘1’をセットする。
映像データ削除部27は、視線データ取得部22の処理が終了することによって起動され、当該顧客の購買動作についての映像データおよびそれ以前に蓄積された映像データを全て削除する。なお、顧客購買データの完了フラグに‘1’をセットするのは、前記の視線データ取得処理の終了時点ではなく、映像データ削除が終了した時点であってもよい。
以上のようにして、商品販売装置1が販売する商品を顧客が購買するたびに、1レコードの顧客購買データが顧客購買データ記憶部33に蓄積され、通常は、処理対象フレーム指定部26によって求められた処理対象フレーム数と同じ数の視線データのレコードが作成され、視線データ記憶部32に蓄積される。ただし、本実施形態では、後記するように、作成された視線データの数が処理対象フレーム指定部26によって求められた処理対象フレーム数に達しない場合もあり得る。
データ送受信部28は、視線データ記憶部32に蓄積された視線データ、および、顧客購買データ記憶部33に蓄積された顧客購買データを所定の期間ごとに(例えば、1日に1回)、または、販売管理センタ装置5から送信の指示を受信したときに、まとめて、通信装置17およびネットワーク4を介して販売管理センタ装置5へ送信する。その場合、データ送受信部28は、視線データや顧客購買データを所定のデータ圧縮方式(例えば、Zipなど)で圧縮し、その圧縮したデータ送信してもよい。
続いて、図5〜図9を参照して、以上に説明した商品販売装置1の機能ブロックについて、その主要な機能を実現するためのCPUの処理プログラムの処理フローの例について説明する。
図5は、購買動作判定部25における購買動作判定処理の処理フロー例を示した図である。この顧客購買動作判定処理は、所定の時間、例えば、0.33秒ごとに(言い換えると、映像取得部21により、カメラ11から10フレームの映像が取得されるごとに)実行される。つまり、購買動作判定部25は、1秒間に3回、カメラ11から得られる映像に基づき顧客の購買動作を判定する。なお、ここでは、映像取得部21は、カメラ11から1秒間に30フレームの映像を取得するものとする。
なお、図5において、販売中フラグは、商品販売装置1が商品を販売中、つまり、顧客が商品を購買中であることを示すフラグである。また、フレームカウンタおよび購買時間カウンタは、それぞれ、購買動作中に含まれるフレーム映像のフレーム数をカウントするカウンタ、購買動作中の時間を計測するカウンタである。従って、販売中フラグ、フレームカウンタおよび購買時間カウンタは、商品販売装置1にシステムリセットによりクリアされ、また、この購買動作判定処理の中で購買動作の開始が判定されたとき、セットまたはカウント開始され、購買動作の終了が判定されたときクリアされる。
図5に示すように、情報処理装置10の図示しないCPU(以下、単にCPUという)は、映像取得部21を介して、カメラ11から1フレームの映像データを取得する(ステップS01)。次に、CPUは、購買者像検知部24の移動物検出処理の結果に基づき、その取得した映像データから移動体領域を検出し、その検出した移動体領域を除外した領域を、背景領域として検出する(ステップS02)。次に、CPUは、販売中フラグがオンか否かを判定する(ステップS03)。
その判定の結果、販売中フラグがオンでなかったときには(ステップS03でNo)、CPUは、ステップS01で取得した映像データでその背景領域の面積が所定の閾値Aより小さいか否かを判定する(ステップS04)。そして、背景領域の面積が所定の閾値Aより小さいときには(ステップS04でYes)、CPUは、購買者像検知部24の顔検知処理の結果に基づき、前記取得した映像に顔を検知したか否かを判定する(ステップS05)。
次に、ステップS05の判定において、顔を検知したときには(ステップS05でYes)、CPUは、顧客が購買動作を開始したものと判断し、販売中フラグをセットし(ステップS06)、さらに、そのときの時刻を販売開始時刻として退避し(ステップS06a)、フレームカウンタおよび購買時間カウンタをカウントアップして(ステップS06b)、当該1フレームの映像データについての顧客購買動作判定処理を終了する。
また、ステップS04の判定で、背景領域の面積が所定の閾値Aより小さくなかったとき(ステップS04でNo)、または、ステップS05の判定で、顔を検知しなかったときには(ステップS05でNo)、CPUは、顧客が購買動作を未だ開始していないと判断して、当該1フレームの映像データについての顧客購買動作判定処理を終了する。
また、ステップS03の判定で、販売中フラグがオンであったときには(ステップS03でYes)、CPUは、前記顔検知処理の結果に基づき、ステップS01で取得した映像に顔を検知したか否かを判定する(ステップS07)。その判定の結果、顔を検出しなかったときには(ステップS07でNo)、CPUは、前記取得した映像データでその背景領域の面積が所定の閾値Bより小さいか否かを判定する(ステップS08)。
次に、ステップS08の判定において、背景領域の面積が所定の閾値Bより小さくなかったときには(ステップS08でNo)、CPUは、顧客が購買動作を終了したものと判断して、販売中フラグをクリアし(ステップS09)する。そして、CPUは、そのときのフレームカウンタおよび購買時間カウンタの値、ならびに、退避していた販売開始時刻およびそのときの時刻(販売終了時刻)に基づき、顧客購買データを作成するとともに、その作成した顧客購買データを顧客購買データ記憶部33に蓄積し(ステップS10)、さらに、フレームカウンタおよび購買時間カウンタをクリアして(ステップS10a)、当該1フレームの映像データについての顧客購買動作判定処理を終了する。
また、ステップS07の判定で、顔を検知したとき(ステップS07でYes)、または、ステップS08の判定で、背景領域の面積が所定の閾値Bより小さかったときには(ステップS08でYes)、CPUは、顧客が購買動作を未だ終了していないと判断し、フレームカウンタおよび購買時間カウンタをカウントアップして(ステップS08a)、当該1フレームの映像データについての顧客の購買動作判定処理を終了する。
なお、以上の処理において、閾値Aは、閾値Bよりも小さく設定するものとする。そうしておけば、販売中フラグがいったんセットされると、顧客の動きによって背景領域の面積が多少変動しても、販売中フラグがすぐにクリアされるようなことはなくなる。
図6は、処理対象フレーム指定部26における処理対象フレーム指定処理の処理フローの例を示した図である。この処理対象フレーム指定処理は、購買動作判定部25により顧客の購買動作の終了が検知されたとき起動にされ、当該顧客の購買動作における処理対象フレーム数を求める。
ここで、処理対象フレーム数とは、当該顧客の購買動作中に映像取得部21によって取得され、映像データ記憶部31に蓄積された全フレーム映像のうち、視線データ取得部22による視線データ取得処理の対象となるフレーム映像の数をいう。すなわち、本実施形態では、視線データ取得部22による視線データ取得処理は、映像取得部21によって取得されたフレーム映像のすべてに対して実行されるのではなく、その一部が間引かれた後のフレーム映像に対して実行される。つまり、本実施形態では、映像取得部21によって取得したフレーム映像のうち一部のフレーム映像を間引いたものを処理対象フレームとすることによって、情報処理装置10におけるCPUの処理負担を軽減する。
本実施形態では、視線データ取得処理の処理対象フレームを選択する方法、つまり、フレーム映像を間引く方法は、処理判定区分データ(図4(c)参照)によって定められる。ここで、処理判定区分データは、販売装置ID、処理区分、フレーム間隔値、時間間隔値、逆処理閾値、適用開始年月日、適用終了年月日などを含んで構成される。なお、処理判定区分データは、商品販売装置1の所有者や販売管理センタ装置5の管理者などによって事前に設定される。
まず、処理判定区分データの処理区分=1であるときには、処理対象フレームは、フレーム間隔を指定することによって定められる。すなわち、映像取得部21によって取得されたフレーム映像のうち、処理判定区分データのフレーム間隔値フィールドによって定められたフレーム間隔ごとにとられたフレーム映像が、視線データ取得処理の処理対象フレームとなる。例えば、フレーム間隔値=3であれば、取得された全フレーム映像のうち、3フレームごとにとられたフレーム映像が処理対象フレームとなる。
また、処理区分=2であるときには、処理対象フレームは、時間間隔を指定することによって定められる。すなわち、映像取得部21によって取得されたフレーム映像のうち、時間間隔値フィールドによって定められた時間間隔ごとにとられたフレーム映像が、視線データ取得処理の処理対象フレームとなる。例えば、時間間隔値=0.1であれば、取得された全フレーム映像のうち、0.1秒ごとのフレーム映像が処理対象フレームとなる。
また、処理区分=3であるときには、映像取得部21によって取得された全フレーム映像が、視線データ取得処理の処理対象フレームとなる。
また、処理区分=4であるときには、処理対象フレームは、映像取得部21によって取得されたフレーム映像のうちから、あらかじめ定められたフレーム間隔や時間間隔などの固定間隔でとられるのではなく、その間隔が変動する可変間隔でとられるものとする。そして、その可変間隔は、例えば、購買者像検知部24において、カメラ11により撮影されたフレーム映像において移動物体として検出される購買者像について、その時間変動量を求めておき、その時間変動量の関数値として定められるようにする。すなわち、さらに簡単な例で説明すれば、購買者像検知部24によって検知される購買者像における顔の動きが大きいとき、その間隔を小さくし、顔の動きが小さいとき、その間隔を大きくする。
また、処理判定区分データの逆処理閾値は、処理対象フレーム指定部26で定められた処理対象フレームに対する視線データ取得処理を、時系列の順に行うか、逆時系列の順に行うかを定める閾値である。すなわち、本実施形態では、視線データ取得処理を顧客の購買動作終了後に実行するので、その顧客の購買動作が長く、処理対象フレーム数が大きくなった場合には、次の顧客の購買動作が開始されるまでに、その視線データ取得処理が終了しない可能性がある。そこで、本実施形態では、処理対象フレーム数が大きくなった場合には、視線データ取得処理を逆時系列の順に行い、顧客の後半の購買動作における視線データ取得処理結果が優先的に得られるようにする。
また、適用開始年月日および適用終了年月日は、この処理判定区分データの適用期間を表している。なお、適用終了年月日が定められていない場合には、遠い将来、例えば、100年後の年月日が設定される。
以下、図6を参照して、処理対象フレーム指定処理の処理フローについて説明する。
CPUは、まず、購買動作判定部25により作成された顧客購買データから購買時間および蓄積フレーム数を取得し(ステップS701)、次に、処理判定区分データ記憶部34にあらかじめ設定されている処理判定区分データから処理区分を取得し(ステップS701)、処理区分=1であるか否かを判定する(ステップS703)。
ステップS703における判定の結果、処理区分=1であったときには(ステップS703でYes)、CPUは、蓄積フレーム数を処理判定区分データに含まれるフレーム間隔値で除して処理対象フレーム数を算出する(ステップS704)。また、処理区分=1でなかったときには(ステップS703でNo)、CPUは、さらに、処理区分=2であるか否かを判定する(ステップS705)。
ステップS705における判定の結果、処理区分=2であったときには(ステップS705でYes)、CPUは、蓄積フレーム数を処理判定区分データに含まれる時間間隔値で除して処理対象フレーム数を算出する(ステップS706)。また、処理区分=2でなかったときには(ステップS705でNo)、CPUは、さらに、処理区分=3であるか否かを判定する(ステップS707)。
ステップS707における判定の結果、処理区分=3であったときには(ステップS707でYes)、CPUは、蓄積フレーム数をそのまま処理対象フレーム数とする(ステップS708)。すなわち、この場合には、映像取得部21によって取得された全フレーム映像が処理対象フレームとなる。また、処理区分=3でなかったとき(ステップS707でNo)、例えば、処理区分=4であったときには、CPUは、所定の関数値に基づき、可変間隔の処理対象フレームを定め、その定めた可変間隔から処理対象フレーム数を求める(ステップS709)。なお、ここでいう所定の関数値とは、例えば、購買者像検知部24によって検知された購買者像における顔の動きの量を数値化したものである。
以上のようにステップS704、ステップS706、ステップS708およびステップS709において処理対象フレーム数が求められると、CPUは、処理判定区分データから逆処理閾値を取得する(ステップS710)。次に、CPUは、処理対象フレーム数と逆処理閾値とを比較し、処理対象フレーム数が逆処理閾値より小さかった場合には(ステップS711でYes)、各処理区分で定められる処理対象フレームに対し、時系列順に視線データ取得処理を実行することを指示する(ステップS712)。また、処理対象フレーム数が逆処理閾値より小さくなかった場合には(ステップS711でNo)、CPUは、各処理区分で定められる処理対象フレームに対し、逆時系列順に視線データ取得処理を実行することを指示する(ステップS713)。なお、視線データ取得処理は、視線データ取得部22によって実行される処理である。
ステップS712およびステップS713の指示により、視線データ取得部22では、当該顧客の購買動作に関するすべての処理対象フレームについての視線データ取得処理が実行される。そして、その実行が完了すると、顧客購買データ(図4(b)参照)における完了フラグに‘1’がセットされ、当該顧客についての視線データ取得処理が完了したことが表示される。
続いて、CPUは、映像データ削除処理を起動する(ステップS714)。映像データ削除処理が起動されると、映像データ削除部27では、当該顧客の購買動作に係るフレーム映像およびそれ以前のフレーム映像をすべて削除する。この処理により、商品販売装置1の中には、顧客の顔が撮影された映像は残されないことになる。
なお、本実施形態では、当該顧客の購買動作に係るすべての処理対象フレームについての視線データ取得処理が完了される前に、次の顧客の購買動作が開始された場合には、当該顧客に係る視線データ取得処理は、途中で中止されることになる。この場合には、当該顧客についての顧客購買データの完了フラグは、’0’がセットさせており、また、中止されるまでに作成された視線データは、必ずしも無駄なデータではなく、適宜、利用可能である。
続いて、図7〜9を参照して、視線データ取得部22における視線データ取得処理の主要部について説明する。ここで、図7は、視線検出部224における視線検出処理の処理フローの例を示した図である。
図7に示すように、CPUは、顔検知処理により、まず、映像データの中に顔を検知する(ステップS11)。次に、CPUは、その顔の中で瞳(黒目)を探し、瞳を検出したときには(ステップS12でYes)、さらに、目領域を探す。そして、目領域を検出したときには(ステップS13でYes)、CPUは、さらに、両目を探す。
次に、CPUは、両目を検出したときには(ステップS14でYes)、両目についてそれぞれの目の視線方向を計算する(ステップS15)。このとき、その視線方向は、前記したように、例えば、特許文献2に記載されている方法に基づき計算する。両目の場合には、視線方向が2つ得られるので、CPUは、その両目の視線方向を加算して(ステップS16)、1つの視線方向にまとめる。一方、両目を検出しなかったときには(ステップS14でNo)、検出した片目の視線方向を計算する(ステップS17)。
なお、視線方向は、例えば、瞳の位置を始点とするベクトルとして表されるので、両目の場合、そのベクトル加算をすればよい。また、視線の始点の位置は、両目の平均の位置(中間の位置)に定める。その場合、ベクトル加算や始点の平均位置の計算に際しては、顔の向きや視線の方向に応じて、視線ベクトルの大きさなどに、適宜、加重を付してもよい。
以上のようにして、視線方向が得られると、CPUは、注視対象検出処理として、その視線方向の先にある視線位置を検出する(ステップS18)。ここで、視線位置とは、商品販売装置1の筐体の前面上で当該視線が指している位置をいう。なお、視線位置の検出処理については、次に、図8および図9を用いて詳しく説明する。
また、ステップS12で瞳を検出しなかったとき(ステップS12でNo)、または、ステップS13で目領域を検出しなかったときには(ステップS13でNo)、CPUは、そのまま何もせずに処理を終了する。
なお、以上の視線検出処理は、少なくとも顔が検知された映像について、1フレームごとに行われる。
続いて、図8および図9を参照して、視線位置検出処理の詳細について説明する。ここで、図8は、視線位置検出部225における視線位置を求める方法を説明するための図、図9は、視線位置検出部225における視線位置検出処理の処理フローの例を示した図である。
図8には、顧客が商品販売装置1の前面側に立って、その筐体の前面を見ている様子がその上面図として示されている。ここで、商品販売装置1の筐体内部には、カメラ11がその筐体の前面に垂直な方向を向いて設けられている。このとき、カメラ11の方向(カメラ視線)をz軸とし、商品販売装置1の筐体の前面上でz軸に交わる水平方向の直線をx軸とし、垂直方向の直線をy軸とする。このとき、z軸は、カメラ視線となるので、撮影された映像の中心になる。また、カメラ11が撮影可能な角度の範囲を画角と呼び、これをθで表す。
そこで、図9に示すように、情報処理装置10のCPUは、距離センサ15などを介して商品販売装置1の筐体の前面から顧客までの距離(d)を取得する(ステップS21)。次に、CPUは、カメラ11から得られる映像に基づき、x軸方向およびy軸方向それぞれについて、カメラ映像中心と顔中心位置との差分量(δx,δy)を計算する(ステップS22)。
なお、ここでいう顔中心とは、顧客の視線の始点をいい、両目の場合には、両目(瞳)の位置の平均位置(適宜、加重平均でもよい)であり、片目の場合には、その目(瞳)の位置をいう。また、その差分量(δx,δy)の計算に際しては、画角(θ)および顧客までの距離(d)を考慮するものとする。なお、商品販売装置1が一般的な自動販売機である場合には、顧客までの距離(d)は、顧客によらず概ね一定なので、距離センサ15から得られる値ではなく、所定の定数としてもよい。
次に、CPUは、視線検出処理(図7参照)で計算された視線方向、ステップS21で取得された顧客までの距離(d)、ステップS22で計算された差分量(δx,δy)に基づき、視線位置を計算する(ステップS23)。このとき、視線の始点位置は、座標点(δx,δy,d)と表すことができるので、求める視線位置は、視線方向と同じ方向の直線で、座標点(δx,δy,d)を通る直線がxy平面(z=0の平面)と交わる点のそのxy平面上での座標値(sx,sy)として求めることができる。
次に、CPUは、視線位置の座標値(Sx,Sy)を含んで構成される視線データ(図4(d)参照)を作成し、作成した視線データを視線データ記憶部32に蓄積する(ステップS24)。ここで、視線位置の座標値(Sx,Sy)は、ステップS23で求めた座標値(sx,sy)をメッシュ19の位置を表す座標系(図2参照)で表現し直したもの、つまり、座標変換したものである。なお、図4(d)の視線データでは、座標値Sxは視線位置(x)、座標値Syは視線位置(y)と表記されている。
以上、本実施形態の商品販売装置1においては、情報処理装置10は、カメラ11から取得される顧客の購買動作に係るフレーム映像すべてについて顧客の視線データを取得しなくても済むようにしている。また、視線データを取得する視線データ取得処理は、顧客の購買動作終了後に行うようにしている。
そのため、情報処理装置10のCPUは、処理量が多くなりがちな画像処理を含む視線データ取得処理をリアルタイムで行う必要がなく、それゆえ、CPUの処理性能も必ずしも高性能である必要はない。よって、必ずしも高性能でない安価なマイクロプロセッサを、情報処理装置10のCPUとして利用することが可能になり、その結果、情報処理装置10、つまり、商品販売装置1の製造コストを低減することができる。
また、本実施形態の商品販売装置1の情報処理装置10では、映像取得部21によって取得された顧客の顔を含む映像データは、視線データ取得部22における視線データ取得処理完了後、すぐに削除される。従って、商品販売装置1の記憶装置に顧客の肖像などを含む個人情報が長時間にわたって蓄積されることはない。
(4.販売管理センタ装置の機能の詳細)
販売管理センタ装置5の機能は、その内部に含まれる情報処理装置50によって実現される。以下、情報処理装置50を構成する機能ブロックの機能について、図3および図10を参照して説明する。ここで、図10は、情報処理装置50の記憶機能ブロックに蓄積されるデータのレコード構成の例を示した図である。
ただし、視線データ記憶部72および顧客購買データ記憶部73にそれぞれに蓄積される視線データおよび顧客購買データのレコード構成は、商品販売装置1の視線データ記憶部32および顧客購買データ記憶部33にそれぞれに蓄積された視線データおよび顧客購買データの構成と同じであるので、図10では、その構成の図示を省略している。
図3において、データ収集部61は、商品販売装置1の視線データ記憶部32および顧客購買データ記憶部33にそれぞれ蓄積された視線データおよび顧客購買データを収集して、収集したデータを自らの記憶装置に構成された視線データ記憶部72および顧客購買データ記憶部73に蓄積する。
その場合、データ収集部61は、視線データおよび顧客購買データについては、所定の期間ごと、例えば、1日ごとに、商品販売装置1に対してポーリングすることにより収集する。データ収集部61は、このようにして商品販売装置1から収集した視線データおよび顧客購買データを、それぞれ、そのまま視線データ記憶部72および顧客購買データ記憶部73に蓄積する。
また、商品配置データ記憶部74に蓄積される商品配置データは、データ収集部61により商品販売装置1から収集されるデータであり、そのレコードは、図9(f)に示すように、販売装置ID、メッシュID、商品ID、適用開始年月日、適用終了年月日などを含んで構成される。ここで、メッシュIDは、図1に示した情報処理装置10の場合、メッシュ19が16個あるので、商品配置データ記憶部74には、そのメッシュ19の数と同じ16のレコードが記憶される。また、商品IDは、そのメッシュ19の位置に配置される商品を識別する情報である。また、適用開始年月日および適用終了年月日は、この商品配置データの適用期間を表している。なお、適用終了年月日が定められていない場合には、遠い将来、例えば、100年後の年月日が設定される。
なお、視線データ記憶部72、顧客購買データ記憶部73および商品配置データ記憶部74においては、複数の商品販売装置1についてのデータが混在して蓄積されることになるが、各データには販売装置IDが付されているので、そのデータがいずれの商品販売装置1に属するものであるかの識別は容易である。
次に、図3において、注視対象検出処理部62は、適宜、商品販売装置1の販売装置IDと処理対象期間とを指定し、その指定した商品販売装置1で、さらに、指定した処理対象期間に蓄積された視線データを抽出し、その抽出した視線データについて顧客の視線位置の動きを解析することにより、顧客が商品の購買開始から購買終了に到るまでにどのメッシュを注視したかという注視履歴データをバッチ処理により作成する。そして、その作成した注視履歴データを注視履歴データ記憶部75に蓄積する。なお、注視とは、顧客の視線位置が、商品販売装置1の筐体の前面上のある領域(ここでは、いずれかのメッシュ19)に所定の時間以上、例えば、0.3秒以上留まることをいう。
注視履歴データのレコードは、図9(g)に示すように、商品販売装置1を識別する販売装置ID、顧客を識別する顧客識別キー、当該注視履歴データのレコードを識別する注視履歴識別キー、顧客がある商品(つまり、あるメッシュ)を注視したときの映像データのフレームID、当該注視履歴データが表す注視がされた注視年月日、その注視の注視時間、その注視の対象となったメッシュのメッシュID(注視メッシュID)などにより構成される。
注視対象検出処理部62は、この注視履歴データを作成し、蓄積するために、以下の処理を実行する。
注視対象検出処理部62は、まず、視線データ記憶部72から、販売装置IDと対象期間の年月日をキーとしてそのキーに該当する視線データを抽出する。そして、その抽出した視線データを顧客識別キーによってソーティングし、そのソーティングした視線データを記憶装置に一時記憶する。このソーティングされた視線データは、ある1人の顧客の購買開始から購買終了に到るまでの時系列の視線データに相当する。
次に、注視対象検出処理部62は、このある1人の顧客の時系列の視線データに対し、注視対象検出処理(次に、図11を用いて説明)を適用し、その顧客が購買開始から購買終了に到るまでに注視したメッシュ19のメッシュIDとその注視時間とを求め、そのメッシュ19のメッシュIDとに基づき、その顧客についての注視履歴データを作成し、作成した注視履歴データを注視履歴データ記憶部75に蓄積する。
次に、注視対象検出処理部62は、顧客識別キーによって区分された他のすべての顧客について同様の処理を行い、それぞれの顧客についての注視履歴データを作成し、作成した注視履歴データを注視履歴データ記憶部75に蓄積する。これで、販売装置IDと対象期間の年月日をキーとして抽出された視線データ、つまり、キーとした販売装置IDを有する商品販売装置1において取得された視線データについての注視履歴データの作成およびその蓄積が終了したことになる。
さらに、注視対象検出処理部62は、視線データ記憶部72から視線データを抽出するときの販売装置IDとして、販売管理センタ装置5にネットワーク4を介して接続された商品販売装置1が有する販売装置IDのいずれかを設定し、そのすべての商品販売装置1の販売装置IDについて、以上に説明した処理と同じ処理を繰り返し実行する。
以上の処理によって、販売管理センタ装置5にネットワーク4を介して接続されたすべての商品販売装置1によって、所定の対象期間に取得された全視線データを用いた注視履歴データの作成およびその蓄積が終了したことになる。
図11は、注視対象検出処理部62における注視対象検出処理の処理フローの例を示した図である。注視対象検出処理部62は、この注視対象検出処理を、一時記憶された顧客の時系列の視線データを1レコードずつ読み取りながら繰り返し実行する。なお、この視線データの1レコードは、カメラ11から得られる映像データの1フレームに対応している。そこで、注視対象検出処理部62は、顧客の注視を、顧客の視線位置が所定の時間以上、つまり、所定のフレーム数以上に渡って、特定のメッシュ19に連続して滞在したことを判定することによって検出する。
情報処理装置50のCPUは、まず、メッシュ定義データ記憶部77を参照して、当該視線データによって表される視線位置が含まれるメッシュのメッシュIDを取得する(ステップS31)。すなわち、顧客の視線位置がいずれのメッシュにあるかを判定する。
ここで、メッシュ定義データは、図10(e)に示すように、販売装置ID、メッシュID、メッシュ左辺位置、メッシュ右辺位置、メッシュ下辺位置、メッシュ上辺位置などのデータを含んで構成される。このとき、メッシュ左辺位置、メッシュ右辺位置、メッシュ下辺位置およびメッシュ上辺位置は、商品販売装置1におけるメッシュ19の配置位置を表すデータであり、その詳細については、図2を用いて説明した通りである。
本実施形態では、メッシュ定義データ記憶部77には、販売管理センタ装置5にネットワーク4を介して接続されたすべての商品販売装置1についてのメッシュ定義データが事前に設定され、格納される。そこで、ステップS31における処理では、CPUは、そのメッシュ定義データ記憶部77から、視線データに含まれる販売装置IDと同じ販売装置IDを有するメッシュ定義データを抽出する。こうして抽出されたメッシュ定義データは、当該販売装置IDを有する商品販売装置1に設けられたメッシュ19の配置位置を表すデータである。
そこで、CPUは、その抽出されたメッシュ定義データを参照して、当該視線データが表す視線位置(視線位置(x)、視線位置(y))が、いずれのメッシュ19の領域に含まれるかを判定し、その視線位置が含まれるメッシュ19のメッシュIDを取得する。なお、視線位置がいずれのメッシュ19にも含まれない場合には、例えば、「99999」など、実際上あり得ないメッシュIDを取得する(以下、実際に存在するメッシュ19のメッシュIDを「有意のメッシュID」という)。
続いて、CPUは、今回のメッシュIDが前回のメッシュIDと同じであるか否かを判定する(ステップS32)。ここで、今回のメッシュIDとは、そのとき実行中の処理により得られたメッシュIDをいい、前回のメッシュIDとは、今回の処理対象の視線データの1つ前の視線データについて行った処理により得られたメッシュIDをいう。
そこで、今回のメッシュIDが前回のメッシュIDと同じであった場合には(ステップS32でYes)、CPUは、視線位置がそのメッシュIDを有するメッシュ19に滞在する時間、つまり、注視時間をカウントアップして(ステップS39)、当該視線データに対する処理を終了する。また、今回のメッシュIDが前回のメッシュIDと同じでなかった場合には(ステップS32でNo)、CPUは、さらに、前回のメッシュIDが有意のメッシュIDであったか否かを判定する(ステップS33)。
そして、前回のメッシュIDが有意のメッシュIDであった場合には(ステップS33でYes)、視線位置は、前回まで含まれていたメッシュ19の外に移動したことになるので、CPUは、そのとき示されている注視時間が所定の閾値時間、例えば、0.3秒以上であるか否かを判定する(ステップS35)。
そこで、その注視時間が所定の閾値時間以上であった場合には(ステップS35でYes)、CPUは、前回のメッシュIDを注視メッシュIDとし(ステップS36)、その注視メッシュIDを含んだ注視履歴データを作成し、作成した注視履歴データを注視履歴データ記憶部75に蓄積(ステップS37)した後、注視時間をクリアして(ステップS38)、当該視線データに対する処理を終了する。また、注視時間が所定の閾値時間以上でなかった場合には(ステップS35でNo)、顧客がそのメッシュ19を注視したことにはならないので、CPUは、注視時間をクリアして(ステップS38)、当該視線データに対する処理を終了する。
一方、ステップS33で、前回のメッシュIDが有意のメッシュIDでなかった場合には(ステップS33でNo)、CPUは、さらに、今回のメッシュIDが有意のメッシュIDであるか否かを判定する(ステップS34)。その判定の結果、今回のメッシュIDが有意のメッシュIDであった場合には(ステップS34でYes)、注視時間をカウントアップして(ステップS39)、当該視線データに対する処理を終了する。また、今回のメッシュIDが有意のメッシュIDでなかった場合には(ステップS34でNo)、そのまま当該視線データに対する処理を終了する。
以上の処理により、CPUは、顧客が注視するメッシュ19のメッシュIDおよびその注視時間を得ることができ、さらに、ある1人の顧客が購買開始から購買終了までの間にメッシュ19を注視した注視履歴データを作成し、その作成した注視履歴データを注視履歴データ記憶部75に蓄積することができる。
なお、以上の処理においては、各フレームの映像から得られる視線位置が、一瞬、他の位置にぶれる場合がある。そのようなことが頻繁に生じると、顧客が注視するメッシュ19を定めることができなくなる。
それを防止するには、例えば、視線位置として移動平均の概念を利用するとよい。すなわち、視線データから得られる視線位置をそのまま使用せずに、当該視線データを含み、当該視線データに先行する数レコードの視線データから得られる視線位置について、その平均位置を計算し、その平均位置を当該視線データに対する視線位置として用いる。こうすることによって、視線位置が、一瞬、他の位置にぶれるようなことがあっても、顧客が注視するメッシュ19を適正に定めることができる。
なお、本実施形態では、メッシュ定義データは、販売管理センタ装置5にネットワーク4を介して接続されるすべての商品販売装置1について、それぞれ異なったデータを設定できるものとしているが、商品販売装置1の機種ごとに異なるように設定してもよい。その場合には、メッシュ定義データの第1フィールドは、販売装置IDに代えて、機種IDとなり、販売装置IDそれぞれについて機種IDを対応付けるテーブルが必要となる。
再び、図3を参照する。商品別注視・販売データ集計部63は、顧客購買データ記憶部73、商品配置データ記憶部74および注視履歴データ記憶部75にそれぞれ蓄積された顧客購買データ、商品配置データおよび注視履歴データに基づき、それぞれの商品販売装置1ごとに、その商品販売装置1に設けられたそれぞれのメッシュ19の1日分の注視時間の合計と、そのメッシュ19に対応するサンプル表示部20が表示する商品の1日分の販売個数を集計し、その集計したデータを含んだ商品別注視・販売集計データを作成し、その作成した商品別注視・販売集計データを商品別注視・販売集計データ記憶部76に蓄積する。
ここで、商品別注視・販売集計データは、図10(h)に示すように、販売装置ID、メッシュID、商品ID、注視合計時間、販売個数、販売日などのデータによって構成される。ここで、商品IDは、当該メッシュIDを有するメッシュ19に対応するサンプル表示部20が表示する商品の識別データであり、注視合計時間は、当該販売日に当該メッシュIDを有するメッシュ19が顧客によって注視された注視時間の合計であり、販売個数は、当該販売日に当該メッシュIDを有するメッシュ19に対応する商品ボタン12が押されることによって販売された商品の数である。
図12は、商品別注視・販売データ集計部63における商品別注視・販売データ集計処理の処理フローの例を示した図である。なお、この処理により、1レコードの商品別注視・販売集計データが作成される。
CPUは、まず、商品販売装置1の販売装置ID、その商品販売装置1に含まれるメッシュのメッシュID、年月日を指定する(ステップS41)。
次に、CPUは、ステップS41で指定された販売装置ID、メッシュ、年月日をキーとする検索により、注視履歴データ記憶部75から該当する注視履歴データを抽出し、抽出した注視履歴データに含まれる注視時間を集計し、1日分の注視合計時間を取得する(ステップS42)。
次に、CPUは、ステップS41で指定された販売装置ID、メッシュ、年月日をキーとする検索により、顧客購買データ記憶部73から該当する顧客購買データを抽出し、当該メッシュIDに対応する商品の販売個数を集計し、1日分のその商品の販売個数を取得する(ステップS43)。このとき、CPUは、商品配置データ記憶部74を参照して、当該メッシュIDに対応する商品の商品IDも併せて取得する。
次に、CPUは、ステップS42およびステップS43で取得された注視合計時間、注視時間および商品IDを含んだ商品別注視・販売集計データを作成し、作成した商品別注視・販売集計データを商品別注視・販売集計データ記憶部76に蓄積する(ステップS43)。
CPUは、ステップS41において販売管理センタ装置5にネットワーク4を介して接続されるすべての商品販売装置1の販売装置ID、および、その商品販売装置1に含まれるすべてのメッシュ19のメッシュIDをそれぞれ指定し、以上に説明した商品別注視・販売データ集計処理を繰り返し実行することにより、ある1日のすべての商品別注視・販売集計データを作成し、その作成した商品別注視・販売集計データを商品別注視・販売集計データ記憶部76に蓄積することができる。
以上のような処理を、商品別注視・販売データ集計部63が、例えば、毎日1回、販売日を前日に指定して実行するようにすれば、日ごとの商品別注視・販売集計データが商品別注視・販売集計データ記憶部76に、毎日、蓄積されていく。
再び、図3を参照する。集計データ出力部64は、表示端末51から入力される要求に応じて、商品別注視・販売集計データ記憶部76に蓄積されたデータをそのまま、または、さらに集計したデータを表示端末51に出力する。なお、さらに集計したデータの例としては、商品販売装置1の機種ごとにメッシュ19それぞれの注視合計時間の平均値や販売個数の平均値などがある。
以上、本実施形態によれば、前記したように、顧客の視線データを取得することが可能な商品販売装置1の製造コストを低減することができ、また、顧客の視線データに基づき、顧客が注視する商品についての注視合計時間など様々な情報を取得することが可能な商品販売管理システムの構築費用を低減することができる。
<5.実施形態の変形例>
以上に説明した実施形態においては、商品販売装置1は、たばこや飲料などの自動販売機を想定しているが、商品販売装置1は、自動販売機に限定されることなく、商品販売装置1がスーパーやコンビニなどにおける立壁状の商品陳列棚や箱状の商品陳列ケースなどであってもよい。
ただし、その商品陳列棚や商品陳列ケースには、通常、サンプル表示部20ではなく、商品そのものが配置される。その配置領域のデータは、図10(e)のようなメッシュ定義データを用いて定義することができる。ただし、この場合のメッシュ定義データは、単なる2次元の矩形のデータではなく、上面が開いた箱状の商品陳列ケースにも対応可能なように、3次元の座標データであるものとする。
また、商品販売装置1は、顧客が商品を購買したのかしなかったのか、あるいは、購買した場合、どの商品を購買したかを検知する手段が必要である。これは、商品ボタン12に対応する。しかしながら、スーパーやコンビニでは、顧客は、通常、レジにて商品を受け取り、その代金を支払うので、その商品陳列棚や商品陳列ケースに、商品ボタン12に厳密に対応する手段を設けることは困難である。
そこで、本実施形態の変形例では、商品陳列棚や商品陳列ケースにおいて販売する商品の領域ごとに、例えば、その領域に陳列された商品の総重量を計測する重量センサを設ける。そして、商品販売装置1は、その重量センサからその重量を取得し、その重量が減少した場合に、その領域に陳列された商品が顧客によって購買されたものと判断する。すなわち、このような手段により、商品ボタン12の代用手段が実現されたことになる。