JP2010160640A - 画像処理装置、プリンター、画像処理方法および画像処理プログラム - Google Patents

画像処理装置、プリンター、画像処理方法および画像処理プログラム Download PDF

Info

Publication number
JP2010160640A
JP2010160640A JP2009001838A JP2009001838A JP2010160640A JP 2010160640 A JP2010160640 A JP 2010160640A JP 2009001838 A JP2009001838 A JP 2009001838A JP 2009001838 A JP2009001838 A JP 2009001838A JP 2010160640 A JP2010160640 A JP 2010160640A
Authority
JP
Japan
Prior art keywords
image
face
detection
face image
detected
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
Application number
JP2009001838A
Other languages
English (en)
Inventor
Takanori Uno
孝紀 宇野
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 JP2009001838A priority Critical patent/JP2010160640A/ja
Publication of JP2010160640A publication Critical patent/JP2010160640A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】学習データーを利用して検出された顔画像の検出結果の信頼度を適切に評価する。
【解決手段】略正面向きの顔画像の有無を示す情報を出力するように教師データーを用いて学習した検出器を利用して対象画像上における略正面向きの顔画像の検出を行う顔検出部M3と、略正面向きの顔画像の有無を示す情報を出力するように前記教師データーの鏡像を用いて学習した検出器を利用して対象画像上における略正面向きの顔画像の検出を行う鏡像検出部M53と、顔検出部M3によって検出された顔画像の信頼度を評価する顔評価部M5と、顔検出部M3によって検出された顔画像と所定割合以上重複する領域で前記鏡像検出部M53が顔画像を検出すると、顔検出部M3の検出した顔画像の信頼度を上昇させる。
【選択図】図14

Description

