(58)【調査した分野】(Int.Cl.,DB名)
前記設定手段は、更に、前記第1算出手段により算出された目の上側部分及び下側部分の左右方向の長さの大きさに応じて、当該目を瞬き動作させる際の上瞼及び下瞼のうちの少なくとも一方の変形を制御する制御条件を設定することを特徴とする請求項4に記載の動作処理装置。
前記取得手段により取得された顔画像内で、前記設定手段により設定された制御条件に従って前記主要部を動作させる動作制御手段を更に備えることを特徴とする請求項1〜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は、顔を含む二次元の顔画像のデータである。具体的には、顔画像データ3aは、例えば、写真画像中のヒトの顔画像、漫画で表されたヒトや動物の顔画像、イラストの中のヒトや動物の顔画像等の画像データである。また、顔画像データ3aは、少なくとも顔を含む画像の画像データであれば良く、例えば、顔のみの画像データであっても良いし、胸から上の部分の画像データであっても良い。
なお、顔画像データ3aに係る顔画像は、一例であってこれらに限られるものではなく、適宜任意に変更可能である。
【0017】
また、記憶部3は、基準動作データ3bを記憶している。
基準動作データ3bは、顔の各主要部(例えば、目E(
図4(a)等参照)、口M(
図10(a)等参照)等)の動きを表現する際の基準となる動きを示す情報を含んでいる。具体的には、基準動作データ3bは、各主要部毎に規定され、所定空間内における複数の制御点の動きを示す情報を含み、例えば、複数の制御点の所定空間での位置座標(x, y)を示す情報や変形ベクトル等が時間軸に沿って並べられている。
すなわち、例えば、目Eの基準動作データ3bは、上瞼や下瞼に対応する複数の制御点が設定され、これら制御点の変形ベクトルが規定されている。また、口Mの基準動作データ3bは、上唇や下唇や左右の口角に対応する複数の制御点が設定され、これら制御点の変形ベクトルが規定されている。
【0018】
操作入力部4は、例えば、数値、文字等を入力するためのデータ入力キーや、データの選択、送り操作等を行うための上下左右移動キーや各種機能キー等によって構成されるキーボードやマウス等の操作部(図示略)を備え、これらの操作部の操作に応じて所定の操作信号を中央制御部1に出力する。
【0019】
動作処理部5は、画像取得部5aと、顔主要部検出部5bと、第1算出部5cと、形状特定部5dと、第2算出部5eと、動作条件設定部5fと、動作生成部5gと、動作制御部5hとを具備している。
なお、動作処理部5の各部は、例えば、所定のロジック回路から構成されているが、当該構成は一例であってこれに限られるものではない。
【0020】
画像取得部5aは、顔画像データ3aを取得する。
すなわち、画像取得部(取得手段)5aは、顔動作処理の処理対象となる顔を含む二次元の画像の顔画像データ3aを取得する。具体的には、画像取得部5aは、例えば、記憶部3に記憶されている所定数の顔画像データ3aの中で、ユーザによる操作入力部4の所定操作に基づいて指定されたユーザ所望の顔画像データ3aを顔動作処理の処理対象として取得する。
なお、画像取得部5aは、図示しない通信制御部を介して接続された外部機器(図示略)から顔画像データを取得しても良いし、図示しない撮像部により撮像されることで生成された顔画像データを取得しても良い。
【0021】
顔主要部検出部5bは、顔画像から顔を構成する主要部を検出する。
すなわち、顔主要部検出部(検出手段)5bは、画像取得部5aにより取得された顔画像データの顔画像から、例えば、AAM(Active Appearance Model)を用いた処理により、左右各々の目と眉、鼻、口、顔輪郭等の主要部を検出する。
ここで、AAMとは、視覚的事象のモデル化の一手法であり、任意の顔領域の画像のモデル化を行う処理である。例えば、顔主要部検出部5bは、複数のサンプル顔画像における所定の特徴部位(例えば、目尻や鼻頭やフェイスライン等)の位置や画素値(例えば、輝度値)の統計的分析結果を所定の登録手段に登録しておく。そして、顔主要部検出部5bは、上記の特徴部位の位置を基準として、顔の形状を表す形状モデルや平均的な形状における「Appearance」を表すテクスチャーモデルを設定し、これらのモデルを用いて顔画像をモデル化する。これにより、顔画像内で、例えば、目、眉、鼻、口、顔輪郭等の主要部がモデル化される。
なお、主要部の検出においてAAMを用いて行うようにしたが、一例であってこれに限られるものではなく、例えば、エッジ抽出処理、非等方拡散処理、テンプレートマッチング等適宜任意に変更可能である。
【0022】
第1算出部5cは、顔の主要部としての目Eの所定方向の長さを算出する。
すなわち、第1算出部(第1算出手段)5cは、目Eの上下方向(縦方向y)及び左右方向(横方向x)の長さをそれぞれ算出する。具体的には、第1算出部5cは、顔主要部検出部5bにより検出された目Eにおける、上下方向の画素数が最大となる部分の画素数を上下方向の長さhとして、また、左右方向の画素数が最大となる部分の画素数を左右方向の長さwとしてそれぞれ算出する(
図5(a)参照)。
また、第1算出部5cは、目Eの上側部分及び下側部分の左右方向の長さをそれぞれ算出する。具体的には、第1算出部5cは、顔主要部検出部5bにより検出された目Eを上下方向に略等しい幅で複数の領域(例えば、四つの領域)に分割し、最も上の領域とその一つ下側の領域との分割線の左右方向の画素数を目Eの上側部分の長さwtとして、また、最も下の領域とその一つ上側の領域との分割線の左右方向の画素数を目Eの下側部分の長さwbとしてそれぞれ算出する(
図5(b)及び
図5(c)参照)。
【0023】
形状特定部5dは、主要部の形状の種類を特定する。
すなわち、形状特定部(特定手段)5dは、顔主要部検出部5bにより検出された主要部の形状の種類を特定する。具体的には、形状特定部5dは、例えば、主要部としての目Eや口Mの形状の種類を特定する。
例えば、目Eの形状の種類を特定する場合、形状特定部5dは、第1算出部5cにより算出された目Eの上下方向及び左右方向の長さの比率(h/w)を算出し、当該比率(h/w)が所定範囲内にあるか否かに応じてヒトの目Eの形状(例えば、横長の楕円形状;
図4(a)参照)であるか否かを判定する。また、形状特定部5dは、第1算出部5cにより算出された目Eの上側部分及び下側部分の左右方向の長さwt、wbどうしを比較して、これらの長さwt、wbが略等しいか否かに応じて漫画風の目Eの形状(
図4(b)参照)であるか動物風の目Eの形状(例えば、略真円形状;
図4(c)参照)であるかを判定する。
【0024】
また、例えば、口Mの形状の種類を特定する場合、形状特定部5dは、左右の口角Ml、Mrと口中央部Mcとの上下方向の位置関係に基づいて口Mの形状の種類を特定する。
具体的には、形状特定部5dは、顔主要部検出部5bにより検出された口Mの上唇と下唇の合わせ目となる境界線Lの左右の両端部を左右の口角Ml、Mrの位置とするとともに、境界線Lの左右方向の略中央部を口中央部Mcとする。そして、形状特定部5dは、左右の口角Ml、Mrと口中央部Mcとの上下方向の位置関係に基づいて、左右の口角Ml、Mrと口中央部Mcが略等しい上下位置の口Mの形状(
図8(a)参照)であるか、左右の口角Ml、Mrに対して口中央部Mcが高い上下位置の口Mの形状(
図8(b)参照)であるか、左右の口角Ml、Mrが口中央部Mcに対して高い上下位置の口Mの形状(
図8(c)参照)であるかを特定する。
【0025】
なお、上記した目Eや口Mの形状の種類は、一例であってこれに限られるものではなく、適宜任意に変更可能である。また、主要部として目E及び口Mを例示して、その形状の種類を特定するようにしたが、一例であってこれに限られるものではなく、例えば、鼻、眉、顔輪郭等の他の主要部であっても良い。
【0026】
第2算出部5eは、主要部としての口Mに関連する所定方向の長さを算出する。
すなわち、第2算出部(第2算出手段)5eは、口Mの左右方向の長さlm、顔の口Mに対応する位置の左右方向の長さlf及び口Mから顎先までの上下方向の長さljをそれぞれ算出する(
図9(a)等参照)。
具体的には、第2算出部5eは、口Mの境界線Lの左右の両端部(左右の口角Ml、Mr)間の左右方向の画素数を口Mの左右方向の長さlmとして算出する。また、第2算出部5eは、口Mの境界線Lの左右の両端部を通り左右方向に延在する直線と顔主要部検出部5bにより検出された顔輪郭との二つの交点を特定して、二つの交点間の左右方向の画素数を顔の口Mに対応する位置の左右方向の長さlfとして算出する。また、第2算出部5eは、口Mの境界線Lの左右方向の略中央部(口中央部Mc)を通り上下方向に延在する直線と顔主要部検出部5bにより検出された顔輪郭との交点を特定して、特定された交点と口中央部Mcとの間の上下方向の画素数を口Mから顎先までの上下方向の長さljとして算出する。
【0027】
動作条件設定部5fは、主要部を動作させる際の制御条件を設定する。
すなわち、動作条件設定部(設定手段)5fは、形状特定部5dにより特定された主要部(例えば、目Eや口M等)の形状の種類に基づいて、当該主要部を動作させる際の制御条件を設定する。具体的には、動作条件設定部5fは、形状特定部5dにより特定された目Eの形状の種類に基づいて、当該目Eを瞬き動作させる際の制御条件を設定する。また、動作条件設定部5fは、形状特定部5dにより特定された口Mの形状の種類に基づいて、当該口Mを開閉動作させる際の制御条件を設定する。
例えば、動作条件設定部5fは、記憶部3から処理対象となる主要部の基準動作データ3bを読み出して取得し、形状特定部5dにより特定された主要部の形状の種類に基づいて、基準動作データ3bに含まれる当該主要部を動作させるための複数の制御点の動きを示す情報の補正内容を制御条件として設定する。
【0028】
具体的には、目Eを瞬き動作させる際の制御条件を設定する場合、動作条件設定部5fは、形状特定部5dにより特定された目Eの形状の種類に基づいて、基準動作データ3bに含まれる上瞼や下瞼に対応する複数の制御点の動きを示す情報の補正内容を制御条件として設定する。
また、動作条件設定部5fは、第1算出部5cにより算出された目Eの上側部分及び下側部分の左右方向の長さwt、wbの大きさに応じて、当該目Eを瞬き動作させる際の上瞼及び下瞼のうちの少なくとも一方の変形を制御する制御条件を設定しても良い。例えば、動作条件設定部5fは、目Eの上側部分及び下側部分の左右方向の長さwt、wbどうしを比較して、長さが短い方に対応する瞼の変形量(例えば、下瞼の変形量n)が長い方に対応する瞼の変形量(例えば、上瞼の変形量m)に対して相対的に大きくなるように(
図6(b)参照)、基準動作データ3bに含まれる上瞼や下瞼に対応する複数の制御点の動きを示す情報の補正内容を設定する。また、動作条件設定部5fは、目Eの上側部分及び下側部分の左右方向の長さwt、wbどうしが略等しい場合には(
図6(c)参照)、上瞼の変形量m及び下瞼の変形量nが略等しくなるように、基準動作データ3bに含まれる上瞼や下瞼に対応する複数の制御点の動きを示す情報の補正内容を設定する。
【0029】
また、口Mを開閉動作させる際の制御条件を設定する場合、動作条件設定部5fは、形状特定部5dにより特定された口Mの形状の種類に基づいて、基準動作データ3bに含まれる上唇や下唇や左右の口角Ml、Mrに対応する複数の制御点の動きを示す情報の補正内容を制御条件として設定する。
例えば、動作条件設定部5fは、形状特定部5dにより特定された口Mの形状が左右の口角Ml、Mrに対して口中央部Mcが高い上下位置の口Mの形状(
図10(b)参照)である場合には、左右の口角Ml、Mrの上方向への変形量が相対的に大きくなるように、基準動作データ3bに含まれる口角Ml、Mrに対応する複数の制御点の動きを示す情報の補正内容を設定する。また、動作条件設定部5fは、形状特定部5dにより特定された口Mの形状が左右の口角Ml、Mrが口中央部Mcに対して高い上下位置の口Mの形状(
図10(c)参照)である場合には、左右の口角Ml、Mrの下方向への変形量が相対的に大きくなるように、基準動作データ3bに含まれる左右の口角Ml、Mrに対応する複数の制御点の動きを示す情報の補正内容を設定する。
【0030】
さらに、動作条件設定部5fは、顔主要部検出部5bにより検出された口M以外の主要部(例えば、顎先等)に対する口Mとの相対的な位置関係に基づいて、当該口Mを開閉動作させる際の制御条件を設定しても良い。
具体的には、動作条件設定部5fは、第2算出部5eにより算出された口Mの左右方向の長さlm、顔の口Mに対応する位置の左右方向の長さlf及び口Mから顎先までの上下方向の長さljに基づいて、口M以外の主要部に対する口Mとの相対的な位置関係を特定する。そして、動作条件設定部5fは、特定された位置関係に基づいて、当該口Mを開閉動作させる際の上唇及び下唇のうちの少なくとも一方の変形を制御する制御条件を設定する。例えば、動作条件設定部5fは、口Mの左右方向の長さlmと顔の口Mに対応する位置の左右方向の長さlfを比較して、顔輪郭内における口Mの左右の領域の大きさを特定する。そして、動作条件設定部5fは、顔輪郭内における口Mの左右の領域の大きさ及び口Mから顎先までの上下方向の長さljに基づいて、口Mを開閉動作させる際の上下方向の開閉や左右方向の開閉を制御する制御条件を設定する。
すなわち、例えば、開閉動作する口Mの左右方向及び上下方向への変形量は、当該口Mの大きさ、特に、口Mの左右方向の長さlmを基準として変化する。例えば、一般的にlmの大きさが大きいほど口Mを開閉動作する際の左右方向及び上下方向への変形量が大きくなる。そのため、口Mの左右方向の長さlmを基準として、顔輪郭内における口Mの左右の領域の大きさや口Mから顎先までの上下方向の長さljが相対的に大きい場合には、基準動作データ3bに基づいて口Mを変形させても問題ないと考えられる。
一方、口Mから顎先までの上下方向の長さljが相対的に小さい場合(
図11(b)参照)には、動作条件設定部5fは、下唇の下方向への変形量が相対的に小さくなるように、基準動作データ3bに含まれる上唇や下唇に対応する複数の制御点の動きを示す情報の補正内容を設定する。また、顔輪郭内における口Mの左右の領域の大きさが相対的に大きい場合(
図11(c)参照)には、動作条件設定部5fは、左右の口角Ml、Mrの左右方向への変形量が相対的に大きくなるように、基準動作データ3bに含まれる左右の口角Ml、Mrに対応する複数の制御点の動きを示す情報の補正内容を設定する。
【0031】
なお、動作条件設定部5fにより設定された制御条件は、所定の格納手段(例えば、メモリ2等)に出力されて一時的に格納されても良い。
また、上記した目Eや口M等の主要部を動作させる際の制御内容は、一例であってこれに限られるものではなく、適宜任意に変更可能である。
さらに、主要部として目E及び口Mを例示して、その制御条件を設定するようにしたが、一例であってこれに限られるものではなく、例えば、鼻、眉、顔輪郭等の他の主要部であっても良い。このとき、例えば、目Eや口Mを動作させる際の制御条件を考慮して、他の主要部の制御条件を設定するようにしても良い。すなわち、例えば、目Eを瞬き動作させる際の制御条件を考慮して、眉や鼻等の目Eの周辺の主要部を関連して動作させるような制御条件を設定しても良いし、また、口Mを開閉動作させる際の制御条件を考慮して、鼻や顔輪郭等の口Mの周辺の主要部を関連して動作させるような制御条件を設定しても良い。
【0032】
動作生成部5gは、動作条件設定部5fにより設定された制御条件に基づいて、主要部を動作させるための動作データを生成する。
具体的には、動作生成部5gは、処理対象となる主要部の基準動作データ3bと、動作条件設定部5fにより設定された基準動作データ3bの補正内容とに基づいて、複数の制御点の動きを示す情報を補正して、補正後のデータを当該主要部の動作データとして生成する。
なお、動作生成部5gにより生成された動作データは、所定の格納手段(例えば、メモリ2等)に出力されて一時的に格納されても良い。
【0033】
動作制御部5hは、顔画像内で主要部を動作させる。
すなわち、動作制御部(動作制御手段)5hは、画像取得部5aにより取得された顔画像内で、動作条件設定部5fにより設定された制御条件に従って主要部を動作させる。具体的には、動作制御部5hは、処理対象となる主要部の所定位置に複数の制御点を設定するとともに、動作生成部5gにより生成された処理対象となる主要部の動作データを取得する。そして、動作制御部5hは、取得された動作データに規定されている複数の制御点の動きを示す情報に基づいて複数の制御点を変位させることで、当該主要部を動作させる変形処理を行う。
【0034】
表示部6は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)等のディスプレイから構成され、表示制御部7の制御下にて各種情報を表示画面に表示する。
【0035】
表示制御部7は、表示用データを生成して表示部6の表示画面に表示させる制御を行う。
具体的には、表示制御部7は、例えば、GPU(Graphics Processing Unit)やVRAM(Video Random Access Memory)等を具備するビデオカード(図示略)を備えている。そして、表示制御部7は、中央制御部1からの表示指示に従って、顔動作処理にて主要部を動作させるための各種画面の表示用データをビデオカードによる描画処理によって生成し、表示部6に出力する。これにより、表示部6は、例えば、顔動作処理にて顔画像の主要部(例えば、目Eや口M等)を動作させたり顔の表情を変化させるように変形させたコンテンツを表示する。
【0036】
<顔動作処理>
次に、顔動作処理について
図2〜
図11を参照して説明する。
図2は、顔動作処理に係る動作の一例を示すフローチャートである。
【0037】
図2に示すように、先ず、動作処理部5の画像取得部5aは、例えば、記憶部3に記憶されている所定数の顔画像データ3aの中で、ユーザによる操作入力部4の所定操作に基づいて指定されたユーザ所望の顔画像データ3aを取得する(ステップS1)。
次に、顔主要部検出部5bは、画像取得部5aにより取得された顔画像データの顔画像から、例えば、AAMを用いた処理により、左右各々の目、鼻、口、眉、顔輪郭等の主要部を検出する(ステップS2)。
【0038】
続けて、動作処理部5は、顔主要部検出部5bにより検出された主要部を動作させる際の制御条件を設定する主要部制御条件設定処理を行う(ステップS3)。
なお、処理内容の詳細は後述するが、主要部制御条件設定処理として、目制御条件設定処理(
図3参照)及び口制御条件設定処理(
図7参照)を例示する。
【0039】
次に、動作生成部5gは、主要部制御条件設定処理にて設定された制御条件に基づいて、主要部を動作させるための動作データを生成する(ステップS4)。その後、動作制御部5hは、動作生成部5gにより生成された動作データに基づいて、顔画像内で主要部を動作させる処理を行う(ステップS5)。
例えば、動作生成部5gは、目制御条件設定処理や口制御条件設定処理にて設定された制御条件に基づいて、目Eや口Mを動作させるための動作データを生成し、動作制御部5hは、動作生成部5gにより生成された動作データに基づいて、顔画像内で目Eや口Mを動作させる処理を行う。
【0040】
<目制御条件設定処理>
次に、目制御条件設定処理について
図3〜
図6を参照して説明する。
図3は、目制御条件設定処理に係る動作の一例を示すフローチャートである。また、
図4(a)〜
図4(c)、
図5(a)〜
図5(c)、
図6(a)〜
図6(c)は、目制御条件設定処理を説明するための図である。
なお、
図4(a)〜
図4(c)、
図5(a)〜
図5(c)、
図6(a)〜
図6(c)の各々の目Eは、左側(画像に向かって右側)の目を模式的に表している。
【0041】
図3に示すように、第1算出部5cは、顔主要部検出部5bにより主要部として検出された目Eの上下方向の長さh及び左右方向の長さwをそれぞれ算出する(ステップS21;
図5(a)参照)。
【0042】
続けて、形状特定部5dは、第1算出部5cにより算出された目Eの上下方向及び左右方向の長さの比率(h/w)を算出し、当該比率(h/w)が所定範囲内にあるか否かを判定する(ステップS22)。
ここで、比率(h/w)が所定範囲内にあると判定されると(ステップS22;YES)、形状特定部5dは、処理対象の目Eが横長の楕円形状をなすヒトの目Eの形状(
図4(a)参照)であると特定する(ステップS23)。そして、動作条件設定部5fは、目Eを瞬き動作させる際の制御条件として、上瞼に対応する複数の制御点の動きを示す情報(例えば、変形ベクトル等)のみを制御条件として設定する(ステップS24)。この場合、下瞼の変形量nは「0」となり、上瞼が変形量mで変形する動作となる。
【0043】
一方、比率(h/w)が所定範囲内にないと判定されると(ステップS22;NO)、第1算出部5cは、目Eの上側部分の左右方向の長さwt及び下側部分の左右方向の長さwbをそれぞれ算出する(ステップS25;
図5(b)及び
図5(c)参照)。
そして、形状特定部5dは、第1算出部5cにより算出された目Eの上側部分の左右方向の長さwt及び下側部分の左右方向の長さwbが略等しいか否かを判定する(ステップS26)。
【0044】
ステップS26にて、目Eの上側部分の左右方向の長さwt及び下側部分の左右方向の長さwbが略等しくないと判定されると(ステップS26;NO)、形状特定部5dは、処理対象の目Eが漫画風の目Eの形状(
図4(b)参照)であると特定する(ステップS27)。
そして、動作条件設定部5fは、長さが短い方に対応する瞼の変形量(例えば、下瞼の変形量n)が長い方に対応する瞼の変形量(例えば、上瞼の変形量m)に対して相対的に大きくなるように、基準動作データ3bに含まれる上瞼や下瞼に対応する複数の制御点の動きを示す情報の補正内容を制御条件として設定する(ステップS28)。
このとき、動作条件設定部5fは、目Eの瞬き動作の際に目尻が下がるような表現がなされるように、上瞼や下瞼に対応する複数の制御点の動きを示す情報の補正内容(変形ベクトル等)を設定しても良い(
図6(b)参照)。
【0045】
一方、ステップS26にて、目Eの上側部分の左右方向の長さwt及び下側部分の左右方向の長さwbが略等しいと判定されると(ステップS26;YES)、形状特定部5dは、処理対象の目Eが略真円形状をなす動物風の目Eの形状(
図4(c)参照)であると特定する(ステップS29)。
そして、動作条件設定部5fは、上瞼の変形量m及び下瞼の変形量nが略等しくなるように、基準動作データ3bに含まれる上瞼や下瞼に対応する複数の制御点の動きを示す情報の補正内容を制御条件として設定する(ステップS30)。
【0046】
<口制御条件設定処理>
次に、口制御条件設定処理について
図7〜
図10を参照して説明する。
図7は、口制御条件設定処理に係る動作の一例を示すフローチャートである。また、
図8(a)〜
図8(c)、
図9(a)〜
図9(c)、
図10(a)〜
図10(c)、
図11(a)〜
図11(c)は、口制御条件設定処理を説明するための図である。
【0047】
図7に示すように、形状特定部5dは、顔主要部検出部5bにより検出された口Mの上唇と下唇の合わせ目となる境界線Lの左右の両端部を左右の口角Ml、Mrの位置として特定するとともに、境界線Lの左右方向の略中央部を口中央部Mcとして特定する(ステップS41)。
次に、形状特定部5dは、左右の口角Ml、Mrと口中央部Mcとが略等しい上下位置であるか否かを判定する(ステップS42)。
【0048】
ステップS42にて、左右の口角Ml、Mrと口中央部Mcとが略等しい上下位置でないと判定されると(ステップS42;NO)、形状特定部5dは、左右の口角Ml、Mrに対して口中央部Mcが高い上下位置であるか否かを判定する(ステップS43)。
ここで、左右の口角Ml、Mrに対して口中央部Mcが高い上下位置であると判定されると(ステップS43;YES)、動作条件設定部5fは、左右の口角Ml、Mrの上方向への変形量が相対的に大きくなるように、基準動作データ3bに含まれる口角Ml、Mrに対応する複数の制御点の動きを示す情報の補正内容を制御条件として設定する(ステップS44;
図10(b)参照)。
一方、ステップS43にて、左右の口角Ml、Mrに対して口中央部Mcが高い上下位置でない(左右の口角Ml、Mrが口中央部Mcに対して高い上下位置である)と判定されると(ステップS43;NO)、動作条件設定部5fは、左右の口角Ml、Mrの下方向への変形量が相対的に大きくなるように、基準動作データ3bに含まれる左右の口角Ml、Mrに対応する複数の制御点の動きを示す情報の補正内容を制御条件として設定する(ステップS45;
図10(c)参照)。
【0049】
なお、ステップS42にて、左右の口角Ml、Mrと口中央部Mcとが略等しい上下位置であると判定された場合(ステップS42;YES)には、動作条件設定部5fは、基準動作データ3bに含まれる上唇や下唇や左右の口角Ml、Mrに対応する複数の制御点の動きを示す情報の補正を行わない。
【0050】
その後、第2算出部5eは、口Mの左右方向の長さlm、顔の口Mに対応する位置の左右方向の長さlf及び口Mから顎先までの上下方向の長さljをそれぞれ算出する(ステップS46;
図9(a)等参照)。
続けて、動作条件設定部5fは、口Mの左右方向の長さlmを基準として、口Mから顎先までの上下方向の長さljが相対的に大きいか否かを判定する(ステップS47)。
【0051】
ステップS47にて、口Mから顎先までの上下方向の長さljが相対的に大きいと判定されると(ステップS47;YES)、動作条件設定部5fは、基準動作データ3bに規定されている上唇や下唇や左右の口角Ml、Mrに対応する複数の制御点の動きを示す情報を制御条件として設定する(ステップS48)。
【0052】
一方、ステップS47にて、口Mから顎先までの上下方向の長さljが相対的に大きくないと判定されると(ステップS47;NO)、動作条件設定部5fは、口Mの左右方向の長さlmを基準として、顔輪郭内における口Mの左右の領域の大きさが相対的に大きいか否かを判定する(ステップS49)。
【0053】
ステップS49にて、顔輪郭内における口Mの左右の領域の大きさが相対的に大きくないと判定されると(ステップS49;NO)、動作条件設定部5fは、下唇の下方向への変形量が相対的に小さくなるように、基準動作データ3bに含まれる上唇や下唇に対応する複数の制御点の動きを示す情報の補正内容を制御条件として設定する(ステップS50;
図11(b)参照)。
一方、顔輪郭内における口Mの左右の領域の大きさが相対的に大きいと判定されると(ステップS49;YES)、動作条件設定部5fは、左右の口角Ml、Mrの左右方向への変形量が相対的に大きくなるように、基準動作データ3bに含まれる左右の口角Ml、Mrに対応する複数の制御点の動きを示す情報の補正内容を制御条件として設定する(ステップS51;
図11(c)参照)。
【0054】
以上のように、本実施形態の動作処理装置100によれば、顔画像から検出された顔を構成する主要部(例えば、目Eや口M等)の形状の種類を特定して、特定された主要部の形状の種類に基づいて、当該主要部を動作させる際の制御条件を設定するので、顔画像内で制御条件に従って顔の主要部の形状の種類に応じた適正な動作を行わせることができ、局所的な画質の劣化や不自然な変形を抑制することができることとなって、顔の主要部の動作をより自然に行うことができる。
【0055】
また、顔の主要部としての目Eの上下方向の長さh及び左右方向の長さwの比率に基づいて、当該目Eの形状の種類を特定するので、横長の楕円形状をなすヒトの目Eの形状の特定を適正に行うことができる。さらに、目Eの上側部分の左右方向の長さwt及び下側部分の左右方向の長さwbどうしを比較して、当該目Eの形状の種類を特定するので、漫画風の目Eの形状や略真円形状をなす動物風の目Eの形状の特定を適正に行うことができる。そして、目Eの形状の種類に基づいて設定された制御条件に従って当該目Eの瞬き動作をより自然に行うことができる。
さらに、目Eの上側部分の左右方向の長さwt及び下側部分の左右方向の長さwbの大きさに応じて、当該目Eを瞬き動作させる際の上瞼及び下瞼のうちの少なくとも一方の変形を制御することで、処理対象となる目Eが漫画風の目Eの形状や動物風の目Eの形状であっても不自然な変形を抑制した自然な瞬き動作を行わせることができる。
【0056】
また、顔の主要部としての口Mの左右の口角Ml、Mrと口中央部Mcとの上下方向の位置関係に基づいて口Mの形状の種類を特定するので、左右の口角Ml、Mrと口中央部Mcが略等しい上下位置の口Mの形状や、左右の口角Ml、Mrに対して口中央部Mcが高い上下位置の口Mの形状や、左右の口角Ml、Mrが口中央部Mcに対して高い上下位置の口Mの形状等の特定を適正に行うことができる。そして、口Mの形状の種類に基づいて設定された制御条件に従って当該口Mの開閉動作をより自然に行うことができる。
さらに、顔主要部検出部5bにより検出された口M以外の主要部(例えば、顎先等)に対する口Mとの相対的な位置関係に基づいて、当該口Mを開閉動作させる際の制御条件を設定することができる。具体的には、口Mの左右方向の長さlm、顔の口Mに対応する位置の左右方向の長さlf及び口Mから顎先までの上下方向の長さljに基づいて、口M以外の主要部に対する口Mとの相対的な位置関係を特定するので、顔輪郭内における口Mの左右の領域の大きさや口Mから顎先までの上下方向の長さlj等を考慮して、当該口Mを開閉動作させる際の制御条件を設定することができ、設定された制御条件に従って当該口Mの開閉動作をより自然に行うことができる。
【0057】
また、顔の各主要部の動きを表現する際の基準となる動きを示す情報を含む基準動作データ3bを用意しておき、基準動作データ3bに含まれる当該主要部を動作させるための複数の制御点の動きを示す情報の補正内容を制御条件として設定することで、種々様々な顔の主要部の形状に応じて動作させるためのデータをそれぞれ用意することなく、顔の主要部の動作をより自然に行うことができる。すなわち、例えば、写真やイラストといった元となる画像の種類、ヒトや動物といった顔の種類毎に主要部の動きを示す情報を含む動作データを用意する必要がなくなり、これらを用意する場合の作業量やこれらのデータを記憶する記憶部の容量の増大を抑制することができる。
【0058】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
また、上記実施形態にあっては、動作処理装置100単体から構成するようにしたが、一例であってこれに限られるものではなく、例えば、人物、キャラクタ、動物等の投影対象物が商品等の説明を行う映像コンテンツをスクリーンに投影する投影システム(図示略)に適用した構成であっても良い。
【0059】
さらに、上記実施形態にあっては、動作条件設定部5fにより設定された制御条件に基づいて、主要部を動作させるための動作データを生成するようにしたが、一例であってこれに限られるものではなく、必ずしも動作生成部5gを具備する必要はなく、例えば、動作条件設定部5fにより設定された制御条件を外部機器(図示略)に出力して、当該外部機器にて動作データを生成するようにしても良い。
また、動作条件設定部5fにより設定された制御条件に従って主要部を動作させるようにしたが、一例であってこれに限られるものではなく、必ずしも動作制御部5hを具備する必要はなく、例えば、動作条件設定部5fにより設定された制御条件を外部機器(図示略)に出力して、当該外部機器にて制御条件に従って主要部を動作させるようにしても良い。
【0060】
さらに、動作処理装置100の構成は、上記実施形態に例示したものは一例であり、これに限られるものではない。例えば、動作処理装置100は、音を出力するスピーカ(図示略)を備え、顔画像内で口Mを動作させる処理の際にリップシンクさせるようにスピーカから所定の音声を出力するような構成としても良い。このとき出力される音声のデータは、例えば、基準動作データ3bと対応付けられて記憶されていても良い。
【0061】
加えて、上記実施形態にあっては、取得手段、検出手段、特定手段、設定手段としての機能を、動作処理装置100の中央制御部1の制御下にて、画像取得部5a、顔主要部検出部5b、形状特定部5d、動作条件設定部5fが駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部1のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
すなわち、プログラムを記憶するプログラムメモリに、取得処理ルーチン、検出処理ルーチン、特定処理ルーチン、設定処理ルーチンを含むプログラムを記憶しておく。そして、取得処理ルーチンにより中央制御部1のCPUを、顔画像を取得する手段として機能させるようにしても良い。また、検出処理ルーチンにより中央制御部1のCPUを、取得された顔画像から顔を構成する主要部を検出する手段として機能させるようにしても良い。また、特定処理ルーチンにより中央制御部1のCPUを、検出された主要部の形状の種類を特定する手段として機能させるようにしても良い。また、設定処理ルーチンにより中央制御部1のCPUを、特定された主要部の形状の種類に基づいて、当該主要部を動作させる際の制御条件を設定する手段として機能させるようにしても良い。
【0062】
同様に、第1算出手段、第2算出手段、動作制御手段についても、中央制御部1のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
【0063】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ROMやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ(搬送波)も適用される。
【0064】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
顔画像を取得する取得手段と、
前記取得手段により取得された顔画像から顔を構成する主要部を検出する検出手段と、
前記検出手段により検出された前記主要部の形状の種類を特定する特定手段と、
前記特定手段により特定された前記主要部の形状の種類に基づいて、当該主要部を動作させる際の制御条件を設定する設定手段と、
を備えたことを特徴とする動作処理装置。
<請求項2>
前記特定手段は、更に、前記主要部としての目の形状の種類を特定し、
前記設定手段は、更に、前記特定手段により特定された目の形状の種類に基づいて、当該目を瞬き動作させる際の制御条件を設定することを特徴とする請求項1に記載の動作処理装置。
<請求項3>
目の上下方向及び左右方向の長さをそれぞれ算出する第1算出手段を更に備え、
前記特定手段は、前記第1算出手段により算出された目の上下方向及び左右方向の長さの比率に基づいて、当該目の形状の種類を特定することを特徴とする請求項2に記載の動作処理装置。
<請求項4>
前記第1算出手段は、更に、目の上側部分及び下側部分の左右方向の長さをそれぞれ算出し、
前記特定手段は、前記第1算出手段により算出された目の上側部分及び下側部分の左右方向の長さどうしを比較して、当該目の形状の種類を特定することを特徴とする請求項3に記載の動作処理装置。
<請求項5>
前記設定手段は、更に、前記第1算出手段により算出された目の上側部分及び下側部分の左右方向の長さの大きさに応じて、当該目を瞬き動作させる際の上瞼及び下瞼のうちの少なくとも一方の変形を制御する制御条件を設定することを特徴とする請求項4に記載の動作処理装置。
<請求項6>
前記特定手段は、更に、前記主要部としての口の形状の種類を特定し、
前記設定手段は、更に、前記特定手段により特定された口の形状の種類に基づいて、当該口を開閉動作させる際の制御条件を設定することを特徴とする請求項1に記載の動作処理装置。
<請求項7>
前記特定手段は、更に、口角と口中央部との上下方向の位置関係に基づいて口の形状の種類を特定することを特徴とする請求項6に記載の動作処理装置。
<請求項8>
前記設定手段は、更に、前記検出手段により検出された口以外の前記主要部に対する口との相対的な位置関係に基づいて、当該口を開閉動作させる際の制御条件を設定することを特徴とする請求項6又は7に記載の動作処理装置。
<請求項9>
口の左右方向の長さ、顔の口に対応する位置の左右方向の長さ及び口から顎先までの上下方向の長さをそれぞれ算出する第2算出手段を更に備え、
前記設定手段は、前記第2算出手段により算出された口の左右方向の長さ、顔の口に対応する位置の左右方向の長さ及び口から顎先までの上下方向の長さに基づいて、口以外の前記主要部に対する口との相対的な位置関係を特定し、特定された位置関係に基づいて、当該口を開閉動作させる際の制御条件を設定することを特徴とする請求項8に記載の動作処理装置。
<請求項10>
前記取得手段により取得された顔画像内で、前記設定手段により設定された制御条件に従って前記主要部を動作させる動作制御手段を更に備えることを特徴とする請求項1〜9の何れか一項に記載の動作処理装置。
<請求項11>
動作処理装置を用いた動作処理方法であって、
顔画像を取得する処理と、
取得された顔画像から顔を構成する主要部を検出する処理と、
検出された前記主要部の形状の種類を特定する処理と、
特定された前記主要部の形状の種類に基づいて、当該主要部を動作させる際の制御条件を設定する処理と、
を含むことを特徴とする動作処理方法。
<請求項12>
動作処理装置のコンピュータを、
顔画像を取得する取得手段、
前記取得手段により取得された顔画像から顔を構成する主要部を検出する検出手段、
前記検出手段により検出された前記主要部の形状の種類を特定する特定手段、
前記特定手段により特定された前記主要部の形状の種類に基づいて、当該主要部を動作させる際の制御条件を設定する設定手段、
として機能させることを特徴とするプログラム。