(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-12-04
(45)【発行日】2024-12-12
(54)【発明の名称】情報処理装置、及び、コンピュータプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20241205BHJP
A63F 13/60 20140101ALI20241205BHJP
A63F 13/52 20140101ALI20241205BHJP
A63F 13/5372 20140101ALI20241205BHJP
A63F 13/20 20140101ALI20241205BHJP
A63F 13/90 20140101ALI20241205BHJP
【FI】
G06T19/00 A
A63F13/60
A63F13/52
A63F13/5372
A63F13/20 A
A63F13/90
(21)【出願番号】P 2023137374
(22)【出願日】2023-08-25
【審査請求日】2023-08-25
(73)【特許権者】
【識別番号】000135748
【氏名又は名称】株式会社バンダイ
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】清宮 僚太
【審査官】鈴木 明
(56)【参考文献】
【文献】国際公開第2021/131738(WO,A1)
【文献】特開2017-064120(JP,A)
【文献】特開2022-187952(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
A63F 13/60
A63F 13/52
A63F 13/5372
A63F 13/20
A63F 13/90
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
スキャナの位置及び角度を制御して、設置台に設置された被写体の外観をスキャンしてスキャン画像を生成するスキャン制御手段と、
前記スキャン画像から三次元モデルデータを生成するデータ生成手段と、
前記三次元モデルデータに基づく三次元モデルを仮想空間内に配置した映像を生成する映像生成手段と、
を備え、
前記三次元モデルデータに対する関節位置の指定入力を受け付ける受付手段を更に備え、
前記データ生成手段は、前記三次元モデルデータを、指定入力された前記関節位置に基づく関節情報と関連付けて生成し、
前記映像生成手段は、前記関節情報に基づき前記三次元モデルデータの関節を稼働させた三次元モデルの映像を生成
し、
前記受付手段は、前記情報処理装置に対する操作を受け付ける操作受付手段と、表示手段とを含み、
前記受付手段は、
前記表示手段が、関節位置を示す複数の指標を含むインジケータを前記三次元モデルデータに重畳して表示し、
前記操作受付手段が、前記指標の位置を前記三次元モデルデータの所定の関節の位置に合わせる操作を受け付けることにより、
前記関節位置の指定入力を受け付ける、
情報処理装置。
【請求項2】
前記インジケータは、前記被写体の種別に応じて異なる種類のインジケータのうちから選択される、請求項
1に記載の情報処理装置。
【請求項3】
前記インジケータは、前記被写体の種別の違いに関わらず共通に用いられる、請求項
1に記載の情報処理装置。
【請求項4】
前記データ生成手段は、
指定入力された前記関節位置における前記三次元モデルデータの奥行の情報に基づき、前記三次元モデルデータにおいて対応する関節を動作させるための関節基準位置の埋め込み量を決定し、
前記関節位置と前記埋め込み量とに基づいて前記関節基準位置を決定し、
前記関節基準位置を前記関節情報として前記三次元モデルデータと関連付ける、請求項
1に記載の情報処理装置。
【請求項5】
前記データ生成手段は、
前記三次元モデルデータにおいて関節を動作させる際に前記三次元モデルデータにおいて前記関節の動作と関連して動作する関連動作範囲を、前記関節基準位置に基づいて決定し、
前記関連動作範囲を前記関節情報に更に含める、請求項
4に記載の情報処理装置。
【請求項6】
前記関連動作範囲は、前記関節基準位置により挟まれた範囲として特定される範囲を含む、請求項
5に記載の情報処理装置。
【請求項7】
前記被写体が設置された設置台の台座の表面には、複数のマーカが配置され、前記マー
カは三次元空間における位置及び回転方向を取得可能に構成され、
前記データ生成手段は、
前記スキャン画像から前記複数のマーカの情報を抽出して、前記被写体が設置された設置台の位置を特定し、
前記位置に基づき、前記三次元モデルデータの位置及び向きを補正する、請求項
1に記載の情報処理装置。
【請求項8】
前記補正では、前記インジケータが前記三次元モデルデータに重畳して表示される際に、前記インジケータの正面に合わせた向きとなるように前記三次元モデルデータの向きが補正される、請求項
7に記載の情報処理装置。
【請求項9】
前記マーカは、ARマーカである、請求項
7に記載の情報処理装置。
【請求項10】
前記スキャナがスキャンする範囲の深度情報を取得する深度センサを更に備え、
前記スキャン制御手段は、前記深度センサからの深度情報に基づき前記スキャナの位置及び角度を制御する、請求項1に記載の情報処理装置。
【請求項11】
前記スキャン制御手段は、前記設置台に設置された前記被写体と前記被写体を設置する設置台とを包含する範囲を設定し、当該範囲をスキャンするように前記スキャナの位置及び角度を制御する、請求項
10に記載の情報処理装置。
【請求項12】
コンピュータを、請求項1から
11のいずれか1項に記載の情報処理装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、及び、コンピュータプログラムに関する。
【背景技術】
【0002】
特許文献1には、撮影部により対象物を複数の撮影方向から撮影した撮影画像群から生成されたテクスチャを、仮想空間におけるプリミティブにマッピングして、仮想空間において仮想カメラから見える仮想空間画像を生成する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記技術のような仮想空間画像の生成においては、対象物を撮影し、撮影された対象物の三次元モデルデータを用いて仮想空間上に三次元モデルを配置した映像を生成する際に、三次元モデルデータの動きの不自然さを防止することが期待される。
【0005】
そこで、対象物を撮影し、撮影された対象物の三次元モデルデータを用いて仮想空間上に三次元モデルを配置した映像を生成する際に、三次元モデルデータの動きの不自然さを防止することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するための一形態は、情報処理装置であって、
スキャナの位置及び角度を制御して、回転台に設置された被写体の外観をスキャンしてスキャン画像を生成するスキャン制御手段と、
前記スキャン画像から三次元モデルデータを生成するデータ生成手段と、
前記三次元モデルデータに基づく三次元モデルを仮想空間内に配置した映像を生成する映像生成手段と、
を備え、
前記三次元モデルデータに対する関節位置の指定入力を受け付ける受付手段を更に備え、
前記データ生成手段は、前記三次元モデルデータを、指定入力された前記関節位置に基づく関節情報と関連付けて生成し、
前記映像生成手段は、前記関節情報に基づき前記三次元モデルデータの関節を稼働させた三次元モデルの映像を生成する。
上記課題を解決するための他の形態は、情報処理装置であって、
スキャナの位置及び角度を制御して、設置台に設置された被写体の外観をスキャンしてスキャン画像を生成するスキャン制御手段と、
前記スキャン画像から三次元モデルデータを生成するデータ生成手段と、
前記三次元モデルデータに基づく三次元モデルを仮想空間内に配置した映像を生成する映像生成手段と、
を備え、
前記三次元モデルデータに対する関節位置の指定入力を受け付ける受付手段を更に備え、
前記データ生成手段は、前記三次元モデルデータを、指定入力された前記関節位置に基づく関節情報と関連付けて生成し、
前記映像生成手段は、前記関節情報に基づき前記三次元モデルデータの関節を稼働させた三次元モデルの映像を生成し、
前記受付手段は、前記情報処理装置に対する操作を受け付ける操作受付手段と、表示手段とを含み、
前記受付手段は、
前記表示手段が、関節位置を示す複数の指標を含むインジケータを前記三次元モデルデータに重畳して表示し、
前記操作受付手段が、前記指標の位置を前記三次元モデルデータの所定の関節の位置に合わせる操作を受け付けることにより、
前記関節位置の指定入力を受け付ける。
【発明の効果】
【0007】
対象物を撮影し、撮影された対象物の三次元モデルデータを用いて仮想空間上に三次元モデルを配置した映像を生成する際に、三次元モデルデータの動きの不自然さを防止することができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態に対応する画像処理システム10の構成例を示す図。
【
図2】実施形態に対応する情報処理装置100のハードウェア構成の一例、及び、ヘッドセット150のハードウェア構成の一例を示す図。
【
図3】実施形態に対応する人形型模型の外観の一例を示す図。
【
図4A】画像処理システム10の実装の一例を示す図。
【
図4B】実施形態に対応する模型300の設置の一例を示す図。
【
図4C】実施形態に対応するスキャナの稼働範囲を説明するための図。
【
図5A】実施形態に対応する画像処理システム10における処理の一例に対応するフローチャート。
【
図5B】実施形態に対応する関節設定処理の一例に対応するフローチャート。
【
図6A】実施形態に対応するインジケータの構成の一例を示す図。
【
図6B】実施形態に対応する、インジケータを三次元モデルデータに重畳した様子を例示する図。
【
図6C】実施形態に対応する、インジケータの調節方法を説明するための図。
【
図7】実施形態に対応する関節設定処理を説明するための図。
【
図8】実施形態に対応する三次元モデルデータに対する関連動作範囲の設定の一例を示す図。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。また、各図において、紙面に対する上下左右表裏方向を、本実施形態における部品(またはパーツ)の上下左右表裏方向として、本文中の説明の際に用いることとする。
【0010】
まず、本実施形態に対応する画像処理システムの構成を説明する。
図1は、本実施形態に対応する画像処理システム10の構成の一例を示す図である。画像処理システム10は、情報処理装置100に、スキャナ110、サポートアーム120、模型支持装置130、表示装置140、ヘッドセット150、深度センサ160等が接続されて構成されている。なお、システム構成は、
図1に示すものに限られず、情報処理装置100がネットワークを介して外部サーバ、クラウドサーバ等と更に接続されていてもよい。当該外部サーバ等では、以下で説明する実施形態の少なくとも一部の処理を実行することができる。
【0011】
情報処理装置100は、スキャナ110、サポートアーム120、模型支持装置130及び深度センサ160の少なくともいずれかの動作を制御し、撮影対象の物品を任意の角度から撮影して複数の画像を生成し、当該複数の画像から三次元モデルデータ(本データ)を生成する。撮影対象の物品が複数の構成物品に分離可能な構成となっている場合は、構成物品毎に撮影を行って三次元モデルデータを生成し、それらを統合することで対象物品の三次元モデルデータを生成してもよい。情報処理装置100は単体装置に限定されるものではなく、機能を複数装置に分散し、全体を統合して本実施形態の機能を達成するように構成されてもよい。
【0012】
情報処理装置100は、生成した三次元モデルデータを仮想空間用データとして用いることで、仮想空間上に表示される映像の生成を行う映像生成装置としても機能することができる。本実施形態において、撮影対象の被写体は、組立可能なプラスチックモデル、アクションフィギュア(可動式の関節部を備えたフィギュア)、玩具体、人形等の物品であり、これらを総称して以下では「模型」という。
【0013】
次にスキャナ110は、情報処理装置100の制御に従って、撮影対象の模型の三次元形状を撮影(スキャン)して、撮像対象の三次元形状及び色情報を出力する三次元スキャナ装置である。本実施形態においては、スキャナ110から出力されるスキャン信号を総称して「スキャン画像」と呼ぶ。スキャナ110には、例えばArtec社製のSpace Spiderを使用することができる。本実施形態においては、例えば、スキャン画像を500フレームから800フレーム程度を取得することで、玩具体全体の3Dスキャンデータを取得することができる。また、スキャナ110として、例えば三次元形状を撮影するためのアプリケーションがインストールされたカメラ付きスマートフォンを利用してもよい。
【0014】
サポートアーム120は、情報処理装置100の制御に従ってスキャナ110を所定の撮影位置及び姿勢に移動させる位置姿勢制御装置である。サポートアーム120は、撮影位置や姿勢を手動で変更することが可能であると共に、変更後の位置・姿勢を固定的に維持可能に構成されるものであってもよいし、情報処理装置100により制御可能に構成されていてもよい。サポートアーム120を情報処理装置100により制御可能に構成する場合、例えばUFACTORY社製のxArm 7を使用することができる。xArm7は7つのジョイントからなり、人間の腕と同様の動きができる。なお、サポートアーム120の代わりに、手動でスキャナ110の位置決めをしてもよい。また、サポートアーム120でカバーしきれない撮影位置及び姿勢については、スキャナ110を手動で操作してスキャンを行ってもよい。
【0015】
模型支持装置130は、ポーズの固定された模型を支持する支持台(或いは、模型を設置する設置台)である。模型支持装置130は、例えば、模型が支持台上に設置、或いは、支持棒の先端に設置された状態において回転可能に構成されていてもよい。本実施形態では、サポートアーム120により任意の撮影位置・撮影角度にスキャナ110を位置させた後、模型支持装置130を回転させて撮影を行う。模型支持装置130は、時計回りと反時計回りとの両方向で回転可能である。また、模型支持装置130は0度から360度の範囲で任意の回転角度で停止させることが可能であり特定の回転角度において模型支持装置130を停止させ、スキャナ110の可動範囲内において任意の撮影位置・撮影角度に位置させて撮影をおこなうこともできる。これを複数の回転角度、撮影位置、撮影角度において行うことにより、模型全体の画像を取得することができる。なお、ここでサポートアーム120と模型支持装置130とを同期して駆動させることで、撮影処理をより簡便に精度高く行うことができる。また、模型支持装置130の代わりに、手動でスキャナ110を模型の周囲を移動させて、任意の撮影位置・撮影角度位からスキャンしてもよい。
【0016】
表示装置140は、液晶ディスプレイ(LCD)等のディスプレイ装置であって、情報処理装置100における処理結果を表示することができる。具体的には、スキャナ110で取得した画像を表示したり、当該撮影画像から生成された三次元モデルデータの本データを表示したり、後述の関節位置設定用のインジケータを三次元モデルデータの本データに重畳表示したり、本データを使って再構成した映像(VR映像)を表示したりすることができる。表示装置140は、表示映像の観察者であるユーザからの操作を受け付ける操作部140Aを備えることができ、ユーザは操作部140Aを操作して、表示装置140に表示されている映像の内容に応じた操作入力を行うことができる。
【0017】
ヘッドセット150は、後述するヘッドマウントディスプレイ150Aとコントローラ150Bとから構成される。特にはVRヘッドセットとして観察者たるユーザの姿勢や傾きに対応した動画像を提供可能に構成されていてもよい。ヘッドセット150には、所定のアプリケーションがインストールされており、当該アプリケーションにおいて実行されるアプリケーションデータを情報処理装置100からダウンロードして実行することができる。本実施形態において、ヘッドセット150は情報処理装置100と同様に、三次元モデルデータを仮想空間用データとして用いて、仮想空間上に表示する映像の生成を行い、生成した映像をVR映像として提供する映像生成装置として機能ことができる。なお、当該アプリケーションデータには、VR映像を表示するための表示用データが含まれる。
【0018】
深度センサ160は、所定の空間内に存在する被写体或いはオブジェクトまでの距離を測定することのできるセンサである。深度センサ160が取得した深度情報は情報処理装置100に出力され、スキャナ110による撮影対象の模型の位置情報を特定し、スキャナ110によるスキャン範囲及びサポートアーム120の稼働範囲を制御するために用いられる。深度センサ160は、例えばサポートアーム120の架台上に設置することができる。但し、設置位置はこれに限定されず、模型支持装置130上に設置されたスキャン対象物を漏れなく計測でき、サポートアーム120の動きに干渉しない限りにおいては、任意の場所に設置することができる。深度センサ160として、例えば、Intel社製のRealSenseシリーズの深度カメラを利用することができる。
【0019】
次に、本実施形態に対応する情報処理装置100のハードウェア構成について説明する。
図2(A)は、情報処理装置100のハードウェア構成の一例を示す。CPU101は、情報処理装置100の全体的な制御やデータの計算・加工・管理を行う装置である。例えば、スキャナ110における画像の撮影タイミング、撮影枚数を制御すると共に、サポートアーム120のアームのジョイントを制御して、スキャナ110を任意の撮影位置・撮影角度に配置することができる。例えば、スキャナ110の撮影位置・撮影角度が決定された後、模型支持装置130を回転させて、スキャナ110により撮影動作を実施することができる。また、模型支持装置130を所定の回転角度で停止した後、任意の撮影位置・撮影角度においてスキャナ110により撮影動作を実施することができる。また、深度センサ160からの深度情報に基づきスキャナ110及びサポートアーム120の動作を制御することで、スキャナ110の撮影位置・撮影角度を特定の範囲に絞り込むことができる。
【0020】
また、CPU101は、スキャナ110から出力された画像を処理する画像処理部としても機能しうる。具体的にCPU101は、スキャナ110で得られたスキャン信号に基づいて生成した三次元モデルデータを仮想空間用データとして用いて、仮想空間内に三次元モデルを表示する映像を生成する処理を行うことができる。
【0021】
RAM102は、揮発性のメモリであり、CPU101の主メモリ、ワークエリア等の一時記憶領域として用いられる。ROM103は、不揮発性のメモリであり、画像データやその他のデータ、CPU101が動作するための各種プログラム等が、それぞれ所定の領域に格納されている。CPU101は、例えばROM103に格納されるプログラムに従い、RAM102をワークメモリとして用いて、情報処理装置100の各部を制御する。尚、CPU101が動作するためのプログラムは、ROM103に格納されるものに限られず、記憶装置104に記憶されていてもよい。
【0022】
記憶装置104は、例えばHDDやフラッシュメモリなどの磁気ディスクにより構成される。記憶装置104には、アプリケーションプログラム、OS、制御プログラム、関連プログラム、ゲームプログラム等が格納される。記憶装置104は、CPU101の制御に基づき、データを読み出したり、書き込みしたりすることができる。記憶装置104をRAM102やROM103の代わりに使用してもよい。
【0023】
通信装置105は、CPU101の制御に基づき、スキャナ110、サポートアーム120、模型支持装置130、表示装置140、ヘッドセット150、深度センサ160と通信するための通信インタフェースである。通信装置105は、更には外部サーバ等と通信可能に構成されていてもよい。通信装置105は、無線通信モジュールを含むことができ、当該モジュールはアンテナシステム、RF送受信器、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュールカード、メモリなどを含む、周知の回路機構を含むことができる。ここで、情報処理装置100と、スキャナ110、サポートアーム120、模型支持装置130、表示装置140、ヘッドセット150、深度センサ160との通信は無線通信により行われてもよい。
【0024】
また、通信装置105は、有線接続のための有線通信モジュールを含むこともできる。有線通信モジュールは1つ以上の外部ポートを介して表示装置140を含む他のデバイスとの通信を可能とする。また、データを処理する様々なソフトウェアコンポーネントを含むことができる。外部ポートは、イーサーネット、USBやIEEE1394等を介して、直接的に、又はネットワークを介して間接的に他のデバイスと結合する。尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【0025】
操作部106は、例えばボタン、キーボード、タッチパネル、コントローラ等で構成され、ユーザからの操作入力を受け付ける。操作部106は、操作部140Aと共用であってもよいし、操作部140Aとは独立していてもよい。例えば、操作部140Aがキーボードとマウス等として構成される操作部を想定している場合は操作部106と共用とすることができる。一方、操作部140Aがタッチパネルやコントローラ等として構成される操作部を想定している場合は、操作部106とは別個の操作部とすることができる。
【0026】
表示制御部107は、情報処理装置100と接続された表示装置140に情報を表示するための制御部として機能し、表示装置140の動作を制御する。操作部106の一部の機能が、表示装置140に備えられていてもよい。例えば、表示装置140がタブレット端末のようなタッチパネルを備える装置として構成されていてもよい。
【0027】
次に、本実施形態に対応するヘッドセット150のハードウェア構成について説明する。
図2(B)は、ヘッドセット150のハードウェア構成の一例を示す。ヘッドセット150は、ヘッドマウントディスプレイ(HMD)150Aと、コントローラ150Bとで構成される。HMD150Aは、ユーザの左右の眼にそれぞれ右眼映像、左眼映像を提供し、それらの視差により立体感を感じさせることで仮想現実(VR)体験を可能とする。コントローラ150Bは、HMD150Aとは独立した筐体において提供される。コントローラ150Bはユーザの左右の手にそれぞれ持って操作するために2つのコントローラがペアとなった構成を想定しているが、単体のコントローラであってもよい。
【0028】
CPU151は、ヘッドセット150の全体的な制御やデータの計算・加工・管理を行う装置である。例えば、情報処理装置100からダウンロードしたアプリケーションデータを実行して、VR映像をディスプレイ157に表示することができる。また、コントローラ156を介して受け付けた操作や検知部158が検知した情報に基づいて、表示するVR映像自体を切り替えたり、VR空間内で視点を切り替えたり、VR空間内の位置を変更したりすることができる。
【0029】
RAM152は、揮発性のメモリであり、CPU151の主メモリ、ワークエリア等の一時記憶領域として用いられる。ROM153は、不揮発性のメモリであり、画像データやその他のデータ、CPU151が動作するための各種プログラム等が、それぞれ所定の領域に格納されている。CPU151は、例えばROM153に格納されるプログラムに従い、RAM152をワークメモリとして用いて、ヘッドセット150の各部を制御する。尚、CPU151が動作するためのプログラムは、ROM153に格納されるものに限られず、記憶装置154に記憶されていてもよい。
【0030】
記憶装置154は、例えばHDDやフラッシュメモリなどの磁気ディスクにより構成される。記憶装置154には、アプリケーションプログラム、OS、制御プログラム、関連プログラム、ゲームプログラム、情報処理装置100からダウンロードしたアプリケーションデータや表示用データ等が格納される。記憶装置154は、CPU151の制御に基づき、データを読み出したり、書き込みしたりすることができる。記憶装置154をRAM152やROM153の代わりに使用してもよい。
【0031】
通信装置155は、CPU151の制御に基づき、情報処理装置100やコントローラ150Bと通信するための通信インタフェースである。通信装置155は、BluetoothやWiFi (IEEE802.11) に基づく無線通信を可能とする無線通信モジュールを含む。ヘッドセット150は、情報処理装置100と無線通信により接続し、VR映像の表示用データをダウンロードすることができる。また、コントローラ150Bと通信して、コントローラ150Bに対するユーザの操作指示の情報を受信する。
【0032】
ディスプレイ156は、CPU151が生成した右眼映像と左眼映像とをそれぞれユーザの右眼、及び左眼に提供するように構成されている。検出部157は、ユーザの左右の眼の視線方向を検出すると共に、ヘッドマウントディスプレイの傾きを検出するための機構である。検出部157は、例えば、HMD150Aを身に着けているユーザの視線方向あるいは注視方向を検出するためのセンサを含む。また、ジャイロスコープ、磁気計、加速度計、グローバルポジショニングシステム(GPS)、コンパス等を含み、これらの検出情報に従いHMD150Aの位置、姿勢、傾き等を特定することができる。検出部157は、HMD150Aにおいてユーザの注視方向やアクションを判定するための情報を検出しCPU151に送信する。CPU151は、受信した検出情報に基づき注視方向やアクションを判定し、判定された注視方向やアクションに一致するようにHMD150Aのディスプレイ156で提示された映像を調節する。
【0033】
コントローラ150Bは、例えば複数のボタン、十字キー等で構成され、ユーザからの選択操作、方向指示操作等の操作入力を受け付ける。コントローラ150Bは、HMD150Aとは通信装置155を介して無線通信接続される。
【0034】
次に、
図3を参照して、本実施形態において撮影対象の被写体となる模型の一例を説明する。模型300は、人形型(ロボット、又は、人間)の外観を有する模型である。当該模型は、例えばプラスチックモデルとして組み立てられ、塗装されたものとすることができる。或いは、可動式の関節部を備えたフィギュア(アクションフィギュア)のように、完成済みの模型であってもよい。
図2の模型はあくまで説明のための一例にすぎず、模型の形状は人形型の外観を有するものだけではなく、一般車両、レース車両、軍用車両、航空機、船舶、動物、仮想生命体等、任意の形状の模型とすることができる。なお、撮影対象となる物品は、スキャナ110で三次元形状が撮影可能な物品であれば模型に限定されないことはもちろんである。
【0035】
模型300は、頭部301、胸部302、右腕部303、左腕部304、右胴体部305、左胴体部306、右脚部307、左脚部308、右足部309、左足部310の各部品を有し、これらが結合されて構成されている。個々の部位301~310の少なくとも一部は、隣接する部位に対して回動(或いは揺動)可能に支持される。例えば、頭部301は胸部302に対して回動可能に支持され、右腕部303、左腕部304は胸部302に対して回動可能に支持される。このようにして模型300の各部位には関節構造が設けられているため、模型300は任意の姿勢を取ることができる。
【0036】
次に、
図4Aを参照して、本実施形態における画像処理システム10の全体的な実装例を説明する。
図4Aは、模型を撮影して生成した本データを生成可能な実装例を一般化して示す図である。
【0037】
図4Aにおいて、ケース401内には、情報処理装置100、サポートアーム402を駆動するための駆動系、ターンテーブル406を駆動するための駆動系等が含まれる。なお、サポートアーム402は、手動で撮影方向・位置を調整することもできる。ケース401の表面は宣伝用のポスターを添付することができるよう平坦な構造となっている。
【0038】
サポートアーム402は、サポートアーム120に対応し、情報処理装置100の制御に従い、或いは、手動によりスキャナ110として機能する端末403を支持し、位置を固定することができる。サポートアーム402はまた、端末403の傾きを制御するように動作することも可能である。
【0039】
端末403は、スキャナ110として利用が可能な、カメラ内蔵でタッチパネル式の端末であり、例えば、スマートフォン、タブレット端末、デジタルカメラ等を利用することができる。これらの端末の代わりに、Artec社製のSpace Spiderを利用することもできる。
図4Aはあくまでシステム構成の一般化された例を示す図であり、スキャナ110として利用する機器の種類に応じた構成とすることができる。端末403は模型300の画像を撮影し、情報処理装置100に送信することができる。リングライト404は、端末403により模型300を撮影する際に利用される照明装置であり、模型300に均等に光を当てて、影を出にくくすることができる。なお、追加の光源として、リングライト404の他に、トップライトや左右、下側に補助ライトを設置してもよい。端末403の代わりに、上述のような三次元スキャナ装置を使用してもよい。
【0040】
背景シート405は撮影用の背景シートであり、例えば白色のシートを利用することができる。ターンテーブル406は、模型300を搭載して模型を回転させることができる。ターンテーブル406及びその駆動系を含めた構成は模型支持装置130に対応し、情報処理装置100の制御に従い、ターンテーブル406の時計回り及び反時計回りの回転及び停止の動作が行われる。ターンテーブル406には、所定のマーカ410を複数配置してもよい。マーカ410は撮影された模型の向きや位置を調整するために利用することができる。
【0041】
図4Aでは、模型が半透明(透明)の台の上に設置されているが、これ以外にも例えば「アクションベース」(登録商標)と呼ばれるような支持器具を利用してもよい。アクションベースは台座の上に、「く」の字型に曲げられるように構成された支柱が設置されており、支柱の先端に模型を取り付けることができる。このとき支柱の先端部分や台座部分に上述のマーカ410を配置してもよい。模型の指示方法は、ポーズに応じて変更することができる。例えば、直立姿勢の場合には透明の台の上に設置して撮影を行うことができる。一方、飛翔姿勢のように足の裏まで撮影したい場合には、アクションベースを利用してもよい。なお、直立姿勢を撮影するためにアクションベースを使用してもよい。
【0042】
ディスプレイ装置407は表示装置140に対応する装置であり、タッチパネル機能を有していてもよい。ユーザはタッチパネル機能を利用して所定の選択動作を行うことができる。また、タッチパネルの代わりに操作部140Aとして機能することのできる不図示のコントローラやマウスにより操作を受け付けることもできる。VRヘッドセット408は、HMD408Aとコントローラ408Bとからなり、HMD150A及び150Bにそれぞれ対応する。ユーザは、HMD408Aを頭に装着し、コントローラ408Bを左右の手にそれぞれ把持して操作することにより、VR映像を見ながら操作を行うことができる。
【0043】
ここで
図4Bに、アクションベースを利用して模型300を設置した場合の設置の一例を示す。本実施形態では
図4Bに示すように、アクションベース411の台座412に4つのAR(Augmented Reality)マーカ413を配置し、当該ARマーカ413によりアクションベースの中心及び向きを特定する。
【0044】
ARマーカ413は撮影された模型の向きや位置を調整するために利用される。ARマーカ413からは三次元座標を特定することができ、X軸、Y軸、Z軸の傾きが特定できる。例えば一方のARマーカ413から特定される三次元座標を基準とした場合、残りのARマーカ413から特定される三次元座標を当該基準に一致させることにより、本データの向きや傾きを正しく補正することができる。
【0045】
アクションベース411を使って模型300を設置すると、アクションベース411と模型300との接続関係は実質的に一意に固定されるので、アクションベース411の正面が模型300の正面と一致する。よって、アクションベース411の中心及び向きにより正面が決定されれば、模型300の正面もおのずと決定される。本実施形態において、ARマーカ413は三次元的なマーカ(立体造形により作成したマーカ)であってもよいし、二次元的なマーカ(例えば、シールに印刷して作成したマーカ)であってもよい。
図4Bに示す例では、二次元的に作成したマーカを用いている。
【0046】
次に
図5Aを参照して、本実施形態に対応する、画像処理システム10が実行する処理の一例を説明する。当該フローチャートに対応する処理の少なくとも一部は、情報処理装置100のCPU101が、ROM103や記憶装置104に記憶されたプログラムを実行することにより実現される。
【0047】
まずS501において、CPU101は、ユーザ登録を受け付ける。ユーザの名称や連絡先の入力を受け付ける。各ユーザに対しては個々のユーザを一意に識別するためのユーザ識別子を付与する。CPU101は、入力されたユーザ情報を、入力を受け付けた時間やユーザ識別子と関連付けて記憶装置104に記憶しておく。このとき、スキャン処理をする自身の模型の種別(例えば、「人形型で、かつ、リアルタイプの模型」なのか、「人形型で、かつ、デフォルメタイプの模型」なのか、または、「腕部や脚部が省略されている模型」なのかなど)を指定できるようにしてもよい。
【0048】
ユーザはユーザ登録が完了すると、自身の模型を模型支持装置130にセットする。CPU101はスキャナ110によるスキャン画像に基づいて模型支持装置130に模型300がセットされたかどうかを判定することができる。或いは、模型支持装置130に模型300がセットされた場合にオンになるスイッチを配置しておき、スイッチからの信号をCPU101が検知して判断してもよい。或いは、表示装置140に模型300のセットが完了した場合に操作を受け付けるためのボタンを表示しておき、CPU101は当該ボタン操作に対する操作を受け付けたかどうかを検知することができる。S502においては、CPU101が上述のいずれかの方法により、模型支持装置130に模型300がセットされたことを検知する。当該検知に応じて処理はS503に進む。
【0049】
S503では、スキャナ110、サポートアーム120、模型支持装置130及び深度センサ160が連携してスキャン処理(撮影処理)を実行してスキャン画像を生成する。具体的には、CPU101はサポートアーム120を制御して、スキャナ110を登録されたいずれかの撮影位置に移動させ、当該撮影位置において模型支持装置130を回転させながらスキャナ110がスキャンを行うことができる。また、模型支持装置130を所定の回転角度で停止した後、任意の撮影位置・撮影角度においてスキャナ110により撮影動作を実施することができる。撮影されたスキャン画像は情報処理装置100に送信され、CPU101は、記憶装置104のテーブルにユーザ識別子等と関連付けて保存する。
【0050】
また、S503においては深度センサ160から深度情報を取得して、スキャナ110及びサポートアーム120の動作を制御する。具体的に、CPU101は深度センサ160によって取得されたスキャン対象空間のボリューム情報を解析し、位置と範囲を検出し、深度センサ160で取得される深度空間において、スキャン対象とすべき所定の範囲(「バウンディングボックス」と呼ぶ)を設定する。
【0051】
その際、深度センサ160からの出力を全て活用しようとすると情報量が多く、実際の処理に不要な空間の情報(例えば、周囲の壁やターンテーブル406)まで含まれるため、処理対象を予め特定の範囲(幅・高さ・奥行で特定される)内の深度情報に限定しておいてもよい。バウンディングボックスは、予め特定した範囲に含まれる物体を取り囲む空間の幅・高さ・奥行で特定される。これにより、スキャン対象がどの程度の体積、或いは、大きさを有するものであるかが特定可能となる。また、スキャン対象はバウンディングボックス内に存在するので、サポートアーム120の稼働範囲(縦方向及び横方向)は当該バウンディングボックスの大きさに基づいて設定すればよい。
【0052】
バウンディングボックスは、模型300の種類に寄らず共通としておくことができる。よって、深度センサ160からの深度情報に基づくバウンディングボックスの設定処理は予め行っておいてもよい。その場合、S503における処理においては深度情報を改めて取得する必要が無い。
【0053】
図4Cは、バウンディングボックスの概念を説明するための図である。
図4Cでは、模型300がアクションベース411により支持されており、ターンテーブル406の略中央に配置されている。また、
図4Cにおいて、スキャナ装置413はサポートアーム402により支持されており、ここではArtec社製のSpace Spiderを使用することを想定している。サポートアーム402を駆動するための駆動系、ターンテーブル406を駆動するための駆動系等については、
図4Aで説明したのと同様であるので説明を省略する。
【0054】
図4Cに示すターンテーブル406上のスキャン対象空間において、模型300、アクションベース411及び台座412を包含するようにバウンディングボックス415が設定されている。模型を設置するためのアクションベース411及びその台座412(これらをまとめて「設置台」ともいう。)をバウンディングボックスに含めるのは、三次元モデルデータの位置・姿勢を制御するための情報を取得するためである。このとき、深度センサ414がサポートアーム402の下側の台座付近に設置されている。このようにバウンディングボックス415を設定することにより、スキャン範囲を限定して、処理対象のデータ量を削減し処理の高速化と共に効率化を達成することができる。
【0055】
続くS504では、CPU101は、スキャン処理により取得されたスキャン画像についてスキャン後処理を実行し、模型300の各三次元モデルデータを生成し、映像表示用のアプリケーションデータ(表示用データ)を生成する。スキャン後処理では、事前に不要なデータの範囲を定義する領域を作成しておき、データを読み込み不要な領域に含まれる面を削除する。これにより模型300以外の面をほぼ除去することができる。
【0056】
また、スキャン後処理においては、ARマーカ413に基づき、三次元モデルデータの正面を特定する。三次元モデルデータの正面を特定しておくことにより、後段の関節設定処理においてインジケータを重畳して関節位置を設定する際の設定精度を向上させることが可能となる。
【0057】
具体的に、スキャン画像の各ARマーカ413の解析結果から、各ARマーカ413の3次元空間での位置と回転方向を取得する。次いで、ARマーカ413の位置からアクションベース411の中心と思われる座標と回転値を計算する。本実施形態において、ARマーカ413はアクションベースの中心から一定距離を有するように配置されているので、当該情報に基づいて位置を計算することができる。このときARマーカ413解析時の誤差から、中心位置のずれが生じてしまうので、解析結果の平均値をアクションベースの中心位置に決定する。
【0058】
後段で説明するような関節設定処理を行う場合には、当該中心位置を当該関節設定処理を行う三次元空間の原点に動かすための移動量を決定し、当該移動量に基づき模型300の三次元モデルデータの位置を補正する。これにより、アクションベース411を任意の空間の原点に移動させ、特定の方向を向かせることが可能となり、これに伴って模型300の三次元モデルデータの正面も特定できるようになる。また、スキャンデータ共通で同一の処理を行うことができるので、模型300の違いに関わらず処理が共通化できる。
【0059】
続くS505において、CPU101は関節設定処理を行う。当該処理は、S504の処理において生成された三次元モデルデータを仮想空間内で動作させる際に不自然な動作とならないように、三次元モデルデータに関節箇所を埋め込むための処理である。これにより、三次元モデルデータを仮想空間内で動作させる際に、三次元モデルの関節部分が姿勢に応じて屈曲・伸展するように表現され、それ以外の部分が不自然に曲がることが無くなり、全体の動作としての不自然さを解消することができる。S505における処理の詳細は
図5Bを参照して後述する。
【0060】
以上により生成されたアプリケーションデータは、情報処理装置100において特定のアプリケーションにおいて実行されると映像を再生することができる。当該映像においては、関節情報に基づき三次元モデルデータの関節を稼働させた三次元モデルの映像が含まれる。また、ヘッドマウントディスプレイ150Aにおいて当該特定のアプリケーションにおいて実行されるとVR映像を再生することができる。生成された三次元モデルデータ及び表示用データは、ユーザ情報と関連付けて記憶装置104に記憶される。
【0061】
続くS506において、映像表示処理を実行する。当該映像表示処理は、情報処理装置100において行う場合にはCPU101が、表示用データを対応する特定アプリケーションを実行し、表示制御部107を介して表示装置140に映像を表示する。また、S506においては、CPU101が通信装置105を制御して表示用データをHMD150Aに送信し、HMD150AのCPU151が、受信した表示用データを対応するアプリケーションにおいて実行することでVR映像を表示する処理を実行することにより、映像表示処理を行ってもよい。なお、特定アプリケーションがゲームアプリケーションの場合、関節設定処理まで行われた三次元モデルデータを、ゲームにおいてプレイヤーによって操作される操作キャラクタとして使用してもよい。
【0062】
次に
図5Bを参照して、
図5AのS505における処理の詳細を説明する。
図5BはS505の関節設定処理の詳細の処理の一例を示すフローチャートである。
【0063】
S511では、表示装置140に、S504で生成した三次元モデルデータに、関節位置設定用のインジケータを重畳表示する。ここでインジケータの一例を
図6に示す。
【0064】
図6Aは、標準的な人形型模型の二次元的な関節位置を設定するためのインジケータ600を示しており、ここではそれぞれの関節位置を示す指標を十字マーク601で示している。十字マーク601は、首、肩、肘、手首、腰、太ももの付け根、膝、足首の各関節位置に配置され、
図6Aでは全部で14個が配置されている。またインジケータ600は、操作者に対して各十字マーク601がどの関節位置を示すかを通知するために、人形型模型の概略的な輪郭を示した輪郭線602を有している。これにより、各十字マーク601が人形型模型のどの部位であるかを把握することができる。
【0065】
図6に示すインジケータ600は、模型の種別にかかわらず適用が可能な共通のインジケータとして用いることができる。但し、インジケータは共通のものに限らず、三次元モデルデータの元となった模型の種別に応じた複数種のインジケータを予め用意しておいてもよい。その際、模型の種別を操作者が指定することもできる。例えば、
図6Aに示すインジケータ600は、人形型で、かつ、リアルタイプの模型に対応しているが、これとは別に、人形型で、かつ、デフォルメタイプの模型に対応するインジケータを用意してもよい。また、腕部や脚部が省略されている模型などに対応するインジケータを追加で用意してもよい。その際、ユーザがあらかじめ指定した(例えば、ユーザ登録受付(S501)の際に指定した)スキャン処理をした自身の模型の種別に応じて、用意されたインジケータのうちいずれかを選択し、表示されるようにしてもよい。或いは、インジケータ600において一部の構成(例えば、脚部等)を削除できるようにしてもよい。
【0066】
図6B(A)に示すように、インジケータ600は、三次元モデルデータ610の上に重畳表示され、
図6B(B)に示すように重畳状態620となる。このとき、インジケータ600のサイズを、三次元モデルデータ610の全高にあわせて調整(拡大または縮小)してもよい。なお、この状態においては、インジケータ600と三次元モデルデータ610との関節位置が適切に重なり合っておらず、ずれが生じている。そこで、
図5のフローチャートのS512では、インジケータの調整操作を受け付けて、十字マーク601を三次元モデルデータ610の対応する関節位置に移動させる。
【0067】
図6Cは、十字マーク601が移動される過程を示している。
図6C(A)は、
図6B(B)に示す重畳状態620に対応し、三次元モデルデータ610にインジケータ600を単純に重ね合わせた状態を示している。S512では、このような重畳状態620において、十字マーク601の位置が三次元モデルデータ610の関節位置上に位置するように、十字マーク601の位置を移動させる操作を受け付ける。操作者は操作部140Aのマウスを使用するなどして、十字マーク601を選択し移動させる操作(例えば、ドラッグ・アンド・ドロップ操作)を行うことができる。これにより、例えば、左右の腕の上に配置されている十字マーク601はそれぞれ外側に移動され、
図6C(B)の重畳状態630に示すように三次元モデルデータ610の腕の肘関節位置及び手首関節位置に移動する。このとき、輪郭線602も十字マーク601の移動後の位置に合わせて線が変更されるので、輪郭線602が三次元モデルデータ610の外形に対して適切な位置にあるか(例えば、輪郭線602が外形に沿っているかどうか)を、十字マーク601の移動操作の目安にすることができる。また、首関節の位置を上側にずらすような操作も受け付ける。これにより、
図6C(B)の重畳状態630では、三次元モデルデータ610の首関節位置に十字マーク601が移動する。
【0068】
次に
図6C(B)の重畳状態630から、左右の脚に配置された各十字マーク601を外側に移動させる操作を受け付けると共に、太ももの付け根の関節位置を下げる操作を受け付ける。これにより
図6C(C)の重畳状態640に移行する。重畳状態640では、各関節位置に十字マーク601が配置されていることが確認できる。なお、本実施形態においては十字マーク601を移動させることでインジケータ600の輪郭線602の位置が変更されるようにしているが、逆に、インジケータ600の輪郭線602を三次元モデルデータ610の外形に沿うように変形させることに応じて十字マーク601が適切な位置に移動されるようにしてもよい。
【0069】
このようにして三次元モデルデータ610における二次元的な関節位置の指定を受け付けることができる。続くS513において、CPU101はS512で受け付けた十字マーク601の位置と、三次元モデルデータ610の奥行情報とに基づいて、三次元モデルデータ610における三次元的な関節位置(これを「関節基準位置」という)を設定する。関節基準位置の設定について
図7を参照して説明する。
【0070】
図7は、S513及びS514における処理を説明するための図である。
図7(A)は、
図6C(C)で示す重畳状態640において、点線641で囲む肘関節に相当する三次元モデルデータ610の奥行方向の断面の一例を示す図である。肘関節641の表面には十字マーク601が重畳されている。十字マーク601は三次元モデルデータ610の肘関節の表面に配置されているが、実際に関節として動作する際の基準位置となるのは三次元モデルデータの肘関節内部の位置であり、肘関節の表面から肘関節内部に埋め込む必要がある。その際の埋め込み量は、三次元モデルデータ610の肘関節の奥行情報に基づいて決定することができる。
【0071】
肘関節641の奥行の大きさを十字マーク601を基準とする位置においてDとすると、例えば、D/2の位置に関節基準位置を配置することができる。なお、関節基準位置は「点」で設定するのではなく、所定の三次元的な大きさを有する領域(或いは範囲、例えば、球状、直方体状等)として設定される。よって、D/2の位置は、当該領域の重心位置あるいは中心の位置とすることができ、更に三次元モデルデータ610内でその位置が微調整することができる。
図7(B)では、肘関節641の内側に三次元的領域701を設定した様子を示している。このように一定の範囲を持たせて関節基準位置を設定することにより、設定位置に関する多少のずれについて吸収することができる。なお、関節基準位置に基づいて、三次元モデルデータには、三次元モデルデータを動かす際の骨構造(或いは、骨格構造、骨組構造ともいう)を配置することができる。
【0072】
図5Bの説明に戻り、続くS514において、CPU101はS513で設定した関節基準位置に基づき関連動作範囲を設定する。当該関連動作範囲とは、関節基準位置に基づき関節を動作させた場合に動きに影響がある範囲、或いは、関節の動作と関連して一体的に動作する範囲のことである。
【0073】
当該関連動作範囲の設定においては、設定した関節基準位置(及び骨構造)と三次元モデルデータのポリゴンメッシュ構造を参照して、関節基準位置と関節基準位置との間に位置する部分を頭部・腕部・脚部等のそれぞれの部位に含めるように分類(或いは、グループ分け、エリア分け)する。この処理によって隣接する部位であっても実際には繋がっていない部位(腕部と、胸部及び腰部など)を別々の部位として処理することができる。なお、処理の負荷を軽減するため視覚的に影響度の大きい部位についてのみ実施してもよい。
【0074】
関節は一般に一方部位と他方部位とを屈曲・伸展(曲がる・伸びる)可能に連結する構造である。例えば、肘関節は上腕と前腕を連結する関節であり、肘関節が機能することにより上腕に対して前腕が屈曲や伸展することができる。その際、上腕や前腕の部位に属する部分を特定しておく必要がある。S514は、この関節の関連動作範囲を特定するための処理である。
【0075】
本実施形態においては具体的には、ある関節基準位置から所定の範囲内にあるポリゴン頂点を、当該関節基準位置に対応する部位に含めるように分類している。例えば、首に位置する関節基準位置から頭部方向の所定の範囲内にあるポリゴン頂点は「頭部」という部位に含まれるように分類している。このことにより、これらのポリゴン頂点は「頭部の骨構造の関連動作範囲」として設定されたことになるため、頭部の骨構造が首の関節基準位置を中心に移動したとき、この「頭部の骨構造の関連動作範囲」(「頭部」という部位に含まれるように分類されたポリゴン頂点)は頭部の骨構造とともに移動するようにすることができる。
【0076】
さらに例を挙げれば、肘に位置する関節基準位置から前腕部方向の所定の範囲内にあるポリゴン頂点は「前腕部」という部位に含まれるように分類している。このことにより、これらのポリゴン頂点は「前腕部の骨構造の関連動作範囲」として設定されたことになるため、前腕部の骨構造が肘の関節基準位置を中心に移動したとき、この「前腕部の骨構造の関連動作範囲」(「前腕部」という部位に含まれるように分類されたポリゴン頂点)は前腕部の骨構造とともに移動するようにすることができる。
【0077】
また、さらに例を挙げると、膝に位置する関節基準位置から下腿部方向の所定の範囲内にあるポリゴン頂点は「下腿部」という部位に含まれるように分類している。このことにより、これらのポリゴン頂点は「下腿部の骨構造の関連動作範囲」として設定されたことになるため、下腿部の骨構造が膝の関節基準位置を中心に移動したとき、この「下腿部の骨構造の関連動作範囲」(「下腿部」という部位に含まれるように分類されたポリゴン頂点)は下腿部の骨構造とともに移動するようにすることができる。
【0078】
当該範囲を細かくしすぎると、処理負荷が高くなり、処理時間が長くなる。その一方、範囲を広くしすぎると、本来無関係な部位まで関節の影響を受けることになり、映像を鑑賞するものに違和感を与えかねない。そこで関連動作範囲を適正に設定することが必要である。また、この関連動作範囲の設定は、スキャン処理された模型の種別(例えば、「人形型で、かつ、リアルタイプの模型」なのか、「人形型で、かつ、デフォルメタイプの模型」なのか、または、「腕部や脚部が省略されている模型」なのかなど)に応じて複数用意し、模型の種別に応じて選択可能、または、自動的に選択されるようにしてもよい。
【0079】
図8は、模型300の三次元モデルデータ800に対して関連動作範囲を設定した様子の一例を示している。ここでは、頭部801、胸部802、腰部803、左肩部804、左上腕部805、左前腕部806、左手807、右肩部808、右上腕部809、右前腕部810、右手811、左大腿部812、左下腿部813、左足814、右大腿部815、右下腿部816、右足817のそれぞれが関連動作範囲として同一のグループに色分けされている。三次元モデルデータ710のこれらのグループに含まれる範囲は、対応する関節の動きに対して一体的に動作する。例えば、股関節であれば、左右の大腿部が、膝関節であれば、左右の下腿部がまとまって動作することとなる。
図8に示す関連動作範囲は、左右上腕部、左右前腕部、左右大腿部、左右下腿部のように2つの関節基準位置により挟まれた範囲として特定される範囲を含むものである。
【0080】
CPU101は、S513及びS514における上述の処理を、
図6C(C)の重畳状態640において十字マーク601が重畳された全ての関節位置について行い、得られた関節基準位置701の位置情報と、関連動作範囲702の情報を関節情報として、ユーザ情報及び三次元モデルデータと関連付けて記憶装置104に記憶する。その後、処理はS506に移行する。
【0081】
以上のように、本実施形態では、模型をスキャナにより撮影して得られた画像から三次元モデルデータを生成する際に、三次元モデルデータの関節の位置及び範囲を特定するための関節情報を関連付けることができる。これにより、当該三次元モデルデータを仮想空間内に配置して映像を表示際には、三次元モデルデータについて設定された関節情報に従い三次元モデルデータの動作を制御することができる。このとき、三次元モデルデータの関節が不自然な折れ曲がり方をすることが無くなり、観る者は違和感を感ずることがなくなる。
【0082】
また、本実施形態では、深度センサ160を用いて、スキャナにより撮影する範囲を絞り込むことができるので処理すべきデータ量を削減することが可能となり、それにより処理を効率化することができると共に処理時間の短縮化が図れる。更には、模型をスキャナで撮影する際には、模型の設置された設置台上に位置や傾きを検出することができるマーカを配置して、撮影時の条件の違いを後段の補正により解消することができる。これにより、複数の異なる模型をスキャンする場合であっても、共通の設置台を用いることができると共に、設置の条件の精度をある程度緩和することが可能となる。
【0083】
上述の実施形態において取得した三次元モデルデータは、例えば仮想空間内で行われる対戦ゲームの実施や、プロモーション動画の作成のために用いることができる。但し、三次元モデルデータの用途はこれらに限らず、仮想空間内で行われるイベント、コンサート、スポーツ、オンライン会議等に、当該模型を登場させることも可能である。更には、クロスリアリティ(XR)のような現実世界と仮想世界とを融合し、現実空間には存在しないものを知覚可能とする映像技術において、本実施形態の技術を適用することもできる。
【0084】
このようにして本実施形態では、模型の外観を撮影した画像から三次元モデルデータを生成し、当該三次元モデルを仮想空間内に配置した映像を鑑賞することが可能となる。模型は、例えば組み立て式プラスチックモデルのように、ユーザが塗装等を行って独自の作品として仕上げているものがあり、それらの個性を動画や仮想空間内のキャラクタ表現に反映することができるので嗜好性を格段に向上させることができる。
【0085】
<実施形態のまとめ>
上記実施形態は以下の情報処理装置、及びコンピュータプログラムを少なくとも開示する。
(1) 情報処理装置であって、
スキャナの位置及び角度を制御して、回転台に設置された被写体の外観をスキャンしてスキャン画像を生成するスキャン制御手段と、
前記スキャン画像から三次元モデルデータを生成するデータ生成手段と、
前記三次元モデルデータに基づく三次元モデルを仮想空間内に配置した映像を生成する映像生成手段と、
を備え、
前記三次元モデルデータに対する関節位置の指定入力を受け付ける受付手段を更に備え、
前記データ生成手段は、前記三次元モデルデータを、指定入力された前記関節位置に基づく関節情報と関連付けて生成し、
前記映像生成手段は、前記関節情報に基づき前記三次元モデルデータの関節を稼働させた三次元モデルの映像を生成する、情報処理装置。
(2) 前記受付手段は、前記情報処理装置のユーザからの操作を受け付ける操作受付手段と、表示手段とを含み、
前記受付手段は、
前記表示手段が、関節位置を示す複数の指標を含むインジケータを前記三次元モデルデータに重畳して表示し、
前記操作受付手段が、前記指標の位置を前記三次元モデルデータの所定の関節の位置に合わせる操作を受け付けることにより、
前記関節位置の指定入力を受け付ける、(1)に記載の情報処理装置。
(3) 前記インジケータは、前記被写体の種別に応じて異なる種類のインジケータのうちから選択される、(2)に記載の情報処理装置。
(4) 前記インジケータは、前記被写体の種別の違いに関わらず共通に用いられる、(2)に記載の情報処理装置。
(5) 前記データ生成手段は、
指定入力された前記関節位置における前記三次元モデルデータの奥行の情報に基づき、前記三次元モデルデータにおいて対応する関節を動作させるための関節基準位置の埋め込み量を決定し、
前記関節位置と前記埋め込み量とに基づいて前記関節基準位置を決定し、
前記関節基準位置を前記関節情報として前記三次元モデルデータと関連付ける、(2)に記載の情報処理装置。
(6) 前記データ生成手段は、
前記三次元モデルデータにおいて関節を動作させる際に前記三次元モデルデータにおいて前記関節の動作と関連して動作する関連動作範囲を、前記関節基準位置に基づいて決定し、
前記関連動作範囲を前記関節情報に更に含める、(5)に記載の情報処理装置。
(7) 前記関連動作範囲は、前記関節基準位置により挟まれた範囲として特定される範囲を含む、(6)に記載の情報処理装置。
(8) 前記被写体が設置された設置台の台座の表面には、複数のマーカが配置され、前記マーカは三次元空間における位置及び回転方向を取得可能に構成され、
前記データ生成手段は、
前記スキャン画像から前記複数のマーカの情報を抽出して、前記被写体が設置された設置台の位置を特定し、
前記位置に基づき、前記三次元モデルデータの位置及び向きを補正する、(2)から(7)のいずれか1つに記載の情報処理装置。
(9) 前記補正では、前記インジケータが前記三次元モデルデータに重畳して表示される際に、前記インジケータの正面に合わせた向きとなるように前記三次元モデルデータの向きが補正される、(8)に記載の情報処理装置。
(10) 前記マーカは、ARマーカである、(8)または(9)に記載の情報処理装置。
(11) 前記スキャナがスキャンする範囲の深度情報を取得する深度センサを更に備え、
前記スキャン制御手段は、前記深度センサからの深度情報に基づき前記スキャナの位置及び角度を制御する、(1)から(10)のいずれか1つに記載の情報処理装置。
(12) 前記スキャン制御手段は、前記回転台に設置された前記被写体と前記被写体を設置する設置台とを包含する範囲を設定し、当該範囲をスキャンするように前記スキャナの位置及び角度を制御する、(11)に記載の情報処理装置。
(13) コンピュータを、(1)から(12)のいずれか1つに記載の情報処理装置として機能させるためのコンピュータプログラム。
【0086】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
【要約】 (修正有)
【課題】対象物を撮影し、撮影された対象物の三次元モデルデータを用いて仮想空間上に三次元モデルを配置した映像を生成する際に、三次元モデルデータの動きの不自然さを防止する。
【解決手段】画像処理システム10において、情報処理装置は、スキャナの位置及び角度を制御して、回転台に設置された被写体の外観をスキャンしてスキャン画像を生成するスキャン制御手段と、スキャン画像から三次元モデルデータを生成するデータ生成手段と、三次元モデルデータに基づく三次元モデルを仮想空間内に配置した映像を生成する映像生成手段と、三次元モデルデータに対する関節位置の指定入力を受け付ける受付手段と、備える。データ生成手段は、三次元モデルデータを、指定入力された関節位置に基づく関節情報と関連付けて生成し、映像生成手段は、関節情報に基づき三次元モデルデータの関節を稼働させた三次元モデルの映像を生成する。
【選択図】
図1