[実施の形態1]
図1に、本実施の形態に係るシステムの概要を示す。
本実施の形態におけるシステムでは、本実施の形態における主要な処理を実行する主情報処理装置100と、複数のユーザ側情報処理装置300とが、ネットワーク200を介して接続されている。
ユーザ側情報処理装置300は、情報出力装置301と、情報収集装置302とを含む。情報出力装置301は、ユーザに対して表示装置に、画像などのデータを表示する。画像などのデータについては、主情報処理装置100などから配信される場合もあれば、情報収集装置302から収集したものが表示される場合もある。また、情報出力装置301は、スピーカを含む場合もあり、この場合には音声によってメッセージが出力されることもある。
また、情報収集装置302は、カメラを含む。例えば、情報収集装置302は、カメラで連続して撮影された画像を、情報出力装置301に出力して、鏡のように鏡像として表示画面に表示させる。また、情報収集装置302は、ネットワーク200を介して、主情報処理装置100に、画像データ等を送信する。
また、図2に模式的に示すように、鏡401の上又は下に、情報収集装置302の一部であるカメラ302a又は302bを設置して、ユーザの顔の画像を撮影するようにしても良い。この場合、例えば、情報出力装置301に含まれるスピーカ301aによってメッセージが音声で出力される場合もある。また、カメラ302a又は302bと、スピーカ301aとは、例えばユーザ側情報処理装置300の一部であり且つ通信機能を有する本体装置300bに接続されており、本体装置300bが、ネットワーク200を介して主情報処理装置100と通信を行う。
また、例えば、情報収集装置302は、カメラで撮影された画像から、表示画面上又は鏡401における視線位置を算出するようにしても良い。なお、このような検出技術については、Stylianos Asteriadis et al.,“Estimation of behavioral user state based on eye gaze and head pose-application in an e-learning environment”, Multimed Tools Appl, 2009.などを参照のこと。なお、センサデータから、表示画面上の視点座標を算出する処理については、主情報処理装置100において実施しても良いし、情報収集装置302で収集し情報収集装置302と直接接続された本体装置300b上で行っても良い。
なお、情報出力装置301と情報収集装置302とは、一体となってユーザ側情報処理装置300を成す場合もある。ユーザ側情報処理装置300は、携帯電話機(スマートフォンを含む)、タブレット装置、パーソナルコンピュータなどであっても良い。
ユーザ側情報処理装置300は、ユーザ一人ずつに用意されている場合もあれば、複数のユーザで共用する場合もある。
次に、主情報処理装置100の構成例を図3に示す。主情報処理装置100は、データ収集部101と、第1データ格納部102と、第1画像系列抽出部103と、第2データ格納部104と、画像抽出部105と、第3データ格納部106と、画像系列データベース(DB)107と、比較処理部108と、第4データ格納部109と、出力部110とを有する。
データ収集部101は、ネットワーク200を介して情報収集装置302によって収集された画像データなどを受信し、所定の処理を行った後、第1データ格納部102に格納する。
第1画像系列抽出部103は、第1データ格納部102に格納されている画像データなどを用いて、ユーザが正面以外の顔の部分を観察中であると推定される画像群(以下、画像系列と呼ぶ)を抽出し、抽出結果を第2データ格納部104に格納する。
画像抽出部105は、第2データ格納部104に格納されている画像系列から、顔の状態変化を判断する上で用いられる画像(判定対象画像とも呼ぶ)を抽出する処理を行い、処理結果を第3データ格納部106に格納する。
画像系列DB107は、過去に抽出された画像系列のデータを格納している。なお、第1画像系列抽出部103は、処理結果を、そのまま画像系列DB107に格納する場合もある。画像系列DB107には、画像系列に加えて、当該画像系列から抽出され且つ顔の状態変化を判断する上で用いられる画像についての情報、及び類似判断に用いられるデータが格納されている場合もある。
比較処理部108は、第2画像系列抽出部1081と、画像比較部1082とを有する。第2画像系列抽出部1081は、第2データ格納部104に格納されている今回の画像系列と類似する過去の画像系列を画像系列DB107から抽出し、第4データ格納部109に格納する。抽出された過去の画像系列について、顔の状態変化を判断する上で用いられる画像についての情報が付加されていない場合には、例えば画像抽出部105によって抽出される。ここで抽出された画像の情報は、元となる画像系列に対応付けて画像系列DB107に格納されることもある。
また、画像比較部1082は、今回抽出された画像系列についての判定対象画像と、今回抽出された画像系列に類似する画像系列についての判定対象画像との比較を行って、顔の状態変化が存在するか否かを判断する。判断結果については、出力部110に出力する。
出力部110は、画像データなどの送信元であるユーザ側情報処理装置300に対して、顔の状態変化に関するメッセージや画像データなどを送信し、ユーザ側情報処理装置300は情報出力装置301を通じてユーザに示す。
次に、図4乃至図15を用いて、本実施の形態に係る処理内容を説明する。
上でも述べたように、情報収集装置302は、画像を例えば連続的に(例えば定期的に)撮影し、画像データなどをネットワーク200を介して主情報処理装置100に送信する。画像データは、視線位置データを含む場合もある。この処理は、例えばユーザに停止が指示されるまで継続して行われるものとする。なお、画像系列の撮影場所は、ほぼ常に同じであり、照明などの環境はあまり変化しないものとする。
これに対して主情報処理装置100におけるデータ収集部101は、ユーザ側情報処理装置300から画像データなどを受信して、第1データ格納部102に格納する(図4:ステップS1)。
また、データ収集部101は、受信した画像が、正面顔を含む画像を含むか否かを判断し、正面顔を含む画像であれば、第1データ格納部102において当該画像の正面顔フラグを「true」にセットする(ステップS3)。
例えば、第1データ格納部102には、図5に示すようなデータが格納される。図5の例では、時刻(タイムスタンプ。例えばユーザ側情報処理装置300で付与された時刻又はデータ収集部101を有する主情報処理装置100による受信時刻)、ユーザ名、ユーザ側情報処理装置300の装置ID、画像ID及び正面顔フラグが登録されるようになっている。このデータの他に画像データも格納される。
なお、画像は、例えば静止画であり、情報出力装置301の表示装置に表示されるユーザの鏡像の画像である。
ステップS3では、顔の輪郭(楕円)と、目、鼻及び口の位置座標とを検出する技術(例えば、https://github.com/kylemcdonald/ofxFaceTracker)を用いて、例えば顔の輪郭内における目、鼻及び口の相対的な位置関係などから、正面顔であるか否かを判断する。
さらに、データ収集部101は、動く物体が一定期間以上映っていない画像を削除する等の処理を併せて行って、データ量を削減する場合もある。
また、第1画像系列抽出部103は、第1データ格納部102に格納されている画像から初期画像系列を生成し、例えば第2データ格納部104に格納する(ステップS5)。
例えば、正面顔フラグが「true」となっている画像から、その時刻より前の時刻が登録されている画像であって正面顔フラグが「true」となっている画像までを、初期画像系列として抽出する。図5の例では、5行目の画像から遡って2行目の画像までを1つの初期画像系列として抽出する。
なお、この時に、正面顔のみの画像系列を抽出しないようにする場合には、正面顔フラグが「true」の直前において(図5の例では5行目の直上の行)、正面顔フラグが「false」が記録されていた場合にのみ、初期画像系列として抽出するようにする。本実施の形態では、このような処理を行うものとする。
さらに、第1画像系列抽出部103は、生成した初期画像系列から、観察中画像系列を抽出し、観察中画像系列のデータを第2データ格納部104に格納する(ステップS7)。
観察中画像系列は、ある正面顔から次の正面顔で終わる画像系列であって、ユーザが自分の状態の時間経過観察中と推定される画像系列である。すなわち、ユーザが皮膚色、しみ、しわ等の状態が日々変わっていく様子を観察している可能性が高い画像系列である。
本実施の形態においては、画像系列の開始から終了までの時間が一定時間以上あり、画像系列に含まれる全画像において皮膚色が画像内において占める割合が一定値以上ある画像系列を、観察中画像系列として抽出する。
例えば、情報収集装置302を有するユーザ側情報処理装置300の前をたまたま通ったようなケースを排除する為に、初期画像系列の開始から終了までの時間が、例えば5秒以上あるような画像系列を抽出する。また、正面顔を向いた後に数秒いなくなって戻りまた正面顔へ戻ったようなケースを排除するために、画像系列に含まれる全画像において皮膚色の画素の占める割合が例えば50%(閾値は画像のサイズや設置場所に応じて調整する)以上である画像系列を抽出する。
さらに、情報収集装置302を有するユーザ側情報処理装置300の前で、ユーザが一定時間以上居るケースには、化粧中や基礎化粧品による肌ケアをしている時間帯が含まれるため、画像系列に化粧中や基礎化粧品使用中に独特のジェスチャ(手が頬や額を覆って、タッピング等)を認識して、そのようなユーザの目的が確定できるような画像系列については、観察中画像系列として選択しない。すなわち、予め定められたユーザの目的が認識できないような画像系列を観察中画像系列として抽出する。
なお、第2データ格納部104には、例えば図6に示すようなデータが格納される。図6の例では、観察中画像系列の画像系列IDと、当該観察中画像系列の開始画像IDと、終了画像IDと、ユーザ名と、装置IDとが格納されるようになっている。これに加えて、観察中画像系列に含まれる画像のデータをも格納しているものとする。
ここまでの処理で、例えば図7に示すような観察中画像系列及び図8に示すような観察中画像系列が抽出されたものとする。
図7は、ユーザが、情報収集装置302の正面を向いている状態から、徐々に上向きの状態になり、再度正面を向いている状態となった場合における観察中画像系列の一例を模式的に示すものである。
図8は、ユーザが、情報収集装置302の正面を向いている状態から、徐々に右向きの状態(鏡像としては左向き)の状態になり、再度正面を向いている状態となった場合における観察中画像系列の一例を模式的に示すものである。
本実施の形態では、正面顔で観察できない又は観察しにくい部分を観察しようとすると、人は、図7及び図8に示すように、正面顔から正面顔への往復動作を行う。この往復動作の中に、図7に示すような観察中画像系列であれば画像Xのような、あご付近に注目していることを表す画像が、観察中画像系列の中央付近に含まれることになる。また、図8に示すような観察中画像系列であれば画像Yのような、左頬の部分に注目していることを表す画像が、観察中画像系列の中央付近に含まれることになる。
次に、画像抽出部105及び比較処理部108は、第2データ格納部104において新たな観察中画像系列が抽出されたか判断する(ステップS9)。もし、新たな観察中画像系列が抽出されていない場合には、処理は端子Aを介して図12の処理に移行する。
一方、新たな観察中画像系列が抽出された場合には、比較処理部108の第2画像系列抽出部1081は、抽出された観察中画像系列に対して、過去の類似画像系列の抽出処理を実行する(ステップS11)。
例えば、画像中に含まれる特徴量(線分、点、皮膚色の総画素数又は割合等)で比較する方法や、画像中に含まれるオブジェクトを使った特徴量(顔パーツ(例えば目)が含まれる領域や皮膚色領域の位置等)で比較する方法などを用いて、過去の類似画像系列を抽出するようにしても良い。また、この抽出処理については、図9のような処理であっても良い。
なお、ステップS11が終了すると、処理は端子Bを介して図12の処理に移行する。
まず、第2画像系列抽出部1081は、過去の画像系列を、包含する画像枚数によって絞り込む(図9:ステップS21)。例えば図10に示すように、画像枚数によって過去の画像系列Si(iは1以上m以下)をソートしておき、今回抽出された観察中画像系列Sに包含される画像の枚数pとほぼ同じv個の過去の画像系列Su乃至Su+v-1を抽出する。「ほぼ同じ」については、例えばp枚+/−所定%の範囲を意味するものとする。画像枚数が大きく異なる画像系列は、類似する画像系列であるとは言えないため、このような処理を行う。
さらに、第2画像系列抽出部1081は、観察中画像系列Sに含まれる各画像から、画像行列を生成する(ステップS23)。
本ステップについては、図11(a)に模式的に示すように、各画像をj×k個の矩形領域に分割する。例えば、10×10個程度の分割を行った大きな矩形であっても良いし、1矩形領域4画素程度の小さい矩形であっても良い。そして、図11(b)に示すように、j行k列の矩形領域に、予め定められた皮膚色の画素が含まれるか否かを判断して、含まれていれば、行列Msiの要素Msi_jkの値「1」と設定し、含まれていなければ、行列Msi_jkの値「0」と設定する。
このような処理を、観察中画像系列に含まれる各画像について実行すれば、画像行列Ms={Ms1,Ms2,...,Ms(q-1),Msq}が生成される。
なお、画像系列DB107に格納されている各画像系列についても、同様に画像行列Mu={Mu1,Mu2,...,Mu(p-1),Mup}が、既に画像系列DB107に格納されているものとする。まだ、算出されていない場合には、例えば本ステップにおいて、同様の処理で算出するものとする。
その後、第2画像系列抽出部1081は、生成された画像行列Msと、絞り込まれた画像系列の各々についての画像行列Muとから、各画像系列ペアの類似度Simuを算出する(ステップS25)。
例えば、行列Msiと行列Muiとの類似度の平均値を、画像系列ペアの類似度として算出する。行列の類似度は、どのように定義しても良い。
一方、観察中画像行列Sの画像枚数と、比較対象の画像系列Suの画像枚数との差がある場合には、少ない方の画像枚数に併せて画像ペアの類似度を算出して、それらの類似度の平均値を算出する。
この場合、例えば、画像枚数が多い方の画像系列から画像枚数が少ない方の画像系列と同数の画像を全パターン抽出して、各パターンと画像枚数が少ない方の画像系列とについて算出される類似度のうち最も高い類似度を採用するようにしても良い。その他の方法を採用しても良い。
そして、第2画像系列抽出部1081は、ステップS21で絞り込まれた過去の画像系列のうち、観察中画像系列との類似度が閾値以上となる過去の画像系列を抽出し、抽出された過去の画像系列のデータを、第4データ格納部108に格納する(ステップS27)。例えば図6と同様のデータが格納される。そして処理は呼び出し元の処理に戻る。
なお、抽出された過去の画像系列については、古いもの順にソートしておくものとする。ソート後の過去の画像系列を、Sw乃至Sw+z-1とする。
図12の処理の説明に移行して、画像抽出部105は、第2データ格納部104に格納されている観察中画像系列Sについて、判定対象画像を抽出し、当該判定対象画像についてのデータを、第3データ格納部106に格納する(ステップS31)。
本実施の形態では、類似性が高い画像が連続している時間帯における画像を抽出する。図7及び図8に模式的に示したように、図7の画像Xの周辺又は図8の画像Yの周辺では、一定時間静止して興味のある顔の部分の観察を行うことが多い。そのため、例えば予め定められた時間以上、例えば上で述べたような画像行列による類似度が閾値以上となる連続画像を抽出する。なお、抽出された連続画像のうち中央の画像を1枚選択するような場合もある。
なお、過去の画像系列Sw乃至Sw+z-1についても、同じような処理にて判定対象画像が、既に抽出されており、画像系列DB107において、元の画像系列に対応付けられて格納されているものとする。もし、抽出されていない場合には、例えば本ステップにおいて、同様の処理にて抽出することで、過去の画像系列Sw乃至Sw+z-1の各々について判定対象画像を得るものとする。
そして、比較処理部108の画像比較部1082は、観察中画像系列の判定対象画像における皮膚色範囲内における度数分布(すなわち色出現頻度)と、抽出された過去の各画像系列の判定対象画像における皮膚色範囲内における度数分布(すなわち出現頻度)とを生成し、例えば第4データ格納部108に格納する(ステップS33)。
予め定められた皮膚色範囲(例えば、色テーブル毎に規定されている。Christophe Garcia and Georgios Tziritas, Face Detection Using Quantized Skin Color Regions Merging and Wavelet Packet Analysis, IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 1, NO. 3, SEPTEMBER 1999.を参照のこと)に属する各色の出現頻度をカウントする。赤みを持った皮膚色もあれば、ほぼ黄色に近い皮膚色もある。
例えば、図13に示すような度数分布Hsが得られたものとする。一方、過去の各画像系列の判定対象画像についての度数分布Hw乃至Hw+z-1(2つ以外は省略)については、図14に示すようなカーブとなったものとする。なお、過去の各画像系列の判定対象画像についての度数分布Hw乃至Hw+z-1のデータについては、予め画像系列DB107に格納されているものとする。格納されていない場合には、ここで算出する場合もある。なお、度数分布については、比較のため各々正規化されるものとする。
そうすると、画像比較部1082は、観察中画像系列の度数分布が、過去の画像系列の各々の度数分布と異なるか判断する(ステップS35)。例えば、各色についての度数の差を二乗したもの(又は絶対値)の総和のような評価値が、閾値以上となっているか否かを判断する。
この際、色毎に重み付けしても良い。例えば、誤判定を生じさせる色については重みを小さくし、着目する色については重みを大きくする。例えば、にきびのような赤色の成分に着目する場合には、赤チャネルのみに着目したテーブルに含まれる皮膚色についての重みを大きくすればよい。
なお、着目する色については、別途ユーザが指定するようにしても良い。この場合、例えば、予め自らの着目すべき顔の領域を指定することで、当該領域に含まれる色の重みを大きくしたり小さくするようにしても良い。
図13及び図14の例では、過去の画像系列の度数分布Hw+z-1と、観察中画像系列の度数分布Hsとは異なると判定されたものとする。
もし、観察中画像系列の度数分布が、過去の画像系列のいずれの度数分布とも異なっていないと判断された場合には、特に問題がないので、処理はステップS39に移行する。但し、状態変化を検出できない旨のメッセージを、出力部110に、観察中画像系列の送信元であるユーザ側情報処理装置300へ送信させるようにしても良い。
一方、観察中画像系列の度数分布が、過去の画像系列のいずれかの度数分布と異なると判断された場合には、画像比較部1082は、例えば、異なると判定された過去の画像系列についてのデータを、出力部110に出力する。
出力部110は、観察中画像系列の送信元となるユーザ側情報処理装置300に対して、異なると判定された過去の画像系列の時刻等と共に、状態変化を検出した旨のメッセージを送信する(ステップS37)。
ユーザ側情報処理装置300の情報出力装置301は、メッセージを受信すると、表示画面又はスピーカなどから、メッセージを出力する。
このようにすれば、真正面でなくユーザが見にくい場所についても、適切に状態変化を検出できるようになる。
このような処理が、ユーザによって処理終了が指示されたり、何らかのイベントで処理終了と判断されるまで繰り返される(ステップS39)。すなわち、処理終了でない場合には、処理は端子Cを介してステップS1に戻る。
なお、出力内容については、例えば、評価値への寄与が大きい色(例えば図14のZ)を特定して、この色から構成される皮膚領域を、観察中画像系列の判定対象画像から抽出して、例えば図15に示すような形で強調して示すようにしても良い。図15の例では、点線丸で、当該皮膚領域より少し大きめの領域をユーザに示すことでにきびのような領域が、ユーザに強調表示されるようになる。
また、判定対象画像を別の方法で抽出するようにしても良い。簡易的には、最初と最後の正面顔の画像を除去するだけといった手法も可能である。
[実施の形態2]
本実施の形態では、観察中画像系列をより精度良く抽出するための変形例を説明する。
図16に、本実施の形態に係る主情報処理装置100bの構成例を示す。図3に示した主情報処理装置100との差は、第1画像系列抽出部103bと、第2データ格納部104bと、画像抽出部105bとである。
第1画像系列抽出部103bは、折り返し判断部1031を含む。また、画像抽出部105bは、初期的な観察中画像系列について判定対象画像(本実施の形態では、折り返し画像とも呼ぶ)を抽出して、第2データ格納部104bに処理結果を格納する。また、最終的に第1画像系列抽出部103bによって抽出された観察中画像系列についての判定対象画像のデータを、第3データ格納部106に格納する。
本実施の形態では、抽出したい観察画像系列では、判定対象画像より前の画像系列と、判定対象画像より後の画像の順番を反転させた反転画像系列とを比較すると、元画像系列と反転画像系列とでは同じ位置の画像間の類似度が高くなるという対称性を利用するものである。
図8に示した観察中画像系列を用いて図17に模式的に示せば、最初の画像I1、次の画像I2、中間の画像Ip/2(ここでは画像Y)、最後から1つ前の画像Ip-1、最後の画像Ipを含むものとする。そして、画像Ipから後ろの画像の順番を反転させて並べた上で、画像I1と画像Ip、画像I2と画像Ip-1、といったように対応付ける。そうすると、対応付けられた画像間の類似度は非常に高くなることが分かる。
本実施の形態ではこのような特徴を有する観察画像系列を抽出する。
より具体的には、図4のステップS7を、図18に示すような処理に変更する。
第1画像系列抽出部103bは、初期画像系列から、所定の条件を満たす画像系列を抽出し、第2データ格納部104bに格納する(ステップS51)。具体的には、第1の実施の形態のステップS7と同様の処理を行う。なお、ここでは1つの画像系列が抽出された場合の例を示すが、複数の画像系列が抽出された場合には、複数の画像系列の各々について、以下の処理を実行する。
その後、折り返し判断部1031は、抽出された画像系列の順番を反転させた反転画像系列を生成する(ステップS53)。図17の例では、下段に示す画像系列を生成する。 また、画像抽出部105bは、抽出された画像系列において、折り返し画像(=判定対象画像)を特定し、特定された画像のデータを第2データ格納部104b及び第3データ格納部106に格納する(ステップS55)。本ステップは、実質的に、ステップS31と同じである。但し、簡易的には、抽出された画像系列の中央の画像Ip/2(p/2の天井又は床値。)とする場合もある。
そして、折り返し判断部1031は、通常の順番で折り返し画像前までの画像について、抽出された画像系列と反転画像系列との類似度を算出する(ステップS57)。
折り返し画像が、抽出された画像系列のちょうど中央の画像であれば、図17に模式的に示すように、抽出された画像系列の画像と反転画像系列の画像とは順番に1:1対応させることができるので、対応する画像同士の類似度を、上で述べた画像行列などの手法によって算出し、それらの類似度の平均値を算出する。
一方、折り返し画像が、抽出された画像系列の中央ではなく、前半や後半に位置する場合には、折り返し画像までの画像系列に含まれる画像の数が比較対象の画像系列の画像の数より少なかったり、多かったりすることになる。
このような場合には、抽出された画像系列において折り返し画像までの画像と、反転画像系列における折り返し画像までの画像との全画像ペアの類似度を算出し、画像数が少ない方を基準にしてペアとなる画像を選択するようにしても良い。ペアとなる画像の選択にあたっては、画像の数が少ない方を基準にして、ペアとなった画像同士の類似度の平均値が最も高くなるように、画像の数が多い方の画像を順番を維持しつつ選択するようにしても良い。
上でも述べたように、画像系列の類似度は、個々の画像についての類似度の平均値であるものとする。
その後、折り返し判断部1031は、抽出画像系列と抽出画像系列の反転画像系列の類似度が閾値を超えたか否かを判断する(ステップS59)。
閾値を超えるような類似度が算出された場合には、折り返し判断部1031は、抽出された画像系列を折り返し画像系列であると判断し、第2データ格納部104bにおいて観察中画像系列として設定する(ステップS61)。そして処理は元の処理に戻る。
一方、類似度が閾値を超えない場合には、折り返し判断部1031は、抽出された画像系列を折り返し画像系列ではないと判断し、第2データ格納部104bにおいて非観察中画像系列として設定する(ステップS63)。そして処理は元の処理に戻る。
なお、第1の実施の形態における判定対象画像を抽出する処理については、ステップS55で折り返し画像として特定されている場合には省略しても良い。
このように判定対象画像を中心として対称性が認められる場合には、本実施の形態における観察中画像系列として好ましいものと判断して抽出されるようになる。
なお、判定対象画像を、Ip/2のように中央部分に設定する場合もある。また、中央部分だけではなく、その付近の画像群を、判定対象画像として特定しても良い。
[実施の形態3]
第2の実施の形態で示したような特徴を有するような画像系列であっても、たまたま、顔を上下させたり、左右に動かしたりする場合も、観察中画像系列として抽出される場合もある。本実施の形態では、目の動きをも考慮に入れて、観察中画像系列を抽出する。
より具体的には、ユーザが情報出力装置301の表示画面や鏡401の前で、額や頬等、顔の正面以外の場所を観察するために顔向きを変更する場合には、顔の向きと目の動きの向きは逆になる。例えば、右頬の状態を観察したい場合、顔の向きを左に向けることで、ユーザは右頬を鏡等に写そうとする。その場合の目の動きは、顔の向きに逆らって、鏡等の方向へ向くので、図19に示すように、右へ寄る。顔の画像であるということを自動的に抽出するという観点からすると、正面顔の画像の直後を含む数画像において、上記のような状態を検出できると想定される。正面顔において目領域の位置及び瞳孔中心位置を抽出する既存技術(例えば、http://opencv.org/のようなコンピュータビジョン技術や、視線センサ等がある)が存在するので、正面顔の画像の直後を含む数画像に対して、このような技術を適用すれば、目領域全体に対して、瞳孔を含む虹彩色部分がどのように寄ったのかを記録できる。
このような現象を想定した処理について図20及び図21を用いて説明する。
本実施の形態に係る主情報処理装置100cと、第2の実施の形態に係る主情報処理装置100bとの差は、図20に示すように、第1画像系列抽出部103bが第1画像系列抽出部103cに変更された点である。この第1画像系列抽出部103cは、折り返し判断部1031と、抽出判断部1032とを含む。
次に、図21を用いて、図4のステップS7の代わりに実行される処理を説明する。なお、1つの初期画像系列について、本処理を1回実行するものとする。
まず、抽出判断部1032は、初期画像系列から、正面顔の画像より後で撮影された所定数の画像を抽出する(ステップS71)。
そして、抽出判断部1032は、抽出された画像における目の寄りの有無を判定する(ステップS73)。例えば、正面顔の画像において、目の領域を特定して、当該目の領域における瞳孔を含む虹彩色部分の相対的な位置(例えば目の領域において設定された原点(例えば左端又は右端)からの座標値)を特定する。そして、抽出された画像において、目の領域を特定して、当該目の領域における瞳孔を含む虹彩色部分の相対的な位置を特定し、瞳孔を含む虹彩色部分の相対的な位置が正面顔の相対位置よりも図19に示すように一方向に偏っているか否かを判断する。
このような目の寄りが検出された場合には、折り返し判断部1031等が、図18に示した判定処理を実行する(ステップS77)。そして処理は元の処理に戻る。
一方、目の寄りが検出されなかった場合には、抽出判断部1032は、初期画像系列を、非観察中画像系列に設定する(ステップS79)。そして処理は元の処理に戻る。
なお、ステップS73の処理については、視線位置と顔向きを用いた処理に代えても良い。すなわち、単に顔の向きを上下又は左右させている場合、上で述べたような正面顔の画像より後ろの画像においては、視線位置も顔向きも既存技術で採取することができるが、視線位置と顔向きに整合性がとれなくなる。例えば、顔向き上はユーザの右手方向を向いている場合でも、視線位置上はユーザの左手方向を向いているということがある。
従って、図22に示すように、情報収集装置302から、データ収集部101が、画像と共に当該画像と同時刻の視線データを受信する。図22の例では、時刻と、ユーザ名と、装置IDと、視線座標の座標(x,y)とを含む。このようなデータが、第1データ格納部102に格納されている場合には、抽出判断部1032は、抽出された画像について検出された視線座標が、表示画面上のどの領域やどの方向を見ているかを判断することができる。一方、前述したコンピュータビジョン技術では、顔の楕円位置と顔パーツの位置関係により、顔向きを推定することができる。この両者に整合性がなければ、ステップS75で目の寄りは検出されないと判断する。
[実施の形態4]
本実施の形態では、画像系列DB107に格納される過去の画像系列を整理して登録することで、観察中画像系列に類似する画像系列を高速に抽出できるようにする。
本実施の形態では、図23に示すような主情報処理装置100dの構成を採用する。本実施の形態では、観察中画像系列を、画像系列DB107に登録する処理を行う登録処理部111が追加されている。
次に、登録処理部111の処理内容について図24及び図25を用いて説明する。
図24に、画像系列DB107に格納されるデータの一例を示す。図24の例では、画像系列の分類の識別子である分類IDと、画像系列IDと、各分類ID1つについて1つ選択されるマスタ画像系列か否かを表すマスタフラグと、分類名とが含まれる。このほか、画像系列自体と、類似度算出に用いるためのデータとが格納される。
そして、登録処理部111は、観察中画像系列と、画像系列DB107に格納されている各マスタ画像系列との類似度を算出する(図25:ステップS101)。図24に示すように、同じような画像系列については1つの画像系列に対してマスタフラグが「true」に設定されるので、マスタフラグが「true」となっている画像系列との類似度の算出を行う。画像系列についての類似度の算出方法は、実施の形態1と同様である。
そして、登録処理部111は、閾値を超える類似度が算出されたマスタ画像系列が存在するか否かを判断する(ステップS103)。
閾値を超える類似度が算出されたマスタ画像系列が検出されなかった場合には、新たな画像系列が検出されたことになる。そこで、登録処理部111は、例えば観察中画像系列の送信元であるユーザ側情報処理装置300へ、観察中画像系列に対する分類入力を促すためのデータを送信し、ユーザに対して分類名の入力を促す。ユーザ側情報処理装置300の情報出力装置301は、今回の観察中画像系列に対する分類入力を促すメッセージを出力し、ユーザから分類名の入力を受け付ける。そうすると、ユーザ側情報処理装置300は、分類名を主情報処理装置100dに送信する。主情報処理装置100dの登録処理部111は、ユーザ側情報処理装置300から分類名を受信する(ステップS105)。
そうすると、登録処理部111は、観察中画像系列を画像系列DB107に格納すると共に、新たな分類IDと、画像系列IDと、マスタフラグ「true」と、分類名とを登録する(ステップS106)。図24の例では、画像系列ID「2006」のレコードのようなデータが登録されるようになる。そして処理を終了する。なお、このような場合は、類似する過去の画像系列が存在しないことになるので、状態変化がユーザに提示されることはない。
一方、閾値を超える類似度が算出されたマスタ画像系列が存在する場合には、登録処理部111は、観察中画像系列に対して、最も類似度が高いマスタ画像系列の分類IDを設定して、画像系列DB107に登録する(ステップS107)。例えば、図24の例で、画像系列ID「2005」の観察中画像系列が抽出され、最も類似度が高いマスタ画像系列が画像系列ID「2」の画像系列であれば、同じ分類ID「1」が、設定される。なお、初期的には、マスタフラグは「false」となる。
そして、登録処理部111は、ユーザに対してマスタを変更するか否かを問い合わせる。この問い合わせは、例えばマスタ画像系列の登録日時から、所定時間以上経過している場合に行うようにしても良い。例えば、登録処理部111は、ユーザ側情報処理装置300に対して、問い合わせのメッセージを送信し、ユーザからの指示を受け付けたユーザ側情報処理装置300からの回答を受信し、マスタを変更するか否かを判断する(ステップS109)。マスタを変更しない場合には、処理は終了する。
一方、マスタを変更するという回答を受信した場合には、登録処理部111は、マスタの置換処理を行う(ステップS111)。具体的には、古いマスタ画像系列のマスタフラグを「false」に設定し、今回の観察中画像系列のマスタフラグを「true」に変更する。
以上のような処理を実行して画像系列DB107をメンテナンスすることで、比較処理部108において類似度を算出する過去の画像系列を、マスタ画像系列に限定してもよいので、比較処理が効率化される。
以上、本発明の実施の形態を説明したが、本発明はこれらに限定されるものではない。例えば、処理フローについては、処理結果が変わらない限り、ステップの処理順番を入れ替えたり、複数ステップを並列実行するようにしても良い。
また、上で述べた主情報処理装置100の構成については、プログラムモジュール構成とは一致しない場合がある。
さらに、主情報処理装置100は、1台のコンピュータではなく、複数台のコンピュータによって機能分担するようにしても良い。上でも述べたように、ユーザ側情報処理装置300及び主情報処理装置100は、それぞれ上で述べた各機能を分担保持する。
なお、上で述べた主情報処理装置100は、コンピュータ装置であって、図26に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係る情報処理装置は、(A)連続して撮影され且つデータ格納部に格納された複数の画像から、ユーザの顔正面の像を含む第1の画像からユーザの顔正面の像を含み且つ第1の画像より後に撮影された第2の画像までの第1の画像系列を抽出する第1の抽出部と、(B)第1の画像系列に含まれる画像から、ユーザの顔正面以外の顔の像を含む第3の画像を抽出する第2の抽出部とを有する。
本発明の発明者は、正面顔ではよく観察できない注目部分が、正面顔から次の正面顔までの画像系列に含まれる画像に現れているという新規な着想を得た。このような新規な着想に基づき、上で述べた処理を実行すれば、効率的に注目部分を含む画像を特定できるようになる。
なお、上で述べた第2の抽出部が、ユーザの顔正面以外の顔の像であってユーザが状態確認を行ったとみなされる像を含む画像を抽出するようにしても良い。例えば、正面顔から次の正面顔までのユーザの動作には対称性があると推定できるので、第1の画像と第2の画像までの画像のうち中央付近の画像を抽出するようにしても良い。
また、ユーザの顔正面以外の顔の像であって所定時間以上連続して同一の又は類似する像を含む複数の画像を抽出するようにしても良い。その他の観点で多めに画像を抽出したり、少なめの画像を抽出するようにしても良い。
また、上で述べた情報処理装置は、(C)第1の画像系列のうち、第1の画像以降で第3の画像より前の第4の画像と、第2の画像以前で第3の画像より後の画像との類似度に基づき、第1の画像系列の適否を判断する判断部をさらに有するようにしても良い。正面顔から次の正面顔までのユーザの動作には対称性があると推定できるので、このように類似度でその対称性を確認するものである。
さらに、上で述べた第1の抽出部が、画像系列に含まれる画像の数と画像系列に含まれる画像内における皮膚色領域の割合とを含む所定の条件を、画像系列に含まれる画像が満たすか否かを判断するようにしても良い。無関係な画像を簡単な処理で排除するためである。
また、上で述べた第1の抽出部が、第1の画像系列における第1の画像より後の画像において、目の領域における瞳孔を含む虹彩色部分が上記目の領域における中央以外の方向に寄っているか否かを判断するようにしても良い。観察中であれば、通常鏡の方を目だけでも向けている。このような状態では、目の領域が検出できれば、瞳孔を含む虹彩色部分は中央ではなく一方に寄っているので、その状況が存在するか否かを判断する。
さらに、上で述べた第1の抽出部が、第1の画像系列における第1の画像より後の画像が撮影された時点において、視線センサによる視線位置が所定範囲内となっている状態であるか否かを判断するようにしても良い。視線センサが存在すれば、このような条件でも上で述べた瞳孔部分の片寄りを検出できる。
さらに、上で述べた第1の抽出部が、第1の画像系列における第1の画像より後の画像が撮影された時点において、視線センサによる視線位置と顔向きに整合性がとれなくなっている状態であるか否かを判断するようにしても良い。
また、上で述べた情報処理装置は、(D)第2のデータ格納部に格納された過去の画像系列から、第1の画像系列に類似する第2の画像系列を抽出し、第2の画像系列に含まれ且つユーザの顔正面以外の顔の像を含む第4の画像における皮膚色範囲内の色出現頻度と、第3の画像における皮膚色範囲内の色出現頻度との差が、所定レベル以上であるか否かを判断する比較処理部をさらに有するようにしても良い。これによって、具体的な状態変化を抽出できるようになる。なお、変化のある領域を抽出するようにしても良い。
なお、上で述べたような処理をプロセッサ又はコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
連続して撮影され且つデータ格納部に格納された複数の画像から、ユーザの顔正面の像を含む第1の画像から前記ユーザの顔正面の像を含み且つ前記第1の画像より後に撮影された第2の画像までの第1の画像系列を抽出する第1の抽出部と、
前記第1の画像系列に含まれる画像から、前記ユーザの顔正面以外の顔の像を含む第3の画像を抽出する第2の抽出部と、
を有する情報処理装置。
(付記2)
前記第2の抽出部が、
前記ユーザの顔正面以外の顔の像であって前記ユーザが状態確認を行ったとみなされる像を含む画像を抽出する
付記1記載の情報処理装置。
(付記3)
前記第2の抽出部が、
前記ユーザの顔正面以外の顔の像であって所定時間以上連続して同一の又は類似する像を含む複数の画像を抽出する
付記1記載の情報処理装置。
(付記4)
前記第1の画像系列のうち、前記第1の画像以降で前記第3の画像より前の第4の画像と、前記第2の画像以前で前記第3の画像より後の画像との類似度に基づき、前記第1の画像系列の適否を判断する判断部
をさらに有する付記1乃至3のいずれか1つ記載の情報処理装置。
(付記5)
前記第1の抽出部が、
画像系列に含まれる画像の数と前記画像系列に含まれる画像内における皮膚色領域の割合とを含む所定の条件を、前記画像系列に含まれる画像が満たすか否かを判断する
付記1乃至3のいずれか1つ記載の情報処理装置。
(付記6)
前記第1の抽出部が、
前記第1の画像系列における前記第1の画像より後の画像において、目の領域における瞳孔部分が前記目の領域における中央以外の方向に寄っているか否かを判断する
付記1乃至3のいずれか1つ記載の情報処理装置。
(付記7)
前記第1の抽出部が、
前記第1の画像系列における前記第1の画像より後の画像が撮影された時点において、視線センサによる視線位置が所定範囲内となっている状態であるか否かを判断する
付記1乃至3のいずれか1つ記載の情報処理装置。
(付記8)
第2のデータ格納部に格納された過去の画像系列から、前記第1の画像系列に類似する第2の画像系列を抽出し、前記第2の画像系列に含まれ且つ前記ユーザの顔正面以外の顔の像を含む第4の画像における皮膚色範囲内の色出現頻度と、前記第3の画像における前記皮膚色範囲内の色出現頻度との差が、所定レベル以上であるか否かを判断する比較処理部
をさらに有する付記1乃至3のいずれか1つ記載の情報処理装置。
(付記9)
連続して撮影され且つデータ格納部に格納された複数の画像から、ユーザの顔正面の像を含む第1の画像から前記ユーザの顔正面の像を含み且つ前記第1の画像より後に撮影された第2の画像までの第1の画像系列を抽出し、
前記第1の画像系列に含まれる画像から、前記ユーザの顔正面以外の顔の像を含む第3の画像を抽出する、
処理を含み、コンピュータが実行する情報処理方法。
(付記10)
連続して撮影され且つデータ格納部に格納された複数の画像から、ユーザの顔正面の像を含む第1の画像から前記ユーザの顔正面の像を含み且つ前記第1の画像より後に撮影された第2の画像までの第1の画像系列を抽出し、
前記第1の画像系列に含まれる画像から、前記ユーザの顔正面以外の顔の像を含む第3の画像を抽出する、
処理を、コンピュータに実行させるためのプログラム。