IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社フジタの特許一覧 ▶ 株式会社インフォマティクスの特許一覧

<>
  • 特開-情報処理装置 図1
  • 特開-情報処理装置 図2
  • 特開-情報処理装置 図3
  • 特開-情報処理装置 図4
  • 特開-情報処理装置 図5
  • 特開-情報処理装置 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023023638
(43)【公開日】2023-02-16
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
   G06T 19/00 20110101AFI20230209BHJP
【FI】
G06T19/00 600
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021129329
(22)【出願日】2021-08-05
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 株式会社インフォマティクスが、ウェブサイト(https://www.gyroeye.jp/ios-gyroeye-viewer-2021-1/およびhttps://apps.apple.com/jp/app/gyroeyeviewer/id1489691478)で公開されている同社製品紹介記事にて、伏見光、及び遠藤智幸が発明したGyroEye iOSビューワについて公開した。
(71)【出願人】
【識別番号】302060926
【氏名又は名称】株式会社フジタ
(71)【出願人】
【識別番号】399105715
【氏名又は名称】株式会社インフォマティクス
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100182936
【弁理士】
【氏名又は名称】矢野 直樹
(72)【発明者】
【氏名】伏見 光
(72)【発明者】
【氏名】遠藤 智幸
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA11
5B050CA07
5B050DA01
5B050EA18
5B050EA19
5B050FA02
(57)【要約】
【課題】仮想モデルの位置を簡便に設定すること。
【解決手段】情報処理装置100は、画像処理部32と、表示制御部33と、操作受付部31と、を備える。画像処理部32は、画像内で選択された任意の位置情報と、仮想空間における仮想モデルの位置情報と、関連付けて配置する。表示制御部33は、画像の任意の位置情報と、仮想空間における仮想モデルの位置情報と、に基づいて、画像上に仮想モデルを表示する。操作受付部31は、ユーザの操作を受け付ける。表示制御部33は、操作受付部31により受け付けたユーザの操作に基づき、仮想モデルの位置情報を移動して画像上に仮想モデルを表示する。
【選択図】図2

【特許請求の範囲】
【請求項1】
仮想空間における仮想モデルが有する第1の位置情報が画像内から選択された第2の位置情報に関連付けられて表示される情報処理装置であって、
前記情報処理装置は、制御部、入力装置、および表示装置を有し、
前記表示装置は、前記仮想モデルの前記第1の位置情報が前記第2の位置情報に関連付けて表示される機能を備え、
前記入力装置は、ユーザの操作を受け付ける機能を備え、
前記制御部は、
前記第2の位置情報をワールド座標として変換および管理し、
前記第1の位置情報をローカル座標で管理し、
前記第1の位置情報を前記第2の位置情報に関連つけることで前記仮想モデルの表示位置を決定し、
前記入力装置により受け付けた操作に基づき、
前記仮想モデルの位置情報を移動して前記画像上に前記仮想モデルを表示させ、
前記仮想モデルの透明度を変更して表示させる
ことを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記情報処理装置は、撮像装置を有し、
前記画像は、前記撮像装置によって撮像された撮像画像である
ことを特徴とする情報処理装置。
【請求項3】
請求項1に記載の情報処理装置であって、
前記情報処理装置は、撮像装置を有し、
前記撮像装置は、メモリを有し、
前記画像は、前記メモリに記憶された記録画像である
ことを特徴とする情報処理装置。
【請求項4】
請求項1乃至3のうち何れかに記載の情報処理装置であって、
前記仮想モデルは、建造物である
ことを特徴とする情報処理装置。
【請求項5】
請求項1乃至4のうち何れかに記載の情報処理装置であって、
前記表示装置は、前記入力装置により受け付けた操作に基づき、前記ローカル座標で管理されている前記仮想モデルの原点を、前記ワールド座標の平面に沿って移動させ前記画像上に表示させる
ことを特徴とする情報処理装置。
【請求項6】
請求項1乃至5のうち何れかに記載の情報処理装置であって、
前記表示装置は、前記入力装置により受け付けた操作に基づき、前記仮想モデルを前記仮想モデルのローカル座標系の原点座標を中心として前記仮想モデルの位置情報を回転移動して前記画像上に表示させる
ことを特徴とする情報処理装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像上に仮想モデルを表示する情報処理装置に関する。
【背景技術】
【0002】
近年、現実空間をカメラによって撮影された撮像画像と、仮想上の3次元モデル(以下、「仮想モデル」と呼ぶ)が配置された仮想空間画像と、を重畳して表示するAR(Augmented Reality:拡張現実)技術が開発されている。例えば、建設現場などにおいて拡張現実による画像を表示する際には、仮想モデルの原点座標を、現実空間の目的の場所に設定することが重要となる。この場合には、2次元バーコードなどの何らかのマーカを原点位置に設置し、その場所を原点とすることが必要となる。
【0003】
例えば、マーカに基づいて拡張現実の画像を生成して表示する方法が開示されている(例えば、特許文献1参照)。特許文献1では、現実世界のイメージから第1レイヤが獲得され、現実世界のイメージの特定客体とマーカの位置とをマッチさせる。そして、マーカに基づいて第2レイヤを生成して、第1レイヤと第2レイヤとの合成によって拡張現実の画像が生成され出力される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特表2020-514937号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、マーカを用いて原点座標を設定する場合、マーカを設置する必要がある。特に大きな建造物などの仮想モデルを表示する場合、マーカの微小なズレが大きな表示ズレに繋がる場合がある。特に、マーカを地面に設置した場合、風などの自然現象や人との接触などによりマーカのズレが発生する場合がある。また、建造物のような大きな仮想モデルを拡張現実により表示した際には、カメラにより撮像される現実の風景などのオブジェクトが仮想モデルに隠れてしまい、現実の風景などのオブジェクトと仮想モデルとの位置関係を視覚的に把握することが困難となる場合があった。
【0006】
本発明は係る点に鑑みてなされたものであり、マーカを用いることなく仮想モデルの原点座標を現実世界の目的の場所に簡便に設定することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一つの態様の情報処理装置は、仮想空間における仮想モデルが有する第1の位置情報が画像内から選択された第2の位置情報に関連付けられて表示される情報処理装置である。前記情報処理装置は、制御部、入力装置、および表示装置を有する。また、前記表示装置は、前記仮想モデルの前記第1の位置情報が前記第2の位置情報に関連付けて表示される機能を備える。また、前記入力装置は、ユーザの操作を受け付ける機能を備える。また、前記制御部は、前記第2の位置情報をワールド座標として変換および管理し、前記制御部は、前記第1の位置情報をローカル座標で管理する。また、前記制御部は、前記第1の位置情報を前記第2の位置情報に関連つけることで前記仮想モデルの表示位置を決定する。そして、前記制御部は、前記入力装置により受け付けた操作に基づき、前記仮想モデルの位置情報を移動して前記画像上に前記仮想モデルを表示させ、前記仮想モデルの透明度を変更して表示させることを特徴とする。
【発明の効果】
【0008】
本発明によれば、現実空間の目的の場所に仮想モデルの位置を簡便に設定することができる。
【図面の簡単な説明】
【0009】
図1】実施形態に係る情報処理装置の一例を示す概略構成図である。
図2】実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。
図3】実施形態に係る表示装置に表示された表示画像の一例を示す図である。
図4】実施形態に係る平面構築フローを例示する図である。
図5】実施形態に係るモデル調整フローを例示する図である。
図6】実施形態に係る情報処理装置を実現するためのコンピュータのハードウェア構成を例示する図である
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、本発明の実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
【0011】
図1は、実施形態に係る情報処理装置の一例を示す概略構成図である。本実施形態に係る情報処理装置100は、ユーザ200が建設現場などの所定の作業現場で使用することで、建設予定の建造物の仮想モデルを、現実空間が表示された映像の目的の位置に重畳して表示するものである。本実施形態では、ユーザ200が操作する情報処理装置100としてタッチパネルディスプレイを備えるタブレットなどが使用される。本実施形態においては、図1に示すように、ビルなどのオブジェクト300を含む撮像画像上に仮想モデルが重畳されて、情報処理装置100に表示される。なお、図1とは異なり、複数のオブジェクトを含む撮像画像または空き地などの撮像画像に仮想モデルが重畳されて、情報処理装置100に表示されてもよい。なお、本実施形態では、建設現場における作業例を例にして説明するが、これに限定されず、適宜変更可能である。例えば、道路工事などの工事現場や室内における建具の作業現場であってもよい。建造物の仮想モデルは、CAD(Computer-aided Design)やBIM(Building Information Modeling)により生成されたデータを使用することができる。また、表示する仮想モデルは必ずしも3次元に限定されず、2次元の情報を使用することもできる。例えば設計図面であっても良い。
【0012】
図1に示すように、情報処理装置100は、ユーザが手に持って操作できるタブレット端末が使用される。情報処理装置100は、建造物などのオブジェクト300を撮像して表示可能なディスプレイを備えていればよく、スマートフォン(Smartphone)、ノートPC(Personal Computer)、ヘッドマウントディスプレイ(Head Mounted Display)であってもよい。情報処理装置100の詳細については後述する。なお、情報処理装置100は、建造物などのオブジェクト300をリアルタイムに撮像して表示してもよい。もしくは保存された動画上に表示してもよい。
【0013】
図2は、実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。図2に示すように、情報処理装置100は、状態検出装置1、撮像装置2、制御装置5、表示装置3、及び入力装置4を含んで構成される。情報処理装置100は、図2に示していない他の構成要素を含んでいてもよい。
【0014】
状態検出装置1は、位置、方向、及び角度などのうち少なくとも1つ以上の情報処理装置100の状態を検出するものである。情報処理装置100の「位置」とは、情報処理装置100が存在する座標などの位置を表している。情報処理装置100の「方向」とは、情報処理装置100の表示装置3(または、撮像装置2)が向けられている方位を表している。情報処理装置100の「角度」とは、水平面に対する情報処理装置100の傾きを表している。
【0015】
具体的に状態検出装置1は、GPS(Global Positioning System)センサ、方位センサ、高度センサ、ジャイロセンサ、加速度センサなど、情報処理装置100の位置、方向及び角度などの状態に応じた検出値を出力するセンサ11と、メモリ12(第1のメモリ)とを備え、ユーザが作業している間、センサ11から出力される検出値を繰り返しメモリ12に記憶させる。
【0016】
また、状態検出装置1は、センサ11の検出値を例えば撮像装置2、又は制御装置5に出力(送信)する。なお、検出値の出力(送信)は、常時実施されてもよく、所定時間毎に実施されてもよい。センサ11から出力される検出値は、位置、方向、及び角度などのうち少なくとも1つ以上の情報処理装置100の状態を推定する場合に使用されるものである。
【0017】
撮像装置2は、仮想モデルを重ね合わせる際に参照する現実世界の要素である建築物、風景、マーカなどのオブジェクト300を撮像するものである。撮像装置2は、状態検出装置1、表示装置3、及び入力装置4などと一体に形成される。
【0018】
また、撮像装置2は、撮像素子21と、メモリ22(第2のメモリ)とを備える。なお、撮像装置2が表示装置3と一体に取り付けられる場合、撮像装置2は、タブレットやスマートフォンに取り付けられたカメラである。表示装置3の表示面を情報処理装置100の表側とした場合、撮像素子21は情報処理装置100の背面側に設置され、ユーザの視界方向またはユーザの周囲の画像(静止画像または動画像)を撮像し、その撮像した撮像画像をメモリ22に記憶させる。
【0019】
撮像装置2は、撮像素子21により撮像された画像をメモリ22から読み出し、その読み出した画像を撮像画像として制御装置5に出力(送信)する。なお、撮像画像の出力(送信)は、常時実施されてもよく、所定時間毎に実施されてもよい。
【0020】
表示装置3は、情報処理装置100に一体に設けられたディスプレイで構成される。表示装置3は、タッチパネルディスプレイで構成され、撮像画像に対して仮想モデルを重畳表示するように構成されている。
【0021】
入力装置4は、入力操作を受け付ける。実施形態では、表示装置3と入力装置4とは、一体型のタッチパネルディスプレイである。ただし、表示装置3と入力装置4とは独立した装置であってもよい。本実施形態では、表示装置3と入力装置4とが一体に設けられたタッチパネルディスプレイである場合について説明するが、これに限らず適宜変更が可能である。例えば表示装置3は、スマートフォン、ノートPCなどのモバイル機器またはパーソナルコンピュータなどにより構成されてもよい。
【0022】
制御装置5は、上記した状態検出装置1及び撮像装置2の出力に基づいて所定のデータを生成し、後述する表示装置3の表示制御を実施するコンピュータで構成される。制御装置5は、撮像画像上に仮想モデルを重ね合わせて表示させる。具体的に制御装置5は、機能ブロックとして、操作受付部31、画像処理部32、及び表示制御部33を備えている。操作受付部31、画像処理部32、及び表示制御部33は、総じて制御部と呼ばれてもよい。なお、制御装置5は、これらの機能ブロックに限らず、他の機能ブロックを有してもよい。また、制御装置5は、メモリ34(第3のメモリ)を備えている。メモリ34は、撮像装置2で撮像された撮像画像を記憶してもよい。
【0023】
操作受付部31は、入力装置4に対し操作されたユーザの入力操作を受け付ける。操作受付部31は、例えば、タッチパネルディスプレイに対するユーザの指の動きに応じた入力操作を受け付ける。入力操作としては、例えば、タッチ(タップ)操作、ダブルタッチ操作、ロングタッチ操作、スライド(スワイプ)操作、フリック操作、ドラッグ操作、ピンチイン操作、ピンチアウト操作などが含まれる。
【0024】
制御部は、撮像装置2で取得された画像と、状態検出装置1で取得された検出値に基づいて、平面(例えば地表面)を認識し、認識した平面をx,z平面、高さをy軸とする3次元の仮想空間座標系(以下「ワールド座標系」と呼ぶ)を構築する。以下、撮像装置2により得られた画像のうち、横方向をα、縦(奥行)方向をβ、高さ方向をγとする。
【0025】
画像処理部32は、仮想空間における仮想モデルが有する位置情報(第1の位置情報)を画像内から選択された任意の位置情報(第2の位置情報)に関連付けて配置する。任意の位置情報としては、例えば、入力装置4に対するユーザのタッチ操作に基づいて選択された位置の座標を原点座標として使用する。
【0026】
仮想モデルの位置情報としては、例えば、仮想モデルにおける原点座標が使用される。取得された画像とは、例えば、撮像装置2にて撮像された撮像画像が使用される。例えば、画像処理部32は、撮像画像内でユーザにより選択された任意の点に対し、仮想空間における仮想モデルの原点座標を関連付けることにより、撮像画像に仮想モデルを重畳して配置する。
【0027】
取得された画像として、撮像装置2にて撮像されもしくは記録された撮像画像が使用されているがこれに限られない。例えば、記録された画像として、仮想現実(VR)において生成された仮想現実画像を使用することができる。仮想現実画像には、仮想現実空間内において生成された風景や建造物などの画像が含まれる。
【0028】
仮想空間内における仮想モデルの位置は、制御部において構築されたワールド座標系により特定される。ワールド座標系においてx、zは水平面の座標位置を特定し、yは垂直方向の座標位置を特定する。仮想モデルにより表されるオブジェクトは、仮想空間を定義するワールド座標系内に配置される。仮想空間内のオブジェクトはそれぞれローカル座標を有し、ローカル座標の原点がワールド座標と関連付けられることでワールド座標中の表示位置が特定される。仮想モデルにより表されるオブジェクトの形状に係る情報は、図示しない記憶装置やサーバから読み出される。
【0029】
また、撮像空間を座標として扱うことで、タッチパネルを介して指定された位置が座標として指定され、該指定された位置を座標の原点とすることで撮像空間内に仮想モデルの表示位置を指定することができる。
【0030】
表示装置3に表示される撮像画像における任意の点は、2次元の座標軸(以下「スクリーン座標」と呼ぶ)により特定される。撮像画像の各画素の位置は、スクリーン座標により特定される。
【0031】
表示制御部33は、ワールド座標と、タッチパネルを介してワールド座標上に特定された仮想モデルのローカル座標の原点とに基づいて、撮像画像上に仮想モデルを表示する。表示制御部33は、入力装置4を通じて操作受付部31により受け付けたユーザの入力操作に基づき、ワールド座標上に特定された仮想モデルのローカル座標の原点を移動して表示画像上に仮想モデルを表示する。
【0032】
実施形態では、タッチパネルディスプレイに対するユーザの入力操作に基づき表示画面400に表示された仮想モデル600に対し、ユーザのスライド操作を受け付けると、表示制御部33は、撮像装置2が撮像した撮像画像と、仮想モデルと、に関する位置を調整して表示装置3に表示させる。
【0033】
図3は、実施形態に係る表示装置に表示された表示画像の一例を示す図である。図3に示すように、表示装置3により表示された表示画面400には、移動/回転ボタン401、透明度変更ボタン402、配置完了ボタン403、オブジェクト画像500及び仮想モデル600が含まれる。移動/回転ボタン401、透明度変更ボタン402及び配置完了ボタン403は、表示装置3及び入力装置4により構成されるタッチパネルディスプレイのソフトウェアキーボードとして機能する。
【0034】
移動/回転ボタン401によって処理モードが選択され、モデル移動処理又はモデル回転処理が実行される。なお、モデル移動処理又はモデル回転処理の選択は、タッチパネルディスプレイの押下操作によって選択される。
【0035】
モデル移動処理は、タッチパネルディスプレイの入力装置4により入力されたスライド操作に基づき、ワールド座標内のxz平面に対してスライドする操作を受け付ける。モデル移動処理では、ユーザから与えられるスライドの移動量に応じて、仮想モデル600の位置座標(例えば、原点座標)を移動する。その結果、仮想モデル600が平行移動されて表示画面400に表示される。
【0036】
例えば、ユーザは、図3に示すように、表示画像に含まれるオブジェクト画像500の角a1に対し、仮想モデル600の角a2が一致する位置までワールド座標系のxz平面に沿ってスライド操作を行うことにより、オブジェクト画像500と、仮想モデル600と、の位置を一致して表示させることができる。なお本操作は、スクリーン座標系の操作によってワールド座標上に特定された仮想モデル600のローカル座標の原点がワールド座標上の平面に対して、高さ(γ)=0として移動していることを意味する。これにより、ユーザはスライド操作に基づき、仮想モデル600を所望の位置に移動することができる。その結果、仮想モデル600の位置をオブジェクト画像500の位置に簡便に位置合わせを行うことができる。したがって、ユーザは平行移動される仮想モデル600を目視による入力操作を行うことにより、仮想モデル600を所望の位置まで微調整しながら平行移動することができる。
【0037】
モデル回転処理は、移動/回転ボタン401により処理モードが選択された後、タッチパネルディスプレイの入力装置4により受け付けたユーザのスライド操作に基づき実行される。スライド操作は、例えば、横方向(α)に沿って表示画面の右側又は左方向に移動するユーザの指の動きに基づき判定される。モデル回転処理では、ユーザのスライド操作に対応するスライドの移動量に応じて、仮想モデルの位置座標(例えば、ローカル座標系の原点座標)を軸として回転移動することにより、仮想モデル600が回転されて表示画面400に表示される。
【0038】
例えば、ユーザは、図3に示すように、撮像画像に含まれるオブジェクト画像500を構成する縁b1に対し、仮想モデル600を構成する縁b2が一致する位置までワールド座標系スライド操作を行うことにより、オブジェクト画像500の角度と、仮想モデル600の角度と、位置を一致して表示させることができる。これにより、ユーザはスライド操作に基づき、仮想モデル600を所望の角度に回転移動することにより、仮想モデル600の位置をオブジェクト画像500の縁に対して位置合わせを行うことができる。したがって、ユーザは回転される仮想モデル600を目視しながらタッチパネルディスプレイの入力装置4に対し入力操作を行うことが可能となり、仮想モデル600をワールド座標系の任意角度に微調整しながら回転移動することができるようになる。その結果、仮想モデル600の表示位置を合わせることができる。
【0039】
透明度変更ボタン402がユーザの操作に基づき押下されると、仮想モデル600の透明度が変更される透明度変更処理が実行される。透明度変更ボタン402は、表示画面400の横方向に沿ってスライド可能に配置されている。
【0040】
透明度変更処理は、透明度変更ボタン402の押下操作(または、スライド操作)を受け付けると実行される。透明度変更処理では、ユーザのスライド操作に対応するスライドの移動量に応じて、仮想モデル600の透明度を変更することにより、仮想モデル600が所望の透明度に変更されて表示画面400に表示される。
【0041】
例えば、ユーザは、図3に示すように、オブジェクト画像500に重畳した仮想モデル600が表示された状態で、オブジェクト画像500の形状などが確認できる透明度になるまで仮想モデル600を半透明化する操作を行うことができる。そのため、仮想モデル600の裏に隠れたオブジェクト画像500を、仮想モデル600を介して視認することができる。これにより、ユーザはスライド操作に基づき、撮像画像に含まれるオブジェクト画像500に対し重畳された仮想モデル600を強調して表示したい場合、仮想モデル600の透明度を変更することができる。その結果、表示画像内で仮想モデル600の位置および形状を容易に視認することができる。本実施例では、仮想モデル600の位置合わせを直感的かつ容易にし、重畳されたオブジェクトを容易に視認することができる機能を有する。
【0042】
配置完了ボタン403がユーザの操作に基づき押下されると、仮想モデル600を表示画面400に表示する表示処理が終了される。
【0043】
ところで、建設現場などにおいて拡張現実による画像を表示する際に、原点座標を目的の場所に設定する必要がある。従来の技術として2次元バーコードに代表される何らかのマーカを原点位置に設置し、その場所を原点とする方法がある。
【0044】
しかしながら、マーカを用いて原点座標を設定する場合、マーカを設置する必要があり、特に大きな建造物などの仮想モデルを表示する場合、マーカの微小なズレが表示上の大きなズレに繋がる場合がある。また、建造物のような大きな仮想モデルを拡張現実により表示した場合、実際の風景などが仮想モデルに隠れてしまい、実際の風景から生成されたオブジェクトと、仮想モデルと、の位置関係を視覚的に把握することが困難となる場合があった。
【0045】
そこで本件発明者は、拡張現実空間において仮想モデルの位置を簡便にかつ求める位置に正確に設定することを目的として、本発明に想到した。例えば、本実施形態では、画像内で選択された任意の位置情報を、ワールド座標系内におけるx,z平面上の座標として認識したものと、仮想空間における仮想モデルのローカル座標系の原点と、が関連付けて配置される。そして、画像の任意の位置情報と、仮想空間における仮想モデルの位置情報と、に基づいて、画像上に仮想モデルが表示される。そして、制御装置5は、入力装置4を通じて受け付けたユーザの操作に基づき、仮想モデルの位置情報を移動して画像上に仮想モデルを表示する。これにより、ユーザは移動される仮想モデル600を目視しながらタッチパネルディスプレイの入力装置4に対し入力操作を行うことにより、仮想モデル600を移動することができ、その結果、簡便にかつ求める位置に正確に位置合わせを行うことができる。
【0046】
また、本実施形態において画像は、撮像装置2によって撮像された撮像画像である。したがって、撮像装置2で撮像された撮像画像内で選択された任意の位置情報と、仮想空間における仮想モデルの位置情報と、が関連付けて配置される。そして、撮像画像の任意の位置情報と、仮想空間における仮想モデルの位置情報と、に基づいて、撮像画像上に仮想モデルが表示される。これにより、ユーザは移動される仮想モデル600を目視しながらタッチパネルディスプレイの入力装置4に対し入力操作を行うことにより、仮想モデル600を所望の位置まで移動することができ、その結果、位置合わせを行うことができる。
【0047】
また、本実施形態において撮像装置2は撮像素子21で撮像した撮像画像をメモリ22に記録する。これにより、リアルタイムで撮像した撮像画像に基づき位置合わせを行うことができる。なお、撮像装置2は撮像した撮像画像を記録画像として制御装置5のメモリ34に記録してもよい。これにより、蓄積した多種類の記録画像に基づきユーザが所望する仮想モデル600の位置合わせを行うことができる。
【0048】
また、本実施形態において、仮想モデルは、建造物である。したがって、ビル、工場、橋、倉庫など特に大きな建造物などの仮想モデルを表示する場合である。
【0049】
また、本実施形態において、情報処理装置100は、入力装置4を通じて受け付けたユーザの操作に基づき、仮想モデル600の透明度を変更して画像上に仮想モデル600を表示装置3の表示画面400に表示する。これにより、ユーザは、仮想モデル600と重畳したオブジェクト画像500の形状などが確認できる透明度になるまで仮想モデル600を半透明化する操作を行うことにより、仮想モデル600の裏に隠れたオブジェクト画像500を明確に表示させることができる。その結果、仮想モデル600の透明度を変更することで仮想モデル600を表示する位置を容易に視認することができ、仮想モデル600の位置合わせを直感的かつ容易に行うことができる。
【0050】
また、本実施形態において、情報処理装置100は、入力装置4を通じて受け付けたユーザの操作に基づき、仮想モデル600をワールド座標のおけるxz平面に沿って移動し、その結果、画像上において仮想モデルを平行移動して表示することができる。これにより、ユーザのスライド操作に基づき、仮想モデル600を所望の位置に移動することができ、仮想モデル600の位置をビルなどのオブジェクト画像500の位置に対して簡便に位置合わせを行うことができる。したがって、ユーザは平行移動される仮想モデル600を目視しながらタッチパネルディスプレイの入力装置4に対し入力操作を行うことにより、仮想モデル600を所望の位置まで平行移動することができ、その結果、位置合わせを行うことができる。
【0051】
また、本実施形態において、情報処理装置100は、入力装置4を通じて受け付けたユーザの操作に基づき、仮想モデル600をy軸中心として位置情報を回転移動することができる。これにより、オブジェクト画像500に対する仮想モデル600の位置合わせを行うことができる。
【0052】
この処理方法によって、ワールド座標における仮想モデル600の配置が完了されると、表示装置3を用いて異なる角度からオブジェクト画像500を表示した場合も、仮想モデル600は設定された配置に表示される。該異なる角度から表示した仮想モデル600の表示位置を微調整する場合は、配置完了状態を解除し、微調整を加えた上で配置完了ボタンを押下することで位置情報を記憶することができる。
【0053】
次に、図4図5を参照して、本実施形態に係る表示制御方法について説明する。図4は、実施形態に係る平面構築フローを例示する図である。図5は、実施形態に係るモデル調整フローを例示する図である。
【0054】
先ず、平面構築フローについて説明する。
【0055】
図4に示すように、先ずステップST101において、制御装置5は、撮像画像が移動したか否かを判定する。この処理では、撮像画像が変化したか否かを判定することにより、情報処理装置100が動かされたか否かが判定される。撮像画像が移動していない場合(ステップST101:NO)、すなわち情報処理装置100が動かされていない場合は、撮像画像が移動するまでの期間、処理は待機となる。
【0056】
撮影画像が移動した場合(ステップST101:YES)には、制御装置5は、撮像素子21により生成される撮像画像(すなわち、現実空間に対応する静止画像または動画像)において任意の位置を高さ(γ)=0の平面として検出する。この処理は、公知の技術を利用することができる。例えば、動画内のオブジェクトをトラッキングする技術を利用することができる。
【0057】
ステップST103において、制御装置5は、ステップST102において該平面が検出されたか否かを判定する。該平面が検出されなかった場合(ステップST103:NO)には、処理はステップST101に戻り、該平面が検出されるまでの間ステップST101~ステップST103の処理が繰り返し実行される。
【0058】
該平面が検出された場合(ステップST103:YES)には、ステップST104において、制御装置5は、ワールド座標系の平面が構築済みであるか否かを判定する(ステップST104)。平面が未構築である場合(ステップST104:NO)には、ステップST105において、制御装置5は、ステップST102で検出した平面に基づいて平面を構築する。
【0059】
これに対し、ワールド座標系の平面が構築済みである場合(ステップST104:YES)には、ステップST106において、制御装置5は、ステップST102で検出した平面に基づいて更新する。
【0060】
ステップST107において、制御装置5は、撮像装置2の位置の再計算を行う。この処理が終了すると、処理はステップST101に戻り、終了指示を受け付けるまでの間、処理はステップST101~ステップST107の処理が繰り返し実行される。実施形態では、水平面はステップST102で検出した該平面に基づいて水平面が構築又は更新されているがこれに限られない。例えば、入力装置4に対して入力されたユーザの選択操作に基づいて選択された任意の位置情報に基づいて、水平面が構築又は更新されてもよい。
【0061】
次にモデル調整フローについて説明する。当該フローは、仮想モデルの位置の設定を行うものである。図5に示すように、先ずステップST201において、制御装置5は、入力装置4に対するユーザの入力操作を判断する。透明度変更操作を受け付けた場合(ステップST201:透明度変更)には、ステップST202において、制御装置5は、仮想モデル600の透明度変更処理を行う。透明度変更操作は、例えば、透明度変更ボタン402が押下されたかに基づいて判定される。透明度変更処理では、仮想モデル600の透明度がスライド操作によって処理が行われる。透明度設定処理が実行された後、ステップST213において、制御装置5は、配置完了ボタン403が押下されると表示制御処理を終了する。その後、処理はステップST201に戻る。
【0062】
仮想モデルの移動操作を受け付けた場合(ステップST201:仮想モデル移動)には、ステップST203において、制御装置5は、撮像装置2で撮像された撮像画像に基づいてスクリーン座標を取得する。
【0063】
ステップST204において、制御装置5は、ステップST203で取得したスクリーン座標をワールド座標へ変換する。スクリーン座標からワールド座標への変換は、画像処理における座標変換技術を用いることができる。この処理は、公知の技術を利用することができる。例えば、座標のベクトルを変換する技術を利用することができる。
【0064】
ステップST205において、制御装置5は、現実空間の撮像画像に仮想モデルが配置済みであるか否かを判定する。仮想モデルが未配置の場合(ステップST205:NO)には、ステップST206において、制御装置5は、ステップST204で変換したワールド座標に基づいて、仮想モデルのローカル座標系を構築する。例えば、制御装置5は、ユーザの操作に基づきタップされたタッチパネルディスプレイ上の任意の点を仮想モデル600の原点座標として設定する。そして、ステップST207において、制御装置5は、ステップST206で構築した仮想モデルのローカル座標系に基づいて、仮想モデルを現実空間における撮像画像に配置するモデル配置を行う。その後、処理はステップST212へ進む。
【0065】
ステップST205に戻り、制御装置5は、仮想モデルが配置済みである場合(ステップST205:YES)には、ステップST208に進む。制御装置5は、仮想モデルに対する入力操作を取得する。入力操作は、入力装置4に対するユーザの入力操作に基づいて判定される。実施形態では、指示方向は、入力装置4に対するユーザのスライド方向に基づいて判定される。
【0066】
ステップST209において、制御装置5は、移動/回転ボタン401により処理モードが選択される。例えば、処理モードが移動モードの場合、入力装置4に対するユーザのスライド方向がワールド座標におけるxz平面に対するものと判断される。この場合、仮想モデルに対する入力操作はワールド座標系のxz平面に関する移動と判定される。また、処理モードが回転モードの場合、入力装置4に対するユーザのスライド方向がワールド座標におけるy軸方向に対するものと判断される。
【0067】
仮想モデルに対しての入力操作が移動モードである場合(ステップST209:移動)には、ステップST210において、制御装置5は、仮想モデルをワールド座標におけるxz平面においてモデル移動処理を行う。ユーザは、仮想モデル600のズレが解消するまでスライド操作を継続することにより、仮想モデル600の位置ズレを解消することができる。その後、処理はステップST212へ進む。
【0068】
仮想モデルの調整方法が回転モードである場合(ステップST209:回転)には、ステップST211において、制御装置5は、仮想モデルを、仮想モデルのローカル座標系の原点座標を中心としたモデル回転処理を行う。仮想モデル600のズレが解消するまでスライド操作を継続することにより、仮想モデル600の角度ズレを解消することができる。その後、処理はステップST212へ進む。
【0069】
ステップST212において、制御装置5は、ステップST210の処理で移動した仮想モデル又はステップST211の処理で回転した仮想モデルに基づいて、仮想モデルの画角を算出し、算出された画角に基づいて表示装置3に表示画面400を表示する。ステップST213において、制御装置5は、配置完了ボタン403がユーザの操作に基づき押下されると表示制御処理を終了する。その後、処理はステップST201に戻る。
【0070】
以上説明したように、本実施形態によれば、操作受付部31により受け付けたユーザの操作に基づき、仮想モデルの表示位置を移動して画像上に仮想モデルを表示することができる。仮想モデルの位置を簡便に求める位置に設定することが可能である。
【0071】
図6は、実施形態に係る情報処理装置を実現するためのコンピュータのハードウェア構成を例示する図である。
【0072】
図6に示すコンピュータ70は、プロセッサ71と、メモリ72と、記憶装置73と、読取装置74と、通信インタフェース75と、入出力インタフェース76とを備える。なお、プロセッサ71、メモリ72、記憶装置73、読取装置74、通信インタフェース75、及び入出力インタフェース76は、バス77を介して互いに接続されている。なおプロセッサ71には、GPUが含まれていてもよい。GPUは、画像を処理するのに好適である。
【0073】
プロセッサ71は、シングルプロセッサまたはマルチプロセッサまたはマルチコアなどにより構成される。また、プロセッサ71は、記憶装置73に格納されているプログラムを読み出し、メモリ72を利用して、図4、5に示すフローチャートの手順を記述したプログラムを実行することにより、制御部(例えば操作受付部31、画像処理部32、表示制御部33)の一部または全部の機能を提供する。
【0074】
メモリ72は、半導体メモリなどであり、RAM(Random Access Memory)領域およびROM(Read Only Memory)領域を含んでいてよい。
【0075】
記憶装置73は、ハードディスクやフラッシュメモリなどの半導体メモリ、または、外部記憶装置である。
【0076】
読取装置74は、プロセッサ71の指示に従って着脱可能記憶媒体78にアクセスする。着脱可能記憶媒体78は、半導体デバイス、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体などにより実現される。なお、半導体デバイスは、USB(Universal Serial Bus)メモリなどである。また、磁気的作用により情報が入出力される媒体は、磁気ディスクなどである。光学的作用により情報が入出力される媒体は、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、Blu-ray Disc(Blu-rayは登録商標)などである。
【0077】
通信インタフェース75は、プロセッサ71の指示に従って、他の装置と通信する。例えば、制御装置5は、通信インタフェース75を介して状態検出装置1、撮像装置2、表示装置3及び入力装置4から情報を収集する。通信インタフェース75は、プロセッサ71の指示に従って、図示しない他のサーバ装置から情報を収集してもよい。
【0078】
入出力インタフェース76は、例えば、入力装置および出力装置との間のインタフェースである。入力装置は、ユーザや複合現実データ、拡張現実データ、又は仮想現実データを確認する管理者からの指示を受け付けるタッチパネルディスプレイ、キーボード、マウスなどのデバイスである。出力装置は、タッチパネルディスプレイ、ディスプレイなどの表示装置、または、スピーカなどの音声装置である。
【0079】
実施形態に係る各プログラムは、例えば、下記の形態で制御装置5に提供される。
(1)記憶装置73に予めインストールされている。
(2)着脱可能記憶媒体78により提供される。
(3)プログラムサーバなどのサーバから提供される。
【0080】
なお、図6を参照して述べた制御装置5を実現するためのコンピュータ70のハードウェア構成は例示であり、実施形態はこれに限定されるものではない。例えば、上述の構成の一部が、削除されてもよく、また、新たな構成が追加されてもよい。また、別の実施形態では、例えば、上述の制御装置5の一部または全部の機能がFPGA、SoC(System-On-a-Chip)、ASIC(Application Specific Integrated Circuit)、または、PLDなどによるハードウェアとして実装されてもよい。
【0081】
以上において、実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態および代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨および範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して、または実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
【0082】
例えば、上述の実施形態では、ユーザの操作に基づき、入力装置4を通じてユーザから入力操作を受け付けると、モデル移動処理、モデル回転処理又は透明度変更処理が実行されているがこれに限られない。例えば、制御装置5は、仮想モデル600の拡大または縮小を行うモデル拡大/縮小処理を実行してもよい。拡大/縮小処理では、例えば、入力装置4としてのタッチパネルディスプレイに対するピンチイン操作を受け付けると、制御装置5は、ユーザのピンチイン操作の移動量に応じて、仮想モデル600の大きさを縮小する。また、タッチパネルディスプレイに対するピンチアウト操作を受け付けると、制御装置5は、ユーザのピンチアウト操作の移動量に応じて、仮想モデル600の大きさを拡大する処理を実行する。これにより、ユーザはタッチパネルディスプレイの入力装置4に対しピンチイン操作やピンチアウト操作などの入力操作を行うことにより、仮想モデル600を所望の大きさとなるまで縮小または拡大を行うことができ、その結果、仮想モデルの位置合わせを簡便に求める位置に行うことができる。
【0083】
また、例えば、制御装置5は、複数の仮想モデルから少なくとも1つ以上の仮想モデル600を選択するモデル選択処理を実行してもよい。モデル選択処理では、例えば、入力装置4としてのタッチパネルディスプレイに対するフリック操作を受け付けると、制御装置5は、予め記憶されている複数の仮想モデルの中から少なくとも1つ以上の仮想モデルを選択する処理を実行する。これにより、ユーザはタッチパネルディスプレイの入力装置4に対しフリック操作などの入力操作を行うことにより、複数の仮想モデルの中から所望の仮想モデルを選択して、表示画面400に表示することができ、仮想モデルの位置合わせの準備を容易に行うことができる。
【符号の説明】
【0084】
100 情報処理装置
1 状態検出装置
2 撮像装置
3 表示装置
4 入力装置
5 制御装置
11 センサ
12 メモリ
21 撮像素子
22 メモリ
31 操作受付部
32 画像処理部
33 表示制御部
34 メモリ

図1
図2
図3
図4
図5
図6