以下、図1〜図16を参照して、実施形態に係るサーバおよびプログラムを詳細に説明する。実施形態では、商品を販売対象の一例として説明する。なお、以下に説明する実施形態によりこの発明が限定されるものではない。
図1は、実施形態のカメラ、POS端末1およびサーバ4がコンビニエンスストア等の店舗内に設置された状態を示す平面模式図である。図1において、店舗Pは、商品を販売する販売エリアP1とバックヤードである事務エリアP2とを有する。販売エリアP1には、顧客Cが店内に入退店する入口P3が設けられている。また、販売エリアP1には、複数列の棚S(S1〜S5)、カメラK(K1〜K6)、POS端末1が備えられている。なお、棚を総じて指す場合は参照符号「S」を使用し、各棚を個別に指す場合は個別の参照符号「S1〜S5」を使用する。また、カメラを総じて指す場合は参照符号「K」を使用し、各カメラを個別に指す場合は個別の参照符号「K1〜K6」を使用する。また、事務エリアP2には、サーバ4が備えられている。
POS端末1とカメラK1〜K5とサーバ4は、通信回線5を介して互いに電気的に接続されている。カメラK6は、POS端末1に内蔵されている。
各棚Sは、複数段に仕切られており、多数の商品が各段に陳列される。各棚S間には、それぞれエリアE(E1〜E4)が設けられている。なお、エリアを総じて指す場合は参照符号「E」を使用し、各エリアを個別に指す場合は個別の参照符号「E1〜E4」を使用する。エリアEは、棚S間に設けられ、顧客Cが相互に通過できる充分なスペースである。顧客Cは、エリアEを通過しながら棚Sに陳列された商品を見たり、棚Sから商品をカゴやカートに移して商品を購入したりする。
カメラK1〜K5は、店舗Pの販売エリアP1の天井に取り付けられている。カメラK1〜K5は、天井から、入口P3および各エリアEに向けて設置されている。カメラK1〜K5は、CCD等で構成され、顧客C等の被写体の連続静止画または動画(総称して「画像」という)を撮像する。実施形態では、カメラK1〜K5は、入口P3から入店し、各エリアEを通過する顧客Cを、例えば1秒間に10枚の連続静止画を撮像する。
カメラK1は、エリアE1を通過する顧客Cの顔と衣服の画像を撮像する。カメラK2は、エリアE2を通過する顧客Cの顔と衣服の画像を撮像する。カメラK3は、エリアE3を通過する顧客Cの顔と衣服の画像を撮像する。カメラK4は、エリアE4を通過する顧客Cの顔と衣服の画像を撮像する。カメラK5は、入口P3から店舗Pに入店する顧客Cの顔と衣服の画像を撮像する。カメラK6は、POS(Point of Sales)端末1において取引処理を実行する顧客Cの顔と衣服の画像を撮像する。これらのカメラKで撮像した顧客Cの顔と衣服の画像を撮像画像という。カメラK1〜K6が店内を網羅的に撮像することで、店舗Pに入店した顧客Cの店内でのすべての行動の軌跡を追跡的に撮像することができる。
各POS端末1は、店舗P内の販売エリアP1に設置されている。各POS端末1は、LAN(Local Area Network)等の通信回線5を介してサーバ4に電気的に接続されている。図1では、1台のPOS端末1が設置されているが、POS端末1の設置台数は何台でもよい。
POS端末1は、店内で販売されている商品の販売に係る売上登録を行う。オペレータであるオペレータCHがPOS端末1を操作することで、POS端末1は、販売される商品の売上登録処理および決済処理を実行する。売上登録処理とは、販売される商品に付されたバーコード等のコードを光学的に読み取って商品コードを入力し、入力した商品コードに基づいて読み出した、当該商品の商品名や価格(商品情報)を表示するとともに、商品情報をバッファに記憶する処理をいう。決済処理とは、売上登録処理に伴いバッファに記憶された商品情報に基づいて、取引に係る合計金額の表示、顧客Cから預かった預り金に基づいて釣銭を計算して表示する処理、釣銭の発行を釣銭機に指示する処理、商品情報や決済情報(合計金額、預り金額、釣銭額等)を印字したレシートを発行する処理等をいう。なお、売上登録処理と決済処理を合わせた処理を取引処理という。
POS端末1には、カメラK6が設けられている。カメラK6は、POS端末1で取引処理された商品を購入する顧客Cの顔と衣服を撮像する。POS端末1は、カメラK6が撮像した顧客Cの顔から当該顧客Cの属性(性別や年齢層等)を判断する。POS端末1は、判断した属性を示す属性情報を、当該顧客Cが購入した商品の商品情報と関連付けてサーバ4に送信する。また、POS端末1は、カメラK6が撮像した顧客Cの撮像画像をサーバ4に送信する。
サーバ4は、通信回線5を介してPOS端末1に電気的に接続されている。サーバ4は、POS端末1で販売された商品の商品情報(販売対象情報)と決済情報を集計して記憶する。サーバ4は、POS端末1から収集した商品情報や決済情報を、本部に設置された本部サーバ(図示せず)に送信する。
サーバ4は、POS端末1から受信した商品情報と属性情報の関連情報に基づいて、当該商品に対応した受信した属性の属性比率を最新のものに更新する。店舗Pの経営者は、最新の属性比率示す情報を店舗運営等に活用する。
図2は、店舗内に設置されたPOS端末1を示す平面模式図である。店舗P内には、店舗P内に陳列された商品を販売する精算所が設けられている。図2は、この精算所に設置された複数台の長尺状のカウンタ6のうちの1台を示している。このカウンタ6は、上面に平坦状の平面7が形成されており、この平面7には、POS端末1が設置されている。POS端末1の操作側にオペレータCHが位置し、反対の通路側に顧客Cが位置している。顧客Cは購入する商品が入れられたカゴをカウンタ6の載置部61に載置する。オペレータCHは、載置部61に載置されたカゴから商品を取出して、商品に付されているコードを読取部20(図3を参照)を用いて光学的に読み取る。するとPOS端末1は、当該商品の売上登録処理や決済処理を実行する。
POS端末1は、詳細は図3で説明するが、オペレータCHが操作するキーボード等の操作部17、オペレータCHに対して情報を表示するオペレータ用表示部18、顧客Cに対して情報を表示する顧客用表示部19を備えている。
顧客用表示部19の外枠上部には、カメラK6が設けられている。カメラK6は、CCD(Charge Coupled Device)イメージセンサ等で構成されている。カメラK6は、顧客C側に向けて設置されている。顧客用表示部19は、顧客C側に向けて設置されており、POS端末1の顧客C側のC1で囲まれたエリアに位置する顧客Cは、顧客用表示部19に表示される表示を見ることができる。カメラK6は、C1で囲まれたカメラK6に正対する位置にいる顧客Cを撮像することができる。
カメラK6は、POS端末1が取引処理をする商品を購入した顧客C等の顔および衣服の動画または連続静止画(総称して「画像」という)を撮像する。実施形態では、例えば1秒間に10枚、顧客Cの画像を撮像する。カメラK6が撮像した画像を撮像画像という。
図3は、実施形態のPOS端末1を顧客C側から見た外観を示す斜視図である。図3において、POS端末1は、本体2と金銭収納箱3とを有する。金銭収納箱3は、ドロワを有し、顧客Cから預かった紙幣や貨幣の金銭や商品券等の有価証券類、および顧客Cに手渡す釣銭等を収納している。
本体2は、情報を入力するキーボード等の操作部17、液晶表示器等で構成され操作者に情報を表示するオペレータ用表示部18、液晶表示器等で構成され、顧客Cに情報を表示する顧客用表示部19を設置している。また、本体2は、商品に付されたバーコードや二次元コード等のコードを読取る読取部20を備えている。読取部20は、CCDイメージセンサ等で商品に付されたコードを読取って入力する。また、本体2は、内部に、POS端末1の制御部100(図4を参照)や、商品情報を印字してレシートを発行する印字部21を備えている。
また、POS端末1の顧客用表示部19の表示面側の上部中央部には、カメラK6が設けられている。
次に、図4および図5を用いて、POS端末1のハードウェアについて説明する。図4は、POS端末1のハードウェア構成を示すブロック図である。図4において、POS端末1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、メモリ部14等を備えている。CPU11は制御主体となる。ROM12は各種プログラムを記憶する。RAM13はプログラムや各種データを展開する。メモリ部14は各種プログラムを記憶する。CPU11、ROM12、RAM13、メモリ部14は、互いにデータバス15を介して接続されている。CPU11とROM12とRAM13が、制御部100を構成する。すなわち、制御部100は、CPU11がROM12やメモリ部14に記憶されRAM13に展開された制御プログラム141に従って動作することによって、後述する制御処理を実行する。
RAM13は、商品情報部131と画像記憶部132と撮像記憶部133を備えている。商品情報部131は、読取部20で読み取った商品コードに対応して売上登録処理された商品の商品情報(商品コード、商品名、商品の価格、等)を記憶する。画像記憶部132は、カメラK6が撮像した撮像画像から顔を検出した顧客Cの画像を記憶する。顔を検出する顔検出技術は、カメラK6が撮像した画像から後述する顔の各パーツ(目、鼻、口、耳、顎等)のすべてを検出することで、人物の顔であることを検出する公知の技術である。また、撮像記憶部133は、カメラK6が撮像した顧客の撮像画像を記憶する。
メモリ部14は、電源を切っても記憶情報が保持されるHDD(Hard Disc Drive)やフラッシュメモリ等の不揮発性メモリで構成され、制御プログラム141を含むプログラム等を記憶する。また、メモリ部14は、顔マスタ142(図5を参照)を備えている。
また、データバス15には、操作部17、オペレータ用表示部18、顧客用表示部19、読取部20、印字部21、カメラK6が、コントローラ16を介して接続されている。コントローラ16は、制御部100からの指示を受けて、操作部17、オペレータ用表示部18、顧客用表示部19、読取部20、印字部21、カメラK6を制御する。ただし、説明を簡略化するため、コントローラ16が行う制御を制御部100が行うとして説明する。
操作部17は、置数キー、ファンクションキー等を含む種々のキーを備えている。小計キー(図示せず)は、購入する商品の売上登録処理を終了して決済処理の開始を宣言するために操作するキーである。小計キーが操作されると、当該取引の決済処理を開始する。預/現計キー171は、取引の終了を宣言するとともに、現金で決済処理するためのキーである。預/現計キー171が操作されると、現金での決済処理を実行して取引処理を終了する。
オペレータ用表示部18は、表示面をオペレータCHに向けて設置され、操作者に対して情報を表示する。顧客用表示部19は、表示面を顧客Cに向けて設置され、顧客Cに対して情報を表示する。なお、オペレータ用表示部18および顧客用表示部19上に設けられ、タッチすることでキーの役割を果たすタッチキー(図示せず)は操作部17の一部である。
読取部20は、CCDイメージセンサ等で構成され、商品に付されたバーコードや二次元コード等のコードをCCDで読取って、商品コードを入力する。実施形態では、ハンディタイプの読取部20を用いており、オペレータは、手に取った読取部20を商品に付されたコードに近づけるか接触させることでコードを読取る。なお、読取部20は、発光された光をポリゴンミラー等で走査し、コードで反射した光を受光する構成のスキャナであってもよい。
印字部21は、本体2内に収納されたロール状のレシート用紙を引き出して、例えば熱転写型の印字ヘッドを備えたサーマルプリンタ等で商品情報や決済情報等を印字し、レシートとして発行する。カメラK6は、CCD等で構成され、取引する顧客C等の顔および顧客Cが着ている衣服の画像を撮像する。
また、データバス15は、店舗に設置されたサーバ4と電気的に接続する通信I/F(Interface)24を接続している。通信I/F24は、通信回線5と接続している。サーバ4は、店舗に設置されているすべてのPOS端末1と電気的に接続しており、各POS端末1から商品情報や決済情報を収集する。店舗サーバは、POS端末1から収集した商品情報や決済情報を、本部に設置された本部サーバ(図示せず)に送信する。
図5は、メモリ部14の顔マスタ142を示すメモリマップである。図5において、顔マスタ142は、10歳代から60歳以上までの性別毎・年齢層毎に顔パーツ情報を記憶する顔パーツ情報部1421を備えている。各顔パーツ情報部1421は、それぞれの属性(年齢層や性別)を特定できる顔パーツ情報を記憶している。
顔パーツ情報とは、人の顔をパーツや特徴に合わせて分類した、属性毎の各パーツや特徴を示すデータであり、例えば、人の目、鼻、口、耳、顎といったパーツの特徴や、笑顔、真面目顔、目を閉じている、目を開いている、といった顔の変形特徴を表すデータをいう。属性毎に記憶した顔パーツ情報は、他の属性とは異なるその属性の特徴を表す情報である。例えば、10歳代(男)の顔パーツ情報部1421には、10歳代男性の特徴を示す目、鼻、口、耳の情報、10歳代男性の特徴を示す笑顔、真面目顔の情報が記憶されている。この属性別の顔パーツ情報は、多数の統計データに基づいて作成された、その属性を顕著に表す情報である。
次に、図6〜図10を用いて、サーバ4のハードウェアについて説明する。図6は、サーバのハードウェア構成を示すブロック図である。図6において、サーバ4は、制御主体となるCPU41、各種プログラムを記憶するROM42、各種データを展開するRAM43、各種プログラムを記憶するメモリ部44等を備えている。CPU41、ROM42、RAM43、メモリ部44は、互いにデータバス45を介して接続されている。CPU41とROM42とRAM43が、制御部400を構成する。すなわち、制御部400は、CPU41がROM42やメモリ部44に記憶されRAM43に展開された制御プログラム441に従って動作することによって、後述する制御処理を実行する。
メモリ部44は、電源を切っても記憶情報が保持されるHDD(Hard Disc Drive)やフラッシュメモリ等の不揮発性メモリで構成され、制御プログラム441を含むプログラム等を記憶する。また、メモリ部44は、属性記憶部442(図7を参照)と撮像画像部443とを備えている。撮像画像部443は、POS端末1から受信したカメラK6が撮像した撮像画像を記憶する。
また、メモリ部44は、パターン部444(記憶部)を備えている。パターン部444は、店舗P内での顧客Cの行動の軌跡を、属性に対応させて特徴的にパターン化した情報を記憶する。パターン部444は、動線部4441(図8を参照)、来店時刻部4442(図9を参照)、滞在時間部4443(図10を参照)を備えている。
また、メモリ部44は、行動記憶部445を備えている。行動記憶部445は、入口P3を入った顧客Cが取った行動に係る行動情報を顧客C毎に記憶する。具体的には、行動記憶部445は、店舗Pの入口P3から入店した顧客Cの行動情報である、動線、入店時刻、滞在時間の情報を、顧客C毎に関連付けて記憶する。
動線は、顧客Cが、入店してからPOS端末1で取引処理を実行するまでの店内の行動軌跡である。入店した顧客CをカメラK5が撮像する。その後の当該顧客Cの店内での行動は、カメラK1〜K4が撮像する。POS端末1で取引処理を行う顧客CはカメラK6が撮像する。行動記憶部445には、各カメラKが撮像した顧客C撮像画像に基づいて計測された動線が記憶される。
動線計測技術は、防犯カメラ等が撮像した人物の撮像画像を解析して、当該人物の行動を追跡して軌跡を線で表す公知な技術である。具体的には、撮像した顔(目、鼻、口、顎等)の情報に基づいて顔認識を実行して人物の同一性を判断し、また人物が着ている衣服(上着、ズボン、帽子等)の色や形等の一致性に基づいて人物の同一性を判断する。一致した人物の行動を時系列で連続的に計測すれば、当該人物の店内での行動の連続的な軌跡(動線)を把握することができる。
また、行動記憶部445には、カメラK5が撮像した顧客Cの撮像画像に基づいて、新規に入店した顧客Cの入店時刻が記憶される。
また、行動記憶部445には、顧客Cが入店してからPOS端末1において取引処理をするまでの滞在時間が記憶される。
なお、行動記憶部445には、同一の顧客Cについて、動線と来店時刻と滞在時間を関連付けて記憶している。すなわち、顧客Cが特定されれば、当該顧客Cの動線、来店時刻、滞在時間が把握できる。
また、データバス45には、コントローラ46を介して、操作部47と表示部48が接続されている。操作部47は、種々の操作をするキーを備えたキーボードである。表示部48は、例えば液晶表示器であり、情報を表示する。また、データバス45には、通信I/F49が接続されている。通信I/F49は、通信回線5を介してPOS端末1に電気的に接続されている。
図7は、属性記憶部442を示す図である。属性記憶部442は、POS端末1で売上登録処理した商品(すなわち顧客Cが購入した商品)の商品情報を、商品を購入した顧客Cの属性と対応させて、属性別(性別や年齢層別)に集計して記憶する。属性記憶部442に記憶された商品情報について、属性別の購買傾向やトレンドを分析することができる。
属性記憶部442は、商品情報部4421と属性比率部4422と不明情報部4423を備える。商品情報部4421は、顧客Cが購入した商品を特定する商品コードを記憶する。属性比率部4422は、各商品コードに対応して、各属性別に属性比率を記憶する。
属性比率部4422は、販売された商品を示す商品コードに対応して、当該商品を購入した人の属性(性別、年齢層等)別に当該商品の購入割合を示す属性比率を記憶している。具体的には、属性比率部4422は、販売された商品を示す商品コードに対応して、当該商品を購入した人の属性別に当該商品の購入数を記憶している。そして属性比率部4422は、それぞれの属性の購入数を当該商品の全体の購入数で除した割合(属性比率)を記憶している。
例えば、商品Aを購入した人の属性は、20代男性が20%、20代女性が25%、30代男性が10%、30代女性が15%・・・のように記憶している。この20%、25%、10%、15%といった割合が属性比率であり、商品Aを購入した人のうちの各属性が占める割合である。属性比率が高い属性ほど、当該商品Aを購入した割合が高い属性である。すなわち、属性比率が高い属性は、当該商品Aを多く購入する属性である。商品B、商品C・・・についても同様に属性比率を記憶する。
また、属性比率部4422は、属性別に、属性不明となった数を記憶している。属性不明とは、売上登録処理において、商品を購入した顧客Cの顔を検出できなかった場合に、当該顧客Cが購入した商品の商品情報に対応して、POS端末1から属性が不明であることをいう。
不明情報部4423は、POS端末1から、商品情報とともに不明情報を受信した場合、当該商品情報に対応して、不明情報を受信した数を記憶する。不明情報を受信した数は、不明情報を受信する度に+1インクリメントされる。また、後述する属性が抽出される度に、不明情報を受信した数は−1デクリメントされる。
図8は、動線部4441を示す図である。動線部4441は、店舗Pに来店した顧客Cについて、入口P3からPOS端末1までの行動の連続的な軌跡を示す動線のパターンを、各属性に対応させて記憶する。顧客Cは、属性毎に異なる特徴的な動線を示すことが知られている。動線部4441は、過去の統計に基づいて、属性毎に対応させて、当該属性の顧客の店舗内での行動を特徴的に表す動線パターンを一または複数記憶している。
図8において、動線部4441は、動線パターン部44411と属性部44412を備えている。動線パターン部44411は、顧客の店舗P内での属性別に異なる特徴的な動線パターン(行動パターン)をそれぞれ記憶する。属性部44412は、動線パターン部44411に記憶された動線パターンに対応して、当該動線パターンの行動を取る傾向にある属性を記憶する。一つの動線パターンに対して一つの属性が対応している場合は、当該動線パターンを示す属性は一つであることを示す。また、一つの動線パターンに対して複数の属性が対応している場合は、当該動線パターンを示す属性は複数であることを示す。
なお、動線部4441は、春季、夏季、秋季、冬季において、それぞれ異なる動線パターンを記憶している。これは、顧客Cの属性別の行動は、季節や天気によって変化する傾向があるからである。例えば、夏季は若い属性を中心に清涼飲料を購入する傾向にある。また、冬季は、女性の属性を中心に暖かい食品を購入する傾向にある。春季、秋季もそれぞれ特徴的な動線パターンがある。そのため、動線部4441は、各季節毎にそれぞれ、図8に示す属性別の異なる動線パターンを記憶している。
また、動線部4441は、天気(晴天、曇り、雨、雪等)によってそれぞれ異なる動線パターンを記憶している。例えば、晴天時と雨天時には、それぞれの属性において、異なる動線パターンを記憶している。これも、天気によってそれぞれの属性において、異なる動線となる傾向があるためである。そのため、動線部4441は、天気毎にそれぞれ、図8に示す属性別の異なる動線パターンを記憶している。
図9は、来店時刻部4442を示す図である。来店時刻部4442は、店舗Pに来店した顧客Cについて、属性毎に対応させて当該属性の顧客が最も多く来店する特徴的な来店時刻のパターンを記憶する。
図9において、来店時刻部4442は、来店時間帯部44421と属性部44422を備えている。来店時間帯部44421は、顧客が来店する時刻であって予め定められた時間帯(行動パターン)を記憶する。属性部44422は、各時間帯毎に、当該時間帯を来店時刻とする傾向が高い順に属性が記憶されている。例えば、時間帯6時〜10時において、最も多く来店する属性は30代女であり、次に多く来店する属性は60代女である。逆に、最も来店が少ない属性は30代男であり、次に少ない属性は20代男である。同様に、時間帯10時〜16時、16時〜21時、21時〜6時についても、当該時間帯を来店時刻とする傾向が高い順に属性が記憶されている。
なお、来店時刻部4442は、春季、夏季、秋季、冬季において、それぞれ異なる来店時刻パターンを記憶している。これは、顧客Cの属性別の行動は、季節や天気によって異なる傾向があるからである。例えば、夏季は高年層の属性を中心に早い時刻に来店する傾向にある。また、冬季は、女性の属性を中心に夕方の時間帯に来店する傾向にある。春季、秋季もそれぞれ特徴的な来店時刻パターンがある。そのため、来店時刻部4442は、各季節毎にそれぞれ、図9に示す属性別の異なる来店時刻パターンを記憶している。
また、来店時刻部4442は、天気によってそれぞれ異なる来店時刻パターンを記憶している。例えば、晴天時と雨天時には、それぞれの属性において、異なる来店時刻パターンを記憶している。これも、天気によってそれぞれの属性において、来店時刻が異なる傾向があるためである。そのため、来店時刻部4442は、天気毎にそれぞれ、図9に示す属性別の異なる来店時刻パターンを記憶している。
図10は、滞在時間部4443を示す図である。滞在時間部4443は、店舗Pに来店した顧客Cについて、属性毎に対応させて当該属性の顧客が最も多く滞在する特徴的な滞在時間のパターンを記憶する。
図10において、滞在時間部4443は、滞在時間帯部44431と属性部44432を備えている。滞在時間部4443は、顧客が店内で滞在する予め定められた滞在時間帯(行動パターン)を記憶する。属性部44432は、各滞在時間帯毎に、滞在時間が合致する傾向が高い順に属性が記憶されている。例えば、滞在時間が1分以下において、最も合致する属性は10代男である。次に合致するのは20代男である。逆に最も合致しないのは50代女である。次に合致しないのは、40代女である。滞在時間が1分〜3分、3分〜5分、5分以上についても、当該時間滞在する傾向が高い順に属性が記憶されている。
なお、滞在時間部4443は、春季、夏季、秋季、冬季において、それぞれ異なる滞在時間パターンを記憶している。これは、顧客Cの属性別の行動は、季節や天気によって異なる傾向があるからである。例えば、夏季は若年層を中心に長く滞在する傾向にある。また、冬季は、女性の属性を中心に長く滞在する傾向にある。春季、秋季もそれぞれ特徴的な滞在時間パターンがある。そのため、滞在時間部4443は、各季節毎にそれぞれ、図10に示す属性別の異なる滞在時間パターンを記憶している。
また、滞在時間部4443は、天気によってそれぞれ異なる滞在時間パターンを記憶している。例えば、晴天時と雨天時には、それぞれの属性において、異なる滞在時間パターンを記憶している。これも、天気によってそれぞれの属性において、滞在時間が異なる傾向があるためである。そのため、滞在時間部4443は、天気毎にそれぞれ、図10に示す属性別の異なる滞在時間パターンを記憶している。
続いて、図11〜図13を用いて、POS端末1の制御処理について説明する。図11は、POS端末1の制御処理の流れを示すフローチャートである。まず図11において、制御部100は、読取部20で商品に付されたコードが読み取られて商品コードが入力されたか否かを判断する(ステップS11)。商品コードが入力されたと判断した場合は(ステップS11のYes)、制御部100は、S11で入力された商品コードが当該取引における最初の商品の商品コードであるか否かを判断する(S12)。制御部100は、商品情報部131に、商品の商品情報が記憶されていない場合は当該取引における最初の入力であると判断する。
当該取引における最初の入力であると判断した場合は(S12のYes)、制御部100は、図12に示す顔検出スレッド(プログラム)を起動させ実行する(S13)。そして制御部100は、S11で入力された商品コードの商品の売上登録処理を実行して商品情報部131に商品情報を記憶する(S14)。そして制御部100は、S11に戻る。また、当該取引における最初の入力ではないと判断した場合は(S12のNo)、顔検出スレッドはすでに起動しているため、制御部100は、S13を実行することなくS14を実行する。
ここで、図12を用いて、制御部100がS13で実行する顔検出スレッドの制御処理の流れについて説明する。顔検出スレッドは、POS端末1に設けられたカメラK6を用いて顧客用表示部19の前に位置している顧客Cの画像を撮像し、撮像した画像から顔検出する、制御部100が実行するプログラムである。
図12において、制御部100は、カメラK6を起動させて顧客Cの画像の撮像を開始する(S41)。次に制御部100は、撮像した顧客Cの撮像画像を撮像記憶部133に記憶する(S42)。そして制御部100は、記憶した撮像画像を、サーバ4に送信する(S43)。次に制御部100は、上記撮像画像に基づいて顔検出したか否かを判断する(S44)。顔検出したと判断した場合は(S44のYes)、制御部100は、顔検出した、取引を行った顧客Cの顔画像を画像記憶部132に記憶する(S45)。
次に制御部100は、後述する制御部100が顔検出スレッドの終了信号を出力したか否かを判断する(S46)。顔検出スレッドの終了信号を出力したと判断した場合は(S46のYes)、制御部100は、カメラK6を停止させて、カメラK6による撮像を終了する(S47)。
なお、S46において、顔検出スレッドの終了信号を出力していないと判断した場合は(S46のNo)、制御部100は、S42に戻る。また、S44において顔を検出していないと判断した場合は(S44のNo)、制御部100は、S44を実行せずにS46を実行する。
図11の説明に戻る。一方、S11において、商品コードは入力されていないと判断した場合は(S11のNo)、制御部100は、取引の終了を宣言するとともに、取引を現金で決済処理するための預/現計キー171が操作されたか否かを判断する(S21)。操作されたと判断した場合は(S21のYes)、制御部100は、S13で起動した顔検出スレッドを終了させるための終了信号を出力する(S22)。次に制御部100は、顧客Cから受け取った預り金の処理や釣銭の払出し等の決済処理を実行する(S23)。
次に制御部100は、画像記憶部132に顔画像が記憶されているか否かを判断する(S24)。記憶されていると判断した場合は(S24のYes)、顔が検出されているため、制御部100は、画像記憶部132に記憶されている顔画像に基づいて、顧客Cの属性(性別、年齢層等)を決定する(S25)。すなわち制御部100は、画像記憶部132に記憶されている顧客Cの顔画像の各パーツ(目、鼻、口、耳、顎等)毎に、顔マスタ142の顔パーツ情報部1421に記憶されている顔パーツ情報と比較する。そして制御部100は、比較した結果に基づいて当該顧客Cの属性を決定する。具体的には、画像記憶部132に記憶されている顔画像の各顔パーツ情報のうち、最も近い顔パーツ情報を多く含んでいる属性を判断する。例えば、画像記憶部132に記憶されている顔画像の各顔パーツ情報のうち、目と鼻と口と耳のパーツ情報が40歳代男性の顔パーツ情報と近い場合、顎の情報が他の年代と近くても、制御部100は、この顧客Cの属性は40歳代男性であると決定する。すべてのパーツ情報(目と鼻と口と耳と顎)が40歳代男性の顔パーツ情報と近い場合、当然40歳代男性と決定する。
次に制御部100は、S25で決定した属性を示す属性情報を、商品情報部131に記憶されている商品情報と関連付けてRAM13に記憶する(S26)。そして制御部100は、記憶した属性情報を、商品情報とともにサーバ4に送信する(S27)。そして制御部100は、商品情報部131と画像記憶部132と撮像記憶部133の情報をクリアする(S28)。S26でRAM13に記憶した関連付け情報もクリアする。
一方、画像記憶部132に顔画像が記憶されていないと判断した場合は(S24のNo)、制御部100は、商品情報部131に記憶されている商品情報を読み出すとともに、撮像記憶部133に記憶している撮像画像を読み出す(S31)。そして制御部100は、読み出した撮像画像に基づいてサーバ4に問合せをする(S32)。すなわち制御部100は、図13の問合せスレッドを起動する。そして制御部100は、S31で読み出した商品情報に属性不明を示す不明情報を関連付けてRAM13に記憶する(S33)。次に制御部100は、関連付けた商品情報と不明情報を、サーバ4に送信する(S34)。そして制御部100は、S28のクリア処理を実行する。なおこの場合、S33でRAM13に記憶した関連付け情報はクリアしない。そして制御部100は、S1に戻る。また、S21において、預/現計キー171が操作されていないと判断した場合は(S21のNo)、制御部100は、S11に戻る。
続いて、図13を用いて、S32で起動した問合せスレッドについて説明する。S10において、制御部100は、S31で読み出した撮像画像を付して、サーバ4に対し、属性の問合せをする(S51)。次に制御部100は、S51における問合せに応答する属性情報を受信したか否かを判断する(S52)。受信するまで待機し(S52のNo)、属性情報を受信したと判断した場合(S52のYes)、制御部100は、受信した属性情報を、S31で読み出した商品情報に関連付ける(S53)。この場合、制御部100は、S33において、商品情報と関連付けた不明情報に置き換えて、受信した属性情報を商品情報に関連付ける。そして制御部100は、商品情報と関連付けた属性情報をRAM13に記憶する。そして制御部100は、記憶した商品情報と関連付けた属性情報を、サーバ4に送信する(S54)。そして制御部100は、RAM13に記憶された関連付け情報をクリアする。
続いて、図14〜図16を用いて、サーバ4の制御処理について説明する。図14は、サーバ4の機能構成を示す機能ブロック図である。制御部400が、ROM42やメモリ部44に記憶された制御プログラム441を含む各種プログラムに従うことで、計測手段401、受信手段402、属性決定手段403、送信手段404を機能させる。
計測手段401は、店舗内に設置されたカメラによって撮像された来店した顧客の撮像画像に基づいて当該顧客の店舗内の行動を計測する機能を有する。
受信手段402は、店舗内で顧客に販売される販売対象の取引処理を実行する販売処理装置からの当該顧客の属性の問合せを受信する機能を有する。
属性決定手段403は、受信手段402による問合せがあると、計測手段401によって計測された当該顧客の行動を記憶部に記憶した行動パターンと対比して、当該顧客の属性を決定する機能を有する。
送信手段404は、属性決定手段403によって決定された顧客の属性を示す属性情報をPOS端末1に送信する。
図15は、サーバ4の制御処理の流れを示すフローチャートである。図15において、制御部400は、POS端末1からS27の処理またはS54の処理に伴う商品情報と属性情報を受信したか否かを判断する(S61)。受信したと判断した場合は(S61のYes)、制御部400は、受信した商品情報と属性情報に対応した、属性記憶部442に記憶した各属性の属性比率を更新する(S62)。すなわち、受信した商品情報に対応して記憶されている商品の購入数のうち、抽出された属性の購入数を+1インクリメントして、新たな属性比率を算出する。このとき、制御部400は、属性を記憶した商品情報について、S64で属性記憶部442の不明情報部4423に記憶した不明情報の数を−1デクリメントする。そして制御部400は、S61に戻る。
また、POS端末1から属性情報を受信していないと判断した場合は(S61のNo)、制御部400は、POS端末1からS34の処理に伴う不明情報を受信したか否かを判断する(S63)。受信したと判断した場合は(S63のYes)、制御部400は、受信した商品情報に対応して、属性記憶部442の不明情報部4423に記憶した属性の不明情報の数を+1インクリメントする(S64)。そして制御部400は、S61に戻る。
また、POS端末1から不明情報を受信していないと判断した場合は(S63のNo)、制御部400(受信手段402)は、POS端末1からS51の処理に伴う属性の問合せ信号および撮像画像を受信したか否かを判断する(S65)。受信していないと判断した場合は(S65のNo)、制御部400は、図16に示す行動撮像処理を実行する(S66)。そして制御部400は、S61に戻る。
図16は、S66で実行する行動撮像処理を示すフローチャートである。図16において、入口P3から店舗に来店した顧客Cの顔と衣服をカメラK5が撮像する。そして制御部400は、当該撮像画像に基づいて、当該顧客Cが新たに来店した顧客であるか、すでに来店している顧客であるかを判断する(S91)。新たに来店した顧客であると判断した場合(S91のYes)、制御部400(計測手段401)は、当該顧客Cの来店時刻を計時(計測)する(S92)。そして当該顧客Cの店内での行動の追跡を開始する。そして制御部400は、S91に戻る。なお、制御部400のS91の判断は、当該顧客Cについて、すでにS93による追跡が開始されているか否かで判断する。制御部400は、すでに追跡が開始されている場合はすでに来店した顧客であると判断し、追跡が開始していない顧客である場合は新たに来店した顧客であると判断する。
また、すでに来店した顧客であると判断した場合(S91のNo)、制御部400は、POS端末1のS43の処理に伴う撮像画像を受信したか否かを判断する(S101)。受信したと判断した場合は(S101のYes)、制御部400は、受信した撮像画像の顧客Cに対するS93で開始した追跡を終了する(S102)。そして制御部400(計測手段401)は、S92で計時した来店時刻に基づいて当該顧客Cの滞在時間を算出(計測)する(S103)。そして制御部400(計測手段401)は、S93での追跡開始からS102での追跡終了までの、当該顧客Cによる店内での行動の連続的軌跡を動線として解析(計測)する(S104)。そして制御部400は、当該顧客Cの行動情報(来店時刻、滞在時間、動線)を関連付けて行動記憶部445に記憶する(S105)。
図15の説明に戻る。また、S65において、問合せ信号を受信したと判断した場合は(S65のYes)、制御部400は、受信した撮像画像を撮像画像部443に記憶する(S71)。そして制御部400は、撮像画像部443に記憶した撮像画像に基づいて、当該顧客Cの行動情報(来店時刻、滞在時間、動線)を読み出す(S72)。具体的には、撮像画像部443に記憶した撮像画像に基づいて、当該顧客Cの顔(顔検出はできなかったけどいくつかのパーツが撮像された顔)や衣服の色や形を認識する。そして制御部400は、認識した顔や衣服の情報に基づいて行動記憶部445から該当する顧客Cを選定し、対応する行動情報を読み出す。
次に制御部400は、今日の気候情報(季節、天気)を読み出す。今日の気候情報はRAM43に記憶している。そして制御部400は、読み出した気候情報から、動線部4441に記憶されている動線パターン、来店時刻部4442に記憶されている来店時刻パターン、滞在時間部4443に記憶されている滞在時間パターンを、気候情報によって絞り込む(S73)。
次に制御部400は、S72で読み出した顧客Cの動線と、S73で絞り込んだ動線パターンとを対比し、S73で絞り込んだ動線パターンの中に、S72で読み出した動線と最も近い動線パターンを抽出する(S74)。そして制御部400は、抽出した動線パターンに基づいて動線部4441を検索して、対応した属性を抽出する(S75)。次に制御部400は、S74で抽出した属性が複数種類であるか否かを判断する(S76)。例えば、S74で抽出した動線パターンが動線パターンAの場合、動線部4441を検索した結果、S75で「10代男」と「20代男」の複数の属性を抽出する。一方、S74で抽出した動線パターンが動線パターンBの場合、動線部4441を検索した結果、S75で「30代男」の属性を抽出する。この結果を踏まえてS76において、抽出した属性が複数種類であるか否かを判断する。
抽出した属性が1種類であると判断した場合(S76のNo)、制御部400(属性決定手段403)は、抽出した一つの属性を当該顧客Cの属性であると決定する(S77)。そして制御部400(送信手段404)は、決定した属性を、問合せ番号とともにPOS端末1に対して送信する(S78)。そして制御部400は、S61に戻る。なお、S78で送信した属性情報を、POS端末1はS52で受信する。
一方、抽出した属性が複数種類であると判断した場合(S76のYes)、制御部400は、S72で読み出した来店時刻に基づいて、来店時刻部4442を検索する。そして制御部400は、S75で抽出した複数種類の属性のうち、該当する来店時刻を含む時間帯を来店時刻とする傾向が高い方の属性を抽出する(S79)。
次に制御部400は、S79の処理によって抽出した属性が複数であるか否かを判断する(S80)。例えば、S79の処理において、同率の属性が複数あった場合は、複数種類の属性を抽出する場合がある。一つの属性に絞り込めたと判断した場合は(S80のNo)、制御部400は、S77以降の処理を実行する。また、S79の処理において、複数種類の属性を抽出したと判断した場合は(S80のYes)、制御部400は、S72で読み出した滞在時間に基づいて、滞在時間部4443を検索する。そして制御部400は、S79で読み出した複数種類の属性のうち、該当する滞在時間を含む時間帯を滞在時間とする傾向が最も高い一つの属性を抽出する(S81)。そして制御部400は、S77以降の処理を実行する。
このような実施形態では、制御部400は、POS端末1において顧客Cの顔を検出できない場合でも、制御部400が、顧客Cの属性を決定する。そして、決定した属性を示す属性情報をPOS端末1に送信する。そのため、顧客Cの顔の検出ができない場合でも、当該顧客Cの属性情報を決定することができる。すなわち、顧客Cの属性情報の収集を補完することができ、より正確な集計情報として使用することができる。
また、実施形態では、制御部400は、顧客Cの来店から取引処理までの顧客Cの動線と、記憶している動線パターンとを対比させて、当該顧客Cの属性を決定する。そのため、顧客Cの顔の検出ができない場合でも、当該顧客Cの属性情報を決定することができる。すなわち、顧客Cの属性情報の収集を補完することができ、より正確な集計情報として使用することができる。
以上、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば実施形態では、サーバ4で決定した属性の属性情報をPOS端末1に送信し、POS端末1から再度サーバ4に送信された属性情報を商品情報と関連付けて記憶するようにしたが、サーバ4からPOS端末1に属性情報を送信することなく、直接商品情報と関連づけて記憶するようにしてもよい。
なお、実施形態のサーバ4で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、実施形態のサーバ4で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施形態のサーバ4で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、実施形態のサーバ4で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。