本発明は、画像処理装置、プリンター、画像処理方法および画像処理プログラムに関する。
近年、デジタルカメラの普及に伴い、様々な場面で気軽に静止画が撮影されるようになってきた。そのため、ユーザーあたりの撮影枚数は増加しているが、専門的な知識や撮影器具を持たない一般ユーザーが撮影者であることも多いので、主要な撮影対象の色合いが悪かったり不鮮明であったりといったいわゆる撮損ね画像も多くなる。特にユーザーが不満を感じることの多い画像として、主要な撮影対象(例えば人物写真であれば顔等)からピントがずれた画像や、主要な撮影対象色合いが悪く写ってしまった画像が挙げられる。
このような背景から、デジタルカメラの撮損ねを防止したり、撮影された撮損ね画像を修正したりする手法が要望されてきた。撮損ねを防止したり修正したりするには、まず顔画像の領域を特定しなければならない。顔画像の領域を特定する手法として、特許文献1には、ニューラルネットワーク、遺伝的アルゴリズム、サポートベクターマシンなどの学習データーを利用したパターン認識処理を用いて、人間の顔領域を抽出することが提案されている。
特開2000−48184号公報
しかしながら、上述した手法によって検出された顔領域の信頼性は、パターン認識処理の学習元となる画像データーがどの程度適切に選択されていたか(適切度合)に応じて大きく異なる。また学習元となる画像データーが適切であっても、撮影状況次第ではそもそも不鮮明なオブジェクトも存在するので、学習データーの適切さだけでは本当に顔画像が検出されたのか判断が難しいこともある。
本発明は前記課題に鑑みてなされたもので、学習データーを利用して検出された顔画像の検出結果の信頼度を適切に評価することが可能な画像処理装置、プリンター、画像処理方法および画像処理プログラムを提供することを目的とする。
上記課題を解決するために、本発明の請求項1にかかる発明では、顔検出手段と鏡像検出手段と顔評価手段と顔画像再評価手段とを備える構成としてある。
顔検出手段と鏡像検出手段は、検出器を利用した対象画像上における略正面向きの顔画像の検出を行うことが出来るようになっている。これら顔検出手段と鏡像検出手段で利用する検出器は、所定の教師データーを用いて学習することにより、画像にかかる情報を入力すると略正面向きの顔画像の有無を示す情報を出力するようになっている。ただし、顔検出手段の利用する検出器と鏡像検出手段の利用する検出器とでは、互いに鏡像関係にある顔画像の教師データーを利用して学習されている点で異なる。正面顔を含んだ画像であれば中心線に沿って略対象であるので、同一領域において顔検出手段と鏡像検出手段とが共に顔画像を検出した場合は、その領域に顔画像が含まれて確度が高いと言える。
そこで、本発明においては、前記顔検出手段によって検出された顔画像の信頼度を顔評価手段が評価し、前記顔検出手段によって顔画像が検出された領域で前記鏡像検出手段が顔画像を検出すると、顔画像再評価手段は、前記顔検出手段によって検出された顔画像の信頼度を上昇させるようになっている。このように正面顔の特徴を積極的に利用することにより、正面顔の検出結果に対する信頼度を、より適切に評価することが出来るようになっている。
また、本発明の選択的な一態様として、前記鏡像検出手段は、前記顔評価手段にて所定の基準より低く評価された顔画像について前記顔画像の検出を実行する構成としてもよい。
一般に検出器を用いたオブジェクト検出処理は、演算量が多いため処理時間が長くなることが多い。従って、顔検出手段において検出された全ての顔画像について鏡像検出手段による顔画像の検出処理を実行すると、それだけ演算量が増加して処理時間が長くなる。そこで、所定の基準よりも高く評価された顔画像については信頼度が十分であると考えて鏡像検出手段による顔画像の検出を行わず、信頼度の不十分な顔画像であるか否かに確証のない顔画像についてのみ鏡像検出手段による顔画像の検出を実行して、その信頼度を検証する。よって、信頼度の適切な評価と、演算量の低減とを効率的に実現可能となる。
また、前記顔検出手段は、対象画像上に設定された検出窓内の画像にかかる情報を前記検出器に入力して略正面向きの顔画像の有無を検出し、前記鏡像検出手段は、前記顔検出手段の設定した検出窓と重複するように設定された複数の検出窓内の画像にかかる情報を順次検出器に入力して前記略正面向きの顔画像の有無を検出する構成としてもよい。
顔検出手段は、検出される顔画像と前記検出窓との中心が完全に一致しなくとも顔画像を検出することができる。従って、顔検出手段が顔画像を検出した位置は、検出窓の中でいずれかの方向にずれている可能性があり、実像で学習した検出器では検出しやすくても、鏡像で学習した検出器では検出しにくい場合もある。そこで、顔検出手段が顔画像を検出した検出窓と部分的に重複させつつも、近傍に少しずつずらして設定された検出窓の窓画像を利用して顔画像の検出を行うことにより、鏡像検出手段における顔画像の検出確率を高めている。
また、本発明の選択的な一態様として、前記鏡像検出手段は、検出窓のサイズを拡縮しつつ前記顔画像を検出した検出窓と重複して設定された複数の検出窓内の画像にかかる情報を入力し前記略正面向きの顔画像の鏡像の有無を示す情報を出力するニューラルネットワークを利用することにより前記対象画像上における前記鏡像の検出を行う構成としてもよい。
上述したように顔検出手段が顔画像を検出した位置は、検出窓の中でいずれかの方向にずれている可能性があり、実像で学習した検出器では検出しやすくても、鏡像で学習した検出器では検出しにくい場合もある。このような状況で鏡像の検出確率を高めるには、検出窓のサイズを拡大したり縮小したりすることも効果的である。すなわち、検出窓を拡大して設定することにより、顔検出手段が顔画像を検出した検出窓を部分的もしくは全部含みつつ、その範囲を拡大することによってずれた顔画像を全体的に包含することができる。また、検出窓を縮小して設定することにより、鏡像検出手段の検出器では検出しにくい方向にずれている顔画像を、検出器の中央に配置する可能性があり、鏡像検出手段の検出確率を向上できる。
また、本発明の選択的な一態様として、前記顔検出手段は、顔画像を検出した検出窓と重複するように複数の検出窓を設定し、これら複数の検出窓内の画像にかかる情報を順次検出器に入力して前記略正面向きの顔画像の有無を検出し、前記顔評価手段は、前記顔検出手段が前記顔画像を検出した検出窓と重複設定された複数の検出窓において前記顔画像を検出した数を信頼度とする構成としてもよい。
該構成においては、顔評価手段が出力する信頼度として、顔画像の重複検出の数を採用している。すなわち、顔検出手段がある検出窓の画像の中に顔画像を検出すると、該検出窓の近傍に該検出窓と部分的に重複するように複数の検出窓を設定し、これら複数の検出窓の中で顔画像を検出した数を顔画像の信頼度とする。顔画像と類似した画像を顔画像として誤検出した場合には、検出位置を少しずらしただけで顔検出しなくなる可能性が高い。従って、重複検出する数が多いほど検出された顔画像の信頼性が高いのである。
また、本発明の選択的な一態様として、前記鏡像検出手段は、前記顔検出手段の検出した顔画像の信頼度が所定数未満である場合に、前記顔検出手段の設定した検出窓と重複するように設定された複数の検出窓内の画像にかかる情報を順次検出器に入力して前記略正面向きの顔画像の有無を検出し、前記顔画像を検出した検出窓の数を前記信頼度に加算し、前記顔評価手段は、前記鏡像数を加算後の評価値が所定値未満の顔画像を顔で無いと見做す構成としてもよい。
すなわち、上述のように顔検出手段が顔画像を重複検出した数を信頼度とする構成において、鏡像検出手段も顔検出手段が検出した検出窓に対して重複設定された複数の検出窓から顔画像を検出した数をもって信頼度とし、顔画像再評価は、顔検出手段の検出結果に基づく信頼度と鏡像検出手段の検出結果にも度づく信頼度とを加算して、顔検出手段の検出した顔画像の信頼度とする。
また、本発明の選択的な一態様として、前記検出器は、ニューラルネットワークを用いて学習したことを特徴とする構成としてもよい。
上述した画像処理装置は、プリンター等の他の機器に組み込まれた状態で実施されたり他の方法とともに実施されたりする等の各種の態様を含む。また、本発明は上記画増処理装置を備える画像処理システム、上述した装置の構成に対応した工程を有する画像処理方法、上述した装置の構成に対応した機能をコンピューターに実現させる画像処理プログラム、該プログラムを記録したコンピューター読み取り可能な記録媒体、等としても実現可能である。これら画像処理システム、画像処理方法、画像処理プログラム、該プログラムを記録した媒体、の発明も、上述した作用、効果を奏する。むろん、請求項2〜7に記載した構成も、前記システムや前記方法や前記プログラムや前記記録媒体に適用可能である。
プリンターのハードウェア構成を示すブロック図である プリンターのソフトウェア構成を示すブロック図である 画像処理のフローチャートである。 画像データーIDに対して設定される検出窓の模式図である。 サイズカウンタnとサイズパラメーターSの関係を示すグラフである。 顔検出処理のフローチャートである。 重複度を説明する図である。 窓画像データーWDから画像特徴量を算出する様子を示している。 ニューラルネットワークNNを学習する様子を示す模式図である。 重複度設定部M4が顔画像に設定する検出窓SWの移動距離を説明する図である。 併合処理において併合される検出結果を説明する図である。 併合処理のフローチャートである。 閾値処理のフローチャートである。 鏡像検出処理のフローチャートである。 経験則に基づいた誤検出の判定の一例である。 ヒューリスティック処理のフローチャートである。 肌色調整処理のフローチャートである。
以下、下記の順序に従って本発明の実施形態を説明する。
(1)画像処理装置の構成:
(2)画像処理:
(3)顔検出処理:
(4)顔評価処理:
(4−1)重複画像の併合処理:
(4−2)閾値処理:
(4−3)鏡像検出処理:
(4−4)ヒューリスティック処理:
(5)肌色調整および印刷処理:
(6)まとめ:
(1)画像処理装置の構成:
図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には、各種の情報や画像等が表示される。
印刷部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と、顔画像の重複度と顔画像について言える経験則とに基づいて検出結果の取捨選択を行う顔評価部M5と、各部M1〜M5によって検出や評価が行われた顔画像に肌色調整処理を行って画像の画質調整を行う画質調整部M6を備える。
顔評価部M5は、重複画像併合部M51と閾値処理部M52と鏡像検出部M53とヒューリスティック処理部(Hue処理部)M55とを備える。重複画像併合部M51は、複数の顔画像が略同一の領域に重複して検出された場合に、これらを併合する。鏡像検出部M53は、顔画像を検出した領域において顔画像の鏡像の有無を検出する。鏡像検出部M53は、顔画像の鏡像を検出すると、実像の方の顔画像に設定されている信頼度を上昇させる。Hue処理部M55は、1枚の画像データー中に顔画像が複数検出された場合に、経験則に基づいてこれらの顔画像を比較し、並存することが不自然な顔画像について重複度の低いほうを削除する。以下、各部M1〜M6が実行する処理について説明する。
(2)画像処理:
図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では、各カウンターn,n,n,nをリセットする。nはサイズカウンタであり、検出窓SWのサイズパラメーターSを順にシフトさせるための整数値である。nは傾きカウンターであり、検出窓SWの傾きパラメータDを順に変更するための整数値である。本実施形態においては、検出窓は上下左右の4つの傾きをとるものとし、nが1増加する毎に検出窓SWが90°ずつ回転する。nxはx方向カウンターであり、検出窓SWの中心位置Pをx軸方向にシフトさせるための整数値である。nはy方向カウンターであり、検出窓SWの中心位置Pをy軸方向にシフトさせるための整数値である。これらのカウンターはリセットにより例えば0に初期化される。なお、本実施形態においては、画像データーIDの長手方向をx軸とし、短手方向をy軸とし、x軸とy軸の原点は画像データーIDの左上端としてある。
図5は、サイズカウンタnと検出窓SWのサイズパラメーターSとの関係を示している。同図に示すように、サイズカウンタnの増加とともに検出窓SWのサイズパラメーターS(縦と横の長さ)が徐々に減少する。本実施例では、サイズカウンタnとサイズパラメーターSが線形的な関係を有し、カウンターnが1〜15の間で1増加する毎に、検出窓SWのサイズパラメーターSが所定画素数ずつ小さくなるようにしている。なお、ここで示したカウンターnと検出窓SWのサイズパラメーターSの関係は一例であり、これらが非線形の関係を有していたり、傾きや切片などを変更したりしてもよい。
検出窓SWは、例えば下記式(1)に基づいて設定位置が決定される。
Figure 2010160640

