(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-03-04
(45)【発行日】2025-03-12
(54)【発明の名称】画像生成方法及び画像生成プログラム
(51)【国際特許分類】
G06T 13/40 20110101AFI20250305BHJP
H04N 21/234 20110101ALI20250305BHJP
【FI】
G06T13/40
H04N21/234
(21)【出願番号】P 2024089021
(22)【出願日】2024-05-31
【審査請求日】2024-11-21
【早期審査対象出願】
(73)【特許権者】
【識別番号】519120525
【氏名又は名称】カバー株式会社
(74)【代理人】
【識別番号】100098729
【氏名又は名称】重信 和男
(74)【代理人】
【識別番号】100206911
【氏名又は名称】大久保 岳彦
(74)【代理人】
【識別番号】100206656
【氏名又は名称】林 修身
(74)【代理人】
【識別番号】100204467
【氏名又は名称】石川 好文
(74)【代理人】
【識別番号】100148161
【氏名又は名称】秋庭 英樹
(74)【代理人】
【識別番号】100195833
【氏名又は名称】林 道広
(72)【発明者】
【氏名】高尾 翔英
(72)【発明者】
【氏名】鈴木 留奈
【審査官】益戸 宏
(56)【参考文献】
【文献】特開2013-251667(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/40
G06T 19/00
H04N 21/234
(57)【特許請求の範囲】
【請求項1】
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
を含むコンピュータを用いた画像生成方法において、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに含み、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像を顔画像の表情を視認できる形状に変形させる
ことを特徴とする画像生成方法。
【請求項2】
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置ではない場合でも、前記顔画像の表情を視認できない位置に近づいた場合に、前記特定画像を前記顔画像の表情を視認できる形状に向けて変形させる
請求項1に記載の画像生成方法。
【請求項3】
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置までの距離に応じて、前記特定画像を前記顔画像の表情を視認できる形状に向けて徐々に変形させる
請求項2に記載の画像生成方法。
【請求項4】
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
を含むコンピュータを用いた画像生成方法において、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに含み、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像の位置を顔画像の表情を視認できる位置に移動させる
ことを特徴とする画像生成方法。
【請求項5】
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置ではない場合でも、前記顔画像の表情を視認できない位置に近づいた場合に、前記特定画像の位置を顔画像の表情を視認できる位置に向けて移動させる
請求項4に記載の画像生成方法。
【請求項6】
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置までの距離に応じて、前記特定画像の位置を顔画像の表情を視認できる位置に向けて徐々に移動させる
請求項5に記載の画像生成方法。
【請求項7】
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
をコンピュータに実行させる画像生成プログラムにおいて、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに実行させ、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像を顔画像の表情を視認できる形状に変形させる
ことを特徴とする画像生成プログラム。
【請求項8】
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
をコンピュータに実行させる画像生成プログラムにおいて、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに実行させ、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像の位置を顔画像の表情を視認できる位置に移動させる
ことを特徴とする画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力された顔画像に応じた表情の顔画像を生成する画像生成方法及び画像生成プログラムに関する。
【背景技術】
【0002】
従来、例えば、スマートフォンで撮影した顔をフェイストラッキングすることで、撮影した顔の表情をCG等で作成したキャラクタ等のアバターの表情に反映させることができる技術が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のフェイストラッキングした顔の表情をアバターの表情に反映させる技術において、顔画像とそれに付随する画像を出力する場合に、撮影方向やトラッキングする顔の向きによっては、出力された顔画像の表情が隠れてしまうという問題があった。
【0005】
本発明は、フェイストラッキングにより出力される顔画像の表情が他の画像により隠れてしまうことが防止される画像生成方法及び画像生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
手段1の画像生成方法は、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
を含むコンピュータを用いた画像生成方法において、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに含み、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像を顔画像の表情を視認できる形状に変形させる
ことを特徴としている。
この特徴によれば、撮影方向に応じて特定画像の位置が顔画像の表情を視認できない位置となる場合に、特定画像を顔画像の表情を視認できる形状に変形させるため、顔画像の表情が特定画像により隠れてしまうことを防止できる。
【0007】
手段2の画像生成方法は、手段1に記載の画像生成方法であって、
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置ではない場合でも、前記顔画像の表情を視認できない位置に近づいた場合に、前記特定画像を前記顔画像の表情を視認できる形状に向けて変形させる
ことを特徴としている。
この特徴によれば、顔画像の表情が隠れる前から特定画像を顔画像の表情を視認できる形状に向けて変形させることができる。
【0008】
手段3の画像生成方法は、手段2に記載の画像生成方法であって、
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置までの距離に応じて、前記特定画像を前記顔画像の表情を視認できる形状に向けて徐々に変形させる
ことを特徴としている。
この特徴によれば、自然に特定画像を顔画像の表情を視認できる形状に向けて変形させることができる。
【0009】
手段4の画像生成方法は、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
を含むコンピュータを用いた画像生成方法において、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに含み、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像の位置を顔画像の表情を視認できる位置に移動させる
ことを特徴としている。
この特徴によれば、撮影方向に応じて特定画像の位置が顔画像の表情を視認できない位置となる場合に、特定画像の位置を顔画像の表情を視認できる位置に移動させるため、顔画像の表情が特定画像により隠れてしまうことを防止できる。
【0010】
手段5の画像生成方法は、手段4に記載の画像生成方法であって、
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置ではない場合でも、前記顔画像の表情を視認できない位置に近づいた場合に、前記特定画像の位置を顔画像の表情を視認できる位置に向けて移動させる
ことを特徴としている。
この特徴によれば、顔画像の表情が隠れる前から特定画像の位置を顔画像の表情を視認できる位置に向けて移動させることができる。
【0011】
手段6の画像生成方法は、手段5に記載の画像生成方法であって、
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置までの距離に応じて、前記特定画像の位置を顔画像の表情を視認できる位置に向けて徐々に移動させる
ことを特徴としている。
この特徴によれば、自然に特定画像の位置を顔画像の表情を視認できる位置に向けて移動させることができる。
【0012】
手段7の画像生成プログラムは、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
をコンピュータに実行させる画像生成プログラムにおいて、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに実行させ、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像を顔画像の表情を視認できる形状に変形させる
ことを特徴としている。
この特徴によれば、撮影方向に応じて特定画像の位置が顔画像の表情を視認できない位置となる場合に、特定画像を顔画像の表情を視認できる形状に変形させるため、顔画像の表情が特定画像により隠れてしまうことを防止できる。
【0013】
手段8の画像生成プログラムは、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
をコンピュータに実行させる画像生成プログラムにおいて、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに実行させ、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像の位置を顔画像の表情を視認できる位置に移動させる
ことを特徴としている。
この特徴によれば、撮影方向に応じて特定画像の位置が顔画像の表情を視認できない位置となる場合に、特定画像の位置を顔画像の表情を視認できる位置に移動させるため、顔画像の表情が特定画像により隠れてしまうことを防止できる。
【0014】
尚、本発明は、本発明の請求項に記載された発明特定事項のみを有するものであって良いし、本発明の請求項に記載された発明特定事項とともに該発明特定事項以外の構成を有するものであっても良い。
【図面の簡単な説明】
【0015】
【
図1】本発明の実施例に用いるコンピュータ端末の構成例を示すブロック図である。
【
図2】本発明の実施例に用いるコンピュータ端末に実装されたプログラムの構成を示す図である。
【
図3】本発明の実施例においてコンピュータ端末に実装されたプログラム同士の関係を示す図である。
【
図4】本発明の実施例において画像生成に用いるパラメータの構成を示す図である。
【
図5】本発明の実施例においてコンピュータ端末が行うパラメータ補正プログラムの制御内容を示すフローチャートである。
【
図6】本発明の実施例においてコンピュータ端末が行う感情値算出処理の内容を示す図である。
【
図7】本発明の実施例においてコンピュータ端末が行うMouthSmile補正処理の内容を示す図である。
【
図8】本発明の実施例においてコンピュータ端末が行うMouthFrown補正処理の内容を示す図である。
【
図9】本発明の実施例においてコンピュータ端末が行うBrowDown補正処理の内容を示す図である。
【
図10】本発明の実施例においてコンピュータ端末が行うEyeBlink切替処理の内容を示す図である。
【
図11】本発明の実施例においてコンピュータ端末が行うコンフィグ補正処理の内容を示す図である。
【
図12】本発明の実施例においてフェイストラッキングプログラムが検出する表情の例を示す図である。
【
図13】本発明の実施例における感情値に応じた表情の変化例を示す図である。
【
図14】本発明の実施例における表情パラメータの切替に応じた表情の変化例を示す図である。
【
図15】本発明の実施例においてコンピュータ端末が行う補正内容設定処理の制御内容を示すフローチャートである。
【
図16】本発明の実施例における感情値設定処理に用いる設定データの設定手順を説明するための図である。
【
図17】本発明の実施例における感情値設定処理に用いる設定データの設定手順を説明するための図である。
【
図18】本発明の実施例における感情値設定処理に用いる設定データの設定手順を説明するための図である。
【
図19】本発明の実施例における感情値設定処理に用いる設定データの設定手順を説明するための図である。
【
図20】本発明の実施例における感情値設定処理に用いる設定データの設定手順を説明するための図である。
【
図21】本発明の実施例における感情値設定処理に用いる設定データの設定手順を説明するための図である。
【
図22】本発明の実施例におけるMouthSmile補正処理に用いる設定データの設定手順を説明するための図である。
【
図23】本発明の実施例におけるMouthFrown補正処理、BrowDown補正処理に用いる設定データの設定手順を説明するための図である。
【
図24】本発明の実施例においてコンピュータ端末が行う画像生成プログラムの制御内容を示すフローチャートである。
【
図25】本発明の実施例において撮影方向に応じた補正に伴う表情の変化例を示す図である。
【
図26】本発明の実施例において撮影方向に応じた補正量の変化を示す図である。
【
図27】本発明の実施例において撮影方向に応じた衣装の変化例を示す図である。
【
図28】本発明の実施例において撮影方向に応じた付属物の変化例を示す図である。
【
図29】本発明の実施例において撮影方向に応じた衣装の変化量または付属物の移動量を示す図である。
【
図30】本発明の実施例における追加条件と追加条件に対応する装飾画像の関係を示す図である。
【
図31】本発明の実施例における装飾画像の表示例を示す図である。
【
図32】本発明の実施例における装飾画像の表示例を示す図である。
【発明を実施するための形態】
【0016】
[形態1]
形態1-1の画像生成方法は、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像のうち複数のパーツの状態を示すパラメータを検出するパラメータ検出ステップと、
複数のパラメータに応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
を含むコンピュータを用いた画像生成方法において、
顔画像以外の情報を入力する情報入力ステップと、
前記情報入力ステップにて入力された前記顔画像以外の情報に基づいて前記パラメータ検出ステップにおいて検出されたパラメータを補正するパラメータ補正ステップと、
をさらに含み、
前記顔画像生成ステップにおいては、前記パラメータ補正ステップにより補正されたパラメータに応じた表情の顔画像を生成する
ことを特徴としている。
この特徴によれば、撮影された顔画像以外の情報に基づいて補正されたパラメータに応じた表情の顔画像が生成されるため、フェイストラッキングにより検出された顔画像を変化に富んだ画像として出力することができる。
【0017】
形態1-2の画像生成方法は、形態1-1に記載の画像生成方法であって、
前記顔画像以外の情報に基づいて感情値を特定する感情値特定ステップをさらに含み、
前記パラメータ補正ステップでは、前記感情値特定ステップにおいて特定された感情値に基づいて前記パラメータ検出ステップにおいて検出されたパラメータを補正する
ことを特徴としている。
この特徴によれば、顔画像以外の情報から特定される感情値に基づいた表情の顔画像を生成することができる。
【0018】
形態1-3の画像生成方法は、形態1-2に記載の画像生成方法であって、
前記感情値特定ステップでは、前記顔画像以外の情報と前記パラメータ検出ステップにおいて検出した一部のパーツのパラメータに基づいて前記感情値を特定する
ことを特徴としている。
この特徴によれば、感情値をより正確に特定することができる。
【0019】
形態1-4の画像生成方法は、形態1-3に記載の画像生成方法であって、
前記パラメータ補正ステップでは、前記感情値特定ステップにおいて特定された感情値が閾値を超えた場合に、前記パラメータ検出ステップにおいて検出されたパラメータを補正する
ことを特徴としている。
この特徴によれば、表情の変化にメリハリを付けることができる。
【0020】
形態1-5の画像生成方法は、形態1-1~1-4のいずれかに記載の画像生成方法であって、
前記顔画像以外の情報は、音声、バイタル、操作入力の少なくともいずれかに関する情報を含む
ことを特徴としている。
この特徴によれば、音声、バイタル、操作入力の少なくともいずれかに関する情報に基づいた表情の顔画像を生成することができる。
【0021】
形態1-6の画像生成方法は、形態1-1~1-5のいずれかに記載の画像生成方法であって、
前記複数のパーツの変化量に関する設定値を受け付ける設定値受付ステップをさらに含み、
前記顔画像以外の情報は、前記設定値受付ステップにおいて設定された設定値を含む
ことを特徴としている。
この特徴によれば、複数のパーツの変化量に関する設定値に基づいて補正されたパラメータに応じた表情の顔画像を生成することができる。
【0022】
形態1-7の補正内容設定方法は、形態1-1~1-6のいずれかに記載の画像生成方法に用いる前記パラメータの補正内容を設定するコンピュータを用いた補正内容設定方法であって、
補正対象となるパラメータを指定する第1ノードを設定する第1ノード設定ステップと、
補正に使用するパラメータを指定する第2ノードを設定する第2ノード設定ステップと、
補正内容を設定する第3ノードを設定する第3ノード設定ステップと、
前記第1ノード及び前記第2ノードと前記第3ノードを連結する連結ステップと、
前記第3ノードに、前記第2ノードのパラメータによる前記第1ノードのパラメータの補正内容を設定する補正内容設定ステップと、
設定内容に基づいて設定データを作成するステップと、
を含む
ことを特徴としている。
この特徴によれば、ノード同士を連結して補正内容を設定するのみで簡単にパラメータの補正内容を設定することができる。
【0023】
形態1-8の画像生成プログラムは、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像のうち複数のパーツの状態を示すパラメータを検出するパラメータ検出ステップと、
複数のパラメータに応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
をコンピュータに実行させる画像生成プログラムにおいて、
顔画像以外の情報を入力する情報入力ステップと、
前記情報入力ステップにて入力された前記顔画像以外の情報に基づいて前記パラメータ検出ステップにおいて検出されたパラメータを補正するパラメータ補正ステップと、
をさらに実行させ、
前記顔画像生成ステップにおいては、前記パラメータ補正ステップにより補正されたパラメータに応じた表情の顔画像を生成する
ことを特徴としている。
この特徴によれば、撮影された顔画像以外の情報に基づいて補正されたパラメータに応じた表情の顔画像が生成されるため、フェイストラッキングにより検出された顔画像を変化に富んだ画像として出力することができる。
【0024】
形態1-9の補正内容設定プログラムは、形態1-8に記載の画像生成プログラムに用いる前記パラメータの補正内容をコンピュータを用いて設定する補正内容設定プログラムであって、
補正対象となるパラメータを指定する第1ノードを設定する第1ノード設定ステップと、
補正に使用するパラメータを指定する第2ノードを設定する第2ノード設定ステップと、
補正内容を設定する第3ノードを設定する第3ノード設定ステップと、
前記第1ノード及び前記第2ノードと前記第3ノードを連結する連結ステップと、
前記第3ノードに、前記第2ノードのパラメータによる前記第1ノードのパラメータの補正内容を設定する補正内容設定ステップと、
設定内容に基づいて設定データを作成するステップと、
を実行させる
ことを特徴としている。
この特徴によれば、ノード同士を連結して補正内容を設定するのみで簡単にパラメータの補正内容を設定することができる。
【0025】
[形態2]
形態2-1の画像生成方法は、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像のうち複数のパーツの状態を示すパラメータを検出するパラメータ検出ステップと、
複数のパラメータに応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
を含むコンピュータを用いた画像生成方法において、
前記パラメータ検出ステップにおいて検出した一部のパーツのパラメータに基づいて他のパーツのパラメータを補正するパラメータ補正ステップをさらに含み、
前記顔画像生成ステップにおいては、前記パラメータ補正ステップにより補正されたパラメータに応じた表情の顔画像を生成する
ことを特徴としている。
この特徴によれば、撮影された顔画像から検出された一部のパーツのパラメータに基づいて他のパーツのパラメータを補正し、補正されたパラメータに応じた表情の顔画像が生成されるため、フェイストラッキングにより検出された顔画像を変化に富んだ画像として出力することができる。
【0026】
形態2-2の画像生成方法は、形態2-1に記載の画像生成方法であって、
前記一部のパーツのパラメータに基づいて感情値を特定する感情値特定ステップをさらに含み、
前記パラメータ補正ステップでは、前記感情値特定ステップにおいて特定された感情値に基づいて前記パラメータ検出ステップにおいて検出された前記他のパーツのパラメータを補正する
ことを特徴としている。
この特徴によれば、一部のパーツのパラメータに基づいて特定される感情値に基づいた表情の顔画像を生成することができる。
【0027】
形態2-3の画像生成方法は、形態2-2に記載の画像生成方法であって、
前記感情値特定ステップでは、前記一部のパーツのパラメータに基づいて、喜びを示す第1値と怒りを示す第2値と特定し、前記第1値が前記第2値よりも大きい場合に喜びを示す感情値を特定し、前記第2値が前記第1値よりも大きい場合に怒りを示す感情値を特定する
ことを特徴としている。
この特徴によれば、顔画像から特定される喜びと怒りの双方を反映した感情値に基づいた表情の顔画像を生成することができる。
【0028】
形態2-4の画像生成方法は、形態2-3に記載の画像生成方法であって、
前記感情値特定ステップでは、口角の動きの度合いを示すパラメータに基づいて前記第1値及び前記第2値を特定する
ことを特徴としている。
この特徴によれば、感情が反映されやすい口角の動きの度合いから喜びや怒りの感情を特定することができる。
【0029】
形態2-5の画像生成方法は、形態2-2~2-4のいずれかに記載の画像生成方法であって、
前記パラメータ補正ステップでは、前記感情値特定ステップにおいて特定された感情値が閾値を超えた場合に、前記他のパーツのパラメータを補正する
ことを特徴としている。
この特徴によれば、表情の変化にメリハリを付けることができる。
【0030】
形態2-6の補正内容設定方法は、形態2-1~2-5のいずれかに記載の画像生成方法に用いる前記パラメータの補正内容を設定するコンピュータを用いた補正内容設定方法であって、
補正対象となるパラメータを指定する第1ノードを設定する第1ノード設定ステップと、
補正に使用するパラメータを指定する第2ノードを設定する第2ノード設定ステップと、
補正内容を設定する第3ノードを設定する第3ノード設定ステップと、
前記第1ノード及び前記第2ノードと前記第3ノードを連結する連結ステップと、
前記第3ノードに、前記第2ノードのパラメータによる前記第1ノードのパラメータの補正内容を設定する補正内容設定ステップと、
設定内容に基づいて設定データを作成するステップと、
を含む
ことを特徴としている。
この特徴によれば、ノード同士を連結して補正内容を設定するのみで簡単にパラメータの補正内容を設定することができる。
【0031】
形態2-7の画像生成プログラムは、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像のうち複数のパーツの状態を示すパラメータを検出するパラメータ検出ステップと、
複数のパラメータに応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
をコンピュータに実行させる画像生成プログラムにおいて、
前記パラメータ検出ステップにおいて検出した一部のパーツのパラメータに基づいて他のパーツのパラメータを補正するパラメータ補正ステップをさらに実行させ、
前記顔画像生成ステップにおいては、前記パラメータ補正ステップにより補正されたパラメータに応じた表情の顔画像を生成する
ことを特徴としている。
この特徴によれば、撮影された顔画像から検出された一部のパーツのパラメータに基づいて他のパーツのパラメータを補正し、補正されたパラメータに応じた表情の顔画像が生成されるため、フェイストラッキングにより検出された顔画像を変化に富んだ画像として出力することができる。
【0032】
形態2-8の補正内容設定プログラムは、形態2-7に記載の画像生成プログラムに用いる前記パラメータの補正内容をコンピュータを用いて設定する補正内容設定プログラムであって、
補正対象となるパラメータを指定する第1ノードを設定する第1ノード設定ステップと、
補正に使用するパラメータを指定する第2ノードを設定する第2ノード設定ステップと、
補正内容を設定する第3ノードを設定する第3ノード設定ステップと、
前記第1ノード及び前記第2ノードと前記第3ノードを連結する連結ステップと、
前記第3ノードに、前記第2ノードのパラメータによる前記第1ノードのパラメータの補正内容を設定する補正内容設定ステップと、
設定内容に基づいて設定データを作成するステップと、
ことを特徴としている。
この特徴によれば、ノード同士を連結して補正内容を設定するのみで簡単にパラメータの補正内容を設定することができる。
【0033】
[形態3]
形態3-1の画像生成方法は、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像のうち複数のパーツの状態を示すパラメータを検出するパラメータ検出ステップと、
複数のパラメータに応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
を含むコンピュータを用いた画像生成方法において、
前記パラメータ検出ステップにおいて検出したパラメータに基づいて顔画像以外の装飾画像を生成する装飾画像生成ステップをさらに含み、
前記画像出力ステップにおいては、前記装飾画像生成ステップにて生成された装飾画像を前記顔画像とともに出力する
ことを特徴としている。
この特徴によれば、撮影された顔画像から検出されたパラメータに基づいて顔画像以外の装飾画像が生成されるため、フェイストラッキングにより検出された顔画像を変化に富んだ画像として出力することができる。
【0034】
形態3-2の画像生成方法は、形態3-1に記載の画像生成方法であって、
少なくとも一部のパーツのパラメータに基づいて感情値を特定する感情値特定ステップをさらに含み、
前記装飾画像生成ステップでは、前記感情値特定ステップにおいて特定された感情値に基づいて前記装飾画像を生成する
ことを特徴としている。
この特徴によれば、少なくとも一部のパーツのパラメータに基づいて特定される感情値に基づいて補正されたパラメータに応じて装飾画像を生成することができる。
【0035】
形態3-3の画像生成方法は、形態3-2に記載の画像生成方法であって、
前記感情値特定ステップでは、前記一部のパーツのパラメータに基づいて、喜びを示す第1値と怒りを示す第2値と特定し、前記第1値が前記第2値よりも大きい場合に喜びを示す感情値を特定し、前記第2値が前記第1値よりも大きい場合に怒りを示す感情値を特定する
ことを特徴としている。
この特徴によれば、顔画像から特定される喜びと怒りの双方を反映した感情値に基づいた装飾画像を生成することができる。
【0036】
形態3-4の画像生成方法は、形態3-3に記載の画像生成方法であって、
前記感情値特定ステップでは、口角の動きの度合いを示すパラメータに基づいて前記第1値及び前記第2値を特定する
ことを特徴としている。
この特徴によれば、感情が反映されやすい口角の動きの度合いから喜びや怒りの感情を特定することができる。
【0037】
形態3-5の画像生成方法は、形態3-2~3-4のいずれかに記載の画像生成方法であって、
前記装飾画像生成ステップでは、前記感情値特定ステップにおいて特定された感情値が閾値を超えた場合に、前記装飾画像を生成する
ことを特徴としている。
この特徴によれば、適切な頻度で装飾画像を生成することができる。
【0038】
形態3-6の画像生成プログラムは、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像のうち複数のパーツの状態を示すパラメータを検出するパラメータ検出ステップと、
複数のパラメータに応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
をコンピュータに実行させる画像生成プログラムにおいて、
前記パラメータ検出ステップにおいて検出したパラメータに基づいて顔画像以外の装飾画像を生成する装飾画像生成ステップをさらに実行させ、
前記画像出力ステップにおいては、前記装飾画像生成ステップにて生成された装飾画像を前記顔画像とともに出力する
ことを特徴としている。
この特徴によれば、撮影された顔画像から検出されたパラメータに基づいて顔画像以外の装飾画像が生成されるため、フェイストラッキングにより検出された顔画像を変化に富んだ画像として出力することができる。
【0039】
[形態4]
形態4-1の画像生成方法は、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
を含むコンピュータを用いた画像生成方法において、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに含み、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像を顔画像の表情を視認できる形状に変形させる
ことを特徴としている。
この特徴によれば、撮影方向に応じて特定画像の位置が顔画像の表情を視認できない位置となる場合に、特定画像を顔画像の表情を視認できる形状に変形させるため、顔画像の表情が特定画像により隠れてしまうことを防止できる。
【0040】
形態4-2の画像生成方法は、形態4-1に記載の画像生成方法であって、
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置ではない場合でも、前記顔画像の表情を視認できない位置に近づいた場合に、前記特定画像を前記顔画像の表情を視認できる形状に向けて変形させる
ことを特徴としている。
この特徴によれば、顔画像の表情が隠れる前から特定画像を顔画像の表情を視認できる形状に向けて変形させることができる。
【0041】
形態4-3の画像生成方法は、形態4-2に記載の画像生成方法であって、
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置までの距離に応じて、前記特定画像を前記顔画像の表情を視認できる形状に向けて徐々に変形させる
ことを特徴としている。
この特徴によれば、自然に特定画像を顔画像の表情を視認できる形状に向けて変形させることができる。
【0042】
形態4-4の画像生成方法は、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
を含むコンピュータを用いた画像生成方法において、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに含み、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像の位置を顔画像の表情を視認できる位置に移動させる
ことを特徴としている。
この特徴によれば、撮影方向に応じて特定画像の位置が顔画像の表情を視認できない位置となる場合に、特定画像の位置を顔画像の表情を視認できる位置に移動させるため、顔画像の表情が特定画像により隠れてしまうことを防止できる。
【0043】
形態4-5の画像生成方法は、形態4-4に記載の画像生成方法であって、
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置ではない場合でも、前記顔画像の表情を視認できない位置に近づいた場合に、前記特定画像の位置を顔画像の表情を視認できる位置に向けて移動させる
ことを特徴としている。
この特徴によれば、顔画像の表情が隠れる前から特定画像の位置を顔画像の表情を視認できる位置に向けて移動させることができる。
【0044】
形態4-6の画像生成方法は、形態4-5に記載の画像生成方法であって、
前記特定画像生成ステップにおいて、前記顔画像の表情を視認できない位置までの距離に応じて、前記特定画像の位置を顔画像の表情を視認できる位置に向けて徐々に移動させる
ことを特徴としている。
この特徴によれば、自然に特定画像の位置を顔画像の表情を視認できる位置に向けて移動させることができる。
【0045】
形態4-7の画像生成プログラムは、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
をコンピュータに実行させる画像生成プログラムにおいて、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに実行させ、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像を顔画像の表情を視認できる形状に変形させる
ことを特徴としている。
この特徴によれば、撮影方向に応じて特定画像の位置が顔画像の表情を視認できない位置となる場合に、特定画像を顔画像の表情を視認できる形状に変形させるため、顔画像の表情が特定画像により隠れてしまうことを防止できる。
【0046】
形態4-8の画像生成プログラムは、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
をコンピュータに実行させる画像生成プログラムにおいて、
前記顔画像の周辺に表示される特定画像を生成する特定画像生成ステップをさらに実行させ、
前記画像出力ステップにおいては、前記特定画像生成ステップにて生成された特定画像を前記顔画像とともに出力し、
前記特定画像生成ステップにおいて、撮影方向に応じて前記特定画像の位置が顔画像の表情を視認できない位置となる場合に、前記特定画像の位置を顔画像の表情を視認できる位置に移動させる
ことを特徴としている。
この特徴によれば、撮影方向に応じて特定画像の位置が顔画像の表情を視認できない位置となる場合に、特定画像の位置を顔画像の表情を視認できる位置に移動させるため、顔画像の表情が特定画像により隠れてしまうことを防止できる。
【0047】
[形態5]
形態5-1の画像生成方法は、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
を含むコンピュータを用いた画像生成方法において、
前記顔画像生成ステップにおいて、撮影方向に応じて前記顔画像を構成するパーツの形状または位置を補正する
ことを特徴としている。
この特徴によれば、撮影方向に応じて顔画像を構成するパーツの形状または位置を補正することで、顔画像の表情が不自然となってしまうことを防止できる。
【0048】
形態5-2の画像生成方法は、形態5-1に記載の画像生成方法であって、
前記顔画像生成ステップにおいて、撮影方向に応じて前記顔画像の輪郭を補正する
ことを特徴としている。
この特徴によれば、撮影方向が変わっても顔画像の輪郭が不自然となることを防止できる。
【0049】
形態5-3の画像生成方法は、形態5-1または5-2に記載の画像生成方法であって、
前記顔画像生成ステップにおいて、撮影方向に応じて前記顔画像を構成する口の位置または形状を補正する
ことを特徴としている。
この特徴によれば、撮影方向が変わっても顔画像を構成する口の位置または形状が不自然となることを防止できる。
【0050】
形態5-4の画像生成方法は、形態5-1~5-3のいずれかに記載の画像生成方法であって、
前記顔画像生成ステップにおいて、撮影方向に応じて前記顔画像を構成する目の位置または形状を補正する
ことを特徴としている。
この特徴によれば、撮影方向が変わっても顔画像を構成する目の位置または形状が不自然となることを防止できる。
【0051】
形態5-5の画像生成方法は、形態5-1~5-4のいずれかに記載の画像生成方法であって、
前記顔画像生成ステップにおいて、撮影方向に応じて前記顔画像を構成するパーツの形状または位置の補正量を徐々に増加させる
ことを特徴としている。
この特徴によれば、撮影方向の変化に応じて徐々に顔画像を構成するパーツの形状または位置の補正量が増加するため、形状や位置が突然変化することがない。
【0052】
形態5-6の画像生成プログラムは、
撮影された顔画像を入力する顔画像入力ステップと、
前記顔画像入力ステップにより入力された顔画像に応じた表情の顔画像を生成する顔画像生成ステップと、
前記顔画像生成ステップにて生成された顔画像を含む出力画像を出力する画像出力ステップと、
をコンピュータに実行させる画像生成プログラムにおいて、
前記顔画像生成ステップにおいて、撮影方向に応じて前記顔画像を構成するパーツの形状または位置を補正する
ことを特徴としている。
この特徴によれば、撮影方向に応じて顔画像を構成するパーツの形状または位置を補正することで、顔画像の表情が不自然となってしまうことを防止できる。
【0053】
本発明を実施するための形態について、実施例にもとづいて図面を用いて以下に説明する。
【実施例】
【0054】
[コンピュータ端末]
図1は、本発明の実施例に用いるコンピュータ端末1の構成例を示すブロック図である。
図1に示すコンピュータ端末1は、表示装置やキーボード、マウス等の入力装置が別のデスクトップPCやワークステーション、表示装置や入力装置が一体のノートPC、表示装置にタッチパネル等が搭載されたタブレット端末やスマートフォン等のモバイル端末を用いれば良いが、ここでは、タブレット端末やスマートフォン等のモバイル端末を想定して説明する。
【0055】
図1に示すように、コンピュータ端末1は、プロセッサ101、メモリ102、ハードディスクやSSD等のストレージ103を搭載し、これらプロセッサ101、メモリ、ストレージ103はデータバス111を介して接続されており、プロセッサ101は、ストレージ103に格納されたプログラムに従って各種の処理を実行可能である。
【0056】
また、データバス111には、図示しない出力インターフェイスを介して表示装置105、スピーカ106が接続され、プロセッサ101が実行する処理に基づき画像及び音声の出力が可能である。
【0057】
また、データバス111には、図示しない入力インターフェイスを介して入力装置107、カメラ108、マイク109、バイタル計測器110等の入力デバイスが接続されており、これら入力デバイスにて入力された情報を入力可能である。入力装置107は、表示装置105と一体のタッチパネルを含み、タッチパネルによるコマンド入力操作を入力可能である。なお、キーボードやマウス等の入力デバイスにて入力されたコマンドが入力可能な構成でも良い。カメラ108は、3Dカメラであり、撮影された画像データとして深度データを含むデータを入力可能である。また、カメラ108としては、表示装置105の反対側に設けられたアウトカメラ、表示装置105側に設けられたインカメラの双方を備える構成でも良いし、一方のみ備えるでも良い。マイク109は、ステレオマイクでも良いし、モノラルマイクでも良く、対象者の声を含む周囲の音声を入力可能である。バイタル計測器110は、スマートバンド等のウェアラブルデバイスであり、バイタルデータ(心拍数、血圧、体温等)を入力可能である。
【0058】
また、データバス111には、通信インターフェイス104が接続されており、有線または無線にてローカルエリアネットワーク、インターネット等の公衆ネットワークを介して他のコンピュータ端末、サーバコンピュータと通信可能な構成である。
【0059】
なお、本実施例では、1台のコンピュータ端末を用いて本発明の画像生成方法や補正内容設定方法を実施する構成を例示するが、複数台のコンピュータ端末を用いて本発明の画像生成方法や補正内容設定方法を実施する構成でも良い。また、本実施例のコンピュータ端末1では、出力装置として表示装置105、スピーカ106を備える構成であるが、これらの出力装置を備えず、別のコンピュータ端末の出力装置から画像や音声が出力される構成としても良い。また、本実施例のコンピュータ端末1では、タッチパネル等の入力装置107、カメラ108、マイク109等の入力デバイスを備える構成であるが、少なくともタッチパネルやキーボード、マウス等の入力装置、画像を撮影可能なカメラを備える構成であれば良い。
【0060】
コンピュータ端末1のストレージ103には、図示しないオペレーションシステム(OS)に加えて、
図2に示すように、コンピュータ端末1が実行する各種のプログラムが記憶されている。具体的には、フェイストラッキングプログラム、モーショントラッキングプログラム、音声検出プログラム、入力検出プログラム、バイタル検出プログラム、パラメータ補正プログラム、画像生成プログラム、補正内容設定プログラム、配信プログラムが記憶されており、特に図示しないが、さらにパラメータ補正プログラムが用いる設定データ、コンフィグの設定値、画像生成プログラムが用いる素材データ等も記憶されている。
【0061】
コンピュータ端末1は、
図3に示すように、画像生成プログラムがカメラ108から出力された画像データに基づく表情パラメータ、モーションパラメータに基づいて、表情パラメータに基づく表情、モーションパラメータに基づく形態のアバター画像データを作成するとともに、配信プログラムが、画像生成プログラムにより作成されたアバター画像データを用いた動画の配信を行うことが可能な構成である。また、フェイストラッキングプログラムにより出力される表情パラメータは、そのまま画像生成プログラムに出力されるのではなく、パラメータ補正プログラムを介して画像生成プログラムに出力されるようになっており、パラメータ補正プログラムは、一部の表情パラメータや表情パラメータ以外のパラメータ(音声パラメータ、入力パラメータ、バイタルパラメータ、コンフィグパラメータ)を用いて少なくとも一部の表情パラメータを補正し、補正した表情パラメータを画像生成プログラムに出力する。
【0062】
次に、コンピュータ端末1が実行するプログラムについて説明する。
【0063】
フェイストラッキングプログラムは、
図3に示すように、カメラ108から入力された深度データを含む画像データを用いて対象者の顔画像からこの顔画像を構成する複数のパーツの状態を検出し、検出した状態からそれぞれのパーツの動きの度合いを数値化した表情パラメータを出力するプログラムである。表情パラメータは、対象者の表情を特定可能なパラメータであり、本実施例では、
図4に示すように、左目の動きに関連する6種類の動きの度合い、右目の動きに関連する6種類の動きの度合い、口と顎の動きに関連する27種類の動きの度合い、眉毛・頬・鼻の動きに関連する10種類の動きの度合い、舌の動きに関連する1種類の動きの度合いを、それぞれ0.0~1.0の範囲で数値化したパラメータである。なお、これら例示した表情パラメータに限るものではなく、より細分化した多くの種類の表情パラメータを用いても良いし、これより少ない種類の表情パラメータを用いても良い。
【0064】
モーショントラッキングプログラムは、
図3に示すように、カメラ108から入力された深度データを含む画像データを用いて対象者の身体の動きを検出し、身体を構成するパーツの位置及び方向を特定するモーションパラメータを出力するプログラムである。モーションパラメータは、対象者の身体の動きを特定可能なパラメータであり、本実施例では、
図4に示すように、頭部の位置座標及び方向を示す頭ポーズ、全指関節の位置座標及び方向を示す全指関節、手の位置座標及び方向を示す手ポーズを含む。なお、本実施例のモーションパラメータは、身体全体の動きについてのパラメータを含まない構成であるが、身体全体の動きについてのパラメータを含む構成としても良い。
【0065】
音声検出プログラムは、
図2に示すように、マイク109から入力された音声データを用いて対象者の声を検出し、検出した声の構成要素を数値化した音声パラメータを出力するプログラムである。音声パラメータは、対象者の声を特定可能なパラメータであり、本実施例では、
図4に示すように、声音量及び声音高をそれぞれ0.0~1.0の範囲で数値化したパラメータである。
【0066】
入力検出プログラムは、
図3に示すように、入力装置107からの入力データを入力パラメータに変換して出力するプログラムである。入力パラメータは、入力装置107からの入力状況を特定可能なパラメータであり、本実施例では、
図4に示すように、表示装置105に表示されたコマンドに対応するタッチ操作によるコマンド入力の種類を示すパラメータである。コマンド入力としては、例えば、喜怒哀楽等の感情を段階的に指定するコマンド入力、装飾画像を指定するコマンド入力等を含む。
【0067】
バイタル検出プログラムは、
図3に示すように、バイタル計測器110から入力されたバイタルデータ(心拍数、血圧、体温等)を変換してバイタルパラメータを出力するプログラムである。バイタルパラメータは、対象者のバイタルを特定可能なパラメータであり、本実施例では、
図4に示すように、心拍数、血圧、体温をそれぞれ0.0~1.0の数値に変換したパラメータである。
【0068】
[パラメータ補正プログラム]
パラメータ補正プログラムは、
図3に示すように、主にフェイストラッキングプログラムにて作成された表情パラメータを補正するプログラムであり、表情パラメータの一部のパラメータ、音声検出プログラムからの音声パラメータ、入力検出プログラムからの入力パラメータ、バイタル検出プログラムからのバイタルパラメータ、予め設定されたコンフィグ(設定値)に基づくコンフィグパラメータによりフェイストラッキングプログラムにて作成された少なくとも一部の表情パラメータを補正するパラメータ補正処理、入力されたパラメータに基づいて新規に表情パラメータを作成するパラメータ作成処理を含む。パラメータ補正プログラムは、配信プログラムが配信する動画のフレームレートに応じた間隔で1フレーム毎に実行される。例えば、フレームレートが60fpsの場合には、1秒間に60回のパラメータ補正プログラムが実行される。
【0069】
コンフィグ(設定値)は、表情パラメータの変化量を設定可能な値であり、表示装置105にコンフィグ設定画面を表示させ、入力装置107を用いて設定することが可能である。コンフィグ(設定値)は、表情パラメータの種類毎に設定可能であり、本実施例では、
図4に示すように、目の動きに関連する表情パラメータ、口と顎の動きに関連する表情パラメータ、眉毛の動きに関連する表情パラメータ、頬・鼻の動きに関連する表情パラメータ、舌の動きに関連する表情パラメータそれぞれについて個別に0.0~1.0の数値を設定可能であり、設定された数値がコンフィグパラメータとして用いられる。本実施例では、コンフィグとして設定された数値が大きいほど対応する表情パラメータの変化量が大きくなり、対応するパーツの動きも大きくなる。
【0070】
図5は、パラメータ補正プログラムの制御内容を示すフローチャートである。
【0071】
図5に示すように、パラメータ補正プログラムでは、まず、各種パラメータを取り込む(Sa1)。Sa1のステップでは、フェイストラッキングプログラムより出力された表情パラメータ、音声検出プログラムより出力された音声パラメータ、入力検出プログラムにより出力された入力パラメータ、バイタル検出プログラムにより出力されたバイタルパラメータ、予め設定されたコンフィグ(設定値)に基づくコンフィグパラメータを取り込む。
【0072】
次に、設定データを参照し、Sa1のステップにて取り込んだ各種パラメータによる感情値を算出する(Sa2)。設定データは、補正内容設定プログラムにて設定されるデータであり、入力するパラメータの種類と、入力したパラメータによる補正内容(計算式、出力条件等)と、出力するパラメータの種類と、を定義したデータである。感情値は、後に詳述するが、表情パラメータのうちの一部のパラメータから喜びの度合いを示すJoy値と、怒りの度合いを示すAnger値と、を特定し、Joy値とAnger値とから算出したAG値と、音声パラメータ及びバイタルパラメータと、から算出される値であり、対象者の喜怒の度合いを示すパラメータである。
【0073】
次に、設定データを参照し、Sa1のステップにて取り込んだ各種パラメータ及びSa2のステップにて算出した感情値により表情パラメータを補正する(Sa3)。Sa3のステップでは、フェイストラッキングプログラムから出力された表情パラメータのうちの少なくとも一部の表情パラメータを補正するものであれば良い。また、表情パラメータは、感情値を含むパラメータにより補正される構成でも良いし、感情値を含まないパラメータにより補正される構成でも良い。また、表情パラメータの補正に用いるパラメータとして、表情パラメータの一部のパラメータのみを用いる構成でも良いし、表情パラメータ以外のパラメータのみを用いる構成でも良いし、表情パラメータの一部と表情パラメータ以外のパラメータの双方を用いる構成でも良い。また、表情パラメータの補正に用いるパラメータは、フェイストラッキングプログラム等から出力されたパラメータに限らず、複数のパラメータにより補正されたパラメータをさらに表情パラメータの補正に用いる構成でも良い。補正対象となる表情パラメータについても、フェイストラッキングプログラムから出力された表情パラメータに限らず、一度補正された表情パラメータを対象としてさらに他のパラメータを用いて補正する構成でも良い。
【0074】
次に、設定データを参照し、Sa1のステップにて取り込んだ各種パラメータ及びSa2のステップにて算出した感情値により、フェイストラッキングプログラムから出力される表情パラメータ以外の表情パラメータを新たに作成する(Sa4)。Sa4のステップで作成されたパラメータを、フェイストラッキングプログラムから出力される表情パラメータとは別に追加して出力する構成でも良いし、フェイストラッキングプログラムから出力される表情パラメータを新たに作成したパラメータに切り替える構成でも良い。
【0075】
次に、Sa3のステップにおいて補正した表情パラメータ、Sa4のステップにおいて作成した表情パラメータを画像生成プログラムに出力する(Sa5)。なお、Sa5のステップでは、フェイストラッキングプログラムから出力され、補正されずに用いられる表情パラメータも出力される。また、Sa5のステップでは、表情パラメータだけでなく、表情パラメータを補正したり、新規に作成したりする過程で作成された感情値等のパラメータを拡張パラメータとして画像生成プログラムに出力することが可能である。本実施例では、感情値が拡張パラメータとして出力される。Sa5のステップにおいて画像生成プログラムに対し出力される表情パラメータ及び拡張パラメータは、補正内容設定処理により指定可能である。
【0076】
[感情値算出処理]
次に、パラメータ補正プログラムによる感情値の算出方法の一例について説明する。
図6に示すように、感情値を算出する感情値算出処理には、フェイストラッキングプログラムから出力される表情パラメータのうち、BrowDownLeft(BDoL)、BrowDownRight(BDoR)、CheekSquintLeft(CSqL)、CheekSquintRight(CSqR)、MouthFunnel(MFu)、MouthStretchLeft(MStL)、MouthStretchRight(MStR)、MouthSmileLeft(MSmL)、MouthSmileRight(MSmR)を使用し、音声検出プログラムから出力される音声パラメータとして音量(Vo)、音高(Pi)を使用し、バイタル検出プログラムから出力されるバイタルパラメータとして脈拍(PR)を使用する。
【0077】
図12(a)に示すように、BrowDownLeft(BDoL)は、左眉の下向きの動きを表すパラメータであり、BrowDownRight(BDoR)は、右眉の下向きの動きを表すパラメータである。BrowDownLeft(BDoL)及びBrowDownRight(BDoR)は、怒った表情の場合に数値が高くなるパラメータである。また、
図12(b)に示すように、CheekSquintLeft(CSqL)は、左目の周囲及び下の頬の上向きの動きを表すパラメータであり、CheekSquintRight(CSqR)は、右目の周囲及び下の頬の上向きの動きを表すパラメータである。CheekSquintLeft(CSqL)及びCheekSquintRight(CSqR)は、喜んでいる表情の場合に数値が高くなるパラメータである。また、
図12(c)に示すように、MouthFunnel(MFu)は、両唇が開いた形状に収縮することを表すパラメータである。MouthFunnel(MFu)は、怒っている表情の場合に数値が高くなるパラメータである。また、
図12(d)に示すように、MouthStretchLeft(MStL)は、左口角の左方向への動きを表すパラメータであり、MouthStretchRight(MStR)は、右口角の右方向への動きを表すパラメータである。MouthStretchLeft(MStL)及びMouthStretchRight(MStR)怒っている表情の場合に数値が高くなるパラメータである。また、
図12(e)に示すように、MouthSmileLeft(MSmL)は、左口角の上向きの動きを表すパラメータであり、MouthSmileRight(MSmR)は、右口角の上向きの動きを表すパラメータである。MouthSmileLeft(MSmL)及びMouthSmileRight(MSmR)は、喜んでいる表情の場合に数値が高くなるパラメータである。
【0078】
感情値算出処理では、まず(BDoL+BDoR)/2、(CSqL+CSqR)/2、(MStL+MStR)/2、(MSmL+MSmR)/2を行い、これら左右に分かれた表情パラメータの平均値として、BDo、CSq、MSt、MSmを算出する。
【0079】
次いで怒っている表情の場合に数値が高くなるBDo、MFu、MStを用いて、((BDo-CSq)×2+MSt+MFu)/4×(-1)を行い、怒りの度合いを示すAnger値を算出する。この際、怒っている表情の場合に数値が高くなるBDo、MFu、MStだけでなく、BDoから喜んでいる表情の場合に数値が高くなるCSqを減算することで、より正確な怒りの度合いを算出することができる。Anger値は、0~-1の範囲の数値であり、数値が-1に近づく程、怒りの度合いが大きいことが示される。
【0080】
次いで喜んでいる表情の場合に数値が高くなるCSq、MSmを用いて、(MSm+CSq)/2を行い、喜びの度合いを示すJoy値を算出する。Joy値は、0~+1の範囲の数値であり、数値が+1に近づく程、喜びの度合いが大きいことが示される。
【0081】
次いで、Anger値とJoy値を用いて、Anger+Joyを行い、感情値AGを算出する。感情値AGは、1~-1の範囲の数値である。
【0082】
次いで、音声パラメータである音量(Vo)、音高(Pi)、バイタルパラメータである脈拍(PR)を1または0の値を示すVo1、Pi1、PR1に変換する。音量(Vo)、音高(Pi)、脈拍(PR)は、いずれも0~1の数値である。音量(Vo)、音高(Pi)の数値が0.8以上であれば1に変換し、0.8未満であれば0に変換する。また、脈拍(PR)の数値が0.6以上であれば1に変換し、0.6未満であれば0に変換する。
【0083】
次いで、感情値AGが0を超える場合、すなわち喜びの度合いを示すJoy値が怒りの度合いを示すAnger値よりも大きい場合には、AG×0.8+(Vo1+Pi1+PR1)/3×0.2を行い、算出された結果を喜びの度合いを示すEmoJを感情値として出力する。これにより、音量(Vo)、音高(Pi)、脈拍(PR)が一定値以上であり、感情の高ぶりが読み取れる場合には、音量(Vo)、音高(Pi)、脈拍(PR)が一定値未満の場合よりも大きい値、すなわち喜びの度合いの大きいEmoJが出力されることとなる。
【0084】
一方、感情値AGが0未満の場合、すなわち怒りの度合いを示すAnger値が喜びの度合いを示すJoy値よりも大きい場合には、AG×0.8-(Vo1+Pi1+PR1)/3×0.2を行い、算出された結果を怒りの度合いを示すEmoAを感情値として出力する。これにより、音量(Vo)、音高(Pi)、脈拍(PR)が一定値以上であり、感情の高ぶりが読み取れる場合には、音量(Vo)、音高(Pi)、脈拍(PR)が一定値未満の場合よりも小さい値、すなわち怒りの度合いの大きいEmoAが出力されることとなる。
【0085】
このように感情値算出処理では、怒っている表情の場合に数値が高くなる表情パラメータを用いて怒りの度合いを示すAnger値を特定し、喜んでいる表情の場合に数値が高くなるパラメータを用いて喜びの度合いを示すJoy値を特定し、喜びの度合いを示すJoy値が怒りの度合いを示すAnger値よりも大きい場合には、喜びの度合いを示す感情値EmoJが特定され、怒りの度合いを示すAnger値が喜びの度合いを示すJoy値よりも大きい場合には、怒りの度合いを示す感情値EmoAが特定されるようになっている。
【0086】
また、音量(Vo)、音高(Pi)、脈拍(PR)が一定値以上の場合には、喜びの度合いを示す感情値EmoJ、怒りの度合いを示す感情値EmoAとして、より大きい度合いを示す感情値が特定されるようになっている。
【0087】
なお、本実施例では、表情パラメータに加え、音声パラメータやバイタルパラメータを用いて感情値を特定する構成であるが、表情パラメータのみで感情値を特定する構成でも良いし、音声パラメータ、バイタルパラメータ等の表情パラメータ以外のパラメータのみを用いて感情値を特定する構成でも良い。また、表情パラメータ、音声パラメータやバイタルパラメータ以外のパラメータを、これらのパラメータとともに用いて感情値を特定する構成としたり、表情パラメータ、音声パラメータやバイタルパラメータ以外のパラメータのみを用いて感情値を特定する構成としても良く、例えば、入力装置107の操作により喜怒哀楽等の感情を段階的に指定するコマンド入力がされた場合に、該当するコマンド入力を特定する入力パラメータを用いて感情値を特定する構成としても良い。
【0088】
[パラメータ補正処理]
次に、パラメータ補正プログラムによる表情パラメータの補正方法の一例について説明する。
【0089】
図7は、表情パラメータMouthSmileLeft(MSmL)、MouthSmileRight(MSmR)を感情値に基づいて補正するMouthSmile補正処理の内容を示す図である。
【0090】
MouthSmile補正処理では、喜びの度合いを示す感情値EmoJを用いて、MouthSmileLeft(MSmL)、MouthSmileRight(MSmR)を補正する。詳しくは、MSmL+EmoJ×0.5、MSmR+EmoJ×0.5をそれぞれ行い、MouthSmileLeft(MSmL)、MouthSmileRight(MSmR)に対応する補正後の表情パラメータMSmLN、MSmRNをそれぞれ出力する。なお、算出された結果が1.0を超える場合には1.0を出力する。
【0091】
MSmLN、MSmRNは、喜びの度合いを示す感情値EmoJが+1に近づくほど大きい補正量となり、喜びの度合いを示す感情値EmoJが0に近づくほど小さい補正量となる。MouthSmileLeft(MSmL)は、左口角の上向きの動きを表すパラメータであり、MouthSmileRight(MSmR)は、右口角の上向きの動きを表すパラメータであり、感情値EmoJが+1に近づくほど口角がより上向きとなる。このため、
図13(a)に示すように、感情値0の場合と比較して、例えば、感情値EmoJが+1の場合には、口角が上向きとなり、感情値EmoJが+1に近づくほど、出力される顔画像の表情を喜んでる表情に寄せることができる。
【0092】
図8は、表情パラメータMouthFrownLeft(MFrL)、MouthFrownRight(MFrR)を感情値に基づいて補正するMouthFrown補正処理の内容を示す図である。
【0093】
MouthFrown補正処理では、怒りの度合いを示す感情値EmoAを用いて、MouthFrownLeft(MFrL)、MouthFrownRight(MFrR)を補正する。詳しくは、MFrL+EmoA×(-1)×0.5、MFrR+EmoA×(-1)×0.5をそれぞれ行い、MouthFrownLeft(MFrL)、MouthFrownRight(MFrR)に対応する補正後の表情パラメータMFrLN、MFrRNをそれぞれ出力する。なお、算出された結果が1.0を超える場合には1.0を出力する。
【0094】
MFrLN、MFrRNは、怒りの度合いを示す感情値EmoAが-1に近づくほど大きい補正量となり、怒りの度合いを示す感情値EmoAが0に近づくほど小さい補正量となる。MouthFrownLeft(MFrL)は、左口角の下向きの動きを表すパラメータであり、MouthFrownRight(MFrR)は、右口角の下向きの動きを表すパラメータであり、感情値EmoAが-1に近づくほど口角が下向きとなる。このため、
図13(a)に示すように、感情値0の場合と比較して、例えば、感情値EmoAが-1の場合には、口角が下向きとなり、感情値EmoAが-1に近づくほど、出力される顔画像の表情を怒っている表情に寄せることができる。
【0095】
図9は、表情パラメータBrowDownLeft(BDoL)、BrowDownRight(BDoR)を感情値に基づいて補正するBrowDown補正処理の内容を示す図である。
【0096】
BrowDown補正処理では、怒りの度合いを示す感情値EmoAを用いて、BrowDownLeft(BDoL)、BrowDownRight(BDoR)を補正する。詳しくは、BDoL+EmoA×(-1)×0.5、BDoR+EmoA×(-1)×0.5をそれぞれ行い、BrowDownLeft(BDoL)、BrowDownRight(BDoR)に対応する補正後の表情パラメータBDoLN、BDoRNをそれぞれ出力する。なお、算出された結果が1.0を超える場合には1.0を出力する。
【0097】
BDoLN、BDoRNは、怒りの度合いを示す感情値EmoAが-1に近づくほど大きい補正量となり、怒りの度合いを示す感情値EmoAが0に近づくほど小さい補正量となる。BrowDownLeft(BDoL)は、左眉の下向きの動きを表すパラメータであり、BrowDownRight(BDoR)は、右眉の下向きの動きを表すパラメータであり、感情値EmoAが-1に近づくほど眉が下向きとなる。このため、
図13(b)に示すように、感情値0の場合と比較して、例えば、感情値EmoAが-1の場合には、眉が下方の位置となり、感情値EmoAが-1に近づくほど、出力される顔画像の表情を怒っている表情に寄せることができる。
【0098】
図10は、表情パラメータMouthSmileLeft(MSmL)、MouthSmileRight(MSmR)に基づいて表情パラメータEyeBlinkLeft(EBL)に対応する表情パラメータを、表情パラメータEyeBlinkLeft(EBL)、表情パラメータEyeSmileLeft(ESL)の一方に切り替えるEyeBlink切替処理の内容を示す図である。
【0099】
EyeBlinkLeft(EBL)は、左目のまぶたの閉まり具合を表すパラメータであり、EyeSmileLeft(ESL)は、目尻が下がった状態で左目のまぶたの閉まり具合を表すパラメータであり、EyeBlinkLeft(EBL)に替わって用いられる表情パラメータである。
【0100】
EyeBlink切替処理では、MouthSmileLeft(MSmL)、MouthSmileRight(MSmR)に基づいてこれら左右に分かれたパラメータの平均値として、MSmを算出する。そして、MSmが0.5以上の数値であれば、EyeBlinkLeft(EBL)の数値を、EyeBlinkLeft(EBL)ではなく、EyeSmileLeft(ESL)の数値として出力する。一方、MSmが0.5未満の数値であれば、EyeBlinkLeft(EBL)の数値をそのままEyeBlinkLeft(EBL)の数値として出力する。
【0101】
図12(e)に示すように、MouthSmileLeft(MSmL)は、左口角の上向きの動きを表すパラメータであり、MouthSmileRight(MSmR)は、右口角の上向きの動きを表すパラメータである。MouthSmileLeft(MSmL)及びMouthSmileRight(MSmR)は、笑っている表情の場合に数値が高くなるパラメータである。このため、EyeBlink切替処理では、MSmが一定値未満の場合には、
図14(a)に示すように、EyeBlinkLeft(EBL)による通常のまぶたの閉まり具合の表情となる一方、MSmが一定値以上の場合には、
図14(b)に示すように、EyeSmileLeft(ESL)による目尻の下がった状態でのまぶたの閉まり具合の表情となる。
【0102】
図11は、表情パラメータをコンフィグパラメータに基づいて補正するコンフィグ補正処理の内容を示す図である。
【0103】
コンフィグ(設定値)は、
図4に示すように、目の動きに関連する表情パラメータ、口と顎の動きに関連する表情パラメータ、眉毛の動きに関連する表情パラメータ、頬・鼻の動きに関連する表情パラメータ、舌の動きに関連する表情パラメータ毎に設定されており、コンフィグ補正処理では、それぞれのコンフィグパラメータを用いて、対応するコンフィグパラメータの数値を補正する。具体的には、(表情パラメータ+対応するコンフィグパラメータ)/2を行い、補正後の表情パラメータNを出力する。
【0104】
コンフィグパラメータは0.0~1.0の数値であり、コンフィグパラメータの数値が大きいほど、対応する表情パラメータNの数値が大きくなり、コンフィグパラメータの数値が小さいほど、対応する表情パラメータNの数値が小さくなる。このため、予め設定されたコンフィグパラメータの数値に応じて表情パラメータに対応するパーツの変化量を調整することができる。
【0105】
このように本実施例では、カメラ108により撮影された顔画像データから検出された一部の表情パラメータに基づいて他の表情パラメータを補正するようになっており、補正された表情パラメータNに応じた表情の顔画像が生成されるため、フェイストラッキングにより検出された顔画像を変化に富んだ画像として出力することができる。
【0106】
また、本実施例では、カメラ108により撮影された顔画像データから検出された一部の表情パラメータに加え、表情パラメータ以外のパラメータに基づいて補正された表情パラメータNに応じた表情の顔画像が生成されるため、フェイストラッキングにより検出された顔画像をさらに変化に富んだ画像として出力することができる。
【0107】
なお、本実施例では、一部の表情パラメータと、表情パラメータ以外のパラメータと、の双方により表情パラメータが補正される構成であるが、一部の表情パラメータのみに基づいて補正された表情パラメータNに応じた表情の顔画像を生成する構成とした場合でも、表情パラメータ以外のパラメータのみに基づいて補正された表情パラメータNに応じた表情の顔画像を生成する構成とした場合でも良く、このような構成においても、フェイストラッキングにより検出された顔画像を変化に富んだ画像として出力することができる。
【0108】
本実施例では、表情パラメータ以外のパラメータとして、マイク109から入力される音声に基づく音声パラメータを含んでおり、例えば、マイク109から入力される音声の音量、音高等に応じた表情の顔画像を生成することができる。
【0109】
また、本実施例では、表情パラメータ以外のパラメータとして、入力装置107によるコマンドの操作入力に基づく入力パラメータを含んでおり、例えば、入力装置107により入力されたコマンド入力等に応じた表情の顔画像を生成することができる。
【0110】
また、本実施例では、表情パラメータ以外のパラメータとして、バイタル計測器110により入力されるバイタルデータに基づくバイタルパラメータを含んでおり、例えば、バイタル計測器110により入力された脈拍や血圧、体温等に応じた表情の顔画像を生成することができる。
【0111】
また、本実施例では、表情パラメータ以外のパラメータとして、予めコンフィグ設定画面により設定されたコンフィグ(設定値)に基づくコンフィグパラメータを含んでおり、例えば、コンフィグによって調整された変化量にて表情の顔画像を生成することができる。
【0112】
なお、本実施例では、表情パラメータ以外のパラメータとして、音声パラメータ、入力パラメータ、バイタルパラメータ、コンフィグパラメータを含む構成であるが、これらの一部のみ含む構成でも良いし、それ以外のパラメータ、例えば、対象者の背景画像、同時に配信するアバターの背景画像、撮影場所の温度、湿度、撮影場所の明暗などから特定されるパラメータを含む構成でも良い。
【0113】
本実施例では、カメラ108により撮影された顔画像データから検出された一部の表情パラメータに基づいて感情値を特定し、特定した感情値に基づいて表情パラメータを補正するようになっており、補正された表情パラメータNに応じた表情の顔画像が生成されるため、フェイストラッキングにより検出された顔画像の表情から特定される感情を、生成した顔画像に反映させることができる。
【0114】
また、本実施例では、カメラ108により撮影された顔画像データから検出された一部の表情パラメータに加え、表情パラメータ以外のパラメータに基づいて感情値を特定するようになっており、生成した顔画像に反映させる感情をより正確に特定することができる。
【0115】
なお、本実施例では、一部の表情パラメータと、表情パラメータ以外のパラメータと、の双方により感情値を特定する構成であるが、一部の表情パラメータのみに基づいて感情値を特定する構成とした場合でも、表情パラメータ以外のパラメータのみに基づいて感情値を特定する構成とした場合でも良く、このような構成においても、特定された感情を生成した顔画像に反映させることができる。
【0116】
また、本実施例では、一部の表情パラメータに基づいて、喜びを示すJoy値と怒りを示すAnger値と特定し、Joy値がAnger値よりも大きい場合に喜びを示す感情値EmoJを特定し、Anger値がJoy値よりも大きい場合に怒りを示す感情値EmoAを特定するようになっており、一部の表情パラメータや、表情パラメータ以外のパラメータから特定される喜びと怒りの双方を反映した感情値に基づいた表情の顔画像を生成することができる。
【0117】
また、本実施例では、表情パラメータのうち口角の動きの度合いを示すMouthStretch、MouthSmileを用いてJoy値及びAnger値を特定するようになっており、感情が反映されやすい口角の動きの度合いから喜びや怒りの感情を特定することができる。
【0118】
なお、本実施例では、喜びを示すJoy値と怒りを示すAnger値とを特定し、表情パラメータに反映させる構成であるが、他に哀しみを示す値、楽しさを示す値を特定し、喜怒哀楽の感情値を表情パラメータにそれぞれ反映させる構成としても良いし、これら感情値の一部のみを特定し、特定した感情値を表情パラメータに反映させる構成としても良い。
【0119】
また、本実施例では、感情値の大小に関わらず、対応する表情パラメータを補正する構成であるが、感情値が一定の閾値を超えた場合に、対応する表情パラメータを補正する構成としても良く、このような構成とすることで、生成された顔画像の表情の変化にメリハリを付けることができる。
【0120】
また、本実施例では、一部の表情パラメータと、表情パラメータ以外のパラメータと、により感情値を特定し、特定した感情値により表情パラメータを補正する構成であるが、感情によって変化する一部の表情パラメータや表情パラメータ以外のパラメータにより直接表情パラメータを補正する構成としても良く、このような構成においても、補正に用いるパラメータが閾値を超えた場合に、対応する表情パラメータを補正する構成とすることで、生成された顔画像の表情の変化にメリハリを付けることができる。
【0121】
[補正内容設定プログラム]
補正内容設定プログラムは、パラメータ補正プログラムが用いる設定データを設定する処理を行うプログラムである。また、補正内容設定プログラムでは、設定データを設定する処理に加え、画像生成プログラムに対し出力される表情パラメータ及び拡張パラメータを指定する処理も行われる。なお、画像生成プログラムに対し出力される表情パラメータ及び拡張パラメータを指定する処理の詳細な説明については省略する。また、本実施例では、パラメータ補正プログラム及び画像生成プログラムを実行するコンピュータ端末1が、補正内容設定プログラムを実行可能な構成であるが、補正内容設定プログラムを実行する機能をコンピュータ端末1とは別のコンピュータ端末に搭載し、別のコンピュータ端末で設定された設定データを、コンピュータ端末1のパラメータ補正プログラムの設定データとして適用する構成としても良い。
【0122】
図15は、補正内容設定プログラムの制御内容を示すフローチャートである。
【0123】
図15に示すように、補正内容設定プログラムでは、まず、補正するパラメータを指定する(Sb1)。Sb1のステップでは、例えば、設定画面上に入力ノードを配置し、入力ノードに補正する対象のパラメータの種類を設定する。
【0124】
次いで、補正に用いるパラメータを指定する(Sb2)。Sb2のステップでは、例えば、Sb1のステップと同様に、設定画面上に入力ノードを配置し、入力ノードに補正に用いるパラメータの種類を設定する。
【0125】
次いで、複数のパラメータによる計算式や出力条件等の補正内容を設定する(Sb3)。Sb3のステップでは、例えば、設定画面上に設定ノードと出力ノードとを配置し、補正するパラメータの種類を設定した入力ノード及び補正に用いるパラメータの種類を設定した入力ノードと設定ノードの入力部とを連結するとともに、補正後のパラメータの種類を設定した出力ノードと設定ノードの出力部とを連結し、さらに設定ノードに入力されたパラメータを用いた計算式や出力条件等の補正内容を設定する。
【0126】
次いで、入力ノード、設定ノード、出力ノードの設定内容に基づいて、入力するパラメータの種類と、入力したパラメータによる補正内容(計算式、出力条件等)と、出力するパラメータの種類と、を定義した設定データを作成し、パラメータ補正プログラムに出力する(Sb4)。
【0127】
次に、補正内容設定プログラムによる設定データの具体的な設定手順について説明する。ここでは、感情値設定処理に用いる設定データ、感情値を用いて補正するMouthSmile補正処理、MouthFrown補正処理、BrowDown補正処理に用いる設定データの設定手順について説明する。
【0128】
図16~
図21は、感情値設定処理に用いる設定データの設定手順について説明するための図である。
【0129】
感情値設定処理に用いる設定データは複数の設定データからなり、まず、BrowDownLeft(BDoL)、BrowDownRight(BDoR)、CheekSquintLeft(CSqL)、CheekSquintRight(CSqR)、MouthStretchLeft(MStL)、MouthStretchRight(MStR)、MouthSmileLeft(MSmL)、MouthSmileRight(MSmR)の左右の平均であるBDo、CSq、MSt、MSmを算出するための設定データを設定する。
【0130】
例えば、BrowDownLeft(BDoL)、BrowDownRight(BDoR)の平均であるBDoを算出する設定データを設定する場合には、
図16に示すように、設定画面上に2つの入力ノードと、1つの設定ノードと、1つの出力ノードと、を配置する。これらのノードを設定する数や位置は任意に指定可能である。
【0131】
次いで、2つの入力ノードにそれぞれBDoL、BDoRを入力する。また、設定ノードにA、B2つの入力部を設定し、BDoLの入力ノードを設定ノードの入力部Aと連結し、BDoRの入力ノードを設定ノードの入力部Bと連結する。また、出力ノードに出力されるBDoを入力し、設定ノードの出力部と出力ノードとを連結する。さらに設定ノードに入力部A、Bから入力されるパラメータの平均をとる計算式として(A+B)/2を入力する。この状態で決定操作を行うことにより、BrowDownLeft(BDoL)、BrowDownRight(BDoR)の平均であるBDoを算出する設定データが作成される。
【0132】
CheekSquintLeft(CSqL)、CheekSquintRight(CSqR)、MouthStretchLeft(MStL)、MouthStretchRight(MStR)、MouthSmileLeft(MSmL)、MouthSmileRight(MSmR)の左右の平均であるCSq、MSt、MSmを算出するための設定データを作成する手順も同様である。
【0133】
次に、BDo、CSq、MFu、MStを用いて怒りの度合いを示すAnger値を算出する設定データを設定する。
【0134】
ここでは、
図17に示すように、設定画面上に4つの入力ノードと、1つの設定ノードと、1つの出力ノードと、を配置する。
【0135】
次いで、4つの入力ノードにそれぞれBDo、CSq、MFu、MStを入力する。また、設定ノードにA~Dの4つの入力部を設定し、BDoの入力ノードを設定ノードの入力部Aと連結し、CSqの入力ノードを設定ノードの入力部Bと連結し、MStの入力ノードを設定ノードの入力部Cと連結し、MFuの入力ノードを設定ノードの入力部Dと連結する。また、出力ノードに出力されるAngerを入力し、設定ノードの出力部と出力ノードとを連結する。さらに設定ノードに入力部A~Dから入力されるパラメータによりAnger値を算出する計算式として((A-B)*2+C+D)/4*(-1)を入力する。この状態で決定操作を行うことにより、怒りの度合いを示すAnger値を算出する設定データが作成される。
【0136】
次に、MSm、CSqを用いて喜びの度合いを示すJoy値を算出する設定データを設定する。
【0137】
ここでは、
図18に示すように、設定画面上に2つの入力ノードと、1つの設定ノードと、1つの出力ノードと、を配置する。
【0138】
次いで、2つの入力ノードにそれぞれMSm、CSqを入力する。また、設定ノードにA、Bの2つの入力部を設定し、MSmの入力ノードを設定ノードの入力部Aと連結し、CSqの入力ノードを設定ノードの入力部Bと連結する。また、出力ノードに出力されるJoyを入力し、設定ノードの出力部と出力ノードとを連結する。さらに設定ノードに入力部A、Bから入力されるパラメータによりJoy値を算出する計算式として(A+B)/2を入力する。この状態で決定操作を行うことにより、喜びの度合いを示すJoy値を算出する設定データが作成される。
【0139】
次に、Anger値及びJoy値を用いて感情値AGの算出、算出したAGが0を超えるAGJ、算出したAGが0未満であるAGAを出力する設定データを設定する。
【0140】
ここでは、
図19に示すように、設定画面上に2つの入力ノードと、2つの設定ノードと、2つの出力ノードと、を配置する。
【0141】
次いで、2つの入力ノードにそれぞれAnger、Joyを入力する。また、一方の設定ノードにA、Bの2つの入力部を設定し、Angerの入力ノードを一方の設定ノードの入力部Aと連結し、Joyの入力ノードを一方の設定ノードの入力部Bと連結し、出力部を他方の設定ノードの入力部に連結する。さらに一方の設定ノードの入力部にA、Bから入力されるパラメータによりAG値を算出する計算式としてA+Bを入力する。次に、他方の設定ノードに、A、Bの2つの出力部を設定し、2つの出力ノードにAGJ、AGAをそれぞれ入力し、他方の設定ノードの出力部AとAGJの出力ノードとを連結し、他方の設定ノードの出力部BとAGAの出力ノードとを連結する。さらに、他方の設定ノードに、入力部から入力されたAG値に応じてパラメータを振り分ける条件式として、In>0→A In<0→Bを入力する。この状態で決定操作を行うことにより、AGが0を超えるAGJ、AGが0未満であるAGAを出力する設定データが作成される。
【0142】
次に、音量(Vo)、音高(Pi)、脈拍(PR)を、1または0を示すVo1、Pi1、PR1に変換する設定データを設定する。
【0143】
例えば、音量(Vo)をVo1に変換する場合には、
図20に示すように、設定画面上に1つの入力ノードと、1つの設定ノードと、1つの出力ノードと、を配置する。
【0144】
次いで、入力ノードにVoを入力する。また、Voの入力ノードを設定ノードの入力部と連結する。また、出力ノードに出力されるVo1を入力し、設定ノードの出力部と出力ノードとを連結する。さらに設定ノードに、入力部から入力されたVo値に応じてパラメータを変換する条件式として、In≧0.8→1 In<0.8→0を入力する。この状態で決定操作を行うことにより、音量(Vo)をVo1に変換する設定データが作成される。
【0145】
音高(Pi)、脈拍(PR)を変換する設定データを作成する手順も同様である。なお、脈拍(PR)をPR1に変換する条件式には、In≧0.6→1 In<0.6→0を入力する。
【0146】
次に、AGJ、AGA、Vo1、Pi1、PR1を用いて感情値EmoJ、EmoAを算出する設定データを設定する。
【0147】
ここでは、
図21に示すように、設定画面上に5つの入力ノードと、2つの設定ノードと、2つの出力ノードと、を配置する。
【0148】
次いで、5つの入力ノードにそれぞれAGJ、AGA、Vo1、Pi1、PR1を入力する。また、一方の設定ノードにそれぞれA~Dの4つの入力部を設定し、AGJの入力ノードを一方の設定ノードの入力部Aと連結し、Vo1の入力ノードを一方の設定ノードの入力部Bと連結し、Pi1の入力ノードを一方の設定ノードの入力部Cと連結し、PR1の入力ノードを一方の設定ノードの入力部Dと連結する。また、他方の設定ノードにそれぞれA~Dの4つの入力部を設定し、AGAの入力ノードを他方の設定ノードの入力部Aと連結し、Vo1の入力ノードを他方の設定ノードの入力部Bと連結し、Pi1の入力ノードを他方の設定ノードの入力部Cと連結し、PR1の入力ノードを他方の設定ノードの入力部Dと連結する。また、一方の出力ノードに出力されるEmoJを設定し、一方の設定ノードの出力部と一方の出力ノードとを連結し、他方の出力ノードに出力されるEmoAを設定し、他方の設定ノードの出力部と他方の出力ノードとを連結する。さらに一方の設定ノードに入力部A~Dから入力されるパラメータによりAGJ値を補正する計算式としてA*0.8+(B+C+D)/3*0.2を入力し、他方の設定ノードに入力部A~Dから入力されるパラメータによりAGA値を補正する計算式としてA*0.8-(B+C+D)/3*0.2を入力する。この状態で決定操作を行うことにより、AGJ、AGA、Vo1、Pi1、PR1を用いて感情値EmoJ、EmoAを算出する設定データが作成される。
【0149】
このように、補正内容設定プログラムにより、
図16~
図21に示す設定データを全て設定することで、パラメータ補正プログラムがこれらの設定データを参照し、感情値であるEmoJ、EmoAを算出することができるようになっている。
【0150】
図22は、MouthSmile補正処理に用いる設定データの設定手順について説明するための図である。
【0151】
MouthSmile補正処理に用いる設定データを作成する場合には、
図22に示すように、設定画面上に3つの入力ノードと、2つの設定ノードと、2つの出力ノードと、を配置する。
【0152】
次いで、3つの入力ノードにそれぞれ補正に用いるEmoJ、補正されるMSmL、MSmRを入力する。また、一方の設定ノードにそれぞれA、Bの2つの入力部を設定し、EmoJの入力ノードを一方の設定ノードの入力部Aと連結し、MSmLの入力ノードを一方の設定ノードの入力部Bと連結する。また、他方の設定ノードにそれぞれA、Bの2つの入力部を設定し、EmoJの入力ノードを他方の設定ノードの入力部Aと連結し、MSmRの入力ノードを他方の設定ノードの入力部Bと連結する。また、一方の出力ノードに出力されるMSmLNを設定し、一方の設定ノードの出力部と一方の出力ノードとを連結し、他方の出力ノードに出力されるMSmRNを設定し、他方の設定ノードの出力部と他方の出力ノードとを連結する。さらに一方の設定ノードに入力部Aから入力されるEmoJにより入力部Bから入力されるMSmLを補正する計算式としてB+A*0.5を入力し、他方の設定ノードに入力部Aから入力されるEmoJにより入力部Bから入力されるMSmRを補正する計算式としてB+A*0.5を入力する。この状態で決定操作を行うことにより、感情値EmoJを用いて表情パラメータMSmL、MSmRを補正する設定データが作成される。
【0153】
図23は、MouthFrown補正処理、BrowDown補正処理に用いる設定データの設定手順について説明するための図である。
【0154】
MouthFrown補正処理、BrowDown補正処理に用いる設定データを作成する場合には、
図23に示すように、設定画面上に5つの入力ノードと、4つの設定ノードと、4つの出力ノードと、を配置する。
【0155】
次いで、5つの入力ノードにそれぞれ補正に用いるEmoA、補正されるMFrL、MFrR、BDoL、BDoRを入力する。また、第1の設定ノードにそれぞれA、Bの2つの入力部を設定し、EmoAの入力ノードを第1の設定ノードの入力部Aと連結し、MFrLの入力ノードを第1の設定ノードの入力部Bと連結する。また、第2の設定ノードにそれぞれA、Bの2つの入力部を設定し、EmoAの入力ノードを第2の設定ノードの入力部Aと連結し、MFrRの入力ノードを第2の設定ノードの入力部Bと連結する。また、第3の設定ノードにそれぞれA、Bの2つの入力部を設定し、EmoAの入力ノードを第1の設定ノードの入力部Aと連結し、BDoLの入力ノードを第3の設定ノードの入力部Bと連結する。また、第4の設定ノードにそれぞれA、Bの2つの入力部を設定し、EmoAの入力ノードを第4の設定ノードの入力部Aと連結し、BDoRの入力ノードを第4の設定ノードの入力部Bと連結する。また、第1の出力ノードに出力されるMFrLNを設定し、第1の設定ノードの出力部と第1の出力ノードとを連結し、第2の出力ノードに出力されるMFrRNを設定し、第2の設定ノードの出力部と第2の出力ノードとを連結する。また、第3の出力ノードに出力されるBDoLNを設定し、第3の設定ノードの出力部と第3の出力ノードとを連結し、第4の出力ノードに出力されるBDoRNを設定し、第4の設定ノードの出力部と第4の出力ノードとを連結する。さらに第1の設定ノードに入力部Aから入力されるEmoAにより入力部Bから入力されるMFrLを補正する計算式としてB+A*(-1)*0.5を入力し、第2の設定ノードに入力部Aから入力されるEmoAにより入力部Bから入力されるMFrRを補正する計算式としてB+A*(-1)*0.5を入力し、第3の設定ノードに入力部Aから入力されるEmoAにより入力部Bから入力されるBDoLを補正する計算式としてB+A*(-1)*0.5を入力し、第4の設定ノードに入力部Aから入力されるEmoAにより入力部Bから入力されるBDoRを補正する計算式としてB+A*(-1)*0.5を入力する。この状態で決定操作を行うことにより、感情値EmoAを用いて表情パラメータMFrL、MFrR、BDoL、BDoRを補正する設定データが作成される。
【0156】
このように補正内容設定プログラムでは、設定画面上に入力ノード、設定ノード、出力ノードを配置し、入力ノードに補正対象となるパラメータや補正に用いるパラメータの種類を入力して設定ノードと連結し、また、出力ノードに出力されるパラメータの種類を入力して設定ノードと連結し、設定ノードにおいて入力ノードから入力されるパラメータを用いた計算式や条件式により補正内容を設定することで、簡単にパラメータ補正プログラムで用いる設定データを設定することができるようになっている。
【0157】
また、補正内容設定プログラムでは、一度作成した設定データを読み出すことが可能であり、設定データを読み出すことで、設定データに基づく入力ノード、設定ノード、出力ノードと、その設定内容が表示されるようになっており、ノード同士の連結の変更、入力ノードや出力ノードに設定されたパラメータの種類の変更、設定ノードに設定された計算式や条件式を変更して、上書き保存や新規設定データの作成が可能であり、既存の設定データを容易に編集すること、既存の設定データをもとに新たな設定データを容易に作成することが可能となっている。
【0158】
[画像生成プログラム]
画像生成プログラムは、
図3に示すように、パラメータ補正プログラムからの表情パラメータN及び拡張パラメータ、モーショントラッキングプログラムからのモーションパラメータ、音声パラメータからの音声パラメータ、入力検出プログラムからの入力パラメータに基づいてアバター画像を生成する処理を実行し、生成したアバター画像を配信プログラムに出力するプログラムであり、顔画像を生成する顔画像生成処理、顔画像を補正する顔画像補正処理、衣装画像を生成する衣装画像生成処理、装飾画像を生成する装飾画像生成処理を含む。画像生成プログラムは、パラメータ補正プログラムと同様に、配信プログラムが配信する動画のフレームレートに応じた間隔で1フレーム毎に実行される。例えば、フレームレートが60fpsの場合には、1秒間に60回の画像生成プログラムが実行される。
【0159】
図24は、画像生成プログラムの制御内容を示すフローチャートである。
【0160】
図24に示すように、画像生成プログラムでは、まず、各種パラメータを取り込む(Sc1)。Sc1のステップでは、パラメータ補正プログラムより出力された表情パラメータN及び拡張パラメータ、モーショントラッキングプログラムからのモーションパラメータ、音声パラメータからの音声パラメータ、入力検出プログラムからの入力パラメータを取り込む。
【0161】
次に、Sc1のステップで取り込んだ表情パラメータNに基づいて顔の3Dモデルを作成する(Sc2)。Sc2のステップでは、表情パラメータNに対応して予め設定された複数の3Dモデル(顔データ)を用いて、対応する表情パラメータNの値によりブレンドすること(ブレンドシェイプ)により作成する。また、一部のパーツについては、複数のボーン同士のジョイントの位置及び角度を表情パラメータNの値により設定することで作成する。また、ブレンドシェイプにより作成した3Dモデルとボーンにより作成した3Dモデルとをブレンドして補完するようにしても良い。
【0162】
次に、Sc1のステップで取り込んだモーションパラメータから顔の正面に対してカメラ108の撮影方向が水平及び垂直にそれぞれ何度傾いているかを特定し、特定した撮影方向に応じた補正量にてSc2のステップにおいて作成した顔の3Dモデルの輪郭、パーツの位置及び形状を補正する。これにより、例えば、
図25(a)(b)に示すように、顔の正面から撮影した場合と、斜め方向から撮影した場合と、で同じ3Dモデルが用いられるのではなく、撮影方向に応じて、顔の輪郭、口や鼻、目の位置や形状を補正した3Dモデルが用いられることとなる。撮影方向に応じた補正量は、輪郭、補正対象となるパーツ毎に予め定められた左右方向及び上下方向の最大補正量と、撮影方向の水平及び垂直の角度と、により算出され、
図26(a)に示すように、撮影方向の水平または垂直の角度が大きくなるほど、左右方向または上下方向の補正量も徐々に増加する。また、最大角度よりも小さい中間角度に対応する中間補正量を設定するようにしても良く、この場合には、
図26(b)に示すように、中間角度において中間補正量を通る曲線となるように、左右方向または上下方向の補正量を徐々に増加させることで、撮影角度の変化により急激に補正量が変化してしまうことがない。
【0163】
次に、Sc1のステップで取り込んだモーションパラメータに基づいて、身体・手(指)の3Dモデルを作成する(Sc4)。Sc4のステップではモーションパラメータに対応して予め設定された複数の3Dモデル(身体データ)を用いて、対応するポーズの身体・手(指)の3Dモデルを作成する。
【0164】
次に、Sc1のステップで取り込んだモーションパラメータに基づいて、衣装(髪型や装飾物等の付属物を含む)の3Dモデルを作成する(Sc5)。Sc5のステップではモーションパラメータに対応して予め設定された複数の3Dモデル(衣装データ)を用いて、対応するポーズの身体・手(指)に合わせた衣装の3Dモデルを作成する。
【0165】
次に、Sc5のステップで作成した衣装の3Dモデルが禁止領域と重畳するか否かを判定する(Sc6)。禁止領域は、衣装と顔が重畳して顔の表情が視認できなくなる重畳領域に加え、その周辺領域を含む領域であり、衣装と顔の重畳領域以外の領域を含む。
【0166】
Sc6のステップにおいて衣装の3Dモデルが禁止領域と重畳しないと判定した場合には、Sc9のステップに進み、衣装の3Dモデルが禁止範囲と重畳すると判定した場合には、衣装の3Dモデルから衣装と顔の重畳領域までの距離に応じて衣装の変形量または移動量を算出し(Sc7)、Sc7のステップにおいて算出した変形量または移動量に応じて衣装の該当部分の形状または位置を補正する(Sc8)。
【0167】
これにより、例えば、
図27(a)に示すように、撮影方向が顔の正面である場合には、衣装と顔が重畳しない場合でも、
図27(b)に示すように、撮影方向が変化することで衣装の一部が顔と重畳し、表情が隠れてしまう状況となっても、衣装の一部が変形して表情が隠れることがない。また、
図28(a)に示すように、撮影方向が顔の正面である場合には、付属物と顔が重畳しない場合でも、
図28(b)に示すように、撮影方向が変化することで付属物が顔と重畳し、表情が隠れてしまう状況となっても、付属物が移動して表情が隠れることがない。
【0168】
また、衣装の3Dモデルが禁止範囲と重畳した後の衣装の変形量または移動量は、
図29に示すように、顔と衣装の重畳範囲に近づくにつれ徐々に大きくなるように設定されており、さらに顔と衣装の重畳範囲に近くなるほど、衣装の変形量または移動量の増加量も大きくなるように設定されている。このため、衣装の3Dモデルが禁止範囲と重畳していても、顔と衣装の重畳範囲から離れている場合には、その変形量または移動量は小さく抑えられ、顔と衣装の重畳範囲に近づくほど、衣装の変形量または移動量を大きくすることで、顔と衣装の重畳が防止されるようになっている。
【0169】
次に、Sc1のステップで取り込んだ拡張パラメータ(感情値)、音声パラメータに基づいて装飾画像を追加する追加条件が成立しているか否かを判定する(Sc9)。そして、Sc9のステップにおいて追加条件が成立していないと判定した場合には、Sc11のステップに進み、追加条件が成立していると判定した場合には、成立した追加条件に応じた装飾画像を設定する(Sc10)。なお、Sc10のステップにおいて設定された装飾画像は、一定期間にわたり保持されるようになっており、一定期間の経過によりクリアされる。このため、追加条件が成立した後は、一定期間にわたり装飾画像が表示されたまま維持される。なお、新たな追加条件が成立した場合には、上書きされることとなる。
【0170】
追加条件と、追加条件に対応する装飾画像は予め設定されており、例えば、
図30に示すように、感情値の大きさ、入力装置107による装飾画像を指定するコマンド入力、音量、音高が規定値以上の場合に追加条件が成立し、本実施例では、感情値Emoが0.7以上であるか、喜び(小)コマンドが入力されている場合には、クラッカーの装飾画像が設定され、感情値Emoが0.9以上であるか、喜び(大)コマンドが入力されている場合には、クラッカーに加えハートマークの装飾画像が設定され、感情値Emoが-0.8以下であるか、怒りコマンドが入力されている場合には、怒りマークの装飾画像が設定され、音量(Vo)または音高(Pi)が0.8以上の場合には、スピーカマークの装飾画像が設定されるようになっている。
【0171】
このため、例えば、感情値(Emo)が0.9以上または喜び(大)コマンドが入力され、喜んでいる状況が特定される場合には、
図31に示すように、アバター画像の周囲に、クラッカーとハートマークの装飾画像が一定期間表示されるようになり、感情値(Emo)が-0.8未満または怒りコマンドが入力され、怒っている状況が特定される場合には、
図32に示すように、アバター画像の周囲に怒りマークの装飾画像が一定期間表示されるようになる。また、音量(Vo)または音高(Pi)が0.8以上であり、大きな声または高い声で話している状況が特定される場合には、
図32に示すように、スピーカマークの装飾画像が表示されるようになる。
【0172】
次に、Sc2のステップにて作成され、Sc3のステップにおいて補正された顔の3Dモデル、Sc4のステップにて作成された身体・手(指)の3Dモデル、Sc5のステップにて作成された衣装の3Dモデル、Sc10で設定された装飾画像等を配置して、アバター画像データを生成し、配信プログラムに出力する(Sc11)。
【0173】
このように本実施例では、カメラ108により撮影された顔画像データから検出された一部の表情パラメータに基づいて顔画像以外の装飾画像が生成されるようになっており、フェイストラッキングにより検出された顔画像を変化に富んだ画像として出力することができる。
【0174】
また、本実施例では、カメラ108により撮影された顔画像データから検出された一部の表情パラメータに基づいて感情値を特定し、特定した感情値に基づいて顔画像以外の装飾画像が生成されるようになっており、フェイストラッキングにより検出された顔画像の表情から特定される感情を反映して装飾画像を表示させることができる。
【0175】
また、本実施例では、カメラ108により撮影された顔画像データから検出された一部の表情パラメータに加え、表情パラメータ以外のパラメータに基づいて感情値を特定するようになっており、より正確な感情を反映して装飾画像を表示させることができる。
【0176】
なお、本実施例では、一部の表情パラメータと、表情パラメータ以外のパラメータと、の双方により感情値を特定する構成であるが、一部の表情パラメータのみに基づいて感情値を特定する構成とした場合でも、表情パラメータ以外のパラメータのみに基づいて感情値を特定する構成とした場合でも良く、このような構成においても、特定された感情を反映して装飾画像を表示させることができる。
【0177】
また、本実施例では、感情値が一定の閾値を超えた場合に、対応する装飾画像を生成するようになっており、このような構成とすることで、適切な頻度で装飾画像を表示させることができる。
【0178】
なお、本実施例では、カメラ108により撮影された顔画像データから検出された一部の表情パラメータに基づいて顔画像以外の装飾画像が生成される構成であるが、顔画像データから検出された一部のパラメータや、これらのパラメータから特定される感情値に基づいて、衣装のデザインや色、背景画像の構成や色調、付属物の形状、大きさ、色などを変化させる構成としても良く、このような構成とした場合には、フェイストラッキングにより検出された顔画像の表情から特定されるパラメータを反映して、顔画像以外にも変化を与えることができる。
【0179】
本実施例では、カメラ108の撮影方向に応じて衣装の一部が顔画像の表情を視認できない位置となる場合に、衣装の一部を顔画像の表情が視認できる形状に変化させるようになっており、カメラ108による対象者の撮影方向が変化して顔画像の表情が衣装の一部により隠れてしまうことを防止できる。
【0180】
また、本実施例では、顔画像の表情を視認できない位置ではない場合でも、顔画像の表情を視認できない位置(禁止領域)に近づいた場合に、衣装の一部を顔画像の表情が視認できる形状に向けて変形させるようになっており、顔画像の表情が隠れる前から衣装の一部を顔画像の表情を視認できる形状に向けて変形させることができる。
【0181】
また、本実施例では、顔画像の表情を視認できない位置までの距離に応じて、衣装の一部を顔画像の表情を視認できる形状に向けて徐々に変形させるようになっており、自然に衣装の一部を顔画像の表情を視認できる形状に向けて変形させることができる。
【0182】
なお、本実施例では、顔画像の表情を視認できない位置ではない場合でも、顔画像の表情を視認できない位置(禁止領域)に近づいた場合に、衣装の一部を顔画像の表情が視認できる形状に向けて変形させる構成であるが、顔画像の表情を視認できない位置に到達したタイミングで衣装の一部を顔画像の表情が視認できる形状に変形させるようにしても良く、このような構成であっても、カメラ108による対象者の撮影方向が変化して顔画像の表情が衣装の一部により隠れてしまうことを防止できる。
【0183】
また、本実施例では、顔画像の表情を視認できない位置までの距離に応じて、衣装の一部を顔画像の表情を視認できる形状に向けて徐々に変形させる構成であるが、顔画像の表情を視認できない位置(禁止領域)に到達したタイミングで衣装の一部を顔画像の表情を視認できる形状に向けて変形させる構成としても良い。
【0184】
本実施例では、カメラ108の撮影方向に応じて付属物が顔画像の表情を視認できない位置となる場合に、付属物を顔画像の表情が視認できる位置に移動させるようになっており、カメラ108による対象者の撮影方向が変化して顔画像の表情が付属物により隠れてしまうことを防止できる。
【0185】
また、本実施例では、顔画像の表情を視認できない位置ではない場合でも、顔画像の表情を視認できない位置(禁止領域)に近づいた場合に、付属物を顔画像の表情が視認できる位置に向けて移動させるようになっており、顔画像の表情が隠れる前から付属物を顔画像の表情を視認できる位置に向けて移動させることができる。
【0186】
また、本実施例では、顔画像の表情を視認できない位置までの距離に応じて、付属物を顔画像の表情を視認できる位置に向けて徐々に移動させるようになっており、自然に付属物を顔画像の表情を視認できる位置に向けて移動させることができる。
【0187】
なお、本実施例では、顔画像の表情を視認できない位置ではない場合でも、顔画像の表情を視認できない位置(禁止領域)に近づいた場合に、付属物を顔画像の表情が視認できる位置に向けて移動させる構成であるが、顔画像の表情を視認できない位置に到達したタイミングで付属物を顔画像の表情が視認できる位置に移動させるようにしても良く、このような構成であっても、カメラ108による対象者の撮影方向が変化して顔画像の表情が付属物により隠れてしまうことを防止できる。
【0188】
また、本実施例では、顔画像の表情を視認できない位置までの距離に応じて、付属物を顔画像の表情を視認できる位置に向けて徐々に移動させる構成であるが、顔画像の表情を視認できない位置(禁止領域)に到達したタイミングで付属物を顔画像の表情を視認できる位置に向けて移動させる構成としても良い。
【0189】
本実施例では、カメラ108の撮影方向に応じて顔画像を構成するパーツの形状または位置を補正するようになっており、撮影方向が変わっても生成される顔画像の表情が不自然となってしまうことを防止できる。
【0190】
また、本実施例では、カメラ108の撮影方向に応じて顔画像の輪郭が補正されるようになっており、撮影方向が変わっても生成される顔画像の輪郭が不自然となることを防止できる。
【0191】
また、本実施例では、カメラ108の撮影方向に応じて顔画像を構成する口の位置や形状が補正されるようになっており、撮影方向が変わっても生成される顔画像を構成する口の位置や形状が不自然となることを防止できる。
【0192】
また、本実施例では、カメラ108の撮影方向に応じて顔画像を構成する鼻の位置や形状が補正されるようになっており、撮影方向が変わっても生成される顔画像を構成する鼻の位置や形状が不自然となることを防止できる。
【0193】
また、本実施例では、カメラ108の撮影方向に応じて顔画像を構成する目の位置や形状が補正されるようになっており、撮影方向が変わっても生成される顔画像を構成する目の位置や形状が不自然となることを防止できる。
【0194】
また、本実施例では、カメラ108の撮影方向に応じて顔画像を構成するパーツの形状または位置の補正量を徐々に増加させるようになっており、顔画像を構成するパーツの形状や位置が突然変化することがない。
【0195】
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
【0196】
例えば、上記実施例では、画像生成プログラムにより生成されたアバター画像を動画配信に用いる例について説明したが、画像生成プログラムにより生成されたアバター画像の用途は任意であり、アバター画像をアーカイブとして記録するものでも良いし、アニメーションの制作等に用いるようにしても良い。
【0197】
また、上記実施例では、フェイストラッキングプログラムから出力された表情パラメータをパラメータ補正プログラムにより補正し、補正した表情パラメータを用いて画像生成プログラムがアバター画像を生成する例について説明したが、パラメータ補正プログラムを用いずに、フェイストラッキングプログラムから出力されたパラメータを画像生成プログラムが直接用いて画像を生成する構成としても良い。
【符号の説明】
【0198】
1 コンピュータ端末
101 プロセッサ
102 メモリ
103 ストレージ
104 通信インターフェイス
105 表示装置
106 スピーカ
107 入力装置
108 カメラ
109 マイク
110 バイタル計測器
111 データバス
【要約】
【課題】フェイストラッキングにより出力される顔画像の表情が他の画像により隠れてしまうことが防止される画像生成方法及び画像生成プログラムを提供することを目的とする。
【解決手段】コンピュータ端末1は、フェイストラッキングプログラムと、パラメータ補正プログラムと、画像生成プログラムと、を備え、カメラ108の撮影方向に応じて衣装の一部が顔画像の表情を視認できない位置となる場合に、衣装の一部を顔画像の表情が視認できる形状に変化させる。
【選択図】
図27