(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】画像合成装置、画像合成装置の制御方法およびプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20231212BHJP
G06F 3/01 20060101ALI20231212BHJP
【FI】
G06T19/00 600
G06F3/01 510
G06F3/01 570
(21)【出願番号】P 2019185255
(22)【出願日】2019-10-08
【審査請求日】2022-10-05
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】田宮 圭介
【審査官】益戸 宏
(56)【参考文献】
【文献】特開2018-132847(JP,A)
【文献】国際公開第2019/131143(WO,A1)
【文献】特開2011-175439(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
現実空間内で撮像装置の装着者が侵入できない除外領域を取得する除外領域取得手段と、
マニピュレータの操作範囲を取得する操作範囲取得手段と、
前記撮像装置から取得した前記装着者の視点と、前記除外領域と、前記マニピュレータの操作範囲とを基に、マニピュレータの表示位置を決定する表示位置決定手段と、
前記撮像装置が撮像した現実画像と仮想物体の画像とマニピュレータの画像とを合成する画像合成手段と、
前記画像合成手段により合成された画像を前記撮像装置に表示する画像表示手段と
を有することを特徴とする画像合成装置。
【請求項2】
前記装着者の可動領域を取得する可動領域取得手段をさらに有し、
前記表示位置決定手段は、前記装着者の可動領域を基に、前記マニピュレータの表示位置を決定することを特徴とする請求項1に記載の画像合成装置。
【請求項3】
前記表示位置決定手段は、前記マニピュレータの操作範囲が有限値でない場合に、前記装着者の可動領域を基に、前記マニピュレータの表示位置を決定することを特徴とする請求項2に記載の画像合成装置。
【請求項4】
前記画像合成手段は、前記撮像装置が撮像した現実画像と前記仮想物体の画像と前記マニピュレータの画像と前記マニピュレータの操作範囲の画像とを合成することを特徴とする請求項1~3のいずれか1項に記載の画像合成装置。
【請求項5】
前記マニピュレータは、前記装着者が前記仮想物体を回転、平行移動、拡大、または縮小させるためのものであることを特徴とする請求項1~4のいずれか1項に記載の画像合成装置。
【請求項6】
前記マニピュレータの操作範囲は、球であることを特徴とする請求項1~5のいずれか1項に記載の画像合成装置。
【請求項7】
前記装着者の可動領域は、前記装着者の腕の長さに基づくことを特徴とする請求項2または3に記載の画像合成装置。
【請求項8】
現実空間内で撮像装置の装着者が侵入できない除外領域を取得する除外領域取得ステップと、
マニピュレータの操作範囲を取得する操作範囲取得ステップと、
前記撮像装置から取得した前記装着者の視点と、前記除外領域と、前記マニピュレータの操作範囲とを基に、マニピュレータの表示位置を決定する表示位置決定ステップと、
前記撮像装置が撮像した現実画像と仮想物体の画像とマニピュレータの画像とを合成する画像合成ステップと、
前記画像合成ステップで合成された画像を前記撮像装置に表示する画像表示ステップと
を有することを特徴とする画像合成装置の制御方法。
【請求項9】
コンピュータを、請求項1~7のいずれか1項に記載された画像合成装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像合成装置、画像合成装置の制御方法およびプログラムに関する。
【背景技術】
【0002】
ヘッドマウントディスプレイなどの撮像装置が撮像した実空間の画像に、コンピュータグラフィックによって表現される仮想現実空間上の仮想物体を合成する複合現実という技術が実用化されている。具体的には、画像合成装置が、撮像装置が撮像した画像と、仮想物体をレンダリングした画像を合成することで実現される。
【0003】
複合現実空間において、画像合成装置は、撮像装置に取り付けられた姿勢センサから取得した情報に基づいて、複合現実空間におけるカメラ位置情報を変更し、撮像装置の動きに仮想物体を追従させる。また、複合現実空間において、撮像装置は、特定のマーカーを含む画像を撮像し、画像合成装置が画像からマーカーの位置を特定することで、マーカーの位置に仮想物体を表示する。なお、マーカーとは、被写体に取り付けて、その三次元座標を特定するための目印である。
【0004】
複合現実空間内では、撮像装置の装着者が、仮想物体を複合現実空間内に表示された装着者自身の手の画像を使用して操作することが多い。具体的には、仮想物体の平行移動、回転、拡大、縮小の操作がこれに相当する。
【0005】
特に、撮像装置の装着者が精度の高い操作を行う場合、マニピュレータと呼ばれる操作用の仮想物体を使って、間接的に仮想物体を操作する方法が知られている(特許文献1参照)。特許文献1には、撮像装置の装着者が、複合現実空間に表示された手で複合現実空間上のマニピュレータ(ハンドラ)に接触した後、手を操作することで、仮想物体を移動、回転する操作が開示されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
マニピュレータにより複合現実空間内の仮想物体を操作する場合、マニピュレータの表示位置によっては、操作時に装着者の手が現実物体に衝突したり、立ち入りできない領域に入ったりしてしまう課題がある。
【0008】
本発明の目的は、装着者が、現実物体に衝突したり、立ち入りできない領域に入ったりすること無く、マニピュレータの操作を行うことができるようにすることである。
【課題を解決するための手段】
【0009】
本発明の画像合成装置は、現実空間内で撮像装置の装着者が侵入できない除外領域を取得する除外領域取得手段と、マニピュレータの操作範囲を取得する操作範囲取得手段と、前記撮像装置から取得した前記装着者の視点と、前記除外領域と、前記マニピュレータの操作範囲とを基に、マニピュレータの表示位置を決定する表示位置決定手段と、前記撮像装置が撮像した現実画像と仮想物体の画像とマニピュレータの画像とを合成する画像合成手段と、前記画像合成手段により合成された画像を前記撮像装置に表示する画像表示手段とを有する。
【発明の効果】
【0010】
本発明によれば、装着者が、現実物体に衝突したり、立ち入りできない領域に入ったりすること無く、マニピュレータの操作を行うことができる。
【図面の簡単な説明】
【0011】
【
図1】画像処理システムの構成例を示すブロック図である。
【
図2】複合現実空間の位置関係を説明する図である。
【
図3】画像処理システムの制御方法を示すフローチャートである。
【
図4】表示座標算出処理を示すフローチャートである。
【
図5】画像処理システムの構成例を示すブロック図である。
【
図6】表示座標算出処理を示すフローチャートである。
【
図7】画像処理システムの構成例を示すブロック図である。
【
図8】表示座標算出処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照し、実施形態について説明する。なお、以下に説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施形態の1つである。
【0013】
(第1の実施形態)
図1は、第1の実施形態による画像処理システム150の構成例を示す図である。画像処理システム150は、画像合成装置100と、撮像装置130と、記憶装置140とを有する。画像合成装置100と撮像装置130と記憶装置140は、ローカルエリアネットワーク(LAN)やインターネットなどのネットワークに接続されており、このネットワークを介して、互いにデータ通信が可能である。
【0014】
撮像装置130は、例えば、画像撮像機能と画像表示機能を持つヘッドマウントディスプレイである。また、撮像装置130は、装着者の位置および姿勢を撮像情報として取得するセンサ機能を備えている。ただし、センサ機能は、撮像装置130の内部ではなく、撮像装置130の外部に搭載されてもよい。なお、撮像装置130は、1台に限定されず、複数存在してもよい。
【0015】
記憶装置140は、仮想物体を構成する図形の頂点の位置、サイズ、および色などを定義したモデルデータ141を保存している。モデルデータ141は、記憶装置140に保存されているとして説明しているが、ネットワークで接続されたパーソナルコンピュータやサーバなどの他の機器に保存されていてもよい。
【0016】
次に、画像合成装置100について説明する。画像合成装置100は、例えば、パーソナルコンピュータやサーバなどである。画像合成装置100は、CPU101と、メモリ102と、マニピュレータ表示部110と、除外領域取得部111と、画像合成部112と、画像表示部113とを有する。さらに、画像合成装置100は、操作範囲取得部114と、基準点算出部115と、表示座標決定部116と、モデル読込部117とを有する。
【0017】
CPU101は、画像合成装置100の制御を行う。メモリ102は、CPU101が処理を実行する際に用いる作業領域を提供する。マニピュレータ表示部110、除外領域取得部111、画像合成部112、画像表示部113、操作範囲取得部114、基準点算出部115、表示座標決定部116、およびモデル読込部117は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。
図1中の矢印は、データの流れを表現している。
【0018】
図2(a)は、撮像装置130に表示されている複合現実空間における仮想物体201、除外領域202、および撮像装置130の位置関係を説明するための図である。除外領域202は、例えば、6つの頂点座標で定義される直方体として、メモリ102などに保存されている。なお、除外領域202は、関数表現などの定義形式が限定されず、形状も直方体に限定されない。
【0019】
図2(b)は、
図2(a)の仮想物体201と除外領域202に加えて、撮像装置130に表示されている複合現実空間におけるマニピュレータ204、マニピュレータの表示位置205、基準点206、初期座標207の位置関係を説明するための図である。マニピュレータ204は、撮像装置130の装着者が仮想物体201を回転、平行移動、拡大、または縮小させるためのものである。
【0020】
図3は、画像処理システム150の制御方法を示すフローチャートである。撮像装置130には、複合現実空間が表示されている。撮像装置130には、撮像装置130が撮像した背景画像と、モデルデータ141をレンダリングした仮想物体201の画像が重畳表示されている。なお、仮想物体201を定義するモデルデータ141は、モデル読込部117によって記憶装置140から読み込まれた後、レンダリングされる。また、柱などの現実空間における障害物は、除外領域202として、複合現実空間上の座標で定義されている。
【0021】
ステップS301では、マニピュレータ表示部110は、撮像装置130の装着者から、撮像装置130を介して、仮想物体201を操作するためのマニピュレータ表示要求を受信する。
【0022】
次に、ステップS302では、除外領域取得部111は、現実空間内で撮像装置130の装着者が侵入できない除外領域202の座標を取得する。
【0023】
次に、ステップS303では、画像合成装置100は、表示座標算出処理を行い、マニピュレータの表示位置205を決定する。ステップS303の詳細は、
図4を参照しながら後述する。
【0024】
次に、ステップS304では、画像合成部112は、撮像装置130が撮像した現実画像(背景画像)と仮想物体201の画像とマニピュレータ204の画像のレンダリング結果を合成する。
【0025】
次に、ステップS305では、画像表示部113は、撮像装置(ヘッドマウントディスプレイ)130に対して、画像合成部112により合成された画像を表示する。
【0026】
図4は、
図3のステップS303の処理の詳細を示すフローチャートである。まず、ステップS401では、表示座標決定部116は、マニピュレータ204の原点を配置する複合現実空間上の初期座標207を取得する。初期座標207は、操作対象の仮想物体201の原点(仮想物体201を定義しているモデルデータ141の原点)の複合現実空間上の座標を示すが、これに限定されない。初期座標207は、撮像装置130から仮想物体201の方向に一定の距離離れた点などでもよい。
【0027】
次に、ステップS402では、基準点算出部115は、撮像装置130から取得した装着者の視点(撮像装置130の位置座標)と、除外領域202の座標と、初期座標207から、マニピュレータの表示位置205の基準となる基準点206の座標を算出する。例えば、基準点算出部115は、視点と初期座標207を結ぶ直線と除外領域202の交点の内、最も視点に近い点を基準点206とする。
【0028】
次に、ステップS403では、操作範囲取得部114は、表示対象のマニピュレータ204を手で操作する際に想定されるマニピュレータ204の操作範囲の座標を取得する。操作範囲は、マニピュレータ204の原点を中心に半径Rの球が定義されており、メモリ102などに保存されている。なお、操作範囲は、関数表現など定義形式は限定されず、形状も球に限定されない。
【0029】
次に、ステップS404では、表示座標決定部116は、表示位置決定部であり、基準点206の座標に、補正値としてステップS403で取得したマニピュレータ204の操作範囲を加えて、マニピュレータの表示位置205を決定する。例えば、表示座標決定部116は、視点と基準点206を結ぶ直線上で、基準点206から視点方向に操作範囲の半径R分、平行移動した点をマニピュレータの表示位置205とする。例えば、基準点206とマニピュレータの表示位置205の距離はRとなる。
【0030】
(第2の実施形態)
図5は、第2の実施形態による画像処理システム150の構成例を示す図である。
図5の画像処理システム150は、
図1の画像処理システム150に対して、装着者属性取得部501を追加したものである。以下、第2の実施形態が第1の実施形態と異なる点を説明する。第2の実施形態は、第1の実施形態でマニピュレータ204の操作範囲が有限値でなかった場合でも、装着者の属性情報を使用して、マニピュレータの表示位置205の決定を可能にする。操作範囲が有限値でない場合の例として、仮想物体201の平行移動、拡大、縮小操作を行うためのマニピュレータ204がある。
【0031】
図6は、
図3のステップS303の処理の詳細を示すフローチャートである。
図6は、
図4に対して、ステップS404の代わりに、ステップS601~S603を設けたものである。まず、画像合成装置100は、
図4と同様に、ステップS401~S403の処理を行う。
【0032】
次に、ステップS601では、操作範囲取得部114は、ステップS403で取得したマニピュレータ204の操作範囲が有限値であるか否かを判定する。操作範囲取得部114は、マニピュレータ204の操作範囲が有限値である場合(S601でYesの場合)には、ステップS603に進む。ステップS603では、表示座標決定部116は、
図4のステップS404と同様に、基準点206の座標に、補正値としてステップS403で取得した操作範囲を加えて、マニピュレータの表示位置205を決定する。
【0033】
ステップS601において、操作範囲取得部114は、マニピュレータ204の操作範囲が有限値でない場合(S601でNoの場合)には、ステップS602に進む。
【0034】
ステップS602では、装着者属性取得部501は、可動領域取得部であり、撮像装置130の装着者の可動領域の座標(装着者の属性情報)を取得する。例えば、装着者属性取得部501は、装着者の可動領域の座標として、予め定義された装着者の腕の長さHをメモリ102から取得する。装着者の可動領域の座標は、その他の値を使用してもよく、例えば、人の腕の長さの最大値を固定値として使用することができる。その後、装着者属性取得部501は、ステップS603に進む。
【0035】
ステップS603では、表示座標決定部116は、視点と基準点206を結ぶ直線上で、基準点206から視点方向に腕の長さH分、平行移動した点をマニピュレータの表示位置205として決定する。
【0036】
(第3の実施形態)
図7は、第3の実施形態による画像処理システム150の構成例を示す図である。
図7の画像処理システム150は、
図5の画像処理システム150に対して、操作範囲表示部701を追加したものである。以下、第3の実施形態が第2の実施形態と異なる点を説明する。第2の実施形態では、画像表示部113がマニピュレータ204の表示は行っているが、マニピュレータ204の操作範囲については表示していないため、撮像装置130の装着者がマニピュレータ204の操作範囲を認識することができなかった。第3の実施形態では、操作範囲表示部701は、決定した位置でのマニピュレータ204の表示に加え、マニピュレータ204の操作範囲を表示して、撮像装置130の装着者が操作範囲を認識することを可能にする。
【0037】
図8は、
図3のステップS303の処理の詳細を示すフローチャートである。
図8は、
図6に対して、ステップS801を追加したものである。まず、画像合成装置100は、
図6と同様に、ステップS401~S403およびS601~S603の処理を行う。
【0038】
次に、ステップS801では、操作範囲表示部701は、マニピュレータ204の操作範囲(操作可能な範囲)を表示対象として指定する。例えば、操作範囲表示部701は、ステップS601においてマニピュレータ204の操作範囲がマニピュレータの表示位置205を中心とした半径Rの球(有限値)である場合には、この球を表示対象として指定(追加)する。また、操作範囲表示部701は、ステップS601においてマニピュレータ204の操作範囲が有限値でない場合には、マニピュレータの表示位置205を中心とした半径H(装着者の腕の長さ)の球を表示対象として指定(追加)する。
【0039】
この後、
図3のステップS304では、画像合成部112は、撮像装置130が撮像した現実画像(背景画像)と仮想物体201の画像とマニピュレータ204の画像のレンダリング結果と、マニピュレータ204の操作範囲の画像のレンダリング結果を合成する。マニピュレータ204の操作範囲は、例えば、上記のように、マニピュレータの表示位置205を中心とした球である。ステップS305では、画像表示部113は、撮像装置(ヘッドマウントディスプレイ)130に対して、画像合成部112により合成された画像を表示する。
【0040】
第1~第3の実施形態によれば、除外領域202の取得により、複合現実空間において撮像装置130の装着者が、現実物体に衝突したり、立ち入りできない領域に入ったりすること無く、マニピュレータ204の仮想物体の操作を行うことができる。
【0041】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0042】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0043】
110 マニピュレータ表示部、111 除外領域取得部、112 画像合成部、113 画像表示部、114 操作範囲取得部、115 基準点算出部、116 表示座標決定部、117 モデル読込部