前記式(1)において、P(x,y)は検出窓SWの中心位置、dx,dyは検出窓SWの中心位置Pの各方向への単位移動距離(画素数)を表しており、移動間隔dx,dyと方向カウンターnx,nをそれぞれ乗算することにより、検出窓SWの中心位置Pのx,y座標を算出する。前記式(1)にて算出される中心位置Pは、検出窓SWのサイズに応じて対象画像内に隈無く設定されるため、検出窓SWは対象画像に隈無く走査することになる。なお、移動間隔dy<1となる場合は、dy=1とする。なお、x方向カウンターnxが取り得る範囲は1〜[縮小画像データーのx方向画素数]/dxの整数値とし、y方向カウンターnは1〜[縮小画像データーのy方向画素数]/dyの整数値とする。すなわち、検出窓SWの単位移動距離は、検出窓SWが大きいほど長く、検出窓SWが小さいほど短くなる。
ステップS110において、画像走査部M2は、縮小画像に中心位置Pを中心としてサイズパラメーターSの検出窓SWを設定する。
ステップ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方向カウンターnをインクリメントして検出窓SWをy軸方向に単位移動距離dyだけ移動させてから、ステップS110に戻り、新たな位置Pに検出窓SWを設定する。検出窓SWが下端に到達している場合は、S145でy方向カウンターnを1にして検出窓SWが上端から設定されるようにしてからS150に進む。
S150においては、検出窓SWが、現在設定されているサイズにおいて、上下左右の全方向に傾けて設定されたか否かを判断する。nが4未満であれば、ステップS155に進んで傾きカウンターをインクリメントして検出窓SWの傾きを変化させてから、ステップS110に戻り、新たな位置Pに検出窓SWを設定する。nが4であれば、全方向に傾けて設定完了したと判断して、ステップS160に進んで傾きカウンターnを1にリセットして検出窓SWが傾き0から設定されるようにしてからステップS170に進む。
S170では、検出窓SWのサイズが所定サイズに到達しているが否かを判断する。検出窓SWが所定サイズ(図4ではn=9)に到達している場合は、画像処理を終了する。検出窓SWが所定サイズに到達していない場合は、S175でサイズカウンタnをインクリメントして検出窓SWのサイズパラメーターSを単位量縮小してから、ステップS110に戻り新たな位置Pに検出窓SWを設定する。
(3)顔検出処理:
図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として取得する。
ステップS210において、顔検出部M3は、ステップS205において取得された窓画像データーWDの画像特徴量を抽出する。画像特徴量は、窓画像データーWDに対して各種のフィルタを適用し、当該フィルタ内の輝度やエッジやコントラスト等の状態を示す特徴量(平均値、最大値、最小値、標準偏差等)を算出することにより得られる。なお、窓画像データーWDは、検出窓Wのサイズによって大きさが異なるが、解析を行う際に予め一定の大きさに解像度変換される。
図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)式のように顔画像の検出位置を修正する。
Figure 2010160640

