以下に添付図面を参照して、画像処理装置、画像処理システム、画像処理方法、及びプログラムの一の実施の形態を詳細に説明する。
(実施の形態1)
図1は、本実施の形態の画像処理システム10の機能的構成を示すブロック図である。画像処理システム10は、画像処理装置12と、撮影部14と、入力部16と、記憶部18と、表示部20と、を備える。撮影部14、入力部16、記憶部18、及び表示部20は、画像処理装置12に信号授受可能に接続されている。
本実施の形態では、画像処理システム10は、画像処理装置12と、撮影部14と、入力部16と、記憶部18と、表示部20と、が別体として設けられた構成である。しかし、画像処理システム10は、画像処理装置12と、撮影部14、入力部16、記憶部18、及び表示部20の内の少なくとも1つと、が一体的に構成された形態であってもよい。
撮影部14は、第1被写体を撮影し、第1被写体の第1被写体画像を得る。撮影部14は、撮影によって取得した第1被写体画像を、画像処理装置12へ出力する。
第1被写体は、衣服を着用する対象である。第1被写体は、衣服を着用する対象であればよく、生物であってもよいし、非生物であってもよい。該生物には、例えば、人物が挙げられるが、人物に限られず、犬や猫などの動物であってもよい。また、該非生物には、人体や動物の形状を模したマネキンや、各種物体が挙げられるが、これに限られない。
衣服とは、被写体が着用可能な品物である。衣服としては、例えば、上着、スカート、ズボン、靴、帽子などが挙げられる。なお、衣服は、上着、スカート、ズボン、靴、帽子などに限定されない。なお、被写体は、第1被写体、及び後述する第2被写体を含む、撮影対象の総称である。
本実施の形態では、撮影部14は、第1撮影部14A及び第2撮影部14Bを含む。
第1撮影部14Aは、撮影により第1被写体の色画像を取得する。
色画像は、ビットマップ画像である。第1被写体の色画像は、画素毎に、第1被写体の色や輝度等を示す画素値の規定された画像である。第1撮影部14Aは、色画像を取得可能な公知の撮影装置である。
第2撮影部14Bは、第1被写体のデプスマップを取得する。
デプスマップは、距離画像と称される場合がある。第1被写体のデプスマップは、画素毎に、第1被写体を撮影した第2撮影部14Bからの距離を規定した画像である。本実施の形態では、第1被写体のデプスマップは、第1被写体の色画像から、ステレオマッチング等の公知の方法により作成してもよいし、第1被写体の色画像と同じ撮影条件で、第2撮影部14Bを用いて撮影することで取得してもよい。第2撮影部14Bは、デプスマップを取得可能な公知の撮影装置である。
本実施の形態では、第1撮影部14A及び第2撮影部14Bは、同じタイミングで被写体の撮影を行う。第1撮影部14A及び第2撮影部14Bは、図示を省略する制御部等によって、同じタイミングで同期して撮影を行うように制御される。そして、撮影部14は、第1被写体のデプスマップ、及び第1被写体の色画像を含む、第1被写体画像を、順次画像処理装置12へ出力する。
なお、本実施の形態では、第1撮影部14A及び第2撮影部14Bのカメラ座標系が、同じであるものとして説明する。なお、第1撮影部14A及び第2撮影部14Bのカメラ座標系が異なる場合、画像処理装置12は、一方のカメラ座標系を他方のカメラ座標系に変換して各処理に用いればよい。
なお、本実施の形態では、第1被写体画像は、第1被写体の色画像と、第1被写体のデプスマップと、を含む場合を説明するが、この形態に限定されない。例えば、第1被写体画像は、後述する骨格情報を含んでいてもよい。
表示部20は、各種画像を表示する装置である。表示部20は、例えば、液晶表示装置等の表示装置である。なお、画像処理システム10は、表示部20を備えない構成であってもよい。
入力部16は、ユーザからの入力を受け付ける。ユーザは、操作者の総称である。
入力部16は、ユーザが各種の操作入力を行うための手段である。入力部16は、例えば、マウス、ボタン、リモコン、キーボード、マイク等の音声認識装置、及び画像認識装等の1または複数を組み合せたものなどを用いる。入力部16として、画像認識装置を採用する場合には、入力部16の前に対峙するユーザの身振り手振り等を、ユーザの各種指示として受け付ける装置としてもよい。この場合には、該画像認識装置では、身振りや手振り等の各動きに対応する指示情報を予め記憶し、認識した身振りや手振りに対応する指示情報を読み取ることで、ユーザによる操作指示を受け付ければよい。
また、入力部16は、携帯端末等の各種情報を送信する外部装置から、ユーザの操作指示を示す信号を受け付ける通信装置であってもよい。この場合には、入力部16は、該外部装置から受信した操作指示を示す信号を、ユーザによる操作指示として受け付ければよい。
なお、入力部16及び表示部20は、一体的に構成されていてもよい。具体的には、入力部16及び表示部20は、入力機能及び表示機能の双方を備えたUI(User Interface)部として構成されていてもよい。UI部には、タッチパネル付LCD(Liquid Crystal Display)等がある。
記憶部18は、各種データを記憶する。本実施の形態では、記憶部18は、衣服データベース(以下、衣服DBと称する)18A、第1範囲、第2範囲、等の各種データを記憶する。第1範囲、第2範囲については詳細を後述する。
衣服DB18Aは、合成対象となる衣服の衣服画像を格納したDB(データベース)である。なお、衣服DB18Aは、後述する各種情報を対応づけて格納した形態であればよく、DBの形態に限定されない。
衣服DB18Aに格納されている各種データは、画像処理装置12による後述する処理によって、登録及び更新されたものである。
図2は、衣服DB18Aのデータ構造の一例を示す図である。衣服DB18Aは、被写体情報と、衣服IDと、衣服画像と、属性情報と、を対応づけた情報である。
被写体情報は、被写体の識別情報(以下、被写体IDと称する)と、被写体画像と、体型パラメータと、基準位置情報と、を含む。
被写体IDは、被写体の各々を一意に識別可能な情報である。
被写体画像は、第1被写体画像と、第2被写体画像と、を含む。第1被写体画像は、撮影部14から取得した第1被写体の第1被写体画像である。第2被写体画像は、画像処理装置12によって、第1被写体画像の編集により生成された被写体画像である(詳細後述)。
体型パラメータは、被写体の体型を示す情報である。体型パラメータは、1または複数のパラメータを含む。パラメータは、人体の1または複数の箇所の採寸値である。採寸値は、実際に採寸した値(実測値)に限定されず、採寸値を推測した値や、採寸値に相当する値(ユーザが任意に入力した値など)を含む。
本実施の形態では、パラメータは、衣服の仕立て時や購入時などに採寸する人体の各部分に対応する採寸値である。具体的には、体型パラメータは、胸囲、胴囲、腰囲、身長、及び肩幅の少なくとも1つのパラメータを含む。なお、体型パラメータに含まれるパラメータは、これらのパラメータに限定されない。例えば、体型パラメータは、袖丈、股下、3次元CGモデルの頂点位置、骨格の関節位置、などのパラメータを更に含んでもよい。
体型パラメータは、第1体型パラメータと、第2体型パラメータと、を含む。第1体型パラメータは、第1被写体の体型を示す体型パラメータである。第2体型パラメータは、第2被写体の体型を示す体型パラメータである。
基準位置情報は、合成時の位置合わせに用いる情報である。合成時とは、被写体の被写体画像と、衣服画像と、を合成するときを示す。被写体画像は、被写体を示す画像の総称である。基準位置情報は、合成時の位置合わせの基準に用いられる。
基準位置情報は、例えば、特徴領域、輪郭、特徴点、などを含む。
特徴領域は、被写体画像における、被写体の形状を推定可能な領域である。特徴領域には、人体の肩部に対応する肩領域や、腰部に対応する腰領域や、足部に対応する足領域等があるが、これらに限られない。
輪郭は、被写体画像における、被写体の形状を推定可能な領域の輪郭である。例えば、被写体の形状を推定可能な領域が人体の肩領域である場合、被写体画像における、輪郭は、肩領域の輪郭を示す線状の画像である。
特徴点は、被写体画像における、被写体の形状を推定可能な点を示す。特徴点は、例えば、人体の関節部分を示す各位置や、上記特徴領域の中心に相当する位置などである。特徴点は、例えば、人体の両肩の中央に相当する位置などである。なお、特徴点は、これらに限定されない。特徴点は、画像上の位置座標で示される。
図3は、基準位置情報40の一例を示す図である。図3(A)は、輪郭40Aの一例を示す図である。図3(A)では、一例として、人体の肩部の輪郭40Aを示した。図3(B)は、特徴領域40Bの一例を示す図である。図3(B)では、一例として、人体の肩部の領域を特徴領域40Bとして示した。図3(C)は、特徴点40Cの一例を示す図である。図3(C)では、一例として、人体の関節部分に相当する点の各々を、特徴点40Cとして示した。
なお、基準位置情報は、合成画像の生成時の位置合わせの基準を示す情報であればよく、特徴領域、輪郭、特徴点、などに限定されない。
図2に戻り、衣服DB18Aは、1つの被写体画像と、1つの体型パラメータと、に対して、1つの基準位置情報を対応づけて格納している。すなわち、衣服DB18Aは、1つの体型パラメータに対して、1つの基準位置情報を対応づけて格納する。
衣服ID(衣服の識別情報)は、衣服を一意に識別するための情報である。衣服IDは、例えば、衣服の製品番号や、衣服の名称等であるが、これらに限られない。製品番号は、例えば、公知のJANコードなどである。名称は、例えば、衣服の品名などである。
衣服画像は、衣服の画像である。衣服画像は、画素毎に、衣服の色や輝度等を示す画素値の規定された画像である。衣服画像は、第2衣服画像と、第3衣服画像と、を含む。第2衣服画像は、画像処理装置12によって、第1衣服画像の編集により生成された衣服画像である(詳細後述)。第3衣服画像は、画像処理装置12によって、第2衣服画像の編集により生成された衣服画像である(詳細後述)。
属性情報は、対応する衣服IDによって識別される衣服の属性を示す情報である。属性情報は、例えば、衣服の種類、衣服のサイズ、衣服の名称、衣服の販売元(ブランド名など)、衣服の形状、衣服の色、衣服の素材、衣服の値段等である。なお、属性情報は、更に、対応する第1被写体の被写体ID、第1衣服画像から第2衣服画像を生成するときに用いた第1編集値(詳細後述)、第2衣服画像から第3衣服画像を生成するときに用いた第2編集値(詳細後述)、などを更に含んでいても良い。
図2に示すように、衣服DB18Aは、1つの被写体画像、1つの体型パラメータ、1つの基準位置情報に、対して、複数の衣服画像(1または複数の第2衣服画像、1または複数の第3衣服画像)を対応付けて格納する。
なお、衣服DB18Aは、1つの被写体画像と、1つの体型パラメータと、1つの基準位置情報と、複数の衣服画像と、を対応づけた情報であればよい。すなわち、衣服DB18Aは、被写体ID、衣服ID、及び属性情報の少なくとも1つを含まない形態であってもよい。また、衣服DB18Aは、更に、他の情報を対応づけた情報であってもよい。
図1に戻り、画像処理装置12は、CPU(Central Processing Unit)、ROM(Read Only Memory)、及びRAM(Random Access Memory)などを含んで構成されるコンピュータである。なお、画像処理装置12を、CPU以外の回路などで構成してもよい。
画像処理装置12は、第1取得部22と、第2取得部24と、第3取得部26と、第4取得部28と、第1生成部30と、第2生成部32と、第3生成部34と、記憶制御部36と、表示制御部39と、を含む。
第1取得部22、第2取得部24、第3取得部26、第4取得部28、第1生成部30、第2生成部32、第3生成部34、記憶制御部36、及び表示制御部39の一部またはすべては、例えば、CPUなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
第3取得部26は、第1被写体の第1被写体画像を取得する。第3取得部26は、撮影部14から、第1被写体画像を取得する。なお、第3取得部26は、図示を省略する外部装置からネットワークなどを介して第1被写体画像を取得してもよい。また、第3取得部26は、記憶部18などに予め記憶された第1被写体画像を読取ることによって、第1被写体画像を取得してもよい。
本実施の形態では、撮影部14から第1被写体画像を取得する場合を説明する。
なお、第1被写体の撮影時には、第1被写体は、身体のラインが明確となる衣服(例えば、下着など)を着用した状態であることが好ましい。身体のラインが明確となる衣服を着用した第1被写体を撮影した第1被写体画像を取得することで、後述する第1体型パラメータの推定処理や、基準位置情報の算出処理の、精度を高めることができる。
第2取得部24は、第1被写体の体型を示す第1体型パラメータを取得する。
第2取得部24は、例えば、ユーザによる入力部16の操作指示によって入力された第1体型パラメータを、取得する。
例えば、表示制御部39が、第1被写体の体型を示す第1体型パラメータの入力画面を表示部20に表示する。この入力画面は、例えば、胸囲、胴囲、腰囲、身長、及び肩幅などのパラメータの入力欄を含む。ユーザは、表示部20に表示された入力画面を参照しながら入力部16を操作することで、各パラメータの入力欄に、値を入力する。入力部16から、入力されたパラメータを第2取得部24へ出力する。第2取得部24は、入力部16からパラメータを取得することで、第1体型パラメータを取得する。
また、第2取得部24は、第1被写体の第1体型パラメータを推定してもよい。本実施の形態では、第2取得部24が、第1被写体の第1体型パラメータを推定する場合を一例として説明する。
第2取得部24は、第5取得部24Aと、推定部24Bと、を含む。
第5取得部24Aは、第1被写体のデプスマップを取得する。第5取得部24Aは、第3取得部26で取得した第1被写体画像から、第1被写体のデプスマップを読取る。
なお、第3取得部26で取得した第1被写体画像に含まれるデプスマップには、人物領域以外の背景領域などが含まれる場合がある。このため、詳細には、第5取得部24Aは、第1被写体画像から読取ったデプスマップにおける、人物領域を抽出することで、第1被写体のデプスマップを取得する。
第5取得部24Aは、例えば、デプスマップを構成する各画素の3次元位置のうち、奥行き方向の距離について閾値を設定することで、人物領域を抽出する。たとえば、第2撮影部14Bのカメラ座標系において第2撮影部14Bの位置を原点とし、Z軸正方向が、第2撮影部14Bの原点から被写体方向に伸びるカメラの光軸であるとする。この場合、デプスマップを構成する各画素の内、奥行き方向(Z軸方向)の位置座標が予め定めた閾値(例えば、2mを示す値)以上の画素を除外する。これにより、第5取得部24Aは、第2撮影部14Bから該閾値の範囲内に存在する人物領域の画素からなるデプスマップ、すなわち、第1被写体のデプスマップを取得する。
推定部24Bは、第5取得部24Aで取得した第1被写体のデプスマップから、第1被写体の第1体型パラメータを推定する。
推定部24Bは、第1被写体のデプスマップに、人体の三次元モデルデータをあてはめる。そして、推定部24Bは、デプスマップと、第1被写体にあてはめた三次元モデルデータと、を用いて、第1体型パラメータに含まれる各パラメータの値(例えば、身長、胸囲、胴囲、腰囲、肩幅の各々の値)を算出する。このようにして、推定部24Bは、第1被写体の第1体型パラメータを推定する。
詳細には、推定部24Bは、人体の三次元モデルデータ(三次元ポリゴンモデル)を、第1被写体のデプスマップにあてはめる。そして、推定部24Bは、第1被写体のデプスマップにあてはめた、人体の三次元モデルデータにおける、複数のパラメータ(身長、胸囲、胴囲、腰囲、肩幅、など)の各々に対応する部位の距離から、上記採寸値を推定する。具体的には、推定部24Bは、あてはめた人体の三次元モデルデータ上における2頂点間の距離や、ある2頂点を結ぶ稜線の長さなどから、身長、胸囲、胴囲、腰囲、肩幅などの各パラメータの値を算出する。2頂点とは、あてはめた人体の三次元モデルデータ上における、算出対象のパラメータ(身長、胸囲、胴囲、腰囲、肩幅、など)の各々に対応する部位の一端と他端を示す。なお、後述する第2被写体の第2体型パラメータに含まれる各パラメータの値についても、同様にして求めればよい。
第4取得部28は、基準位置情報を取得する。
本実施の形態では、一例として、第4取得部28が、第1被写体画像における、特徴領域、輪郭、及び特徴点を、基準位置情報として取得する場合を説明する。
例えば、第4取得部28は、第3取得部26で取得した第1被写体画像に含まれる、第1被写体の色画像を読取る。そして、第4取得部28は、色画像における、例えば、人体の肩に相当する領域(肩領域)を、特徴領域として抽出する。また、第4取得部28は、抽出した肩領域の輪郭を、特徴領域として抽出する。なお、輪郭は、人体の外形に沿った線状の画像である。このため、肩領域の輪郭は、人体の肩領域の外形に沿った線状の画像である。
なお、特徴領域及び輪郭の取得には、人体の各部(肩部、腰部など)のどの部位を用いてもよい。なお、特徴領域及び輪郭の取得に用いる部位を示す識別情報を予め記憶部18に記憶してもよい。この場合、第4取得部28は、記憶部18に記憶されている該識別情報によって識別される部位を、特徴領域及び輪郭の取得対象の部位として用いればよい。また、第4取得部28は、公知の方法を用いて、第1被写体画像における、人体の各部位に相当する領域の判別を行えばよい。
特徴点は、例えば、第1被写体の骨格情報から算出する。骨格情報は、被写体の骨格を示す情報である。
この場合、第4取得部28は、まず、第3取得部26で取得した第1被写体画像に含まれる、第1被写体のデプスマップを読取る。そして、第4取得部28は、第1被写体のデプスマップを構成する各画素に、人体形状を当てはめることで、骨格情報を生成する。
そして、第4取得部28は、生成した骨格情報によって示される各関節の位置を、特徴点として取得する。なお、第4取得部28は、特徴領域の中心に相当する位置を特徴点として取得してもよい。この場合、第4取得部28は、特徴領域の中心に相当する位置を骨格情報から読取り、特徴点として取得すればよい。例えば、肩領域の中心を特徴点とする場合、第4取得部28は、骨格情報から両肩間の中心位置を求めることで、特徴点を取得する。
第1取得部22は、合成対象となる衣服の第1衣服画像を取得する。
本実施の形態では、第1取得部22は、撮影部14から取得した撮影画像から衣服領域を抽出することで、第1衣服画像を取得する。
例えば、合成対象の衣服を着用した上記第1被写体、または、合成対象の衣服を着用した、上記第1被写体と同じ体型の第3被写体を、撮影部14によって撮影する。撮影部14は、撮影によって得られた撮影画像を、画像処理装置12へ出力する。第1取得部22は、撮影画像を撮影部14から取得する。そして、第1取得部22は、撮影部14から取得した撮影画像に含まれる衣服領域を抽出する。これによって、第1取得部22は、第1衣服画像を取得する。
なお、第1取得部22は、図示を省略する外部装置からネットワークなどを介して、第1衣服画像を取得してもよい。
図4は、第1衣服画像60の一例を示す図である。例えば、第1取得部22は、第1衣服画像60として、第1衣服画像60Aを取得する。
図1に戻り、記憶制御部36は、各種データを記憶部18に記憶する。
詳細には、記憶制御部36は、第3取得部26で取得した第1被写体画像を、第1被写体画像の被写体IDに対応づけて、衣服DB18Aに記憶する。また、記憶制御部36は、第4取得部28で取得した、第1被写体画像における基準位置情報を、該第1被写体画像に対応づけて、衣服DB18Aに記憶する。また、記憶制御部36は、第2取得部24で取得した、第1被写体の体型を示す第1体型パラメータを、該第1被写体の第1被写体画像に対応づけて、衣服DB18Aに記憶する。
このため、図2に示すように、衣服DB18Aには、第1被写体画像と、第1体型パラメータと、基準位置情報と、が1対1対1で対応づけられた状態となる。
図1に戻り、第1生成部30は、第1衣服画像の、サイズと、形状と、位置と、の少なくとも1つを編集した第2衣服画像を生成する。
本実施の形態では、第1生成部30は、第1編集値を用いて、第1衣服画像の、サイズと、形状と、位置と、の少なくとも1つを編集する。例えば、第1生成部30は、第1被写体が第1衣服画像の衣服を着用した状態を示す第2衣服画像となるように、第1衣服画像の、サイズと、形状と、位置と、の少なくとも1つを編集する。
まず、第1生成部30は、第1編集値を算出する。例えば、第1生成部30は、第1被写体画像の第1被写体が第1衣服画像の衣服を着用した状態となるように、第1衣服画像を編集するための第1編集値を算出する。そして、第1生成部30は、算出した第1編集値を用いて、第1衣服画像の、サイズと、形状と、位置と、の少なくとも1つを編集する。
図5は、第2衣服画像62の説明図である。図5に示すように、第1生成部30は、第1衣服画像60(図4参照)の衣服を、第1被写体58が着用した状態を示す第2衣服画像62となるように、第1衣服画像60を編集するための第1編集値を算出する。そして、第1生成部30は、算出した第1編集値を用いて、第1衣服画像60(図4参照)の、サイズと、形状と、位置と、の少なくとも1つを編集し、第2衣服画像62を生成する。
図1に戻り、具体的には、第1生成部30は、第1衣服画像を拡大または縮小することで、第1衣服画像のサイズを編集する。
また、第1生成部30は、第1衣服画像を変形することで、第1衣服画像の形状を編集する。第1衣服画像の変形には、第1衣服画像の縦横比(アスペクト比)の変更や、第1衣服画像の衣服の撮影方向を変更した第2衣服画像となるように変形する処理、が含まれる。
第1編集値は、拡大縮小率、変形率、回転角度、及び位置の変更幅の少なくとも1つを含む。拡大率及び縮小率は、サイズの編集に用いる。変形率は、形状の編集に用いる。回転角度は、撮影方向の角度を示し、形状の編集に用いる。位置の変更幅は、位置の編集に用いる。
すなわち、第1生成部30は、第1編集値として、第1衣服画像の拡大縮小率、変形率、回転角度、及び位置の変更幅の少なくとも1つを算出する。そして、第1生成部30は、算出した第1編集値を用いて、第1衣服画像の、サイズと、形状と、位置と、の少なくとも1つを編集する。
図6は、回転角度の説明図である。回転角度は、第1衣服画像の衣服を着用した第1被写体、または第1衣服画像の衣服を着用した第3被写体の、撮影時の撮影部14に対する角度である。例えば、撮影部14に対して正面の向きで撮影された撮影画像の回転角度は「0度」である。すなわち、この撮影画像に含まれる第1衣服画像60Bの衣服の撮影方向に対応する回転角度は、「0度」である。
例えば、第1生成部30は、第1衣服画像60を正面から右に20度回転させた、第2衣服画像62B20を生成する。また、例えば、第1生成部30は、第1衣服画像60を正面から40度回転させた、第2衣服画像62B40を生成する。
図7は、拡大縮小率の算出の説明図である。
図7(A)は、第1衣服画像60Bの説明図である。図7(B)は、第1被写体画像58Bの説明図である。
例えば、第3取得部26が、第1被写体画像58として、第1被写体画像58Bを取得したとする(図7(B)参照)。また、第1取得部22が、第1衣服画像60として、第1衣服画像60Bを取得したとする(図7(A)参照)。第1被写体画像58Bの第1被写体が、第1衣服画像60Bの衣服を着用した状態を示す状態となるように、第1生成部30は、第1衣服画像60Bの拡大縮小率を算出する。
詳細には、例えば、第1生成部30は、まず、第1被写体の上記骨格情報から、第1被写体画像58B上の関節位置の内、左肩に相当する画素のY座標と、右肩に相当する画素のY座標と、の各々の位置を求める。そして、第1生成部30は、求めた該Y座標の位置(高さ)において、該左肩に相当する画素のX座標から、第1被写体画像58Bの外側に相当する領域に向かって探索を行い、第1被写体画像58Bの左肩側の境界線(輪郭)の位置を示すX座標を求める。さらに、第1生成部30は、求めた該Y座標の位置(高さ)において、右肩に相当する画素のX座標から、第1被写体画像58Bの外側に相当する領域に向かって探索を行い、第1被写体画像58Bの右肩側の境界線(輪郭)の位置を示すX座標を求める。
このようにして求めた2つのX座標の差を求めることで、第1被写体画像58B上の肩幅(ピクセル数)を求める(図7(B)の、肩幅Sh参照)。
次に、第1生成部30は、第1衣服画像60Bについても同様の処理を行うことで、第1衣服画像60B上の肩幅(ピクセル数)を求める(図7(A)の、肩幅Sc参照)。
次に、第1生成部30は、第1衣服画像60Bの肩幅Scと、第1被写体画像58Bの肩幅Shと、を用いて、第1衣服画像60Bの拡大縮小率(スケーリング値)を決定する。具体的には、第1生成部30は、第1被写体画像58Bの肩幅Shを、第1衣服画像60Bの肩幅Scで除算した除算値(Sh/Sc)を、拡大縮小率として算出する。なお、拡大縮小率は、異なる式から算出してもよい。
次に変更率の算出を説明する。図8は、変形率算出の説明図である。
例えば、第3取得部26が、第1被写体画像58として、第1被写体画像58Bを取得したとする(図8(D)参照)。また、第1取得部22が、第1衣服画像60として、第1衣服画像60Bを取得したとする(図8(A)参照)。
第1生成部30は、第1被写体画像58Bの第1被写体が第1衣服画像60Bの衣服を着用した状態を示す状態となるように、第1衣服画像60Bの第1編集値として、変形率を算出する。
例えば、第1生成部30は、第1衣服画像60Bの輪郭68を抽出する(図8(B)参照)。次に、第1生成部30は、輪郭68の内、例えば、人体の肩部に相当する部分の輪郭69を抽出する(図8(C)参照)。
同様に、第1生成部30は、第1被写体画像58Bの輪郭70を抽出する(図8(E)参照)。なお、図8に示す例では、第1生成部30が、第1被写体画像58Bとして、第1被写体のデプスマップを用いる場合を例示した。しかし、第1生成部30は、第1被写体画像58Bとして、第1被写体の色画像を用いてもよい。
次に、第1生成部30は、輪郭70の内、例えば、人体の肩部に相当する部分の輪郭71を抽出する(図8(F)参照)。
次に、第1生成部30は、第1衣服画像60Bの肩部に相当する部分の輪郭69と、第1被写体画像58Bの肩部に相当する部分の輪郭71と、を用いたテンプレートマッチングを行う(図8(G)参照)。そして、第1生成部30は、輪郭69を輪郭71の形状に一致させるための、輪郭69の変形率を算出する。第1生成部30は、算出した変形率を、第1衣服画像60Bを編集するための、変形率として算出する。
図1に戻り、なお、第1生成部30は、第1範囲内の第1編集値を用いて、上記条件を満たすように、第1衣服画像を編集することが好ましい。
第1範囲は、第1編集値のとりうる範囲(上限値と下限値)を定めた情報である。
第1範囲は、編集対象の第1衣服画像の衣服の視覚的な特性を失わない範囲である。すなわち、第1範囲は、編集対象の第1衣服画像の衣服の視覚的な特性を失わない範囲となるように、第1編集値の上限値と下限値を定めたものである。
例えば、第1衣服画像の衣服としての視覚的な特性である、衣服のデザインや、衣服の模様や、衣服の形状などの特性が、第1生成部30による編集によって損なわれる場合がある。
このため、第1範囲として、編集対象の第1衣服画像の衣服の視覚的な特性を失わない範囲を定めることが好ましい。第1生成部30が、第1範囲内の第1編集値を用いて、第1衣服画像を編集した第2衣服画像を生成することで、第2衣服画像を、合成対象の衣服画像として効果的に用いることができる。
この場合、例えば、記憶部18は、衣服の種類と、第1範囲と、を対応づけて予め記憶する。第1範囲は、衣服の種類ごとに予め設定すればよい。第1範囲、及び第1範囲と衣服の種類との対応は、ユーザによる入力部16の操作指示などによって適宜変更可能である。そして、第1取得部22は、第1衣服画像を取得すると共に、入力部16から該第1衣服画像の衣服の種類を取得すればよい。衣服の種類は、ユーザによる入力部16の操作指示によって入力すればよい。第1生成部30は、第1取得部22で取得した衣服の種類に対応する第1範囲を記憶部18から読取り、第1衣服画像の編集に用いればよい。
また、第1範囲は、複数の第2衣服画像を重畳したときに、下層側の第2衣服画像が上層側の第2衣服画像の領域内に収まる範囲としてもよい。例えば、複数の第2衣服画像を、被写体が重ね着した状態や、組み合わせて着用した状態を示す合成画像の生成に用いる場合がある。この場合、下層側に配置される第2衣服画像が、上層側に配置される第2衣服画像の領域より大きいと、合成画像を自然な見え方で提供することは困難である。そこで、第1範囲は、複数の第2衣服画像を重畳したときに、下層側の第2衣服画像が上層側の第2衣服画像の領域内に収まる範囲としてもよい。
この場合、例えば、記憶部18は、衣服の種類と、衣服の重畳順と、第1範囲と、を対応づけて予め記憶する。衣服の重畳順は、対応する種類の衣服を人体等に重ねて着用したときに、該衣服が、人体に最も接する下層側から人体から離れる上層側の各階層の内、何れの階層に着用されることが一般的な衣服であるか、を示す情報である。この場合、第1範囲は、対応する重畳順で、対応する種類の衣服が着用されたときに、上層側の第2衣服画像の領域内に収まる数値の範囲である。
衣服の種類、衣服の重畳順、及び第1範囲は、ユーザによる入力部16の操作指示などによって適宜変更可能である。そして、第1取得部22は、第1衣服画像を取得すると共に、入力部16から該第1衣服画像の衣服の種類と衣服の重畳順を取得すればよい。衣服の種類及び衣服の重畳順は、ユーザによる入力部16の操作指示によって入力すればよい。第1生成部30は、第1取得部22で取得した衣服の種類及び衣服の重畳順に対応する第1範囲を記憶部18から読取り、第1衣服画像の編集に用いればよい。
図9は、第2衣服画像62の一例を示す図である。例えば、第1衣服画像60が、図9(A)に示す第1衣服画像60Aであったとする。この場合、第1生成部30は、第1編集値を用いて、第1衣服画像60Aを編集する。例えば、第1生成部30は、第1衣服画像60A(図9(A)参照)を、図9中の矢印X1方向に変形することで、第2衣服画像62Cを生成する(図9(B)参照)。また、例えば、第1生成部30は、第1衣服画像60A(図9(A)参照)を、図9中の矢印X2方向に変形することで、第2衣服画像62Dを生成する(図9(C)参照)。
なお、位置を編集する場合には、第1生成部30は、撮影画像における第1衣服画像60Aの位置を、撮影画像内で変更すればよい。
なお、第1生成部30は、第1衣服画像60Aの全体のサイズや形状を編集してもよい。また、第1生成部30は、第1衣服画像60Aを複数の領域(例えば、矩形状の領域)に分割し、領域ごとに、サイズや形状を編集してもよい。この場合、各領域の第1編集値は、領域ごとに同じであってもよいし、異なっていてもよい。例えば、衣服の袖部分に相当する領域を、他の領域に比べてアスペクト比が大きくなるように変形してもよい。また、第1生成部30は、Free Form Deformation(FFD)処理により、上記編集を行ってもよい。
上記のようにして、第1生成部30は、第1衣服画像60の、サイズと、形状と、位置と、の少なくとも1つを編集した第2衣服画像62を生成する。
図1に戻り、記憶制御部36は、第2衣服画像62を、記憶部18へ記憶する。
詳細には、第1生成部30が、第1衣服画像60から第1編集値を用いて第2衣服画像62を生成すると、記憶制御部36は、生成された第2衣服画像62を、該第1編集値の算出時に用いた第1被写体画像に対応づけて、衣服DB18Aに記憶する。
また、第1生成部30が、新たな衣服IDによって識別される衣服の第1衣服画像60から、第1編集値を用いて第2衣服画像62を生成する度に、記憶制御部36は、生成された第2衣服画像62を、該第1編集値の算出時に用いた第1被写体画像に対応づけて、衣服DB18Aに記憶する。また、第1生成部30は、同じ衣服IDの衣服に対して、異なる第1編集値を用いた編集を行い、第1衣服画像から、第1編集値の異なる複数の第2衣服画像を生成してもよい。この場合、記憶制御部36は、第1編集値の算出時に用いた第1被写体画像に対応づけて、編集によって生成した複数の第2衣服画像を衣服DB18Aに格納する。
このため、図2に示すように、衣服DB18Aには、1つの第1被写体画像と、1つの第1体型パラメータと、1つの基準位置情報と、に、複数の第2衣服画像62が対応付けられた状態となる。
図1に戻り、第2生成部32は、第1被写体の第1体型パラメータとは異なる第2体型パラメータの体型の第2被写体画像となるように、第1被写体画像58を、第2編集値を用いて編集する。
例えば、第2生成部32は、第1被写体画像58の、サイズ及び形状の少なくとも1つを編集することで、第1体型パラメータとは異なる第2体型パラメータの第2被写体画像を生成する。サイズ及び形状の定義は、上記と同様である。
具体的には、第2生成部32は、第2編集値を用いて、第1被写体画像58の、サイズ及び形状の少なくとも1つを編集する。例えば、第2生成部32は、第1被写体画像58を拡大または縮小することで、第1被写体画像58のサイズを編集する。
また、第2生成部32は、第1被写体画像58を変形することで、第1被写体画像58の形状を編集する。第1被写体画像58の変形には、第1被写体画像58の縦横比(アスペクト比)の変更や、第1被写体画像58の第1被写体の撮影方向を変更した第2被写体画像となるように、変形する処理が含まれる。
第2編集値は、拡大縮小率、変形率、及び回転角度の少なくとも1つを含む。拡大縮小率、変形率、及び回転角度の定義は、第1編集値と同様である。
第2生成部32は、第1被写体の第1体型パラメータとは異なる第2体型パラメータの第2被写体の第2被写体画像となるように、第2編集値を算出する。そして、第2生成部32は、算出した第2編集値を用いて、第1被写体画像58のサイズ及び形状の少なくとも1つを編集し、第2被写体画像を生成する。
なお、第2生成部32は、予め定めた第2範囲内の第2編集値を用いて、上記条件を満たすように、第1被写体画像58を編集することが好ましい。
第2範囲は、第2編集値のとりうる範囲(上限値と下限値)を定めた情報である。
第2範囲は、人体として想定可能な範囲である。すなわち、第2範囲は、編集対象の第1被写体画像58の第1被写体の体型が人体として想定可能な体型の範囲となるように、第2編集値のとりうる範囲を定めたものである。また、第2範囲は、編集対象の第1被写体画像58が衣服を着用した状態を想定したときに、衣服の視覚的な特性を失わない範囲であることが好ましい。このため、第2範囲は、上記第1範囲に応じた範囲であることが好ましい。
この場合、例えば、記憶部18は、衣服の種類と、第1範囲と、第2範囲と、を対応づけて予め記憶する。第1範囲及び第2範囲の各々は、衣服の種類ごとに予め設定すればよい。第1範囲、第2範囲、及び第1範囲と第2範囲と衣服の種類との対応は、ユーザによる入力部16の操作指示などによって適宜変更可能である。そして、第1取得部22は、第1衣服画像を取得すると共に、入力部16から該第1衣服画像の衣服の種類を取得すればよい。第2生成部32は、第1取得部22で取得した衣服の種類と、第1生成部30が用いた第1範囲と、に対応する第2範囲を記憶部18から読取る。そして、第2生成部32は、読取った第2範囲内の第2編集値を用いて、上記条件を満たすように、第1被写体画像58を編集し、第2被写体画像を生成すればよい。
次に、第3生成部34は、第2被写体画像の生成時に用いた第2編集値及び第1被写体画像を用いて、該第1被写体画像に対応する第1体型パラメータ及び基準位置情報から、該第2被写体画像の体型を示す第2体型パラメータと、該第2被写体画像に対応する基準位置情報と、を算出する。
詳細には、第3生成部34は、第2被写体画像の生成時に用いた第2編集値及び第1被写体画像を読取る。そして、第3生成部34は、該第1被写体画像に対応する第1体型パラメータ及び基準位置情報を、衣服DB18Aから読取る(図2参照)。第3生成部34は、該第1被写体画像に対応する第1体型パラメータ及び基準位置情報を、該第2編集値を用いて編集する。これによって、第3生成部34は、第2被写体画像の体型を示す第2体型パラメータと、該第2被写体画像に対応する基準位置情報と、を算出する。
第2被写体画像が生成されると、記憶制御部36は、第2被写体画像を記憶部18に記憶する。詳細には、記憶制御部36は、生成された第2被写体画像を、該第2被写体画像の編集元の第1被写体画像58の被写体IDに対応づけて、衣服DB18Aに記憶する(図2参照)。
また、第2被写体画像に対応する第2体型パラメータと、第2被写体画像に対応する基準位置情報と、が算出されると、記憶制御部36は、該第2体型パラメータと、該基準位置情報と、を該第2被写体画像に対応づけて衣服DB18Aに記憶する(図2参照)。
このため、図2に示すように、衣服DB18Aには、1つの被写体IDに対して、1つの第1被写体画像と、1または複数の第2被写体画像と、が被写体画像として対応づけられた状態となる。また、第2被写体画像には、第2体型パラメータと、基準位置情報と、が1対1対1で対応づけられた状態となる。
図1に戻り、第3生成部34は、第2被写体画像の生成時に用いた第2編集値を用いて、第2衣服画像62を編集し、第3衣服画像を生成する。すなわち、第3生成部34は、第2編集値によって示される拡大縮小率や変形率を用いて、第2衣服画像62を拡大縮小、変形することで、第3衣服画像を生成する。
なお、第1生成部30と同様に、第3生成部34は、第2衣服画像の全体のサイズや形状を編集してもよい。また、第3生成部34は、第2衣服画像を複数の領域(例えば、矩形状の領域)に分割し、領域ごとに、サイズや形状を編集してもよい。この場合、各領域の第2編集値は、領域ごとに同じであってもよいし、異なっていてもよい。また、第3生成部34は、FFD処理により、上記編集を行ってもよい。
第3生成部34が第3衣服画像を生成すると、記憶制御部36は、第3衣服画像を記憶部18に記憶する。
詳細には、記憶制御部36は、第3衣服画像の生成時に用いた第2編集値を読取る。そして、記憶制御部36は、第3衣服画像を、この第2編集値を用いて生成した第2被写体画像に対応づけて、衣服DB18Aに記憶する。
このため、図2に示すように、衣服DB18Aには、上述したように、1つの被写体IDに対して、1つの第1被写体画像と、1または複数の第2被写体画像と、が被写体画像として対応づけられた状態となる。そして、衣服DB18Aには、1つの第2被写体画像と、1つの第2体型パラメータと、1つの基準位置情報と、に、複数の第3衣服画像が対応付けられた状態となる。また、上述したように、1つの第1被写体画像と、1つの第1体型パラメータと、1つの基準位置情報と、に、複数の第2衣服画像が対応付けられた状態となる。第2衣服画像は、第1衣服画像を編集することによって生成された衣服画像である。また、第3衣服画像は、第2衣服画像を編集することによって生成された衣服画像である。
なお、記憶制御部36は、第3衣服画像に代えて、該第3衣服画像の生成に用いた第2編集値を記憶部18に記憶してもよい。この場合には、記憶制御部36は、第2編集値を、第2被写体画像に対応づけて記憶すればよい。また、この場合には、第3生成部34による第3衣服画像の生成処理は、実行しなくてもよい。
次に、本実施の形態の画像処理装置12で実行する画像処理を説明する。
図10は、画像処理装置12で実行する画像処理の手順を示すフローチャートである。
まず、第3取得部26が第1被写体画像を取得する(ステップS100)。次に、第2取得部24が、第1被写体画像の体型を示す第1体型パラメータを取得する(ステップS102)。次に、第4取得部28が、第1被写体画像における基準位置情報を取得する(ステップS104)。記憶制御部36は、第1被写体画像、第1体型パラメータ、及び基準位置情報を、被写体IDに対応づけて衣服DB18Aに記憶する(ステップS106)。このため、図2に示すように、衣服DB18Aには、第1被写体画像と、第1体型パラメータと、基準位置情報と、が1対1対1で対応づけられた状態となる。
次に、第1取得部22が第1衣服画像を取得する(ステップS108)。次に、第1生成部30が、ステップS108で取得した第1衣服画像を、第1編集値を用いて編集し、第2衣服画像を生成する(ステップS110)。次に、記憶制御部36が、ステップS110で生成された第2衣服画像を、ステップS100で取得した、第1被写体画像、ステップS102で取得した第1体型パラメータ、及びステップS104で取得した基準位置情報に対応づけて記憶部18に記憶する(ステップS112)。
このため、図2に示すように、衣服DB18Aには、1つの第1被写体画像と、1つの第1体型パラメータと、1つの基準位置情報と、に、第2衣服画像が対応付けられた状態となる。なお、画像処理装置12は、ステップS100〜ステップS110の処理を、異なる衣服IDによって識別される衣服の第1衣服画像を取得する度に繰り返し実行する。この場合、図2に示すように、衣服DB18Aには、1つの被写体IDに対して、1つの第1被写体画像と、1つの第1体型パラメータと、1つの基準位置情報と、複数の第2衣服画像と、が対応づけられた状態となる。
図10に戻り、次に、第2生成部32が、記憶部18に記憶されている第1被写体画像から、第2編集値を用いて、第2被写体画像を生成する(ステップS114)。次に、記憶制御部36が、ステップS114で生成された第2被写体画像を、該第2被写体画像の生成元の第1被写体画像の被写体IDに対応づけて、衣服DB18Aに記憶する(ステップS116)(図2参照)。
次に、第3生成部34は、ステップS114の第2被写体画像の生成時に用いた第2編集値及び第1被写体画像を用いて、該第1被写体画像に対応する第1体型パラメータ及び基準位置情報から、該第2被写体画像の体型を示す第2体型パラメータと、該第2被写体画像に対応する基準位置情報と、を算出する(ステップS118)。
次に、記憶制御部36が、ステップS118で算出した第2体型パラメータ及び基準位置を、ステップS114で生成した第2被写体画像に対応づけて衣服DB18Aに記憶する(ステップS120)(図2参照)。
次に、第3生成部34が、ステップS114で用いた第2編集値を用いて、ステップS110で生成した第2衣服画像を編集し、第3衣服画像を生成する(ステップS122)。次に、記憶制御部36が、ステップS122で生成した第3衣服画像を、ステップS114で生成した第2被写体画像に対応づけて、衣服DB18Aに記憶する(ステップS124)(図2参照)。そして、本ルーチンを終了する。
なお、上述したように、記憶制御部36は、第3衣服画像に代えて、ステップS114で用いた第2編集値を、ステップS114で生成した第2被写体画像に対応づけて衣服DB18Aに記憶してもよい。この場合には、ステップS122の第3衣服画像生成処理、及びステップS124の記憶処理は実行しなくてよい。
画像処理装置12が、上記ステップS100〜ステップS124の処理を実行することによって、衣服DB18Aは、例えば、図2に示す状態となる。すなわち、衣服DB18Aには、第1被写体画像と、第1体型パラメータと、基準位置情報と、1または複数の第2衣服画像と、が対応づけて記憶される。また、衣服DB18Aには、1つの被写体IDに対して、1つの第1被写体画像と、1または複数の第2被写体画像と、が対応づけて記憶される。また、衣服DB18Aには、第2被写体画像と、第2体型パラメータと、基準位置情報と、1または複数の第3衣服画像と、が対応づけて記憶される。
以上説明したように、本実施の形態の画像処理装置12は、第1取得部22と、第1生成部30と、記憶制御部36と、を備える。第1取得部22は、合成対象となる衣服の第1衣服画像を取得する。第1生成部30は、第1衣服画像の、サイズと、形状と、位置と、の少なくとも1つを編集した第2衣服画像を生成する。記憶制御部36は、第2衣服画像を記憶部18に記憶する。
このように、本実施の形態の画像処理装置12は、合成対象となる衣服の第1衣服画像を、そのまま記憶部18に記憶するのではなく、第1衣服画像の、サイズと、形状と、位置と、の少なくとも1つを編集した第2衣服画像を記憶部18へ記憶する。
このため、被写体画像への衣服画像の合成時には、第1衣服画像に各種編集処理を施すことなく、第2衣服画像を用いて合成画像を生成することができる。
従って、本実施の形態の画像処理装置12は、合成処理の簡略化を実現可能な衣服画像を提供することができる。
また、第1生成部30は、第1範囲内の第1編集値を用いて、第1衣服画像の、サイズと、形状と、位置と、の少なくとも1つを編集した第2衣服画像を生成する。このように、第1衣服画像の編集時に用いる第1編集値に制約を設けることで、上記効果に加えて更に、より自然な見え方の合成画像を生成可能な、衣服画像を提供することができる。
また、この第1範囲は、第1衣服画像の衣服の視覚的な特性を損なわない範囲であることが好ましい。第1範囲を、この範囲とすることで、上記効果に加えて更に、より自然な見え方の合成画像を生成可能な、衣服画像を提供することができる。
また、この第1範囲は、複数の前記第2衣服画像を重畳したときに、下層側の第2衣服画像が上層側の第2衣服画像の領域内に収まる範囲であることが好ましい。第1範囲を、この範囲とすることで、上記効果に加えて更に、より自然な見え方の合成画像を生成可能な、衣服画像を提供することができる。
また、本実施の形態の画像処理装置12は、第2取得部24を備える。第2取得部24は、第1被写体の体型を示す第1体型パラメータを取得する。第1生成部30は、第1被写体が第1衣服画像の衣服を着用した状態を示す第2衣服画像となるように、第1衣服画像を編集する。
このため、画像処理装置12は、体型に応じた試着状態の合成画像を生成可能な、衣服画像を提供することができる。
また、第1生成部30は、第1衣服画像の衣服の撮影方向を変更した第2衣服画像となるように、第1衣服画像の形状を編集する。衣服画像を合成する対象の被写体画像は、ある一定の撮影方向から被写体を撮影することによって得られた画像に限られない。このため、第1生成部30が、第1衣服画像の衣服の撮影方向を変更した第2衣服画像となるように、第1衣服画像の形状を編集することで、合成処理の簡略化を実現可能な衣服画像を提供することができる。
また、本実施の形態の画像処理装置12は、第3取得部26と、第2生成部32と、第3生成部34と、を備える。第3取得部26は、第1被写体の第1被写体画像を取得する。第3生成部34は、この第1被写体の第1体型パラメータとは異なる第2体型パラメータの体型の第2被写体画像となるように、第1被写体画像を、第2編集値を用いて編集する。第3生成部34は、第2編集値を用いて、第2衣服画像を編集した第3衣服画像を生成する。記憶制御部36は、第3衣服画像を記憶部18に記憶する。
このため、画像処理装置12では、生成した第2衣服画像を用いて、第2体型パラメータに対応する第3衣服画像を、容易に生成することができる。
なお、上述したように、記憶制御部36は、第3衣服画像の記憶に代えて、第2被写体画像の生成に用いた第2編集値を衣服DB18Aに記憶してもよい。第3衣服画像に代えて、第2編集値を衣服DB18Aに記憶することで、衣服DB18Aのデータ容量を削減することができる。
また、第2生成部32は、予め定めた第2範囲内の第2編集値を用いて、第1被写体画像を第2被写体画像に編集する。このように、第2衣服画像の編集時に用いる第2編集値に制約を設けることで、上記効果に加えて更に、より自然な見え方の合成画像を生成可能な、衣服画像を提供することができる。
また、本実施の形態の画像処理装置12は、第4取得部28を備える。第4取得部28は、第1体型パラメータの第1被写体の第1被写体画像における、合成時の位置合わせに用いる基準位置情報を取得する。そして、記憶制御部36は、第1体型パラメータと、基準位置情報と、複数の第2衣服画像と、を対応づけて記憶部18に記憶する。
ここで、従来では、合成時には、位置合わせに用いる基準位置情報などを、衣服画像ごとに算出していた。そして、複数の衣服画像の各々ごとに算出した基準位置情報を用いて、複数の衣服画像の各々と、被写体画像と、の位置合わせを行って合成していた。ここで、複数の衣服を組み合わせて試着した状態を示す、合成画像を生成する場合を想定する。また、複数の衣服を重ねて試着した状態を示す、合成画像を生成する場合を想定する。
これらの場合、従来では、被写体画像と、複数の衣服画像の各々と、を、複数の衣服画像の各々ごとに、各衣服画像の基準位置情報を用いて位置合わせしていた。このため、従来では、被写体画像に合成された複数の衣服画像の各々にずれが生じ、自然な見え方の試着状態を示す合成画像を提供することは困難であった。
一方、本実施の形態の画像処理装置12は、基準位置情報を、衣服ごとではなく、被写体の体型を示す1つの体型パラメータごとに、衣服DB18Aに記憶する。そして、1つの第1体型パラメータと、1つの基準位置情報に対して、複数の第2衣服画像を対応づけて衣服DB18Aに記憶する。
このため、本実施の形態の画像処理装置12では、より自然な見え方の試着状態の合成画像を生成可能な、衣服画像を提供することができる。
また、第2生成部32は、第1被写体画像を、第2編集値を用いて編集し、第2被写体画像を生成する。また、第2生成部32は、第1体型パラメータ及び対応する基準位置情報を、第2編集値を用いて編集する。これにより、第2生成部32は、第2被写体画像に対応する、第2体型パラメータ、及び基準位置情報を生成する。第3生成部34は、第2編集値を用いて、第2衣服画像を編集した第3衣服画像を生成する。記憶制御部36は、これらの情報を対応づけて衣服DB18Aに記憶する。
よって、衣服DB18Aには、1つの第2被写体画像と、1つの第2体型パラメータと、1つの基準位置情報に対して、複数の第3衣服画像もまた格納された状態となる。
このため、合成時には、各第2衣服画像及び第3衣服画像の各々に対応する基準位置情報を用いて、被写体画像と合成した合成画像を生成することで、より自然な見え方の試着状態の合成画像を提供することができる。
すなわち、本実施の形態の画像処理装置12では、より自然な見え方の試着状態を示す合成画像を生成可能な、衣服画像を提供することができる。
(実施の形態2)
図11は、本実施の形態の画像処理システム10Aの機能的構成を示すブロック図である。
画像処理システム10Aは、画像処理装置12Aと、撮影部14と、入力部16と、記憶部18と、表示部20と、を備える。撮影部14、入力部16、記憶部18、及び表示部20は、画像処理装置12Aに信号授受可能に接続されている。撮影部14、入力部16、記憶部18、及び表示部20は、実施の形態1と同様である。
画像処理装置12Aは、CPU、ROM、及びRAMなどを含んで構成されるコンピュータである。なお、画像処理装置12Aを、CPU以外の回路などで構成してもよい。
画像処理装置12Aは、第1取得部22と、第2取得部24と、第3取得部26と、第4取得部28と、第1生成部30と、第2生成部32と、第3生成部34と、記憶制御部36と、表示制御部39と、合成部38と、を含む。
第1取得部22、第2取得部24、第3取得部26、第4取得部28、第1生成部30、第2生成部32、第3生成部34、記憶制御部36、表示制御部39、及び合成部38の一部またはすべては、例えば、CPUなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ICなどのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
画像処理装置12Aは、合成部38を更に備えた以外は、実施の形態1の画像処理装置12と同様である。
合成部38は、合成対象の被写体画像と、被写体画像に合成する合成対象の衣服画像と、を合成する。
合成部38は、合成対象の被写体画像を撮影部14から取得する。なお、合成部38は、合成対象の被写体画像を、図示を省略する外部装置などからネットワークを介して取得してもよい。また、合成対象の被写体画像は、実施の形態1で用いた第1被写体画像や第2被写体画像であってもよい。
合成部38は、実施の形態1で説明した衣服DB18Aに格納されている衣服画像(第2衣服画像、第3衣服画像)を、合成対象の衣服画像として用いる。
詳細には、合成部38は、衣服DB18Aに格納されている、複数の、第2衣服画像及び第3衣服画像の内、合成対象の衣服画像の選択を、入力部16から受け付ける。例えば、ユーザは、入力部16の操作指示によって、衣服IDや、衣服の属性情報などを入力する。
合成部38は、入力部16から受け付けた、衣服IDや属性情報に対応する、第2衣服画像及び第3衣服画像の少なくとも一方を、衣服DB18Aから検索する。そして、表示制御部39は、検索した、1または複数の、第2衣服画像及び第3衣服画像の少なくとも一方の一覧を、表示部20に表示する制御を行う。
表示部20に衣服画像の一覧が提示されると、ユーザは、入力部16の操作指示によって、表示部20に表示された衣服画像の一覧の中から、合成対象の衣服の衣服画像を選択する。すると、入力部16は、ユーザによって選択された衣服画像を一意に識別する識別情報を、画像処理装置12Aへ出力する。合成部38は、入力部16から、合成対象の衣服画像の識別情報を取得することで、該識別情報に対応する衣服画像(第2衣服画像または第3衣服画像)を衣服DB18Aから読取る。
次に、合成部38は、合成対象の被写体画像と、被写体画像に合成する合成対象の衣服画像(第2衣服画像または第3衣服画像)と、を合成する。
ここで、実施の形態1で説明したように、第2衣服画像及び第3衣服画像は、撮影によって取得した第1衣服画像を編集した衣服画像である。このため、合成部38は、被写体画像への衣服画像の合成時に、合成対象の衣服画像(第2衣服画像、または第3衣服画像)に各種編集処理を施すことなく、合成画像を生成することができる。
従って、本実施の形態の画像処理装置12Aは、実施の形態1の効果に加えて、合成処理の簡略化を実現することができる。
また、本実施の形態の画像処理装置12Aは、実施の形態1で説明した衣服DB18Aに格納されている衣服画像(第2衣服画像、第3衣服画像)を、合成対象の衣服画像として用いる。
このため、本実施の形態の画像処理装置12Aは、より自然な見え方の合成画像を生成することができる。
また、合成部38は、合成時には、合成対象の衣服画像(第2衣服画像または第3衣服画像)に対応する基準位置情報を用いて、位置合わせを行い、合成画像を生成する。
例えば、基準位置情報が、特徴領域を含むとする。この場合、合成部38は、合成対象の衣服画像(第2衣服画像または第3衣服画像)に対応する特徴領域と、合成対象の被写体画像の特徴領域と、が一致するように位置合わせを行い、合成画像を生成する。
ここで、実施の形態1で説明したように、記憶制御部36は、衣服ごとではなく、被写体の体型を示す1つの体型パラメータごとに、基準位置情報を衣服DB18Aに記憶する。そして、1つの体型パラメータと、1つの基準位置情報に対して、第2衣服画像及び第3衣服画像の少なくとも一方を含む複数の衣服画像と、を対応づけて衣服DB18Aに記憶する。
このため、合成部38は、合成画像の生成時に、第2衣服画像及び第3衣服画像の各々に対応する基準位置情報を用いて、被写体画像と合成した合成画像を生成することにより、より自然な見え方の試着状態の合成画像を生成することができる。
(実施の形態3)
図12は、画像処理システム10Bを示す模式図である。
画像処理システム10Bは、記憶装置72と、処理装置11と、が通信回線74を介して接続されている。
記憶装置72は、実施の形態1における記憶部18を備えた装置であり、公知のパーソナルコンピュータ等である。処理装置11は、画像処理装置12、撮影部14、入力部16、及び表示部20を備えた装置である。なお、実施の形態1と同じ機能部には同じ符号を付与して詳細な説明を省略する。通信回線74は、インターネット等の通信回線であり、有線通信回線や、無線通信回線がある。
なお、処理装置11は、実施の形態1の画像処理装置12に代えて、実施の形態2の画像処理装置12Aを備えた構成であってもよい。
図12に示すように、記憶部18を、通信回線74を介して処理装置11に接続された記憶装置72に設けた構成とする。この構成とすることで、複数の処理装置11から同じ記憶部18にアクセスすることができ、記憶部18に記憶されているデータの一元管理が可能となる。
(実施の形態4)
次に、本実施の形態1〜実施の形態3の画像処理システム10、画像処理システム10A、処理装置11、記憶装置72のハードウェア構成について説明する。図13は、画像処理システム10、画像処理システム10A、処理装置11、記憶装置72のハードウェア構成例を示すブロック図である。
画像処理システム10、画像処理システム10A、処理装置11、記憶装置72は、表示部80、通信I/F部82、撮影部84、入力部94、CPU86、ROM(Read Only Memory)88、RAM(Random Access Memory)90、及びHDD92等がバス96により相互に接続されており、通常のコンピュータを利用したハードウェア構成となっている。
CPU86は、画像処理システム10、画像処理システム10A、処理装置11、記憶装置72の全体の処理を制御する演算装置である。RAM90は、CPU86による各種処理に必要なデータを記憶する。ROM88は、CPU86による各種処理を実現するプログラム等を記憶する。HDD92は、上述した記憶部18に格納されるデータを記憶する。通信I/F部82は、外部装置や外部端末に通信回線等を介して接続し、接続した外部装置や外部端末との間でデータを送受信するためのインタフェースである。表示部80は、上述した表示部20に相当する。撮影部84は、上述した撮影部14に相当する。入力部94は、上述した入力部16に相当する。
なお、記憶装置72は、撮影部84を備えない構成であってもよい。また、詳細には、通信I/F部82、CPU86、ROM88、及びRAM90が、画像処理装置12、画像処理装置12A、及び記憶装置72のハードウェア構成に相当する。
画像処理システム10、画像処理システム10A、処理装置11、及び記憶装置72における、画像処理装置12、及び画像処理装置12Aで実行される上記各種処理を実行するためのプログラムは、ROM88等に予め組み込んで提供される。
なお、本実施の形態1〜実施の形態3で実行されるプログラムは、これらの装置にインストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供するように構成してもよい。
また、本実施の形態1〜実施の形態3で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態1〜実施の形態3の画像処理装置12、及び画像処理装置12Aにおける上記各処理を実行するためのプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。
本実施の形態1〜実施の形態3で実行される上記各種処理を実行するためのプログラムは、上述した各部が主記憶装置上に生成されるようになっている。
なお、上記HDD92に格納されている各種情報、すなわち記憶部18に格納されている各種情報は、外部装置(例えばサーバ)に格納してもよい。この場合には、該外部装置とCPU86と、を、ネットワーク等を介して接続した構成とすればよい。
なお、上記には、いくつかの実施の形態を説明したが、上記実施の形態の画像処理装置12、及び画像処理装置12Aの適用範囲は限定されない。例えば、画像処理装置12及び画像処理装置12Aは、店舗などに設置された機器に搭載されていてもよいし、携帯端末やパーソナルコンピュータ、テレビなど電子機器に内蔵されていてもよい。また、画像処理装置12及び画像処理装置12Aは、電子黒板システム(サイネージシステム)に適用可能である。
また、上記には、本発明のいくつかの実施の形態を説明したが、これらの実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。