(58)【調査した分野】(Int.Cl.,DB名)
前記状態判定手段は、前記決定手段により端末前方状態の判定に用いると決定された物体が複数ある場合には、前記端末前方状態を覗き込み状態として判定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
前前記決定手段により端末前方状態の判定に用いると決定された物体が1つである場合、当該物体が予め登録されたユーザの顔であるかの認証を行う認証手段をさらに備えることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
前記状態判定手段は、前記認証手段により、予め登録されたユーザの顔ではないと認証された場合は、前記端末前方状態をなりすまし状態として判定することを特徴とする請求項5または6に記載の情報処理装置。
前記状態判定手段は、前記物体検出手段により顔として認識される物体の検出がされていない場合は、前記端末前方状態を離席状態として判定することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
【発明を実施するための形態】
【0017】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0018】
図1は、本発明のテレワーク管理システムのシステム構成の一例を示す図である。
【0019】
テレワーク管理システム100は、1または複数の管理サーバ101、1または複数のテレワーカ用PC111、1または複数の管理者用PC121がインターネット130を介して接続される構成となっている。
【0020】
管理サーバ101は、テレワーカの在席・離席状況に関する情報や第三者による覗き込み、成りすまし等の情報(テレワーク情報)を一元管理するサーバであり、サービス環境ネットワーク104上に構築されている。
【0021】
管理サーバ101へは、テレワーカ用PC111と管理者用PC121が、アカウントIDとパスワードを用いた認証処理により接続し、管理サーバ101は、テレワーカ用PC111からテレワーク情報を受信した場合は、管理サーバ101のデータベースに格納する。また、管理者用PC121からテレワーク情報の取得要求があった場合は、管理サーバ101のデータベースから必要なテレワーク情報を取り出す。
【0022】
テレワーカ用PC111は、テレワーカから勤務中か勤務外かの申請(申告)を受け付け、また接続された撮像装置により撮影された映像(画像)から端末前方状態(テレワーカが在席・離席しているのか、覗き込みやなりすましが発生しているか)を検知する端末である。自宅ネットワーク110上に存在し、端末前方状態は、ルータ112、インターネット130、及びルータ103を介して管理サーバ101へ送信される。
【0023】
管理者用PC121は、テレワーク情報を確認するための端末であり、社内ネットワーク120上に存在し、テレワーク情報の確認には、ウェブ管理コンソール(ウェブブラウザ上で動作)を使用し、ルータ122、インターネット130、及びルータ103を介して管理サーバ101に接続する。
【0024】
なお、本実施例においては、テレワーカ用PC111が端末前方状態を検知し、管理サーバ101へ情報を送信する構成として説明するが、テレワーカ用PC111から映像(画像)のみを管理サーバ101に送信し、管理サーバ101において当該映像(画像)から端末前方状態を検知するよう構成しても良い。
【0025】
図2は、本発明の実施形態における管理サーバ101、テレワーカ用PC111、管理者用PC121に適用可能な情報処理装置のハードウェア構成の一例を示すブロック図である。各装置ともに、同様な構成を備えるため、同一の符号を用いて説明する。
【0026】
図2に示すように、情報処理装置は、システムバス200を介してCPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、記憶装置204、入力コントローラ205、音声入力コントローラ206、ビデオコントローラ207、メモリコントローラ208、よび通信I/Fコントローラ209が接続される。
【0027】
CPU201は、システムバス200に接続される各デバイスやコントローラを統括的に制御する。
【0028】
ROM202あるいは記憶装置204は、CPU201が実行する制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating System)や、本情報処理方法を実現するためのコンピュータ読み取り実行可能なプログラムおよび必要な各種データ(データテーブルを含む)を保持している。
【0029】
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは記憶装置204からRAM203にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【0030】
入力コントローラ205は、入力装置210からの入力を制御する。入力装置210としては、キーボード、タッチパネル、マウス等のポインティングデバイス等が挙げられる。
【0031】
なお、入力装置210がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
【0032】
また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0033】
音声入力コントローラ206は、マイク/スピーカ211がマイク機能として動作する場合、マイク/スピーカ211からの音声入力を制御し、マイク/スピーカ211から入力された音声を認識することが可能となっている。また、音声入力コントローラ206は、マイク/スピーカ211がスピーカ機能として動作する場合、マイク/スピーカ211への音声出力を制御し、マイク/スピーカ211に対し音声を出力することが可能となっている。
【0034】
ビデオコントローラ207は、ディスプレイ212などの外部出力装置への表示を制御する。ディスプレイは本体と一体になったノート型パソコンのディスプレイも含まれるものとする。なお、外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。また、前述のタッチ操作により受け付け可能な装置については、入力装置210を提供する。
【0035】
なおビデオコントローラ207は、表示制御を行うためのビデオメモリ(VRAM)を制御することが可能で、ビデオメモリ領域としてRAM203の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。
【0036】
本発明では、ユーザが情報処理装置を通常使用する場合の表示に用いられる第1のビデオメモリ領域と、所定の画面が表示される場合に、第1のビデオメモリ領域の表示内容に重ねての表示に用いられる第2のビデオメモリ領域を有している。ビデオメモリ領域は2つに限ったものではなく、情報処理装置の資源が許す限り複数有することが可能なものとする。
【0037】
メモリコントローラ208は、外部メモリ213へのアクセスを制御する。外部メモリとしては、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、および各種データ等を記憶する外部記憶装置(ハードディスク)、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等を利用可能である。
【0038】
通信I/Fコントローラ209は、ネットワーク214を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信やISDNなどの電話回線、および携帯電話の3G回線を用いた通信が可能である。
【0039】
なお、記憶装置204は情報を永続的に記憶するための媒体であって、その形態をハードディスク等の記憶装置に限定するものではない。例えば、SSD(Solid State Drive)などの媒体であってもよい。
【0040】
また本実施形態における通信端末で行われる各種処理時の一時的なメモリエリアとしても利用可能である。
【0041】
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ212上での表示を可能としている。また、CPU201は、ディスプレイ212上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0042】
次に、
図3、
図4のフローチャートを用いて、本実施形態におけるテレワーク管理システムが実行する処理について説明する。
【0043】
図3、
図4のフローチャートは、テレワーカ用PC111のCPU201が所定の制御プログラムを読み出して実行する処理である。
【0044】
ステップS301では、テレワーカ用PC111のCPU201は、設定ファイルから各種パラメータを読み込む。パラメータには、例えば、カメラの画像サイズ、顔認証の類似度の閾値、処理サイクルなどがある。
【0045】
カメラ画像サイズのパラメータは、カメラから取得する画像の大きさの定義に使用する値であり、ピクセル値などにより指定するものとする。
【0046】
顔認証の類似度の閾値は、テレワーカ本人かどうかの判断に使用する値である。
【0047】
処理サイクルのパラメータは、テレワーカ用PC111での勤務状態(端末前方状態)検出の処理周期の定義にしようする値であり、ミリ秒などの単位を用いて指定するものとする。
【0048】
読み込んだ各パラメータは、RAM203に記憶させておき、必要なときに参照する。
【0049】
ステップS302では、テレワーカ用PC111のCPU201は、ステップS315で証跡情報を送信できるよう、管理サーバとの通信接続を確立する。通信接続の確立には、あらかじめ管理サーバに登録しているテレワーカのシステムログイン用のアカウントIDとログインパスワードを使用する。
【0050】
ステップS303では、テレワーカ用PC111のCPU201は、接続されたカメラにより撮影された画像を取得する。取得した画像はRAM203に記憶しておく。
【0051】
ステップS304では、テレワーカ用PC111のCPU201は、ステップS303で取得した画像から顔を検出する。顔の検出には公知技術を用いるものとする。検出結果はRAM203に記憶しておく。
【0052】
ステップS305では、テレワーカ用PC111のCPU201は、ステップS304において検出された顔に対して、位置の判定処理を行う。本処理の詳細については、
図4のフローチャートを用いて後述する。
【0053】
ステップS306では、テレワーカ用PC111のCPU201は、ステップS305の位置判定処理にて誤検出・不適切な顔を取り除いた後の、顔検出個数を判定する。
【0054】
顔の検出数が0個(未検出)の場合、処理をステップS307に移行し、端末前方状態(テレワーカの勤務状態)を「離席」として判定し設定する。
【0055】
検出数が2個以上の場合、処理をステップS308に移行し、端末前方状態(テレワーカの勤務状態)を「覗き見」(覗き込み)として判定し設定する。
【0056】
検出数が1個の場合、処理をステップS309に移行し、テレワーカ本人の顔であるか否かを確認するための顔認証処理をおこなう。
【0057】
ステップS309では、テレワーカ用PC111のCPU201は、カメラにより撮影された画像から検出された顔と、予め登録されたテレワーカ本人の顔画像との類似度を算出する。
【0058】
ステップS310では、テレワーカ用PC111のCPU201は、ステップS309で算出した類似度と、ステップS301で読み込んだ類似度の閾値とを比較し、画像から検出された顔がテレワーカ本人の顔であるかを判定する。
【0059】
具体的には、算出された類似度が閾値を満たす場合は本人と判定し、閾値を満たさない場合は、他人と判定する。
【0060】
本人と判定された場合(ステップS310:YES)は、処理をステップS311に移行し、端末前方状態(テレワーカの勤務状態)を「在席」に設定する。
【0061】
他人と判定された場合(ステップS310:NO)は、処理をステップS312に移行し、端末前方状態(テレワーカの勤務状態)を「なりすまし」に設定する。
【0062】
ステップS313では、テレワーカ用PC111のCPU201は、端末前方状態(テレワーカの勤務状態)を判定し、「覗き見」または「なりすまし」の場合は、処理をステップS314に移行する。
【0063】
「在席」または「離席」の場合は、処理をステップS315に移行する。
【0064】
ステップS314では、テレワーカ用PC111のCPU201は、ディスプレイに表示されている画面をスクリーン画面として取得する。
【0065】
ステップS315では、テレワーカ用PC111のCPU201は、ステップS303で取得したカメラ画像と、ステップS314で取得したスクリーン画像とを、管理サーバ101に証跡情報として送信する。
【0066】
ステップS316では、テレワーカ用PC111のCPU201は、CPU負荷調整のためにスリープ処理をおこなう。スリープする時間は、S301で読み込んだ処理サイクルのパラメータを使用する。
【0067】
ステップS317では、テレワーカ用PC111のCPU201は、本実施形態の処理を終了する指示がなされたかを判断する。例えば、メニュー等からテレワーカ本人により明示的に終了命令があったかを判断する。処理を終了する場合は、本フローチャートの処理を終了し、処理を終了させない場合は、再びステップS303の処理に戻る。
【0068】
次に、
図4のフローチャートを用いて、ステップS305の処理の詳細を説明する。
【0069】
ステップS401では、テレワーカ用PC111のCPU201は、ステップS305で検出した顔を大きい順にソートする。
【0070】
ステップS402では、テレワーカ用PC111のCPU201は、ステップS305で検出した顔のうち、大きさが最大の顔(ソートした先頭の顔)の中心のY座標を取得する。
【0071】
具体的には、まず最大の顔の顔領域情報を取得する。顔領域情報は処理対象の顔が収まる矩形に関する情報であり、矩形の左上角のXYのピクセル座標、右下角のXYのピクセル座標、矩形の回転角で表現されるものとする。そして、取得した座標情報から、顔領域情報の中心のY座標を取得する。
【0072】
顔領域情報のイメージ例を
図5に示す。
図5において実線や破線で示すとおり、テレワーカの顔が収まる矩形(501など)が形成されている。この矩形で示す領域が顔領域である。この矩形の左上の頂点を(X1,Y1)、右下の頂点を(X2,Y2)といったピクセル座標で示す。
【0073】
ステップS403では、テレワーカ用PC111のCPU201は、大きさが最大の顔以外の顔で、ステップS404〜S407の処理を実行していない顔があるか判定する。
【0074】
未処理の顔がある場合(ステップS403:YES)は、処理をステップS404に移行する。
【0075】
未処理の顔がない場合(ステップS403:NO)は、本フローチャートの処理を終了する。
【0076】
ステップS404では、テレワーカ用PC111のCPU201は、ステップS403で未処理と判定された顔の中心座標を取得する。中心座標は、上述した最大の顔と同様に、まず顔領域情報(処理対象の顔が収まる矩形に関する情報であり、矩形の左上角のXYのピクセル座標、右下角のXYのピクセル座標、矩形の回転角で表現されるもの)を取得し、中心座標を求めるものとする。
【0077】
ステップS405では、テレワーカ用PC111のCPU201は、ステップS404で取得した座標のY座標が、最大の顔の中心Y座標より小さいかを判定する。すなわち、撮影された画像において、処理対象の顔が最大の顔よりも下に位置しているかを判定する。
【0078】
下に位置している場合(ステップS405:YES)は、処理をステップS407に移行する。
【0079】
下に位置していない場合(ステップS405:NO)は、処理をステップS406に移行する。
【0080】
ステップS406では、テレワーカ用PC111のCPU201は、処理対象の顔の領域が最大の顔の領域と重なるかを判定する。具体的には、上述した顔領域情報に基づき判定する。
【0081】
重なっている場合(ステップS406:YES)は、処理をステップS407に移行する。
【0082】
重なっていない場合(ステップS406:NO)は、処理をステップS403に移行し、他の未処理の顔に対する処理に移行する。
【0083】
すなわち、最大の顔よりも下に位置していない顔や、最大の顔と重なっていない顔については、ステップS306の顔の個数判定処理の対象とする(端末前方状態の判定に用いる顔とする)。
【0084】
ステップS407では、テレワーカ用PC111のCPU201は、処理対象の顔をステップS306の顔の個数判定処理の対象から除外する。そして、処理をステップS403に戻し、未処理の顔に対する処理を継続する。
【0085】
ステップS402において、大きさが最大の顔を基準にするのは、最大の顔はテレワーカの顔である蓋然性が高いためである。そして、最大の顔より下に位置する顔を、端末前方状態の判定に用いないのは、そのような顔については背景や衣服の模様を顔と誤検出したものである可能性が高いからである。すなわち、テレワーカ本人よりも下から覗き込みをするというケースが想定し難いためである。
【0086】
なお、本実施例においては、テレワーカの顔の中心座標より下の領域にある顔を除外したが、中心座標を頂点とする三角形を作り、その三角形に含まれる顔を除外するといった方法でもよい(
図6で一点鎖線により示した領域(601))。
【0087】
また、テレワーカ本人の顔と重なっている顔についても、耳の襞などを顔と誤検出したものである可能性が高いため、ステップS406の処理により除外している。
【0088】
以上の処理のように、顔の位置により端末前方状態の判定に用いるかを判別することで、背景や衣服の模様などを顔として誤検出・誤認識してしまい、誤検出した顔を用いて覗き見等と判定してしまうことを低減させることが可能となる。このように、端末前方状態を判定するにあたり顔の位置により適した顔と適していない顔とを判別することで、在席・離席・覗き込み・成りすまし等の端末前方状態を適切に判定することが可能となる。
【0089】
図5は、ステップS304による顔検出処理の結果を示すイメージ図である。
【0090】
図5の501〜504の破線や実線で囲まれた領域が、ステップS304で検出した顔である。ステップS305の処理により、501〜504の4つの領域のうち、実線で囲まれた501と502の顔が端末前方状態の判定に用いられる顔として判別される。
【0091】
すなわち、503のようにテレワーカ本人の顔と重なっている顔や、504のようにテレワーカ本人の顔より下に位置する顔については、端末前方状態の判定対象からは除外される。
【0092】
他方、502のような覗き込みをしている顔については、テレワーカ本人の顔と重ならず、テレワーカ本人の顔より上に位置していることが多いといえるため、本実施例の処理においては除外されず、端末前方状態の判定に用いられる。
【0093】
図5の505で示した一点鎖線は、テレワーカの顔(サイズが最大の顔)の中心Y座標を示す線である。この線より下に顔の中心座標がある顔(例えば504)については、端末前方状態の判定には用いられないこととなる。
【0094】
本実施例においては、
図3、
図4のフローチャートで示す処理をテレワーカ用PC111で実行するものとして説明したが、管理サーバ101において実行するよう構成してもよい。この場合、テレワーカ用PC111から管理サーバに対して、撮影された画像を送信し、管理サーバが
図5に示すパラメータ等を用いて、処理を実行する。
【0095】
本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0096】
また、本発明におけるプログラムは、
図3、
図4に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は
図3、
図4の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは
図3、
図4の各装置の処理方法ごとのプログラムであってもよい。
【0097】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0098】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0099】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0100】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0101】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0102】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0103】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。