説明

画像処理装置及び画像処理方法、コンピュータプログラム及び記録媒体

【課題】 外部装置と画像処理装置の双方に特定領域を検出する処理を有する場合に、外部装置で検出した結果をそのまま印刷装置で用いると誤検出が増える。また、画像処理装置で検出処理の全ての項目を処理すると時間がかかってしまう。
【解決手段】 外部装置から画像データと前記画像データを解析して得られた撮影情報を入力し、入力された撮影情報に基づき、前記画像データから特定領域を検出する際の角度範囲またはサイズを設定し、設定された角度範囲またはサイズに基づいて、特定領域を検出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮影装置と画像処理装置に同じような検出処理を有する場合に、撮影装置の検出処理で検出した情報を利用して、特定領域の検出処理を行う画像処理装置及び画像処理方法、コンピュータプログラム及び記録媒体に関する。
【背景技術】
【0002】
近年、デジタルカメラやデジタルビデオカメラ等の撮影装置では、撮影時に、被写体との焦点距離や露出設定を合わせるために、顔検出、人物検出等の被写体を検出する処理を行う装置が増えている。また、プリンタ等の印刷装置でも、被写体に合わせた補正処理を行うために、入力画像に対し、顔検出、人物検出等の被写体を検出する、撮影装置と同じような処理を行う印刷装置が増えている。
【0003】
例えば、特許文献1では、デジタルカメラで撮影した撮影情報を利用し、プリンタで画像を補正してプリントする装置が開示されている。特許文献1記載の画像処理方法は、まず、デジタルカメラで被写体を撮影した画像データと、画像全体に対する人物画像の位置及び大きさを示す人物座標情報をメモリカードに記憶する。次に、プリンタで、メモリカードから画像データとともに人物座標情報を読み出す。そして、読み出した人物座標情報に基づいて、画像範囲に対する所定の位置及び大きさとなるように人物データを拡大縮小及び変位して補正した画像データをプリントします。
【0004】
また、特許文献2では、赤目検出を行う際に、高速に赤目検出を行うために、顔検出を行う領域及び方向、サイズを限定する方法が開示されている。特許文献2では、赤目の候補領域を特定領域候補とし、特定領域候補に対し顔検出を行い、顔が検出されると、顔の向き及び顔のサイズを示す顔情報を記憶しておく。次の特定領域候補に対する顔検出を行う際に、記憶してある顔情報を用いて、顔検出する方向、サイズを限定する。顔検出する方向、サイズを限定することにより、高速に検出処理を行え、誤検出の可能性も減る。
【特許文献1】特開2004−207987号公報
【特許文献2】特開2005−267512号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1では、デジタルカメラとプリンタの双方に顔検出処理を搭載しているものではなく、デジタルカメラのみに顔検出処理が搭載されている。デジタルカメラでは、被写体撮影時に人物を検出し、焦点距離を合わせた後、被写体が動いてしまう可能性がある。そのため、検出した人物座標情報の座標位置と実際に撮影された画像データの被写体の位置が異なってしまう恐れがある。よって、人物座標情報の座標位置が、実際に撮影されている画像データとずれてしまっている場合、デジタルカメラで撮影した人物座標情報をプリンタで用いると、補正画像データも位置がずれてしまうという問題が発生する。
【0006】
また、特許文献2では、検出装置において記憶している顔情報を用いて、顔検出する方向、サイズを限定して顔検出を行う画像処理方法であるが、デジタルカメラとプリンタの双方に顔検出処理を搭載しているものではない。よって、特許文献2では、撮影装置の顔検出処理で検出した顔情報を利用して、プリンタで顔領域の検出処理を行うことができない。
【0007】
本発明は、上記課題を解決するために、外部装置と画像処理装置に特定領域を検出する処理を有する場合に、外部装置の検出処理で検出した情報を利用して、画像処理装置で特定領域の検出処理を行うことで、画像処理装置の検出処理の短縮及び性能向上を行うことを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の画像処理装置は、外部装置から画像データと前記画像データを解析して得られた撮影情報を入力する入力手段と、前記入力手段で入力された撮影情報に基づき、前記画像データから特定領域の検出に用いるテンプレートの角度またはサイズを定める設定手段と、前記画像データと、前記設定手段で設定された角度またはサイズを有するテンプレートとの比較処理を行うことで、特定領域の検出を行う検出手段とを有する。
【発明の効果】
【0009】
本発明によれば、外部装置と画像処理装置に特定領域を検出する処理を有する場合に、外部装置の検出処理で検出した情報を利用して、画像処理装置で特定領域の検出処理を行うことで、画像処理装置の検出処理の短縮及び性能向上を行うことができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明にかかる実施形態の画像処理を図面を参照して詳細に説明する。
【0011】
<第1の実施形態>
図8は、本発明を適用し得る画像処理装置であるプリンタ101のハードウェア構成の例を示したものである。プリンタ内部には、CPU102、ROM103、RAM104、さらに、印刷処理を実行するためのプリンタエンジン105を保持している。また、近年では、プリンタにスキャナを搭載した複合機が台頭していることもあり、場合によっては、原稿を読み取るためのスキャナエンジン107を備えている場合もある。また、表示部106は、プリントを行う際に用紙、印刷品位などの様々な設定を行うために使用される。108はボタン、タッチパネル等のユーザインタフェイス、109はパーソナルコンピュータやデジタルカメラ等の外部装置と接続するためのインタフェイスを示している。上記構成が、システムバスを介して接続されている状態が、プリンタ内部の基本構造である。
【0012】
なお、この他にもプリンタを構成する要素として様々なものが考えられる。例えば、電源部や、用紙をハンドリングするためのフィーダ部や、ネットワークと直接接続するためのインタフェイスなどである。しかし、それらについては本実施形態では直接言及することはないため、ここでは割愛する。
【0013】
図9、図10は、本発明で考えられる印刷環境の一例である。図9は、デジタルカメラで撮影した画像データを印刷する形態を示したものである。デジタルカメラ201で撮影された画像データを、メモリカード202に保存する。メモリカード202はプリンタ101に接続され、撮影した画像データがプリンタ203から印刷される。なお、デジタルカメラ201とプリンタ203を直接接続し、メモリカード202を介さずにデジタルカメラ201の画像データをプリンタ203に転送してもよい。
【0014】
図10はパーソナルコンピュータを主とした印刷環境の一例を示した図である。パーソナルコンピュータ303はハードディスクを保持している。ハードディスクには、カードリーダ302を介してメモリカード301内の画像データを保存したり、ルータ305を介してインターネット306に接続してダウンロードした画像データを保存したり、と様々な経路から入手したデータを保存している。このハードディスクに保存されたデータは、パーソナルコンピュータ303で操作することにより、プリンタ304から印刷される。
【0015】
上記のように、本実施形態は、デジタルカメラ等の撮影装置201で生成された画像データをプリンタ等の画像処理装置101で印刷する形態とする。
【0016】
撮影装置と画像処理装置の組み合わせをデジタルカメラとプリンタとして説明するが、次の組み合わせであっても構わない。スキャナとプリンタ、デジタルカメラとモニタ(画像処理アプリケーション)、モニタ(画像処理アプリケーション)とプリンタなどが考えられる。
【0017】
本実施形態の画像処理方法は、図1で示される画像処理装置101を用いて実行される。図1は、本実施形態における各処理部の動作を実行させる画像処理装置101を説明するための概要図である。
【0018】
図1において、撮影装置201または記憶媒体202には、デジタルカメラで被写体を撮影した際の撮影情報と撮影した画像の双方を含む画像情報D1が記憶されている。撮影装置201または記憶媒体202は、画像処理装置101のインタフェースであるI/F109に接続され、I/F109を介して画像情報D1を画像メモリ104に転送する。撮影情報抽出部12では、画像メモリ104に格納された画像情報D1から、撮影情報と画像データを抽出する。処理設定部13では、撮影情報抽出部12で抽出した撮影情報から、検出処理部14で行う処理を設定する。検出処理部14では、処理設定部13で設定された処理内容から、画像情報D1の画像データに対し検出処理を行う。補正処理部15では、検出処理部14で検出した内容に適した補正処理を行い、画像情報D2を形成し、プリンタエンジン105に送る。プリンタエンジン105では、画像情報D2を印刷媒体に印字して出力する。
【0019】
<1−1>第1の実施形態の画像処理装置の概略
以下、本実施形態における画像処理装置の処理概要について図2を用いて説明する。
【0020】
図2は、第1の実施形態の画像処理装置101の動作手順を説明するためのフローチャートである。ROM103またはRAM104に図2のフローチャートを実行するプログラムを格納し、CPU102が前記プログラムを読み出して実行することで、図2のフローチャートが実行される。
【0021】
まず、ステップS21において、画像処理装置101は、I/F109を介して、撮影装置201または記憶媒体202であるメモリカードを接続し、メモリカードに記憶されている画像情報D1を画像メモリ104に格納する。
【0022】
ここで、撮影装置201または記憶媒体202は、デジタルカメラで撮影され、撮影情報を含む画像情報D1をメモリカードに記録させたものとする。メモリカードに記憶された撮影情報は、撮影の際に焦点距離を合わせるために顔検出した顔の数、向き、サイズ、位置情報とする。
【0023】
次に、ステップS22において、撮影情報抽出部12は、画像メモリ104に格納された画像情報D1を解析し顔検出を行い、検出した顔の数、向き、サイズ、位置情報等の撮影情報を抽出する。
【0024】
次に、ステップS23において、処理設定部13は、撮影情報である顔検出した顔の数、向き、サイズ、位置情報から検出処理部14で行う顔検出処理内容を設定する。本実施形態では、撮影情報は、顔検出情報である。
【0025】
検出処理部14で行う顔検出処理内容の設定は、撮影情報である顔検出した顔の数、向き、サイズ、位置情報から、顔検出に使用する検出器の向き、サイズ、位置を設定することである。ここで、検出器とは、特定領域のマッチングに使用するテンプレートのことである。本実施形態では、特定領域を顔領域として処理を説明するが、特定領域は、画像に含まれる顔以外の部分でもよい。例えば、人物の体全体、建物、車などであってもよい。
【0026】
次に、ステップS24において、検出処理部14は、処理設定部13で設定された顔検出処理内容に従って顔検出処理を行う。
【0027】
次に、ステップS25において、補正処理部15は、顔検出されている場合と顔検出されていない場合で補正処理を変更し、画像情報D1の画像データを補正して、画像情報D2を出力する。
【0028】
次に、ステップS26において、プリンタエンジン105は、補正処理部15で生成した補正後の画像情報D2を印刷用紙に印刷する。
【0029】
従来では、検出処理部14を行わないで、撮影装置201で顔検出した結果をそのまま補正処理部15で利用していた。または、撮影装置201または記憶媒体202に記憶されている撮影情報を使用しないで、検出処理部14で顔検出した結果を補正処理部15で利用していた。
【0030】
本実施形態では、処理設定部13で、撮影装置201または記憶媒体202に記憶されている撮影情報である顔検出結果を用いて、検出処理部14で行う顔検出に使用する検出器の向き、サイズ、位置を必要な分だけ設定することが異なる。
【0031】
上述した内容は、入力された画像情報D1に対し補正処理を行い、更に印刷処理まで行っているが、顔検出のみを目的とする場合には、特に、補正処理部15及びプリンタエンジン105は必要ない。
【0032】
また、上述した記憶媒体202はメモリカードとしているが、メモリカード以外の記憶媒体であってもよい。
【0033】
また、撮影装置201は、デジタルカメラやデジタルビデオカメラを示す。また、撮影装置201は、撮影手段を持ち、撮影した画像を装置本体のメモリもしくは、接続されているメモリカードに撮影画像を記録し、USBケーブルのようなシリアルケーブル等で、外部装置と接続できる手段を持つ装置であってもよい。
【0034】
また、撮影装置201として、ハードディスクのような記憶手段を持たないが、撮影情報を含む画像データを本体メモリに保存でき、シリアルケーブル等で、外部装置と接続できる手段を持つ装置であってもよい。
【0035】
また、記憶媒体202は、例えば、メモリカードやUSBメモリを示す。メモリカードのような記憶手段を持たないが、撮影情報を含む画像データを本体メモリに保存でき、外部装置と接続できる手段を持つ装置でもよい。
【0036】
また、画像情報D1は、Exif(Exchangeable image file format)のような、画像ファイルの中に撮影時のカメラ情報を記述できるフォーマットで保存された画像データを示す。
【0037】
上述した画像情報D1は、撮影情報と画像データが関連付けられる画像フォーマットや記録形式であれば、特に限定はしない。
【0038】
従って、撮影装置201または記憶媒体202は、デジタルカメラやメモリカード等の撮影情報を含む撮影画像である画像情報D1を記憶できる撮影装置及び記憶媒体を示す。
【0039】
<1−2>第1の実施形態の画像処理部53の詳細な説明
以下、本実施形態における画像処理装置101の画像処理部53の詳細について図を用いて説明する。
【0040】
図1に示すように、画像処理部53は、撮影情報抽出部12と処理設定部13と検出処理部14から構成されている。
【0041】
<1−2−1>撮影情報抽出部12の説明
撮影情報抽出部12は、画像メモリ104に格納された画像情報D1から撮影情報を抽出する処理部である。
【0042】
例えば、画像情報D1がExif形式で保存されたJPEG画像データとする。図3は、Exifファイルのデータ構造を示す。Exifファイルのデータ構造30は、主に、ヘッダ31とサムネイル32と主画像のデータ33とから構成される。
【0043】
主画像のデータ33は、撮影した画像データを静止画像データの圧縮方式の一つであるJPEG(Joint Photographic Experts Group)の画像形式で圧縮された画像データを示す。
【0044】
サムネイル32は、主画像のデータ33を160×120画素数にサイズ変換された画像データを示す。
【0045】
ヘッダ31は、主画像を撮影する際の撮影情報が保存されている。本実施形態では、撮影情報を、画素数や圧縮方式、撮影日時等の他に、焦点距離を合わせる際に顔検出を行った顔検出結果とする。顔検出結果には、検出した顔数と、検出された各顔の向きとサイズ、撮影画像における座標位置が含まれている。
【0046】
撮影情報抽出部12では、画像メモリ104に保存されている画像情報のヘッダ情報からExifファイル形式で保存されていることを判定し、Exifのヘッダ31に格納されている顔検出結果を抽出する。抽出した顔検出結果は、処理設定部13に送られる。
【0047】
<1−2−2>処理設定部13の説明
処理設定部13は、撮影情報抽出部12で抽出した撮影情報から検出処理部14で行う検出処理の処理内容を設定する処理部である。
【0048】
検出処理部14で顔検出処理を行うとすると、処理設定部13は、撮影情報抽出部12で抽出した顔検出結果である顔の向きから、検出処理部14において、顔検出を行うテンプレート(検出器)の向きを設定する。
【0049】
図4は、顔検出を行うための検出器(テンプレート)40のイメージ図を示す。撮影画像とテンプレート40のマッチングをとることで、撮影画像に含まれる顔の検出を行う。図4の検出器(テンプレート)40は、顔の器官である右目41、左目42、鼻43、口44を検出するためのイメージ図を示す。顔検出方法は、検出器40の右目41、左目42、鼻43、口44が全て検出されているか否かで判定する。
【0050】
図5は、顔検出を行う際に、図4の検出器40を8方向の向きで使用するイメージ図を示す。図5において、検出器40の8方向は、上向きの検出器の角度を0°とし、0°を基準に時計回りで、0°、45°、90°、135°、180°、225°、270°、315°とする。
【0051】
従来、顔検出を行う際には、画像情報D1の画像データにおいてどの向きに顔があるかわからないため、図5に示すような様々な角度の検出器40を使用してテンプレートマッチングをする必要があった。本実施形態では、撮影情報抽出部12で抽出した顔検出結果により、撮影時の顔の向きが検出されているため、入力画像においても撮影画像に含まれる顔の向きと同じ向きあたりで顔がある可能性が高いと推測できる。
【0052】
従って、例えば、画像情報D1の撮影情報に、画像データにおいて、上向きの角度0°の向きに顔が検出されていた情報が含まれている場合、画像情報D1の画像データにおいて、角度0°付近に顔の向きがあると推測できる。
【0053】
例えば、上述する角度0°付近に顔の向きがあると推測とした場合、検出処理部14での顔検出を行う検出器(テンプレート)の角度を0°、45°、315°として、3つの検出器を使って画像データとマッチングを行う。図6は、処理設定部13において、検出処理部14での顔検出を行う検出器の向きを設定後のイメージ図を示す。撮影画像に複数の顔が含まれる場合、画像処理装置101で複数の顔を検出できるように、検出された全ての顔を検出できるように検出器の向きを設定する。例えば、角度0°付近に顔が一つあり、角度180°付近にもう一つの顔がある場合、検出器40は、0°、45°、135°、180°、225°、315°の6方向の向きに対して検出器を設定し、6方向の向きに対して顔検出処理を行う。
【0054】
上述したとおり顔検出方法は、検出器40の右目41、左目42、鼻43、口44が検出されているか否かで判定するため、多くの検出処理を行うため処理時間がかかる。図5に示すように8方向に対し、顔検出を行うための検出器を使用してしまうと、さらに処理時間がかかる。そこで、本実施形態では、図6に示すように、3方向に顔検出処理を限定することで、処理時間を短縮することができる。
【0055】
上述した例では、顔検出結果である顔の向きから、検出処理部14において顔検出を行う検出器の向きを設定するとしているが、これに限らない。
【0056】
例えば、顔検出結果である顔のサイズから、検出処理部14において顔検出を行う検出器のサイズを設定する。
【0057】
図7は、顔検出を行う検出器40のサイズを変えたイメージ図を示す。図7は、前述した検出器40を基準とし、検出器のサイズを縦、横の幅を2分の1にしたサイズの検出器71と縦、横の幅を2倍にしたサイズの検出器72を示す。
【0058】
従来、顔検出を行う際には、画像情報D1の画像データにおいてどのサイズの顔があるかわかららないため、図7に示すような様々なサイズに対し、検出器40を使用する必要があった。本実施形態では、撮影情報抽出部12で抽出した顔検出結果により、撮影時の顔のサイズが検出されているため、入力画像においても同じサイズ付近で顔がある可能性が高いと推測できる。
【0059】
従って、例えば、画像情報D1の撮影情報に、画像データにおいて、基準サイズである検出器40の2分の1サイズに近い顔サイズである情報が含まれているとする。この場合、画像情報D1の画像データにおいても、基準サイズである検出器40の2分の1サイズ付近の顔のサイズであると推測できる。
【0060】
例えば、上述する基準サイズである検出器40の2分の1サイズ付近の顔サイズであると推測した場合、検出処理部14で顔検出を行う検出器のサイズを、基準サイズである検出器40の2分の1サイズである検出器71のみ検出を行う設定をする。
【0061】
上述したとおり顔検出方法は、検出器40の右目41、左目42、鼻43、口44が検出されているか否かで判定するため、多くの検出処理を行うため処理時間がかかる。図7に示すように3つのサイズに対し、顔検出を行うための検出器を使用してしまうと、さらに処理時間がかかる。そこで、本実施形態では、1サイズに検出器を限定することで、処理時間を短縮することができる。
【0062】
なお、撮影画像にサイズが異なる顔が複数含まれる場合、画像処理装置101で複数の顔を検出できるように、複数の顔のサイズに適した検出器を設定する。例えば、撮影画像に検出器40の2分の1サイズ付近の顔と検出器40の2倍付近の顔がある場合、基準サイズである検出器40の2分の1サイズである検出器71と検出器40の2倍サイズである検出器72の双方を使って顔検出処理を行う。
【0063】
<1−2−3>検出処理部14の説明
検出処理部14は、処理設定部13で設定された検出処理内容に従って検出処理を行う処理部である。
【0064】
例えば、検出処理部14では、顔検出処理を行う。顔検出処理は、様々な方法があるが、本実施形態では、右目41、左目42、鼻43、口44を検出する検出器40を使用し、画像情報D1の画像データに対し、検出器40の角度、サイズを変更し、検出されるか否かを判定する。
【0065】
例えば、処理設定部13で設定された検出処理内容が、角度0°付近の0°、45°、315°に対してのみ検出を行う設定とする。また、図7に示す基準サイズである検出器40の2分の1サイズである検出器71のみ検出を行う設定とする。この場合、画像情報D1の画像データに対し、基準サイズである検出器40の2分の1サイズである検出器71を使用し、撮影画像と検出器71との比較処理を角度0°、45°、315°の3方向で行うことで、顔検出処理を行う。
【0066】
従来、顔検出を行う際には、画像情報D1の画像データにおいてどの向きに顔があるかわかららないため、例えば、図7に示すような3つのサイズの検出器と図5に示すような8方向の組み合わせ、計24通りの検出処理を行う必要があった。本実施形態では、上述の例では、基準サイズである検出器40の2分の1サイズである検出器71を使用し、検出器71を角度0°、45°、315°の3方向で検出処理を行うだけなので、計3通りの検出処理を行うのみとなる。従って、検出処理数を減少させることにより、処理時間を短縮することができる。
【0067】
検出処理部14の検出処理内容は、撮影装置201または記録媒体202に記録されている撮影情報が生成される際に行う各種検出処理と、同様の検出処理を行っている。この場合に、検出処理部14で行う検出処理の前処理として検出処理内容を限定できるような撮影情報が含まれていれば、特に限定しない。
【0068】
本実施形態では、デジタルカメラ等の撮影装置201とプリンタ等の画像処理装置101を例に説明しているが、スキャナとプリンタでもよい。その場合、スキャナとプリンタに特定領域を検出する検出処理部を有し、スキャナの検出処理で検出した情報を利用してプリンタで検出処理を行う。同様に、デジタルカメラとPC(パーソナルコンピュータ)を接続し、デジタルカメラの検出処理で検出した情報を利用してPC(パーソナルコンピュータ)で検出処理を行ってもよい。また、同様に、PC(パーソナルコンピュータ)とプリンタを接続し、PC(パーソナルコンピュータ)の検出処理で検出した情報を利用してプリンタで検出処理を行ってもよい。
【0069】
以上説明したように、第1の実施形態によれば、外部装置と画像処理装置の双方に特定領域を検出する処理を有する場合に、外部装置の検出処理で検出した情報を利用して特定領域の検出処理を行うことで、画像処理装置の検出処理の短縮及び性能向上を行うことができる。
【0070】
<第2の実施形態>
以下、本実施形態における画像処理装置の処理概要について説明する。
【0071】
第1実施形態によれば、デジタルカメラ等の撮像装置と同じ検出処理を画像処理装置が有する場合、撮像装置に保存されている検出結果を画像処理装置の検出処理の前処理に使用することによって、処理内容を削減することが可能である。しかし、第1実施形態の場合、撮像装置の性能によっては、撮像装置で検出することができない特定領域が存在する可能性がある。上述した撮像装置で検出できていない特定領域は、画像処理装置の検出処理を用いても検出することができない。なぜなら、画像処理装置で検出処理を行う特定領域が、撮像装置に保存されている検出結果からでしか判定しないためである。すなわち、撮像装置の検出処理でテンプレートの角度やサイズが限定されているため、画像処理装置では限定された角度やサイズ以外の特定領域の検出は行うことができない。本実施形態では、このような事情を考慮してなされたものである。
【0072】
本実施形態では、第1実施形態と同様に、図1に示す画像処理装置101と同じ構成である。本実施形態は、第1実施形態とは、図1における処理設定部13の処理内容と検出処理部14の処理内容が異なる。本実施形態の説明に関して、第1実施形態と同様な処理部に関しては、説明を省略する。
【0073】
また、画像処理装置101の動作手順は、第1実施形態の図2に示すフローチャートと同じ構成である。第1実施形態と図2におけるフローチャートでの動作手順説明については、全く同様なため説明を省略する。
【0074】
<2−2>第2実施形態の画像処理部の詳細
以下、本実施形態における画像処理装置の画像処理部53の詳細について図を用いて説明する。
【0075】
図1の画像処理部53は、撮影情報抽出部12と処理設定部13と検出処理部14から構成されている。本実施形態では、図1における撮影情報抽出部12は、第1実施形態と同様のため説明を省略し、処理設定部13と検出処理部14の処理内容について説明を行う。
【0076】
<2−2−1>処理設定部13の説明
処理設定部13は、撮影情報抽出部12で抽出した撮影情報から検出処理部14で行う検出処理の処理内容を設定する処理部である。
【0077】
例えば、検出処理部14で顔検出処理を行うとする。処理設定部13では、撮影情報抽出部12で抽出した顔検出結果である顔の向きから、検出処理部14において顔検出を行う検出器の向きの重要度を設定する。
【0078】
従来、顔検出を行う際には、画像情報D1の画像データにおいてどの向きに顔があるかわからないため、図5に示すような様々な角度に対し、同じ重要度で検出器40を使用する必要があった。本実施形態では、撮影情報抽出部12で抽出した顔検出結果により、撮影時の顔の向きが検出されているため、入力画像においても同じ角度付近で顔がある可能性が高いと推測できる。また、デジタルカメラ等の撮影装置で検出できなかった顔に関しても検出されている顔検出結果の向きに顔がある可能性が高いと推測できる。
【0079】
例えば、上述する角度0°付近に顔の向きがあると推測とした場合、検出処理部14での顔検出を行う検出器の向きを、角度0°付近の0°、45°、315°に対しては、重要度を高く設定をする。また、その他の角度90°、135°、180°、225°、270°に対しては重要度を低く設定をする。
【0080】
上述したとおり顔検出方法は、図5に示すように8方向に対し顔検出を行うための検出器を使用してしまうと、実際に顔がない向きにまで同じ重要度の検出器を使用してしまい、誤検出の可能性が増えてしまう。そこで、本実施形態では、撮影情報抽出部12で抽出した顔検出結果である顔の向きに応じて検出処理部14で使用する検出器の重要度を変更することで、誤検出の可能性を軽減することができる。
【0081】
上述した例では、顔検出結果である顔の向きから、検出処理部14において、顔検出を行う検出器の向きの重要度を設定するとしているが、これに限らない。
【0082】
例えば、顔検出結果である顔のサイズから、検出処理部14において、顔検出を行う検出器のサイズの重要度を設定する。
【0083】
従来、顔検出を行う際には、画像情報D1の画像データにおいてどのサイズの顔があるかわかららないため、図7に示すような様々なサイズに対し、重要度の同じ検出器40を使用する必要があった。本実施形態では、撮影情報抽出部12で抽出した顔検出結果により、撮影時の顔のサイズが検出されているため、入力画像においても同じサイズ付近で顔がある可能性が高いと推測できる。
【0084】
従って、例えば、画像情報D1の撮影情報に、画像データにおいて、基準サイズである検出器40の2分の1サイズに近い顔サイズである情報が含まれている。この場合、画像情報D1の画像データにおいても、基準サイズである検出器40の2分の1サイズ付近の顔のサイズであると推測できる。
【0085】
例えば、上述する基準サイズである検出器40の2分の1サイズ付近の顔のサイズであると推測する。この場合、検出処理部14で、基準サイズである検出器40の2分の1サイズである検出器71は重要度を高くし、その他の検出器のサイズの重要度は低く設定をする。
【0086】
上述したとおり顔検出方法は、図7に示すように3つのサイズに対し、顔検出を行うための検出器を同じ重要度で使用してしまうと、実際にない顔のサイズにまで同じ重要度の検出器を使用してしまうので、誤検出の可能性が増えてしまう。そこで、本実施形態では、撮影情報抽出部12で抽出した顔検出結果である顔のサイズに応じて検出器の重要度を変更することで、誤検出の可能性を軽減することができる。
【0087】
<2−2−2>検出処理部14の説明
検出処理部14は、処理設定部13で設定された検出処理内容に従って検出処理を行う処理部である。
【0088】
例えば、検出処理部14では、顔検出処理を行う。顔検出処理は、様々な方法があるが、本実施形態では、右目41、左目42、鼻43、口44を検出する検出器40(テンプレート)を使用し、画像情報D1の画像データに対し、検出器40の角度、サイズを変更し、検出されるか否かを判定する。
【0089】
例えば、処理設定部13で設定した検出処理内容が、図5に示す検出器の向きにおいて、角度0°付近の0°、45°、315°に対しては重要度を高く、それ以外の角度90°、135°、180°、225°、270°に対しては重要度を低く設定したとする。また、図7に示す検出器のサイズにおいて、基準サイズである検出器40の2分の1サイズである検出器71の重要度を高くし、それ以外のサイズの重要度は低く設定したとする。
【0090】
テンプレートの角度0°、45°、90°、135°、180°、225°、270°、315°のすべての角度に対して、顔検出処理は行われる。顔検出処理の一致度に閾値を設け、前記閾値は重要度に応じて変更される。例えば、重要度が第1の所定値よりも大きい角度に対しては、閾値は第2の所定値よりも小さく設定され、重要度が第1の所定値よりも小さい角度に対しては、閾値は第2の所定値よりも大きく設定される。こうすることで、重要度が低いテンプレートの角度に対応する画像の顔領域は検出されにくくなる。顔領域が検出されにくいので、その後の補正処理部で補正を行う顔の数も少なくなり、処理が軽くなるというメリットがある。このように、顔検出処理に使用する閾値は、テンプレートの角度毎に設定される。
【0091】
同様に、例えば、重要度が高いサイズに対しては、閾値は低めに設定され、重要度が低いサイズに対しては、閾値は高めに設定される。
【0092】
また、検出処理部14で行う顔検出処理は、右目41、左目42、鼻43、口44を検出する検出器40を使用するが、各器官の検出の有無に一致度を設けてもよい。例えば、右目41、左目42の各一致度を100とし、鼻43の一致度を50とし、口44の一致度を70と設定したとする。また、検出器40全体の一致度に関しては、器官毎に検出の有無を判定し、検出されていれば各器官の一致度を、全体の一致度に加算する設定とする。更に、顔が検出されたかどうかの一致度に対して閾値を設定し、例えば、閾値を250と設定とし、閾値を越えていれば顔が検出されたと判定する。
【0093】
例えば、ある箇所で、右目41、左目42、鼻43、口44が全て検出されていれば、検出器40全体の一致度は、100+100+50+70=320となり、閾値250を越えるので、顔であると判定する。また、ある箇所で右目41、鼻43、口44が検出されていれば、一致度は100+50+70=220となり、閾値250を越えないので、顔ではないと判定する。
【0094】
従来、顔検出を行う際には、画像情報D1の画像データにおいてどの顔の向き、サイズがわからないため、実際には顔がない顔の向き、サイズに対しても同じ重要度で検出していたため、誤検出の可能性が多かった。本実施形態では、撮影情報の検出結果から検出処理部14で行う検出処理の重要度を設定することで、誤検出を軽減することが可能となる。
【0095】
また、第1実施形態では、デジタルカメラ等の撮影装置の性能によっては、撮影装置で検出できなかった特定領域がある場合、画像処理装置でも検出することはできなかった。
【0096】
本実施形態では、処理設定部13で、抽出した撮影情報から検出処理部14で行う検出処理の重要度を設定する。そして、画像情報D1の画像データの全領域に対し検出処理を実行することで、誤検出を軽減しつつ、撮影装置で検出できなかった特定領域に対しても検出処理を行わせることが可能となる。
【0097】
以上説明したように、第2の実施形態によれば、外部装置と画像処理装置の双方に特定領域を検出する処理を有する場合に、抽出した撮影情報から、画像処理装置の検出処理で使用するテンプレートの角度またはサイズに重要度を設定する。これにより、撮影装置で検出されなかった特定領域に対しても画像処理装置で検出することができ、検出処理性能を向上させることが可能である。
【0098】
<第3の実施形態>
本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0099】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体から、システムあるいは装置のコンピュータ(またはCPUやMPU)がそのプログラムコードを読み出し実行することによっても、達成される。この場合、コンピュータ読み取り可能な記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶したコンピュータ読み取り可能な記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、DVD−ROM、DVD−R、CD―ROM、CD−R、磁気テープ、不揮発性のメモリカードなどを用いることができる。
【0100】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットによっても実現することができる。この場合、記憶媒体から読み出されたプログラムコードが、機能拡張ボードや機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードに指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0101】
【図1】本発明の実施形態の各処理部の動作を実行させる画像処理装置を説明するための概要図である。
【図2】第1実施形態の画像処理装置の動作手順を説明するためのフローチャートである。
【図3】Exifファイルのデータ構造を示す。
【図4】顔検出を行うための検出器のイメージ図を示す。
【図5】顔検出を行う際に、図4の検出器40を8方向の向きで使用するイメージ図を示す。
【図6】処理設定部13において、検出処理部14での顔検出を行う検出器の向きを設定後のイメージ図を示す。
【図7】顔検出を行う検出器40のサイズを変えたイメージ図を示す。
【図8】本発明を適用し得る印刷装置の内部のハードウェア構成例を示すブロック図である。
【図9】本発明が実施される、印刷装置の接続環境の一例を示す図である。
【図10】本発明が実施される、印刷装置の接続環境の別の例を示す図である。

