JP4983684B2 - 画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム - Google Patents

画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム Download PDF

Info

Publication number
JP4983684B2
JP4983684B2 JP2008079679A JP2008079679A JP4983684B2 JP 4983684 B2 JP4983684 B2 JP 4983684B2 JP 2008079679 A JP2008079679 A JP 2008079679A JP 2008079679 A JP2008079679 A JP 2008079679A JP 4983684 B2 JP4983684 B2 JP 4983684B2
Authority
JP
Japan
Prior art keywords
red
eye
region
image
area
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.)
Expired - Fee Related
Application number
JP2008079679A
Other languages
English (en)
Other versions
JP2009237661A (ja
Inventor
正年 松平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008079679A priority Critical patent/JP4983684B2/ja
Priority to US12/410,222 priority patent/US8249321B2/en
Publication of JP2009237661A publication Critical patent/JP2009237661A/ja
Application granted granted Critical
Publication of JP4983684B2 publication Critical patent/JP4983684B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30216Redeye defect

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、画像処理装置、画像処理方法、画像処理のためのコンピュータプログラムに関するものである。
従来より、種々の画像処理が利用されている。例えば、色を補正する処理や、被写体を変形させる処理がある。また、画像処理を行うために、画像から人物の顔を検出する技術も利用されている。
特開2004−318204
ところで、画像中の人物の目(特に瞳孔)が赤く写る場合がある(いわゆる赤目)。このような赤目を画像から検出することは、赤目に関する種々の処理(例えば、赤目補正)に有用である。ところが、従来は、赤目が検出される画像部分によって表される被写体の種類を考慮して赤目を検出することに関しては十分な工夫がなされていないのが実情であった。
本発明は、上記の課題の少なくとも一部を解決するためになされたものであり、赤目が検出される画像部分によって表される被写体の種類を考慮して赤目を検出することができる技術を提供することを目的とする。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
第1形態の画像処理装置は、対象画像における人物の目の画像を含む器官領域を、第1の手法を用いて検出する器官検出部と、前記器官領域から、赤目の画像を含む第1の赤目領域を、前記第1の手法とは異なる第2の手法を用いて検出する第1の赤目検出部と、前記対象画像から前記器官領域を除いた残りの領域から、前記第1の赤目領域とは異なる赤目の画像を含む第2の赤目領域を、前記第1の手法および前記第2の手法とは異なる第3の手法を用いて検出する第2の赤目検出部とを備えることを特徴とする。
第2形態のプリンタは、対象画像における人物の目の画像を含む器官領域を、第1の手法を用いて検出する器官検出部と、前記器官領域から、赤目の画像を含む第1の赤目領域を、前記第1の手法とは異なる第2の手法を用いて検出する第1の赤目検出部と、前記対象画像から前記器官領域を除いた残りの領域から、前記第1の赤目領域とは異なる赤目の画像を含む第2の赤目領域を、前記第1の手法および前記第2の手法とは異なる第3の手法を用いて検出する第2の赤目検出部と、前記第1の赤目領域および前記第2の赤目領域を利用した赤目補正を実行する画像処理部と、前記画像処理部による処理後の前記対象画像を印刷する印刷部とを備えることを特徴とする。
第3形態の画像処理方法は、対象画像における人物の目の画像を含む器官領域を、第1の手法を用いて検出し、前記器官領域から、赤目の画像を含む第1の赤目領域を、前記第1の手法とは異なる第2の手法を用いて検出し、前記対象画像から前記器官領域を除いた残りの領域から、前記第1の赤目領域とは異なる赤目の画像を含む第2の赤目領域を、前記第1の手法および前記第2の手法とは異なる第3の手法を用いて検出することを特徴とする。
第4形態のコンピュータプログラムは、対象画像における人物の目の画像を含む器官領域を、第1の手法を用いて検出する機能と、前記器官領域から、赤目の画像を含む第1の赤目領域を、前記第1の手法とは異なる第2の手法を用いて検出する機能と、前記対象画像から前記器官領域を除いた残りの領域から、前記第1の赤目領域とは異なる赤目の画像を含む第2の赤目領域を、前記第1の手法および前記第2の手法とは異なる第3の手法を用いて検出する機能とをコンピュータに実現させることを特徴とする。
[適用例1]画像処理装置であって、対象画像における人物の目の画像を含む器官領域を検出する器官検出部と、前記器官領域を利用して赤目の画像を含む赤目領域を検出する赤目検出部と、を備え、前記赤目検出部は、(A)前記器官領域から第1検出処理に従って前記赤目領域を検出し、(B)前記対象画像から前記器官領域を除いた残りの領域から、前記第1検出処理とは異なる第2検出処理に従って前記赤目領域を検出する、画像処理装置。
この構成によれば、人物の目の画像を含む器官領域から第1検出処理に従って赤目領域が検出され、対象画像から器官領域を除いた残りの領域から、第1検出処理とは異なる第2検出処理に従って赤目領域が検出されるので、赤目が検出される画像部分によって表される被写体の種類を考慮して赤目を検出することができる。
[適用例2]適用例1に記載の画像処理装置であって、前記第1検出処理は、前記器官領域を表す比較的画素密度の高い画像を利用して前記赤目領域を検出する処理を含み、前記第2検出処理は、前記残りの領域を表す比較的画素密度の低い画像を利用して前記赤目領域を検出する処理を含む、画像処理装置。
この構成によれば、器官領域からの赤目の検出に比較的画素密度の高い画像が利用されるので、赤目検出の精度を高めることができる。また、器官領域外からの赤目の検出に比較的画素密度の低い画像が利用されるので、処理に要するメモリのサイズを低減できる。また、器官領域の内と外との間で赤目の検出処理が切り替えられるので、赤目が検出される画像部分によって表される被写体の種類を考慮して赤目を検出することができる。
[適用例3]適用例1または適用例2に記載の画像処理装置であって、前記第1検出処理は、第1条件を満たす領域を前記赤目領域として検出する処理を含み、前記第2検出処理は、前記第1条件よりも厳しい第2条件を満たす領域を前記赤目領域として検出する処理を含む、画像処理装置。
この構成によれば、器官領域からは比較的緩やかな第1条件を満たす領域が赤目領域として検出されるので、赤目領域の検出漏れを抑制できる。また、器官領域外からは比較的厳しい第2条件を満たす領域が赤目領域として検出されるので、赤目でない被写体を表す領域が誤って赤目領域として検出されることを抑制できる。また、器官領域の内と外との間で赤目の検出処理が切り替えられるので、赤目が検出される画像部分によって表される被写体の種類を考慮して赤目を検出することができる。
[適用例4]適用例3に記載の画像処理装置であって、前記第1条件は、前記赤目領域として検出されるべき領域内の瞳孔を表す画素が、第1赤色範囲内の色を示す画素を含むこと、を含み、前記第2条件は、前記瞳孔を表す画素が、前記第1赤色範囲に含まれるとともに前記第1赤色範囲よりも狭い第2赤色範囲内の色を示す画素を含むこと、を含む、画像処理装置。
この構成によれば、器官領域内からの赤目の検出に比較的広い第1赤色範囲が利用されるので、赤目領域の検出漏れを抑制できる。また、器官領域外からの赤目の検出に比較的狭い第2赤色範囲が利用されるので、赤目でない被写体を表す領域が誤って赤目領域として検出されることを抑制できる。また、器官領域の内と外との間で赤目の検出処理が切り替えられるので、赤目が検出される画像部分によって表される被写体の種類を考慮して赤目を検出することができる。
[適用例5]適用例3または適用例4に記載の画像処理装置であって、前記第1条件は、前記赤目領域として検出されるべき領域を含む候補領域と、赤目を表す所定の基準画像との間の類似度が第1閾値よりも高いこと、を含み、前記第2条件は、前記類似度が、前記第1閾値よりも大きい第2閾値よりも高いこと、を含む、画像処理装置。
この構成によれば、器官領域内からの赤目の検出に、比較的小さな第1閾値が利用されるので、赤目領域の検出漏れを抑制できる。また、器官領域外からの赤目の検出に、比較的大きな第2閾値が利用されるので、赤目でない被写体を表す領域が誤って赤目領域として検出されることを抑制できる。また、器官領域の内と外との間で赤目の検出処理が切り替えられるので、赤目が検出される画像部分によって表される被写体の種類を考慮して赤目を検出することができる。
[適用例6]適用例1ないし適用例5のいずれかに記載の画像処理装置であって、さらに、前記検出された赤目領域を利用した赤目補正を実行する画像処理部を備える、画像処理装置。
この構成によれば、赤目補正を行う態様において、赤目が検出される画像部分によって表される被写体の種類を考慮して赤目を検出することができる。
[適用例7]プリンタであって、対象画像における人物の目の画像を含む器官領域を検出する器官検出部と、前記器官領域を利用して赤目の画像を含む赤目領域を検出する赤目検出部と、前記検出された赤目領域を利用した赤目補正を実行する画像処理部と、前記画像処理部による処理後の前記対象画像を印刷する印刷部と、を備え、前記赤目検出部は、(A)前記器官領域から第1検出処理に従って前記赤目領域を検出し、(B)前記対象画像から前記器官領域を除いた残りの領域から、前記第1検出処理とは異なる第2検出処理に従って前記赤目領域を検出する、プリンタ。
[適用例8]画像処理方法であって、対象画像における人物の目の画像を含む器官領域を検出する器官検出工程と、前記器官領域を利用して赤目の画像を含む赤目領域を検出する赤目検出工程と、を備え、前記赤目検出工程は、(A)前記器官領域から第1検出処理に従って前記赤目領域を検出する工程と、(B)前記対象画像から前記器官領域を除いた残りの領域から、前記第1検出処理とは異なる第2検出処理に従って前記赤目領域を検出する工程と、を含む、画像処理方法。
[適用例9]画像処理のためのコンピュータプログラムであって、対象画像における人物の目の画像を含む器官領域を検出する器官検出機能と、前記器官領域を利用して赤目の画像を含む赤目領域を検出する赤目検出機能と、をコンピュータに実現させるコンピュータプログラムを備え、前記赤目検出機能は、(A)前記器官領域から第1検出処理に従って前記赤目領域を検出する機能と、(B)前記対象画像から前記器官領域を除いた残りの領域から、前記第1検出処理とは異なる第2検出処理に従って前記赤目領域を検出する機能と、を含む、コンピュータプログラム。
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
次に、この発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
B.第2実施例:
C.第3実施例:
D.第4実施例:
E.変形例:
A.第1実施例:
図1は、本発明の一実施例としてのプリンタ100を示す説明図である。このプリンタ100は、制御部200と、印刷エンジン300と、ディスプレイ310と、操作パネル320と、カードインターフェース(I/F)330と、を備えている。
制御部200は、CPU210と、RAM220と、ROM230とを含むコンピュータである。この制御部200は、プリンタ100の各構成要素を制御する。
印刷エンジン300は、与えられた印刷データを利用して印刷を実行する印刷機構である。印刷機構としては、インク滴を印刷媒体に吐出して画像を形成する印刷機構や、トナーを印刷媒体上に転写・定着させて画像を形成する印刷機構等の種々の印刷機構を採用可能である。
ディスプレイ310は、制御部200からの命令に従って、操作メニューや画像を含む種々の情報を表示する。ディスプレイ310としては、液晶ディスプレイや有機ELディスプレイ等の種々のディスプレイを採用可能である。
操作パネル320は、ユーザの指示を受け入れる装置である。操作パネル320は、例えば、操作ボタンやダイヤルやタッチパネルを含む。
カードI/F330は、メモリカードMCのインターフェースである。制御部200は、メモリカードMCに格納された画像ファイルをカードI/F330を介して読み出す。そして、制御部200は、読み出した画像ファイルを利用して、印刷を実行する。
図2は、ROM230(図1)に格納されたモジュールを示す説明図である。本実施例では、器官検出モジュール400と、赤目検出モジュール410と、画像処理モジュール430と、印刷データ生成モジュール440と、がROM230に格納されている。これらのモジュール400〜440は、CPU210によって実行されるプログラムである。以下、モジュールに従ってCPUが処理を実行することを、単に、「モジュールが処理を実行する」とも表現する。なお、各モジュール400〜440は、RAM220を介して互いにデータの送受信が可能である。各モジュール400〜440の機能の詳細については後述する。
図3は、第1実施例における赤目検出処理の概略図である。本実施例では、制御部200(図1)は、画像の印刷のために赤目補正を実行する。制御部200は、この赤目補正のために、赤目領域を検出する。図3の例では、処理対象の画像(「対象画像IMG」とも呼ぶ)に、3人の人物P1、P2、P3が写っている。図中の目C1a、C1bは、第1人物P1の目を示し、目C2a、C2bは、第2人物P2の目を示し、目C3a、C3bは、第3人物P3の目を示している。これらの目の内の3つの目C1a、C1b、C3bは赤く写っている(赤目)。また、対象画像IMGには、ボタンC3cが写っている。このボタンC3cの色は、赤目と似た赤色である。
本実施例では、先ず、器官検出モジュール400(図2)が、対象画像IMG中の目領域を検出する。目領域は、人物の目の画像を含む領域である。目領域の検出方法としては、公知の種々の方法(例えば、目のテンプレート画像を用いたパターンマッチング)を採用可能である。なお、器官検出モジュール400は、目(瞳孔)が赤く写っているか否かに拘わらずに、目領域を検出する。例えば、器官検出モジュール400は、瞳孔部分を除いて、目領域の検出(例えば、パターンマッチング)を実行する。
図3の例では、目C1aを表す目領域EA1と、目C1bを表す目領域EA2と、目C2aを表す目領域EA3とが検出されている。図中では、検出された目領域EA1、EA2、EA3にハッチングが付されている。他の目C2b、C3a、C3bを表す目領域は、検出されていない。このような検出漏れは、種々の原因で生じ得る。例えば、被写体(特に目)がぼやけて写っていること等がある。
次に、赤目検出モジュール410(図2)は、対象画像IMG中の赤目領域を検出する。赤目検出モジュール410は、目の瞳孔部分が赤く写っている場合に、その赤色部分を赤目領域として検出する。このような赤目領域の検出方法としては、公知の種々の方法(例えば、赤目のテンプレート画像を用いたパターンマッチング)を採用可能である。なお、この赤目検出処理は、目領域の内と外との間で異なっている。
目領域の内では、赤目検出モジュール410(図2)は、対象画像IMGを、その画素密度を変更せずに、利用する。そして、赤目検出モジュール410は、瞳孔を表す画素が示すべき色の範囲として、比較的広い赤色の範囲を利用する。すなわち、赤目領域として、広い範囲の赤色を示す領域が検出され得る。このように、緩やかな条件に従って赤目領域が検出されるので、検出漏れを抑制できる。これらの詳細については、後述する。
図3には、目領域EA1、EA2、EA3からの赤目領域の検出結果が示されている。目C1a(目領域EA1)の赤色の部分が赤目領域REAaとして検出され、目C1b(目領域EA2)の赤色の部分が赤目領域REAbとして検出されている。目C2a(目領域EA3)の瞳孔部分の色は赤色では無いので、目C2aからは赤目領域は検出されていない。
一方、目領域の外では、赤目検出モジュール410(図2)は、対象画像IMGから画素密度の低い縮小画像を生成し、縮小画像を利用して赤目領域を検出する。そして、赤目検出モジュール410は、瞳孔を表す画素が示すべき色の範囲として、比較的狭い赤色の範囲を利用する。すなわち、赤目領域として、狭い範囲の赤色を示す領域が検出される。このように、厳しい条件に従って赤目領域が検出されるので、赤目では無い赤色の被写体が赤目として検出されることを抑制できる。これらの詳細については、後述する。
図3には、目領域の外からの赤目領域の検出結果が示されている。目C3bの赤色の部分が赤目領域REAcとして検出されている。2つの目C2b、C3aのそれぞれの瞳孔部分の色は赤色では無いので、これらの目C2b、C3aからは赤目領域は検出されていない。また、ボタンC3cの色は、狭い赤色の範囲の外の赤色であるので、ボタンC3cは赤目として検出されていない。
図4は、印刷処理の手順を示すフローチャートである。画像処理モジュール430(図2)は、操作パネル320(図1)に入力されたユーザの指示に応答して、この印刷処理を開始する。この印刷処理では、制御部200は、ユーザの指示によって指定された画像ファイルに含まれる画像データによって表される画像を印刷する。以下、ユーザによって指定された画像ファイルを「対象画像ファイル」と呼び、対象画像ファイルに格納されている画像データを「対象画像データ」と呼び、対象画像データによって表される画像を「対象画像」とも呼ぶ。
最初のステップS100では、器官検出モジュール400(図2)は、対象画像データを利用して、対象画像と同じ画像を表す画素密度の低い縮小画像を作成する。
図5は、縮小画像作成の手順を示すフローチャートである。本実施例では、器官検出モジュール400(図2)は、いわゆるQVGAサイズ(320*240画素)の画像を縮小画像として作成する。
図6は、縮小画像作成の概略図である。対象画像IMGの形状は矩形であり、複数の画素が、互いに直交するX方向とY方向とのそれぞれに沿って並んで配置されている。X方向の合計画素数はIWであり、Y方向の合計画素数はIHである。X方向の画素位置は「0」〜「IW−1」の範囲内であり、X方向の画素位置は「0」〜「IH−1」の範囲内である。
ここで、幅IWは、320よりも大きく、高さIHは240よりも大きいこととする。また、本実施例では、対象画像IMGを表すデータが、いわゆるJPEG画像データであることとしている。よく知られているように、JPEG画像データでは、MCU(Minimum Coded Unit)と呼ばれる画素ブロック毎にデータが符号化(例えば、種々のデータ圧縮)されている。以下、このブロックのことを「ブロックMCU」と呼ぶ。図6の対象画像IMGには、一部のブロックMCUが示されている。また、図6の右上部分には、ブロックMCUの拡大図が示されている。本実施例では、ブロックMCUは、M*Mの複数の画素PXで構成されたブロックである(Mは1以上の整数)。通常は、ブロックサイズMとして「8」が利用される。
器官検出モジュール400は、X方向に延びる画素ラインを利用して、縮小画像を作成する。図6には、Y方向の位置がYkである画素ラインLkが破線で示されている。図中のブロックバンドBDkは、この画素ラインを表す画素を含むブロックMCUを示している。ブロックバンドBDkは、X方向に沿って延びるブロックの1本のラインである。
図5の最初のステップS300では、器官検出モジュール400は、対象ラインLkのY方向位置Ykを初期化する(Yk=0)。次のステップS305では、対象ラインLkを表す復号されたデータが、RAM220内のバンドバッファBBFに格納されているか否かを判断する。バンドバッファBBFとしては、RAM220内の所定のアドレスの領域が利用される。復号が済んでいない場合には、器官検出モジュール400は、ブロックバンドBDkの各ブロックMCUを復号し(例えば、種々のデータ伸張)、復号されたデータ(復号ブロックバンドDBDk)をバンドバッファBBFに格納する。ここでは、ハフマン解凍(S310)、逆量子化(S315)、逆DCT(逆離散コサイン変換:S320)、YCC色空間からRGB色空間への色変換(S325)を含む処理が実行される。そして、バンドバッファBBF内の古いデータは、新しいデータによって上書きされる(S330)。
ブロックバンドBDkの復号が済んでいる場合には、器官検出モジュール400は、ステップS310〜S330の処理をスキップして、ステップS335に移行する。
ステップS335では、器官検出モジュール400は、バンドバッファBBFから、対象ラインLk(Y方向位置=Yk)を表す画素データを取得する。そして、次のステップS340で、対象ラインLkの画素データを利用して、縮小画像LIMGの一部の画素ラインの画素データを算出する。図6の例では、Y方向位置=Yjである画素ラインLjの画素データが算出されている。次のステップS345では、器官検出モジュール400は、算出した画素データを、RAM220内の縮小画像バッファLIBFに格納する。縮小画像バッファLIBFとしては、RAM220内の所定のアドレスの領域が利用される。なお、縮小画像LIMGの画素データの算出方法としては、任意の方法を採用可能である。例えば、単純に一部の画素を間引くことによって、残りの画素を縮小画像LIMGの画素として利用してもよい。また、補間(例えば、線形補間)によって、縮小画像LIMGの画素のデータを算出してもよい。
器官検出モジュール400は、位置Ykを1だけインクリメントし(S350)、位置Ykが高さIH以上であるか否かを判断する(S355)。そして、器官検出モジュール400は、対象画像IMGの全ての画素ラインのそれぞれに着目して、ステップS305〜S355の処理を繰り返し実行する。その結果、縮小画像バッファLIBFには、縮小画像LIMGが格納される。そして、縮小画像作成処理が完了する。
図4の次のステップS110では、器官検出モジュール400は、縮小画像LIMGを解析して目領域を検出する。検出される目領域は、縮小画像LIMGにおける領域であり、目の画像を含む領域である。なお、この段階では、目が赤目であるか否かに拘わらずに、目領域が検出される。
図6には、目領域の検出結果が示されている。縮小画像LIMG(すなわち、対象画像IMG)は、3人の人物を表している。そして、器官検出モジュール400は、3つの目領域EAL1、EAL2、EAL3を検出している。図示するように、本実施例では、1つの目の画像を含む矩形領域が、目領域として検出される。図示は省略するが、縮小画像LIMGにおける目の大きさが小さい場合には、小さい目領域が検出される。縮小画像LIMGにおける目の大きさが大きい場合には、大きい目領域が検出される。なお、目領域のアスペクト比(縦横比)は、対象画像中の目の形状に従って変化して良い。ただし、アスペクト比が固定されてもよい。
器官検出モジュール400による目領域の検出方法としては、公知の種々の方法を採用可能である。本実施例では、目のテンプレート画像を用いたパターンマッチングによって、目領域が検出される。なお、このような目領域の検出方法としては、テンプレートを利用したパターンマッチングによる種々の方法(例えば、特開2004−318204参照)を採用可能である。
なお、器官検出モジュール400は、縮小画像LIMG内の相対的な位置に従って、縮小画像LIMGから検出された目領域と同じ部分を示す対象画像IMGにおける目領域を特定する。その結果、器官検出モジュール400は、対象画像IMGにおける目領域を検出する。なお、本実施例では、目領域の検出に縮小画像LIMGが利用されるので、処理を高速に行うことが可能である。
図4の次のステップS115では、赤目検出モジュール410(図2)が、縮小画像LIMGを利用して、目領域の外の領域から赤目領域を検出する。図7は、縮小画像LIMGを利用した赤目領域の検出の概略図である。赤目検出モジュール410は、赤目を表す所定の基準画像RIを利用したパターンマッチングによって、赤目領域を検出する。基準画像RIは、白目領域SCA(強膜を表す領域)と、黒目領域COA(角膜を表す領域)と、瞳孔領域PUA(瞳孔を表す領域)と、を含んでいる。本実施例では、白目領域SCAの色は、白に近い色に設定され、黒目領域COAの色は、黒に近い色に設定され、瞳孔領域PUAの色は、赤色に設定されている。なお、各領域の色は、予め実験的に決定すればよい。また、この基準画像RIは、マトリクス状に配置された所定の複数の画素によって表されている。各画素には、3つの色成分R(赤)、G(緑)、B(青)のそれぞれの階調値が対応付けられている。なお、基準画像RIの形状は、矩形であってもよく、矩形でなくてもよい。
赤目検出モジュール410は、縮小画像LIMG中の部分領域(以下「候補領域CA」と呼ぶ)と、基準画像RIとの間の類似度DSを算出する。類似度DSとしては、2枚の画像の間の類似の度合いを表す任意の値を採用可能である。
類似度としては、例えば、以下のような値を採用可能である。まず、赤目検出モジュール410は、候補領域CAに基準画像RIを重ね合わせると仮定したときの、候補領域CAと基準画像RIとの間の相対的な位置関係を決定する。そして、赤目検出モジュール410は、基準画像RIの各画素位置に関して、2枚の画像CA、RI間の画素値の差分を算出する。本実施例では、画素値は、3つの色成分R、G、Bの階調値で表されているので、3つの色成分のそれぞれの階調値差分が算出される。次に、赤目検出モジュール410は、画素値の差分を、全ての色成分、基準画像RI内の全ての画素位置に関して、合計する。次に、赤目検出モジュール410は、合計値が取り得る最大値から、合計値を引くことによって、合計値の差分を算出する。そして、赤目検出モジュール410は、合計値の差分を、合計値の算出に利用される総画素数で割ることによって、類似度DSを算出する。総画素数を用いた除算により、類似度計算の画素密度に依存しない類似度DSが算出される(ここで、類似度計算の画素密度は、基準画像RI内における、類似度DSの計算に利用された総画素数に相当する)。候補領域CAと基準画像RIとが同一の場合には、各画素位置での画素値差分がゼロであるので、類似度DSは、取り得る最大値である。そして、画素値差分が大きいほど、類似度DSは小さくなる。
図8は、赤色範囲の概略図である。本実施例では、基準画像RI(図7)の瞳孔領域PUAの色の望ましい範囲(赤色範囲)が予め設定されている。図8は、HSB色空間を示している(色相H、彩度S、輝度B)。画像データによって表される色は、この色空間内の特定の点で表される。図中には、或る色を示す点CLiが示されている。縦軸Bxの方向の位置は、輝度Bを示している。縦軸Bxと点CLiとの間の距離は彩度Sを示している。輝度が点CLiの輝度と同じ平面BPL上における、縦軸Bxから見た所定の方向Hsと、縦軸Bxから点CLiへ向かう方向と、の間の角度は色相Hを表している。この角度は、輝度Bの大きい方から小さい方に向かって見たときに、反時計回りの角度を示している。
なお、図中の点CLiは、赤目の典型的な赤色を示している。そして、この点CLiを含む2つの赤色範囲RE_R1、RE_R2が、予め設定されている。第1赤色範囲RE_R1は、第2赤色範囲RE_R2を含み、第2赤色範囲RE_R2よりも広い範囲である。なお、これらの範囲RE_R1、RE_R2は、色範囲の全体の内の一部の範囲である。また、これらの範囲RE_R1、RE_R2内では、色相Hと彩度Sと輝度Bとのそれぞれが変化し得る。ただし、色相Hと彩度Sと輝度Bとの内の一部が固定されてもよい。なお、これらの範囲RE_R1、RE_R2は、予め実験的に決定すればよい。
図4のステップS115では、比較的狭い第2赤色範囲RE_R2が利用される。候補領域CA(図7)における瞳孔領域PUAと重なる領域(以下「瞳孔候補領域PUC」と呼ぶ)の内の画素の色が、比較的狭い第2範囲RE_R2内にある場合には、赤目検出モジュール410は、類似度を高く設定する。一方、瞳孔候補領域PUCの画素の色が、第2範囲RE_R2外にある場合には、赤目検出モジュール410は、類似度を低く設定する。第2赤色範囲RE_R2に従ってこのように類似度を設定する方法としては任意の方法を採用可能である。例えば、瞳孔候補領域PUC内において、ある画素位置の色が第2赤色範囲RE_R2内にある場合には、その画素位置の画素値差分をゼロに設定してもよい。そして、或る画素位置の色が第2赤色範囲RE_R2の外にある場合には、その画素位置での画素値と典型色CLiを表す画素値との差分を画素値差分として利用してもよい。
次に、赤目検出モジュール410は、類似度DSを類似度閾値Thdsと比較する。類似度DSが類似度閾値Thdsよりも大きい場合には、赤目検出モジュール410は、候補領域CAが赤目を表していると判断する。類似度DSがThds以下である場合には、候補領域CAは赤目を表していないと判断される。これらの結果、瞳孔候補領域PUC内の画素が、第2赤色範囲RE_R2内の色を示す画素を含む場合に、候補領域CAは赤目を表していると判断される。類似度閾値Thdsは、赤く写っていない目が誤って赤目として検出されないように、予め実験的に決定すればよい。
候補領域CAが赤目を表していると判断された場合には、赤目検出モジュール410は、候補領域CAから、赤目を表す赤目領域REA_Lを特定する。赤目領域REA_Lの特定方法としては、種々の方法を採用可能である。例えば、候補領域CAから第2赤色範囲RE_R2内の色を示す赤色画素を、赤目領域REA_Lの画素として選択してもよい。また、複数の赤色画素の連結した領域を、赤目領域REA_Lとして選択してもよい。ここで、赤色画素の色が、第2赤色範囲RE_R2とは異なる赤色の所定範囲内の色であってもよい。また、赤目領域を、瞳孔候補領域PUC内から選択してもよい。いずれの場合も、赤目検出モジュール410は、特定された赤目領域REA_Lから、対象画像IMGにおける赤目領域を特定する。対象画像IMGにおける赤目領域は、縮小画像LIMGにおける赤目領域REA_Lと同じ部分を表す領域である。
なお、赤目検出モジュール410は、縮小画像LIMG内で候補領域CAを移動させることによって、縮小画像LIMG内の種々の位置の赤目領域を検出する。また、赤目検出モジュール410は、縮小画像LIMGにおける基準画像RIのサイズを拡大縮小することによって、種々のサイズの目から赤目領域を検出する。なお、候補領域CAの画素位置が、基準画像RIの画素位置と重なっていない場合がある。この場合には、類似度DSを算出するために、赤目検出モジュール410は、補間によって候補領域CAにおける画素値を算出すればよい。逆に、候補領域CAの各画素位置における階調値差分を利用してもよい。
以上のように、赤目検出モジュール410(図2)は、縮小画像LIMGを利用して、目領域の外の領域から赤目領域を検出する。
図4の次のステップS120では、赤目検出モジュール410(図2)が、目領域を復号する(展開)。図9は、目領域の復号の手順を示すフローチャートである。赤目検出モジュール410は、このフローチャートに従って、対象画像IMGに含まれる複数のブロックMCUの内の、目領域を表す画素を含むブロックMCUを選択的に復号することによって、目領域の画像データを取得する。
図10は、目領域の復号の概略図である。図10の上部分には、対象画像IMGと3つの目領域EA1、EA2、EA3が示されている。これらの目領域EA1、EA2、EA3は、器官検出モジュール400(図2)によって検出された領域であり、図6に示す目領域EAL1、EAL2、EAL3と同じ部分をそれぞれ示している。
図10の中部分には、第1目領域EA1の周辺部分の拡大図が示されている。以下、第1目領域EA1を表す画像データを取得する場合を例に説明を行う。第1目領域EA1は、複数のブロックMCUに跨っている。図中の目ブロック領域EBAは、第1目領域EA1を表す画素を含むブロックMCUで構成された領域である。赤目検出モジュール410(図2)は、目ブロック領域EBA外のブロックMCUを復号せずに、目ブロック領域EBA内のブロックMCUを選択的に復号することによって、第1目領域EA1を表す画像データを取得する。ここで、赤目検出モジュール410は、対象画像IMG内の或る1つのブロックMCU(「対象ブロックMCUm」と呼ぶ)が目領域の画素を含むか否かを判断し、対象ブロックMCUmが目領域の画素を含む場合に、対象ブロックMCUmを復号する。この判断は、全てのブロックMCUに対して行われる。
なお、図10の実施例では、第1目領域EA1は、X方向の位置がa0〜a1(a0<a1)であり、Y方向の位置がb0〜b1(b0<b1)である矩形領域である。また、対象ブロックMCUmは、原点の画素(X=0、Y=0)に最も近いコーナの画素の位置(X=Xm、Y=Ym)によって特定可能である。
図9の最初のステップS500では、赤目検出モジュール410(図2)は、目領域EA1を表す画像データのためのバッファ領域を、RAM220(図1)に確保する(図示省略)。このバッファ領域のサイズは、目領域EA1の画素数に従って決定される。また、赤目検出モジュール410は、対象ブロックMCUmのY方向位置Ymを初期化する(Ym=0)。次のステップS505では、対象ブロックMCUmのX方向の位置Xmを初期化する(Xm=0)。次のステップS510では、対象ブロックMCUmのハフマン解凍を実行する。
次のステップS515、S520では、赤目検出モジュール410は、対象ブロックMCUmが目領域EA1の画素を含むか否かを判断する。図10の下部分には、対象ブロックMCUmの拡大図が示されている。第1コーナ画素PXc1は、原点の画素(X=0、Y=0)に最も近いコーナの画素を示している(X=Xm、Y=Ym)。第2コーナ画素PXc2は、原点の画素から最も遠いコーナの画素を示している(X=Xm+M−1、Y=Ym+M−1)。ここで、2つのコーナ画素PXc1、PXc2の少なくとも一方が第1目領域EA1内にある場合に、対象ブロックMCUmが目領域EA1の画素を含むと判断可能である。
ステップS515では、以下の条件B1が成立するか否かが判断される。
条件B1:Ym+M−1がb0以上、かつ、Ymがb1以下
次のステップS520では、以下の条件B2が成立するか否かが判断される。
条件B2:Xm+M−1がa0以上、かつ、Xmがa1以下
条件B1は、2つのコーナ画素PXc1、PXc1のY方向位置の少なくとも一方が第1目領域EA1内にあることを示している。条件B2は、2つのコーナ画素PXc1、PXc1のX方向位置の少なくとも一方が第1目領域EA1内にあることを示している。これらの条件B1、B2の両方が満たされる場合に、対象ブロックMCUmが目領域EA1の画素を含む。
両方の条件B1、B2が満たされる場合には、赤目検出モジュール410は、ステップS525で、対象ブロックMCUmを復号する。この復号は、図4のステップS315、S320と同じである。赤目検出モジュール410は、復号によって得られた画像データを、RAM220のブロックMCU用のバッファに格納する(図示省略)。
続いて、赤目検出モジュール410は、対象ブロックMCUm内の1つの画素(対象画素PXi)に着目して処理を実行する(図10の下部分)。ここで、ステップS525では、赤目検出モジュール410は、対象画素PXi(図10)のY方向の相対位置(yi)を初期化する(yi=0)。また、次のステップS527では、X方向の相対位置(xi)が初期化される(xi=0)。これらの相対位置xi、yiは、ブロックMCU内での相対的な位置を示している。すなわち、xi=yi=0である画素は、第1コーナ画素PXc1である。
次のステップS530、S535では、赤目検出モジュール410は、対象画素PXiが目領域EA1に含まれるか否かを判断する。対象画素PXiのX方向の位置は、Xm+xiであり、対象画素PXiのY方向の位置は、Ym+yiである。これらの位置に従って、判断が行われる。
ステップS530では、以下の条件P1が成立するか否かが判断される。
条件P1:Ym+yiがb0以上、かつ、Ym+yiがb1以下
ステップS535では、以下の条件P2が成立するか否かが判断される。
条件P2:Xm+xiがa0以上、かつ、Xm+xiがa1以下
条件P1は、対象画素PXiのY方向位置が目領域EA1内にあることを示している。条件P2は、対象画素PXiのX方向位置が目領域EA1内にあることを示している。これらの条件P1、P2の両方が満たされる場合に、対象画素PXiが目領域EA1に含まれる。
両方の条件P1、P2が満たされる場合には、赤目検出モジュール410は、ステップS540で、対象画素PXiの画素データの色変換を行い、変換後の画素データを目領域EA1のためのバッファに格納する。この色変換は、図5のステップS325の処理と同じである。
続けて、赤目検出モジュール410は、相対位置xiを1だけインクリメントする(S545)。インクリメントされた相対位置xiがブロックサイズM未満である場合には(S550:Yes)、処理は、ステップS535に戻る。このように、赤目検出モジュール410は、対象ブロックMCUm内の全ての相対位置xiに関して、ステップS535〜S550を繰り返す。相対位置xiに関する繰り返しが完了した後、赤目検出モジュール410は、相対位置yiを1だけインクリメントする(S555)。インクリメントされた相対位置yiがブロックサイズM未満である場合には(S560:Yes)、処理はステップS527に移行する。このように、赤目検出モジュール410は、対象ブロックMCUm内の全ての相対位置yiに関して、ステップS527〜S560を繰り返す。ここで、上述の条件P1が満たされない場合には(S530:No)、ステップS535〜S550はスキップされる。また、条件P2が満たされない場合には(S535:No)、ステップS540がスキップされる。これらの結果、対象ブロックMCUm内の全画素の内、目領域EA1に含まれる画素のデータが、目領域EA1のためのバッファに格納される。
対象ブロックMCUm内の画素に関する繰り返しが終了した後、赤目検出モジュール410は、位置XmをブロックサイズMだけインクリメントする(S565)。インクリメントされた位置Xmが幅IW未満である場合には(S570:Yes)、処理はステップS510に移行する。このように、赤目検出モジュール410は、対象画像IMG内の全てのブロックMCUの位置Xmに関して、ステップS510〜S570を繰り返す。位置Xmに関する繰り返しが完了した後、赤目検出モジュール410は、位置YmをブロックサイズMだけインクリメントする(S575)。インクリメントされた位置Ymが高さIH未満である場合には(S580:Yes)、処理はステップS505に移行する。このように、赤目検出モジュール410は、対象画像IMG内の全てのブロックMCUの位置Ymに関して、ステップS505〜S580を繰り返す。ここで、上述の条件B1が満たされない場合には(S515:No)、ステップS520〜S570がスキップされる。また、上述の条件B2が満たされない場合には(S520:No)、ステップS525〜S560がスキップされる。
これらの結果、赤目検出モジュール410は、対象画像IMGに含まれる複数のブロックMCUの内の、目領域を表す画素を含むブロックMCUを選択的に復号することによって、目領域の画像データを取得する。
目領域の復号が完了した後、図4の次のステップS135で、赤目検出モジュール410は、復号された画像データ(目領域)を利用して、目領域から赤目領域を検出する。図11は、目領域からの赤目領域の検出の概略図である。図7に示す赤目領域の検出との差違は、3点ある。第1の差違は、目領域のみから赤目領域が検出されることである。第2の差違は、縮小画像LIMGの代わりに対象画像IMG(復号された目領域の画像データ)が利用されることである。第3の差違は、第2赤色範囲RE_R2の代わりに第1赤色範囲RE_R1が利用されることである(図8)。赤目領域の検出方法は、図7の検出方法と同じである。これらの結果、瞳孔を表す画素が、第1赤色範囲RE_R1内の色を示す画素を含む場合に、赤目領域が検出される。また、類似度DSとしては、目領域内の候補領域と、基準画像RIとの間の類似度が利用される。ここで、目領域の全体を、候補領域として利用してもよい。なお、上述したように、類似度DSは、類似度計算の画素密度に依存しない。従って、対象画像IMGを利用する場合と、縮小画像LIMGを利用する場合との間で、共通の類似度閾値Thdsを利用することができる。
図11の例では、第1目領域EA1から赤目領域REAaの検出が示されている。目領域からの赤目領域の検出では、縮小画像の代わりに画素密度の高い対象画像IMGが利用されるので、より正確な赤目領域の検出が可能である。また、第2赤色範囲RE_R2よりも広い第1赤色範囲RE_R1が利用されるので、赤目領域の検出漏れを抑制できる。
以上のように、赤目検出モジュール410(図2)は、復号された画像データ(すなわち、対象画像IMG)を利用して、目領域から赤目領域を検出する。複数の目領域が検出された場合には、図4のステップS120〜S135の処理が、各目領域毎に繰り返される。
全ての目領域に関する処理が終了した場合には(S150:Yes)、画像処理モジュール430は、次のステップS160で赤目補正を行う。赤目補正は、対象画像中の赤目を目立ちにくくする処理である。本実施例では、赤目補正として、赤目領域の彩度を下げる処理が実行される。なお、赤目補正としては、他の種々の処理を採用可能である。例えば、赤目領域の彩度を下げる処理と赤目領域の明るさを下げる処理との少なくとも一方を含む種々の処理を採用可能である。
次のステップS180では、印刷データ生成モジュール440(図2)は、画像処理モジュール430による処理後の画像データを利用して、印刷データを生成する。印刷データのフォーマットとしては、印刷エンジン300(図1)に適した任意の形式を採用可能である。例えば、本実施例では、印刷データ生成モジュール440は、解像度変換処理、色変換処理、ハーフトーン処理を実行することによって、各インクのドットの記録状態を表す印刷データを生成する。そして、印刷データ生成モジュール440は、生成した印刷データを印刷エンジン300に供給する。印刷エンジン300は、受信した印刷データに従って印刷を実行する。そして、図4の処理が完了する。なお、印刷データ生成モジュール440と印刷エンジン300との全体は、特許請求の範囲における「印刷部」に相当する。
以上のように、本実施例では、目領域の外の領域からの赤目領域の検出には、画素密度の低い縮小画像LIMGが利用されるので(図7)、処理に要するメモリのサイズを低減できる。また、処理の高速化が可能である。また、目領域内からの赤目領域の検出には、画素密度の高い対象画像IMGが利用されるので(図11)、赤目検出の精度を高めることができる。
また、目領域の外の領域からの赤目領域の検出には、比較的狭い第2赤色範囲RE_R2が利用されるので(図7)、赤目でない被写体(例えば、ボタンC3c)を表す領域が誤って赤目領域として検出されることを抑制できる。また、目領域内からの赤目領域の検出には、比較的広い第1赤色範囲RE_R1が利用されるので(図11)、赤目領域の検出漏れを抑制できる。
以上のように、目領域の内と外との間で赤目の検出処理が切り替えられるので、赤目が検出される画像部分によって表される被写体の種類を考慮して赤目を検出することができる。
なお、目領域の外の領域では、赤目の存在する可能性が低い。このような目領域の外の領域では、画素密度の低い縮小画像LIMGを利用しても、赤目領域の検出精度を過度に低下させずに済む。また、厳しい条件(第2赤色範囲RE_R2)を利用しても、検出精度を過度に低下させずに済む。また、赤目の存在する可能性が高い目領域の内では、画素密度の高い対象画像IMGを利用することによって、赤目検出の精度を高めることができる。また、緩やかな条件(第1赤色範囲RE_R1)を利用することによって、赤目の検出漏れを抑制することができる。なお、本実施例における目領域は、特許請求の範囲における「器官領域」に相当する。
B.第2実施例:
図12は、第2実施例における赤目領域検出処理の概略図である。図3に示す第1実施例との差違は、目領域の代わりに顔領域が利用される点だけである。本実施例では、顔領域として、人物の目の画像と口の画像とを含む矩形領域が採用される。他の構成は、図3に示す第1実施例と同じである。印刷処理の手順は、図4、図5、図9に示す第1実施例の手順と同様である。顔領域の検出方法は、目領域の検出方法と同様である。プリンタの構成は、図1、図2に示す第1実施例のプリンタ100と同じである。
図12には、図3と同じ対象画像IMGが示されている。図12の例では、器官検出モジュール400(図2)は、第1人物P1の顔を表す第1顔領域FA1と、第2人物P2の顔を表す第2顔領域FA2とを検出する。そして、赤目検出モジュール410は、これらの顔領域FA1、FA2からは、図11の処理と同様の処理に従って、赤目領域を検出する。図12の例では、図3の第1実施例と同様に、顔領域FA1から2つの赤目領域REAa、REAbが検出されている。また、赤目検出モジュール410は、顔領域の外の領域からは、図7の処理と同様の処理に従って、赤目領域を検出する。図12の例では、図3の第1実施例と同様に、目C3bから赤目領域REAcが検出されている。
以上のように、器官領域としては、目領域に限らず、顔領域を採用してもよい。この場合も、顔領域の内では、赤目の存在する可能性が高く、顔領域の外では、赤目の存在する可能性が低い。従って、顔領域の内と外との間で赤目の検出処理を切り替えられることによって、上述の第1実施例と同様の利点を得ることができる。
C.第3実施例:
図13は、第3実施例における赤目領域検出処理の概略図である。図3に示す第1実施例との差違は、顔領域と目領域との両方が独立に検出され、そして、顔領域に含まれる目領域が、器官領域として利用される点だけである。他の構成は、図3に示す第1実施例と同じである。印刷処理の手順は、図4、図5、図9に示す第1実施例の手順と同様である。プリンタの構成は、図1、図2に示す第1実施例のプリンタ100と同じである。
図13には、図3と同じ対象画像IMGが示されている。器官検出モジュール400は、図3に示す第1実施例と同様に3つの目領域EA1、EA2、EA3を検出している。また、器官検出モジュール400は、第1人物P1の顔を表す第1顔領域FA1を検出している(図13の例では、残りの人物P2、P3の顔を表す顔領域は検出されていない)。そして、器官検出モジュール400は、顔領域に含まれる目領域を器官領域として採用する。図13の例では、第1顔領域FA1に含まれる2つの目領域EA1、EA2が器官領域として採用される。顔領域に含まれていない第3目領域EA3は、器官領域として採用されない。なお、目領域の検出と顔領域の検出とは、図3、図12の実施例と同様にそれぞれ行われる。
赤目検出モジュール410は、器官領域EA1、EA2からは、図11の処理と同様の処理に従って、赤目領域を検出する。図13の例では、図3の第1実施例と同様に、第1目領域EA1から第1赤目領域REAaが検出され、第2目領域EA2から第2赤目領域REAbが検出されている。また、赤目検出モジュール410は、器官領域の外の領域からは、図7の処理と同様の処理に従って、赤目領域を検出する。図13の例では、図3の第1実施例と同様に、目C3bから赤目領域REAcが検出されている。
以上のように、本実施例では、器官領域として目領域が利用される。従って、上述の第1実施例と同様の利点を得ることができる。また、本実施例では、顔領域に含まれる目領域が器官領域として採用される。従って、仮に、目とは異なる被写体を表す画像領域が誤って目領域として検出された場合であっても、その目領域が顔領域に含まれていない場合には、その顔領域は器官領域として採用されない。その結果、赤目の検出精度を向上させることができる。
D.第4実施例:
図14は、第4実施例における赤目領域検出処理の概略図である。上述の各実施例との差違は、類似度DSの閾値が、器官領域の内と外との間で異なっている点だけである。他の構成としては、図3、図12、図13の各実施例の構成を採用可能である。また、印刷処理の手順は、図4、図5、図9に示す第1実施例の手順と同様である。プリンタの構成は、図1、図2に示す第1実施例のプリンタ100と同じである。
器官領域の内では、比較的小さい第1閾値Th1が利用される。従って、器官領域の内の領域(赤目の存在する可能性の高い領域)からの赤目の検出漏れを抑制できる。また、器官領域の外では、第1閾値Th1よりも大きい第2閾値Th2が利用される。従って、器官領域の外の領域(赤目の存在する可能性の低い領域)から、赤目でない被写体を表す領域が誤って赤目領域として検出されることを抑制できる。
なお、類似度DSの算出に利用される画素値の差分の合計値と閾値とを比較してもよい。すなわち、赤目検出モジュール410は、合計値が閾値よりも小さい場合に、着目している画像領域が赤目を表していると判断してもよい。この場合、画素値の差分の合計値が小さいことは、類似度が高いことを示している。従って、合計値が閾値より小さいことは、類似度が閾値より高いことを示している。従って、この場合も、類似度が閾値より高いことが赤目領域の検出条件である、ということができる。このように、「類似度が閾値よりも高い」という条件の判断には、2枚の画像の間の類似の程度を示す種々の値を利用することができる。そして、赤目検出モジュール410は、類似の度合いを示す値が、類似の度合いが閾値よりも高い(すなわち、2枚の画像が類似している)ことを示す範囲内にある場合に、着目している画像領域が赤目を表していると判断することができる。
なお、本実施例において、赤目領域の検出に利用される赤色範囲は、器官領域の内と外との間で同じであってもよい。ただし、図8に示す実施例と同様に、器官領域内における赤色範囲が、器官領域外における赤色範囲よりも広いことが好ましい。
E.変形例:
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
変形例1:
上述の各実施例において、器官領域としては、人物の目の画像を含む種々の領域を採用可能である。例えば、口の画像を含まず目の画像と鼻の画像とを含む領域を採用してもよい。いずれの場合も、器官検出モジュール400(図2)は、目の画像が赤目を表しているか否かに拘わらずに、目の画像を含む領域を器官領域として検出すればよい。ここで、器官検出モジュール400は、縮小画像LIMGの代わりに対象画像IMGから器官領域を検出してもよい。この場合、赤目検出モジュール410が、縮小画像LIMGを生成してもよい。いずれの場合も、赤目検出モジュール410は、器官領域を表す画素を含むブロックMCU(図10)を選択的に復号することが好ましい。
また、上述の各実施例において、赤目領域は、赤目の画像を含む種々の領域を採用可能である。例えば、赤く写った瞳孔に加えて、その周囲の角膜部分を含む領域が、赤目領域として検出されてもよい。
変形例2:
上述の各実施例において、赤目検出モジュール410(図2)は、器官領域の内と外との間で同じ画素密度の画像を利用してもよい。また、器官領域の内と外との間で、赤目領域の検出に利用される条件が同じであってもよい。ただし、少なくとも、画素密度と条件との少なくとも一方が、器官領域の内と外との間で異なることが好ましい。
変形例3:
上述の各実施例において、赤目領域の検出結果を利用した処理としては、赤目補正に限らず、種々の処理を採用可能である。例えば、画像処理モジュール430(図2)は、複数の画像の中から、赤目領域が検出された画像を除く残りの画像を選択してもよい。選択された画像の用途は任意である。例えば、選択された画像は、印刷に利用されてもよく、また、特定のフォルダにコピーされてもよい。
変形例4:
上述の各実施例において、対象画像データとしては、JPEG画像データに限らず、任意の画像データを採用可能である。例えば、ブロック毎の符号化がされていない画像データ(例えば、TIFF画像データ)を採用してもよい。また、静止画像データに限らず、動画像データを、対象画像データとして利用してもよい。この場合、動画像に含まれる複数のフレーム画像の少なくとも一部のそれぞれを、対象画像として利用すればよい。
また、上述の各実施例において、縮小画像の画素密度(すなわち、画素数)としては、元の対象画像の画素密度よりも低い任意の密度を採用可能である(赤目領域を検出できるように、画素密度を予め実験的に決定すればよい)。また、縮小画像の縦横比は、対象画像の縦横比と同じであることが好ましい。但し、縦横比が変化してもよい。
変形例5:
上述の各実施例において、画像処理と印刷データ生成と印刷とを、対象画像における一部のライン(例えば、1ラインや2ライン)を単位として繰り返すことによって、対象画像の全体の画像処理と印刷とを実行してもよい。こうすれば、メモリに大量のデータを格納せずに済むので、メモリ量を節約することができる。
変形例6:
上述の各実施例において、画像処理済みの画像データの用途としては、印刷に限らず任意の用途を採用可能である。例えば、画像処理モジュール430(図2)は、処理済みの画像データを格納する画像ファイルを生成してもよい。画像処理モジュール430は、生成した画像ファイルを任意の方法でユーザに提供してよい。例えば、メモリカードMC(図1)に画像ファイルを格納してもよい。ここで、印刷データ生成モジュール440を省略してもよい。さらに、画像処理モジュール430を省略してもよい。この場合、赤目検出モジュール410は、対象画像データと、赤目領域を表す情報とを、他の画像処理装置に供給してもよい。
変形例7:
上述の各実施例において、人物の器官(例えば、目や顔)の画像を含む領域を画像(例えば、対象画像、あるいは、縮小画像)から検出する方法としては、パターンマッチングによる方法に限らず、任意の方法を採用可能である。例えば、ブースティング(たとえばAdaBoost)や、サポートベクターマシンや、ニューラルネットワークを採用可能である。いずれの場合も、赤目検出モジュール410(図2)は、器官領域の内からは比較的緩やかな条件を満たす領域を赤目領域として検出し、器官領域の外からは比較的厳しい条件を満たす領域を赤目領域として検出するように、構成されていることが好ましい。また、赤目検出モジュール410は、器官領域の内では画素密度の比較的高い画像を利用し、器官領域の外では画素密度の比較的低い画像を利用するように、構成されていることが好ましい。
変形例8:
上述の各実施例において、対象画像から赤目領域を検出する画像処理装置としては、プリンタ100(図1)に限らず、任意の画像処理装置を採用可能である。例えば、印刷と画像の光学スキャンとを実行する複合機、デジタルスチルカメラや、汎用のコンピュータを採用してもよい。
変形例9:
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図2の器官検出モジュール400の機能を、論理回路を有するハードウェア回路によって実現してもよい。
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータプログラム)は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
本発明の一実施例としてのプリンタ100を示す説明図である。 ROM230(図1)に格納されたモジュールを示す説明図である。 第1実施例における赤目検出処理の概略図である。 印刷処理の手順を示すフローチャートである。 縮小画像作成の手順を示すフローチャートである。 縮小画像作成の概略図である。 縮小画像LIMGを利用した赤目領域の検出の概略図である。 赤色範囲の概略図である。 目領域の復号の手順を示すフローチャートである。 目領域の復号の概略図である。 目領域からの赤目領域の検出の概略図である。 第2実施例における赤目領域検出処理の概略図である。 第3実施例における赤目領域検出処理の概略図である。 第4実施例における赤目領域検出処理の概略図である。
符号の説明
100...プリンタ
200...制御部
210...CPU
220...RAM
230...ROM
300...印刷エンジン
310...ディスプレイ
320...操作パネル
330...カードI/F
400...モジュール
400...器官検出モジュール
410...赤目検出モジュール
430...画像処理モジュール
440...印刷データ生成モジュール
MC...メモリカード

