(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024119179
(43)【公開日】2024-09-03
(54)【発明の名称】情報処理システム及びプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20240827BHJP
H04N 7/18 20060101ALI20240827BHJP
【FI】
G06T19/00 600
H04N7/18 U
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023025902
(22)【出願日】2023-02-22
(71)【出願人】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】飯田 靖
(72)【発明者】
【氏名】佐々木 裕丈
(72)【発明者】
【氏名】鈴木 俊彦
【テーマコード(参考)】
5B050
5C054
【Fターム(参考)】
5B050AA10
5B050BA09
5B050BA13
5B050CA08
5B050DA04
5B050EA09
5B050EA19
5B050EA27
5C054CA04
5C054CC02
5C054FC12
5C054FD02
5C054FD03
5C054FD07
(57)【要約】
【課題】情報処理装置を使用する作業者の作業を支援者が支援する場合において、当該情報処理装置によって撮影された画像を支援者用のディスプレイにそのまま表示する場合と比べて、支援者による支援を容易にすることを目的とする。
【解決手段】プロセッサは、対象物を撮影する情報処理装置の位置に追従して、対象物を表す三次元モデルを、情報処理装置を使用する作業者の作業を支援する支援者用のディスプレイに表示させる。プロセッサは、ディスプレイに表示された三次元モデルに対して特定の操作が行われるときに、三次元モデルの向きを固定して三次元モデルをディスプレイに表示させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサを有し、
前記プロセッサは、
対象物を撮影する情報処理装置の位置に追従して、前記対象物を表す三次元モデルを、前記情報処理装置を使用する作業者の作業を支援する支援者用のディスプレイに表示させ、
前記ディスプレイに表示された前記三次元モデルに対して特定の操作が行われるときに、前記三次元モデルの向きを固定して前記三次元モデルを前記ディスプレイに表示させる、
情報処理システム。
【請求項2】
前記特定の操作は、前記三次元モデルの拡大表示又は縮小表示する操作である、
請求項1に記載の情報処理システム。
【請求項3】
前記特定の操作は、前記ディスプレイに表示された前記三次元モデルに対してアノテーションを付与する操作であり、
前記三次元モデルに対して前記アノテーションが付与された場合、前記アノテーションが、前記情報処理装置を介して、前記三次元モデルに対して前記アノテーションが付与された位置に対応する、前記対象物に対する位置に表示される、
請求項1に記載の情報処理システム。
【請求項4】
前記プロセッサは、
予め定められた稼働領域内にて前記情報処理装置が移動しても、前記三次元モデルの向きを固定して前記三次元モデルを前記ディスプレイに表示させる、
請求項1から請求項3のいずれか一項に記載の情報処理システム。
【請求項5】
前記稼働領域毎に向きの異なる三次元モデルが定められており、
前記プロセッサは、
前記情報処理装置が存在する前記稼働領域毎に前記三次元モデルの向きを変えて前記三次元モデルを前記ディスプレイに表示させる、
請求項4に記載の情報処理システム。
【請求項6】
コンピュータが、
対象物を撮影する情報処理装置の位置に追従して、前記対象物を表す三次元モデルを、前記情報処理装置を使用する作業者の作業を支援する支援者用のディスプレイに表示させ、
前記ディスプレイに表示された前記三次元モデルに対して特定の操作が行われるときに、前記三次元モデルの向きを固定して前記三次元モデルを前記ディスプレイに表示させる、
ように動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム及びプログラムに関する。
【背景技術】
【0002】
情報処理装置の一例である作業者装置によって撮影された画像を、当該作業者装置を使用する作業者の作業を支援する支援者用のディスプレイに表示させるシステムが知られている。例えば、支援者は、遠隔で作業者の作業を支援することが考えられる。
【0003】
特許文献1には、第1のユーザが装着している第1ステレオ撮像部のステレオ映像を取得し、第1のユーザが存在する空間に設置されている第2ステレオ撮像部のステレオ映像と第2ステレオ撮像部の仮想物体画像と基づく第2ステレオ映像を取得し、第2のユーザによって選択された画像を第2のユーザに提示する方法が記載されている。
【0004】
特許文献2には、3次元パノラマ画像を生成して第1の表示部に表示させ、当該3次元パノラマ画像上でなされた対象物の指定に応じて、カメラの現在の姿勢情報に基づいて、指定された対象物の位置情報を第2の表示部に出力する方法が記載されている。
【0005】
特許文献3には、第1の観察者が仮想物体を操作するために使用する第1の操作手段、及び、第1の観察者が当該仮想物体に対して行う操作を遠隔支援する第2の観察者が当該仮想物体を操作するために使用する第2の操作手段、による操作結果が反映された仮想空間の画像を生成するシステムが記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006-209664号公報
【特許文献2】特開2017-58752号公報
【特許文献3】特開2006-293604号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、支援者が作業者の作業を支援する場合に、当該作業者が使用する作業者装置によって撮影された画像を支援者用のディスプレイに表示し、支援者は当該画像を参照して作業者を支援することが考えられる。作業者装置によって撮影された画像をそのままディスプレイに表示する場合、支援者は、当該作業者装置によって撮影される範囲(例えば、作業者の視界)を参考に支援することになるが、この場合、必ずしもその支援が容易とは限らない。
【0008】
本発明の目的は、情報処理装置を使用する作業者の作業を支援者が支援する場合において、当該情報処理装置によって撮影された画像を支援者用のディスプレイにそのまま表示する場合と比べて、支援者による支援を容易にすることにある。
【課題を解決するための手段】
【0009】
請求項1に係る発明は、プロセッサを有し、前記プロセッサは、対象物を撮影する情報処理装置の位置に追従して、前記対象物を表す三次元モデルを、前記情報処理装置を使用する作業者の作業を支援する支援者用のディスプレイに表示させ、前記ディスプレイに表示された前記三次元モデルに対して特定の操作が行われるときに、前記三次元モデルの向きを固定して前記三次元モデルを前記ディスプレイに表示させる、情報処理システムである。
【0010】
請求項2に係る発明は、前記特定の操作は、前記三次元モデルの拡大表示又は縮小表示する操作である、請求項1に記載の情報処理システムである。
【0011】
請求項3に係る発明は、前記特定の操作は、前記ディスプレイに表示された前記三次元モデルに対してアノテーションを付与する操作であり、前記三次元モデルに対して前記アノテーションが付与された場合、前記アノテーションが、前記情報処理装置を介して、前記三次元モデルに対して前記アノテーションが付与された位置に対応する、前記対象物に対する位置に表示される、請求項1に記載の情報処理システムである。
【0012】
請求項4に係る発明は、前記プロセッサは、予め定められた稼働領域内にて前記情報処理装置が移動しても、前記三次元モデルの向きを固定して前記三次元モデルを前記ディスプレイに表示させる、請求項1から請求項3のいずれか一項に記載の情報処理システムである。
【0013】
請求項5に係る発明は、前記稼働領域毎に向きの異なる三次元モデルが定められており、前記プロセッサは、前記情報処理装置が存在する前記稼働領域毎に前記三次元モデルの向きを変えて前記三次元モデルを前記ディスプレイに表示させる、請求項4に記載の情報処理システムである。
【0014】
請求項6に係る発明は、コンピュータが、対象物を撮影する情報処理装置の位置に追従して、前記対象物を表す三次元モデルを、前記情報処理装置を使用する作業者の作業を支援する支援者用のディスプレイに表示させ、前記ディスプレイに表示された前記三次元モデルに対して特定の操作が行われるときに、前記三次元モデルの向きを固定して前記三次元モデルを前記ディスプレイに表示させる、ように動作させるプログラムである。
【発明の効果】
【0015】
請求項1,6に係る発明によれば、情報処理装置を使用する作業者の作業を支援者が支援する場合において、当該情報処理装置によって撮影された画像を支援者用のディスプレイにそのまま表示する場合と比べて、支援者による支援が容易となる。
【0016】
請求項2に係る発明によれば、三次元モデルを拡大表示又は縮小表示するときに、情報処理装置によって撮影された画像を支援者用のディスプレイにそのまま表示する場合と比べて、支援者による支援が容易となる。
【0017】
請求項3に係る発明によれば、アノテーションを付与するときに、当該情報処理装置によって撮影された画像を支援者用のディスプレイにそのまま表示する場合と比べて、支援者による支援が容易となる。
【0018】
請求項4,5に係る発明によれば、稼働領域内での情報処理装置の移動に追従して三次元モデルの向きを変えて三次元モデルを表示する場合と比べて、支援者による支援が容易となる。
【図面の簡単な説明】
【0019】
【
図1】実施形態に係る情報処理システムの構成を示すブロック図である。
【
図2】実施形態に係る作業者装置の構成を示すブロック図である。
【
図3】実施形態に係る支援者装置の構成を示すブロック図である。
【
図6】作業者装置の処理の流れを示すフローチャートである。
【
図7】支援者装置の処理の流れを示すフローチャートである。
【
図8】作業者装置の処理の流れを示すフローチャートである。
【
図9】支援者装置の処理の流れを示すフローチャートである。
【
図10】支援者装置の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0020】
図1を参照して、実施形態に係る情報処理システムについて説明する。
図1は、実施形態に係る情報処理システムの構成の一例を示すブロック図である。
【0021】
実施形態に係る情報処理システムは、作業者装置10と支援者装置12とを含む。作業者装置10と支援者装置12は、他の装置と通信する機能を有する。その通信は、有線通信であってもよいし、無線通信であってもよい。無線通信として、例えば、近距離無線通信やWi-Fi(登録商標)等が用いられる。これら以外の規格の無線通信が用いられてもよい。例えば、作業者装置10と支援者装置12は、LAN(Local Area Network)やインターネット等の通信経路Nを介して互いに通信する。作業者装置10と支援者装置12は、サーバ等の外部装置を介して互いに通信してもよい。
【0022】
作業者装置10が有する一部の機能が、作業者装置10以外の外部装置によって実現されてもよい。この場合、作業者装置10と当該外部装置とによって、上記の情報処理システムとは別の情報処理システムが構成されて、作業者装置10の全部の機能が実現されてもよい。
【0023】
同様に、支援者装置12が有する一部の機能が、支援者装置12以外の外部装置によって実現されてもよい。この場合、支援者装置12と当該外部装置とによって、上記の情報処理システムとは別の情報処理システムが構成されて、支援者装置12の全部の機能が実現されてもよい。
【0024】
作業者装置10は、作業者によって使用される装置である。例えば、作業者装置10は、スマートグラス等のHMD(Head Mount Display)、パーソナルコンピュータ(以下、「PC」と称する)、タブレットPC、カメラ、ビデオ等の撮影装置、スマートフォン又は携帯電話等であり、撮影機能を有する情報処理装置である。
【0025】
支援者装置12は、作業者による作業を支援する支援者によって使用される装置である。例えば、支援者装置12は、HMD、PC、タブレットPC、スマートフォン又は携帯電話等である。
【0026】
例えば、作業者装置10のカメラによって画像(例えば動画や静止画像)が撮影されると、その画像のデータが、通信経路Nを介して作業者装置10から支援者装置12に送信される。その画像は、支援者装置12のディスプレイに表示される。また、作業者装置10のマイクによって音声等の音が収集されると、その音のデータが、通信経路Nを介して作業者装置10から支援者装置12に送信される。その音は、支援者装置12のスピーカから発せられる。支援者は、その画像を参照したり、その音を聞いたりして、作業者に対して指示を与える。
【0027】
例えば、支援者が支援者装置12を操作して作業者に対して指示を与えると、その指示を示す情報が、通信経路Nを介して作業者装置10に送信される。その指示を示す情報は、作業者装置10にて出力される。例えば、その指示を示す情報は、作業者装置10のディスプレイに表示されたり、音声として出力されたりする。
【0028】
支援者は、1人の作業者の作業を支援してもよいし、複数の作業者の作業を支援してもよい。例えば、複数の作業者装置10が情報処理システムに含まれ、支援者は、各作業者に対して指示を与えてもよい。
【0029】
以下、
図2を参照して、作業者装置10のハードウェアの構成について説明する。
図2には、作業者装置10のハードウェアの構成の一例が示されている。
【0030】
作業者装置10は、撮影装置14と、通信装置16と、位置情報取得部18と、ユーザインターフェース(UI)20と、メモリ22と、プロセッサ24とを含む。
【0031】
撮影装置14は、カメラであり、撮影することで画像(例えば動画像や静止画像)を生成する。例えば、画像のデータは、通信経路Nを介して支援者装置12に送信される。
【0032】
通信装置16は、通信チップや通信回路等を有する1又は複数の通信インターフェースを含み、他の装置に情報を送信する機能、及び、他の装置から情報を受信する機能を有する。通信装置16は、無線通信機能を有してもよいし、有線通信機能を有してもよい。
【0033】
位置情報取得部18は、GPS(Global Positioning System)、加速度センサ、ジャイロセンサ及び磁気センサ等の装置を含み、作業者装置10の位置情報及び姿勢情報を取得する。その位置情報は、現実の三次元空間における作業者装置10の位置を示す情報である。その姿勢情報は、現実の三次元空間における作業者装置10の姿勢(例えば、作業者装置10の向きや傾き)を示す情報である。
【0034】
UI20はユーザインターフェースであり、ディスプレイと入力装置とを含む。ディスプレイは、液晶ディスプレイ又はELディスプレイ等である。入力装置は、キーボード、マウス、入力キー又は操作パネル等である。UI20は、ディスプレイと入力装置とを兼ね備えたタッチパネル等のUIであってもよい。また、UI20は、マイクとスピーカとを含む。
【0035】
メモリ22は、データを記憶する1又は複数の記憶領域を構成する装置である。メモリ22は、例えば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、各種のメモリ(例えばRAM、DRAM、NVRAM、ROM、等)、その他の記憶装置(例えば光ディスク等)、又は、それらの組み合わせである。
【0036】
プロセッサ24は、作業者装置10の各部の動作を制御する。
【0037】
以下、
図3を参照して、支援者装置12のハードウェアの構成について説明する。
図3には、支援者装置12のハードウェアの構成の一例が示されている。
【0038】
支援者装置12は、通信装置26と、ユーザインターフェース(UI)28と、メモリ30と、プロセッサ32とを含む。
【0039】
通信装置26は、通信チップや通信回路等を有する1又は複数の通信インターフェースを含み、他の装置に情報を送信する機能、及び、他の装置から情報を受信する機能を有する。通信装置26は、無線通信機能を有してもよいし、有線通信機能を有してもよい。
【0040】
UI28はユーザインターフェースであり、ディスプレイと入力装置とを含む。ディスプレイは、液晶ディスプレイ又はELディスプレイ等である。入力装置は、キーボード、マウス、入力キー又は操作パネル等である。UI28は、ディスプレイと入力装置とを兼ね備えたタッチパネル等のUIであってもよい。また、UI28は、マイクとスピーカとを含む。
【0041】
メモリ30は、データを記憶する1又は複数の記憶領域を構成する装置である。メモリ30は、例えば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、各種のメモリ(例えばRAM、DRAM、NVRAM、ROM、等)、その他の記憶装置(例えば光ディスク等)、又は、それらの組み合わせである。
【0042】
プロセッサ32は、支援者装置12の各部の動作を制御する。
【0043】
以下、
図4を参照して、実施形態に係る情報処理システムについて詳しく説明する。
図4には、現場34と遠隔地36とが示されている。
【0044】
現場34は、作業者が作業を行う場所である。
図4に示す例では、作業の対象物38が現場34に存在する。ここでは、作業者装置10はHMDであり、作業者は、作業者装置10を頭部に装着して、現場34にて作業する。
【0045】
遠隔地36は、支援者が作業者による作業を支援する場所である。支援者装置12が遠隔地36に設けられており、支援者は、遠隔地36から作業者による作業を支援する。
【0046】
現場34には、予め定められた位置を原点40とするトラッキング用の三次元直交座標系42が予め定められている。例えば、対象物38の頂点等が、原点40として定められる。三次元直交座標系42は、現実空間にて定義された座標系である。
【0047】
三次元仮想空間44が、支援者装置12に設定されている。三次元直交座標系46が、三次元仮想空間44に設定されている。三次元直交座標系46は、仮想空間にて定義された座標系である。対象物38を表す三次元モデル48のデータが、支援者装置12のメモリ30に予め記憶されている。三次元モデル48は、三次元仮想空間44内に存在する仮想的なモデルである。また、現場34に設定されている三次元直交座標系42に対応する三次元直交座標系50が、三次元仮想空間44にて定義されている。三次元直交座標系50の原点52は、三次元直交座標系42の原点40に対応する。なお、三次元直交座標系50は、三次元直交座標系46と一致する座標系であってもよい。
【0048】
作業者装置10の位置情報取得部18は、作業者装置10の位置情報及び姿勢情報を取得する。その位置情報は、現実の三次元空間内における作業者装置10の位置を示す情報であり、原点40を基準とした三次元直交座標系42で定義される位置情報である。その姿勢情報は、現実の三次元空間における作業者装置10の姿勢(例えば、作業者装置10の向きや傾き)を示す情報である。
【0049】
作業者装置10のプロセッサ24は、作業者装置10の位置情報及び姿勢情報を支援者装置12に送信する。また、撮影装置14によって画像が撮影されると、作業者装置10のプロセッサ24は、その画像のデータを支援者装置12に送信する。
【0050】
支援者装置12のプロセッサ32は、作業者装置10の位置情報及び姿勢情報を作業者装置10から受信する。プロセッサ32は、三次元仮想空間44において、その位置情報が示す位置に、その姿勢情報が示す姿勢で、作業者装置10を表す仮想カメラ54を配置する。現場34にて作業者装置10の位置及び姿勢が変われば、三次元仮想空間44内における仮想カメラ54の位置及び姿勢も変わる。このように、作業者装置10の位置及び姿勢に追従して、三次元仮想空間44内における仮想カメラ54の位置及び姿勢も変わる。プロセッサ32は、仮想カメラ54の姿勢を現場34での作業者装置10の姿勢と一致させ、三次元仮想空間44において三次元モデル48の全体を映し出す位置に仮想カメラ54を配置してもよい。プロセッサ32は、作業者装置10の姿勢に追従せずに、作業者装置10の位置に追従して、三次元仮想空間44内における仮想カメラ54の位置を変えてもよい。つまり、プロセッサ32は、三次元仮想空間44において、作業者装置10の位置情報が示す位置に仮想カメラ54を配置してもよい。以下に説明する実施形態においても同様である。この場合、プロセッサ32は、作業者装置10の姿勢情報を作業者装置10から受信してもよいし、姿勢情報を受信しなくてもよい。プロセッサ32が姿勢情報を受信しない場合、例えば、予め定められた向き(例えば原点40を向く姿勢等)が、仮想カメラ54の向きとして予め設定されてもよい。
【0051】
支援者装置12のUI28のディスプレイ28aには、画面56と画面58とが表示される。
【0052】
画面56は、現場34の画像が表示される画面である。作業者装置10の撮影装置14によって撮影された画像が、画面56に表示される。支援者装置12のプロセッサ32は、撮影装置14によって撮影された画像のデータを作業者装置10から受信すると、その画像を画面56に表示する。例えば、作業者が、HMDである作業者装置10を頭部に装着している場合、作業者の視界を表す画像が画面56に表示される。
【0053】
画面58は、対象物38の三次元モデル48が表示される画面である。支援者装置12のプロセッサ32は、三次元仮想空間44内において仮想カメラ54の位置からの視界内に配置されているモデルを、画面58に表示する。つまり、プロセッサ32は、三次元仮想空間44において作業者装置10の仮想カメラ54から見たときの三次元モデル48を画面58に表示する。仮想カメラ54の位置及び姿勢は、作業者装置10の動きに追従して変わるため、プロセッサ32は、作業者装置10の動きに追従して三次元モデル48の位置及び姿勢を変えて、三次元モデル48を画面58に表示する。上述したように、プロセッサ32は、作業者装置10の姿勢に追従せずに、作業者装置10の位置に追従して三次元モデル48の位置を変えてもよい。この場合、予め定められた向き(例えば、原点40を向く姿勢等)が、仮想カメラ54の向きとして予め設定されてもよい。
【0054】
画面58は、支援者が作業者の作業を支援するための画面である。支援者は、画面58を介して作業者に対して指示を与える。支援者は、現場34にて対象物38を撮影すべき作業者装置10の位置や、その位置での作業者装置10の姿勢を、指示する。例えば、支援者装置12のプロセッサ32は、支援者が指示するためのアノテーション60を画面58に表示する。アノテーション60は、作業者に対する指示を表す画像や文字列等である。
図4に示す例では、作業者装置10の位置や姿勢を表す矢印の画像が、アノテーション60として用いられている。支援者は、画面58にて、三次元モデル48に対するアノテーション60の位置及び姿勢を指定する。
【0055】
三次元モデル48に対するアノテーション60の位置は、現場34にて対象物38を撮影すべき作業者装置10の位置である。三次元モデル48に対するアノテーション60の姿勢は、対象物38を撮影すべき位置での作業者装置10の姿勢である。支援者装置12のプロセッサ32は、その指示を示す指示情報を作業者装置10に送信する。指示情報には、作業者装置10の位置を示す位置情報と、その位置での作業者装置10の姿勢を示す姿勢情報と、が含まれる。
【0056】
作業者装置10のプロセッサ24は、支援者装置12から送信された指示情報を受信すると、作業者装置10にUI20のディスプレイに、アノテーション62を表示させる。例えば、プロセッサ24は、AR(Augmented Reality)技術又はMR(Mixed Reality)技術を用いて、現実の風景の中にアノテーション62を重ねて表示する。アノテーション62は、作業者に対する指示を示す画像や文字列等である。
図4に示す例では、矢印の画像が、アノテーション62として用いられている。
【0057】
図4には、AR表示用の表示領域64が模式的に示されている。表示領域64は、HMDである作業者装置10のディスプレイに形成される領域である。作業者装置10の撮影装置14によって撮影された画像とアノテーション62とが、表示領域64に表示される。プロセッサ24は、指示情報に含まれる位置情報が示す位置に、指示情報に含まれる姿勢情報が示す姿勢で、アノテーション62を表示する。つまり、プロセッサ24は、三次元モデル48に対してアノテーション60が付与された位置に対応する、対象物38に対する位置に、姿勢情報が示す姿勢で、アノテーション60を表示する。このように、アノテーション62が、作業者装置10を介して、三次元モデル48に対してアノテーション60が付与された位置に対応する位置に表示される。
【0058】
支援者は、作業者装置10の撮影装置14によって撮影された画像を画面56にて観察し、画面58にて、対象物38の三次元モデル48に対してアノテーション60を付与することで、作業者に対して指示を与える。
【0059】
画面58に表示された三次元モデル48に対して特定の操作が行われるときに、支援者装置12のプロセッサ32は、三次元モデル48の向きを固定して三次元モデル48を画面58に表示する。
【0060】
つまり、三次元モデル48に対して特定の操作が行われないときには、支援者装置12のプロセッサ32は、作業者装置10の位置及び姿勢に追従して仮想カメラ54の位置及び姿勢を変更する。このように、プロセッサ32は、作業者装置10の位置及び姿勢に追従して三次元モデル48の向きを変えて、三次元モデル48を画面58に表示する。三次元モデル48に対して特定の操作が行われるときには、プロセッサ32は、作業者装置10の位置及び姿勢に追従せずに、三次元モデル48の向きを固定して三次元モデル48を画面58に表示する。
【0061】
特定の操作は、支援者が画面58を介して作業者に対して指示を与えると推測される操作である。
【0062】
例えば、三次元モデル48に対する特定の操作は、画面58に表示された三次元モデル48の拡大表示又は縮小表示する操作である。支援者が、支援者装置12のUI28を操作して三次元モデル48の拡大表示(つまりズームイン)を指示すると、支援者装置12のプロセッサ32は、三次元モデル48の向きを固定して三次元モデル48を拡大して画面58に表示する。支援者が、UI28を操作して三次元モデル48の縮小表示(つまりズームアウト)を指示すると、プロセッサ32は、三次元モデル48の向きを固定して三次元モデル48を縮小して画面58に表示する。
【0063】
作業者に対して指示を与えるときに、支援者は、三次元モデル48を拡大表示又は縮小表示することが想定される。この場合に、三次元モデル48の向きを固定して三次元モデル48を表示することで、三次元モデル48の向きを固定せずに作業者装置10の動きに追従して変更する場合と比べて、三次元モデル48に対する支援者によるアノテーション60の付与が容易となる。つまり、作業者装置10の動きに追従して三次元モデル48をそのまま表示する場合と比べて、支援者による支援が容易となる。
【0064】
別の例として、特定の操作は、三次元モデル48に対してアノテーション60を付与する操作である。この場合に、三次元モデル48の向きを固定して三次元モデル48を表示することで、三次元モデル48の向きが作業者装置10の動きに追従して変更する場合と比べて、三次元モデル48に対する支援者によるアノテーション60の付与が容易となる。例えば、アノテーション60の付与を指示するためのボタン等の画像が、画面58等に表示される。支援者が当該ボタン等の画像を押すと、プロセッサ32は、三次元モデル48の向きを固定して三次元モデル48を画面58に表示する。
【0065】
また、予め定められた稼働領域内にて作業者装置10が移動しても、支援者装置12のプロセッサ32は、三次元モデル48の向きを固定して三次元モデル48を画面58に表示してもよい。例えば、現場34にて複数の稼働領域が設定されており、稼働領域毎に向きの異なる三次元モデル48が予め定められている。プロセッサ32は、作業者装置10が存在する稼働領域毎に三次元モデル48の向きを変えて三次元モデル48を画面58に表示する。
【0066】
図5を参照して、この実施例について説明する。
図5には、
図4と同様に、現場34と遠隔地36とが示されている。
【0067】
例えば、現場34においては、対象物38を基準として、複数の稼働領域が設定されている。ここでは説明の便宜上、対象物38は立方体であるものとする。現場34の現実空間において対象物38の面Aが向く領域が、稼働領域66Aとして設定されている。対象物38の面Bが向く領域が、稼働領域66Bとして設定されている。対象物38の面Cが向く領域が、稼働領域66Cとして設定されている。面Bの反対側の面が向く領域が、稼働領域66Dとして設定されている。面Aの反対側の面が向く領域が、稼働領域66Eとして設定されている。各稼働領域を示す位置情報は、支援者装置12のメモリ30に予め記憶されている。
【0068】
三次元モデル48は、対象物38と同様に立方体である。三次元モデル48の面Aは、対象物38の面Aに対応し、三次元モデル48の面Bは、対象物38の面Bに対応し、三次元モデル48の面Cは、対象物38の面Cに対応する。その他の面についても同様である。
【0069】
例えば、作業者装置10が稼働領域66A内に存在する場合(つまり、作業者装置10の位置情報が示す位置が稼働領域66A内に含まれる場合)、支援者装置12のプロセッサ32は、三次元モデル48の面Aが画面58に表示されるように、三次元モデル48の向きを設定して三次元モデル48を画面58に表示する。例えば、稼働領域66A内にて位置Aが設定され、その位置Aを示す位置情報が、支援者装置12のメモリ30に予め記憶されている。プロセッサ32は、その位置Aから見たときの三次元モデル48を画面58に表示する。位置Aは、稼働領域66A内において固定された位置である。作業者装置10が稼働領域66A内で移動しても、プロセッサ32は、三次元モデル48に対する位置Aを固定して、三次元モデル48の面Aが画面58に表示されるように、三次元モデル48を画面58に表示する。つまり、作業者装置10が稼働領域66A内で移動しても、三次元モデル48の表示は変わらず、三次元モデル48の向きが固定された状態で、三次元モデル48が画面58に表示される。
【0070】
作業者装置10が稼働領域66B内に存在する場合(つまり、作業者装置10の位置情報が示す位置が稼働領域66B内に含まれる場合)、支援者装置12のプロセッサ32は、三次元モデル48の面Bが画面58に表示されるように、三次元モデル48の向きを設定して三次元モデル48を画面58に表示する。例えば、稼働領域66B内にて位置Bが設定され、その位置Bの位置を示す位置情報が、支援者装置12のメモリ30に予め記憶されている。プロセッサ32は、その位置Bから見たときの三次元モデル48を画面58に表示する。位置Bは、稼働領域66B内において固定された位置である。作業者装置10が稼働領域66B内で移動しても、プロセッサ32は、三次元モデル48の位置B及び向きを固定して、三次元モデル48の面Bが画面58に表示されるように、三次元モデル48を画面58に表示する。
【0071】
作業者装置10が稼働領域66C,66D,66Dのそれぞれに存在する場合も同様である。
【0072】
例えば、作業者装置10が稼働領域66A内に存在する場合、プロセッサ32は、三次元モデル48の面Aが画面58に表示されるように、三次元モデル48の位置A及び向きを固定して三次元モデル48を画面58に表示する。作業者装置10が稼働領域66Aから稼働領域66Bに移動すると、プロセッサ32は、位置を位置Aから位置Bに切り替え、三次元モデル48の面Bが画面58に表示されるように、三次元モデル48の位置B及び向きを固定して三次元モデル48を画面58に表示する。作業者装置10が他の稼働領域に移動した場合も同様である。このように、三次元モデル48の表示は、作業者装置10の移動に伴って不連続に変化する。
【0073】
以上のように、作業者装置10が同じ稼働領域内にて移動した場合であっても、三次元モデル48の位置及び向きが固定されて三次元モデル48が画面58に表示される。これにより、三次元モデル48の位置及び向きが作業者装置10の動きに追従して変更する場合と比べて、三次元モデル48に対する支援者によるアノテーション60の付与が容易となる。
【0074】
各稼働領域の形状及び大きさは、対象物38の形状、大きさ及び種類等に応じて予め設定されてもよいし、作業者や支援者によって設定されてもよい。稼働領域の数も、対象物38の形状、大きさ及び種類等に応じて予め設定されてもよいし、作業者や支援者によって設定されてもよい。
【0075】
以下、
図6から
図10を参照して、本実施形態に係る処理の流れについて説明する。
【0076】
図6を参照して、作業者装置10の処理の流れについて説明する。
図6には、作業者装置10の処理の流れを示すフローチャートが示されている。
【0077】
作業者装置10が初期化され(S01)、作業者装置10の撮影装置14によって画像(例えば動画や静止画像)が撮影される(S02)。作業者装置10のプロセッサ24は、撮影された画像を符号化し(S03)、符号化された画像を支援者装置12に送信する(S04)。現場34での作業や撮影等が終了しない場合(S05,No)、処理はステップS02に移行する。作業や撮影等が終了する場合(S05,Yes)、作業者装置10の処理は終了する。
【0078】
図7を参照して、支援者装置12の処理の流れについて説明する。
図7には、支援者装置12の処理の流れを示すフローチャートが示されている。
【0079】
支援者装置12が初期化され(S11)、支援者装置12は、作業者装置10から送信された画像を受信する(S12)。支援者装置12のプロセッサ32は、符号化された画像を復号し(S13)、復号した画像をUI28のディスプレイに表示させる(S14)。現場34での作業や撮影等が終了しない場合(S15,No)、処理はステップS12に移行する。作業や撮影等が終了する場合(S15,Yes)、支援者装置12の処理は終了する。
【0080】
図8を参照して、作業者装置10にてAR表示を実現する処理について説明する。
図8には、作業者装置10の処理の流れを示すフローチャートが示されている。
【0081】
作業者装置10が初期化され(S21)、作業者装置10の撮影装置14によって画像(例えば動画や静止画像)が撮影される(S22)。作業者装置10の位置情報取得部18は、作業者装置10の位置情報及び姿勢情報を取得する(S23)。位置情報及び姿勢情報は、支援者装置12に送信される(S24)。支援者装置12においてアノテーションの付与等のイベントが発生した場合(S25,Yes)、作業者装置10のプロセッサ24は、作業者の視点(つまり、HMDとしての作業者装置10の位置)を基準として、アノテーションを拡張現実(AR)で描画し(S26)、撮影装置14によって撮影された画像とアノテーションとを合成する(S27)。プロセッサ24は、合成されたアノテーションと画像とを表示する(S28)。支援者装置12においてアノテーションの付与等のイベントが発生しない場合(S25,No)、プロセッサ24は、撮影装置14によって撮影された画像を表示する(S28)。作業や撮影等が終了しない場合(S29,No)、処理は、ステップ22に移行する。作業や撮影等が終了した場合(S29,Yes)、作業者装置10の処理は終了する。
【0082】
図9を参照して、作業者装置10の動きに追従して三次元モデル48を表示する処理について説明する。
図9には、その処理の流れを示すフローチャートが示されている。
【0083】
支援者装置12が初期化され(S31)、支援者装置12のプロセッサ32は、対象物38の三次元モデル48を三次元仮想空間44内に描画する(S32)。プロセッサ32は、三次元仮想空間44内において、作業者装置10を表す仮想カメラ54によって三次元モデル48を撮影することで、三次元モデル48の画像(つまり仮想の画像)を取得する(S33)。この画像は、三次元仮想空間44内において仮想カメラ54から三次元モデル48を見たときの三次元モデル48の形状を表す画像である。
【0084】
作業者装置10の位置情報及び姿勢情報が、作業者装置10から支援者装置12に送信され、支援者装置12のプロセッサ32は、作業者装置10の位置情報及び姿勢情報を受信する(S34)。プロセッサ32は、三次元仮想空間44内における仮想カメラ54の位置が、その位置情報が示す位置に一致しているか否かを判断する(S35)。また、プロセッサ32は、三次元仮想空間44における仮想カメラ54の姿勢が、その姿勢情報が示す姿勢に一致しているか否かを判断する(S35)。つまり、プロセッサ32は、三次元仮想空間44内における仮想カメラ54の位置及び姿勢が、現実空間における作業者装置10の位置及び姿勢と一致しているか否かを判断する。三次元仮想空間44内における仮想カメラ54の位置及び姿勢が、現実空間における作業者装置10の位置及び姿勢と一致していない場合(S35,No)、プロセッサ32は、三次元仮想空間44内において、その位置情報が示す位置に対応する位置に仮想カメラ54を配置し、その姿勢情報が示す姿勢に仮想カメラ54の姿勢を一致させる(S36)。これにより、仮想カメラ54の位置及び姿勢は、現実空間における作業者装置10の動きに追従する。そして、プロセッサ32は、三次元モデル48を画面58に表示する(S37)。三次元仮想空間44内における仮想カメラ54の位置及び姿勢が、現実空間における作業者装置10の位置及び姿勢と一致している場合(S35,Yes)、プロセッサ32は、三次元モデル48を画面58に表示する(S37)。
【0085】
支援者が、マウスカーソル等のカーソルによってアノテーションを付与する場合、カーソルが画面58に表示される。支援者装置12のプロセッサ32は、画面58におけるカーソルの座標を検出し(S38)、その検出した座標を、三次元仮想空間44における座標に変換する(S39)。座標変換は、予め定められた条件に従って行われる。
【0086】
支援者がアノテーションの付与を指示すると、支援者装置12のプロセッサ32は、アノテーション60を描画する(S40)。支援者がアノテーション60の位置を変更すると、三次元仮想空間44内におけるアノテーション60の座標が変更される(S41)。
【0087】
支援者装置12にて作業者を支援するイベント(例えばアノテーション60の付与)が発生した場合(S42,Yes)、そのイベントを示す情報が、支援者装置12から作業者装置10に送信される(S43)。その後、処理はステップS44に移行する。
【0088】
支援者装置12にて作業者を支援するイベントが発生しない場合(S42,No)、処理はステップS44に移行する。
【0089】
現場34での作業や撮影等が終了しない場合(S44,No)、処理はステップS32に移行する。作業や撮影等が終了する場合(S44,Yes)、支援者装置12の処理は終了する。
【0090】
図10を参照して、三次元モデル48の表示を固定する処理について説明する。
図10には、その処理の流れを示すフローチャートが示されている。
【0091】
支援者装置12が初期化され(S51)、支援者装置12のプロセッサ32は、対象物38の三次元モデル48を三次元仮想空間44内に描画する(S52)。プロセッサ32は、三次元仮想空間44において、作業者装置10を表す仮想カメラ54によって三次元モデル48を撮影することで、三次元モデル48の画像(つまり仮想の画像)を取得する(S53)。この画像は、三次元仮想空間44内において仮想カメラ54から三次元モデル48を見たときの三次元モデル48の形状を表す画像である。
【0092】
作業者装置10の位置情報及び姿勢情報が、作業者装置10から支援者装置12に送信され、支援者装置12のプロセッサ32は、作業者装置10の位置情報及び姿勢情報を受信する(S54)。プロセッサ32は、その位置情報が示す位置に基づいて、現実空間において作業者装置10が存在する稼働領域を特定する(S55)。プロセッサ32は、その特定した稼働領域に対応する仮想カメラ54の位置及び姿勢を決定する(S56)。例えば、作業者装置10が稼働領域66Aに存在する場合、プロセッサ32は、稼働領域66Aに対応する仮想カメラ54の位置及姿勢を決定する。プロセッサ32は、三次元仮想空間44においてその位置にその姿勢で仮想カメラ54を配置し、その仮想カメラ54から三次元モデル48を見たときの三次元モデル48を、画面58に表示する(S57)。
【0093】
支援者が、マウスカーソル等のカーソルによってアノテーションを付与する場合、カーソルが画面58に表示される。支援者装置12のプロセッサ32は、画面58におけるカーソルの座標を検出し(S58)、その検出した座標を、三次元仮想空間44における座標に変換する(S59)。座標変換は、予め定められた条件に従って行われる。
【0094】
支援者がアノテーションの付与を指示すると、支援者装置12のプロセッサ32は、アノテーション60を描画する(S60)。支援者がアノテーション60の位置を変更すると、三次元仮想空間44内におけるアノテーション60の座標が変更される(S61)。
【0095】
支援者装置12にて作業者を支援するイベント(例えばアノテーション60の付与)が発生した場合(S62,Yes)、そのイベントを示す情報が、支援者装置12から作業者装置10に送信される(S63)。その後、処理はステップS64に移行する。
【0096】
支援者装置12にて作業者を支援するイベントが発生しない場合(S62,No)、処理はステップS44に移行する。
【0097】
現場34での作業や撮影等が終了しない場合(S64,No)、処理はステップS52に移行する。作業や撮影等が終了する場合(S64,Yes)、支援者装置12の処理は終了する。
【0098】
作業者装置10及び支援者装置12の各機能は、一例としてハードウェアとソフトウェアとの協働により実現される。例えば、作業者装置10のプロセッサ24が、メモリに記憶されているプログラムを読み出して実行することで、作業者装置10の各機能が実現される。プログラムは、CD又はDVD等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、メモリに記憶される。同様に、支援者装置12のプロセッサ32が、メモリに記憶されているプログラムを読み出して実行することで、支援者装置12の各機能が実現される。プログラムは、CD又はDVD等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、メモリに記憶される。
【0099】
上記各実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU: Central Processing Unit、等)や、専用のプロセッサ(例えばGPU: Graphics Processing Unit、ASIC: Application Specific Integrated Circuit、FPGA: Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。また上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【0100】
(付記)
(((1)))
プロセッサを有し、
前記プロセッサは、
対象物を撮影する情報処理装置の位置に追従して、前記対象物を表す三次元モデルを、前記情報処理装置を使用する作業者の作業を支援する支援者用のディスプレイに表示させ、
前記ディスプレイに表示された前記三次元モデルに対して特定の操作が行われるときに、前記三次元モデルの向きを固定して前記三次元モデルを前記ディスプレイに表示させる、
情報処理システム。
(((2)))
前記特定の操作は、前記三次元モデルの拡大表示又は縮小表示する操作である、
(((1)))に記載の情報処理システム。
(((3)))
前記特定の操作は、前記ディスプレイに表示された前記三次元モデルに対してアノテーションを付与する操作であり、
前記三次元モデルに対して前記アノテーションが付与された場合、前記アノテーションが、前記情報処理装置を介して、前記三次元モデルに対して前記アノテーションが付与された位置に対応する、前記対象物に対する位置に表示される、
(((1)))に記載の情報処理システム。
(((4)))
前記プロセッサは、
予め定められた稼働領域内にて前記情報処理装置が移動しても、前記三次元モデルの向きを固定して前記三次元モデルを前記ディスプレイに表示させる、
(((1)))から(((3)))のいずれか一項に記載の情報処理システム。
(((5)))
前記稼働領域毎に向きの異なる三次元モデルが定められており、
前記プロセッサは、
前記情報処理装置が存在する前記稼働領域毎に前記三次元モデルの向きを変えて前記三次元モデルを前記ディスプレイに表示させる、
(((4)))に記載の情報処理システム。
(((6)))
コンピュータが、
対象物を撮影する情報処理装置の位置に追従して、前記対象物を表す三次元モデルを、前記情報処理装置を使用する作業者の作業を支援する支援者用のディスプレイに表示させ、
前記ディスプレイに表示された前記三次元モデルに対して特定の操作が行われるときに、前記三次元モデルの向きを固定して前記三次元モデルを前記ディスプレイに表示させる、
ように動作させるプログラム。
(((1)))に係る情報処理システム又は(((6)))に係るプログラムによれば、情報処理装置を使用する作業者の作業を支援者が支援する場合において、当該情報処理装置によって撮影された画像を支援者用のディスプレイにそのまま表示する場合と比べて、支援者による支援が容易となる。
(((2)))に係る情報処理システムによれば、三次元モデルを拡大表示又は縮小表示するときに、情報処理装置によって撮影された画像を支援者用のディスプレイにそのまま表示する場合と比べて、支援者による支援が容易となる。
(((3)))に係る情報処理システムによれば、アノテーションを付与するときに、当該情報処理装置によって撮影された画像を支援者用のディスプレイにそのまま表示する場合と比べて、支援者による支援が容易となる。
(((4)))又は(((5)))に係る情報処理システムによれば、稼働領域内での情報処理装置の移動に追従して三次元モデルの向きを変えて三次元モデルを表示する場合と比べて、支援者による支援が容易となる。
【符号の説明】
【0101】
10 作業者装置、12 支援者装置、24,32 プロセッサ。