(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
この発明の一つの実施形態を、図面を参照して説明する。この実施形態では、店舗経営に係わるシステムと画像センサとを連携させた、新たなサービス形態について説明する。実施形態に係わる画像センサは、いわばレンズ付きの、組み込み型コンピュータであり、視野内に捕えた映像を撮影して取得した画像データを処理して、例えば環境情報および人物情報を作成することができる。
【0009】
環境情報は、制御対象の空間(対象空間)の環境に関する情報であり、その一例として店舗の照度分布、あるいは温度分布などを挙げることができる。人物情報は対象空間における人間に関する情報であり、その一例として、人の存在または不在(在/不在)、人数、人の行動、人の活動量などを挙げることができる。さらに、人物に付随する物体(物品)、つまり荷物の有無も人間情報の一例である。
【0010】
環境情報および人物情報は、対象空間ごとに算出することができる。あるいは、対象空間を複数に分割した小領域(エリア)毎に、環境情報および人物情報を算出することもできる。この実施形態では、特に、店舗における人間の在/不在、および物品の有無に着目する。
【0011】
図1は、実施形態に係わる空席情報
提供システムの一例を示す図である。この実施形態に係わる空席情報
提供システムは、例えばショッピングモールの店舗ごとに適用されることができ、店舗ごとの予約システムや、注文システム等と連携して運用されることが可能である。
【0012】
図1において、店舗は、来客エリアに、複数のテーブルT1〜Tn、および複数の席S1〜Smを備える。画像センサ3は、店舗内空間の例えば天井に、テーブルや席を見下ろすかたちで配設される。画像センサ3は、視野に捕えたものを撮像して画像データを生成する。
【0013】
各画像センサ3は信号線100を介してゲートウェイ(GW)1に接続される。ゲートウェイ1は、店舗内ネットワーク500に接続される。店舗内ネットワーク500には、サーバ200、予約システム300および注文システム400が接続される。このうちサーバ200は、インターネットなどのネットワーク600に接続され、店舗に関する情報を携帯端末700(代表的には、スマートフォン)などに広告する機能も備える。
【0014】
予約システム300は、席ごとの予約状況を予約情報として管理する。予約情報は例えば、席ごとの予約開始時刻および予約終了時刻(占有時間帯)を席番号と対応付けたデータである。注文システム400は、テーブルごとのオーダ状況を注文情報として管理する。注文情報は、例えば席ごとの注文品を席番号と対応付けたデータである。予約情報および注文情報は、ネットワークを介して電子的に授受するのに都合の良い、例えばCSV形式やXML形式で表現することが可能である。
【0015】
図2は、画像センサ3の一例を示すブロック図である。画像センサ3は、カメラ部31、メモリ32、プロセッサ33、および通信部34を備える。これらは内部バス35を介して互いに接続される。
【0016】
カメラ部31は、魚眼レンズ31a、絞り機構31b、撮像素子31cおよびレジスタ30を備える。魚眼レンズ31aは、視野内の映像を撮像素子31cに結像する。撮像素子31cは、CMOS(相補型金属酸化膜半導体)に代表されるイメージセンサであり、例えば毎秒30フレームのフレームレートの映像信号を生成する。この映像信号はディジタル符号化され、画像データとして出力される。撮像素子31cへの入射光量は絞り機構31bにより調節される。
【0017】
レジスタ30は、カメラ情報30aを記憶する。カメラ情報30aは、例えばオートゲインコントロール機能の状態、ゲインの値、露光時間などの、カメラ部31に関する情報、あるいは画像センサ3それ自体に関する情報である。
【0018】
メモリ32は、SDRAM(Synchronous Dynamic RAM)やEPROM(Erasable Programmable ROM)などの半導体メモリである。メモリ32は、カメラ部31により取得された画像データ32a、および、実施形態に係わる各種の機能をプロセッサ33に実行させるためのプログラム32bなどを記憶する。
【0019】
プロセッサ33は、メモリ32に記憶されたプログラムをロードし、実行することで、実施形態において説明する各種の機能を実現する。プロセッサ33は、例えばマルチコアCPU(Central Processing Unit)を備え、画像処理を高速で実行することについてチューニングされたLSI(Large Scale Integration)である。FPGA(Field Programmable Gate Array)等でプロセッサ15を構成することもできる。MPU(Micro Processing Unit)もプロセッサの一つである。
通信部34は、信号線100に接続可能で、サーバ200等とのデータの授受を仲介する。
【0020】
ところで、プロセッサ33は、実施形態に係る処理機能として、解析部33aと、検知部33bとを備える。解析部33aおよび検知部33bは、メモリ32に記憶されたプログラム32bがプロセッサ33のレジスタにロードされ、当該プログラムの進行に伴ってプロセッサ33が演算処理を実行することで生成されるプロセスとして、理解され得る。つまりプログラム32bは、解析プログラムおよび検知プログラムを含む。
【0021】
解析部33aは、メモリ32に蓄積された画像データ32aを所定のアルゴリズムで解析して、視野内の人物および物体に係わる特徴量を抽出する。例えば、画像データに含まれるフレームの輝度の変化をピクセルごとにトレースし、その時系列を分析することで動き特徴量を計算することができる。輝度勾配方向ヒストグラム(histograms of oriented gradients:HOG)特徴量、コントラスト、解像度、S/N比、および色調などの特徴量が知られている。また、輝度勾配方向共起ヒストグラム(Co-occurrence HOG:Co−HOG)特徴量、Haar-Like特徴量なども特徴量として知られている。
【0022】
解析部33aは、上記特徴量に基づいて、環境情報(照度分布、温度分布等)、人間情報(人の在/不在、人数、人の行動、人の活動量、荷物の有無など)を計算する。
【0023】
検知部33bは、上記抽出された特徴量、環境情報、人間情報を参照し、例えばルールベースによる認識、あるいは機械学習による認識により、店舗における人および物品に関する情報を取得する。例えば、動き特徴量を用いたパターン認識技術により、人の行動(利用客の注文行動、店員の片付け行動など)を検知することができる。実施形態では、片付け行動の有無、着席者の有無および位置、物体の有無および位置などの情報に着目する。
【0024】
図3に示されるように、テーブルおよび椅子に物体の無い状態から、
図4のようにバッグやコートなどが置かれたとする。そうすると、
図4の画像データと、予め記憶された
図3の画像データとの差分を取ることで、
図5のように、物体だけを抽出することができる。画像データのピクセルの位置と対応付けることで、
図6に示されるように、検出された物体の位置座標を特定することが可能である。人物(着席者)の位置も、原理的には同様の手順で検出することができる。
【0025】
図7は、サーバ200の一例を示すブロック図である。サーバ200は、CPUやMPU等のプロセッサ250と、ROM(Read Only Memory)220およびRAM(Random Access Memory)230を備えるコンピュータである。サーバ200は、さらに、ハードディスクドライブ(Hard Disk Drive:HDD)などの記憶部240、光学メディアドライブ260、および、通信部270を備える。
【0026】
ROM220は、BIOS(Basic Input Output System)やUEFI(Unified Extensible Firmware Interface)などの基本プログラム、および各種の設定データ等を記憶する。RAM230は、記憶部240からロードされたプログラムやデータを一時的に記憶する。
【0027】
光学メディアドライブ260は、CD−ROM280などの記録媒体に記録されたディジタルデータを読み取る。サーバ200で実行される各種プログラムは、例えばCD−ROM280に記録されて頒布される。このCD−ROM280に格納されたプログラムは光学メディアドライブ260により読み取られ、記憶部240にインストールされる。
【0028】
通信部270は、通信機能を備え、画像センサ3、予約システム300、および注文システム400等との通信を制御する。
【0029】
記憶部240は、プロセッサ250により実行されるプログラム240aと、空席情報240bとを記憶する。プロセッサ250は、OS(Operating System)および各種のプログラムを実行する。
【0030】
ところで、プロセッサ250は、実施形態に係る処理機能としてデータ取得部250a、空席情報計算部250b、および、提示部250cを備える。データ取得部250a、空席情報計算部250b、および、提示部250cは、記憶部240のプログラム240aがRAM230にロードされ、当該プログラムの進行に伴ってプロセッサ250が演算処理を実行することで生成されるプロセスとして、理解され得る。つまりプログラム240aは、サーバ200を動作させるためのプログラムであって、サーバ200を、データ取得部250a、空席情報計算部250b、および、提示部250cとして動作させる。
【0031】
データ取得部250aは、画像センサ3から、着席者の位置および物体の位置を、信号線100、ゲートウェイ1および店舗内ネットワーク500経由で取得する。
【0032】
空席情報作成部の一例としての空席情報計算部250bは、取得された着席者の位置および物体の位置に基づいて、店舗の空席状況を示す空席情報を計算する。計算された空席情報は記憶部240に記憶される(空席情報240b)。
【0033】
提示部250cは、空席情報計算部250bにより計算された空席情報を、ディジタルサイネージやWebページなどの電子広告媒体を介して提示する。次に、上記構成における作用を説明する。
【0034】
図8は、サーバ200の処理手順の一例を示すフローチャートである。サーバ200は、先ず、予約システム300から予約情報を取得する(ステップS1)。次に、サーバ200は予約情報を参照し、予約が有るか否かをテーブルごとに判定する(ステップS2)。現時点でその席が予約されていれば(ステップS2で有り)、サーバ200は、そのテーブルが満席であると見做す(ステップS9)。
【0035】
ステップS2で予約が無ければ、サーバ200は、画像センサ3から各種データを取得する(ステップS3)。ここで、サーバ200は、着席者の位置および物体の位置を取得する。人物が在(ステップS4で在)であれば、そのテーブルは満席と見做される(ステップS9)。
【0036】
一方、人物が不在(ステップS4で不在)であれば、そのテーブルへの着席者はいない。かつ、テーブルの上と、席の上のいずれにも物体が無ければ(ステップS5で無し)、サーバ200は、そのテーブルについて空席であると見做し(ステップS8)、空席情報にそのことを記述する(ステップS11)。
【0037】
ここで、
図9および
図10を参照して、空席情報について説明する。
図9は、店舗を上から見下ろした状況の一例を表していて、着席者P(Person)の有無と、物体(Object)の有無をテーブルごとに示す。例えば、テーブルT2には2名、T4には4名、T7には2名の着席者Pがおり、テーブルT5,T8には物体Oが乗っている。サーバ200は、画像センサから取得した情報からこの状況を計算し、この状況に対応する空席情報を作成する。
図10がこの状況を示す空席情報であり、テーブルT1〜T8のうち『空き』はT1、T3およびT6だけで、残りのテーブルは全て占有されている(満席(×印))ことを示す。
【0038】
この実施形態において特徴的な点は、物体Oが有るテーブルT5,T8が『満席』として取り扱われることである。つまり実施形態では、空席判定に際してテーブル上の物体の有無を考慮しており、これは、画像データ解析から得られる情報(着席者の位置、物体の位置)を用いることで初めて可能になる。既存の技術では、テーブルT5,T8はいずれも着席者がおらず、それだけで『空席』となる。
【0039】
ユーザが携帯端末700から店舗のホームページにアクセスすると、例えば
図11のような画面が表示される。
図11は、
図10の空席情報をグラフィカルに表示する広告画面を示し、空席テーブルと満席テーブルとが色分けして区別される。図中、色分けされた状態をハッチングの有無で示す。
【0040】
図8に戻って説明を続ける。ステップS5で物体が有ると判定されると、サーバ200は、そのテーブルにおける店員の片付け行動の有無を判定する(ステップS6)。片付け行動が有れば、サーバ200は、テーブルの上がリセットされた状態と見做し、そのテーブルを空席と判定する(ステップS8)。片付け行動が無ければ、サーバ200は、場所取りのために置かれた物体であると見做して(ステップS7)、そのテーブルを満席と判定する(ステップS9)。満席と判定されたテーブルについては、その待ち時間が推定される(ステップS10)。
【0041】
図12は、待ち時間の推定に係わる処理手順の一例を示すフローチャートである。
図12において、サーバ200は、注文システム400から注文情報(例えば注文数、注文品、注文時間等)を取得する(ステップS21)。次にサーバ200は、着席者の位置および物体の位置を画像センサ3から取得する(ステップS22)。これらの情報を得たサーバ200は、利用客の特性を例えば以下の4つの項目にわたって分析する。( )内の記載は項目ごとの判定の根拠の一例を示す。
(1)1人利用/グループ利用(1人利用は滞在時間が短い傾向にある)
(2)注文品の数(注文数が多い席の人は、満腹で、離席が近い傾向にある)
(3)注文品の種類(デザートを注文した人は、離席が近い傾向にある)
(4)滞在時間(滞在時間が長い人は、離席が近い傾向にある)
(1)〜(4)の情報に基づいて利用客の特性を分析し、空席待ち時間(空席に至るまでの待ち時間)を推定することができる。
図13に、推定された待ち時間の一例を示す。
【0042】
図8のフローチャートで待ち時間が推定されると(ステップS10)、サーバ200は、待ち時間を空席情報に追記し、空席情報、および、推定待ち時間を利用者に提示する(ステップS12)。
【0043】
図14は、待ち時間を含む広告画面の一例を示す。
図13に対応付けて、各テーブルの推定待ち時間がテーブルに重ねて表示される。この画面(Webページ)にアクセスすることで利用者は、今現在空いている席が有るか、何分待ちか、等といった情報を手軽に得られ、利用者側、店舗側の双方にとっての使い勝手を向上させることができる。
【0044】
しかも実施形態では、空席かそうでないかの判定を、人物の有無だけでなく、物体の有無によっても判定するようにしている。これにより、場所取りを考慮した、より的確な空席判定を行うことができ、「満席」を「空席」と判定してしまうリスクを回避することができる。
【0045】
また実施形態では、店舗の予約システムと連動させ、事前の予約状況を反映した空席判定を行うようにした。さらに、注文システムとも連動させ、リアルタイムの利用客の特性を分析し、その結果により空席待ち時間を推測するようにした。従って、利用者は空席情報および推定待ち時間を活用して、突発的な座席確保や、ひいては行動時間の短縮が可能となる。
【0046】
これらのことから実施形態によれば、使い勝手の良い空席情報
提供システム、サーバ、空席情報
提供方法およびプログラムを提供することが可能となる。
【0047】
なお、この発明は上記実施の形態に限定されるものではない。例えば実施形態では、空席判定に際してテーブル上の物体の有無を考慮したが、例えば椅子の上に物体が有るか否かを考慮することも、もちろん可能である。椅子の上に物体が有るかないかを区別することで、「椅子単位での満席/空席」を判定することが可能になる。これは、例えばカフェのような、相席となるケースが多い店舗において有用な情報となり得る。例えば
図11の画面などにおいて、満席/空席を椅子ごとに色分けして提示すれば、ユーザの利便性はさらに向上する。
【0048】
また、テーブルごとに人数をカウントし、満席となる人数よりも少ない人数が検知されれば、「一部空席あり」と判定しても良い。この場合、
図15に示されるように、ステップS4で「在」と判定された直後に人数を判定する(ステップS31)。次のステップでテーブルの定員と比較し、その人数が定員以上であれば空席無し(ステップS32で無し)とされるが、定員よりも少なければ(ステップS32で有り)、一部空席(ステップS33)との判定がなされるようにしても良い。このようにすると、席単位での「満席/空席」を反映した空席情報を作成することが可能になり、有用な情報をユーザに提供することが可能になる。
【0049】
さらに、
図12のフローチャートにおいて、予約情報を参照する手順を加えても良い。例えばテーブルT1に対して現時点から2時間の予約が入っているとすれば、
図13のテーブルT1の推定待ち時間の欄には、「−」でなく、「2時間」と記載されることとなる。このようにすることで、ユーザに、さらに的確な情報を提供することが可能になる。
【0050】
本発明の実施形態を説明したが、この実施形態は例として提示するものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。