(57)【特許請求の範囲】
【請求項１】
撮像部によって撮像された被写体の画像である被写体画像を取得する被写体画像取得手段と、
前記被写体により着用された衣服の画像である第１衣服画像を取得する第１衣服画像取得手段と、
前記取得された第１衣服画像を構成する複数の画素のうち、所定の箇所の画素の透過度を調整して、当該第１衣服画像とは異なる第２衣服画像を生成する第２衣服画像生成手段と、
前記被写体の骨格を示す骨格情報を取得する骨格情報取得手段と
を具備し、
前記第２衣服画像生成手段は、
前記取得された骨格情報に基づいて、予め決められた基準部位に相当する位置の画素を特定し、
前記特定された基準部位に相当する位置の画素から所定のピクセル離れて位置する前記所定の箇所の画素を特定し、
前記所定の箇所の画素の輝度と前記所定の箇所の画素の周囲に位置する画素の輝度との差が予め決められた閾値を超えているかどうかを判定し、
前記閾値を超えていると判定された場合、前記所定の箇所の画素の透過度を現在値より小さくなるように調整して、前記第２衣服画像を生成する、画像処理装置。
【請求項２】
前記第２衣服画像生成手段は、
前記取得された第１衣服画像に含まれる衣服の襟首周りの透過度を調整するための基準部位として、首、肩及び顔のうちの少なくとも１つの位置を特定し、当該衣服の袖周りの透過度を調整するための基準部位として、手の位置を特定し、当該衣服の裾周りの透過度を調整するための基準部位として、腰及び太腿のうちの少なくとも１つの位置を特定する請求項１に記載の画像処理装置。
【請求項３】
撮像部によって撮像された被写体の画像である被写体画像を取得する被写体画像取得手段と、
前記被写体により着用された衣服の画像である第１衣服画像を取得する第１衣服画像取得手段と、
前記取得された第１衣服画像を構成する複数の画素のうち、所定の箇所の画素を含んで構成される柄と、前記所定の箇所の画素近辺に位置する画素を含んで構成される柄との違いに応じて、前記所定の箇所の画素の透過度を調整して、当該第１衣服画像とは異なる第２衣服画像を生成する第２衣服画像生成手段と
を具備する画像処理装置。
【請求項４】
画像処理装置と、当該画像処理装置と通信可能に接続された外部機器とを含む画像処理システムであって、
前記画像処理装置は、
撮像部によって撮像された被写体の画像である被写体画像を取得する被写体画像取得手段と、
前記被写体により着用された衣服の画像である第１衣服画像を取得する第１衣服画像取得手段と、
前記取得された第１衣服画像を構成する複数の画素のうち、所定の箇所の画素の透過度を調整して、当該第１衣服画像とは異なる第２衣服画像を生成する第２衣服画像生成手段と、
前記被写体の骨格を示す骨格情報を取得する骨格情報取得手段と
を具備し、
前記外部機器は、
前記画像処理装置によって生成された第２衣服画像を、前記撮像部によって撮像された被写体画像に対応付けて記憶する記憶手段
を具備し、
前記第２衣服画像生成手段は、
前記取得された骨格情報に基づいて、予め決められた基準部位に相当する位置の画素を特定し、
前記特定された基準部位に相当する位置の画素から所定のピクセル離れて位置する前記所定の箇所の画素を特定し、
前記所定の箇所の画素の輝度と前記所定の箇所の画素の周囲に位置する画素の輝度との差が予め決められた閾値を超えているかどうかを判定し、
前記閾値を超えていると判定された場合、前記所定の箇所の画素の透過度を現在値より小さくなるように調整して、前記第２衣服画像を生成する、画像処理システム。
【請求項５】
画像処理装置によって実行される画像処理方法であって、
撮像部によって撮像された被写体の画像である被写体画像を取得する被写体画像取得ステップと、
前記被写体により着用された衣服の画像である第１衣服画像を取得する第１衣服画像取得ステップと、
前記取得された第１衣服画像を構成する複数の画素のうち、所定の箇所の画素の透過度を調整して、当該第１衣服画像とは異なる第２衣服画像を生成する第２衣服画像生成ステップと、
前記被写体の骨格を示す骨格情報を取得する骨格情報取得ステップと
を具備し、
前記第２衣服画像生成ステップは、
前記取得された骨格情報に基づいて、予め決められた基準部位に相当する位置の画素を特定し、
前記特定された基準部位に相当する位置の画素から所定のピクセル離れて位置する前記所定の箇所の画素を特定し、
前記所定の箇所の画素の輝度と前記所定の箇所の画素の周囲に位置する画素の輝度との差が予め決められた閾値を超えているかどうかを判定し、
前記閾値を超えていると判定された場合、前記所定の箇所の画素の透過度を現在値より小さくなるように調整して、前記第２衣服画像を生成することを含む、画像処理方法。
【請求項６】
コンピュータによって実行されるプログラムであって、
前記コンピュータに、
撮像部によって撮像された被写体の画像である被写体画像を取得する被写体画像取得ステップと、
前記被写体により着用された衣服の画像である第１衣服画像を取得する第１衣服画像取得ステップと、
前記取得された第１衣服画像を構成する複数の画素のうち、所定の箇所の画素の透過度を調整して、当該第１衣服画像とは異なる第２衣服画像を生成する第２衣服画像生成ステップと、
前記被写体の骨格を示す骨格情報を取得する骨格情報取得ステップと
を実行させ、
前記第２衣服画像生成ステップは、
前記取得された骨格情報に基づいて、予め決められた基準部位に相当する位置の画素を特定し、
前記特定された基準部位に相当する位置の画素から所定のピクセル離れて位置する前記所定の箇所の画素を特定し、
前記所定の箇所の画素の輝度と前記所定の箇所の画素の周囲に位置する画素の輝度との差が予め決められた閾値を超えているかどうかを判定し、
前記閾値を超えていると判定された場合、前記所定の箇所の画素の透過度を現在値より小さくなるように調整して、前記第２衣服画像を生成することを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置、画像処理システム、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年では、例えばユーザが試着対象の衣服を仮想的に試着すること（以下、仮想試着と表記）が可能な技術が開発されている。
【０００３】
この技術によれば、例えばユーザと対面した位置に設けられた表示部に、撮像部によって撮像されたユーザ（被写体）を含む画像上に衣服の画像を重畳した合成画像を表示することができるため、ユーザは、実際に試着を行うことなく当該ユーザの好みの衣服を選定することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−０７１５０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来においては、予め撮像した衣服の画像を、ユーザを含む画像上にそのまま重畳していたため、自然な見え方の試着状態をユーザに提示することが困難であるという不都合がある。
【０００６】
そこで、本発明が解決しようとする課題は、仮想試着時に自然な見え方の試着状態をユーザに提示可能な画像処理装置、画像処理システム、画像処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
実施形態によれば、画像処理装置は、被写体画像取得手段、第１衣服画像取得手段、第２衣服画像生成手段及び骨格情報取得手段を備えている。前記被写体画像取得手段は、撮像部によって撮像された被写体の画像である被写体画像を取得する。前記第１衣服画像取得手段は、前記被写体により着用された衣服の画像である第１衣服画像を取得する。前記第２衣服画像生成手段は、前記取得された第１衣服画像を構成する複数の画素のうち、所定の箇所の画素の透過度を調整して、当該第１衣服画像とは異なる第２衣服画像を生成する。前記骨格情報取得手段は、前記被写体の骨格を示す骨格情報を取得する。前記第２衣服画像生成手段は、前記取得された骨格情報に基づいて、予め決められた基準部位に相当する位置の画素を特定し、前記特定された基準部位に相当する位置の画素から所定のピクセル離れて位置する前記所定の箇所の画素を特定し、前記所定の箇所の画素の輝度と前記所定の箇所の画素の周囲に位置する画素の輝度との差が予め決められた閾値を超えているかどうかを判定し、前記閾値を超えていると判定された場合、前記所定の箇所の画素の透過度を現在値より小さくなるように調整して、前記第２衣服画像を生成する。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る画像処理システムの機能構成を示すブロック図。
【図２】同実施形態に係る衣服ＤＢのデータ構造の一例を示す図
【図３】同実施形態に係る基準位置情報の一例を示す図。
【図４】同実施形態に係る第１衣服画像の一例を示す図。
【図５】同実施形態に係る第２衣服画像を説明するための図。
【図６】同実施形態に係る第１編集値算出部によって実行される処理の手順の一例を示すフローチャート。
【図７】同実施形態において透過度を変更する前と変更した後の違いを説明するための図。
【図８】同実施形態において拡大縮小率の算出を説明するための図。
【図９】同実施形態において変形率の算出を説明するための図。
【図１０】同実施形態に係る第２衣服画像の一例を示す図。
【図１１】同実施形態における回転角度を説明するための図。
【図１２】同実施形態に係る画像処理装置によって実行される処理の手順の一例を示すフローチャート。
【図１３】同実施形態において第１衣服画像を被写体画像に合成した場合と、第２衣服画像を被写体画像に合成した場合との違いを説明するための図。
【図１４】同実施形態に係る画像処理システムの別の構成例を示す図。
【図１５】同実施形態に係る画像処理装置のハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、実施形態について説明する。  
図１は、一実施形態に係る画像処理システムの機能構成を示すブロック図である。図１に示す画像処理システム１０は、画像処理装置１１、撮像部１２、入力部１３、記憶部１４及び表示部１５を備えている。画像処理装置１１と、撮像部１２、入力部１３、記憶部１４及び表示部１５とは、相互通信可能に接続されている。
【００１０】
なお、本実施形態では、画像処理システム１０は、画像処理装置１１、撮像部１２、入力部１３、記憶部１４及び表示部１５がそれぞれ別個に設けられた構成を想定しているが、例えば、画像処理装置１１と、撮像部１２、入力部１３、記憶部１４及び表示部１５のうちの少なくとも１つとが一体的に設けられた構成としてもよい。また、本実施形態では、画像処理システム１０には表示部１５が設けられているとしたが、画像処理システム１０には表示部１５は設けられていなくても構わない。
【００１１】
撮像部１２は、第１被写体を撮像し、第１被写体の第１被写体画像を取得する。取得された第１被写体画像は画像処理装置１１に出力される。
【００１２】
ここで、第１被写体とは、衣服を試着する対象である。なお、第１被写体は、衣服を試着する対象であればよく、生物であってもよいし、非生物であってもよい。第１被写体が生物である場合には、当該第１被写体には例えば人物等が含まれるが、当該第１被写体は人物に限られない。第１被写体は、例えば犬や猫等の動物（ペット）であってもよい。また、第１被写体が非生物である場合には、当該第１被写体には例えば人体や動物の形状を模したマネキン、衣服及びその他物体等が含まれるが、当該第１被写体はこれら以外であってもよい。
【００１３】
衣服とは、被写体が着用可能な品物（物品）である。衣服としては、例えば上着、スカート、ズボン、靴及び帽子等が挙げられる。なお、衣服は、上記した上着、スカート、ズボン、靴及び帽子等に限定されない。
【００１４】
撮像部１２は、第１撮像部１２ａ及び第２撮像部１２ｂを含む。  
第１撮像部１２ａは、所定時間毎に第１被写体を連続的に撮像し、当該撮像された第１被写体を含む色画像を順次取得する。この色画像は、ビットマップ画像であり、画素毎に第１被写体の色彩及び輝度等を示す画素値が規定された画像である。第１撮像部１２ａには、色画像を取得可能な公知の撮像装置（カメラ）が用いられる。
【００１５】
第２撮像部１２ｂは、所定時間毎に第１被写体を連続的に撮像し、当該撮像された第１被写体を含むデプス画像（距離画像）を順次取得する。このデプス画像は、画素毎に第２撮像部１２ｂからの距離が規定された画像である。第２撮像部１２ｂには、デプス画像を取得可能な公知の撮像装置（デプスセンサ）が用いられる。なお、本実施形態では、デプス画像は第２撮像部１２ｂにより被写体を撮像することで得られるものとしたが、例えば、第１被写体の色画像からステレオマッチング等の公知の方法を利用して生成されてもよい。
【００１６】
なお、本実施形態において、第１撮像部１２ａ及び第２撮像部１２ｂは、同じタイミングで第１被写体を撮像する。すなわち、第１撮像部１２ａ及び第２撮像部１２ｂは、図示しない制御部等によって、同じタイミングで同期して撮像を順次行うように制御されている。これにより、第１撮像部１２ａ及び第２撮像部１２ｂは、同じタイミングで撮像（取得）された第１被写体の色画像及びデプス画像（の組）を順次取得する。このように同じタイミングで取得された当該第１被写体の色画像及びデプス画像は、上記したように画像処理装置１１に出力される。なお、本実施形態では、第１撮像部１２ａ及び第２撮像部１２ｂのカメラ座標系が、同一であるものとして説明する。第１撮像部１２ａ及び第２撮像部１２ｂのカメラ座標系が異なる場合、画像処理装置１１は、一方の撮像部のカメラ座標系を他方の撮像部のカメラ座標系に変換して、各種処理に用いればよい。
【００１７】
また、第１被写体画像には色画像とデプス画像とが含まれているとしたが、例えば、第１被写体画像は、後述する骨格情報をさらに含んでいてもよい。
【００１８】
入力部１３は、ユーザからの入力を受け付け可能な入力インタフェースである。入力部１３は、例えば、マウス、ボタン、リモコン、音声認識装置（例、マイク）、画像認識装置等の１以上のものを組み合わせたものが用いられる。例えば、入力部１３として、画像認識装置が用いられる場合には、入力部１３の前に対峙するユーザの身振りや手振り等を、ユーザの各種指示（入力）として受け付ける装置としてもよい。この場合、画像認識装置（入力部）のメモリ等に身振りや手振り等の各種動きに対応した指示情報を予め記憶させておき、認識した身振りや手振りに対応する指示情報をメモリから読み出すことで、ユーザによる操作指示を受け付ければよい。
【００１９】
また、入力部１３は、携帯端末等の各種情報を送信可能な外部機器から、ユーザの操作指示を示す信号を受け付け可能な通信装置であってもよい。この場合には、入力部１３は、上記した外部機器からの操作指示を示す信号の入力を受け付けると、当該入力を受け付けた信号により示される操作指示をユーザによる操作指示として受け付ければよい。
【００２０】
なお、入力部１３は、表示部１５と一体的に設けられてもよい。具体的には、入力部１３及び表示部１５は、入力機能及び表示機能の双方を備えたＵＩ（User Interface）部として構成されてもよい。ＵＩ部としては、例えばタッチパネル付ＬＣＤ（Liquid Crystal Display）等がある。
【００２１】
記憶部１４は、各種データを記憶する。ここでは、記憶部１４には、衣服データベース（以下、衣服ＤＢと表記）１４ａが記憶される。以下では、図２を参照しながら、衣服ＤＢ１４ａについて説明する。
【００２２】
図２は、衣服ＤＢ１４ａのデータ構造の一例を示す模式図である。衣服ＤＢ１４ａは、仮想試着を利用する利用者に合成する衣服の衣服画像、換言すると、合成対象となる衣服の衣服画像を格納するデータベースである。具体的には、被写体情報と、衣服ＩＤと、衣服画像と、属性情報とが対応付けて含まれている。
【００２３】
被写体情報は、被写体ＩＤと、被写体画像と、体型パラメータと、基準位置情報とを対応付けて含む。被写体ＩＤは、被写体の各々を一意に識別するための識別情報である。被写体画像は、第１被写体画像と、後述する第２被写体画像とを含む。第１被写体画像は、撮像部１２によって取得された第１被写体の第１被写体画像である。第２被写体画像は、画像処理装置１１によって第１被写体画像が編集されることで生成される被写体画像である。
【００２４】
体型パラメータは、被写体の体型を示す情報である。体型パラメータは、１以上のパラメータを含む。ここで、パラメータとは、人体の１以上の箇所の採寸値である。なお、採寸値は、実際に採寸した値（実測値）に限定されず、採寸値を推測した値や、採寸値に相当する値（ユーザが任意に入力した値等）を含む。
【００２５】
本実施形態では、パラメータは、衣服の仕立て時や購入時等に採寸する人体の各部分に対応する採寸値である。具体的には、体型パラメータは、胸囲、胴囲、腰囲、身長及び肩幅のうちの少なくとも１つのパラメータを含む。なお、体型パラメータに含まれるパラメータは、これらのパラメータに限定されない。例えば、体型パラメータは、袖丈、股下、３次元ＣＧモデルの頂点位置、骨格の関節位置等のパラメータをさらに含んでもよい。
【００２６】
体型パラメータは、第１体型パラメータと、第２体型パラメータとを含む。第１体型パラメータは、第１被写体の体型を示すパラメータである。第２体型パラメータは、第２被写体画像に写る被写体（第２被写体）の体型を示すパラメータである。
【００２７】
基準位置情報は、合成時の位置合わせの基準に用いられる情報であり、例えば、特徴領域、輪郭、特徴点等を含む。合成時とは、被写体の被写体画像と衣服画像とを合成するときを示す。
【００２８】
特徴領域は、被写体画像における被写体の形状を推定可能な領域である。特徴領域には、人体の肩部に対応する肩領域や腰部に対応する腰領域、足部に対応する足領域等がある。なお、特徴領域は、上記した各領域にだけ限定されるものではない。
【００２９】
輪郭は、被写体画像における被写体の形状を推定可能な領域の輪郭である。例えば、被写体の形状を推定可能な領域が人体の肩領域である場合、被写体画像における輪郭は、肩領域の輪郭を示す線状の画像となる。
【００３０】
特徴点は、被写体画像における被写体の形状を推定可能な点であり、例えば、人体の関節部分を示す各位置（各点）や上記した特徴領域の中心に相当する位置（点）、人体の両肩の中央に相当する位置（点）等である。なお、特徴点は画像上の位置座標で示される。また、特徴点は、上記した各位置（各点）だけに限定されるものではない。
【００３１】
図３は、基準位置情報２０の一例を示す模式図である。図３（Ａ）は輪郭の一例を示す図であり、この図３（Ａ）によれば、人体の肩部の輪郭２０ａが示される。また、図３（Ｂ）は特徴領域の一例を示す図であり、この図３（Ｂ）によれば、人体の肩部の領域２０ｂが特徴領域として示される。さらに、図３（Ｃ）は特徴点の一例を示す図であり、この図３（Ｃ）によれば、人体の関節部分に相当する点のそれぞれが特徴点２０ｃとして示される。なお、基準位置情報は、合成画像生成時の位置合わせの基準を示す情報であればよく、上記した特徴領域、輪郭、特徴点だけに限定されるものではない。
【００３２】
図２の説明に戻ると、衣服ＤＢ１４ａは、１つの被写体画像と１つの体型パラメータとに対して、１つの基準位置情報を対応付けて格納している。換言すると、衣服ＤＢ１４ａは、１つの体型パラメータに対して、１つの基準位置情報を対応付けて格納している。
【００３３】
衣服ＩＤは、衣服を一意に識別するための識別情報である。衣服は、具体的には既製服を示す。衣服ＩＤには、例えば、衣服の製品番号や衣服の名称等が含まれるが、当該衣服ＩＤはこれらに限られない。製品番号としては、例えばＪＡＮコード等を利用することができる。名称としては、例えば衣服の品名等を利用することができる。
【００３４】
衣服画像は、衣服の画像である。衣服画像は、画素毎に、衣服の色彩（色）及び輝度等を示す画素値の規定された画像である。衣服画像は、第２衣服画像と、第３衣服画像とを含む。第２衣服画像は、画像処理装置１１によって第１衣服画像（要するに、第１被写体画像から切り抜かれた加工前の衣服画像）を編集することにより生成される衣服画像である。第３衣服画像は、画像処理装置１１によって第２衣服画像を編集することにより生成される衣服画像である。
【００３５】
属性情報は、対応する衣服ＩＤによって識別される衣服の属性を示す情報である。属性情報は、例えば、衣服の種類、衣服のサイズ、衣服の名称、衣服の販売元（ブランド名等）、衣服の形状、衣服の色、衣服の素材、衣服の値段等である。なお、属性情報は、対応付けられた第１被写体画像に写る第１被写体を識別するための被写体ＩＤ、第１衣服画像から第２衣服画像を生成するときに用いられた第１編集値、第２衣服画像から第３衣服画像を生成するときに用いられた第２編集値等をさらに含んでいてもよい。
【００３６】
衣服ＤＢ１４ａは、１つの被写体画像と、１つの体型パラメータと、１つの基準位置情報とに対して、複数の衣服画像（１以上の第２衣服画像、１以上の第３衣服画像）を対応付けて格納している。なお、衣服ＤＢ１４ａは、１つの被写体画像と、１つの体型パラメータと、１つの基準位置情報と、複数の衣服画像とが対応付けられた情報を格納していればよい。すなわち、衣服ＤＢ１４ａは、被写体ＩＤ、衣服ＩＤ及び属性情報のうちの少なくとも１つを含まない形態であってもよい。また、衣服ＤＢ１４ａは、上記した各種情報とは異なる情報がさらに対応付けられた情報を格納するとしてもよい。
【００３７】
図１の説明に戻ると、画像処理装置１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等を含んで構成されるコンピュータである。なお、画像処理装置１１は、上記したもの以外の回路等をさらに含んで構成されてもよい。
【００３８】
画像処理装置は、第１被写体画像取得部１０１、体型パラメータ取得部１０２、基準位置情報取得部１０３、第１衣服画像取得部１０４、記憶制御部１０５、第１編集値算出部１０６、第２衣服画像生成部１０７、第２被写体画像生成部１０８、第３衣服画像生成部１０９及び表示制御部１１０を含む。
【００３９】
第１被写体画像取得部１０１、体型パラメータ取得部１０２、基準位置情報取得部１０３、第１衣服画像取得部１０４、記憶制御部１０５、第１編集値算出部１０６、第２衣服画像生成部１０７、第２被写体画像生成部１０８、第３衣服画像生成部１０９及び表示制御部１１０の一部または全ては、例えば、ＣＰＵ等の処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated Circuit）等のハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
【００４０】
第１被写体画像取得部１０１は、第１被写体の第１被写体画像を撮像部１２から取得する。なお、第１被写体画像取得部１０１は、図示しない外部機器からネットワーク等を介して、第１被写体画像を取得してもよい。また、第１被写体画像取得部１０１は、記憶部１４等に予め記憶された第１被写体画像を読み出すことによって、第１被写体画像を取得してもよい。本実施形態では、第１被写体画像取得部１０１が撮像部１２から第１被写体画像を取得する場合を想定して説明する。
【００４１】
なお、第１被写体の撮像時には、第１被写体は、身体のラインが明確となる衣服（例えば、下着等）を着用した状態である方が好ましい。これにより、後述する第１体型パラメータの推定処理や基準位置情報の算出処理の精度を高めることができる。このため、最初に、身体のラインが明確となる衣服を着用した状態で一度第１被写体画像を撮像した後に、通常（合成対象）の衣服を着用した状態の第１被写体画像を撮像することで、第１体型パラメータや基準位置情報を精度良く算出した上で、後述する第２衣服画像を生成する処理を実行することができる。
【００４２】
体型パラメータ取得部１０２は、第１被写体の体型を示す第１体型パラメータを取得する。この体型パラメータ取得部１０２は、デプス画像取得部１０２ａと、体型パラメータ推定部１０２ｂとを含む。
【００４３】
デプス画像取得部１０２ａは、第１被写体画像取得部１０１によって取得された第１被写体画像に含まれるデプス画像（デプスマップ）を取得する。なお、第１被写体画像に含まれるデプス画像には、人物領域以外の背景領域等が含まれてしまう場合がある。このため、デプス画像取得部１０２ａは、第１被写体画像から取得したデプス画像における人物領域を抽出することで、第１被写体のデプス画像を取得する。
【００４４】
デプス画像取得部１０２ａは、例えば、デプス画像を構成する各画素の３次元位置のうち、奥行き方向の距離について閾値を設定することで、人物領域を抽出する。例えば、第２撮像部１２ｂのカメラ座標系において第２撮像部１２ｂの位置を原点とし、Ｚ軸正方向が、第２撮像部１２ｂの原点から被写体方向に伸びるカメラの光軸であるとする。この場合、デプス画像を構成する各画素のうち、奥行き方向（Ｚ軸方向）の位置座標が予め定めた閾値（例えば、２ｍを示す値）以上の画素を除外する。これにより、デプス画像取得部１０２ａは、第２撮像部１２ｂから当該閾値の範囲内に存在する人物領域の画素からなるデプス画像、すなわち、第１被写体のデプス画像を取得することができる。
【００４５】
体型パラメータ推定部１０２ｂは、デプス画像取得部１０２ａによって取得された第１被写体のデプス画像から第１被写体の第１体型パラメータを推定する。具体的には、まず体型パラメータ推定部１０２ｂは、第１被写体のデプス画像に人体の３次元モデルデータをあてはめる。その後、体型パラメータ推定部１０２ｂは、デプス画像と第１被写体にあてはめた３次元モデルデータとを用いて、第１体型パラメータに含まれる各パラメータの値（例えば、胸囲、胴囲、腰囲、身長及び肩幅等の各値）を算出する。
【００４６】
より詳細には、まず体型パラメータ推定部１０２ｂは、人体の３次元モデルデータ（３次元ポリゴンモデル）を第１被写体のデプス画像にあてはめる。その後、体型パラメータ推定部１０２ｂは、第１被写体のデプス画像にあてはめた人体の３次元モデルデータにおける複数のパラメータ（胸囲、胴囲、腰囲、身長及び肩幅等）のそれぞれに対応する部位の距離から、上記した採寸値を推定する。具体的には、体型パラメータ推定部１０２ｂは、あてはめた人体の３次元モデルデータ上における２頂点間の距離や、ある２頂点を結ぶ稜線の長さ等から、胸囲、胴囲、腰囲、身長及び肩幅等の各パラメータの値を算出（推定）する。２頂点とは、あてはめた人体の３次元モデルデータ上における算出対象のパラメータ（胸囲、胴囲、腰囲、身長及び肩幅等）のそれぞれに対応する部位の一端と他端とを示す。なお、後述する第２被写体の第２体型パラメータに含まれる各パラメータの値についても、同様にして求めることができる。
【００４７】
なお、本実施形態では、体型パラメータ取得部１０２は、体型パラメータ推定部１０２ｂによって推定された第１体型パラメータを取得するとしたが、例えば、ユーザによる入力部１３の操作指示によって入力された第１体型パラメータを取得するとしてもよい。この場合、後述する表示制御部１１０によって第１体型パラメータの入力画面を表示部１５に表示させ、ユーザにこの入力画面への入力を促す必要がある。この入力画面は、例えば、胸囲、胴囲、腰囲、身長及び肩幅等のパラメータの入力欄を含み、ユーザは、表示部１５に表示された入力画面を参照しながら入力部１３を操作することで、各パラメータの入力欄に値を入力することができる。このようにして、体型パラメータ取得部１０２は、第１体型パラメータを取得してもよい。
【００４８】
基準位置情報取得部１０３は、基準となる部位（基準部位）の位置を示す基準位置情報を取得する。ここでは、基準位置情報取得部１０３が、特徴領域、輪郭及び特徴点を基準位置情報として取得する場合について説明する。
【００４９】
まず基準位置情報取得部１０３は、第１被写体画像取得部１０１によって取得された第１被写体画像に含まれる第１被写体の色画像を取得する。その後、基準位置情報取得部１０３は、取得された色画像における、例えば、人体の肩に相当する領域（肩領域）を特徴領域として抽出する。また、基準位置情報取得部１０３は、抽出した肩領域の輪郭を抽出する。なお、輪郭は、人体の外形に沿った線状の画像であり、上記した肩領域の輪郭は、人体の肩領域の外形に沿った線状の画像である。
【００５０】
なお、取得される特徴領域及び輪郭は、人体の各部（上記した肩部に限らず、例えば腰部等）のどの部位であってもよい。また、取得される特徴領域及び輪郭の部位を示す識別情報を予め記憶部１４に記憶しておいてもよい。この場合、基準位置情報取得部１０３は、記憶部１４に記憶されている上記した識別情報によって識別される部位を特徴領域として、また当該特徴領域から抽出される輪郭として取得する。なお、基準位置情報取得部１０３は、公知の方法を用いて、第１被写体画像における、人体の各部位に相当する領域の判別を行えばよい。
【００５１】
特徴点は、例えば、第１被写体の骨格情報から算出する。骨格情報は、被写体の骨格を示す情報である。この場合、まず基準位置情報取得部１０３は、デプス画像取得部１０２ａによって取得された第１被写体のデプス画像を取得する。その後、基準位置情報取得部１０３は、第１被写体のデプス画像を構成する各画素に人体形状をあてはめることで、骨格情報を生成する。そして、基準位置情報取得部１０３は、生成した骨格情報によって示される各関節の位置を特徴点として取得する。
【００５２】
なお、基準位置情報取得部１０３は、取得した特徴領域の中心に相当する位置を特徴点として取得してもよい。この場合、基準位置情報取得部１０３は、特徴領域の中心に相当する位置を骨格情報から読み出し、特徴点として取得すればよい。例えば、上記した肩領域の中心を特徴点として取得する場合、骨格情報から両肩間の中心位置を求めることで、肩領域の中心を特徴点として取得することができる。また、ここでは、第１被写体画像に含まれるデプス画像から骨格情報を生成するとしたが、骨格情報は、予め第１被写体画像に含まれているとしてもよい。
【００５３】
第１衣服画像取得部１０４は、撮像部１２から取得される第１被写体画像から衣服領域を抽出することで、図４に示すような第１衣服画像３０ａを取得する。なお、第１衣服画像取得部１０４は、図示しない外部機器からネットワーク等を介して、第１衣服画像を取得するとしてもよい。
【００５４】
記憶制御部１０５は、各種データを記憶部１４に記憶する。具体的には、記憶制御部１０５は、第１被写体画像取得部１０１によって取得された第１被写体画像を、第１被写体の被写体ＩＤに対応付けて衣服ＤＢ１４ａに記憶する。また、記憶制御部１０５は、基準位置情報取得部１０３によって取得された基準位置情報を、当該第１被写体画像に対応付けて衣服ＤＢ１４ａに記憶する。さらに、記憶制御部１０５は、体型パラメータ取得部１０２によって取得された第１体型パラメータを、当該第１被写体画像に対応付けて衣服ＤＢ１４ａに記憶する。これにより、図２に示したように、衣服ＤＢ１４ａには、第１被写体画像と、第１体型パラメータと、基準位置情報とが１対１対１で対応付けて格納される。
【００５５】
第１編集値算出部１０６は、第１編集値を算出する。具体的には、第１編集値算出部１０６は、第１被写体画像の第１被写体が自然に第１衣服画像の衣服を着用した状態となるように、第１衣服画像を編集するための第１編集値を算出する。
【００５６】
図５は、第２衣服画像を説明するための図である。図５に示すように、第１編集値算出部１０６は、図４に示した第１衣服画像３０ａの衣服を、第１被写体が着用したときに自然な状態に見える第２衣服画像３１を生成するために、第１衣服画像３０ａを編集するための第１編集値を算出する。第１編集値は、透過度変更率、拡大縮小率、変形率及び位置の変更幅の少なくとも１つを含む。透過度変更率は透過度の編集に用いられる。拡大縮小率はサイズの編集に用いられる。変形率は形状の編集に用いられる。位置の変更幅は位置の編集に用いられる。すなわち、第１編集値算出部１０６は、第１編集値として、透過度変更率、拡大縮小率、変形率及び位置の変更幅の少なくとも１つを算出する。
【００５７】
以下では、まず、第１衣服画像の首周りや袖周り、裾周りに位置する画素の透過度（透明度、アルファ値）を変更する透過度変更率を、第１編集値として算出する場合について、図６のフローチャートを参照しながら説明する。ここでは、主に、衣服の首（襟首）周りの透過度を変更するための透過度変更率を第１編集値として算出する場合について説明する。なお、透過度は、０以上１以下の値である。
【００５８】
まず、第１編集値算出部１０６は、第１被写体画像取得部１０１によって取得された第１被写体画像と、基準位置情報取得部１０３によって生成された骨格情報（または、第１被写体画像に含まれる骨格情報）とをそれぞれ取得する（ステップＳ１）。
【００５９】
続いて、第１編集値算出部１０６は、取得された骨格情報から、取得された第１被写体画像上の関節位置のうち、首に相当する位置の画素（換言すると、首の特徴点に位置する画素）を特定する（ステップＳ２）。次に、第１編集値算出部１０６は、特定された首に相当する位置の画素から所定のピクセルだけ離れて位置する１以上の画素を特定する。そして、第１編集値算出部１０６は、特定された１以上の画素のうち、第１被写体画像の衣服部分を構成する（衣服領域に含まれる）画素（以下、透過度変更対象画素と表記）を特定する（ステップＳ３）。
【００６０】
なお、上記したステップＳ３の処理により、複数の透過度変更対象画素が特定された場合、後述する処理は、特定された透過度変更対象画素毎に実行される。
【００６１】
次に、第１編集値算出部１０６は、特定された透過度変更対象画素の輝度と、当該透過度変更対象画素の周囲に位置する１以上の画素の輝度との差がそれぞれ予め決められた閾値を超えているかどうかを判定する（ステップＳ４）。
【００６２】
上記したステップＳ４における判定の結果、画素の輝度の差がいずれも予め決められた閾値を超えていない場合（ステップＳ４のＮＯ）、第１編集値算出部１０６は、当該透過度変更対象画素の透過度は変更する必要がないものと判断し、後述するステップＳ６の処理に進む。
【００６３】
一方で、上記したステップＳ４における判定の結果、画素の輝度の差のいずれかが予め決められた閾値を超えている場合（ステップＳ４のＹＥＳ）、第１編集値算出部１０６は、当該透過度変更対象画素の透過度を現在の透過度より小さな値となるような透過度変更率を第１編集値として算出（設定）する（ステップＳ５）。
【００６４】
その後、第１編集値算出部１０６は、全ての透過度変更対象画素に対して上記したステップＳ４の処理を実行したかどうかを判定する（ステップＳ６）。このステップＳ６における判定の結果、全ての透過度変更対象画素に対して上記したステップＳ４の処理が実行されていない場合（ステップＳ６のＮＯ）、第１編集値算出部１０６は、次の透過度変更対象画素に対して上記したステップＳ４の処理を実行する。
【００６５】
一方で、上記したステップＳ６における判定の結果、全ての透過度変更対象画素に対して上記したステップＳ４の処理が実行された場合（ステップＳ６のＹＥＳ）、ここでの処理は終了となる。
【００６６】
このように、首に相当する位置の画素からの「距離」と、当該距離だけ離れた位置の画素と当該画素の周囲に位置する画素との「輝度の差」とを総合的に考慮することで、透過度変更率は求められる。
【００６７】
なお、ここでは、首周りに位置する透過度変更対象画素を特定するために、首に相当する位置の画素からの距離だけを考慮する場合について説明したが、例えば、首からの距離だけでなく、肩や顔からの距離も考慮した上で透過度変更対象画素を特定してもよい（すなわち、首だけでなく肩や顔にも重みをもたせて透過度変更対象画素を特定してもよい）。具体的には、第１編集値算出部１０６は、首に相当する位置の画素からＸピクセルだけ離れ、肩（左肩、右肩）に相当する位置の画素からＹピクセルだけ離れ、顔に相当する位置の画素からＺピクセルだけ離れて位置する画素を透過度変更対象画素として特定してもよい。
【００６８】
また、ここでは、衣服の首周りの画素の透過度を変更する透過度変更率について説明したが、衣服の袖周りや裾周りの画素の透過度を変更する透過度変更率についても同様に求めることができる。具体的には、衣服の袖周りの画素の透過度を変更する透過度変更率を求める場合、上記した首に相当する位置の画素からの距離を、手（右手、左手）に相当する位置の画素からの距離に置き換えることで、透過度変更率を求めることができる。また、衣服の裾周りの画素の透過度を変更する透過度変更率を求める場合、上記した首に相当する位置の画素からの距離を、腰や太腿に相当する位置の画素からの距離に置き換えることで、透過度変更率を求めることができる。
【００６９】
さらに、ここでは、透過度変更対象画素の輝度と、当該透過度変更対象画素の周囲に位置する画素の輝度との差を用いて透過度変更率を求めるとしたが、例えば、透過度変更対象画素を含むことで構成される柄と、当該透過度変更対象画素の近辺に位置する画素により構成される柄との違いを用いて、透過度変更率を求めるとしてもよい。
【００７０】
上記にて説明したように、透過度変更率を第１編集値として算出することで、後述する第２衣服画像生成部１０７は、図７（Ａ）〜図７（Ｃ）に示すような第２衣服画像を生成することができる。すなわち、図７（Ａ）に示すように、第１衣服画像３０に比べて、襟首の後ろに回り込む部分（境界部分）をぼかし、先端部分を丸くした第２衣服画像３１ａを生成することができる。また、図７（Ｂ）に示すように、袖の裏地が見える部分をカットした（すなわち、透過度を「０」にした）第２衣服画像３１ｂを生成することができる。さらに、図７（Ｃ）に示すように、裾の裏地が見える部分をカットした第２衣服画像３１ｃを生成することができる。
【００７１】
次に、拡大縮小率を第１編集値として算出する場合について、図８を参照しながら説明する。  
図８は拡大縮小率の算出を説明するための図であり、図８（Ａ）は第１衣服画像３０ｂを説明するための図であって、図８（Ｂ）は第１被写体画像４０ａを説明するための図である。ここでは、第１被写体画像取得部１０１が、図８（Ｂ）に示す第１被写体画像４０ａを第１被写体画像として取得した場合を想定している。また、ここでは、第１衣服画像取得部１０４が、図８（Ａ）に示す第１衣服画像３０ｂを第１衣服画像として取得した場合を想定している。
【００７２】
第１編集値算出部１０６は、第１被写体画像４０ａの第１被写体が第１衣服画像３０ｂの衣服を自然な見え方で着用した状態となるように、第１衣服画像３０ｂの拡大縮小率を算出する。
【００７３】
具体的には、まず、第１編集値算出部１０６は、基準位置情報取得部１０３によって生成された第１被写体の骨格情報（または、第１被写体画像４０ａに含まれる骨格情報）から、第１被写体画像４０ａ上の関節位置のうち、左肩に相当する位置の画素のＹ座標と、右肩に相当する位置の画素のＹ座標とをそれぞれ特定（算出）する。
【００７４】
続いて、第１編集値算出部１０６は、特定された上記Ｙ座標の位置（高さ）において、上記左肩に相当する位置の画素のＸ座標から第１被写体画像４０ａの外側に相当する領域に向かって探索を行い、第１被写体画像４０ａの左肩側の境界線（輪郭）の位置を示すＸ座標を特定する。同様に、第１編集値算出部１０６は、特定された上記Ｙ座標の位置（高さ）において、上記右肩に相当する位置の画素のＸ座標から第１被写体画像４０ａの外側に相当する領域に向かって探索を行い、第１被写体画像４０ａの右肩側の境界線（輪郭）の位置を示すＸ座標を特定する。
【００７５】
上記のようにして特定した２つのＸ座標の差を求めることで、第１編集値算出部１０６は、図８（Ｂ）に示す第１被写体画像４０ａ上の肩幅（ピクセル）Ｓｈを求めることができる。
【００７６】
また、第１編集値算出部１０６は、第１被写体画像４０ａに対して実行した処理を、第１衣服画像３０ｂに対しても実行することで、図８（Ａ）に示す第１衣服画像３０ｂ上の肩幅（ピクセル）Ｓｃを求めることもできる。
【００７７】
次に、第１編集値算出部１０６は、第１衣服画像３０ｂの肩幅Ｓｃと、第１被写体画像４０ａの肩幅Ｓｈとを用いて、第１衣服画像３０ｂの拡大縮小率（スケーリング値）を決定（算出）する。具体的に、第１編集値算出部１０６は、第１被写体画像４０ａの肩幅Ｓｈを、第１衣服画像３０ｂの肩幅Ｓｃで除算した除算値（Ｓｈ／Ｓｃ）を拡大縮小率として算出する。なお、拡大縮小率は、衣服の実際の大きさ、または衣服画像領域の幅及び高さに相当する画素数等の値を用いて、異なる式から算出されてもよい。
【００７８】
続いて、変形率を第１編集値として算出する場合について、図９を参照しながら説明する。  
図９は変形率の算出を説明するための図である。ここでは、第１被写体画像取得部１０１が、図９（Ｄ）に示す第１被写体画像４０ａを第１被写体画像として取得した場合を想定している。また、ここでは、第１衣服画像取得部１０４が、図９（Ａ）に示す第１衣服画像３０ｂを第１衣服画像として取得した場合を想定している。
【００７９】
第１編集値算出部１０６は、第１被写体画像４０ａの第１被写体が第１衣服画像３０ｂの衣服を自然な見え方で着用した状態となるように、第１衣服画像３０ｂの変形率を算出する。
【００８０】
具体的には、まず、第１編集値算出部１０６は、図９（Ｂ）に示すように、第１衣服画像３０ｂの輪郭５０を抽出する。続いて、第１編集値算出部１０６は、図９（Ｃ）に示すように、抽出された第１衣服画像３０ｂの輪郭５０のうち、例えば人体の肩部に相当する部分の輪郭５１を抽出する。同様に、第１編集値算出部１０６は、図９（Ｅ）に示すように、第１被写体画像４０ａの輪郭５２を抽出する。
【００８１】
なお、図９では、第１編集値算出部１０６が、第１被写体画像として、第１被写体のデプス画像を用いる場合を例示したが、第１編集値算出部１０６は、第１被写体画像として、第１被写体の色画像を用いても構わない。
【００８２】
次に、第１編集値算出部１０６は、図９（Ｆ）に示すように、抽出された輪郭５２のうち、人体の肩部に相当する部分の輪郭５３を抽出する。そして、第１編集値算出部１０６は、図９（Ｇ）に示すように、第１衣服画像３０ｂの肩部に相当する部分の輪郭５１と、第１被写体画像４０ａの肩部に相当する部分の輪郭５３とを用いたテンプレートマッチングを行う。その後、第１編集値算出部１０６は、輪郭５１を輪郭５３の形状に一致させるための、輪郭５１の変形率を算出する。これにより、第１編集値算出部１０６は、算出した変形率を、第１衣服画像３０ｂを編集するための第１編集値として算出することができる。
【００８３】
上記のようにして、第１編集値算出部１０６は第１編集値を算出すると、当該算出した第１編集値を第２衣服画像生成部１０７に出力する。
【００８４】
図１の説明に戻ると、第２衣服画像生成部１０７は、第１編集値算出部１０６によって算出された第１編集値を用いて、第１衣服画像の透過度、サイズ、形状、位置のうちの少なくとも１つを編集した第２衣服画像を生成する。例えば、第２衣服画像生成部１０７は、透過度変更率に関する第１編集値を用いて、第１衣服画像の透過度を調整することで、第１衣服画像の透過度を編集して、第２衣服画像を生成する。また、第２衣服画像生成部１０７は、拡大縮小率に関する第１編集値を用いて、第１衣服画像を拡大または縮小することで、第１衣服画像のサイズを編集して、第２衣服画像を生成する。さらに、第２衣服画像生成部１０７は、変形率に関する第１編集値を用いて、第１衣服画像を変形させることで、第１衣服画像の形状を編集して、第２衣服画像を生成する。なお、第１衣服画像の変形には、第１衣服画像の縦横比（アスペクト比）を変更する処理等が含まれる。
【００８５】
なお、第２衣服画像生成部１０７は、第１範囲内の第１編集値を用いて、自然な見え方で衣服を着用しているように、第１衣服画像を編集することが好ましい。第１範囲とは、第１編集値のとり得る範囲（上限値と下限値）を定めた情報である。
【００８６】
より詳細には、第１範囲とは、編集対象の第１衣服画像の衣服の視覚的特性を失わない範囲である。すなわち、第１範囲は、編集対象の第１衣服画像の衣服の視覚的特性を失わない範囲となるように、第１編集値の上限値と下限値とを定めたものである。例えば、第１衣服画像の衣服としての視覚的な特性である、衣服のデザインや衣服の模様、衣服の形状等の特性が、第２衣服画像生成部１０７による編集によって損なわれる場合がある。このため、第１範囲として、編集対象の第１衣服画像の衣服の視覚的な特性を失わない範囲を定めることが好ましい。
【００８７】
第２衣服生成部１０７が、第１範囲内の第１編集値を用いて、第１衣服画像を編集した第２衣服画像を生成することで、第２衣服画像を、合成対象の衣服画像として効果的に用いることができる。
【００８８】
この場合、第１範囲は、衣服の種類と対応付けて記憶部１４に予め記憶しておけばよい。第１範囲、及び第１範囲と衣服の種類との対応は、ユーザによる入力部１３の操作指示等によって適宜変更可能である。また、第１衣服画像取得部１０４が、第１衣服画像を取得すると共に、入力部１３から当該第１衣服画像の衣服の種類を取得すればよい。衣服の種類は、ユーザによる入力部１３の操作指示によって入力すればよい。これにより、第２衣服画像生成部１０７は、第１衣服画像取得部１０４によって取得された衣服の種類に対応する第１範囲を記憶部１４から読み出し、第１衣服画像の編集に用いることができる。
【００８９】
なお、第１範囲は、複数の第２衣服画像を重畳したときに、下層側の第２衣服画像が上層側の第２衣服画像の領域内に収まる範囲としてもよい。例えば、複数の第２衣服画像を、被写体が重ね着した状態や、組み合わせて着用した状態を示す合成画像の生成に用いる場合がある。この場合、下層側に配置される第２衣服画像が、上層側に配置される第２衣服画像の領域より大きいと、合成画像を自然な見え方で提供することは困難である。そこで、第１範囲は、複数の第２衣服画像を重畳したときに、下層側の第２衣服画像が上層側の第２衣服画像の領域内に収まる範囲としてもよい。
【００９０】
この場合、第１範囲は、衣服の種類と衣服の重畳順と対応付けて記憶部１４に予め記憶しておけばよい。衣服の重畳順は、対応する衣服の種類の衣服を人体等に重ねて着用したときに、当該衣服が、人体に最も接する下層側から人体から離れる上層側の各階層のうち、いずれの階層に着用されることが一般的な衣服であるかを示す情報である。この場合、第１範囲は、対応する重畳順で、対応する種類の衣服が着用されたときに、上層側の第２衣服画像の領域内に収まる数値の範囲である。
【００９１】
衣服の種類、衣服の重畳順及び第１範囲は、ユーザによる入力部１３の操作指示等によって適宜変更可能である。また、第１衣服画像取得部１０４は、第１衣服画像を取得すると共に、入力部１３から当該第１衣服画像の衣服の種類と衣服の重畳順を取得すればよい。衣服の種類及び衣服の重畳順は、ユーザによる入力部１３の操作指示によって入力すればよい。これにより、第２衣服画像生成部１０７は、第１衣服画像取得部１０４によって取得された衣服の種類及び衣服の重畳順に対応する第１範囲を記憶部１４から読み出し、第１衣服画像の編集に用いることができる。
【００９２】
図１０は、第２衣服画像３１の一例を示す図である。例えば、第１衣服画像３０が、図１０（Ａ）に示す第１衣服画像３０ａであるとする。この場合、第２衣服画像生成部１０７は、図１０（Ａ）に示す第１衣服画像３０ａを、図１０中の矢印Ｘ１方向に変形することで、図１０（Ｂ）に示す第２衣服画像３１ｄを生成する。また、第２衣服画像生成部１０７は、図１０（Ａ）に示す第１衣服画像３０ａを、図１０中の矢印Ｘ２方向に変形することで、図１０（Ｃ）に示す第２衣服画像３１ｅを生成する。
【００９３】
なお、位置を編集する場合には、第２衣服画像生成部１０７は、撮像画像における第１衣服画像３０ａの位置を、撮像画像内で変更すればよい。また、透過度を編集する場合には、第２衣服画像生成部１０７は、第１衣服画像３０ａに含まれる透過度変更対象画素の透過度を、第１編集値算出部１０６によって算出された透過度変更率にしたがって変更すればよい。
【００９４】
第２衣服画像生成部１０７は、第１衣服画像３０ａの全体のサイズや形状を編集してもよい。また、第２衣服画像生成部１０７は、第１衣服画像３０ａを複数の領域（例えば、矩形状の領域）に分割し、領域毎に、サイズや形状を編集してもよい。この場合、各領域の第１編集値は同じであってもよいし、異なっていてもよい。例えば、衣服の袖部分に相当する領域を、他の領域に比べてアスペクト比が大きくなるように変形してもよい。また、第２衣服画像生成部１０７は、ＦＦＤ（Free Form Deformation）処理により、上記した編集を行ってもよい。
【００９５】
また、第２衣服画像生成部１０７は、図１１に示すように、第１衣服画像の回転角度を編集して第２衣服画像を生成してもよい。例えば、撮像部１２に対して正面の向きで撮像された撮像画像の回転角度は０°である。第２衣服画像生成部１０７は、この回転角度を変更することで、例えば図１１に示すように、第１衣服画像３０ａを正面から右方向に２０°回転させることで、第２衣服画像３１ｆを生成してもよい。同様に、第２衣服画像生成部１０７は、例えば図１１に示すように、第１衣服画像３０ａを正面から右方向に４０°回転させることで、第２衣服画像３１ｇを生成してもよい。
【００９６】
上記のようにして、第２衣服画像生成部１０７は、第１衣服画像の、透過度、サイズ、形状及び位置のうちの少なくとも１つを編集した第２衣服画像を生成する。
【００９７】
第２衣服画像生成部１０７によって生成された第２衣服画像は、記憶制御部１０５によって記憶部１４に記憶される。具体的には、第２衣服画像生成部１０７によって生成された第２衣服画像は、当該第２衣服画像を生成する際に用いた第１編集値の算出時に用いられた第１被写体画像に対応付けて、衣服ＤＢ１４ａに記憶される。
【００９８】
また、第２衣服画像生成部１０７が、新たな衣服ＩＤによって識別される第１衣服画像から第１編集値を用いて第２衣服画像を生成する度に、当該生成された第２衣服画像は、記憶制御部１０５により、当該第１編集値の算出時に用いられた第１被写体画像に対応付けて、衣服ＤＢ１４ａに記憶される。また、第２衣服画像生成部１０７は、同じ衣服ＩＤの衣服に対して、異なる第１編集値を用いた編集を行い、１つの第１衣服画像から第１編集値の異なる複数の第２衣服画像を生成してもよい。この場合、生成された複数の第２衣服画像は、記憶制御部１０５により、上記した第１編集値の算出時に用いられた第１被写体画像に対応付けて、衣服ＤＢ１４ａにそれぞれ記憶される。
【００９９】
このため、図２に示すように、衣服ＤＢ１４ａには、１つの第１被写体画像と、１つの第１体型パラメータと、１つの基準位置情報とに、複数の第２衣服画像が対応付けて格納された形態となる。
【０１００】
図１の説明に戻ると、第２被写体画像生成部１０８は、第１被写体の第１体型パラメータとは異なる第２体型パラメータの第２被写体画像となるように、第１被写体画像を、第２編集値を用いて編集する。
【０１０１】
例えば、第２被写体画像生成部１０８は、第１被写体画像の透過度、サイズ、形状及び位置のうちの少なくとも１つを編集することで、第１体型パラメータとは異なる第２体型パラメータの第２被写体画像を生成する。具体的には、第２被写体画像生成部１０８は、第２編集値を用いて、第１被写体画像の透過度、サイズ、形状及び位置のうちの少なくとも１つを編集する。例えば、第２被写体画像生成部１０８は、第１被写体画像を拡大または縮小することで、第１被写体画像のサイズを編集する。また、第２被写体画像生成部１０８は、第１被写体画像を変形することで、第１被写体画像の形状を編集する。第１被写体画像の変形には、第１被写体画像の縦横比（アスペクト比）を変更する処理等が含まれる。
【０１０２】
まず、第２被写体画像生成部１０８は、第１被写体の第１体型パラメータとは異なる第２体型パラメータの第２被写体の第２被写体画像となるように、第２編集値を算出する。そして、第２被写体画像生成部１０８は、算出した第２編集値を用いて、第１被写体画像の透過度、サイズ、形状及び位置のうちの少なくとも１つを編集し、第２被写体画像を生成する。
【０１０３】
なお、第２被写体画像生成部１０８は、予め定められた第２範囲内の第２編集値を用いて、第１被写体画像を編集することが好ましい。第２範囲とは、第２編集値のとり得る範囲（上限値と下限値）を定めた情報である。
【０１０４】
より詳細には、第２範囲とは、人体として想定可能な範囲である。すなわち、第２範囲は、編集対象の第１被写体画像の第１被写体の体型が人体として想定可能な体型の範囲となるように、第２編集値のとり得る範囲を定めたものである。また、第２範囲は、編集対象の第１被写体画像が衣服を着用した状態を想定したときに、衣服の視覚的特性を失わない範囲であることが好ましい。このため、第２範囲は、上記した第１範囲に応じた範囲であることが好ましい。
【０１０５】
この場合、第２範囲は、衣服の種類と第１範囲と対応付けて、記憶部１４に予め記憶しておけばよい。第１範囲、第２範囲、及び第１範囲と第２範囲と衣服の種類との対応は、ユーザによる入力部１３の操作指示等によって適宜変更可能である。また、第１衣服画像取得部１０４は、第１衣服画像を取得すると共に、入力部１３から当該第１衣服画像の衣服の種類を取得すればよい。これにより、第２被写体画像生成部１０８は、第１衣服画像取得部１０４によって取得された衣服の種類と、第２衣服画像生成部１０７によって用いられた第１範囲とに対応する第２範囲を記憶部１４から読み出し、読出された第２範囲内の第２編集値を用いて第１被写体画像を編集して、第２被写体画像を生成することができる。
【０１０６】
第３衣服画像生成部１０９は、第２被写体画像の生成時に用いられた第２編集値及び第１被写体画像を用いて、当該第１被写体画像に対応する第１体型パラメータ及び基準位置情報から、当該第２被写体画像の体型を示す第２体型パラメータと、当該第２被写体画像に対応する基準位置情報とを算出する。
【０１０７】
より詳細には、まず、第３衣服画像生成部１０９は、第２被写体画像の生成時に用いた第２編集値及び第１被写体画像を（図示しないメモリ等に一時的に記憶された処理履歴等から）読み出す。その後、第３衣服画像生成部１０９は、読み出した第１被写体画像に対応する第１体型パラメータ及び基準位置情報を、当該第２編集値を用いて編集する。これにより、第３衣服画像生成部１０９は、第２被写体画像の体型を示す第２体型パラメータと、当該第２被写体画像に対応する基準位置情報とを算出することができる。
【０１０８】
記憶制御部１０５は、第２被写体画像が生成されると、第２被写体画像を記憶部１４に記憶する。より詳細には、記憶制御部１０５は、図２に示すように、生成された第２被写体画像を、当該第２被写体画像の編集元の第１被写体画像の被写体ＩＤに対応付けて、衣服ＤＢ１４ａに記憶する。
【０１０９】
また、記憶制御部１０５は、第２被写体画像に対応する第２体型パラメータと、第２被写体画像に対応する基準位置情報とが算出されると、これらを記憶部１４に記憶する。より詳細には、記憶制御部１０５は、図２に示すように、算出された第２体型パラメータと、算出された基準位置情報とを、当該第２体型パラメータ及び当該基準位置情報の算出時に用いられた第２被写体画像に対応付けて、衣服ＤＢ１４ａに記憶する。
【０１１０】
このため、図２に示すように、衣服ＤＢ１４ａには、１つの被写体ＩＤに対して、１つの第１被写体画像と、１以上の第２被写体画像とが被写体画像として対応付けて格納される。また、第２被写体画像には、第２体型パラメータと、基準位置情報とが１対１対１で対応付けられた形態で格納される。
【０１１１】
図１の説明に戻ると、第３衣服画像生成部１０９は、第２被写体画像の生成時に用いた第２編集値を用いて第２衣服画像を編集し、第３衣服画像を生成する。すなわち、第３衣服画像生成部１０９は、第２編集値によって示される透過度変更率や拡大縮小率、変形率等を用いて、第２衣服画像の透過度の調整、拡大縮小、変形することで、第３衣服画像を生成する。
【０１１２】
なお、第２衣服画像生成部１０７と同様に、第３衣服画像生成部１０９は、第２衣服画像の全体のサイズや形状を編集してもよい。また、第３衣服画像生成部１０９は、第２衣服画像を複数の領域(例えば、矩形状の領域)に分割し、領域毎に、サイズや形状を編集してもよい。この場合、各領域の第２編集値は、領域毎に同じであってもよいし、異なっていてもよい。また、第３衣服画像生成部１０９は、上記したＦＦＤ処理により、編集を行ってもよい。
【０１１３】
記憶制御部１０５は、第３衣服画像生成部１０９によって第３衣服画像が生成されると、当該第３衣服画像を記憶部１４に記憶する。より詳細には、まず記憶制御部１０５は、第３衣服画像の生成時に用いた第２編集値を読み出す。その後、記憶制御部１０５は、生成された第３衣服画像を、読み出した第２編集値を用いることで生成された第２被写体画像に対応付けて、衣服ＤＢ１４ａに記憶する。
【０１１４】
このため、図２に示すように、衣服ＤＢ１４ａには、上記したように、１つの被写体ＩＤに対して、１つの第１被写体画像と、１以上の第２被写体画像とが被写体画像として対応付けられた状態で格納される。また、衣服ＤＢ１４ａには、１つの第２被写体画像と、１つの第２体型パラメータと、１つの基準位置情報とに、複数の第３衣服画像が対応付けられた形態で格納される。また、上記したように、１つの第１被写体画像と、１つの第１体型パラメータと、１つの基準位置情報とに、複数の第２衣服画像が対応付けられた形態で格納される。なお、上記したように、第２衣服画像は、第１衣服画像を編集することによって生成された衣服画像であり、第３衣服画像は、第２衣服画像を編集することによって生成された衣服画像である。
【０１１５】
なお、記憶制御部１０５は、第３衣服画像に代えて、当該第３衣服画像の生成に用いた第２編集値を記憶部１４に記憶してもよい。この場合には、記憶制御部１０５は、第２編集値を、第２被写体画像に対応付けて記憶すればよい。この場合には、第３衣服画像生成部１０９による第３衣服画像の生成処理は実行しなくてもよい。
【０１１６】
次に、図１２のフローチャートを参照して、本実施形態に係る画像処理装置１１によって実行される画像処理の手順の一例について説明する。
【０１１７】
始めに、第１被写体画像取得部１０１は撮像部１２から第１被写体画像を取得する（ステップＳ１１）。続いて、体型パラメータ取得部１０２は、取得された第１被写体画像に含まれるデプス画像に基づいて、当該第１被写体画像の第１被写体の体型パラメータを推定（取得）する（ステップＳ１２）。次に、基準位置情報取得部１０３は、取得された第１被写体画像における基準位置情報を取得する（ステップＳ１３）。その後、記憶制御部１０５は、取得された第１被写体画像、取得された第１体型パラメータ及び取得された基準位置情報を、当該第１被写体画像の第１被写体を識別するための被写体ＩＤに対応付けて衣服ＤＢ１４ａに記憶する（ステップＳ１４）。
【０１１８】
次に、第１衣服画像取得部１０４は、取得された第１被写体画像から衣服領域を抽出して、第１衣服画像を取得する（ステップＳ１５）。続いて、第１編集値算出部１０６は、取得された第１衣服画像を編集するための第１編集値を算出する（ステップＳ１６）。そして、第２衣服画像生成部１０７は、算出された第１編集値を用いて、取得された第１衣服画像を編集し、第２衣服画像を生成する（ステップＳ１７）。その後、記憶制御部１０５は、取得された第１被写体画像、取得された第１体型パラメータ及び取得された基準位置情報に対応付けて、生成された第２衣服画像を記憶部１４に記憶する（ステップＳ１８）。
【０１１９】
なお、画像処理装置１１は、ステップＳ１１〜ステップＳ１８の処理を、異なる衣服ＩＤによって識別される衣服の第１衣服画像を取得する度に繰り返し実行する。
【０１２０】
続いて、第２被写体画像生成部１０８は、記憶部１４に記憶された第１被写体画像から第２編集値を用いて、第２被写体画像を生成する（ステップＳ１９）。次に、記憶制御部１０５は、上記した第２被写体画像を生成するために用いられた第１被写体画像の被写体ＩＤに対応付けて当該第２被写体画像を衣服ＤＢ１４ａに記憶する（ステップＳ２０）。
【０１２１】
その後、第３衣服生成部１０９は、上記した第２被写体画像の生成時に用いられた第２編集値及び第１被写体画像を用いて、当該第１被写体画像に対応する第１体型パラメータ及び基準位置情報から、当該第２被写体画像の体型を示す第２体型パラメータと、当該第２被写体画像に対応する基準位置情報とを算出する（ステップＳ２１）。そして、記憶制御部１０５は、算出された第２体型パラメータ及び基準位置情報を、生成された第２被写体画像に対応付けて衣服ＤＢ１４ａに記憶する（ステップＳ２２）。
【０１２２】
次に、第３衣服画像生成部１０９は、第２被写体画像生成時に用いられた第２編集値を用いて、生成された第２衣服画像を編集して、第３衣服画像を生成する（ステップＳ２３）。しかる後、記憶制御部１０５は、生成された第３衣服画像を、上記した第２被写体画像に対応付けて衣服ＤＢ１４ａに記憶し（ステップＳ２４）、ここでの処理を終了させる。
【０１２３】
なお、上記したように、記憶制御部１０５は、第３衣服画像に代えて、第２編集値を、生成された第２被写体画像に対応づけて衣服ＤＢ１４ａに記憶してもよい。この場合には、ステップＳ２３及びステップＳ２４の処理は実行されない。
【０１２４】
画像処理装置１１が、上記したステップＳ１１〜Ｓ２４の処理を実行することで、衣服ＤＢ１４ａには、図２に示した各種データが格納される。すなわち、衣服ＤＢ１４ａには、第１被写体画像と、第１体型パラメータと、基準位置情報と、１以上の第２衣服画像とが対応付けて記憶される。また、衣服ＤＢ１４ａには、１つの被写体ＩＤに対して、１つの第１被写体画像と、１以上の第２被写体画像とが対応付けて記憶される。さらに、衣服ＤＢ１４ａには、第２被写体画像と、第２体型パラメータと、基準位置情報と、１以上の第３衣服画像とが対応付けて記憶される。
【０１２５】
以上説明した一実施形態によれば、画像処理装置１１は、合成対象となる衣服の第１衣服画像をそのまま記憶部１４に記憶するのではなく、第１衣服画像の透過度、サイズ、形状、位置等を編集した第２衣服画像を記憶部１４に記憶するので、被写体画像に衣服画像を合成した際、すなわち、仮想試着時に、自然な見え方の試着状態をユーザに提示することができる。
【０１２６】
図１３は、第１衣服画像を被写体画像に合成した場合と、第２衣服画像を被写体画像に合成した場合との違いを説明するための図である。図１３（Ａ）は、第１衣服画像３０を被写体画像に合成した場合を示す図である。この場合、第１衣服画像３０の衣服の襟首部分が被写体画像の顔にささってしまい、不自然な見え方の試着状態をユーザに提示することになる。これに対し、図１３（Ｂ）は、第２衣服画像を被写体画像に合成した場合を示す図である。図１３（Ｂ）に示す第２衣服画像３１は、図１３（Ａ）に示す第１衣服画像の衣服の襟首部分の画素の透過度を変更した画像である。この場合、第２衣服画像３１の衣服の襟首部分が被写体画像の顔にささることなく、自然な見え方の試着状態をユーザに提示することができている。このように、本実施形態に係る画像処理装置１１によれば、仮想試着時に自然な見え方の試着状態をユーザに提示することができる。
【０１２７】
また、本実施形態によれば、画像処理装置１１は、第１衣服画像の視覚的特性を損なわない第１範囲内の第１編集値を用いて第２衣服画像を生成しているため、単に第１衣服画像を編集した場合より、自然な見え方の試着状態をユーザに提示することができる。
【０１２８】
さらに、本実施形態によれば、画像処理装置１１は、第２衣服画像に対応付けられた第１体型パラメータとは異なる第２体型パラメータに対応する第３衣服画像を記憶部１４に記憶するので、様々な体型のユーザに等しく、自然な見え方の試着状態を提示することができる。
【０１２９】
また、本実施形態によれば、画像処理装置１１は、第３衣服画像を記憶部１４に記憶することに代えて、第３衣服画像を生成するために用いる第２編集値を記憶部１４に記憶することもできるので、記憶部１４のデータ容量に応じて、データ容量の削減を試みることもできる。
【０１３０】
以下、一実施形態の変形例について説明する。  
図１４は、本実施形態に係る画像処理システムの別の構成例を示す図である。図１４に示す画像処理システム１０ａは、例えば記憶装置１６と処理装置１７とが通信回線１８を介して接続されている。記憶装置１６は、上記した図１に示す記憶部１４を備えた装置であり、例えばパーソナルコンピュータ等を含む。処理装置１７は、上記した図１に示す画像処理装置１１、撮像部１２、入力部１３及び表示部１５を備えた装置である。なお、上記した図１と同様の部分については同一参照符号を付してその詳しい説明を省略する。通信回線１８は、例えばインターネット等の通信回線であり、有線通信回線及び無線通信回線を含む。
【０１３１】
図１４に示すように、記憶部１４を、通信回線を介して処理装置１７に接続された記憶装置１６に設けた構成とすることにより、複数の処理装置１７から同じ記憶部１４にアクセスすることが可能となる。これにより、記憶部１４に記憶されているデータの一元管理が可能となる。
【０１３２】
次に、図１５を参照して、本実施形態に係る画像処理装置１０のハードウェア構成について説明する。図１５は、本実施形態に係る画像処理装置１０のハードウェア構成の一例を示すブロック図である。
【０１３３】
図１５に示すように、画像処理装置１０においては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０４、表示部２０５、通信Ｉ／Ｆ部２０６、撮像部２０７及び入力部２０８等がバス２０９により相互に接続されている。すなわち、画像処理装置１０は、通常のコンピュータを利用したハードウェア構成を有する。
【０１３４】
ＣＰＵ２０１は、画像処理装置１０の全体の処理を制御する演算装置である。ＲＯＭ２０２は、ＣＰＵ２０１による各種処理を実現するプログラム等を記憶する。ＲＡＭ２０３は、ＣＰＵ２０１による各種処理に必要なデータを記憶する。ＨＤＤ２０４は、上記した記憶部１４に記憶されるデータを格納する。表示部２０５は、上記した表示部１５に相当する。通信Ｉ／Ｆ部２０６は、外部装置または外部端末に通信回線等を介して接続し、接続された外部装置または外部端末との間でデータを送受信するためのインタフェースである。撮像部２０７は、上記した撮像部１２に相当する。入力部２０８は、上記した入力部１３に相当する。
【０１３５】
なお、本実施形態に係る画像処理装置１０において実行される上記各種処理を実行するためのプログラムは、ＲＯＭ２０２等に予め組み込んで提供される。また、このプログラムは、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。更に、このプログラムは、例えばネットワークを介して画像処理装置１０にダウンロードされても構わない。
【０１３６】
なお、上記したＨＤＤ２０４に格納されている各種情報、すなわち、記憶部１４に記憶されている各種情報は、外部装置（例えば、サーバ装置）等に格納されていてもよい。この場合には、外部装置とＣＰＵ２０１とがネットワーク等を介して接続された構成とすればよい。
【０１３７】
なお、本実施形態の処理は、コンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１３８】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１３９】
１０…画像処理システム、１１…画像処理装置、１２…撮像部、１３…入力部、１４…記憶部、１４ａ…衣服ＤＢ、１５…表示部、１０１…第１被写体画像取得部、１０２…体型パラメータ取得部、１０２ａ…デプス画像取得部、１０２ｂ…体型パラメータ推定部、１０３…基準位置情報取得部、１０４…第１衣服画像取得部、１０５…記憶制御部、１０６…第１編集値算出部、１０７…第２衣服画像生成部、１０８…第２被写体画像生成部、１０９…第３衣服画像生成部、１１０…表示制御部。
【図１】
0006262105.tif 000002
【図２】
0006262105.tif 000003
【図３】
0006262105.tif 000004
【図４】
0006262105.tif 000005
【図５】
0006262105.tif 000006
【図６】
0006262105.tif 000007
【図７】
0006262105.tif 000008
【図８】
0006262105.tif 000009
【図９】
0006262105.tif 000010
【図１０】
0006262105.tif 000011
【図１１】
0006262105.tif 000012
【図１２】
0006262105.tif 000013
【図１３】
0006262105.tif 000014
【図１４】
0006262105.tif 000015
【図１５】
0006262105.tif 000016