Claims (9)

  1. 画像処理装置であって、
    対象画像における人物の目の画像を含む器官領域を、第1の手法を用いて検出する器官検出部と、
    前記器官領域から、赤目の画像を含む第1の赤目領域を、前記第1の手法とは異なる第2の手法を用いて検出する第1の赤目検出部と、
    前記対象画像から前記器官領域を除いた残りの領域から、前記第1の赤目領域とは異なる赤目の画像を含む第2の赤目領域を、前記第1の手法および前記第2の手法とは異なる第3の手法を用いて検出する第2の赤目検出部と
    を備える画像処理装置。
  2. 請求項1に記載の画像処理装置であって、
    前記第1の赤目検出部は、前記第2の手法に従って、前記器官領域を表す比較的画素密度の高い画像を利用して前記第1の赤目領域を検出
    前記第2の赤目検出部は、前記第3の手法に従って、前記残りの領域を表す比較的画素密度の低い画像を利用して前記第2の赤目領域を検出する、画像処理装置。
  3. 請求項1または請求項2に記載の画像処理装置であって、
    前記第1の赤目検出部は、前記第2の手法に従って、第1条件を満たす領域を前記第1の赤目領域として検出
    前記第2の赤目検出部は、前記第1条件よりも厳しい第2条件を満たす領域を前記第2の赤目領域として検出する、画像処理装置。
  4. 請求項3に記載の画像処理装置であって、
    前記第1条件は、前記第1の赤目領域として検出されるべき領域内の瞳孔を表す画素が、第1赤色範囲内の色を示す画素を含むこと、を含み、
    前記第2条件は、前記第2の赤目領域として検出されるべき領域内の瞳孔を表す画素が、前記第1赤色範囲に含まれるとともに前記第1赤色範囲よりも狭い第2赤色範囲内の色を示す画素を含むこと、を含む、画像処理装置。
  5. 請求項3または請求項4に記載の画像処理装置であって、
    前記第1条件は、前記第1の赤目領域として検出されるべき領域を含む候補領域と、赤目を表す所定の基準画像との間の類似度が第1閾値よりも高いこと、を含み、
    前記第2条件は、前記第2の赤目領域として検出されるべき領域を含む候補領域と、前記基準画像との間の類似度が、前記第1閾値よりも大きい第2閾値よりも高いこと、を含む、画像処理装置。
  6. 請求項1ないし請求項5のいずれか一項に記載の画像処理装置であって、さらに、
    前記第1の赤目領域および前記第2の赤目領域を利用した赤目補正を実行する画像処理部を備える画像処理装置。
  7. プリンタであって、
    対象画像における人物の目の画像を含む器官領域を、第1の手法を用いて検出する器官検出部と、
    前記器官領域から、赤目の画像を含む第1の赤目領域を、前記第1の手法とは異なる第2の手法を用いて検出する第1の赤目検出部と、
    前記対象画像から前記器官領域を除いた残りの領域から、前記第1の赤目領域とは異なる赤目の画像を含む第2の赤目領域を、前記第1の手法および前記第2の手法とは異なる第3の手法を用いて検出する第2の赤目検出部と、
    前記第1の赤目領域および前記第2の赤目領域を利用した赤目補正を実行する画像処理部と、
    前記画像処理部による処理後の前記対象画像を印刷する印刷部と、
    を備えプリンタ。
  8. 画像処理方法であって、
    対象画像における人物の目の画像を含む器官領域を、第1の手法を用いて検出
    前記器官領域から、赤目の画像を含む第1の赤目領域を、前記第1の手法とは異なる第2の手法を用いて検出し、
    前記対象画像から前記器官領域を除いた残りの領域から、前記第1の赤目領域とは異なる赤目の画像を含む第2の赤目領域を、前記第1の手法および前記第2の手法とは異なる第3の手法を用いて検出する画像処理方法。
  9. 画像処理のためのコンピュータプログラムであって、
    対象画像における人物の目の画像を含む器官領域を、第1の手法を用いて検出する機能と、
    前記器官領域から、赤目の画像を含む第1の赤目領域を、前記第1の手法とは異なる第2の手法を用いて検出する機能と、
    前記対象画像から前記器官領域を除いた残りの領域から、前記第1の赤目領域とは異なる赤目の画像を含む第2の赤目領域を、前記第1の手法および前記第2の手法とは異なる第3の手法を用いて検出する機能と
    をコンピュータに実現させるためのコンピュータプログラム。
