この発明に係る注視者検知装置は、対象物を注視している人物の動作により、その人物が対象物に関心を示して注視している時間を顔検出により正確に計測することで、注視者数を集計するものである。以下に、この発明に係る注視者検知装置の一例について説明する。
実施の形態1.
この発明の実施の形態1では、単位時間のタイミングで顔検出された人物を抽出し、さらに注視規定時間以上連続して顔検出できた人物のみ注視者として計測する注視者検知装置について説明する。
図1は、この発明の実施の形態1に係る注視者検知装置の構成の一例を示す構成図である。図において、画像入力部101は、カメラ等の画像入力手段を使用して、画像データを取得する。顔検出部102は、画像入力部101が取得した画像データに映った人物の顔を検出し、顔情報データを生成する。顔検出状況記録部103は、顔検出部102が生成した顔情報データを記録する。注視判定指示部104は、所定の単位時間の長さを設定し、所定の単位時間ごとに注視判定指示を発行する。注視判定部105は、注視判定指示部104が注視判定指示を発行したとき、顔検出状況記録部103が継続して記録する顔情報データの人物に対する注視時間を計測する。注視時間記録部106は、注視判定部105で計測された顔情報データの人物による注視時間を記録する。注視者数集計部107は、注視時間記録部106に記録された注視時間が注視規定時間を超えた顔情報データの人物を注視者として注視者数を集計する。注視者数表示部108は、注視者数集計部107が集計した注視者数を表示する。なお、顔検出部102は、画像データに映った人物の顔が継続して検出できなくなると、顔検出状況記録部103に記録された顔情報データを削除するように指示する。
図2は、この発明の実施の形態1に係る注視者検知装置の処理動作の一例を示すフローチャートである。図2のフローチャートを用いて、注視者検知装置の処理動作を説明する。
図において、ステップST201では、注視判定指示部104へ注視判定するタイミングとして注視判定指示を発行する時間間隔である単位時間の長さ、注視判定部105へ注視者として判定する最小の注視時間である注視規定時間の長さを初期設定し、注視判定指示部104を起動する。
ステップST202では、画像入力部101は、カメラから入力される画像データを取得する。ここで、画像データは、1フレーム(画面)単位に順次取得され、1単位時間に一つまたは複数のフレームが取り込まれる。
ステップST203では、顔検出部102は、画像入力部101から取得した画像データから人物の顔を検出して顔情報データを生成する。ここで、顔情報データは、画像の中に検出された人物の顔の識別番号(ID)に対応させて生成された顔追跡状況のデータである。また、顔検出部102は、すでに検出されてきた顔情報データがこの画像データから検出されなかったとき、その顔情報データを削除するよう顔検出状況記録部103に指示する。
ここで、顔検出部102が行う同一人物の顔が検出されているか否かの判定は、例えば、現在と以前の静止画像と比較して同一の位置、大きさ、形状、色等に人物の顔が連続して検出されているか否かで判定する。このとき、全く同一の位置、大きさ、形状、色等で検出されなくても、許容可能な位置のずれ、拡大縮小の比率、また変形率、色変化などを設定しておき、その範囲にあれば同一とみなして判定するようにしてもよい。なお、これらの設定項目による同一の判断は、ここに挙げた必ずしもすべての項目を採用したものでなくてもよく、その他の項目を含んでもよい。また、同時に採用したすべての項目が満たしたときでも、採用したうちの所定数以上の項目が満たしたときとしてもよく、満たさなければならない必須の項目を設けてもよい。これらの項目に設定する値は、入力される画像データの入力時間間隔に基づいて変えられるようにしてもよい。顔検出した後、同一人物か否かの判定は、ここに示した一方法に限らず、他の方法を採用しても構わない。
ステップST204では、顔検出状況記録部103は、顔検出部102が生成した顔情報データを記録する。顔情報データを識別番号(ID)が登録されていなければ新規登録し、登録済みであれば更新する。また、顔検出状況記録部103は、顔検出部102から識別番号(ID)で指定された顔情報データの削除を指示されたとき、その顔画像データを削除して識別番号(ID)を抹消する。
ステップST205では、注視判定部105は、注視判定指示部104が注視判定指示を発行しているかどうかを確認する。注視判定指示部104が注視判定指示を発行していない場合(No)、再度ステップST202からの処理を実行する。一方、注視判定指示を発行していた場合(Yes)、ステップST206の処理に移る。
ステップST206では、顔検出状況記録部107に記録されている追跡中の顔情報データの有無を確認する。顔検出状況記録部107に記録されている追跡中の顔情報データが一つもない場合(No)、再度ステップST202からの処理を実行する。一方、追跡中の顔情報データがあった場合(Yes)、ステップST300の処理に移る。
ステップST300では、注視判定部105は、記録されたすべての顔情報データについて、顔情報データごとに注視時間を加算するとともに、「注視者数の計測」処理(図3で詳述)を実行する。
ステップST207では、注視者数表示部108は、注視者数集計部107が計測した注視者数の表示を行う。
図3は、図2のステップST300で実行されるこの発明の実施の形態1に係る注視者検知装置の「注視者数の計測」処理の詳細動作の一例を示すフローチャートである。図3のフローチャートを用いて、顔検出状況記録部103に記録されたすべての顔情報データについて、顔情報データごとに注視時間を加算するとともに、注視者数を計測する処理動作について説明する。
ステップST301で、注視者数集計部107は、これから計測する注視者数を0に初期化する。
以下、ステップST302からST304は、顔検出状況記録部103に記録されたすべての顔情報データについて、顔情報データごとに処理を実行する。
ステップST302では、注視判定部105は、顔検出状況記録部103に記録された顔情報データに対して、注視時間を単位時間分加算して更新し、注視時間記録部106に記録する。注視時間が単位時間に満たない場合でも、単位時間分注視したものとして扱うものとする。
ステップST303では、注視者数集計部107は、注視時間記録部106に記録されている注視時間が、注視規定時間を超えているか否か判定する。注視時間が予めシステムで設定されている注視規定時間を超えていない場合(No)、次のステップST304の処理は実行せず、ステップST305の処理に移る。一方、注視規定時間を超えている場合(Yes)、ステップST304の処理に移る。
ステップST304では、注視者数集計部107は、この顔情報データの人物の注視時間が注視規定時間を超えているので注視者数に1を加算する。
ステップST305では、注視判定部105は、顔検出状況記録部103に記録された追跡中のすべての顔情報データについて注視時間の計測を確認したか否かを判定する。すべての顔情報データについて注視時間の計測を確認していない、すなわち未処理の顔情報データが残っている場合(No)は、その未処理の顔情報データに対して、再度ステップST302からの処理を実行し、すべての顔情報データについて注視時間の計測を確認し終わるまで繰り返し実行する。一方、すべての顔情報データについてそれぞれ注視時間の計測を確認し終わった場合(Yes)、同時に注視者数の集計も完了し、この図3のフローチャートの処理を終了する。
図4は、この発明の実施の形態1に係る注視者検知装置による顔検出と顔情報データの関係の一例を示す説明図である。図4の説明図を用いて、検出された人物の顔情報データと集計される注視者数の関係について説明する。
図において、単位時間(i)から(viii)は、注視判定指示部104が注視判定指示を発行するタイミングを示しており、各タイミングで顔検出部102が顔検出した結果に基づいて、注視判定部103が注視判定を行う。ここで、白抜きの太い矢印は、顔検出部102によって顔検出された期間を示す。白抜きの細い矢印は、顔検出状況記録部103に記録された顔情報データ(図中、「顔情報」と示す)の存在期間を示し、白抜き三角のタイミングで登録され、黒塗り三角のタイミングで削除される。丸囲いの数字は、注視時間記録部106に記録された注視時間を示し、破線の丸囲いの数字は注視規定時間未満で注視者数の集計対象外、実線の丸囲いの数字は注視規定時間以上で注視者数の集計対象となることを示している。
ここでは、注視規定時間は3単位時間として説明する。注視時間は、顔情報データの登録時に0とされ、注視判定を行う単位時間のタイミングで、顔検出があれば1単位時間分更新され、注視規定時間に達した3以降、注視者数の集計対象となる。
例えば、人物Aは、単位時間(i)と(ii)の間から顔検出され、(v)と(vi)の間で顔検出されなくなる。同様に、人物Bから人物Dについても、図に示すとおりである。この例では、注視者数として集計されるのは、単位時間(iv)、(v)における人物Aのみとなる。人物Bから人物Dは、カメラの前を通過するなどして、注視規定時間に満たない一瞬だけ顔検出されたと解釈され、集計されないことになる。
単位時間および注視規定時間については、例えば単位時間1秒、注視規定時間5秒と設定すると、顔をカメラ方向に向けていても注視することなく単に通過する人物まで注視者として計測してしまうという誤検出を抑制するとともに、立ち止まって注視する人物を確実に注視者として計測することが可能となる。
なお、単位時間及び注視規定時間については、システムの適用分野や運用により最適な値は異なると考えられ、上記例として挙げた秒数についても一例に過ぎず、任意の値を設定できる。また、固定値に限らず、状況により単位時間及び注視規定時間を適応的に変化させても構わない。
また、注視時間は、顔検出されて顔情報が登録されてからの時分秒の単位で計測してもよいし、また登録後、単位時間を迎えて注視判定した回数として管理しても構わない。
以上のように、この発明の実施の形態1に係る注視者検知装置によれば、単位時間のタイミングで顔検出された人物を抽出し、さらに注視規定時間以上連続して顔検出できた人物のみ注視者として計測するようにしたので、注視者の誤検出を防ぐことができる。例えば、顔をカメラ方向に向けていても注視することなく短時間に通過する人物まで注視者として計測してしまうという誤検出を抑制することができる。一方、立ち止まって注視する人物は確実に注視者として計測することができる。
実施の形態2.
以上のこの発明の実施の形態1では、単位時間のタイミングで顔検出された人物を抽出し、さらに注視規定時間以上連続して顔検出できた人物のみ注視者として計測する注視者検知装置について説明した。この発明の実施の形態2では、顔検出が途切れても所定の保留期限時間未満の途切れであれば同一人物の顔検出として継続して注視者を計測する注視者検知装置について説明する。
図5は、この発明の実施の形態2に係る注視者検知装置の構成の一例を示す構成図である。図1に示されたこの発明の実施の形態1に係る注視者検知装置の構成図に対して、注視判定保留部121を追加している。以下、顔検出部102が生成する顔情報データは、同一人物の顔検出の有無を示す顔検出情報を含むものとするとして、図1の構成図に追加され、または一部変更がある構成部である顔検出部102、注視判定保留部121について説明する。
図において、顔検出部102は、画像入力部101が取得した画像データに映った人物を追跡して顔を検出してから、同一人物の顔が検出できなくなっても注視判定保留部121から削除を指示されるまで顔検出の有無を示す顔検出情報を含む顔情報データを生成する。注視判定保留部121は、顔検出部102が生成した顔情報データに含まれた顔検出情報に基づいて、注視判定指示部104が注視判定指示を発行したとき、注視判定保留時間を計測し、この注視判定保留時間が保留期限時間を超えると、顔検出部102に顔情報データを削除するように指示する。その他の構成は、図1に示されたこの発明の実施の形態1に係る注視者検知装置の構成図と同一符号を付して、その処理動作の説明を省略する。
図6は、この発明の実施の形態2に係る注視者検知装置の処理動作の一例を示すフローチャートである。図6のフローチャートを用いて、注視者検知装置の処理動作を説明する。
図において、ステップST202からST207、途中のステップST300は、図2に示されたこの発明の実施の形態1に係る注視者検知装置の処理動作を示すフローチャートと同様に動作し、途中にステップST400の処理を追加している。以下、図2のフローチャートに対して追加され、または一部変更がある動作処理となるステップST201、ST203、ST204、ST400について説明する。
ステップST201では、注視判定指示部104へ注視判定するタイミングを示す注視判定指示を発行する時間間隔である単位時間の長さ、注視判定部105へ注視者として判定する最小の注視時間である注視規定時間の長さ、また注視判定保留部121へ顔検出が一時途切れても継続した検出として扱う最大の保留時間である保留期限時間の長さを初期設定し、注視判定指示部104を起動する。
ステップST203では、顔検出部102は、画像入力部101から取得した画像データから人物の顔を検出して顔情報データを生成する。ここで、顔検出部102は、画像入力部101が取得した画像データに映った人物を追跡して顔を検出してから、同一人物の顔が検出できなくなっても、注視判定保留部121から削除を指示されるまで顔検出の有無を示す顔検出情報を含む顔情報データを生成し続け、注視判定保留部121から削除を指示されたとき、その顔情報データを削除するよう顔検出状況記録部103に指示する。
ステップST204では、顔検出状況記録部103は、顔検出部102が生成した顔情報データを記録する。このとき、顔検出状況記録部103は、顔情報データを識別番号(ID)が登録されていなければ新規登録し、登録済みであれば更新する。また、顔検出状況記録部103は、顔検出部102から識別番号(ID)で指定された顔情報データの削除を指示されたとき、その顔画像データを削除して識別番号(ID)を抹消する。また、同様に、注視判定保留部121は、顔検出部102が生成した顔情報データを保存する。このとき、注視判定保留部121は、顔情報データを識別番号(ID)が登録されていなければ新規登録して、同時にその注視判定保留時間を0に初期化し、顔情報データの識別番号(ID)が登録済みであれば顔情報データを更新する。
ステップST400では、「注視判定保留時間の計測」処理(図7で詳述)を実行する。
図7は、図6のステップST400で実行されるこの発明の実施の形態2に係る注視者検知装置の「注視判定保留時間の計測」処理の詳細動作の一例を示すフローチャートである。図7のフローチャートを用いて、注視判定保留時間を計測する処理動作について説明する。
以下、ステップST401からST405は、注視判定保留部121に記録されたすべての顔情報データについて、顔情報データごとに処理を実行する。
ステップST401では、注視判定保留部121は、今回画像中に処理対象とする顔情報データに対応する顔検出があるか否かを判定する。顔検出がある場合(Yes)、ステップST402の処理に移る。一方、顔検出がない場合(No)、ステップST403の処理に移る。顔情報データに対応する顔検出があるか否かは、顔情報データに含まれる顔検出の有無を示す顔検出情報を参照して判定する。
ステップST402では、注視判定保留部121は、今回画像中に顔検出があったので、顔検出がなくても顔情報データを削除せず保留するために計測する注視判定保留時間を0に再初期化する。一方、ステップST403では、注視判定保留部121は、今回画像中に顔検出がなかったので、注視判定保留時間に単位時間を加算して更新する。
ステップST404では、注視判定保留部121は、更新した注視判定保留時間が保留期限時間を超えたか否か判定する。注視判定保留時間が保留期限時間を超えた場合(Yes)、ステップST405の処理に移る。一方、注視判定保留時間が保留期限時間を超えていない場合(No)、ステップST405の処理は実行せず、ステップST406の処理に移る。
ステップST405では、注視判定保留部121は、注視判定保留時間が保留期限時間を超えたために、注視判定保留部121内に登録されたその顔情報データを削除する。また、顔検出部102にも顔情報データを削除するように指示する。
ステップST406では、注視判定保留部121は、記録されたすべての顔情報データについて注視判定保留時間の計測を確認したか否かを判定する。すべての顔情報データについて注視判定保留時間の計測を確認していない、すなわち未処理の顔情報データが残っている場合(No)は、その未処理の顔情報データに対して、再度ステップST401からの処理を実行し、すべての顔情報データについて注視時間の計測を確認し終わるまで繰り返し実行する。一方、すべての顔情報データについてそれぞれ注視判定保留時間の計測を確認し終わった場合(Yes)、この図7のフローチャートの処理を終了する。
図8は、この発明の実施の形態2に係る注視者検知装置による顔検出と顔情報データの関係の一例を示す説明図である。図8の説明図を用いて、検出された人物の顔情報データと集計される注視者数の関係について説明する。
図において、単位時間(i)から(ix)は、図4の説明図と同様に、注視判定指示部104が注視判定指示を発行するタイミングを示しており、各タイミングで顔検出部102が顔検出した結果に基づいて、注視判定部103が注視判定を行う。ここで、白抜きの太い矢印は、顔検出部102によって顔検出された期間を示す。白抜きの細い矢印は、顔検出状況記録部103に記録された顔情報データ(図中、「顔情報」と示す)の存在期間を示し、白抜き三角のタイミングで登録され、黒塗り三角のタイミングで削除される。丸囲いの数字は、注視時間記録部106に記録された注視時間を示し、破線の丸囲いの数字は注視規定時間未満で注視者数の集計対象外、実線の丸囲いの数字は注視規定時間以上で注視者数の集計対象となることを示している。四角囲いの数字は、注視判定保留部121に記録された注視判定保留時間を示し、破線の四角囲いの数字は保留期限時間未満で保留中、実線の四角囲いの数字は保留期限時間に達して顔情報データを削除することを示している。
ここでは、注視規定時間は3単位時間、保留期限時間は2単位時間として説明する。注視時間は、顔情報データの登録時に0とされ、注視判定を行う単位時間のタイミングで、顔検出があれば1単位時間分更新され、注視規定時間に達した3以降、注視者数の集計対象となる。また、注視判定保留時間は、顔情報データの登録時および保留後の顔検出の再開による保留期間終了時に0とされ、注視判定を行う単位時間のタイミングで、顔検出がなければ1単位時間分更新され、保留期限時間に達したとき、顔情報データを削除するよう注視判定保留部121から顔検出部102に指示される。
例えば、人物Aは、単位時間(i)と(ii)の間から顔検出され、(v)と(vi)の間で顔検出されなくなる。また、人物Bは、単位時間(ii)と(iii)の間から顔検出され、(vi)と(vii)の間で顔検出されなくなるが、途中、単位時間(iv)と(v)の間に顔検出されなくなって保留されたが、次に注視判定する単位時間(v)までに顔検出が再開されたため、単位時間(v)における注視判定保留時間は0のままとなる。同様に、人物Dについては、図に示すとおりである。
顔検出状況記録部103に記録された顔情報データは、例えば、人物Aであれば、単位時間(v)〜(vi)の間で顔検出が終了した後、注視時間は更新されなくなり、注視判定保留時間が単位時間(vi)、(vii)で順次更新されて保留期限時間に達して削除される。
この例では、注視者数として集計されるのは、単位時間(iv)〜(vii)における人物A、単位時間(v)〜(viii)における人物Bとなる。なお、顔情報データを削除するタイミングの単位時間、すなわち、注視時間を括弧付けした人物Aの単位時間(vii)、人物Bの単位時間(viii)を注視者数の集計対象とするか否かはあらかじめ決めておいてもよい。図中の注視者数は集計対象としたものである。
先にこの発明の実施の形態1で説明した図4の説明図では、人物Bと人物Cは異なる人物として顔検出されていた。しかし、この発明の実施の形態2で説明した図8の説明図では、実際は(vi)と(vii)の間で保留期限時間未満の顔検出の途切れであったため、引き続き同一人物として顔検出が可能となった。なお、保留期限時間を1単位時間と設定すれば、単位時間を越えた保留はできなくなる。
この発明の実施の形態2に係る注視者検知装置では、注視判定指示部から注視判定指示が発行されたとき、注視判定保留部が注視判定保留時間を計測し、この注視判定保留時間が保留期限時間を超えると、顔検出部に顔情報データを削除するように指示するものとして説明した。ここで、注視判定指示部から注視判定指示が発行されたとき、顔検出部が顔情報データの削除を判定するものとすれば、顔情報データに対応する人物を顔検出できなくなっていても、注視判定保留部から注視判定保留時間が保留期限時間を超えていなければ、顔検出部に顔情報データを削除しないように指示しても構わない。
以上のように、この発明の実施の形態2に係る注視者検知装置によれば、顔検出が途切れても所定の保留期限時間未満の途切れであれば同一人物の顔検出として継続して注視者を計測するようにしたので、一時的に顔を背けるなど注視が断続的になっても、その人物を注視者として判定できるようになり、注視者数を正しく集計することができる。
実施の形態3.
以上のこの発明の実施の形態1では、単位時間のタイミングで顔検出された人物を抽出し、さらに注視規定時間以上連続して顔検出できた人物のみ注視者として計測する注視者検知装置について説明した。この発明の実施の形態3では、単位時間の間に顔検出が繰り返し途切れても、顔の検出率が閾値を超えていれば同一人物の顔検出として継続して注視者を計測する注視者検知装置について説明する。
図9は、この発明の実施の形態3に係る注視者検知装置の構成の一例を示す構成図である。図1に示されたこの発明の実施の形態1に係る注視者検知装置の構成図に対して、検出率測定部131、閾値判定部132を追加している。以下、顔検出部102が生成する顔情報データは、同一人物の顔検出の有無を示す顔検出情報を含むものとするとして、図1の構成図に追加され、または一部変更がある構成部である顔検出部102、注視判定部105、検出率測定部131、閾値判定部132について説明する。
図において、顔検出部102は、画像入力部101が取得した画像データに映った人物を追跡して顔を検出してから、同一人物の顔が検出できなくなっても閾値判定部132から削除を指示されるまで顔検出の有無を示す顔検出情報を含む顔情報データを生成し、閾値判定部132から指示された顔情報データを顔検出状況記録部103に削除するように指示する。検出率測定部131は、顔検出部102が生成した顔情報データに含まれる顔検出情報に基づいて、注視判定指示部104が注視判定指示を発行したとき、顔検出率を算出する。閾値判定部132は、検出率測定部131が算出した顔検出率が注視判定の閾値以上か否かを判定し、顔検出率が注視判定の閾値未満となると、顔検出部102に顔情報データを削除するように指示する。注視判定部105は、注視判定指示部104が注視判定指示を発行したとき、閾値判定部132から検出率が閾値を超えたと判定された顔検出状況記録部103が記録する顔情報データの人物に対する注視時間を計測する。その他の構成は、図1に示されたこの発明の実施の形態1に係る注視者検知装置の構成図と同一符号を付して、その処理動作の説明を省略する。
図10は、この発明の実施の形態3に係る注視者検知装置の処理動作の一例を示すフローチャートである。図10のフローチャートを用いて、注視者検知装置の処理動作を説明する。
図において、ステップST202からST207は、図2に示されたこの発明の実施の形態1に係る注視者検知装置の処理動作を示すフローチャートと同様に動作し、ST208、途中にST500およびST600の処理を追加している。以下、図2のフローチャートに対して追加され、または一部変更がある動作処理となるステップST201、ST203、ST204、ST500、ST600、ST208の動作処理について説明する。
ステップST201では、注視判定指示部104へ注視判定するタイミングを示す注視判定指示を発行する時間間隔である単位時間の長さ、注視判定部105へ注視者として判定する最小の注視時間である注視規定時間の長さ、また閾値判定部132へ顔情報データの検出率と比較判定する閾値(注視判定閾値)を初期設定し、注視判定指示部104を起動する。
ステップST203では、顔検出部102は、画像入力部101から取得した画像データから人物の顔を検出して顔情報データを生成する。ここで、顔検出部102は、画像入力部101が取得した画像データに映った人物を追跡して顔を検出してから、同一人物の顔が検出できなくなっても、閾値判定部132から削除を指示されるまで顔検出の有無を示す顔検出情報を含む顔情報データを生成し続け、閾値判定部132から削除を指示されたとき、その顔情報データを削除するよう顔検出状況記録部103に指示する。
ステップST204では、顔検出状況記録部103は、顔検出部102が生成した顔情報データを記録する。このとき、顔検出状況記録部103は、顔情報データを識別番号(ID)が登録されていなければ新規登録し、登録済みであれば更新する。新規登録同時に、その顔情報データに対応した検出フレーム数および総フレーム数を0に初期化する。また、顔検出状況記録部103は、顔検出部102から識別番号(ID)で指定された顔情報データの削除を指示されたとき、その顔画像データを削除して識別番号(ID)を抹消する。
ステップST500では、「検出フレーム数の計測」の処理(図11で詳述)を実行する。また、ステップST600では、「注視者数の計測」の処理(図12で詳述)を実行する。
ステップST208では、検出率計測部131は、各顔情報データに対応した検出フレーム数、総フレーム数を0にして再初期化する。
図11は、図10のステップST500で実行されるこの発明の実施の形態3に係る注視者検知装置の「検出フレーム数の計測」処理の詳細動作の一例を示すフローチャートである。図11のフローチャートを用いて、顔検出された検出フレーム数を計測する処理動作について説明する。
以下、ステップST501からST503は、閾値計測部131に記録されたすべての顔情報データについて、顔情報データごとに処理を実行する。
ステップST501では、閾値計測部131は、今回画像中に処理対象とする顔情報データに対応する顔検出があるか否かを判定する。顔検出がある場合(Yes)、ステップST502の処理に移る。一方、顔検出がない場合(No)、次のステップST502の処理は実行せず、ステップST503の処理に移る。顔情報データに対応する顔検出があるか否かは、顔情報データに含まれる顔検出の有無を示す顔検出情報を参照して判定する。
ステップST502では、顔情報データの検出フレーム数に1を加算する。また、ステップST503では、顔情報データの総フレーム数に1を加算する。
ステップST504で、閾値計測部131は、記録されたすべての顔情報データについて検出フレーム数および総フレーム数の計測を確認したか否かを判定する。すべての顔情報データについて検出フレーム数および総フレーム数の計測を確認していない、すなわち未処理の顔情報データが残っている場合(No)、その未処理の顔情報データに対して、再度ステップST501からの処理を実行し、すべての顔情報データについて検出フレーム数および総フレーム数の計測を確認し終わるまで繰り返し実行する。一方、すべての顔情報データについてそれぞれ検出フレーム数および総フレーム数の計測を確認し終わった場合(Yes)、この図11のフローチャートの処理を終了する。
図12は、図10のステップST600で実行されるこの発明の実施の形態3に係る注視者検知装置の「注視者数の計測」処理の詳細動作の一例を示すフローチャートである。図12のフローチャートを用いて、注視者数を計測する処理動作について説明する。
ステップST601では、注視者数集計部107は、これから計測する注視者数を0に初期化する。
以下、ステップST602からST606は、閾値計測部131に記録されたすべての顔情報データについて、顔情報データごとに処理を実行する。
ステップST602では、顔情報データに対応する検出フレーム数と総フレーム数から検出率として、(検出フレーム数/総フレーム数×100)を算出する。
ステップST603では、閾値判定部132は、閾値判定部132が算出した検出率が予めシステムで設定されている閾値を超えているか否か判定する。検出率が閾値を超えていない場合(No)、次のステップST604からST606の処理は実行せず、ステップST607の処理に移る。このとき、閾値判定部132は、検出率が閾値を超えていない場合(No)、顔検出部102にも顔情報データを削除するように指示する。一方、検出率が閾値を超えている場合(Yes)、ステップST604の処理に移る。
ステップST604では、注視判定部105は、顔検出状況記録部103に記録された顔情報データに対して、注視時間を単位時間分加算して更新し、注視時間記録部106に記録する。注視時間が単位時間に満たない場合でも、単位時間分注視したものとして扱うものとする。
ステップST605では、注視者数集計部107は、注視時間記録部106に記録されている注視時間が、注視規定時間を超えているか否か判定する。注視時間が予めシステムで設定されている注視規定時間を超えていない場合(No)、次のステップST606の処理は実行せず、ST607の処理に移る。一方、注視規定時間を超えている場合(Yes)、ステップST606の処理に移る。
ステップST606では、注視者数集計部107は、この顔情報データの人物の注視時間が注視規定時間を超えているので注視者数に1を加算する。
ステップST607では、注視判定部105は、顔検出状況記録部103に記録された追跡中のすべての顔情報データについて注視時間の計測を確認したか否かを判定する。すべての顔情報データについて注視時間の計測を確認していない、すなわち未処理の顔情報データが残っている場合(No)、その未処理の顔情報データに対して、再度ステップST602からの処理を実行し、すべての顔情報データについて注視時間の計測を確認し終わるまで繰り返し実行する。一方、すべての顔情報データについてそれぞれ注視時間の計測を確認し終わった場合(Yes)、同時に注視者数の集計も完了し、この図12のフローチャートの処理を終了する。
ここで、ステップST601、ST604からST607における処理は、図3に示されたこの発明の実施の形態1に係る注視者検知装置の「注視者数の計測」処理の詳細動作の一例を示すフローチャートにおけるステップST301からST305に対応するものである。
ここで、この図12のフローチャートでは、顔画像ごとに検出率を算出して閾値と比較判定する例を示したが、単位時間内で途中登録となった顔情報データのフレーム数の不足を考慮せず、単位時間内の総フレーム数がすべての顔情報データで共通とみなすならば、総フレーム数は顔情報データごとに測定せず、一つだけ設けて計測してもよい。このとき、共通の(総フレーム数×閾値)を算出し、検出フレーム数と(総フレーム数×閾値)の比較判定で処理してもよい。また、単位時間で途中登録となった顔情報データの検出率は、総フレーム数が異なって正確に算出できないため、例えば最初だけは検出率に関わらず閾値以上として扱うなど、判定条件を別に設けてもよい。
実際の数値を上げて説明すると、注視判定部105では、例えば閾値を60%と設定した場合、1単位時間に総フレーム数が例えば10フレームとした場合、連続・断続的に顔検出ができて検出フレーム数が6フレーム以上となった場合、閾値の60%を超える算出結果を得て注視者と判断する。
図13は、この発明の実施の形態3に係る注視者検知装置による顔検出と顔情報データの関係の一例を示す説明図である。注視規定時間は3単位時間、閾値は60%として説明する。
図において、顔検出、顔情報データ(図中、顔情報)および注視時間は、図4の説明図と同様に示したものである。検出率は、縦線で示した注視判定までの単位時間に顔検出のあった検出率を示している。この検出率は、閾値と単位時間ごとに比較され、閾値以上であれば注視時間が単位時間分更新される。この図では、注視時間が3に達して注視者数の計測対象となって、7に達した後、検出率が閾値未満となり、その検出率となった単位時間で顔情報データが削除される。
なお、上記総フレーム数、及び検出フレームから算出される値とシステムで設定する閾値の最適値については、システムの適用分野や運用により最適な値は異なると考えられ、上記例として挙げた値についても一例に過ぎない。
以上のように、この発明の実施の形態3に係る注視者検知装置によれば、単位時間の間に顔検出が繰り返し途切れても、顔の検出率が閾値を超えていれば同一人物の顔検出として継続して注視者として計測するようにしたので、一時的に顔を背けるなど注視が断続的になっても、その人物を注視者として判定できるようになり、注視者数を正しく集計することができる。
実施の形態4.
以上のこの発明の実施の形態3では、単位時間の間に顔検出が繰り返し途切れても、顔の検出率が閾値を超えていれば同一人物の顔検出として継続して注視者として計測する注視者検知装置について説明した。この発明の実施の形態4では、注視判定対象者の注視時間が注視規定時間以上か未満かで顔の検出率と比較する閾値の設定を変更して注視者を計測する注視者検知装置について説明する。
図14は、この発明の実施の形態4に係る注視者検知装置の構成の一例を示す構成図である。図9に示されたこの発明の実施の形態3に係る注視者検知装置の構成図に対して、閾値設定部133を追加している。以下、顔検出部102が生成する顔情報データは、同一人物の顔検出の有無を示す顔検出情報を含むものとするとして、図9の構成図に追加され、または一部変更がある構成部である閾値判定部132、閾値設定部133について説明する。
図において、閾値設定部133は、注視時間記録部106に記録された顔情報データに対応する注視時間が、注視規定時間以上のとき注視時閾値または注視規定時間未満のとき非注視時閾値を閾値判定部132が判定に用いる注視判定の閾値に設定する。閾値判定部132は、検出率測定部131が算出した顔検出率が注視判定の閾値以上か否かを判定し、顔検出率が注視判定の閾値未満となると、顔検出部102に顔情報データを削除するように指示する。その他の構成は、図9に示されたこの発明の実施の形態3に係る注視者検知装置の構成図と同一符号を付して、その処理動作の説明を省略する。
図15は、この発明の実施の形態4に係る注視者検知装置の処理動作の一例を示すフローチャートである。図15のフローチャートを用いて、注視者検知装置の処理動作を説明する。
図において、ステップST202からST208、途中のステップST500は、図10に示されたこの発明の実施の形態3に係る注視者検知装置の処理動作を示すフローチャートと同様に動作し、途中のステップST600に代えてステップST700を処理する。以下、図10のフローチャートに対して追加され、または一部変更がある動作処理となるステップST201およびステップST700の動作処理について説明する。
ステップST201では、注視判定指示部104へ注視判定するタイミングを示す注視判定指示を発行する時間間隔である単位時間の長さ、注視判定部105へ注視者として判定する最小の注視時間である注視規定時間の長さ、また閾値設定部133へ顔情報データの注視判定時間と注視規定時間に基づいて選択される閾値候補である注視時閾値および非注視時閾値を初期設定し、注視判定指示部104を起動する。
ステップST700では、「注視者数の計測」処理(図16で詳述)を実行する。
図16は、図15のステップST700で実行されるこの発明の実施の形態4に係る注視者検知装置の「注視者数の計測」処理の詳細動作の一例を示すフローチャートである。図16のフローチャートを用いて、注視者数を計測する処理動作について説明する。
図において、ステップST601、ST602、ST605からST607は、図12に示されたこの発明の実施の形態3に係る注視者検知装置の「注視者数の計測」処理の詳細動作を示すフローチャートと同様に動作し、途中のステップST603に代えてステップST701からST703を処理する。以下、図12のフローチャートに対して追加され、または一部変更がある動作処理となるステップST701からST703の動作処理について説明する。なお、このステップST602、ST701からST703、ST604からST607は、閾値計測部131に記録されたすべての顔情報データについて、顔情報データごとに処理を実行する。
ステップST701では、閾値設定部133は、顔情報データの注視判定時間が注視規定時間を超えているか否か判定する。注視判定時間が注視規定時間を超えている場合(Yes)、ステップST702の処理に移る。一方、注視判定時間が注視規定時間を超えていない場合(No)、ステップST703の処理に移る。
ステップST702では、閾値判定部132は、検出率計測部131が算出した検出率が注視時閾値を超えているか否か判定する。検出率が注視時閾値を超えていない場合(No)、次のステップST604からST606の処理は実行せず、ST607の処理に移る。このとき、検出率が注視時閾値を超えていない場合(No)、閾値判定部132は、顔検出部102に顔情報データを削除するように指示する。一方、検出率が注視時閾値を超えている場合(Yes)、ステップST604の処理に移る。
ステップST703では、閾値判定部132は、検出率計測部131が算出した検出率が非注視時閾値を超えているか否か判定する。検出率が非注視時閾値を超えていない場合(No)、次のステップST604からST606の処理は実行せず、ST607の処理に移る。このとき、検出率が非注視時閾値を超えていない場合(No)、閾値判定部132は、顔検出部102に顔情報データを削除するように指示する。一方、検出率が非注視時閾値を超えている場合(Yes)、ステップST604の処理に移る。
例えば、非注視時閾値を60%、注視時閾値を40%と設定した場合、カメラの前を通過して一瞬だけ顔検出された人物に対しては非注視時閾値を採用して顔検出が60%の割合でなければ注視者として検出されないため注視者として判定されなくなる。また、そこで立ち止まって体を動かしながら広告に興味を持ち始めた人に対しては、注視者として判定した以後は注視時閾値を採用して顔検出が40%の割合で検出できれば注視し続けていると判断されるため検出が悪くなっても注視者として検出しやすくできる。
図17は、この発明の実施の形態3に係る注視者検知装置による顔検出と顔情報データの関係の一例を示す説明図である。注視規定時間は3単位時間、非注視時閾値は60%、注視時閾値は40%として説明する。
図において、顔検出、顔情報データ(図中、顔情報)および注視時間は、図13の説明図と同様に示したものである。検出率は、縦線で示した注視判定までの単位時間に顔検出のあった検出率を示している。この検出率は、閾値と単位時間ごとに比較され、閾値以上であれば注視時間が単位時間分更新される。この図では、注視時間が3に達するまで非注視時閾値を閾値に採用し、注視時間が3以降は注視時閾値を閾値に採用する。注視時間が3に達して注視者数の計測対象となって、7に達した後、検出率が閾値未満となり、その検出率となった単位時間で顔情報データが削除される。
なお、上記非注視時閾値、及び注視時閾値の設定値については、システムの適用分野や運用により最適な値は異なると考えられ、上記例として挙げた値についても一例にすぎない。
以上のように、この発明の実施の形態4に係る注視者検知装置によれば、注視判定対象者の注視時間が注視規定時間以上か未満かで顔の検出率と比較する閾値の設定を変更して注視者を計測するようにしたので、人物の動きや環境に適した精度で注視者を検出することができる。例えば、カメラの前を単に通過する人を注視者と判断しないよう閾値を上げておき、一旦注視者と判断した人に対しては閾値を下げることにより、注視者の誤検出を防ぎながら、注視が断続的になっても、注視者数を正しく集計することができる。
実施の形態5.
この発明の実施の形態5に係る注視者検知装置では、注視時間の測定を実施の形態3の検出率測定部および閾値判定部を設けて検出率と閾値との比較に基づいて注視判定部に指示するとともに、顔情報データの削除を実施の形態2の注視判定保留部を設けて注視判定保留時間と保留期限時間との比較に基づいて顔検出部に指示する注視者検知装置について説明する。
図18は、この発明の実施の形態5に係る注視者検知装置の構成の一例を示す構成図である。図9に示されたこの発明の実施の形態3に係る注視者検知装置の構成図に対して、図5に示されたこの発明の実施の形態2に係る注視判定保留部121を追加したものとなっている。図において、顔検出部102、顔検出状況記録部103、注視判定部105、検出率測定部131、閾値判定部132および注視判定保留部121の機能は、既に実施の形態3および実施の形態2で説明したとおりであり、閾値判定部132から顔検出部102への顔情報データの削除指示を不要とした構成である。その他の構成は、図9に示されたこの発明の実施の形態3に係る注視者検知装置の構成図と同一符号を付して、その処理動作の説明を省略する。
この発明の実施の形態5に係る注視者検知装置の処理動作の一例を示すフローチャートは、図10に示したこの発明の実施の形態3に係る注視者検知装置の処理動作の一例を示すフローチャートに対して、図7のフローチャート、すなわち図6のフローチャートのステップST400を同一位置に加えたものとなるが、その処理動作の説明は省略する。
図19は、この発明の実施の形態5に係る注視者検知装置による顔検出と顔情報データの関係の一例を示す説明図である。
図において、顔検出、顔情報データ(図中、顔情報)、注視時間および注視判定保留時間(図中、保留時間)は、図13の説明図と同様に示したものである。図13の説明図に対して、注視判定保留時間が保留期限時間に達するまで、顔情報データの削除が図8の説明図と同様に保留されることになる。
以上のように、この発明の実施の形態5に係る注視者検知装置によれば、顔検出が途切れても所定の保留期限時間未満の途切れであれば同一人物の顔検出として継続して注視者を計測するようにし、単位時間の間に顔検出が繰り返し途切れても、顔の検出率が閾値を超えていれば同一人物の顔検出として継続して注視者として計測するようにしたので、一時的に顔を背けるなど注視が断続的になっても、その人物を注視者として判定できるようになり、注視者数を正しく集計することができる。
実施の形態6.
この発明の実施の形態6に係る注視者検知装置では、注視時間の測定を実施の形態4の検出率測定部、閾値設定部および閾値判定部を設けて検出率と閾値との比較に基づいて注視判定部に指示するとともに、顔情報データの削除を実施の形態2の注視判定保留部を設けて注視判定保留時間と保留期限時間との比較に基づいて顔検出部に指示する注視者検知装置について説明する。
図20は、この発明の実施の形態5に係る注視者検知装置の構成の一例を示す構成図である。図14に示されたこの発明の実施の形態4に係る注視者検知装置の構成図に対して、図5に示されたこの発明の実施の形態2に係る注視判定保留部121を追加したものとなっている。図において、顔検出部102、顔検出状況記録部103、注視判定部105、検出率測定部131、閾値判定部132、閾値設定部133および注視判定保留部121の機能は、既に実施の形態4および実施の形態2で説明したとおりであり、閾値判定部132から顔検出部102への顔情報データの削除指示を不要とした構成である。その他の構成は、図14に示されたこの発明の実施の形態4に係る注視者検知装置の構成図と同一符号を付して、その処理動作の説明を省略する。
この発明の実施の形態6に係る注視者検知装置の処理動作の一例を示すフローチャートは、図15に示したこの発明の実施の形態4に係る注視者検知装置の処理動作の一例を示すフローチャートに対して、図7のフローチャート、すなわち図6のフローチャートのステップST400を同一位置に加えたものとなるが、その処理動作の説明は省略する。
図21は、この発明の実施の形態6に係る注視者検知装置による顔検出と顔情報データの関係の一例を示す説明図である。
図において、顔検出、顔情報データ(図中、顔情報)、注視時間および注視判定保留時間(図中、保留時間)は、図17の説明図と同様に示したものである。図17の説明図に対して、注視判定保留時間が保留期限時間に達するまで、顔情報データの削除が図8の説明図と同様に保留されることになる。
以上のように、この発明の実施の形態6に係る注視者検知装置によれば、顔検出が途切れても所定の保留期限時間未満の途切れであれば同一人物の顔検出として継続して注視者を計測するようにしたので、一時的に顔を背けるなど注視が断続的になっても、その人物を注視者として判定できるようになり、注視者数を正しく集計することができる。
また、注視判定対象者の注視時間が注視規定時間以上か未満かで顔の検出率と比較する閾値の設定を変更して注視者を計測するようにしたので、人物の動きや環境に適した精度で注視者を検出することができる。
なお、この発明の注視者検知装置では、顔検出部102は検出された顔情報データの識別番号(ID)に対応付けて、例えば、画像中に実際に検出した顔領域情報として位置、大きさ等、また顔領域以外の任意情報を合わせて顔情報データを生成し、顔検出状況記録部103はこのような顔情報データを記録し、注視者数表示部108は注視判定指示部104から注視判定指示が発行されたときの画像を画像入力部101または顔検出部102から取得して、取得した画像に顔検出状況記録部103から取得した顔情報データの顔領域情報に基づく枠を重ねて表示するようにしてもよい。
また、この発明の実施の形態に係る注視者検知装置において、画像入力部からの入力画像は、カメラの撮像フレーム数に対して、顔検出するフレーム数は同数でなくてもよく、間引いて入力して処理するようにしても構わない。
さらに、この発明の実施の形態に係る注視者検知装置において、画像入力部から入力する画像は、ビデオカメラの映像(動画像)でなく、スチルカメラによる静止画像の連続入力としてもよい。
以上、この発明に係る注視者検知装置によれば、ある人物が対象物に関心を示して注視している時間を顔検出により計測することで、注視者数を集計することができる。
また、一時的に顔を背けるなど、注視が断続的になっても、同一人物の顔検出を継続することで、注視時間を計測することができ、注視者数も正しく集計することができる。