(57)【特許請求の範囲】
【請求項１】
ユーザによる指定を受け付けたヘアスタイルを示すモデル画像の一部だけを変形することが可能なヘアスタイルシミュレーション装置において、
ユーザ自身の顔を撮像する撮像手段と、
撮像された顔の画像データから顔の部分の輪郭線を抽出する輪郭抽出手段と、
抽出した顔の部分の輪郭線を、ヘアスタイルを示すモデル画像データから抽出した顔の部分の輪郭線とマッチング処理するマッチング手段と、
輪郭線を合わせることで、撮像された顔の画像データの顔の部分と、モデル画像データの髪の部分とを重ね合わせて合成画像を生成して、タッチディスプレイに表示する合成画像表示手段と
を有し、
前記モデル画像データの髪の部分は、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンとして表示されており、
前記タッチディスプレイに表示されている合成画像の前記髪の部分の一部に対する所定の操作を検出する操作検出手段と、
検出された所定の操作に応じて、前記髪の部分の形状を変形させる画像変形手段と
を備え、
前記操作検出手段は、前記所定の操作として変更領域、移動方向及び移動量を検出し、
前記画像変形手段は、
検出された変更領域について、検出された移動方向及び移動量に基づいて、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンの変形方向と変形量を算出する変形算出手段
を備え、
前記変形算出手段は、四角形プリミティブの内部に補助点を設け、該補助点を頂点とした４つの三角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンを、互いに連動させながら漸次変形させることを特徴とするヘアスタイルシミュレーション装置。
【請求項２】
前記操作検出手段は、前記タッチディスプレイに表示されている合成画像の座標位置から所定の範囲を変更領域として検出することを特徴とする請求項１に記載のヘアスタイルシミュレーション装置。
【請求項３】
前記変形算出手段は、各プリミティブを構成するノードの最大変形量を、各ノードの顔の部分の輪郭線からの距離に応じて、距離が短いほど小さくなるように設定することを特徴とする請求項１又は２に記載のヘアスタイルシミュレーション装置。
【請求項４】
ユーザによる指定を受け付けたヘアスタイルを示すモデル画像の一部だけを変形することが可能なコンピュータで実行することが可能なヘアスタイルシミュレーション方法において、
前記コンピュータは、
ユーザ自身の顔を撮像する工程と、
撮像された顔の画像データから顔の部分の輪郭線を抽出する工程と、
抽出した顔の部分の輪郭線を、ヘアスタイルを示すモデル画像データから抽出した顔の部分の輪郭線とマッチング処理する工程と、
輪郭線を合わせることで、撮像された顔の画像データの顔の部分と、モデル画像データの髪の部分とを重ね合わせて合成画像を生成して、タッチディスプレイに表示する工程と
を含み、
前記モデル画像データの髪の部分は、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンとして表示されており、
前記タッチディスプレイに表示されている合成画像の前記髪の部分の一部に対する所定の操作を検出する工程と、
検出された所定の操作に応じて、前記髪の部分の形状を変形させる工程と
を含み、
前記所定の操作を検出する工程において、前記所定の操作として変更領域、移動方向及び移動量を検出し、
前記髪の部分の形状を変形させる工程において、検出された変更領域について、検出された移動方向及び移動量に基づいて、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンの変形方向と変形量を算出し、
前記ポリゴンの変形方法と変形量を算出する工程において、四角形プリミティブの内部に補助点を設け、該補助点を頂点とした４つの三角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンを、互いに連動させながら漸次変形させることを特徴とするヘアスタイルシミュレーション方法。
【請求項５】
前記コンピュータは、前記タッチディスプレイに表示されている合成画像の座標位置から所定の範囲を変更領域として検出することを特徴とする請求項４に記載のヘアスタイルシミュレーション方法。
【請求項６】
前記コンピュータは、各プリミティブを構成するノードの最大変形量を、各ノードの顔の部分の輪郭線からの距離に応じて、距離が短いほど小さくなるように設定することを特徴とする請求項４又は５に記載のヘアスタイルシミュレーション方法。
【請求項７】
ユーザによる指定を受け付けたヘアスタイルを示すモデル画像の一部だけを変形することが可能なコンピュータで実行することが可能なコンピュータプログラムにおいて、
前記コンピュータを、
ユーザ自身の顔を撮像する撮像手段、
撮像された顔の画像データから顔の部分の輪郭線を抽出する輪郭抽出手段、
抽出した顔の部分の輪郭線を、ヘアスタイルを示すモデル画像データから抽出した顔の部分の輪郭線とマッチング処理するマッチング手段、及び
輪郭線を合わせることで、撮像された顔の画像データの顔の部分と、モデル画像データの髪の部分とを重ね合わせて合成画像を生成して、タッチディスプレイに表示する合成画像表示手段
として機能させ、
前記モデル画像データの髪の部分は、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンとして表示されており、
前記コンピュータを、
前記タッチディスプレイに表示されている合成画像の前記髪の部分の一部に対する所定の操作を検出する操作検出手段、及び
検出された所定の操作に応じて、前記髪の部分の形状を変形させる画像変形手段
として機能させ、
前記操作検出手段を、前記所定の操作として変更領域、移動方向及び移動量を検出する手段として機能させ、
前記画像変形手段を、検出された変更領域について、検出された移動方向及び移動量に基づいて、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンの変形方向と変形量を算出する変形算出手段として機能させ、
前記変形算出手段を、四角形プリミティブの内部に補助点を設け、該補助点を頂点とした４つの三角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンを、互いに連動させながら漸次変形させる手段として機能させることを特徴とするコンピュータプログラム。
【請求項８】
前記操作検出手段を、前記タッチディスプレイに表示されている合成画像の座標位置から所定の範囲を変更領域として検出する手段として機能させることを特徴とする請求項７に記載のコンピュータプログラム。
【請求項９】
前記変形算出手段を、各プリミティブを構成するノードの最大変形量を、各ノードの顔の部分の輪郭線からの距離に応じて、距離が短いほど小さくなるように設定する手段として機能させることを特徴とする請求項７又は８に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが選択したヘアスタイルを、所望の形状に変形させてシミュレーションすることが可能なヘアスタイルシミュレーション装置、ヘアスタイルシミュレーション方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
ユーザが自分に似合うヘアスタイルであるか否かを目視で確認するために、画像を用いたシミュレーションシステムが多数開発されている。例えば、特許文献１では、メイクアップやヘアスタイルをシミュレーションし、シミュレーション後の結果を並べて表示することができる美容シミュレーションシステムが開示されている。【０００３】
また、特許文献２では、シミュレーションしたヘアスタイルを自然な仕上がりとなるように調整することが可能なヘアシミュレーション装置が開示されている。特許文献２では、ヘアスタイル画像を複数の層構造の画像としておき、層構造ごとのポリゴンを変形することによりヘアスタイル画像を調整することが可能となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１７８７８９号公報
【特許文献２】特許第５４２２０３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献２では、層構造ごとにポリゴンを変形するので、例えばヘアスタイル画像の一部だけを変形したい場合であっても、同じ層構造に属する部分のヘアスタイル画像も変形する。したがって、既に調整不要であるヘアスタイル画像の一部についても変形する可能性があり、全体として所望の形状にヘアスタイル画像を調整することが困難になる場合が生じるという問題点があった。【０００６】
本発明は上記事情に鑑みてなされたものであり、ユーザが選択したヘアスタイルを、所望の形状に変形させてシミュレーションすることが可能なヘアスタイルシミュレーション装置、ヘアスタイルシミュレーション方法、及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために第１発明に係るヘアスタイルシミュレーション装置は、ユーザによる指定を受け付けたヘアスタイルを示すモデル画像の一部だけを変形することが可能なヘアスタイルシミュレーション装置において、ユーザ自身の顔を撮像する撮像手段と、撮像された顔の画像データから顔の部分の輪郭線を抽出する輪郭抽出手段と、抽出した顔の部分の輪郭線を、ヘアスタイルを示すモデル画像データから抽出した顔の部分の輪郭線とマッチング処理するマッチング手段と、輪郭線を合わせることで、撮像された顔の画像データの顔の部分と、モデル画像データの髪の部分とを重ね合わせて合成画像を生成して、タッチディスプレイに表示する合成画像表示手段とを有し、前記モデル画像データの髪の部分は、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンとして表示されており、前記タッチディスプレイに表示されている合成画像の前記髪の部分の一部に対する所定の操作を検出する操作検出手段と、検出された所定の操作に応じて、前記髪の部分の形状を変形させる画像変形手段とを備え、前記操作検出手段は、前記所定の操作として変更領域、移動方向及び移動量を検出し、前記画像変形手段は、検出された変更領域について、検出された移動方向及び移動量に基づいて、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンの変形方向と変形量を算出する変形算出手段を備え、前記変形算出手段は、四角形プリミティブの内部に補助点を設け、該補助点を頂点とした４つの三角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンを、互いに連動させながら漸次変形させることを特徴とする。
【００１０】
また、第２発明に係るヘアスタイルシミュレーション装置は、第１発明において、前記操作検出手段は、前記タッチディスプレイに表示されている合成画像の座標位置から所定の範囲を変更領域として検出することが好ましい。
【００１１】
また、第３発明に係るヘアスタイルシミュレーション装置は、第１又は第２発明において、前記変形算出手段は、各プリミティブを構成するノードの最大変形量を、各ノードの顔の部分の輪郭線からの距離に応じて、距離が短いほど小さくなるように設定することが好ましい。
【００１２】
次に、上記目的を達成するために第４発明に係るヘアスタイルシミュレーション方法は、ユーザによる指定を受け付けたヘアスタイルを示すモデル画像の一部だけを変形することが可能なコンピュータで実行することが可能なヘアスタイルシミュレーション方法において、前記コンピュータは、ユーザ自身の顔を撮像する工程と、撮像された顔の画像データから顔の部分の輪郭線を抽出する工程と、抽出した顔の部分の輪郭線を、ヘアスタイルを示すモデル画像データから抽出した顔の部分の輪郭線とマッチング処理する工程と、輪郭線を合わせることで、撮像された顔の画像データの顔の部分と、モデル画像データの髪の部分とを重ね合わせて合成画像を生成して、タッチディスプレイに表示する工程とを含み、前記モデル画像データの髪の部分は、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンとして表示されており、前記タッチディスプレイに表示されている合成画像の前記髪の部分の一部に対する所定の操作を検出する工程と、検出された所定の操作に応じて、前記髪の部分の形状を変形させる工程とを含み、前記所定の操作を検出する工程において、前記所定の操作として変更領域、移動方向及び移動量を検出し、前記髪の部分の形状を変形させる工程において、検出された変更領域について、検出された移動方向及び移動量に基づいて、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンの変形方向と変形量を算出し、前記ポリゴンの変形方法と変形量を算出する工程において、四角形プリミティブの内部に補助点を設け、該補助点を頂点とした４つの三角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンを、互いに連動させながら漸次変形させることを特徴とする。
【００１５】
また、第５発明に係るヘアスタイルシミュレーション方法は、第４発明において、前記コンピュータは、前記タッチディスプレイに表示されている合成画像の座標位置から所定の範囲を変更領域として検出することが好ましい。
【００１６】
また、第６発明に係るヘアスタイルシミュレーション方法は、第４又は第５発明において、前記コンピュータは、各プリミティブを構成するノードの最大変形量を、各ノードの顔の部分の輪郭線からの距離に応じて、距離が短いほど小さくなるように設定することが好ましい。
【００１７】
次に、上記目的を達成するために第７発明に係るコンピュータプログラムは、ユーザによる指定を受け付けたヘアスタイルを示すモデル画像の一部だけを変形することが可能なコンピュータで実行することが可能なコンピュータプログラムにおいて、前記コンピュータを、ユーザ自身の顔を撮像する撮像手段、撮像された顔の画像データから顔の部分の輪郭線を抽出する輪郭抽出手段、抽出した顔の部分の輪郭線を、ヘアスタイルを示すモデル画像データから抽出した顔の部分の輪郭線とマッチング処理するマッチング手段、及び輪郭線を合わせることで、撮像された顔の画像データの顔の部分と、モデル画像データの髪の部分とを重ね合わせて合成画像を生成して、タッチディスプレイに表示する合成画像表示手段として機能させ、前記モデル画像データの髪の部分は、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンとして表示されており、前記コンピュータを、前記タッチディスプレイに表示されている合成画像の前記髪の部分の一部に対する所定の操作を検出する操作検出手段、及び検出された所定の操作に応じて、前記髪の部分の形状を変形させる画像変形手段として機能させ、前記操作検出手段を、前記所定の操作として変更領域、移動方向及び移動量を検出する手段として機能させ、前記画像変形手段を、検出された変更領域について、検出された移動方向及び移動量に基づいて、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンの変形方向と変形量を算出する変形算出手段として機能させ、前記変形算出手段を、四角形プリミティブの内部に補助点を設け、該補助点を頂点とした４つの三角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンを、互いに連動させながら漸次変形させる手段として機能させることを特徴とする。
【００２０】
また、第８発明に係るコンピュータプログラムは、第７発明において、前記操作検出手段を、前記タッチディスプレイに表示されている合成画像の座標位置から所定の範囲を変更領域として検出する手段として機能させることが好ましい。
【００２１】
また、第９発明に係るコンピュータプログラムは、第７又は第８発明において、前記変形算出手段を、各プリミティブを構成するノードの最大変形量を、各ノードの顔の部分の輪郭線からの距離に応じて、距離が短いほど小さくなるように設定する手段として機能させることが好ましい。
【００２２】
第１発明、第４発明及び第７発明では、ユーザ自身の顔を撮像し、撮像された顔の画像データから顔の部分の輪郭線を抽出して、抽出した顔の部分の輪郭線を、ヘアスタイルを示すモデル画像データから抽出した顔の部分の輪郭線とマッチング処理する。輪郭線を合わせることで、撮像された顔の画像データの顔の部分と、モデル画像データの髪の部分とを重ね合わせて合成画像を生成して、タッチディスプレイに表示する。モデル画像データの髪の部分は、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンとして表示されており、タッチディスプレイに表示されている合成画像の髪の部分の一部に対する所定の操作を検出して、検出された所定の操作に応じて、髪の部分の形状を変形させる。これにより、モデル画像データの髪の部分の一部だけを不自然さのない形状に変形させることができるので、調整する必要がない部分については現状を維持したまま、気になる部分だけをシミュレーションすることができ、ユーザの所望の形状にヘアスタイルを調整することが可能となる。
また、所定の操作として変更領域、移動方向及び移動量を検出し、検出された変更領域について、検出された移動方向及び移動量に基づいて、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンの変形方向と変形量を算出するので、合成画像の髪の部分をどの方向にどの程度変形させるのかを検出することができ、変形が不要な領域にまで大きな変形を生じないようにすることが可能となる。
さらに、四角形プリミティブの内部に補助点を設け、補助点を頂点とした４つの三角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンを、互いに連動させながら漸次変形させるので、いわゆる三角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンを変形した場合のように、変形後のテクスチャに屈曲部が生じることがなく、テクスチャの表示に不自然な部分が生じないので、自然な表示のままで変形させることが可能となる。
【００２５】
第２発明、第５発明及び第８発明では、タッチディスプレイに表示されている合成画像の座標位置から所定の範囲を変更領域として検出する。これにより、タッチディスプレイ上での合成画像の髪の部分の変更領域を容易に把握することができ、変形が不要な領域にまで大きな変形を生じないようにすることが可能となる。
【００２６】
第３発明、第６発明及び第９発明では、各プリミティブを構成するノードの最大変形量を、各ノードの顔の部分の輪郭線からの距離に応じて、距離が短いほど小さくなるように設定する。これにより、髪の部分を顔の部分の方向に変形させた場合であっても、髪の部分が顔の部分の輪郭線を超えて変形することがなく、ヘアスタイルを自然な形状に変形することが可能となる。
【発明の効果】
【００２７】
本発明によれば、モデル画像データの髪の部分の一部だけを不自然さのない形状に変形させることができるので、調整する必要がない部分については現状を維持したまま、気になる部分だけをシミュレーションすることができ、ユーザの所望の形状にヘアスタイルを調整することが可能となる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施の形態に係るヘアスタイルシミュレーション装置の構成を示す模式図である。
【図２】本発明の実施の形態に係るヘアスタイルシミュレーション装置の構成を示す機能ブロック図である。
【図３】本発明の実施の形態に係るヘアスタイルシミュレーション装置のＣＰＵの輪郭マッチング処理の手順を示すフローチャートである。
【図４】本発明の実施の形態に係るヘアスタイルシミュレーション装置の顔部分の画像の重ね合わせのイメージ図である。
【図５】本発明の実施の形態に係るヘアスタイルシミュレーション装置の顔部分の画像の拡大・縮小のイメージ図である。
【図６】髪の部分のポリゴン変形の例示図である。四角形プリミティブに対するレンダリング処理の実行前後の比較イメージ図である。
【図７】四角形プリミティブに対するレンダリング処理の実行前後の比較イメージ図である。
【図８】レンダリング処理の対象となるプリミティブの例示図である。
【図９】レンダリング処理の結果の比較図である。
【図１０】２つの三角形プリミティブに対するレンダリング処理の実行後の状態を示す図である。
【図１１】補助点Ｐを頂点とした４つの三角形プリミティブに対するレンダリング処理の実行後の状態を示す図である。
【図１２】本発明の実施の形態に係るヘアスタイルシミュレーション装置のＣＰＵの髪画像変形処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態に係るヘアスタイルシミュレーション装置について、図面を参照しながら説明する。なお、参照する図面を通じて、同一又は同様の構成又は機能を有する要素については、同一又は同様の符号を付して、詳細な説明を省略する。
【００３０】
図１は、本発明の実施の形態に係るヘアスタイルシミュレーション装置の構成を示す模式図である。図１に示すように、本実施の形態に係るヘアスタイルシミュレーション装置１は、タッチディスプレイ１６を有するタブレット等の端末装置である。
【００３１】
本発明の実施の形態に係るヘアスタイルシミュレーション装置１は、少なくともＣＰＵ（中央演算装置）１１、メモリ１２、記憶装置１３、Ｉ／Ｏインタフェース１４、ビデオインタフェース１５、タッチディスプレイ１６、撮像手段１７、通信インタフェース１８及び上述したハードウェアを接続する内部バス１９で構成されている。
【００３２】
ＣＰＵ１１は、内部バス１９を介してヘアスタイルシミュレーション装置１の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置１３に記憶されたコンピュータプログラム１００に従って、種々のソフトウェア的機能を実行する。メモリ１２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラム１００の実行時にロードモジュールが展開され、コンピュータプログラム１００の実行時に発生する一時的なデータ等を記憶する。
【００３３】
記憶装置１３は、内蔵される固定型記憶装置（ハードディスク）、ＲＯＭ等で構成されている。記憶装置１３に記憶しているコンピュータプログラム１００は、通信インタフェース１８を介して接続されている外部コンピュータからダウンロードされ、実行時には記憶装置１３からメモリ１２へ展開して実行される。もちろん、プログラム及びデータ等の情報を記録したＳＤカード等の可搬型記録媒体からのリーダ／ライタを備えている場合には、可搬型記録媒体からコンピュータプログラムを読み出しても良い。
【００３４】
記憶装置１３には、ヘアスタイルを示すモデル画像データが記憶されている。モデル画像データには、標準的な顔の部分の輪郭線データが含まれており、撮像されたユーザの顔の画像データから抽出する顔の部分の輪郭線データとの間でマッチング処理を実行することにより、ユーザの所望の形状にヘアスタイルを変形（調整）した顔の合成画像を生成することができる。
【００３５】
通信インタフェース１８は内部バス１９に接続されており、外部のネットワーク網に接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。
【００３６】
Ｉ／Ｏインタフェース１４及びビデオインタフェース１５は、液晶ディスプレイで構成されたタッチディスプレイ１６と接続され、ヘアスタイルを示すモデル画像データの顔の部分と、撮像されたユーザの顔の画像データの顔の部分との間で輪郭線データのマッチング処理を実行することにより、ユーザの顔の画像データの顔の部分とモデル画像データの髪の部分とを重ね合わせて生成された合成画像を表示する。表示された合成画像に対して、スワイプ操作等をすることにより、合成画像の髪の部分の一部を変形させる。
【００３７】
なお、撮像手段１７は、ＣＣＤカメラ等であり、備えていてもいなくても良い。撮像手段１７を備えている場合、ユーザの顔を撮像して、撮像した顔の画像データの顔の部分にヘアスタイルを示すモデル画像データの髪の部分を合成することにより、所望のヘアスタイルの形状に変形した状態を確認してもらうことができる。
【００３８】
以下、上記構成のヘアスタイルシミュレーション装置１の動作について説明する。図２は、本発明の実施の形態に係るヘアスタイルシミュレーション装置１の構成を示す機能ブロック図である。
【００３９】
図２において、本実施の形態に係るヘアスタイルシミュレーション装置１の撮像部（撮像手段）２０１は、ヘアスタイルをシミュレーションするユーザ自身の顔を撮像する。撮像部２０１で撮像された顔の画像データは、記憶装置１３に記憶される。撮像部２０１としては、ＣＣＤイメージセンサ、ＣＭＯＳイメージセンサ等を採用する。
【００４０】
モデル画像読出部２０２は、記憶装置１３に記憶されているモデル画像データを読み出す。モデル画像データは、ヘアスタイルを識別するヘアスタイルＩＤに対応付けて、標準的なモデルを当該ヘアスタイルにした場合を示す画像データである。
【００４１】
輪郭抽出部２０３は、撮像部２０１で撮像された顔の画像データから顔の部分の輪郭線を抽出する。輪郭線の抽出方法は特に限定されるものではない。例えば所定の画素の画素値が、周囲の画素の画素値と所定値以上離れている場合に輪郭線として抽出する方法であっても良い。同様に、読み出したモデル画像データについても顔の部分の輪郭線を抽出する。なお、モデル画像データについては、事前に顔の部分の輪郭線を抽出しておき、抽出した輪郭線に関する情報をモデル画像データと併せて記憶しておいても良い。
【００４２】
マッチング部２０４は、抽出した顔の部分の輪郭線を、ヘアスタイルを示すモデル画像データから抽出した顔の部分の輪郭線とマッチング処理する。図３は、本発明の実施の形態に係るヘアスタイルシミュレーション装置１のＣＰＵ１１の輪郭マッチング処理の手順を示すフローチャートである。
【００４３】
図３において、本実施の形態に係るヘアスタイルシミュレーション装置１のＣＰＵ１１は、撮像された顔の画像データ及びモデル画像データの中から顔の部分の中心座標を算出する（ステップＳ３０１）。具体的には、画素値が一定範囲内である連続領域を検出して、連続領域の縦方向及び横方向の中心として中心位置を算出する。
【００４４】
ＣＰＵ１１は、モデル画像データの顔の部分の中心座標に、撮像された顔の画像データの顔の部分の中心座標を重ね合わせるように、撮像された顔の画像データの顔の部分を移動する（ステップＳ３０２）。図４は、本発明の実施の形態に係るヘアスタイルシミュレーション装置１の顔部分の画像の重ね合わせのイメージ図である。図４（ａ）に示す、撮像された顔の画像データの顔の部分の中心座標Ｇ１を、図４（ｂ）に示すモデル画像データの顔の部分の中心座標Ｇ０に重ね合わせるように、撮像された顔の画像データの顔の部分を移動させる。
【００４５】
図３に戻って、ＣＰＵ１１は、モデル画像データの顔の部分の高さに合わせて、撮像された顔の画像データの顔の部分を拡大・縮小する（ステップＳ３０３）。例えば、モデル画像データの顔の部分の眉とアゴとの間の距離と、撮像された顔の画像データの顔の部分の眉とアゴとの間の距離が一致するように拡大・縮小する。このとき拡大・縮小の中心は、算出してある顔の部分の中心座標である。また、拡大・縮小時に縦横比は一定とする。
【００４６】
図５は、本発明の実施の形態に係るヘアスタイルシミュレーション装置１の顔部分の画像の拡大・縮小のイメージ図である。図５に示すように、撮像された顔の画像データの顔の部分（破線部分）を、中心座標を重ね合わせて、モデル画像データの顔の部分（実線部分）に合わせている。
【００４７】
図５の例では、撮像された顔の画像データの顔の部分（破線部分）の眉とアゴとの間の距離Ｈ１の方が、モデル画像データの顔の部分（実線部分）の眉とアゴとの間の距離Ｈ０よりも長いので、距離Ｈ１が距離Ｈ０になるまで、撮像された顔の画像データの顔の部分を、縦横比を維持した状態で縮小する。これにより、高さ方向についてはマッチング処理が完了する。
【００４８】
図３に戻って、ＣＰＵ１１は、拡大・縮小した、撮像された顔の画像データの顔の部分の幅に合わせて、今度はモデル画像データの顔の部分を横方向に拡大・縮小する（ステップＳ３０４）。縦方向のズレより横方向のズレの方が小さく、しかも縦方向について拡大・縮小して眉とアゴとの距離を一致させているので、厳密に縦横比を維持する必要がない。むしろ、モデル画像データのヘアスタイルを、撮像された顔の画像データの顔部分と自然な状態で合成することが可能となる。
【００４９】
ＣＰＵ１１は、撮像された顔の画像データの顔の部分及びモデル画像データの顔の部分の輪郭線を、スプライン補間等により算出し（ステップＳ３０５）、顔の輪郭線の横方向差分を算出する（ステップＳ３０６）。ＣＰＵ１１は、モデル画像データの髪の部分のノードを、算出した横方向差分だけ移動する（ステップＳ３０７）。これにより、顔の輪郭が相違する場合であっても不自然さのないヘアスタイルの形状にシミュレーションを行うことが可能となる。
【００５０】
図２に戻って、合成画像表示部２０５は、マッチング処理後の撮像された顔の画像データの顔の部分とモデル画像データの髪の部分との合成画像を生成して、タッチディスプレイに表示する。髪の部分の画像については、髪を表示するテクスチャを用いた、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンとして表示している。これにより、以下の操作で髪の部分だけを変形表示させることができる。
【００５１】
操作検出部２０６は、ユーザにより受け付けた所定の操作を検出する。具体的には、タッチディスプレイ１６上で、スワイプ操作等を検知することにより、一定の範囲内の四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンを変形させる。これにより、髪の部分の一部だけを変形させることで、ヘアスタイルの形状の微調整を行うことができる。
【００５２】
検出する所定の操作としては、スワイプ操作による変更領域、移動方向及び移動量を検出する。変更領域は、指の接触を検出した画素群の中心からの一定範囲内の領域を変更領域として検出する。画素群の数に応じて、段階的に変更領域を拡大・縮小させても良い。移動方向は、スワイプしている間の指の移動方向に基づいて算出し、移動量は、スワイプしている間の指が接触しながら移動した移動量に基づいて算出する。
【００５３】
画像変形部２０７は、検出された所定の操作に応じて、合成画像の髪の部分の形状を変形させる。また、検出された変更領域について、検出された移動方向及び移動量に基づいて、四角形プリミティブに対して、レンダリング処理を実行することによりポリゴンの変形を算出して、付随するテクスチャを変形させる。
【００５４】
図６は、髪の部分のポリゴン変形の例示図である。図６に示すように、格子状の互いにリンクされているノード６１を形成し、その上にテクスチャとして合成画像を貼り付ける。検出される操作によって、格子状のノードそれぞれが変形し、それに伴いリンクされているノードも順次変形していくことで、変更領域内全体が変形する。例えば変更領域６２、６３に示すように、ノード６１が変形して、付随する髪の部分のテクスチャが変形することで、ヘアスタイルを自由に変更することができる。
【００５５】
つまり、画像変形部２０７は、検出された変更領域について、検出された移動方向及び移動量に基づいて、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンの変形方向及び変形量を算出する変形算出部２０８を備える。これにより、ポリゴンの変形方向及び変形量を求めることで、テクスチャとして付随している髪の部分の画像を変形させることができる。合成画像表示部２０５は、算出した変形方向及び変形量に基づいて合成画像を更新して、タッチディスプレイ１６に表示する。
【００５６】
なお、本実施の形態では、格子状にノードが形成されているので、四角形プリミティブに対してレンダリング処理が実行されている。図７は、四角形プリミティブに対するレンダリング処理の実行前後の比較イメージ図である。図７（ａ）は、レンダリング処理の実行前の四角形プリミティブの状態を、図７（ｂ）は、レンダリング処理の実行後の四角形プリミティブの状態を、それぞれ示す。
【００５７】
図７（ａ）の例では、３つの四角形プリミティブを直列に配置している。３つの四角形プリミティブの上にはテクスチャとして直線Ｔ０−Ｔ２が描かれている。そして、ノードＮ１をノードＮ２になるようレンダリング処理を実行する。
【００５８】
この場合、四角形プリミティブの内部においては、直線は直線として変形される。したがって、図７（ｂ）に示すように、ノードＮ１がノードＮ２の位置まで引っ張られることにより、テクスチャ位置Ｔ１がＴ１’へ、テクスチャ位置Ｔ２がＴ２’へ、それぞれ移動する。その結果として、比較的角張ったテクスチャとしてテクスチャマッピングが行われる。
【００５９】
これに対して、スマートホン等ではハードウェアに制約が生じるため、ＯｐｅｎＧＬを使用することができず、ＯｐｅｎＧＬ  ＥＳ  ２．０を使用する場合も想定される。この場合、四角形プリミティブに対してレンダリング処理を実行することができない。
【００６０】
そこで、四角形プリミティブを複数の三角形プリミティブに分割してレンダリング処理を実行しても良い。この場合、１つの対角線で二分割する方法と、２つの対角線を用いて四分割する方法とが考えられる。図８は、レンダリング処理の対象となるプリミティブの例示図である。
【００６１】
図８（ａ）では、四角形プリミティブを１つの対角線で二分割し、２つの三角形プリミティブとしている。図８（ｂ）では、四角形プリミティブの内部で、２つの対角線の交点を補助点Ｐとして、補助点Ｐを頂点とした４つの三角形プリミティブに分割している。
【００６２】
いずれの方法でも三角形プリミティブに対してレンダリング処理は実行できるものの、結果に相違が生じる。図９は、レンダリング処理の結果の比較図である。図９（ａ）は、図８（ａ）の三角形プリミティブに対して、図９（ｂ）は、図８（ｂ）の三角形プリミティブに対して、それぞれレンダリング処理を実行した結果を模式的に示した説明図である。
【００６３】
図９（ａ）と図９（ｂ）とを比較すればわかるように、図９（ａ）では、テクスチャに明確な折り目が生じ、全体として変形後のテクスチャに違和感が生じている。それに対して、図９（ｂ）では、テクスチャに折り目が生じにくく、全体として変形後のテクスチャに違和感が生じにくい。したがって、変形後のヘアスタイルが、より自然な形状になることがわかる。
【００６４】
簡単な例で、テクスチャマッピング結果の違いを説明する。図１０は、２つの三角形プリミティブに対するレンダリング処理の実行後の状態を示す図（図８（ａ）に対応）である。図１０（ａ）と図１０（ｂ）とでは、四角形プリミティブの２本の対角線のそれぞれで分割した三角形プリミティブに対するレンダリング処理の実行後の違いがわかる。
【００６５】
すなわち、図１０（ａ）では、四角形プリミティブの右上から左下への対角線で２つの三角形プリミティブに分割されており、対角線の方向が、ノードＮ１からノードＮ２への移動方向（図７参照）とは交差する方向になっている。この場合、三角形変形によるアフィン変換後のテクスチャの曲がり方は比較的大きくなり（テクスチャ位置Ｔ３、Ｔ４参照）、テクスチャに急峻な折り目が生じている。
【００６６】
一方、図１０（ｂ）では、四角形プリミティブの左上から右下への対角線で２つの三角形プリミティブに分割されており、対角線の方向が、ノードＮ１からノードＮ２への移動方向（図７参照）と略一致する方向になっている。この場合、三角形変形によるアフィン変換後のテクスチャの曲がり方は比較的小さくなり（テクスチャ位置Ｔ５参照）、テクスチャに折り目が生じにくい。
【００６７】
このように２つの三角形プリミティブに分割する場合には、対角線の方向と変形する方向との相対関係によって、テクスチャに大きな折り目が生じる場合もあれば生じない場合もあるという結果になる。したがって、不自然なテクスチャが生じる可能性が残されている。
【００６８】
それに対して、図１１は、補助点Ｐを頂点とした４つの三角形プリミティブに対するレンダリング処理の実行後の状態を示す図（図８（ｂ）に対応）である。図１１では、２つの対角線の交点を新たなノード（補助点Ｐ）として追加し、４つの三角形プリミティブに分割している。
【００６９】
そして、４つの三角形プリミティブに対してレンダリング処理を実行する。この場合、四角形プリミティブの分割方法が左右対称であることから、移動するノードやノードの移動方向に左右されることなく、三角形変形によるアフィン変換後のテクスチャの曲がり方は一定の範囲内に収束する（テクスチャ位置Ｔ６、Ｔ７参照）。したがって、テクスチャに急峻な折り目が生じにくく、自然な変形を行うことが可能となる。
【００７０】
なお、四角形プリミティブあるいは三角形プリミティブを構成するノードの最大変形量を、各ノードの顔の部分の輪郭線からの距離に応じて、距離が短いほど小さくなるように設定することが好ましい。この場合、顔の部分の輪郭線上のノードについては、変形量は０（ゼロ）になる。これにより、髪の部分を顔の部分の方向に変形させた場合であっても、髪の部分が顔の部分の輪郭線を超えて変形することがなく、ヘアスタイルを自然な形状に変形することが可能となる。
【００７１】
図１２は、本発明の実施の形態に係るヘアスタイルシミュレーション装置１のＣＰＵ１１の髪画像変形処理の手順を示すフローチャートである。本実施の形態に係るヘアスタイルシミュレーション装置１のＣＰＵ１１は、ヘアスタイルをシミュレーションするユーザ自身の顔を撮像する（ステップＳ１２０１）。撮像された顔の画像データは、記憶装置１３に記憶される。
【００７２】
ＣＰＵ１１は、記憶装置１３に記憶されているモデル画像データを読み出す（ステップＳ１２０２）。モデル画像データは、ヘアスタイルを識別するヘアスタイルＩＤに対応付けて、標準的なモデルを当該ヘアスタイルにした場合を示す画像データである。
【００７３】
ＣＰＵ１１は、撮像された顔の画像データから顔の輪郭線を抽出し（ステップＳ１２０３）、読み出したモデル画像データについても顔の部分の輪郭線を抽出する（ステップＳ１２０４）。なお、モデル画像データについては、事前に顔の部分の輪郭線を抽出しておき、抽出した輪郭線に関する情報をモデル画像データと併せて記憶しておいても良い。
【００７４】
ＣＰＵ１１は、抽出した顔の部分の輪郭線を、ヘアスタイルを示すモデル画像データの顔の部分の輪郭線とマッチング処理して（ステップＳ１２０５）、マッチング処理後の撮像された顔の画像データの顔の部分とモデル画像データの髪の部分との合成画像を生成して、タッチディスプレイ１６に表示する（ステップＳ１２０６）。髪の部分の画像については、髪を表示するテクスチャを用いた、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンとして表示している。
【００７５】
ＣＰＵ１１は、ユーザにより受け付けた所定の操作を検出する（ステップＳ１２０７）。具体的には、タッチディスプレイ１６上で、スワイプ操作等を検知することにより、一定の範囲内の四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンを変形させる。
【００７６】
検出する所定の操作としては、スワイプ操作による変更領域、移動方向及び移動量を検出する。変更領域は、指の接触を検出した画素群の中心からの一定範囲内の領域を変更領域として検出する。画素群の数に応じて、段階的に変更領域を拡大・縮小させても良い。移動方向は、スワイプしている間の指の移動方向として、移動量は、スワイプしている間の指の移動量として検出する。
【００７７】
ＣＰＵ１１は、検出された変更領域について、検出された移動方向及び移動量に基づいて、四角形プリミティブによるノード・リンク構造で表現されたテクスチャ付きのポリゴンの変形方向及び変形量を算出する（ステップＳ１２０８）。具体的には、四角形プリミティブに対して、レンダリング処理を実行することによりポリゴンの変形を算出して、付随するテクスチャを変形させる。ＣＰＵ１１は、算出した変形方向及び変形量に基づいて合成画像を更新して、タッチディスプレイ１６に表示する（ステップＳ１２０９）。
【００７８】
以上のように本実施の形態によれば、モデル画像データの髪の部分の一部だけを不自然さのない形状に変形させることができるので、調整する必要がない部分については現状を維持したまま、気になる部分だけをシミュレーションすることができ、ユーザの所望の形状にヘアスタイルを調整することが可能となる。
【００７９】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えば、変更領域の検出方法は特に限定されるものではなく、例えば複数の指の接触を検知して、接触領域を両方含む領域を変更領域として算出しても良い。
【符号の説明】
【００８０】
１  ヘアスタイルシミュレーション装置
１１  ＣＰＵ
１２  メモリ
１３  記憶装置
１７  撮像手段
１００  コンピュータプログラム
Ｐ  補助点
【図１】
0006697573.tif 000002
【図２】
0006697573.tif 000003
【図３】
0006697573.tif 000004
【図４】
0006697573.tif 000005
【図５】
0006697573.tif 000006
【図６】
0006697573.tif 000007
【図７】
0006697573.tif 000008
【図８】
0006697573.tif 000009
【図９】
0006697573.tif 000010
【図１０】
0006697573.tif 000011
【図１１】
0006697573.tif 000012
【図１２】
0006697573.tif 000013