【特許請求の範囲】
【請求項1】
外部装置から画像データと前記画像データを解析して得られた撮影情報を入力する入力手段と、
前記入力手段で入力された撮影情報に基づき、前記画像データから特定領域の検出に用いるテンプレートの角度またはサイズを定める設定手段と、
前記画像データと、前記設定手段で設定された角度またはサイズを有するテンプレートとの比較処理を行うことで、特定領域の検出を行う検出手段とを有することを特徴とする画像処理装置。
【請求項2】
前記撮影情報は前記画像データを解析して得られた顔検出情報であり、前記特定領域は顔領域であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記顔検出情報は、顔の向きまたは顔のサイズであることを特徴とする請求項2記載の画像処理装置。
【請求項4】
前記設定手段において、前記撮影情報に基づき、前記特定領域の検出に用いるテンプレートの角度それぞれに対して重要度を設定し、
前記検出手段において、前記重要度に基づき特定領域を検出するための閾値を前記テンプレートの角度毎に設定し、前記画像データに含まれる特定領域と前記特定領域の角度に対応したテンプレートとの比較処理を行い、前記比較処理の一致度と前記設定された閾値とを比較した結果に応じて、前記特定領域を検出すること特徴とする請求項1乃至3記載の画像処理装置。
【請求項5】
前記重要度が第1の所定値よりも大きい場合、前記閾値は第2の所定値よりも小さく設定され、前記重要度が第1の所定値よりも小さい場合、前記閾値は第2の所定値よりも大きく設定されることを特徴とする請求項4記載の画像処理装置。
【請求項6】
前記比較処理の一致度が前記閾値よりも大きい場合、前記特定領域が検出されることを特徴とする請求項4または請求項5記載の画像処理装置。
【請求項7】
外部装置から画像データと前記画像データを解析して得られた撮影情報を入力する入力ステップと、
前記入力ステップで入力された撮影情報に基づき、前記画像データから特定領域の検出に用いるテンプレートの角度またはサイズを定める設定ステップと、
前記画像データと、前記設定手段で設定された角度またはサイズを有するテンプレートとの比較処理を行うことで、特定領域の検出を行う検出ステップとを有することを特徴とする画像処理方法。
【請求項8】
前記撮影情報は前記画像データを解析して得られた顔検出情報であり、前記特定領域は顔領域であることを特徴とする請求項7に記載の画像処理方法。
【請求項9】
画像処理装置に、請求項5に記載された画像処理を実行させることを特徴とするプログラム。
【請求項10】
請求項9に記載されたプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−3165(P2010−3165A)
【公開日】平成22年1月7日(2010.1.7)
【国際特許分類】
【出願番号】特願2008−162301(P2008−162301)
【出願日】平成20年6月20日(2008.6.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】