説明

画像処理装置及び方法

【課題】顔に存在する器官の画像における画質の劣化を招くことなくホクロやシミ等の画像部分を自動的に除去可能とする。
【解決手段】顔・器官位置検出部201は処理対象の画像から顔および器官の領域を抽出する。除去対象物検出部202は、抽出した顔の領域から器官の領域を除いた除去処理対象領域を決定し、この除去処理対象領域内において除去対象画像を検出する。除去処理部203は、検出された除去対象画像の各画素の値を該除去対象画像の周辺の画素の値に基づいて更新することによって該除去対象画像を除去する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力された画像から特定画像を除去する画像処理装置および方法に関する。より詳しくは、入力画像に含まれる人物の顔からホクロやシミなどの特定画像を除去する画像処理装置および方法に関する。
【背景技術】
【0002】
従来より、デジタルスチルカメラなどで撮影したデジタル画像に対し、ユーザがマウス等のユーザインターフェースを用いて領域指定することで、ホクロ、シミ、あるいはニキビ等に対応する画像部分を除去する方法が提案されている(特許文献1参照)。しかし、これまで提案されている方法では、ユーザが除去したい対象物の画像部分を一つずつ手動で指定する必要があり、必ずしも使い勝手が良いとは言えなかった。
【0003】
一方、上記問題を鑑みて、ユーザによる指定を不要とし、ホクロやシミの画像部分を自動的に除去する方法もいくつか提案されている。一般にこの種の除去処理では、入力画像全領域に対してローパスフィルタ等の平滑化処理を行ってホクロなどの孤立点除去を行うようにしている。
【特許文献1】特開2003−3313306号公報
【特許文献2】特開2002−183731号公報
【特許文献3】特開2003−30667号公報
【特許文献4】特開平8−63597号公報
【特許文献5】特開2000−105829号公報
【特許文献6】特開平8−77334号公報
【特許文献7】特開2001−216515号公報
【特許文献8】特開平5−197793号公報
【特許文献9】特開平11−53525号公報
【特許文献10】特開2000−132688号公報
【特許文献11】特開2000−235648号公報
【特許文献12】特開平11−250267号公報
【特許文献13】特許第2541688号明細書
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、入力画像全域に平滑化処理を施す場合、除去する必要のない個所にも平滑化処理が施されてしまうという弊害がある。特に、目や口といった器官に平滑化処理が施されると、観察者に対して画像のボケが強調され、画質が大きく劣化したように感じられる。また、このような弊害を避けるために、平滑化処理による除去強度を弱く設定すれば、ホクロ等の除去したい画像部分が残留し、ユーザが所望する結果を得ることができなくなってしまうという課題が生じる。
【0005】
画像から人間の顔位置、および目や口などの器官位置を検出する方法は特許文献2〜13に示されるように、従来から多くの提案がなされている。しかしながら、上述したような人物画像からホクロやシミなどを除去する処理を行うに際して、画像中の顔や器官の位置の情報を利用した試みはなされていない。
【0006】
本発明は上記の課題に鑑みてなされたものであり、顔に存在する器官の画像における画質の劣化を招くことなくホクロやシミ等の画像部分を自動的に除去可能とすることを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するための本発明の画像処理装置は以下の構成を備えている。すなわち、
処理対象の画像から顔および器官の領域を抽出し、抽出した顔の領域から器官の領域を除いた除去処理対象領域を決定する決定手段と、
前記除去処理対象領域内において除去対象画像を検出する検出手段と、
前記除去対象画像の各画素の値を該除去対象画像の周辺の画素の値に基づいて更新することにより、該除去対象画像を除去する除去手段とを備える。
【0008】
また、蒸気の目的を達成するための本発明による画像処理方法は、
処理対象の画像から顔および器官の領域を抽出し、抽出した顔の領域から器官の領域を除いた除去処理対象領域を決定する決定工程と、
前記除去処理対象領域内において除去対象画像を検出する検出工程と、
前記除去対象画像の各画素の値を該除去対象画像の周辺の画素の値に基づいて更新することにより、該除去対象画像を除去する除去工程とを備える。
【発明の効果】
【0009】
以上のように、本発明によれば、顔に存在する器官の画像における画質の劣化を招くことなくホクロやシミ等の画像部分を自動的に除去することができる。
【発明を実施するための最良の形態】
【0010】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
【0011】
<第1実施形態>
(ハードウエア構成)
図1は第1実施形態による画像処理を実現するためのコンピュータにおけるハードウエア構成例を示すブロック図である。図1に示されるように、コンピュータ100は、CPU101、ROM102、RAM103、ディスプレイなどの表示装置104、キーボード107、マウス106などのユーザインターフェース、ハードディスクなどの2次記憶装置105、他のコンピュータやプリンタ109などと接続するためのインターフェース108とで構成されている。以上の構成において、CPU101が2次記憶装置105に記憶された制御プログラムをRAM103へロードし、これを実行することにより以下に説明する各機能が実現される。
【0012】
(処理の概要)
図2は、本実施形態における画像処理の機能構成を示すブロック図である。以下、図2を参照しながら本実施形態の画像処理の概要を説明する。図2に示すように、本実施形態の画像処理は、顔・器官位置検出部201、除去対象物検出部202、除去処理部203、除去強度入力部204を含む。
【0013】
まず、入力画像が顔・器官位置検出部201に入力される。本実施形態において、入力画像としては、デジタルカメラで撮影して得られた画像や、スキャナなどの光学読取装置で原稿を読み込んで得られた画像や、デジタルビデオカメラで撮影された動画中の1フレームを抽出して得られた画像などを想定している。なお、本明細書において、これらの「画像」は電子データ化された画像データを指すものとする。本実施形態では、これらの画像は2次記憶装置105に格納され、顔・器官位置検出部201によって適宜読み出されてRAM103に記憶され、処理に供されるものとする。また、本実施形態では入力画像はRGB各色8ビットで構成された画像データを想定して説明を行うが、本発明はこれに限定されるものではなく、例えばモノクロ画像に対しても容易に適用できることは言うまでもない。
【0014】
顔・器官位置検出部201は、入力画像から人物の顔および目や鼻、口などの器官位置を検出する。検出された顔および器官位置の情報は、後段の除去対象物検出部202や除去処理部203に入力され利用される。
【0015】
次に入力画像は除去対象物検出部202に入力される。除去対象物検出部202は、顔・器官位置検出部201から取得される顔および器官位置情報を基に、入力画像から、除去すべき対象物、例えばホクロやシミ等の画像の検出を行う。後述するように、除去対象物は検出した顔領域内部であって、かつ器官領域に含まれない領域で検出したものに限定する。
【0016】
次に入力画像は除去処理部203に入力され、同部において、前記顔および器官位置情報、および除去対象物の位置情報に基づいて、除去対象物の除去処理を行う。この際に、除去強度入力部204において、ユーザが指定した除去強度により除去処理を行うようにすることも可能である。
【0017】
上記処理が施され、除去処理部203から出力される画像データは、ディスプレイ104に表示されたり、圧縮処理が施されて2次記憶装置105に保存されたり、インターフェース108を介して接続されたプリンタ109から出力されたりすることになる。以上が、本実施形態における処理の概要である。以下、上述した各処理部の機能について、個別に、より詳細に説明する。
【0018】
(顔および器官位置検出)
上述したように、本実施形態においては、顔・器官位置検出部201が、入力画像中から人物の顔および目や口などの器官位置情報を検出する。顔および器官位置の検出に関しては、従来より様々な方法が提案されている。
【0019】
例えば本出願人による特開2002-183731号公報(特許文献2)によれば、まず、入力画像から目領域を検出し、目領域周辺を顔候補領域とする。そして、この顔候補領域に対して、画素毎の輝度勾配および輝度勾配の重みを算出し、これらを、あらかじめ設定されている理想的な顔基準画像の勾配および勾配の重みと比較する。このとき、各勾配間の平均角度が所定の閾値以下であった場合、入力画像は顔領域を有すると判定する方法が記載されている。
【0020】
また、特開2003-30667号公報(特許文献3)によれば、まず画像中から肌色領域を検出し、検出された領域内において人間の虹彩色画素を検出することにより、目の位置を検出することが可能であるとしている。
【0021】
さらに、特開平8-63597号公報(特許文献4)によれば、複数の顔の形状をしたテンプレートと画像とのマッチング度を計算し、マッチング度が最も高いテンプレートを選択する。そして、最も高かったマッチング度があらかじめ定められた閾値以上であれば、選択されたテンプレート内の領域を顔候補領域とする。また、このテンプレートを用いるこことで、目の位置を検出することが可能であるとしている。
【0022】
さらに、特開2000−105829号公報(特許文献5)によれば、まず、鼻画像パターンをテンプレートとし、画像全体、あるいは画像中の指定された領域を走査し最もマッチする位置を鼻の位置として出力する。次に、画像の鼻の位置よりも上の領域を目が存在する領域として、目画像パターンをテンプレートとして目存在領域を走査してマッチングをとる。このマッチングにおいてある閾値よりもマッチ度が大きい画素の集合である目存在候補位置集合を求める。さらに、目存在候補位置集合に含まれる連続した領域をクラスタとして分割し、各クラスタと鼻位置との距離を算出する。そして、その距離が最も短くなるクラスタを目が存在するクラスタに決定することで、器官位置の検出が可能であるとしている。
【0023】
その他、顔および器官位置を検出する方法としては、特許文献6〜13など、数多くの手法が提案されており、本実施形態においてはそれらのうちどのような手法を用いても良い。また、顔および器官位置の検出法については、上記記載に限定されることはなく、その他のどのような手法を用いても構わない。なお、顔および器官位置の検出に関しては、様々な文献および特許で開示されているため、ここでの詳細な説明は省略する。
【0024】
本実施形態においては、顔および器官位置を検出した結果、図3に示すような情報が得られるものとする。すなわち、顔の数(FaceNum)、左黒目の中心位置(EyeL(x,y))、右黒目の中心位置(EyeR(x,y))、口の左端部位置(MouL(x,y))、口の右端部位置(MouR(x,y))である。
【0025】
なお、本実施形態においては、上記の情報に限定したが、本発明はこれに限定されるものではない。例えば、器官位置情報として目頭、目尻の位置や、鼻の形状や、頭髪の形状などが含まれていても良い。また、図3中301は、本実施形態で除去対象とする不要物(除去対象物)である。
【0026】
(除去対象物検出)
図4は、除去対象物検出部202の処理を示すフローチャートである。除去対象物検出部202では、器官位置情報を基に、まずステップS401において、入力画像に対し、除去対象物を検出する対象領域を表すマスク情報を生成する。
【0027】
図5は、ステップS401で生成されるマスク情報の例を示している。図5において、顔楕円領域501は、検出した器官位置情報を基に算出した顔領域である。また、器官楕円領域502は、器官位置情報に基づいて設定した器官領域である。本実施形態では、顔楕円領域502が両目付近を囲む領域と口を囲む領域に設定されていることがわかる。本実施形態においては、顔楕円領域501の内側であって、かつ器官楕円領域502の外側の領域に対して、ホクロなどの除去対象物の検出を行う。このような処理により、背景部分に対して余計な除去処理を作用させることなく、かつ、人物の顔にとって重要な器官領域に対して除去処理を作用させないようにしている。なお、以降では、顔楕円領域501の内側で、かつ器官楕円領域502の外側の領域を除去対象領域と呼ぶことにする。従って、マスク情報は、除去対象領域外の領域をマスクするための情報となる。
【0028】
楕円領域501,502のの設定方法の一例を説明する。なお、以下の説明において、楕円の長軸、短軸とは、それぞれ楕円の中心から境界(楕円外周)までの距離とする。まず、上記4つの位置情報(左黒目(EyeL(x,y))、右黒目(EyeR(x,y))、口の左端部(MouL(x,y))、口の右端部(MouR(x,y)))の重心位置を求め、これを顔楕円領域501の中心とする。また、顔楕円領域501の短軸は、左右黒目の中心位置間の距離とし、長軸は、当該短軸を所定倍(例えば、短軸の3/2倍など)することで算出する。
【0029】
また、器官楕円領域502のうち、目の周辺を囲む楕円領域は、その中心を黒目の中心とし、長軸は左右黒目間距離の長さの所定倍(例えば、0.3倍など)、短軸は長軸の1/2とするなどして算出する。また、口の周辺に設定する器官楕円領域は、その中心を口の左右端部の中点、長軸を左右端部間距離の半分、短軸は長軸の所定倍(例えば1/2)として算出する。
【0030】
図4に戻り、ステップS402では、上記マスク情報に基づき、2値化処理が行われる。2値化処理は、マスク情報によってマスクされていない領域、すなわち除去対象領域のみに対して行われる。2値化処理としては、入力されたRGB各色成分毎にある閾値(例えば各色8ビットの場合128)を用いて2値化処理を行い、各画素毎に色成分毎の2値化結果の論理積を算出する方法が挙げられる。もちろん本実施形態に適用可能な2値化処理はこのような方法に限られるものではなく、例えば、各RGB値を輝度−色差成分に変換し、輝度成分のみに対して上記閾値を用いて2値化処理を行っても良い。
【0031】
ステップS403では、ステップS402における2値化処理によって得られた画像情報から、黒い孤立点を抽出し、これを除去対象物とする。孤立点の抽出に関しては様々な方法が考えられる。例えば、パターンマッチングにより、黒く丸い孤立点を抽出することが可能である。あるいは、2値化画像の境界線探索を行うことにより孤立点を抽出することも考えられる。
【0032】
境界線探索とは、図6に示すように、2値化画像を走査方向にスキャンしてゆき、最初に黒ドットにぶつかった場所を基準位置として、反時計回り(時計回りでも良い)に境界を探索してゆき、基準位置に戻るまで続ける。その過程で、図示するように黒点の横幅と縦幅を検出することが可能であるため、これらの情報から黒点の中心位置とおおよその半径を算出することが可能となる。尚、例えば中心位置は((xmin+xmax)/2, (ymin+ymax)/2)により求めることができる。また、半径RはMax((xmax−xmin)/2, (ymax−ymin)/2)で求めることができる。なおMax(a, b)はa,bのうち大きい方を意味している。このような方法で抽出した黒点の中心位置と半径は、後段の除去処理部203に除去対象物位置情報として入力される。
【0033】
なお、ここまで説明したステップS401〜ステップS403の処理は、顔・器官位置検出部201で検出した全ての顔位置(FaceNumで示される個数の顔位置全て)に対して実行される。ただし、除去処理を実行したい所望の顔をユーザに選択させるように構成してもよい、そのような構成は当業者には明らかであろう。
【0034】
(除去処理)
以下では、除去処理部203の処理の説明を行う。図7は除去処理部の処理のフローチャートを示したものである。除去処理部203では、除去対象物検出部202で検出した除去対象物の中心位置と半径を用いて除去対象物を削除、あるいは目立たなくする処理を行う。本実施形態で説明する除去処理では、基本的に、除去対象物に隣接する領域を参照し、その平均画素値を用いて除去対象物内の画素の置換を行う。以下、図7のフローチャートに従って説明する。
【0035】
1つ目の除去対象物に対して、ステップS701において、注目画素位置が除去対象物内であるか否かの判定を行い、除去対象物内であればステップS702に進む。或いは、除去対象物内の画素を注目画素として順次取得するようにしてもよい。中心位置と注目画素との距離dを算出する。なお、この様子を図8に示す。次にステップS703において、除去処理を行う際に参照する注目画素を中心とした参照領域901の大きさを算出する。なお、参照領域901は1辺が2×Mの正方形とし、Mは以下の式、
M=R−d+Q
により算出する。
【0036】
本実施形態では、上式に示すように、参照領域901のサイズは、除去対象物の中心付近ほど大きくなり、除去画素位置が除去対象物の境界に近づくほど小さくなる。この様子を図示したものが図9である。なお、上式におけるQは、R=dとなった際の参照領域の最小サイズを決定するためのパラメータである。Qの値が大きいと参照領域が拡大し、除去処理に用いるべきではない領域までも参照領域に含んでしまう可能性がある。そのためQはできるだけ小さい値、たとえばQ=2(画素)程度が望ましい。
【0037】
また、このように、参照領域901の大きさを、除去対象物の中心と境界付近で変化させることにより、画素置換を行う際に用いる参照画素が中心と境界付近とで異なるため、ランダム性を向上させることができる。ランダム性が向上することにより、除去後の除去対象物内が平坦、あるいは周囲の画素の影響で放射状の模様が発生するなどの不自然な状態になることを防止することができる。
【0038】
図7のフローチャートに戻り、ステップS704において、算出した参照領域901内であって、且つ除去対象物外の画素の平均値をRGB成分毎に算出する。次にステップS705において、注目画素を置換するための新しい画素値(置換画素値)を算出する。ここで、例えばR成分について、入力画像上の注目画素値をRorg(x,y)、ステップS704で算出したR成分の平均値をRref(x,y)とすると、置換画素値Rnew(x,y)は以下の式、
Rnew(x,y)=L(d)×w×Rref(x,y)+(1.0−L(d)×w)×Rorg(x,y)
で求めることができる。
【0039】
上式において、L(d)は除去対象物の中心位置と注目画素との距離dの関数であり、0.0〜1.0の間の値を取る。例えば、図10に示すように中心付近は1.0で、境界に近づくに従って(dが大きくなるにしたがって)0.0に近づいてゆき、d=RとなったとこでL=0となる。このようなL(d)の設定は、境界に近づくほど、原画素値を重視することを意味しており、この処理により、除去対象物の境界付近で不自然な境界線が目立つなどの不具合を防止することができる。
【0040】
また、wはユーザが入力する除去強度によって設定される値で、同様に0.0〜1.0の値を取る。例えば、図11に示すように、ユーザが入力した「強」、「中」、「弱」という強度指定に基づいて、wの値を1.0、0.7、0.4と変化させることで除去強度を調節することが可能となる。もちろん、wの値はもっと細かく設定できるようにしてもよいし、スライダ等のユーザインターフェースにより任意の値に設定できるようにしてもよい。なお、置換画素値の算出は、当然のことながら残りのBG成分に対しても施される。
【0041】
以上の処理(ステップS701〜ステップS705)を、除去対象物内の画素全てに対して施すことにより、ホクロ、シミなどを除去することが可能となる。また、ここまでの処理は除去対象物検出部202で検出された全ての位置に対して施されることになる。
【0042】
以上説明したように、第1実施形態によれば、入力画像から顔および器官位置を自動で検出し、顔領域内であってかつ器官領域以外の領域に存在するホクロ、シミなどを検出し、自動で除去することができる。本方式によれば、人間の顔の中でも重要である目や口の領域や、顔以外の背景領域などに余計な除去処理を施すことがなくなる。すなわち、見た目に劣化が目立ちやすい器官の画像に対する除去処理の影響を防止できるため、見た目の画質劣化を効果的に抑えることができる。
【0043】
<第2実施形態>
第1実施形態では、自動で黒いホクロやシミなどを、検出した顔および器官位置に基づいて適切に除去する方法について説明した。しかし、ニキビなど、除去対象物の色が肌の色とそれほど差異がない場合、除去対象物検出部202で検出できない可能性がある。第2実施形態ではそのような場合に対応するべく、更に、ユーザが手動で除去対象物を指定し、指定された除去対象物を除去することを可能とした構成について説明する。
【0044】
図12は、手動で除去対象物を指定する際のユーザインターフェース(以下、UI)1201の例を示している。このUI1201は、図1の表示装置104に表示され、ユーザがマウス106などを用いて除去対象物を円で囲む様子が示されている。ユーザが指定した領域1202の中心と半径を算出し、これを除去対象物の中心位置と半径として除去処理部203へ供給する。除去処理部203は、供給された中心位置と半径で示される除去対象物に対して第1実施形態で説明した除去処理を適用して、これを除去する。
【0045】
図13は、第2実施形態による除去処理を説明するフローチャートである。まず、顔・器官位置検出部201によって検出された顔、器官位置情報に基づいてマスク情報を生成する(ステップS1301、S1302)。なお、第2実施形態の処理を第1実施形態の処理に対して付加的に用いる場合は、すでにステップS401でマスク情報が生成されているので、ステップS1301、S1302は省略できる。
【0046】
次に、ステップS1303において図12に示すUIを表示装置104に表示し、除去対象物をユーザに指定させる。図12に示されるように、除去対象の画像を表示し(1204)、マウス106等の入力装置を用いて所望の位置に閉図形を描画することができる。図12では、閉図形として円1202を用いた例を示している。なお、除去対象の画像を拡大して表示することを可能にすれば、除去対象物の指定操作(円等の閉図形の描画操作)を容易にすることができる。そして、実行ボタン1203のクリックにより、除去対象物が指定されたとして処理をステップS1304へ進める。
【0047】
UIにおいて除去対象物を指定した際に、ユーザが誤って人物の顔の中でも重要な器官領域付近を除去対象物として指定してしまう場合が考えられる。このような場合、すなわち、マウス106などを用いて除去対象物(円)を入力(描画)した際に、その領域の少なくとも一部がマスク情報によって表される除去対象領域からはみ出す場合は、ステップS1305へ進み、その旨を示す警告を表示する。より具体的には、指定された除去対象物の少なくとも一部が器官位置を示す器官楕円領域502に重なっていたり、顔楕円領域501の外だった場合に、ステップS1305において何らかの警告を表示する。この様子を図示したものが図14である。同図では目の周辺を除去対象物としてユーザが指定したため、図示するような警告1401が表示されている。
【0048】
なお、除去対象物がどの程度除去対象領域からはみ出したら警告表示を行うかは、固定値として設定してもよいし、ユーザが設定できるようにしてもよい。例えば、除去対象物の面積の30%が除去対象領域からはみ出した場合に警告表示を行うといったように設定しておく。
【0049】
さて、図14の状態において、警告1401のOKボタンがクリックされると、ステップS1306からステップS1307へ進み、指定された除去対象物について除去処理部203による除去処理を実行する。キャンセルボタンがクリックされた場合は除去処理を行わずにステップS1308へ進む。
【0050】
ステップS1304で除去対象物が除去対象領域からはみ出していないと判定された場合はステップS1304からステップS1307へ進み、指定された除去対象物について除去処理部203による除去処理を実行する。ステップS1308では除去処理の終了指示がなされたか否かを判定し、終了指示がなされていれば本処理を終了し、そうでなければ処理をステップS1303へ戻す。
【0051】
また、上記実施形態では、ユーザが誤った領域を除去対象物に指定した場合(除去対象物が除去処理対象範囲をはみ出す場合)に警告を表示するようにしたが、これに限られない。例えば、除去処理対象範囲をはみ出す除去対象物については、除去強度を弱めて実行するようにしてもよい。図15はそのような処理を説明するフローチャートである。
【0052】
図15において、ステップS1501〜S1504、S1507、S1508の各処理はそれぞれ上述したステップS1301〜S1304、S1307、S1308と同様である。
【0053】
ステップS1504において、指定された除去対象物が除去処理対象範囲をはみ出すと判定された場合、第1実施形態で説明した強度パラメータwを例えば0.5に設定し(ステップS1506)、除去強度を弱めて除去処理する(ステップS1507)。また、除去対象物が除去処理対象範囲をはみ出していなければ、除去強度wを例えば1.0に設定し(ステップS1505)、除去処理する(ステップS1507)。
【0054】
なお、上記図13と図14の処理を組み合わせてもよい。すなわち、図14の警告表示1401のOKボタンのクリックによって除去処理が実行された場合には除去強度を低くするように構成してもよい。
【0055】
以上のように、第2実施形態によれば、あらかじめ検出した顔および器官位置の情報を用いることで、ユーザが手動で指定した除去対象物の領域が、例えば顔の器官位置付近にあった場合や顔の領域外であった場合など、警告を表示することが可能となる。また、警告を表示するのではなく、顔の外部や器官領域付近では、除去強度を弱めて処理することにより、ユーザの操作ミスによる画質劣化を防止することが可能となる。
【0056】
なお、第2実施形態では、第1実施形態による除去対象物の自動除去に加えてマニュアルによる除去対象物の除去を行うものとして説明した。しかしながら、図13あるいは図15のフローチャートにより説明した第2実施形態の処理を単独で用いるようにしてもよいことは明らかであろう。
【0057】
<第3実施形態>
第1実施形態では、自動で顔のホクロやシミを除去する方法を説明した。しかし、人間の顔の中には、その人を特徴付ける上で重要なホクロも存在し、そのようなホクロは除去しないようにしたい場合もある。
【0058】
そこで第3実施形態では、顔・器官位置検出部201において、図16に示すようなUI1600を提供し、除去してはならないホクロ等を指定し、その領域情報を登録ボタン1601を押すことにより登録することができるようにする。複数の領域を登録できるようにしてよいことは言うまでもない。このUI1600によって登録された領域情報は、器官領域と同様に扱われる。すなわち、図4のステップS401でマスク情報を生成する際に、UI1600によって登録した領域を器官楕円領域502と同様に扱ってマスク情報を生成する。第1実施形態で説明したように、除去処理部203では、器官楕円領域502以外を対象として除去処理を行うため、登録された領域には除去処理が施されないことになる。
【0059】
以上のように、第3実施形態によれば、ユーザが除去したくない領域を登録することができ、自動除去処理において、登録された領域は除去処理を行わないようにすることが可能となる。
【0060】
<第4実施形態>
第4実施形態では、ホクロやシミを除去する際に、ユーザが入力した被写体情報、例えば、被写体の性別や年齢に応じて、除去処理を適応的に変化させる方法について説明する。
【0061】
図17は、ユーザが被写体の条件を入力する際のユーザインターフェースの例を示している。図17では、ユーザは被写体の性別1701と年齢1702を指定することができるようになっている。これらの情報に基づいて、例えば以下のように除去処理の動作を変化させる。
【0062】
まず、性別が男性である場合、あご付近にはヒゲが存在する可能性があることから、例えば、図5の顔領域を示す顔楕円領域501内で、口の左右端部を結ぶ直線以下は、除去処理を行わない、あるいは、除去強度を弱めるように、w=0.5程度に設定する。逆に、男性の場合、髭剃り後が残っている場合も考えられるため、顔の下部領域を上部領域に比べ除去強度を強くするようにしてもよい。尚、一般的な顔検出アルゴリズムでは、目や口の位置を特定し、顔であるかどうかを判断するので、これらの情報から、顔の下部領域と上部領域を判断することができる。
【0063】
また、入力された年齢が高い場合、顔の上部ではシワが多く存在する可能性が高いため、顔の上部においては、除去対象物を検出する際に、黒い孤立点ではなく黒い線を抽出するようにし、抽出した黒い線を除去するために除去領域の形状を楕円にし、横方向の黒い線を重点的に除去する処理も考えられる(顔の上部で処理半径を楕円に設定して処理することにより、黒い線が「重点的」に処理されることになる)。尚、楕円領域を処理する場合にも図9で説明したような方法を用いることができる。但し、楕円の場合、円の場合では一定であった半径Rが除去対象画素の位置によって変化する点が異なる。従って、楕円領域の処理の場合、中心と、中心から除去対象画素に向かう直線が楕円と交わる点との距離をRとして、図9で説明した処理を実行する。
【0064】
以上のように第4実施形態によれば、ユーザが被写体の情報を入力することにより、該情報に応じて除去処理を適応的に変化させることが可能となる。
【0065】
<その他実施形態>
これまで説明した実施形態では、検出した器官位置情報を基にマスク情報を生成し、器官領域付近では除去対象物の検出を行わないようにすることで、器官領域付近では除去処理を行わないようにしたが、本発明はこれに限定されるものではない。例えば、除去処理部203内において除去処理を実行する際に、目の中心位置から除去対象物までの距離を算出し、距離が近いほど除去強度を徐々に弱めるように構成することも容易に可能である。この場合、マスク情報は不要となる。なお、この場合、複数検出されている器官位置との距離のうち、最小の距離を用いて除去強度を決定するようにしてもよい。
【0066】
また、除去対象物検出部202で検出された除去対象物を図12のようなUIの画像表示(1204)に重畳表示させ、マウス106により所望の除去対象物を選択して除去対象からはずすような構成を設けることも可能である。
また、上記実施形態では検出する器官として目と口を用いた例を説明したが、その他にも、耳や鼻等を検出して、これをマスク情報に反映させるようにしてもよいことは言うまでもない。
また、器官や顔の領域を楕円により近似したが、他の閉図形領域を用いてもよいことはいうまでも無い。例えば、顔の輪郭を忠実に抽出して得られた閉図形を用いることもできる。しかしながら、輪郭検出法では、顔の近くに肌色の壁などがあると、壁の部分も肌色とするなど、必ず誤検出が生じてしまう。また、顔輪郭は一般には複雑な形状を有するため、輪郭抽出等、処理量が増加することも考えられる。以上のことを鑑みると、単純に楕円で顔輪郭を近似することのメリットは大である。
【0067】
また本発明は、プリンタエンジンへ出力すべき画像情報を作成するコンピュータ内のプリンタドライバソフト、もしくは、スキャナ等の光学読取り装置を動作させるためのドライバソフト、もしくはアプリケーションソフトとして内蔵することが効率的であるが、複写機、ファクシミリ、プリンタ本体等にハードウェア、及びソフトウェアとして内臓することにも効果がある。
【0068】
また、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用しても良い。
【0069】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0070】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【0071】
【図1】第1実施形態による画像処理装置のハードウエア構成を示したブロック図である。
【図2】第1実施形態における画像処理の機能構成例を示すブロック図である。
【図3】第1実施形態で想定する入力画像情報と器官位置を示した図である。
【図4】第1実施形態による除去対象物検出部の処理を示すフローチャートである。
【図5】マスク情報を説明するための図である。
【図6】境界線探索法を説明するための図である。
【図7】第1実施形態による除去処理部の処理を示すフローチャートである。
【図8】除去処理を説明するための図である。
【図9】除去処理を説明するための図である。
【図10】除去処理を説明するための図である。
【図11】ユーザが入力した処理強度とパラメータの関係を示すための図である。
【図12】第2実施形態におけるユーザインターフェースの例を示す図である。
【図13】第2実施形態における除去処理のフローチャートである。
【図14】第2実施形態における警告表示の例を示す図である。
【図15】第2実施形態における除去処理の変形例を示すフローチャートである。
【図16】第3実施形態におけるユーザインターフェースの例を示す図である。
【図17】第4実施形態におけるユーザインターフェースの例を示す図である。

