(57)【要約】【課題】  利便性の高い席情報の処理を低コストで実現する。【解決手段】  本発明は、席情報を取得して提供する席情報処理システムに関する。そして、本発明の席情報処理システムは、１又は複数の席が配置された施設内を撮像する撮像手段と、カメラが撮像した画像に基づいて、少なくとも施設内で利用されている利用中席数を認識し、認識した利用中席数に基づいて施設内の席の利用状況を示す席情報を取得する席情報取得手段と、席情報取得手段で取得した席情報を保持し、施設の席情報、又は施設の席情報に基づく情報を被情報提供者に提供する席情報提供手段とを有することを特徴とする。【選択図】      図１
2019101572.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の席が配置された施設内を撮像する撮像手段と、
前記カメラが撮像した画像に基づいて、少なくとも前記施設内で利用されている利用中席数を認識し、認識した利用中席数に基づいて前記施設内の席の利用状況を示す席情報を取得する席情報取得手段と、
前記席情報取得手段で取得した席情報を保持し、前記施設の席情報、又は前記施設の席情報に基づく情報を被情報提供者に提供する席情報提供手段と
を有することを特徴とする席情報処理システム。
【請求項２】
前記席情報取得手段は、前記施設内を撮像した画像に基づいて、当該施設内で席を利用している席利用者の数を認識する席利用者認識処理を行い、前記席利用者認識処理により認識した席利用者の数を利用中席数とみなして取得することを特徴とする請求項１に記載の席情報処理システム。
【請求項３】
前記席情報取得手段は、予め前記施設内に設置席数の情報を保持しており、前記施設の設置席数と、前記席利用者認識処理の結果に基づいて取得した利用中席数とを席情報として取得することを特徴とする請求項２に記載の席情報処理システム。
【請求項４】
１又は複数の席が配置された施設内を撮像した画像に基づいて、少なくとも前記施設内で利用されている利用中席数を認識し、認識した利用中席数に基づいて前記施設内の席の利用状況を示す席情報を取得する席情報取得手段を有することを特徴とする席情報取得装置。
【請求項５】
コンピュータを、
１又は複数の席が配置された施設内を撮像した画像に基づいて、少なくとも前記施設内で利用されている利用中席数を認識し、認識した利用中席数に基づいて前記施設内の席の利用状況を示す席情報を取得する席情報取得手段として機能させることを特徴とする席情報取得プログラム。
【請求項６】
請求項４に記載の席情報取得装置で取得した席情報を保持し、前記施設の席情報、又は前記施設の席情報に基づく情報を被情報提供者に提供する席情報提供手段を有することを特徴とする席情報提供装置。
【請求項７】
コンピュータを、
請求項４に記載の席情報取得装置で取得した席情報を保持し、前記施設の席情報、又は前記施設の席情報に基づく情報を被情報提供者に提供する席情報提供手段として機能させることを特徴とする席情報提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、席情報処理システム、並びに、席情報取得装置及びプログラム、並びに、席情報提供装置及びプログラムに関し、例えば、レストランやカフェ等の飲食店や図書館等の席（座席）への着席を伴う施設における席の情報を処理するシステムに適用し得る。
【背景技術】
【０００２】
従来、レストラン等における席の空き状況を認識して空き情報を生成して提供（例えば、インターネット上で提供）する技術が知られている。
【０００３】
従来の空き情報を提供する技術としては、例えば、特許文献１の技術が存在する。
【０００４】
特許文献１では、施設内の利用者が利用可能な場所において利用者が不在の場所を示す情報を空き情報として提供する技術である。特許文献１の記載技術では、予め飲食店等において、各座席の位置情報を登録しておき、人感センサ（温度検出センサを用いた人感センサ）で、それぞれの座席の位置における人（顧客）の有無を認識し、人（顧客）の認識ができない座席を空いている席として空き情報を生成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１７７７７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の記載技術を始めとする従来の技術では、空き情報を取得する前提として、飲食店の席のレイアウトの詳細に関する情報入力が必要であるため、レイアウト変更の度にレイアウトの詳細情報の入力が必要となるため利便性が低いという問題があった。
【０００７】
また、特許文献１の記載技術では、各席の着席状況を認識するために専用のセンサ（人感センサ）が必要であるため、導入するコストが高くなるという問題があった。
【０００８】
上記のような問題に鑑みて、利便性の高い席情報の処理を低コストで実現する席情報処理システム、並びに、席情報取得装置及びプログラム、並びに、席情報提供装置及びプログラムが望まれている。
【課題を解決するための手段】
【０００９】
第１の本発明の席情報処理システムは、（１）１又は複数の席が配置された施設内を撮像する撮像手段と、（２）前記カメラが撮像した画像に基づいて、少なくとも前記施設内で利用されている利用中席数を認識し、認識した利用中席数に基づいて前記施設内の席の利用状況を示す席情報を取得する席情報取得手段と、（３）前記席情報取得手段で取得した席情報を保持し、前記施設の席情報、又は前記施設の席情報に基づく情報を被情報提供者に提供する席情報提供手段とを有することを特徴とする。
【００１０】
第２の本発明の席情報取得装置は、１又は複数の席が配置された施設内を撮像した画像に基づいて、少なくとも前記施設内で利用されている利用中席数を認識し、認識した利用中席数に基づいて前記施設内の席の利用状況を示す席情報を取得する席情報取得手段を有することを特徴とする。
【００１１】
第３の本発明の席情報取得プログラムは、コンピュータを、１又は複数の席が配置された施設内を撮像した画像に基づいて、少なくとも前記施設内で利用されている利用中席数を認識し、認識した利用中席数に基づいて前記施設内の席の利用状況を示す席情報を取得する席情報取得手段として機能させることを特徴とする。
【００１２】
第４の本発明の席情報提供装置は、第２の本発明の席情報取得装置で取得した席情報を保持し、前記施設の席情報、又は前記施設の席情報に基づく情報を被情報提供者に提供する席情報提供手段を有することを特徴とする。
【００１３】
第５の本発明の席情報提供プログラムは、コンピュータを、第２の本発明の席情報取得装置で取得した席情報を保持し、前記施設の席情報、又は前記施設の席情報に基づく情報を被情報提供者に提供する席情報提供手段として機能させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、利便性の高い席情報の処理を低コストで実現することができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る席情報処理システムの全体構成について示したブロック図である。
【図２】実施形態に係るローカルコンピュータの機能的構成について示したブロック図である。
【図３】実施形態に係るＤＢサーバの機能的構成について示したブロック図である。
【図４】実施形態に係る店舗情報ＤＢの構成例について示した説明図である。
【図５】実施形態に係るＷｅｂアプリサーバの機能的構成について示したブロック図である。
【図６】実施形態に係るクライアント端末の機能的構成について示したブロック図である。
【図７】実施形態に係る店舗内部の平面図である。
【図８】実施形態に係る店舗内部をカメラから見た場合の図（斜視図）である。
【図９】実施形態に係るカメラで撮像された映像の例（その１）である。
【図１０】実施形態に係るカメラで撮像された映像の例（その２）である。
【図１１】実施形態に係るオブジェクト認識部が画像から切り出す外接矩形の例について示した説明図である。
【図１２】実施形態に係るオブジェクト認識部が、人オブジェクト追跡処理で動き量を求める際の例について示した説明図である。
【図１３】実施形態に係るオブジェクト認識部が、席利用者オブジェクト検出処理で動き量を求める際の例について示した説明図である。
【図１４】実施形態に係るＷｅｂアプリサーバが提供する店舗選択画面（Ｗｅｂ画面）の構成例について示した説明図である。
【図１５】実施形態に係るＷｅｂアプリサーバが提供する店舗情報提供画面（Ｗｅｂ画面）の構成例について示した説明図である。
【図１６】実施形態の変形例に係るＷｅｂアプリサーバが提供する店舗選択画面（Ｗｅｂ画面）の構成例について示した説明図である。
【発明を実施するための形態】
【００１６】
（Ａ）主たる実施形態
以下、本発明による席情報処理システム、並びに、席情報取得装置及びプログラム、並びに、席情報提供装置及びプログラムの一実施形態を、図面を参照しながら詳述する。
【００１７】
（Ａ−１）実施形態の構成
図１は、この実施形態の席情報処理システム１の全体構成を示すブロック図である。
【００１８】
まず、席情報処理システム１の全体の概要について説明する。
【００１９】
席情報処理システム１は、１又は複数の飲食店等の施設の席に係る情報（以下、「席情報」と呼ぶ）を処理するシステムである。
【００２０】
この実施形態では、席情報処理システム１は、Ｎ個（Ｎは任意の整数）の店舗（第１の店舗〜第Ｎの店舗）の席情報を処理するシステムであるものとして説明する。
【００２１】
席情報処理システム１では、それぞれの店舗（第１〜第Ｎの店舗）に、店舗内を撮像するためのカメラ１０（１０−１〜１０−Ｎ）と、店舗内の席情報等を処理するローカルコンピュータ２０（２０−１〜２０−Ｎ）が配置されている。
【００２２】
また、席情報処理システム１では、各店舗のローカルコンピュータ２０（２０−１〜２０−Ｎ）から各店舗の席情報を含む情報を保持し、席情報の被提供者が所持するクライアント端末５０に提供する席情報提供装置として、Ｗｅｂアプリサーバ３０を有している。さらに、席情報処理システム１では、Ｗｅｂアプリサーバ３０で、種々のデータを管理する手段としてＤＢサーバ４０が配置されている。なお、本発明の席情報提供装置を構成する装置（コンピュータ）の数や、装置間の接続構成は限定されないものである。なお、この実施形態では、図１に示すように、Ｗｅｂアプリサーバ３０及びＤＢサーバ４０はデータセンタに設置されているものとして説明する。
【００２３】
クライアント端末５０は、上述の通り店舗の席情報の被提供者の所持する端末であり、被情報提供者の操作に応じて、Ｗｅｂアプリサーバ３０に接続して、各店舗の席情報を取得して表示する処理を行う。
【００２４】
席情報処理システム１内の各装置は、相互に通信が可能となっているものとする。この実施形態の例では、席情報処理システム１内の各装置は、インターネットを介して相互に接続可能な構成となっているものとして説明する。
【００２５】
次に、席情報処理システム１を構成する各装置の構成について説明する。
【００２６】
まず、各店舗内に設置されるカメラ１０（１０−１〜１０−Ｎ）とローカルコンピュータ２０（２０−１〜２０−Ｎ）の構成について説明する。なお、各店舗に設置される装置の詳細構成（例えば、ハードウェア構成）は異なるものとしてもよいが、機能的には図１に示すように同じ構成として示すことができる。
【００２７】
各店舗に設置されるカメラ１０は、設置店舗内部の所定の領域内（席情報の処理対象となる席（例えば、椅子等の座席）を含む領域内）を撮像するカメラである。カメラ１０としては、種々のデジタルカメラを適用することができる。カメラ１０は、店舗内を撮像した画像を、同じ店舗内のローカルコンピュータ２０に供給する。
【００２８】
ローカルコンピュータ２０は、設置された店舗内の席情報の処理を行う装置である。具体的には、ローカルコンピュータ２０は、カメラ１０から供給された画像に基づいて店舗内の席情報を取得し、取得した席情報をＷｅｂアプリサーバ３０に供給する。
【００２９】
この実施形態では、ローカルコンピュータ２０が取得する席情報には、すくなくとも、当該設置店舗で処理対象となる席（以下、「処理対象席」と呼ぶ）のうち利用されずに空いている席（以下、「空席」と呼ぶ）の数（以下、「空席数」と呼ぶ）を認識可能な情報が含まれているものとする。
【００３０】
具体的には、この実施形態の例では、ローカルコンピュータ２０が取得する席情報には、設置店舗で処理対象席の数（以下、「設置席数」とも呼ぶ）と、処理対象席のうち利用者（例えば、店舗の顧客）が利用中（例えば、着席中）の席（以下、「利用中席」とも呼ぶ）の数（以下、「利用中席数」とも呼ぶ）の情報が含まれているものとする。なお、ローカルコンピュータ２０は、席情報として空席数自体を取得するようにしてもよい。また、席情報提供装置（Ｗｅｂアプリサーバ３０及びＤＢサーバ４０）側で各設置店舗の設置席数の情報が保持されている場合には、ローカルコンピュータ２０は単に利用中席数のみを席情報として取得するようにしてもよい。
【００３１】
ローカルコンピュータ２０の内部構成は、機能的には図２のように示すことができる。ローカルコンピュータ２０としては、例えば、メモリ及びプロセッサを有するコンピュータ（例えば、ＰＣ、シングルボードコンピュータ、マイクロコンピュータ等）にプログラム(実施形態に係る「席情報取得プログラム」を含む）をインストールすることにより構築してもよい。
【００３２】
図２に示すように、ローカルコンピュータ２０は、映像取得部２１、オブジェクト認識部２２、席情報処理部２３、及びデータ記録部２４を有している。
【００３３】
データ記録部２４は、ローカルコンピュータ２０内での各処理で利用される各種データを記録するデータ記録手段である。
【００３４】
映像取得部２１は、所定の期間（以下、この期間を「Ｔ１」と表す）ごとに、カメラ１０が撮像した画像を取得して、オブジェクト認識部２２に供給する処理を行う。映像取得部２１は、期間Ｔ１ごとにカメラ１０を制御して撮像させるようにしてもよいし、カメラ１０が連続的に撮像して供給する一連の画像（動画像）から、期間Ｔ１の間隔で画像を取得するようにしてもよい。期間Ｔ１の間隔は限定されないものであるが例えば、０．２〜１秒としてもよい。
【００３５】
オブジェクト認識部２２は、映像取得部２１から供給される時系列ごとの画像（期間Ｔ１ごとの画像）を解析して、設置店舗内（カメラ１０が撮像した領域内）に映りこんでいる人間をオブジェクト（以下、「人オブジェクト」とも呼ぶ）として検出し、検出した人オブジェクトから、さらに処理対象席を利用（例えば、着席）している利用者（以下、「席利用者」と呼ぶ）を検出する処理を行う。なお、この実施形態において、「席」は、必ずしも座席（椅子）が設置されている必要はなく、立ったまま飲食等が可能（施設の利用が可能）な場所（いわゆる「立ち席」）等であってもよい。
【００３６】
オブジェクト認識部２２による、オブジェクト認識処理の具体的手順については後述する。
【００３７】
席情報処理部２３は、オブジェクト認識部２２の認識結果を利用して、設置店舗における席情報を取得する処理を行う。この実施形態では、席情報処理部２３は、席情報として少なくとも設置店舗の設置席数と利用中席数の情報を取得する。
【００３８】
この実施形態の席情報処理部２３は、予めデータ記録部２４に設定されたデータから設置席数のデータを読み取って取得するものとする。ローカルコンピュータ２０において、データ記録部２４に設置席数のデータ入力を受け付ける方法については限定されないものである。例えば、ローカルコンピュータ２０では、図示しない入力手段（例えば、ディスプレイ、キーボード、マウス等のデバイス）により設置席数のデータ入力を受け付けるようにしてもよいし、通信により外部装置からデータ入力を受け付けるようにしてもよい。
【００３９】
席情報処理部２３は、オブジェクト認識部２２が現在認識している席利用者の数に基づいて利用中席数を取得する。すなわち。席情報処理部２３は、オブジェクト認識部２２が現在認識している席利用者数を利用中席数とみなして取得する処理を行う。
【００４０】
そして、席情報処理部２３は、取得した設置席数と利用中席数を含む情報を席情報として取得し、Ｗｅｂアプリサーバ３０に送信する。
【００４１】
席情報処理部２３が、Ｗｅｂアプリサーバ３０に席情報を送信するタイミングは限定しないものである。例えば、席情報処理部２３は、席情報（最新に取得した席情報）を、Ｗｅｂアプリサーバ３０から要求されたタイミングに応じて送信するようにしてもよいし、所定の期間ごとに席情報を送信するようにしてもよいし、席情報が変動する度に送信するようにしてもよい。
【００４２】
次に、席情報提供装置を構成する各装置（Ｗｅｂアプリサーバ３０、ＤＢサーバ４０）の内部構成について説明する。
【００４３】
図３は、ＤＢサーバ４０の内部構成について示したブロック図である。
【００４４】
ＤＢサーバ４０は、Ｗｅｂアプリサーバ３０の処理で必要となる種々のデータを提供する装置である。具体的には、ＤＢサーバ４０は、各店舗に関する情報のデータベース（以下、「店舗情報ＤＢ」と呼ぶ）を保持し、Ｗｅｂアプリサーバ３０の要求に応じてデータ処理（例えば、データの更新や読出しの処理）を行う。
【００４５】
ＤＢサーバ４０は、ＤＢ処理部４１及びデータ記録部４２を有している。
【００４６】
ＤＢサーバ４０の内部構成は、機能的には図３のように示すことができる。ＤＢサーバ４０としては、例えば、メモリ及びプロセッサを有するコンピュータ（例えば、ＰＣやワークステーション等）を用いて構築することができる。
【００４７】
図３に示す通り、ＤＢサーバ４０は、ＤＢ処理部４１、及びデータ記録部４２を有している。
【００４８】
データ記録部４２は、ＤＢサーバ４０内での各処理で利用される各種データを記録するデータ記録手段である。図３に示す通り、データ記録部４２には、少なくとも、店舗情報ＤＢ４２１が記録されているものとする。
【００４９】
ＤＢ処理部４１は、データ記録部４２に記録されたデータベース（店舗情報ＤＢ４２１）のデータ処理を行う。ＤＢ処理部４１は、例えば、ＯＲＡＣＬＥ（登録商標）やＭｙＳＱＬ（登録商標）等のＤＢＭＳ（Ｄａｔａｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）を用いて構築することができる。したがって、データ記録部４２に記録する店舗情報ＤＢ４２１は、ＤＢ処理部４１で対応するデータ構造で構成されている必要がある。
【００５０】
次に、店舗情報ＤＢ４２１のデータ構造について図４を用いて説明する。
【００５１】
図４は、店舗情報ＤＢ４２１のデータ構造について示した説明図である。図４では、店舗情報ＤＢ４２１のデータ構造をテーブル形式で図示している。図４では、１行で１店舗の情報を図示している。
【００５２】
図４に示すように、店舗情報ＤＢ４２１には、店舗ごとに、店舗ＩＤ、店舗名、設置席数、利用中席数、アクセス情報、及び店舗情報が登録されている。
【００５３】
「店舗ＩＤ」の項目は、店舗情報ＤＢ４２１において各店舗を識別するキーとして機能する項目である。図４に示すように、この実施形態では、第１の店舗〜第Ｎの店舗に対して、それぞれ１〜ＮのＩＤが付与されているものとする。
【００５４】
「店舗名」の項目は、当該店舗の名称を記録する項目である。図４では、第１の店舗（店舗ＩＤ＝１）の店舗名を「ＡＡＡ」、第２の店舗（店舗ＩＤ＝２）の店舗名を「ＢＢＢ」、第３の店舗（店舗ＩＤ＝３）の店舗名を「ＣＣＣ」、・・・、第Ｎの店舗（店舗ＩＤ＝Ｎ）の店舗名を「ＸＸＸ食堂」としている。
【００５５】
「設置席数」及び「利用中席数」の情報は、各店舗の席情報を記録する項目である。
【００５６】
アクセス情報は、各店舗のローカルコンピュータ２０にアクセスするための情報である。アクセス情報としては、ローカルコンピュータ２０にアクセスするためのＩＰアドレス、ホスト名、ＦＱＤＮ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）等が挙げられる。図４では、各店舗のローカルコンピュータ２０−１〜２０−Ｎにアクセスするためのアクセス情報を、それぞれｈｏｓｔ１〜ｈｏｓｔＮと図示している。
【００５７】
「店舗情報」の項目は、各店舗の情報（例えば、クライアント端末５０を所持する被情報提供者に提示する情報）を表す項目である。図４では、各店舗の店舗情報として、住所、営業時間、及びホームページＵＲＬの情報を記録する例について示している。なお、店舗情報ＤＢ４２１において、店舗情報として記録する情報の項目の数や組み合わせは限定されないものである。
【００５８】
以上のように店舗情報ＤＢ４２１は構成されている。そして、ＤＢ処理部４１は、Ｗｅｂアプリサーバ３０の要求（命令）に応じて、以上のように構成された店舗情報ＤＢ４２１のデータ処理（例えば、データの更新や読出しの処理）を行う。
【００５９】
図５は、Ｗｅｂアプリサーバ３０の内部構成について示したブロック図である。
【００６０】
Ｗｅｂアプリサーバ３０は、Ｗｅｂサービス部３１、サーバアプリ３２、及びデータ記録部３３を有している。
【００６１】
Ｗｅｂアプリサーバ３０の内部構成は、機能的には図５のように示すことができる。Ｗｅｂアプリサーバ３０としては、例えば、メモリ及びプロセッサを有するコンピュータ（例えば、ＰＣやワークステーション等）を用いて構築することができる。
【００６２】
データ記録部３３は、Ｗｅｂアプリサーバ３０内での各処理で利用される各種データを記録するデータ記録手段である。
【００６３】
Ｗｅｂサービス部３１は、クライアント端末５０に対して各店舗の席情報を含む情報をコンテンツ（例えば、Ｗｅｂページ）として提供する。Ｗｅｂサービス部３１は、サーバアプリ３２の制御に応じたコンテンツを、クライアント端末５０に対して提供する。
【００６４】
Ｗｅｂサービス部３１としては、例えば、種々のＷｅｂサーバのミドルウェアを適用することができる。この場合、サーバアプリ３２は、Ｗｅｂサービス部３１としてのミドルウェア上で、外部（例えば、クライアント端末５０）からの要求に応じて、提供するコンテンツの生成処理等を行うアプリケーション（サーバ側プログラム）となる。
【００６５】
サーバアプリ３２は、各店舗のローカルコンピュータ２０から各店舗の席情報（この実施形態では設置席数と利用中席数を含む情報）を取得し、最新に取得した席情報をＤＢサーバ４０の店舗情報ＤＢ４２１に登録する。
【００６６】
また、サーバアプリ３２は、Ｗｅｂサービス部３１がクライアント端末５０から受けた要求（クライアント端末５０で受け付けた操作）に応じて、ＤＢサーバ４０の店舗情報ＤＢ４２１の情報（一部又は全部の店舗に関するデータ）を取得する。そして、サーバアプリ３２は、取得した店舗情報ＤＢ４２１の情報を利用したコンテンツ（Ｗｅｂ画面）を生成し、Ｗｅｂサービス部３１に要求元のクライアント端末５０へ提供させる処理を行う。
【００６７】
Ｗｅｂアプリサーバ３０が提供するコンテンツ（Ｗｅｂ画面）の構成例については後述する。
【００６８】
次に、クライアント端末５０の内部構成について説明する。
【００６９】
図６は、クライアント端末５０の内部構成の例について示した説明図である。
【００７０】
クライアント端末５０は、例えば、スマートホン、ＰＣ、タブレットＰＣ等の種々の端末装置（コンピュータ；ハードウェア）を用いて構築することができる。図６では、クライアント端末５０のハードウェアとしてスマートホンを適用した例について示している。
【００７１】
図６に示すように、クライアント端末５０は、タッチパネルディスプレイ５１及びクライアントアプリ５２を有している。
【００７２】
タッチパネルディスプレイ５１は、クライアント端末５０を所持する被情報提供者への情報出力や、被情報提供者からの入力（例えば、ＧＵＩ画面を用いた入力）を受け付けるデバイス（ユーザインタフェースの機能を担うデバイス）である。この実施形態では、スマートホンを用いてクライアント端末５０を構築する例について示しているが、クライアント端末５０においてユーザインタフェース（被情報提供者からの入力手段及び被情報提供者への出力手段）を担うデバイスの種類は限定されないものである。例えば、ＰＣを用いてクライアント端末５０を構築する場合、ユーザインタフェースとして、ディスプレイ、マウス及びキーボードを用いるようにしてもよい。
【００７３】
クライアントアプリ５２は、タッチパネルディスプレイ５１を用いて被情報提供者からの操作を受け付けると共に、被情報提供者の操作に応じた要求をＷｅｂアプリサーバ３０に送信し、Ｗｅｂアプリサーバ３０から供給されたコンテンツ（１又は複数の店舗の席情報を含む情報）をタッチパネルディスプレイ５１に表示させる処理を行う。
【００７４】
クライアントアプリ５２としては、例えば、種々のＷｅｂブラウザを用いて構築するようにしてもよい。この実施形態では、クライアントアプリ５２は、Ｗｅｂブラウザに接続先（接続先ＵＲＬ）としてＷｅｂアプリサーバ３０上の所定のＵＲＬ（各店舗の席情報を提供するためのＵＲＬ）に設定されているものとして説明する。
【００７５】
なお、クライアントアプリ５２としては、Ｗｅｂブラウザを用いずに、専用のアプリケーションとして構築するようにしてもよい。
【００７６】
（Ａ−２）実施形態の動作
次に、以上のような構成を有する実施形態の席情報処理システムの動作を説明する。
【００７７】
まず、各店舗内におけるカメラ１０の設置環境について説明する。
【００７８】
図７は、第１の店舗（店舗ＩＤ＝１）の店舗内の平面図の例である。
【００７９】
以下では、この第１の店舗内を例にカメラ１０の設置環境の例について説明する。
【００８０】
図７に示すように、第１の店舗内には、四角形のカウンターテーブルＲ１と、カウンターテーブルＲ１の一辺の側に並べて配置された８つの椅子Ｃ（Ｃ１〜Ｃ８）と、調理台Ｒ２とが配置されている。
【００８１】
そして、第１の店舗では、この８つの椅子Ｃ１〜Ｃ８が処理対象席となっているものとする。
【００８２】
そして、図７に示すように、第１の店舗内の隅（端）には、カメラ１０−１が配置されている。
【００８３】
図８は、第１の店舗（店舗ＩＤ＝１）の店舗内を、当該店舗内に設置されたカメラ１０−１の側から見た場合の図（斜視図）である。
【００８４】
上述の通り第１の店舗では椅子Ｃ１〜Ｃ８が処理対象席であるため、カメラ１０−１は、椅子Ｃ１〜Ｃ８が全て撮像する視野内に収まるような位置、向き（姿勢）、ズーム設定で設置される必要がある。図８では、カメラ１０−１が撮像する視野Ａの枠を一点鎖線で図示している。図８に示すように視野Ａ内には、椅子Ｃ１〜Ｃ８が全て収まっている。
【００８５】
したがって、第１の店舗内で、誰も人がいない状態の場合、カメラ１０−１で撮像される画像は図９のような画像となる。図９に示す画像では、椅子Ｃ１〜Ｃ８が全て写っている。実際には、各椅子Ｃの利用者が着席すると、椅子よりもやや上に利用者の顔が位置することになるため、実際に利用者の顔が位置する領域まで含めて、視野Ａ内に収まるようにカメラ１０−１を設置することが望ましい。
【００８６】
次に、第１の店舗に設置されたローカルコンピュータ２０−１で、設置店舗内の席情報を取得する処理について説明する。
【００８７】
上述の通り、席情報処理部２３は、席情報として少なくとも設置店舗の設置席数と利用中席数の情報を取得する。上述の通り、この実施形態の席情報処理部２３は、予めデータ記録部２４に設定されたデータから設置席数のデータを読み取って取得する。また、席情報処理部２３は、オブジェクト認識部２２が現在認識している席利用者の数を、利用中席数とみなして取得する処理を行う。そして、席情報処理部２３は、取得した設置席数と利用中席数を含む情報を席情報として取得し、Ｗｅｂアプリサーバ３０に送信する。
【００８８】
次に、映像取得部２１及びオブジェクト認識部２２の動作について説明する。
【００８９】
上述の通り、この実施形態では、映像取得部２１は、所定の期間Ｔ１ごとに、カメラ１０が撮像した画像を取得して、オブジェクト認識部２２に供給する処理を行う。第１の店舗内に設置されたカメラ１０−１は、椅子Ｃ１〜Ｃ８を含む視野Ａの領域を撮像した画像を、少なくとも期間Ｔ１ごとにローカルコンピュータ２０−１の映像取得部２１に供給する。
【００９０】
オブジェクト認識部２２は、映像取得部２１から供給される時系列ごとの画像についてオブジェクト認識処理を行う。
【００９１】
この実施形態のオブジェクト認識部２２は、まず、期間Ｔ１ごとの画像を解析して、人として認識できる人オブジェクトを認識する処理（以下、「人オブジェクト認識処理」と呼ぶ）を行う。例えば、カメラ１０−１で撮像された画像が、図１０に示すような画像であった場合を想定する。図１０に示す画像では、椅子Ｃ１、Ｃ５、Ｃ６に席利用者が着席した状態となっている。また、図１０に示す画像では、カウンターテーブルＲ１の手前で店員が歩いている状態となっている。
【００９２】
このとき、オブジェクト認識部２２が、椅子Ｃ１、Ｃ５、Ｃ６に着席した席利用者を、それぞれ人オブジェクトＯＢ１０１、ＯＢ１０２、ＯＢ１０３として認識したものとする。また、このとき、オブジェクト認識部２２が、カウンターテーブルＲ１の手前の店員について人オブジェクトＯＢ１０４として認識したものとする。
【００９３】
そして、オブジェクト認識部２２は、直近の所定期間（以下、この期間を「Ｔ２」と表す）の間、それぞれ人オブジェクトＯＢ１０１、ＯＢ１０２、ＯＢ１０３、ＯＢ１０４の動きを追跡する処理（以下、「人オブジェクト追跡処理」と呼ぶ）を行う。そして、オブジェクト認識部２２は、人オブジェクト追跡処理により得られる各人オブジェクトの動きの履歴から、各人オブジェクトの動きの特性を認識する。
【００９４】
例えば、席利用者は椅子に座った状態であるため、席利用者の人オブジェクト（例えば、図１０に示す人オブジェクトＯＢ１０１〜ＯＢ１０３）の動きも少ない状態となる。一方、店員等の非席利用者（例えば、図１０に示す人オブジェクトＯＢ１０４）は、席についていないため、非席利用者の人オブジェクトは席利用者よりも大きく動くことになる。さらに、店内に人物が描かれた写真や絵画等が置かれていた場合、人オブジェクト認識処理では人オブジェクトと誤認することになる。このような人オブジェクトと誤認されたオブジェクト（以下、「誤認オブジェクト」とも呼ぶ）は、まったく動かないため、通常動きが検知されない状態となる。ただし、誤認オブジェクトであっても、誤認オブジェクトの周囲の画像の変化や、人オブジェクト認識処理の量子化誤差等により、微小の動きが発生したように認識される可能性はある。しかしながら、誤認オブジェクトについて認識される微小の動きは、少なくとも席利用者（座っている人間）の動きよりは小さなものであるため、その動きの特性は異なる。
【００９５】
以上のように、人オブジェクトと認識された物体の動きは、その属性により特性が異なることになる。そこで、この実施形態のオブジェクト認識部２２では、各人オブジェクトの動きを追跡する処理（以下、「人オブヘクト追跡処理」と呼ぶ）を行って、各人オブジェクトの動きの履歴（動きの状況）を取得し、その履歴に基づいて各人オブジェクトの属性を認識する処理を行う。言い換えると、オブジェクト認識部２２は、各人オブジェクトの動きの履歴に基づいて、席利用者の人オブジェクト（以下、「席利用者オブジェクト」と呼ぶ）を検出する処理（以下、「席利用者オブジェクト検出処理」と呼ぶ）を行う。
【００９６】
この実施形態の席利用者オブジェクト検出処理では、認識された人オブジェクト（人オブジェクト認識処理により認識された人オブジェクト）から、非席利用者オブジェクトや、誤認オブジェクトを除外して、席利用者オブジェクトが検出されるものとする。
【００９７】
次に、オブジェクト認識部２２による人オブジェクト認識処理の具体例について説明する。
【００９８】
上述の通り、オブジェクト認識部２２は、カメラ１０で撮像された一連の画像（フレーム）から人オブジェクトを認識する処理（人オブジェクト認識処理）を行う。
【００９９】
オブジェクト認識部２２が行う人オブジェクト認識処理の具体的な方式については限定されないものである。オブジェクト認識部２２が行う人オブジェクト認識処理は、例えば、既存の画像認識処理に関するオープンソースのライブラリを用いることにより実現することができる。ここでは、ＯｐｅｎＣＶ（Ｏｐｅｎ  Ｓｏｕｒｃｅ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  Ｌｉｂｒａｒｙ；以下の参考文献１、２参照）及び、ＴｅｎｓｏｒＦｌｏｗ（以下の参考文献３参照）を用いた人オブジェクト認識処理を行うものとして説明する。
【０１００】
参考文献１：ＯｐｅｎＣＶ，[Online]，INTERNET，[２０１７年１１月２２日検索]，<URL:opencv.jp>
参考文献２：ＯｐｅｎＣＶ  Ｓａｍｐｌｅｓ  ａｎｄ  Ｄｏｃｕｍｅｎｔｓ，[Online]，INTERNET，[２０１７年１１月２２日検索]，<URL:opencv.jp>
参考文献３：ＴｅｎｓｏｒＦｌｏｗ，[Online]，INTERNET，[２０１７年１１月２２日検索]，<URL: https://www.tensorflow.org/>
【０１０１】
この実施形態のオブジェクト認識部２２では、ＯｐｅｎＣＶの機能を用いて画像内のオブジェクト（人に限定しない）を認識する処理（以下、「オブジェクト認識処理」と呼ぶ）を行い、認識したオブジェクトからＴｅｎｓｏｒＦｌｏｗの機能を用いて人オブジェクトを分類する処理（以下、「人オブジェクト分類処理」と呼ぶ）を行うことで人オブジェクト認識処理が行うことができる。
【０１０２】
オブジェクト認識処理において、オブジェクト認識部２２は、カメラ１０で撮像した各画像について、輪郭検出処理を行い、その輪郭検出結果に基づいてオブジェクト認識処理を行う。なお、輪郭検出処理の前処理として画像を白黒の２値の画像に変換するフィルタ処理を行うことで精度を向上させるようにしてもよい。オブジェクト認識部２２は、ＯｐｅｎＣＶの機能により、各オブジェクトについて、画像（前処理後の画像）から、各オブジェクトの輪郭の領域を含む矩形（外接矩形）の領域の画像（以下、「外接矩形画像」と呼ぶ）を切り出して保持する。
【０１０３】
図１１は、オブジェクト認識部２２が画像から切り出す外接矩形の例について示した説明図である。
【０１０４】
図１１では、各人オブジェクトＯＢ１０１〜ＯＢ１０４に対する外接矩形ＳＱ１０１〜ＳＱ１０４が図示されている。
【０１０５】
次に、オブジェクト認識部２２による人オブジェクト分類処理の詳細例について説明する。オブジェクト認識部２２は、オブジェクト認識処理により取得した各オブジェクトの外接矩形画像について、ｔｅｎｓｏｒｆｌｏｗの画像認識機能を用いて、人の一部（例えば、人の顔）の画像が含まれているか否かを判断する。例えば、オブジェクト認識部２２は、ｔｅｎｓｏｒｆｌｏｗの「ｈｕｍａｎ＿ｒｅｃｏｇｎｉｚｅｒ．ｐｙ」に含まれる「ｃｒｅａｔｅ＿ｆｅｅｄ＿ｄｉｃｔ」関数を用いて、各オブジェクトの外接矩形画像に人の顔が含まれているか否かを判断することができる。ｃｒｅａｔｅ＿ｆｅｅｄ＿ｄｉｃｔ関数は、画像を入力するとその中に人の顔が含まれているか否かの評価結果（Ｓｃｏｒｅ）の数値（０から１の範囲の数値）を戻り値として出力する関数である。例えば、オブジェクト認識部２２は、各オブジェクトの外接矩形画像をｒｅａｔｅ＿ｆｅｅｄ＿ｄｉｃｔ関数に入力して、評価結果（Ｓｃｏｒｅ）が閾値以上（例えば、０．４以上）であったオブジェクト（外接矩形画像）を人オブジェクトとして分類するようにしてもよい。
【０１０６】
以上のように、オブジェクト認識部２２は、人が映っていたと評価された外接矩形画像に対応するオブジェクトを人オブジェクトとして認識する処理（人オブジェクト認識処理）を行う。
【０１０７】
次に、オブジェクト認識部２２による人オブジェクト追跡処理の具体例について説明する。
【０１０８】
オブジェクト認識部２２は、人オブジェクト追跡処理において、各人オブジェクトの外接矩形（外接矩形画像）を追跡する処理を行う。人オブジェクトごとに外接矩形を追跡する処理（外接矩形ごとの動きの追跡処理）については種々の処理を適用することができる。
【０１０９】
例えば、任意の時刻の画像をＦ１とし、画像Ｆ１の後の時系列（例えば、Ｆ１の次の時系列）の画像をＦ２とした場合、オブジェクト認識部２２は、画像Ｆ１と画像Ｆ２で距離が所定以下の人オブジェクトの外接矩形については同一の人オブジェクトの外接矩形であるものと認識するようにしてもよい。
【０１１０】
図１２は、オブジェクト認識部２２が、人オブジェクト追跡処理で動き量を求める際の例について示した説明図である。
【０１１１】
図１２では、画像Ｆ１及びＦ１の後の時系列の画像Ｆ２における人オブジェクトＯＢ２０１の外接矩形を図示している。
【０１１２】
なお、図１２では、画像の水平方向をＸ方向と呼び、画像の垂直方向をＹと図示している。また、以下では、画像上の距離とは、解像度（画素）に基づく単位であるものとする。例えば、画像上において、１画素分（１解像度分）の距離を１と呼ぶようにしてもよい。
【０１１３】
図１２では、画像Ｆ１における人オブジェクトＯＢ２０１の外接矩形（点線）をＳＱ２０１として図示し、画像Ｆ２における人オブジェクトＯＢ２０１の外接矩形（一点鎖線）をＳＱ２０２として図示している。また、図１２では、外接矩形ＳＱ２０１のＸ方向の辺の距離をＸ２０１とし、外接矩形ＳＱ２０１のＹ方向の辺の距離をＹ２０１としている。
【０１１４】
オブジェクト認識部２２では、オブジェクト認識処理により、画像Ｆ１から人オブジェクトＯＢ２０１の外接矩形ＳＱ２０１を検出し、画像Ｆ２から人オブジェクトＯＢ２０１の外接矩形ＳＱ２０２を検出することになる。そして、オブジェクト認識部２２は、外接矩形ＳＱ２０１と、外接矩形ＳＱ２０２との間の距離を求める。
【０１１５】
オブジェクト認識部２２が、画像Ｆ１の外接矩形と画像Ｆ２の外接矩形との間の距離を求める方法は限定されないものであるが、例えば、各外接矩形の中心点同士や、いずれかの頂点（矩形の４つの頂点のいずれか）同士の距離を求めるようにしてもよい。図１２では、外接矩形ＳＱ２０１、ＳＱ２０２の中心点の位置（座標）をそれぞれ位置Ｐ２０１、Ｐ２０２と図示している。
【０１１６】
このとき、オブジェクト認識部２２は、Ｘ方向の距離（差分）ＤＸが「Ｘ２０１・ＫＸ１」未満で、かつ、Ｙ方向の距離（差分）ＤＹが「Ｙ２０１・ＫＹ１」未満の場合（以下の（１）式及び（２）式を満たす場合）に、外接矩形ＳＱ２０１と外接矩形ＳＱ２０２とを同じ人オブジェクトの外接矩形として認識するものとする。
【０１１７】
ＫＸ１及びＫＹ１については任意の定数を設定することができる。ここでは、ＫＸ１＝０．５、ＫＹ１＝０．５として説明する。この場合、２つの外接矩形ＳＱ２０１、ＳＱ２０２の形状（寸法）を同じとすれば、以下の（１）式及び（２）式を満たす状態とは、２つの外接矩形ＳＱ２０１、ＳＱ２０２の領域が互いに重なり合う状態といえる。図１２では、位置Ｐ２０１と位置Ｐ２０２との間で、Ｘ方向の距離ＤＸは「Ｘ２０１・０．５」未満で、Ｙ方向の距離ＤＹは「Ｙ２０１・０．５」未満である。したがって、オブジェクト認識部２２は、外接矩形ＳＱ２０１と外接矩形ＳＱ２０２とを同一の人オブジェクトＯＢ２０１のものと認識（紐づけ）することができる。
Ｘ２０１・ＫＸ１  ＜ＤＸ  …（１）
Ｙ２０１・ＫＹ１  ＜ＤＹ  …（２）
【０１１８】
なお、ＫＸ１とＫＹ１とは異なる値としてもよい。ＫＸ１とＫＹ１については、実際にオブジェクト認識部２２で認識される外接矩形のサイズや、人オブジェクト追跡処理を行う間隔（期間Ｔ１）や、実験結果（例えば、認識精度の実験）等を考慮して最適な値にチューニングされることが望ましい。
【０１１９】
以上のように、オブジェクト認識部２２は、画像を取得する度に、時系列が前後する画像との間で人オブジェクトの外接矩形の紐づけを行うことで、人オブジェクト追跡処理（画像ごとに、各人オブジェクトに対応する外接矩形の領域を認識する処理）を行うことができる。
【０１２０】
次に、オブジェクト認識部２２が行う席利用者オブジェクト検出処理について説明する。
【０１２１】
オブジェクト認識部２２は、人オブジェクト追跡処理により、各人オブジェクトの動きの履歴（外接矩形の動き）を保持することができる。ここでは、オブジェクト認識部２２は、人オブジェクトごとに、直近の期間Ｔ２の分（現時点から期間Ｔ２だけ過去の時点までの期間分）の外接矩形の動き（例えば、中心点やいずれかの頂点の動き）を分析して、その動きの特性を認識し、その認識結果に基づいて席利用者オブジェクトを検出する。
【０１２２】
図１３は、オブジェクト認識部２２が行う席利用者オブジェクト検出処理で動き量を求める際の例について示した説明図である。
【０１２３】
ここで、図１３に示すように、現時点の画像Ｆ３における任意の人オブジェクトＯＢ３０１の外接矩形をＳＱ３０１とする。また、図１３では外接矩形ＳＱ３０１の中心点をＰ３０１と図示している。さらに図１３では、画像Ｆ３から時系列的にｉ個（ｉは１〜Ｍの整数）前の画像Ｆ−ｉから検出した人オブジェクトＯＢ３０１の外接矩形を「ＳＱ−ｉ」とし、外接矩形ＳＱ−ｉの中心点を「Ｐ−ｉ」と図示している。例えば、オブジェクト認識部２２において、画像Ｆ３が供給された時点をｔ１とすると、画像Ｆ−ｉが供給された時点は「ｔ１−（ｉ×Ｔ１）」となる。例えば、期間Ｔ１を１秒、期間Ｔ２を６０秒とすると、Ｍ＝６０／１＝６０となる。なお、オブジェクト認識部２２は、人オブジェクト追跡処理までに用いた画像を全て席利用者オブジェクト検出処理に適用する必要はない。例えば、人オブジェクト追跡処理までに用いた画像の一部を間引いて席利用者オブジェクト検出処理に適用するようにしてもよい。例えば、オブジェクト認識部２２は、人オブジェクト追跡処理までに用いた画像を一つおきに抽出（例えば、画像Ｆ−１、Ｆ−３、Ｆ−５、Ｆ−７、…を抽出）して、席利用者オブジェクト検出処理を行うようにしてもよい。
【０１２４】
図１３では、外接矩形ＳＱ３０１のＸ方向の辺の距離をＸ３０１とし、外接矩形ＳＱ３０１のＹ方向の辺の距離をＹ３０１としている。また、図１３では、Ｐ３０１とＰ−ｉとのＸ方向の距離（差分）をＤＸと図示し、Ｙ方向の距離（差分）をＤＹと図示している。
【０１２５】
オブジェクト認識部２２は、席利用者オブジェクト検出処理において、外接矩形ＳＱ３０１と外接矩形ＳＱ−１〜ＳＱ−Ｍの全てとの間の「Ｘ方向の距離ＤＸ」と「Ｙ方向の距離ＤＹ」を求める。外接矩形ＳＱ３０１と、外接矩形ＳＱ−１〜ＳＱ−Ｍの全てとの距離（ＤＸ、ＤＹ）が、人オブジェクトＯＢ３０１の動きの履歴となる。
【０１２６】
そして、オブジェクト認識部２２は、外接矩形ＳＱ３０１と、外接矩形ＳＱ−１〜ＳＱ−Ｍの全てとの距離（ＤＸ、ＤＹ）にから動きの特性を分析して、その分析結果に基づいて人オブジェクトＯＢ３０１の属性（例えば、席利用者オブジェクトであるか否か）を認識する。
【０１２７】
まず、オブジェクト認識部２２において、人オブジェクトＯＢ３０１が、非席利用者オブジェクトであるか否かを判定する処理の例について説明する。
【０１２８】
オブジェクト認識部２２は、外接矩形ＳＱ３０１と、外接矩形ＳＱ−１〜ＳＱ−Ｍの全てとの距離（ＤＸ、ＤＹ）を求め、外接矩形ＳＱ−１〜ＳＱ−Ｍの全てについて、Ｘ方向の距離（差分）ＤＸが「Ｘ３０１・ＫＸ２」未満で、かつ、Ｙ方向の距離（差分）ＤＹが「Ｙ３０１・ＫＹ２」未満であるかという条件（以下の（３）式及び（４）式を満たすという条件）を満たすか否かを判定する。そして、オブジェクト認識部２２は、外接矩形ＳＱ−１〜ＳＱ−Ｍの全てについて上述の条件を満たす場合（以下の（３）式及び（４）式を満たす場合）、外接矩形ＳＱ３０１に係る人オブジェクトＯＢ３０１を、非席利用者オブジェクトでないと認識（その他の条件を満たせば席利用者オブジェクトであると認識）する。言い換えると、オブジェクト認識部２２は、外接矩形ＳＱ−１〜ＳＱ−Ｍについて求めた距離のうち、１つでも以下の（３）又は（４）を満たさない場合には、オブジェクト認識部２２は、外接矩形ＳＱ３０１に係る人オブジェクトＯＢ３０１を非席利用者オブジェクトであると認識する。
【０１２９】
ＫＸ２及びＫＹ２については任意の定数を設定することができる。ここでは、ＫＸ２＝０．５、ＫＹ２＝０．５として説明する。この場合、２つの外接矩形ＳＱ３０１、ＳＱ−ｉの形状（寸法）を同じとすれば、以下の（３）式及び（４）式を満たす状態とは、２つの外接矩形ＳＱ３０１、ＳＱ−ｉの領域が互いに重なり合う状態といえる。
【０１３０】
なお、オブジェクト認識部２２は、現時点から期間Ｔ２前まで継続して外接矩形ＳＱが取得できない人オブジェクト（外接矩形ＳＱ−１〜ＳＱ−Ｍを全て取得できない人オブジェクト）については非席利用者オブジェクトと認識するようにしてもよい。まだ認識が開始されてから期間Ｔ２以上経過していない人オブジェクトについては、席利用者オブジェクトと確定しない方が認識精度が安定する場合があるからである。
Ｘ３０１・ＫＸ２＞ＤＸ  …（３）
Ｙ３０１・ＫＹ２＞ＤＹ  …（４）
【０１３１】
なお、ＫＸ２とＫＹ２とは異なる値としてもよい。また、ＫＸ２とＫＹ２を大きくしすぎると非席利用者オブジェクトを席利用者オブジェクトとして誤認してしまい、ＫＸ２とＫＹ２を小さくしすぎると席利用者オブジェクトを非席利用者オブジェクトと誤認してしまう。そのため、通常、席利用者オブジェクトが期間Ｔ２の間に動く量を実験等により検証し、その検証結果に基づいてＫＸ２とＫＹ２を設定することが望ましい。さらに、ＫＸ２とＫＹ２については、実際にオブジェクト認識部２２で認識される外接矩形のサイズや、人オブジェクト認識処理を行う間隔（期間Ｔ２）等を考慮して最適な値にチューニングされることが望ましい。
【０１３２】
ここで、店員の人オブジェクトＯＢ１０４の外接矩形ＳＱ１０４のＸ方向の距離をＸ１０４、ＫＸ２＝０．５とする。そうすると、人オブジェクトＯＢ１０４の店員が、期間Ｔ２（６０秒）の間に、画像上でＸ方向に「０．５・Ｘ１０４」以上移動すれば、人オブジェクトＯＢ１０４は非席利用者オブジェクトと認識（席利用者オブジェクトでないと認識）されることになる。通常、飲食店の店員（ホールの店員）は、接客のため店内を移動し続けることになるため、期間Ｔ２（６０秒）以上の間、同じ場所にとどまり続けるとは考えにくい。したがって、図１１の例においては、通常、店員の人オブジェクトＯＢ１０４は、非席利用者オブジェクトと認識（席利用者オブジェクトでないと認識）される。
【０１３３】
次に、オブジェクト認識部２２において、人オブジェクトＯＢ３０１が、誤認オブジェクトであるか否かを判定する処理の例について説明する。
【０１３４】
オブジェクト認識部２２は、外接矩形ＳＱ−１〜ＳＱ−Ｍの全てについて、Ｘ方向の距離（差分）ＤＸが「Ｘ３０１・ＫＸ３」未満で、かつ、Ｙ方向の距離（差分）ＤＹが「Ｙ３０１・ＫＹ３」未満であるという条件（以下の（５）式及び（６）式を満たすという条件）を満たすか否かを判定する。そして、オブジェクト認識部２２は、外接矩形ＳＱ−１〜ＳＱ−Ｍの全てについて上述の条件を満たす場合（以下の（５）式及び（６）式を満たす場合）、外接矩形ＳＱ３０１に係る人オブジェクトＯＢ３０１を誤認オブジェクトと認識（席利用者オブジェクトでないと認識）する。言い換えると、外接矩形ＳＱ−１〜ＳＱ−Ｍについて求めた距離のうち、１つでも以下の（５）又は（６）を満たさない場合には、オブジェクト認識部２２は、外接矩形ＳＱ３０１に係る人オブジェクトＯＢ３０１を誤認オブジェクトではない（その他の条件を満たせば席利用者オブジェクトである）と認識する。
Ｘ３０１・ＫＸ３＞ＤＸ  …（５）
Ｙ３０１・ＫＹ３＞ＤＹ  …（６）
【０１３５】
上述の通り、誤認オブジェクト（例えば、店内に人物が描かれた写真や絵画等に基づく人オブジェクト）は実際には全く動かないが、人オブジェクト認識処理の過程で微小の動きが発生したように認識される可能性はある。しかしながら、誤認オブジェクトについて認識される微小の動きは、少なくとも席利用者（座っている人間）の動きよりは小さなものである。これは、人間は椅子に座っていても顔等の部位は全く動かないわけではないため、期間Ｔ（６０秒）の間で見れば、通常誤認オブジェクトよりも席利用者オブジェクトの動きの量（動きの最大量）は大きくなるためである。そのため、上述のように、外接矩形ＳＱ３０１の動きが所定以下しか発生していない場合（外接矩形ＳＱ−１〜ＳＱ−Ｍについて求めた距離が全て（５）式及び（６）式を満たす場合）には、人オブジェクトＯＢ３０１は誤認オブジェクトであると認識（推定）できる。
【０１３６】
ＫＸ３及びＫＹ３については任意の定数を設定することができるが、例えば、ＫＸ３＝０．１、ＫＹ３＝０．１程度としてもよい。なお、ＫＸ３とＫＹ３とは異なる値としてもよい。また、ＫＸ３とＫＹ３を大きくしすぎると非席利用者オブジェクトを誤認オブジェクトとして誤認してしまい、ＫＸ３とＫＹ３を小さくしすぎると誤認オブジェクトを席利用者オブジェクトと誤認してしまう。そのため、通常席利用者オブジェクトが期間Ｔ２の間に動く量を実験等により検証し、その検証結果に基づいてＫＸ３とＫＹ３を設定することが望ましい。さらに、ＫＸ３とＫＹ３については、実際にオブジェクト認識部２２で認識される外接矩形のサイズや、人オブジェクト認識処理を行う間隔（期間Ｔ２）等を考慮して最適な値にチューニングされることが望ましい。
【０１３７】
以上の処理により、オブジェクト認識部２２は、人オブジェクトＯＢ３０１について、非席利用者の人オブジェクトでも、誤認オブジェクトでもないと認識した場合、人オブジェクトＯＢ３０１を席利用者オブジェクトとして認識（抽出）する。すなわち、オブジェクト認識部２２は、人オブジェクト追跡処理を行った各人オブジェクトから、非席利用者人オブジェクトでも誤認オブジェクトでもないものを、席利用者オブジェクトと認識する。そして、席情報処理部２３は、オブジェクト認識部２２が最新に行った席利用者オブジェクト検出処理の結果に基づいて、席利用者オブジェクトの数をカウントし、そのカウント結果を席利用者数として取得する。
【０１３８】
次に、Ｗｅｂアプリサーバ３０及びＤＢサーバ４０における席情報の更新動作について説明する。
【０１３９】
ここでは、ＤＢサーバ４０の店舗情報ＤＢ４２１に、初期のマスターデータとして、各店舗の席情報（設置席数、利用中席数）以外の情報は登録されているものとする。
【０１４０】
Ｗｅｂアプリサーバ３０のサーバアプリ３２は、各店舗のローカルコンピュータ２０から席情報（設置席数及び利用中席数）を受信すると、その席情報に基づいて、ＤＢサーバ４０（店舗情報ＤＢ４２１）の情報（受信した店舗に係る席情報（設置席数及び利用中席数））を更新する処理を行う。なお、上述の通り、席情報処理部２３が、Ｗｅｂアプリサーバ３０に席情報を送信するタイミングは限定しないものである。
【０１４１】
以上のように、ＤＢサーバ４０（店舗情報ＤＢ４２１）は、各店舗のローカルコンピュータ２０から受信した席情報により、常に最新の状態（最新の各店舗の席情報を保持した状態）に保たれることになる。
【０１４２】
次に、Ｗｅｂアプリサーバ３０及びＤＢサーバ４０における席情報の提供動作について説明する。
【０１４３】
上述の通り、Ｗｅｂアプリサーバ３０は、クライアント端末５０の要求に応じて、ＤＢサーバ４０で保持された席情報を含むコンテンツを提供する。Ｗｅｂアプリサーバ３０からクライアント端末５０に提供されたコンテンツ（Ｗｅｂ画面のデータ）は、クライアント端末５０のタッチパネルディスプレイ５１に表示されることになる。
【０１４４】
例えば、Ｗｅｂアプリサーバ３０（Ｗｅｂサービス部３１）が、クライアント端末５０から所定のＵＲＬ（席情報を提供するためのホームページのＵＲＬ）でアクセス（例えば、ＨＴＴＰ等のプロトコルでのアクセス）を受け付けた場合、店舗の選択を受け付けることが可能なＷｅｂ画面（以下、「店舗選択画面」と呼ぶ）のコンテンツ（Ｗｅｂ画面のデータ）を生成して、クライアント端末５０に提供する。
【０１４５】
図１４は、店舗選択画面の構成例について示した説明図である。
【０１４６】
図１４の店舗選択画面（Ｗｅｂ画面）は、各店舗の店舗名を付加したボタン（リンク）を表示し、クライアント端末５０を所持するユーザから、席情報を含むコンテンツを提供する店舗の選択（クリック；タッチ）を受け付ける構成となっている。図１４に示す店舗選択画面では、第１の店舗（店舗名：「ＡＡＡカフェ」）の選択を受け付けるためのボタンＢ１０１、第２の店舗（店舗名：「ＢＢＢレストラン」）の選択を受け付けるためのボタンＢ１０２、第３の店舗（店舗名：「ＣＣＣコーヒー」）の選択を受け付けるためのボタンＢ１０２等が表示されている状態について示している。
【０１４７】
このとき、サーバアプリ３２は、ＤＢサーバ４０（店舗情報ＤＢ４２１）から、店舗ごとの店舗名を取得し、Ｗｅｂサービス部３１に図１４に示すような店舗選択画面（Ｗｅｂ画面）を生成させる処理を行う。なお、いずれかの店舗を選択することが可能なＷｅｂ画面であれば、店舗選択画面の具体的な構成は限定されないものである。
【０１４８】
ここでは、図１４に示す店舗選択画面で、クライアント端末５０を所持するユーザにより、第１の店舗（店舗名：「ＡＡＡカフェ」）の選択を受け付けるためのボタンＢ１０１が選択されたものとする。
【０１４９】
店舗選択画面で第１の店舗（店舗名：「ＡＡＡカフェ」）が選択されると、サーバアプリ３２は、ＤＢサーバ４０（店舗情報ＤＢ４２１）から、第１の店舗の席情報（設置席数及び利用中席数）と店舗情報（住所、営業時間、ホームページＵＲＬ）を取得する。そして、サーバアプリ３２は、取得した第１の店舗（店舗名：「ＡＡＡカフェ」）の席情報と店舗情報に基づき、Ｗｅｂサービス部３１に取得した情報（席情報及び店舗情報を含む情報）を提示するためのＷｅｂ画面（以下、「店舗情報提供画面」とも呼ぶ）を生成させ、接続元のクライアント端末５０に提供させる処理を行う。
【０１５０】
図１５は、店舗情報提供画面の構成例について示した説明図である。
【０１５１】
図１５に示す店舗情報提供画面では、席情報を表示するためのフィールドＦ１０１と、第１の店舗に関する情報（店舗名及び店舗情報を含む情報）を表示するためのフィールドＦ１０２が配置されている。
【０１５２】
図１５に示す店舗情報提供画面では、フィールドＦ１０１に、席情報として空席数と着席数（利用中席数）が表示されている。なお、店舗情報提供画面では、席情報として空席数のみを表示するようにしてもよいし、設置席数と着席数（利用中席数）を表示するようにしてもよい。
【０１５３】
（Ａ−３）実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【０１５４】
この実施形態の席情報処理システム１では、各店舗の席情報として設置席数の情報のみを登録するだけで、各店舗の空席数を認識できる。これにより、この実施形態の席情報処理システム１では、各店舗の席の位置情報等を入力する必要がないため、導入作業や席のレイアウト変更を容易とし、従来と比較して利便性が向上している。
【０１５５】
また、この実施形態の席情報処理システム１では、各店舗内にカメラ１０を設置して画像処理を行うだけで、利用中席数（着席利用者数）を認識することができる。これにより、この実施形態の席情報処理システム１では、席ごとにセンサを取り付けること等を必要としないため、導入コストを低減することができる。言い換えると、この実施形態の席情報処理システム１では、各席について利用者の有無を認識するわけではなく、人オブジェクト追跡処理と席利用者オブジェクト検出処理により、カメラ１０で撮像した画像に映っている着席利用者をカウントするだけであるため、各席について画像認識処理を行う場合と比較すると、より少ない処理量で着席利用者数を認識することができる。
【０１５６】
さらにまた、この実施形態の席情報処理システム１では、人オブジェクト追跡処理及び席利用者オブジェクト検出処理において、各人オブジェクトの外接矩形の動きを認識する際、外接矩形を構成する寸法（例えば、外接矩形の辺の距離や対角線の距離）との比較結果（例えば、（１）式〜（６）式の結果）を用いているため、カメラ１０から各席までの距離にかかわらず、同様の精度で動きを認識することができる。カメラ１０で撮像した画像上では、遠くの人オブジェクトの外接矩形は小さく認識され、近くの人オブジェクトの外接矩形は大きく認識されるため、それらの動きを同じ閾値で比較すると、認識精度にばらつきが発生するため、この実施形態のように、外接矩形を構成する寸法との比較結果を用いていることで、人オブジェクト追跡処理及び席利用者オブジェクト検出処理の認識精度を向上させることができる。
【０１５７】
（Ｂ）他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【０１５８】
（Ｂ−１）上記の実施形態において、各ローカルコンピュータ２０が行う処理をサーバ側（Ｗｅｂアプリサーバ３０、又はＷｅｂアプリサーバ３０に付随するサーバ）で処理するようにしてもよい。
【０１５９】
（Ｂ−２）上記の実施形態において、Ｗｅｂアプリサーバ３０（サーバアプリ３２）が提供する店舗選択画面は（図１４参照）、店舗情報ＤＢ４２１に登録されている店舗を表示するだけであったが、各店舗の位置や各店舗の席の席情報（例えば、空席数や設置席数）等の情報（以下、「検索情報」とも呼ぶ）に応じて表示する店舗や、表示する店舗の順序を変更するようにしてもよい。
【０１６０】
例えば、サーバアプリ３２は、店舗選択画面の要求元（Ｗｅｂ通信の要求元）であるクライアント端末５０から、位置情報（当該クライアント端末５０の位置情報）を取得し、店舗選択画面で、クライアント端末５０の位置から距離の近い順に各店舗に係るボタンを表示するようにしてもよい。例えば、サーバアプリ３２は、店舗選択画面において、クライアント端末５０の位置から近い店舗から順に、画面上からボタンを表示するようにしてもよい。
【０１６１】
また、サーバアプリ３２は、図１４に示すように、店舗選択画面において、所定の条件に合う店舗の検索を受け付ける構成としてもよい。
【０１６２】
図１４（ａ）では、店舗選択画面において、空席数の入力を受け付けるフィールドＦ１０１と、当該クライアント端末５０からの距離（図１４では「ここからの距離」）の入力を受け付けるフィールドＦ１０２が配置されている。そして、図１４（ａ）に示す店舗選択画面では、クライアント端末５０の近くでフィールドＦ１０１、Ｆ１０２に入力された条件に合致する店舗の検索を受け付けるためのボタンＢ２０１（図１４では、「近くで空いている店舗を探す」と表示）が配置されている。
【０１６３】
図１４（ａ）では、デフォルトの状態で、空席数を示すＦ１０１に「２」（空席２以上）が入力され、「ここからの距離」を示すＦ１０２に「２００」（２００ｍ以内）が入力された状態となっている。なお、フィールドＦ１０１、Ｆ１０２に対する入力方式は限定されないものであり、数値入力を受け付ける方式としてもよいし、コンボボックスやラジオボタン等で選択する方式としてもよい。また、フィールドＦ１０１、Ｆ１０２のデフォルト値についても限定されないものである。
【０１６４】
なお、店舗選択画面における検索条件の項目についても、その項目や項目数は限定されないものである。例えば、図１４に示す店舗選択画面において、検索条件として空席数又は距離の一方のみ受け付けるようにしてもよいし、その他の条件を付加するようにしてもよい。なお、図１４に示す店舗選択画面では、空席数及び距離の入力受付を行う例についてしめしたが、特に空席数及び距離の入力を受けずに、サーバアプリ３２で既定の値（予め設定された値）を適用するようにしてもよい。
【０１６５】
図１４（ａ）に示す店舗選択画面で、ボタンＢ２０１が押下されると、サーバアプリ３２は、クライアント端末５０の位置情報を取得し、取得したクライアント端末５０の位置からフィールドＦ１０２に設定された距離以内で、かつ、フィールドＦ１０１に設定された以上の空席数のある店舗を、店舗情報ＤＢ４２１の（店舗情報の項目）の内容から検索する。サーバアプリ３２がクライアント端末５０の位置情報を取得する方式は限定されないものである。例えば、サーバアプリ３２は、クライアント端末５０に、要求して位置情報を取得するようにしてもよい。クライアント端末５０は、例えば、ＧＰＳや携帯電話会社キャリア網との通信に基づいて位置情報を取得するようにしてもよい。また、サーバアプリ３２は、例えば、インターネット上の地図情報データベース（例えば、Ｇｏｏｇｌｅマップ（登録商標）等のデータ）に基づいて、各店舗の住所に基づく位置情報を取得するようにしてもよい。
【０１６６】
ここでは、合致する店舗が「ＡＡＡカフェ」（第１の店舗）のみであったものとする。そうすると、サーバアプリ３２は、店舗選択画面を、図１４（ｂ）に示すように、合致した店舗である「ＡＡＡカフェ」（第１の店舗）のボタンＢ１０１のみを表示した状態に遷移させる。また、図１４（ｂ）では、検索条件を示すメッセージ「ここから２００ｍ以内で空席が２以上空いている店舗は下記です。」を表示している。検索条件に合致する店舗が複数ある場合、サーバアプリ３２は、検索情報を構成するいずれかの条件に基づく順序（例えば、距離の近い順序や空席数の多い順序で）各店舗のボタンを表示するようにしてもよい。図１４に示す店舗選択画面では、サーバアプリ３２は、図１４（ａ）の画面でボタンＢ２０１が押下されたことを契機に、クライアント端末５０及び各店舗の情報を取得して図１４（ｂ）の画面に遷移する構成となっているが、サーバアプリ３２は、図１４（ａ）の画面を経ずに、最初から予め設定された検索情報（空席数及び距離）に基づいて検出した店舗を表示（図１４（ｂ）の画面を表示）するようにしてもよい。
【符号の説明】
【０１６７】
１…席情報処理システム、１０、１０−１〜１０−Ｎ…カメラ、２０、２０−１〜２０−Ｎ…ローカルコンピュータ、２１…映像取得部、２２…オブジェクト認識部、２３…席情報処理部、２４…データ記録部、３０…Ｗｅｂアプリサーバ、３１…Ｗｅｂサービス部、３２…サーバアプリ、３３…データ記録部、４０…ＤＢサーバ、４１…ＤＢ処理部、４２…データ記録部、４２１…店舗情報ＤＢ、５０…クライアント端末、５１…タッチパネルディスプレイ、５２…クライアントアプリ。
【図１】
2019101572.tif 000003
【図２】
2019101572.tif 000004
【図３】
2019101572.tif 000005
【図４】
2019101572.tif 000006
【図５】
2019101572.tif 000007
【図６】
2019101572.tif 000008
【図７】
2019101572.tif 000009
【図８】
2019101572.tif 000010
【図９】
2019101572.tif 000011
【図１０】
2019101572.tif 000012
【図１１】
2019101572.tif 000013
【図１２】
2019101572.tif 000014
【図１３】
2019101572.tif 000015
【図１４】
2019101572.tif 000016
【図１５】
2019101572.tif 000017
【図１６】
2019101572.tif 000018