前記(2)式において、修正後の顔検出位置をP’(x’、y’)としてある。すなわち、オブジェクトを検出したと判定した複数の検出窓の位置を平均化することで、丁度中間に位置する適当なオブジェクト領域の座標を得る。このように検出位置を修正することにより、検出位置の精度を高めることができる。また、このようにして修正された顔検出位置に付与される重複度は、ステップS230の処理で顔画像を検出した検出窓SWの数であり、上述した例においては、位置P1,P2,P3,P4の5箇所で顔検出されているので、P’(x’、y’)における重複度は、ステップS215で位置P0で検出した数を加えて5となる。
(4)顔評価処理:
以上の処理においては、画像を走査しつつ画像に存在する顔画像の位置とサイズと傾きとを検出し、検出した顔画像について重複度を付与してその検出結果の信頼度を評価してきた。本実施形態においては、各検出位置における信頼度をさらに確度の高いものにするべく、顔評価部M5が、顔画像についての経験則を利用して経験則に反する検出結果を削除する。さらに顔評価部M5は、経験則に合致するものはより重複度が高くなるようにする。以下、顔評価部M5が実行する各種処理について説明する。なお、顔評価部M5の実行する各種処理は、基本的に以下に説明する順に行われるものとするが、他の順番で行っても構わない。
(4−1)重複画像の併合処理:
上述した顔検出処理においては、ステップS200の処理を行うことにより重複度が8に達した検出結果と領域が30%以上重複しないようにしている。しかしながら、重複度が8に達しない顔画像については重複して検出される可能性がある。また、略同一の領域でありながら、傾きの異なる顔画像が重複して検出されることもあるし、サイズの異なる顔画像が重複して検出されることもある。無論、傾きが異なる複数の検出結果やサイズの異なる複数の検出結果が写真画像において重複して並存することは現実的にはありえないが、本実施形態のニューラルネットワークを利用した顔検出処理においては、同一部位や重複する部位に複数の顔画像が存在するという検出結果が得られてしまう可能性がある。背景技術に記載した他の手法においても、このような誤検出の可能性は存在する。そこで、本実施形態においては、上述した重複度を利用することにより、画像の略同一部位に複数の顔画像が重複検出されている状況を解消するための処理を行う。
図11は、併合処理において併合される検出結果を説明する図である。同図に示すように、1番目の検出結果と3番目の検出結果は位置とサイズが同一だが、傾きが異なっている。このように同一位置の位置に傾きの異なる顔画像が検出された場合は、重複度を参照し、より重複度の高い方に検出結果を統合する。例えば、図11においては1番目の検出結果の方が重複度が高いので、1番目の検出結果の重複度に3番目の検出結果の重複度を加算して3番目の検出結果を削除することになる。以下、図12を参照して併合処理の具体例について説明する。
図12は、併合処理のフローチャートである。
ステップS300において、重複画像併合部M51は、検出結果の中から同じ領域を指して重なっている検出結果(重複結果)があるか否かを判断する。重複画像併合部M51は、重複結果がある場合は重複した2つの検出結果を選択してステップS305に進む。重複画像併合部M51は、重複結果が無い場合は併合処理を終了する。同じ領域を指して重なっているとは、一方が他方の大部分を包含する場合を意味する。すなわち、検出結果の位置とサイズに基づいて検出結果において設定された検出窓の範囲を演算し、2つの検出結果の重複領域を算出し、重複領域のサイズが各検出結果における検出窓SWの所定割合(例えば80%等)以上を占める場合は、これら2つの検出結果は同じ部分を指して重なっていると判断する。
ステップS305において、重複画像併合部M51は、選択された2つの検出結果の重複度を取得し、重複度に2以上の差があればステップS310に進む。一方、重複度の差が1以下である場合は、ステップS315に進む。
ステップS310において、重複画像併合部M51は、重複度の大きい方を残して、重複度の小さいほうの検出結果を削除し、ステップS300に戻る。
ステップS315において、重複画像併合部M51は、選択された2つの検出結果のサイズと位置とを平均した検出結果を作成する。平均された検出結果には、選択された2つの検出結果の重複度を合計して付与する。そして、重複画像併合部M51は、選択された2つの検出結果を削除し、ステップS300に戻る。このとき、顔の傾きについては、何れを選んでもよいので例えば比較した後者を選択する。無論、傾きについて上述した0,90,180,270°のみならず他の傾きも検出結果のデーター中で設定可能としておき、選択された2つの検出結果の傾きを平均して、新たに作成した検出結果に付与してもよい。
(4−2)閾値処理:
上述した実施形態においては、重複度という顔画像であるか否かの信頼度を示す指標を付した検出結果を取得している。この指標を活用する一実施形態として、ユーザーが指標に対する閾値を設定できるようにし、ユーザーが設定した閾値を下回る重複度の検出結果を削除するようにしてもよい。無論、デフォルトの設定として一定の信頼度を下回る検出結果を一律に削除するようにしてもよいが、ユーザーによっては、顔画像を検出しているにも関わらず重複度が低く判定されてしまった検出結果を救済したい場合もあるし、誤検出は確実に除外したい場合もあるからである。
図13は、閾値処理のフローチャートである。
ステップS400において、閾値判定部M52は、ユーザーの設定した閾値を取得する。ここで取得する閾値は、予めユーザーが設定した値を不図示の不揮発性メモリー等に記憶したものを取得してもよいし、ステップS400でユーザーから閾値の設定入力を受付けるユーザーインターフェースを表示して、ユーザーからの設定入力を受付けたものを利用してもよい。
ステップS405において、閾値判定部M52は、RAM12に記憶された検出結果の中で、本閾値処理で未処理の検出結果があるか否かを判断する。未処理の検出結果がある場合は、閾値判定部M52は、未処理の検出結果の中から1つを選択してその重複度を取得し、ステップS410に進む。一方、未処理の検出結果が無い場合は、閾値判定部M52は、閾値処理を終了する。
ステップS410において、閾値判定部M52は、S405で取得した重複度とS400で取得した閾値とを比較して、重複度が閾値よりも小さいか否かを判断する。重複度が閾値よりも小さい場合は、閾値判定部M52は、ステップS415に進み、ステップS405で選択された検出結果をRAM12の検出結果の一覧から削除してステップS405に戻る。一方、重複度が閾値以上である場合は、閾値判定部M52は、ステップS405に戻る。
(4−3)鏡像検出処理:
上述した顔検出処理では、検出された顔画像に様々な重複度(前記実施形態における重複度は、1〜8のいずれか)を付している。重複度の低い顔画像は、誤検出の可能性もあるが、斜光等が原因で検出しにくい顔の場合もある。そこで、鏡像検出処理においては、中心線に対して左右略対称になるという正面顔の特徴を利用して、重複度の低い顔画像について顔情報を左右反転させた学習データーで顔検出を行い、その検出結果から顔領域としての信頼度を検証する。無論、学習データーを反転させるのではなく、窓画像自体を反転させて顔検出を行っても同じことである。
図14は、鏡像検出処理のフローチャートである。
ステップS500において、鏡像検出部M53は、HDD12等に記憶された顔画像の検出結果の中に、重複度4以下の検出結果が存在し、且つ本鏡像検出処理において未選択のものがあるか否かを判断する。未選択の検出結果があれば、鏡像検出部M53は、その中から1つを鏡像検出処理の処理対象として選択し、処理対象の検出結果の位置P(x,y)サイズパラメーターSをRAMの検出結果を格納するエリアから取得してワークエリアに一時的に保存してステップS505に進む。一方、未選択のものが無い場合は、鏡像検出部M53は、鏡像検出処理を終了する。無論、鏡像検出処理の処理対象となる検出結果は重複度4以下のものに限るものではなく、重複度1〜8の全てについて行っても構わない。
ステップS505において、鏡像検出部M53は、サイズカウンタmとy方向カウンターとx方向カウンターを初期値にリセットする。
サイズカウンタmは、鏡像検出処理におけるサイズパラメーターSを順にシフトさせるための整数値である。鏡像検出処理における検出窓は、サイズPを中心として複数のサイズをとるようになっている。例えば、検出窓は、同サイズのもの(1.0倍したもの)、所定割合増加させたもの(例えば1.15倍したもの)、所定割合減少させたもの(例えば0.89倍したもの)、の3通りを取る等である。そこで、サイズカウンタmと検出窓のサイズパラメーターSとを、例えば、m=1のときはS=1.0×S、m=2のときはS=1.15×S、m=3のときはS=0,89×S、等のように対応付けておく。
x方向カウンターmは、鏡像検出処理における検出窓SWの中心位置Pをx軸方向にシフトさせるための整数値である。
y方向カウンターmは、鏡像検出処理における検出窓SWの中心位置Pをy軸方向にシフトさせるための整数値である。
鏡像検出処理における、検出窓の位置は例えば下記式(3)に基づいて設定位置が決定される。
Figure 2010160640

