以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1は、本発明の実施の形態の1つにおけるMFPの外観を示す斜視図である。図2は、MFPのハードウェア構成の概要を示すブロック図である。図1および図2を参照してMFPについて説明する。MFP(Multi Function Peripheral)100は、画像処理装置の一例であり、メイン回路110と、被写体を撮像するカメラ119と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160とを含む。
撮像手段としてのカメラ119は、操作パネル160の上方で、MFP100の本体に固定して取り付けられる。カメラ119は、レンズおよび光電変換素子を備え、レンズで集光した光を光電変換素子に結像し、光電変換素子は受光した光を光電変換して画像データをCPU111に出力する。光電変換素子は、CMOS(Complementary Metal Oxide Semiconductor)センサー、CCD(Charge Coupled Device)センサー等である。カメラ119が有するレンズは、広角レンズであることが好ましい。また、カメラ119のレンズは、その画角が固定されている。このため、カメラ119の撮像範囲は固定される。カメラ119の撮像範囲がMFP100を操作するユーザーの顔を含むように、カメラ119の画角が設定される。具体的には、カメラ119は、その撮像範囲に、立った姿勢で操作パネル160を操作するユーザーの顔を含むように画角および配置される位置が設定される。ユーザーの身長はバラツキがあるので、ユーザーの顔の高さに所定の範囲を設けるようにして、カメラ119の画角および配置位置を決定すればよい。さらに、カメラ119は、その撮像範囲が、MFP100から少なくとも第1の距離だけ離れた地点で、車椅子に乗ったユーザーの顔を含むように画角および配置される位置が設定される。第1の距離は、カメラ119の解像度、焦点距離などの性能によって定まり、カメラ119から第1の距離だけ離れた位置のユーザーの顔を撮像し、カメラ119が出力する画像に基づいて、ユーザーを認証する処理の精度が、所定の値以上となる距離である。
自動原稿搬送装置120は、原稿トレイ125上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130の原稿読み取り位置まで搬送し、原稿読取部130により原稿に形成された画像が読み取られた原稿を原稿排紙トレイ127上に排出する。自動原稿搬送装置120は、原稿トレイ125に載置される原稿を検出する原稿検出センサーを備える。
原稿読取部130は、原稿を読み取るための矩形状の読取面を有する。読取面は、例えばプラテンガラスにより形成される。自動原稿搬送装置120は、読取面の1つの辺に平行な軸を中心に回転可能にMFP100の本体に接続され、開閉可能である。自動原稿搬送装置120の下方に、原稿読取部130が配置されており、自動原稿搬送装置120が回転して開いた開状態で、原稿読取部130の読取面が露出する。このため、ユーザーは、原稿読取部130の読取面に原稿を載置可能である。自動原稿搬送装置120は、原稿読取部130の読み取り面が露出する開状態と、読み取り面を覆う閉状態とに状態を変化可能である。自動原稿搬送装置120は、自動原稿搬送装置120の開状態を検出する状態検出センサーを備える。
原稿読取部130は、光を照射する光源と、光を受光する光電変換素子とを含み、読取面に載置された原稿に形成されている画像を走査する。読取領域に原稿が載置されている場合、光源から照射された光は原稿で反射し、反射した光が光電変換素子で結像する。光電変換素子は、原稿で反射した光を受光すると、受光した光を電気信号に変換した画像データを生成する。原稿読取部130は、画像データをCPU111に出力する。
給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。画像形成部140は、CPU111により制御され、周知の電子写真方式により画像を形成するものであって、CPU111から入力される画像データに基づいて、給紙部150により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイ155に排出する。CPU111が画像形成部140に出力する画像データは、原稿読取部130から入力される画像データの他、外部から受信されるプリントデータ等の画像データを含む。
メイン回路110は、MFP100の全体を制御するCPU(中央演算処理装置)111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、人感センサー117と、外部記憶装置118と、を含む。CPU111は、カメラ119、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる画像データを一時的に記憶する。
操作パネル160は、MFP100の上面に設けられる。操作パネル160は、表示部161と操作部163とを含む。表示部161は、例えば、液晶表示装置(LCD)であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。なお、LCDに代えて、画像を表示する装置であれば、例えば、有機EL(electroluminescence)ディスプレイを用いることができる。
操作部163は、タッチパネル165と、ハードキー部167とを含む。タッチパネル165は、静電容量方式である。なお、タッチパネル165は、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。
タッチパネル165は、その検出面が表示部161の上面または下面に表示部161に重畳して設けられる。ここでは、タッチパネル165の検出面のサイズと、表示部161の表示面のサイズとを同じにしている。このため、表示面の座標系と検出面の座標系は同じである。タッチパネル165は、ユーザーが、表示部161の表示面を指示する位置を検出面で検出し、検出した位置の座標をCPU111に出力する。表示面の座標系と検出面の座標系は同じなので、タッチパネル165が出力する座標を、表示面の座標に置き換えることができる。
ハードキー部167は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。タッチパネル165は、表示部161の表示面中でユーザーにより指示された位置を検出する。ユーザーがMFP100を操作する場合は直立した姿勢となる場合が多いので、表示部161の表示面、タッチパネル165の操作面およびハードキー部167は、上方を向いて配置される。ユーザーが表示部161の表示面を容易に視認することができ、ユーザーが指で操作部163を容易に指示することができるようにするためである。
通信I/F部112は、ネットワークにMFP100を接続するためのインターフェースである。通信I/F部112は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで、ネットワークに接続された他のコンピューターまたはデータ処理装置と通信する。なお、通信I/F部112が接続されるネットワークは、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワークは、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)、インターネット等であってもよい。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶するとともに、画像形成部140でプリント可能なプリントデータに変換して、画像形成部140に出力する。これにより、画像形成部140は、ファクシミリ部116により受信されたファクシミリデータの画像を用紙に形成する。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
人感センサー117は、MFP100から所定の範囲内の人を検出し、人までの距離を計測する。人感センサー117は、計測した距離をCPU111に出力する。本実施の形態においては、人感センサー117として赤外線センサーを用いている。なお、人を検出し、検出した人までの距離を計測できれば、赤外線センサーとは別に、焦電センサーを用いてもよい。
外部記憶装置118は、CPU111により制御され、CD−ROM(Compact Disk Read Only Memory)118A、または半導体メモリが装着される。本実施の形態においては、CPU111は、ROM113に記憶されたプログラムを実行する例を説明するが、CPU111は、外部記憶装置118を制御して、CD−ROM118AからCPU111が実行するためのプログラムを読出し、読み出したプログラムをRAM114に記憶し、実行するようにしてもよい。
なお、CPU111が実行するためのプログラムを記憶する記録媒体としては、CD−ROM118Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリ等の媒体でもよい。さらに、CPU111がネットワークに接続されたコンピューターからプログラムをダウンロードしてHDD115に記憶する、または、ネットワークに接続されたコンピューターがプログラムをHDD115に書込みするようにして、HDD115に記憶されたプログラムをRAM114にロードしてCPU111で実行するようにしてもよい。ここでいうプログラムは、CPU111により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図3は、本実施の形態におけるMFPによる認証を説明する模式図である。図3を参照して、MFP100を側面方向から見た場合のカメラ119の撮像範囲をハッチングで示している。カメラ119の撮像範囲300は、MFP100に近いほど下限の位置が高くなる。このため、車椅子に乗るユーザーAがMFP100から距離L1に位置する場合には、ユーザーAの顔はカメラ119の撮像範囲に納まっている。一方、車椅子に乗るユーザーAがMFP100の操作パネル160を操作可能な位置であるMFP100から距離L2に位置する場合には、ユーザーAの顔はカメラ119の撮像範囲から外れている。本実施の形態におけるMFP100は、車椅子に乗るユーザーAがMFP100から距離L1の位置に到達し、操作パネル160を操作した時点で、ユーザーAを顔認証を可能とする。具体的には、ユーザーがMFP100から距離L1に位置した時に撮像した画像に基づいてユーザーを顔認証する。
図4は、MFPが備えるCPUが有する機能の一例を示す図である。図4に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118Aに記憶された認証プログラムを実行することにより、CPU111に形成される機能である。
図4を参照して、CPU111は、撮像制御部51と、第1認証部53と、操作検出部55と、タイミング決定部57と、記憶制御部59と、対象特定部61と、画像選択部63と、距離検出部65と、予測部67と、第2認証部69と、を含む。
撮像制御部51は、カメラ119を制御して、カメラ119に撮像させる。カメラ119は、撮像すると静止画像を出力するので、撮像制御部51は、カメラ119が出力する静止画像を取得する。撮像制御部51は、後述する第1認証部53から第1撮像指示が入力される場合、カメラ119に撮像させ、カメラ119が出力する静止画像を第1認証部53に出力する。撮像制御部51は、後述するタイミング決定部57から第2撮像指示が入力される場合、カメラ119に撮像させ、カメラ119が出力する静止画像を記憶制御部59に出力する。
記憶制御部59は、撮像制御部51から静止画像が入力されることに応じて、静止画像を撮像日時と関連付けてHDD115に記憶する。撮像日時は、撮像制御部51から静止画像が入力された時点の日時とすればよい。
操作検出部55は、操作部163を制御して、ユーザーが操作部163に入力する操作を検出する。例えば、ユーザーがタッチパネル165に触れる場合、タッチパネル165が表示部161の表示面中でユーザーが触れた位置を検出し、検出された位置を示す位置情報を出力するので、操作検出部55はタッチパネル165が出力する位置情報を検出すると、ユーザーによる操作を検出する。また、ユーザーがハードキー部167の備える複数のハードキーのいずれかを指示すると、ハードキー部167が指示されたハードキーを識別するためのキー識別情報を出力するので、操作検出部55は、ハードキー部167が出力するキー識別情報を検出すると、ユーザーによる操作を検出する。また、操作検出部55は、自動原稿搬送装置120が備える原稿検出センサーまたは開状態検出センサーがONになる場合、ユーザーの操作を検出する。
操作検出部55は、ユーザーによる操作を検出することなく予め定められた待機期間を経過した後、ユーザーによる操作を検出することに応じて、ユーザーによる操作が開始されたことを示す操作開始信号を第1認証部53に出力する。
第1認証部53は、操作検出部55から操作開始信号が入力されることに応じて、撮像制御部51に第1撮像指示を出力し、撮像制御部51から出力される静止画像を取得する。第1認証部53は、静止画像に基づいてユーザーを認証する。静止画像中に含まれる被写体の顔の部分を抽出し、予め登録されたユーザーの認証情報と比較することにより認証する。被写体を撮像して得られる画像に基づいてユーザーを認証する顔認証処理の技術は、周知の技術を用いることができる。例えば、認証情報は、ユーザーの顔を撮像して得られる画像そのものであってもよいし、顔の画像から抽出された特徴データであってもよい。認証情報が画像の場合、第1認証部53は、静止画像中から抽出された顔の部分と、認証情報の画像とを比較することにより、2つの画像が類似しているか否かを判断する。認証情報が顔の特徴部分を数値化した特徴データの場合は、静止画像中から抽出された顔の部分から特徴部分を抽出し、それを数値化した値と、認証情報で予め定められた特徴データとを比較することにより類似しているか否かを判断する。特徴データは、例えば、顔の部位の形状、複数の部位の相対的な位置関係、複数の部位それぞれの色などを数値化した値である。また、特徴部分は、虹彩としてもよい。
第1認証部53は、認証結果を操作検出部55に出力する。第1認証部53は、撮像制御部51から取得した静止画像から顔の部分を抽出できない場合、ユーザーを認証することなく、第2認証部69に認証指示を出力する。撮像制御部51から取得した静止画像から顔の部分を抽出できない場合は、認証に必要な顔の部分を含んでいない場合であり、静止画像に顔の全体を含んでいない場合の他、顔の部分の一部を含んでいるが、全体を含んでいない場合を含む。また、認証情報を、特徴部分を虹彩とした特徴データとする場合には、第1認証部53は、静止画像に虹彩を含んでいない場合に第2認証部69に認証指示を出力する。
距離検出部65は、MFP100の周辺に存在するユーザーとの間の距離を検出する。距離検出部65は、人感センサー117を制御して、所定時間間隔で、MFP65の周辺にユーザーが存在するか否かを検出する。距離検出部65は、MFP65の周辺にユーザーを検出する場合には、その後、ユーザーを検出しなくなるまで、人感センサー117に所定時間間隔でユーザーとの間の距離を測定させ、測定された距離をタイミング決定部57および予測部67に出力する。距離検出部65は、人感センサー177によってMFP65の周辺にユーザーを検出しない場合はタイミング決定部57に何も出力しない。
タイミング決定部57は、距離検出部65から距離が入力されることに応じて、撮像制御部51に被写体を撮像させるタイミングを決定し、決定されたタイミングで撮像制御部51に第2撮像指示を出力する。タイミング決定部57は、被写体が所定の距離を移動するごとに撮像制御部51に第2撮像指示を出力する。このため、タイミング決定部57は、距離検出部65から入力される距離が、MFP100からの距離が所定の距離だけ増加する複数の距離のいずれと等しくなると、撮像制御部61に第2撮像指示を出力する。また、タイミング決定部57は、距離検出部65から入力される2以上の距離に基づいて、被写体の移動速度を算出し、算出された移動速度に基づいて、被写体が所定の距離を移動するタイミングを決定するようにしてもよい。これにより、記憶制御部59に複数の静止画像が記憶され、複数の静止画像それぞれが撮像された時点における被写体とMFP100との間の距離は、静止画像より前に記憶された静止画像が撮像された時点における被写体とMFP100との間の距離よりも所定の距離だけ短く、静止画像より後に記憶された静止画像が撮像された時点における被写体とMFP100との間の距離よりも所定の距離だけ長い。
従って、タイミング決定部57が第2撮像指示を出力する間隔は、移動速度が遅い場合には、移動速度が速い場合に比較して長くなる。ただし、タイミング決定部57は、被写体の移動速度がマイナスの場合、換言すれば、移動速度が、被写体がMFP100から離れる方向の場合はタイミングを決定しない。
対象特定部61は、記憶制御部59によりHDD115に記憶された複数の静止画像それぞれにおいて、HDD115に静止画像が記憶されるごとに、その静止画像から認証対象となる顔部分を抽出する。例えば、顔、目、鼻、口、眉毛等の顔の各部分の形状および色等の特徴量を予め定めておき、特徴量を参照して、静止画像中の顔部分を抽出する。対象特定部61は、複数の静止画像間で、同一の被写体を、静止画像中の位置、形状等で特定し、顔部分の面積の変化を検出する。対象特定部61は、顔部分の面積が大きくなっていない被写体の顔部分を認証対象に特定しない。時間の経過とともに顔の部分の面積が大きくならない場合は、その被写体はMFP100に向かって移動していない可能性が高く、MFP100を操作するユーザーの可能性が低いからである。
対象特定部61は、静止画像が顔部分を1つ含む場合は、その顔部分を認証対象に特定する。対象特定部61は、静止画像が複数の被写体の顔部分を含む場合は、面積が最大の顔部分を認証対象に特定する。面積が最大の顔部分のユーザーは、面積が最大でない顔部分のユーザーよりもMFP100との間の距離が短い確率が高く、MFP100を操作しようとしているユーザーである確率が高いからである。
対象特定部61は、静止画像ごとに認証対象を特定し、静止画像を識別するための画像識別情報と、認証対象の静止画像中の領域を示す領域識別情報との組を画像選択部63に出力する。ここでは、HDD115に記憶された静止画像に関連付けて領域識別情報を記憶する。対象特定部61は、認証対象を特定しない場合、認証対象を特定しなかった静止画像を識別するための画像識別情報を画像選択部63に出力する。
対象特定部61は、静止画像が記憶制御部59によりHDD115に記憶されるごとに、認証対象を特定する。対象特定部61は、静止画像から認証対象を特定していた状態からその認証対象と同一の認証対象を特定できない状態に変化することに応じて、予測部67に予測指示を出力する。対象特定部61は、静止画像が1つの顔部分を含む場合には、静止画像が顔部分を含む状態から顔部分を含まない状態に変化すると、予測指示を出力する。静止画像が複数の顔部分を含む場合には、対象特定部61は、静止画像から1つの認証対象を特定する。
上述したように対象特定部61は、第1の静止画像に複数の顔部分を含んでいる場合、1つの顔部分を認証対象に特定する。例えば、第1の静止画像が第1の顔部分と第2の顔部分を含んでいる場合、対象特定部61が第1の顔部分を認証対象に特定したとする。この場合、第1の顔部分に対応するユーザーがカメラ119の撮像範囲外に移動し、第2の顔部分に対応するユーザーがカメラ119の撮像範囲内にとどまる場合がある。この場合、第1の静止画像の後に撮像された第2の静止画像は、第2の顔部分を含むが、第1の顔部分を含まない。対象特定部61は、第1の静止画像で認証対象に特定した第1の顔部分が第2の静止画像に第1の顔部分が存在しない場合に、第2の顔部分を認証対象に特定するとともに、予測部67に予測指示を出力する。第2の静止画像に含まれる第2の顔部分を、第1の静止画像に含まれる第1の顔部分と比較することにより、第2の静止画像に、第1の静止画像に含まれていた第1の顔部分が存在しないことを判断すればよい。
画像選択部63は、第2認証部69から選択指示が入力されることに応じて、記憶制御部59によりHDD115に記憶された複数の静止画像のうちから1つを決定し、決定された静止画像と、認証対象の領域を示す領域情報との組を第2認証部69に出力する。第2認証部69から選択指示が入力される場合、その時点でカメラ119が出力する静止画像には顔の部分の全体が含まれない。このため、画像選択部63は、HDD115に記憶された複数の静止画像のうち、対象特定部61により認証対象が特定された静止画像を選択する。ただし、画像選択部63は、認証対象の顔部分の面積が増加しない静止画像は選択しない。顔部分の面積が増加しない場合は、被写体がMFP100の前を横切る場合等、MFP100に近づいていない可能性が高いからである。これにより、MFP100に近づいていないユーザーを認証しないようにすることができる。
画像選択部63は、選択の対象に決定された複数の静止画像のうちから認証対象となる顔部分の面積が最大の静止画像を選択する。面積が最大であれば、認証のための情報量が多くなり、認証精度が向上する。静止画像中の顔部分は、静止画像中で人の首より上側の頭部のうち肌色の部分である。したがって、静止画像中で肌色の部分の面積が最大の静止画像を選択するのが好ましい。肌色の部分の面積が大きいほど、認証に用いる情報量が多くなるからである。また、髪の毛で顔が隠れる場合、または、被写体の顔とカメラ119との間に障害物が存在する場合、被写体が下を向いた状態でカメラ119で撮像された場合等は、その状態で撮像された静止画像を選択しないようにすることができる。
第2認証部69は、第1認証部53から認証指示が入力されることに応じて、画像選択部63に選択指示を出力し、画像選択部63により選択された静止画像の領域情報で特定される領域の部分を、認証情報と比較することにより、ユーザーを認証し、認証結果を操作検出部55に出力する。第2認証部69による認証は、処理対象とする静止画像が、操作検出部55が操作開始信号を出力した後にカメラ119が出力する静止画像ではなく、操作検出部55が操作開始信号を出力する前に、カメラ119が出力する静止画像である点で、第1認証部53と異なるが、認証情報との比較は同じである。第2認証部69は、ユーザーの認証が終了すると、HDD115に記憶制御部59により記憶された静止画像を消去する。
操作検出部55は、第1認証部53または第2認証部53からユーザーの認証に成功することを示す認証結果が入力される場合、その後に操作部163に入力される操作を検出する場合、検出された操作を認証されたユーザーにより入力された操作として受け付けるが、ユーザーの認証に失敗したことを示す認証結果が入力される場合、その後に操作部163に入力される操作を検出する場合、検出された操作をゲストユーザーにより入力された操作として受け付ける。ゲストユーザーが入力可能な操作は、予め定められた操作に限定される。
第2認証部69は、合成画像生成部71を含んでもよい。画像選択部63から入力される静止画像において領域情報で特定される領域の部分は、顔の全体を含む画像である。このため、画像選択部63から入力される静止画像よりも後に撮像されてHDD115に記憶された静止画像であって、顔の全体ではなく一部を含む静止画像が記憶制御部59によってHDD115に記憶されている場合がある。そのような静止画像は、画像選択部63から入力される静止画像よりも後に撮像されているので、画像選択部63から入力される静止画像が記憶される時点よりも、被写体とMFP100との間の距離が短い可能性が高い。被写体とMFP100との間の距離が短いほど、顔の部分の面積が大きく、解像度の高い画像を得ることができる。合成画像生成部71は、HDD115に記憶された静止画像であって、被写体の顔の一部を含む最新の静止画像を選択し、選択された静止画像中の顔の一部を特定し、顔の残りの部分を画像選択部63から入力される静止画像から抽出し、2つの部分のサイズを調整して合成することにより合成画像を生成する。なお、ここでは、HDD115に記憶された静止画像から被写体の顔の一部を含む最新の静止画像を選択するようにしたが、最新ではなく別の静止画像を選択するようにしてもよいし、複数の静止画像を選択するようにして、複数の静止画像それぞれから顔の複数の部分を抽出して合成するようにしてもよい。
予測部67は、対象特定部61から予測指示が入力されることに応じて、対象特定部61により対象が特定されなくなってから被写体がMFP100に到達するまでの時間を予測する。予測部67は、対象特定部61から予測指示が入力された時点の被写体までの距離と、被写体の移動速度を、距離検出部65から入力される距離に基づいて算出する。そして、予測部67は、算出された距離と移動速度からMFP100に到達するまでの時間を算出する。予測部67は、対象特定部61から予測指示が入力されることに応じて、算出された時間を制限期間として第2認証部69に出力する。なお、制限時間を、算出された時間に、予め定められた時間を余裕期間として付加した時間としてもよい。
第2認証部69は、予測部67から制限期間が入力された時点から制限期間が経過するまでに、第1認証部53から認証指示が入力されない場合は、認証しない。
図5は、撮像制御処理の流れの一例を示すフローチャートである。撮像制御処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118Aに記憶された認証プログラムを実行することにより、CPU111により実行される処理である。図5を参照して、CPU111は、ユーザーを検出したか否かを判断する(ステップS01)。赤外線センサーがユーザーを検出したならば処理をステップS02に進めるが、そうでなければ処理をステップS01に戻す。
ステップS02においては、カメラ119を制御して撮像させる。そして、カメラ119が出力する静止画像を取得する(ステップS03)。次のステップS04においては、静止画像から顔部分を抽出し、顔部分が抽出できたか否かを判断する。静止画像が複数の被写体それぞれの顔部分を含む場合には、複数の顔部分を抽出する。顔部分が抽出できたならば処理をステップS05に進めるが、そうでなければ処理をステップS16に進める。
ステップS05においては、ステップS04において抽出された1以上の顔部分のうちから面積が増加しない顔部分を処理対象から除外する。過去に撮像された時点よりも顔部分の面積が増加する場合はMFP100に被写体が近づいていると判断でき、顔部分の面積が増加しない場合は、MFP100の前を被写体が横切る場合等、MFP100に被写体が近づいていない可能性が高い。後述するステップS11またはステップS22において、ステップS02においてカメラ119が撮像する前に、カメラ119によって撮像して得られた静止画像がHDD115に記憶されている。例えば、ステップS04において抽出された顔部分を処理対象に設定し、HDD115に記憶された静止画像のうち撮像日時が最も新しい静止画像中から比較対象となる顔部分を決定し、処理対象となる顔部分の面積と、比較対象の顔部分の面積を比較することによって、面積が増加するか否かを判断する。比較対象の顔部分は、静止画像中に顔部分が複数存在する場合には、処理対象の顔部分の静止画像中の位置に近い位置の顔部分を比較対象の顔部分に決定するようにすればよい。
次のステップS06においては、処理対象とするべき顔部分が存在するか否かを判断する。処理対象とするべき顔部分が存在するならば処理をステップS07に進めるが、そうでなければ処理をステップS16に進める。ステップS07においては、処理対象とするべき顔部分が複数か否かを判断する。複数ならば処理をステップS08に進めるが、そうでなければステップS08をスキップして処理をステップS09に進める。ステップS08においては、複数の顔部分のうちから面積が最大の顔部分を選択し、処理をステップS09に進める。
ステップS09においては、処理がステップS07から進む場合、静止画像から抽出された1つの顔部分を認証対象に決定し、処理をステップS10に進め、処理がステップS08から進む場合、面積が最大の顔部分を認証対象に決定し、処理をステップS10に進める。ステップS10においては、検出フラグに「1」を設定し、処理をステップS11に進める。検出フラグは、静止画像から認証対象が決定されたか否かを示すフラグであり、静止画像から認証対象が決定される場合に「1」に設定され、静止画像から認証対象が決定されない場合に「0」に設定される。ステップS11においては、ステップS03において取得された静止画像と、認証対象と、撮像日時とを関連付けてHDD115に記憶する。認証対象は、認証対象に決定された顔部分の静止画像中の位置を示す位置情報である。
ステップS12においては、ユーザーまでの距離を測定し、処理をステップS13に進める。赤外線センサーの出力に基づいて、ユーザーまでの距離を測定する。ステップS13においては、移動速度を算出する。異なる時刻に測定された2つの距離から移動速度を算出する。次のステップS14においては、撮像時刻を予測し、処理をステップS15に進める。ステップS13において算出された移動速度を用いて、ユーザーが予め定められた距離を移動する時間を算出し、現在時刻よりも算出された時間だけ後の時刻を撮像時刻として予測する。そして、現在時刻が予測された撮像時刻になるまで待機状態となり(ステップS15でNO)、現在時刻が予測された撮像時刻になると(ステップS15でYES)、処理をステップS02に戻す。
一方、処理がステップS16に進む場合は、静止画像から顔部分が抽出されない場合(ステップS04でNO)、または、静止画像から顔部分が抽出されるが、その顔部分の面積が増加しない場合(ステップS06でNO)である。ステップS16においては、検出フラグが「1」に設定されているか否かを判断する。検出フラグが「1」に設定されているならば処理をステップS17に進めるが、そうでなければ処理をステップS22に進める。ステップS17においては、タイマーTの計時を開始し、処理をステップS18に進める。タイマーTは、静止画像から認証対象が決定された状態から、静止画像から認証対象が決定されない状態に変化してからの経過時間を計時する。
ステップS18においては、ユーザーまでの距離を測定し、処理をステップS19に進める。赤外線センサーの出力に基づいて、ユーザーまでの距離を測定する。ステップS19においては、移動速度を算出する。異なる時刻に測定された2つの距離から移動速度を算出する。次のステップS20においては、制限時間を決定し、処理をステップS21に進める。ステップS13において算出された移動速度で、ステップS19において測定して得られた距離を除算した値を制限時間に決定する。
次のステップS21においては、検出フラグを「0」に設定し、処理をステップS22に進める。ステップS22においては、ステップS03において取得された静止画像と撮像日時とを関連付けてHDD115に記憶し、処理をステップS01に戻す。
図6は、認証処理の流れの一例を示すフローチャートである。認証処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118Aに記憶された認証プログラムを実行することにより、CPU111により実行される処理である。また、CPU111は、認証処理を、図5に示した撮像制御処理と並列で実行する。図6を参照して、CPU111は、操作を検出したか否かを判断する(ステップS31)。ここでの操作は、ユーザーが操作パネル160または自動原稿搬送装置120に対する操作である。具体的には、タッチパネル165がユーザーが指示する位置を検出する場合、ハードキー部167が複数のハードキーのいずれかの押下を検出する場合に操作パネル160に対する操作を検出する。また、自動原稿搬送装置120が備える開状態検出センサーまたは原稿検出センサーがONになると自動原稿搬送装置120に対する操作を検出する。操作を検出するまで待機状態となり(ステップS31でNO)、操作を検出したならば処理をステップS32に進める。
ステップS32においては、カメラ119を制御して撮像させる。そして、カメラ119が出力する静止画像を取得する(ステップS33)。次のステップS34においては、静止画像から顔部分を抽出し、顔部分の全体が抽出できたか否かを判断する。顔部分の全体が抽出できたならば処理をステップS35に進めるが、そうでなければ処理をステップS36に進める。ステップS35においては、抽出された顔部分を認証情報と比較して認証し、処理をステップS44に進める。
処理がステップS36に進む場合、タイマーTが制限時間以下か否かを判断する。タイマーTは、図5の撮像制御処理のステップS17において計時が開始される。制限時間は、図5のステップS20において決定される。タイマーTが制限時間以下ならば処理をステップS37に進めるが、そうでなければ処理をステップS46に進める。
ステップS37においては、HDD115に記憶された静止画像のうちから認証対象が関連付けられた静止画像を抽出する。次のステップS38においては、抽出された静止画像のうちから撮像日時が最新のものから順に所定数を処理対象として抽出する。そして、所定数の静止画像のうちから認証対象のサイズが最大の静止画像を決定する(ステップS39)。
次のステップS40においては、ステップS33において取得された静止画像に、顔部分の一部が含まれるか否かを判断する。顔部分の一部が含まれるならば処理をステップS41に進めるが、そうでなければ処理をステップS43に進める。ステップS41においては、ステップS33において取得された静止画像から顔部分の一部を抽出し、処理をステップS42に進める。ステップS42においては、ステップS41において抽出された顔部分の一部と、ステップS39において決定された静止画像に含まれる認証対象の顔部分とに基づいて、合成画像を生成し、処理をステップS43に進める。ステップS41において抽出された顔部分の一部を第1の部分とし、ステップS39において決定された静止画像に含まれる認証対象の顔部分のうち第1の部分以外の部分を第2の部分とし、第1の部分と第2の部分とをサイズを調整して合成することにより、合成画像を生成する。
ステップS43においては、顔部分を認証情報と比較して認証し、処理をステップS44に進める。処理がステップS40から進む場合には、ステップS39において決定された静止画像に含まれる認証対象の顔部分を認証情報と比較して認証する。処理がステップS42から進む場合には、ステップS42において生成された合成画像を認証情報と比較して認証する。
ステップS44においては、ステップS35またはステップS43における認証の結果によって処理を分岐させる。認証に成功したならば処理をステップS45に進めるが、そうでなければ処理をステップS46に進める。ステップS45においては、認証されたユーザーを操作ユーザーに設定し、認証処理を終了する。ステップS46においては、ゲストユーザーを操作ユーザーに設定し、処理を終了する。
<第1の変形例>
対象特定部61は、静止画像が複数の被写体の顔部分を含む場合は、撮像時期が前後の2つの静止画像間で複数の顔部分それぞれの面積を比較し、面積の増加率が最大の顔部分を認証対象に特定する。面積の増加率が最大の顔部分に対応する被写体は、MFP100に近づく速度が最大であり、MFP100を操作しようとユーザーである可能性が高い。例えば、静止画像に含まれる複数の顔部分それぞれについて、その静止画像の前に記憶された静止画像中で対応する顔部分を、画像中の位置、形状および色に基づいて特定し、2つの顔部分の面積の増加率を算出する。
対象特定部61は、面積のみで認証対象を特定するようにしてもよいし、面積の増加率のみで認証対象と特定するようにしてもよいし、面積と増加率とから認証対象を特定するようにしてもよい。面積と増加率とから認証対象を特定する場合、例えば、面積が最大の顔部分を認証対象に特定し、面積が最大の顔部分と、それより面積が小さい1以上の顔部分とで、面積の差が所定値以下の場合には、面積の差が所定値以下の2以上の顔部分のうち面積の増加率が最大の顔部分を認証対象とする。
複数の被写体のうち顔の部分の面積の増加率が最大の被写体を認証対象に特定するので、画像処理装置に近づく速度の速い被写体を認証することができる。
<第2の変形例>
画像選択部63は、選択の対象に決定された複数の静止画像のうちから認証対象となる顔の部分において最も正面を向く顔を含む静止画像を選択するようにしてもよい。正面を向く画像が、正面を向かない画像に比較して、認証のための情報、例えば、特徴量が正確に得ることができ、認証の精度をより高くすることができる。顔の部分の画像から顔の向く方向を検出する方法は、周知の技術を用いることができるが、例えば、顔の部分の画像から目、鼻、口の部分を抽出し、顔の輪郭に対して、目、鼻、口が配置される位置関係から決定する。
<第3の変形例>
画像選択部63は、選択の対象に決定された複数の静止画像のうちからコントラストが最大の静止画像を選択するようにしてもよい。コントラストが大きい画像からは、認証のための特徴データをより正確に得ることができるからである。
<第4の変形例>
画像選択部63は、選択の対象に決定された複数の静止画像のうちから認証対象となる顔の部分の静止画像中の位置が、最も中心に近い静止画像を選択するようにしてもよい。静止画像は、画像の周辺部分に比較して中心の部分はレンズによる歪が少ないので、認証のための特講データをより正確に得ることができるからである。
<第5の変形例>
上述した実施の形態においては、ユーザーの検出およびユーザーとの間の距離を赤外線センサーで計測するようにしたが、焦電センサーを用いるようにしてもよい。この場合には、距離を測定することができないので、距離検出部65は、焦電センサーを制御して、焦電センサーがユーザーを検出している間、タイミング決定部57にユーザーを検出していることを示す存在信号を出力する。タイミング決定部57は、距離検出部65からユーザーを検出していることを示す存在信号が入力されている間、所定時間間隔で、撮像制御部51に撮像指示を出力する。これにより、カメラ119が、MFP100から所定の距離の範囲内にユーザーが存在する間、所定時間間隔で被写体を撮像することになる。また、予測部67は、制限期間を予め定めておき、対象特定部61から予測指示が入力されることに応じて、予め定められた制限期間を第2認証部69に出力する。なお、人の存在を検出することができれば、焦電センサーに限らない。
<第6の変形例>
本実施の形態においては、カメラ119は、静止画像を出力する例を説明したが、動画像を出力するようにしてもよい。この場合には、動画像に含まれる複数のフレームそれぞれを静止画像と同様に解析して、MFP100の周辺に存在する人を検出することができる。また、第5の変形例における焦電センサーに代えて、カメラ119を用いることができ、フレーム中の顔画像のサイズの変化から、被写体がMFP100に近づいているのか、遠ざかっているのかを判断することができる。
<第7の変形例>
上述した実施の形態においては、予測部67により予測された予測時刻以前に操作を検出しない場合には、第2認証部69により認証をしないようにした。第7の変形例においては、予測部67により予測された予測時刻以前に操作を検出しない場合であっても、第2認証部69は認証するが、予測時刻からの経過時間に応じて、認証レベルを低下させる。認証レベルは、認証精度を示し、認証精度は、例えば、静止画像中の顔部分と認証情報とを比較した比較結果で、一致度の割合を示す。第2認証部69は、認証レベルを低下させる場合、認証精度が低い場合でも認証する。
<第8の変形例>
認証精度を複数の段階で区切った複数の認証レベルを設けておき、第2認証部69による認証の結果、認証精度が属する認証レベルによって、操作部163に入力可能な操作を異ならせる。例えば、第2認証部69は、複数の認証レベルごとに、実行可能な処理を割り当てたテーブルを予め準備しておく。テーブルは、例えば、認証精度の高い認証レベルほど、多くの処理を割り当てる。第2認証部69が認証の結果、認証精度を操作検出部55に出力し、操作検出部55は、認証精度が属する認証レベルに割り当てられた処理を実行するための操作を操作部163で受け付け可能に設定する。
<第9の変形例>
上述した実施の形態においては、カメラ119が撮像して出力する静止画像を記憶するようにしたが、対象特定部61により認証対象に特定された被写体の顔の部分を静止画像から切り出して、切り出した顔の部分の画像を記憶するようにしてもよい。これより、記憶する画像のデータ量を少なくすることができる。
以上説明したように、本実施の形態におけるMFP100は、画像処理装置として機能し、ユーザーによる操作を受け付ける操作時の前にカメラ119で撮像して得られる静止画像を記憶しておき、操作時の後にカメラ119で撮像して得られる静止画像が顔部分を含んでいる場合、その静止画像に基づいて、ユーザーを認証し、操作時の後にカメラ119で撮像して得られる静止画像が顔部分を含んでいいない場合、操作時の前にカメラ119で撮像して得られる静止画像に基づいて、ユーザーを認証する。このため、MFP100の操作パネル160を操作する位置で撮像されないが、MFP100から離れた位置、例えば、MFP100から第1の距離だけ離れた位置で撮像されるユーザーを認証することができる。
また、MFP100は、HDD115に記憶された複数の静止画像のうちから認証対象となる被写体の顔の部分の面積が最大の画像を選択し、認証するので、認証の精度をできるだけ高くすることができる。
また、MFP199は、HDD115に記憶された複数の静止画像のうちから認証対象となる被写体の顔が正面を向く静止画像を選択し、認証するので、認証の精度をできるだけ高くすることができる。
また、MFP199は、HDD115に記憶された複数の静止画像のうちからコントラストが最大の静止画像を選択し、認証するので、認証の精度をできるだけ高くすることができる。
また、MFP199は、HDD115に記憶された複数の静止画像のうちから認証対象となる被写体の肌色の部分の面積が最大の静止画像を選択し、認証するので、認証の精度をできるだけ高くすることができる。
また、MFP199は、HDD115に記憶された複数の静止画像のうちから認証対象となる被写体が最も中心に配置された静止画像を選択するので、歪の少ない画像を用いて認証することができ、認証の精度をできるだけ高くすることができる。
また、MFP199は、HDD115に記憶された複数の静止画像のうち認証対象となる被写体の顔の部分の面積に所定の変化がない場合には、複数の画像を選択しないので、MFP100に近づいていないユーザーを認証しないようにすることができる。
また、MFP100は、静止画像が複数の被写体を含む場合、複数の被写体のうちから1つを認証対象に特定するので、認証が容易となる。特に、MFP100は、顔の部分の面積が最大の被写体を認証対象に特定するので、MFP100に最も近い被写体を認証することができる。
また、MFP100は、カメラ119で一定時間ごとに撮像して得られる静止画像を記憶するので、操作時の前にカメラ119の撮像範囲に含まれるユーザーを撮像して得られる静止画像を記憶することができる。
また、MFP100は、ユーザーが所定の距離を移動するごとにカメラ119で撮像して得られる静止画像を記憶するので、操作時の前にカメラ119の撮像範囲に含まれるユーザーを撮像して得られる静止画像を記憶することができる。
また、MFP100は、撮像時の前にカメラ119により撮像された複数の静止画像のうち第1の画像に含まれる被写体の一部を、第1の画像よりも後に撮像された第2の画像に含まれる被写体の部分で補完した合成画像に基づいて、認証するので、認証の精度をより高くすることができる。
また、MFP100は、操作時の前にカメラ119が認証対象となる被写体を含む静止画像を最後に出力してからユーザーが操作パネル160を操作可能になるまでの到達時刻を予測し、予測された到達時刻後は、ユーザーを認証しないので、誤って別のユーザーを認証するのを防止することができる。
なお、上述した実施の形態においては、画像処理装置の一例としてMFP100を例に説明したが、図5に示した撮像制御処理および図6に示した認証処理をMFP100に実行させる認証方法および、認証方法をMFP100を制御するCPU111に実行させる認証プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。