JP2008079679A 2008-03-26 2008-03-26 画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム Expired - Fee Related JP4983684B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008079679A JP4983684B2 (ja) 2008-03-26 2008-03-26 画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム
US12/410,222 US8249321B2 (en) 2008-03-26 2009-03-24 Image processing apparatus and method for red eye detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008079679A JP4983684B2 (ja) 2008-03-26 2008-03-26 画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2009237661A JP2009237661A (ja) 2009-10-15
JP4983684B2 true JP4983684B2 (ja) 2012-07-25

Family

ID=41116733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008079679A Expired - Fee Related JP4983684B2 (ja) 2008-03-26 2008-03-26 画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム

Country Status (2)

Country Link
US (1) US8249321B2 (ja)
JP (1) JP4983684B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4983684B2 (ja) * 2008-03-26 2012-07-25 セイコーエプソン株式会社 画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム
US9721160B2 (en) * 2011-04-18 2017-08-01 Hewlett-Packard Development Company, L.P. Manually-assisted detection of redeye artifacts
US9041954B2 (en) 2011-06-07 2015-05-26 Hewlett-Packard Development Company, L.P. Implementing consistent behavior across different resolutions of images
US8970902B2 (en) 2011-09-19 2015-03-03 Hewlett-Packard Development Company, L.P. Red-eye removal systems and method for variable data printing (VDP) workflows
JP5939705B2 (ja) * 2012-02-08 2016-06-22 カシオ計算機株式会社 被写体判定装置、被写体判定方法及びプログラム
CN103778406B (zh) * 2012-10-19 2018-03-09 佳能株式会社 对象检测方法及设备
US11335079B2 (en) * 2018-03-05 2022-05-17 Intel Corporation Method and system of reflection suppression for image processing
CN109886234B (zh) * 2019-02-28 2021-06-22 苏州科达科技股份有限公司 目标检测方法、装置、系统、电子设备、存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2907120B2 (ja) * 1996-05-29 1999-06-21 日本電気株式会社 赤目検出補正装置
US6134339A (en) * 1998-09-17 2000-10-17 Eastman Kodak Company Method and apparatus for determining the position of eyes and for correcting eye-defects in a captured frame
EP1229734A1 (en) * 2001-01-31 2002-08-07 GRETAG IMAGING Trading AG Automatic colour defect correction
JP2004318204A (ja) 2003-04-10 2004-11-11 Sony Corp 画像処理装置、画像処理方法及び撮影装置
US7116820B2 (en) * 2003-04-28 2006-10-03 Hewlett-Packard Development Company, Lp. Detecting and correcting red-eye in a digital image
US8254674B2 (en) * 2004-10-28 2012-08-28 DigitalOptics Corporation Europe Limited Analyzing partial face regions for red-eye detection in acquired digital images
JP2005094571A (ja) * 2003-09-19 2005-04-07 Fuji Photo Film Co Ltd 赤目補正機能を有するカメラ
JP2005099920A (ja) * 2003-09-22 2005-04-14 Fuji Photo Film Co Ltd 画像処理装置および画像処理方法ならびにプログラム
US7295686B2 (en) * 2003-09-29 2007-11-13 Primax Electronics Ltd. Method of processing red eye in digital images
JP4373828B2 (ja) * 2004-03-22 2009-11-25 富士フイルム株式会社 特定領域検出方法、特定領域検出装置、およびプログラム
JP4320272B2 (ja) * 2004-03-31 2009-08-26 富士フイルム株式会社 特定領域検出方法、特定領域検出装置、およびプログラム
US7627146B2 (en) * 2004-06-30 2009-12-01 Lexmark International, Inc. Method and apparatus for effecting automatic red eye reduction
JP2008113085A (ja) * 2006-10-27 2008-05-15 Seiko Epson Corp イメージスキャナ付き印刷装置
US7995804B2 (en) * 2007-03-05 2011-08-09 Tessera Technologies Ireland Limited Red eye false positive filtering using face location and orientation
JP4983684B2 (ja) * 2008-03-26 2012-07-25 セイコーエプソン株式会社 画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム

