(57)【要約】【課題】眼鏡着用者の顔画像の不自然さを解消する画像処理装置、画像処理方法、及びプログラムを提供する【解決手段】顔が撮像された画像を取得し、当該取得した画像内に眼鏡のレンズ部分があれば、当該眼鏡のレンズ部分内の画素がどれであるかを推定する。そして当該推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行う画像処理装置である。【選択図】図１
2015118617.tif 000002
【特許請求の範囲】
【請求項１】
顔が撮像された画像を取得する取得手段、
前記取得した画像内に眼鏡のレンズ部分があれば、当該眼鏡のレンズ部分内の画素がどれであるかを推定する推定手段、及び、
前記推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行う変換手段、
を含む画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、さらに、前記取得した画像内に撮像された顔の輪郭線を抽出する抽出手段を含み、
前記推定手段は、当該抽出された顔の輪郭線を用いて、前記取得した画像内に眼鏡のレンズ部分があると判断されたときに、当該眼鏡のレンズ部分内の画素がどれであるかを推定する画像処理装置。
【請求項３】
請求項１または２記載の画像処理装置であって、
前記取得した画像内に撮像された顔の輪郭線を抽出する抽出手段を含み、
前記変換手段は、前記眼鏡のレンズ部分内の画像部分を拡大または縮小することで、眼鏡のレンズ部分内の他の位置の画素に写像する変換を行い、当該変換手段は、前記抽出した輪郭線を連続させるよう拡大または縮小率を設定する画像処理装置。
【請求項４】
請求項３記載の画像処理装置であって、
前記推定手段は、さらに、推定した眼鏡のレンズ部分のうちから、眼鏡のレンズ中心に相当する位置を推定し、
前記変換手段は、拡大または縮小を行う際に、前記推定された眼鏡のレンズ中心に相当する位置を中心として放射状に、拡大または縮小を行う画像処理装置。
【請求項５】
請求項３記載の画像処理装置であって、
さらに、前記顔の部分のうちから、瞳の画像部分を検出する手段をさらに含み、
前記変換手段は、拡大または縮小を行う際に、前記検出された瞳の画像部分の中心に相当する位置を中心として放射状に、拡大または縮小を行う画像処理装置。
【請求項６】
請求項１または２記載の画像処理装置であって、
眼鏡のレンズの種類ごとに、当該レンズ部分内の像の写像に係るパラメータである変換テーブルデータを取得する手段をさらに含み、
前記変換手段は、前記推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズの種類に対応する前記変換テーブルデータを用いて、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行う画像処理装置。
【請求項７】
請求項６記載の画像処理装置であって、
前記取得した画像内に撮像された顔の輪郭線を抽出する抽出手段を含み、
前記変換手段は、前記眼鏡のレンズの種類に対応する変換テーブルデータとして、前記取得した変換テーブルデータのうち、前記抽出した輪郭線が連続となると判断される変換テーブルデータを選択して用いる画像処理装置。
【請求項８】
請求項１から７のいずれか一項に記載の画像処理装置であって、
前記変換手段は、前記画像に含まれる顔を正面向きに補正してから変換を行う画像処理装置。
【請求項９】
変換手段が、顔が撮像された画像を取得するステップ、
推定手段が、前記取得した画像内に眼鏡のレンズ部分があれば、当該眼鏡のレンズ部分内の画素がどれであるかを推定するステップ、及び、
変換手段が、前記推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行うステップ
を含む画像処理方法。
【請求項１０】
コンピュータを、
顔が撮像された画像を取得する取得手段、
前記取得した画像内に眼鏡のレンズ部分があれば、当該眼鏡のレンズ部分内の画素がどれであるかを推定する推定手段、及び、
前記推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行う変換手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔を含む画像を処理する画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
眼鏡着用者を撮影した画像では、眼鏡により着用者の顔輪郭が歪むため、着用者としては不本意な画像として撮影されてしまう場合がある。こうした現象を問題として認識し、眼鏡着用者の画像上での見栄えを向上するために、眼鏡により画像が不自然に見える歪み領域を推定し、仮想輪郭線を求め、肌色データで補完して周囲と馴染ませる技術がある（特許文献１）。
【０００３】
また、眼鏡の輪郭を判断する手法として、特許文献２に開示された方法がある。この方法では、顔輪郭のずれを検出して眼鏡の輪郭を判断している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２５０４０７号公報
【特許文献２】特開２０１０−００３２３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の画像処理技術では、輪郭線のみを補正して、個人を特徴づける瞳の間隔や目の大きさが、眼鏡着用時のままとなるので、却って不自然になる場合がある。さらに瞳の間隔等をパラメータとして用いる顔認識処理を行うことを想定すると、眼鏡着用時とそうでない場合とで認識結果に齟齬が生じる可能性があるが、上記従来の技術では、この問題を解消できない。
【０００６】
本発明は上記実情に鑑みて為されたもので、眼鏡着用者の顔画像の不自然さを解消する画像処理装置、画像処理方法、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００７】
上記従来例の問題点を解決するための本発明は、画像処理装置であって、顔が撮像された画像を取得する取得手段、前記取得した画像内に眼鏡のレンズ部分があれば、当該眼鏡のレンズ部分内の画素がどれであるかを推定する推定手段、及び、前記推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行う変換手段、を含むこととしたものである。
【０００８】
ここでさらに、前記取得した画像内に撮像された顔の輪郭線を抽出する抽出手段を含み、前記推定手段は、当該抽出された顔の輪郭線を用いて、前記取得した画像内に眼鏡のレンズ部分があると判断されたときに、当該眼鏡のレンズ部分内の画素がどれであるかを推定することとしてもよい。
【０００９】
また前記取得した画像内に撮像された顔の輪郭線を抽出する抽出手段を含み、前記変換手段は、前記眼鏡のレンズ部分内の画像部分を拡大または縮小することで、眼鏡のレンズ部分内の他の位置の画素に写像する変換を行い、当該変換手段は、前記抽出した輪郭線を連続させるよう拡大または縮小率を設定することとしてもよい。
【００１０】
前記推定手段は、さらに、推定した眼鏡のレンズ部分のうちから、眼鏡のレンズ中心に相当する位置を推定し、前記変換手段は、拡大または縮小を行う際に、前記推定された眼鏡のレンズ中心に相当する位置を中心として放射状に、拡大または縮小を行うこととしてもよい。
【００１１】
さらに、前記顔の部分のうちから、瞳の画像部分を検出する手段をさらに含み、前記変換手段は、拡大または縮小を行う際に、前記検出された瞳の画像部分の中心に相当する位置を中心として放射状に、拡大または縮小を行うこととしてもよい。
【００１２】
また眼鏡のレンズの種類ごとに、当該レンズ部分内の像の写像に係るパラメータである変換テーブルデータを取得する手段をさらに含み、前記変換手段は、前記推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズの種類に対応する前記変換テーブルデータを用いて、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行うこととしてもよい。
【００１３】
さらに前記取得した画像内に撮像された顔の輪郭線を抽出する抽出手段を含み、前記変換手段は、前記眼鏡のレンズの種類に対応する変換テーブルデータとして、前記取得した変換テーブルデータのうち、前記抽出した輪郭線が連続となると判断される変換テーブルデータを選択して用いることとしてもよい。さらに前記変換手段は、前記画像に含まれる顔を正面向きに補正してから変換を行ってもよい。
【００１４】
また本発明の一態様に係る画像処理方法は、変換手段が、顔が撮像された画像を取得するステップ、推定手段が、前記取得した画像内に眼鏡のレンズ部分があれば、当該眼鏡のレンズ部分内の画素がどれであるかを推定するステップ、及び、変換手段が、前記推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行うステップを含む。
【００１５】
また本発明のさらに別の態様に係るプログラムは、コンピュータを、顔が撮像された画像を取得する取得手段、前記取得した画像内に眼鏡のレンズ部分があれば、当該眼鏡のレンズ部分内の画素がどれであるかを推定する推定手段、及び、前記推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行う変換手段、として機能させる。
【発明の効果】
【００１６】
本発明によると、眼鏡着用者の顔画像の不自然さを解消できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係る画像処理装置の例を表す構成ブロック図である。
【図２】本発明の実施の形態に係る画像処理装置の例を表す機能ブロック図である。
【図３】本発明の実施の形態に係る画像処理装置における不連続点に関する処理の例を表す説明図である。
【図４】本発明の実施の形態に係る画像処理装置に係る処理で利用される座標例を表す説明図である。
【図５】本発明の実施の形態に係る画像処理装置に係る処理で利用される別の座標例を表す説明図である。
【図６】本発明の実施の形態に係る画像処理装置が利用する変換データテーブルの格納状態の例を表す説明図である。
【図７】本発明の実施の形態に係る画像処理装置が利用する変換データテーブルの内容例の一部を表す説明図である。
【図８】本発明の実施の形態に係る画像処理装置による変換データテーブルを用いた変換を模式的に表す説明図である。
【図９】本発明の実施の形態に係る画像処理装置の処理例を表すフローチャート図である。
【発明を実施するための形態】
【００１８】
本発明の実施の形態について図面を参照しながら説明する。本実施の形態に係る画像処理装置１は、図１に例示するように、制御部１１と、記憶部１２と、操作部１３と、表示部１４と、入出力部１５とを含んで構成される。
【００１９】
本実施の形態の制御部１１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部１２に格納されたプログラムに従って動作する。本実施の形態では、この制御部１１は、顔が撮像された画像の情報を取得し、当該取得した画像情報内に眼鏡のレンズ部分があれば、当該眼鏡のレンズ部分内の画素がどれであるかを推定する。そしてこの制御部１１は、推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行う。この制御部１１の詳しい処理の内容については後に述べる。
【００２０】
記憶部１２は、メモリデバイスや、ディスクデバイスを含んで構成される。この記憶部１２には、制御部１１によって実行されるプログラムが保持される。このプログラムは、ＤＶＤ−ＲＯＭ等のコンピュータ可読な記録媒体に格納されて提供され、この記憶部１２に格納されたものであってもよい。また、このプログラムは、ネットワークを介して配信され、この記憶部１２に格納されたものであってもよい。
【００２１】
本実施の形態の一例では、記憶部１２には、制御部１１の処理の対象となる画像情報が格納される。またこの記憶部１２は、制御部１１のワークメモリとしても動作する。
【００２２】
操作部１３は、キーパッド等であり、利用者の指示操作を受け入れて制御部１１に出力する。表示部１４は、例えば制御部１１から入力される指示に従って表示するべき画像を表すテレビジョン信号を生成して出力する信号生成部である。またこの表示部１４は、液晶ディスプレイ等を含み、制御部１１から入力される画像を表示するものであってもよい。
【００２３】
入出力部１５は、例えばネットワークインタフェース等であり、制御部１１から入力される指示に従い、ネットワークを介して送信される情報を受信して制御部１１に出力する。またこの入出力部１５は、メモリカードリーダを含んでもよい。この場合、入出力部１５は、例えば挿入されたメモリカードから画像情報等を読み出して制御部１１に出力する。
【００２４】
本実施の形態の一例において制御部１１は、機能的には、図２に例示するように、画像取得部２１と、推定部２２と、変換部２３とを含んで構成される。画像取得部２１は、入出力部１５または記憶部１２から顔が撮像された画像の情報を取得する。顔が撮像された画像は、例えば記憶部１２に蓄積された画像情報のうちから、操作部１３に対する利用者の指示操作により顔の撮像された画像情報を選択して読み出すこととすればよい。
【００２５】
推定部２２は、画像取得部２１が取得した画像情報を処理対象として、この処理対象の画像情報のうちから眼鏡のレンズ部分内の画素がどれであるかを推定する。なお、この推定部２２は、眼鏡のレンズ部分内の画素と推定される部分がなければ（レンズ部分がないと判断されると）、処理を終了する。また変換部２３は、推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行う。これら推定部２２及び変換部２３の具体的な処理の内容を次に、いくつかの例とともに説明する。
【００２６】
［レンズ部分を輪郭線の不連続点で推測する例］
一例としてこの推定部２２は、次のようにして眼鏡のレンズ部分内の画素がどれであるかを推定する。すなわち本実施の形態の一例に係る推定部２２は、処理対象となった画像情報のうちから人物の顔として認識される部分を抽出する。この処理は広く知られた顔認識処理を適用できる。
【００２７】
以下の説明で推定部２２と変換部２３とは、この抽出した部分ごと（顔画像ごと）に処理を行う。なお、ここでは簡単のため、顔画像がひとつだけの場合を例として説明するが、顔が複数あれば、以下の処理を、顔ごとに繰返して行えばよい。
【００２８】
推定部２２は、抽出した顔画像部分のうちから、瞳の位置を表す情報、顔の上下方向を表す情報、顔面を通る正中線（頭部と矢状面との交差する線）を表す情報など、顔を特徴づける情報を生成する。以下ではこの正中線に平行な軸をＹ軸とする。Ｙ軸は顔の上方向を正の方向とする。またＹ軸に直交し、顔の右側（顔に向って右側）を正の方向とする軸をＸ軸とする。各軸の原点は、例えば左右の瞳の位置を結ぶ線分と、正中線との交点などとして適宜定める。そして瞳の位置などの情報は、このＸＹ直交軸の座標として表しておくこととする。
【００２９】
本実施の形態のある例に係る推定部２２は、抽出した顔画像部分から、さらに顔の輪郭線を抽出する。すなわちこの例の推定部２２は、本発明の抽出手段としても動作する。顔の輪郭線を抽出する処理については、Cannyのエッジ検出法等、広く知られた方法があるのでここでの詳しい説明は省略する。
【００３０】
推定部２２は、抽出した輪郭線が不連続となる部分があるか否かを調べる。具体的にこの推定部２２は、抽出された輪郭線上に複数の点を設定する。一般に輪郭線は閉曲線となるので、当該閉曲線の内側に一点をとり（顔の中心でよい）、この一点から所定角度ごとに放射状に仮想的な線分を複数引いて、各線分と輪郭線との各交点を得て、これらの交点を、上記複数の点として設定すればよい。
【００３１】
推定部２２は、当該輪郭線上に設定した複数の点に対して少なくとも一つ（一般には複数）のＢスプライン曲線（複数ある場合はＢスプライン曲線群）により輪郭線を表す曲線を生成するカーブフィッティングの処理を行う。このとき、カーブフィッティングの処理に用いる点の組を異ならせつつ、Ｂスプライン曲線群の組の候補を複数組得ておき、各組について予め定めた情報量基準等によりフィッティングの評価を行う。そして最も評価の高いＢスプライン曲線群の組を参照し、当該組に含まれるＢスプライン曲線群のうちに、同じ点を端点（節点）とする一対のＢスプライン曲線があれば、当該一対のＢスプライン曲線のうち、Ｘ軸方向の長さよりもＹ軸方向の長さの長いもの（Ｂスプライン曲線の両端点のＹ座標成分の差の絶対値がＸ座標成分の差の絶対値より大きいもの）を選択する。そしてこの選択したＢスプライン曲線のうち、他方のＢスプライン曲線と同じ位置にある節点の位置で輪郭線が不連続となっていると推定し、当該節点の座標を不連続の点（不連続点）の座標として記憶する。
【００３２】
ここで本来輪郭線は閉曲線であるため、上記の選択されたＢスプライン曲線β１で不連続点が見出された場合、当該選択されたＢスプライン曲線β１と同じ不連続点の節点（一方側端とする）を持つ他のＢスプライン曲線β２の他方側端もまた、不連続点であることとなる。つまりＢスプライン曲線β２は両端が不連続点となる。そしてこのＢスプライン曲線β２の他方側端と同じ不連続点の節点を持つ、さらに他のＢスプライン曲線β３を、「隣接すべきＢスプライン曲線」と呼ぶ。そして推定部２２は、ある選択されたＢスプライン曲線における不連続点と、それに隣接すべきＢスプライン曲線における不連続点であって、これらの不連続点が、両端が不連続点となる別のＢスプライン曲線で結ばれている不連続点同士を組（ペア）として、それぞれの座標を記憶しておく。またこのとき不連続点を含み、上記のように選択されるＢスプライン曲線には、図３に例示するように、
（１）不連続点を含むＢスプライン曲線であって、当該不連続点のＹ座標が瞳の位置ＥのＹ座標より大きく、かつ他の端点のＹ座標が不連続点のＹ座標より大きい（Ｂ１）
（２）不連続点を含むＢスプライン曲線であって、当該不連続点のＹ座標が瞳の位置ＥのＹ座標より大きく、かつ他の端点のＹ座標が不連続点のＹ座標より小さい（Ｂ２）
（３）不連続点を含むＢスプライン曲線であって、当該不連続点のＹ座標が瞳の位置ＥのＹ座標より小さく、かつ他の端点のＹ座標が不連続点のＹ座標より大きい（Ｂ３）
（４）不連続点を含むＢスプライン曲線であって、当該不連続点のＹ座標が瞳の位置ＥのＹ座標より小さく、かつ他の端点のＹ座標が不連続点のＹ座標より小さい（Ｂ４）
の４通りの場合がある。そしてＢ１のＢスプライン曲線に含まれる不連続点については外側不連続点、Ｂ２のＢスプライン曲線に含まれる不連続点については内側不連続点、Ｂ３のＢスプライン曲線に含まれる不連続点については内側不連続点、Ｂ４のＢスプライン曲線に含まれる不連続点については外側不連続点であるとの属性情報を関連付けておく。上記記憶される組に含まれる不連続点の座標は、いずれか一方が外側不連続点の座標となり、他方が内側不連続点の座標となる。
【００３３】
なお、Ｂスプライン曲線を利用した不連続点の検出方法は、井元，小西，「Ｂスプラインによる不連続曲線推定と変化点探索」，広島大学における講演録（http://bonsai.hgc.jp/~imoto/imoto_hiroshima2000.pdf）に記載された、広く知られた方法であるので、ここでのより詳しい説明は省略する。
【００３４】
またここでは輪郭線の検出にエッジ検出を用い、不連続点の検出にＢスプラインを用いる方法を例示したが、本実施の形態における顔の輪郭線検出と、その不連続点の検出法は、他の方法であっても構わない。
【００３５】
推定部２２は、例えば上記の処理により検出した不連続点がある場合に、当該不連続点の位置にレンズフレームのある眼鏡が着用された顔であるとして、当該不連続点の位置を表す情報を出力する。なお、眼鏡は通常、目の周辺にあることを考慮して、推定部２２は、顔のうちから目を検出し（目の検出処理も広く知られた方法があるので、ここでの詳しい説明を省略する）、検出した目の位置を中心として予め定めた半径の範囲に、不連続点が検出された場合に、当該不連続点の位置にレンズフレームのある眼鏡が着用された顔であるとして不連続点の位置を表す情報を出力してもよい。
【００３６】
ここまでの処理により、具体的には、図４（ａ）に例示するように、眼鏡のレンズにより不連続となった輪郭線上の点（不連続点）１０１が一般に複数組検出される。図４（ａ）では、眼鏡のレンズフレームの外側の輪郭線部分に相当する、端点１０１ｂを含むＢスプライン曲線β１と、端点１０１ｂと端点１０１ａとを結ぶＢスプライン曲線β２と、端点１０１ａと端点１０１ｃとを結ぶ（眼鏡のレンズフレームの内側の輪郭線部分を表す）Ｂスプライン曲線β３とが検出される。そしてこれらのうちＹ軸方向の長さがＸ軸方向の長さより長い、Ｂスプライン曲線β１，β３が選択され、それぞれにおける不連続点１０１ｂ，１０１ａ，１０１ｃ…が見出される。また、この選択されたＢスプライン曲線における不連続点と他の端点との関係から、不連続点１０１ｂが外側不連続点とされ、不連続点１０１ａ，ｃが内側不連続点とされる。さらに互いに隣接するべきＢスプライン曲線β１，β３における不連続点１０１ａ，ｂは、両端が不連続点であるＢスプライン曲線β２によって結ばれているので、推定部２２は、これらの不連続点１０１ａ，ｂの各座標を組として記憶することとなる。以下同様にして、推定部２２はこれらの不連続点１０１ａ，ｂ，…，ｐ，ｑ…（図４（ａ）の例では不連続点１０１ａ，ｂの座標が組として記憶されている）と、先に特定した左右の瞳の位置１０２Ｌ，１０２Ｒとを用いて、例えば次の処理によりレンズ部分内の画素がどれであるかを推定する。
【００３７】
すなわちある例に係る推定部２２は、検出された顔の正中線より左側（Ｘ軸負の方向）にある瞳の位置１０２Ｌと、当該瞳の位置１０２Ｌよりもさらに左側（Ｘ軸負の方向）にある、不連続点１０１ａ，ｂ…とに外接する矩形１０３Ｌを得る。また推定部２２は、検出された顔の正中線より右側（Ｘ軸正の方向）にある瞳の位置１０２Ｒと、当該瞳の位置１０２Ｒよりもさらに右側（Ｘ軸正の方向）にある、不連続点１０１ｐ，ｑ…とに外接する矩形１０３Ｒを得る。
【００３８】
また、本実施の形態の別の例に係る推定部２２では、検出された顔の正中線より左側にある瞳の位置１０２Ｌを含む目の範囲（顔認識時の処理においてこの範囲を検出しておけばよい）を特定し、この目の範囲の右端側（目の正中線側の端）よりも正中線側に予め定めた方法で定めた距離だけ離れた位置にある点Ａを求める。この予め定めた方法には、予め距離を定数として定めておく方法のほか、目の範囲の右端側から正中線までの距離に所定の定数（１未満の定数）を乗じた値などとしておく方法があり得る。
推定部２２は、そして、この点Ａと、瞳の位置１０２Ｌよりもさらに左側にある、不連続点１０１ａ，ｂ…とに外接する矩形１０３Ｌを得ることとしてもよい。
この例では推定部２２は、検出された顔の正中線より右側にある瞳の位置１０２Ｒを含む目の範囲を特定し、この目の範囲の左端側（目の正中線側の端）よりも正中線側に予め定めた方法で定めた距離だけ離れた位置にある点Ａ′を、先と同様の方法で求める。
推定部２２は、そして、この点Ａ′と、瞳の位置１０２Ｒよりもさらに右側にある、不連続点１０１ｐ，ｑ…とに外接する矩形１０３Ｒを得ることとしてもよい。
本発明の実施の形態のさらに別の例に係る推定部２２では、さらに、図４（ｂ）に例示するように、検出された顔の正中線より左側にある瞳の位置１０２Ｌを通り正中線に平行な線分ｌを用い、この線分ｌについて不連続点１０１ａ，ｂ…と線対称な位置にある点１０１ａ′，１０１ｂ′…を求めてもよい。そしてこの例の推定部２２は、不連続点１０１ａ，ｂ…と、これら求められた点１０１ａ′，１０１ｂ′…に外接する矩形１０３Ｌを得ることとしてもよい。
この例の推定部２２は、また、検出された顔の正中線より右側にある瞳の位置１０２Ｒを通り正中線に平行な線分ｌ′を用い、この線分ｌ′について不連続点１０１ｐ，ｑ…と線対称な位置にある点１０１ｐ′，１０１ｑ′…を求めてもよい。そしてこの例の推定部２２は、不連続点１０１ｐ，ｑ…と、これら求められた点１０１ｐ′，１０１ｑ′…に外接する矩形１０３Ｒを得ることとしてもよい。
そして本実施の形態の推定部２２は、ここに例示したいずれかの方法等により得た矩形１０３Ｌ，Ｒを特定する情報（例えば矩形１０３Ｌ，Ｒのそれぞれの頂点座標の組）を、レンズ部分を表す情報（レンズ部分内の画素を画定する情報）として出力する。またこのとき推定部２２は、瞳の位置１０２Ｌ，Ｒと、不連続点１０１ａ，ｂ，…ｐ，ｑ，…の位置座標を表す情報も併せて出力してもよい。
【００３９】
変換部２３は、推定部２２により推定された眼鏡のレンズ部分内の画素を、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行う。具体的にある例に係る変換部２３は、推定部２２が出力する情報で特定される矩形１０３Ｌ，Ｒの各々について、当該矩形内にある瞳の位置１０２と、当該矩形内にある不連続点１０１の座標の組とを用い、次のような処理を実行する。
【００４０】
変換部２３は、不連続点１０１の座標の組ごとに、当該組に含まれる、内側不連続点の属性情報が関連付けられた不連続点１０１ｉと、外側不連続点の属性情報が関連付けられた不連続点１０１ｅと、瞳の位置１０２との間の距離（ユークリッド距離でよい）をそれぞれｄｉ，ｄｅとして演算する。またその比ｍ＝ｄｅ／ｄｉ（拡縮率に相当する）を算出する。
【００４１】
そして変換部２３は、眼鏡のレンズ部分内にあると推定された画素について、瞳の位置を中心として、距離ｍ倍の位置に変倍する拡縮処理を実行する。具体的に変換部２３は、矩形１０３等、眼鏡のレンズ部分内の画素塊（元の画素塊）と同形状、同サイズの画素塊（変換後画素塊）を記憶部１２内に仮想的に生成し、この変換後画素塊の各画素を順次注目画素として選択して、瞳の位置から注目画素までの距離ｄと方向（Ｘ軸からの角度などでよい）を算出する。そして変換部２３は、元の画素塊において、瞳の位置から同じ方向に向ってｄ／ｍの距離にある画素の値を、注目画素の値として設定する。または、変換部２３は注目画素の値を、瞳の位置から同じ方向に向ってｄ／ｍの距離の点近傍にある複数画素の平均（上記点と各画素中心までの距離により重み付けを行ってもよい）の値に設定する。変換後画素塊内のすべての画素値の設定が終了すると、変換部２３は、この変換後画素塊内の各画素の値を、元の画素塊内の対応する各画素の値に複写して処理を終了する。
【００４２】
これにより、レンズにより歪んで撮像された顔の一部が、瞳の位置を中心として放射状に拡大縮小され、レンズがない場合に撮像されていたと推定される画像に近似した画像が得られる。
【００４３】
［瞳中心ではなくレンズ中心を推定して処理する例］
また、上述の例では、瞳の位置を中心として拡縮処理を実行していたが、本実施の形態はこれに限られず、レンズの中心を、拡縮処理の中心としてもよい。この場合、推定部２２は眼鏡のフレーム（リム、ブリッジ、ヨロイ等の各部）を顔画像部分のうちから検出する。この検出の処理については、齋藤康之, 剣持雪子，小谷一孔，「パラメトリックな眼鏡フレームモデルを用いた顔画像内の眼鏡フレーム領域の抽出と除去」，電子情報通信学会論文誌 D, J82-D2(5): 880-890, 1999（特に同論文における図４の眼鏡フレーム抽出の処理）に記載された方法など、広く知られた方法を採用できるので、ここでの詳しい説明を省略する。
【００４４】
推定部２２は、検出した眼鏡のフレームからレンズ部分内の画素がどれであるかを推定し、レンズの中心の座標を演算する。具体的に眼鏡のフレームには、リムがレンズ全体を取り囲んでいるフルリム、レンズの上部（または下部）等の一部にのみリムが配されるハーフリム、リムのないツーポイント等のタイプがある。ただしブリッジ及びヨロイのない眼鏡は一般には利用されていないので、推定部２２は眼鏡のフレームのうち、ブリッジ及びヨロイ（智）の端部（レンズのＸ軸方向の両端部に相当する）については、必ずその座標情報を得ることとなる。
【００４５】
以下では推定部２２による、フルリム、ハーフリム、ツーポイントの各種フレームの場合のレンズ部分内の画素がどれであるかを推定する処理について説明する。
【００４６】
（ａ）フルリムの場合
フルリムの場合、推定部２２は上述に例示した方法によりリムの輪郭上の各画素の座標を得ることができる。このリムの輪郭がそのままレンズ部分の外周輪郭と推定でき、当該リムの輪郭上の各画素で囲まれる範囲内の画素がレンズ部分内の画素と推定される。そこで推定部２２は、このリムの輪郭上の各画素の座標の平均（算術平均でよい）を演算し、当該演算の結果を、レンズの中心の座標とすればよい。
【００４７】
（ｂ）ハーフリムの場合
ハーフリムの場合、推定部２２は上述に例示した方法によりリムの輪郭上の一部の画素の座標を得ることができる。この例では推定部２２はまた、上述の通り、顔輪郭の不連続点を検出する。すると、リムの輪郭上の一部の画素の座標、ブリッジ及びヨロイの端部の座標、並びに不連続点の座標を得ることとなる。
【００４８】
これらの各座標はいずれもレンズの外周部にあると考えられるので、推定部２２は、例えばSnakes曲線等のカーブフィッティング技術を用いて、これらの座標を含む輪郭線を形成し、この形成した輪郭線がレンズ部分の外周輪郭であるとして処理を行う。すなわちこの例では、推定部２２は、形成した輪郭線上の各画素の座標の平均（算術平均でよい）を演算し、当該演算の結果を、レンズの中心の座標とすればよい。
【００４９】
（ｃ）ツーポイントの場合
ツーポイント等、リムのない眼鏡の場合、推定部２２はまた、上述の通り、顔輪郭の不連続点を検出する。そして推定部２２は、ブリッジ及びヨロイ（智）の端部、並びに不連続点の座標を得ることとなる。これらの各座標はいずれもレンズの外周部にあると考えられるので、推定部２２は、例えばSnakes曲線等のカーブフィッティング技術を用いて、これらの座標を含む輪郭線を形成し、この形成した輪郭線がレンズ部分の外周輪郭であるとして処理を行う。すなわちこの例では、推定部２２は、形成した輪郭線上の各画素の座標の平均（算術平均でよい）を演算し、当該演算の結果を、レンズの中心の座標とすればよい。または推定部２２は、得られたブリッジ及びヨロイ（智）の端部、並びに不連続点の座標に外接する矩形を求め、この矩形がレンズ部分の外周輪郭であるとして処理を行う。すなわちこの例では、推定部２２は、求めた矩形の中心座標（対角線の交点）を演算し、当該演算の結果を、レンズの中心の座標とすればよい。
【００５０】
推定部２２は、以上の処理により求められたレンズ部分の外周輪郭を特定する情報と、レンズ部分の中心の座標とを出力する。
【００５１】
変換部２３は、推定部２２が出力する情報で特定されるレンズ部分の外周輪郭内（レンズ部分内）の画素を、当該眼鏡のレンズ部分内の他の位置の画素に写像する変換を行う。具体的に変換部２３は、図５に例示するように、推定部２２により得られた不連続点１０１の座標の組ごとに、当該組に含まれる、内側不連続点の属性情報が関連付けられた不連続点１０１ｉと、外側不連続点の属性情報が関連付けられた不連続点１０１ｅと、レンズの中心１０４の座標との間の距離（ユークリッド距離でよい）をそれぞれｄｉ，ｄｅとして演算する。またその比ｍ＝ｄｅ／ｄｉ（拡縮率に相当する）を算出する。
【００５２】
そして変換部２３は、推定部２２が出力する情報で特定されるレンズ部分の外周輪郭内（レンズ部分内）の各画素について、レンズの中心１０４の座標を中心として、距離ｍ倍の位置に変倍する拡縮処理を実行する。具体的に変換部２３は、推定部２２が出力する情報で特定されるレンズ部分の外周輪郭内の画素塊と同じ形状の画素塊を記憶部１２内に仮想的に生成する。そして変換部２３は、この仮想的に生成した画素塊内の各画素を順次注目画素として選択して、レンズの中心１０４に対応する画素から注目画素までの距離ｄならびに方向（Ｘ軸からの角度等でよい）を算出する。そして変換部２３は、元の顔画像内の画素塊において、レンズの中心１０４から上記の方向に向ってｄ／ｍの距離にある画素の値を、注目画素の値として設定する。または、変換部２３は注目画素の値を、レンズの中心１０４から上記の方向に向ってｄ／ｍの距離の点近傍にある複数画素の平均（上記点と各画素中心までの距離により重み付けを行ってもよい）の値に設定する。仮想的に生成した画素塊内のすべての画素値の設定が終了すると、変換部２３は、この画素塊の各画素の値を、元の顔画像内の対応する各画素の値に複写して処理を終了する。
【００５３】
これにより、レンズにより歪んで撮像された顔の一部が、レンズの中心１０４を中心として放射状に拡大縮小され、レンズがない場合に撮像されていたと推定される画像に近似した画像が得られる。
【００５４】
［レンズ部分検出のさらに別の例］
また本実施の形態の別の例では、推定部２２がレンズ部分内の画素がどれであるかを推定する処理として、顔部分の各画素の明度の情報を生成し、隣接画素の明度との差が予め定めたしきい値を超える部分を色味のエッジとして検出することで、瞳の位置周辺で当該エッジを検出した画素間をカーブフィッティングして、レンズ部分内の画素がどれであるかを推定することとしてもよい。この場合、フレームの検出は必ずしも必要ではない。
【００５５】
なお、ここまでの説明において推定部２２がレンズ部分内の画素がどれであるかを推定する処理として、顔の輪郭線の不連続点を見出して用いる方法と、眼鏡のフレームを検出する方法と、画素の明度差を用いる方法とを説明したが、これらはそれぞれ単独で用いるだけでなく、組み合せて用いられてもよい。すなわち、いずれかの方法でレンズ部分内にあるとされた画素のすべてをレンズ部分内の画素であると推定することとしてもよいし、いずれか複数の方法で（あるいはすべての方法で）レンズ部分内にあるとされた画素のすべてをレンズ部分内の画素と推定することとしてもよい。
【００５６】
［変換処理の別の例］
さらに本実施の形態の一例において、変換部２３は、上述のようにレンズ部分とされた画像部分の内部で拡大縮小処理を行うのではなく、次のように処理を行ってもよい。
【００５７】
すなわち本実施の形態の別の例においては、記憶部１２に、予め、眼鏡のレンズの種類（レンズの「度」や、乱視矯正の有無などで種類が相違する）ごとに、当該レンズ部分内の像の写像に係るパラメータである変換テーブルデータを関連付けて記憶しておく（図６）。ここで変換テーブルデータは、図７に例示するように、Ｎ×Ｍ（Ｎ，Ｍはそれぞれ正の整数）個の二次元座標情報（dest）を含んでなる。具体的に図７に例示した変換テーブルデータでは、二次元座標情報（dest）においては、左上隅から右へｉ個、下へｊ個（ただしｉ≦Ｎ，ｊ≦Ｍ）だけ移動した位置にある画素の座標情報（（ｉ，ｊ）の位置の座標情報）が例えば（ｉ′，ｊ′）というように設定されている。これは、元の画像において（ｉ′，ｊ′）の位置にある画素を、この（ｉ，ｊ）の位置に移動することを意味する。
【００５８】
変換部２３は、変換を行う際には、この二次元座標情報（dest）の中心（予めどの画素が中心の画素であるかを定めておくか、あるいは（Ｎ／２，Ｍ／２）の位置の画素を中心とすればよい）と、推定部２２が推定したレンズ部分の中心の座標とを一致させる。そして変換部２３は、推定部２２が推定したレンズ部分に含まれる各画素に対応する、二次元座標情報（dest）上の値を参照して、画素値を写像したレンズ部分内の画像を生成し、元の画像内のレンズ部分内の各画素の値を当該生成した画像の対応する画素の値で置き換える。
【００５９】
この処理を模式的に図８を用いて説明すると、次のようになる。図８では、元のレンズ部分内の画像に対応するものとして３×３の画素があるとし、左上から右下に向って各画素値がＡ，Ｂ，…，Ｉとなっているものとする。なお、その中心は２行２列目の位置の画素とする。またここでは元の画素塊内のη行ξ列目の画素値を複写することを（ξ，η）と表すこととし、５×３画素分の二次元座標情報（dest）として、左上から右へ（１，１）、（３，１）、（３，１）、（３，１）、（５，１）一行下へ行って再び左端から（１，２）、（３，２）、（３，２）、（３，２）、（５，２）さらに次の行で左端から（１，３）、（３，３）、（３，３）、（３，３）、（５，３）となっているものとする。なお、５×３画素分の二次元座標情報（dest）の中心は２行３列目の位置の画素とする。
【００６０】
この場合、変換部２３は、元のレンズ部分の画像と同じ形状の３×３の画像を新たに生成する（その中心を元の画像と同じ２行２列目とする）。そしてこの生成した画像における１行１列目の位置の画素を注目画素とする。変換部２３は、二次元座標情報（dest）の中心である２行３列目を当該生成した画像の中心である２行２列目に一致させたときに、二次元座標情報（dest）上で注目画素に対応する画素を見出す。この場合、中心２行３列目から左列へ１，上行へ１画素だけ移動した画素である１行２列目が対応する画素であるので、その値（３，１）を読み出す。この位置（３，１）、つまり１行３列目は、元のレンズ部分の画像における１行２列目の画素（画素値がＢの画素）に対応する。
【００６１】
そして変換部２３は、生成した画像の１行１列目の位置の画素値を、元のレンズ部分の画像において対応する１行２列目の位置の画素値「Ｂ」に設定する。
【００６２】
以下、変換部２３は同様の手順により、１行２列目の位置の画素値を、元のレンズ部分の画像における１行２列目の画素値「Ｂ」に設定し、１行３列目の位置の画素値を、元のレンズ部分の画像における１行２列目の画素値「Ｂ」に設定し…というようにそれぞれ画素値を設定していく。こうして元のレンズ部分画像と同じ形状の３×３画素の各画素の設定が終了すると、変換部２３は、この画素の設定を行った画像を、元のレンズ部分画像に置き換える。この例では、レンズ部分内の画像は各行の画素がそれぞれ「Ｂ」，「Ｅ」，「Ｈ」となった状態に置き換えられる。
【００６３】
また、ここでは対応する画素を直接記述する方法を採用したが、本実施の形態はこれに限られない。いわゆる変換行列（アフィン変換行列や、透視変換行列等）が生成できるのであれば変換行列を生成して、当該変換行列を変換テーブルデータとして、レンズの種類ごとに記憶部１２に格納しておいてもよい。変換部２３は、この場合に変換を行うときには、変換行列を用いてレンズ部分内の画像を写像する。この処理は、例えばOpenCV等において、remap関数による処理等として広く知られているので詳しい説明は省略する。
【００６４】
このような例による変換部２３を用いるときには、変換部２３は、記憶部１２に格納されている、各レンズ種類に対応する変換テーブルデータを順次読み出して、レンズ部分内の画像をそれぞれの変換テーブルデータを用いて変換した後の画像を生成する。そして各生成した画像のうち、推定部２２にて推定した各組ごとの、２つの不連続点に対応する画素の位置の差が最も小さくなる画像を選択して、元のレンズ部分内の画像を、当該選択した画像で置き換えればよい。つまり、抽出した輪郭線が連続となると判断される変換テーブルデータを選択して用いるようにすればよい。
また変換テーブルデータはさらに、眼鏡のレンズの種類ごと、かつ顔の向きごとに用意されてもよい。この例では、変換部２３は、顔画像部分を検出したときの当該顔画像部分の角度の情報を取得する。この角度の情報の取得には例えば鼻の位置等により検出する方法等、広く知られた方法を採用すればよい。
変換部２３は、当該取得した角度に対応する、各眼鏡のレンズの種類ごとの変換テーブルデータから、抽出した輪郭線が連続となると判断される変換テーブルデータを選択することとすればよい。
【００６５】
この例によると、単純な拡大縮小に限られない変換が可能となるので、例えば遠近両用の眼鏡など複雑な像の歪みが生じ得る眼鏡にも対応が可能になる。また、変換テーブルデータの選択により、対応する眼鏡のレンズの種類が推定できるようになり、このレンズ種類の推定結果もまた、別の処理に利用可能となる。
また、変換テーブルデータの選択においては、予め人物ごとに、当該人物を特定する情報に関連付けて、当該人物が着用している眼鏡のレンズに対応する変換テーブルデータを関連付けて保持しておいてもよい。この例によれば、上記方法で変換テーブルデータを選択したときに、当該選択したテーブルデータに関連付けた情報を出力することで、当該情報により人物を特定するといった処理が可能となる。
あるいは、本実施の形態の画像処理装置１を、人物認証のために用いるのではなく、眼鏡着用時の違和感を軽減するといった目的で使用する場合、変換部２３は、抽出した輪郭線が連続となると判断される変換テーブルデータを選択することに代え、あるいはそれに併せて、人物を眼鏡着用の状態で認識させ、あるいは当該人物を特定する情報を利用者に入力させ、当該認識の結果、あるいは入力された情報で特定される人物を特定する情報に関連付けられた変換テーブルデータを選択することとしてもよい。
この場合も、人物を特定する情報ごと、かつ顔の向きごとに変換テーブルデータが用意されてもよい。この場合も、変換部２３は、顔画像部分を検出したときの当該顔画像部分の角度の情報を取得する。そして変換部２３は、当該取得した角度に対応する、人物を特定する情報ごとの変換テーブルデータから、認識の結果、あるいは入力された情報で特定される人物を特定する情報に関連付けられた変換テーブルデータを選択することとすればよい。
【００６６】
また、ここまでの説明の処理においては、顔画像部分を検出した後、顔画像部分を正面向きに変換する処理を行ってから、推定部２２及び変換部２３の処理を行ってもよい。またこの場合、変換後に元の角度に戻す処理を行ってもよい。このような顔を正面向き、あるいは任意の角度に変換する技術は、例えば向川康博、中村裕一、大田裕一「複数の顔画像の組合せによる任意方向・任意表情の顔画像の生成」，電子情報通信学会論文誌D-II, J80-D2(6): 1555-1562, 1997等の技術があり、これらを採用できる。なお、顔の向きは正中線と瞳との相対的な位置などにより推定する方法等、種々の方法が知られているのでここでの詳しい説明は省略する。
【００６７】
本発明の実施の形態の一例に係る画像処理装置１は、以上の構成を備えてなり、次のように動作する。処理の対象となった画像を受け入れた画像処理装置１は、図９に例示する処理を開始し、当該処理の対象となった画像のうちから顔部分を検出する（Ｓ１）。そして検出した顔部分のうち、未だ選択していない一つを注目部分として選択し（Ｓ２）、当該注目部分に含まれる顔の特徴量（瞳の位置の情報や輪郭線の情報など）の情報を生成するとともに（Ｓ３）、当該注目部分から眼鏡のレンズ部分内の画素がどれであるかを検出し、レンズ中心の推定を試みる処理を実行する（Ｓ４）。
【００６８】
この処理Ｓ４では、上述の通り、眼鏡のフレームを検出する処理や、明度差、あるいは輪郭線の不連続点等を用いてレンズ部分内の画素がどれであるかを検出することとなる。また、眼鏡のフレームを検出する処理や明度差を利用する処理により、レンズ部分の中心（眼鏡のレンズ中心に相当する位置、以下レンズ中心と呼ぶ）が推定できた場合は、当該レンズ中心の座標情報も併せて得ておくこととする。一般に眼鏡用レンズは、円形のレンズをフレームの形状に合わせて加工しているが、この加工前のレンズの円形の中心がここでのレンズ中心となる。レンズ中心に相当する位置は、通常、眼鏡着用者が正面を向いたときに、瞳の位置に重なるように加工・調整される。また、不連続点のみが検出できた場合は、レンズ中心までは推定できないので、この場合は輪郭線上の不連続点が、レンズ部分内の画素がどれであるかの検出結果となる。
【００６９】
画像処理装置１は、処理Ｓ４においてレンズ部分内の画素がどれであるかが検出できたか（不連続点が見出されるか、あるいはフレームが検出できたか）を調べ（Ｓ５）、検出できていたならば（Yesならば）、さらに、レンズ中心が見出されたか否かを判断する（Ｓ６）。
【００７０】
ここでレンズ中心が見出されていれば（Yesならば）、レンズ中心を中心として、レンズ内の画像を変換する変換処理を実行する（Ｓ７）。この処理Ｓ７の変換処理では、レンズ中心を中心として放射状に拡大縮小し、輪郭線上の不連続点の座標（不連続点の位置にある画素の位置）を変換し、輪郭線が連続するように変換する処理を行ってもよい。また、この処理Ｓ７の処理としては、画素値の写像先を直接表す情報により、輪郭線上の不連続点の座標（不連続点の位置にある画素の位置）を変換し、輪郭線が連続するように変換する処理を行ってもよい。さらに、この処理Ｓ７では、変換行列を用いた写像（map）の処理により、輪郭線上の不連続点の座標（不連続点の位置にある画素の位置）を変換し、輪郭線が連続するように変換する処理を行ってもよい。なお、眼鏡のレンズ部分は一般に顔の左右にあるので、画像処理装置１は、それぞれについて処理Ｓ４からＳ７の処理を実行する。
【００７１】
画像処理装置１は、処理対象となった画像に含まれるすべての顔画像についての処理を終了したか否かを調べる（Ｓ８）。そしてすべての顔画像についての処理を終了したと判断すると（Yesの場合）、処理後の画像を表示部１４や入出力部１５を介して出力して（あるいは記憶部１２に格納して）、処理を終了する。また処理Ｓ８において、未選択の顔画像があると判断すると（Noの場合）、処理Ｓ２に戻って処理を続ける。
【００７２】
また処理Ｓ５において、レンズ部分内の画素がどれであるかが検出できなかったと判断した場合（つまりNoならば）、処理Ｓ８に移行して処理を続ける。さらに処理Ｓ６においてレンズ中心が見出されていないと判断すると（Noならば）、瞳の位置を中心として、レンズ内の画像を変換する変換処理を実行する（Ｓ９）。この処理Ｓ９では例えば、瞳の位置を中心として放射状に拡大縮小し、輪郭線上の不連続点の座標（不連続点の位置にある画素の位置）を変換し、輪郭線が連続するように変換する処理を行う。なお、眼鏡のレンズ部分は一般に顔の左右にあるので、画像処理装置１は、それぞれについて処理Ｓ９の処理を実行することになる。そして画像処理装置１は、処理Ｓ８に移行して処理を続ける。
【００７３】
本実施の形態によれば、レンズ中心が見出された場合、瞳の位置も含めて、眼鏡のレンズによる歪みを解消できるので、瞳の間隔など、人間の顔認識を行う際に利用されるパラメータも補正されることとなり、顔認識の精度を向上できる。また、眼鏡のレンズの種類を特定できる場合、顔画像に基づいて、現在利用している眼鏡のレンズの種類を推定する等の処理を実行できる。
【００７４】
さらに、本実施の形態の上述の処理においては、一対の眼鏡のレンズのそれぞれについて輪郭線の不連続点が連続となるよう変換する処理を行っている。つまり、各レンズについて拡縮率（比ｍ）を演算しているが、本実施の形態はこれに限られない。例えば、顔の向きにより一方のレンズにおいてのみ拡縮率が演算できる場合、他方のレンズにおいてもこの拡縮率を用いた変換を行うこととしてもよい。
【００７５】
さらに、本実施の形態においては拡縮率に相当する比ｍが１を超える場合、つまり近眼用眼鏡レンズ（輪郭線が顔中心側へ歪む）の場合に限り変換部２３による変換処理を行うこととしてもよい。
【符号の説明】
【００７６】
１  画像処理装置、１１  制御部、１２  記憶部、１３  操作部、１４  表示部、１５  入出力部、２１  画像取得部、２２  推定部、２３  変換部。
【図１】
2015118617.tif 000003
【図２】
2015118617.tif 000004
【図３】
2015118617.tif 000005
【図４】
2015118617.tif 000006
【図５】
2015118617.tif 000007
【図６】
2015118617.tif 000008
【図７】
2015118617.tif 000009
【図８】
2015118617.tif 000010
【図９】
2015118617.tif 000011