【特許請求の範囲】
【請求項1】
処理対象の画像から顔および器官の領域を抽出し、抽出した顔の領域から器官の領域を除いた除去処理対象領域を決定する決定手段と、
前記除去処理対象領域内において除去対象画像を検出する検出手段と、
前記除去対象画像の各画素の値を該除去対象画像の周辺の画素の値に基づいて更新することにより、該除去対象画像を除去する除去手段とを備えることを特徴とする画像処理装置。
【請求項2】
前記処理対象の画像において、ユーザの操作入力によって除去対象画像を指定する指定手段と、
前記指定手段で指定された除去対象画像を前記除去手段を用いて除去する手動除去手段と、
前記指定手段で指定された除去対象画像の少なくとも一部が前記除去処理対象領域の外部にある場合に、その旨の警告を提示する警告提示手段とを更に備えることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記処理対象の画像において、ユーザの操作入力によって除去対象画像を指定する指定手段と、
前記指定手段で指定された除去対象画像を前記除去手段を用いて除去する手動除去手段とを更に備え、
前記手動除去手段では、前記指定手段で指定された除去対象画像の少なくとも一部が前記除去処理対象領域の外部にある場合には前記除去手段の除去強度を下げて前記除去対象画像の除去を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記指定手段は、
前記処理対象の画像を表示する表示手段と、
ユーザからの操作入力に応じて、前記処理対象の画像の表示上の任意の位置に任意の大きさの閉図形を描画する描画手段とを備え、
前記描画手段で描画された閉図形の部分を前記除去対象画像とすることを特徴とする請求項2または3に記載の画像処理装置。
【請求項5】
前記処理対象の画像において、ユーザの操作入力によって非処理領域を指定する指定手段を更に備え、
前記決定手段は、更に前記指定手段で指定された非処理領域を除外して前記除去処理対象領域を決定することを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記指定手段は、
前記処理対象の画像を表示する表示手段と、
ユーザからの操作入力に応じて、前記表示手段で表示された前記処理対象の画像上の任意の位置に任意の大きさの閉図形を描画する描画手段とを備え、
前記描画手段で描画された閉図形を前記非処理領域とすることを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記処理対象の画像の被写体に関する情報を入力する入力手段と、
前記被写体に関する情報に基づいて、前記決定手段による除去処理対象範囲の決定、前記検出手段による除去対象画像の検出、前記除去手段による除去対象画像の除去の少なくとも何れかにおける処理内容を変更する変更手段とを更に備えることを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記除去手段は、
前記除去対象画像内の注目画素に対して、該除去対象画像の中心位置から該注目画素までの距離に基づいて大きさが決定される参照領域を設定する第1手段と、
前記参照領域の内部であって、かつ前記除去対象画像の外部にある画素値の平均値を算出する第2手段と、
前記平均値と前記注目画素の画素値に基づいて当該注目画素の画素値を決定する第3手段とを含むことを特徴とする請求項1に記載の画像処理装置。
【請求項9】
前記第3手段は、前記平均値と前記注目画素の画素値とを所定の合成比率で合成するものであり、
前記距離が大きくなるほど前記平均値の割合が小さくなるように前記合成比率が設定されることを特徴とする請求項8に記載の画像処理装置。
【請求項10】
除去強度を設定する設定手段を更に備え、
前記除去強度が大きいほど前記平均値の割合が大きくなるように前記合成比率が設定されることを特徴とする請求項8に記載の画像処理装置。
【請求項11】
処理対象の画像から顔にある器官の位置と領域を決定し、各器官の位置と領域から顔の領域を決定する決定手段と、
前記顔の領域内において除去対象画像を検出する検出手段と、
前記除去対象画像の各画素の値を該除去対象画像の周辺の画素の値に基づいて更新することにより、該除去対象画像を除去する除去手段と、
前記除去手段による前記除去対象画素の除去強度を前記決定手段で決定された前記各器官の位置から前記除去対象画像までの距離に基づいて変更する変更手段とを備えることを特徴とする画像処理装置。
【請求項12】
処理対象の画像から顔および器官の領域を抽出し、抽出した顔の領域から器官の領域を除いた除去処理対象領域を決定する決定工程と、
前記除去処理対象領域内において除去対象画像を検出する検出工程と、
前記除去対象画像の各画素の値を該除去対象画像の周辺の画素の値に基づいて更新することにより、該除去対象画像を除去する除去工程とを備えることを特徴とする画像処理方法。
【請求項13】
処理対象の画像から顔にある器官の位置と領域を決定し、各器官の位置と領域から顔の領域を決定する決定工程と、
前記顔の領域内において除去対象画像を検出する検出工程と、
前記除去対象画像の各画素の値を該除去対象画像の周辺の画素の値に基づいて更新することにより、該除去対象画像を除去する除去工程と、
前記除去工程による前記除去対象画素の除去強度を前記決定工程で決定された前記各器官の位置から前記除去対象画像までの距離に基づいて変更する変更工程とを備えることを特徴とする画像処理方法。
【請求項14】
請求項11または12に記載の画像処理方法をコンピュータに実行させるための制御プログラム。
【請求項15】
請求項11または12に記載の画像処理方法をコンピュータに実行させるための制御プログラムを格納した記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2006−18467(P2006−18467A)
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願番号】特願2004−194295(P2004−194295)
【出願日】平成16年6月30日(2004.6.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】