(57)【特許請求の範囲】
【請求項１】
食品が載置されるテーブルを上方から撮像した動画像を取得し、
前記動画像における前記テーブルに対応するテーブル領域から第１対象物及び該第１対象物以外の第２対象物を検知し、
前記第１対象物の検知結果に基づき、前記テーブル領域内の各領域の値を設定した衛生状態を表すヒートマップを生成し、
前記第２対象物を検知した場合、前記第２対象物が検知された領域の前記ヒートマップの値を変化させる
処理をコンピュータに実行させるプログラム。
【請求項２】
前記第１対象物が検知された時間又は回数に応じて、前記第１対象物が検知された領域の値を設定した前記ヒートマップを生成する
請求項１に記載のプログラム。
【請求項３】
前記テーブル領域から、前記テーブルの清掃作業に関連する前記第２対象物と、該第２対象物以外の前記第１対象物とを検知し、
前記第２対象物が検知された場合、前記第２対象物が検知された領域の値をリセット又は減算する
請求項１又は２に記載のプログラム。
【請求項４】
前記動画像を撮像した撮像地点から前記第１対象物又は第２対象物までの深度を推定し、
推定した深度に基づき、前記第１対象物又は第２対象物が前記テーブルに接触したか否かを判定し、
判定結果に応じて前記ヒートマップを生成又は変化させる
請求項１〜３のいずれか１項に記載のプログラム。
【請求項５】
前記動画像から前記テーブルに載置された前記食品を検知し、
前記食品の載置時間に基づき、前記食品を交換すべきか否かを判定する
請求項１〜４のいずれか１項に記載のプログラム。
【請求項６】
前記動画像から前記テーブルの周辺に存在する人物を認識し、
認識した前記人物に関する周辺人物情報を特定し、
前記周辺人物情報と、前記第１対象物の検知結果とに基づいて前記ヒートマップを生成する
請求項１〜５のいずれか１項に記載のプログラム。
【請求項７】
前記テーブルの周辺の温度分布を示す熱画像を取得し、
前記熱画像に基づき、前記人物の体温を特定し、
前記人物の体温に応じて前記ヒートマップを生成する
請求項６に記載のプログラム。
【請求項８】
店舗に設置された複数の前記テーブルそれぞれの前記ヒートマップを生成し、
前記複数のテーブルそれぞれのヒートマップに基づき、前記店舗の清潔度を算出し、
前記店舗の清潔度を外部に出力する
請求項１〜７のいずれか１項に記載のプログラム。
【請求項９】
前記テーブルの周辺の環境値を取得し、
前記環境値と、前記第１対象物の検知結果とに基づいて前記ヒートマップを生成する
請求項１〜８のいずれか１項に記載のプログラム。
【請求項１０】
食品が載置されるテーブルを上方から撮像した動画像を取得する取得部と、
前記動画像における前記テーブルに対応するテーブル領域から第１対象物及び該第１対象物以外の第２対象物を検知する検知部と、
前記第１対象物の検知結果に基づき、前記テーブル領域内の各領域の値を設定した衛生状態を表すヒートマップを生成する生成部と、
前記第２対象物を検知した場合、前記第２対象物が検知された領域の前記ヒートマップの値を変化させる変更部と
を備える情報処理装置。
【請求項１１】
食品が載置されるテーブルを上方から撮像した動画像を取得し、
前記動画像における前記テーブルに対応するテーブル領域から第１対象物及び該第１対象物以外の第２対象物を検知し、
前記第１対象物の検知結果に基づき、前記テーブル領域内の各領域の値を設定した衛生状態を表すヒートマップを生成し、
前記第２対象物を検知した場合、前記第２対象物が検知された領域の前記ヒートマップの値を変化させる
処理をコンピュータが実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
食中毒の予防等の観点から、食品を提供する飲食店での衛生管理を支援する手法が提案されている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２８７１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで昨今、ウィルス性の感染症の流行により、飲食店等では衛生管理の重要性がますます高まっている。例えば飲食店では、食品等の提供物や食器類、店内設備などを清潔に保つことが求められているが、これらが清潔に保たれているかを判断することが困難な場合がある。
【課題を解決するための手段】
【０００５】
一つの側面に係るプログラムは、食品が載置されるテーブルを上方から撮像した動画像を取得し、前記動画像における前記テーブルに対応するテーブル領域から第１対象物及び第２対象物を検知し、前記第１対象物の検知結果に基づき、前記テーブル領域内の各領域の値を設定したヒートマップを生成し、前記第２対象物を検知した場合、前記第２対象物が検知された領域の前記ヒートマップの値を変化させる処理をコンピュータに実行させる。
【発明の効果】
【０００６】
一つの側面では、衛生管理を好適に支援することができる。
【図面の簡単な説明】
【０００７】
【図１】衛生管理システムの構成例を示す説明図である。
【図２】サーバの構成例を示すブロック図である。
【図３】実施の形態１の概要を示す説明図である。
【図４】ヒートマップの表示画面例を示す説明図である。
【図５】サーバが実行する処理手順の一例を示すフローチャートである。
【図６】実施の形態２の概要を示す説明図である。
【図７】実施の形態２に係るサーバが実行する処理手順の一例を示すフローチャートである。
【図８】実施の形態３の概要を示す説明図である。
【図９】実施の形態３に係るサーバが実行する処理手順の一例を示すフローチャートである。
【図１０】実施の形態４の概要を示す説明図である。
【図１１】清潔度の算出処理の手順を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
（実施の形態１）
図１は、衛生管理システムの構成例を示す説明図である。本実施の形態では、食品（物体）が載置されるテーブルを撮像した動画像から、当該テーブルの衛生状態を表すヒートマップを生成する衛生管理システムについて説明する。衛生管理システムは、情報処理装置１、端末２、カメラ３を含む。各装置は、ネットワークＮを介して通信接続されている。なお、ここでいうヒートマップは、画像内の個々の領域における数値データを連続的に変化するもので表現したものであり、例えば連続的に変化する色及びその濃淡で表現したものである。
【０００９】
情報処理装置１は、種々の情報処理、情報の送受信が可能な情報処理装置であり、例えばサーバコンピュータ、パーソナルコンピュータ等である。本実施の形態では情報処理装置１がサーバコンピュータであるものとし、以下では簡潔のためサーバ１と読み替える。後述のように、サーバ１は、食品が載置されるテーブルを上方から撮像した動画像から、テーブルの衛生状態を表すヒートマップを生成する。当該テーブルは、飲食店等においてバイキング、ビュッフェ等の形式で食品を提供する際に用いられるテーブルであり、不特定多数の顧客（人物）が利用するテーブルである。サーバ１は、テーブルを撮像した動画像から顧客の手、指、又は食品を取る際に用いるトング等の器具などを第１対象物として検知し、テーブル上の各領域の清潔度合いを表すヒートマップを生成する（図３Ａ参照）。そしてサーバ１は、テーブルを清掃する従業員が使用する清掃用具（ダスター等）、あるいは従業員が装着する手袋など、テーブルの清掃作業に関連する物体を第２対象物として検知し、第２対象物を検知した領域のヒートマップの値を変化（リセット）させる（図３Ｂ参照）。
【００１０】
なお、サーバ１は、インターネット等を介して端末２等に通信接続されたクラウドサーバであってもよく、ＬＡＮ（Local Area Network）等を介して通信接続されたローカルサーバであってもよい。
【００１１】
端末２は、従業員が使用する情報処理端末であり、例えばタブレット端末、パーソナルコンピュータ、スマートフォン等である。サーバ１は、生成したヒートマップを端末２に出力して表示させ、従業員に提示する。
【００１２】
カメラ３は、食品が載置されるテーブルを撮像する撮像装置である。例えばカメラ３は、図１に示すようにテーブルの真上に設置され、真上からテーブルを継続的に撮像している。なお、カメラ３の設置位置はテーブルの真上に限定されず、例えばテーブルから見て斜め上に設置されていてもよく、少なくともテーブルの載置面よりも高い位置に設置されていればよい。サーバ１はカメラ３から動画像を取得し、ヒートマップを生成する。
【００１３】
図２は、サーバ１の構成例を示すブロック図である。サーバ１は、制御部１１、主記憶部１２、通信部１３、及び補助記憶部１４を備える。
制御部１１は、一又は複数のＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）、ＧＰＵ（Graphics Processing Unit）等の演算処理装置を有し、補助記憶部１４に記憶されたプログラムＰを読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部１２は、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等の一時記憶領域であり、制御部１１が演算処理を実行するために必要なデータを一時的に記憶する。通信部１３は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。補助記憶部１４は、大容量メモリ、ハードディスク等の不揮発性記憶領域であり、制御部１１が処理を実行するために必要なプログラムＰ、その他のデータを記憶している。
【００１４】
なお、サーバ１は複数のコンピュータからなるマルチコンピュータであっても良く、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。なお、サーバ１はコンテナ技術で仮想化されるものでもよい。
【００１５】
また、本実施の形態においてサーバ１は上記の構成に限られず、例えば操作入力を受け付ける入力部、画像を表示する表示部等を含んでもよい。また、サーバ１は、ＣＤ（Compact Disk）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ等の可搬型記憶媒体１ａを読み取る読取部を備え、可搬型記憶媒体１ａからプログラムＰを読み取って実行するようにしても良い。あるいはサーバ１は、半導体メモリ１ｂからプログラムＰを読み込んでも良い。
【００１６】
図３は、実施の形態１の概要を示す説明図である。図３Ａ、Ｂではそれぞれ、カメラ３の視点（真上）から見た場合のテーブルを概念的に図示している。図３に基づき、本実施の形態の概要を説明する。
【００１７】
上述の如く、サーバ１は、物体が載置されているテーブルを上方から撮像した動画像をカメラ３から取得する。当該テーブルは、例えば飲食店（店舗）に設置されたテーブルであり、バイキング、ビュッフェ等の形式で食品を提供する場合に、食品を載置しておくテーブルである。サーバ１は、例えば店舗の天井に設置されたカメラ３から動画像を取得し、ヒートマップを生成する。
【００１８】
なお、本実施の形態ではバイキング、ビュッフェ等のように不特定多数の顧客が利用するテーブルを一例に説明を行うが、顧客が食事の際に利用する個々のテーブルを対象としてもよい。また、対象とするテーブルは顧客が利用するテーブルに限らず、例えば厨房で使用する作業台のように、従業員が使用するテーブルであってもよい。
【００１９】
また、本実施の形態では飲食店を一例に説明を行うが、例えば小売店、雑貨店等で商品が陳列されるテーブル（什器等）を対象にしてもよい。すなわち、テーブルに載置される物体は食品に限定されず、その他の物体であってもよい。
【００２０】
サーバ１は、テーブルを撮像した動画像から、テーブルに対応するテーブル領域を特定する。そしてサーバ１は、テーブル領域を格子状の複数のグリッドに分割する。なお、テーブル領域の分割単位（形状）は格子状のグリッドに限定されず、ヒートマップを生成する上で適切な分割単位であればよい。
【００２１】
サーバ１は、テーブル領域から特定の対象物を検知する。当該対象物は、第１対象物及び第２対象物を含む。第１対象物は、例えば顧客の手、指、又は食品を取る際に用いるトング等の器具などであり、第２対象物以外の物体、すなわち清掃作業以外の目的でテーブルに接触する物体である。第２対象物は、例えば従業員が清掃時に使用する清掃用具（ダスター等）、又は清掃時に従業員が装着する手袋などであり、テーブルの清掃作業に関連する物体である。
【００２２】
図３Ａに、第１対象物の検知結果に基づいてヒートマップが生成される様子を図示している。なお、図３Ａでは図示の便宜上、ヒートマップでカラー表示される部分をハッチングで図示している。また、図３Ａ、Ｂではテーブル上の載置物（食品）は図示していない。テーブル領域から第１対象物を検知した場合、サーバ１は、第１対象物の検知結果に基づき、テーブル領域内の各領域の値を設定したヒートマップを生成する。
【００２３】
具体的には、サーバ１は、第１対象物が検知された時間に応じて、第１対象物が検知された領域の値を設定したヒートマップを生成する。なお、「第１対象物が検知された領域」とは、例えば第１対象物が重なったグリッド及びその周辺のグリッドを指すが、検知された第１対象物の重心から一定距離内の円状領域を対象とするなどしてもよい。後述の第２対象物についても同様である。
【００２４】
サーバ１は、第１対象物が検知された時間が長いほど、第１対象物が検知された領域（グリッド）のヒートマップの値を大きく設定する。例えばサーバ１は、第１対象物が検知された位置に近いほどヒートマップの値が大きくなるように、第１対象物が重なったグリッドの値の増加幅を大きくし、当該グリッドの周辺のグリッドの値の増加幅を小さく設定する。サーバ１は、各グリッドの増加幅を検知時間に応じて設定し、ヒートマップを生成する。
【００２５】
なお、上記では第１対象物が検知された時間に応じてヒートマップの値を設定するものとしたが、本実施の形態はこれに限定されるものではない。例えばサーバ１は、第１対象物の検知時間に加えて、又は検知時間に代えて、第１対象物が検知された回数に応じてヒートマップの値を設定してもよい。また、第１対象物が検知された時間及び回数は設定基準の一例であって、その他の設定基準（例えば第１対象物の種類、あるいは後述の実施の形態２のように接触の有無等）に応じてヒートマップの値を設定してもよい。このように、サーバ１は第１対象物の検知結果に基づいてヒートマップを生成可能であればよい。
【００２６】
また、本実施の形態では動画像のみからヒートマップを生成するものとするが、本実施の形態はこれに限定されるものではない。例えばサーバ１は、テーブルの周辺の気温、湿度等の環境値に基づき、ヒートマップを生成してもよい。例えばテーブル付近に温度センサ、湿度センサ等のセンサを設置しておき、サーバ１は、動画像と共に気温、湿度等の環境値を取得する。そしてサーバ１は、取得した環境値に基づき、ヒートマップの値の重み付けを行う。例えばサーバ１は、気温、湿度等が一定値以上の場合、第１対象物を検知したことによるヒートマップの値の増加幅を大きく設定する。なお、例えばサーバ１は、第１対象物の検知の有無に関わらず、テーブル領域の全てのグリッドの値を一律に増加させるなどしてもよい。このように、食品が置かれている環境を考慮してヒートマップを生成してもよい。
【００２７】
図３Ｂは、第２対象物が検知された場合にヒートマップの値を変化させる様子を図示している。第２対象物が検知された場合、サーバ１は、第２対象物が検知された領域のヒートマップの値を変化させる。具体的には、サーバ１は、当該領域のヒートマップの値をリセットする。なお、「ヒートマップの値をリセット」とは、第１対象物が検知される前の初期値（例えば「０」）に設定することを指す。サーバ１は、第２対象物が検知された領域、すなわち拭き取り動作等によって第２対象物が通過した領域のヒートマップの値をリセットし、当該領域のカラー表示を消去する。
【００２８】
なお、例えばサーバ１は、動画像から第２対象物の動作を認識し、認識した動作に応じてヒートマップの値をリセットしてもよい。具体的には、サーバ１は、第２対象物を一定速度以上で移動させる動作、又は第２対象物を反復移動させる動作などを認識し、当該動作を認識した場合は第２対象物が通過した領域のヒートマップの値をリセットする。これにより、例えば清掃用具（ダスター等）が置かれただけの場合などを除外し、ヒートマップの値を好適にリセットすることができる。
【００２９】
また、例えばサーバ１は、ヒートマップの値をリセットした場合において、テーブル領域に値がリセットされていない領域が残っている場合、清掃されていない領域がある旨を端末２に通知してもよい。これにより、拭き残し等を防止し、清掃作業をより好適に支援することができる。
【００３０】
また、本実施の形態では第２対象物を検知した場合にヒートマップの値をリセットするものとするが、第１対象物を検知する前の初期値に完全にリセットするのではなく、一定値だけ値を減算するようにしてもよい。すなわち、サーバ１は、第２対象物を検知した場合に、第１対象物検知前の状態（値）と同じ又は近づくようにヒートマップの値を変化させればよく、ヒートマップの値をリセットする構成は必須ではない。
【００３１】
上述の如く、サーバ１は、第１対象物の検知結果に応じてヒートマップを生成し、第２対象物が検知された場合は、第２対象物が検知された領域のヒートマップの値をリセットする。これにより、清掃が必要な領域を可視化し、衛生管理を好適に支援することができる。
【００３２】
図４は、ヒートマップの表示画面例を示す説明図である。図４では、上述のヒートマップを端末２が表示する際の表示画面例を図示している。端末２は、サーバ１からヒートマップの出力を受けて当該画面を表示する。当該画面は、テーブル選択欄４１、ヒートマップ４２を含む。端末２は、テーブル選択欄４１で選択されたテーブルに対応するヒートマップ４２を表示する。具体的には、端末２は、選択されたテーブルのヒートマップ４２を、カメラ３で撮像している動画像に重畳した画像を表示する。サーバ１は、動画像からヒートマップを逐次的に生成し、撮像中の動画像に重畳して端末２に表示させる。
【００３３】
また、端末２は、テーブル情報欄４３を当該画面に表示する。テーブル情報欄４３は、テーブルに載置されている各物体（食品）の情報を示す一覧表である。端末２はテーブル情報欄４３に、テーブルに載置されている各食品の名称、位置等のほかに、各食品の載置時間、及び交換の要否を表示する。
【００３４】
本実施の形態においてサーバ１は、テーブル領域から第１対象物及び第２対象物を検知すると共に、テーブルに載置されている食品を検知（認識）する。そしてサーバ１は、各食品の載置時間をカウントし、食品を交換すべきか否かを判定する。例えばサーバ１は、載置時間を所定の閾値と比較し、閾値以上である場合は交換すべきと判定する。なお、例えばサーバ１は、検知した食品の種類（生鮮食品であるか否か等）に応じて閾値を変更してもよい。
【００３５】
なお、上記では交換要否の判定対象とする物体として食品を挙げたが、本実施の形態はこれに限定されるものではない。例えばサーバ１は、テーブルに用意されている食器（取り皿）、食品を取る際に利用するトング等の食器類を対象としてもよい。
【００３６】
また、上記では載置時間のみで交換の要否を判定したが、本実施の形態はこれに限定されるものではなく、ヒートマップの値も考慮して交換の要否を判定してもよい。例えばサーバ１は、食品が載置されている領域の値が大きいほど閾値を低く設定し、食品が載置されている領域の値が小さいほど閾値を高く設定して、食品の載置時間と比較する。このように、載置時間だけでなくヒートマップの値も参照することで、より好適に交換の要否を判定することができる。
【００３７】
端末２は、サーバ１がカウントしている食品の載置時間、及び交換の要否をテーブル情報欄４３に表示する。例えば端末２は、各食品の載置時間を一覧表示すると共に、交換すべきと判定された食品を強調表示する。なお、図４では便宜上、強調表示される様子を太字で図示している。これにより、テーブルの衛生管理だけでなく食品の入れ替えも併せて支援することができる。
【００３８】
図５は、サーバ１が実行する処理手順の一例を示すフローチャートである。図５に基づき、サーバ１が実行する処理内容について説明する。
サーバ１の制御部１１は、物体が載置されるテーブルを上方から撮像した動画像をカメラ３から取得する（ステップＳ１１）。制御部１１は、動画像からテーブルに対応するテーブル領域を特定し、テーブル領域から特定の対象物、及びテーブルに載置されている物体を検知する（ステップＳ１２）。上述の如く、対象物は第１対象物及び第２対象物を含む。第１対象物は、例えば顧客の手、指、又は食品を取る際に用いるトング等の器具などであり、第２対象物以外の物体、すなわち清掃以外の目的でテーブルに接触する物体である。第２対象物は、例えば従業員が清掃時に使用する清掃用具、手袋等であり、テーブルの清掃作業に関連する物体である。テーブルに載置されている物体は、例えば食品であり、定期的に交換が必要な物体である。
【００３９】
制御部１１は、動画像から第１対象物を検知したか否かを判定する（ステップＳ１３）。第１対象物を検知したと判定した場合（Ｓ１３：ＹＥＳ）、制御部１１は、第１対象物の検知結果に基づき、テーブルの衛生状態を表すヒートマップを生成する（ステップＳ１４）。具体的には、制御部１１は、第１対象物が検知された時間、回数等に応じて、第１対象物が検知された領域の値を設定したヒートマップを生成する。なお、制御部１１は、第１対象物の検知結果以外に、テーブルの周辺の環境値（気温、湿度等）も参照してヒートマップを生成してもよい。
【００４０】
ステップＳ１４の処理を実行後、又はステップＳ１３でＮＯの場合、制御部１１は、動画像から第２対象物を検知したか否かを判定する（ステップＳ１５）。第２対象物を検知したと判定した場合（Ｓ１５：ＹＥＳ）、制御部１１は、第２対象物が検知された領域のヒートマップの値をリセットする（ステップＳ１６）。
【００４１】
ステップＳ１６の処理を実行後、又はステップＳ１５でＮＯの場合、制御部１１は、所定時間が経過したか否かを判定する（ステップＳ１７）。所定時間が経過していないと判定した場合（Ｓ１７：ＮＯ）、制御部１１は、所定時間が経過するまでステップＳ１１〜Ｓ１６の処理を繰り返す。所定時間が経過したと判定した場合（Ｓ１７：ＹＥＳ）、制御部１１は、ステップＳ１２で動画像から検知した物体（食品）の載置時間をカウントする（ステップＳ１８）。制御部１１は、カウントした載置時間に基づき、テーブルに載置されている物体を交換すべきであるか否かを判定する（ステップＳ１９）。制御部１１は、端末２からの要求に応じて、テーブルのヒートマップ、テーブルに載置されている各物体の載置時間、交換の要否に係る判定結果などを出力し（ステップＳ２０）、処理をステップＳ１１に戻す。
【００４２】
なお、図５のフローチャートではステップＳ１１〜Ｓ１６の処理（ヒートマップの生成）を実行後に、連続してステップＳ１８〜Ｓ２０の処理（載置時間のカウント）を実行するものとしたが、ステップＳ１１〜Ｓ１６の処理とステップＳ１８〜Ｓ２０の処理とは独立に実行されるものであってよい。
【００４３】
以上より、本実施の形態１によれば、テーブルの衛生状態を表すヒートマップを生成して提示することで、物体（食品）が載置されるテーブルの衛生管理を好適に行うことができる。
【００４４】
また、本実施の形態１によれば、ヒートマップ生成と同時に載置時間を管理して物体（食品）の交換の要否を判定することで、店舗の従業員をより好適に支援することができる。
【００４５】
また、本実施の形態１によれば、テーブルの周辺の環境値に基づいてヒートマップを生成することで、物体（食品）が置かれている環境も考慮したヒートマップを提示することができる。
【００４６】
（実施の形態２）
本実施の形態では、第１対象物及び第２対象物の深度を推定することで、第１対象物及び第２対象物がテーブルに接触したか否かを判定する形態について述べる。なお、実施の形態１と重複する内容については同一の符号を付して説明を省略する。
【００４７】
図６は、実施の形態２の概要を示す説明図である。図６では、第１対象物（顧客の手、トング等）がテーブルに接触しかけている様子を、テーブルの真横から見た場合を図示している。図６に基づき、本実施の形態の概要を説明する。
【００４８】
サーバ１は実施の形態１と同様に、テーブル領域から第１対象物（及び第２対象物）を検知し、ヒートマップを生成する。この場合にサーバ１は、カメラ３から第１対象物（及びテーブル）までの深度（距離）を推定し、推定した深度に基づき、第１対象物がテーブルに接触したか否かを判定する。
【００４９】
例えば、本実施の形態ではカメラ３を、深度センサを備えたデプスカメラとして構成する。サーバ１は、画像内の各画素に対し深度が付加された距離画像（動画像）をカメラ３から取得し、第１対象物を検知した位置に対応する画素の深度を参照する。
【００５０】
なお、デプスカメラは深度の推定手段の一例であって、本実施の形態はこれに限定されるものではない。例えば複数のカメラ３（ステレオカメラ）を設置しておき、各カメラ３の視差から第１対象物の深度を推定してもよい。あるいはサーバ１は、動画像を入力した場合に第１対象物の深度を推定するよう学習済みの機械学習モデル（例えばニューラルネットワーク）を用意しておき、当該モデルを用いて深度を推定してもよい。このように、深度の推定手段はデプスカメラに限定されない。
【００５１】
例えばサーバ１は、カメラ３（動画像の撮像地点）から第１対象物、及びテーブルまでの深度をそれぞれ推定する。なお、テーブルの深度は画像から推定せず、固定値としてもよい。サーバ１は、第１対象物の深度をテーブルの深度と比較し、第１対象物がテーブルに接触したか否かを判定する。なお、「テーブルに接触」とは、テーブル本体に接触している場合だけでなく、テーブルに載置されている物体（食品）に接触している場合も含む。また、第１対象物がテーブルに現に接触している場合だけでなく、第１対象物がテーブルに十分近い場合（第１対象物の深度とテーブルの深度との差分が一定値以下の場合）も含み得る。
【００５２】
サーバ１は、上記の判定結果に応じてヒートマップを生成する。すなわち、サーバ１は、第１対象物が接触したと判定した場合、第１対象物が接触した領域の値を検知時間（接触時間）、回数等に応じて増加させ、ヒートマップを生成する。
【００５３】
動画像から第２対象物を検知した場合も、サーバ１は同様に処理を行う。すなわち、サーバ１は、カメラ３から第２対象物までの深度を推定し、第２対象物がテーブルに接触しているか否かを判定する。テーブルに接触していると判定した場合、サーバ１は、第２対象物が接触した領域のヒートマップの値をリセットする。
【００５４】
図７は、実施の形態２に係るサーバ１が実行する処理手順の一例を示すフローチャートである。
第１対象物を検知したと判定した場合（Ｓ１３：ＹＥＳ）、サーバ１の制御部１１は、第１対象物の深度を推定し、推定した深度に基づいて第１対象物がテーブルに接触したか否かを判定する（ステップＳ２０１）。第１対象物が接触したと判定した場合（Ｓ２０１：ＹＥＳ）、制御部１１は、第１対象物が接触した領域の値を増加させたヒートマップを生成する（ステップＳ２０２）。ステップＳ２０２の処理を実行後、又はステップＳ１３、Ｓ２０１でＮＯの場合、制御部１１は処理をステップＳ１５に移行する。
【００５５】
第２対象物を検知したと判定した場合（Ｓ１５：ＹＥＳ）、制御部１１は、第２対象物の深度を推定し、推定した深度に基づいて第２対象物がテーブルに接触したか否かを判定する（ステップＳ２０３）。第２対象物が接触したと判定した場合（Ｓ２０３：ＹＥＳ）、制御部１１は、第２対象物が接触した領域のヒートマップの値をリセットする（ステップＳ２０４）。ステップＳ２０４の処理を実行後、又はステップＳ１５、Ｓ２０３でＮＯの場合、制御部１１は処理をステップＳ１７に移行する。
【００５６】
以上より、本実施の形態２によれば、第１対象物及び／又は第２対象物がテーブルに接触しているか否かを判定することで、より好適にヒートマップを生成することができる。
【００５７】
（実施の形態３）
本実施の形態では、テーブルの周辺に存在する人物の情報に基づき、ヒートマップを生成する形態について説明する。
【００５８】
図８は、実施の形態３の概要を示す説明図である。図８では、テーブルの周辺に顧客（人物）が存在する場合をテーブルの真横から見た様子を図示している。図８に基づき、本実施の形態の概要を説明する。
【００５９】
本実施の形態では、テーブルの上方に、カメラ３だけでなくサーモグラフィセンサ４が設置されている。サーモグラフィセンサ４は、テーブルの周辺の温度分布を示す熱画像を計測するセンサである。サーバ１は、カメラ３から動画像を取得すると共に、サーモグラフィセンサ４から熱画像を取得する。
【００６０】
サーバ１は、ヒートマップを生成する場合、テーブルの周辺に存在する人物に関する周辺人物情報を特定し、ヒートマップ生成の際に参照する。周辺人物情報は、例えばテーブルの周辺に存在する人物の密度、行動などのほかに、周辺人物の体温を含む。サーバ１は、動画像からテーブルの周辺に存在する人物を認識し、周辺人物の密度（人数）を特定する。また、サーバ１は、動画像から周辺人物の行動を特定する。特定する行動は、例えば会話、咳、くしゃみ等である。さらにサーバ１は、動画像から認識した人物の体温を熱画像から特定する。
【００６１】
サーバ１は、上記で特定した周辺人物情報に基づき、ヒートマップを生成する。例えばサーバ１は、テーブルの周辺に存在する人物の密度が一定値以上の場合、ヒートマップの値の重み付けを行い、第１対象物を検知した領域の増加幅を大きく設定する。あるいはサーバ１は、周辺人物の会話等の行動を特定した場合、当該人物から一定距離内のテーブル領域のヒートマップの値を大きく設定する。あるいはサーバ１は、周辺人物の体温が一定値以上の場合、当該人物から一定距離内のテーブル領域のヒートマップの値を大きく設定する。なお、以上の処理は一例であって、周辺人物情報に基づいてヒートマップを生成可能であればよい。
【００６２】
図９は、実施の形態３に係るサーバ１が実行する処理手順の一例を示すフローチャートである。ステップＳ１２の処理を実行後、サーバ１は以下の処理を実行する。
サーバ１の制御部１１は、テーブル周辺の温度分布を示す熱画像を取得する（ステップＳ３０１）。制御部１１は、ステップＳ１１で取得した動画像、及び／又はステップＳ３０１で取得した熱画像に基づき、テーブルの周辺に存在する人物（顧客）に関する周辺人物情報を特定する（ステップＳ３０２）。具体的には上述の如く、制御部１１は、テーブル周辺の人物の密度、行動（会話の有無）等のほかに、熱画像から周辺人物の体温を特定する。制御部１１は処理をステップＳ１３に移行する。
【００６３】
動画像から第１対象物を検知したと判定した場合（Ｓ１３：ＹＥＳ）、制御部１１は、第１対象物の検知結果と、周辺人物情報とに基づき、ヒートマップを生成する（ステップＳ３０３）。具体的には、制御部１１は、第１対象物を検知した時間、回数等のほかに、テーブル周辺の人物の密度、行動、体温等に応じて、テーブル領域内の各領域のヒートマップの値を設定する。制御部１１は処理をステップＳ１５に移行する。
【００６４】
以上より、本実施の形態３によれば、動画像からテーブルの周辺の人物を認識し、当該人物に関する周辺人物情報を特定してヒートマップ生成の際に参照することで、テーブルの衛生状態をより好適に管理することができる。
【００６５】
また、本実施の形態３によれば、サーモグラフィセンサ４を設置して周辺人物の体温を特定することで、疾病等を患っている恐れがある人物を特定し、ヒートマップをより好適に生成することができる。
【００６６】
（実施の形態４）
本実施の形態では、店舗内の各テーブルのヒートマップから店舗の清潔度を算出し、店舗のレビューを掲載するＷｅｂサイト（以下、「レビューサイト」と呼ぶ）など、外部に出力する形態について説明する。
【００６７】
図１０は、実施の形態４の概要を示す説明図である。図１０では、レビューサイトに店舗の清潔度が掲載されている様子を図示している。図１０に基づき、本実施の形態の概要を説明する。
【００６８】
実施の形態１で説明したように、サーバ１は、物体（食品）が載置されている店舗内のテーブルについて、そのテーブルの衛生状態を表すヒートマップを生成する。本実施の形態では、店舗に設置されている複数のテーブルそれぞれに対応して複数のカメラ３、３、３…が設置され、各テーブルのヒートマップを生成しているものとする。サーバ１は、テーブル毎に生成しているヒートマップのデータに基づき、店舗全体の清潔度を算出する。
【００６９】
例えばサーバ１は、各テーブルのヒートマップの更新履歴に基づき、店舗の清潔度を算出する。具体的な清潔度の算出方法は特に限定されないが、例えばサーバ１は、ヒートマップの値が閾値以上の領域の面積（グリッドの数）に応じて清潔度を算出する。具体的には、サーバ１は、過去一週間、一ヶ月等の単位で、ヒートマップの値が閾値以上の領域の延べ面積を算出し、算出した延べ面積をテーブル全体の面積で除算することで、閾値以上のテーブル領域の比率（面積割合）をテーブル毎に算出する。そしてサーバ１は、全てのテーブルの比率の平均値、中央値等を取ることで清潔度を算出する。なお、清潔度は数値で表現されてもよく、あるいは「Ａランク」、「Ｂランク」、「Ｃランク」…のように、複数段階の評価で表現されてもよい。
【００７０】
なお、上記の算出方法は一例であって、本実施の形態はこれに限定されるものではない。例えばサーバ１は、第２対象物を検知することでヒートマップをリセットした回数に基づき、清潔度を算出してもよい。具体的には、サーバ１は、過去一週間、一ヶ月等の単位でリセット回数をテーブル毎に計数し、全てのテーブルのリセット回数の平均値、中央値等を取って清潔度を算出する。このように、清潔度の算出方法は特に限定されない。
【００７１】
サーバ１は、算出した店舗の清潔度を、レビューサイトを管理するＷｅｂサーバ（不図示）に出力し、レビューサイト内に表示させる。例えば図１０に示すように、レビューサイトでは本システムを利用する各店舗の清潔度が「Ａランク」、「Ｂランク」等で掲載される。これにより、各店舗の衛生管理への取り組みを客観的に評価したデータをレビューサイトの利用者に提示することができる。
【００７２】
図１１は、清潔度の算出処理の手順を示すフローチャートである。図１１に基づき、本実施の形態においてサーバ１が実行する処理内容について説明する。
サーバ１の制御部１１は、店舗内に設置されている複数のテーブルそれぞれのヒートマップのデータ（更新履歴）を取得する（ステップＳ４０１）。制御部１１は、取得したヒートマップのデータに基づき、店舗の清潔度を算出する（ステップＳ４０２）。例えば制御部１１は、ヒートマップの値が閾値以上のテーブル領域の面積、ヒートマップの値がリセットされた回数などに応じてテーブル毎に指標値を算出し、各テーブルの平均値、中央値等を取ることで店舗全体の清潔度を算出する。制御部１１は、算出した清潔度を外部のＷｅｂサーバに出力し（ステップＳ４０３）、一連の処理を終了する。
【００７３】
以上より、本実施の形態４によれば、各テーブルのヒートマップに基づき、店舗の清潔度合いを客観的に評価することができる。
【００７４】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７５】
１    サーバ（情報処理装置）
１１  制御部
１２  主記憶部
１３  通信部
１４  補助記憶部
Ｐ    プログラム
２    端末
３    カメラ
【要約】      （修正有）【課題】衛生管理を好適に支援することができるプログラム、情報処理装置及び情報処理方法を提供する。【解決手段】衛生管理システムにおいて、情報処理装置１が実行するプログラムは、飲食店等においてバイキング及びビュッフェ形式で提供される食品が載置されるテーブルを、カメラ３にて上方から撮像した動画像を取得し、撮像した動画像から顧客の手、指、又は食品を取る際に用いるトング等の器具などを第１対象物として検知し、テーブル上の各領域の清潔度合いを表すヒートマップを生成し、テーブルを清掃する従業員が使用する清掃用具（ダスター等）、あるいは従業員が装着する手袋など、テーブルの清掃作業に関連する物体を第２対象物として検知し、第２対象物を検知した領域のヒートマップの値を変化（リセット）させる処理を実行させる。【選択図】図１【図１】
0006931511.tif 000002
【図２】
0006931511.tif 000003
【図３】
0006931511.tif 000004
【図４】
0006931511.tif 000005
【図５】
0006931511.tif 000006
【図６】
0006931511.tif 000007
【図７】
0006931511.tif 000008
【図８】
0006931511.tif 000009
【図９】
0006931511.tif 000010
【図１０】
0006931511.tif 000011
【図１１】
0006931511.tif 000012