前記式(3)において、Pは鏡像検出処理において設定される検出窓SWの中心位置、dは検出窓SWのXY方向のそれぞれへの単位移動距離(画素数)を表している。また、鏡像検出処理において、検出窓SWは、位置Pからxの正負両方向にそれぞれ所定量ずれた位置まで、段階的に単位移動距離ずつ移動させながら設定される。X方向カウンターとY方向カウンターの各々は、−3〜3までの間の整数値を取るようにしてある。そこで、本実施形態においては、鏡像検出部M53は、ステップS505においてx方向カウンターとy方向カウンターを「−3」にリセットする。
ステップS510において、鏡像検出部M53は、縮小画像に中心位置Pを中心としてサイズカウンタmに対応するサイズパラメーターSの検出窓SWを設定し、窓画像データーWD(検出窓SW内の画像データー)を取得して解析し、該窓画像データーWDの画像特徴量に基づいて所定のオブジェクト(例えば、顔画像等)の検出を行う。この顔検出処理については、上述したものとほぼ同様であるが、顔情報を左右反転させた学習データーで顔検出を行う点で異なる。鏡像検出部M53は、顔画像を検出するとステップS500で選択された検出結果の重複度に1加算してステップS515に進む。一方、鏡像検出部M53は、顔画像を検出しないときはそのままステップS515に進む。
ステップS515において、鏡像検出部M53は、x方向カウンターmが3であるか否かを判断する。x方向カウンターmが3でなければ、ステップS520に進んでx方向カウンターmを1増加させて検出窓SWをxの正方向に単位移動距離dだけ移動させ、ステップS510の顔検出処理を行う。一方、x方向カウンターmが3であれば、ステップS525でx方向カウンターmを「−3」にリセットしてからステップS530に進む。
ステップS530において、鏡像検出部M53は、y方向カウンターmが3であるか否かを判断する。y方向カウンターmが3でなければ、ステップS535に進んでy方向カウンターmを1増加させて検出窓SWをyの正方向に単位移動距離dだけ移動させ、ステップS510の顔検出処理を行う。一方、y方向カウンターmが3であれば、ステップS540でy方向カウンターmを「−3」にリセットしてからステップS545進む。
ステップS545において、鏡像検出部M53は、サイズカウンタmが3であるか否かを判断する。サイズカウンタmが3でなければ、ステップS550に進んでサイズカウンタmを1増加させて検出窓SWのサイズを所定量変化させてからステップS510の顔検出処理を行う。一方、サイズカウンタmが既に3に達しているのであれば、ステップS555に進んで、ステップS500で選択された検出結果の重複度を更新してステップS500からの処理を繰り返す。
(4−4)ヒューリスティック処理:
上述した実施形態では、重複度が8に同じ方向を向いている顔画像については30%以上重複した顔画像が検出されないようにしているが、上述した併合処理にも記載したように重複度が8未満であれば複数の顔画像が重複検出される可能性がある。また、重複度が8に達した顔画像についても、30%未満であれば重複して他の顔画像が検出される可能性がある。本ヒューリスティック処理においては、このように重複して検出された顔画像について、顔画像に特有の経験則に基づいて非現実的と判断しうる検出結果を排除する。
図15は、経験則に基づいた誤検出の判定の一例である。同図には、右側に重複度の高い顔画像F1が検出され、この顔画像の左側に重複度の低い顔画像F2が僅かに重複した状態で密接して検出されている。顔画像F1は、顔画像F2の2倍以上のサイズがある。実際に、このようにサイズ差のある顔画像が隣り合って検出されることはあるが、顔画像F1が実際に顔画像であり顔画像F2が手を顔画像と誤検出している場合などもありえる。そこで、本実施形態においては、サイズ差の大きな顔画像が一部重複して検出された場合は、重複度に鑑みて信頼度に大きな開きがあれば重複度の低い顔画像を検出結果から削除することにする。
図16は、ヒューリスティック処理のフローチャートである。
ステップS600において、Hue処理部M55は、複数の顔画像が検出されているか否かを判断する。
ステップS605において、Hue処理部M55は、ヒューリスティック処理において未選択の組み合わせの顔画像であって互いに領域が重複しているものがあるか否かを判断する。Hue処理部M55は、重複した顔画像がある場合は、互いに重複した顔画像の組み合わせで未選択のものを1つを選択してステップS610に進む。重複した顔画像で未選択のものがない場合は、Hue処理部M55は、ヒューリスティック処理を終了する。
ステップS610において、Hue処理部M55は、選択された2つの顔画像に2倍以上のサイズ差があるか否かを判断する。Hue処理部M55は、選択された2つの顔画像に2倍以上のサイズ差がある場合は、ステップS615に進み、2倍以上のサイズ差が無い場合は、ステップS605に戻る。
ステップS615において、Hue処理部M55は、選択された2つの顔画像の重複度を取得し、両者の重複度に2以上の差があるか否かを判断する。Hue処理部M55は、両者の重複度に2以上の差があれば、重複度の小さな方の顔画像の検出結果をRAM12から削除してステップS605に戻り、両者の重複度に2以上の差が無い場合は、そのままステップS605に戻る。
(5)肌色調整および印刷処理:
図17は、画質調整部M6が実行する肌色調整処理のフローチャートである。なお本実施形態においては、人物の顔に対する肌色調整処理を例に取り説明を行うが、無論、顔以外の腕や足や体であってもよいし、画質調整処理も肌色調整処理のみならず検出対象のオブジェクト種類にあわせて適宜選択可能である。上述した画像処理と画像評価処理が終了すると、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と、略正面向きの顔画像の有無を示す情報を出力するように前記教師データーの鏡像を用いて学習した検出器を利用して対象画像上における略正面向きの顔画像の検出を行う鏡像検出部M53と、顔検出部M3によって検出された顔画像の信頼度を評価する顔評価部M5と、顔検出部M3によって検出された顔画像と所定割合以上重複する領域で前記鏡像検出部M53が顔画像を検出すると、顔検出部M3の検出した顔画像の信頼度を上昇させる。このように構成されたプリンターにおいては、学習データーを利用して検出された顔画像の検出結果の信頼度を適切に評価できるので、その評価結果に基づいて行われる肌色調整処理などを確実に実行できるようになる。
なお、本発明は上述した実施形態や変形例に限られず、上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術並びに上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も含まれる。
10…制御部、10a…CPU、10b…RAM、10c…ROM、13…汎用インターフェース(GIF)、13a…USBメモリー、14…メモリーカードインターフェース(MIF)、14a…メモリーカード、15…印刷部、16…操作パネル、17…ディスプレイ、18…バス、100…プリンター、M1…画像取得部、M2…画像走査部、M3…顔検出部、M4…重複度設定部、M5…顔評価部、M51…重複画像併合部、M52…閾値処理部、M53…鏡像検出部、M55…ヒューリスティック処理部

