JP2011193317A - 画像処理装置、画像処理プログラム - Google Patents
画像処理装置、画像処理プログラム Download PDFInfo
- Publication number
- JP2011193317A JP2011193317A JP2010058821A JP2010058821A JP2011193317A JP 2011193317 A JP2011193317 A JP 2011193317A JP 2010058821 A JP2010058821 A JP 2010058821A JP 2010058821 A JP2010058821 A JP 2010058821A JP 2011193317 A JP2011193317 A JP 2011193317A
- Authority
- JP
- Japan
- Prior art keywords
- red
- value
- eye
- pixel
- region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Abstract
【課題】
赤目現象が発生している領域を適切に特定することができる画像処理装置、画像処理プログラムを提供することにある。
【解決手段】
カラー画像における赤目現象の発生している赤目を含む赤目候補領域から赤目画素を特定する画像処理装置であって、赤目候補領域における赤目の周辺にある一定面積の肌領域における画素から特徴量として赤値及び赤度値を取得し、各赤値に対応する赤度値の分布に基づいて、赤目画素とそれ以外の画素とを分離する前記各赤値に対応する赤度値を有する分離曲線を生成する分離曲線生成手段と、赤目画素を特定する対象領域の各画素について、画素の赤度値が、分離曲線における前記画素の赤値に対応する赤度値より大きい場合に、画素を赤目画素として特定する赤目画素特定手段と、を有する。
【選択図】 図14
赤目現象が発生している領域を適切に特定することができる画像処理装置、画像処理プログラムを提供することにある。
【解決手段】
カラー画像における赤目現象の発生している赤目を含む赤目候補領域から赤目画素を特定する画像処理装置であって、赤目候補領域における赤目の周辺にある一定面積の肌領域における画素から特徴量として赤値及び赤度値を取得し、各赤値に対応する赤度値の分布に基づいて、赤目画素とそれ以外の画素とを分離する前記各赤値に対応する赤度値を有する分離曲線を生成する分離曲線生成手段と、赤目画素を特定する対象領域の各画素について、画素の赤度値が、分離曲線における前記画素の赤値に対応する赤度値より大きい場合に、画素を赤目画素として特定する赤目画素特定手段と、を有する。
【選択図】 図14
Description
本発明は、画像処理装置、画像処理プログラムに関する。
フラッシュを使用して人物を撮影した場合、目の色が赤色や金色に撮影される赤目現象が発生する。デジタルカメラ、コンピューター、またはプリンター等の画像処理機能を有する装置には、この赤目現象が発生した画像を画像処理によって補正できるものがある(特許文献1参照)。
しかしながら、従来の方法では、赤目現象が発生している領域を精度よく特定することができず、その結果、赤目補正を適切に行うことができない場合があった。
本発明は、このような状況に鑑みてなされたものであり、赤目現象が発生している領域を適切に特定することができる画像処理装置、画像処理プログラムを提供することにある。
上記の目的を達成するために、本発明の第1の側面によれば、カラー画像における赤目現象の発生している赤目を含む赤目候補領域から赤目画素を特定する画像処理装置であって、前記赤目候補領域における前記赤目の周辺にある一定面積の肌領域における画素から特徴量として赤値及び赤度値を取得し、前記各赤値に対応する前記赤度値の分布に基づいて、前記赤目画素とそれ以外の画素とを分離する前記各赤値に対応する赤度値を有する分離曲線を生成する分離曲線生成手段と、前記赤目画素を特定する対象領域の各画素について、前記画素の前記赤度値が、前記分離曲線における前記画素の赤値に対応する前記赤度値より大きい場合に、前記画素を赤目画素として特定する赤目画素特定手段と、を有する。
これにより、画像処理装置は、赤目現象が発生している赤目画素を高精度に検出することができる。
上記の第1の側面において好ましい態様によれば、さらに、前記分離曲線生成手段は、前記赤目候補領域を等分割して区分領域を生成し、前記赤目を含む赤目区分領域の周辺にある肌画素を有する肌区分領域を前記一定面積まで複数検出し、当該検出された複数の肌区分領域の前記特徴量を取得する。
この態様によれば、画像処理装置は、赤目現象が発生している赤目画素を効率的に高精度に検出することができる。
上記の第1の側面において好ましい態様によれば、さらに、前記分離曲線生成手段は、前記赤目候補領域における各画素の赤度値の平均値と当該赤度値の標準偏差値と、前記区分領域における各画素の前記赤度値の平均値とを取得し、前記赤目候補領域の前記赤度値
の平均値と標準偏差値との加算値より大きい赤度値を平均値としてもつ前記区分領域を赤目区分領域として検出し、前記赤目区分領域を包括する領域に外接する前記区分領域群を検出対象領域として設定し、前記検出対象領域の前記区分領域のうち、前記赤目候補領域の前記赤度値の平均値から標準偏差値を減算した値以上であって、前記赤目候補領域の前記赤度値の平均値と標準偏差値との加算値以下である赤度値を平均値としてもつ前記区分領域を前記肌区分領域として検出し、前記肌区分領域の総数が所定数に達するまで、前記検出対象領域の外接する前記区分領域群を前記検出対象領域に設定し直して、当該検出対象領域から前記肌区分領域を検出する。
の平均値と標準偏差値との加算値より大きい赤度値を平均値としてもつ前記区分領域を赤目区分領域として検出し、前記赤目区分領域を包括する領域に外接する前記区分領域群を検出対象領域として設定し、前記検出対象領域の前記区分領域のうち、前記赤目候補領域の前記赤度値の平均値から標準偏差値を減算した値以上であって、前記赤目候補領域の前記赤度値の平均値と標準偏差値との加算値以下である赤度値を平均値としてもつ前記区分領域を前記肌区分領域として検出し、前記肌区分領域の総数が所定数に達するまで、前記検出対象領域の外接する前記区分領域群を前記検出対象領域に設定し直して、当該検出対象領域から前記肌区分領域を検出する。
この態様によれば、画像処理装置は、赤目候補領域における赤目領域と肌領域とを効率的に高精度に検出することができる。
上記の第1の側面において好ましい態様によれば、前記分離曲線生成手段は、さらに、前記区分領域における各画素の前記赤度値の標準偏差値を取得し、前記検出対象領域の前記区分領域のうち、前記区分領域の前記標準偏差値が、前記赤目候補領域の前記標準偏差値に所定係数を乗じた値を超える場合、当該区分領域を前記肌区分領域として検出しない。
この態様によれば、画像処理装置は、さらに高精度に肌領域を検出することができる。
上記の第1の側面において好ましい態様によれば、さらに、前記分離曲線生成手段は、前記赤値を所定の区間に区分し、前記区間毎に、当該区間内の前記赤値に対応する前記肌領域の前記赤度値の分布に基づいて前記分離曲線を生成する。
この態様によれば、画像処理装置は、作業領域が少ない場合であっても、赤目画素を高精度に検出することができる。
上記の第1の側面において好ましい態様によれば、前記赤目画素特定手段は、さらに、前記各画素について、前記画素の前記赤度値と、前記分離曲線における前記画素の赤値に対応する前記赤度値との比に基づいて、前記画素の赤目補正の度合いを表す補正強度情報を生成する。
この態様によれば、画像処理装置は、赤目画素の補正度合い情報(補正強度情報)を取得することができる。
上記の第1の側面において好ましい態様によれば、前記画像処理装置は、さらに、前記赤目候補領域における前記赤目の周辺にある白領域を検出する白領域検出手段を有し、前記赤目画素特定手段は、前記白領域が検出されなかった場合、前記各画素について前記赤目補正の度合いを下げる調整を行う。
この態様によれば、赤目領域の周辺に白色の領域が存在しない場合に、赤目画素の補正度合いを抑えることができる。
上記の第1の側面において好ましい態様によれば、さらに、前記白領域検出手段は、前記区分領域の白度の平均値を取得し、前記検出対象領域の前記区分領域のうち、前記白度の平均値が所定の値以上である前記区分領域を白区分領域として検出する。
この態様によれば、画像処理装置は、赤目候補領域における赤目領域の周辺の白色の領域を効率的に高精度に検出することができる。
上記の目的を達成するために、本発明の第2の側面によれば、カラー画像における赤目現象の発生している赤目を含む赤目候補領域から赤目画素を特定する画像処理をコンピューターに実行させるコンピューター読み取り可能な画像処理プログラムにおいて、前記赤目候補領域における前記赤目の周辺にある一定面積の肌領域における画素から特徴量として赤値及び赤度値を取得し、前記各赤値に対応する前記赤度値の分布に基づいて、前記赤目画素とそれ以外の画素とを分離する前記各赤値に対応する赤度値を有する分離曲線を生成する分離曲線生成工程と、前記赤目画素を特定する対象領域の各画素について、前記画素の前記赤度値が、前記分離曲線における前記画素の赤値に対応する前記赤度値より大きい場合に、前記画素を赤目画素として特定する赤目画素特定工程と、を実行させる。
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
本実施の形態例に係る画像処理装置は、赤目候補領域における赤目の周辺にある一定面積の肌領域の画素から特徴量を抽出し、当該特徴量に基づいて赤目画素とそれ以外の画素とを分離する分離曲線を生成し、赤目を特定する対象領域内の各画素について、当該画素の特徴量と分離曲線の値とを比較して赤目画素の特定を行うものである。
[プリンター1の構成の説明]
図1は、本発明の実施の形態としてのプリンター1のハードウェアの構成例を示すブロック図である。このプリンター1は、メモリーカード18等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンター、またはカラーレーザープリンターである。また、プリンター1は、印刷するカラー画像に対して、自動的に、赤目部分を検出し、その部分を自然な色(たとえば、黒色等)に補正する機能(以下、自動赤目補正機能と称する)を有している。
図1は、本発明の実施の形態としてのプリンター1のハードウェアの構成例を示すブロック図である。このプリンター1は、メモリーカード18等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンター、またはカラーレーザープリンターである。また、プリンター1は、印刷するカラー画像に対して、自動的に、赤目部分を検出し、その部分を自然な色(たとえば、黒色等)に補正する機能(以下、自動赤目補正機能と称する)を有している。
プリンター1は、CPU11、内部メモリー12、操作部13、表示部14、プリンターエンジン15、およびカードインターフェイス(カードI/F)16を備えている。
CPU(central processing unit)11は、各部を制御して、内部メモリー12に格納されているプログラムに応じて各種の処理等を実行する。
たとえばCPU11は、自動赤目補正モードが設定されている場合、印刷に先立って、印刷されるカラー画像(以下、印刷処理対象画像TIと称する)の中から、人物、犬などのペット等の目の画像を含む領域、またはユーザーが指定した点の周囲の領域等を検出する処理(以下、検出処理Z0と称する)を実行する。また、CPU11は、検出した領域(以下、補正処理対象領域Pe1と称する)から、赤目画素を特定するための情報を生成する処理(以下、赤目特定情報生成処理Z1と称する)を実行する。そして、CPU11は、各画素について、生成した情報に基づいて赤目画素を特定し(以下、赤目画素特定処理Z2と称する)、特定された赤目画素の色を自然な色(たとえば、黒色等)に置き換える処理(以下、補正処理Z3と称する)を実行する。
内部メモリー12は、CPU11が実行する各種プログラムや各種データを格納しているROM(Read Only Memory)、およびCPU11が実行対象とするプログラムやデータを一時的に格納するRAM(Random Access Memory)によって構成されている。
操作部13は、ボタンやタッチパネルの1つまたは複数により構成され、ユーザーによる操作内容をCPU11に通知する。
表示部14は、液晶ディスプレイ等により構成され、CPU11から供給された表示データに対応する画像を表示する。
プリンターエンジン15は、CPU11から供給された印刷データに基づき印刷を行う印刷機構である。
カードインターフェイス(I/F)16は、カードスロット17に挿入されたメモリーカード18との間でデータのやり取りを行うためのインターフェイスである。なお、この例では、メモリーカード18にRGBデータとしての画像データが格納されており、プリンター1は、カードインターフェイス16を介してメモリーカード18に格納された画像データの取得を行う。
プリンター1の各構成要素は、バス19を介して互いに接続されている。
なおプリンター1は、さらに、他の機器(例えばデジタルスチルカメラやコンピューター)とのデータ通信を行うためのインターフェイスを備えていてもよい。
[プリンター1の機能構成例の説明]
図2は、検出処理Z0、赤目特定情報生成処理Z1、及び赤目画素特定処理Z2、補正処理Z3を実行するためのプリンター1の機能構成例を示すブロック図である。この機能は、CPU11が内部メモリー12に記憶されている所定のプログラムを実行することより実現可能となる。
図2は、検出処理Z0、赤目特定情報生成処理Z1、及び赤目画素特定処理Z2、補正処理Z3を実行するためのプリンター1の機能構成例を示すブロック図である。この機能は、CPU11が内部メモリー12に記憶されている所定のプログラムを実行することより実現可能となる。
画像読取部21は、印刷処理対象画像TIを、たとえばメモリーカード18から、カードI/F16を介して読み取る。
図3は、印刷処理対象画像TIを模式的に示した図である。ここではこの印刷処理対象画像TIの中央の人物の左目部分30に生じている赤目現象を処理対象とするものとする。
赤目候補領域取得部22は、画像読取部21により読み取られた印刷処理対象画像TIのレプリカ(以下、単に、印刷処理対象画像TIとも称する)に対して、検出処理Z0を実行する。具体的には、たとえば人物の目の基本的な形状を表すテンプレートを利用したパターンマッチングによる方法(たとえば、特開2006−279460号公報)といった公知の検出方法を用いて、目玉、白目、瞼、目頭、目尻等の部位を含む領域を取得する処理を実行する。赤目候補領域取得部22は、さらに、公知の検出方法によって取得された領域から、赤みがかった瞳孔や虹彩を含む領域を検出する処理を実行して、左目部分を赤目候補領域Pe1として取得する。
図4は、赤目候補領域Pe1を表す図である。同図の赤目候補領域Pe1は、図3の印刷処理対象画像TIにおける赤目現象が発生している瞳孔及び虹彩と、その周辺の白目、瞼、眉、目頭、目尻等の部位とを含む矩形領域である。
図2に戻り、赤目特定情報生成部23は、赤目候補領域取得部22によって取得された赤目候補領域Pe1に基づいて分離曲線を生成する。赤目特定情報生成部23は、肌領域検出部31、特徴量抽出部32、及び分離曲線生成部33によって構成される。
まず、赤目特定情報生成部23の肌領域検出部31は、赤目候補領域Pe1から赤目と推定される領域を検出し、当該領域周辺における一定面積の肌の領域を検出する。続いて、赤目特定情報生成部23の特徴量抽出部32は、肌領域検出部31によって検出された肌領域の画素の画像データから特徴量として赤値と赤度値とを抽出する。そして、赤目特定情報生成部23の分離曲線生成部33は、抽出した各赤値に対応する赤度値の分布に基づいて、赤目画素とそれ以外の画素とを分離する前記各赤値に対応する赤度値を有する分離曲線を生成する。
処理の詳細については、赤目特定情報生成処理Z1として後述する。
そして、赤目画素特定部24は、赤目特定情報生成部23によって生成された分離曲線に基づいて赤目画素を特定する赤目画素特定処理Z2を行う。赤目画素特定部24の補正強度マップ生成部41は、赤目の特定対象領域の各画素について、画素の赤度値が分離曲線における当該画素の赤値に対応する赤度値(分離閾値)より大きい場合に、当該画素を赤目画素として特定する。具体的には、補正強度マップ生成部41は、各画素について、画素の赤度値と前記分離閾値との比率に基づいて補正強度係数(補正強度情報)を決定し、補正強度マップMaに格納する。補正強度係数は、赤目補正の度合いを表す値である。
補正部25は、赤目画素特定部24により生成された補正強度マップMaに格納されている補正強度係数に応じた補正強度によって、印刷処理対象画像TIの色を黒色等に置き換える(赤目を修正する)補正処理Z3を実行し、印刷データを生成する。
図5は、自動赤目補正処理の流れを示すフローチャートである。ステップS11において、赤目候補領域取得部22は、画像読取部21により読み取られた印刷処理対象画像TIに対して検出処理Z0を実行し、赤目候補領域Pe1を取得する。
赤目候補領域Pe1は、図4のように、赤目とその周辺の肌領域を含む領域である。ただし、赤目候補領域Pe1は、必ずしも、図4のように矩形領域である必要はなく、目全体を含んでいる必要もない。赤目候補領域Pe1は、赤目現象が発生している領域と、その周辺の肌領域を含んでいればよい。
続いて、ステップS12〜14において、赤目特定情報生成処理Z1が行われる。
[赤目特定情報生成処理Z1:肌領域検出処理の説明]
ステップS12において、肌領域検出部31は、赤目候補領域取得部22によって取得された赤目候補領域Pe1を用いて、当該赤目候補領域Pe1が含む赤目周辺の一定面積の肌領域を検出する肌領域検出処理を実行する。
ステップS12において、肌領域検出部31は、赤目候補領域取得部22によって取得された赤目候補領域Pe1を用いて、当該赤目候補領域Pe1が含む赤目周辺の一定面積の肌領域を検出する肌領域検出処理を実行する。
図6は、肌領域検出処置の詳細を示すフローチャート図である。肌領域検出部31は、まず、赤目候補領域Pe1のサイズが適切なサイズであるか否かを判定する(S201)。具体的には、肌領域検出部31は、赤目候補領域Pe1の縦、横の長さが共に、例えば各10ピクセル以上であるか否かを判定する。
赤目候補領域Pe1の縦、横の長さが共に各10ピクセルを超えない場合(S201のNO)、肌領域検出部31は、赤目候補領域Pe1のサイズが等分割するために十分でないと判定して、従来の方法によって分離曲線を生成する。一方、赤目候補領域Pe1の縦、横の長さが共に各10ピクセル以上である場合(S201のYES)、肌領域検出部31は、赤目候補領域Pe1を等分割して区分領域を生成する(S202)。
次に、肌領域検出部31は、赤目候補領域Pe1における各画素の赤度値の平均値と、赤度値の標準偏差値とを取得する(S203)。本実施の形態例における赤度値は、画素の赤色度合いを表す値である。画素の色成分がRGBである場合、赤度値は、例えば、各画素の「R値/G値、また、R値/B値」、「R値−B値、また、R値−G値」、「R値×R値/G値×B値」、「2×R値−(G値+R値)」等によって求められる。また、赤度値はCMYKやHSV等によって求められてもよい。
本実施の形態例における肌領域検出部31は、赤度値として「R値/G値、また、R値/B値」を用いる。赤目現象には、瞳孔や虹彩が赤色になる場合以外に、瞳孔や虹彩が金色になる現象(いわゆる金目)がある。赤度値として「R値/G値、また、R値/B値」が用いられる場合、赤目画素の特定にはR値/G値が、金目画素の特定にはR値/B値が用いられる。
続いて、肌領域検出部31は、区分領域における各画素の赤度値の平均値を算出して取得する(S204)。そして、次に、肌領域検出部31は、赤目の画素を多く含む赤目区分領域を検出する(S205)。具体的には、肌領域検出部31は、赤目候補領域Pe1の赤度値の「平均値+標準偏差値」より大きい赤度値を平均値としてもつ区分領域を、赤目区分領域として検出する。この処理について、図7に基づいて説明する。
図7は、赤目候補領域Pe1における赤度値の分布を表す図である。同図において、横軸は赤度値(R値/G値)を、縦軸は赤目候補領域Pe1における画素数を表す。値71は赤目候補領域Pe1における赤度値の平均値である。また、値72は赤目候補領域Pe1における赤度値の「平均値+標準偏差値」の値、値73は「平均値−標準偏差値」の値であり、値74は「平均値+(標準偏差値×2)」の値、値75は「平均値−(標準偏差値×2)」の値である。標準偏差値とは、赤度値の分布の分散度合いを表す値である。
赤目候補領域Pe1は、前述したとおり、赤目とその周辺の肌の画素を含んでいる。一般的に、赤目の画素の赤色度合い(赤度値)は高く、白目や睫、眉毛等の画素の赤色度合い(赤度値)は低い。そして、肌の画素の赤色度合い(赤度値)は、赤目の画素と、白目や睫、眉毛等の画素との間の値である。従って、図7における赤目候補領域Pe1の赤度値の平均値71は、肌の画素の赤度値であると想定される。
また、一般的に、「平均値±標準偏差値」の値75には全体の約2/3の要素が、「平
均値±(標準偏差値×2)」の値76には全体の約19/20の要素が含まれる。そこで、肌領域検出部31は、赤目画素が赤目候補領域Pe1の2/3よりも大きい赤度値を有する画素であると想定し、白目や睫、眉毛等の画素が赤目候補領域Pe1の2/3よりも小さい赤度値を有する画素であると想定する。つまり、肌領域検出部31は、「平均値+標準偏差値」より大きい赤度値77を有する画素を赤目画素として、「平均値−標準偏差値」より小さい赤度値78を有する画素を白目や睫、眉毛等の画素としてみなす。
均値±(標準偏差値×2)」の値76には全体の約19/20の要素が含まれる。そこで、肌領域検出部31は、赤目画素が赤目候補領域Pe1の2/3よりも大きい赤度値を有する画素であると想定し、白目や睫、眉毛等の画素が赤目候補領域Pe1の2/3よりも小さい赤度値を有する画素であると想定する。つまり、肌領域検出部31は、「平均値+標準偏差値」より大きい赤度値77を有する画素を赤目画素として、「平均値−標準偏差値」より小さい赤度値78を有する画素を白目や睫、眉毛等の画素としてみなす。
従って、肌領域検出部31は、赤目候補領域Pe1における赤度値の「平均値+標準偏差値」より大きい値(図7の77)を赤度値の平均値としてもつ区分領域を、赤目区分領域として検出する。
図8は、赤目補正領域Pe1における赤目区分領域を表す例図である。同図において、赤目候補領域Pe1は9×9の区分領域に等分割されている。同図において、赤目現象が発生している瞳孔及び虹彩の領域を含む4つの区分領域が赤目区分領域82である。
なお、赤目候補領域Pe1の分割数は図8の例に限定されるものではなく、肌領域検出部31は、赤目候補領域Pe1を例えば4×6のように等分割してもよい。さらに、肌領域検出部31は、赤目候補領域Pe1を区分領域の数が所定の数範囲になるように等分割してもよいし、各区分領域の有する画素数が所定数以上になるように等分割してもよい。また、肌領域検出部31は、赤目候補領域Pe1を画素数の都合上、等分割できない場合、赤目候補領域Pe1の画素数を等分割可能な画素数に調整してもよい。
また、区分領域の有する画素数は少数でないことが望ましい。というのも、後述する分離曲線生成処理において、分離曲線の元になる画素数が少ない場合、分離曲線の精度が低くなるためである。
図6のフローチャート図に戻り、続いて、肌領域検出部31は、検出した赤目区分領域を包括する領域に外接する区分領域群を、検出対象領域として設定する(S206)。
図9は、検出対象領域91を表す例図である。同図において、検出対象領域91は破線で囲まれた領域であり、検出された赤目区分領域82を包括する領域に外接する12の区部領域群からなる。
図6のフローチャート図において、肌領域検出部31は、続いて、検出対象領域(図9の91)を設定した後、検出対象領域から肌の画素を多く含む肌区分領域を検出する(S207)。この処理について、図10のフローチャート図に基づいて説明する。
図10は、肌の区分領域を検出する処理の流れを示すフローチャート図である。まず、肌領域検出部31は、検出対象領域から1つの区分領域を選択する(S221)。
続いて、肌領域検出部31は、選択した区分領域の赤度値(R値/G値)の平均値と標準偏差値とが算出済みであるか否かを判別する(S222)。この処理は、選択した区分領域が赤目候補領域Pe1の外側にある場合に必要となる。肌領域検出部31は、選択した区分領域の赤度値の平均値と標準偏差値とが未算出である場合(S222のNO)、当該区分領域の赤度値の平均値と標準偏差値とを算出する(S223)。
次に、肌領域検出部31は、選択した区分領域の赤度値の平均値と標準偏差値とに基づいて、当該区分領域が肌区分領域であるか否かを判定する(S224)。具体的には、肌領域検出部31は、選択した区分領域の赤度値の平均値が、赤目候補領域Pe1の赤度値の「標準偏差値±平均値」範囲の値(図7の75)である場合(S224のYES)、当
該区分領域を肌区分領域と判定する。
該区分領域を肌区分領域と判定する。
図7で前述したとおり、赤目候補領域Pe1における赤度値の平均値71は、肌の画素の赤度値であるといえる。そこで、肌領域検出部31は、赤目候補領域Pe1における肌の画素は、平均値71前後の値、即ち、「平均値±標準偏差値」範囲の値(図7の75)を赤度値としてもつ画素であると想定する。従って、肌領域検出部31は、赤目候補領域Pe1における赤度値の「平均値±標準偏差値」範囲の値(図7の75)を、赤度値の平均値としてもつ区分領域を肌区分領域であるとみなす。
肌領域検出部31は、ステップS224がYESであれば、選択した区分領域を肌区分領域として検出してもよいが、さらに、ステップS225の判定を行って肌区領域を絞り込んでもよい。というのも、選択した区分領域の赤度値の平均値が、赤目候補領域Pe1の赤度値の「平均値±標準偏差値」範囲の値(図7の75)であっても(S224のYES)、当該区分領域が肌区分領域ではないことがあるためである。以下、具体例を述べて説明する。
まず第1に、例えば、区分領域が赤目とその周辺の赤目現象が発生していない白目の画素を含む場合を挙げる。赤目の画素の赤度値は高いが、白目の画素の赤度値は低い。そのため、当該区分領域の赤度値の平均値はその間の値となり、当該区分領域の赤度値の平均値が赤目候補領域Pe1の赤度値の「平均値±標準偏差値」の値(図7の75)に該当することがある。
また、第2に、例えば、区分領域が肌と眉毛や睫等の画素を含む場合を挙げる。眉毛や睫等は黒っぽい色であり、その画素の赤度値は低い。しかし、例えば、区分領域における眉毛や睫等が赤みがかっている場合等、第1の例と同様にして、当該区分領域の赤度値の平均値が、赤目候補領域Pe1の赤度値の「平均値±標準偏差値」の値(図7の75)に該当することがある。
このように、肌区分領域ではない区分領域であっても、肌区分領域として検出されてしまうことがある。このため、肌領域検出部31は、ステップS225において、区分領域と赤目候補領域Pe1との標準偏差値を比較して、さらに肌区領域を絞り込む。
肌区分領域における各画素の赤度値はほぼ一定であるため、肌区分領域における赤度値のばらつきは小さく標準偏差値は小さい。これに対して、前述した赤目と白目、または、眉毛と肌が含む区分領域は複数の部位を含むため、その赤度値は分散し標準偏差値が大きい。つまり、赤目候補領域Pe1の赤度値の標準偏差値を大きく超える値を赤度値の標準偏差値としてもつ区分領域は、肌区分領域である可能性が低いといえる。
そこで、肌領域検出部31は、区分領域の赤度値の分散度合い(標準偏差値)が、赤目候補領域Pe1の赤度値の分散度合い(標準偏差値)を大きく超える場合、当該区分領域を肌区分領域から除外する。具体的には、肌領域検出部31は、選択した区分領域の赤度値の標準偏差値が「赤目候補領域Pe1の標準偏差値×1.2」の値を超える場合(S225のNO)、当該区分領域を肌区分領域として検出しない。肌領域検出部31は、ステップS225の判定を重ねて行うことにより、さらに高精度に肌区分領域を検出することができる。
なお、上記の例において、肌領域検出部31は、赤目候補領域Pe1の標準偏差値に係数1.2を乗じた値を区分領域の赤度値の標準偏差値と比較しているが、当該係数は1.2に限定されるものではない。肌領域検出部31は、区分領域の赤度値の分散度合いが、赤目候補領域Pe1の赤度値の分散度合いを大きく超えるか否かを判定できればよい。
そして、「S224がYES、かつ、S225がYES」である場合、肌領域検出部31は、選択した区分領域を肌区分領域として検出し、肌区分領域のカウント数を1増加させる。一方、「S224がNO、または、S225がNO」である場合、肌領域検出部31は、当該区分領域が白区分領域であるか否かを判定する(S227)。
白区分領域は、白色の画素、つまり、白目の画素を多く含む区分領域である。ステップS227において、肌領域検出部31は、選択した区分領域における各画素の白度値の平均値が所定の値以上であるか否かを判定して白区分領域を検出する。白度値とは、画素の白色度合いを示す値である。画素の色成分がRGBである場合、白度値は、例えば、各画素の「R値+G値+B値(0〜768)」等によって求められる。そこで、肌領域検出部31は、区分領域における各画素の白度値「R値+G値+B値」の平均値が例えば「600」以上である場合、当該区分領域を白の画素を多く含む白区分領域として検出し、白区分領域のカウント数を1増加させる。
ただし、白領域の判定方法は、上記の例に限定されるものではない。白度値「R値+G値+B値」は600以外の値と比較されてもよいし、白度値が画素の輝度や彩度等によって求められてもよい。肌領域検出部31は、区分領域が白の画素を多く含むか否かを判定できればよい。
そして、肌領域検出部31は、検出対象領域における全ての区分領域について、肌区分領域、及び、白区分領域の検出処理(S221〜S228)を終えると(S229のYES)、図6のフローチャート図に戻る。
図6において、続いて、肌領域検出部31は、検出対象領域から検出した肌領域が一定面積に達したか否かを判定する(S208)。例えば、本実施の形態例における肌領域検出部31は、肌区分領域数が検出した赤目区分領域数の10倍に達しているか否かを判定する。例えば、図9の場合、赤目区分領域数は4つである。そのため、肌領域検出部31は、肌区分領域の数が40(4×10)に達しているか否かを判定する。
肌区分領域数が一定数に達していない場合(S208のNO)、肌領域検出部31は、肌領域の検出処理(S207、図10)を5回(Loop)行ったか否かを判定する(S209)。この場合、まだ1回目(Loop=1)の検出処理であるため(S209のNO)、肌領域検出部31は、検出対象領域に外接する区分領域群を検出対象領域に設定し直して(S210)、再度、肌領域の検出処理を行う(S207、図10)。
一方、検出対象内の肌領域の検出処理(S207、図10)が5回(Loop≧5)に達した場合(S209のYES)、肌領域検出部31は、検出対象領域を拡張しても赤目区分領域周辺における一定面積の肌区分領域を検出できなかったとして、補正強度を下げる調整フラグをONに設定する(S212)。一定面積の肌領域を検出できない場合、後述する分離曲線の精度が低くなる。そのため、この場合、肌領域検出部31は、補正強度を下げる調整フラグをONに設定することにより、後述する赤目画素特定処理Z2において各画素の補正強度係数を小さく調整させて赤目補正の度合いを抑える。
一方、肌区分領域数が一定数に達している場合(S208のYES)、肌領域検出部31は、さらに、前述した白区分領域数が1つ以上あるか否か判定する(S211)。白区分領域がない場合(S211のNO)、赤目区分領域の周辺に白目の画素を多く含む区分領域が存在していないことを意味する。一般的に、赤目の周辺には白目の領域が存在することから、白区分領域がない場合(S211のNO)、肌領域検出部31は、そもそも赤目候補領域Pe1に目が含まれていない可能性があるものとみなし、補正強度を下げる調
整フラグをONに設定する(S212)。この場合も、上記と同様に、補正強度係数が小さく調整され赤目補正の度合いが抑えられる。白領域数が1つ以上ある場合(S211のYES)、補正強度の調整は行われない。
整フラグをONに設定する(S212)。この場合も、上記と同様に、補正強度係数が小さく調整され赤目補正の度合いが抑えられる。白領域数が1つ以上ある場合(S211のYES)、補正強度の調整は行われない。
以上の処理が、肌領域検出処理である。以下、上記の処理を図9の赤目候補領域Pe1に基づいて説明する。
図9の赤目候補領域Pe1の例において、斜線で表されている区分領域が肌区分領域であり、横線で表されている区分領域92が白区分領域である。肌領域検出部31は、1回目(Loop=1)の検出処理において、検出対象領域91から、肌区分領域を「7」、白区分領域を「1」検出する。しかしながら、肌区分領域数「7」が「40」(赤目区分領域数4×10)に達していないため、肌領域検出部31は、続いて、検出対象領域91に外接する区分領域群を検出対象領域(図11の111)に設定し直して、再度、肌領域の検出処理を行う。
図11は、2回目(Loop=2)の検出処理を表す図である。検出対象領域111は、破線で囲まれた領域であり、1回目の検出処理の検出対象領域(図9の91)に外接する区分領域群である。そして、肌領域検出部31は、2回目(Loop=2)の検出処理において、検出対象領域111から、新たに、「12」の区分領域を肌区分領域として検出する(肌区分領域数:19)。同様にして、肌区分領域数「19」が「40」に達していないため、肌領域検出部31は、続いて、検出対象領域111に外接する区分領域群を検出対象領域(図12の121)に設定し直して、再度、肌領域の検出処理を行う。
図12は、3回目(Loop=3)の検出処理を表す図である。検出対象領域121は、破線で囲まれた領域であり、2回目の検出処理の検出対象領域(図11の111)に外接する区分領域群である。そして、肌領域検出部31は、3回目(Loop=3)の検出処理において、検出対象領域121から、新たに、「26」の区分領域を肌区分領域として検出する(肌区分領域数:45)。肌区分領域数「45」が「40」に達したため、肌領域検出部31は、肌領域検出処理を終了する。また、同図において、白領域が「1」存在するため、補正強度は調整されない。
このようにして、本実施の形態例における肌領域検出部31は、赤目候補領域Pe1の赤度値の平均値と標準偏差値とに基づいて、赤目区分領域、及び肌区分領域の赤度値の平均値を想定する。これにより、肌領域検出部31は、赤目区分領域、及び肌区分領域を高精度に効率的に検出する。
また、本実施の形態例における肌領域検出部31は、赤目区分領域を包括する領域に外接する領域を検出対象領域としてまず設定し、さらに、当該検出対象領域を赤目区分領域の周辺に拡張しながら、一定面積の肌区分領域を検出する。これにより、肌領域検出部31は、赤目周辺の一定面積の肌領域を効率的に検出することができる。
なお、本実施の形態例における肌領域検出部31は、赤目区分領域数の10倍の肌区分領域を検出しているが、この例に限定されるものではない。肌領域検出部31は、赤目区分領域の面積に応じた、赤目区分領域の周辺一帯の肌区分領域を検出できればよい。従って、肌領域検出部31は、検出する肌区分領域数を、例えば、赤目区分領域数の約5倍等に設定してもよい。
また、本実施の形態例における肌領域検出部31は、区分領域の白度の平均値を所定の値と比較することによって、当該区分領域が白区分領域であることを判定する。これにより、肌領域検出部31は、赤目周辺に白目の領域が存在するか否かを判定して、赤目候補
領域Pe1がそもそも目を含んでいるか否かを判定することができる。そして、肌領域検出部31は、赤目候補領域Pe1が目を含んでいない可能性がある場合、赤目画素の補正度合いを抑えるように調整させることができる。
領域Pe1がそもそも目を含んでいるか否かを判定することができる。そして、肌領域検出部31は、赤目候補領域Pe1が目を含んでいない可能性がある場合、赤目画素の補正度合いを抑えるように調整させることができる。
また、赤目区分領域、及び肌区分領域を検出する方法は、必ずしも、上記の例に限定されるものではない。肌領域検出部31は、例えば、赤目の画素、及び、肌の画素の色範囲を予め想定しておき、当該色範囲の値を平均値として有する区分領域を各区分領域として検出してもよい。白区分領域についても、同様である。
以上のように、肌領域検出部31は、図5のステップS12において、赤目周辺の一定面積の肌領域を取得する。
[赤目特定情報生成処理Z1:肌領域の特徴量抽出処理の説明]
続いて、図5のステップS13において、赤目特定情報生成部23の特徴量抽出部32は、肌領域検出部31によって取得された肌領域における画素の特徴量を抽出する特徴量抽出処理を行う。特徴量とは、画素の色の赤度値及び赤値である。本実施の形態例の特徴量抽出部32は肌領域検出部31と同じ赤度値「R値/G値、R値/B値」を用いるが、特徴量抽出部32は、肌領域検出部31と異なる算出方法による赤度値を用いてもよい。また、赤値は赤色成分の値であり、色成分がRGBである場合、R成分値(R値)を示す。
続いて、図5のステップS13において、赤目特定情報生成部23の特徴量抽出部32は、肌領域検出部31によって取得された肌領域における画素の特徴量を抽出する特徴量抽出処理を行う。特徴量とは、画素の色の赤度値及び赤値である。本実施の形態例の特徴量抽出部32は肌領域検出部31と同じ赤度値「R値/G値、R値/B値」を用いるが、特徴量抽出部32は、肌領域検出部31と異なる算出方法による赤度値を用いてもよい。また、赤値は赤色成分の値であり、色成分がRGBである場合、R成分値(R値)を示す。
図13は、特徴量抽出処理の詳細を示すフローチャート図である。初めに、特徴量抽出部32は、肌区分領域における各画素の赤値(R値)を取得する(S31)。続いて、特徴量抽出部32は、赤値(R値)の軸の範囲(0〜255)を16等分して得られた区間(以下、赤成分区間Lrと称する)毎に、その赤成分区間Lrの赤値(R値)を有する画素の赤度値(R値/G値)の最大値をそれぞれ求める(S32)。
抽出された特徴量は、適宜、内部メモリー12に記憶される。
[赤目特定情報生成処理Z1:分離曲線生成処理の説明]
続いて、図5のステップS14において、赤目特定情報生成部23の分離曲線生成部33は、特徴量抽出部32によって取得された特徴量に基づいて分離曲線を生成する。本実施の形態例における分離曲線生成部33は、各赤成分区間LrのR値/G値の分布に基づいて分離曲線を生成する。
続いて、図5のステップS14において、赤目特定情報生成部23の分離曲線生成部33は、特徴量抽出部32によって取得された特徴量に基づいて分離曲線を生成する。本実施の形態例における分離曲線生成部33は、各赤成分区間LrのR値/G値の分布に基づいて分離曲線を生成する。
図14は、赤目候補領域Pe1の各画素を、R値とR値/G値を軸とする平面に、そのR値とR値/G値に対応する位置にプロットした図である。白抜きの四角印(□印)は、赤色の赤目現象が生じている画素(以下、赤色赤目画素と称する)を示し、黒塗りの四角印(◆印)は肌の画素を示す。また、灰色の丸印(●印)は、赤目及び肌以外の画素、例えば、白目や眉毛等の画素を示す。以下、赤色の赤目現象が生じていない画素(◆印、●印の画素)を、非赤色赤目画素と称する。
図14において、赤色赤目画素は、肌の画素が集まっている領域の上方に分散して分布している。また、同図において、肌の画素分布の上方の境界線は、肌の画素と赤色赤目画素とを分離している。つまり、赤値と赤度値とを軸とする平面において、肌の画素の赤度値の最大値に基づく曲線141は、肌の画素と赤色赤目画素を分離する。従って、分離曲線生成部33は、例えば、肌領域における赤成分区間Lr毎のR値/G値(赤度値)の最大値に基づいて曲線141を生成することによって、赤色赤目画素と非赤色赤目画素とを分離する分離曲線を生成することができる。
また、図14において、赤成分区間Lr143、144は、肌の画素が分布していない。そのような赤成分区間Lr143、144のうち、R値(赤値)の小さい区間143には眉毛や睫の画素が、R値(赤値)の大きい区間144には白目の画素が分布している。そして、眉毛や睫、白目の画素の赤度値は低く、本実施の形態例における赤度値(R値/G値)の値が「1」より大きい値になる可能性は低い。そのため、分離曲線生成部33は、肌の画素が分布していない赤成分区間Lrについては、例えば、赤度値(R値/G値)が「1」、つまり、無彩色の赤度値に基づいて分離曲線を生成する。
なお、金色の赤目現象が発生している場合は、以下のように分離曲線を生成する。金色の赤目現象が生じている画素(以下、金色赤目画素と称する)は、黄色系の色であるため、R値とR値/G値を軸とする平面では、非赤色赤目画素の分布の中に含まれてしまう。それに対して、R値とR値/B値を軸とする平面では、金色赤目画素の分布は、R値とR値/G値を軸とする平面における赤色赤目画素と同様に、肌の画素が集まっている領域の上方に分散して分布する。
従って、分離曲線生成部33は、金色赤目画素を特定する場合、肌領域における赤成分区間Lr毎のR値/B値(赤度値)の分布に基づいて分離曲線を生成する。これにより、分離曲線生成部33は、金色赤目画素と非金色赤目画素とを分離する分離曲線を生成することができる。
また、分離曲線生成部33は、次のように分離曲線を生成してもよい。分離曲線生成部33は、赤成分区間Lrの赤度値の最大値ではなく、赤成分区間Lrにおける各赤値に対応するそれぞれの赤度値の最大値の平均値に基づいて分離曲線を生成してもよい。この場合、特徴量抽出部32は、図13のステップS32において、特徴量として、赤成分区間Lr毎に、その赤成分区間Lrの赤値を有する各画素のそれぞれの赤度値の最大値の平均値を求める。
さらに、分離曲線生成部33は、例えば、各赤成分区間Lrの赤度値の「平均値+(標準偏差値×2)」の値に基づいて分離曲線を生成してもよい。前述したとおり、「平均値±標準偏差値×2」の値範囲には全体の19/20の要素が含まれる。これにより、肌区分領域が肌以外の赤度の高い画素を多少含んでいるような場合であっても、肌の画素の境界に沿った分離曲線が生成される。この場合、特徴量抽出部32は、図13のステップS32において、特徴量として、赤成分区間Lr毎に、その赤成分区間Lrの赤値を有する各画素の赤度値の平均値と標準偏差値を求める。
なお、図14における破線の分離曲線142は、従来の画像処理装置における分離曲線である。従来の画像処理装置は、赤目候補領域Pe1の肌、赤目、及び白目、眉毛等の画素を含む全ての画素の特徴量の平均値に対して、当該平均値が肌の画素と赤目画素とを分離する値となるように調整を加え、分離曲線を生成していた。そのため、従来の分離曲線142は、肌の画素と赤目の画素とを正確に分離するものではなかった。その結果、従来の画像処理装置は、赤目画素を特定する精度が低かった。
それに対して、本実施の形態例における分離曲線141は、赤目周辺の一定面積の肌領域のみの画素の特徴量に基づいて生成される。つまり、分離曲線生成部33は、肌以外の画素が除かれた、標準偏差値(分散度合い)の小さい肌の画素群の特徴量に基づいて分離曲線を生成する。そのため、分離曲線生成部33は、分離曲線生成時に従来のような調整を行う必要がなく、肌の画素と赤目の画素とを高精度に分離する分離曲線141を生成することができる。これにより、分離曲線141は、非赤目画素と赤目画素とを正確に分離し、赤目画素を高精度に特定することができる。
また、本実施の形態例の分離曲線生成部33は、R(赤値)=0、R=225、および各赤成分区間Lrの中央値(16点)に対応付けてR値/G値(赤度値)の分布に基づく値を、分離曲線の制御点として記憶し、その制御点の間は両隣の制御点に基づいて補完するものとする。このように制御点のみを記憶することで、画像処理装置の記憶容量が節約される。
以上のようにして、本実施の形態例のおける分離曲線生成部33は、赤度値としてR値/G値を用いた赤目画素特定用の分離曲線と、赤度値としてR値/B値を用いた金目画素特定用の分離曲線を生成する。分離曲線生成部33は、生成した分離曲線を内部メモリー12に記憶する。
[赤目画素特定処理Z2:補正強度マップ生成処理の説明]
分離曲線の生成後、赤目画素特定部24は、図5のステップS15において赤目画素特定処理Z2を実行する。
分離曲線の生成後、赤目画素特定部24は、図5のステップS15において赤目画素特定処理Z2を実行する。
なお、赤目画素特定部24が赤目画素か否かを特定する対象の領域(以下、特定対象領域)は、赤目候補領域Pe1でなくてもよい。赤目画素特定部24は、肌領域検出処理における検出対象領域(図9の91、図11の111、図12の121)と赤目区分領域(図8の82)とを含む領域を特定対象領域にしてもよいし、赤目区分領域(図8の82)のみを特定対象領域にしてもよい。
また、本実施の形態例における赤目画素特定部24は、赤目画素の特定結果を示す情報として補正強度マップMaを生成する。補正強度マップMaは、特定対象領域の各画素に対応する格納部を有する。格納部を画素であると仮定すると、補正強度マップMaは、少なくとも、特定対象領域と同じ画素サイズを有している。本実施の形態例における赤目画素特定部24は、特定対象領域における画素が赤目画素であると推定できる場合は128以上の値を、そうでない場合には128より小さい値を、対応する補正強度マップMaの各格納部(すなわち各画素)に格納する。
図15は、補正強度マップ生成処理の流れを示すフローチャート図である。まず、補正強度マップ生成部41は、特定対象領域から注目する1つの画素(以下、注目画素と称する)を選択し(S51)、注目画素のR値(赤値)、R値/G値、およびR値/B値(赤度値)を取得する(S52)。
次に、補正強度マップ生成部41は、注目画素のR値に対応する分離曲線の値(以下、分離閾値と称する)を取得する(S53)。具体的には、注目画素のR値における分離閾値としてのR値/G値(以下、分離閾値R/Gと称する)、及び、分離閾値としてのR値/B値(以下、分離閾値R/Bと称する)が求められる。
続いて、補正強度マップ生成部41は、ステップS53で求められた分離閾値に応じた補正強度係数を求める(S54)。たとえば、図16に示す補正強度係数テーブルが参照されて、注目画素のR値/G値と分離閾値R/Gの比に対応する補正強度係数と、注目画素のR値/B値と分離閾値R/Bの比に対応する補正強度係数とが求められ、大きい方の補正強度係数が、その注目画素の補正強度係数とされる。そして補正強度マップ生成部41は、求めた補正強度係数を、注目画素に対応する補正強度マップMaの格納部に格納する。
注目画素のR値/G値と分離閾値R/Gの比が1以上となる画素は、R値とR値/G値を軸とする平面において(図14)、分離曲線上またはそれより上方に存在する。また注目画素のR値/B値と分離閾値R/Bの比が1以上となる画素は、R値とR値/B値を軸
とする平面において、分離曲線上またはそれより上方に存在する。したがって注目画素のR値/G値と分離閾値R/Gの比、または注目画素のR値/B値と分離閾値R/Bの比が1以上になったときは、注目画素は、赤目画素の分布の中の画素、すなわち赤目画素として推定され、その画素には、128以上の値が割り当てられる。
とする平面において、分離曲線上またはそれより上方に存在する。したがって注目画素のR値/G値と分離閾値R/Gの比、または注目画素のR値/B値と分離閾値R/Bの比が1以上になったときは、注目画素は、赤目画素の分布の中の画素、すなわち赤目画素として推定され、その画素には、128以上の値が割り当てられる。
一方、注目画素のR値/G値と分離閾値R/Gの比が1より小さい画素は、R値とR値/G値を軸とする平面において(図14)、分離曲線より下方に存在する。また注目画素のR値/B値と分離閾値R/Bの比が1より小さい画素は、R値とR値/B値を軸とする平面において、分離曲線より下方に存在する。したがって注目画素のR値/G値と分離閾値R/Gの比、および注目画素のR値/B値と分離閾値R/Bの比がいずれも1より小さいときは、注目画素は、非赤目画素の分布の中の画素、すなわち非赤目画素として推定され、128より小さな値が割り当てられる。
なお、非赤目画素と推定された画素においても、R値/G値と分離閾値R/Gの比(またはR値/B値と分離閾値R/Bの比)が0.8以上である場合は(すなわち分離曲線から2割下側に分布する画素については)、ある大きさの補正強度係数が割り与えられる。その結果、その画素は、補正処理Z3によりその補正強度係数に応じた補正強度で色補正される。これにより、瞳孔や虹彩でなくても赤目現象の影響を受けている画素にある程度の補正が行われる。
次に、補正強度マップ生成部41は、特定対象領域内のすべての画素を注目画素として選択したか否かを判定する(S55)。まだ注目画素として選択されていない画素が存在する場合(S55のNO)、補正強度マップ生成部41は、ステップS51に戻り、他の画素を注目画素として選択し、ステップS52以降の処理を同様に実行する。
ステップS55で、特定対象領域内のすべての画素が注目画素として選択されると(S55のYES)、補正強度マップMaが生成される。補正強度マップMaには、赤目画素であると推定された画素については128以上の値が、非赤目画素であると推定された画素については128より小さな値が格納される。
また、肌領域検出処理において前述した補正強度を下げる調整フラグがONに設定されている場合(図6のS212)、補正強度マップ生成部41は、特定対象領域の画素の補正強度係数を下げる。これにより、たとえ非赤目画素が誤って赤目画素として特定された場合であっても、後述する補正処理Z3における赤目補正の度合いが小さく抑えられる。
以上のようにして、赤目画素特定部24は、分離曲線に基づいて特定対象領域の各画素についての補正強度マップMaを生成する。
なお、本実施の形態例にける赤目画素特定部24は、特定対象領域の各画素について補正強度係数を取得しているが、必ずしも補正強度係数を取得する必要はない。赤目画素特定部24は、特定対象領域の各画素について赤目画素であるか否かを特定するだけでもよい。
[補正処理Z3の説明]
続いて、補正部25は、図5のステップS16において、補正強度マップMaに基づいて補正処理Z3を実行する。
続いて、補正部25は、図5のステップS16において、補正強度マップMaに基づいて補正処理Z3を実行する。
図17は、補正処理Z3の流れを示すフローチャート図である。まず、補正部25は、特定対象領域から注目する画素を選択し(S61)、補正強度マップMaから、注目画素に相当する格納部に格納されている補正強度係数を読み取る(S62)。
続いて、補正部25は、読み取った補正強度係数に応じて、注目画素の色を調整する(S63)。たとえば補正強度係数の大きさに応じた濃さの黒色を選択し、注目画素の色を、その黒色に置き換える。
たとえば式(1)により、特定対象領域の注目画素iとその両隣の画素i-1,画素i+1のRGBがブレンドされる。そして式(2)により、ブレンドされたRGB(式(1)中、R’,G’,B’)を用いて、ターゲットカラー(式(2)中、TargetColor)としてグレー色が求められる。
さらに式(3)により、注目画素の補正強度係数(式(3)中、Intensity)を用いて、ターゲットカラーと注目画素のRGBがブレンドされて、置き換えられる色(式(3)中、Rnew、Gnew,Bnew)が決定される。そして注目画素の色が、ここで求められた色に置き換えられる。
続いて、補正部25は、特定対象領域内のすべての画素を注目画素として選択したか否かを判定する(S64)。まだ注目画素として選択されていない画素が存在する場合(S64のNO)、補正部25は、ステップS61に戻り、他の画素を注目画素として選択し、ステップS62以降の処理を同様に実行する。
そして、補正部25は、特定対象領域内のすべての画素を選択した場合(S64のYES)、補正処理を終了する。このように、補正部25は、補正強度係数の大きさに応じた度合いで色補正を行う。
以上のようにして、本実施の形態例における画像処理装置は、赤目候補領域における赤目周辺の一定面積の肌領域を検出し、当該肌領域の画素から特徴量として赤度値、赤値を抽出し、赤値に対応する赤度値の分布に基づいて、赤色画素と非赤目画素とを分離する各赤値に対応する赤度値を有する分離曲線を生成する。そして、赤目画素を特定する対象領域の各画素について、画素の赤度値が、分離曲線における当該画素の赤値に対応する赤度値(分離閾値)より大きい場合に、前記画素を赤目画素として特定する。
このように、本実施の形態例における画像処理装置は、肌領域の画素のみの特徴量に基づいて分離曲線を生成することにより、肌の画素と赤目画素、即ち、非赤目画素と赤目画素とを高精度に分離する分離曲線を生成することができる。これにより、画像処理装置は、高精度に赤目画素を特定することができる。
また、本実施の形態例における画像処理装置は、赤目周辺の一定以上の面積の肌領域における画素の特徴量に基づいて分離曲線を生成することにより、十分な量の肌の画素の特徴量に基づいて分離曲線を生成することができる。これにより、画像処理装置は、例えば、サイズの大きい特定対象領域や、肌区分領域以外の肌の画素についても、赤目画素の判定を高精度に行うことができる。
また、赤目候補領域Pe1の赤目は、当該赤目候補領域Pe1の中心ではなく、端に位置している場合がある。その場合であっても、本実施の形態例における画像処理装置は、赤目を中心としてその周辺にある一定面積の肌領域を検出することにより、赤目周辺の肌の画素の特徴量に基づいて分離曲線を生成する。これにより、画像処理装置は、赤目周辺の領域の画素について、より高精度に赤目画素を特定することができる。
なお、本実施の形態例における画像処理装置は、赤目候補領域Pe1を等分割して区分領域を生成し、赤目区分領域の周辺にある一定面積の肌区分領域を検出し、当該肌区分領域の特徴量に基づいて分離曲線を生成する。これにより、画像処理装置は、各画素について、赤目画素、及び肌の画素であるか否かを判定する必要がないため、より効率的に肌領域に基づく分離曲線を生成し赤目画素の特定を行うことができる。
ただし、画像処理装置は、必ずしも、区分領域単位で肌領域を検出しなくてもよい。画像処理装置は、例えば、赤目候補領域Pe1のサイズが小さい場合等に(図6のステップS201のNO)、赤目候補領域Pe1を等分割せずに、画素単位に赤目候補領域Pe1の赤目画素とその周辺の一定面積の肌画素を検出し、検出した肌画素の特徴量に基づいて分離曲線を生成してもよい。これにより、画像処理装置は、赤目候補領域Pe1を等分割しない場合であっても、赤目画素を高精度に特定することができる。
また、本実施の形態例における画像処理装置は、赤成分区間Lr毎に、赤成分区間Lrの赤値に対応する赤度値の分布に基づいて分離曲線を生成することによって、肌領域の画素数が少ない場合であっても、肌領域の画素分布の境界に沿った分離曲線を生成することができる。画素数が少ない場合、赤値毎に、赤値に対応する赤度値に基づいて分離曲線を生成すると、凹凸の大きい分離曲線が生成されることがある。それに対し、本実施の形態例における画像処理装置は、赤成分区間Lr毎の赤値に対応する赤度値の分布に基づいて分離曲線を生成するため、分離曲線の凹凸のばらつきを抑えることができる。
これは、例えば、プリンター1の内部メモリー12の作業領域が少ない場合、赤目候補
領域Pe1が印刷処理対象画像TIの縮小画像から検出される場合等に有効である。
領域Pe1が印刷処理対象画像TIの縮小画像から検出される場合等に有効である。
また、本実施の形態例の画像処理装置は、特定対象領域の各画素について、画素の赤度値と分離閾値との比較によって補正強度係数を設定する。これにより、画像処理装置は、特定対象の画素が赤目か否かを特定するだけでなく、赤目画素における補正度合い情報(補正強度情報)を取得することができる。
また、赤目画素特定部24は、内部メモリー12の作業領域が小さいため、赤目候補領域Pe1が例えば1ラインずつしか供給されず1ラインずつしか処理できない場合であっても、補正強度マップMaを生成することができる。また、同様にして、補正部25は、補正処理Z3において、1ラインずつしか処理できない場合であっても、注目画素以外にその両隣の画素を参照するだけで足るため処理を行うことができる。
また、本実施の形態例における画像処理装置は、非赤目画素として推定された画素に対しても、赤度値と分離閾値との比が0.8以上である場合は(即ち、非赤目画素の分布側の画素であっても、当該画素の赤度値と分離閾値との比が所定の範囲内である場合は)、ある大きさの補正強度係数を付与する。これにより、画像処理装置は、赤目現象に関与している可能性がある画素についても補正することができ、より適切に赤目を補正することができる。
[変形例]
また以上においては、プリンター1を利用した場合を例として説明したが、コンピューター、デジタルビデオカメラ、またはデジタルスチルカメラ等の他の画像処理装置に適用することができる。すなわち画像処理装置にインストールされる赤目補正ソフトウェア等に実装することができる。この場合、補正強度マップMaを生成する機能が画像処理装置に実装され、画像処理装置からプリンターや表示側に補正強度マップMaが提供され、プリンターや表示側で色補正が実行されるようにすることもできる。
また以上においては、プリンター1を利用した場合を例として説明したが、コンピューター、デジタルビデオカメラ、またはデジタルスチルカメラ等の他の画像処理装置に適用することができる。すなわち画像処理装置にインストールされる赤目補正ソフトウェア等に実装することができる。この場合、補正強度マップMaを生成する機能が画像処理装置に実装され、画像処理装置からプリンターや表示側に補正強度マップMaが提供され、プリンターや表示側で色補正が実行されるようにすることもできる。
また、上述した機能は、コンピューター等によって実現される場合、上述した機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピューターで実行することにより、処理機能がコンピューター上で実現される。処理内容を記述したプログラムは、コンピューターで読み取り可能な記録媒体に記録しておくことができる。コンピューターで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリーなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disk)、DVD−RAM、CD−ROM(Compact Disk ROM)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバーコンピューターの記憶装置に格納しておき、ネットワークを介して、サーバーコンピューターから他のコンピューターにそのプログラムを転送することもできる。
プログラムを実行するコンピューターは、たとえば、可搬型記録媒体に記録されたプログラム若しくはサーバーコンピューターから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピューターは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピューターは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピューターは、サーバーコンピューターからプログラムが転送される毎に、逐次、受け取っ
たプログラムに従った処理を実行することもできる。
たプログラムに従った処理を実行することもできる。
なお上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
またフローチャートにその流れを示した処理は、各ステップが、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくても、並列的あるいは個別に実行される処理を含むものである。また適宜処理を省略することもできる。
1 プリンター, 11 CPU , 12 内部メモリー, 13 操作部, 14
表示部, 15 プリンターエンジン, 16 カードI/F, 17 カードスロット, 18 メモリーカード, 21 画像読取部, 22 赤目候補領域取得部, 23 赤目特定情報生成部, 24 赤目画素特定部, 25 補正部, 31 肌領域検出部, 32 特徴量抽出部, 33 分離曲線生成部, 41 補正強度マップ生成部
表示部, 15 プリンターエンジン, 16 カードI/F, 17 カードスロット, 18 メモリーカード, 21 画像読取部, 22 赤目候補領域取得部, 23 赤目特定情報生成部, 24 赤目画素特定部, 25 補正部, 31 肌領域検出部, 32 特徴量抽出部, 33 分離曲線生成部, 41 補正強度マップ生成部
Claims (9)
- カラー画像における赤目現象の発生している赤目を含む赤目候補領域から赤目画素を特定する画像処理装置であって、
前記赤目候補領域における前記赤目の周辺にある一定面積の肌領域における画素から特徴量として赤値及び赤度値を取得し、前記各赤値に対応する前記赤度値の分布に基づいて、前記赤目画素とそれ以外の画素とを分離する前記各赤値に対応する赤度値を有する分離曲線を生成する分離曲線生成手段と、
前記赤目画素を特定する対象領域の各画素について、前記画素の前記赤度値が、前記分離曲線における前記画素の赤値に対応する前記赤度値より大きい場合に、前記画素を赤目画素として特定する赤目画素特定手段と、
を有することを特徴とする画像処理装置。 - 請求項1において、
前記分離曲線生成手段は、前記赤目候補領域を等分割して区分領域を生成し、前記赤目を含む赤目区分領域の周辺にある肌画素を有する肌区分領域を前記一定面積まで複数検出し、当該検出された複数の肌区分領域の前記特徴量を取得することを特徴とする画像処理装置。 - 請求項2において、
前記分離曲線生成手段は、
前記赤目候補領域における各画素の赤度値の平均値と当該赤度値の標準偏差値と、前記区分領域における各画素の前記赤度値の平均値とを取得し、
前記赤目候補領域の前記赤度値の平均値と標準偏差値との加算値より大きい赤度値を平均値としてもつ前記区分領域を赤目区分領域として検出し、前記赤目区分領域を包括する領域に外接する前記区分領域群を検出対象領域として設定し、
前記検出対象領域の前記区分領域のうち、前記赤目候補領域の前記赤度値の平均値から標準偏差値を減算した値以上であって、前記赤目候補領域の前記赤度値の平均値と標準偏差値との加算値以下である赤度値を平均値としてもつ前記区分領域を前記肌区分領域として検出し、
前記肌区分領域の総数が所定数に達するまで、前記検出対象領域の外接する前記区分領域群を前記検出対象領域に設定し直して、当該検出対象領域から前記肌区分領域を検出することを特徴とする画像処理装置。 - 請求項3において、
前記分離曲線生成手段は、さらに、
前記区分領域における各画素の前記赤度値の標準偏差値を取得し、
前記検出対象領域の前記区分領域のうち、前記区分領域の前記標準偏差値が、前記赤目候補領域の前記標準偏差値に所定係数を乗じた値を超える場合、当該区分領域を前記肌区分領域として検出しないことを特徴とする画像処理装置。 - 請求項1乃至4のいずれかにおいて、
前記分離曲線生成手段は、前記赤値を所定の区間に区分し、前記区間毎に、当該区間内の前記赤値に対応する前記肌領域の前記赤度値の分布に基づいて前記分離曲線を生成することを特徴とする画像処理装置。 - 請求項1乃至5のいずれかにおいて、
前記赤目画素特定手段は、さらに、前記各画素について、前記画素の前記赤度値と、前記分離曲線における前記画素の赤値に対応する前記赤度値との比に基づいて、前記画素の赤目補正の度合いを表す補正強度情報を生成することを特徴とする画像処理装置。 - 請求項6において、
前記画像処理装置は、さらに、
前記赤目候補領域における前記赤目の周辺にある白領域を検出する白領域検出手段を有し、
前記赤目画素特定手段は、前記白領域が検出されなかった場合、前記各画素について前記赤目補正の度合いを下げる調整を行うことを特徴とする画像処理装置。 - 請求項7において、
前記白領域検出手段は、前記区分領域の白度の平均値を取得し、前記検出対象領域の前記区分領域のうち、前記白度の平均値が所定の値以上である前記区分領域を白区分領域として検出することを特徴とする画像処理装置。 - カラー画像における赤目現象の発生している赤目を含む赤目候補領域から赤目画素を特定する画像処理をコンピューターに実行させるコンピューター読み取り可能な画像処理プログラムにおいて、
前記赤目候補領域における前記赤目の周辺にある一定面積の肌領域における画素から特徴量として赤値及び赤度値を取得し、前記各赤値に対応する前記赤度値の分布に基づいて、前記赤目画素とそれ以外の画素とを分離する前記各赤値に対応する赤度値を有する分離曲線を生成する分離曲線生成工程と、
前記赤目画素を特定する対象領域の各画素について、前記画素の前記赤度値が、前記分離曲線における前記画素の赤値に対応する前記赤度値より大きい場合に、前記画素を赤目画素として特定する赤目画素特定工程と、
を実行させることを特徴とする画像処置プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010058821A JP2011193317A (ja) | 2010-03-16 | 2010-03-16 | 画像処理装置、画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010058821A JP2011193317A (ja) | 2010-03-16 | 2010-03-16 | 画像処理装置、画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011193317A true JP2011193317A (ja) | 2011-09-29 |
Family
ID=44797770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010058821A Withdrawn JP2011193317A (ja) | 2010-03-16 | 2010-03-16 | 画像処理装置、画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011193317A (ja) |
-
2010
- 2010-03-16 JP JP2010058821A patent/JP2011193317A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1721296B1 (en) | Correction of redeye in images of humans | |
US7627146B2 (en) | Method and apparatus for effecting automatic red eye reduction | |
US8055067B2 (en) | Color segmentation | |
US8897600B1 (en) | Method and system for determining vanishing point candidates for projective correction | |
US8811751B1 (en) | Method and system for correcting projective distortions with elimination steps on multiple levels | |
JP2007504719A (ja) | 組み込みアプリケーションに適した、画像における赤目の検出と補正を行うシステム及び方法 | |
US10007846B2 (en) | Image processing method | |
WO2015070723A1 (zh) | 眼部图像处理方法和装置 | |
US10455163B2 (en) | Image processing apparatus that generates a combined image, control method, and storage medium | |
JP2005310068A (ja) | 白目補正方法及びこの方法を実施する装置 | |
US20100172577A1 (en) | Red eye detecting apparatus, red eye detecting method and red eye detecting program | |
JP2005128942A (ja) | 赤目補正方法及びこの方法を実施する装置 | |
US9477885B2 (en) | Image processing apparatus, image processing method and image processing program | |
US6963663B1 (en) | Image processing for image correction | |
US8913836B1 (en) | Method and system for correcting projective distortions using eigenpoints | |
US10348932B2 (en) | Image processing apparatus, method of controlling the same, and non-transitory computer-readable storage medium that decrease the lightness of pixels, except for a highlight region, based on a generated lightness histogram | |
CN113095148B (zh) | 眉毛区域被遮挡的检测方法、系统、拍照设备和存储介质 | |
JP2008028982A (ja) | 印刷装置、画像データファイル処理装置、画像データファイルの選択方法、およびコンピュータプログラム | |
JP2005148915A (ja) | 適正顔判別方法及びこの方法を実施する装置 | |
JP2011193317A (ja) | 画像処理装置、画像処理プログラム | |
JP2007281847A (ja) | 赤目補正処理システム、赤目補正処理方法、および赤目補正処理プログラム | |
JP2011198116A (ja) | 画像処理装置、画像処理プログラム | |
JP2005141523A (ja) | 画像処理方法 | |
JP4831344B2 (ja) | 目の位置の検出方法 | |
JP2005157964A (ja) | 顔画像検出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130604 |