(57)【要約】【課題】歪曲収差補正処理を実行する際に画像中の被写体の顔が欠けたり、顔が検出できなくなることを防ぐ画像処理技術の実現。【解決手段】画像処理装置は、画像データの外縁の形状変化を伴う画像処理を行う画像処理手段と、画像データに含まれる顔領域を検出する顔検出手段と、前記画像処理のパラメータを決定する決定手段と、前記決定手段により決定された画像処理のパラメータによる画像処理の前後の画像データに関する顔検出結果を比較する比較手段と、前記比較手段による比較結果に応じて、前記画像処理を実行するか否かを判定する判定手段と、を有する。【選択図】図１
2010074312.tif 000002
【特許請求の範囲】
【請求項１】
画像データの外縁の形状変化を伴う画像処理を行う画像処理手段と、
画像データに含まれる顔領域を検出する顔検出手段と、
前記画像処理のパラメータを決定する決定手段と、
前記決定手段により決定された画像処理のパラメータによる画像処理の前後の画像データに関する顔検出結果を比較する比較手段と、
前記比較手段による比較結果に応じて、前記画像処理を実行するか否かを判定する判定手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記画像処理は、歪曲収差補正処理であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像処理は、画像を所定角度回転させる処理であることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記比較手段は、前記画像処理の前の画像データから検出された顔位置が、前記画像処理の後において所定の有効画像領域に含まれるか否かを判定することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記判定手段は、前記画像処理の前の画像データから検出された顔位置が、前記画像処理の後において所定の有効画像領域に含まれなくなる場合、前記画像処理を実行しないことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記判定手段は、前記画像処理を実行することで前記画像処理の後において前記顔検出手段により検出された顔の一部が欠けると判定した場合に、その旨の警告を出力することを特徴とする請求項４に記載の画像処理装置。
【請求項７】
被写体を撮像して画像データを生成する撮像手段と、
前記撮像手段により撮像された画像データを表示する表示手段と、をさらに有することを特徴とする請求項１に記載の画像処理装置。
【請求項８】
画像データの外縁の形状変化を伴う画像処理を行う画像処理工程と、
画像データに含まれる顔領域を検出する顔検出工程と、
前記画像処理のパラメータを決定する決定工程と、
前記決定された画像処理のパラメータによる画像処理の前後の画像データに関する顔検出結果を比較する比較工程と、
前記比較工程による比較結果に応じて、前記画像処理を実行するか否かを判定する判定工程と、を有することを特徴とする画像処理方法。
【請求項９】
請求項８に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像データの画像処理装置および画像処理方法に関するものである。
【背景技術】
【０００２】
近年、デジタルカメラの性能向上により、撮影される画像の解像度は非常に高くなり、銀塩写真に勝るとも劣らない高品質の写真画像を得ることが可能となった。撮影した画像は、パーソナルコンピュータ等に搭載される画像処理アプリケーションを使用して閲覧したり、画像編集処理を施したりすることができる。
【０００３】
一般に、カメラで撮影した画像には、レンズの歪曲収差に起因する幾何学的な歪みが生ずる。この歪みを補正するため、撮影レンズなどの撮影時情報を利用して、収差補正を行うための画像処理アプリケーションも登場している。このような歪曲収差補正処理を行うことで、より均質で高画質な画像を得ることができる。
【０００４】
図２は歪曲収差補正処理を示し、（ａ）は樽形に歪んだ画像を補正する場合、（ｂ）は糸巻形に歪んだ画像を補正する場合をそれぞれ表している。
【０００５】
歪曲収差補正処理は、画素位置の移動を伴う補正であるため、画像の外縁の形状も変化する。これに対して、画像の外縁の形状は一般的に矩形状である。そこで、歪曲収差補正処理後に画像を最大サイズの矩形あるいは、撮影したカメラのアスペクト比にトリミングすることにより周辺部の画像を切り取って矩形状の画像とするのが一般的である（例えば、特許文献１参照）。
【特許文献１】特開２００７−１２９５８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、周辺部に人の顔が写っている写真を歪曲収差補正処理後にトリミングした場合、レンズの幾何学的歪みは正しく補正されるが、被写体の顔の一部が欠けてしまうことや顔の全部が切り取られてしまうことがある。例えば、画面の端部に被写体の顔がある場合に、このトリミングによって顔の一部が欠けてしまう場合がある（図３参照）。
【０００７】
本発明は、上記課題に鑑みてなされ、歪曲収差補正処理を実行する際に画像中の被写体の顔が欠けたり、顔が検出できなくなることを防ぐ画像処理技術を実現する。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の画像処理装置は、画像データの外縁の形状変化を伴う画像処理を行う画像処理手段と、画像データに含まれる顔領域を検出する顔検出手段と、前記画像処理のパラメータを決定する決定手段と、前記決定手段により決定された画像処理のパラメータによる画像処理の前後の画像データに関する顔検出結果を比較する比較手段と、前記比較手段による比較結果に応じて、前記画像処理を実行するか否かを判定する判定手段と、を有する。
【０００９】
また、本発明の画像処理方法は、画像データの外縁の形状変化を伴う画像処理を行う画像処理工程と、画像データに含まれる顔領域を検出する顔検出工程と、前記画像処理のパラメータを決定する決定工程と、前記決定された画像処理のパラメータによる画像処理の前後の画像データに関する顔検出結果を比較する比較工程と、前記比較工程による比較結果に応じて、前記画像処理を実行するか否かを判定する判定工程と、を有する。
【発明の効果】
【００１０】
本発明によれば、歪曲収差補正処理を実行する際に画像中の被写体の顔が欠けたり、顔が検出できなくなることを防ぐことができる。
【発明を実施するための最良の形態】
【００１１】
以下に、添付図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【００１２】
尚、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００１３】
［第１の実施形態］
図１は、本発明に係る実施形態の画像処理装置の構成を示すブロック図である。
【００１４】
図１において、ＣＰＵ１０１は、システム全体の動作を統括制御し、一次記憶部１０２に格納されたプログラムなどを実行する。
【００１５】
一次記憶部１０２は主にメモリであり、二次記憶部１０３に記憶されたプログラムなどを読み込んで格納する。
【００１６】
二次記憶部１０３は、例えばハードディスクなどが該当する。一次記憶部１０２の容量は二次記憶部１０３の容量より小さく、一次記憶部１０２に格納しきれないプログラムやデータなどは二次記憶部１０３に格納される。また、長時間記憶しておく必要があるデータなども二次記憶部１０３に格納される。本実施形態の処理手順を実現するようなプログラムは二次記憶部１０３に格納され、プログラム実行時に一次記憶部１０２に読み出して、ＣＰＵ１０１が実行する。
【００１７】
入力デバイス１０４は、例えばユーザ操作を受け付けるマウスやキーボードなどが該当し、プログラムなどに割り込み信号を送るために用いられる。
【００１８】
出力デバイス１０５は、例えば表示装置としてのモニタやプリンタなどが該当する。
【００１９】
読込デバイス１０６は、ＣＣＤなどの撮像素子により生成された画像データを直接又は間接的に一次記憶部１０２や二次記憶部１０３に対して書き込み／読み出しを行う。
【００２０】
特性データ供給部１０７は、不図示のメモリを有する。このメモリは、各種レンズに応じたレンズ特性の情報、具体的には撮影レンズに対応した補正係数を格納している。後述する歪曲収差補正処理は、補正関数を予め定めておき、補正関数に特性データ供給部１０７から読み出した補正係数を適用することで補正量を算出し、補正量に応じて画像を変形して、画像の外縁の形状変化を伴う画像処理である。なお、レンズ特性は特性データ供給部１０７のメモリに限らず、二次記憶部１０３や不図示の外部記憶装置に格納されたデータを参照しても良い。
【００２１】
図４は、本実施形態における画像処理装置（以下、画像処理アプリケーション）のユーザインタフェース（ＧＵＩ）を例示している。
【００２２】
図４において、画像表示部４０１には、処理対象画像をフィット表示する（ウィンドウ内に処理対象画像の全領域が表示される範囲内で、処理対象画像を最大まで拡大して表示する）。処理対象画像は、オペレーティングシステムのファイル管理システム上から、画像表示部４０１にファイルをドラッグアンドドロップするなどの方法で指定される。また、処理対象画像に何らかの画像処理を施した結果の画像を表示することもできる。
【００２３】
歪曲収差補正実行ボタン（以下、実行ボタン）４０２が押下されると、歪曲収差補正処理が実行され、補正結果の画像が画像表示部４０１に表示される。歪曲収差補正処理を実行した場合、補正結果の画像の外縁の形状が矩形でない場合がある。その場合は、結果画像の外縁に内接する矩形領域で結果画像を切り出し、切り出した画像を結果画像としても良い（図２参照）。
【００２４】
リセットボタン４０３が押下されると、歪曲収差補正処理を施す前の画像が画像表示部４０１に表示される。
【００２５】
画像処理アプリケーションを終了させる場合には、終了ボタン４０４を押下する。
【００２６】
ここで実行ボタン４０２が押された際の処理について、図５のフローを参照して説明する。
【００２７】
Ｓ５０１において、まず画像データを読み出し、画像表示部４０１に表示する。
【００２８】
Ｓ５０２では、読み出された画像データの顔検出を実行し、検出情報を記録する。ここで記録する情報は、検出した顔の数それぞれの顔の位置やサイズが含まれる。例えば４つの顔が検出された場合は図６のテーブルに示すような４つの顔ＩＤが顔検出情報として記録される。
【００２９】
顔を検出する技術としては、様々な手法が公知となっている。例えば、ニューラルネットワークに代表される学習を用いた方法がある。また、目、鼻、口、および、顔の輪郭といった物理的な形状の特徴のある部位を画像情報からテンプレートマッチングを用いて識別する手法がある。他にも、肌の色や目の形といった画像情報の特徴量を検出し統計的解析を用いた手法がある。さらに、直前の顔領域が検出された位置の近傍であるか判定したり、服の色を加味するために顔領域の近傍の色を判定したり、あるいは、画面の中央付近ほど顔識別のための閾値を低く設定したりする方法がある。
【００３０】
Ｓ５０３では歪曲収差補正パラメータ（以下、補正パラメータ）を決定する。
【００３１】
本実施形態の歪曲収差補正処理は、例えば特開平６−１６５０２４号公報に開示された公知の方法で行う。すなわち、撮影時光学情報を用いて特性データ供給部１０７から特性データを得て、予め定めた補正関数に適用することで像高（画像中心からの距離）に対する補正量を決定する。本実施形態では、補正関数は像高をパラメータとする３次関数とする。
【００３２】
歪曲収差補正処理を行うために、レンズを識別する識別情報、ズーム位置を特定するための撮影時焦点距離情報、Ｆ値などの撮影時光学情報が必要である。本実施形態では、これらの情報をＥｘｉｆ規格で定められたＭａｋｅｒＮｏｔｅタグに格納する。さらに補正精度を上げるために、上記情報に加えて被写体距離情報など他の情報を用いても良い。
【００３３】
次にＳ５０４において、補正後の画像で補正前に検出されていた画像の顔が欠けるか否かを判定する。
【００３４】
顔が欠けるか否かの判定方法について図７および図８を参照して説明する。
【００３５】
図２で説明したように、歪曲収差補正処理は、画素位置の移動を伴う補正であるため、画像の外縁の形状も変化してしまう。これに対して、画像の外縁の形状は一般的に矩形状であり、歪曲収差補正処理後には画像を最大サイズの矩形あるいは、撮影したカメラのアスペクト比にトリミングして、周辺部の画像を切り取る。
【００３６】
すなわち図７の元画像に示すように、幅Ｗ、高さＨであった画像に歪曲収差補正処理を施すことによって、補正結果の画像ａとなる。この結果、補正後の画像の幅はＷａ、高さはＨａとなり、新たな補正結果画像は始点（ｘｄ１，ｙｄ１）、終点（ｘｄ２，ｙｄ２）で囲まれる矩形となる。以下では、この矩形領域を有効画像領域と呼ぶ。
【００３７】
本実施形態では、有効画像領域に最大サイズの矩形を用いているが、撮影したカメラのアスペクト比と同じようにトリミングしたり、ユーザ自身が後でトリミングする領域でも良い。
【００３８】
ここで、顔が欠けるか否かの判定処理を図８のフローを参照して説明する。
【００３９】
Ｓ８０１において、顔検出データに対して、歪曲収差補正関数を適用し、補正後の顔位置の座標を求める。
【００４０】
次にＳ８０２において、補正後の顔位置の座標が有効画像領域内にあれば、Ｓ８０３に進む。補正後の顔位置の座標が一部でも有効画像領域外にある場合には、Ｓ８０５に進み、歪曲収差補正処理によって顔が欠けると判定される。
【００４１】
Ｓ８０３では、全ての顔について補正関数を適用するまでＳ８０１からの処理を繰り返し、全ての顔について適用されたならば、Ｓ８０４に進み、歪曲収差補正処理によって顔が欠けないと判定される。
【００４２】
上記の処理によってＳ５０４での顔が欠けるか否かを判定することができる。
【００４３】
顔が欠けない場合にはＳ５０５に進み、歪曲収差補正処理を実行する。
【００４４】
顔が欠ける場合にはＳ５０６に進み、歪曲収差補正処理を実行しない。
【００４５】
画像処理アプリケーションは実行ボタン４０２が押された際に図５の処理を実行する。そして、顔が欠けてしまうと判定された場合には「被写体の顔が欠けてしまいます。」といった旨のメッセージなどによりユーザに警告するためのダイアログを表示して処理を中止する。あるいは「被写体の顔が欠けてしまいます。処理を中止しますか？」といったダイアログを表示してユーザに歪曲収差補正処理を実行するか確認し、ユーザがそれでも歪曲収差補正処理を実行したい場合にのみ処理を行うようにしても良い。また、顔が欠けてしまう場合には、Ｓ５０３の歪曲収差補正処理の反映度合が小さくなる方向に補正パラメータを変更して、再度図８のフローに基づく処理を実行しても良い。
【００４６】
また、本実施形態では歪曲収差補正処理について例示したが、所定角度回転させた画像から有効画像領域を切り出す処理にも有効である。
【００４７】
以上のように、歪曲収差補正処理によって被写体の顔が有効画像領域から欠けてしまう場合には、歪曲収差補正処理を実行しないことで、被写体の顔が切り取られることを防ぐことができる。
【００４８】
さらに、本実施形態では実際に画像中の全ての画素について、歪曲収差補正処理を行う前に顔が欠けるか否かの判定が可能であるため、高速に判定することができる。
【００４９】
［第２の実施形態］
第１の実施形態では、画像に歪曲収差補正処理を施した後、顔位置が有効画像領域から欠けるか否かを判定し、その結果に応じて歪曲収差補正処理を行うか否かを判定している。しかしながら、実際には顔の一部が欠けた場合でも顔を検出できる場合がある。そこで、本実施形態では、顔検出が可能か否かを判定して補正パラメータを決定する処理について説明する。
【００５０】
本実施形態は、図１に示す装置構成と図４に示すＧＵＩにより実現可能である。
【００５１】
図９は、第２の実施形態の画像処理装置による実行ボタン４０２が押下された際の処理を示すフローチャートである。
【００５２】
Ｓ９０１において、まず画像を読み込み画像表示部４０１に表示する。
【００５３】
次にＳ９０２において、読み込まれた画像データの顔検出を実行し、図６に示すような情報を記録する。
【００５４】
ここで、各顔ＩＤの始点とサイズを各顔ＩＤの顔領域と定義する。
【００５５】
次にＳ９０３において補正パラメータの初期値を決定する。
【００５６】
本実施形態における歪曲収差補正処理も、特開平６−１６５０２４号公報に開示された方法により実行する。
【００５７】
また、レンズ収差補正処理を行うために必要となる、レンズを識別する識別情報、ズーム位置を特定するための撮影時焦点距離情報、Ｆ値などの撮影時光学情報はＥｘｉｆ規格で定められたＭａｋｅｒＮｏｔｅタグに格納する。
【００５８】
以上の方法によって補正パラメータの初期値が決定される。
【００５９】
Ｓ９０４において、元画像データ全体に歪曲収差補正処理を施す。
【００６０】
Ｓ９０５において、歪曲収差補正処理後の画像に対して、顔検出処理を行い、補正後の検出結果として、各顔ＩＤの始点とサイズを図６のようなテーブルに記録する。このテーブルは補正前のテーブルとは別に保持する。
【００６１】
Ｓ９０６では補正前後の顔検出結果を比較する。比較結果として補正後の顔検出結果が補正前の顔検出結果に対して所定閾値内にある場合には、補正の前後で顔検出結果が大きく変わらないので、現状の補正パラメータによる歪曲収差補正処理で顔が欠けることがないと判定し、本処理を終了する。
ここで、上記Ｓ９０６での顔検出結果の判定方法について図１０のフローを参照して説明する。
【００６２】
Ｓ１００１において、まず顔ＩＤに０を入力して初期化する。
【００６３】
Ｓ１００２において、顔（ＩＤ）の座標について、上記補正パラメータを用いて補正後の顔ＩＤの座標を求める。ここで求める座標は顔ＩＤの始点とサイズである。
【００６４】
Ｓ１００３において、Ｓ１００２で求めた補正後の顔ＩＤの始点とサイズの閾値内にＳ９０５で求めた顔領域が存在するか否かを検索する。
【００６５】
ここで閾値として、Ｓ１００２で求めた補正後の顔ＩＤのサイズの縦横プラス３０％の領域が設定される。
【００６６】
Ｓ１００２で検索した結果、Ｓ９０５で求めた顔領域が存在しなければ、変化量が大きいと判定し、Ｓ１００６に進む。
【００６７】
顔領域が存在した場合はＳ１００４に進み、補正前の全ての顔ＩＤについて補正を実施した場合にはＳ１００７に進み、実施していない場合にはＳ１００５に進み、ＩＤを１プラスして、Ｓ１００２に戻る。
【００６８】
Ｓ１００６において、変化量が大きい場合には、顔検出結果が大きく変わることになるのでＳ９０７に進む。
【００６９】
Ｓ９０７では補正パラメータを１０％低減するようにパラメータ変更を行って、Ｓ９０４の歪曲収差補正処理を再度行う。
【００７０】
なお、Ｓ１００３で今回の補正前後の顔検出結果の検索範囲を、顔ＩＤのサイズの縦横プラス３０％としたが、これは、これ以上の範囲を検索すると別の顔も検索結果として入ってしまう可能性があるからである。よって、顔の数によってはこの検索範囲を広げても良い。
【００７１】
また、Ｓ９０７における補正パラメータを減らす量として一律１０％としたが、これはレンズの種類によって変化量が大きいレンズや小さいレンズがあるためであり、レンズごとの違いを考慮しなくても良いように１０％としている。
【００７２】
別の方法として、レンズの種類や補正パラメータのテーブルを参照して、変化量の大小によって補正パラメータの低減量を変更しても良い。
【００７３】
なお、本実施形態では、顔検出処理に全ての画像データを用いたが、処理を高速化するために、間引いた画像データでも良い。
【００７４】
上記の実施形態によれば、歪曲収差補正処理の前後で顔検出の結果が大きく変化しないように補正パラメータを決定することができる。
【００７５】
［他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給しても達成可能である。すなわち、そのシステムあるいは装置のコンピュータ（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００７６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７７】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性の半導体メモリカード、ＲＯＭなどを用いることができる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合もある。
【００７８】
しかし、さらにプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる場合も有得る。その後、プログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００８０】
【図１】本発明に係る実施形態の画像処理装置の構成を示すブロック図である。
【図２】歪曲収差補正処理を説明する図である。
【図３】歪曲収差補正処理による課題を説明する図である。
【図４】本実施形態の画像処理アプリケーションによるユーザインタフェースを例示する図である。
【図５】第１の実施形態による歪曲収差補正処理結果の判定処理を示すフローチャートである。
【図６】本実施形態による顔検出情報のテーブルを例示する図である。
【図７】第１の実施形態による歪曲収差補正処理を説明する図である。
【図８】第１の実施形態による歪曲収差補正処理結果の判定処理を示すフローチャートである。
【図９】第２の実施形態による顔検出結果の判定処理を示すフローチャートである。
【図１０】第２の実施形態による顔検出結果の判定処理を示すフローチャートである。
【図１】
2010074312.tif 000003
【図２】
2010074312.tif 000004
【図３】
2010074312.tif 000005
【図４】
2010074312.tif 000006
【図５】
2010074312.tif 000007
【図６】
2010074312.tif 000008
【図７】
2010074312.tif 000009
【図８】
2010074312.tif 000010
【図９】
2010074312.tif 000011
【図１０】
2010074312.tif 000012