Claims (10)

  1. 画像にかかる情報を入力すると略正面向きの顔画像の有無を示す情報を出力するように教師データーを用いて学習した検出器を利用し、対象画像上における略正面向きの顔画像の検出を行う顔検出手段と、
    画像にかかる情報を入力すると略正面向きの顔画像の有無を示す情報を出力するように前記教師データーの鏡像を用いて学習した検出器を利用し、対象画像上における略正面向きの顔画像の検出を行う鏡像検出手段と、
    前記顔検出手段によって検出された顔画像の信頼度を評価する顔評価手段と、
    前記顔検出手段によって検出された顔画像と所定割合以上重複する領域で前記鏡像検出手段が顔画像を検出すると、前記顔検出手段によって検出された顔画像の信頼度を上昇させる顔画像再評価手段と、
    を備えることを特徴とする画像処理装置。
  2. 前記鏡像検出手段は、前記顔評価手段にて所定の基準より低く評価された顔画像について前記顔画像の検出を実行する請求項1記載の画像処理装置。
  3. 前記顔検出手段は、対象画像上に設定された検出窓内の画像にかかる情報を前記検出器に入力して略正面向きの顔画像の有無を検出し、
    前記鏡像検出手段は、前記顔検出手段の設定した検出窓と重複するように設定された複数の検出窓内の画像にかかる情報を順次検出器に入力して前記略正面向きの顔画像の有無を検出する請求項1又は請求項2に記載の画像処理装置。
  4. 前記鏡像検出手段は、検出窓のサイズを拡縮しつつ前記顔画像を検出した検出窓と重複して設定された複数の検出窓内の画像にかかる情報を入力し前記略正面向きの顔画像の鏡像の有無を示す情報を出力するニューラルネットワークを利用することにより前記対象画像上における前記鏡像の検出を行う請求項1〜請求項3の何れか一項に記載の画像処理装置。
  5. 前記顔検出手段は、顔画像を検出した検出窓と重複するように複数の検出窓を設定し、これら複数の検出窓内の画像にかかる情報を順次検出器に入力して前記略正面向きの顔画像の有無を検出し、
    前記顔評価手段は、前記顔検出手段が前記顔画像を検出した検出窓と重複設定された複数の検出窓において前記顔画像を検出した数を信頼度とする請求項1〜請求項4の何れか一項に記載の画像処理装置。
  6. 前記鏡像検出手段は、前記顔検出手段の検出した顔画像の信頼度が所定数未満である場合に、前記顔検出手段の設定した検出窓と重複するように設定された複数の検出窓内の画像にかかる情報を順次検出器に入力して前記略正面向きの顔画像の有無を検出し、前記顔画像を検出した検出窓の数を前記信頼度に加算し、
    前記顔評価手段は、前記鏡像検出手段が加算した後の信頼度が所定の基準未満の顔画像を顔で無いと見做す請求項5に記載の画像処理装置。
  7. 前記検出器は、ニューラルネットワークを用いて学習したことを特徴とする請求項1〜6の何れか1項に記載の画像処理装置。
  8. 請求項1〜7の何れか一項に記載の前記顔検出手段と前記鏡像検出手段と前記顔評価手段と前記顔画像再評価手段とを備えたプリンターであって、
    印刷対象として入力された画像データーにて表される画像を前記対象画像として、前記顔検出手段による顔画像の検出と、前記鏡像検出手段による顔画像の検出と、前記顔評価手段による顔画像の評価と、前記顔画像再評価手段による顔画像の再評価とを実行し、
    再評価された顔画像の評価値が所定値を超える顔画像に基づいた所定領域に対して肌色調整を行った画像データーに基づいた画像を印刷するプリンター。
  9. 画像にかかる情報を入力すると略正面向きの顔画像の有無を示す情報を出力するように教師データーを用いて学習した検出器を利用し、対象画像上における略正面向きの顔画像の検出を行う顔検出工程と、
    画像にかかる情報を入力すると略正面向きの顔画像の有無を示す情報を出力するように前記教師データーの鏡像を用いて学習した検出器を利用し、対象画像上における略正面向きの顔画像の検出を行う鏡像検出工程と、
    前記顔検出工程によって検出された顔画像の信頼度を評価する顔画像評価工程と、
    前記顔検出工程によって検出された顔画像と所定割合以上重複する領域で前記鏡像検出工程が顔画像を検出すると、前記顔検出工程によって検出された顔画像の信頼度を上昇させる顔画像再評価工程と、
    を備えることを特徴とする画像処理方法。
  10. 画像にかかる情報を入力すると略正面向きの顔画像の有無を示す情報を出力するように教師データーを用いて学習した検出器を利用し、対象画像上における略正面向きの顔画像の検出を行う顔検出機能と、
    画像にかかる情報を入力すると略正面向きの顔画像の有無を示す情報を出力するように前記教師データーの鏡像を用いて学習した検出器を利用し、対象画像上における略正面向きの顔画像の検出を行う鏡像検出機能と、
    前記顔検出機能によって検出された顔画像の信頼度を評価する顔画像評価機能と、
    前記顔検出機能によって検出された顔画像と所定割合以上重複する領域で前記鏡像検出機能が顔画像を検出すると、前記顔検出機能によって検出された顔画像の信頼度を上昇させる顔画像再評価機能と、
    をコンピューターに実現させることを特徴とする画像処理プログラム。
