(57)【要約】【課題】操作表示装置において、容易かつ手間をかけずに操作者の顔画像を操作者による操作の履歴とともに保存する。【解決手段】ＨＭＩ処理部８は、プログラマブル表示器１に表示された画面上で操作者が所定のスイッチ操作を行うと、操作者の顔画像をログする処理を実行するように顔ログ処理部９に指示を与える。顔ログ処理部９は、その指示を受けて、顔検出部９２ｂが、カメラ１５によって撮影された操作者の画像から正面を向いた顔画像を検出し、ファイルとして所定の顔画像データベース９８に格納する。また、顔検出部９２は、顔画像データベース９８におけるファイルのパス名を、スイッチ操作の内容、顔を検出した日時、スイッチ操作が行われた画面の画面番号などの操作履歴に関する情報とともに共有メモリ９４に書き込む。顔ロギング部９２ｃは、顔ログ制御部９２ａの指示によって、共有メモリ９４に書き込まれたデータを顔ログファイル９５に保存する。【選択図】図１
2008112222.tif 000002
【特許請求の範囲】
【請求項１】
操作内容を示す画面上での操作者による操作を受け入れるとともに、撮影された操作者の画像を当該操作者による所定操作の履歴情報と対応付けて保存する操作表示装置において、
操作者による所定操作を契機に、撮影された操作者の画像が操作表示装置の操作面に対して正面を向いた正面顔画像を含むか否かを判定する正面画像判定手段と、
前記画像が前記正面顔画像を含むと判定されると、前記画像から前記正面顔画像の部分を切り出して第１の保存領域に保存する顔画像保存手段と、
前記履歴情報を基に前記正面顔画像を読み出し可能となるように、前記正面顔画像と関連付けた状態で前記履歴情報を第２の保存領域に保存する履歴情報保存手段とを備えていることを特徴とする操作表示装置。
【請求項２】
前記第１の保存領域に保存された前記正面顔画像を、前記第２の保存領域から読み出した前記履歴情報を基に読み出して、当該履歴情報と併せて表示する履歴情報表示手段を備えていることを特徴とする請求項１に記載の操作表示装置。
【請求項３】
前記正面画像判定手段は、予め設定された期間に連続して撮影された操作者の画像のうち、前記所定操作の前後における所定期間に撮影された操作者の画像について、前記正面顔画像を含むか否かを判定することを特徴とする請求項１または２に記載の操作表示装置。
【請求項４】
前記正面画像判定手段は、前記画像から、目、鼻、口、眉および耳のうち、所定の顔部品が検出される場合に、前記画像が前記正面顔画像を含むと判定することを特徴とする請求項１ないし３のいずれか１項に記載の操作表示装置。
【請求項５】
前記正面画像判定手段は、前記画像から、目、鼻、口、眉および輪郭のうち２つ以上の顔部品を検出する顔部品検出手段と、
検出された顔部品のうち、２つの顔部品の組み合わせにおいて、各組み合わせの顔部品同士の相対位置の、真正面顔における当該顔部品同士の相対位置からのずれを示す傾斜度を算出する傾斜度算出手段と、
選択された当該組み合わせのうち少なくとも１つの組み合わせの前記傾斜度が所定の範囲内にあり、当該組み合わせに対してあらかじめ設定されている正面指数が基準値以上であるときに、前記画像が前記正面顔画像を含むと判定する正面顔判定手段とを有することを特徴とする請求項１ないし３のいずれか１項に記載の操作表示装置。
【請求項６】
前記正面顔判定手段は、選択された前記組み合わせのうちいずれの組み合わせの正面指数も前記基準値未満であるとき、選択された各組み合わせの正面指数を合計し、当該合計値が前記基準値以上であれば、前記画像が正面顔画像を含むと判定することを特徴とする請求項５に記載の操作表示装置。
【請求項７】
請求項１ないし６のいずれか１項に記載の操作表示装置を動作させるための操作表示プログラムであって、コンピュータを前記各手段として機能させるための操作表示プログラム。
【請求項８】
請求項７に記載の操作表示プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル表示器のような入力操作の受け入れおよび画面表示を行う操作表示装置に係り、詳しくは、操作者の履歴を保存することができる操作表示装置に関するものである。
【背景技術】
【０００２】
プログラマブル表示器のようなＨＭＩ（Human Machine Interface）機器は、操作対象機器（ＰＬＣ、インバータ、温調計等）とのインタフェースを備えており、操作対象機器の動作状況を表示したり、操作対象機器への制御指示を与えるための操作入力を画面から受け付けたりする機能を備えた操作表示装置である。一般に、このような操作表示装置は、グラフィック表示機能を有するので、操作盤、スイッチ、表示灯などを表示することができ、制御システムにおける操作端末としての役割を果たす。
【０００３】
操作者の操作表示装置の操作によって問題が生じることがあるが、その問題を後に解析するためには、原因となった操作から結果に至る過程を記録に残しておく必要がある。例えば、特許文献１には、操作者によってキーが操作されたことを検出すると、そのキーのキーコードのデータと、キー操作の発生した時刻のタイムスタンプデータとを併せて履歴メモリに書き込むとともに、ビデオカメラで撮影した操作者の画像を画像メモリに書き込んでおき、当該画像が記憶されている画像メモリにおけるアドレスを履歴メモリに書き込んで上記の両データと関連付けておくことが記載されている。
【０００４】
このように操作者の画像を残す履歴記録方法としては、他に、例えば特許文献２に記載されているように個人認証技術を用いた方法がある。特許文献２には、予め認証の対象となる人物固有の顔の特徴を辞書情報として記憶しておき、当該事象情報と装置を利用した人物の入力顔画像から得られる顔の特徴情報とを照合して、両情報の類似度によって入力顔画像の人物が本人であるか否かを認識するという人物認証装置が記載されている。この人物認証装置は、当該装置を利用した人物の顔画像を履歴画像として保存する。
【特許文献１】特開平２０００−１７１５１５号公報（２００２年６月１４日公開）
【特許文献２】特開平２００５−８４９８５号公報（２００５年３月３１日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された履歴記録方法では、操作者がカメラに対して正面を向いていない場合でも操作者の画像が記録される可能性がある。このため、操作者が正面を向いていない画像を含んで記録された画像から問題の原因となる操作を行った人物を特定できないという不都合がある。また、このような人物特定の不能な利用できない画像や、人物特定ができても顔以外の部分を含む画像を保存するので、画像を保存するためのメモリの容量が著しく大きくなるという不都合もある。
【０００６】
特許文献２に開示された履歴記録方法では、照合開始後１フレーム目の顔画像を履歴画像として保存すると、顔が正面を向いていない不都合を解消するために、最高値の類似度が得られた入力顔画像を履歴画像として保存するようにしている。これにより、履歴画像が画像中央部に配置され、かつ、顔画像が正面を向いている確率が高くなる。
【０００７】
しかしながら、特許文献２に記載された履歴画像の保存では、個人認証技術を用いるため、予め認証の対象となる人物の顔画像から当該人物の顔の特徴情報を登録しておく必要がある。このための処理に手間がかかる上、登録される人物が更新される度に、特徴情報を登録するデータベースを更新するというメンテナンス作業が必要であるので、コストがかかる。したがって、このような履歴記録方法で人物の顔画像を保存することを操作表示装置に適用するのは、あまり頻繁に生じない問題の解析のために手間やコストをかけることとなり、操作表示装置のコスト低減を図る観点から好ましくない。
【０００８】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、容易かつ手間をかけずに、操作者の顔画像を操作者による操作の履歴とともに保存する操作表示装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明に係る操作表示装置は、操作内容を示す画面上での操作者による操作を受け入れるとともに、撮影された操作者の画像を当該操作者による所定操作の履歴情報と対応付けて保存する操作表示装置において、上記の課題を解決するために、操作者による所定操作を契機に、撮影された操作者の画像が操作表示装置の操作面に対して正面を向いた正面顔画像を含むか否かを判定する正面画像判定手段と、前記画像が前記正面顔画像を含むと判定されると、前記画像から前記正面顔画像の部分を切り出して第１の保存領域に保存する顔画像保存手段と、前記履歴情報を基に前記正面顔画像を読み出し可能となるように、前記正面顔画像と関連付けた状態で前記履歴情報を第２の保存領域に保存する履歴情報保存手段とを備えていることを特徴としている。
【００１０】
上記の構成では、予めカメラなどによって撮影された操作者の画像が操作表示装置に入力される。また、操作者が画面上で所定の操作（例えばログイン画面におけるログインスイッチの操作）を行うと、操作者が操作表示装置の操作面に対して正面を向いていれば、その操作を契機に、正面画像判定手段によって、撮影された操作者の画像が正面顔画像を含むと判定される。すると、顔画像保存手段によって、当該正面顔画像が画像から切り出されて第１の保存領域に保存されるとともに、履歴情報保存手段によって、履歴情報が顔画像と関連付けた状態で第２の保存領域に保存される。
【００１１】
段三者に認知された者が操作表示装置を操作することを前提とすれば、このように、操作表示装置に対して特定の操作を行った操作者の正面顔画像を保存することにより、当該操作者を知る者によって、誰が操作表示装置を操作したかを特定することができる。そこで、保存された正面顔画像から第三者が人物を特定しやすいように、正面画像判定手段が、操作者の画像が正面顔画像を含むことを判定している。また、部外者が操作表示装置を操作した場合は、そのことが保存された正面顔画像から特定できる。これにより、部外者が操作表示装置を操作できないような対策をとることができる。
【００１２】
このように、操作表示装置は、特許文献２に記載されているような個人認証を必要としないので、予め操作表示装置を操作する担当者の正面顔画像の特徴を登録する必要もない。したがって、容易かつ手間をかけずに、操作者の正面顔画像を操作者による操作の履歴とともに保存することができる。また、顔以外の部分を含む画像から正面顔画像を切り出して第１の保存領域に保存するので、第１の保存領域を構成する記憶媒体（例えばメモリ）の容量を縮小することができる。
【００１３】
前記操作表示装置は、前記第１の保存領域に保存された前記正面顔画像を、前記第２の保存領域から読み出した前記履歴情報を基に読み出して、当該履歴情報と併せて表示する履歴情報表示手段を備えていることが好ましい。これにより、正面顔画像と履歴情報とを併せて確認することができる。
【００１４】
また、前記操作表示装置において、前記正面画像判定手段は、予め設定された期間に連続して撮影された操作者の画像のうち、前記所定操作の前後における所定期間に撮影された操作者の画像について、前記正面顔画像を含むか否かを判定することにより、適正な正面顔画像をより多く取得することができ、正面顔画像の記録漏れの可能性を低下させることができる。
【００１５】
前記のいずれかの操作表示装置において、前記正面画像判定手段は、前記画像から、目、鼻、口、眉および耳のうち、所定の顔部品が検出される場合に、前記画像が前記正面顔画像を含むと判定することが好ましい。これにより、カメラの映像に顔の全部が映っていない場合であっても、正面画像判定手段は、画像が正面顔画像を含むか否かの判定を客観的にすることが可能となる。
【００１６】
前記のいずれかの操作表示装置において、あるいは、前記正面画像判定手段は、前記画像から、目、鼻、口、眉および輪郭のうち２つ以上の顔部品を検出する顔部品検出手段と、検出された顔部品のうち、２つの顔部品の組み合わせにおいて、各組み合わせの顔部品同士の相対位置の、真正面顔における当該顔部品同士の相対位置からのずれを示す傾斜度を算出する傾斜度算出手段と、選択された当該組み合わせのうち少なくとも１つの組み合わせの前記傾斜度が所定の範囲内にあり、当該組み合わせに対してあらかじめ設定されている正面指数が基準値以上であるときに、前記画像が前記正面顔画像を含むと判定する正面顔判定手段とを有することが好ましい。この構成では、正面画像判定手段は、正面顔判定手段の判定によって真正面からの顔の傾き度合いを検出でき、画像が正面顔画像を含むか否かの判定をより精確にすることが可能となる。
【００１７】
この操作表示装置において、前記正面顔判定手段は、選択された前記組み合わせのうちいずれの組み合わせの正面指数も前記基準値未満であるとき、選択された各組み合わせの正面指数を合計し、当該合計値が前記基準値以上であれば、前記画像が正面顔画像を含むと判定することが好ましい。これにより、各組み合わせに対する正面指数が基準値未満であっても、それの合計が条件を満たせば、画像が正面顔画像を含むと判定することができる。
【００１８】
本発明の操作表示プログラムは、前述のいずれかの操作表示装置を動作させるための操作表示プログラムであって、コンピュータを前記各手段として機能させるプログラムである。また、この操作表示プログラムは、コンピュータ読み取り可能な記録媒体に記録される。これにより、プログラムをコンピュータに読み取らせて実行させることで、前記操作表示装置を実現することができる。
【発明の効果】
【００１９】
本発明に係る操作表示装置は、以上のように、操作者による所定操作を契機に、撮影された操作者の画像が操作表示装置の操作面に対して正面を向いた顔画像を含むか否かを判定する正面画像判定手段と、前記画像が前記顔画像を含むと判定されると、当該顔画像を第１の保存領域に保存する顔画像保存手段と、前記履歴情報を基に前記顔画像を読み出し可能となるように、前記顔画像と関連付けた状態で前記履歴情報を第２の保存領域に保存する履歴情報保存手段とを備えている。これにより、容易かつ手間をかけずに、操作者の顔画像を操作者による操作の履歴とともに保存することができる。したがって、信頼性の高いエラー解析を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
本発明の実施形態を図１ないし図１１に基づいて説明すると、以下の通りである。
【００２１】
図１に示すように、操作表示装置としてのプログラマブル表示器１は、ＣＰＵなどの演算処理装置を備えており、ユーザが作成した入力操作および表示用の画面データを表示することによりプログラマブル表示器特有の操作機能および表示機能を実現する専用コンピュータである。
【００２２】
このプログラマブル表示器１は、シリアルケーブル１２を介したＰＬＣ１３との通信により、ＰＬＣ１３を介して表示画面に表示される各デバイス１１の状態を取得して、例えば、後述のディスプレイ２に各デバイス１１の状態を表示する機能を有している。また、プログラマブル表示器１は、後述のタッチパネル３への操作に応じて、デバイス１１の状態制御をＰＬＣ１３に指示する機能を有している。また、プログラマブル表示器１は、操作者の正面顔画像を操作情報とともに記録して保存し、かつ表示する機能も有している。
【００２３】
プログラマブル表示器１は、上記の機能を実現するために、ディスプレイ２と、タッチパネル３と、インターフェース部（図中、Ｉ／Ｆ）４，５と、データメモリ６と、作業メモリ７と、ＨＭＩ処理部８と、顔検出処理部９とを備えている。以下、プログラマブル表示器１の主要各部について詳細に説明する。
【００２４】
ディスプレイ２は、プログラマブル表示器１を薄型に構成するために、液晶ディスプレイや、ＥＬディスプレイや、プラズマディスプレイのような平板型ディスプレイが好適に用いられる。タッチパネル３は、ディスプレイ２の表示画上でタッチ入力を行うために設けられている入力装置である。
【００２５】
インターフェース部４は、プログラマブル表示器１がＰＬＣ１３との間のシリアル通信を行うための通信制御部であり、シリアルケーブル１２で各々が接続されている。インターフェース部４は、その接続機器データに基づいて、ＰＬＣ１３のメーカや機種に応じた通信プロトコルを用いて通信を行う。上記の接続機器データや通信プロトコルは、例えば、後述するデータメモリ６に格納される。
【００２６】
なお、プログラマブル表示器１とＰＬＣ１３との接続は、シリアルケーブル１２に限らず、イーサネット（登録商標）等のネットワークやその他の通信手段によってなされてもよい。
【００２７】
ここで、ＰＬＣ１３について説明する。
【００２８】
ＰＬＣ１３は、ユーザが作成したシーケンスプログラム（ラダープログラムなど）にしたがって、例えば、数十ｍｓなどの予め定められたスキャンタイム毎に、入力ユニットを介して入力用のデバイス１１の状態を取り込むとともに、出力用のデバイス１１に状態を変更するように制御指示を与える。
【００２９】
入力用のデバイス１１としては、センサ（温度センサ、光センサなど）、スイッチ（押ボタンスイッチ、リミットスイッチ、圧力スイッチなど）のような機器が用いられる。出力用のデバイス１１としては、アクチュエータ、リレー、電磁弁、表示器などが用いられる。これらのデバイス１１は、製造ラインなどの所要各部に配置される。
【００３０】
なお、デバイス１１は、プログラマブル表示器１における特定のメモリ領域（例えば後述のシステムエリアにおけるユーザエリア）であってもよいし、ＰＬＣ１３内のメモリにおける特定のメモリ領域であってもよい。これらのメモリ領域は内部デバイスとして設定される。
【００３１】
ＰＬＣ１３内のメモリ（デバイスメモリ）は、デバイス１１の状態（デバイス１１からの出力値やデバイス１１への設定値）を示すデータ（ワードデータやビットデータ）を、デバイスアドレスで特定される領域に格納している。上記メモリにおいて、ワードデバイスとビットデバイスとが設定される。ワードデバイスは、入出力されるデータが数値のようなワードデータを格納する領域として設定され、ワードアドレス（デバイスアドレス）で指定される。また、ビットデバイスは、オン・オフ状態のようなビットデータを格納する領域として設定され、ビットアドレス（デバイスアドレス）で設定される。このような設定により、メモリ内の任意のワードデバイスまたはビットデバイスをデバイスアドレスとして指定してアクセスするだけでデバイス１１を制御し、またはその状態に関する情報を個別に取り出すことができる。
【００３２】
ＰＬＣ１３のメーカ毎に固有の名称で呼ばれるデバイスアドレスには、変数が対応付けられている。変数は、ユーザによって任意に設定可能な名称であり、後述するコメントを変数として扱うことができる。
【００３３】
以降の説明では、デバイスアドレスを適宜、アドレスと称する。
【００３４】
インターフェース部５は、プログラマブル表示器１がエディタコンピュータ２１との間の通信を行うための通信制御部である。このインターフェース部５は、画面データ等をエディタコンピュータ２１からプログラマブル表示器１へ転送するための転送ケーブル１４に接続されている。転送ケーブル１４としては、例えばＵＳＢケーブルが用いられる。
【００３５】
データメモリ６は、画面データ、前述の通信プロトコルなどを格納するためのメモリであり、ＦＥＰＲＯＭ(Flash Erasable and Programmable ROM)が用いられる。ＦＥＰＲＯＭは、書き替え可能な読み出し専用のフラッシュメモリであるので、一般のパーソナルコンピュータにおけるハードディスクドライブの役割を果たす。フラッシュメモリは、可動部を持たず、かつ衝撃に強いので、劣悪な周囲環境でも安定して動作する。
【００３６】
画面データは、プログラマブル表示器１に表示されるユーザ画面（１フレーム分の画面データによって構成される単位画面）のデータのファイルである。画面データは、ディスプレイ２に表示すべきベース画面や部品等のオブジェクトのデータおよび各オブジェクトに付与された処理規定情報などを含んでいる。処理規定情報は、ユーザ画面に関連して行われる各種の処理を規定しており、ベース画面上で実行されるべき事象毎に作成される。この処理規定情報は、基本的には、表示処理を実行すべきベース画面のファイル番号（画面番号）と、このベース画面上で実行すべき動作内容を特定する事象名と、各実行事象毎に参照される１または複数のデータからなる参照情報とを一組として備えている。
【００３７】
作業メモリ７は、例えば、ＤＲＡＭによって構成されており、表示制御などの演算処理時の作業用に用いられる。また、作業メモリ７は、取得したデバイス１１のデータの一時的な記憶に用いられる。また、作業メモリ７は、ＰＬＣ１３のデバイスメモリに格納されるデバイス１１の状態（デバイスアドレスの内容）をデバイスメモリとの間で受け渡しするための状態メモリ領域を有している。
【００３８】
プログラマブル表示器１のメモリには、システムエリアが設けられている。システムエリアは、プログラマブル表示器１の稼働に必要なデータを格納するシステムデータエリアや、ユーザが内部デバイスとして利用できるユーザエリアや、特殊リレーとして利用される特殊リレーエリアなどを含んでいる。このシステムエリアは、例えば、作業メモリ７に設けられている。
【００３９】
ＨＭＩ処理部８は、ＨＭＩ機能を実現するために、制御の中心として設けられている。このＨＭＩ処理部８は、プログラムを実行することによって実現される機能ブロックである。
【００４０】
ＨＭＩ処理部８は、所定の時間間隔毎や所定のイベント毎にＰＬＣ１３と通信することによって、ＰＬＣ１３のメモリから、デバイス１１の状態を状態データとして取得して、プログラマブル表示器１内に用にされた一時的なメモリ空間、例えば作業メモリ７の特定の領域（状態メモリ領域）に書き込む。また、ＨＭＩ処理部８は、ＰＬＣ３の内部メモリにおける状態データを更新するように、状態メモリ領域におけるデバイス１１の状態データを書き替えて、ＰＬＣ１３に送信する。ＨＭＩ処理部８は、前述のオブジェクトを組み合わせて作成された画面データに基づいて、デバイス１１の状態データをＰＬＣ１３から取得してプログラマブル表示器１に描画表示するときの動作や、画面への操作に応じてデバイス１１の状態の変更を指示するときの動作を処理規定情報によって特定する。
【００４１】
また、ＨＭＩ処理部８は、後述する顔ログ処理部９を動作させるイベントが発生すると、顔ログ処理部９による顔ログ処理の実行を開始させるためのコマンドにパラメータを付加して顔ログ処理部９に送出する。パラメータとしては、例えば、イベントＩＤ、画面番号および状態が用意されている。ＨＭＩ処理部８は、これらのパラメータを用いる場合、パラメータ付きのコマンドを＄ SendEvent.exe〈イベントＩＤ〉〈画面番号〉〈状態〉の書式で生成して送出する。
【００４２】
パラメータにおけるイベントＩＤおよび画面番号は、操作者による操作履歴情報となる。
【００４３】
イベントＩＤは、イベントを特定するＩＤ番号である。画面番号は、イベントが発生した画面の画面番号である。イベントは画面における操作者の操作であり、その代表的な操作としてはスイッチの操作が挙げられる。そのようなスイッチ操作には、プログラマブル表示器１へのログインやログアウト、画面切替、設定値入力、ＯＮ／ＯＦＦ操作などがある。ログイン、ログアウト、画面切替、設定値入力、ＯＮ／ＯＦＦ切替の各イベントには、例えばそれぞれ、“１”、“２”、“３”、“１０”、“１１”のイベントＩＤが定義付けられている。
【００４４】
状態は、ユーザがパラメータとしてとして付加させたい、前述のシステムエリアのユーザエリアに格納されている状態データである。ユーザは、この状態を任意に設定することができる。
【００４５】
また、ＨＭＩ処理部８は、イベントを発生させるために操作されるスイッチに規定された処理規定情報に基づいて、後述するパラメータ送出部９１および顔ログ実行部９２を動作させる。具体的には、当該スイッチは、プログラマブル表示器１の前述のユーザエリアの指定されたアドレス（ワードアドレス）におけるデータを書き替えるためのワードスイッチ、およびユーザエリアの指定されたアドレス（ビットアドレス）におけるビットを切り替えるためのビットスイッチとしての機能が複合して設定されている。
【００４６】
上記のビットアドレスには、ＯＮすると、パラメータ送出部９１を実現するプログラムを起動するビットが設定されている。スイッチには、ビットスイッチの機能として、タッチ操作されると上記のビットをＯＮに切り替えることが予め設定されている。また、スイッチには、ワードスイッチの機能として、タッチ操作されると指定されたワードアドレスに上記の各パラメータの値を書き込むことが予め設定されている。これらの設定は、後述する画面エディタ部２４のスイッチ属性設定部２４ａで行われる。
【００４７】
これにより、ＨＭＩ処理部８は、上記のスイッチがタッチ操作されることにより、ワードアドレスで指定されたビットをＯＮに切り替えて上記のコマンドを発生するとともに、上記のワードアドレスにパラメータを書き込んで、パラメータ付きのコマンドを発生する。
【００４８】
また、ＨＭＩ処理部８は、保存された操作者の正面顔画像の表示を指示するために操作されるスイッチに規定された処理規定情報に基づいて、後述するログ表示実行部９６を動作させる。具体的には、当該スイッチは、プログラマブル表示器１の前述のユーザエリアの指定されたアドレス（ビットアドレス）におけるビットを切り替えるためのビットスイッチとしての機能が設定されている。
【００４９】
上記のビットアドレスには、ＯＮすると、ログ表示実行部９６を実現するプログラムを起動するビットが設定されている。スイッチには、ビットスイッチの機能として、タッチ操作されると上記のビットをＯＮに切り替えることが予め設定されている。これらの設定も、後述する画面エディタ部２４のスイッチ属性設定部２４ａで行われる。
【００５０】
これにより、ＨＭＩ処理部８は、上記のスイッチがタッチ操作されることにより、ワードアドレスで指定されたビットをＯＮに切り替えて、ログ表示実行部９６を起動させるためのコマンドを発生する。
【００５１】
上記のＨＭＩ処理部８を実現するためのプログラムは、プログラマブル表示器１と分離可能に構成される記録媒体にも記録可能であり、その記録媒体からプログラマブル表示器１にインストールされてもよい。
【００５２】
上記の記録媒体は、磁気テープやカセットテープなどのテープ系、フレキシブルディスクやハードディスクなどの磁気ディスク系、ＣＤ−ＲＯＭ、ＭＯ、ＭＤ、ＤＶＤなどの光ディスク系、ＩＣカード（メモリカードを含む）、光カードなどのカード系が好適である。その他、上記のプログラムメディアは、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどによる半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【００５３】
また、プログラマブル表示器１が、インターネットを含む通信ネットワークと接続可能に構成されていれば、上記の記録媒体は、当該通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。ただし、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予めプログラマブル表示器１に格納されるか、あるいは別な記録媒体からインストールされるものであってもよい。
【００５４】
顔ログ処理部９は、ＨＭＩ処理部８の指示に応じて、操作者の正面顔画像を操作情報（顔画像の検出日時、操作された画面番号等）と併せて記録し、かつ表示する処理を行う。
【００５５】
顔検ログ処理部９は、この機能を実現するために、パラメータ送出部９１、顔ログ実行部９２、共有メモリ９３、顔ログ初期設定ファイル９４、顔ログファイル９５、ログ表示実行部９６、ログ表示初期設定ファイル９７および顔画像データベース（図中、顔画像ＤＢ）９８を有している。
【００５６】
パラメータ送出部９１は、ＨＭＩ処理部８から送出されたパラメータ付きコマンドで起動し、当該コマンドに付加されたパラメータをソケット通信にて顔ログ実行部９２に送出する。
【００５７】
顔ログ実行部９２は、カメラ１５によって撮影された操作者の画像から人の顔を検出して記録する顔ログ処理を実行する部分であり、顔ログ制御部９２ａ、顔検出部９２ｂおよび顔ロギング部９２ｃを含んでいる。上記のカメラ１５は、例えばＵＳＢカメラなどの小型のカメラであり、操作者がプログラマブル表示器１の操作時にディスプレイ２に対して正面を向いた状態の正面画像を撮影できるように、プログラマブル表示器１の筐体に装着されている。カメラ１５の装着位置としては、例えば、筐体の上端面における中央部分が好適である。
【００５８】
顔ログ制御部９２ａは、顔検出部９２ｂおよび顔ロギング部９２ｃの動作を制御する。この顔ログ制御部９２ａは、パラメータ送出部９１から送出されたパラメータを受けて起動し、当該パラメータを共有メモリ９３に書き込むとともに、顔ログ初期設定ファイル９４から共有メモリ９３に顔ログ設定データを読み込む。顔ログ制御部９２ａは、ログ保存要求をＨＭＩ処理部８からパラメータ送出部９１を介して受けると、顔ロギング部９２ｃに保存処理を実行させる。上記のログ保存要求を与えるイベントとしては、プログラマブル表示器１に表示される画面上でのユーザによるスイッチ操作、ＰＬＣ１２のメモリにおける特定のビットのＯＮまたはＯＦＦ、プログラマブル表示器１における前述のユーザエリアにて検出できる特定ビットのＯＮまたはＯＦＦなどが挙げられる。
【００５９】
顔ログ設定データは、顔検出確度（％）、顔検出時差（秒）、検出画像数、撮影期間（秒）、顔検出間隔（秒）、検出最大時間（秒）、格納ディレクトリ名などを含んでいる。検出確度は、顔検出部９２ｂが入力画像データに人の顔が含まれると判定する確からしさの度合いである。顔検出時差は、顔検出部９２ｂがイベント発生時に対する顔検出時の時間差であり、±の符号付きで表される。検出画像数は、カメラ１５から順次入力されてくる入力画像から顔検出を行う画像の数である。顔検出間隔は、顔検出部９２ｂが顔検出処理を行う時間間隔である。検出最大時間は、顔検出部９２ｂが入力画像データから顔を検出する最大の時間である。格納ディレクトリ名は、後述する検出顔画像データをＪＰＥＧファイル（検出顔ファイル）として格納する顔画像データベース９８が設けられるディレクトリの名称である。顔画像データベース９８は、例えばデータメモリ６に設定される。
【００６０】
また、顔ログ設定データは、ロギング条件も含んでいる。ロギング条件は、顔ロギング部９２ｃが後述する顔検出状態データを保存するときの条件である。この条件としては、検出された正面顔画像とともに保存すべきデータを特定する情報などが含まれる。
【００６１】
顔検出部９２ｂは、カメラ１５によって撮影された操作者の顔を含む姿の画像のデータ（入力画像データ）より、顔ログ設定データに基づいて、プログラマブル表示器１の操作面（ディスプレイ２の表示面）に対して正面向いた人の顔（正面顔画像）を検出する。顔検出部９２ｂは、予め設定された検出確度（例えば８０％）以上であるとき、入力画像データから顔を検出する。具体的には、顔検出部９２ｂは、図２に示すように、イベント発生時の前後で入力された入力画像（図２ではイベント発生時から±秒間の５つの入力画像のみ示す）から顔を検出する場合、顔検出間隔が１秒と設定され、顔検出時差が−１秒と設定され、検出最大時間が３秒と設定されていれば、図２における左側より、２番目から４番目の入力画像に対して顔の検出を行う。図２において、白で示した入力画像が、確度８０％以上の判定によって顔を検出された入力画像であり、グレーで示した入力画像が、確度８０％未満で顔を検出されなかった入力画像である。この例では、２番目と３番目の入力画像に顔が検出されており、正面を向いた顔検出に成功したことを示している。
【００６２】
このように、所定期間で複数の入力画像について顔検出を行うことにより、１つの入力画像で顔検出を行う場合に比べて、顔検出の成功率を高めることができる。
【００６３】
また、顔検出部９２ｂは、顔を検出した入力画像データより顔の部分（検出顔画像データ）を切り出して、上記の顔画像データベース９８に顔検出ファイルとして格納する。顔検出部９２ｂは、これと同時に、顔検出ファイルの所在を表すパス名を、検出日時（分秒まで含んでもよい）や検出確度および共有メモリ９３に格納されていたパラメータと併せて顔検出状態データとして共有メモリ９３に書き込む。
【００６４】
顔検出部９２ｂによる正面顔画像の検出については、後に詳しく説明する。
【００６５】
顔ロギング部９２ｃは、顔ログ制御部９２ａが指示するタイミングで共有メモリ９３から顔検出状態データを読み出して、共有メモリ９３における顔ログ設定データのロギング条件を参照し、顔検出状態データのうち必要なデータを顔ログファイル９５に記録する。顔ロギング部９２ｃは、記録時に、顔検出状態データを検出順にＣＳＶ（Comma Separated Values）形式で顔ログファイル９５に書き込む。これにより、例えば、顔ログファイル９５から顔検出状態データを表計算ソフトウエアなどによって表に展開することで、顔検出状態データの一覧を容易に確認することができる。
【００６６】
顔ログ初期設定ファイル９４は、前述の顔ログ設定データを格納している。この顔ログ初期設定ファイル９４は、例えば、データメモリ６に設定される。
【００６７】
顔ログファイル９５は、例えば、プログラマブル表示器１に設けられたデータログ用メモリ（図示せず）に設定される。データログ用メモリは、ＳＲＡＭによって構成されるが、それ以外にプログラマブル表示器１に着脱自在に接続されるメモリカードによって構成されていてもよい。メモリカードは、一般にＳＲＡＭに比べて記憶容量が大きいので、大量のデータをログする場合に有効である。
【００６８】
ログ表示実行部９６は、顔ログ制御部９２からのログ要求にしたがって、顔ログファイルから顔検出状態データを読み出して、ディスプレイ２に表示された画面上に重ねて、例えば図３に示すような顔ログウインドウ２０１に表示する。このとき、ログ表示実行部９６は、顔ログウインドウ２０１の表示データをＨＭＩ処理部８に渡して、ＨＭＩ処理部８に顔ログウインドウ２０１を表示させる。ログ表示実行部９６は、顔ログウインドウ２０１を表示するとき、ログ表示初期設定ファイル９７に格納されている、イベントコード（前述の「イベントＩＤ」）とイベント名（文字列）との対応関係を参照して、顔検出状態データに含まれるイベントＩＤをイベント名に変換して表示する。また、ログ表示実行部９６は、顔検出状態データに含まれるパス名に基づいて、前述の顔画像データベース９８に格納された顔検出ファイルを開いて、顔ログファイル９５における「顔画像」の領域に表示する。
【００６９】
図３に示す顔ログウインドウ２０１では、顔画像に続いて、イベント発生日時、イベントＩＤ、画面番号、状態、顔検出時差および検出確度が一列に並んで顔ログ情報として表示される。また、各顔ログ情報は、イベント発生順（顔検出順）に並んで表示される。顔ログファイル９５においては、状態、顔検出時差および検出確度は、必要に応じて表示するようにしてもよい。また、カメラ１５が複数台設置されている場合、各カメラ１５に付与されたカメラ番号を、顔検出された入力画像を撮影したカメラ１５を特定する情報として顔検出状態データとしてログしておき、顔ログウインドウ２０１に表示させるようにしてもよい。
【００７０】
上記の顔検出処理部９における、パラメータ送出部９１、顔ログ実行部９２およびログ表示実行部９６は、プログラムを実行することによって実現される機能ブロックである。このプログラムも、前述のＨＭＩ処理部８と同様に、プログラマブル表示器１と分離可能に構成される前述の記録媒体にも記録可能であり、その記録媒体からプログラマブル表示器１にインストールされてもよい。
【００７１】
続いて、エディタコンピュータ２１について説明する。
【００７２】
図１に示すように、エディタコンピュータ２１は、プログラマブル表示器１に表示される画面を作成するエディタ装置としての機能を有する。
【００７３】
エディタコンピュータ２１は、ＣＰＵ、メモリ（ＲＡＭ、ＲＯＭなど）、外部記憶装置（ハードディスクドライブ、ＭＯドライブなど）、表示装置および入力装置（キーボード、マウスなど）を有するパーソナルコンピュータによって構成されている。また、エディタコンピュータ２１は、制御部２３、インターフェース部（図中、Ｉ／Ｆ）２４、画面エディタ部２４およびデータ記憶部２５を備えている。
【００７４】
インターフェース部２３は、プログラマブル表示器１との間の通信を行うための通信制御部であり、転送ケーブル１４に接続されている。
【００７５】
制御部２２は、ハードウエア（ＣＰＵやメモリなど）およびソフトウエア（オペレーティングシステムなど）によって実現される機能ブロックであり、アプリケーションプログラムの実行や周辺機器の動作を制御する部分である。制御部１１は、その機能を果たすために作業メモリ２２ａを有している。作業メモリ２２ａは、ＤＲＡＭなどによって構成され、画面ファイルやラダーファイルを展開するためなどに用いられる。
【００７６】
また、制御部２２は、アプリケーションプログラムであるエディタソフトウエアを実行することにより、エディタ部２４を実現する。エディタ部２４は、エディタコンピュータ２１と分離可能に構成される記録媒体に記録され、この記憶媒体からエディタコンピュータ２１にインストールすることが可能である。
【００７７】
上記の記録媒体（プログラムメディア）は、コンピュータに読み取り可能な記録媒体であり、磁気テープやカセットテープなどのテープ系、フレキシブルディスクやハードディスクなどの磁気ディスク系、ＣＤ−ＲＯＭ、ＭＯ、ＭＤ、ＤＶＤなどの光ディスク系、ＩＣカード（メモリカードを含む）、光カードなどのカード系が好適である。その他、上記のプログラムメディアは、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどによる半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【００７８】
また、エディタコンピュータ２１が、インターネットを含む通信ネットワークと接続可能な環境に置かれていれば、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。ただし、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予めエディタコンピュータ２１に格納されるか、あるいは別な記録媒体からインストールされるものであってもよい。
【００７９】
エディタ部２４は、ユーザ独自の画面であるユーザ画面の作成を支援するように、スイッチ、ランプ、テンキー、各種表示器（例えば、数値表示器、メータ表示器およびグラフ表示器）などの部品（オブジェクト）、描画機能、テキスト入力機能などを備えている。オブジェクトは、ユーザが容易に選択できるようにライブラリ形式で登録されている。
【００８０】
エディタコンピュータ２１で作成された画面データは、上記の外部記憶装置によって構成されるデータ記憶部２５に保存される。また、この画面データは、データ記憶部２５から読み出されて、転送ケーブル１４を介してプログラマブル表示器１に転送される。
【００８１】
画面エディタ部２４は、スイッチ属性設定部２４ａを有している。
【００８２】
このスイッチ属性設定部２４ａは、スイッチのオブジェクトに、各種の属性を処理規定情報として設定するために設けられている。スイッチ属性設定部２４ａは、属性を設定するためのダイアログボックスをユーザインターフェースとして表示して、ユーザに属性の設定をさせる。これにより、ユーザは、スイッチ属性設定部２４ａを用いて、前述のイベントを発生させるための属性をスイッチに設定することができる。
【００８３】
ここで、プログラマブル表示器１における顔ログおよびログ表示の処理について図５および図６のフローチャートを参照して説明する。
【００８４】
顔ログの処理の場合、まず、図５に示すように、表示されている画面上で特定のスイッチが操作されるなどして、イベントが発生すると（ステップＳ１）、ＨＭＩ処理部８は、そのイベントＩＤや上記画面の画面番号などのパラメータを付加したコマンドを送出する（ステップＳ２）。顔ログ処理部９のパラメータ送出部９１は、このコマンドを受けて起動し、顔ログ制御部９２ａに上記のパラメータを送出する（ステップＳ３）。顔ログ制御部９２ａは、上記のパラメータを受けて起動し、当該パラメータを共有メモリ９３に書き込むとともに、顔ログ初期設定ファイル９４から顔ログ設定データを読み出して共有メモリ９３にセットする（ステップＳ４）。
【００８５】
顔検出部９２ｂは、ログ制御部９２ａの指示を受けると、人の顔を検出を開始する（ステップＳ５）。顔検出部９２ｂは、カメラ１５から入力される操作者の入力画像データより、顔ログ設定データに基づいて、顔の検出を行う。ここで、顔検出部９２ｂは、顔の検出に成功したか否かを判定し（ステップＳ６）、成功した場合には、入力画像データより顔の部分を検出顔画像データとして切り出して顔画像データベース９８に保存するとともに（ステップＳ７）、顔検出ファイルのパス名、検出日時、検出確度およびパラメータを含む顔検出状態データを共有メモリ９３に書き込む（ステップＳ８）。
【００８６】
顔検出部９２ｂは、ステップＳ５において、顔の検出に失敗した場合、入力画像データより顔の部分を顔画像データとして切り出して保存することはせずに（ステップＳ９）、顔検出ファイルのパス名を除いた顔検出状態データを共有メモリ９３に書き込む（ステップＳ１１）。
【００８７】
ステップＳ８に続き、顔ロギング部９２ｃは、顔ログ制御部９２ａの指示を受けると、共有メモリ９３から顔検出状態データを読み出して、顔ログファイル９５に保存する（ステップＳ９）。ただし、ステップＳ１０で、検出顔画像データが保存されなかった場合は、検出顔画像データがブランクの状態となって、顔検出状態データのみが顔ログファイル９５に保存されることになる。
【００８８】
さらに、上記の一連の処理は、プログラマブル表示器１の動作が停止するまで継続して行われる（ステップＳ１０）。
【００８９】
顔ログの処理の場合、まず、図５に示すように、表示されている画面上でログ表示を指示するスイッチが操作されることにより、ログ表示の指示が発生すると（ステップＳ１１）、ＨＭＩ処理部８は、その指示を受けてログ表示のコマンドを送出する（ステップＳ１２）。
【００９０】
ログ表示実行部９６は、このコマンドを受けて起動し、顔ログファイル９５から顔検出状態データを読み出して、それに基づいて顔ログウインドウ２０１に顔ログを表示する（ステップＳ１３）。そして、ユーザによって、顔ログウインドウ２０１を閉じる操作が行われると（ステップＳ１４）、ログの表示処理を終える。
【００９１】
ここで、顔検出部９２ｂの正面顔画像の検出機能について詳しく説明する。顔検出部９２ｂによって、入力画像に正面顔画像を含むか否かの判定は、顔の部品検出による判定と、検出した部品の位置関係による判定に分かれ、用途に応じて使い分ける。
【００９２】
まず、顔の部品検出による判定について説明する。顔検出部９２ｂの正面顔画像の検出機能は、具体的には図６に示す顔検出部１００として構成される。この顔検出部１００は、顔部品検出部１０１および正面判定部１０２を有している。
【００９３】
顔部品検出部１０１は、公知の手法を用いて顔の各部品（目、鼻、口、眉、耳など）を検出する。
【００９４】
正面判定部１０２は、顔部品検出部１０１によって検出された顔部品について、正面指数テーブル１０３を参照し、顔の各部品ごとにあらかじめ設定されている正面指数のうち判定に使用する正面指数を合計し、合計値と正面顔判定基準値とを比較することにより、正面顔であるか否かを判定する。表１は、正面指数テーブル１０３の一例を示している。正面指数テーブル１０３は、顔部品と、検出基準と、正面指数と、使用／未使用とを対応付けて設定している。この正面指数テーブル１０３は、例えば、プログラマブル表示器１では、作業メモリ７に展開されている。
【００９５】
【表１】
2008112222.tif 000003
【００９６】
検出基準は、顔の各部品を検出したか否かの判定基準であり、例えば、目の検出は、両眼を検出した場合のみ、目の検出が行われたと判定し、片眼のみ検出した場合は、目の検出が行われたとは判定しない。鼻の検出は、鼻の中央部を検出した場合のみ、鼻の検出が行われたと判定し、鼻の中央部以外の一部のみを検出した場合は、鼻の検出が行われたとは判定しない。
【００９７】
正面指数は、検出された顔部品の正面顔判定基準に対する重みを数値化したものである。
【００９８】
使用／未使用は、検出された顔部品の正面指数を正面顔判定に使用するか否かを示している。
【００９９】
正面判定部１０２は、上記の検出基準にしたがって、顔の各部品が検出されたか否かを判定し、検出された各部品の正面指数を合計する。例えば、目と眉が検出された場合は、正面指数の合計値は９０と算出される。その合計値を所定の判定基準値と比較し、当該判定基準値以上であれば、正面顔であると判定する。
【０１００】
判定基準値は、例えば８０と設定され、目と眉が検出された場合は、正面指数の合計値が判定基準値以上であるので、正面顔であると判定される。一方、鼻と口のみ検出された場合は、正面指数の合計値は４０となり、判定基準値に満たないので、正面顔であるとは判定されない。
【０１０１】
なお、判定基準値は使用される環境に合わせて様々に設定される。正面顔の判定が、ディスプレイ２を見ているか否かの判定に利用される場合は、判定基準値を高く設定する。
【０１０２】
また、プログラマブル表示器１が用いられる工場などの環境では、マスクや帽子を着用するので、口、鼻、耳は隠されることが多い。したがって、口、鼻、耳が検出されたとしても、それらの顔部品の正面指数は使用しない設定とすることもできる。
【０１０３】
次に、検出部品の位置関係による判定について、図７ないし図１１に基づいて説明する。当該判定は、前述の顔の部品検出による判定では判別できない、真正面からの左右への顔の傾き度合いを検出でき、より精確に正面顔であるか否かの判定が可能となる。
【０１０４】
顔検出部９２ｂの正面顔画像の検出機能は、具体的には図７に示す顔検出部１１０として構成される。この顔検出部１１０は、顔部品検出部１１１、傾斜度算出部１１２および正面判定部１１３を有している。
【０１０５】
顔部品検出部１１１は、前述のように公知の手法を用いて顔の各部品（目、鼻、口、眉、耳、輪郭など）を検出する。
【０１０６】
傾斜度算出部１１２は、顔の各部品が検出されたか否かを判定し、検出された顔部品の組み合わせにおける相対位置から、後述する傾斜度を算出する。傾斜度算出部１１２による傾斜度の算出方法については、後に図９ないし図１１を参照して詳しく説明する。
【０１０７】
正面判定部１１３は、正面指数テーブル１１４を参照し、傾斜度算出部１１２によって算出された傾斜度が検出基準範囲内にあるときの正面指数が正面顔判定基準（前述の判定確度）を満たしているか否かで顔が正面であるか否か判定する。正面判定部１１３による正面顔の判定については、後に図８示すフローチャートを参照して詳しく説明する。
【０１０８】
正面指数テーブル１１４は、表２に示すように、相対位置を算出する２種類の顔部品と、傾斜度と、検出基準と、正面指数と、使用／未使用とを対応付けて設定している。この正面指数テーブル１１４は、例えば、プログラマブル表示器１では、作業メモリ７に展開されている。
【０１０９】
【表２】
2008112222.tif 000004
【０１１０】
傾斜度は、真正面からの左右への顔の傾き度合いを示す数値であり、具体的な算出方法は後述する。
【０１１１】
検出基準は、顔の各部品の組み合わせを検出したか否かの判定基準であり、例えば、眉と鼻の検出は、後述する計算式によって算出された傾斜度Ｓｂｎが±１０％以内である場合は、眉と鼻の検出が行われたと判定し、傾斜度Ｓｂｎが−１０％に満たないかプラス１０％を超えている場合は、眉と鼻の検出が行われたとは判定しない。
【０１１２】
正面指数は、検出された顔部品の組み合わせの正面顔判定基準に対する重みを数値化したものである。
【０１１３】
使用／未使用は、検出された顔部品の正面指数を正面顔判定に使用するか否かを示している。
【０１１４】
ここで、検出部品の位置関係による判定の判定手順を図８に基づいて説明する。
【０１１５】
図８は、検出部品の位置関係による判定のフローチャートである。まず、前述の顔の部品検出による判定における場合と同様に、顔部品検出部１１１は、顔の各部品（目、鼻、口、眉、耳、輪郭）を検出する（ステップＳ２１）。続いて、傾斜度算出部１１２は、検出された部品の各組み合わせについて傾斜度を算出する（ステップＳ２２）。続いて、正面顔判定部１１３は、正面指数テーブル１１４で使用と設定された顔部品の組み合わせについての傾斜度が検出基準を満たすか否かを判定する（ステップＳ２３）。正面顔判定部１１３は、検出基準を満たす組み合わせがある場合は（ステップＳ２３において「ＹＥＳ」）、さらに使用する正面指数があらかじめ設定された正面顔判定基準を満たしているか否かを判定する（ステップＳ２４）。正面顔判定部１１３は、正面指数が正面顔判定基準を満たした場合は（ステップＳ２４において「ＹＥＳ」）、正面顔であると判定し（ステップＳ２５）、正面指数が正面顔判定基準を満たさない場合は（ステップＳ２４において「ＮＯ」）、さらに、使用する正面指数の合計を算出する（ステップＳ２６）。
【０１１６】
そして、正面顔判定部１１３は、正面指数の合計値が正面顔判定基準を満たしているか否かを判定し（ステップＳ２７）、正面顔判定基準を満たした場合は（ステップＳ２７において「ＹＥＳ」）、正面顔であると判定し（ステップＳ２５）、正面指数の合計値が正面顔判定基準を満たさない場合は（ステップＳ２７において「ＮＯ」）、正面顔でないと判定する（ステップＳ２８）。また、正面顔判定部１１３は、ステップＳ２７において、検出基準を満たす組み合わせがない場合も（「ＮＯ」）、正面顔でないと判定する（ステップＳ２８）。
【０１１７】
最後に、顔検出部１１０は、次の顔画像について正面顔の検出処理を行うか否かを判定し（ステップＳ２９）、検出処理を行う場合は処理をステップＳ２１に戻し、検出処理を行わない場合はそのまま処理を終える。
【０１１８】
なお、判定基準値は任意に設定され、判定基準値が高いほど、顔がより真正面に近い方向に向いていないと正面顔であると判定されない。また、プログラマブル表示器２が用いられる工場などの環境では、マスクや帽子を着用することにより、口や鼻は隠されることが多い。この場合は、眉と鼻、眉と口、輪郭と鼻および輪郭と口の各組み合わせにおける正面率の算出は行わない設定とすることもできる。
【０１１９】
続いて、傾斜度算出部１１２が行う傾斜度の算出方法について、図９ないし図１１に基づいて具体的に説明する。
【０１２０】
図９は、真正面の顔を示しており、以下の説明では両眼の中心を結ぶ直線に沿った方向を水平方向、両眼の中心を結ぶ直線の垂線に沿った方向を垂直方向とする。ここで、目と鼻との組み合わせについて傾斜度Ｓｅｎを算出する。まず、右目の中心から垂直方向に伸びる直線をＬｅ１、左目の中心から垂直方向に伸びる直線をＬｅ２とする。同様に、鼻の中心から垂直方向に伸びる直線をＬｎとする。ここで、直線Ｌｅ１と直線Ｌｎとの距離をＤｅｎ１、直線Ｌｅ２と直線Ｌｎとの距離をＤｅｎ２とすると、傾斜度Ｓｅｎは、
Ｓｅｎ＝（（Ｄｅｎ２−Ｄｅｎ１）／（Ｄｅｎ１＋Ｄｅｎ２））×１００
と算出される。顔が真正面の場合Ｄｅｎ１＝Ｄｅｎ２であるので、傾斜度Ｓｅｎ＝０（％）となる。
【０１２１】
図１０（ａ）は、若干右を向いた顔を示しており、図１０（ｂ）は、若干左を向いた顔を示している。なお、図１０（ａ）および（ｂ）ともに、目、鼻、眉などが検出できるので、前述の顔の部品検出による判定では、正面の顔と判定される。ここで、図９の真正面の顔の場合と同様に、直線Ｌｅ１・Ｌｅ２・Ｌｎおよび距離Ｄｅｎ１・Ｄｅｎ２を設定する。顔が右向きの場合（図１０（ａ））Ｄｅｎ１＜Ｄｅｎ２となるので、傾斜度Ｓｅｎ＞０（％）となり、顔が左向きの場合（図１０（ｂ））Ｄｅｎ１＞Ｄｅｎ２となるので、傾斜度Ｓｅｎ＜０（％）となる。なお、顔が右に向くほど傾斜度Ｓｅｎは１００（％）に近づき、顔が左に向くほど傾斜度Ｓｅｎは−１００（％）に近づく。すなわち、傾斜度Ｓｅｎは、目と鼻の相対位置の、真正面顔における目と鼻の相対位置からのずれを示している。
【０１２２】
さらに、目と鼻以外に、眉と鼻、眉と口、目と口、鼻と輪郭、眉と輪郭、目と輪郭および口と輪郭の各組み合わせについても、傾斜度を算出する。
【０１２３】
例えば、鼻と輪郭との組み合わせにおける傾斜度Ｓｎｏは、図９において、鼻の中央部と顔の右側の輪郭との水平方向の距離をＤｎｏ１、鼻の中央部と顔の左側の輪郭との水平方向の距離をＤｎｏ２とすると、傾斜度Ｓｎｏは、
Ｓｎｏ＝（（Ｄｎｏ１−Ｄｎｏ２）／（Ｄｎｏ１＋Ｄｎｏ２））×１００
と算出される。図９では、Ｄｎｏ１＝Ｄｎｏ２であるので、Ｆｎｏ＝０（％）となる。一方、顔が右向きの場合はＤｎｏ１＜Ｄｎｏ２となるので、Ｓｎｏ＞０（％）となり、顔が左向きの場合はＤｎｏ１＞Ｄｎｏ２となるので、Ｓｎｏ＜０（％）となる。なお、顔が右に向くほどＳｅｎは１００（％）に近づき、顔が左に向くほどＳｅｎは−１００（％）に近づく。
【０１２４】
同様に、目と輪郭との組み合わせにおける傾斜度Ｓｅｏは、図９において、右目の中央と顔の右側の輪郭との水平方向の距離をＤｅｏ１、左目の中央と顔の左側の輪郭との水平方向の距離をＤｅｏ２とすると、傾斜度Ｓｅｏは、
Ｓｅｏ＝（（Ｄｅｏ１−Ｄｅｏ２）／（Ｄｅｏ１＋Ｄｅｏ２））×１００
と算出される。
【０１２５】
さらに、他の部品の組み合わせにおける傾斜度の算出方法を、図１１に基づいて説明する。図１１に示す顔と図９に示す顔は同一であり、図１１において図９と同様に、直線Ｌｅ１・Ｌｅ２・Ｌｎを設定する。さらに、右の眉の内側の端から垂直方向に伸びる直線をＬｂ１、左の眉の内側の端から垂直方向に伸びる直線をＬｂ２、口の中央部から垂直方向に伸びる直線をＬｍと設定する。なお、図１１においては、直線Ｌｎと直線Ｌｍとは同一の直線である。
【０１２６】
まず、眉と鼻との組み合わせにおける傾斜度Ｓｂｎは、直線Ｌｂ１と直線Ｌｎとの水平方向の距離をＤｂｎ１、直線Ｌｂ２と直線Ｌｎとの水平方向の距離をＤｂｎ２とすると、傾斜度Ｓｂｎは、
Ｓｂｎ＝（（Ｄｂｎ１−Ｄｂｎ２）／（Ｄｂｎ１＋Ｄｂｎ２））×１００
と算出される。
【０１２７】
眉と口との組み合わせにおける傾斜度Ｓｂｍは、直線Ｌｂ１と直線Ｌｍとの水平方向の距離をＤｂｍ１、直線Ｌｂ２と直線Ｌｍとの水平方向の距離をＤｂｍ２とすると、傾斜度Ｓｂｍは、
Ｓｂｍ＝（（Ｄｂｍ１−Ｄｂｍ２）／（Ｄｂｍ１＋Ｄｂｍ２））×１００
と算出される。なお、図１１においては、Ｄｂｎ１＝Ｄｂｍ１、Ｄｂｎ２＝Ｄｂｍ２となっている。
【０１２８】
目と口との組み合わせにおける傾斜度Ｓｅｍは、直線Ｌｅ１と直線Ｌｍとの水平方向の距離をＤｅｍ１、直線Ｌｅ２と直線Ｌｍとの水平方向の距離をＤｅｍ２とすると、傾斜度Ｓｅｍは、
Ｓｅｍ＝（（Ｄｅｍ１−Ｄｅｍ２）／（Ｄｅｍ１＋Ｄｅｍ２））×１００
と算出される。
【０１２９】
眉と輪郭との組み合わせにおける傾斜度Ｓｂｏは、右の眉の内側の端と右側の輪郭との水平方向の距離をＤｂｏ１、左の眉の内側の端と左側の輪郭との水平方向の距離をＤｂｏ２とすると、傾斜度Ｓｂｏは、
Ｓｂｏ＝（（Ｄｂｏ１−Ｄｂｏ２）／（Ｄｂｏ１＋Ｄｂｏ２））×１００
と算出される。
【０１３０】
口と輪郭との組み合わせにおける傾斜度Ｓｍｏは、口の中央部と右側の輪郭との水平方向の距離をＤｍｏ１、口の中央部と左側の輪郭との水平方向の距離をＤｍｏ２とすると、傾斜度Ｓｍｏは、
Ｓｍｏ＝（（Ｄｍｏ１−Ｄｍｏ２）／（Ｄｍｏ１＋Ｄｍｏ２））×１００
と算出される。
【０１３１】
以上のように、本実施の形態のプログラマブル表示器１は、所定のスイッチ操作などによって顔ログ処理の実行が指示されると、顔ログ処理部９の顔検出部９２ｂが、操作者がプログラマブル表示器１の操作時にディスプレイ２に対して正面を向いた状態でカメラ１５によって撮影された操作者の画像から、検出確度が所定値以上と判定した画像において顔を検出する。これにより、プログラマブル表示器１のディスプレイ２に対して正面を向いた操作者の顔が検出されて、顔ロギング部９２ｃによって、操作関連情報と対応付けて顔ログファイル９５に保存される。それゆえ、プログラマブル表示器１に対して特定の操作を行った操作者の正面顔画像を保存することができる。また、入力画像から正面顔画像を切り出して顔画像データベース９８に保存するので、保存する画像サイズを小さくすることができる。この結果、メモリにおける顔画像データベース９８による使用領域が縮小されるので、メモリを有効的に利用することができる。
【０１３２】
第三者に認知された者がプログラマブル表示器１を操作することを前提とすれば、顔画像が保存されることにより、誰がプログラマブル表示器１を操作したかを特定することができる。例えば、図２に示すように、プログラマブル表示器１に対して、誰が、いつログインして、どのような操作を行い、いつログアウトしたかがわかり、その間に生じたエラーが、その操作者の操作によることがほぼ特定できる。
【０１３３】
このために、保存された顔画像から第三者が人物を特定しやすいように、プログラマブル表示器１では、操作者がプログラマブル表示器１の操作時にディスプレイ２に対して正面を向いた状態でカメラ１５によって撮影されるようにしている。また、部外者がプログラマブル表示器１を操作した場合は、そのことが保存された顔画像から特定できる。これにより、部外者がプログラマブル表示器１を操作できないような対策をとることができる。
【０１３４】
このように、プログラマブル表示器１は、特許文献２に記載されているような個人認証を必要としないので、予めプログラマブル表示器１を操作する担当者の顔画像の特徴を登録する必要もない。したがって、容易かつ手間をかけずに、操作者の顔画像を操作者による操作の履歴とともに保存することができる。しかも、操作者は、自身の顔画像が記録されるので、操作を慎重にしようと心掛けるようになり、その結果、誤操作の発生が抑制されるという効果も期待できる。
【０１３５】
また、撮影されていることを知っている不審者が顔を撮影されないような不自然な姿勢でプログラマブル表示器１を操作しようとすると、顔検出部９２ｂは当該不審者の撮影画像から正しく顔を検出することができずに、不審者の顔画像を保存できない。このような不審者対策については、顔検出部９２ｂによって、所定の検出確度未満の入力画像からも保存する部分画像を切り出して顔画像データベース９８に格納しておき、当該部分画像と検出された顔画像とを別にログするというロギング条件を設定しておく。これにより、顔が検出できなかった部分画像をまとめて表示することができ、不審者の存在を確認することが可能となる。
【０１３６】
このような不審者対策は、高いセキュリティが要求される装置、例えばＡＴＭ（Automated Teller Machine）に対して有効である。これにより、例えば、顔を隠して操作したり、顔を背けて操作したりする不審者の画像を保存することができる。
【０１３７】
また、本実施の形態では、顔検出部９２ｂによって正しく顔が検出されなかった場合、スイッチ操作はそのまま有効になるが、スイッチ操作を無効にするようにしてもよい。これを実現するには、顔検出部９２ｂが顔検出に失敗したことをＨＭＩ処理部８に通知し、ＨＭＩ処理部８がその通知に対して、顔ログを実行させるイベントとなったスイッチ操作を無効とする。これにより、正しく顔画像が検出されないとスイッチ操作が無効となるので、重要な操作など、操作者を特定する必要がある場合に、ＨＭＩ処理部８が例えばプログラマブル表示器１に正面を向けて操作するようなメッセージを表示することにより、操作者にスイッチ操作のやり直しを促すことができる。ただし、この場合、前述の顔検出間隔や検出最大時間が長く設定されると、操作者がスイッチ操作してからその操作が有効か無効かが判明するまでに時間がかかり、操作性の低下を招くことになるので、顔検出間隔や検出最大時間を長く設定できないような制限を設けてもよい。
【０１３８】
なお、本実施の形態では、操作表示装置としてプログラマブル表示器１について説明したが、本発明は表示された画面上で操作入力を受け入れることができる装置であれば、プログラマブル表示器１に限定されない。例えば、操作表示装置は、パネルコンピュータや操作パネルは勿論、上記のＡＴＭのような装置であってもよい。
【０１３９】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１４０】
本発明の操作表示装置は、撮影された操作者の画像から顔を検出して保存し、必要に応じて表示することにより、操作者を知る者であれば、操作者を特定することができことから、容易かつ手間をかけずに、操作者の顔画像を操作履歴情報とともに保存することができるので、操作表示装置のエラー対策などに好適に利用できる。
【図面の簡単な説明】
【０１４１】
【図１】本発明の実施形態に係るプログラマブル表示器およびエディタコンピュータの構成を示すブロック図である。
【図２】上記プログラマブル表示器における顔ログ処理部の顔検出部による操作者の顔を検出する動作を示す図である。
【図３】上記プログラマブル表示器における顔ログ処理部によってログされた操作者の顔を含む、ログ実行部によって表示される顔ログウインドウを示す図である。
【図４】上記プログラマブル表示器による操作者の顔画像のログ処理の手順を示すフローチャートである。
【図５】ログされた操作者の顔画像の上記プログラマブル表示器による表示処理の手順を示すフローチャートである。
【図６】前記顔ログ実行部における顔検出部による正面顔画像を検出機能の一構成例を示すブロック図である。
【図７】前記顔ログ実行部における顔検出部による正面顔画像を検出機能の他の構成例を示すブロック図である。
【図８】図７の構成の顔検出部による正面顔の判定処理の手順を示すフローチャートである。
【図９】図７の顔検出部により検出される真正面を向いた顔画像を示す図である。
【図１０】（ａ）は図７の顔検出部により検出される若干右を向いた顔画像を示す図であり、（ｂ）は図７の顔検出部により検出される若干左を向いた顔画像を示す図である。
【図１１】図７の顔検出部により検出される真正面を向いた他の顔画像を示す図である。
【符号の説明】
【０１４２】
１      プログラマブル表示器（操作表示装置）
２      ディスプレイ
３      タッチパネル
８      ＨＭＩ処理部
９２      顔ログ実行部
９２ｂ    顔検出部（正面画像判定手段，顔画像保存手段）
９２ｃ    顔ロギング部（履歴情報保存手段）
９５      顔ログファイル（第２の保存領域）
９６      ログ表示実行部（履歴情表示存手段）
９８      顔画像データベース（第１の保存領域）
１００  顔検出部（正面画像判定手段）
１１０  顔検出部（正面画像判定手段）
１１１  顔部品検出部（顔部品検出手段）
１１２  傾斜度算出部（傾斜度算出手段）
１１３  正面度判定部（正面判定手段）
２０１      顔ログ表示ウインドウ
【図１】
2008112222.tif 000005
【図２】
2008112222.tif 000006
【図３】
2008112222.tif 000007
【図４】
2008112222.tif 000008
【図５】
2008112222.tif 000009
【図６】
2008112222.tif 000010
【図７】
2008112222.tif 000011
【図８】
2008112222.tif 000012
【図９】
2008112222.tif 000013
【図１０】
2008112222.tif 000014
【図１１】
2008112222.tif 000015