(58)【調査した分野】(Int.Cl.,DB名)
前記画像内で前記領域検出手段により検出された領域の位置を基準として、前記第1設定手段により設定された前記主要部以外の他の主要部に対応する領域を特定する特定手段と、
前記特定手段により特定された領域を前記他の主要部の画像処理対象として設定する第2設定手段と、を更に備えることを特徴とする請求項1〜3の何れか一項に記載の画像処理装置。
前記取得手段により取得された画像内で、前記第1設定手段により設定された前記主要部を表す画像及び前記第2設定手段により設定された前記他の主要部を表す画像を動作させる動作制御手段を更に備えることを特徴とする請求項9に記載の画像処理装置。
【発明を実施するための形態】
【0011】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
図1は、本発明を適用した一実施形態の画像処理装置100の概略構成を示すブロック図である。
【0012】
画像処理装置100は、例えば、パーソナルコンピュータやワークステーションなどのコンピュータ等により構成され、
図1に示すように、中央制御部1と、メモリ2と、記憶部3と、操作入力部4と、動作処理部5と、表示部6と、表示制御部7とを備えている。
また、中央制御部1、メモリ2、記憶部3、動作処理部5及び表示制御部7は、バスライン8を介して接続されている。
【0013】
中央制御部1は、画像処理装置100の各部を制御する。
具体的には、中央制御部1は、画像処理装置100の各部を制御するCPU(Central Processing Unit;図示略)、RAM(Random Access Memory)、ROM(Read Only Memory)を備え、画像処理装置100用の各種処理プログラム(図示略)に従って各種の制御動作を行う。
【0014】
メモリ2は、例えば、DRAM(Dynamic Random Access Memory)等により構成され、中央制御部1の他、当該画像処理装置100の各部によって処理されるデータ等を一時的に記憶する。
【0015】
記憶部3は、例えば、不揮発性メモリ(フラッシュメモリ)、ハードディスクドライブ等により構成され、中央制御部1の動作に必要な各種プログラムやデータ(図示略)を記憶している。
【0016】
また、記憶部3は、画像データ3aを記憶している。
画像データ3aは、例えば、写真画像、漫画、イラスト等の二次元の画像I(
図4(a)等参照)のデータである。また、画像データ3aは、顔を含む画像の画像データであっても良いし、顔を含まない画像の画像データであっても良い。
【0017】
また、記憶部3は、基準動作データ3bを記憶している。
基準動作データ3bは、顔の各主要部(例えば、目、口等)の動きを表現する際の基準となる動きを示す情報を含んでいる。具体的には、基準動作データ3bは、各主要部毎に規定され、所定空間内における複数の制御点の動きを示す情報を含み、例えば、複数の制御点の所定空間での位置座標(x, y)を示す情報や変形ベクトル等が時間軸に沿って並べられている。
すなわち、例えば、目の基準動作データ3bは、上瞼や下瞼に対応する複数の制御点が設定され、これら制御点の変形ベクトルが規定されている。また、例えば、口の基準動作データ3bは、上唇や下唇や左右の口角に対応する複数の制御点が設定され、これら制御点の変形ベクトルが規定されている。
【0018】
また、記憶部3は、顔主要部画像データ3cを記憶している。
顔主要部画像データ3cは、例えば、左右各々の目、鼻、口、眉、顔輪郭等の顔の主要部毎に規定され、対応する主要部画像P(
図7(b)参照;後述)に係る画像データである。
主要部画像Pは、例えば、写真画像の顔から抽出された画像や主要部を模式的に表した画像など各種様々な形状や色のものが用意されている。また、主要部画像Pの所定位置には、基準動作データ3bの複数の制御点と対応付けられ、当該基準動作データ3bに基づいて主要部画像を動作させるための複数の制御点が設定されている。
【0019】
操作入力部4は、例えば、数値、文字等を入力するためのデータ入力キーや、データの選択、送り操作等を行うための上下左右移動キーや各種機能キー等によって構成されるキーボードやマウス等の操作部(図示略)を備え、これらの操作部の操作に応じて所定の操作信号を中央制御部1に出力する。
【0020】
動作処理部5は、画像取得部5aと、顔検出部5bと、顔主要部検出部5cと、領域検出部5dと、第1主要部設定部5eと、領域特定部5fと、第2主要部設定部5gと、動作生成部5hと、動作制御部5iとを具備している。
なお、動作処理部5の各部は、例えば、所定のロジック回路から構成されているが、当該構成は一例であってこれに限られるものではない。
【0021】
画像取得部5aは、画像データ3aを取得する。
すなわち、画像取得部(取得手段)5aは、動作処理の処理対象となる二次元の画像I(
図4(a)等参照)の画像データ3aを取得する。具体的には、画像取得部5aは、例えば、記憶部3に記憶されている所定数の画像データ3aの中で、ユーザによる操作入力部4の所定操作に基づいて指定されたユーザ所望の画像データ3aを動作処理の処理対象として取得する。
なお、画像取得部5aは、図示しない通信制御部を介して接続された外部機器(図示略)から画像データを取得しても良いし、図示しない撮像部により撮像されることで生成された画像データを取得しても良い。
【0022】
顔検出部5bは、処理対象の画像Iから顔領域を検出する。
すなわち、顔検出部5bは、画像取得部5aにより取得された処理対象の画像Iの画像データから顔が含まれる顔領域を検出する。具体的には、顔検出部5bは、先ず、画像取得部5aにより取得された画像Iの中で背景部分の画像との差分を取得して、物体領域を認識する。そして、顔検出部5bは、物体領域の中で顔に似た特徴を持つ領域、例えば、左右の両目及び口に相当する部分として、三つの円形又は多角形の形状部分B、…の各々の中心が三角形の頂点の位置に配置されている位置関係を有する領域を探索する。そして、顔検出部5bは、探索された領域について、各部分の大きさと中心間の距離や位置関係に基づいて所定の演算を行って評価値を算出し、算出された評価値が所定の閾値よりも高く、且つ、最も高い評価値の三つの円形又は多角形の形状部分B、…を有する領域をその物体の顔領域として検出する。
なお、上記した顔領域の検出処理は、一例であってこれに限られるものではなく、適宜任意に変更可能であり、顔検出部5bは、例えば、AAM(Active Appearance Model)等を用いて顔検出処理を行うようにしても良い。
【0023】
顔主要部検出部5cは、画像Iから顔を構成する主要部を検出する。
すなわち、顔主要部検出部(検出手段)5bは、画像取得部5aにより取得された画像データの画像Iから、例えば、左右各々の目、鼻、口、眉、顔輪郭等の主要部を検出する。具体的には、顔主要部検出部5cは、例えば、顔検出部5bによる顔領域の検出処理の結果を利用して、三つの円形又は多角形の形状部分B、…から顔の主要部を検出する。例えば、顔主要部検出部5cは、上記した顔領域の検出処理にて所定の閾値以上の評価値が算出された場合、三つの円形又は多角形の形状部分B、…をその物体の左右の両目及び口として検出する(
図4(b)参照)。
なお、上記した顔の主要部を検出する手法は、一例であってこれに限られるものではなく、例えば、AAMを用いた処理、エッジ抽出処理、非等方拡散処理、テンプレートマッチング等適宜任意に変更可能である。
【0024】
領域検出部5dは、画像I内で主要部相当領域A1を検出する。
すなわち、領域検出部(領域検出手段)5dは、画像取得部5aにより取得された画像データの画像I内で顔の主要部の形状に相当する領域(主要部相当領域A1)を検出する。具体的には、領域検出部5dは、例えば、処理対象の画像Iの画像データに対して所定の画像処理(例えば、Hough変換処理等)を行って、画像I内の円形又は多角形をなす領域を主要部相当領域A1として検出する。このとき、領域検出部5dは、顔検出部5bによる円形又は多角形の形状部分Bの検出結果を利用して、主要部相当領域A1を検出しても良い。
また、領域検出部5dは、顔検出部5bにより顔が検出されなかった場合や、顔主要部検出部5cにより主要部が検出されなかった場合に、画像取得部5aにより取得された画像I内で主要部相当領域A1を検出しても良い。
【0025】
また、画像I内から円形又は多角形をなす主要部相当領域A1が一つも検出されなかった場合には、領域検出部5dは、処理対象の画像Iの画像データに対して所定の画像処理(例えば、エッジ検出処理等)を行って、画像I内からエッジが存在しない最も広い領域(例えば、略円形状の領域等)を検出し、検出された領域を主要部(例えば、目や口等)が設定される顔領域Cとして検出しても良い(
図7(a)参照)。このとき、領域検出部5dは、検出された領域(顔領域C)の大きさや例えば、左右の両目や口等の主要部の位置関係を考慮して、主要部が設定される位置を検出しても良い。
【0026】
なお、主要部相当領域A1として、円形又は多角形をなす領域を検出するようにしたが、一例であってこれに限られるものではなく、例えば、線により完全に囲繞されていない領域(例えば、「C」や「U」字形状の領域等)であっても、領域検出部5dは、仮想的に端部どうしが結線された囲繞領域を推定して検出しても良い。
【0027】
第1主要部設定部(第1設定手段)5eは、領域検出部5dにより検出された領域を何れかの主要部の動作処理対象(画像処理対象)として設定する。
すなわち、第1主要部設定部5eは、領域検出部5dにより検出された主要部相当領域A1に主要部(例えば、目や口等)を表す画像(第1主要部画像P1)を重畳させるように設定する。
【0028】
例えば、領域検出部5dにより画像I内から円形又は多角形をなす二つの主要部相当領域A1、A1が検出された場合には、第1主要部設定部5eは、検出された二つの主要部相当領域A1、A1を左右の両目(主要部)の動作処理対象として設定する(
図5(a)参照)。具体的には、第1主要部設定部5eは、記憶部3から左右の両目に対応する顔主要部画像データ3cを読み出して取得し、左右の両目を表す各第1主要部画像P1が二つの主要部相当領域A1、A1内に収まり、且つ、各第1主要部画像P1の中心と二つの主要部相当領域A1、A1のそれぞれの中心とが重なるように当該第1主要部画像P1の大きさや位置を設定する(
図5(b)参照)。
また、例えば、領域検出部5dにより画像I内から円形又は多角形をなす一の主要部相当領域A1が検出された場合には、第1主要部設定部5eは、検出された一の主要部相当領域A1を口(主要部)の動作処理対象として設定する(
図6(a)参照)。具体的には、第1主要部設定部5eは、記憶部3から口に対応する顔主要部画像データ3cを読み出して取得し、口を表す第1主要部画像P1が一の主要部相当領域A1内に収まり、且つ、第1主要部画像P1の中心と一の主要部相当領域A1の中心とが重なるように当該第1主要部画像P1の大きさや位置を設定する(
図6(b)参照)。
【0029】
なお、上記した二つの主要部相当領域A1、A1の向きや配置は、一例であってこれに限られるものではなく、適宜任意に変更可能である。例えば、画像I内で横向きの顔を表現する場合には、縦に並んだ二つの主要部相当領域A1、A1を利用して両目の動作処理対象を設定しても良い。また、領域検出部5dにより一の主要部相当領域A1が検出された場合に、第1主要部設定部5eは、当該主要部相当領域A1を左右の何れかの目の動作処理対象として設定しても良い。
【0030】
領域特定部5fは、画像I内で主要部対応領域A2を特定する。
すなわち、領域特定部(特定手段)5fは、画像I内で領域検出部5dにより検出された主要部相当領域A1の位置を基準として、第1主要部設定部5eにより設定された主要部以外の他の主要部に対応する領域(主要部対応領域A2)を特定する。
例えば、領域特定部5fは、画像I内で領域検出部5dにより検出された二つの主要部相当領域A1、A1の位置を基準として、他の主要部としての口に対応する一の主要部対応領域A2を特定する(
図5(a)参照)。具体的には、第1主要部設定部5eにより画像I内の二つの主要部相当領域A1、A1には左右の両目が主要部として設定されるため、領域特定部5fは、これら二つの主要部相当領域A1、A1の画像I内での位置関係や大きさ等を基準として、画像I内で二つの主要部相当領域A1、A1の間で、且つ、下側に所定の距離離れた位置に口に対応する一の主要部対応領域A2を特定する。
また、例えば、領域特定部5fは、画像I内で領域検出部5dにより検出された一の主要部相当領域A1の位置を基準として、他の主要部としての左右の両目に対応する二つの主要部対応領域A2、A2を特定する(
図6(a)参照)。具体的には、第1主要部設定部5eにより画像I内の一の主要部相当領域A1には口が主要部として設定されるため、領域特定部5fは、この一の主要部相当領域A1の画像I内での位置関係や大きさ等を基準として、画像I内で一の主要部相当領域A1の上側に所定の距離離れた位置に左右の両目に対応する二つの主要部対応領域A2、A2を特定する。
【0031】
なお、上記した二つの主要部対応領域A2、A2の向きや配置は、一例であってこれに限られるものではなく、適宜任意に変更可能である。例えば、画像I内で横向きの顔を表現する場合には、二つの主要部対応領域A2、A2が縦に並ぶように特定しても良い。
【0032】
第2主要部設定部(第2設定手段)5gは、領域特定部5fにより特定された主要部対応領域A2を他の主要部の動作処理対象として設定する。すなわち、第2主要部設定部5gは、領域特定部5fにより特定された主要部対応領域A2に他の主要部を表す画像(第2主要部画像P2)を重畳させるように設定する。
例えば、領域特定部5fにより画像I内で一の主要部対応領域A2が特定された場合には、第2主要部設定部5gは、特定された一の主要部対応領域A2を口(他の主要部)の動作処理対象として設定する。具体的には、第2主要部設定部5gは、記憶部3から口に対応する顔主要部画像データ3cを読み出して取得し、口を表す第2主要部画像P2が一の主要部対応領域A2内に収まり、且つ、第2主要部画像P2の中心と一の主要部対応領域A2の中心とが重なるように当該第2主要部画像P2の大きさや位置を設定する(
図5(b)参照)。
また、例えば、領域特定部5fにより画像I内で二つの主要部対応領域A2、A2が特定された場合には、第2主要部設定部5gは、特定された二つの主要部対応領域A2、A2を左右の両目(他の主要部)の動作処理対象として設定する。具体的には、第2主要部設定部5gは、記憶部3から左右の両目に対応する顔主要部画像データ3cを読み出して取得し、左右の両目を表す各第2主要部画像P2が二つの主要部対応領域A2、A2内に収まり、且つ、各第2主要部画像P2の中心と二つの主要部対応領域A2、A2のそれぞれの中心とが重なるように当該第2主要部画像P2の大きさや位置を設定する(
図6(b)参照)。
【0033】
なお、第1主要部設定部5eや第2主要部設定部5gにより設定された内容は、所定の格納手段(例えば、メモリ2等)に出力されて一時的に格納されても良い。
さらに、主要部として目や口を例示したが、一例であってこれに限られるものではなく、例えば、鼻、眉、顔輪郭等の他の主要部であっても良い。
【0034】
動作生成部5hは、画像I内で主要部(例えば、左右の両目や口等)を動作させるための動作データを生成する。
具体的には、動作生成部5hは、例えば、第1主要部設定部5eにより設定された第1主要部画像P1に係る主要部や第2主要部設定部5gにより設定された第2主要部画像P2に係る他の主要部に対応する基準動作データ3bを記憶部3から読み出して取得する。そして、動作生成部5hは、第1主要部設定部5eや第2主要部設定部5gにより設定された処理対象となる画像I内での第1主要部画像P1や第2主要部画像P2の大きさや位置を示す情報と、基準動作データ3bに規定されている所定空間内における複数の制御点の動きを示す情報とを対応付けて当該第1主要部画像P1や第2主要部画像P2の動作データを生成する。
なお、動作生成部5hにより生成された動作データは、所定の格納手段(例えば、メモリ2等)に出力されて一時的に格納されても良い。
【0035】
動作制御部5iは、画像I内で主要部を動作させる。
すなわち、動作制御部(動作制御手段)5iは、画像取得部5aにより取得された画像I内で、第1主要部設定部5eにより設定された主要部を表す画像(第1主要部画像P1)や第2主要部設定部5gにより設定された他の主要部を表す画像(第2主要部画像P2)を動作させる。具体的には、動作制御部5iは、動作生成部5hにより生成された処理対象となる主要部を表す第1主要部画像P1の動作データや他の主要部を表す第2主要部画像P2の動作データを取得して、取得された動作データに規定されている複数の制御点の動きを示す情報に基づいて複数の制御点を変位させることで、当該第1主要部画像P1や第2主要部画像P2を動作させる動作処理を行う。
なお、画像I内に第1主要部画像P1や第2主要部画像P2を重畳させて動作させる処理は、例えば、アルファブレンディング等を用いて行われるが、公知の技術であるので、ここでは詳細な説明を省略する。
【0036】
表示部6は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)等のディスプレイから構成され、表示制御部7の制御下にて各種情報を表示画面に表示する。
【0037】
表示制御部7は、表示用データを生成して表示部6の表示画面に表示させる制御を行う。
具体的には、表示制御部7は、例えば、GPU(Graphics Processing Unit)やVRAM(Video Random Access Memory)等を具備するビデオカード(図示略)を備えている。そして、表示制御部7は、中央制御部1からの表示指示に従って、動作処理にて主要部を動作させるための各種画面の表示用データをビデオカードによる描画処理によって生成し、表示部6に出力する。これにより、表示部6は、例えば、動作処理にて主要部(例えば、目や口等)を表す主要部画像Pを動作させるように変形させたコンテンツを表示する。
【0038】
<動作処理>
次に、動作処理について
図2〜
図7を参照して説明する。
図2は、動作処理に係る動作の一例を示すフローチャートである。
【0039】
図2に示すように、先ず、動作処理部5の画像取得部5aは、例えば、記憶部3に記憶されている所定数の画像データ3aの中で、ユーザによる操作入力部4の所定操作に基づいて指定されたユーザ所望の画像データ3aを取得する(ステップS1)。
次に、動作処理部5は、画像取得部5aにより取得された画像データの画像I内で顔の主要部を設定する主要部設定処理(
図3参照)を行う(ステップS2)。
【0040】
<主要部設定処理>
以下に、主要部設定処理について
図3を参照して詳細に説明する。
図3は、主要部設定処理に係る動作の一例を示すフローチャートである。
【0041】
図3に示すように、先ず、顔検出部5bは、画像取得部5aにより取得された処理対象の画像Iの画像データから顔が含まれる顔領域を検出する処理を行う(ステップS11)。具体的には、顔検出部5bは、例えば、画像I内で、左右の両目及び口に相当する部分として、三つの円形又は多角形の形状部分B、…の各々の中心が三角形の頂点の位置に配置されている位置関係を有する領域を探索し、探索された領域の評価値が所定の閾値よりも高く、且つ、最も高い評価値の三つの円形又は多角形の形状部分B、…を有する領域をその物体の顔領域として検出する。
【0042】
続けて、顔検出部5bは、顔領域を検出したか否かを判定する(ステップS12)。
ここで、顔領域が検出されたと判定されると(ステップS12;YES)、顔主要部検出部5cは、処理対象の画像Iから顔の主要部(例えば、左右の両目や口等)を検出する処理を行う(ステップS13)。具体的には、顔主要部検出部5cは、例えば、顔検出部5bによる顔領域の検出処理にて所定の閾値以上の評価値が算出された場合、三つの円形又は多角形の形状部分B、…をその物体の左右の両目及び口として検出する(
図4(b)参照)。
【0043】
次に、顔主要部検出部5cは、顔の主要部を検出したか否かを判定する(ステップS14)。
ここで、顔の主要部が検出されたと判定されると(ステップS14;YES)、動作処理部5は、検出された顔の主要部を動作対象として利用することができ、例えば、所定の抽出処理(例えば、エッジ抽出処理等)を用いて主要部(例えば、左右の両目及び口等)を抽出して主要部抽出画像Qを生成する(ステップS15)。
なお、上記のエッジ抽出処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【0044】
一方、ステップS14にて、顔の主要部が検出されていないと判定されると(ステップS14;NO)、領域検出部5dは、画像I内で主要部相当領域A1を検出する処理を行う(ステップS16)。具体的には、領域検出部5dは、例えば、処理対象の画像Iの画像データに対して所定の画像処理(例えば、Hough変換処理等)を行って、画像I内の円形又は多角形をなす領域を主要部相当領域A1として検出する。
また、ステップS12にて、顔領域が検出されていないと判定(ステップS12;NO)された場合にも、領域検出部5dは、処理をステップS14に移行して、主要部相当領域A1を検出する処理を行う。
【0045】
続けて、動作処理部5は、検出された主要部相当領域A1の数に応じて処理を分岐する(ステップS17)。すなわち、動作処理部5は、主要部相当領域A1の検出数が二つの場合(ステップS17;二つ)、処理をステップS181に移行し、主要部相当領域A1の検出数が一つの場合(ステップS17;一つ)、処理をステップS191に移行し、主要部相当領域A1の検出数が0(ゼロ)の場合(ステップS17;0)、処理をステップS201に移行する。
【0046】
<検出数;二つ>
領域検出部5dにより二つの主要部相当領域A1、A1が検出された場合(ステップS17;二つ)、第1主要部設定部5eは、検出された二つの主要部相当領域A1、A1を左右の両目(主要部)の動作処理対象として設定する(ステップS181;
図5(a)参照)。具体的には、第1主要部設定部5eは、記憶部3から左右の両目に対応する顔主要部画像データ3cを読み出して取得し、左右の両目を表す各第1主要部画像P1が二つの主要部相当領域A1、A1内に配置されるように当該第1主要部画像P1の大きさや位置を設定する(
図5(b)参照)。
【0047】
次に、領域特定部5fは、画像I内で口に対応する一の主要部対応領域A2を特定する(ステップS182;
図5(a)参照)。具体的には、領域特定部5fは、二つの主要部相当領域A1、A1の画像I内での位置関係や大きさ等を基準として、画像I内で口に対応する一の主要部対応領域A2を特定する。
続けて、第2主要部設定部5gは、特定された一の主要部対応領域A2を口(他の主要部)の動作処理対象として設定する(ステップS183)。具体的には、第2主要部設定部5gは、記憶部3から口に対応する顔主要部画像データ3cを読み出して取得し、口を表す第2主要部画像P2が一の主要部対応領域A2内に配置されるように当該第2主要部画像P2の大きさや位置を設定する(
図5(b)参照)。
【0048】
なお、ステップS16にて、三つ以上の主要部相当領域A1、…が検出された場合には、第1主要部設定部5eは、検出された三つ以上の主要部相当領域A1、…の大きさや画像I内での位置関係を考慮して、これらの主要部相当領域A1、…の中から何れか二つの主要部相当領域A1、A1を自動的に指定しても良いし、ユーザによる操作入力部4の所定操作に基づいてユーザ所望の二つの主要部相当領域A1、A1を指定しても良い。
【0049】
<検出数;一つ>
領域検出部5dにより一の主要部相当領域A1が検出された場合(ステップS17;一つ)、第1主要部設定部5eは、検出された一の主要部相当領域A1を口(主要部)の動作処理対象として設定する(ステップS191;
図6(a)参照)。具体的には、第1主要部設定部5eは、記憶部3から口に対応する顔主要部画像データ3cを読み出して取得し、口を表す第1主要部画像P1が一の主要部相当領域A1内に配置されるように当該第1主要部画像P1の大きさや位置を設定する(
図6(b)参照)。
【0050】
次に、領域特定部5fは、画像I内で左右の両目に対応する二つの主要部対応領域A2、A2を特定する(ステップS192;
図6(a)参照)。具体的には、領域特定部5fは、一の主要部相当領域A1の画像I内での位置関係や大きさ等を基準として、画像I内で左右の両目に対応する二つの主要部対応領域A2、A2を特定する。
続けて、第2主要部設定部5gは、特定された二つの主要部対応領域A2、A2を左右の両目(他の主要部)の動作処理対象として設定する(ステップS193)。具体的には、第2主要部設定部5gは、記憶部3から左右の両目に対応する顔主要部画像データ3cを読み出して取得し、左右の両目を表す各第2主要部画像P2が二つの主要部対応領域A2、A2内に配置されるように当該第2主要部画像P2の大きさや位置を設定する(
図6(b)参照)。
【0051】
<検出数;0>
領域検出部5dにより主要部相当領域A1が一つも検出されなかった場合(ステップS17;0)、領域検出部5dは、処理対象の画像Iの画像データに対して所定の画像処理(例えば、エッジ検出処理等)を行って、画像I内からエッジが存在しない最も広い領域を顔領域Cとして検出する(ステップS201;
図7(a)参照)。
続けて、動作処理部5は、検出された顔領域C内で、当該顔領域Cの大きさや例えば、左右の両目や口等の主要部の位置関係を考慮して、左右の両目及び口等(主要部)の動作処理対象を設定する(ステップS202;
図7(b)参照)。具体的には、動作処理部5は、顔領域C内に、左右の両目や口を表す主要部画像Pが配置されるように当該主要部画像Pの大きさや位置を設定する。
【0052】
図2に戻り、動作生成部5hは、画像I内で主要部(例えば、左右の両目や口等)を動作させるための動作データを生成する(ステップS3)。
具体的には、例えば、主要部相当領域A1の検出数が二つの場合(ステップS17;二つ)、動作生成部5hは、第1主要部設定部5eにより設定された左右の両目に対応する基準動作データ3bを記憶部3から読み出して取得するとともに、第2主要部設定部5gにより設定された口に対応する基準動作データ3bを記憶部3から読み出して取得する。そして、動作生成部5hは、処理対象となる画像I内での左右の両目の第1主要部画像P1や口の第2主要部画像P2の大きさや位置を示す情報と、基準動作データ3bに規定されている所定空間内における複数の制御点の動きを示す情報とを対応付けて当該第1主要部画像P1や第2主要部画像P2の動作データを生成する。
また、例えば、主要部相当領域A1の検出数が一つの場合(ステップS17;一つ)、動作生成部5hは、第1主要部設定部5eにより設定された口に対応する基準動作データ3bを記憶部3から読み出して取得するとともに、第2主要部設定部5gにより設定された左右の両目に対応する基準動作データ3bを記憶部3から読み出して取得する。そして、動作生成部5hは、処理対象となる画像I内での口の第1主要部画像P1や左右の両目の第2主要部画像P2の大きさや位置を示す情報と、基準動作データ3bに規定されている所定空間内における複数の制御点の動きを示す情報とを対応付けて当該第1主要部画像P1や第2主要部画像P2の動作データを生成する。
また、例えば、主要部相当領域A1の検出数が0(ゼロ)の場合(ステップS17;0)、動作生成部5hは、顔領域C内に主要部画像Pが設定された左右の両目や口に対応する基準動作データ3bを記憶部3から読み出して取得する。そして、動作生成部5hは、処理対象となる画像I内での左右の両目や口の主要部画像Pの大きさや位置を示す情報と、基準動作データ3bに規定されている所定空間内における複数の制御点の動きを示す情報とを対応付けて当該主要部画像Pの動作データを生成する。
【0053】
なお、ステップS14にて、顔の主要部が検出されたと判定(ステップS14;YES)されて、主要部が抽出された場合には(ステップS15)、動作生成部5hは、抽出された主要部に対応する基準動作データ3bを記憶部3から読み出して取得する。そして、動作生成部5hは、主要部抽出画像Qの所定位置に複数の制御点を設定するとともに、基準動作データ3bに規定されている所定空間内における複数の制御点の動きを示す情報と対応付けて当該主要部抽出画像Qの動作データを生成する。
【0054】
また、動作生成部5hにより生成された動作データは、所定の格納手段(例えば、メモリ2等)に出力されて一時的に格納されても良い。
【0055】
次に、動作制御部5iは、動作データに基づいて画像I内で主要部を動作させる処理を行う(ステップS4)。具体的には、動作制御部5iは、例えば、動作生成部5hにより生成された主要部や他の主要部を表す第1主要部画像P1や第2主要部画像P2の動作データの動作データを取得して、取得された動作データに規定されている複数の制御点の動きを示す情報に基づいて複数の制御点を変位させることで、当該第1主要部画像P1や第2主要部画像P2を動作させる動作処理を行う。
また、動作生成部5hにより主要部画像Pの動作データや主要部抽出画像Qの動作データが生成された場合も、動作制御部5iは、略同様に、取得された動作データに規定されている複数の制御点の動きを示す情報に基づいて複数の制御点を変位させることで、主要部画像Pや主要部抽出画像Qを動作させる動作処理を行う。
【0056】
以上のように、本実施形態の画像処理装置100によれば、取得された画像I内で顔の主要部の形状に相当する主要部相当領域(例えば、画像I内の円形又は多角形をなす領域等)A1を検出して、検出された主要部相当領域A1を何れかの主要部の動作処理対象として設定するので、例えば、顔が含まれていない画像I、顔検出や顔の主要部の検出精度が低い画像Iを処理対象としても、処理対象の画像I内に主要部を設定することができ、当該主要部を動作させることができる。具体的には、主要部相当領域A1に主要部を表す第1主要部画像P1を重畳させるように設定して、画像I内で第1主要部画像P1を変形動作させることで、動きを適正に表現することができる。
このように、顔が含まれない画像Iに対しても顔の主要部を設定することができる。
【0057】
また、画像I内で検出された主要部相当領域A1の位置を基準として、他の主要部に対応する主要部対応領域A2を特定し、特定された主要部対応領域A2を他の主要部の動作処理対象として設定することができる。
具体的には、例えば、画像I内で主要部として検出された左右の両目に対応する二つの主要部相当領域A1、A1の位置を基準として、他の主要部としての口に対応する主要部対応領域A2を特定するので、画像I内で左右の両目に対応する二つの主要部相当領域A1、A1のみが設定された場合であっても、口に対応する主要部対応領域A2を特定することができ、特定された主要部対応領域A2を口の動作処理対象として設定して口を動作させることができる。また、画像I内で主要部として検出された口に対応する一の主要部相当領域A1の位置を基準として、他の主要部としての目に対応する主要部対応領域A2を特定するので、画像I内で口に対応する主要部相当領域A1のみが設定された場合であっても、目に対応する主要部対応領域A2を特定することができ、特定された主要部対応領域A2を目の動作処理対象として設定して目を動作させることができる。
このとき、主要部相当領域A1に主要部を表す第1主要部画像P1を重畳させるように設定するとともに主要部対応領域A2に他の主要部を表す第2主要部画像P2を重畳させるように設定して、画像I内で第1主要部画像P1及び第2主要部画像P2を変形動作させることで、動きを適正に表現することができる。
【0058】
また、処理対象の画像Iから顔が検出されなかった場合に、当該画像I内で顔の主要部の形状に相当する主要部相当領域A1を検出するので、顔が含まれていない画像Iや顔検出の検出精度が低い画像Iを処理対象としても、顔の検出処理の結果に応じて処理対象の画像I内に主要部の動作処理対象を設定することができる。すなわち、画像Iから高い精度で顔が検出された場合には、当該顔を利用可能となる一方、画像Iから顔が検出されなかった場合や顔の検出精度が低い場合には、画像I内で主要部相当領域A1を検出することで、検出された主要部相当領域A1を主要部の動作処理対象として設定して当該主要部を動作させることができる。
同様に、処理対象の画像Iから顔の主要部が検出されなかった場合に、当該画像I内で顔の主要部の形状に相当する主要部相当領域A1を検出するので、主要部の検出精度が低い画像Iを処理対象としても、主要部の検出処理の結果に応じて処理対象の画像I内に主要部の動作処理対象を設定することができる。すなわち、画像Iから高い精度で顔の主要部が検出された場合には、当該主要部を利用可能となる一方、主要部の検出精度が低い場合には、画像I内で主要部相当領域A1を検出することで、検出された主要部相当領域A1を主要部の動作処理対象として設定して当該主要部を動作させることができる。
【0059】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
また、上記実施形態にあっては、画像処理装置100単体から構成するようにしたが、一例であってこれに限られるものではなく、例えば、人物、キャラクタ、動物等の投影対象物が商品等の説明を行う映像コンテンツをスクリーンに投影する投影システム(図示略)に適用した構成であっても良い。
【0060】
さらに、上記実施形態にあっては、主要部や他の主要部を動作させるための動作データを生成するようにしたが、一例であってこれに限られるものではなく、必ずしも動作生成部5hを具備する必要はなく、例えば、第1主要部設定部5eや第2主要部設定部5gにより画像I内に設定された主要部や他の主要部の動作処理対象に係る情報を外部機器(図示略)に出力して、当該外部機器にて動作データを生成するようにしても良い。
また、主要部や他の主要部を動作させるようにしたが、一例であってこれに限られるものではなく、必ずしも動作制御部5iを具備する必要はなく、例えば、第1主要部設定部5eや第2主要部設定部5gにより画像I内に設定された主要部や他の主要部の動作処理対象に係る情報を外部機器(図示略)に出力して、当該外部機器にて制御条件に従って主要部や顔全体を動作させるようにしても良い。
【0061】
さらに、上記実施形態にあっては、処理対象の画像Iから顔の主要部が検出された場合には、検出された主要部を利用して動作させるようにしたが、一例であってこれに限られるものではなく、顔の主要部が検出された場合であっても、必ずしも当該主要部を利用する必要はない。
すなわち、例えば、検出された主要部を利用するか否かをユーザが操作入力部4の所定操作に基づいて選択可能な構成としても良い。さらに、予め、検出された主要部を利用して動作させるか、或いは、主要部相当領域A1を検出して当該主要部相当領域A1に主要部(第1主要部画像P1)を設定して動作させるかの何れかを決定しておいても良い。例えば、ユーザの嗜好が、画像I内の顔らしい部分を変形動作させたいか、或いは、画像I内のあまり顔らしくない部分を変形動作させたいかに応じて選択可能な構成としても良い。
【0062】
また、上記実施形態にあっては、画像I内で二つの主要部相当領域A1、A1と一の主要部対応領域A2を一の組として、或いは、一の主要部相当領域A1と二つの主要部対応領域A2、A2を一の組として、一の顔の動作を表現するようにしたが、一例であってこれに限られるものではなく、例えば、主要部相当領域A1及び主要部対応領域A2からなる組を複数用意して、画像I内にて複数の顔の動作を表現するようにしても良い。
【0063】
また、上記実施形態にあっては、三つの円形又は多角形の形状部分の各々の中心が三角形の頂点の位置に配置されている主要部相当領域A1が検出された場合は左右の両目および口として、二つの主要部相当領域A1、A1が検出された場合は左右の両目として、一つの主要部相当領域A1が検出された場合は口として設定するようにしたが、一例であってこれに限られるものではない。例えば、三つ以上の主要部相当領域A1、…が検出された場合に、それらの全てを目のみに設定し、それらの各々に対応する主要部対応領域A2としての口を設定したり、又は、全てを口のみに設定し、それらの各々に対応する主要部対応領域A2としての目を設定するようにしてもよい。
【0064】
さらに、画像処理装置100の構成は、上記実施形態に例示したものは一例であり、これに限られるものではない。例えば、画像処理装置100は、音を出力するスピーカ(図示略)を備え、画像内で口を動作させる処理の際にリップシンクさせるようにスピーカから所定の音声を出力するような構成としても良い。このとき出力される音声のデータは、例えば、基準動作データ3bと対応付けられて記憶されていても良い。
【0065】
また、上記実施形態にあっては、画像処理として主要部や他の主要部を動作させる動作処理を例示して、画像I内の主要部相当領域A1や主要部対応領域A2を主要部や他の主要部の動作処理対象として設定するようにしたが、一例であってこれに限られるものではなく、他の画像処理等に適宜任意に変更可能である。例えば、主要部相当領域A1や主要部対応領域A2に主要部や他の主要部を表す画像を置換して単に静止表示のみさせるような置換処理の処理対象としても良い。
【0066】
加えて、上記実施形態にあっては、取得手段、領域検出手段、第1設定手段としての機能を、画像処理装置100の中央制御部1の制御下にて、画像取得部5a、領域検出部5d、第1主要部設定部5eが駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部1のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
すなわち、プログラムを記憶するプログラムメモリに、取得処理ルーチン、領域検出処理ルーチン、設定処理ルーチンを含むプログラムを記憶しておく。そして、取得処理ルーチンにより中央制御部1のCPUを、画像Iを取得する手段として機能させるようにしても良い。また、領域検出処理ルーチンにより中央制御部1のCPUを、取得された画像I内で顔の主要部の形状に相当する領域(主要部相当領域A1)を検出する手段として機能させるようにしても良い。また、設定処理ルーチンにより中央制御部1のCPUを、検出された領域を何れかの主要部の画像処理対象として設定する手段として機能させるようにしても良い。
【0067】
同様に、特定手段、第2設定手段、動作制御手段、顔検出手段、主要部検出手段についても、中央制御部1のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
【0068】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ROMやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ(搬送波)も適用される。
【0069】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
画像を取得する取得手段と、
前記取得手段により取得された画像内で顔の主要部の形状に相当する領域を検出する領域検出手段と、
前記領域検出手段により検出された領域を何れかの主要部の画像処理対象として設定する第1設定手段と、
を備えたことを特徴とする画像処理装置。
<請求項2>
前記領域検出手段は、更に、前記画像内の円形又は多角形をなす領域を前記主要部の形状に相当する領域として検出することを特徴とする請求項1に記載の画像処理装置。
<請求項3>
前記画像内で前記領域検出手段により検出された領域の位置を基準として、前記第1設定手段により設定された前記主要部以外の他の主要部に対応する領域を特定する特定手段と、
前記特定手段により特定された領域を前記他の主要部の画像処理対象として設定する第2設定手段と、を更に備えることを特徴とする請求項1又は2に記載の画像処理装置。
<請求項4>
前記第1設定手段は、更に、前記画像内で前記領域検出手段により検出されたそれぞれ円形又は多角形をなす二つの領域に左右の両目を前記主要部として設定し、
前記特定手段は、前記画像内で前記領域検出手段により検出された前記二つの領域の位置を基準として、前記他の主要部としての口に対応する領域を特定することを特徴とする請求項3に記載の画像処理装置。
<請求項5>
前記第1設定手段は、更に、前記画像内で前記領域検出手段により検出された円形又は多角形をなす一の領域に口を前記主要部として設定し、
前記特定手段は、前記画像内で前記領域検出手段により検出された前記一の領域の位置を基準として、前記他の主要部としての目に対応する領域を特定することを特徴とする請求項3に記載の画像処理装置。
<請求項6>
前記第1設定手段は、更に、前記領域検出手段により検出された領域に前記主要部を表す画像を重畳させるように設定することを特徴とする請求項1〜5の何れか一項に記載の画像処理装置。
<請求項7>
前記取得手段により取得された画像内で、前記第1設定手段により設定された前記主要部を表す画像を動作させる動作制御手段を更に備えることを特徴とする請求項6に記載の画像処理装置。
<請求項8>
前記第1設定手段は、更に、前記領域検出手段により検出された領域に前記主要部を表す画像を重畳させるように設定し、
前記第2設定手段は、前記特定手段により特定された領域に前記他の主要部を表す画像を重畳させるように設定することを特徴とする請求項3に記載の画像処理装置。
<請求項9>
前記取得手段により取得された画像内で、前記第1設定手段により設定された前記主要部を表す画像及び前記第2設定手段により設定された前記他の主要部を表す画像を動作させる動作制御手段を更に備えることを特徴とする請求項8に記載の画像処理装置。
<請求項10>
前記取得手段により取得された画像から顔を検出する顔検出手段を更に備え、
前記領域検出手段は、前記顔検出手段により顔が検出されなかった場合に、前記取得手段により取得された画像内で顔の主要部の形状に相当する領域を検出することを特徴とする請求項1〜9の何れか一項に記載の画像処理装置。
<請求項11>
前記取得手段により取得された画像から顔の主要部を検出する主要部検出手段を更に備え、
前記領域検出手段は、前記主要部検出手段により前記主要部が検出されなかった場合に、前記取得手段により取得された画像内で顔の主要部の形状に相当する領域を検出することを特徴とする請求項1〜10の何れか一項に記載の画像処理装置。
<請求項12>
画像処理装置を用いた画像処理方法であって、
画像を取得する処理と、
取得された画像内で顔の主要部の形状に相当する領域を検出する処理と、
検出された領域を何れかの主要部の画像処理対象として設定する処理と、
を含むことを特徴とする画像処理方法。
<請求項13>
画像処理装置のコンピュータを、
画像を取得する取得手段、
前記取得手段により取得された画像内で顔の主要部の形状に相当する領域を検出する領域検出手段、
前記領域検出手段により検出された領域を何れかの主要部の画像処理対象として設定する第1設定手段、
として機能させることを特徴とするプログラム。