(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024008557
(43)【公開日】2024-01-19
(54)【発明の名称】画像処理装置、画像処理方法、及びプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20240112BHJP
【FI】
G06T19/00 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022110527
(22)【出願日】2022-07-08
(71)【出願人】
【識別番号】523286071
【氏名又は名称】株式会社NTTデータ
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】有定 倫晶
(72)【発明者】
【氏名】堀内 新吾
(72)【発明者】
【氏名】市原 大暉
(72)【発明者】
【氏名】静野 祥彦
(72)【発明者】
【氏名】木村 浩之
(72)【発明者】
【氏名】中山 裕貴
(72)【発明者】
【氏名】千賀 喜貴
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050AA10
5B050BA09
5B050CA07
5B050DA06
5B050EA09
5B050EA19
5B050EA27
5B050FA05
(57)【要約】
【課題】合成画像における不自然さを減少させ、ヒトの手による修正を不要にする。
【解決手段】画像処理装置は、合成用モデル画像の顔及び手のマスク画像のエッジ情報と、合成用衣服画像のエッジ情報とに基づいて、合成用モデル画像の顔及び手全体の画像をエッジで囲まれた領域に分割し、分割領域ごとに、第2の3D着衣アバターと領域に分割された合成用モデル画像の顔及び手全体の画像との対応する部分の一致率を計算して、衣服と人体の前後関係を判定済みの合成用顔・手画像を生成する。画像処理装置は、第1の3D着衣アバターに対して、合成用モデル画像に関連付けられる設定データを反映させてレンダリングを実行した際の陰画像を生成し、合成用モデル画像に合成用衣服画像を重ね合わせて第1の着衣モデル画像を出力し、第1の着衣モデル画像に、合成用顔・手画像を重ね合わせ、さらに陰画像を重ね合わせて、最終的な着衣モデル画像を生成する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
合成用モデル画像に関連付けられる設定データ、3Dアバター、及び3D衣服データを使用して、第1の3D着衣アバター、第2の3D着衣アバター、及び合成用衣服画像を生成する手段と、
前記合成用モデル画像に関連付けられる表出人体部位のマスク画像のエッジ情報と、前記合成用衣服画像のエッジ情報とに基づいて、前記合成用モデル画像の表出人体部位全体の画像をエッジで囲まれた領域に分割し、分割された前記領域ごとに、前記第2の3D着衣アバターと前記領域に分割された前記合成用モデル画像の表出人体部位全体の画像との対応する部分の一致率を計算することによって、衣服と人体の前後関係を判定済みの合成用表出人体部位画像を生成する手段と、
前記第1の3D着衣アバターに対して、前記合成用モデル画像に関連付けられる設定データを反映させてレンダリングを実行した際の陰画像を生成する手段と、
前記合成用モデル画像に前記合成用衣服画像を重ね合わせて第1の着衣モデル画像を出力する手段と、
前記第1の着衣モデル画像に、前記合成用表出人体部位画像を重ね合わせ、さらに前記陰画像を重ね合わせて、最終的な着衣モデル画像を生成する手段と
を備えた画像処理装置。
【請求項2】
衣服と人体の前後関係を判定済みの合成用表出人体部位画像を生成する手段は、
計算された前記一致率が閾値以上である場合に、前記領域に分割された前記合成用モデル画像の表出人体部位全体の画像の対応する部分が視認可能な部分であると判定する手段であって、前記視認可能な部分は衣服の上に見えている部分である、手段
をさらに備える、請求項1の画像処理装置。
【請求項3】
前記第1の3D着衣アバターの深度情報を取得する手段をさらに備え、
前記合成用衣服画像のエッジ情報は、前記深度情報を使用して抽出される、
請求項2の画像処理装置。
【請求項4】
エッジで囲まれた前記領域に関連付けられる閾値は、前記深度情報に基づいて異なる、請求項3の画像処理装置。
【請求項5】
前記合成用モデル画像から、表出人体部位のキーポイントを抽出し、抽出したキーポイントをバウンディングボックスとして探索範囲を設定する手段と、
前記合成用モデル画像における、表出人体部位の一方の側から他方の側へ移動しながらエッジを探索し、表出人体部位の他方の側に到達して折り返すまでエッジの探索を続ける手段と、
前記探索されたエッジの範囲から前記合成用モデル画像の表出人体部位全体の画像を抽出する手段と
をさらに備えた、請求項1の画像処理装置。
【請求項6】
衣服の種類がトップスである場合、前記表出人体部位は、顔及び/または手であり、
衣服の種類がボトムスである場合、前記表出人体部位は、足及び/または足首である、
請求項1の画像処理装置。
【請求項7】
画像処理装置によって実行される画像処理方法であって、
合成用モデル画像に関連付けられる設定データ、3Dアバター、及び3D衣服データを使用して、第1の3D着衣アバター、第2の3D着衣アバター、及び合成用衣服画像を生成することと、
前記合成用モデル画像に関連付けられる表出人体部位のマスク画像のエッジ情報と、前記合成用衣服画像のエッジ情報とに基づいて、前記合成用モデル画像の表出人体部位全体の画像をエッジで囲まれた領域に分割し、分割された前記領域ごとに、前記第2の3D着衣アバターと前記領域に分割された前記合成用モデル画像の表出人体部位全体の画像との対応する部分の一致率を計算することによって、衣服と人体の前後関係を判定済みの合成用表出人体部位画像を生成することと、
前記第1の3D着衣アバターに対して、前記合成用モデル画像に関連付けられる設定データを反映させてレンダリングを実行した際の陰画像を生成することと、
前記合成用モデル画像に前記合成用衣服画像を重ね合わせて第1の着衣モデル画像を出力することと、
前記第1の着衣モデル画像に、前記合成用表出人体部位画像を重ね合わせ、さらに前記陰画像を重ね合わせて、最終的な着衣モデル画像を生成することと
を備える画像処理方法。
【請求項8】
実行されると、請求項7に記載された方法を画像処理装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。より詳細に言えば、本発明は、ユーザが作成した3D衣服データを3Dアバターに3DCG環境で着せ付け、そこから衣服画像のみを2Dデータ化して、衣服画像の2Dデータとヒトの2Dデータを自動で画像合成し、2Dデータの着用画像として出力する画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、アパレル業界や広告業界などでは、実在のモデルに衣服を身に着けてもらって写真を撮り、その画像を販促やマーケティングに利用してきた。しかしながら、このような手法は一つの画像を生成する際の人的、金銭的及び時間的負荷が高く、多くの画像を生成するには不向きであった。
【0003】
このため、3DアバターやGAN(Generative Adversarial Network:敵対的生成ネットワーク)と呼ばれる技術が利用されつつある。アバターは、ネットワーク上でユーザの分身として使用されるキャラクターのことであり、2次元(2D)画像のアバターと3次元(3D)表現されたアバターがある。GANは、2つのニューラルネットワークを用いて学習することで画像を生成する手法である。GANの技術により、実物を撮影したかのように、コンピュータが同類の画像を無尽蔵に生成でき得るようになってきた。
【0004】
3DアバターやGANの技術を用いることにより、アパレル業界や広告業界などでは、実在しないモデル(バーチャルモデル)を使用した販促やマーケティングなどの業務活用に関する取組みが進んできている。特に、アパレル業界では、衣服の3Dモデルを作成し、その3D衣服データを2Dデータ化してモデルの画像に合成しているが、単なる合成ではモデルの体と衣服の前後関係から不自然に見えてしまうことがあるため、ヒトの手を介して自然に見えるように補正を行っていた。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ヒトの手を介して画像合成を行う手法では作成可能な画像数に限界があるため、多くの企業が3D衣服データをヒトの画像に自動的に着衣させる画像合成手法を研究している。
【0007】
衣服データをマネキン画像に合成させる画像合成技術として、特許文献1の技術が知られていた。しかしながら、特許文献1の技術を利用したとしても、衣服画像とモデルの画像を結合させたものに依然として不自然さが残るという問題があった。例えば、首から上の人体画像と衣服画像を結合させると首背部の裏地が表示されてしまうなど、合成画像に不自然さが残る問題が依然として存在していた。
【0008】
また、3D衣服データをヒトの2D画像に自動的に着衣させる処理を行う場合、従来技術では本来ヒトのうえに来るべき衣服領域が見えなくなってしまうなどの精度の問題が頻繁に発生しており、最終的にヒトの手による修正などが必要とされるなど技術的な課題が存在していた。
【0009】
本発明は、このような課題を解決するためになされたものであり、ユーザが作成した3D衣服データを3Dアバターに3DCG環境で着せ付け、そこから衣服画像のみを2Dデータ化して、衣服画像の2Dデータとヒトの2Dデータを自動で画像合成し、2Dデータの着用画像として出力する画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一態様である画像処理装置は、
合成用モデル画像に関連付けられる設定データ、3Dアバター、及び3D衣服データを使用して、第1の3D着衣アバター、第2の3D着衣アバター、及び合成用衣服画像を生成する手段と、
前記合成用モデル画像に関連付けられる表出人体部位のマスク画像のエッジ情報と、前記合成用衣服画像のエッジ情報とに基づいて、前記合成用モデル画像の表出人体部位全体の画像をエッジで囲まれた領域に分割し、分割された前記領域ごとに、前記第2の3D着衣アバターと前記領域に分割された前記合成用モデル画像の表出人体部位全体の画像との対応する部分の一致率を計算することによって、衣服と人体の前後関係を判定済みの合成用表出人体部位画像を生成する手段と、
前記第1の3D着衣アバターに対して、前記合成用モデル画像に関連付けられる設定データを反映させてレンダリングを実行した際の陰画像を生成する手段と、
前記合成用モデル画像に前記合成用衣服画像を重ね合わせて第1の着衣モデル画像を出力する手段と、
前記第1の着衣モデル画像に、前記合成用表出人体部位画像を重ね合わせ、さらに前記陰画像を重ね合わせて、最終的な着衣モデル画像を生成する手段と
を備えるように構成される。
【発明の効果】
【0011】
本発明によれば、2種類のエッジ画像、3D画像データ、及びモデル画像を用いることにより、従来発生していた合成画像における不自然さを減少させ、ヒトの手による修正を不要にする。
【図面の簡単な説明】
【0012】
本明細書において開示される実施形態の詳細な理解は、添付図面に関連して例示される以下の説明から得ることができる。
【
図1】本発明の実施形態に係る画像処理装置10、ユーザ端末11、3Dスキャナ12及び撮像装置13を含む画像処理システム1の全体構成図である。
【
図2】本発明の実施形態に係る画像処理装置10、ユーザ端末11、及び撮像装置13によって実行される処理の概要を説明する図である。
【
図3】本発明の実施形態に係る画像処理装置10のシステム構成図である。
【
図4】本発明の実施形態に係る実写撮影データ106のデータ構造の一例を示す図である。
【
図5】本発明の実施形態に係る3Dアバター108のデータ構造の一例を示す図である。
【
図6】本発明の実施形態に係る3D着衣アバター109のデータ構造の一例を示す図である。
【
図7】本発明の実施形態に係る合成用衣服画像110のデータ構造の一例を示す図である。
【
図8】画像処理装置10が3D着衣アバター及び合成用衣服画像を生成する処理フローを示す図である。
【
図9】画像処理装置10が衣服と人体の前後関係を判定済みの合成用顔・手画像を生成する処理フローを示す図である。
【
図10】画像処理装置10が陰画像を生成する処理フローを示す図である。
【
図11】画像処理装置10が最終着衣画像を生成する処理フローを示す図である。
【
図12】(a)は、顔及び手のマスク画像、合成用衣服画像からエッジ情報を抽出するイメージを示す図であり、(b)は、2つのエッジ情報を組み合わせたイメージを示す図である。
【
図13】(a)は、合成用モデル画像の手部分をエッジで囲まれたいくつかの領域に分割したことを示す例の図であり、(b)は、生成された合成用顔・手画像の従来技術と本発明の手画像の例を示す図である。
【発明を実施するための形態】
【0013】
(全体構成)
図1は、本発明の実施形態に係る画像処理装置10、ユーザ端末11、3Dスキャナ12及び撮像装置13を含む画像処理システム1の全体構成図である。画像処理装置10は、ユーザ端末11及び撮像装置13とネットワーク14を介して相互に通信可能に接続されている。ユーザ端末11は、LANやWANなどの任意のネットワークを介して3Dスキャナ12と相互に通信可能に接続されている。
図1は、説明の簡便化のため、画像処理装置10、ユーザ端末11、3Dスキャナ12及び撮像装置13を1つずつしか示していないが、これらは複数存在し得る。
【0014】
本明細書では、画像処理装置10を1つの装置あるいはシステムとして説明するが、画像処理装置10によって実行される様々な処理を複数の装置あるいはシステムで分散して実行するように構成してもよい。
【0015】
画像処理装置10は、本明細書で説明する画像合成処理を実行する。より詳細に言えば、画像処理装置10は、ユーザが作成した3D衣服データを3Dアバターに3DCG環境で着せ付け、そこから衣服画像のみを2Dデータ化して、衣服画像の2Dデータとヒトの2Dデータを自動で画像合成し、2Dデータの着用画像を出力する。
【0016】
ユーザ端末11は、ユーザによって使用される有線または無線環境において動作可能な任意のタイプのデバイス(例えば、PC、タブレット型端末など)とすることができるが、特定の装置やデバイスに限定されることはない。ユーザ端末11は、サードパーティのアプリケーションを使用して3D衣服データを生成し、3Dスキャナ12などを使用して3Dアバターのデータを生成することができる。ユーザ端末11は、3D衣服データ及び3Dアバターのデータを画像処理装置10に送信し、画像処理装置10によって提供されるアプリケーションを介して画像合成処理についての各種指示を送信し、合成結果を画像処理装置10から受信することができる。
【0017】
3Dスキャナ12は、ユーザ端末11からの指示に応答して3Dアバターのデータを生成する機能を有する装置である。
【0018】
撮像装置13は、実在のモデルの実写撮影を行う装置であり、1つ以上のカメラによってモデルの画像を撮影する装置であり、任意のスタジオ装置を含み得る装置である。モデルの撮像画像データを識別しやすくするために、撮像場所の床、壁などは、ブルーバック(青い背景)やグリーンバック(緑の背景)などの任意の背景としてよい。
【0019】
ネットワーク14は、画像処理装置10、ユーザ端末11、3Dスキャナ12及び撮像装置13の間の通信を担う任意の通信網であり、インターネット、イントラネット、専用線、任意のネットワークシステムなどを含み、特に限定されることはない。
【0020】
(画像処理装置10の機能構成)
画像処理装置10は、実在のモデルの画像や各種設定データを利用して、ユーザが作成した3D衣服データを3Dアバターに3DCG環境で着せ付け、そこから衣服画像のみを2Dデータ化して、衣服画像の2Dデータとヒトの2Dデータを自動で画像合成し、2Dデータの着用画像を出力する。
【0021】
以下、
図2を参照しながら、画像処理装置10によって提供される様々な機能を説明する。
図2は、本発明の実施形態に係る画像処理装置10、ユーザ端末11、及び撮像装置13によって実行される処理の概要を説明する図である。
図2のS1は、撮像装置13によって実行され、S2はユーザ端末11によって実行され、S3~S6は、画像処理装置10によって実行される。なお、本明細書で説明される実施形態は、衣服の種類としてトップス(上衣)を例として説明するが、本発明はこれ以外の種類の衣服(例えば、ボトムス)に対しても適用可能であることを了解されたい。
【0022】
(S1:撮像装置13による実写モデル撮像時の処理内容)
ユーザは、撮像装置13を使用して実在のモデルの撮影を行う。後述するように、実在のモデルのモデル画像は、後述する画像合成処理における合成用モデル画像として使用される。合成用モデル画像は、2D画像データである。
【0023】
撮像装置13は、合成用モデル画像、並びに撮像した際のカメラ設定データ(カメラ角度、距離など)及び照明設定データ(明るさなど)を画像処理装置10に送信する。画像処理装置10は、撮像装置13から受信した合成用モデル画像、カメラ設定データ及び照明設定データを実写撮影データ106に格納する。
【0024】
(S2:ユーザ端末11による3D衣服データ及び3Dアバター生成の処理内容)
ユーザ端末11は、サードパーティなどのアプリケーションを有しており、3D衣服データを生成し、また、3Dスキャナ12と通信を行って実在のモデルのポーズと同じポーズの3Dアバターを生成する。3Dアバターのポーズは、この段階で実在のモデルと同じポーズにしてもいいし、あるいは、基本的なポーズとしておき、後述するS3の処理時に同じポーズに変更するようにしてもよい。
【0025】
ユーザ端末11は、3D衣服データ及び3Dアバターを画像処理装置10に送信し、画像処理装置10は、受信した3D衣服データ及び3Dアバターを、それぞれ、3D衣服データ107及び3Dアバター108に格納する。
【0026】
(S3:3D着衣アバター及び合成用衣服画像を生成する処理内容)
画像処理装置10は、3D着衣アバター及び合成用衣服画像を生成するためのアプリケーションをユーザ端末11に提供する。画像処理装置10は、ユーザ端末11からの指示に応答して、合成処理に使用するための衣服のみの2D画像(合成用衣服画像)と2種類の3D着衣アバターとを出力する。
【0027】
画像処理装置10は、ユーザ端末11からの指示に応じて、3D衣服データを3D衣服データ107から読み出し、3Dアバターを3Dアバター108から読み出す。画像処理装置10は、ユーザ端末11からの指示に応じて、モデル画像を実写撮影データ106からさらに読み出し、読み出したモデル画像のポーズと同じポーズに3Dアバターのポーズを変更することもできる。画像処理装置10は、ユーザ端末11からの指示に応じて、3DCG(コンピュータグラフィックス)空間上で3D衣服データを3Dアバターに重ね合わせ、所定の位置計算を行って3D衣服データの大きさや配置位置を調整し、3D衣服データを3Dアバターの適切な位置に配置する。この処理により、3D衣服データが3Dアバターに着衣される。
【0028】
画像処理装置10は、ユーザ端末11からの指示に応じて、3DCG空間上で、3D衣服データを着衣した3Dアバターにおいて、3Dアバターの体形やポーズに応じて3D衣服データのクロスシミュレーションを実行し、第1の3D着衣アバターを3D着衣アバター109に格納する。
【0029】
画像処理装置10は、3DCG空間上で、第1の3D着衣アバターに対して、実写撮影データ106から読み出したカメラ設定データ及び照明設定データを反映させ、所定のシェーダー(shader)設定パラメータを使用して3Dレンダリング処理を実行し、第2の3D着衣アバターを3D着衣アバター109に格納する。
【0030】
画像処理装置10は、3Dアバターを除いた3D衣服データに基づいて2D衣服画像(「合成用衣服画像」とも言う)を生成し、合成用衣服画像110に格納する。
【0031】
(S4:合成用顔及び手画像の生成処理)
ユーザは、任意のアプリケーションを使用して合成用モデル画像から顔及び手のマスク画像を2値化などの方法で機械的に、あるいは手動で生成する。すなわち、画像処理装置10は、ユーザ端末11からのマスク画像生成指示に応答して、撮像装置13から受信した合成用モデル画像から顔及び手のマスク画像を生成する。画像処理装置10は、任意のフィルタを使用して予め生成してあった顔及び手のマスク画像のエッジ情報を抽出する。説明される実施形態は、衣服の種類としてトップスを例として説明されているため、着衣した状態で表出する人体の部位(表出人体部位)は、顔及び/または手であるが、他の種類の衣服である場合には、その種類に応じて表出人体部位が変わり得る(例えば、ボトムスの場合には、足及び/または足首)ことを了解されたい。
【0032】
画像処理装置10は、合成用モデル画像から、顔及び手のキーポイントを抽出し、抽出したキーポイントをバウンディングボックスとして探索範囲を設定する。画像処理装置10は、3Dの顔や手の一方の側から他方の側(例えば、左側の外郭部分から右側の外郭部分)へ移動しながらエッジを探索し、顔や手の他方の側に到達して折り返すまでエッジの探索を続ける。画像処理装置10は、探索されたエッジの範囲から、合成用モデル画像の顔及び手全体の画像を抽出する。
【0033】
画像処理装置10は、第1の3D着衣アバターにおいて深度情報(「奥行情報」とも言う)を抽出する深度情報抽出処理を実行する。
【0034】
画像処理装置10は、任意のフィルタを使用して合成用衣服画像のエッジ情報を抽出する。画像処理装置10は、合成用衣服画像のエッジをそのまま抽出するとテクスチャによる皺などがエッジのノイズになるため、深度情報を利用してエッジ情報を抽出することができる。
【0035】
画像処理装置10は、顔及び手のマスク画像のエッジ情報と、合成用衣服画像のエッジ情報とを組み合わせ、組み合わせた画像をもとに合成用モデル画像の顔及び手全体をいくつかの画像に分割する。画像処理装置10は、合成用モデル画像の顔及び手全体の分割された領域ごとに、第2の3D着衣アバターにおける対応する領域との一致率を計算しながら最終的に合成すべき顔及び手画像(合成用顔及び手画像)を抽出する。
【0036】
(S5:陰画像の生成処理)
画像処理装置10は、3D着衣アバター109から読み出した第1の3D着衣アバターに対して、合成用モデル画像を生成した際のカメラ設定データ及び証明設定データを反映させレンダリングを実行した際に生まれる陰(シェード)情報を陰画像として生成し、3D着衣アバター109に格納する。
【0037】
(S6:最終着衣画像を生成する着衣合成処理)
画像処理装置10は、合成用モデル画像に合成用衣服画像を重ね合わせて第1の着衣モデル画像を出力する第1の着衣合成処理を実行する。画像処理装置10は、第1の着衣モデル画像に合成用顔及び手画像を重ね合わせ、さらに陰画像を重ね合わせることによって、最終的な着衣モデル画像を生成する第2の着衣画像生成処理を実行する。
【0038】
(画像処理装置10のシステム構成)
次に、画像処理装置10のシステム構成を説明する。
図3は、本発明の実施形態に係る画像処理装置10のシステム構成図である。画像処理装置10は、クラウドシステム上に、あるいは社内ネットワーク上に置かれるように構成されてよい。
図3に示すように、画像処理装置10は、一般的なコンピュータと同様に、バス120などによって相互に接続された制御部101、主記憶部102、補助記憶部103、インターフェース(IF)部104、及び出力部105を備える。補助記憶部103は、画像処理装置10の各機能を実装するプログラム、及び当該プログラムで取り扱うデータを格納する。補助記憶部103は、ファイル/データベースなどの形式で、実写撮影データ106、3D衣服データ107、3Dアバター108、3D着衣アバター109、及び合成用衣服画像110を備える。画像処理装置10は、実写撮影データ106、3D衣服データ107、3Dアバター108、3D着衣アバター109、及び合成用衣服画像110に格納されている情報を読み出し、あるいは更新できる。補助記憶部103に格納されている各プログラムは、画像処理装置10によって実行される。
【0039】
制御部101は、中央処理装置(CPU)とも呼ばれ、画像処理装置10の各構成要素の制御やデータの演算を行い、補助記憶部103に格納されている各種プログラムを主記憶部102に読み出して実行する。主記憶部102は、メインメモリとも呼ばれ、受信した各種データ、コンピュータ実行可能な命令及び当該命令による演算処理後のデータなどを記憶する。補助記憶部103は、ハードディスク(HDD)やSSD(Solid State Drive)などに代表される記憶装置であり、データやプログラムを長期的に保存する。
【0040】
図3の実施形態は、制御部101、主記憶部102及び補助記憶部103を同一のコンピュータの内部に設ける実施形態について説明するが、他の実施形態として、画像処理装置10は、制御部101、主記憶部102及び補助記憶部103を複数個使用することにより、複数のコンピュータによる並列分散処理を実現するように構成することもできる。また、他の実施形態として、画像処理装置10のための複数のサーバを設置し、複数サーバが一つの補助記憶部103を共有する実施形態にすることも可能である。
【0041】
IF部104は、他のシステムや装置との間でデータを送受信する際のインターフェースの役割を果たし、また、システムオペレータから各種コマンドや入力データ(各種マスタ、テーブルなど)を受け付けるインターフェースを提供する。出力部105は、処理されたデータを表示する表示画面や当該データを印刷するための印刷手段などを提供する。
【0042】
制御部101、主記憶部102、補助記憶部103、IF部104、及び出力部105と同様な構成要素は、ユーザ端末11及び撮像装置13にも存在する。
【0043】
実写撮影データ106は、実在モデルのモデル画像(2D画像データ)、実在モデルの顔及び手のマスク画像、並びに実写撮影時のカメラ設定データ及び照明設定データを格納する。
図4は、本発明の実施形態に係る実写撮影データ106のデータ構造の一例を示す図である。実写撮影データ106は、実写撮影ID401、モデル画像402、マスク画像403、カメラ設定データ404、及び照明設定データ405を含むことができるが、これらのデータ項目に限定されることはなく他のデータ項目も含むことができる。
【0044】
実写撮影ID401は、実写撮影時のモデル及び当該モデルに関連付けられるデータを識別する識別子である。モデル画像402は、実在モデルの2Dモデル画像データであり、「合成用モデル画像」とも呼ばれる。マスク画像403は、合成用モデル画像から生成したモデルの顔及び手のマスク画像である。カメラ設定データ404は、実写撮影時のカメラの設定データ、例えば、カメラ角度、距離などを示す。照明設定データ405は、実写撮影時の照明の設定データ、例えば、明るさなどを示す。
【0045】
図3に戻って説明すると、3D衣服データ107は、ユーザによって生成された3D衣服データを格納する。3D衣服データは、画像選択を容易にするための属性情報(例えば、衣服のカテゴリー、色、形など)と関連付けられて記憶されていてもよい。
【0046】
3Dアバター108は、ユーザによって生成された3Dアバターのデータを格納する。3Dアバターは、実写撮影時のモデル画像のポーズと同じになるようにユーザによって作成される。
図5は、本発明の実施形態に係る3Dアバター108のデータ構造の一例を示す図である。3Dアバター108は、3DアバターID501、3Dアバター502、及び実写撮影ID401を含むことができるが、これらのデータ項目に限定されることはなく他のデータ項目も含むことができる。
【0047】
3DアバターID501は、3Dアバターを識別する識別子である。3Dアバター502は、3Dアバターのデータを示す。実写撮影ID401は、3Dアバターに関連付けられる実写撮影を識別する識別子である。実写撮影ID401により、対応する実写モデルのポーズ、マスク画像、カメラや照明の設定データが3Dアバターに関連付けられる。
【0048】
図3に戻って説明すると、3D着衣アバター109は、3Dアバターに3D衣服データを重ね合わせて所定の処理を施した3D着衣アバターの画像データを格納する。
図6は、本発明の実施形態に係る3D着衣アバター109のデータ構造の一例を示す図である。3D着衣アバター109は、3D着衣アバターID601、第1の3D着衣アバター602、第2の3D着衣アバター603、陰情報604、陰画像605、3DアバターID501、及び実写撮影ID401を含むことができるが、これらのデータ項目に限定されることはなく他のデータ項目も含むことができる。
【0049】
3D着衣アバターID601は、画像処理装置10によって生成された3D着衣アバターを識別する識別子である。第1の3D着衣アバター602は、3Dクロスシミュレーション済の3D着衣アバターの画像データを示す。第2の3D着衣アバター603は、第1の3D着衣アバターに対してカメラ設定データ及び証明設定データを反映させて3Dレンダリング処理を行った3D着衣アバターの画像データを示す。陰情報604及び陰画像605は、第1の3D着衣アバターに対して合成用モデル画像を生成した際のカメラ設定データ及び証明設定データを反映させてレンダリングを実行した際に生成される陰情報及び陰画像をそれぞれ示す。3DアバターID501は、3D着衣アバターを生成する元になった3Dアバターを特定するための識別子であり、実写撮影ID401は、当該3Dアバターに関連付けられる実写撮影を識別する識別子である。3DアバターID501及び実写撮影ID401により、実在モデル撮影時の各種設定データなどを取得しやすくなる。
【0050】
図3に戻って説明すると、合成用衣服画像110は、第2の3D着衣アバターの3D衣服データに基づいて生成された2D衣服データを格納する。
図7は、本発明の実施形態に係る合成用衣服画像110のデータ構造の一例を示す図である。合成用衣服画像110は、合成用衣服画像ID701、合成用衣服画像702、実写撮影ID401、及び3D着衣アバターID601を含むことができるが、これらのデータ項目に限定されることはなく他のデータ項目も含むことができる。
【0051】
合成用衣服画像ID701は、本発明の実施形態に係る画像合成処理に使用される2Dの衣服画像データを識別する識別子である。合成用衣服画像702は、画像合成処理に使用される2Dの衣服画像データを示す。実写撮影ID401は、合成用衣服画像を生成する元になった3D着衣アバターに関連付けられるに実写撮影を識別する識別子である。3D着衣アバターID601は、合成用衣服画像の元データである3D衣服データに関連付けられる3D着衣アバターの識別子である。
【0052】
(各種フローについての説明)
図8~
図11を参照しながら、画像処理装置10が、合成用衣服画像(2D)、合成用モデル画像(2D)、各種設定データ、3Dアバター及び3D衣服データを使用して最終な着衣モデル画像を生成する処理フローを説明する。
図8~
図11は、
図2のS3~S6の処理内容をそれぞれ示している。S4及びS5の処理はいずれが先に行われてもよい。
【0053】
(S3:3D着衣アバター及び合成用衣服画像を生成する処理内容)
図8は、画像処理装置10が、
図2のS1及びS2を参照しながら上記で説明したような処理により生成されたデータ、すなわち、合成用モデル画像、各種設定データ、3Dアバター、及び3D衣服データを使用して、3D着衣アバター及び合成用衣服画像を生成する処理フローを示す。
【0054】
図8の処理では、画像処理装置10は、3D着衣アバター画像を生成するためのアプリケーションをユーザ端末11に提供し、ユーザ端末11を介して受信したユーザ指示に基づいて処理を行う。
【0055】
S801にて、ユーザ端末11は、提供されたアプリケーションを通じて処理対象とする合成用モデル画像、3D衣服データ及び3Dアバターを選択し、画像処理装置10に選択指示を送信する。画像処理装置10は、ユーザ端末11からの選択指示に応じて、選択されたモデル画像を実写撮影データ106から読み出し、3D衣服データを3D衣服データ107から読み出し、選択された3Dアバターを3Dアバター108から読み出す。画像処理装置10は、読み出したモデル画像のポーズに合わせるように3Dアバターのポーズを変更することができる。この処理により、モデル画像のポーズと3Dアバターのポーズが一致し、モデル画像及び3Dアバターは関連付けられ、3Dアバター108に選択した実写撮影ID401が記憶される。
【0056】
ユーザ端末11は、アプリケーションの3DCG空間上で3D衣服データを3Dアバターの適切な位置に配置する配置指示を画像処理装置10に送信する。画像処理装置10は、ユーザ端末11からの配置指示に応じて、3DCG空間上で3D衣服データを3Dアバターに重ね合わせ、所定の位置計算を行うことにより、3D衣服データの大きさや配置位置を調整し、3D衣服データを3Dアバターの適切な位置に配置する。この処理により、3D衣服データが3Dアバターに着衣される。
【0057】
S802にて、ユーザ端末11は、3D衣服データを着衣した3Dアバターに対してクロスシミュレーションを実行するためのシミュレーション指示を画像処理装置10に送信する。クロスシミュレーションとは、衣服などのクロス(布)の動きを物理的にシミュレートする技術を指す。例えば、3Dアバターが着衣した際にできる衣服の皺の状態をシミュレーションするなど、クロスの物理演算が行われる。
【0058】
画像処理装置10は、ユーザ端末11からのシミュレーション指示に応じて、3DCG空間上で、3D衣服データを着衣した3Dアバターにおいて、3Dアバターの体形やポーズに応じて3D衣服データのクロスシミュレーションを実行し、クロスシミュレーション済の3D着衣アバターを3D着衣アバター109の第1の3D着衣アバター602に格納する。
【0059】
S803にて、画像処理装置10は、S801にて選択されたモデル画像に関連付けられるカメラ設定データ及び照明設定データを実写撮影データ106から読み出す。画像処理装置10は、アプリケーションの3DCG空間上で、クロスシミュレーション済の3D着衣アバター(第1の3D着衣アバター)に対して、読み出したカメラ設定データ及び照明設定データを反映させ、所定のシェーダー(shader)設定パラメータを使用して3Dレンダリング処理を実行し、3Dレンダリング処理済の3D着衣アバター(第2の3D着衣アバター)を3D着衣アバター109の第2の3D着衣アバター603に格納する。
【0060】
S804にて、画像処理装置10は、3Dレンダリング処理済の3D着衣アバター(第2の3D着衣アバター)から3Dアバターを除いた3D衣服データを抽出する。画像処理装置10は、抽出した3D衣服データに基づいて2D衣服画像(本明細書では「合成用衣服画像」と言う)を生成し、合成用衣服画像110に格納する。
【0061】
(S4:合成用顔及び手画像を生成する処理内容)
図9は、画像処理装置10が、顔及び手のマスク画像、合成用衣服画像、及び3D着衣アバターを使用して、衣服と人体の前後関係を判定済みの合成用顔・手画像を生成する処理フローを示す。なお、本処理フローの前提として、画像処理装置10は、任意のアプリケーションを通じてユーザ端末11と通信して、合成用モデル画像から顔及び手のマスク画像を生成しているものとする。また、本明細書では「手」という用語は、人体の肩から指先に至る間、手首、手のひら、及び手の指のいずれかを示す用語として使用されるが、これらは衣服のデザインによって変わりうる。
【0062】
S901にて、画像処理装置10は、処理対象の実写撮影ID401に関連付けられる合成用モデル画像から、顔及び手のキーポイントを抽出し、抽出したキーポイントをバウンディングボックスとして探索範囲を設定する。画像処理装置10は、顔や手の一方の側から他方の側(例えば、左側の外郭部分から右側の外郭部分)へ移動しながらエッジを探索し、顔や手の他方の側に到達して折り返すまでエッジの探索を続ける。画像処理装置10は、探索されたエッジの範囲から合成用モデル画像の顔及び手全体の画像を抽出する。
【0063】
画像処理装置10は、任意のフィルタを使用して予め生成してあった顔及び手のマスク画像のエッジ情報を抽出する。
図12(a)の上部は、顔及び手のマスク画像からエッジ情報を抽出するイメージを示している。
【0064】
S902にて、画像処理装置10は、第1の3D着衣アバター602を3D着衣アバター109から読み出し、読み出した第1の3D着衣アバター602に対して深度情報抽出処理を実行する。この処理により、画像処理装置10は、第1の3D着衣アバター602のそれぞれの位置の深度情報を取得することができる。深度情報により、衣服における皺と外郭線を区別できるようになる。
【0065】
S903にて、画像処理装置10は、任意のフィルタを使用して合成用衣服画像のエッジ情報を抽出する。合成用衣服画像のエッジ情報をそのまま抽出すると衣服のテクスチャによる皺などがノイズとなり得るため、画像処理装置10は、S902で取得した深度情報を使用して合成用衣服画像のエッジ情報を抽出することができる。
図12(a)の下部は、合成用衣服画像からエッジ情報を抽出するイメージを示している。
【0066】
なお、S901の処理と、S902及びS903の処理の順序はどちらが先に行われても構わず、特に限定されない。すなわち、S901の処理の後にS902及びS903の処理が行われてもいいし、S902及びS903の処理の後にS901の処理が行われてもよい。あるいは、両者が同時並行で処理されても構わない。
【0067】
S904にて、画像処理装置10は、合成用衣服画像のエッジ情報と、顔及び手のマスク画像のエッジ情報とを組み合わせる。
図12(b)は、2つのエッジ情報を組み合わせたイメージを示している。
【0068】
S905にて、画像処理装置10は、S904で組み合わされたエッジ情報に基づいて、S901にて抽出された合成用モデル画像の顔及び手全体の画像をエッジで囲まれた領域に分割する。
図13(a)は、合成用モデル画像の手部分をエッジで囲まれたいくつかの領域に分割したことを示す例である。
【0069】
S906にて、画像処理装置10は、第2の3D着衣アバター603を3D着衣アバター109から読み出し、読み出した第2の3D着衣アバター603と、いくつかの領域に分割処理がなされた合成用モデル画像の顔及び手全体の画像との対応部分同士(例えば、両者の左手の親指同士)を分割領域ごとに比較する。画像処理装置10は、両者の一致率を計算し、一致率が予め定められた閾値(X)以上となる部分を実際に見える部分であると判定する。画像処理装置10は、それぞれの領域についての判定結果に基づいて、合成用モデル画像の顔及び手全体の画像のうちある領域を視認可能な箇所(見える部分)とし、あるいは視認不可な箇所(見えない部分)とした最終的に合成する顔及び手画像を抽出する。
図13(b)の例では、左手の親指部分は、閾値(X)未満の一致率であったため、画像処理装置10は、この親指部分の画像を最終的に合成する顔及び手画像には含めない処理を行っている。
【0070】
閾値(X)は、深度情報に基づいて変化させることができる。このため、画像処理装置10は、S902で取得したそれぞれの位置の深度情報に基づいて、それぞれの位置の閾値(X)を変えることができる。このため、エッジで囲まれた分割領域ごとに閾値(X)の値は変化し得る。
【0071】
S907にて、画像処理装置10は、S906にて抽出された、それぞれの領域についての最終的に合成する顔及び手画像に基づいて、合成用顔・手画像を生成する。
図13(b)は、生成された合成用顔・手画像の従来技術と本発明の手画像の例を示している。
図13(b)に示されるように、従来の一般的な画像合成処理では上述したような一致判定を行わないため、親指部分が見えてしまっている。実際のポーズでは、親指部分は衣服の襞の裏側に隠れており見えないはずなので、不自然な画像となる。一方、本発明による一致判定を行った場合、親指部分が衣服の襞の裏側に隠れてしまい見えることはない。画像処理装置10は、この親指部分については一致率が閾値(X)未満であると判定し、この親指部分については見えない部分であるとして合成用顔・手画像には含めていない。
【0072】
(S5:陰画像の生成処理)
図10は、画像処理装置10が、クロスシミュレーション済の3D着衣アバター(第1の3D着衣アバター)に対して、合成用モデル画像を生成した際のカメラ設定データ及び証明設定データを反映させてレンダリングを実行した際に生まれる陰(シェード)情報に基づく陰画像を生成する処理フローを示す。
【0073】
S1001にて、画像処理装置10は、処理対象の実写撮影ID401に基づいて第1の3D着衣アバター602を3D着衣アバター109から読み出す。画像処理装置10はまた、当該実写撮影ID401に基づいて実写撮影データ106に問い合わせを行い、対応するカメラ設定データ404及び照明設定データ405を読み出す。
【0074】
S1002にて、画像処理装置10は、読み出した第1の3D着衣アバター602に対して、対応するカメラ設定データ404及び照明設定データ405を反映させてレンダリングを実行し、光が当たっているか、いないかを計算してシェーディングを行う。
【0075】
S1003にて、画像処理装置10は、シェーディングの計算結果である陰情報に基づく陰画像を生成する。画像処理装置10は、陰情報及び陰画像を3D着衣アバター109の陰情報604及び陰画像605にそれぞれ格納する。
【0076】
(S6:最終着衣画像を生成する着衣合成処理)
図11は、画像処理装置10が、処理対象の実写撮影ID401に関連付けられる合成用モデル画像に合成用衣服画像を重ね合わせて第1の着衣モデル画像を出力する第1の着衣合成処理と、第1の着衣合成処理の出力である第1の着衣モデル画像に、合成用顔・手画像を重ね合わせ、さらに陰画像を重ね合わせて、最終的な着衣モデル画像を生成する第2の着衣合成処理とを実行することにより最終着衣画像を生成する処理フローを示す。
【0077】
S1101にて、画像処理装置10は、第1の着衣合成処理を実行する。より詳細に言えば、画像処理装置10は、処理対象の実写撮影ID401に基づいてモデル画像402を実写撮影データ106から読み出し、当該実写撮影ID401を使用して合成用衣服画像110に問い合わせを行って合成用衣服画像702を読み出す。画像処理装置10は、合成用モデル画像に合成用衣服画像を重ね合わせて、第1の着衣モデル画像を生成する。
【0078】
S1102にて、画像処理装置10は、第2の着衣合成処理を実行する。より詳細に言えば、画像処理装置10は、生成された第1の着衣モデル画像に、合成用顔・手画像を重ね合わせ、さらに陰画像を重ね合わせることにより、最終的な着衣モデル画像を生成する。画像処理装置10は、生成した最終的な着衣モデル画像をユーザ端末11に提供する。
【0079】
(本発明の利点)
上述した処理により、画像処理装置10がヒトと衣服の前後関係をより精緻に推定しながら画像合成処理を実行することが可能となる。本発明によれば、ヒトと服の前後関係の特定が難しく、本来であればヒトの上に来るべき衣服領域が見えなくなるなどの出力画像の精度の低さといった問題が解決されるようになる。
【0080】
(その他の実施形態)
上記では、ヒトを例として説明してきたが、本発明の原理はヒト以外の動物に対しても適用可能である。最近、ペットとして飼育される動物用の衣服が販売されている。このようなペットの動物用の衣服についても本発明の原理を利用して合成画像を作成することにより、広告やマーケティングに合成画像を使用することができるようになる。
【0081】
また、上記では、ヒトの顔及び手を例として説明してきたが、衣服の種類によっては人体の部位のうち、顔や手以外の部位に対しても本発明の原理を適用して合成画像を生成することができるようになる。例えば、衣服がトップスの場合と、ボトムスの場合とでは、着衣した状態で表出する人体の部位は異なる。トップスの場合は、表出する人体の部位は顔及び/または手であってよく、ボトムスの場合は、表出する人体の部位は手及び/または足首であってよい。本明細書では「表出人体部位」は、衣服の種類に応じて、顔、手、足、足首などを示すものとする。
【0082】
また、上記では、人体と衣服というオブジェクトを対象に本発明の原理を説明したが、対象となるオブジェクトは、人体や衣服に限定されることはない。例えば、対象となるオブジェクトが人体と乗り物(自動車、オートバイ、自転車など)であってもよい。さらに、オブジェクトの数は3つ以上であっても構わない。上記の例に関連して言えば、アクセサリーやバッグなどの小物を第3のオブジェクトとして合成画像を生成することも可能である。すなわち、本発明は、複数のオブジェクトの前後関係が複雑に入り組んでいたとしても、出力される合成画像の精度を高くすることができるようになる。
【0083】
以上、例示的な実施形態を参照しながら本発明の原理を説明したが、本発明の要旨を逸脱することなく、構成及び細部において変更する様々な実施形態を実現可能であることを当業者は理解するだろう。すなわち、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。
【符号の説明】
【0084】
1 画像処理システム
10 画像処理装置
11 ユーザ端末
12 3Dスキャナ
13 撮像装置
14 ネットワーク
101 制御部
102 主記憶部
103 補助記憶部
104 インターフェース(IF)部
105 出力部
106 実写撮影データ
107 3D衣服データ
108 3Dアバター
109 3D着衣アバター
110 合成用衣服画像