JP2009001838A 2009-01-07 2009-01-07 画像処理装置、プリンター、画像処理方法および画像処理プログラム Withdrawn JP2010160640A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009001838A JP2010160640A (ja) 2009-01-07 2009-01-07 画像処理装置、プリンター、画像処理方法および画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009001838A JP2010160640A (ja) 2009-01-07 2009-01-07 画像処理装置、プリンター、画像処理方法および画像処理プログラム

Publications (1)

Publication Number Publication Date
JP2010160640A true JP2010160640A (ja) 2010-07-22

Family

ID=42577759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009001838A Withdrawn JP2010160640A (ja) 2009-01-07 2009-01-07 画像処理装置、プリンター、画像処理方法および画像処理プログラム

Country Status (1)

Country Link
JP (1) JP2010160640A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012109896A (ja) * 2010-11-19 2012-06-07 Seiko Epson Corp 画像処理装置および画像処理方法
JP2012120024A (ja) * 2010-12-02 2012-06-21 Seiko Epson Corp 画像処理装置および画像処理方法
JP2013061802A (ja) * 2011-09-13 2013-04-04 Canon Inc 画像認識装置、画像認識方法及びプログラム
CN105241886A (zh) * 2015-07-16 2016-01-13 西北大学 一种基于hvs与引导滤波器的土遗址裂缝检测方法
JP2016110232A (ja) * 2014-12-02 2016-06-20 エヌ・ティ・ティ・コムウェア株式会社 対象認識装置、対象認識方法、およびプログラム
WO2018168042A1 (ja) * 2017-03-14 2018-09-20 オムロン株式会社 画像解析装置、画像解析方法、及び画像解析プログラム
JP2019012497A (ja) * 2017-07-03 2019-01-24 富士通株式会社 部位認識方法、装置、プログラム、及び撮像制御システム
WO2022070573A1 (ja) * 2020-09-29 2022-04-07 富士フイルム株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012109896A (ja) * 2010-11-19 2012-06-07 Seiko Epson Corp 画像処理装置および画像処理方法
JP2012120024A (ja) * 2010-12-02 2012-06-21 Seiko Epson Corp 画像処理装置および画像処理方法
JP2013061802A (ja) * 2011-09-13 2013-04-04 Canon Inc 画像認識装置、画像認識方法及びプログラム
US9147105B2 (en) 2011-09-13 2015-09-29 Canon Kabushiki Kaisha Image recognizing apparatus, image recognizing method, and program
JP2016110232A (ja) * 2014-12-02 2016-06-20 エヌ・ティ・ティ・コムウェア株式会社 対象認識装置、対象認識方法、およびプログラム
CN105241886A (zh) * 2015-07-16 2016-01-13 西北大学 一种基于hvs与引导滤波器的土遗址裂缝检测方法
WO2018168042A1 (ja) * 2017-03-14 2018-09-20 オムロン株式会社 画像解析装置、画像解析方法、及び画像解析プログラム
JP2018151919A (ja) * 2017-03-14 2018-09-27 オムロン株式会社 画像解析装置、画像解析方法、及び画像解析プログラム
US11188781B2 (en) 2017-03-14 2021-11-30 Omron Corporation Image analyzer, image analysis method, and image analysis program
JP2019012497A (ja) * 2017-07-03 2019-01-24 富士通株式会社 部位認識方法、装置、プログラム、及び撮像制御システム
WO2022070573A1 (ja) * 2020-09-29 2022-04-07 富士フイルム株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Similar Documents