Also Published As

Publication number Publication date
US8249321B2 (en) 2012-08-21
JP2009237661A (ja) 2009-10-15
US20090244614A1 (en) 2009-10-01

Similar Documents

Publication Publication Date Title
JP4983684B2 (ja) 画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム
JP4118749B2 (ja) 画像処理装置、画像処理プログラムおよび記憶媒体
JP4350778B2 (ja) 画像処理装置、画像処理プログラムおよび記録媒体
RU2469400C1 (ru) Способ преобразования растрового изображения в метафайл
JP6781406B2 (ja) 画像処理装置、および、コンピュータプログラム
JP5451313B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US10592766B2 (en) Image processing apparatus and medium storing program executable by image processing apparatus
JP5838984B2 (ja) 画像処理装置、および、コンピュータプログラム
JP2009237977A (ja) 画像出力制御装置、画像出力制御方法、画像出力制御プログラムおよび印刷装置
JP5407627B2 (ja) 画像処理装置、画像処理方法、プログラム
US20090285457A1 (en) Detection of Organ Area Corresponding to Facial Organ Image in Image
US20110026818A1 (en) System and method for correction of backlit face images
US8976408B2 (en) Apparatus, method, and computer-readable storage medium for maintaining reproducibility of lines or characters of image
JP2007241356A (ja) 画像処理装置および画像処理プログラム
JP2009231879A (ja) 画像処理装置および画像処理方法
JP2006113658A (ja) 画像処理装置及び方法、及びプログラムを記録した記憶媒体
JP2009237660A (ja) 画像処理装置、プリンタ、画像処理方法、画像処理のためのプログラム
JP2013045205A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2004215163A (ja) 画像補間装置、画像補間方法および画像補間プログラム
JP2009237978A (ja) 画像出力制御装置、画像出力制御方法、画像出力制御プログラムおよび印刷装置
JP4710508B2 (ja) 画像処理プログラム、画像処理装置
JP6292061B2 (ja) 情報処理装置およびプログラム
JP6157234B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2009230557A (ja) オブジェクト検出装置、オブジェクト検出方法、オブジェクト検出プログラムおよび印刷装置
JP6867609B2 (ja) 画像処理装置、および、コンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120327

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120409

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4983684

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees