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