(57)【要約】【課題】仮想試着時のユーザの負担を軽減することが可能な画像処理装置、画像処理システム、画像処理方法及びプログラムを提供することにある。【解決手段】実施形態に係る画像処理装置は、記憶手段と、取得手段と、第１の算出手段と、第２の算出手段と、特定手段と、生成手段とを具備する。記憶手段は、被写体の各回転角度に対応する複数の衣服画像を記憶する。取得手段は、被写体を含む被写体画像を取得する。第１の算出手段は、被写体画像に含まれる被写体の第１の回転角度を算出する。第２の算出手段は、第１の回転角度に基づいて第１の回転角度とは異なる第２の回転角度を算出する。特定手段は、記憶手段に記憶されている複数の衣服画像のうち、第２の回転角度に対応する衣服画像を特定する。生成手段は、被写体画像上に特定された衣服画像を重畳した合成画像を生成する。【選択図】図２
2016054450.tif 000002
【特許請求の範囲】
【請求項１】
撮像部に対する被写体の向きを示す当該被写体の各回転角度に対応する複数の衣服画像を記憶する記憶手段と、
前記撮像部によって撮像された前記被写体を含む被写体画像を取得する取得手段と、
前記取得された被写体画像に含まれる被写体の向きを示す当該被写体の第１の回転角度を算出する第１の算出手段と、
前記第１の算出手段によって算出された第１の回転角度に基づいて、当該第１の回転角度とは異なる第２の回転角度を算出する第２の算出手段と、
前記記憶手段に記憶されている複数の衣服画像のうち、前記第２の算出手段によって算出された第２の回転角度に対応する衣服画像を特定する特定手段と、
前記取得された被写体画像上に前記特定された衣服画像を重畳した合成画像を生成する生成手段と
を具備することを特徴とする画像処理装置。
【請求項２】
前記撮像部によって前記被写体が連続的に撮像されることによって、前記被写体画像よりも前に前記取得手段によって取得された被写体画像に含まれる被写体の向きを示す当該被写体の第３の回転角度を算出する第３の算出手段と、
前記第１の算出手段によって算出された第１の回転角度及び前記第３の算出手段によって算出された第３の回転角度の変化量に基づいて、前記被写体の回転速度を算出する第４の算出手段と
を更に具備し、
前記第２の算出手段は、前記第１の回転角度に応じて一意に定まる、少なくとも前記第１の回転角度以下とはならない基準値を算出し、当該基準値に対して前記回転速度に応じたオフセット値を加算することによって前記第２の回転角度を算出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第２の算出手段は、前記第１の回転角度が予め定められた値を超えている場合、予め定められている第２の回転角度を算出する請求項１記載の画像処理装置。
【請求項４】
前記特定手段は、第１の動作モードが設定されている場合には、前記記憶手段に記憶されている複数の衣服画像のうち、前記第１の算出手段によって算出された第１の回転角度に対応する衣服画像を特定し、前記第１の動作モードとは異なる第２の動作モードが設定されている場合には、前記記憶手段に記憶されている複数の衣服画像のうち、前記第２の算出手段によって算出された第２の回転角度に対応する衣服画像を特定することを特徴とする請求項１記載の画像処理装置。
【請求項５】
ユーザの指示に応じて前記第１の動作モード及び前記第２の動作モードを切り替える切替手段を更に具備することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記生成手段は、前記特定された衣服画像に対して前記第１の動作モードまたは前記第２の動作モードが設定されていることを通知するための加工を施すことを特徴とする請求項４記載の画像処理装置。
【請求項７】
被写体を撮像する撮像部と、画像処理装置と、当該画像処理装置に通信可能に接続される外部装置とを備える画像処理システムであって、
前記外部装置は、前記撮像部に対する前記被写体の向きを示す当該被写体の各回転角度に対応する複数の衣服画像を記憶する記憶手段を含み、
前記画像処理装置は、
前記撮像部によって撮像された前記被写体を含む被写体画像を取得する取得手段と、
前記取得された被写体画像に含まれる被写体の向きを示す当該被写体の第１の回転角度を算出する第１の算出手段と、
前記第１の算出手段によって算出された第１の回転角度に基づいて、当該第１の回転角度とは異なる第２の回転角度を算出する第２の算出手段と、
前記記憶手段に記憶されている複数の衣服画像のうち、前記第２の算出手段によって算出された第２の回転角度に対応する衣服画像を特定する特定手段と、
前記取得された被写体画像上に前記特定された衣服画像を重畳した合成画像を生成する生成手段と
を含む
を具備することを特徴とする画像処理システム。
【請求項８】
撮像部に対する被写体の向きを示す当該被写体の各回転角度に対応する複数の衣服画像を記憶する記憶手段を利用する画像処理装置が実行する画像処理方法であって、
前記撮像部によって撮像された前記被写体を含む被写体画像を取得するステップと、
前記取得された被写体画像に含まれる被写体の向きを示す当該被写体の第１の回転角度を算出するステップと、
前記算出された第１の回転角度に基づいて、当該第１の回転角度とは異なる第２の回転角度を算出するステップと、
前記記憶手段に記憶されている複数の衣服画像のうち、前記算出された第２の回転角度に対応する衣服画像を特定するステップと、
前記取得された被写体画像上に前記特定された衣服画像を重畳した合成画像を生成するステップと
を具備することを特徴とする画像処理方法。
【請求項９】
撮像部に対する被写体の向きを示す当該被写体の各回転角度に対応する複数の衣服画像を記憶する記憶手段を利用するコンピュータによって実行されるプログラムであって、
前記コンピュータに、
前記撮像部によって撮像された前記被写体を含む被写体画像を取得するステップと、
前記取得された被写体画像に含まれる被写体の向きを示す当該被写体の第１の回転角度を算出するステップと、
前記算出された第１の回転角度に基づいて、当該第１の回転角度とは異なる第２の回転角度を算出するステップと、
前記記憶手段に記憶されている複数の衣服画像のうち、前記算出された第２の回転角度に対応する衣服画像を特定するステップと、
前記取得された被写体画像上に前記特定された衣服画像を重畳した合成画像を生成するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置、画像処理システム、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年では、例えばユーザが試着対象の衣服を仮想的に試着すること（以下、仮想試着と表記）が可能な技術が開発されている。
【０００３】
この技術によれば、例えばユーザと対面した位置に設けられた表示部に、撮像部によって撮像されたユーザ（被写体）を含む画像上に衣服の画像を重畳した合成画像を表示することができるため、ユーザは、実際に試着を行うことなく当該ユーザの好みの衣服を選定することができる。
【０００４】
なお、この技術によれば、上記した撮像部に対してユーザが体を回転させた場合であっても、当該ユーザの体にフィットするような衣服の画像を重畳した合成画像を表示することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−０７１５０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、衣服の全体的な雰囲気を把握するために、ユーザは、自身の後ろ姿等を確認したい場合がある。
【０００７】
しかしながら、仮想試着時おいて後ろ姿等を確認する場合には、ユーザは上記した撮像部に対して体を大きく回転させる必要があり、このような動作はユーザにとって負担が大きい。
【０００８】
また、ユーザが体を回転させることによって所望の角度からの衣服（画像）を確認する場合には、当該所望の角度の衣服が表示されるように当該ユーザの体の回転（角度）を調整する必要があり、このような動作もユーザにとっては負担が大きい。
【０００９】
そこで、本発明が解決しようとする課題は、仮想試着時のユーザの負担を軽減することが可能な画像処理装置、画像処理システム、画像処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
実施形態に係る画像処理装置は、記憶手段と、取得手段と、第１の算出手段と、第２の算出手段と、特定手段と、生成手段とを具備する。前記記憶手段は、撮像部に対する被写体の向きを示す当該被写体の各回転角度に対応する複数の衣服画像を記憶する。前記取得手段は、前記撮像部によって撮像された前記被写体を含む被写体画像を取得する。前記第１の算出手段は、前記取得された第１の被写体画像に含まれる被写体の向きを示す当該被写体の第１の回転角度を算出する。前記第２の算出手段は、前記第１の算出手段によって算出された第１の回転角度に基づいて、当該第１の回転角度とは異なる第２の回転角度を算出する。前記特定手段は、前記記憶手段に記憶されている複数の衣服画像のうち、前記第２の算出手段によって算出された第２の回転角度に対応する衣服画像を特定する。前記生成手段は、前記取得された被写体画像上に前記特定された衣服画像を重畳した合成画像を生成する。
【図面の簡単な説明】
【００１１】
【図１】画像処理システムの外観の一例を示す図。
【図２】画像処理システムの外観の他の例を示す図。
【図３】画像処理装置の主として機能構成を示すブロック図。
【図４】記憶部に記憶されている第１情報のデータ構造の一例を示す図。
【図５】第１情報を具体的に示す模式図。
【図６】記憶部に記憶されている第２情報のデータ構造の一例を示す図。
【図７】記憶部に記憶されている第３情報のデータ構造の一例を示す図。
【図８】人体の三次元モデルデータの一例を示す図。
【図９】第１被写体のデプス画像に人体の三次元モデルデータを当てはめたモデル画像の一例を示す図。
【図１０】姿勢情報算出部による姿勢情報の算出について説明するための図。
【図１１】特定部による衣服画像の特定について説明するための図。
【図１２】第１情報に含まれる姿勢情報を概念的に表す図。
【図１３】調整部による特徴領域の大きさの算出について説明するための図。
【図１４】調整部による特徴領域の大きさの算出について説明するための図。
【図１５】調整部による輪郭の抽出の一例について説明するための図。
【図１６】位置算出部による第２位置の算出の一例について説明するための図。
【図１７】更新部による第１情報の登録及び更新について説明するための図。
【図１８】本実施形態に係る画像処理装置の処理手順を示すフローチャート。
【図１９】第１衣服画像特定処理の処理手順を示すフローチャート。
【図２０】第１位置算出処理の処理手順を示すフローチャート。
【図２１】第２位置算出処理の処理手順を示すフローチャート。
【図２２】第１条件を満たすと判別された場合における合成画像の生成について説明するための図。
【図２３】合成画像の一例を示す図。
【図２４】追従モードが設定されている場合の第２衣服画像特定処理の処理手順を示すフローチャート。
【図２５】姿見モードが設定されている場合の第２衣服画像特定処理の処理手順を示すフローチャート。
【図２６】追従モードが設定されている場合に提示される合成画像の一例を示す図。
【図２７】追従モードが設定される場合における第１被写体の回転角度と表示する衣服の回転角度との対応関係の一例を表す図。
【図２８】姿見モードが設定されている場合に提示される合成画像の一例を示す図。
【図２９】姿見モードが設定されている場合における第１被写体の回転角度と表示する衣服の回転角度との対応関係の一例を表す図。
【図３０】姿見モードが設定されている場合における第１被写体の回転角度と表示する衣服の回転角度との対応関係の他の例を表す図。
【図３１】姿見モードが設定されている場合における第１被写体の回転角度と表示する衣服の回転角度との対応関係の他の例を表す図。
【図３２】画像処理システムの模式的なシステム構成について説明するための図。
【図３３】画像処理装置のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、実施形態について説明する。
【００１３】
図１は、本実施形態に係る画像処理装置を含む画像処理システムの外観の一例を示す。図１に示す画像処理システム１０は、筐体１１、表示部１２、体重測定部１３、入力部１４及び撮像部を備える。なお、本実施形態に係る画像処理装置は、筐体１１の内部に設けられているが、図１においては省略されている。
【００１４】
図１に示すように、画像処理システム１０が備える筐体１１は矩形形状を有し、当該筐体１１の一面には表示部１２が組み込まれている。表示部１２は、例えば液晶表示装置のような表示装置であり、各種画像等を表示する。
【００１５】
画像処理システム１０においては、被写体（以下、第１被写体と表記）Ｐが各種衣服を試着した状態を示す合成画像Ｗが表示部１２に表示される。なお、画像処理システム１０は、このような合成画像Ｗを印刷する印刷装置や、当該合成画像Ｗをネットワークを介して外部装置に送信する送信機等を更に備えていても構わない。
【００１６】
ここで、第１被写体Ｐは、衣服を試着する対象である。なお、第１被写体Ｐは、衣服を試着する対象であればよく、生物であってもよいし、非生物であってもよい。第１被写体Ｐが生物である場合には、当該第１被写体Ｐには例えば人物等が含まれるが、当該第１被写体は人物に限られない。第１被写体Ｐは、例えば犬や猫等のペットであってもよい。また、第１被写体Ｐが非生物である場合には、当該第１被写体Ｐには例えば人体やペットの形状を模したマネキン、衣服及びその他の物体等が含まれるが、当該第１被写体Ｐはこれら以外であってもよい。また、第１被写体Ｐは、衣服を着用した状態の生物や非生物であってもよい。
【００１７】
また、衣服とは、第１被写体Ｐが着用可能な品物（物品）である。衣服としては、例えば上着、スカート、ズボン、靴及び帽子等が挙げられる。なお、衣服は、上着、スカート、ズボン、靴及び帽子等に限定されない。
【００１８】
第１被写体Ｐは、例えば表示部１２に対面した位置から、表示部１２に提示（表示）された合成画像Ｗを視認することができる。
【００１９】
体重測定部１３は、表示部１２に対面した領域の床部に設けられている。表示部１２に対面する位置に第１被写体Ｐが位置すると、体重測定部１３は、第１被写体Ｐの体重を測定する。
【００２０】
入力部１４は、ユーザによる操作指示に応じて各種情報を入力する（受け付ける）、例えばマウス、ボタン、リモコン、キーボード、マイク等の音声認識装置、及び画像認識装置のうちの１つまたは複数を組み合わせたものである。なお、本実施形態におけるユーザとは、第１被写体のような画像処理システム１０に対する操作者の総称である。
【００２１】
図１に示す例では、入力部１４として画像認識装置が採用された場合について示しているが、この場合には入力部１４の前に対峙するユーザの身振り手振り等を、ユーザの各種指示として受け付けることができる。この場合、画像認識装置では、身振り手振り等の各動きに対応する指示情報を予め記憶し、認識された身振りや手振りに対応する指示情報を読み取ることで、ユーザによる操作指示を受け付ければよい。なお、入力部１４は、携帯端末等の各種情報を送信する外部装置から、ユーザの操作指示を示す信号を受け付ける通信装置であってもよい。この場合には、入力部１４は、外部装置から受信した操作指示を示す信号を、ユーザによる操作指示として受け付ければよい。
【００２２】
また、図１において表示部１２及び入力部１４は別個に設けられているが、当該表示部１２及び入力部１４は一体的に構成されていてもよい。具体的には、表示部１２及び入力部１４は、入力機能及び表示機能の双方を備えたＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部として構成されていてもよい。ＵＩ部には、タッチパネル付きＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等が含まれる。
【００２３】
撮像部は、第１撮像部１５Ａ及び第２撮像部１５Ｂを含む。第１撮像部１５Ａは、所定時間毎に第１被写体Ｐを連続的に撮像し、当該撮像された第１被写体Ｐを含む被写体画像（以下、第１被写体Ｐの被写体画像と表記）を順次取得する。この被写体画像は、ビットマップ画像であり、画素毎に第１被写体Ｐの色彩及び輝度等を示す画素値の規定された画像である。第１撮像部１５Ａとしては、被写体画像を取得することが可能な撮像装置（カメラ）が用いられる。
【００２４】
第２撮像部１５Ｂは、所定時間毎に第１被写体Ｐを連続的に撮像し、当該撮像された第１被写体Ｐを含むデプス画像（以下、第１被写体Ｐのデプス画像と表記）を順次取得する。このデプス画像は、距離画像とも称され、画素毎に第２撮像部１５Ｂからの距離を規定した画像である。第２撮像部１５Ｂとしては、デプス画像を取得することが可能な撮像装置（デプスセンサ）が用いられる。
【００２５】
なお、本実施形態において、第１撮像部１５Ａ及び第２撮像部１５Ｂは、同じタイミングで第１被写体Ｐを撮像する。すなわち、第１撮像部１５Ａ及び第２撮像部１５Ｂは、図示しない制御部等によって、同じタイミングで同期して撮像を順次行うように制御されている。これにより、第１撮像部１５Ａ及び第２撮像部１５Ｂは、同じタイミングで撮像（取得）された第１被写体Ｐの被写体画像及びデプス画像（の組）を順次取得する。このように同じタイミングで取得された当該第１被写体Ｐの被写体画像及びデプス画像は、後述する画像処理装置に出力される。
【００２６】
上記した入力部１４及び撮像部（第１撮像部１５Ａ及び第２撮像部１５Ｂ）は、図１に示すように筐体１１に支持されている。入力部１４及び第１撮像部１５Ａは、筐体１１における表示部１２の水平方向両端部付近に設けられている。また、第２撮像部１５Ｂは、筐体１１における表示部１２の上部付近に設けられている。なお、入力部１４の設置位置は、この位置に限られない。また、第１撮像部１５Ａ及び第２撮像部１５Ｂは、第１被写体Ｐを撮像可能な位置に設けられていればよく、図１に示す位置に限定されない。
【００２７】
なお、画像処理システム１０は、図２に示すように携帯端末として実現されても構わない。この場合、携帯端末としての画像処理システムの筐体１１Ａには、表示部１２及び入力部１４の双方の機能を備えたＵＩ部と、第１撮像部１５Ａ及び第２撮像部１５Ｂとが設けられている。また、本実施形態に係る画像処理装置は、筐体１１Ａの内部に設けられる。
【００２８】
図３は、本実施形態に係る画像処理装置の主として機能構成を示すブロック図である。図３に示すように、画像処理装置１００は、表示部１２、体重測定部１３、入力部１４、第１撮像部１５Ａ、第２撮像部１５Ｂ及び記憶部１６と通信可能に接続されている。図３において、表示部１２、体重測定部１３、入力部１４、撮像部（第１撮像部１５Ａ及び第２撮像部１５Ｂ）及び記憶部１６は、画像処理装置１００と別個に設けられているが、これらのうちの少なくとも１つが当該画像処理装置１００と一体的に構成されていても構わない。
【００２９】
なお、表示部１２、体重測定部１３、入力部１４、第１撮像部１５Ａ及び第２撮像部１５Ｂについては、上述した図１において説明した通りであるため、その詳しい説明を省略する。
【００３０】
記憶部１６は、各種データを記憶する。具体的には、記憶部１６は、第１情報、第２情報、第３情報及び第４情報を予め記憶する。ここでは、まず、第１情報〜第４情報について説明する。
【００３１】
第１情報は、衣服を識別するための識別情報（以下、衣服ＩＤと表記）毎に、複数の衣服サイズと、複数の衣服サイズの各々に対応し、異なる体型を示す複数の体型パラメータと、衣服サイズに対応する体型パラメータの体型の被写体（以下、第２被写体と表記）が当該衣服サイズの衣服を着用した状態を示す複数の衣服画像とを対応づけて含む情報である。
【００３２】
なお、第２被写体は、第１情報に含まれる衣服画像の取得時（つまり、衣服の撮像時）に、当該衣服を着用していた被写体である。第２被写体は、衣服を着用した被写体であればよく、上述した第１被写体と同様に人物等の生物であってもよいし、人体の形状をしたマネキン等の非生物であってもよい。
【００３３】
ここで、図４は、記憶部１６に記憶されている第１情報のデータ構造の一例を示す。図４に示す例では、第１情報は、衣服の種類と、衣服ＩＤと、衣服サイズと、体型パラメータと、モデルＩＤと、姿勢情報と、衣服画像と、属性情報とを対応づけて含む。
【００３４】
衣服の種類は、衣服を予め定めた分類条件で複数の種類に分類したときの、各種類を示す。衣服の種類には例えばトップス、アウター及びボトム等が含まれるが、当該衣服の種類はこれらに限定されない。
【００３５】
衣服ＩＤは、上記したように衣服を識別するための情報である。衣服は、具体的には既製服を示す。衣服ＩＤには例えば製品番号及び衣服の名称等が含まれるが、当該衣服ＩＤはこれらに限られない。製品番号としては、例えばＪＡＮコード等を利用することができる。名称としては、例えば衣服の品名等を利用することができる。
【００３６】
衣服サイズは、衣服の大きさを示す情報である。衣服サイズは、既製服のサイズである、Ｓ、Ｍ、Ｌ、ＬＬ及びＸＬ等である。なお、衣服サイズの種類は、これらに限定されない。衣服サイズの種類は、例えば既製服の製造元または販売先の国等により表記方法が異なる。
【００３７】
体型パラメータは、第２被写体の体型を示す情報である。体型パラメータは、１または複数のパラメータを含む。このパラメータは、例えば衣服の仕立て時または購入時等に採寸される人体の１または複数の箇所に対応する採寸値や体重等である。具体的には、体型パラメータは、例えば胸囲、胴囲、腰囲、身長、肩幅及び体重のうち少なくとも１つのパラメータを含むものとする。なお、体型パラメータに含まれるパラメータは、これらのパラメータに限定されない。例えば体型パラメータは、袖丈及び股下等のパラメータを更に含んでいてもよい。また、パラメータとしての採寸値は、実際に採寸した値に限定されず、採寸値を推測した値や、採寸値に相当する値（ユーザが任意に入力した値等）を含む。
【００３８】
ここで、同じまたは略同じ体型のユーザであっても、異なる衣服サイズ「Ｓ」、「Ｍ」、「Ｌ」、「ＬＬ」の各々衣服を着用する場合がある。換言すれば、ある体型のユーザが着用する衣服サイズは、１つに限定されず、ユーザは、趣向や衣服の種類等により異なる衣服サイズの衣服を着用する場合がある。
【００３９】
このため、本実施形態における第１情報においては、１つの衣服ＩＤの１つの衣服サイズに対して、異なる体型を示す複数の体型パラメータが対応づけられている。
【００４０】
モデルＩＤは、対応する体型パラメータの体型の第２被写体を識別するための識別情報である。
【００４１】
衣服画像は、画素毎に、衣服の色彩及び輝度等を示す画素値の規定された画像である。第１情報は、体型パラメータの各々に対応する衣服画像を含む。すなわち、第１情報は、１つの衣服ＩＤの１つの衣服サイズに対して、異なる体型を示す複数の体型パラメータを対応づけ、当該複数の体型パラメータのそれぞれに衣服画像を対応づける。
【００４２】
なお、衣服画像は、第１情報における対応する衣服サイズの衣服を、対応する体型パラメータの体型の第２被写体が着用した状態を示す画像である。すなわち、１つの衣服サイズに対応する、異なる体型を示す複数の体型パラメータの各々に対応する衣服画像は、同じ衣服サイズの衣服を異なる体型の複数の第２被写体が着用した状態をそれぞれ示す。
【００４３】
姿勢情報は、衣服画像の取得時の第２被写体の姿勢を示す情報である。姿勢情報は、第２被写体の、上述した撮像部に対する第２被写体の向き及び動き等を示す。
【００４４】
ここで、第２被写体の向きとは、衣服画像の取得時の当該衣服画像の衣服を着用した第２被写体の撮像部に対する向きを示す。例えば、第２被写体の向きとしては、顔及び体が撮像部に対して正面を向いている方向（正面方向）、顔及び体が撮像部に対して左右を向いている方向（左右方向）、これら以外の他の方向等がある。なお、本実施形態において、第２被写体の向きは、例えば正面方向に対して体が向いている方向がなす角度（つまり、回転角度）によって示される。
【００４５】
第２被写体の動きは、衣服画像の衣服を着用した第２被写体の骨格の位置を示す骨格情報によって示される。骨格情報は、衣服画像を構成する各画素の画素位置に対応する、当該衣服画像の衣服を着用した第２被写体の骨格の位置を示す情報を、画素毎に定めた情報である。本実施形態において、姿勢情報は、第２被写体の向きと骨格情報とを含むものとする。
【００４６】
また、本実施形態において、第１情報は、複数の体型パラメータのそれぞれに対応する衣服画像として、異なる姿勢情報のそれぞれ（つまり、各回転角度）に対応する複数の衣服画像を含む。
【００４７】
すなわち、本実施形態において、衣服画像は、ある衣服サイズの衣服が、体型パラメータによって特定される体型の第２被写体によって着用された状態を示す画像であるとともに、第２被写体の撮像時の姿勢に応じた画像である。
【００４８】
属性情報は、対応する衣服ＩＤによって識別される衣服の属性を示す情報である。属性情報は、例えば衣服の名称、衣服の販売元（ブランド名等）、衣服の形状、衣服の色彩、衣服の素材及び衣服の値段等を含む。
【００４９】
なお、第１情報は、例えば衣服ＩＤと、衣服サイズと、体型パラメータと、姿勢情報と、衣服画像とを少なくとも対応づけて含む情報であればよい。すなわち、第１情報は、衣服の種類、モデルＩＤ及び属性情報の少なくとも１つを含まなくてもよい。
【００５０】
また、第１情報は、衣服の着方（ボタンを留めた着方、ボタンを空けた着方等）を更に対応づけてもよい。この場合、第１情報においては、１つの姿勢情報に対応する衣服画像として、着方に応じた複数の衣服画像が対応づけられていればよい。
【００５１】
図５は、第１情報を具体的に示す模式図である。図５に示すように、第１情報は、体型パラメータ２０１の各々に対応する衣服画像を含む。すなわち、第１情報は、１つの衣服ＩＤによって識別される衣服（Ａブランド、ＢＢＢセーター）の、衣服サイズ（Ｍ衣服サイズ、Ｌ衣服サイズ、Ｓ衣服サイズ）の各々に対して、異なる体型を示す複数の体型パラメータ２０１を対応づける。また、第１情報は、複数の体型パラメータ２０１のそれぞれに、衣服画像（ここでは、衣服画像２０２Ａ〜２０２Ｃ）の各々を対応づけている。なお、図５に示す例では、体型パラメータは、身長、胸囲、胴囲、腰囲及び肩幅をパラメータとして含む。
【００５２】
すなわち、衣服画像２０２Ａ〜２０２Ｃは、同じ衣服サイズの同じ衣服（図５では、Ａブランド、ＢＢＢセーター、Ｍサイズ）について、体型の異なる複数の第２被写体の各々が着用した状態を示す画像である。
【００５３】
図６は、記憶部１６に記憶されている第２情報のデータ構造の一例を示す。第２情報は、衣服ＩＤと、体型を示すパラメータと、重み付値とを対応づけて含む。体型を示すパラメータは、上記した第１情報における体型パラメータに含まれるパラメータと同様である。重み付値は、対応する衣服ＩＤによって識別される衣服を着用したときの見え方に対するパラメータの影響の度合いを示す。重み付値が小さいほど、衣服を着用したときの見え方に対するパラメータの影響の度合いが小さい。一方、重み付値が大きいほど、衣服を着用したときの見え方に対するパラメータの影響の度合いが大きい。この重み付値は、後述する非類似度の算出に用いられる。第２情報は、衣服の種類を更に対応づけて含む情報であってもよい。
【００５４】
例えば、身長以外のパラメータがある衣服ＩＤによって識別される衣服の着用時の見え方に対して与える影響の度合いが、身長に比べて大きいとする。この場合、画像処理装置１００は、図６に示すように、この衣服ＩＤに対応するパラメータの重み付値として、身長の重み付値を他のパラメータの重み付値に比べて相対的に小さくした第２情報を設定する。
【００５５】
また、例えば、衣服ＩＤに対応する衣服の種類が“トップス”である場合、人体の下半身側のパラメータは、衣服を着用したときの見え方に対する影響の度合いが小さい。この場合、画像処理装置１００は、衣服の種類“トップス”に対応する衣服ＩＤのパラメータの重み付値として、腰囲及び身長の重み付値を、他のパラメータの重み付値に比べて相対的に小さくした第２情報を設定する。
【００５６】
各衣服ＩＤの各パラメータに対応する重み付値は、ユーザによる入力部１４に対する操作指示等によって適宜変更可能である。ユーザは、各衣服ＩＤによって識別される衣服毎に、パラメータの重み付値を予め入力し、第２情報に登録すればよい。
【００５７】
図７は、記憶部１６に記憶されている第３情報のデータ構造の一例を示す。第３情報は、衣服の種類と、非類似度の算出に用いられるパラメータとを対応づけて含む。なお、第３情報は、衣服ＩＤ毎に、非類似度の算出に用いられるパラメータを対応づけて含む情報であってもよい。また、第３情報は、衣服画像毎に、非類似度の算出に用いられるパラメータを対応づけて含む情報であってもよい。なお、非類似度の算出については後述する。
【００５８】
図７に示す例では、例えば衣服の種類が“アウター”である場合、複数のパラメータのうち、胸囲、腰囲、胴囲及び肩幅が非類似度の算出に用いられ、身長が非類似度の算出には用いられないことが示されている。また、図７に示す例では、衣服の種類が“スカート”である場合、複数のパラメータのうち、胴囲及び腰囲が非類似度の算出に用いられ、胸囲、肩幅及び身長が非類似度の算出に用いられないことが示されている。
【００５９】
また、第３情報は、衣服の種類または衣服ＩＤ毎に、固有のパラメータを対応づけて含む情報であってもよい。例えば衣服の種類がトップスまたはアウターである場合、第３情報は、対応するパラメータとして袖丈を更に含んでいてもよい。また、衣服の種類がパンツである場合、第３情報は、対応するパラメータとして、股下を更に含んでいてもよい。
【００６０】
第４情報は、衣服ＩＤと、補正値とを対応づけて含む。補正値は、後述する第１被写体の体型を示す体型パラメータの補正に用いられる。画像処理装置１００は、対応する衣服ＩＤによって識別される衣服における体型を隠す度合いが高いほど、「０」以上「１」未満で、かつ、より小さい値を補正値として予め設定する。一方、画像処理装置１００は、対応する衣服ＩＤによって識別される衣服における体型を隠す度合いが最も低い場合を「１」とし、この度合いが低いほど、「１」により近い値を補正値として予め設定する。
【００６１】
例えば、衣服ＩＤによって識別される衣服がＴシャツまたは下着等の身体に密着する衣服である場合、第４情報は、この衣服ＩＤに対応する補正値として「１」または「１」に近い値を予め設定する。一方、衣服ＩＤによって識別される衣服が、厚い生地のセーターまたはコート等の体型を隠す度合いの高い衣服である場合、第４情報は、この衣服ＩＤに対応する補正値として、「０」以上「１」未満で、かつ、より「０」に近い値（例えば、０．３等）を予め設定する。
【００６２】
第４情報に含まれる衣服ＩＤ及び補正値は、ユーザによる入力部１４に対する操作指示等によって適宜変更可能である。
【００６３】
再び図３に戻って、本実施形態に係る画像処理装置１００の機能構成について説明する。なお、画像処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）及びＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等を含んで構成されるコンピュータである。なお、画像処理装置１００は、ＣＰＵ以外の回路等で構成されても構わない。
【００６４】
図３に示すように、画像処理装置１００は、画像取得部１０１、骨格情報生成部１０２、判別部１０３、受付部１０４、体型パラメータ取得部１０５、姿勢情報算出部１０６、特定部１０７、調整部１０８、位置算出部１０９、決定部１１０、合成画像生成部１１１、表示制御部１１２及び更新部１１３を含む。本実施形態において、これらの各部１０１〜１１３の一部または全ては、例えばＣＰＵ等にプログラムを実行させること、すなわち、ソフトウェアによって実現されてもよいし、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアによって実現されてもよいし、当該ソフトウェア及びハードウェアの組み合わせ構成として実現されてもよい。
【００６５】
画像取得部１０１は、被写体画像取得部１０１ａ及びデプス画像取得部１０１ｂを含む。
【００６６】
被写体画像取得部１０１ａは、第１撮像部１５Ａによって連続的に撮像された第１被写体の被写体画像を順次取得する。具体的には、被写体画像取得部１０１ａは、第１撮像部１５Ａから出力された被写体画像から人物領域を抽出することにより、第１被写体の被写体画像を取得する。
【００６７】
デプス画像取得部１０１ｂは、第２撮像部１５Ｂによって連続的に撮像された第１被写体のデプス画像（デプスマップ）を順次取得する。具体的には、デプス画像取得部１０１ｂは、第２撮像部１５Ｂから出力されたデプス画像から人物領域を抽出することにより、第１被写体のデプス画像を取得する。
【００６８】
この場合、デプス画像取得部１０１ｂは、例えばデプス画像を構成する各画素の３次元位置のうち、奥行き方向の距離について閾値を設定することで、人物領域を抽出する。例えば、第２撮像部１５Ｂの座標系において第２撮像部１５Ｂの位置を原点とし、Ｚ軸正方向が、第２撮像部１５Ｂの原点から被写体方向に伸びるカメラの光軸であるとする。この場合、デプス画像を構成する各画素のうち、奥行き方向（Ｚ軸方向）の位置座標が予め定めた閾値（例えば、２ｍを示す値）以上の画素を除外する。これにより、デプス画像取得部１０１ｂは、第２撮像部１５Ｂから２ｍの範囲内に存在する人物領域の画素からなるデプス画像、すなわち、第１被写体のデプス画像を得ることができる。
【００６９】
なお、本実施形態においては、デプス画像が第２撮像部１５Ｂを用いて取得されるものとして説明するが、当該デプス画像は、第１被写体の被写体画像からステレオマッチング等の手法により作成されても構わない。
【００７０】
骨格情報生成部１０２は、デプス画像取得部１０１ｂによって取得された第１被写体のデプス画像から人体（つまり、第１被写体）の骨格位置を示す骨格情報を抽出する。この場合、骨格情報生成部１０２は、デプス画像に人体形状を当てはめることによって骨格情報を抽出する。
【００７１】
また、骨格情報生成部１０２は、抽出された骨格情報の各画素の画素位置の座標系（すなわち、第２撮像部１５Ｂの座標系）を、被写体画像取得部１０１ａによって取得された第１被写体の被写体画像の各画素位置の座標系（すなわち、第１撮像部１５Ａの座標系）に変換する。すなわち、骨格情報生成部１０２は、第２撮像部１５Ｂによって撮像された第１被写体のデプス画像から抽出された骨格情報の各画素の画素位置の座標系を、当該デプス画像と同じタイミングで第１撮像部１５Ａによって取得された第１被写体の被写体画像の座標系に変換する。この座標変換は、例えばキャリブレーション等によって行われる。これにより、骨格情報生成部１０２は、第１被写体の骨格情報（座標変換後の骨格情報）を生成（算出）する。
【００７２】
判別部１０３は、被写体画像取得部１０１ａによって取得された被写体画像が予め定めた第１条件を満たすか否かを判別する。第１条件は、後述する第１位置の算出処理を実行するか否かを判断するための条件である。なお、第１条件の詳細については後述する。
【００７３】
受付部１０４は、入力部１４から各種情報を受け付ける。具体的には、受付部１０４は、ユーザによる入力部１４に対する操作指示によって、衣服の属性情報（衣服の形状、衣服の名称、衣服の販売元、衣服の色彩、衣服の素材、衣服の値段等）と衣服サイズとを受け付ける。
【００７４】
受付部１０４は、入力部１４から受け付けた属性情報を解析し、受け付けた属性情報に対応する衣服ＩＤを、記憶部１６に記憶されている第１情報から検索する。ここで、上記したように第１情報には、１つの衣服ＩＤに対して、衣服サイズ、体型パラメータ及び姿勢情報の異なる複数の衣服画像が対応づけられている。このため、受付部１０４は、各衣服ＩＤの各々について、代表的な１つの衣服サイズ、１つの体型パラメータ及び１つの姿勢情報に対応する１つの衣服画像を、各衣服ＩＤに対応する代表の衣服画像として第１情報から読み取る。これらの衣服画像の一覧は、表示部１２に表示されることにより、ユーザに提示される。
【００７５】
なお、受付部１０４が検索する、代表的な１つの衣服サイズ、１つの体型パラメータ及び１つの姿勢情報は、予め定められているものとする。また、受付部１０４は、入力部１４から受け付けた衣服サイズを、上記代表的な１つの衣服サイズとしてもよい。
【００７６】
表示部１２に衣服画像の一覧が表示されると、ユーザは、入力部１４に対する操作指示を行うことによって、当該表示部１２に表示された衣服画像の一覧の中から、試着対象の衣服（の衣服画像）を選択する。このようにユーザによって選択された衣服画像の衣服ＩＤは、入力部１４から画像処理装置１００に対して出力される。また、衣服サイズについても、ユーザによる入力部１４に対する操作指示によって入力される。
【００７７】
受付部１０４は、選択された衣服ＩＤと、入力された衣服サイズとを入力部１４から受け付ける。換言すれば、受付部１０４は、試着対象の衣服ＩＤと、試着対象の衣服サイズとを受け付ける。
【００７８】
なお、受付部１０４は、少なくとも、試着対象の衣服の衣服ＩＤを取得すればよく、試着対象の衣服サイズを受け付けない形態であってもよい。すなわち、ユーザは、衣服ＩＤを入力部１４を介して入力すればよく、衣服サイズを入力しない形態であってもよい。
【００７９】
体型パラメータ取得部１０５は、第１被写体の体型を示す体型パラメータ（以下、第１被写体の体型パラメータと表記）を取得する。この体型パラメータは、上述した第１情報に含まれる体型パラメータと同様に１または複数のパラメータを含む。
【００８０】
この場合、体型パラメータ取得部１０５は、例えばユーザによる入力部１４に対する操作指示によって入力された体型パラメータを、受付部１０４を介して取得する。
【００８１】
具体的には、例えば第１被写体の体型パラメータの入力画面が表示部１２に表示される。この入力画面は、例えば胸囲、胴囲、腰囲、身長、肩幅及び体重等のパラメータの入力欄を含む。ユーザは、表示部１２に表示された入力画面を参照しながら入力部１４に対する操作を行うことで、各パラメータの入力欄に値を入力する。受付部１０４は、入力部１４から受け付けた体型パラメータを受付部１０４に対して出力する。これにより、体型パラメータ取得部１０５は、受付部１０４から体型パラメータを取得する。
【００８２】
なお、体型パラメータ取得部１０５は、第１被写体の体型パラメータを推定してもよい。本実施形態においては、体型パラメータ取得部１０５が第１被写体の体型パラメータを推定するものとして説明する。
【００８３】
この場合、体型パラメータ取得部１０５は、デプス画像取得部１０１ｂによって取得された第１被写体のデプス画像から、第１被写体の体型パラメータを推定する。
【００８４】
この場合、体型パラメータ取得部１０５は、例えば第１被写体のデプス画像に人体の三次元モデルデータを当てはめる。体型パラメータ取得部１０５は、デプス画像と、当該デプス画像に当てはめた三次元モデルデータとを用いて、体型パラメータに含まれる各パラメータの値（例えば、身長、胸囲、胴囲、腰囲及び肩幅の各々の値）を算出する。
【００８５】
また、体型パラメータ取得部１０５は、上記した第１被写体の体型パラメータ（に含まれるパラメータ）として、当該第１被写体の体重を取得する。この第１被写体の体重は、例えば体重測定部１３から取得することができる。なお、第１被写体の体重は、例えばユーザによる入力部１４に対する操作指示によって取得されても構わない。
【００８６】
これにより、体型パラメータ取得部１０５は、上記したように推定されたパラメータと体重とを含む第１被写体の体型パラメータを取得することができる。
【００８７】
なお、体型パラメータ取得部１０５は、第１被写体の体重を取得しないような構成であっても構わない。この場合、体型パラメータ取得部１０５は、体重以外のパラメータを含む体型パラメータを取得する。
【００８８】
ここで、図８及び図９を参照して、体型パラメータ取得部１０５による体型パラメータの推定について説明する。図８は、人体の三次元モデルデータの一例を示す図である。図９は、第１被写体のデプス画像に人体の三次元モデルデータを当てはめた画像（モデル画像）３００を示す図である。なお、図９に示すモデル画像３００Ａは、第１被写体の背面の三次元モデルを示す画像である。一方、図９に示すモデル画像３００Ｂは、第１被写体の側面の三次元モデルを示す画像である。
【００８９】
詳細には、体型パラメータ取得部１０５は、人体の三次元モデルデータ（三次元ポリゴンモデル）を、第１被写体のデプス画像に当てはめる。体型パラメータ取得部１０５は、第１被写体のデプス画像に当てはめられた人体の三次元モデルデータにおける、複数のパラメータ（身長、胸囲、胴囲、腰囲及び肩幅等）の各々に対応する部位の距離から上述した採寸値を推定する。具体的には、体型パラメータ取得部１０５は、デプス画像に当てはめられた人体の三次元モデルデータ上における頂点間の距離及びある２頂点を結ぶ稜線の長さ等から、身長、胸囲、胴囲、腰囲及び肩幅等の各パラメータの値を算出する。２頂点とは、デプス画像に当てはめられた人体の三次元モデルデータ上における算出対象のパラメータの各々に対応する部位の一端と他端を示す。なお、第２被写体の第２体型パラメータに含まれる各パラメータの値についても同様にして算出されればよい。
【００９０】
また、体型パラメータ取得部１０５は、受付部１０４によって受け付けられた衣服ＩＤによって識別される衣服における体型を隠す度合いが高いほど値が小さくなるように、デプス画像から推定された体型パラメータを補正することが好ましい。
【００９１】
この場合、体型パラメータ取得部１０５は、受付部１０４によって受け付けられた衣服ＩＤに対応する補正値を記憶部１６に記憶されている第４情報から読み取る。体型パラメータ取得部１０５は、デプス画像から推定された体型パラメータに含まれる各パラメータの値に読み取られた補正値を乗算することによって当該各パラメータの値を補正する。
【００９２】
例えば、第１被写体が厚着をした状態で撮像部によって撮像された場合、体型パラメータ取得部１０５がデプス画像から推定する体型パラメータの値は、実際の第１被写体の体型とは異なるものとなる場合がある。このため、体型パラメータ取得部１０５によって推定された体型パラメータは補正されることが好ましい。
【００９３】
本実施形態においては、例えば受付部１０４によって受け付けられた衣服ＩＤ（つまり、ユーザから受け付けた試着対象の衣服ＩＤ）に対応する衣服を、実際に第１被写体が現在着用している衣服と仮定して補正を行う。補正値は、上述したように体型を隠す度合いが最も低い場合に「１」とし、体型を隠す度合いが高いほどより０に近い値とする。このような補正をすることによって、体型パラメータ取得部１０５は、第１被写体のより正確な体型を示す体型パラメータを推定することができる。
【００９４】
なお、補正を指示するための指示ボタンを表示部１２に表示し、ユーザによる入力部１４に対する操作指示によって当該指示ボタンが指定（指示）されたときに、上記した補正処理が行われても構わない。
【００９５】
再び図３に戻ると、姿勢情報算出部１０６は、第１被写体の姿勢情報を算出する。姿勢情報算出部１０６は、骨格情報生成部１０２によって生成された第１被写体の骨格情報から当該第１被写体の姿勢情報を算出する。この場合、姿勢情報算出部１０６は、第１被写体の骨格情報によって示される各関節の位置から第１被写体の向きを算出する。
【００９６】
ここで、図１０を参照して、姿勢情報算出部１０６による姿勢情報の算出について説明する。
【００９７】
骨格情報生成部１０２によって生成された第１被写体の骨格情報によって示される、第１被写体の左肩に相当する画素位置（図１０における画素位置４０１ｄ）の座標を、第１撮像部１５Ａの座標系でＰｓｌとする。また、骨格情報生成部１０２によって生成された骨格情報によって示される、第１被写体の右肩に相当する画素位置（図１０における画素位置４０１ｃ）の座標を、第１撮像部１５Ａの座標系でＰｓｒとする。
【００９８】
姿勢情報算出部１０６は、これらの座標情報から、第１被写体の第１撮像部１５Ａに対する向きを、下記の式（１）を用いて算出する。
【００９９】
第１被写体の向き＝ａｒｃｔａｎ（Ｐｓｌ．ｚ−Ｐｓｒ．ｚ／Ｐｓｌ．ｘ−Ｐｓｒ．ｘ）        ・・・式（１）
この式（１）において、Ｐｓｌ．ｚは、第１被写体の左肩に相当する画素位置のｚ座標値を示す。Ｐｓｒ．ｚは、第１被写体の右からに相当する画素位置のｚ座標値を示す。また、式（１）において、Ｐｓｌ．ｘは、第１被写体の左肩に相当する画素位置のｘ座標値を示す。Ｐｓｒ．ｘは、第１被写体の右肩に相当する画素位置のｘ座標値を示す。
【０１００】
姿勢情報算出部１０６は、このような算出処理により、第１被写体の向き（を示す第１被写体の回転角度）を姿勢情報として算出することができる。
【０１０１】
再び図３に戻ると、特定部１０７は、記憶部１６に記憶されている第１情報における、受付部１０４によって受け付けられた衣服ＩＤに対応する複数の衣服画像のうち、出力対象の衣服画像を特定する。なお、出力対象とは、表示部１２または外部装置等に出力する対象であることを示す。出力先が表示部１２である場合、出力対象は、表示対象を意味する。
【０１０２】
ここで、以下の説明においては、便宜のため、体型パラメータ取得部１０５によって取得された体型パラメータ（つまり、第１被写体の体型パラメータ）を第１体型パラメータと称する。一方、記憶部１６に記憶されている第１情報に含まれる体型パラメータを第２体型パラメータと称する。
【０１０３】
この場合、特定部１０７は、第１情報における、受付部１０４によって受け付けられた衣服ＩＤに対応する複数の衣服画像のうち、第１体型パラメータとの非類似度が閾値以下の第２体型パラメータに対応する衣服画像を特定する。非類似度は、第１体型パラメータと第２体型パラメータとが非類似である度合いを示す。非類似度が低いほど、第１体型パラメータと第２体型パラメータは、より類似することを示す。非類似度が高いほど、第１体型パラメータと第２体型パラメータは、より非類似であることを示す。
【０１０４】
特定部１０７は、記憶部１６に記憶されている第１情報における、受付部１０４によって受け付けられた衣服ＩＤに対応する複数の第２体型パラメータの各々について、第１体型パラメータとの非類似度を算出する。なお、本実施形態においては、第１体型パラメータと第２体型パラメータとの差分が非類似度として用いられる。
【０１０５】
この場合、特定部１０７は、例えばＬ１ノルムまたはＬ２ノルムを用いて、第１体型パラメータと第２体型パラメータとの差分を算出する。
【０１０６】
Ｌ１ノルムを用いる場合、特定部１０７は、第１体型パラメータに含まれる各パラメータの各々の値と受付部１０４によって受け付けられた衣服ＩＤに対応する複数の第２体型パラメータに含まれる各パラメータの各々の値とについて、同じパラメータ毎に値の差（以下、第１の差と表記）を算出する。特定部１０７は、第１体型パラメータと第２体型パラメータとの各々に含まれる同じパラメータ毎の第１の差の絶対値の合計値を、当該第１体型パラメータと第２体型パラメータとの差分（つまり、非類似度）として算出する。
【０１０７】
具体的には、Ｌ１ノルムを用いる場合、特定部１０７は、下記の式（２）を用いて非類似度を算出する。なお、この式（２）は、第１体型パラメータ及び第２体型パラメータが、パラメータとして身長、胸囲、胴囲、腰囲、肩幅及び体重を含む場合の式である。
【０１０８】
非類似度＝｜Ａ１−Ａ２｜＋｜Ｂ１−Ｂ２｜＋｜Ｃ１−Ｃ２｜＋｜Ｄ１−Ｄ２｜＋｜Ｅ１−Ｅ２｜＋｜Ｆ１−Ｆ２｜        ・・・式（２）
この式（２）において、Ａ１は第１体型パラメータに含まれる第１被写体の身長を示し、Ａ２は第２体型パラメータに含まれる身長を示す。Ｂ１は第１体型パラメータに含まれる第１被写体の胸囲を示し、Ｂ２第２体型パラメータに含まれる胸囲を示す。Ｃ１は第１体型パラメータに含まれる第１被写体の胴囲を示し、Ｃ２は第２体型パラメータに含まれる胴囲を示す。Ｄ１は第１体型パラメータに含まれる第１被写体の腰囲を示し、Ｄ２は第２体型パラメータに含まれる腰囲を示す。Ｅ１は第１体型パラメータに含まれる第１被写体の肩幅を示し、Ｅ２は第２体型パラメータに含まれる肩幅を示す。Ｆ１は第１体型パラメータに含まれる第１被写体の体重を示し、Ｆ２は第２体型パラメータに含まれる体重を示す。
【０１０９】
一方、Ｌ２ノルムを用いる場合、特定部１０７は、第１体型パラメータと第２体型パラメータとの各々に含まれる同じパラメータ毎の値の差（つまり、第１の差）の絶対値の二乗の合計値を、これらの第１位体型パラメータと第２体型パラメータとの差分（つまり、非類似度）として算出する。
【０１１０】
具体的には、Ｌ２ノルムを用いる場合、特定部１０７は、下記の式（３）を用いて非類似度を算出する。なお、この式（３）は、第１体型パラメータ及び第２の体型パラメータが、パラメータとして身長、胸囲、胴囲、腰囲、肩幅及び体重を含む場合の式である。
【０１１１】
非類似度＝｜Ａ１−Ａ２｜２＋｜Ｂ１−Ｂ２｜２＋｜Ｃ１−Ｃ２｜２＋｜Ｄ１−Ｄ２｜２＋｜Ｅ１−Ｅ２｜２＋｜Ｆ１−Ｆ２｜２        ・・・式（３）
この式（３）におけるＡ１、Ａ２、Ｂ１、Ｂ２、Ｃ１、Ｃ２、Ｄ１、Ｄ２、Ｅ１、Ｅ２、Ｆ１及びＦ２は、上記した式（２）において説明した通りであるため、その詳しい説明を省略する。
【０１１２】
なお、この非類似度（本実施形態においては差分）の算出時に、例えば第２体型パラメータに含まれるパラメータの各々について、当該第２体型パラメータに含まれるパラメータから第１体型パラメータに含まれるパラメータを減算した値（減算値）が０より大きい場合の重みが、当該減算値が０未満である場合の重みより大きくなるように、当該非類似度に変換関数を適用してもよい。
【０１１３】
このような処理により、画像処理装置１００は、第１被写体の被写体画像と衣服画像とを合成した合成画像の表示時に、第１被写体に対して衣服画像が大きく表示されることを抑制することができる。
【０１１４】
また、上述した記憶部１６に記憶されている第２情報に含まれる重み付値に応じて、第１体型パラメータ及び第２体型パラメータの各々に含まれる各パラメータの値を変換した後に非類似度が算出されてもよい。この場合には、特定部１０７は、受付部１０４によって受け付けられた衣服ＩＤに対応する複数のパラメータのそれぞれの重み付値を第２情報から読み取る。特定部１０７は、上記した差分の算出前に、第１体型パラメータ及び第２体型パラメータの各々に含まれるパラメータの値に対して当該読み取られた対応するパラメータの重み付値を乗算した乗算値を算出する。特定部１０７は、各パラメータに対応する算出した乗算値を、各パラメータの値として用いて非類似度を算出する。
【０１１５】
上述したように、重み付値は、第２情報における、対応する衣服ＩＤによって識別される衣服を着用したときの見え方に対する影響の度合いを示す。このため、重み付値を加味した非類似度の算出が実行されることで、より適切な非類似度を算出することができ、結果としてより第１被写体の体型に応じた衣服画像を特定することができる。
【０１１６】
また、特定部１０７は、各パラメータの重み付値を算出し、当該算出された重み付値を第２情報によって示される重み付値に代えて用いても構わない。
【０１１７】
この場合、特定部１０７は、姿勢情報算出部１０６によって算出された第１被写体の姿勢情報に応じて、各パラメータに対応する重み付値を算出する。
【０１１８】
具体的には、特定部１０７は、姿勢情報算出部１０６によって算出された第１被写体の姿勢情報が、当該第１被写体が正面方向（第１撮像部１５Ａに対して正面の向き）を向いていることを示すものとする。この場合、特定部１０７は、パラメータの重み付値として、肩幅及び身長の重み付値を他のパラメータの重み付値に比べて相対的に大きくする。
【０１１９】
これは、第１被写体を正面から撮像することによって取得されたデプス画像は、正面以外から撮像した場合に比べて、第１被写体の肩幅及び身長を他のパラメータに比べて正確に取得（推定）することができるためである。
【０１２０】
また、第１被写体の体重は、体重測定部１３または入力部１４から入力される。すなわち、第１被写体の体重についても他のパラメータに比べて正確な値を取得することができるため、特定部１０７は、体重の重み付値についても他のパラメータの重み付値に比べて相対的に大きくする。
【０１２１】
このように正確な値を取得することができるパラメータについては他のパラメータに対して相対的に大きな重み付値を算出することで、非類似度をより正確に算出することが可能となる。
【０１２２】
なお、特定部１０７は、第１体型パラメータ及び第２体型パラメータに含まれる複数のパラメータのうち、一部のパラメータを用いて非類似度を算出してもよい。
【０１２３】
具体的には、特定部１０７は、第１体型パラメータ及び第２体型パラメータに含まれる複数のパラメータのうち、受付部１０４によって受け付けられた衣服ＩＤの衣服の種類に対応する、非類似度の算出に用いるパラメータを第３情報から読み取る。衣服の種類に対応する衣服ＩＤは、第１情報から読み取ればよい。なお、第３情報において衣服ＩＤ毎に非類似度の算出に用いるパラメータが設定されている場合には、特定部１０７は、受付部１０４によって受け付けられた衣服ＩＤに対応する、非類似度の算出に用いるパラメータを第３情報から読み取ればよい。これにより、特定部１０７は、第１体型パラメータ及び第２体型パラメータに含まれる複数のパラメータのうち、第３情報から読み取られた非類似度の算出に用いられるパラメータを用いて、非類似度を算出することができる。
【０１２４】
なお、第１体型パラメータに含まれるパラメータの種類と第２体型パラメータに含まれるパラメータの種類とが異なる場合には、特定部１０７は、双方に共通して含まれるパラメータを用いて非類似度を算出すればよい。
【０１２５】
以上の処理により、特定部１０７は、第１情報における、受付部１０４によって受け付けられた衣服ＩＤに対応する複数の第２体型パラメータの各々について、第１体型パラメータとの非類似度を算出する。
【０１２６】
特定部１０７は、上述したように算出された非類似度が閾値以下の第２体型パラメータを特定する。すなわち、特定部１０７は、第１情報における、受付部１０４によって受け付けられた衣服ＩＤに対応する複数の第２体型パラメータのうち、第１体型パラメータと類似する第２体型パラメータを特定する。
【０１２７】
上述したように、非類似度は、第１体型パラメータと第２体型パラメータとの非類似の度合いを示す。このため、第１体型パラメータと第２体型パラメータとの非類似度が低いほど、第１体型パラメータと第２体型パラメータとの類似度が高い。
【０１２８】
そこで、特定部１０７は、算出された非類似度が閾値以下の第２体型パラメータを特定する。なお、非類似度の閾値は、予め定められているものとする。また、非類似度の閾値は、ユーザによる入力部１４に対する操作指示等により適宜変更可能である。
【０１２９】
これにより、特定部１０７は、非類似度が閾値以下であるとして特定された第２体型パラメータに対応する衣服画像を出力対象の衣服画像として特定する。
【０１３０】
なお、上述したように記憶部１６に記憶されている第１情報には、例えば非類似度が閾値以下であるとして特定された第２体型パラメータに対応する衣服画像として、異なる姿勢情報（つまり、第１被写体の向き）のそれぞれに対応する複数の衣服画像が含まれている。よって、特定部１０７は、非類似度が閾値以下であるとして特定された第２体型パラメータに対応する複数の衣服画像のうち、姿勢情報算出部１０６によって算出された姿勢情報（第１被写体の向きを示す回転角度）に対応する衣服画像を出力対象の衣服画像として特定する。
【０１３１】
ここで、図１１を参照して、特定部１０７による衣服画像の特定について説明する。なお、図１１においては、第１体型パラメータ及び第２体型パラメータに含まれる３つのパラメータの各々がＸ軸、Ｙ軸及びＺ軸（の座標値）として示されている場合について説明する。
【０１３２】
また、図１１において、体型パラメータ取得部１０５によって取得（推定）された第１体型パラメータは、第１体型パラメータ５００であるものとする。また、受付部１０４によって受け付けられた衣服ＩＤに対応する複数の第２体型パラメータは、第２体型パラメータ５０１〜５０３であるものとする。更に、第２体型パラメータ５０１〜５０３のうち、第１体型パラメータ５００との非類似度が閾値以下の第２体型パラメータは、図１１において最も距離の近い第２体型パラメータ５０１であるものとする。この場合、特定部１０７は、第２体型パラメータ５０１を特定する。
【０１３３】
次に、特定部１０７は、第２体型パラメータ５０１〜５０３の各々に対応する衣服画像５０１Ａ〜５０３Ａのうち、特定された第２体型パラメータ５０１に対応する衣服画像５０１Ａを出力対象の衣服画像として特定する。
【０１３４】
なお、非類似度が閾値以下の第２体型パラメータ（に対応する衣服画像）が特定部１０７によって複数特定された場合、最も非類似度の小さい１つの第２体型パラメータに対応する衣服画像が出力対象の衣服画像として特定されればよい。
【０１３５】
また、特定部１０７は、受付部１０４によって入力部１４から受け付けられた衣服サイズを加味して衣服画像を特定してもよい。この場合、特定部１０７は、第１情報における、受付部１０４によって受け付けられた衣服ＩＤ及び衣服サイズに対応する複数の衣服画像のうち、非類似度が閾値以下の第２体型パラメータに対応する衣服画像を特定すればよい。
【０１３６】
また、特定部１０７は、上述したように出力対象の衣服画像を特定する際に、第１被写体の姿勢情報及び第１情報に含まれる姿勢情報を用いる。
【０１３７】
この場合、特定部１０７は、第１情報における、受付部１０４によって受け付けられた衣服ＩＤに対応する複数の衣服画像のうち、姿勢情報算出部１０６によって算出された姿勢情報（第１被写体の向きを示す当該第１被写体の回転角度）に対応する衣服画像を出力対象の衣服画像として特定する。なお、このような衣服画像の特定処理は、画像処理システム１０（画像処理装置１００）において追従モード（第１の動作モード）が設定されている場合に実行される。この追従モードは、衣服がユーザの体にフィットした状態を表す合成画像をユーザに対して提示（表示）するためのモードである。
【０１３８】
また、詳細については後述するが、特定部１０７は、姿勢情報算出部１０６によって算出された第１被写体の向きを示す当該第１被写体の回転角度に基づいて、当該第１被写体の回転角度とは異なる回転角度に対応する衣服画像を出力対象の衣服画像として特定することも可能である。なお、このような衣服画像の特定処理は、画像処理システム１０（画像処理装置１００）において姿見モード（第２の動作モード）が設定されている場合に実行される。この姿見モードは、上述した追従モードが設定されている場合と比べて、試着対象の衣服の雰囲気を容易に確認することができるような合成画像をユーザに対して提示（表示）するためのモードである。
【０１３９】
ここで、図１２は、第１情報に含まれる姿勢情報を概念的に表す図である。ここでは、図１２に示すように、非類似度が閾値以下の第２体型パラメータ（例えば、図１１に示す第２体型パラメータ５０１）に対応する衣服画像として、筐体１１に設けられた第１撮像部１５Ａに対して正面の向きである「正面（±０度）」、当該正面から右に２０度回転した向きである「＋２０度」、当該正面から右に４０度回転した向きである「＋４０度」の各々の姿勢情報に対応する衣服画像６０１〜６０３が記憶部１６（に記憶されている第１情報）において予め登録されていたものとする。また、姿勢情報算出部１０６によって算出された第１被写体の向きを示す第１被写体の回転角度は、「＋２０度」であるものとする。
【０１４０】
画像処理システム１０において追従モードが設定されている場合、特定部１０７は、第１情報における、受付部１０４によって受け付けられた衣服ＩＤ及び非類似度が閾値以下の第２体型パラメータに対応する複数の衣服画像６０１〜６０３のうち、姿勢情報算出部１０６によって算出された姿勢情報（つまり、第１被写体の回転角度「＋２０度」）に対応する衣服画像６０２に対応する衣服画像を出力対象の衣服画像として特定する。
【０１４１】
一方、画像処理システム１０において姿見モードが設定されている場合、特定部１０７は、第１情報における受付部１０４によって受け付けられた衣服ＩＤ及び非類似度が閾値以下の第２体型パラメータに対応する複数の衣服画像６０１〜６０３のうち、姿勢情報算出部１０６によって算出された姿勢情報に含まれる第１被写体の向きに応じた回転角度「＋２０度」とは異なる回転角度である例えば「＋４０度」に対応する衣服画像を出力対象の衣服画像として特定する。
【０１４２】
すなわち、本実施形態においては、画像処理システム１０（画像処理装置１００）において設定されている動作モードに応じて、異なる姿勢情報に対応する衣服画像が出力対象の衣服画像として特定される。なお、この各動作モードが設定されている場合における衣服画像の特定処理の詳細については後述する。また、この動作モードの切り替えは、例えばユーザによる入力部１４に対する操作指示によって切り替え可能である。
【０１４３】
なお、特定部１０７は、例えば出力対象の衣服画像を特定するための第２体型パラメータを段階的に絞り込むような構成であっても構わない。
【０１４４】
この場合、特定部１０７は、第１体型パラメータ及び第２体型パラメータに含まれる複数のパラメータのうちの１つのパラメータについて上記した非類似度を算出し、当該非類似度が閾値以下の複数の第２体型パラメータを特定する。更に、特定部１０７は、特定された複数の第２体型パラメータのうち、前段階の特定で用いられていないパラメータについて同様に非類似度を算出し、当該非類似度が閾値以下の第２体型パラメータの特定を行う。特定部１０７は、この一連の処理を、予め定められた数の第２体型パラメータが特定されるまで、パラメータを順次変えて繰り返し実行する。これにより、特定部１０７は、段階的に第２体型パラメータ（に対応する衣服画像）を特定してもよい。
【０１４５】
また、このように段階的に第２体型パラメータを特定する場合、特定部１０７は、各段階で用いられるパラメータとして、１つのパラメータを用いてもよいし、複数のパラメータを用いてもよい。
【０１４６】
また、特定部１０７は、例えば図６に示す重み付値の高いパラメータを順に用いることによって、段階的に第２体型パラメータを特定してもよい。
【０１４７】
また、各段階で用いられるパラメータの種類が予め記憶部１６に記憶されていてもよい。すなわち、記憶部１６は、段階を示す情報と、当該段階で用いられるパラメータの種類を示す情報とを対応づけて記憶しておく。これによれば、特定部１０７は、各段階で用いられるパラメータの種類（を示す情報）を記憶部１６から読み取り、当該種類に対応するパラメータを用いて、段階的に第２体型パラメータを特定してもよい。
【０１４８】
更に、特定部１０７は、上記した各段階においてまたは最終的に、出力対象の衣服画像として複数の衣服画像が特定された場合、当該特定された複数の衣服画像のうち、ユーザによって指定された１つの衣服画像を、出力対象の衣服画像として特定してもよい。具体的には、表示制御部１１２は、特定部１０７によって特定された複数の衣服画像の一覧を表示部１２に表示する。この場合、ユーザは、表示部１２に表示された衣服画像の一覧を閲覧しながら入力部１４に対する操作を行うことによって、出力対象とする１つの衣服画像を選択することができる。これにより、特定部１０７は、表示部１２に表示された複数の衣服画像のうち、ユーザによって選択された衣服画像を、出力対象の衣服画像として特定することができる。
【０１４９】
また、同様に複数の衣服画像が特定された場合には、後述するテンプレートマッチングの処理時に１つの衣服画像が出力対象の衣服画像として特定されてもよい。具体的には、本実施形態においては、出力対象の衣服画像と被写体画像とが合成される前に、衣服画像の特徴領域（例えば、肩領域）と、第１被写体のデプス画像の特徴領域（例えば、肩領域）とを用いたテンプレートマッチングが行われる。この場合において、特定部１０７によって特定された複数の衣服画像の各々の肩領域と、第１被写体のデプス画像の肩領域との一致度合いが最も高い衣服画像が、出力対象の１つの衣服画像として特定されてもよい。
【０１５０】
また、特定部１０７によって特定された１または複数の衣服画像は、被写体画像との合成前に表示部１２に表示されても構わない。なお、ここで表示部１２に表示される衣服画像は、例えば上述した第２被写体が当該衣服を着用した状態を示す画像であるものとする。
【０１５１】
これによれば、ユーザ（第１被写体）は、当該第１被写体が試着対象として指定した衣服を、当該第１被写体の体型に一致または類似する体型の第２被写体が着用した状態で確認することが可能となる。
【０１５２】
また、受付部１０４によって試着対象の衣服を識別するための衣服ＩＤ及び衣服サイズが入力部１４から受け付けられた場合には、当該衣服サイズの衣服を第１被写体の体型に一致または類似する体型の第２被写体が着用した状態を示す衣服画像が表示部１２に表示されるものとする。これによれば、ユーザ（第１被写体）は、当該第１被写体が試着対象として指定した衣服サイズの衣服を、当該第１被写体の体型に一致または類似する体型の第２被写体が着用した状態で確認することが可能となる。
【０１５３】
すなわち、このように特定部１０７によって特定された１または複数の衣服画像が被写体画像との合成前に表示部１２に表示されることによって、被写体画像への合成前であっても第１被写体の体型に応じた試着状態を示す衣服画像をユーザに対して提示（提供）することが可能となる。
【０１５４】
再び図３に戻ると、調整部１０８は、デプス画像取得部１０１ｂによって取得された第１被写体のデプス画像の座標系（すなわち、第２撮像部１５Ｂの座標系）を、被写体画像取得部１０１ａによって取得された第１被写体の被写体画像の座標系（すなわち、第１撮像部１５Ａの座標系）に変換する。調整部１０８は、座標変換後の第１被写体のデプス画像を構成する各画素位置の画素が、同じタイミングで取得された第１被写体の被写体画像を構成する各画素の画素位置に対応する位置となるように射影することで、第１被写体のデプス画像の解像度を被写体画像と同じ解像度に調整する。
【０１５５】
例えば、第２撮像部１５Ｂによって得られたデプス画像（つまり、デプス画像取得部１０１ｂによって取得されたデプス画像）の解像度が６４０×４８０ピクセルであり、第１撮像部１５Ａによって得られた被写体画像（つまり、被写体画像取得部１０１ａによって取得された被写体画像）の解像度が１０８０×１９２０ピクセルであったとする。この場合、デプス画像を構成する各画素を、１ピクセル×１ピクセルの点として被写体画像上に射影すると、デプス画像を構成する各画素の間に隙間が生じてしまう。このため、調整部１０８では、必要に応じて、ガウシアンフィルタまたはモルフォロジー演算等による演算を用いたフィルタを適用し、被写体画像上に射影されたデプス画像を構成する各画素の間に隙間が生じないように調整する。
【０１５６】
調整部１０８は、特定部１０７によって特定された出力対象の衣服画像と当該衣服画像に対応する姿勢情報に含まれる骨格情報に基づいて、当該衣服画像における特徴領域の大きさを算出する。また、調整部１０８は、解像度が調整された第１被写体のデプス画像と骨格情報生成部１０２によって生成された第１被写体の骨格情報に基づいて、第１被写体の被写体画像における特徴領域の大きさを算出する。
【０１５７】
なお、特徴領域は、人体の形状を推定可能な領域である。この特徴領域としては、人体の肩に対応する肩領域、腰に対応する腰領域、足の長さに対応する足領域等を用いることができるが、これらに限られない。本実施形態においては、特徴領域として人体の肩に対応する肩領域を用いる場合を説明するが、他の領域が用いられても構わない。
【０１５８】
例えば特徴領域として人体の肩に対応する肩領域を用いた場合、調整部１０８は、出力対象の衣服画像における特徴領域の大きさとして、当該衣服画像における肩幅を算出する。
【０１５９】
調整部１０８は、算出された出力対象の衣服画像における特徴領域の大きさ及び被写体画像取得部１０１によって取得された被写体画像における特徴領域の大きさに基づいて、当該衣服画像及び当該被写体画像の少なくとも一方を拡大または縮小する。これによれば、衣服画像の輪郭の少なくとも一部と、被写体画像の輪郭の少なくとも一部とが一致するような拡大または縮小が行われる。
【０１６０】
調整部１０８は、拡大または縮小後の出力対象の衣服画像と被写体画像とから、後述する第１位置を算出する際に用いられる当該各画像の特徴領域（例えば、肩領域）を抽出する。
【０１６１】
ここで、調整部１０８による特徴領域の抽出についてより詳細に説明する。まず、図１３及び図１４を参照して、上記した特徴領域の大きさの算出について説明する。ここでは、デプス画像取得部１０１ｂによって取得された第１被写体のデプス画像の解像度は、被写体画像取得部１０１ａによって取得された被写体画像と同じ解像度に調整されているものとする。
【０１６２】
この場合、調整部１０８は、特定部１０７によって特定された出力対象の衣服画像に対応する姿勢情報に含まれる骨格情報から、当該衣服画像上の関節位置のうち、左肩に相当する位置の画素のＹ座標と、右肩に相当する位置の画素のＹ座標と平均のＹ座標を求める。次に、調整部１０８は、求められたＹ座標の位置（高さ）において、上記した左肩に相当する位置の画素のＸ座標から、衣服の外側に相当する領域に向かって探索を行い、衣服の左肩側の境界線の位置に相当するＸ座標を求める。同様に、調整部１０８は、求められたＹ座標の位置（高さ）において、上記した右肩に相当する位置の画素のＹ座標から、衣服の外側に相当する領域に向かって探索を行い、衣服の右肩側の境界線の位置に相当するＸ座標を求める。
【０１６３】
調整部１０８は、このような２つのＸ座標の差を求めることにより、図１３に示すように例えば衣服画像７００上の肩幅（ピクセル数）Ｓｃを求めることができる。
【０１６４】
なお、肩関節の位置に相当する画素のＹ座標から求められた１つのＹ座標に基づいて肩幅を求めるのではなく、肩関節のＹ座標を中心にＹ座標の上下方向に幅を持たせて、複数の水平方向のラインについて探索を行い、当該複数の水平方向のラインについて求められたＸ座標の平均を両側において求めることで、衣服画像上における肩幅が求められてもよい。
【０１６５】
次に、調整部１０８は、被写体画像と同じ解像度に調整された第１被写体のデプス画像と、第１被写体の骨格情報（骨格情報生成部１０２によって生成された骨格情報）とを用いて、第１被写体の被写体画像上の肩幅を算出する。
【０１６６】
図１４に示すように、調整部１０８は、第１被写体のデプス画像における、左肩に相当する位置の画素のＹ座標と、右肩に相当する位置の画素のＹ座標との平均のＹ座標を求める。次に、調整部１０８は、左肩に相当する位置の画素のＸ座標から、第１被写体の外側に相当する領域に向かって探索を行い、当該第１被写体の領域の一方の境界線であるＸ座標を求める。
【０１６７】
更に、調整部１０８は、第１被写体のデプス画像における、右肩に相当する位置の画素のＸ座標から、第１被写体の外側に相当する領域に向かって探索を行い、当該第１被写体の領域のもう一方の境界線であるＸ座標を求める。
【０１６８】
調整部１０８は、このような２つのＸ座標の差を求めることにより、図１４に示すように例えばデプス画像（被写体画像）８００上の肩幅（ピクセル数）Ｓｈを求めることができる。
【０１６９】
なお、肩関節の位置に相当する画素のＹ座標から求められた１つのＹ座標に基づいて肩幅を求めるのではなく、肩関節のＹ座標を中心にＹ座標の上下方向に幅を持たせて、複数の水平方向のラインについて探索を行い、当該複数の水平方向のラインについて求められたＸ座標の平均を両側において求めることで、被写体画像上の肩幅が求められてもよい。
【０１７０】
次に、調整部１０８は、上記したように算出された特徴領域の大きさ、すなわち衣服画像上の肩幅Ｓｃと、被写体画像上の肩幅Ｓｈとを用いて、当該衣服画像のスケーリング値（拡大縮小率）を決定する。
【０１７１】
具体的には、調整部１０８は、被写体画像上の肩幅Ｓｈを衣服画像上の肩幅Ｓｃで除算した除算値（Ｓｈ／Ｓｃ）を、スケーリング値として算出する。このスケーリング値は、衣服の実際の大きさ、または衣服画像領域の幅及び高さに相当する画素数等の値を用いて、異なる式から算出されても構わない。
【０１７２】
調整部１０８は、出力対象の衣服画像を、算出されたスケーリング値（拡大縮小率）で拡大または縮小する。また、調整部１０８は、出力対象の衣服画像に対応する姿勢情報に含まれる骨格情報を同様のスケーリング値（拡大縮小率）で拡大または縮小する。
【０１７３】
次に、調整部１０８は、拡大または縮小後の衣服画像及び被写体画像から、位置算出部１０９において用いられる特徴領域を抽出する。
【０１７４】
特徴領域は、上述したように衣服画像及び被写体画像の各々における、人体の形状を推定可能な領域を示す。特徴領域は、例えば人体の肩または腰等を示す領域である。本実施形態においては、調整部１０８は、衣服画像及び被写体画像の各々の輪郭における、人体の肩に相当する領域（肩領域）を、特徴領域として抽出する場合を説明する。
【０１７５】
まず、調整部１０８は、被写体画像と同じ解像度に調整された第１被写体のデプス画像から輪郭を抽出する。また、調整部１０８は、上記したように拡大または縮小された衣服画像から輪郭を抽出する。調整部１０８は、このように抽出された輪郭から、人体の肩に相当する肩領域の輪郭を、特徴領域として抽出する。なお、輪郭の抽出には、種々の手法を利用することが可能である。
【０１７６】
ここで、調整部１０８は、衣服画像（に含まれる衣服の領域）の形状に応じて輪郭を抽出することが好ましい。以下、図１５を参照して、輪郭の抽出の一例について説明する。
【０１７７】
図１５に示すように、拡大または縮小された出力対象の衣服画像（に含まれる衣服の領域）９０１の形状が人体の正面側に縦長の開口部を有する形状であるものとする。このような衣服画像９０１の場合、図１５に示すように、人体の中央部にも示される輪郭９０２が抽出されることとなる。このような輪郭９０２を用いて後述するテンプレートマッチングが行われると、人体の中央部分に相当する領域のマッチング精度が低下する場合がある。
【０１７８】
このため、調整部１０８は、図１５に示す輪郭９０２から人体の中央部に相当する領域の輪郭を除去することにより、人体の外形に沿った部分の輪郭を衣服画像から抽出することが好ましい。
【０１７９】
なお、画像処理装置１００では、後述する更新部１１３が各衣服画像を記憶部１６（第１情報）に登録する際に、当該衣服画像の衣服を試着していた第２被写体のデプス画像を当該衣服画像に対応づけておくものとする。調整部１０８は、このデプス画像から当該デプス画像における輪郭に連続する内側の領域の一部を例えばモルフォロジー演算等の画像フィルタ処理により削除する。このような削除処理後のデプス画像９０３を用意することにより、調整部１０８は、図１５に示すように、輪郭９０２からデプス画像９０３と重なる領域（の輪郭）を削除することで、人体の外形に沿った部分の輪郭９０４を出力対象の衣服画像の輪郭として抽出することができる。
【０１８０】
調整部１０８は、上記したように抽出された出力対象の衣服画像及びデプス画像（被写体画像）の各々の輪郭から、人体の肩に相当する肩領域を特徴領域として抽出する。
【０１８１】
なお、出力対象の衣服画像に含まれる衣服がタンクトップやベアトップ等であり、当該衣服画像から人体の外形に沿った形状（肩の輪郭等）抽出することが困難な場合がある。このような場合には、上記したように衣服を試着させた第２被写体のデプス画像を記憶部１６に予め記憶しておき、当該第２被写体の肩部から肩領域の輪郭を抽出（算出）してもよい。
【０１８２】
再び図３に戻ると、位置算出部１０９は、調整部１０８によって抽出された出力対象の衣服画像の特徴領域の位置と、被写体画像取得部１０１ａによって取得された被写体画像の特徴領域の位置とが一致する、被写体画像上における衣服画像の第１位置を算出する。
【０１８３】
なお、位置算出部１０９は、被写体画像取得部１０１ａによって取得された被写体画像が第１条件を満たすと判別部１０３によって判別された場合に、第１位置の算出を行う。
【０１８４】
位置算出部１０９は、被写体画像の特徴領域に対して、出力対象の衣服画像の特徴領域をテンプレートとして、テンプレートマッチングを行うことで被写体画像（デプス画像）を探索する。これにより、位置算出部１０９は、特徴領域が一致する被写体画像（デプス画像）上の位置を第１位置として算出する。なお、位置算出部１０９によって行われるテンプレートマッチングには、種々の手法を利用することが可能である。
【０１８５】
第１位置は、被写体画像上における位置座標によって示される。具体的には、第１位置は、出力対象の衣服画像の特徴領域と被写体画像の特徴領域とが一致したときの、当該被写体画像上における当該特徴領域の中心位置とする。
【０１８６】
また、位置算出部１０９は、出力対象の衣服画像の特徴点の位置と、被写体画像の特徴点の位置とが一致する、当該被写体画像上における当該衣服画像の第２位置を算出する。
【０１８７】
ここで、特徴点は、衣服を試着する第１被写体の体型を推定可能な位置である。特徴点は、特徴領域に応じて予め定められる。具体的には、特徴点は、上記した特徴領域の中央に相当する位置に定める。すなわち、特徴点は、特徴領域として用いられる領域に応じて予め設定される。また、特徴点は、画像上の位置座標で示される。本実施形態において特徴領域として肩領域が用いられる場合、肩領域の中心位置（つまり、人体の両肩の中央に相当する位置）が特徴点として定められる。
【０１８８】
ここで、図１６を参照して、位置算出部１０９による第２位置の算出の一例について説明する。
【０１８９】
位置算出部１０９は、例えば図１６に示す出力対象の衣服画像１００１ａに対応する骨格情報１００１ｂから、両肩間の中心位置Ｑ１を求める。また、位置算出部１０９は、図１６に示す被写体画像１００２ａの骨格情報（つまり、当該被写体画像１００２ａから生成された骨格情報）１００２ｂから、両肩間の中心位置Ｑ２を求める。位置算出部１０９は、出力対象の衣服画像１００１ａにおける両肩間の中心位置Ｑ１と、被写体画像１００２ａにおける両肩間の中心位置Ｑ２が一致する、被写体画像１００２ａ上における衣服画像１００１ａの第２位置を算出する。すなわち、本実施形態において、位置算出部１０９は、被写体画像１００２ａ上における両肩間の中心位置Ｑ２を、第２位置として算出することとなる。
【０１９０】
再び図３に戻ると、決定部１１０は、被写体画像取得部１０１ａによって取得された被写体画像が第１条件を満たすと判別部１０３によって判別された場合、位置算出部１０９によって算出された第１位置を、当該被写体画像に対する出力対象の衣服画像の重畳位置として決定する。
【０１９１】
また、決定部１１０は、被写体画像取得部１０１ａによって取得された被写体画像が第１条件を満たさないと判別部１０３によって判別された場合、当該被写体画像より前に取得された被写体画像に対して算出された第１位置と当該被写体画像から位置算出部１０９によって算出された第２位置との差分から、重畳位置を決定する。
【０１９２】
具体的には、決定部１１０は、被写体画像取得部１０１ａによって取得された被写体画像に基づいて位置算出部１０９によって算出された第２位置を、上記した差分に応じてずらした位置を重畳位置として決定する。
【０１９３】
すなわち、この決定部１１０において用いられる差分は、今回被写体画像取得部１０１ａによって取得された被写体画像より前に取得された第１条件を満たす被写体画像から位置算出部１０９によって算出された第１位置と、当該被写体画像から位置算出部１０９によって算出された第２位置との差分である。
【０１９４】
合成画像生成部１１１は、被写体画像取得部１０１ａによって取得された被写体画像における、決定部１１０によって決定された重畳位置に、特定部１０７によって特定された出力対象の衣服画像を重畳した合成画像を生成する。
【０１９５】
詳細には、合成画像生成部１１１は、被写体画像取得部１０１ａによって取得された被写体画像上の重畳位置に、出力対象の衣服画像を重畳する。これにより、合成画像生成部１１１は、合成画像を生成する。
【０１９６】
具体的には、合成画像生成部１１１は、特定部１０７によって特定され、調整部１０８によって調整された衣服画像について、画素毎に定義された色値（Ｃｒ，Ｃｇ，Ｃｂ）、及びアルファ値（ａ）を参照する。なお、アルファ値ａは、０以上１以下の値である。また、第１被写体の被写体画像についても、画素毎の色値（Ｉｒ，Ｉｇ，Ｉｂ）を参照する。合成画像生成部１１１は、同じ画素位置の画素毎に、下記の式（４）を用いて画素値（色値及びアルファ値）を定めることにより、合成画像を生成する。
【０１９７】
Ｏｘ＝（１−ａ）×Ｉｘ＋ａ×Ｃｘ        ・・・式（４）
この式（４）において、ｘは、ｒ、ｇ、ｂを示す。また、衣服画像が第１被写体の被写体画像の一部の領域のみを占有する場合、当該衣服画像の占有領域外の領域では、アルファ値の値は“０”（ａ＝０）として計算する。
【０１９８】
上記したように、合成画像生成部１１１によって合成画像が生成される際に用いられる第１位置は、特徴領域についてテンプレートマッチングを行うことによって算出される。一方、合成画像生成部１１１によって合成画像が生成される際に用いられる第２位置は、特徴点の位置から算出される。このため、第１位置を用いた場合には、精度の高い合成画像を生成することができる。一方、第２位置を用いた場合に生成される合成画像は、第１位置を用いた場合に生成される合成画像よりも精度が低くなる。しかしながら、第２位置の算出における負荷は第１位置の算出における負荷よりも低いため、第２位置を用いた場合には、より低い負荷で合成画像を生成することができる。
【０１９９】
表示制御部１１２は、各種画像を表示部１２に表示する。具体的には、表示制御部１１２は、上述した衣服画像の一覧、第１被写体の体型を示す体型パラメータの入力画面及び合成画像生成部１１１によって生成された合成画像等を表示する。
【０２００】
更新部１１３は、上述した第１情報の登録及び更新を行う。ここで、図１７を参照して、更新部１１３による第１情報の登録及び更新について説明する。
【０２０１】
まず、衣服ＩＤによって識別される衣服毎に、各衣服サイズの衣服を用意する。各衣服サイズの衣服は、例えば体型の異なる複数の第２被写体に着用される。すなわち、第１情報の登録及び更新の際には、図１７に示すように衣服サイズの異なる衣服１１０１の各々を着用したマネキン等の複数の第２被写体１１０２が用意される。なお、図１７においては、便宜的に、衣服１１０１及び第２被写体１１０２は、それぞれ１つのみが示されている。
【０２０２】
このような衣服１１０１を着用した第２被写体１１０２を画像処理システム１０における撮像部と同様の装置で撮像することにより、当該第２被写体１１０２の被写体画像及びデプス画像を得ることができる。更新部１１３は、このように得られた被写体画像に含まれる衣服領域を切り出すことによって、衣服画像を切り出す。具体的には、更新部１１３は、衣服領域を示すマスクを設定する。これにより、更新部１１３は、図１７に示すように、各衣服サイズの衣服１１０１を異なる体型の第２被写体１１０２が着用した状態を示す複数の衣服画像１１０３を切り出す。なお、図１７においては、便宜的に１つの衣服画像１１０３のみが示されている。
【０２０３】
また、更新部１１３は、図１７に示すように、骨格情報生成部１０２と同様にして第２被写体１１０２の骨格情報を算出し、姿勢情報算出部１０６と同様にして、第２被写体１１０２の姿勢情報を算出する。
【０２０４】
更に、更新部１１３は、上述した体型パラメータ取得部１０５と同様に、デプス画像から第２被写体１１０２の体型を示す体型パラメータを取得する。この体型パラメータは、ユーザによる入力部１４に対する操作等により取得されてもよいし、別途、身体のラインが明確となる衣服（例えば、下着等）を着用した状態の第２被写体１１０２を撮像したデプス画像を用いて推定されてもよい。なお、体型パラメータの推定については、上述した体型パラメータ取得部１０５による第１体型パラメータの推定と同様であるため、その詳しい説明を省略する。
【０２０５】
上記した衣服１１０１を識別するための衣服ＩＤと、当該衣服１１０１の衣服サイズと、取得された体型パラメータ（第２体型パラメータ）と、第２被写体１１０２のモデルＩＤと、算出された姿勢情報と、切り出された衣服画像と対応づけて含む第１情報は、記憶部１６に記憶される。これにより、第１情報が登録または更新される。なお、このような処理は、各衣服サイズの衣服１１０１の各々を着用した各体型の第２被写体１１０２の各々を撮像する度に実行される。なお、更新部１１３は、ユーザによる入力部１４の操作指示によって入力された、衣服の種類または属性情報を受け付け、衣服ＩＤに更に対応づけることも可能である。
【０２０６】
次に、図１８のフローチャートを参照して、本実施形態に係る画像処理装置１００の処理手順について説明する。なお、図１８に示す処理は、画像処理システム１０に備えられる撮像部（第１撮像部１５Ａ及び第２撮像部１５Ｂ）から被写体画像及びデプス画像の各々を１枚受け付ける度に実行される。なお、画像処理装置１００が撮像部から例えば複数フレームからなる動画像を受け付ける場合には、当該画像処理装置１００は、当該フレーム毎に図１８に示す処理を実行する。
【０２０７】
まず、被写体画像取得部１０１ａ及びデプス画像取得部１０１ｂは、被写体画像及びデプス画像を取得する（ステップＳ１）。以下、ステップＳ１において取得された被写体画像及びデプス画像を、便宜的に、対象被写体画像及び対象デプス画像と称する。
【０２０８】
次に、骨格情報生成部１０２は、対象デプス画像から第１被写体の骨格情報を生成する（ステップＳ２）。具体的には、骨格情報生成部１０２は、対象デプス画像から骨格情報を抽出し、当該抽出された第１被写体の骨格情報の座標系（すなわち、第２撮像部１５Ｂの座標系）を第１撮像部１５Ａの座標系に変換することによって第１被写体の骨格情報を生成する。
【０２０９】
次に、判別部１０３は、対象被写体画像が第１条件を満たすか否かを判別する（ステップＳ３）。
【０２１０】
ここで、第１条件は、例えば撮像部によって撮像される領域（以下、撮像領域と表記）に存在する第１被写体が異なる第１被写体に入れ替わったとき、が挙げられる。つまり、このような第１条件によれば、第１被写体が異なる第１被写体に入れ替わったときにはステップＳ３において対象被写体画像が第１条件を満たすと判別される。一方、第１被写体が異なる第１被写体と入れ替わっていないとき、すなわち、当該第１被写体が撮像領域内にとどまって所望の衣服を試着した状態を示す合成画像の確認等をしている場合には、ステップＳ３において対象被写体画像が第１条件を満たさないと判別される。換言すれば、第１被写体が異なる第１被写体と入れ替わっていなければ、例えば当該第１被写体が当該撮像領域内で体を回転させているような場合であっても対象被写体画像が第１条件を満たさないと判別される。
【０２１１】
このような第１条件の場合、判別部１０３は、対象デプス画像における第１被写体の関節位置の座標値から、被写体画像中において表示部１２から予め定めた距離内に人物が存在するか否かを判別する。これにより、例えばある時刻において第１被写体として人物が存在し、その後の時刻において第１被写体として人物が存在せず、更にその後の時刻において第１被写体として人物が存在したと判別部１０３が判別した場合に、当該判別部１０３は、撮像領域に存在する第１被写体（人物）が異なる第１被写体に入れ替わったと判別する。この場合には、判別部１０３は、対象被写体画像が第１条件を満たすと判別する。
【０２１２】
例えば、表示部１２の前に位置して試着を行う第１被写体が入れ替わった場合には、新たに第１位置及び第２位置を算出することが好ましい。このため、撮像領域に存在する第１被写体が異なる第１被写体に入れ替わったときを、判別部１０３の判別の条件として設定することで、重畳位置の精度向上を図ることができる。
【０２１３】
なお、表示部１２の前に位置する第１被写体が移動中に撮像された被写体画像から第１位置を算出すると、当該第１位置の算出精度が低下する可能性がある。このため、判別部１０３は、撮像領域に存在する第１被写体が異なる第１被写体に入れ替わってから所定時間経過後であって、当該第１被写体の静止が検出された後に取得された被写体画像を、第１条件を満たす被写体画像と判別することが好ましい。なお、これらの第１被写体（人物）の移動及び当該第１被写体の静止等の検出には、種々の手法を利用することが可能である。
【０２１４】
ここでは、第１条件が撮像領域に存在する第１被写体が異なる第１被写体に入れ替わったときであるものとして説明したが、当該第１条件は他の条件であっても構わない。以下、他の条件について簡単に説明する。
【０２１５】
他の第１条件としては、例えばユーザによる入力部１４に対する操作指示によって、試着対象の衣服ＩＤとして、表示中の合成画像に含まれる衣服画像とは異なる衣服の衣服ＩＤが指定されたとき、が挙げられる。
【０２１６】
この場合、判別部１０３は、対象被写体画像が、ユーザによる入力部１４に対する操作指示によって、新たな衣服ＩＤが指示された直後に取得された被写体画像であるか否かを判別する。すなわち、対象被写体画像が新たな衣服ＩＤが指示された後に取得された被写体画像であると判別された場合に、判別部１０３は、当該対象被写体画像が第１条件を満たすと判別する。
【０２１７】
なお、表示部１２の前に位置して試着を行う第１被写体が入力部１４を操作指示するために移動中であるときに撮像された被写体画像から第１位置を算出すると、当該第１位置の算出精度が低下する可能性がある。このため、判別部１０３は、ユーザによる入力部１４に対する操作指示がされたと判別されてから所定時間後であって、かつ、第１被写体（人物）の静止が検出された後に取得された被写体画像を、第１条件を満たす被写体画像と判別することが好ましい。
【０２１８】
また、他の第１条件としては、対象被写体画像が、第１位置を算出する対象の被写体画像であると前回判別されてから予め定められた枚数の被写体画像が取得された後に取得された被写体画像であるとき、が挙げられる。
【０２１９】
この場合、判別部１０３は、対象被写体画像が、前回第１位置算出対象として判別された被写体画像の取得から予め定められた枚数が取得された後に取得された被写体画像であるか否かを判別する。すなわち、対象被写体画像が予め定められた枚数が取得された後に取得された被写体画像であると判別された場合に、判別部１０３は、当該対象被写体画像が第１条件を満たすと判別する。
【０２２０】
なお、この予め定められた枚数としては、例えば１５枚（動画像である場合には１５フレーム）等が挙げられるが、この数に限られない。また、この予め定められた枚数は、位置算出部１０９の処理負荷が高くなるほど大きい値を設定してもよいし、第１被写体の移動量が大きいほど大きい値を設定してもよい。また、これらの設定条件を組み合わせてもよい。
【０２２１】
また、判別部１０３は、対象被写体画像が、前回第１位置算出対象として判別された被写体画像の取得から予め定められた時間を経過した後に取得された被写体画像であるか否かを判別してもよい。すなわち、対象被写体画像が予め定められた時間を経過した後に取得された被写体画像であると判別された場合に、判別部１０３は、当該対象被写体画像が第１条件を満たすと判別する。
【０２２２】
この場合においても、判別部１０３は、位置算出部１０９の処理負荷または第１被写体の移動量等に応じて上記した時間を定めればよい。
【０２２３】
また、他の第１条件としては、所定の姿勢情報と、第１被写体の姿勢情報（骨格情報生成部１０２によって生成された骨格情報）とが一致したとき、が挙げられる。なお、所定の姿勢情報には、例えば正面向きで、腕が１０度程度開いている姿勢を示す姿勢情報等が含まれる。
【０２２４】
この場合、判別部１０３は、対象被写体画像から骨格情報生成部１０２によって生成された骨格情報（第１被写体の骨格情報）と、例えば記憶部１６に記憶されている所定の姿勢情報に含まれる骨格情報とが一致したか否かを判別する。すなわち、第１被写体の骨格情報と所定の姿勢情報に含まれる骨格情報とが一致したと判別された場合に、判別部１０３は、対象被写体画像が第１条件を満たすと判別する。
【０２２５】
第１被写体の姿勢と、所定の姿勢とが不一致である場合には、位置算出部１０９でテンプレートマッチングを行っても、十分な精度のテンプレートマッチングを行うことが難しい場合がある。
【０２２６】
そこで、所定の姿勢情報と、第１被写体の姿勢情報とが一致する場合に、判別部１０３は、対象被写体画像が第１条件を満たすと判別することが好ましい。
【０２２７】
また、他の第１条件としては、第１被写体の移動量が予め定めた値以下であるとき、が挙げられる。
【０２２８】
この場合、判別部１０３は、対象デプス画像における第１被写体の関節位置の座標値から、対象被写体画像中における第１被写体の位置を判別する。第１被写体の移動量は、判別部１０３によって判別された、前回取得されたデプス画像における第１被写体の位置と今回取得されたデプス画像（つまり、対象デプス画像）における第１被写体の位置とを比較することによって算出される。このように算出された第１被写体の移動量が予め定めた値以下であると判別された場合に、判別部１０３は、対象被写体画像が第１条件を満たすと判別する。
【０２２９】
また、他の第１条件としては、対象被写体画像に含まれる第１被写体が腕を下げた状態である場合、が挙げられる。
【０２３０】
この場合、判別部１０３は、対象デプス画像における第１被写体の関節位置の座標値から、第１被写体の腕部に相当する位置が第１被写体の肩部より下側（足側）に伸びる方向に位置している（つまり、第１被写体が腕を下げた状態である）か否かを判別する。第１被写体が腕を下げた状態であると判別された場合に、判別部１０３は、対象被写体画像が第１条件を満たすと判別する。
【０２３１】
第１被写体が腕を上げた姿勢である場合、出力対象の衣服画像の姿勢情報と第１被写体の姿勢情報とが異なる可能性が高い。このような姿勢の第１被写体の被写体画像を用いて位置算出部１０９によるテンプレートマッチングが行われると、当該テンプレートマッチングの精度が低下する場合がある。そこで、判別部１０３は、対象被写体画像に含まれる第１被写体が腕を下げた状態であると判別された場合に、当該対象被写体画像が第１条件を満たすと判別することが好ましい。
【０２３２】
なお、ここでは第１条件の例として複数の条件について説明したが、第１条件は、上記した条件のうちの１つであってもよいし、当該条件のうちの複数であってもよい。
【０２３３】
ステップＳ３において対象被写体画像が第１条件を満たすと判別された場合（ステップＳ３のＹＥＳ）、第１衣服画像特定処理が実行される（ステップＳ４）。この第１衣服画像特定処理においては、出力対象の衣服画像が特定部１０７によって特定される。また、第１衣服画像特定処理においては、特定部１０７によって特定された出力対象の衣服画像（以下、対象衣服画像と表記）及び対象被写体画像に対する調整処理が調整部１０８によって行われる。この調整処理においては、後述する第１位置算出処理で用いられる対象衣服画像及び対象被写体画像の特徴領域の抽出等が行われる。なお、第１衣服画像特定処理の詳細については後述する。
【０２３４】
次に、位置算出部１０９は、第１位置算出処理を実行する（ステップＳ５）。この第１位置算出処理においては、第１衣服画像特定処理において抽出された対象衣服画像の特徴領域の位置と対象被写体画像の特徴領域の位置とが一致する、対象被写体画像上における対象衣服画像の第１位置が算出される。なお、第１位置算出処理の詳細については後述する。
【０２３５】
第１位置算出処理によって算出された第１位置は、対象被写体画像を特定可能な情報に対応づけて記憶部１６に記憶される（ステップＳ６）。この対象被写体画像を特定可能な情報としては、例えば当該対象被写体画像の取得日時等が用いられる。
【０２３６】
次に、位置算出部１０９は、第２位置算出処理を実行する（ステップＳ７）。この第２位置算出処理においては、対象衣服画像の特徴点の位置と対象被写体画像の特徴点の位置とが一致する、対象被写体画像上における対象衣服画像の第２位置を算出する。なお、第２位置算出処理の詳細については後述する。
【０２３７】
第２位置算出処理によって算出された第２位置は、対象被写体画像を特定可能な情報に対応づけて記憶部１６に記憶される（ステップＳ８）。この対象被写体画像を特定可能な情報としては、例えば上記したステップＳ６と同様の情報が用いられる。
【０２３８】
次に、決定部１１０は、ステップＳ５において算出された第１位置と、ステップＳ７において算出された第２位置とを記憶部１６から読み取る。決定部１１０は、読み取られた第１位置及び第２位置の差分を算出する（ステップＳ９）。
【０２３９】
決定部１１０によって算出された差分は、ステップＳ６及びＳ８で用いられた対象被写体画像を特定可能な情報に対応づけて記憶部１６に記憶される（ステップＳ１０）。
【０２４０】
なお、記憶部１６に既に第１位置と第２位置との差分が記憶されている場合には、ステップＳ９において算出された差分が当該既に記憶されている差分に上書きされることによって、最新の差分のみが記憶部１６に記憶されるようにしてもよい。
【０２４１】
次に、決定部１１０は、重畳位置を決定する（ステップＳ１１）。この場合、決定部１１０は、ステップＳ５において算出された第１位置を、対象被写体画像における対象衣服画像の重畳位置として決定する。
【０２４２】
すなわち、上記したステップＳ３〜Ｓ１１の処理によれば、対象被写体画像が第１条件を満たすと判別された場合には、位置算出部１０９によって算出された第１位置が当該対象被写体画像上における対象衣服画像の重畳位置として決定される。
【０２４３】
一方、ステップＳ３において対象被写体画像が第１条件を満たさないと判別された場合（ステップＳ３のＮＯ）、第２衣服画像特定処理が実行される（ステップＳ１２）。この第２衣服画像特定処理においては、上述した第１衣服画像特定処理とは異なる処理が実行されることによって、出力対象の衣服画像が特定部１０７によって特定される。なお、この出力対象の衣服画像を特定する際の処理手順は、画像処理システム１０（画像処理装置１００）において設定されている動作モードに応じて異なる。
【０２４４】
具体的には、例えば動作モードとして上述した追従モードが画像処理システム１０において設定されている場合、第２衣服画像特定処理においては、記憶部１６に記憶されている（第１情報に含まれる）複数の衣服画像のうち、姿勢情報算出部１０６によって算出された第１被写体の向きを示す当該第１被写体の回転角度に対応する衣服画像が出力対象の衣服画像として特定される。
【０２４５】
一方、例えば動作モードとして上述した姿見モードが画像処理システム１０において設定されている場合、第２衣服画像特定処理においては、記憶部１６に記憶されている（第１情報に含まれる）複数の衣服画像のうち、姿勢情報算出部１０６によって算出された第１被写体の向きを示す回転角度とは異なる回転角度に対応する衣服画像が出力対象の衣服画像として特定される。
【０２４６】
また、第２衣服画像特定処理においては、上述した第１衣服画像特定処理と同様に、特定部１０７によって特定された出力対象の衣服画像（対象衣服画像）及び対象被写体画像に対する調整処理が調整部１０８によって行われる。なお、第２衣服画像特定処理の詳細については後述する。
【０２４７】
次に、位置算出部１０９は、第２位置算出処理を実行する（ステップＳ１３）。なお、このステップＳ１３において実行される第２位置算出処理は、上記したステップＳ７において実行される第２位置算出処理と同様の処理である。
【０２４８】
決定部１１０は、ステップＳ１３における第２位置算出処理によって算出された第２位置に基づいて重畳位置を決定する（ステップＳ１４）。
【０２４９】
具体的には、決定部１１０は、今回取得された被写体画像（つまり、対象被写体画像）より前に取得された被写体画像から算出された第１位置と、当該第１位置の算出に用いた被写体画像から算出された第２位置との差分を記憶部１６から読み取る。過去に算出された複数の差分が記憶部１６に蓄積されているような場合には、決定部１１０は、当該複数の差分のうち、最新の差分（すなわち、前回算出された差分）を読み取る。決定部１１０は、ステップＳ１３における第２位置算出処理によって算出された第２位置を、読み取られた差分に応じてずらした位置を、重畳位置として決定する。
【０２５０】
なお、第２位置をずらす方向は、記憶部１６に記憶されている第２位置（つまり、前回位置算出部１０９によって算出された第２位置）を始点、当該記憶部１６に記憶されている第１位置（つまり、前回位置算出部１０９によって算出された第１位置）を終点とする方向ベクトルに対して平行な方向である。
【０２５１】
上記したステップＳ１１またはＳ１４の処理が実行されると、合成画像生成部１１１は、合成画像を生成する（ステップＳ１５）。この場合、合成画像生成部１１１は、対象被写体画像上の重畳位置（つまり、決定部１１０によって決定された重畳位置）に、対象衣服画像を重畳することで合成画像を生成する。
【０２５２】
上記したように合成画像生成部１１１によって合成画像が生成されると、表示制御部１１２は、当該合成画像をユーザ（例えば、第１被写体）に提示するための制御を行う。これによれば、合成画像生成部１１１によって生成された合成画像は、例えば表示部１２に表示される（ステップＳ１６）。
【０２５３】
次に、画像処理装置１００では、画像処理を終了するか否かが判別される（ステップＳ１７）。ここで、画像処理装置１００には、当該画像処理装置１００における画像処理の終了を指示するための終了指示ボタン（図示せず）が設けられているものとする。この終了指示ボタンがユーザによって指定（指示）された場合には、画像処理装置１００は、当該画像処理装置１００における画像処理の終了指示を示す信号（以下、終了指示信号と表記）を受け付ける。すなわち、この終了指示信号が画像処理装置１００において受け付けられた場合には、画像処理を終了すると判別される。
【０２５４】
このように画像処理を終了すると判別された場合（ステップＳ１７のＹＥＳ）、画像処理装置１００における画像処理は終了される。
【０２５５】
一方、画像処理を終了しないと判別された場合（ステップＳ１７のＮＯ）、上記したステップＳ１に戻って処理が繰り返される。
【０２５６】
次に、図１９のフローチャートを参照して、上述した第１衣服画像特定処理（図１８に示すステップＳ４の処理）の処理手順について説明する。
【０２５７】
まず、受付部１０４は、試着対象の衣服の衣服ＩＤ及び衣服サイズを入力部１４から受け付ける（ステップＳ２１）。
【０２５８】
なお、衣服ＩＤ及び衣服サイズを受け付けるステップＳ２１の処理は、例えば上述した図１８に示す処理の前に実行されていても構わない。
【０２５９】
次に、体型パラメータ取得部１０５は、対象デプス画像（図１８に示すステップＳ１においてデプス画像取得部１０１ｂによって取得されたデプス画像）から、第１被写体の第１体型パラメータを推定する（ステップＳ２２）。これにより、体型パラメータ取得部１０５は、推定された第１被写体の第１体型パラメータを取得する。
【０２６０】
なお、体型パラメータ取得部１０５が体重測定部１３から体重を取得した場合、当該体型パラメータ取得部１０５は、当該取得された体重及び対象デプス画像から推定された各パラメータを含む第１体型パラエータを取得する。
【０２６１】
次に、姿勢情報算出部１０６は、骨格情報生成部１０２によって生成された第１被写体の骨格情報に基づいて当該第１被写体の姿勢情報を算出する（ステップＳ２３）。この場合、姿勢情報算出部１０６は、第１被写体の骨格情報によって示される各関節の位置から第１被写体の向きを算出する。第１被写体の向きは、例えば第１撮像部１５Ａに対して正面の向きを基準とした場合における当該第１被写体の回転角度によって示される。これにより、姿勢情報算出部１０６は、第１被写体の向き（及び骨格情報）を含む姿勢情報を算出する。なお、姿勢情報算出部１０６によって算出された姿勢情報は、例えば対象被写体画像を特定可能な情報に対応づけて記憶部１６に記憶されるものとする。この対象被写体画像を特定可能な情報としては、例えば上述した図１８に示すステップＳ６と同様の情報を用いることができる。
【０２６２】
次に、特定部１０７は、記憶部１６に記憶されている第１情報における、受付部１０４によって受け付けられた衣服ＩＤ及び衣服サイズに対応する複数の衣服画像のうち、体型パラメータ取得部１０５によって取得（推定）された第１体型パラメータとの非類似度が閾値以下の第２体型パラメータと、姿勢情報算出部１０６によって算出された姿勢情報（つまり、第１被写体の回転角度）とに対応する衣服画像を特定する（ステップＳ２４）。
【０２６３】
表示制御部１１２は、特定部１０７によって特定された衣服画像を表示部１２に表示する（ステップＳ２５）。
【０２６４】
ここで、ユーザによる入力部１４に対する衣服画像の選択指示が受付部１０４によって受け付けられたか否かが判別される（ステップＳ２６）。
【０２６５】
選択指示が受け付けられていないと判別された場合（ステップＳ２６のＮＯ）、受付部１０４は、ユーザによる入力部１４に対する操作指示に応じて、当該入力部１４から例えば上記したステップＳ２１において受け付けられた衣服サイズとは異なる衣服サイズを取得する（ステップＳ２７）。ステップＳ２７の処理が実行されると、ステップＳ２４に戻って処理が繰り返される。これにより、ステップＳ２１において受け付けられた衣服サイズをステップＳ２７において取得された衣服サイズに変更してステップＳ２４以降の処理を実行することができる。
【０２６６】
なお、ステップＳ２７においては衣服サイズが取得されるものとして説明したが、当該ステップＳ２７において衣服ＩＤ及び衣服サイズが取得されても構わない。この場合には、ステップＳ２１において受け付けられた衣服ＩＤ及び衣服サイズをステップＳ２７において取得された衣服ＩＤ及び衣服サイズに変更してステップＳ２４以降の処理を実行することができる。
【０２６７】
一方、選択指示が受け付けられたと判別された場合（ステップＳ２６のＹＥＳ）、当該選択指示された衣服画像が出力対象の衣服画像として特定される。すなわち、第１衣服画像特定処理においては、上述したステップＳ２１〜Ｓ２７の処理が実行されることによって、出力対象の衣服画像が特定される。なお、第１衣服画像特定処理によって特定される出力対象の衣服画像は、上記した姿勢情報算出部１０６によって算出された姿勢情報（第１被写体の回転角度）に対応する衣服画像（つまり、衣服が第１被写体の体にフィットした状態を示すための衣服画像）である。このように第１衣服画像特定処理（ステップＳ２１〜Ｓ２７の処理）において特定された出力対象の衣服画像を識別するための衣服ＩＤ及び衣服サイズ（つまり、ユーザによって指定された衣服ＩＤ及び衣服サイズ）は記憶部１６に記憶される。以下、記憶部１６に記憶された衣服ＩＤ及び衣服サイズは、便宜的に、指定衣服ＩＤ及び指定衣服サイズと称する。
【０２６８】
次に、調整部１０８は、対象デプス画像を調整する（ステップＳ２８）。具体的には、調整部１０８は、対象デプス画像の各画素の画素位置の座標系（第２撮像部１５Ｂの座標系）を第１撮像部１５Ａの座標系に変換する。調整部１０８は、座標変換後の対象デプス画像を構成する各画素の位置が、同じタイミングで取得された対象被写体画像（図１８に示すステップＳ１において被写体画像取得部１０１ａによって取得された被写体画像）を構成する各画素の位置に対応する位置となるように射影する。これにより、調整部１０８は、対象デプス画像の解像度を、対象被写体画像と同じ解像度に調整する。
【０２６９】
次に、調整部１０８は、対象衣服画像（ステップＳ２１〜Ｓ２７の処理が実行されることによって特定された出力対象の衣服画像）における特徴領域の大きさ、及び対象被写体画像における特徴領域の大きさの各々を算出する（ステップＳ２９）。なお、本実施形態においては、特徴領域として肩領域を用いる。このため、調整部１０８は、特徴領域の大きさとして、対象衣服画像における肩幅と対象被写体画像における肩幅との各々を算出する。
【０２７０】
調整部１０８は、算出された特徴領域の大きさ、すなわち、対象衣服画像における肩幅と対象被写体画像における肩幅とから、対象衣服画像のスケーリング値（拡大縮小率）を決定する（ステップＳ３０）。
【０２７１】
調整部１０８は、決定されたスケーリング値を用いて、対象衣服画像及び当該対象衣服画像に対応する姿勢情報に含まれる骨格情報を拡大または縮小（つまり、スケーリング）する（ステップＳ３１）。
【０２７２】
次に、調整部１０８は、拡大または縮小された後の、対象衣服画像と、対象被写体画像とから、特徴領域を抽出する。
【０２７３】
この場合、調整部１０８は、拡大または縮小された後の対象衣服画像と、対象被写体画像との各々の輪郭を抽出する（ステップＳ３２）。
【０２７４】
次に、調整部１０８は、対象衣服画像及び対象被写体画像の特徴領域として、抽出された対象衣服画像の輪郭及び対象被写体画像の輪郭の各々における肩領域を抽出する（ステップＳ３３）。ステップＳ３３の処理が実行された場合、第１衣服画像特定処理は終了される。
【０２７５】
なお、上記したステップＳ３１においては対象衣服画像及び対象被写体画像における特徴領域の大きさ（肩幅）から決定されたスケーリング値を用いて対象衣服画像を拡大または縮小するものとして説明したが、例えば対象衣服画像の輪郭及び対象被写体画像の輪郭の少なくとも一部が一致するように、対象衣服画像及び対象被写体画像の少なくとも一方が拡大または縮小されればよい。よって、例えばステップＳ３０において決定されたスケーリング値の逆数を用いて、対象被写体画像が拡大または縮小されるような構成であっても構わない。
【０２７６】
上記したように第１衣服画像特定処理においては、ステップＳ２８〜Ｓ３３の処理が実行されることによって、対象衣服画像及び対象被写体画像の少なくとも一方が拡大または縮小され、当該拡大または縮小後の対象衣服画像及び対象被写体画像から特徴領域として肩領域が抽出される。
【０２７７】
なお、衣服画像の特徴領域は、例えば第１情報において当該衣服画像に予め対応づけられていても構わない。この場合、調整部１０８が第１情報に含まれている（登録されている）衣服画像の各々について上述したステップＳ３２及びＳ３３の処理を予め実行すればよい。なお、このような構成の場合における第１衣服画像特定処理においては、ステップＳ３０において決定されたスケーリング値に基づいて出力対象の衣服画像として特定された衣服画像の特徴領域を拡大または縮小することによって、後に実行される第１位置算出処理で用いられる特徴領域を得ることができる。
【０２７８】
次に、図２０のフローチャートを参照して、上述した第１位置算出処理（図１８に示すステップＳ５の処理）の処理手順について説明する。
【０２７９】
まず、位置算出部１０９は、調整部１０８によって抽出された特徴領域としての対象衣服画像の肩領域と対象被写体画像の肩領域とを用いて、テンプレートマッチングを実行する（ステップＳ４１）。ここでは、位置算出部１０９は、テンプレートマッチングによって、調整部１０８によって調整された対象デプス画像を探索し、当該対象デプス画像（対象被写体画像）上における対象衣服画像の特徴領域（肩領域）と一致する位置を第１位置として算出する。
【０２８０】
次に、位置算出部１０９は、算出された第１位置を決定部１１０に出力する（ステップＳ４２）。
【０２８１】
ステップＳ４２の処理が実行されると、第１位置算出処理は終了される。なお、位置算出部１０９によって算出された第１位置は、上述したように記憶部１６に記憶される。
【０２８２】
次に、図２１のフローチャートを参照して、上述した第２位置算出処理（図１８に示すステップ７及びＳ１３の処理）の処理手順について説明する。
【０２８３】
まず、位置算出部１０９は、対象衣服画像の特徴領域に応じて定められる当該対象衣服画像の特徴点の位置を算出する。ここで、対象衣服画像の特徴領域が上述したように肩領域であるものとすると、位置算出部１０９は、対象衣服画像の特徴点として、当該対象衣服画像における第２被写体（が着用している衣服）の両肩間の中心位置を算出する（ステップＳ５１）。この場合、位置算出部１０９は、対象衣服画像に対応する姿勢情報に含まれる骨格情報（上述した第１衣服画像特定処理において拡大または縮小された骨格情報）から、例えば第２被写体の両肩間の中心位置を算出する。
【０２８４】
同様に、位置算出部１０９は、対象被写体画像の特徴領域に応じて定められる当該対象被写体画像の特徴点の位置を算出する。ここで、対象被写体画像の特徴領域が上述したように肩領域であるものとすると、位置算出部１０９は、対象被写体画像の特徴点として、当該対象被写体画像における第１被写体の両肩間の中心位置を算出する（ステップＳ５２）。この場合、位置算出部１０９は、図１８に示すステップＳ２において骨格情報生成部１０２によって生成された第１被写体の骨格情報から、当該第１被写体の両肩間の中心位置を算出する。
【０２８５】
次に、位置算出部１０９は、ステップＳ５１において算出された中心位置と、ステップＳ５２において算出された中心位置とが一致するように第２位置を算出する（ステップＳ５３）。本実施形態においては、位置算出部１０９は、ステップＳ５２において算出された対象被写体画像における第１被写体の両肩間の中心位置を第２位置として算出する。
【０２８６】
ステップＳ５３の処理が実行されると、第２位置算出処理は終了される。なお、位置算出部１０９によって算出された第２位置は、上述したように記憶部１６に記憶される。
【０２８７】
ここで、図２２を参照して、上述した図１８に示すステップＳ３において第１条件を満たすと判別された場合における合成画像の生成について説明する。
【０２８８】
ここでは、出力対象の衣服画像（対象衣服画像）が図２２に示す衣服画像１２０１であり、第１被写体のデプス画像（対象デプス画像）が図２２に示すデプス画像１３０１であるものとする。
【０２８９】
この場合、図２２に示すように、調整部１０８による調整処理によって、衣服画像１２０１から輪郭１２０２が抽出される（ステップＳ６１）。更に、調整部１０８による調整処理によって、特徴領域として肩領域１２０３が抽出される（ステップＳ６２）。
【０２９０】
同様に、図２２に示すように、調整部１０８による調整処理によって、デプス画像１３０１から輪郭１３０２が抽出される（ステップＳ６３）。更に、調整部１０８による調整処理によって、特徴領域として肩領域１３０３が抽出される（ステップＳ６４）。
【０２９１】
次に、衣服画像の肩領域１２０３とデプス画像（被写体画像）の肩領域１３０３とを用いたテンプレートマッチングが行われる（ステップＳ６５）。これにより、上述した第１位置を算出する。ここでは、この第１位置が重畳位置として決定される。
【０２９２】
この場合、第１被写体の被写体画像（対象被写体画像）上の重畳位置（第１位置）に、衣服画像１２０１が重畳される。これにより、合成画像Ｗが生成される（ステップＳ６６）。
【０２９３】
すなわち、上述した図１８に示すステップＳ３において第１条件を満たすと判別された場合には、衣服が第１被写体の体にフィットした状態を示す合成画像Ｗをユーザに提示（表示）することができる。
【０２９４】
ここで、図２３は、合成画像Ｗの一例を示す図である。上述したように合成画像Ｗは、被写体画像（に含まれる第１被写体Ｐ）上に、衣服画像１２０１が重畳された画像である。なお、この衣服画像１２０１は、受付部１０４によって受け付けられた衣服ＩＤによって識別される衣服を、第１被写体の体型に一致または類似する体型の第２被写体が着用した状態を示す衣服画像である。このため、本実施形態においては、図２３に示すように、第１被写体の体型に応じた試着状態を示す合成画像Ｗをユーザに対して提示することができる。
【０２９５】
次に、上述した第２衣服画像特定処理（図１８に示すステップＳ１２の処理）について説明する。なお、第２衣服画像特定処理の処理手順は、上述したように画像処理システム１０において設定されている動作モードに応じて異なる。以下、画像処理システム１０の動作モードとして追従モードが設定されている場合及び姿見モードが設定されている場合についてそれぞれ説明する。ここでは、上述した第１衣服画像特定処理が実行された後にユーザが撮像領域内で体を回転させた場合を想定している。
【０２９６】
まず、図２４のフローチャートを参照して、画像処理システム１０の動作モードとして追従モードが設定されている場合の第２衣服画像特定処理の処理手順について説明する。
【０２９７】
追従モードが設定されている場合の第２衣服画像特定処理においては、前述した図１９に示すステップＳ２２及びＳ２３の処理に相当するステップＳ７１及びＳ７２が実行される。
【０２９８】
次に、特定部１０７は、記憶部１６に記憶されている第１情報における、前に実行された第１衣服画像特定処理において受付部１０４によって受け付けられた衣服ＩＤ及び衣服サイズ（つまり、記憶部１６に記憶されている指定衣服ＩＤ及び指定衣服サイズ）に対応する複数の衣服画像のうち、ステップＳ７１において取得（推定）された第１体型パラメータとの非類似度が閾値以下の第２体型パラメータと、ステップＳ７２において算出された姿勢情報（つまり、第１被写体の回転角度）とに対応する衣服画像を出力対象の衣服画像として特定する（ステップＳ７３）。
【０２９９】
なお、図２４においては省略されているが、前述した図１９に示すステップＳ２５〜Ｓ２７の処理に相当する処理が更に実行されることによって指定衣服サイズ等が変更されても構わない。
【０３００】
次に、前述した図１９に示すステップＳ２８〜Ｓ３１の処理に相当するステップＳ７４〜Ｓ７７の処理が実行されて、第２衣服画像特定処理は終了される。
【０３０１】
なお、ステップＳ７７において拡大または縮小された骨格情報は、第２衣服画像特定処理の後に実行される第２位置算出処理において用いられる。この第２位置算出処理は、上述した図２１において説明した通りであるため、その詳しい説明を省略する。
【０３０２】
上記したように画像処理システム１０において追従モードが設定された状態で、例えば第１衣服画像特定処理が実行された後に第１被写体が撮像領域内で体を回転させたような場合には、図２４に示す第２衣服画像特定処理が実行されることによって、第１被写体が体を回転させた後の回転角度に対応する衣服画像（衣服がユーザの体にフィットした状態を示すための衣服画像）が特定される。
【０３０３】
次に、図２５のフローチャートを参照して、画像処理システム１０の動作モードとして姿見モードが設定されている場合の第２衣服画像特定処理の処理手順について説明する。
【０３０４】
姿見モードが設定されている場合の第２衣服画像特定処理においては、前述した図１９に示すステップＳ２１及びＳ２２（図２４に示すステップＳ７１及びＳ７２）の処理に相当するステップＳ８１及びＳ８２の処理が実行される。
【０３０５】
次に、特定部１０７は、今回算出された姿勢情報（つまり、ステップＳ８２において算出された姿勢情報）及び前回算出された姿勢情報（つまり、前回の第１または第２衣服画像特定処理において記憶部１６に記憶された姿勢情報）に基づいて第１被写体の回転速度を算出する（ステップＳ８３）。
【０３０６】
この場合、特定部１０７は、今回算出された姿勢情報に含まれる第１被写体の回転角度（第１の回転角度）及び前回算出された姿勢情報に含まれる第１被写体の回転角度（第３の回転角度）の変化量に基づいて第１被写体の回転速度を算出する。
【０３０７】
ここで、前回算出された姿勢情報に含まれる第１被写体の回転角度（以下、前回の回転角度と表記）は、前回の図１８に示す処理において取得された被写体画像（つまり、今回の図１８に示す処理において取得された被写体画像よりも前に取得された被写体画像）等に基づいて算出された第１被写体の回転角度である。一方、今回算出された姿勢情報に含まれる第１被写体の回転角度（以下、今回の回転角度と表記）は、今回の図１８に示す処理において取得された被写体画像等に基づいて算出された第１被写体の回転角度である。
【０３０８】
この場合、特定部１０７は、例えば今回の回転角度及び前回の回転角度の差分を被写体画像の取得間隔（すなわち、撮像部によって第１被写体が撮像される間隔）で除算することによって第１被写体の回転速度を算出する。
【０３０９】
次に、特定部１０７は、今回の回転角度及び算出された回転速度に基づいて、当該今回の回転角度とは異なる回転角度（第２の回転角度）を算出する（ステップＳ８４）。このステップＳ８４において算出される回転角度は、後述する出力対象の衣服画像を特定するために用いられる。以下、ステップＳ８４において算出される回転角度を、便宜的に、姿見用の回転角度と称する。
【０３１０】
ここで、ステップＳ８４における算出処理について具体的に説明する。ここでは、姿見用の回転角度として、今回の回転角度よりも大きい回転角度が算出される場合について説明する。
【０３１１】
この場合、特定部１０７は、今回の回転角度（つまり、実際の第１被写体の向き）に応じて一意に定まる、少なくとも当該今回の回転角度以下とはならない値（以下、基準値と表記）を算出する。この基準値は、例えばシグモイド関数を用いて算出することが可能であるが、他の関数等を用いて算出されても構わない。
【０３１２】
次に、特定部１０７は、算出された回転速度に応じたオフセット値を所定の関数等に基づいて決定する。具体的には、例えば算出された回転速度が大きな値であるほど、オフセット値としては大きな値が決定されるものとする。特定部１０７は、このように決定されたオフセット値を基準値に加算することによって姿見用の回転角度を算出する。
【０３１３】
特定部１０７は、このような処理を実行することによって、今回の回転角度より大きい姿見用の回転角度を算出することができる。
【０３１４】
上記したステップＳ８５において姿見用の回転角度が算出されると、特定部１０７は、記憶部１６に記憶されている第１情報における、前に実行された第１衣服画像特定処理において受付部１０４によって受け付けられた衣服ＩＤ及び衣服サイズ（つまり、記憶部１６に記憶されている指定衣服ＩＤ及び指定衣服サイズ）に対応する複数の衣服画像のうち、ステップＳ８１において取得（推定）された第１体型パラメータとの非類似度が閾値以下の第２体型パラメータと、ステップＳ８４において算出された姿見用の回転角度とに対応する衣服画像を出力対象の衣服画像として特定する（ステップＳ８５）。
【０３１５】
なお、図２５においては省略されているが、前述した図１９に示すステップＳ２５〜Ｓ２７の処理に相当する処理が更に実行されることによって指定衣服サイズ等が変更されても構わない。
【０３１６】
次に、前述した図１９に示すステップＳ２８〜Ｓ３１（図２４に示すステップＳ７４〜Ｓ７７）の処理に相当するステップＳ８６〜Ｓ８９の処理が実行されて、第２の衣服画像特定処理は終了される。
【０３１７】
なお、ステップＳ８９において拡大または縮小された骨格情報は、第２衣服画像特定処理の後に実行される第２位置算出処理において用いられる。この第２位置算出処理は、上述した図２１において説明した通りであるため、その詳しい説明を省略する。
【０３１８】
上記したように画像処理システム１０において姿見モードが設定された状態で、例えば第１衣服画像特定処理が実行された後に第１被写体が撮像領域内で体を回転させたような場合には、図２５に示す第２衣服画像特定処理が実行されることによって、第１被写体が体を回転させた後の回転角度よりも大きい姿見用の回転角度に対応する衣服画像（つまり、実際の第１被写体の体の回転よりも回転した衣服の状態を示すための衣服画像）が特定される。
【０３１９】
なお、図２５に示す第２の衣服画像特定処理においては、ステップＳ８３において第１被写体の回転速度を算出し、今回の回転角度及び当該算出された回転速度に基づいて姿見用の回転角度を算出するものとして説明したが、例えばステップＳ８３の処理を省略し、姿見用の回転角度が今回の回転角度のみから算出されるような構成であっても構わない。この場合には、上述した例えばシグモイド関数等を用いて算出される基準値を姿見用の回転角度として利用すればよい。なお、姿見用の回転角度の算出において、回転速度（つまり、オフセット値）を利用する否かについては、適宜設定により変更可能であるものとする。
【０３２０】
また、ここでは今回の回転角度より大きい姿見用の回転角度が算出されるものとして説明したが、例えば今回の回転角度が予め定められた値（所定角度）を超えている場合には予め定められている回転角度を姿見用の回転角度として算出するような構成とすることも可能である。なお、この場合において姿見用の回転角度として算出される回転角度は、ユーザが確認したい所望の角度となるように適宜設定可能であるものとする。
【０３２１】
ここで、上述した図１８に示すステップＳ３において第１条件を満たさないと判別された場合であって、画像処理システム１０において追従モードが設定されている場合に提示される合成画像及び姿見モードが設定されている場合において提示される合成画像について説明する。ここでは、上述した図２３に示す合成画像Ｗが提示された後に、第１被写体Ｐが体を右回りで回転した場合について説明する。
【０３２２】
まず、図２６は、追従モードが設定されている場合に提示される合成画像Ｗ１の一例を示す。図２６に示す合成画像Ｗ１は、第１被写体Ｐの体が例えば右回りに８０度程度回転した向きを向いている被写体画像上に、衣服画像１４００が重畳された画像である。
【０３２３】
ここで、図２７は、追従モードが設定されている場合における、被写体画像における第１被写体Ｐの回転角度と当該被写体画像に重畳される衣服画像に対応する回転角度（つまり、表示する衣服の回転角度）との対応関係の一例を表している。図２７に示すように、本実施形態において追従モードが設定されている場合、表示する衣服の回転角度は、第１被写体Ｐの体の回転角度と一致する。
【０３２４】
これにより、本実施形態において追従モードが設定されている状態において第１被写体Ｐが体を回転させた場合には、図２６に示すように、衣服が第１被写体Ｐの体にフィットした状態を示す（つまり、第１被写体Ｐの体の回転角度と衣服の回転角度とが一致した）合成画像Ｗ１を提示することができる。
【０３２５】
一方、図２８は、姿見モードが設定されている場合に提示される合成画像Ｗ２の一例を示す。図２８に示す合成画像Ｗ２は、上記した図２６の場合と同様に、第１被写体Ｐの体が例えば右回りに８０度程度回転した向きを向いている被写体画像上に、衣服画像１５００が重畳された画像である。
【０３２６】
ここで、図２９は、姿見モードが設定されている場合における、被写体画像における第１被写体Ｐの回転角度と当該被写体画像に重畳される衣服画像に対応する回転角度（つまり、表示する衣服の回転角度）との対応関係の一例を表している。図２９に示す表示する衣服の回転角度は、対応する第１被写体Ｐの回転角度を用いて算出された姿見用の回転角度であるが、図２９においては便宜的に上述したシグモイド関数等を用いて当該第１被写体Ｐの回転角度から算出される基準値を姿見用の回転角度としている。この場合、図２９に示すように、表示する衣服の回転角度は、少なくとも対応する第１被写体Ｐの回転角度以下とはならない値となっている。なお、図２９に示す表示する衣服の回転角度に対して上述したオフセット値を加算した値を姿見用の回転角度としても構わない。
【０３２７】
これにより、本実施形態において姿見モードが設定されている状態において第１被写体Ｐが体を回転させた場合には、図２８に示すように、追従モードの場合と比較して衣服が第１被写体Ｐの体にフィットしないものの、衣服を着用した後ろ姿等の状態を簡易的に示すような合成画像Ｗ２を提示することができる。
【０３２８】
なお、図２９は上述したシグモイド関数を用いて算出された姿見用の回転角度（基準値）を示しているが、例えば図３０及び図３１に示すように、上述した第１被写体Ｐの回転角度が所定角度（第１所定角度）を超えた場合には、所定角度（第２所定角度）を姿見用の回転角度（つまり、表示する衣服の回転角度）とするような構成であってもよい。図３０は、第１被写体Ｐの体が６０度（または−６０度）以上回転した向きを向いている場合には、表示する衣服の回転角度を６０度（または−６０度）とする例が表している。また、図３１は、第１被写体Ｐの体が６０度（または−６０度）以上回転した向きを向いている場合には、表示する衣服の回転角度を８０度（または−８０度）とする例を表している。
【０３２９】
上記したように本実施形態においては、第１被写体の回転角度及び当該第１被写体の回転速度に基づいて当該第１被写体の回転角度とは異なる姿見用の回転角度を算出し、記憶部１６に記憶されている複数の衣服画像のうち、当該姿見用の回転角度に対応する衣服画像を特定し、被写体画像上に当該特定された衣服画像を重畳した合成画像を生成する。この場合における姿見用の回転角度は、例えば第１被写体の回転角度に応じて一意に定まる、少なくとも当該回転角度以下とはならない基準値に対して、第１被写体の回転速度に応じたオフセット値を加算することによって算出される。
【０３３０】
すなわち、本実施形態においては、第１被写体の体の回転角度に対して、当該回転角度及び回転速度に応じて重み付けした回転角度に対応する衣服画像を重畳した合成画像を生成することによって、当該第１被写体の体の実際の回転角度が小さい場合であっても回転角度の大きい衣服画像を表示することができる。本実施形態においては、このような構成により、衣服を仮想試着した後ろ姿等の状態をユーザ（第１被写体）は少ない負担で確認することができるため、仮想試着時のユーザの負担を軽減し、ユーザビリティを向上させることが可能となる。
【０３３１】
また、第１被写体が体を回転させた状態で表示部１２を参照すると当該体が動いてしまう場合があり、その都度表示される衣服の回転角度が変化してしまう場合がある。また、第１被写体が体を回転させることによって所望の角度からの衣服（画像）を確認する場合には、当該所望の角度の衣服が表示されるように当該第１被写体の体の回転（角度）を調整する必要がある。これに対して、本実施形態においては、例えば上述した図３０に示すように第１被写体の回転角度が所定角度（例えば、６０度）を超えている場合には姿見用の回転角度を当該所定角度（例えば、６０度）とする構成とした場合には、第１被写体は体の回転（角度）の微調整を行うことなく所望の角度の衣服画像を表示することが可能となるため、仮想試着時のユーザの負担を軽減することが可能となる。同様に、例えば上述した図３１に示すように第１被写体の回転角度が所定角度（例えば、６０度）を超えている場合には姿見用の回転角度を当該所定角度より大きい所定角度（例えば、８０度）とするような構成とした場合には、例えば第１被写体は少ない回転であっても所望の角度の衣服画像を表示することが可能となるため、仮想試着時のユーザの負担を軽減することが可能となる。
【０３３２】
また、本実施形態においては、追従モードが設定されている場合には第１被写体の実際の回転角度に対応する衣服画像を出力対象の衣服画像として特定し、姿見モードが設定されている場合には上記した姿見用の回転角度に対応する衣服画像を出力対象の衣服画像として特定する。更に、本実施形態においては、ユーザの指示に応じて追従モード及び姿見モードを切り替えることが可能である。本実施形態においては、このような構成により、ユーザが例えば衣服が第１被写体の体にフィットした状態を確認したいような場合には追従モードを設定し、一方、例えば衣服の全体的な雰囲気等を確認したいような場合には姿見モードを設定することができるため、ユーザの意図に応じた合成画像を提示することが可能となる。
【０３３３】
また、本実施形態においては、１または複数の衣服サイズの各々に対応する衣服を第１被写体の体型と一致または類似する体型の第２被写体が着用した状態の衣服画像を出力対象の衣服画像として特定し、当該衣服画像と第１被写体の被写体画像との合成画像を生成する。このため、本実施形態によれば、第１被写体の体型に応じた試着状態を提供することが可能となる。
【０３３４】
なお、本実施形態に係る画像処理装置１００は、例えば画像処理システム１０（画像処理装置１００）において設定されている動作モード（追従モードまたは姿見モード）をユーザ（第１被写体）に通知するための機能を有していてもよい。具体的には、合成画像生成部１１１が合成画像を生成する際に、被写体画像に重畳される衣服画像（特定部１０７によって特定された出力対象の衣服画像）に対して追従モードまたは姿見モードが設定されていることを通知するための加工を施すようにしてもよい。これによれば、設定されている動作モードに応じて衣服画像に対して異なる加工を施すことによって、追従モード及び姿見モードのいずれが設定されているかをユーザに対して通知することが可能となる。衣服画像に対して施される加工としては、例えば当該衣服画像の輪郭に対して施される画像エフェクト、または当該衣服画像に対して付加されるアニメーション等が含まれる。なお、例えば表示部１２の所定の領域において、設定されている動作モードを表す文字列またはマーク等を表示することによって、当該設定されている動作モードを通知するような構成としても構わない。
【０３３５】
また、本実施形態においては、前述した図１８に示すステップＳ３において第１条件を満たさないと判別された場合に、画像処理システム１０において設定されている動作モードに応じて異なる第２衣服画像特定処理が実行される。これに対して、図１８に示すステップＳ３において第１条件を満たすと判別された場合には、設定されている動作モードにかかわらず図１９に示す第１衣服画像特定処理が実行されるものとして説明したが、当該第１衣服画像特定処理においても当該設定されている動作モードに応じて異なる処理が実行されても構わない。具体的には、追従モードが設定されている場合には図１９において説明したように第１衣服画像特定処理において第１被写体の実際の回転角度に対応する衣服画像を出力対象の衣服画像として特定し、姿見モードが設定されている場合には当該第１衣服画像特定処理において第１被写体の実際の回転角度等から上述した姿見用の回転角度を算出して、当該姿見用の回転角度に対応する衣服画像を出力対象の衣服画像として特定するような構成とすることも可能である。
【０３３６】
また、本実施形態においては、受付部１０４が試着対象の衣服を識別するための衣服ＩＤとして１つの衣服ＩＤを受け付ける場合を想定して説明したが、当該受付部１０４は、試着対象の衣服を識別するための衣服ＩＤとして複数の衣服ＩＤを受け付けても構わない。具体的には、例えば第１被写体が複数の衣服を組み合わせて試着したいような場合には、受付部１０４は、ユーザによる入力部１４に対する操作指示に応じて複数の衣服ＩＤを受け付けることができる。このように複数の衣服ＩＤが受付部１０４によって受け付けられた場合には、当該複数のＩＤの各々について上述した処理が実行されればよい。
【０３３７】
なお、この場合には、画像処理装置１００において次の処理が実行されてもよい。すなわち、特定部１０７は、まず、受付部１０４によって受け付けられた複数の衣服ＩＤのうちの１つについて、当該衣服ＩＤに対応する出力対象の衣服画像を特定する。そして、特定部１０７は、受け付けられた複数の衣服ＩＤのうちの他の衣服ＩＤについては、当該他の衣服ＩＤの各々に対応する複数の衣服画像のうち、特定済みの衣服画像のモデルＩＤに対応する衣服画像を、合成対象として特定すればよい。
【０３３８】
なお、前述した図１９に示す第１衣服画像特定処理においては、受付部１０４が衣服ＩＤ及び衣服サイズを入力部１４からから受け付けるものとして説明したが、当該受付部１０４は、衣服ＩＤを受け付け、衣服サイズについては入力部１４から受け付けない構成であってもよい。
【０３３９】
この場合、特定部１０７は、衣服ＩＤに対応する全ての衣服サイズの各々について、第１体型パラメータとの非類似度が閾値以下の第２体型パラメータに対応する衣服画像を特定すればよい。
【０３４０】
なお、本実施形態に係る画像処理装置１００の適用範囲は限定されない。すなわち、画像処理装置１００は、例えば店舗等に設置された機器に搭載されていてもよいし、携帯端末、パーソナルコンピュータ（ＰＣ）、テレビ等の電子機器に内蔵されていてもよい。また、画像処理装置１００は、電子黒板システム（サイネージシステム）に適用されても構わない。画像処理装置１００が店舗等に設置されて機器に搭載される場合、当該画像処理装置１００を含む画像処理システム１０は、例えば図１に示すような態様で実現されればよい。一方、画像処理装置１００が電子機器に内蔵された構成とする場合、画像処理システム１０は、例えば図２に示すような態様で実現されればよい。
【０３４１】
以下、図３２を参照して、本実施形態における画像処理システム１０の模式的なシステム構成について説明する。
【０３４２】
画像処理システム１０は、例えば記憶装置１０Ａと処理装置１０Ｂとが通信回線１０Ｃを介して接続されている。記憶装置１０Ａは、前述した図２に示す記憶部１６を備えた装置であり、例えばパーソナルコンピュータ等を含む。処理装置１０Ｂは、前述した図１及び図２に示す画像処理装置１００、表示部１２、入力部１４及び撮像部１５（第１撮像部１５Ａ及び第２撮像部１５Ｂ）を備えた装置である。なお、前述した図１及び図２と同様の部分については同一参照符号を付してその詳しい説明を省略する。通信回線１０Ｃは、例えばインターネット等の通信回線であり、有線通信回線及び無線通信回線を含む。
【０３４３】
図３２に示すように、記憶部１６を、通信回線を介して処理装置１０Ｂに接続された記憶装置１０Ａに設けた構成とすることにより、複数の処理装置１０Ｂから同じ記憶Ｂ１６にアクセスすることが可能となる。これにより、記憶部１６に記憶されているデータの一元管理が可能となる。
【０３４４】
なお、処理装置１０Ｂは、任意の箇所に設置可能である。具体的には、処理装置１０Ｂは、ユーザが合成画像を視認する場所、例えば店舗等に設置してもよい。また、処理装置１０Ｂの各機能は、携帯端末等に搭載されてもよい。
【０３４５】
次に、図３３を参照して、本実施形態に係る画像処理装置１００のハードウェア構成について説明する。図３３は、本実施形態に係る画像処理装置１００のハードウェア構成の一例を示すブロック図である。
【０３４６】
図３３に示すように、画像処理装置１００においては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１６０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１６０３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１６０４、通信Ｉ／Ｆ部１６０５、提示部１６０６、入力部１６０７及び撮像部１６０８等がバス１６０９により相互に接続されている。すなわち、画像処理装置１００は、通常のコンピュータを利用したハードウェア構成を有する。
【０３４７】
ＣＰＵ１６０１は、画像処理装置１００の全体の処理を制御する演算装置である。ＲＡＭ１６０２は、ＣＰＵ１６０１による各種処理に必要なデータを記憶する。ＲＯＭ１６０３は、ＣＰＵ１６０１による各種処理を実現するプログラム等を記憶する。ＨＤＤ１６０４は、上述した記憶部１６に記憶されるデータを格納する。通信Ｉ／Ｆ部１６０５は、外部装置または外部端末に通信回線等を介して接続し、接続された外部装置または外部端末との間でデータを送受信するためのインタフェースである。提示部１６０６は、上述した表示部１２に相当する。入力部１６０７は、上述した入力部１４に相当する。撮像部１６０８は、上述した撮像部１５に相当する。
【０３４８】
なお、本実施形態に係る画像処理装置１００において実行される上記各種処理を実行するためのプログラムは、ＲＯＭ１６０３等に予め組み込んで提供される。また、このプログラムは、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。更に、このプログラムは、例えばネットワークを介して画像処理装置１００にダウンロードされても構わない。
【０３４９】
なお、上記したＨＤＤ１６０４に格納されている各種情報、すなわち、記憶部１６に記憶されている各種情報は、外部装置（例えば、サーバ装置）等に格納されていてもよい。この場合には、外部装置とＣＰＵ１６０１とがネットワーク等を介して接続された構成とすればよい。
【０３５０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。  
【符号の説明】
【０３５１】
１０…画像処理システム、１１…筐体、１２…表示部、１３…体重測定部、１４…入力部、１５…撮像部、１５Ａ…第１撮像部、１５Ｂ…第２撮像部、１６…記憶部、１００…画像処理装置、１０１…画像取得部、１０１ａ…被写体画像取得部、１０１ｂ…デプス画像取得部、１０２…骨格情報生成部、１０３…判別部、１０４…受付部、１０５…体型パラメータ取得部、１０６…姿勢情報算出部、１０７…特定部、１０８…調整部、１０９…位置算出部、１１０…決定部、１１１…合成画像生成部、１１２…表示制御部、１１３…更新部
【図１】
2016054450.tif 000003
【図２】
2016054450.tif 000004
【図３】
2016054450.tif 000005
【図４】
2016054450.tif 000006
【図５】
2016054450.tif 000007
【図６】
2016054450.tif 000008
【図７】
2016054450.tif 000009
【図８】
2016054450.tif 000010
【図９】
2016054450.tif 000011
【図１０】
2016054450.tif 000012
【図１１】
2016054450.tif 000013
【図１２】
2016054450.tif 000014
【図１３】
2016054450.tif 000015
【図１４】
2016054450.tif 000016
【図１５】
2016054450.tif 000017
【図１６】
2016054450.tif 000018
【図１７】
2016054450.tif 000019
【図１８】
2016054450.tif 000020
【図１９】
2016054450.tif 000021
【図２０】
2016054450.tif 000022
【図２１】
2016054450.tif 000023
【図２２】
2016054450.tif 000024
【図２３】
2016054450.tif 000025
【図２４】
2016054450.tif 000026
【図２５】
2016054450.tif 000027
【図２６】
2016054450.tif 000028
【図２７】
2016054450.tif 000029
【図２８】
2016054450.tif 000030
【図２９】
2016054450.tif 000031
【図３０】
2016054450.tif 000032
【図３１】
2016054450.tif 000033
【図３２】
2016054450.tif 000034
【図３３】
2016054450.tif 000035