Publication Publication Date Title
JP2010160640A (ja) 画像処理装置、プリンター、画像処理方法および画像処理プログラム
JPWO2004051575A1 (ja) 特徴領域抽出装置、特徴領域抽出方法および特徴領域抽出プログラム
JP2011129114A (ja) 検出装置、検出方法、検出プログラム、および記録媒体
JP2010191592A (ja) 顔の特徴部位の座標位置を検出する画像処理装置
JP2011119997A (ja) 画像処理装置および画像処理方法
US20120140996A1 (en) Striped pattern image examination support device, striped pattern image examination support method and program
JP3876531B2 (ja) 文書画像の傾き補正方法
US20090285457A1 (en) Detection of Organ Area Corresponding to Facial Organ Image in Image
KR102038741B1 (ko) 화상 처리 장치, 화상 처리 방법 및 저장 매체
JP2010186268A (ja) 画像処理装置、プリンター、画像処理方法および画像処理プログラム
JP5018587B2 (ja) オブジェクト検出方法、オブジェクト検出装置、オブジェクト検出プログラムおよびオブジェクト検出プログラムを記録したコンピュータ読取可能な記録媒体
US20030160760A1 (en) Image comining apparatus and method
JP4957607B2 (ja) 画像における顔領域の検出
JP2005184685A (ja) 画像処理装置、プログラムおよび記録媒体
JP4985510B2 (ja) 対象画像における顔の画像に対応する顔領域の設定
JP7027043B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN115187989A (zh) 图像的处理方法、装置、电子设备、扫描笔和存储介质
JP4983682B2 (ja) オブジェクト検出方法、オブジェクト検出装置、オブジェクト検出プログラムおよび印刷装置
JP2009237857A (ja) 画像における顔の器官の画像に対応する器官領域の設定
JP2006048223A (ja) 画像処理装置及び画像処理方法及びコンピュータプログラム
JP2006350642A (ja) 画像処理装置、及びプログラム
JP7212207B1 (ja) 画像処理システム、画像処理方法、及びプログラム
JP2006072829A (ja) 画像認識システム及び画像認識方法
JP2007249836A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2009217607A (ja) 画像中の顔領域検出における信頼度の算出

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111201

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120308