JP2010186268A - 画像処理装置、プリンター、画像処理方法および画像処理プログラム - Google Patents
画像処理装置、プリンター、画像処理方法および画像処理プログラム Download PDFInfo
- Publication number
- JP2010186268A JP2010186268A JP2009029093A JP2009029093A JP2010186268A JP 2010186268 A JP2010186268 A JP 2010186268A JP 2009029093 A JP2009029093 A JP 2009029093A JP 2009029093 A JP2009029093 A JP 2009029093A JP 2010186268 A JP2010186268 A JP 2010186268A
- Authority
- JP
- Japan
- Prior art keywords
- face
- image
- detection
- detected
- unit
- 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
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Analysis (AREA)
- Color, Gradation (AREA)
Abstract
【課題】画像上の顔画像を検出する処理において演算量を抑えつつ検出結果の信頼度を適切に評価する。
【解決手段】顔画像が既に検出された領域を検出対象から除外しつつ対象画像上における顔画像を検出する顔検出部M3と、顔検出部M3によって検出された顔画像の位置から一定量だけオフセットした位置で前記対象画像上における顔画像の検出を行う顔検証部M5と、顔検証部M5と顔検出部M3の検出結果に基づいて顔検出部M3によって検出された顔画像の向きを修正する顔修正部M6とをプリンター100に備える。
【選択図】図2
【解決手段】顔画像が既に検出された領域を検出対象から除外しつつ対象画像上における顔画像を検出する顔検出部M3と、顔検出部M3によって検出された顔画像の位置から一定量だけオフセットした位置で前記対象画像上における顔画像の検出を行う顔検証部M5と、顔検証部M5と顔検出部M3の検出結果に基づいて顔検出部M3によって検出された顔画像の向きを修正する顔修正部M6とをプリンター100に備える。
【選択図】図2
Description
本発明は、画像処理装置、プリンター、画像処理方法および画像処理プログラムに関する。
近年、デジタルカメラの普及に伴って、様々な場面で気軽に静止画が撮影されるようになってきて、撮影枚数も増加してきている。また、撮影者にも専門知識や専門的な器具を持たない一般ユーザーが多くなり、主要な撮影対象の色合いが悪い画像や不鮮明な画像等のいわゆる取り損ね画像も多くなる。特にユーザーが不満を感じることの多い画像として、主要な撮影対象(例えば人物写真であれば顔等)からピントがずれた画像や、主要な撮影対象色合いが悪く写ってしまった画像が挙げられる。このような取り損ねを防止したり修正したりするには、顔画像の領域を特定しなければならない。顔画像の領域を特定する手法として、特許文献1には、ニューラルネットワーク、遺伝的アルゴリズム、サポートベクターマシンなどの学習データーを利用したパターン認識処理を用いて、人間の顔領域を抽出することが提案されている。
しかしながら、例えば処理能力の高いコンピューターであれば上述した特許文献1に記載の技術を適宜実行して精度よく顔画像を検出することも可能だが、デジタルカメラやプリンター等の処理能力の低い機器では特許文献1の技術を適用して高精度に顔画像を検出するのは荷が重い。また、近年、処理能力の高いコンピューターが普及しているとはいえ、アプリケーションの要求する処理能力も年々上昇しており、他のアプリケーションを実行しつつ並行して画像処理を行うようなユーザーにとっては、顔画像を高い精度で検出できるにもかかわらず要求される処理能力が低い方が望ましいと言える。
本発明は前記課題に鑑みてなされたもので、画像上の顔画像を検出する処理において演算量を抑えつつ検出結果の信頼度を適切に評価することが可能な画像処理装置、プリンター、画像処理方法および画像処理プログラムを提供することを目的とする。
本発明は前記課題に鑑みてなされたもので、画像上の顔画像を検出する処理において演算量を抑えつつ検出結果の信頼度を適切に評価することが可能な画像処理装置、プリンター、画像処理方法および画像処理プログラムを提供することを目的とする。
上記課題を解決するために、本発明の請求項1にかかる画像処理装置では、顔検出手段と顔検証手段と顔修正手段を備える構成としてある。
前記顔検出手段は、顔画像が既に検出された領域を検出対象から除外しつつ対象画像上における顔画像を検出する。既に顔検出された領域に重複して顔画像が存在することは考えにくく、その領域については検出処理の対象外とすることにより顔検出処理の回数が少なくなり、処理速度が向上するからである。
前記顔検証手段は、前記顔検出手段によって検出された顔画像の位置から一定量だけオフセットした位置で前記対象画像上における顔画像の検出を行う。ここでオフセットされる一定量は、前記顔検出手段によって検出された顔画像のサイズに応じて決定される量であり、前記顔検出手段によって検出された顔画像と略同位置(僅かにずらしてあるものの、検出された顔画像のサイズに比べて十分に少ない量(例えば検出された顔画像の1/20程度の量)だけずらした位置であり、同一の顔画像を検出対象にできると見込める位置)に検出位置をずらすものである。従って、顔検出手段の検出結果における顔画像の向きが違っていたり位置がずれたりしていれば、この顔検証手段において前記顔検出手段の検出結果とは向きの異なる顔画像が検出される可能性が高い。
前記顔修正手段は、前記顔検証手段と前記顔検出手段の検出結果に基づいて前記顔検出手段によって検出された顔画像の向きを修正する。すなわち、前記顔検出手段と顔検証手段とで、検出された顔の向きが一致すれば前記顔検出手段の検出結果の正しさが証明されるし、検出された顔の向きが相違すれば前記顔検出手段の検出結果が誤っている可能性がある。そこで、顔修正手段は、顔検証手段の検証結果に基づいて顔検出手段の検出結果を修正し、より信頼度の高い顔検出結果とすることができる。よって、顔検出手段の処理速度を向上しつつ、要所で前記顔検証手段による検証と前記顔修正手段の修正とを実行することにより検出精度の低下を防止できる。
前記顔検出手段は、顔画像が既に検出された領域を検出対象から除外しつつ対象画像上における顔画像を検出する。既に顔検出された領域に重複して顔画像が存在することは考えにくく、その領域については検出処理の対象外とすることにより顔検出処理の回数が少なくなり、処理速度が向上するからである。
前記顔検証手段は、前記顔検出手段によって検出された顔画像の位置から一定量だけオフセットした位置で前記対象画像上における顔画像の検出を行う。ここでオフセットされる一定量は、前記顔検出手段によって検出された顔画像のサイズに応じて決定される量であり、前記顔検出手段によって検出された顔画像と略同位置(僅かにずらしてあるものの、検出された顔画像のサイズに比べて十分に少ない量(例えば検出された顔画像の1/20程度の量)だけずらした位置であり、同一の顔画像を検出対象にできると見込める位置)に検出位置をずらすものである。従って、顔検出手段の検出結果における顔画像の向きが違っていたり位置がずれたりしていれば、この顔検証手段において前記顔検出手段の検出結果とは向きの異なる顔画像が検出される可能性が高い。
前記顔修正手段は、前記顔検証手段と前記顔検出手段の検出結果に基づいて前記顔検出手段によって検出された顔画像の向きを修正する。すなわち、前記顔検出手段と顔検証手段とで、検出された顔の向きが一致すれば前記顔検出手段の検出結果の正しさが証明されるし、検出された顔の向きが相違すれば前記顔検出手段の検出結果が誤っている可能性がある。そこで、顔修正手段は、顔検証手段の検証結果に基づいて顔検出手段の検出結果を修正し、より信頼度の高い顔検出結果とすることができる。よって、顔検出手段の処理速度を向上しつつ、要所で前記顔検証手段による検証と前記顔修正手段の修正とを実行することにより検出精度の低下を防止できる。
また本発明の選択的な一態様として、前記顔修正手段は、前記顔検証手段が顔画像を検出しない場合に、前記顔検出手段が検出した顔画像の向きに検出結果を決定するようにしてもよい。前記顔画像検出部が顔画像を検出した位置から前記一定量だけオフセットした位置で顔画像を検出しないと言うことは、オフセットすることによって顔画像からずれてしまっていると考えられるからである。
また本発明の選択的な一態様として、前記顔検証手段は、前記一定量だけオフセットした位置において前記顔検出手段によって検出された顔画像とは逆向きの顔画像を検出した場合に、更に一定量だけオフセットした位置において前記対象画像上における顔画像の検出を行うようにしてもよい。前記一定量だけオフセットした位置において顔画像を検出しているものの逆向きの顔画像である場合は、顔画像がその領域に存在することを示唆するものの、その上下が逆である可能性を意味する。そこでこのオフセットした位置において検出された顔画像の向きについて検証するために、そこから前記一定量のオフセットと同じ方向に更に一定量だけオフセットした位置で顔画像の検出を試みる。このとき再度逆向きの顔画像が検出されれば、この領域にある顔画像が逆向きであると判断できるし、顔画像が検出されないのであれば、1回目のオフセットした位置において検出された逆向きの顔画像が誤りであると判断できる。
また本発明の選択的な一態様として、前記顔検証手段は、前記顔検出手段によって検出された顔画像よりも一定量だけ大きな顔画像の検出を行うようにしたり、前記顔検出手段によって検出された顔画像よりも一定量だけ小さな顔画像の検出を行うようにしたりしてもよい。顔画像を検出する際は、対象画像から検出しようとする顔画像のサイズに見合った領域を設定し、この領域内に顔画像が存在するか否かを判断する。この領域が実際の顔画像のサイズよりも小さいと、上下反転した顔として検出してしまうことがある。逆に、この領域が実際の顔画像のサイズよりも大きい場合も、例えば髭や被り物等のように顔の周辺に存在する画像特徴を顔の特徴と誤検出することによって、上下反転した顔として検出してしまうことがある。そこで一定量だけ大きかったり小さかったりする顔画像の検出を試みることにより、このような誤検出を解消することができる。
また本発明の選択的な一態様として、前記顔検出手段が前記対象画像の全域から前記顔画像の検出を行った後、前記顔検出手段にて検出された各顔画像について前記顔検証手段による顔画像の検出と前記顔修正手段による修正とが行われるようにしてもよい。すなわち、処理の手順として、前記顔検出手段が顔画像を検出する度に前記顔検証手段がする場合に比べて、前記顔検出手段が対象画像の全領域を対象とした顔画像の検出を行ったのちに前記顔検出手段が検出した各顔画像について前記顔検証手段が検証する方が、処理の高速が図れるし、さらに例えば、前記顔検出手段が検出した検出結果に信頼度を付与してその信頼度が高いものは顔検証手段の処理対象外としたり、検出結果の間で矛盾したものがあればその矛盾を解消した後で検証を行ったりした方が処理全体を効率化できる。矛盾した検出結果の例としては、略同一の領域でありながら傾きの異なる顔画像が重複して検出される場合や、サイズが大きく異なる顔画像が隣り合って検出された場合等である。
また本発明の選択的な一態様として、前記顔検出手段は、上記対象画像上における正面顔を検出し、前記顔検証手段は、前記正面顔の中心線に沿って一定量オフセットした位置で前記対象画像上における顔画像の検出を行うようにしてもよい。前記オフセットの方向として、検出された顔画像が正面顔であれば、正面顔の中心線に沿って上下何れかに限定することができる。正面顔は左右対称だからである。
上述した画像処理装置は、プリンター等の他の機器に組み込まれた状態で実施されたり他の方法とともに実施されたりする等の各種の態様を含む。また、本発明は上記画増処理装置を備える画像処理システム、上述した装置の構成に対応した工程を有する画像処理方法、上述した装置の構成に対応した機能をコンピューターに実現させる画像処理プログラム、該プログラムを記録したコンピューター読み取り可能な記録媒体、等としても実現可能である。これら画像処理システム、画像処理方法、画像処理プログラム、該プログラムを記録した媒体、の発明も、上述した作用、効果を奏する。むろん、請求項2〜7に記載した構成も、前記システムや前記方法や前記プログラムや前記記録媒体に適用可能である。
以下、下記の順序に従って本発明の実施形態を説明する。
(1)画像処理装置の構成:
(2)画像処理:
(3)顔検出処理:
(4)顔検証処理:
(5)肌色調整および印刷処理:
(6)まとめ:
(1)画像処理装置の構成:
(2)画像処理:
(3)顔検出処理:
(4)顔検証処理:
(5)肌色調整および印刷処理:
(6)まとめ:
(1)画像処理装置の構成:
図1は、本実施形態に係る画像処理装置を具体的に実現するプリンターのハードウェア構成を示すブロック図である。同図において、プリンター100は、制御部10と汎用インターフェース(GIF)13とメモリーカードインターフェース(MIF)14と印刷部15と操作パネル16とディスプレイ17と、これら構成要素10〜17を相互通信可能に接続するバス18とを備えている。バス18を介して行われる通信は、図示しないチップセット等により制御されている。
図1は、本実施形態に係る画像処理装置を具体的に実現するプリンターのハードウェア構成を示すブロック図である。同図において、プリンター100は、制御部10と汎用インターフェース(GIF)13とメモリーカードインターフェース(MIF)14と印刷部15と操作パネル16とディスプレイ17と、これら構成要素10〜17を相互通信可能に接続するバス18とを備えている。バス18を介して行われる通信は、図示しないチップセット等により制御されている。
制御部10は、CPU10a、RAM10b、ROM10cを備えており、CPU10aの制御に従ってROM12に記録されたプログラムデーター12aを適宜RAM11に展開しつつ、展開されたプログラムデーターに従った演算をCPU10aが実行することにより、プリンター100を制御することができる。ROM12に記録されるプログラムデーター12aとは、ユーザーインターフェース(UI)をディスプレイ17に表示してユーザーが操作パネル16に対して行う操作入力を受付けながらプリンター100のハードウェア制御を行うファームウェアや、後述の画像処理を実行するためのプログラム等である。
GIF13は、外部のコンピューターと接続されたり、外部半導体メモリーに対してデーターを読み書きする装置等の外部装置が接続されたりするインターフェースであり、例えばUSB規格に準じたインターフェース等である。
MIF14は、メモリーカード14aを挿入可能なスロットに接続されており、MIFを介してCPU10aがメモリーカード14aにアクセスし、ファイルの読み出しと書き込みを実行可能である。
操作パネル16は例えば複数のボタンとしてプリンター100の筐体上に設けられており、CPU10aは操作パネル16に対する入力操作を示す信号を取得する。
ディスプレイ17は入力されたデーター基づいて各種の情報や画像等を表示可能であり、CPU10aはディスプレイ17に表示するべき内容を示すデーターをディスプレイ17に入力する。この結果、ディスプレイ17には、各種の情報や画像等が表示される。
MIF14は、メモリーカード14aを挿入可能なスロットに接続されており、MIFを介してCPU10aがメモリーカード14aにアクセスし、ファイルの読み出しと書き込みを実行可能である。
操作パネル16は例えば複数のボタンとしてプリンター100の筐体上に設けられており、CPU10aは操作パネル16に対する入力操作を示す信号を取得する。
ディスプレイ17は入力されたデーター基づいて各種の情報や画像等を表示可能であり、CPU10aはディスプレイ17に表示するべき内容を示すデーターをディスプレイ17に入力する。この結果、ディスプレイ17には、各種の情報や画像等が表示される。
印刷部15は、CMYK各色のインクが充填されたインクカートリッジ、該インクカートリッジのインクを記録媒体の記録面に向けて吐出する印刷ヘッド、該印刷ヘッドのインク吐出量をコントロールするASIC(Application Specific Integrated Circuits)、印刷ヘッドやインクカートリッジを搭載したキャリッジ機構の制御や記録媒体の送り速度の制御を行うコントロールIC、等を備えており、CPU10aの制御に従って所定の画像データーを記録媒体に印刷可能である。むろん、プリンター100は、他の種類のインク(CやMやKの淡色、Yの濃色、レッド、バイオレット、無着色インク等を使用したインクやCMYKのいずれかを使用しないインク等)を使用するインクジェットプリンタであってもよいし、各種インク昇華式プリンターやトナーインクを使用するレーザープリンタ等であってもよい。なお、プリンター100は、印刷機能以外にも、コピー機能やスキャナ機能など多種の機能を備えたいわゆる複合機であってもよい。
図2は、プリンター100において実行されるプログラムのソフトウェア構成を示すブロック図である。同図において、プリンター100ではファームウェアと画像処理プログラムPGが実行されている。画像処理プログラムPGは、ファームウェアを介してメモリーカード14aやUSBメモリー13aから画像データーを取得したり、画像データーの印刷を印刷部15に指示したりできるようになっている。
画像処理プログラムPGは、画像取得部M1と、画像取得部が取得した画像に対して位置を変更しつつ各種サイズの検出窓を設定する画像走査部M2と、設定された検出窓にて囲われた領域における顔画像の有無を検出する顔検出部M3と、顔検出部M3で検出された顔画像の信頼度として重複度を付与する重複度設定部M4と、顔検出部M3が検出した顔画像について上下逆さまに検出されていないか検証する顔検証部M5と、顔検証部M5の検証結果に基づいて顔検出部M3で検出された顔画像の向きや検出位置を修正する顔修正部M6と、各部M1〜M5によって検出や検証が行われた顔画像に肌色調整処理を行って画像の画質調整を行う画質調整部M7を備える。以下、各部M1〜M7が実行する処理について説明する。
(2)画像処理:
図3は、本実施形態にかかる画像処理のフローチャートである。プリンター100は、カードスロットに記録メディアが挿入されると、画像取得部M1が記録メディアに記録された画像データーを取得し、この画像データーに基づく画像をディスプレイ17に表示させる。また、プリンター100は、GIF13を介して接続した外部機器から画像が入力されると画像取得部M1がこれを取得し、取得した画像データーに基づく画像をディスプレイ17に表示させたり、印刷部15に印刷させたりする。画像取得部M1は、入力された画像をディスプレイ17に一枚単位で表示したり複数の画像を一覧表示したりする。また画像取得部M1は、入力された画像を印刷用紙に一枚単位で印刷したり複数の画像をまとめて印刷したりする。本実施形態においては、このようにディスプレイ17に画像を出力したり、印刷部15に印刷させたりする場面において画像走査処理を行い、顔画像を検出する処理(顔検出処理)および検出された顔画像の信頼度を確認する処理(顔画像評価処理)を実行する。そして例えば、検出された顔画像の領域に対して後述の肌色補正処理を行ってなお、本実施形態においてはオブジェクトとして顔画像を例にとって説明を行うが、本発明の顔検出処理は顔以外の様々なオブジェクトを検出対象とすることも可能である。
図3は、本実施形態にかかる画像処理のフローチャートである。プリンター100は、カードスロットに記録メディアが挿入されると、画像取得部M1が記録メディアに記録された画像データーを取得し、この画像データーに基づく画像をディスプレイ17に表示させる。また、プリンター100は、GIF13を介して接続した外部機器から画像が入力されると画像取得部M1がこれを取得し、取得した画像データーに基づく画像をディスプレイ17に表示させたり、印刷部15に印刷させたりする。画像取得部M1は、入力された画像をディスプレイ17に一枚単位で表示したり複数の画像を一覧表示したりする。また画像取得部M1は、入力された画像を印刷用紙に一枚単位で印刷したり複数の画像をまとめて印刷したりする。本実施形態においては、このようにディスプレイ17に画像を出力したり、印刷部15に印刷させたりする場面において画像走査処理を行い、顔画像を検出する処理(顔検出処理)および検出された顔画像の信頼度を確認する処理(顔画像評価処理)を実行する。そして例えば、検出された顔画像の領域に対して後述の肌色補正処理を行ってなお、本実施形態においてはオブジェクトとして顔画像を例にとって説明を行うが、本発明の顔検出処理は顔以外の様々なオブジェクトを検出対象とすることも可能である。
ステップS100において、画像取得部M1は、処理対象となる一枚分の画像(対象画像)を表した画像データーIDを記録メディアや外部機器等から取得する。画像データーIDは、複数の画素で表されたビットマップデーターであり、それぞれの画素がRGB三原色について階調表現(例えば、0〜255の256階調)されている。もちろん、画像データーIDは、記録メディア等に記録されている段階ではベクターイメージであってもよいし、JPEG等に圧縮されていてもよいし、RGB以外の色空間で各画素の色が表現されていてもよい。ビットマップデーター以外のデーターを取得した場合、画像取得部M1は、取得したベクターイメージを変換したり、圧縮画像データーを展開したり、色空間の変換を実行したりして、RGBビットマップデーターとしての画像データーIDを取得する。
また、画像取得部M1は、画像データーIDを縮小化してもよい。オリジナルサイズの画像データーを対象として後述の顔検出処理等を実行すると、処理負担が大きいからである。そのために画像取得部M1は、画像データーIDについて画素数を減らすなどして画像サイズを縮小し、縮小後の画像データーIDを対象として後述の顔検出処理を行ってもよい。例えば、画像取得部M1は、画像データーIDをQVGA(Quarter Video Graphics Array)に縮小する。さらに画像取得部M1は、顔検出処理において必要な画像情報が輝度情報のみであれば、画像データーIDをグレースケールのビットマップデーターに変換してもよい。
ステップS105〜S175において、画像走査部M2は、画像データーIDを検出窓SWで走査する。検出窓SWは、画像データーID上のある領域を範囲指定する仮想的な枠であり、検出窓SW内の画像が本実施形態においてオブジェクト検出の対象となる。なお、本実施形態においては、検出窓SWを正方形状の枠として説明を行うが、検出窓SWの形状には、円形,矩形,三角形等、任意の形状を採用可能であるし、さらには1つの閉じた範囲を指定するもののみならず、複数の閉じた範囲を組合せて指定するものであってもよい。
図4は、画像データーIDに対して設定される検出窓の模式図である。画像走査部M2は、1回目のステップS105〜S175では、画像内の先頭位置(例えば、画像の左上の角位置)に複数の画素を含む所定サイズの矩形状の検出窓SW(図4においては2点鎖線で記載)を設定する。2回目以降のステップS105〜S175では、画像走査部M2は、それまで検出窓SWを設定していた位置から画像の左右方向および/または上下方向に所定距離(第1の所定画素数)移動させた位置に、新たな検出窓SWを設定する。画像走査部M2は、検出窓SWの大きさを維持した状態で画像データーの最終位置(例えば、画像の右下の角位置)まで検出窓を移動させながら検出窓SWを設定し終えると、先頭位置に戻って検出窓SWを設定する。検出窓SWを先頭位置に戻した場合は、画像走査部M2は、それまでよりも矩形の大きさを縮小した検出窓SWを設定する。その後、画像走査部M2は、上記同様に先頭位置から最終位置まで検出窓を移動させながら各位置に検出窓SWを設定する。画像走査部M2は、検出窓SWの大きさを予め決められた回数だけ段階的に縮小しつつ、検出窓SWの移動と設定を繰り返す。このようにしてステップS105〜S175で検出窓SWが設定される度に、ステップS110の顔検出処理が実行される。
以下、S105〜S175において、画像走査部M2が実行する画像走査処理の具体例を説明する。
ステップS105では、各カウンターnS,nD,nx,nyをリセットする。nSはサイズカウンターであり、検出窓SWのサイズパラメーターSを順にシフトさせるための整数値である。nDは傾きカウンターであり、検出窓SWの傾きパラメータDを順に変更するための整数値である。本実施形態においては、検出窓は上下左右の4つの傾きをとるものとし、nDが1増加する毎に検出窓SWが90°ずつ回転する。nxはx方向カウンターであり、検出窓SWの中心位置Pをx軸方向にシフトさせるための整数値である。nyはy方向カウンターであり、検出窓SWの中心位置Pをy軸方向にシフトさせるための整数値である。これらのカウンターはリセットにより例えば0に初期化される。なお、本実施形態においては、画像データーIDの長手方向をx軸とし、短手方向をy軸とし、x軸とy軸の原点は画像データーIDの左上端としてある。
ステップS105では、各カウンターnS,nD,nx,nyをリセットする。nSはサイズカウンターであり、検出窓SWのサイズパラメーターSを順にシフトさせるための整数値である。nDは傾きカウンターであり、検出窓SWの傾きパラメータDを順に変更するための整数値である。本実施形態においては、検出窓は上下左右の4つの傾きをとるものとし、nDが1増加する毎に検出窓SWが90°ずつ回転する。nxはx方向カウンターであり、検出窓SWの中心位置Pをx軸方向にシフトさせるための整数値である。nyはy方向カウンターであり、検出窓SWの中心位置Pをy軸方向にシフトさせるための整数値である。これらのカウンターはリセットにより例えば0に初期化される。なお、本実施形態においては、画像データーIDの長手方向をx軸とし、短手方向をy軸とし、x軸とy軸の原点は画像データーIDの左上端としてある。
図5は、サイズカウンターnSと検出窓SWのサイズパラメーターSとの関係を示している。同図に示すように、サイズカウンターnSの増加とともに検出窓SWのサイズパラメーターS(縦と横の長さ)が徐々に減少する。本実施例では、サイズカウンターnSとサイズパラメーターSが線形的な関係を有し、カウンターnSが1〜15の間で1増加する毎に、検出窓SWのサイズパラメーターSが所定画素数ずつ小さくなるようにしている。なお、ここで示したカウンターnSと検出窓SWのサイズパラメーターSの関係は一例であり、これらが非線形の関係を有していたり、傾きや切片などを変更したりしてもよい。
検出窓SWは、例えば下記式(1)に基づいて設定位置が決定される。
前記式(1)において、P(x,y)は検出窓SWの中心位置、dx,dyは検出窓SWの中心位置Pの各方向への単位移動距離(画素数)を表しており、移動間隔dx,dyと方向カウンターnx,nyをそれぞれ乗算することにより、検出窓SWの中心位置Pのx,y座標を算出する。前記式(1)にて算出される中心位置Pは、検出窓SWのサイズに応じて対象画像内に隈無く設定されるため、検出窓SWは対象画像に隈無く走査することになる。なお、移動間隔dy<1となる場合は、dy=1とする。なお、x方向カウンターnxが取り得る範囲は1〜[縮小画像データーのx方向画素数]/dxの整数値とし、y方向カウンターnyは1〜[縮小画像データーのy方向画素数]/dyの整数値とする。すなわち、検出窓SWの単位移動距離は、検出窓SWが大きいほど長く、検出窓SWが小さいほど短くなる。
前記式(1)において、P(x,y)は検出窓SWの中心位置、dx,dyは検出窓SWの中心位置Pの各方向への単位移動距離(画素数)を表しており、移動間隔dx,dyと方向カウンターnx,nyをそれぞれ乗算することにより、検出窓SWの中心位置Pのx,y座標を算出する。前記式(1)にて算出される中心位置Pは、検出窓SWのサイズに応じて対象画像内に隈無く設定されるため、検出窓SWは対象画像に隈無く走査することになる。なお、移動間隔dy<1となる場合は、dy=1とする。なお、x方向カウンターnxが取り得る範囲は1〜[縮小画像データーのx方向画素数]/dxの整数値とし、y方向カウンターnyは1〜[縮小画像データーのy方向画素数]/dyの整数値とする。すなわち、検出窓SWの単位移動距離は、検出窓SWが大きいほど長く、検出窓SWが小さいほど短くなる。
ステップS110において、画像走査部M2は、縮小画像に中心位置Pを中心としてサイズパラメーターSの検出窓SWを設定する。
ステップS115において、顔検出部M3は、窓画像データーWD(検出窓SW内の画像データー)を取得して解析し、該窓画像データーWDの画像特徴量に基づいて顔画像の検出を行う。この顔検出処理については、次節で説明する。
ステップS115において、顔検出部M3は、窓画像データーWD(検出窓SW内の画像データー)を取得して解析し、該窓画像データーWDの画像特徴量に基づいて顔画像の検出を行う。この顔検出処理については、次節で説明する。
ステップS120においては、検出窓SWがx軸方向の右端まで到達したか否かを判断する。検出窓SWが右端に到達していない場合は、ステップS125に進んでx方向カウンターを1増加(インクリメント)して検出窓SWをx軸方向に単位移動距離dxだけ移動させてから、ステップS110に戻り、新たな位置Pに検出窓SWを設定する。検出窓SWが右端に到達している場合は、S130でx方向カウンターnxを1にリセットして検出窓SWが左端から設定されるようにしてからS135に進む。
S135では、検出窓SWがy軸方向の下端まで到達したか否かを判断する。検出窓SWが下端に到達していない場合は、S140でy方向カウンターnyをインクリメントして検出窓SWをy軸方向に単位移動距離dyだけ移動させてから、ステップS110に戻り、新たな位置Pに検出窓SWを設定する。検出窓SWが下端に到達している場合は、S145でy方向カウンターnyを1にして検出窓SWが上端から設定されるようにしてからS150に進む。
S150においては、検出窓SWが、現在設定されているサイズにおいて、上下左右の全方向に傾けて設定されたか否かを判断する。nDが4未満であれば、ステップS155に進んで傾きカウンターをインクリメントして検出窓SWの傾きを変化させてから、ステップS110に戻り、新たな位置Pに検出窓SWを設定する。nDが4であれば、全方向に傾けて設定完了したと判断して、ステップS160に進んで傾きカウンターnDを1にリセットして検出窓SWが傾き0から設定されるようにしてからステップS170に進む。
S170では、検出窓SWのサイズが所定サイズに到達しているが否かを判断する。検出窓SWが所定サイズ(図4ではnS=9)に到達している場合は、画像処理を終了する。検出窓SWが所定サイズに到達していない場合は、S175でサイズカウンターnSをインクリメントして検出窓SWのサイズパラメーターSを単位量縮小してから、ステップS110に戻り新たな位置Pに検出窓SWを設定する。
(3)顔検出処理:
図6は、上記ステップS115で実行される顔検出処理のフローチャートである。顔検出処理において、顔検出部M3は、検出窓内の窓画像について顔画像の有無を判定する。また顔検出処理において、重複度設定部M4は、顔検出部M3の判定結果に基づいて検出された顔画像が実際に顔である可能性の高さを示す指標として、検出された各顔画像に重複度を付与する処理を行う。重複度は、所定割合以上重複した領域に顔画像が重複して検出された場合に、重複検出された顔画像の数を示す値である。
図6は、上記ステップS115で実行される顔検出処理のフローチャートである。顔検出処理において、顔検出部M3は、検出窓内の窓画像について顔画像の有無を判定する。また顔検出処理において、重複度設定部M4は、顔検出部M3の判定結果に基づいて検出された顔画像が実際に顔である可能性の高さを示す指標として、検出された各顔画像に重複度を付与する処理を行う。重複度は、所定割合以上重複した領域に顔画像が重複して検出された場合に、重複検出された顔画像の数を示す値である。
図7は、重複度を説明する図である。同図に示すように、実際に顔画像を検出した場合には、検出窓と顔画像のサイズ比にも依存するが、検出窓の設定位置が少しずれた異なる検出窓においても同一の顔画像が含まれることがある。これに対し、顔以外のオブジェクトを誤って顔として検出した場合には、検出窓の設定位置が少しずれると顔として検出しなくなる可能性が高い。すなわち、領域の大部分を共有(重複)する複数の領域で顔検出するということは、これらの検出結果が実際に顔画像を検出している確率が高いことをお互いに保証しあうことを意味しており、検出された顔画像の信頼度が高いことを示唆する。そこで本実施形態においては、領域の大部分が重複するように設定された複数の検出窓で顔検出された検出窓の数を重複度とし、検出された顔画像の信頼度として利用している。
ステップS200において、顔検出部M3は、現在のカウンター値に基づいて設定される検出窓が、同じ方向を向いて検出された顔画像のうち信頼度の高い顔画像(確実に顔画像を検出していると思われる領域)と重複して設定されないか判定する。同じ場所に複数の顔画像が重複して存在することはありえないので、検出済みの顔画像の領域を除外して検出処理を行い、無駄な演算処理を省くためである。顔検出部M3は、現在設定されている検出窓SWの領域について、顔検出済みの検出窓SWの領域のうち重複度が8(規定値)に達したもの(信頼性の高い顔画像)との重複度合を検出し、その重複度合が30%(所定割合)以上であるか否かを判断する。実際には、顔検出した検出窓SWと現在設定されている検出窓SWとの重複度合を検出する。後述するように、顔画像を検出した検出窓SWの位置とサイズはRAMに格納されているので、現在の検出窓SWの位置、サイズ、傾きパラメータに基づいてその重複割合を算出することができる。重複度が8の領域と30%以上重複している場合には、顔検出処理を終了してステップS120に進み、次の位置に検出窓を設定する。重複度8の領域と30%以上重複していない場合には、ステップS205に進む。
ステップS205において、顔検出部M3は、画像に中心位置Pを中心としてサイズパラメーターSで傾きDの検出窓SWを設定し、検出窓SWが設定された範囲の画像データーIDを窓画像データーWDとして取得する。
ステップS205において、顔検出部M3は、画像に中心位置Pを中心としてサイズパラメーターSで傾きDの検出窓SWを設定し、検出窓SWが設定された範囲の画像データーIDを窓画像データーWDとして取得する。
ステップS210において、顔検出部M3は、ステップS205において取得された窓画像データーWDの画像特徴量を抽出する。画像特徴量は、窓画像データーWDに対して各種のフィルタを適用し、当該フィルタ内の輝度やエッジやコントラスト等の状態を示す特徴量(平均値、最大値、最小値、標準偏差等)を算出することにより得られる。なお、窓画像データーWDは、検出窓Wのサイズによって大きさが異なるが、解析を行う際に予め一定の大きさに解像度変換される。
図8は、窓画像データーWDから画像特徴量を算出する様子を示している。同図において、窓画像データーWDに対して多数のフィルタFTが用意されており、各フィルタFTを順次窓画像データーWDに適用し、各フィルタFT内の画像について例えば12個の画像特徴量CA1〜CA12を順次算出する。
図8は、窓画像データーWDから画像特徴量を算出する様子を示している。同図において、窓画像データーWDに対して多数のフィルタFTが用意されており、各フィルタFTを順次窓画像データーWDに適用し、各フィルタFT内の画像について例えば12個の画像特徴量CA1〜CA12を順次算出する。
ステップS215において、顔検出部M3は、算出された窓画像データーWDの画像特徴量を解析して顔画像の有無を検出する。顔検出部M3は、ステップS210で得られた画像特徴量CA1〜CA12を予め用意されたニューラルネットワークNNに入力し、その出力として顔画像等が存在する/しないの判定結果を算出する。判定の結果、画像特徴量に顔画像を検出すると、顔検出部M3は、ステップS220に進んで顔画像が検出された検出窓SWのサイズパラメーターS、位置P、回転角Tおよび重複度1をRAM12に記憶させてから顔検出した旨を重複検出部M4に通知する。顔検出した旨を通知された重複検出部M4は、ステップS220以降の処理を実行して検出された顔画像に重複度を付与するための処理を行う。顔検出部M3は、画像特徴量に顔画像を検出しなかった場合には、顔検出処理を終了してステップS120に進む。
図9は、ニューラルネットワークNNを学習する様子を模式的に示している。ニューラルネットワークNNは、前段層のユニットUの値の線形結合によって後段層のユニットUの値が決定される基本構造を有している。さらに、入出力関係の非線形特性に対応するために、線形結合によって得られた値を、例えばハイパボリックタンジェント関数のような非線形関数によって変換することにより、次の層のユニットUの値を決定するのが望ましい。本実施形態では、誤差逆伝搬(error back propagation)法によって学習を行うことにより、各ユニットUの数や、各ユニットU間における線形結合の際の重みwの大きさやバイアスbの値が最適化される。誤差逆伝搬法による学習においては、まず各ユニットU間における線形結合の際の重みwの大きさやバイアスbの値を適当な値に初期設定する。
そして、顔画像が存在しているか否かが既知の学習用画像データーについてステップS210と同様の手順で特徴量CA1〜CA12を算出し、当該特徴量CA1〜CA12を初期設定されたニューラルネットワークNNに入力し、その出力値Kを取得する。学習用画像データーはできるだけ多く用意するべきであり、様々な状態の顔画像が検出できるように、種々の人種や性別や年齢等をカバーするように用意する必要がある。さらに、デジタルスチルカメラ等によって撮影された画像データーに含まれる顔画像は種々の方向に向いている可能性がある。そのため、種々の方向に向いた顔画像を含む学習用画像データーを用意する。また、上下に顔を向けるより左右に顔を向けて撮影される可能性が高いため、左右に顔を向けて撮影された学習用画像データーの方が多数用意される。
本実施例のニューラルネットワークNNは、顔画像が存在している学習用画像データーに対して出力値Kとして1を出力するのが望ましく、顔画像が存在していない学習用画像データーに対して出力値Kとして0を出力するのが望ましい。しかしながら、各ユニットU間における線形結合の際の重みwの大きさやバイアスbの値を適当な値に初期設定したに過ぎないため、実際の出力値Kと理想的な値との間には誤差が生じる。このような誤差を極小化させる各ユニットUについての重みwやバイアスbを、勾配法等の数値最適化手法を用いて算出する。この誤差は、後段の層から前段の層に伝搬され、後段のユニットUについて重みwやバイアスbの順に最適化されていく。以上のように最適化されたニューラルネットワークNNを用いると、窓画像データーWDに顔画像が存在している場合の特徴量CA1〜CA12に対して1に近い出力値Kを得ることができ、窓画像データーWDに顔画像が存在していない場合の特徴量CA1〜CA12に対して0に近い出力値Kを得ることができる。従って、適当な閾値0.5によって閾値判定を行うことにより、窓画像データーWDに顔画像が存在しているか否かを判定することができる。
ステップS225〜S250において、重複度設定部M4は、ステップS215において検出された顔画像の信頼度を検証するために、顔画像が検出された位置から検出窓SWを微小距離だけ移動させて、ステップS215と同様に顔検出するか否か判定する。ここで言う微小距離とは、通常の検出窓SWの走査距離よりも短い距離である。無論、上述した走査において既に最小の移動距離(例えば1画素単位)で移動させつつ設定された全ての検出窓SWについてオブジェクト検出を行っていれば、このような重複度の取得は行う必要は無いのであるが、顔の存在しない部位についてこのように細かく検出窓SWを設定しながら顔検出処理を実行すると演算量の多い顔検出処理の回数も増加し、非効率的である。従って、本実施形態においては、通常は所定画素数おきに検出窓SWを設定しつつ、顔画像を検出したときだけ顔検出位置の近傍(所定画素数よりも近い位置)に検出窓SWを集中的に設定し、検出された顔画像の信頼度を検証する方法を採用している。
図10は、重複度設定部M4が顔画像に設定する検出窓SWの移動距離を説明する図である。同図に示すように、重複度設定部M4は、ステップS215において顔検出部M3が顔画像を検出した位置P0と、位置P0から距離dxだけ離れた位置P8との間に、距離dx/8間隔で重複度取得用に検出窓を7つ設定する。すなわち通常の検出窓SWの設定間隔よりも短い間隔で検出窓SWを設定し、顔画像を検出した検出窓の数を重複数としてカウントする。なお、図10には、xの正方向に微小距離移動させた検出窓を設定しつつ重複度を算出する例について示してあるが、無論、xの負方向やy方向に微小距離移動させた検出窓を設定したり斜め方向に微小距離移動させた検出窓を設定したりして信頼度の検証を行っても構わない。以下、重複度設定部M4が実行する顔検出処理を具体的に説明する。
ステップS225において、重複度設定部M4は、検証用のx方向カウンターnx’をリセットし、x方向カウンターnx’にnx+dx/8を代入する。すなわち検出窓SWの設定間隔を通常より短くし、顔検出位置の近傍に検出窓SWの中心位置Pを変更する。
ステップS230において、重複度設定部M4は、画像に検証用のx方向カウンターnx’に基づく中心位置Pを中心としてサイズパラメーターSで傾きDの検出窓SWを設定し、検出窓SWが設定された範囲の画像データーIDを窓画像データーWDとして取得し、窓画像データーWDにおける顔画像の有無を解析する。この解析は、ステップS210,S215において顔検出部M3が行う処理と同様である。解析の結果、顔画像を検出した場合には、重複度設定部M4はステップS235に進み、ステップS220でRAM12に記憶された検出結果の重複度に1加算してステップS240に進む。一方、解析の結果、顔画像を検出しなかった場合には、重複度設定部M4はそのままステップS240に進む。なお、隣接して設定された検出窓が連続的にオブジェクト検出することを重要視する場合は、このステップS230において顔検出しなかった時点で次の検出窓を設定することなく重複度の設定を終了してステップS240に進んでもよい。
ステップS240において、重複度設定部M4は、nx’がnx+dxに達しているか否かを判断する。nx+dxに達している場合はステップS250に進み、nx+dxに到達していない場合はステップS240においてnx’にdx/8を加算してからステップS230に戻る。
ステップS250において、重複度設定部M4は、ステップS215で検出された顔画像の検出位置を、ステップS230で検出された顔画像の位置に応じて修正する。例えば、ステップS215にて顔検出された位置がP0(x0、y0)であり、複数回実行されたS230の処理のうち顔検出された位置がP1(x1、y0),P2(x2、y0),P3(x3、y0),P4(x4、y0)の4箇所であり、位置P5(x5、y0),P6(x6、y0),P7(x7、y0)では顔画像を検出しなかった場合は、下記(2)式のように顔画像の検出位置を修正する。
前記(2)式において、修正後の顔検出位置をP’(x’、y’)としてある。すなわち、オブジェクトを検出したと判定した複数の検出窓の位置を平均化することで、丁度中間に位置する適当なオブジェクト領域の座標を得る。このように検出位置を修正することにより、検出位置の精度を高めることができる。また、このようにして修正された顔検出位置に付与される重複度は、ステップS230の処理で顔画像を検出した検出窓SWの数であり、上述した例においては、位置P1,P2,P3,P4の5箇所で顔検出されているので、P’(x’、y’)における重複度は、ステップS215で位置P0で検出した数を加えて5となる。
前記(2)式において、修正後の顔検出位置をP’(x’、y’)としてある。すなわち、オブジェクトを検出したと判定した複数の検出窓の位置を平均化することで、丁度中間に位置する適当なオブジェクト領域の座標を得る。このように検出位置を修正することにより、検出位置の精度を高めることができる。また、このようにして修正された顔検出位置に付与される重複度は、ステップS230の処理で顔画像を検出した検出窓SWの数であり、上述した例においては、位置P1,P2,P3,P4の5箇所で顔検出されているので、P’(x’、y’)における重複度は、ステップS215で位置P0で検出した数を加えて5となる。
(4)顔検証処理:
図11は、顔検証処理の概略を説明する模式的な図である。上述したように、本実施形態の画像走査手段M2は、重複度が8の顔画像を検出した領域に30%以上重複する領域には検出窓を設定しないことにより、走査処理の処理速度を向上している。しかし、オブジェクト検出部M2は、図11に示すように実際の顔画像の位置から少しずれて検出窓が設定された場合にも、顔画像有りと判定することがある。この領域には実際に顔画像があるので、重複検出部M3においても顔画像と重複した顔画像を検出して重複度が8に達する可能性が十分に考えられる。すると、以降の走査処理では、この顔画像に30%以上重複する領域に検出窓が設定されなくなり、前記オブジェクト検出処理の中では検出位置のずれが修正されない。さらに、図11のように検出窓がずれて設定されると、顔の上下が逆さまの顔画像が検出される可能性もある。
図11は、顔検証処理の概略を説明する模式的な図である。上述したように、本実施形態の画像走査手段M2は、重複度が8の顔画像を検出した領域に30%以上重複する領域には検出窓を設定しないことにより、走査処理の処理速度を向上している。しかし、オブジェクト検出部M2は、図11に示すように実際の顔画像の位置から少しずれて検出窓が設定された場合にも、顔画像有りと判定することがある。この領域には実際に顔画像があるので、重複検出部M3においても顔画像と重複した顔画像を検出して重複度が8に達する可能性が十分に考えられる。すると、以降の走査処理では、この顔画像に30%以上重複する領域に検出窓が設定されなくなり、前記オブジェクト検出処理の中では検出位置のずれが修正されない。さらに、図11のように検出窓がずれて設定されると、顔の上下が逆さまの顔画像が検出される可能性もある。
図12は、上下反転して検出される可能性のある顔画像の典型例である。同図において、左にはターバンを巻いた人の顔、右にはあごひげを生やした人の顔である。図12のターバンを巻いた人は、両目とターバンの一部が含まれるように設定された検出窓で顔画像として検出されている。この状態で顔検出を行うと、例えばターバンの一部を口と認識する可能性があり、上下反転した顔画像が検出される。また、図12のあごひげを生やした人は、例えば目の辺りを口、口の辺りを眉、頭のラインを顎、あごひげを頭、とそれぞれ誤認識し、やはり上下反転した状態の顔として検出される可能性がある。本実施形態においては、顔検証処理を実行することにより、顔検出処理で検出された顔画像について、実際の顔画像の位置からずれた状態で検出された顔画像であるか否かを検証し、ずれた状態で検出された顔画像について検出位置のずれと検出方向の誤りとを効率よく修正する。
図13は、顔検証処理のフローチャートである。同図のステップS600において、顔検証部M5は、オブジェクト検出処理において重複度8と判定された顔のうち顔検証処理で未選択のものの有無を判定する。顔検証部M5は、重複度8と判定された未選択の顔があればその1つを選択し、選択された顔画像が検出されたときの検出窓SWのサイズSと位置P、そして顔の向きDを取得してステップS605に進み、無ければ顔検証処理を終了する。
ステップS605において、顔検証部M5は、位置Pから所定量だけオフセットした位置に検出窓SWを設定する。オフセットする方向は、選択された顔画像の顔の向きDに基づいて向きDと同じ方向もしくは向きDと反対方向の少なくとも一方である。特に検出された顔画像が正面顔であれば、向きDは正面顔の中心線に沿った方向となる。オフセット量は、顔検証部M5の選択している顔画像が検出された時の検出窓SWのサイズに比例した量であり、例えば下記(3)式で求めることができる。
なお顔検証部M5は、ステップS605において、顔検出処理において顔検出したときのサイズ以外で複数サイズの検出窓SWを設定してもよい。その理由として、顔検出処理において顔画像が誤った方向やずれた位置で検出される原因に、図11に示したように、検出窓SWが検出すべき顔を完全に包含し切れていないことや、検出窓SWが顔の周辺に存在する変則的な特徴部分(例えば、髭やターバン等。)を包含している事が想定されるからである。従って、顔検証部M5が、所定量ずつ漸次増加させた複数サイズの検出窓SWを設定することにより、何れかのサイズの検出窓SWが変則的な顔の特徴部分を含まなくなり、正しい顔の位置と方向とを検出できる可能性がある。このようにステップS605において複数サイズの検出窓SWを設定した場合は、そのそれぞれについて下記ステップS610で顔検出を試み、何れかのサイズで顔画像が検出されればその検出結果の顔の向きや位置を利用する。
ステップS610において、顔検証部M5は、上述したオブジェクト検出処理と同様の方法で、向きDと逆向き(逆方向)の顔検出を行う。まず、顔検証部M5は、ステップS605で設定された検出窓SWから取得した順方向の窓画像データーWDの画像特徴量を抽出し、この画像特徴量をニューラルネットワークに入力してその判定結果を示す情報を出力させる。次に、顔検証部M5は、ステップS605で設定された検出窓SWから取得した逆方向の窓画像データーWDの画像特徴量を抽出し、この画像特徴量をニューラルネットワークに入力してその判定結果を示す情報を出力させる。顔修正部M6は、順方向の窓画像データーWD並びに逆方向の窓画像データーWDの画像特徴量についてのニューラルネットワークの判定結果を示す情報を取得する。顔修正部M6は、取得した情報が、顔画像が無いことを示す情報であればステップS615に進み、取得した情報が、顔画像が有ることを示す情報であればステップS620に進む。
ステップS615において、顔修正部M6は、ステップS600で選択した顔画像の検出位置と顔の向きを、オブジェクト検出処理の検出結果のままで確定する。すなわち顔修正部M6はステップS600で選択された検出結果について顔画像の検出位置にズレはなく顔の向きも正しく検出されていたと判断する。ステップS615が終了すると、顔修正部M6はその旨を顔検証部M5に通知し、この通知を受けた顔検証部M5はステップS600の処理を実行する。
ステップS620において、顔修正部M6は、ステップS615で検出された顔の向きが向きDに対して順方向であるか逆方向であるかを判断する。顔修正部M6は、検出された顔の向きが向きDと一致している場合はステップS615に進む。すなわち、順方向の顔が検出されたのであれば、オブジェクト検出処理で検出された顔画像は、正しい方向と位置で検出されていたと判断する。一方、顔修正部M6は、検出された顔の向きが向きDと一致していない場合は顔検証部M5にその旨を通知する。顔修正部M6から通知を受けた顔検証部M5は、ステップS625を実行する。
ステップS625において、顔検証部M5は、ステップS605でオフセットした位置から更に所定量だけオフセットした位置に検出窓SWを設定する。オフセットする方向は、ステップS605と同じ方向である。オフセット量も、ステップS605でオフセットした量と同じである。
ステップS630において、顔検証部M5は、ステップS610と同様に順方向の顔検出と逆方向の顔検出を行って、ニューラルネットワークに判定結果を示す情報を出力させる。顔修正部M6は、ステップS610と同様に、順方向の顔画像と逆方向の顔画像とに対応したニューラルネットワークの判定結果を示す情報をそれぞれ取得する。顔修正部M6は、これらの情報が共に顔画像が無いことを示す情報であればステップS615に進み、これら情報の何れか一方が顔画像が有ることを示す情報であればステップS635に進む。
ステップS635において、顔修正部M6は、ステップS620と同様に、ステップS630で検出された顔の向きが向きDについて順方向であるか逆方向であるかを判断する。顔修正部M6は、検出された顔の向きが向きDと一致していない場合はステップS615に進む。すなわち、順方向の顔が検出されたのであれば、オブジェクト検出処理で検出された顔画像は、正しい方向と位置で検出されていたと判断する。
ステップS640において、顔修正部M6は、オブジェクト検出処理の検出結果を修正する。すなわち、顔修正部M6はステップS600で選択された検出結果について顔画像の顔の向きが逆向きに検出されており検出位置にズレがあったと判断する。そして、顔修正部M6は、ステップS600で選択された検出結果の内容について、顔の向きを逆方向に修正し、顔の検出位置をステップS605で設定された検出窓SWの位置に修正する。検出結果の修正が終了すると、顔修正部M6は、顔検証部M5にその旨通知する。顔検証部M5は、顔修正部M6から修正が完了した旨を通知されると、ステップS600の処理を実行する。
(5)肌色調整および印刷処理:
図14は、画質調整部M7が実行する肌色調整処理のフローチャートである。なお本実施形態においては、人物の顔に対する肌色調整処理を例に取り説明を行うが、無論、顔以外の腕や足や体であってもよいし、画質調整処理も肌色調整処理のみならず検出対象のオブジェクト種類にあわせて適宜選択可能である。上述した画像処理と顔検証処理が終了すると、S700において、調整対象の画像データーIDを取得する。ここで取得される画像データーIDは、顔検出処理の対象となった画像データーIDである。S705においては、顔画像が存在すると判定された検出窓WのサイズパラメーターSおよび位置Pおよび回転角TをRAM12から読み出す。S715においては、顔画像が存在すると判定された検出窓Wに対応する領域を画像データーIDにおいて特定する。検出窓WのサイズパラメーターSおよび位置PがRAM12から取得されているため、これを画像データーIDの画像サイズに換算することにより、検出窓Wに対応する領域を特定することができる。
図14は、画質調整部M7が実行する肌色調整処理のフローチャートである。なお本実施形態においては、人物の顔に対する肌色調整処理を例に取り説明を行うが、無論、顔以外の腕や足や体であってもよいし、画質調整処理も肌色調整処理のみならず検出対象のオブジェクト種類にあわせて適宜選択可能である。上述した画像処理と顔検証処理が終了すると、S700において、調整対象の画像データーIDを取得する。ここで取得される画像データーIDは、顔検出処理の対象となった画像データーIDである。S705においては、顔画像が存在すると判定された検出窓WのサイズパラメーターSおよび位置Pおよび回転角TをRAM12から読み出す。S715においては、顔画像が存在すると判定された検出窓Wに対応する領域を画像データーIDにおいて特定する。検出窓WのサイズパラメーターSおよび位置PがRAM12から取得されているため、これを画像データーIDの画像サイズに換算することにより、検出窓Wに対応する領域を特定することができる。
S720においては、S715にて特定した領域に含まれる肌色画素の色を調整する処理を実行する。ここでは、まずS720にて特定した領域に含まれる肌色画素を、各画素の色彩値(例えばRGB値やHSV値)に基づいて特定し、当該色彩値を肌色として好ましいものに補正する。具体的には、予め肌色として好ましい色彩値がHDD12に記憶されており、各肌色画素の色彩値が好ましい色彩値に近づくように補正を行う。検出窓Wによって顔画像が存在する領域が予め特定されているため、顔画像の肌色画素についてのみ補正を行うことができる。なお、顔画像が存在すると判定された検出窓Wが複数検出された場合には、そのそれぞれについて肌色調整を実行する。以上のようにして、肌色調整が完了すると、S725にて調整後の画像データーIDを印刷部15に出力する。すると、印刷部15は、画像データーIDに対して解像度変換処理と色変換処理とハーフトーン処理とラスタライズ処理を順次実行させ、画質調整後の画像データーIDに対応する画像の印刷を実行する。
(6)まとめ:
以上説明した本実施形態のプリンター100においては、顔検出部M3が顔画像が既に検出された領域を検出対象から除外しつつ対象画像上における顔画像を検出し、顔検出部M3によって検出された顔画像の位置から一定量だけオフセットした位置で前記対象画像上における顔画像の検出を顔検証部M5が行い、顔検証部M5と顔検出部M3の検出結果に基づいて顔検出部M3によって検出された顔画像の向きを顔修正部M6が修正する。よって、画像上の顔画像を検出する処理において演算量を抑えつつ検出結果の信頼度を適切に評価することができる。従って、このようにして検出された顔画像の位置に肌色調整処理を施せば、適切な位置に肌色調整処理が施されることになる。
以上説明した本実施形態のプリンター100においては、顔検出部M3が顔画像が既に検出された領域を検出対象から除外しつつ対象画像上における顔画像を検出し、顔検出部M3によって検出された顔画像の位置から一定量だけオフセットした位置で前記対象画像上における顔画像の検出を顔検証部M5が行い、顔検証部M5と顔検出部M3の検出結果に基づいて顔検出部M3によって検出された顔画像の向きを顔修正部M6が修正する。よって、画像上の顔画像を検出する処理において演算量を抑えつつ検出結果の信頼度を適切に評価することができる。従って、このようにして検出された顔画像の位置に肌色調整処理を施せば、適切な位置に肌色調整処理が施されることになる。
なお、本発明は上述した実施形態や変形例に限られず、上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術並びに上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も含まれる。
10…制御部、10a…CPU、10b…RAM、10c…ROM、13…汎用インターフェース(GIF)、13a…USBメモリー、14…メモリーカードインターフェース(MIF)、14a…メモリーカード、15…印刷部、16…操作パネル、17…ディスプレイ、18…バス、100…プリンター、M1…画像取得部、M2…画像走査部、M3…顔検出部、M4…重複度設定部、M5…顔検証部、M6…顔修正部、M7…画質調整部、PG…画像処理プログラム
Claims (10)
- 顔画像が既に検出された領域を検出対象から除外しつつ対象画像上における顔画像を検出する顔検出手段と、
前記顔検出手段によって検出された顔画像の位置から一定量だけオフセットした位置で前記対象画像上における顔画像の検出を行う顔検証手段と、
前記顔検証手段と前記顔検出手段の検出結果に基づいて前記顔検出手段によって検出された顔画像の向きを修正する顔修正手段とを備えることを特徴とする画像処理装置。 - 前記顔修正手段は、前記顔検証手段が顔画像を検出しない場合に、前記顔検出手段が検出した顔画像の向きに検出結果を決定することを特徴とする請求項1に記載の画像処理装置。
- 前記顔検証手段は、前記一定量だけオフセットした位置において前記顔検出手段によって検出された顔画像とは逆向きの顔画像を検出した場合に、更に一定量だけオフセットした位置において前記対象画像上における顔画像の検出を行うことを特徴とする請求項1または請求項2に記載の画像処理装置。
- 前記顔検証手段は、前記顔検出手段によって検出された顔画像よりも一定量だけ大きな顔画像の検出を行うことを特徴とする請求項1〜3の何れか1項に記載の画像処理装置。
- 前記顔検証手段は、前記顔検出手段によって検出された顔画像よりも一定量だけ小さな顔画像の検出を行うことを特徴とする請求項1〜4の何れか1項に記載の画像処理装置。
- 前記顔検出手段が前記対象画像の全域から前記顔画像の検出を行った後、前記顔検出手段にて検出された各顔画像について前記顔検証手段による顔画像の検出と前記顔修正手段による修正とが行われることを特徴とする請求項1〜5の何れか1項に記載の画像処理装置。
- 前記顔検出手段は、上記対象画像上における正面顔を検出し、
前記顔検証手段は、前記正面顔の中心線に沿って一定量オフセットした位置で前記対象画像上における顔画像の検出を行うことを特徴とする請求項1〜6の何れか1項に記載の画像処理装置。 - 請求項1〜7の何れか1項に記載の前記顔検出手段と前記顔検証手段と前記顔修正手段とを備えたプリンターであって、
印刷対象として入力された画像データーにて表される画像を前記対象画像として、前記顔検出手段による顔画像の検出と前記顔検証手段による顔画像の検出と前記顔修正手段による顔画像の修正とを行い、修正された顔画像に基づいた所定領域に対して肌色調整を行った画像データーに基づいた画像を印刷するプリンター。 - 顔画像が検出された領域を検出対象から除外しつつ対象画像上における顔画像を検出する顔検出工程と、
前記顔検出工程において検出された顔画像の位置から一定量だけオフセットした位置で前記対象画像上における顔画像の検出を行う顔確認工程と、
前記顔確認工程と前記顔検出工程における検出結果に基づいて前記顔検出工程において検出された顔画像の向きを修正する顔修正工程とを備えることを特徴とする画像処理方法。 - 顔画像が検出された領域を検出対象から除外しつつ対象画像上における顔画像を検出する顔検出機能と、
前記顔検出機能によって検出された顔画像の位置から一定量だけオフセットした位置で前記対象画像上における顔画像の検出を行う顔確認機能と、
前記顔確認機能と前記顔検出機能の検出結果に基づいて前記顔検出機能によって検出された顔画像の向きを修正する顔修正機能とをコンピューターに実現させることを特徴とする画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009029093A JP2010186268A (ja) | 2009-02-10 | 2009-02-10 | 画像処理装置、プリンター、画像処理方法および画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009029093A JP2010186268A (ja) | 2009-02-10 | 2009-02-10 | 画像処理装置、プリンター、画像処理方法および画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010186268A true JP2010186268A (ja) | 2010-08-26 |
Family
ID=42766901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009029093A Withdrawn JP2010186268A (ja) | 2009-02-10 | 2009-02-10 | 画像処理装置、プリンター、画像処理方法および画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010186268A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014056486A (ja) * | 2012-09-13 | 2014-03-27 | Hitachi Ltd | 画像ネットワークシステム、画像表示端末および画像処理方法 |
CN104349058A (zh) * | 2013-08-06 | 2015-02-11 | 卡西欧计算机株式会社 | 图像处理装置、图像处理方法以及记录介质 |
JP2020107982A (ja) * | 2018-12-27 | 2020-07-09 | コニカミノルタ株式会社 | 画像処理装置、色変換方法および色変換プログラム |
JP2021022263A (ja) * | 2019-07-30 | 2021-02-18 | 富士通株式会社 | 画像処理プログラム、画像処理装置、画像処理システム、及び画像処理方法 |
-
2009
- 2009-02-10 JP JP2009029093A patent/JP2010186268A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014056486A (ja) * | 2012-09-13 | 2014-03-27 | Hitachi Ltd | 画像ネットワークシステム、画像表示端末および画像処理方法 |
CN104349058A (zh) * | 2013-08-06 | 2015-02-11 | 卡西欧计算机株式会社 | 图像处理装置、图像处理方法以及记录介质 |
JP2020107982A (ja) * | 2018-12-27 | 2020-07-09 | コニカミノルタ株式会社 | 画像処理装置、色変換方法および色変換プログラム |
JP7230500B2 (ja) | 2018-12-27 | 2023-03-01 | コニカミノルタ株式会社 | 画像処理装置、色変換方法および色変換プログラム |
JP2021022263A (ja) * | 2019-07-30 | 2021-02-18 | 富士通株式会社 | 画像処理プログラム、画像処理装置、画像処理システム、及び画像処理方法 |
JP7445109B2 (ja) | 2019-07-30 | 2024-03-07 | 富士通株式会社 | 画像処理プログラム、画像処理装置、画像処理システム、及び画像処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7486310B2 (en) | Imaging apparatus and image processing method therefor | |
US7940965B2 (en) | Image processing apparatus and method and program storage medium | |
US20090245655A1 (en) | Detection of Face Area and Organ Area in Image | |
JP2010160640A (ja) | 画像処理装置、プリンター、画像処理方法および画像処理プログラム | |
US9049397B2 (en) | Image processing device and image processing method | |
US20050196067A1 (en) | Correction of redeye defects in images of humans | |
US7489832B2 (en) | Imaging apparatus, image processing method for imaging apparatus and recording medium | |
CN101151639A (zh) | 图像处理装置和图像处理方法 | |
JP2011134045A (ja) | 画像処理装置 | |
US20090028390A1 (en) | Image Processing for Estimating Subject Distance | |
US20090285457A1 (en) | Detection of Organ Area Corresponding to Facial Organ Image in Image | |
US8249321B2 (en) | Image processing apparatus and method for red eye detection | |
JP6752360B2 (ja) | 画像処理装置、撮像装置、端末装置、画像補正方法および画像処理プログラム | |
JP2010186268A (ja) | 画像処理装置、プリンター、画像処理方法および画像処理プログラム | |
JP4957607B2 (ja) | 画像における顔領域の検出 | |
JP7218614B2 (ja) | 画像診断システム、画像診断装置、および画像診断方法 | |
JP2003016440A (ja) | 写真抽出方法、装置、プログラムおよび記録媒体 | |
JP5018587B2 (ja) | オブジェクト検出方法、オブジェクト検出装置、オブジェクト検出プログラムおよびオブジェクト検出プログラムを記録したコンピュータ読取可能な記録媒体 | |
JP4140519B2 (ja) | 画像処理装置、プログラムおよび記録媒体 | |
JP2009282699A (ja) | 画像における顔の器官の画像に対応する器官領域の検出 | |
JP4985510B2 (ja) | 対象画像における顔の画像に対応する顔領域の設定 | |
JP2005316550A (ja) | 画像処理装置、画像読取装置、画像検査装置、およびプログラム | |
JP2005258718A (ja) | 画像処理装置、画像投影装置、画像処理方法及びプログラム | |
JP2009237857A (ja) | 画像における顔の器官の画像に対応する器官領域の設定 | |
JP2006048223A (ja) | 画像処理装置及び画像処理方法及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111219 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20120308 |