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

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

▶ 株式会社日本総合研究所の特許一覧

特開2022-113575情報処理装置、情報処理方法、及び、プログラム
<>
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図1
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図2
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図3
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図4
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図5
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図6
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図7
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図8
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図9
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図10
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図11
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図12
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図13
  • 特開-情報処理装置、情報処理方法、及び、プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022113575
(43)【公開日】2022-08-04
(54)【発明の名称】情報処理装置、情報処理方法、及び、プログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20220728BHJP
   G06T 7/70 20170101ALI20220728BHJP
   G06F 3/04845 20220101ALI20220728BHJP
   G09G 5/00 20060101ALI20220728BHJP
   G09G 5/38 20060101ALI20220728BHJP
   G09G 5/36 20060101ALI20220728BHJP
   G09G 5/08 20060101ALI20220728BHJP
   H04N 5/74 20060101ALN20220728BHJP
【FI】
G06T7/00 C
G06T7/70 A
G06F3/0484 150
G09G5/00 510B
G09G5/00 550C
G09G5/38 A
G09G5/00 530H
G09G5/36 520D
G09G5/08 K
G09G5/08 M
H04N5/74 Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021009898
(22)【出願日】2021-01-25
(71)【出願人】
【識別番号】302064762
【氏名又は名称】株式会社日本総合研究所
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】武田 成広
【テーマコード(参考)】
5C058
5C182
5E555
5L096
【Fターム(参考)】
5C058BA35
5C058EA02
5C182AA04
5C182AA13
5C182AA14
5C182AB04
5C182AB34
5C182AC03
5C182AC38
5C182BA01
5C182BA04
5C182BA14
5C182BA45
5C182BA65
5C182BA66
5C182BA68
5C182BB02
5C182BC25
5C182CA32
5C182CB11
5C182CB41
5C182CB42
5C182DA19
5C182DA44
5C182DA62
5E555AA27
5E555BA29
5E555BA83
5E555BB29
5E555BC08
5E555CA29
5E555CA42
5E555CB45
5E555DA03
5E555DB53
5E555DC09
5E555FA00
5L096AA02
5L096AA06
5L096AA09
5L096CA05
5L096DA04
5L096FA06
5L096FA33
5L096FA66
5L096FA67
5L096FA69
5L096GA51
5L096HA05
5L096HA08
5L096HA11
5L096JA11
(57)【要約】
【解決手段】 情報処理装置が、三次元空間に配置された第1物体の三次元点群データを取得する点群データ取得部と、点群データ取得部が取得した三次元点群データに基づいて、第1物体の三次元モデルを含む仮想空間を構築するモデリング部と、第1ユーザからの指示であって、仮想空間に配された第1物体の三次元モデルの表面に配された点又は領域である指示位置を特定するための第1指示を受け付ける指示受付部と、画像を投影する投影装置を制御して、第1物体の表面における指示位置に対応する点又は領域である投影位置に、第1画像を投影させる投影制御部とを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
三次元空間に配置された第1物体の三次元点群データを取得する点群データ取得部と、
前記点群データ取得部が取得した前記三次元点群データに基づいて、前記第1物体の三次元モデルを含む仮想空間を構築するモデリング部と、
第1ユーザからの指示であって、前記仮想空間に配された前記第1物体の前記三次元モデルの表面に配された点又は領域である指示位置を特定するための第1指示を受け付ける指示受付部と、
画像を投影する投影装置を制御して、前記第1物体の表面における前記指示位置に対応する点又は領域である投影位置に、第1画像を投影させる投影制御部と、
を備える、情報処理装置。
【請求項2】
前記投影制御部は、前記三次元空間において前記第1物体が移動した場合、前記第1物体に投影される前記第1画像が前記第1物体の移動に追従するように、前記投影装置を制御する、
請求項1に記載の情報処理装置。
【請求項3】
前記指示受付部は、前記第1ユーザからの指示であって、前記第1画像の属性を特定するための第2指示を受け付け、
前記投影制御部は、
(i)前記第2指示により示される前記第1画像の属性が第1属性である場合、前記三次元空間において前記第1物体が移動したときに、前記第1物体に投影される前記第1画像が前記第1物体の移動に追従するように、前記第1画像の投影方向、並びに、前記第1画像の形状及び大きさの少なくとも1つを調整し、
(ii)前記第2指示により示される前記第1画像の属性が第2属性である場合、前記三次元空間において前記第1物体が移動しても、前記第1画像の投影方向、並びに、前記第1画像の形状及び大きさを調整しない、
請求項1又は請求項2に記載の情報処理装置。
【請求項4】
前記指示受付部は、前記第1ユーザからの指示であって、(i)前記第1物体の前記三次元モデルの基準点に対する前記指示位置の相対位置、又は、(ii)前記仮想空間の基準点に対する前記指示位置の相対位置を固定するための第3指示を受け付け、
前記投影制御部は、
(i)前記指示受付部が前記第3指示を受け付け、且つ、前記第2指示により示される前記第1画像の属性が第1属性である場合、前記三次元空間において前記第1物体が移動したときに、前記第1物体に投影される前記第1画像が前記第1物体の移動に追従するように、前記第1画像の投影方向、並びに、前記第1画像の形状及び大きさの少なくとも1つを調整し、
(ii)前記指示受付部が前記第3指示を受け付け、且つ、前記第2指示により示される前記第1画像の属性が第2属性である場合、前記三次元空間において前記第1物体が移動しても、前記第1画像の投影方向、並びに、前記第1画像の形状及び大きさを調整しない、
請求項3に記載の情報処理装置。
【請求項5】
前記指示受付部は、前記第1ユーザからの指示であって、前記第1画像の投影の開始又は停止に関する第4指示を受け付け、
前記投影制御部は、前記第4指示に基づいて、前記第1画像を前記第1物体に投影するか否かを決定する、
請求項1から請求項4までの何れか一項に記載の情報処理装置。
【請求項6】
前記第1ユーザが前記仮想空間における前記指示位置を指定するために用いられるポインティングデバイス又はコントローラが出力した制御信号に基づいて、前記仮想空間の特定の点を指し示すマークの動きを制御する指示マーク制御部をさらに備える、
請求項1から請求項5までの何れか一項に記載の情報処理装置。
【請求項7】
前記指示マーク制御部は、前記第1物体の前記三次元モデルの境界近傍における前記マークの動き方を規定する第1設定情報に基づいて、前記マークの動きを制御する、
請求項6に記載の情報処理装置。
【請求項8】
前記第1物体の画像データを取得する画像データ取得部と、
前記画像データ取得部が取得した前記画像データに基づいて、前記第1物体の種類を推定する物体推定部と、
1以上の物体のそれぞれの種類を示す情報と、各物体の表面上の1以上の位置のそれぞれに対応する各物体の三次元モデルの1以上の位置のそれぞれにおける前記マークの動き方を規定する第2設定情報とを対応付けて格納する設定格納部を参照して、前記物体推定部が推定した前記第1物体の前記種類に応じた前記第2設定情報を抽出する設定抽出部と、
をさらに備え、
前記指示マーク制御部は、前記設定抽出部が抽出した前記第2設定情報に基づいて、前記マークの動きを制御する、
請求項6又は請求項7に記載の情報処理装置。
【請求項9】
前記点群データ取得部は、前記第1物体に光を照射して得られた前記光の反射光に基づいて前記第1物体の前記三次元点群データを出力する測定装置から、前記第1物体の前記三次元点群データを取得し、
前記測定装置は、前記第1物体を撮像する撮像部を有し、
前記情報処理装置は、前記測定装置と、前記投影装置との位置関係を決定する較正部をさらに備え、
前記投影装置は、互いの相対位置が既知である少なくとも3つの線分を含む較正画像を、前記三次元空間に投影し、
前記撮像部は、前記投影装置が前記三次元空間に投影した前記較正画像を撮像し、
前記較正部は、前記撮像部が撮像した前記較正画像に基づいて、前記測定装置と、前記投影装置との位置関係を決定する、
請求項1から請求項8までの何れか一項に記載の情報処理装置。
【請求項10】
コンピュータを、請求項1から請求項9までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
【請求項11】
三次元空間に配置された第1物体の三次元点群データを取得する点群データ取得段階と、
前記点群データ取得段階において取得された前記三次元点群データに基づいて、前記第1物体の三次元モデルを含む仮想空間を構築するモデリング段階と、
第1ユーザからの指示であって、前記仮想空間に配された前記第1物体の前記三次元モデルの表面に配された点又は領域である指示位置を特定するための第1指示を受け付ける指示受付段階と、
画像を投影する投影装置を制御して、前記第1物体の表面における前記指示位置に対応する点又は領域である投影位置に、第1画像を投影させる投影制御段階と、
を有する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、複数のオブジェクトが存在する対象空間を撮影して、複数のオブジェクトの三次元位置を測定する距離測定装置を利用して、複数のオブジェクトをトラッキングするトラッキング装置が開示されている。
[先行技術文献]
[特許文献]
[特許文献1]特開2019-205060号公報
【発明の概要】
【課題を解決するための手段】
【0003】
本発明の第1の態様においては、情報処理装置が提供される。上記の情報処理装置は、例えば、三次元空間に配置された第1物体の三次元点群データを取得する点群データ取得部を備える。上記の情報処理装置は、例えば、点群データ取得部が取得した三次元点群データに基づいて、第1物体の三次元モデルを含む仮想空間を構築するモデリング部を備える。上記の情報処理装置は、例えば、第1ユーザからの指示であって、仮想空間に配された第1物体の三次元モデルの表面に配された点又は領域である指示位置を特定するための第1指示を受け付ける指示受付部を備える。上記の情報処理装置は、例えば、画像を投影する投影装置を制御して、第1物体の表面における指示位置に対応する点又は領域である投影位置に、第1画像を投影させる投影制御部を備える。
【0004】
上記の情報処理装置において、投影制御部は、三次元空間において第1物体が移動した場合、第1物体に投影される第1画像が第1物体の移動に追従するように、投影装置を制御してよい。上記の情報処理装置において、指示受付部は、第1ユーザからの指示であって、第1画像の属性を特定するための第2指示を受け付けてよい。上記の情報処理装置において、投影制御部は、(i)第2指示により示される第1画像の属性が第1属性である場合、三次元空間において第1物体が移動したときに、第1物体に投影される第1画像が第1物体の移動に追従するように、第1画像の投影方向、並びに、第1画像の形状及び大きさの少なくとも1つを調整してよい。投影制御部は、(ii)第2指示により示される第1画像の属性が第2属性である場合、三次元空間において第1物体が移動しても、第1画像の投影方向、並びに、第1画像の形状及び大きさを調整しなくてもよい。
【0005】
上記の情報処理装置において、指示受付部は、第1ユーザからの指示であって、(i)第1物体の三次元モデルの基準点に対する指示位置の相対位置、又は、(ii)仮想空間の基準点に対する指示位置の相対位置を固定するための第3指示を受け付けてよい。上記の情報処理装置において、投影制御部は、(i)指示受付部が第3指示を受け付け、且つ、第2指示により示される第1画像の属性が第1属性である場合、三次元空間において第1物体が移動したときに、第1物体に投影される第1画像が第1物体の移動に追従するように、第1画像の投影方向、並びに、第1画像の形状及び大きさの少なくとも1つを調整してよい。投影制御部は、(ii)指示受付部が第3指示を受け付け、且つ、第2指示により示される第1画像の属性が第2属性である場合、三次元空間において第1物体が移動しても、第1画像の投影方向、並びに、第1画像の形状及び大きさを調整しなくてもよい。
【0006】
上記の情報処理装置において、指示受付部は、第1ユーザからの指示であって、第1画像の投影の開始又は停止に関する第4指示を受け付けてよい。上記の情報処理装置において、投影制御部は、第4指示に基づいて、第1画像を第1物体に投影するか否かを決定してよい。上記の情報処理装置は、第1ユーザが仮想空間における指示位置を指定するために用いられるポインティングデバイス又はコントローラが出力した制御信号に基づいて、仮想空間の特定の点を指し示すマークの動きを制御する指示マーク制御部を備えてよい。上記の情報処理装置において、指示マーク制御部は、第1物体の三次元モデルの境界近傍におけるマークの動き方を規定する第1設定情報に基づいて、マークの動きを制御してよい。
【0007】
上記の情報処理装置は、第1物体の画像データを取得する画像データ取得部を備えてよい。上記の情報処理装置は、画像データ取得部が取得した画像データに基づいて、第1物体の種類を推定する物体推定部を備えてよい。上記の情報処理装置は、1以上の物体のそれぞれの種類を示す情報と、各物体の表面上の1以上の位置のそれぞれに対応する各物体の三次元モデルの1以上の位置のそれぞれにおけるマークの動き方を規定する第2設定情報とを対応付けて格納する設定格納部を参照して、物体推定部が推定した第1物体の種類に応じた第2設定情報を抽出する設定抽出部を備えてよい。上記の情報処理装置において、指示マーク制御部は、設定抽出部が抽出した第2設定情報に基づいて、マークの動きを制御してよい。
【0008】
上記の情報処理装置において、点群データ取得部は、第1物体に光を照射して得られた光の反射光に基づいて第1物体の三次元点群データを出力する測定装置から、第1物体の三次元点群データを取得してよい。上記の情報処理装置において、測定装置は、第1物体を撮像する撮像部を有してよい。上記の情報処理装置は、測定装置と、投影装置との位置関係を決定する較正部を備えてよい。上記の情報処理装置において、投影装置は、互いの相対位置が既知である少なくとも3つの線分を含む較正画像を、三次元空間に投影してよい。上記の情報処理装置において、撮像部は、投影装置が三次元空間に投影した較正画像を撮像してよい。上記の情報処理装置において、較正部は、撮像部が撮像した較正画像に基づいて、測定装置と、投影装置との位置関係を決定してよい。
【0009】
本発明の第2の態様においては、情報処理方法が提供される。上記の情報処理方法は、例えば、三次元空間に配置された第1物体の三次元点群データを取得する点群データ取得段階を有する。上記の情報処理方法は、例えば、点群データ取得段階において取得された三次元点群データに基づいて、第1物体の三次元モデルを含む仮想空間を構築するモデリング段階を有する。上記の情報処理方法は、例えば、第1ユーザからの指示であって、仮想空間に配された第1物体の三次元モデルの表面に配された点又は領域である指示位置を特定するための第1指示を受け付ける指示受付段階を有する。上記の情報処理方法は、例えば、画像を投影する投影装置を制御して、第1物体の表面における指示位置に対応する点又は領域である投影位置に、第1画像を投影させる投影制御段階を有する。
【0010】
本発明の第3の態様においては、プログラムが提供される。上記のプログラムは、コンピュータを、上記の第1の実施形態に係る情報処理装置として機能させるためのプログラムであってよい。上記のプログラムは、コンピュータに、上記の第2の実施形態に係る情報処理方法を実行させるためのプログラムであってもよい。上記のプログラムを格納するコンピュータ可読媒体が提供されてもよい。コンピュータ可読媒体は、非一時的なコンピュータ可読媒体であってもよい。コンピュータ可読媒体は、コンピュータ可読記録媒体であってもよい。
【0011】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0012】
図1】作業支援システム100のシステム構成の一例を概略的に示す。
図2】作業対象102の一例を概略的に示す。
図3】支援画像20の一例を概略的に示す。
図4】支援画像20を操作するための操作画面400の一例を概略的に示す。
図5】ライダー124の内部構成の一例を概略的に示す。
図6】作業室制御部162の内部構成の一例を概略的に示す。
図7】較正画像700の一例を概略的に示す。
図8】支援端末制御部164の内部構成の一例を概略的に示す。
図9】点群データ出力部540の内部構成の一例を概略的に示す。
図10】バラツキ指標算出部926における情報処理の概要を示す。
図11】第1補正部932における情報処理の概要を示す。
図12】第2補正部934及び第3補正部936における情報処理の概要を示す。
図13】バラツキ指標の値に基づいて生成された画像1300の一例を示す。
図14】コンピュータ3000のシステム構成の一例を概略的に示す。
【発明を実施するための形態】
【0013】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
【0014】
[作業支援システム100の概要]
図1は、作業支援システム100のシステム構成の一例を概略的に示す。本実施形態においては、作業者32が、作業室110の内部で、作業対象102に対して特定の作業を実施するときに、支援者34が、遠隔地から作業者32の作業を支援する場合を例として、作業支援システム100の詳細が説明される。上記の特定の作業の詳細は限定されるものではないが、上記の作業としては、書類の作成作業、物品の製造作業、物品の保守作業、物品の修理作業などが例示される。
【0015】
具体的には、本実施形態によれば、支援者34が、作業室110から離れた場所に配された支援端末140を操作して、作業室110に配されたプロジェクタ126から、作業対象102の表面又は近傍の適切な位置に向かって、作業対象102に対する作業を支援するための支援画像20を投影させる。これにより、作業者32は、(i)支援画像20が照射された位置、(ii)支援画像20の色、形状及び模様の少なくとも1つ、(iii)支援画像20により提示された情報などを参照して、作業を実施することができる。
【0016】
例えば、店舗を訪問した顧客(作業者32の一例である。)が、当該店舗から離れた他の店舗で働く店員(支援者34の一例である。)の支援を受けながら、契約書、申込書などの書類(作業対象102の一例である。)を作成するときに、顧客が押印箇所を認識することができない場合がある。このような場合において、上記の他の店舗で働く店員が、当該他の店舗に配された端末を利用して作業支援システム100にアクセスし、当該端末の画面中で押印箇所の位置を指定すると、顧客の書類の当該押印箇所に、当該押印箇所の位置を協調するための画像が投影される。例えば、顧客の書類の押印箇所に、赤いドーナツ状の図形が投影される。その後、店員が、顧客に対して「赤い丸の位置に印鑑を押してください」と伝えることで、顧客は、押印箇所を容易に認識することができる。
【0017】
また、本実施形態によれば、作業支援システム100は、支援者34による支援画像20の投影位置の指定を支援するために、仮想空間上に、作業対象102の周辺の三次元モデルを構築する。これにより、支援者34は、作業対象102の三次元モデルを利用して、作業対象102の表面又は近傍の任意の点又は領域に支援画像20を投影することを指示することができる。例えば、支援者34は、仮想空間上で作業対象102の三次元モデルを回転させることができる。そのため、支援者34は、作業対象102を真上から見た状態で、作業対象102上の任意の位置を容易に指定することができる。
【0018】
また、作業支援システム100が、画像認識処理により作業対象102を検出したり、作業対象102の種類を推定する場合に、作業支援システム100は、特定の方向から作業対象102を撮像して得られた教師画像と、特定の方向から作業対象102の三次元モデルを観察して得られた画像とを比較して、上記の画像認識処理を実行することができる。そのため、作業対象102の二次元画像と、作業対象102の教師画像とを比較して上記の画像認識処理を実行する場合と比較して、当該画像認識処理の負荷が軽減したり、当該画像認識処理の精度が向上したりする。
【0019】
さらに、本実施形態によれば、作業支援システム100は、(i)作業室110の内部の少なくとも一部に配された1以上の物体に光を照射し、(ii)1以上の物体の表面の複数の点のそれぞれにおいて散乱又は反射して戻ってきた光(反射光と称される場合がある。)に基づいて、作業室110の内部の少なくとも一部の三次元点群データを出力する測定装置を利用して、仮想空間上に、作業対象102の周辺の三次元モデルを構築する。作業支援システム100は、上記の複数の点のそれぞれからの反射光の受光強度に基づいて、各点の深度を算出する。このとき、作業支援システム100は、各点における反射光の受光強度のバラツキ具合を示す指標(バラツキ指標と称される場合がある。)を算出する。
【0020】
本発明者は、各点における反射光の強度のバラツキ具合が、物体の材質に大きく依存することを見出した。そのメカニズムは下記に限定されるものではないが、物体の材質によって、光の反射率又は吸収率、拡散反射及び/又は正反射に関する特性などが異なることから、上記の反射光の強度のバラツキ具合が物体の材質に大きく依存するものと推定される。
【0021】
本実施形態によれば、上記の知見に基づいて、作業支援システム100は、作業室110の内部の少なくとも一部の三次元点群データから作業対象102を検出するときに、上記のバラツキ指標を利用する。これにより、例えば、RGB画像又は距離画像を利用して作業対象102を検出することが困難な場合であっても、作業支援システム100は、作業室110の内部の少なくとも一部の三次元点群データから作業対象102を比較的容易に検出することができる。
【0022】
例えば、作業室110の室内が暗い場合、作業対象102の周辺に強い光が差し込んでいる場合、作業対象102の周辺が他の物体の影により覆われている場合、又は、作業対象102の模様と、作業対象102の周辺の模様とが類似する場合、作業台112の上に配された作業対象102のRGB画像から、作業対象102の境界を検出することが難しい。一方、例えば、作業対象102及び作業台112の材質が異なる場合、作業対象102の表面上の点と、作業台112の表面上の点とで、上記のバラツキ指標の値が異なる。そこで、RGB画像に代えて、又は、RGB画像とともに、上記のバラツキ指標を利用することで、上記のような場合であっても、作業対象102の境界を比較的容易に検出することができる。
【0023】
同様に、例えば、作業対象102の厚さが非常に小さい場合、作業台112の上に配された作業対象102の距離画像から、作業対象102の境界を検出することが難しい。一方、距離画像に代えて、又は、距離画像とともに、上記のバラツキ指標を利用することで、上記のような場合であっても、作業対象102の境界を比較的容易に検出することができる。
【0024】
[作業支援システム100のシステム構成の概要]
本実施形態において、作業支援システム100は、作業室110と、支援端末140と、支援サーバ160とを備える。本実施形態において、作業室110の内部には、作業台112が配され、作業台112の周囲には、作業領域114が設定される。また、本実施形態において、作業室110の内部には、ディスプレイ122と、ライダー124と、プロジェクタ126とが配される。
【0025】
本実施形態において、作業対象102は、作業者32が実施する作業の対象となる有体物である。作業対象102の表面には、正反射率と比較して拡散反射率の大きな物質が配されることが好ましい。作業対象102の表面には、紙、金属又は金属酸化物の薄膜、合成高分子又は天然高分子の薄膜、植物の葉、菌類などが配されてよい。菌類としては、カビ、キノコなどが例示される。作業対象102は、紙、金属又は金属酸化物の薄膜、合成高分子又は天然高分子の薄膜、樹脂の薄膜、植物、植物の葉、食品、及び、菌類の少なくとも1つを含んでよい。作業対象102は、紙、金属又は金属酸化物の薄膜、合成高分子又は天然高分子の薄膜、樹脂の薄膜、及び、これらの組み合わせ又は集合体であってよい。作業対象102は、植物の葉又は食品であってよい。
【0026】
作業対象102の厚さは、3mm未満であってもよく、1mm未満であってもよく、0.5mm未満であってもよく、0.3mm未満であってもよく、0.1mm未満であってもよい。作業対象102は、厚さが3mm未満の物体の集合体であってもよく、厚さが1mm未満の物体の集合体であってもよく、厚さが0.5mm未満の物体の集合体であってもよく、厚さが0.3mm未満の物体の集合体であってもよく、厚さが0.1mm未満の物体の集合体であってもよい。
【0027】
作業対象102が、紙、金属又は金属酸化物の薄膜、合成高分子又は天然高分子の薄膜、及び、これらの組み合わせ又は集合体である場合、作業対象102の厚さが非常に小さい。そのため、例えば、距離画像により示される深度情報に基づいて、作業対象102を検出又は認識することは、比較的困難である。しかしながら、後述されるとおり、作業支援システム100の一実施形態によれば、作業対象102の厚さが非常に小さい場合であっても、作業対象102の表面における光の反射特性又は拡散特性と、作業対象102の周囲の物体の表面における光の反射特性又は拡散特性との違いを利用して、作業対象102を検出又は認識することができる。
【0028】
また、作業対象102が、植物の葉である場合、病気により、葉の表面が変色したり、葉の表面に菌が繁殖したりすることがある。ところが、例えば、葉の色は撮像条件(例えば、撮像時の明るさである。)によって大きく変動するので、葉のRGB画像に基づいて、葉の健康状態を推定したり、健康な葉及び病気の葉を区別することは、比較的困難である。しかしながら、作業支援システム100の一実施形態によれば、健康な葉の表面における光の反射特性又は拡散特性と、病気の葉の表面における光の反射特性又は拡散特性との違いを利用して、葉の健康状態を推定したり、健康な葉及び病気の葉を区別することができる。
【0029】
さらに、作業対象102が食品である場合、腐敗又は発酵により、食品の性質が変化することがある。ところが、腐敗又は発酵による色の変化は必ずしも大きくはなく、食品のRGB画像に基づいて、当該食品の腐敗又は発酵の進行具合を検出することは、比較的困難である。しかしながら、作業支援システム100の一実施形態によれば、腐敗又は発酵していない食品の表面における光の反射特性又は拡散特性と、腐敗又は発酵が進行した食品の表面における光の反射特性又は拡散特性との違いを利用して、食品の腐敗又は発酵の進行具合を検出することができる。
【0030】
本実施形態において、支援端末140は、支援端末142と、支援端末142の入力装置の一部として機能するコントローラ144とを含む。また、本実施形態において、支援端末140は、支援端末146と、支援端末146の入力装置の一部として機能するポインティングデバイス148とを含む。
【0031】
本実施形態において、支援サーバ160は、作業室制御部162と、支援端末制御部164とを備える。作業室110に配された各種の機器、支援端末140、及び、支援サーバ160は、通信ネットワーク10を介して、互いに情報を送受することができる。
【0032】
[作業支援システム100に関連する各部の概要]
本実施形態において、通信ネットワーク10は、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。通信ネットワーク10は、無線パケット通信網、インターネット、P2Pネットワーク、専用回線、VPN、電力線通信回線などを含んでもよい。
【0033】
通信ネットワーク10は、(i)携帯電話回線網などの移動体通信網を含んでもよく、(ii)無線MAN(例えば、WiMAX(登録商標)である。)、無線LAN(例えば、WiFi(登録商標)である。)、Bluetooth(登録商標)、Zigbee(登録商標)、NFC(Near Field Communication)などの無線通信網を含んでもよい。無線LAN、Bluetooth(登録商標)、Zigbee(登録商標)、及び、NFCは、近距離無線通信の一例であってもよい。
【0034】
本実施形態において、支援画像20は、図形を含んでもよく、文字列を含んでもよい。本実施形態において、支援画像20は、作業者32に対するメッセージを含んでもよい。
【0035】
本実施形態において、作業室110及び作業台112は、作業者32が作業を実施するために利用される。例えば、作業対象102は、作業台112の上に配される。作業台112の材質は、作業対象102の材質とは異なることが好ましい。本実施形態において、作業領域114は、少なくとも作業対象102の一部を含む。作業領域114は、作業対象102の全体と、作業台112の少なくとも一部とを含む空間であってよい。
【0036】
本実施形態において、ディスプレイ122は、作業者32に対して情報を提示する。ディスプレイ122は、画像及び/又は音声により、作業者32に情報を提示してよい。例えば、ディスプレイ122は、支援者34の映像及び/又は音声を出力する。これにより、作業者32は、テレビ会議又はWeb会議のように、支援者34と会話しながら作業を実施することができる。
【0037】
本実施形態において、ライダー124は、作業室110の内部の三次元点群データを取得する。ライダー124は、作業領域114の内部の三次元点群データを取得してよい。例えば、ライダー124は、作業領域114の内部に配された1以上の物体に光を照射し、当該光の反射光を受光する。ライダー124は、上記の反射光に基づいて、作業領域114の内部に配された1以上の物体の三次元点群データを出力する。ライダー124の詳細は後述される。
【0038】
本実施形態において、プロジェクタ126は、作業対象102の表面又近傍に支援画像20を投影する。プロジェクタ126は、支援サーバ160からの指示に従って、作業対象102の表面又近傍に支援画像20を投影してよい。プロジェクタ126は、支援サーバ160からの指示に従って、支援画像20の投影のON/OFFを切り替えてよい。
【0039】
本実施形態において、支援端末140は、支援者34により利用される。支援端末140は、支援者34が作業支援システム100にアクセスする場合におけるユーザインタフェースとして機能してよい。例えば、支援端末140は、支援者34が支援画像20の投影位置を指示するために利用される。支援端末140としては、パーソナルコンピュータ、携帯端末などが例示される。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどが例示される。
【0040】
本実施形態において、支援端末142は、VR(仮想現実)ゴーグルのような、ユーザに対してXR体験を提供する機器を含む。XRは、VR(仮想現実)、AR(拡張現実)、MR(複合現実)、SR(代替現実)などの総称であってよい。支援者34は、コントローラ144を利用して、支援端末142のディスプレイに表示される仮想空間の画像上で、支援画像20の投影位置を指定することができる。
【0041】
本実施形態において、支援端末146は、ユーザに対してXR体験を提供する機器を含まない。支援端末146がユーザに対してXR体験を提供する機器を含まない場合であっても、支援端末146は、そのディスプレイ上に仮想空間の画像を表示することができる。また、支援者34は、ポインティングデバイス148を利用して、支援端末146のディスプレイに表示される仮想空間の画像上で、支援画像20の投影位置を指定することができる。
【0042】
本実施形態において、支援サーバ160は、支援者34からの指示に基づいて、プロジェクタ126を制御し、支援者34により指定された位置に支援画像20を投影させる。また、支援サーバ160は、ライダー124が出力した作業領域114の三次元点群データに基づいて、作業領域114の内部に配された1以上の物体のそれぞれを認識する。例えば、支援サーバ160は、ライダー124が出力した作業領域114の三次元点群データに基づいて、作業対象102を検出する。
【0043】
一実施形態において、支援サーバ160は、例えば、作業領域114に配置された1以上の物体の三次元点群データを取得する。支援サーバ160は、上記の三次元点群データに基づいて、作業領域114に配置された1以上の物体の三次元モデルを含む仮想空間を構築する。また、支援サーバ160は、支援端末140を介して、支援者34からの各種の指示を受け付ける。例えば、支援サーバ160は、支援者34が利用する支援端末140から、上記の三次元モデルのの表面に配された点又は領域(指示位置と称される場合がある。)を特定するための指示(第1指示と称される場合がある。)を受け付ける。支援サーバ160は、プロジェクタ126を制御して、作業領域114の内部において、上記の指示位置に対応する点又は領域(投影位置と称される場合がある。)に、支援画像20を投影させる。
【0044】
他の実施形態において、支援サーバ160は、例えば、ライダー124から、作業領域114に配置された1以上の物体の三次元点群データを取得する。上記の作業領域114の三次元点群データは、作業領域114の内部に配された1以上の物体の表面上の複数の点のそれぞれの三次元位置を示す三次元位置情報を含む。また、上記の作業領域114の三次元点群データは、作業領域114の内部に配された1以上の物体の表面上の複数の点のそれぞれからの反射光の強度のバラツキ具合を示すバラツキ情報を含む。支援サーバ160は、上記の作業領域114の三次元点群データに基づいて、作業対象102を検出する。例えば、支援サーバ160は、三次元位置情報及びバラツキ情報に基づいて、作業対象102の境界の少なくとも一部を検出する。
【0045】
本実施形態において、作業室制御部162は、作業室110に配された各機器の動作を制御する。また、作業室制御部162は、作業室110に配された各機器から各種の情報を取得する。作業室制御部162の詳細は後述される。
【0046】
本実施形態において、支援端末制御部164は、支援端末140を制御する。支援端末制御部164は、支援端末140からの要求を処理する。例えば、支援端末制御部164は、支援端末140からの要求を受け付け、支援端末140からの要求に応じて、当該要求により示される情報を取得、生成又は抽出する。支援端末制御部164は、上記の情報を支援端末140に送信する。
【0047】
また、支援端末制御部164は、支援端末140から、作業室110に配された各機器から情報を取得するための要求、又は、作業室110に配された各機器の動作を制御するための要求を受け付ける。支援端末制御部164は、これらの要求を作業室制御部162に出力する。支援端末制御部164は、作業室制御部162から上記の要求の結果を示す情報を取得し、当該情報を支援端末140に送信してもよい。支援端末制御部164の詳細は後述される。
【0048】
[作業支援システム100の各部の具体的な構成]
作業支援システム100の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエア及びソフトウエアにより実現されてもよい。作業支援システム100の各部は、その少なくとも一部が、単一のサーバによって実現されてもよく、複数のサーバによって実現されてもよい。作業支援システム100の各部は、その少なくとも一部が、仮想マシン上又はクラウドシステム上で実現されてもよい。作業支援システム100の各部は、その少なくとも一部が、パーソナルコンピュータ又は携帯端末によって実現されてもよい。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどを例示することができる。作業支援システム100の各部は、ブロックチェーンなどの分散型台帳技術又は分散型ネットワークを利用して、情報を格納してもよい。
【0049】
作業支援システム100を構成する構成要素の少なくとも一部がソフトウエアにより実現される場合、当該ソフトウエアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。上記の一般的な構成の情報処理装置は、(i)CPU、GPUなどのプロセッサ、ROM、RAM、通信インタフェースなどを有するデータ処理装置と、(ii)キーボード、ポインティングデバイス、タッチパネル、カメラ、音声入力装置、ジェスチャ入力装置、各種センサ、GPS受信機などの入力装置と、(iii)表示装置、音声出力装置、振動装置などの出力装置と、(iv)メモリ、HDD、SSDなどの記憶装置(外部記憶装置を含む。)とを備えてよい。
【0050】
上記の一般的な構成の情報処理装置において、上記のデータ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。上記のソフトウエア又はプログラムは、プロセッサによって実行されることにより、上記の情報処理装置に、当該ソフトウエア又はプログラムによって規定された動作を実行させる。上記のソフトウエア又はプログラムは、非一時的なコンピュータ可読記録媒体に格納されていてもよい。上記のソフトウエア又はプログラムは、コンピュータを、作業支援システム100又はその一部として機能させるためのプログラムであってよい。上記のソフトウエア又はプログラムは、コンピュータに、作業支援システム100又はその一部における情報処理方法を実行させるためのプログラムであってよい。
【0051】
上記の情報処理方法は、支援サーバ160における情報処理方法であってもよい。上記の情報処理方法は、作業室制御部162における情報処理方法であってもよい。上記の情報処理方法は、支援端末制御部164における情報処理方法であってもよい。上記の情報処理方法は、ライダー124における情報処理方法であってもよい。上記の情報処理方法は、プロジェクタ126における情報処理方法であってもよい。
【0052】
一実施形態において、上記の情報処理方法は、例えば、三次元空間に配置された第1物体の三次元点群データを取得する点群データ取得段階を有する。上記の情報処理方法は、例えば、点群データ取得段階において取得された三次元点群データに基づいて、第1物体の三次元モデルを含む仮想空間を構築するモデリング段階を有する。上記の情報処理方法は、例えば、第1ユーザからの指示であって、仮想空間に配された第1物体の三次元モデルの表面に配された点又は領域である指示位置を特定するための第1指示を受け付ける指示受付段階を有する。上記の情報処理方法は、例えば、画像を投影する投影装置を制御して、第1物体の表面における指示位置に対応する点又は領域である投影位置に、第1画像を投影させる投影制御段階を有する。
【0053】
他の実施形態において、上記の情報処理方法は、例えば、1以上の物体が配置された三次元空間の三次元点群データを取得する点群データ取得段階を有する。上記の情報処理方法は、例えば、点群データ取得段階において取得された三次元空間の三次元点群データに基づいて、1以上の物体に含まれる第1物体の境界の少なくとも一部を検出する物体検出段階を有する。上記の情報処理方法において、点群データ取得段階は、例えば、1以上の物体に光を照射して得られた光の反射光に基づいて三次元空間の三次元点群データを出力する測定装置から、三次元空間の三次元点群データを取得する段階を含む。上記の情報処理方法において、三次元空間の三次元点群データは、例えば、1以上の物体の表面上の複数の点のそれぞれの三次元位置を示す三次元位置情報を含む。上記の情報処理方法において、三次元空間の三次元点群データは、例えば、複数の点のそれぞれからの反射光の強度のバラツキ具合を示すバラツキ情報を含む。上記の情報処理方法において、物体検出段階は、例えば、三次元位置情報及びバラツキ情報に基づいて、第1物体の境界の少なくとも一部を検出する段階を含む。
【0054】
支援画像20は、第1画像の一例であってよい。支援者34は、第1ユーザの一例であってよい。作業対象102は、第1物体、又は、1以上の物体の一例であってよい。作業対象102は、1以上の物体に含まれる第1物体の一例であってよい。作業室110は、三次元空間の一例であってよい。作業台112は、第1物体、又は、1以上の物体の一例であってよい。作業領域114は、三次元空間の一例であってよい。作業領域114の内部に配された1以上の物体は、第1物体の一例であってよい。ライダー124は、測定装置の一例であってよい。プロジェクタ126は、投影装置の一例であってよい。コントローラ144は、第1ユーザが使用するコントローラの一例であってよい。ポインティングデバイス148は、第1ユーザが使用するコントローラの一例であってよい。支援サーバ160は、情報処理装置又は検出装置の一例であってよい。作業室制御部162は、情報処理装置又は検出装置の一例であってよい。
【0055】
[作業支援システム100を利用して作業を支援する方法の概要]
図2図3及び図4を用いて、作業支援システム100を利用して作業を支援する方法の概要が説明される。本実施形態においては、作業対象102が、契約書、申込書などの書類である場合を例として、作業支援システム100を利用して作業を支援する方法の一例が説明される。上述されたとおり、作業対象102が書類、フィルムのように厚さの小さな物体である場合、距離画像に基づいて作業対象102を検出することが難しい。
【0056】
図2は、作業対象102の一例を概略的に示す。図3は、支援画像20の一例を概略的に示す。図4は、支援画像20を操作するための操作画面400の一例を概略的に示す。
【0057】
図2に示されるとおり、作業対象102の表面には、タイトル210と、符号化コード212とが印刷されている。タイトル210は、作業対象102の種類を識別するための識別情報の一例であってよい。符号化コード212は、作業対象102の種類を識別するための識別情報が符号化されて生成される。符号化コード212としては、バーコード、QRコード(登録商標)などが例示される。
【0058】
作業対象102の表面には、記入欄214と、署名欄216と、押印欄218とが印刷されている。記入欄214は、作業者32が文字列を記入するために用いられる。署名欄216は、作業者32が署名するために用いられる。押印欄218は、作業者32が押印するために用いられる。記入欄214への記入、署名欄216への署名、及び、押印欄218への押印は、作業の一例であってよい。
【0059】
次に、図3及び図4を用いて、作業対象102の表面に支援画像20を投影させる手順の概要が説明される。図3に示されるとおり、本実施形態においては、支援者34が、作業対象102における署名欄216の位置を作業者32に伝えることを目的として、作業対象102の署名欄216の左上の位置に、矢印型の形状を有するマーカ322が投影される。また、支援者34が、作業台112における作業対象102の載置位置を作業者32に伝えることを目的として、作業対象102の符号化コード212の位置に、符号化コード212よりも少し大きな枠型の形状を有するポインタ324が表示される。
【0060】
本実施形態において、マーカ322は、作業対象102における署名欄216の位置を示す。そのため、作業対象102が移動した場合、マーカ322の投影位置も、作業対象102の移動に追従して移動することが好ましい。また、実空間において作業対象102が移動した場合、当該実空間における変化が仮想空間にも反映される。このとき、仮想空間におけるマーカ322の位置も、仮想空間における作業対象102の移動に追従して移動してよい。
【0061】
一方、本実施形態において、ポインタ324は、作業台112における作業対象102の載置位置を示す。そのため、作業対象102が移動しても、ポインタ324の投影位置は変わらないことが好ましい。実空間におけるポインタ324の投影位置は、例えば、支援者34が仮想空間におけるポインタ324の位置を変更するための操作を実行することで変更される。
【0062】
そこで、本実施形態において、支援サーバ160は、作業者32が作業対象102を移動させると、マーカ322が作業対象102の移動に追従するように、プロジェクタ126を制御する。一方、支援サーバ160は、作業者32が作業対象102を移動させた場合であっても、現在の投影条件(例えば、ポインタ324の投影方向、並びに、ポインタ324の形状及び大きさの少なくとも1つである。)を変更することなく、ポインタ324の投影を継続するように、プロジェクタ126を制御する。支援サーバ160は、プロジェクタ126に、ポインタ324の投影条件に関する変更を指示しなくてもよい。
【0063】
図4は、支援者34が、支援サーバ160に対する指示を入力するための操作画面400の一例を示す。図4を用いて、支援サーバ160が支援者34を支援する態様の一例が説明される。
【0064】
例えば、支援者34が、署名欄216の位置を作業者32に伝えたいと考えた場合、支援者34は、支援端末140を利用して支援サーバ160にアクセスする。支援者34が支援サーバ160にアクセスすると、支援端末140の表示装置に、図4に示される操作画面400が表示される。支援者34が、支援端末140を利用して操作画面400に各種の指示を入力すると、支援端末140は、支援者34の指示の内容を示す情報を、例えば、支援端末制御部164に送信する。支援端末制御部164は、支援者34の指示(要求と称される場合がある。)に応じて、各種の処理を実行し、実行結果を示す情報を、作業室制御部162又は支援端末140に出力する。
【0065】
本実施形態によれば、支援者34が、コントローラ144又はポインティングデバイス148を利用して、操作画面400上で、仮想空間に配された作業対象102の三次元モデルの表面に配された点又は領域(指定位置と称される場合)を指定する。これにより、実空間に配された作業対象102の表面に配された点又は領域(投影位置と称される場合がある)に、例えば、マーカ322が投影される。
【0066】
具体的には、支援者34は、コントローラ144又はポインティングデバイス148を利用して、操作画面400上に表示されるカーソル402を操作することで、マーカ322に対応するオブジェクト404の指定位置を決定する。また、支援者34は、同様にして、オブジェクト404に関する各種の設定を決定することができる。本実施形態において、カーソル402は、仮想空間表示領域440に表示される仮想空間中の特定の点を指し示す。本実施形態において、オブジェクト404は、仮想空間において、実空間に投影される支援画像20に対応する。オブジェクト404の形状、色彩、模様及び属性は、支援画像20の形状、色彩、模様及び属性に対応する。
【0067】
例えば、支援者34は、操作画面400を利用して、(i)作業対象102上における支援画像20の位置、(ii)作業対象102上における支援画像20の大きさ、(iii)支援画像20の形状、色彩、及び、模様の少なくとも1つ、並びに、(iv)支援画像20の属性の少なくとも1つに関する指示を入力することができる。支援画像20の属性としては、(i)作業対象102が移動した場合に、支援画像20が、作業対象102の移動に追従して移動するか否か、(ii)支援者34が操作画面400上で支援画像20を操作している期間中も、支援画像20が、作業対象102の表面に投影されるか否かなどが例示される。
【0068】
図4に示されるとおり、本実施形態において、操作画面400は、メニューバー420と、仮想空間表示領域440と、オブジェクト設定領域460とを有する。本実施形態においては、支援者34が操作画面400上で支援画像20を操作している期間中は、支援画像20が、作業対象102の表面に投影されない場合を例として、操作画面400の一例が説明される。
【0069】
本実施形態において、メニューバー420は、1以上の操作メニューを表示する。操作としては、ファイルに関する操作、3Dモデルに関する操作、操作画面400中で3Dモデルを閲覧する際の視点に関する操作、実空間の投影される画像(例えば、マーカ322、ポインタ324などである。)に関する操作、各種の設定に関する操作などが例示される。3Dモデルに関する操作としては、実空間の最新の点群データに基づいて3Dモデルの再構築又は更新するための操作などが例示される。
【0070】
本実施形態において、仮想空間表示領域440には、作業領域114の三次元モデルが表示される。例えば、仮想空間表示領域440には、作業台112の三次元モデル442と、作業対象102の三次元モデル444とが表示される。そして、例えば、支援者34は、コントローラ144又はポインティングデバイス148を利用して、操作画面400上に表示されるカーソル402の位置を操作することで、マーカ322に対応するオブジェクト404の指定位置を決定する。
【0071】
本実施形態によれば、仮想空間表示領域440において、カーソル402による位置の指定を支援するための機能が提供される。例えば、支援端末制御部164は、一実施形態において、作業対象102の近傍において、支援者34によるカーソル402の移動を支援する。他の実施形態において、オブジェクト404の近傍において、支援者34によるオブジェクト404の操作を支援する。カーソル402による位置の指定を支援するための機能の詳細は後述される。
【0072】
オブジェクト設定領域460は、仮想空間中に配置されるオブジェクト404に関する各種の設定を入力するために用いられる。本実施形態において、オブジェクト設定領域460には、オブジェクト404の属性を選択するためのプルダウンリスト462と、オブジェクト404の形状、色彩及び模様を選択するためのプルダウンリスト464と、支援画像20を作業対象102に投影したり、支援画像20に関する変更を反映したりするための指示を入力するためのボタン466とが配される。
【0073】
本実施形態によれば、支援者34は、作業対象102の三次元モデルを利用して、指定位置を特定することができる。そのため、二次元画像上で指定位置を特定する場合と比較して、指定位置と投影位置とを対応付けるための処理が簡略化される。例えば、支援者34は、支援端末140の画面上で作業対象102の三次元モデルを回転させたり、支援端末140の画面上で当該三次元モデルの一部を拡大させたりすることができる。また、支援サーバ160は、作業者32が身体の一部を使って指し示す対象を検出してもよい。作業者32の身体の一部としては、顔、目、腕、手、指などが例示される。支援サーバ160は、例えば、作業対象102の三次元モデルが表示されている画面の一部に、当該対象の画像又は拡大画像を表示させる。支援サーバ160は、上記の対象の画像又は拡大画像をポップアップウインドウに表示させてもよい。
【0074】
作業対象102上における支援画像20の位置に関する指示は、第1指示の一例であってよい。支援画像20の属性に関する指示は、第2指示の一例であってよい。カーソル402は、マークの一例であってよい。
【0075】
図5は、ライダー124の内部構成の一例を概略的に示す。本実施形態において、ライダー124は、測距部520と、撮像部530と、点群データ出力部540とを備える。本実施形態において、測距部520は、照射部522と、受光部524とを有する。
【0076】
本実施形態において、測距部520は、作業領域114に配された1以上の物体の表面上の複数の点のそれぞれについて、測距部520の基準点からの距離及び角度を導出するための情報を出力する。測距部520は、例えば、作業領域114に配された1以上の物体の表面上の複数の点のそれぞれからの反射光の強度を示す情報(強度情報と称される場合がある。)を出力する。測距部520は、作業領域114に配された1以上の物体の表面上の複数の点のそれぞれについて、上記のバラツキ指標を導出するための情報を出力してもよい。
【0077】
本実施形態において、照射部522は、作業領域114に配された1以上の物体に光を照射する。上記の光としては、紫外線、可視光、近赤外線などが例示される。上記の光は、レーザーであってよい。上記の光は、パルス光であってよい。照射部522は、例えば、アレイ状に配列された複数の発光素子と、複数の発光素子が出射した光を走査位置の方向に向ける光学系とを備える。複数の発光素子のそれぞれは、照射部522の基準面に対して予め定められた角度で光を出射するように構成される。
【0078】
照射部522は、例えば、パルス光が出射された時刻と、当該時刻における走査位置とを示す情報を出力する。上記の走査位置を示す情報は、各光の進行方向を示すベクトルと、照射部522の基準面に配された基準点を通過する当該基準面の法線ベクトルとのなす角度であってもよい。なお、2つのベクトルのなす角は、2つのベクトルの少なくとも一方を平行移動して一方のベクトルの始点を他方のベクトルの始点に重ねた場合に、2つのベクトルで作られる角のうち180°以下となる角の角度を示す。
【0079】
本実施形態において、受光部524は、照射部522の近傍に配される。照射部522が上記の1以上の物体に照射した光は、上記の1以上の物体の表面で散乱又は反射して、受光部524に戻ってくる。受光部524は、上記の1以上の物体の表面で散乱又は反射して戻ってきた光(物体からの反射光と称される場合がある。)を受光する。
【0080】
受光部524は、上記の反射光の受光強度の変動を出力する。受光部524は、例えば、時刻と、当該時刻における上記の反射光の受光強度とを示す情報を出力する。
【0081】
本実施形態において、撮像部530は、作業領域114を撮像する。撮像部530は、作業領域114に配された1以上の物体を撮像してもよい。撮像部530は、作業領域114に配された1以上の物体の表面上の複数の点のそれぞれについて、各点の色を示す色情報を取得してよい。
【0082】
本実施形態において、点群データ出力部540は、測距部520が出力した情報と、撮像部530が出力した情報とに基づいて、色点群データ560を生成する。図5に示されるとおり、色点群データ560は、作業領域114に配された1以上の物体の表面上の複数の点のそれぞれについて、各点の識別情報と、各点の三次元位置情報と、各点の色情報と、各点のバラツキ情報とを対応付けて格納する。色点群データ560は、作業領域114に配された1以上の物体の表面上の複数の点のそれぞれからの反射光の強度を示す強度情報をさらに対応付けて格納してもよい。
【0083】
具体的には、例えば、点群データ出力部540は、測距部520が出力した情報に基づいて、作業領域114に配された1以上の物体の表面上の複数の点のそれぞれについて、測距部520の基準点からの距離を示す深度を算出する。点群データ出力部540は、測距部520が光を照射した時刻と、受光部524が当該光の反射光を受光した時刻とに基づいて、上記の複数の点のそれぞれについて、測距部520の基準点からの距離を示す深度を算出してよい。点群データ出力部540は、上記の深度に基づいて、上記の複数の点のそれぞれの三次元位置を導出してよい。
【0084】
また、点群データ出力部540は、予め定められた長さを有する単位期間における深度の変動に基づいて、上記の複数の点のそれぞれからの反射光の強度のバラツキ具合を示すバラツキ指標の値を算出する。上記の指標としては、分散、偏差、標準偏差などが例示される。
【0085】
点群データ出力部540は、上記の各点の識別情報と、各点の三次元位置を示す三次元位置情報と、各点のバラツキ指標の値を示すバラツキ情報と、各点の色情報とを対応付けて、色点群データ560を生成する。点群データ出力部540は、色点群データ560を支援サーバ160に出力してよい。これにより、ライダー124は、受光部524が受光した反射光に基づいて、作業領域114に配された1以上の物体の三次元点群データを出力することができる。
【0086】
[別実施形態の一例]
本実施形態においては、ライダー124の内部で、受光部524が出力した強度情報に基づいてバラツキ情報が生成される場合を例として、作業支援システム100の一例が説明された。しかしながら、作業支援システム100は、本実施形態に限定されない。他の実施形態において、支援サーバ160が、受光部524が出力した強度情報を取得し、当該強度情報に基づいて、バラツキ情報を生成してよい。
【0087】
点群データ出力部540は、深度算出部又は指標算出部の一例であってよい。色点群データ560は、三次元点群データの一例であってよい。作業領域114に配された1以上の物体の表面上の複数の点のそれぞれと、測距部520の基準点との距離は、作業領域114に配された1以上の物体の表面上の複数の点のそれぞれと、照射部522又は受光部524との距離の一例であってよい。
【0088】
図6は、作業室制御部162の内部構成の一例を概略的に示す。本実施形態において、作業室制御部162は、点群データ取得部622と、物体検出部632と、モデリング部634と、種類推定部636と、指示受付部642と、投影制御部644と、較正部650と、格納部660とを備える。
【0089】
本実施形態において、点群データ取得部622は、ライダー124が出力した三次元点群データを取得する。例えば、点群データ取得部622は、作業領域114の内部に配された1以上の物体に関する色点群データ560を取得する。
【0090】
物体検出部632は、点群データ取得部622が取得した三次元点群データに基づいて、作業領域114の内部に配された1以上の物体の少なくとも1つ(例えば、作業対象102である。)を検出する。上述されたとおり、三次元点群データは、作業領域114の内部に配された1以上の物体の表面上の複数の点のそれぞれに関する(i)三次元位置情報又は深度情報と、(ii)色情報、バラツキ情報及び強度情報の少なくとも1つとを含む。一実施形態において、物体検出部632は、三次元位置情報又は深度情報に基づいて、作業領域114の内部に配された1以上の物体の少なくとも1つを検出してよい。他の実施形態において、物体検出部632は、色情報に基づいて、作業領域114の内部に配された1以上の物体の少なくとも1つを検出してよい。さらに他の実施形態に基づいて、物体検出部632は、バラツキ情報に基づいて、作業領域114の内部に配された1以上の物体の少なくとも1つを検出してよい。
【0091】
さらに他の実施形態において、物体検出部632は、(i)三次元位置情報又は深度情報と、(ii)色情報、バラツキ情報及び強度情報の少なくとも1つとに基づいて、作業領域114の内部に配された1以上の物体の少なくとも1つを検出してよい。例えば、物体検出部632は、まず、三次元位置情報又は深度情報に基づいて物体の検出処理を実行する。少なくとも一部の物体の検出精度が予め定められた値よりも小さい場合、物体検出部632は、色情報、バラツキ情報及び強度情報の少なくとも1つに基づいて、作業領域114の内部に配された1以上の物体の少なくとも1つを検出してよい。
【0092】
さらに他の実施形態において、物体検出部632は、(i)色情報と、(ii)三次元位置情報又は深度情報、バラツキ情報及び強度情報の少なくとも1つとに基づいて、作業領域114の内部に配された1以上の物体の少なくとも1つを検出してよい。例えば、物体検出部632は、まず、色情報に基づいて物体の検出処理を実行する。少なくとも一部の物体の検出精度が予め定められた値よりも小さい場合、物体検出部632は、三次元位置情報又は深度情報、バラツキ情報及び強度情報の少なくとも1つに基づいて、作業領域114の内部に配された1以上の物体の少なくとも1つを検出してよい。
【0093】
さらに他の実施形態において、物体検出部632は、(i)バラツキ情報と、(ii)三次元位置情報又は深度情報、色情報及び強度情報の少なくとも1つとに基づいて、作業領域114の内部に配された1以上の物体の少なくとも1つを検出してよい。例えば、物体検出部632は、まず、バラツキ情報に基づいて物体の検出処理を実行する。少なくとも一部の物体の検出精度が予め定められた値よりも小さい場合、物体検出部632は、三次元位置情報又は深度情報、色情報及び強度情報の少なくとも1つに基づいて、作業領域114の内部に配された1以上の物体の少なくとも1つを検出してよい。
【0094】
本実施形態において、作業領域114の内部に配された1以上の物体のうち、少なくとも作業対象102及び作業台112の表面が平坦であることが既知である場合、物体検出部632は、下記の手順に従って、作業対象102を検出してもよい。まず、物体検出部632は、作業台112の上に作業対象102が配置される前に点群データ取得部622が取得した三次元点群データを用いて、作業台112の周辺の点群を、任意の平面式(近似平面式と称される場合がある。)で近似する。
【0095】
次に、作業台112の上に作業対象102が配置された後、物体検出部632は、点群データ取得部622が取得した三次元点群データを読み込む。物体検出部632は、作業台112が平面であること、及び、作業対象102が平面であることを仮定して、点群データ取得部622が取得した三次元点群データの中で、作業台112付近の三次元点群データを、上述された近似平面式に投影変換する。投影変換とは、作業対象102が反り繰り返った紙幣などのときでも、アイロンを掛けたように、物理的に曲面や凹凸、折れ曲がりのある紙幣の分子間距離を保ったまま、平たく伸ばした状態に点群データを座標変換することであり、これにより、物体検出部632及び/又は種類推定部636による分類又は推定の精度が向上する。
【0096】
本実施形態において、物体検出部632は、点群データ取得部622が取得した三次元点群データに基づいて、例えば、作業対象102を検出する。物体検出部632は、上記の色点群データ560に基づいて、作業対象102の境界の少なくとも一部を検出することで、作業対象102を検出してよい。
【0097】
物体検出部632は、色点群データ560に含まれる三次元位置情報及びバラツキ情報に基づいて、作業対象102の境界の少なくとも一部を検出してよい。物体検出部632は、色点群データ560に含まれる三次元位置情報、バラツキ情報及び色情報に基づいて、作業対象102の境界の少なくとも一部を検出してもよい。
【0098】
例えば、物体検出部632は、色点群データ560に含まれるバラツキ情報により示される複数の点のそれぞれにおけるバラツキ指標の値に基づいて、上記の複数の点の中から、作業対象102の表面上の点を抽出する。上述されたとおり、バラツキ指標の値は、物体の材質により異なる。そのため、物体検出部632は、各点のバラツキ指標の値を利用することで、作業対象102と、作業領域114に配された他の物体(例えば、作業台112である。)との材質の違いに基づいて、作業対象102と、作業領域114に配された他の物体とを区別することができる。これにより、物体検出部632は、作業領域114に配された1以上の物体の中から、作業対象102を検出することができる。
【0099】
より具体的には、物体検出部632は、まず、上記の複数の点の中から、バラツキ指標の値が予め定められた第1範囲の範囲内である少なくとも1つの点を抽出する。作業対象102のバラツキ指標の値の取り得る範囲が既知である場合、物体検出部632は、作業対象102のバラツキ指標の値の取り得る範囲として既知の範囲を、第1範囲として利用してよい。拡散反射特性が作業対象102と類似する物質について、上記のバラツキ指標の値の取り得る範囲が既知である場合、物体検出部632は、当該既知の範囲を、第1範囲として利用してもよい。
【0100】
特に、検出対象となる作業対象102の拡散反射率が、作業対象102の正反射率と比較して十分に大きい場合、バラツキ指標は、拡散反射率に比例することが想定される。上記の第1範囲は、物体検出部632の検出対象となる作業対象102の拡散反射率を考慮して決定されてもよい。
【0101】
次に、物体検出部632は、抽出された少なくとも1つの点のそれぞれについて、各点のバラツキ指標の値と、各点に隣接する点のバラツキ指標の値とを比較する。両者の差の絶対値が予め定められた値よりも小さい場合、物体検出部632は、両者が同一の物体の表面上の点であると判定する。一方。両者の差の絶対値が予め定められた値よりも大きい場合、物体検出部632は、両者が異なる物体の表面上の点であると判定する。これにより、物体検出部632は、作業領域114の内部に配された1以上の物体に含まれる少なくとも2つの物体を区別することができる。
【0102】
なお、物質の種類と、バラツキ指標の値の取り得る数値範囲とを対応づけて格納するデータベースが利用可能である場合、物体検出部632は、上記の隣接する2つの点におけるバラツキ指標の値の比較処理を簡略化してもよい。例えば、物体検出部632は、まず、作業対象102の材料をキーとして、上記のデータベースを参照して、作業対象102のバラツキ指標の値の取り得る数値範囲を抽出する。次に、物体検出部632は、作業領域114に配された1以上の物体の表面上の複数の点のうち、バラツキ指標の値が、上記の抽出された数値範囲の範囲内に含まれる1以上の点を抽出する。次に、物体検出部632は、抽出された1以上の点の中から、作業対象102の表面上の点を抽出する。物体検出部632は、(i)抽出された1以上の点のそれぞれについて、上記と同様の比較処理を実行してもよく、(ii)抽出された1以上の点の少なくとも一部により形成される閉じた図形を、作業対象102として検出してもよい。
【0103】
物体検出部632は、作業領域114の内部に配された1以上の物体のそれぞれについて輪郭を検出し、上記の1以上の物体を検出してよい。物体検出部632は、検出された1以上の物体のそれぞれに識別情報を付与してよい。物体検出部632は、各物体の識別情報と、各物体の外観の特徴情報とを対応付けて格納してよい。各物体の外観の特徴情報は、例えば、撮像部530が各物体を撮像した画像に基づいて決定される。これにより、例えば、作業領域114の内部に同じ種類の振込伝票が2枚存在する場合、物体検出部632は、上記の2枚の振込伝票を異なる2つのインスタンスとして認識することができる。例えば、作業者32が一方の振込伝票に文字を記入すると、文字が記入された振込伝票の特徴情報と、文字が記入されていない振込伝票の特徴情報とが相違する。そのため、物体検出処理が実行された最新の時刻である第1時刻と、第1時刻よりも前に物体検出処理が実行された最後のの時刻である第2時刻との間に、2枚の振込伝票の位置が移動していたとしても、物体検出部632は、上記の特徴情報の相違に基づいて、2枚の振込伝票を識別することができる。
【0104】
本実施形態において、モデリング部634は、点群データ取得部622が取得した三次元点群データに基づいて、作業領域114の内部に配された1以上の物体の三次元モデルを含む仮想空間を構築する。モデリング部634は、物体検出部632が検出した物体のそれぞれの三次元モデルを生成してよい。例えば、モデリング部634は、作業対象102の三次元モデルを含む仮想空間を構築する。モデリング部634は、作業対象102の三次元モデルと、作業台112の三次元モデルとを含む仮想空間を構築してもよい。
【0105】
本実施形態において、種類推定部636は、物体検出部632が検出した物体の種類を分類又は推定する。種類推定部636は、公知の機械学習手法を用いて、物体検出部632が検出した物体の種類を分類又は推定してよい。種類推定部636はディープラーニングなどのニューラルネットワーク系の分類器を用いて、物体の種類を分類又は推定してよい。種類推定部636は、撮像部530が撮像した上記の物体の画像に基づいて、当該物体の種類を分類又は推定してよい。種類推定部636は、物体検出部632が検出した上記の物体の境界と、撮像部530が撮像した上記の物体の画像とに基づいて、当該物体の種類を分類又は推定してよい。
【0106】
本実施形態によれば、物体検出部632が、バラツキ指標の値に基づいて、作業領域114に配された1以上の物体のそれぞれの境界を検出する。種類推定部636が、各物体の境界の内部の画像を利用して各物体の種類を分類又は推定することで、当該分類又は推定の精度が向上する。
【0107】
本実施形態において、指示受付部642は、支援者34からの各種の指示を受け付ける。指示受付部642は、支援者34が支援端末140を利用して操作画面400上に入力した指示を受け付けてよい。
【0108】
指示受付部642は、上述された指示位置を特定するための指示(第1指示と称される場合がある。)を受け付けてよい。例えば、支援者34は、操作画面400上でオブジェクト404に対してドラック・アンド・ドロップ操作又はそれに類する操作を実行することにより、オブジェクト404を、三次元モデルの任意の位置に配置することができる。
【0109】
支援者34によるオブジェクト404の配置操作が完了すると、指示受付部642は、支援端末140から、オブジェクト404が、操作画面400の仮想空間表示領域440に表示されている三次元モデルの特定の位置に配置されたことを示す情報を取得する。例えば、支援者34が、オブジェクト404のドラック・アンド・ドロップ操作中にポインティングデバイス148のボタンを離す操作を実行することにより、オブジェクト404の配置操作が完了する。これにより、指示受付部642は、上記の三次元モデル上でオブジェクト404が配置された位置を、上記の指示位置として特定するための指示を受け付ける。
【0110】
指示受付部642は、支援画像20の属性を特定するための指示(第2指示と称される場合がある。)を受け付けてよい。例えば、支援者34は、操作画面400上でオブジェクト404の属性を選択するためのプルダウンリスト462を操作して、オブジェクト404の属性を選択する。支援者34によるオブジェクト404の属性の選択操作が完了すると、指示受付部642は、支援端末140から、オブジェクト404の属性が決定されたことを示す情報を取得する。これにより、指示受付部642は、操作画面400上で選択された属性を、支援画像20の属性として特定するための指示を受け付ける。
【0111】
指示受付部642は、例えば、(i)作業対象102の三次元モデルのおける基準点に対する、上記指示位置の相対位置、又は、(ii)仮想空間の基準点に対する、上記指示位置の相対位置を固定するための指示(第3指示と称される場合がある。)を受け付ける。第3指示は、(i)オブジェクト404の配置が完了したことを示す明確な指示であってもよく、(ii)オブジェクト404を配置するための操作が終了したことであってもよい。オブジェクト404のドラック・アンド・ドロップ操作は、オブジェクト404を配置するための操作の一例であってよい。この場合、支援者34が、オブジェクト404のドラック・アンド・ドロップ操作中にポインティングデバイス148のボタンを離す操作は、上記の第3指示の一例であってよい。オブジェクト404の配置が完了したことを示す明確な指示としては、ボタン466が押下されたことなどが例示される。
【0112】
上述されたとおり、オブジェクト404の属性によっては、支援者34が操作画面400上で支援画像20を操作している期間中は、支援画像20が、作業対象102の表面に投影されない。第3指示は、このような場合において、オブジェクト404の位置又は設定に関する変更を支援画像20に反映させるための指示であってよい。なお、支援者34が操作画面400上で支援画像20を操作している期間中も、支援画像20が、作業対象102の表面に投影されるか否かは、操作画面400の設定によって決定されてもよい。
【0113】
指示受付部642は、支援画像20の投影の開始又は停止に関する指示(第4指示と称される場合がある。)を受け付けてよい。第4指示としては、ボタン466が押下されたことなどが例示される。
【0114】
本実施形態において、投影制御部644は、プロジェクタ126の動作を制御する。投影制御部644は、プロジェクタ126を制御して、例えば、作業対象102の表面において、作業対象102の三次元モデル上の指示位置に対応する点又は領域(投影位置と称される場合がある。)に、支援画像20を投影させる。
【0115】
投影制御部644は、支援画像20の投影方向、並びに、支援画像20の形状及び大きさの少なくとも1つを制御してよい。上述されたとおり、投影制御部644は、例えば、実空間において作業対象102が移動した場合、作業対象102に投影される支援画像20が、作業対象102の移動に追従するように、プロジェクタ126を制御する。
【0116】
より具体的には、指示受付部642が受け付けた第2指示により示される支援画像20の属性が第1属性である場合、投影制御部644は、実空間において作業対象102が移動した場合に、作業対象102に投影される支援画像20が、作業対象102の移動に追従するように、プロジェクタ126における支援画像20の投影方向、並びに、支援画像20の形状及び大きさの少なくとも1つを調整する。投影制御部644は、指示受付部642が第3指示を受け付け、且つ、第2指示により示される支援画像20の属性が第1属性である場合に、上記のとおりプロジェクタ126を制御してもよい。
【0117】
一方、指示受付部642が受け付けた第2指示により示される支援画像20の属性が第1属性である場合、投影制御部644は、実空間において作業対象102が移動しても、プロジェクタ126における支援画像20の投影方向、並びに、支援画像20の形状及び大きさを調整しない。投影制御部644は、指示受付部642が第3指示を受け付け、且つ、第2指示により示される支援画像20の属性が第2属性である場合に、上記のとおりプロジェクタ126を制御してもよい。
【0118】
投影制御部644は、支援画像20の投影の開始又は停止を制御してもよい。例えば、指示受付部642が上記の第4指示を受け付けた場合、投影制御部644は、第4指示に基づいて、支援画像20を作業対象102に投影するか否かを決定してよい。投影制御部644は、上記の決定に基づいて、プロジェクタ126の動作を制御してよい。
【0119】
投影制御部644は、支援画像20の明るさを制御してもよい。一実施形態において、投影制御部644は、実空間における投影位置の周囲の明るさに基づいて、支援画像20の明るさを調整する。例えば、投影制御部644は、撮像部530が出力した画像データに基づいて、投影位置の周囲の明るさが予め定められた程度よりも明るいか否かを判定する。投影位置の周囲の明るさが予め定められた程度よりも明るいと判定された場合、投影制御部644は、支援画像20の投影光の強度を小さくする。投影位置の周囲の明るさが予め定められた程度よりも暗いと判定された場合、投影制御部644は、支援画像20の投影光の強度を大きくする。
【0120】
他の実施形態において、投影制御部644は、種類推定部636の動作に連動して、支援画像20の少なくとも一部の明るさを制御する。投影制御部644は、種類推定部636の動作に連動して、支援画像20の一部の明るさを制御してもよく、支援画像20の全体の明るさを制御してもよい。例えば、投影制御部644は、支援画像20のうち、種類推定部636による推定処理の対象物上に投影される部分の明るさを制御する。これにより、種類推定部636による推定処理の対象物に支援画像20が投影されることによる、推定精度の低下が抑制される。
【0121】
例えば、種類推定部636が撮像部530が出力した画像データに基づいて作業対象102の種類を推定する処理を実行する場合、投影制御部644は、支援画像20の投影を中止する、又は、支援画像20の投影光の強度を小さくする。なお、上記の支援画像20の投影が中止される期間、又は、支援画像20の投影光の強度が小さくされる期間の長さは、撮像部530が作業対象102を撮像することができればよく、例えば、1秒未満であってよい。
【0122】
これにより、種類推定部636は、支援画像20が投影されていない状態で撮像された作業対象102の画像データに基づいて、作業対象102の種類を推定することができる。例えば、作業対象102がトランプのカードである場合において、マーカ322又はポインタ324の形状がハート型であるとき、種類推定部636が、マーカ322又はポインタ324が作業対象102に投影された状態で撮像された画像データに基づいて作業対象102の種類を推定すると、推定精度が低下する可能性がある。本実施形態によれば、種類推定部636が上記の推定処理を実行する場合には、例えば支援画像20の投影が中止されるので、種類推定部636による推定精度が向上する。
【0123】
なお、投影制御部644は、種類推定部636による推定処理の対象物と、支援画像20が投影される物体とが同一である場合に、支援画像20の投影を中止したり、支援画像20の少なくとも一部の投影光の強度を小さくしたりしてよい。種類推定部636による推定処理の対象物と、支援画像20が投影される物体とが異なる場合、投影制御部644は、支援画像20の投影を中止したり、支援画像20の投影光の強度を小さくしたりしなくてもよい。
【0124】
例えば、作業領域114の内部に、物体A及び物体Bを含む5つの物体が配置されており、支援画像20の一部が、物体Aには投影されており、物体Bには投影されていない場合において、種類推定部636が物体Aの種類を推定するために、撮像部530が作業領域114の内部を撮像している期間中、投影制御部644は、支援画像20の投影を中止したり、支援画像20の少なくとも一部の投影光の強度を小さくしたりする。一方、上記の場合において、種類推定部636が物体Bの種類を推定するために、撮像部530が作業領域114の内部を撮像している期間中、投影制御部644は、支援画像20の投影を中止したり、支援画像20の少なくとも一部の投影光の強度を小さくしたりしなくてもよい。
【0125】
本実施形態において、較正部650は、ライダー124と、プロジェクタ126との位置関係を決定するためのキャリブレーションを実行する。例えば、較正部650は、まず、プロジェクタ126を制御して、互いの相対位置が既知である少なくとも3つの線分を含む較正画像を、実空間の任意の平面上に投影させる。次に、較正部650は、ライダー124の撮像部530を制御して、上記の較正画像を撮像する。較正部650は、撮像部530が撮像した較正画像に基づいて、ライダー124と、プロジェクタ126との位置関係を決定する。
【0126】
本実施形態において、格納部660は、各種のデータを格納する。格納部660は、支援サーバ160における情報処理に用いられる各種のデータを格納してよい。格納部660は、支援サーバ160における情報処理により生成された各種のデータを格納してよい。格納部660は、作業領域114の内部に配された1以上の物体の三次元モデルのデータを格納してよい。格納部660は、操作画面400の表示に利用される各種のデータを格納してよい。格納部660は、操作画面400を利用して決定された各種の設定に関するデータを格納してよい。
【0127】
[別実施形態の一例]
本実施形態においては、支援者34が、コントローラ144又はポインティングデバイス148を利用して、支援端末140に指示を入力し、指示受付部642が、支援端末140から、当該指示の内容を示す情報(要求と称される場合がある。)を受信する場合を例として、作業室制御部162の一例が説明された。しかしながら、作業室制御部162は、本実施形態に限定されない。他の実施形態において、支援者34の指示は、コントローラ144又はポインティングデバイス148とは異なる機器により取得されてよい。例えば、支援者34が装着するメガネのフレームに配された単一又は複数のカメラが、支援者34の腕、手又は指の形状又は動きを検出することで、支援者34の指示が支援端末140に入力される。
【0128】
図7は、較正画像700の一例を概略的に示す。図7に示されたとおり、較正画像700は、T字型の図形を含む。図7に示されるとおり、上記のT字型の図形は、線分AB、線分BC及び線分BDという、互いの相対位置が既知である3つの線分を含む。これにより、較正部650は、(i)ABと、プロジェクタ126の基準点Oとのなす角AOBの大きさ、(ii)BCと、プロジェクタ126の基準点Oとのなす角BOCの大きさ、(iii)BDと、プロジェクタ126の基準点Oとのなす角BODの大きさに基づいて、プロジェクタ126の位置を特定することができる。
【0129】
図8は、支援端末制御部164の内部構成の一例を概略的に示す。本実施形態においては、支援者34が、支援端末140の画面上の特定の点を指し示すためのマーク(ポインタ、カーソルなどと称される場合がある。)を操作する場合に、支援端末制御部164が、支援者34によるマークの操作を支援する場合を例として、支援端末制御部164の詳細の一例が説明される。
【0130】
本実施形態において、支援端末制御部164は、設定格納部810と、指示マーク制御部820と、画像データ取得部832と、物体推定部834と、設定抽出部836とを備える。本実施形態において、設定格納部810は、第1設定情報格納部812と、第2設定情報格納部814とを備える。
【0131】
本実施形態において、設定格納部810は、指示マーク制御部820における情報処理により用いられる各種の設定に関する情報を格納する。三次元仮想空間中でカーソル402を移動させる操作は、二次元画面上でマウスカーソルを移動させる操作と比較して困難な場合が多い。上記の設定が適用されることで、三次元仮想空間中におけるカーソル402の操作が容易になり得る。
【0132】
本実施形態において、第1設定情報格納部812は、例えば、作業対象102の三次元モデルの境界近傍におけるカーソル402の動き方を規定する第1設定情報を格納する。第1設定情報格納部812は、作業対象102の種類ごとに上記の設定情報を格納してもよく、初作業対象102の種類によらず適用される初期設定として、上記の設定情報を格納してもよい。第1設定情報としては、(i)上記の境界との距離と、コントローラ144又はポインティングデバイス148のDPIとの対応関係に関する設定、(ii)上記の境界近傍において、カーソル402がバウンドするような動作を行うか否かに関する設定、(iii)カーソル402をバウンドさせる場合のバウンド態様に関する設定、(iv)上記の境界近傍において、カーソル402が境界に到達してから予め定められた期間、カーソル402を境界に沿って移動させるか否かに関する設定、(v)カーソル402を境界に沿って移動させる場合の移動態様に関する設定などが例示される。
【0133】
本実施形態において、第2設定情報格納部814は、1以上の物体のそれぞれの種類を示す情報と、各物体の表面上の1以上の位置のそれぞれに対応する各物体の三次元モデルの1以上の位置のそれぞれにおけるカーソル402の動き方を規定する第2設定情報を格納する。図2及び図3に関連して説明された作業対象102を例とすると、各物体の表面上の1以上の位置としては、記入欄214、署名欄216、押印欄218などが例示される。記入欄214、署名欄216及び押印欄218の利用頻度は比較的大きい。そのため、上記の指定位置としてこれらの位置を容易に指定することができれば、支援者34の負担が大きく軽減される。第2設定情報としては、(i)上記の位置と、コントローラ144又はポインティングデバイス148のDPIとの対応関係に関する設定、(ii)カーソル402が上記の位置に到達したら、予め定められた期間、カーソル402を上記の位置又は予め定められた他の位置に固定するか否かに関する設定などが例示される。
【0134】
指示マーク制御部820は、仮想空間表示領域440において、カーソル402による位置の指定を支援するための機能を提供する。例えば、指示マーク制御部820は、コントローラ144又はポインティングデバイス148が出力した制御信号に基づいて、カーソル402の動きを制御する。
【0135】
一実施形態において、指示マーク制御部820は、作業対象102の近傍における、支援者34によるカーソル402の移動を支援する。指示マーク制御部820は、カーソル402が三次元モデルの境界近傍の位置に存在する場合と、カーソル402が三次元モデルの境界近傍以外の位置に存在する場合とで、制御方法を切り替えてよい。例えば、カーソル402が三次元モデルの境界近傍の位置に存在する場合、指示マーク制御部820は、第1設定情報に基づいて、カーソル402の動きを制御する。例えば、オブジェクト404の位置が、作業対象102の3Dモデルの境界に近づくと、指示マーク制御部820は、コントローラ144又はポインティングデバイス148のDPIに関する設定を変更して、カーソル402の感度を下げる。
【0136】
また、指示マーク制御部820は、カーソル402が三次元モデルの予め定められた位置に存在する場合と、カーソル402が三次元モデルの予め定められた位置以外の位置に存在する場合とで、制御方法を切り替えてよい。例えば、カーソル402が三次元モデルの予め定められた位置に存在する場合、指示マーク制御部820は、設定抽出部836が抽出した第2設定情報に基づいて、カーソル402の動きを制御する。例えば、オブジェクト404の位置が、作業対象102の3Dモデル上の署名欄216に対応する位置に近づくと、指示マーク制御部820は、カーソル402を署名欄216の左上の位置に移動させる。
【0137】
他の実施形態において、指示マーク制御部820は、オブジェクト404の近傍において、支援者34によるオブジェクト404の操作を支援する。指示マーク制御部820は、カーソル402が既に配置されたオブジェクト404の近傍に近づくと、作業室制御部162のモードを、オブジェクト404の属性に応じた操作を実行するためのモードに変更してよい。また、カーソル402が上記のオブジェクト404から離れると、作業室制御部162のモードを、初期設定により定められたモードに変更してよい。
【0138】
例えば、既存のオブジェクト404がマーカ322である場合、カーソル402が当該オブジェクトに近づくと、指示マーク制御部820は、操作画面400のオブジェクト設定領域460に、マーカに関する各種の設定を入力するための画面を表示させる。一方、既存のオブジェクト404がポインタ324である場合、カーソル402が当該オブジェクトに近づくと、指示マーク制御部820は、操作画面400のオブジェクト設定領域460に、ポインタに関する各種の設定を入力するための画面を表示させる。
【0139】
本実施形態において、画像データ取得部832は、作業領域114に配された1以上の物体の画像データを取得する。画像データ取得部832は、作業領域114に配された1以上の物体の色点群データ560の色情報を、当該物体の画像データとして取得してよい。本実施形態において、物体推定部834は、画像データ取得部832が取得した画像データに基づいて、作業領域114に配された1以上の物体のそれぞれの種類を推定する。
【0140】
本実施形態において、設定抽出部836は、設定格納部810の第2設定情報格納部814を参照して、物体推定部834が推定した各物体の種類に応じた第2設定情報を抽出する。上述されたとおり、第2設定情報は、1以上の物体のそれぞれの種類を示す情報と、各物体の表面上の1以上の位置のそれぞれに対応する各物体の三次元モデルの1以上の位置のそれぞれにおけるカーソル402の動き方を規定する第2設定情報とが対応付けられて格納されている。
【0141】
図9は、点群データ出力部540の内部構成の一例を概略的に示す。本実施形態において、点群データ出力部540は、深度算出部922と、三次元位置情報算出部924と、バラツキ指標算出部926と、バラツキ補正部930とを備える。本実施形態において、バラツキ補正部930は、第1補正部932と、第2補正部934と、第3補正部936と、第4補正部938とを有する。
【0142】
本実施形態において、深度算出部922は、照射部522が出射した光を散乱又は反射した複数の点のそれぞれからの反射光の強度を示す情報に基づいて、上記の複数の点のそれぞれについて、測距部520の基準点と、各点との距離を示す深度を算出する。例えば、深度算出部922は、測距部520が光を照射した時刻と、受光部524が当該光の反射光を受光した時刻とに基づいて、上記の複数の点のそれぞれの深度を算出する。例えば、測距部520が作業領域114の内部を走査した場合、深度算出部922は、作業領域114の内部に配された1以上の物体の表面上の複数の点のそれぞれについて、上記の深度を算出する。
【0143】
本実施形態において、三次元位置情報算出部924は、深度算出部922が算出した複数の点のそれぞれの深度に基づいて、複数の点のそれぞれの三次元位置を算出する。上述されたとおり、照射部522は、パルス光が出射された時刻と、当該時刻における走査位置とを示す情報を出力する。三次元位置情報算出部924は、上記の走査位置を示す情報と、深度算出部922が算出した深度とに基づいて、上記の複数の点のそれぞれについて、測距部520の基準点からの距離及び角度を算出する。
【0144】
一実施形態において、三次元位置情報算出部924は、測距部520の基準点からの距離及び角度に基づいて、上記の複数の点のそれぞれについて、測距部520の基準点を基準とする三次元位置を出力する。他の実施形態において、測距部520の基準点の絶対座標が既知である場合、三次元位置情報算出部924は、測距部520の基準点からの距離及び角度と、測距部520の基準点の絶対座標とに基づいて、上記の複数の点のそれぞれの絶対座標を出力してもよい。
【0145】
本実施形態において、バラツキ指標算出部926は、深度算出部922が算出した複数の点のそれぞれの深度に基づいて、当該複数の点のそれぞれからの反射光の強度のバラツキ具合を示すバラツキ指標の値を算出する。バラツキ指標算出部926は、各点における深度の変動に基づいて、各点におけるバラツキ指標の値を算出してもよい。例えば、バラツキ指標算出部926は、上記の複数の点のそれぞれについて、予め定められた長さを有する単位期間における深度の変動に基づいて、バラツキ指標の値を算出する。上記の指標としては、分散、偏差、標準偏差などが例示される。
【0146】
本実施形態において、バラツキ補正部930は、バラツキ指標算出部926が算出したバラツキ指標の値を補正する。上述されたとおり、測距部520から出射され、作業対象102の表面で散乱又は反射して戻ってくる反射光の強度は、作業対象102の材質の影響を大きく受ける。これは、作業対象102の表面に配される物質の種類、当該表面の構造などにより、拡散反射率、正反射率、特定の波長を有する光に対する吸収率などが異なることに起因するものと推定される。
【0147】
作業対象102の材質以外にも、バラツキ指標の値の誤差の要因となる事項(誤差要因と称される場合がある。)が存在する。バラツキ補正部930は、上記の誤差要因を考慮して、バラツキ指標の値を補正する。一実施形態において、バラツキ補正部930は、バラツキ指標算出部926が算出したバラツキ指標の値Sを補正するための補正係数kを導出する。バラツキ補正部930は、補正係数kを目的変数とし、1以上の誤差要因とを説明変数とする関数を用いて、上記の補正係数kを算出してもよい。また、バラツキ補正部930は、上記の値Sと補正係数kとを乗算することで、補正後のバラツキ指標の値Sdを算出する。他の実施形態において、バラツキ補正部930は、補正後のバラツキ指標の値Sdを目的変数とし、上記の値Sと、1以上の誤差要因とを説明変数とする関数を導出する。バラツキ補正部930は、当該関数に基づいて、補正後のバラツキ指標の値Sdを算出する。
【0148】
本実施形態において、第1補正部932は、測距部520の基準点と、作業対象102の表面の測定対象面との距離に基づいて、バラツキ指標算出部926が算出したバラツキ指標の値を補正する。第1補正部932は、上記の距離が大きいほど、補正前のバラツキ指標の値Sから補正後のバラツキ指標の値Sdを引いた値(補正による減少量と称される場合がある。)が大きくなるように、補正処理を実行してよい。
【0149】
例えば、第1補正部932は、深度算出部922が算出した複数の点のそれぞれの深度に基づいて、バラツキ指標算出部926が算出した当該複数の点のそれぞれのバラツキ指標の値を補正する。上記の複数の点のそれぞれは、測定対象面の一例であってよい。
【0150】
測距部520の基準点と、作業対象102の表面の測定対象面との距離が大きくなるにつれて、測定対象面の面積が大きくなる。そのため、測定対象面からの反射光の強度のバラツキ具合も大きくなり得る。測定対象面からの反射光のバラツキの強度は、反射面の着目点を中心とし、対象との距離を半径とする球の表面からの距離の二乗に比例すると想定され得る。実験的にも、測定対象面からの反射光のバラツキの強度を目的変数とし、上記の距離を説明変数とする関数は、二次方程式により近似可能であることが確認された。そこで、第1補正部932は、例えば、バラツキ指標算出部926が算出したバラツキ指標の値Sを、測距部520の基準点と、作業対象102の表面の測定対象面との距離を二乗した値で除算することで、補正後のバラツキ指標の値Sdを算出する。
【0151】
これにより、測距部520及び作業対象102の距離がバラツキ指標の値に与える影響を小さくすることができる。その結果、例えば、物体検出部632が、バラツキ指標を利用して、作業領域114に配された1以上の物体の中から作業対象102を検出する場合において、作業対象102の材質と、他の物体の材質との違いによるバラツキ指標の相違がより明確になる。
【0152】
本実施形態において、第2補正部934は、受光部524を構成する受光素子の大きさに基づいて、バラツキ指標算出部926が算出した複数の点のそれぞれのバラツキ指標の値を補正する。第2補正部934は、受光素子の大きさが大きいほど、補正による減少量が大きくなるように、補正処理を実行してよい。
【0153】
例えば、受光素子の形状を四角形とみなすことができる場合、第2補正部934は、受光素子の長辺の長さに基づいて、バラツキ指標算出部926が算出した複数の点のそれぞれのバラツキ指標の値を補正する。例えば、受光部524が複数の受光素子により構成されており、少なくとも2つの受光素子の大きさが異なる場合、第2補正部934は、複数の点のそれぞれからの反射光の受光強度を出力した受光素子の大きさに基づいて、バラツキ指標算出部926が算出した複数の点のそれぞれのバラツキ指標の値を補正する。
【0154】
受光素子の大きさが大きくなるにつれて、測定対象面の面積が大きくなる。また、受光素子の大きさが大きくなるにつれて、測距部520及び作業対象102の距離による誤差の影響を受けやすくなる。同様に、受光素子の大きさが大きくなるにつれて、測距部520の基準面と、作業対象102の測定対象面との傾きによる誤差の影響を受けやすくなる。そのため、測定対象面からの反射光の強度のバラツキ具合も大きくなり得る。
【0155】
本実施形態によれば、第2補正部934における補正処理により、受光素子の大きさがバラツキ指標の値に与える影響を小さくすることができる。その結果、例えば、物体検出部632が、バラツキ指標を利用して、作業領域114に配された1以上の物体の中から作業対象102を検出する場合において、作業対象102の材質と、他の物体の材質との違いによるバラツキ指標の相違がより明確になる。
【0156】
本実施形態において、第3補正部936は、測距部520の基準面と、作業対象102の測定対象面との傾きに基づいて、バラツキ指標算出部926が算出したバラツキ指標の値を補正する。第3補正部936は、測距部520の基準面と、作業対象102の測定対象面とが平行でなくなるにつれて、補正前のバラツキ指標の値Sから補正後のバラツキ指標の値Sdを引いた値(補正による減少量と称される場合がある。)が大きくなるように、補正処理を実行してよい。
【0157】
例えば、第3補正部936は、受光部524を構成する受光素子の受光面の法線ベクトルと、測定対象となる1以上の物体の表面上において、照射部522からの光が照射された測定対象面の法線ベクトルとがなす角度に基づいて、バラツキ指標算出部926が算出した複数の点のそれぞれのバラツキ指標の値を補正する。
【0158】
第3補正部936は、(i)受光部524を構成する受光素子の受光面の法線ベクトルと、測定対象となる1以上の物体の表面上において、照射部522からの光が照射された測定対象面の法線ベクトルとがなす角度、及び、(ii)受光部524を構成する受光素子の受光面の法線ベクトルと、上記の測定対象面に照射された光の光軸の進行方向を示すベクトルとがなす角度に基づいて、バラツキ指標算出部926が算出した複数の点のそれぞれのバラツキ指標の値を補正してもよい。
【0159】
第3補正部936は、(i)受光部524を構成する受光素子の受光面の法線ベクトルと、測定対象となる1以上の物体の表面上において、照射部522からの光が照射された測定対象面の法線ベクトルとがなす角度、及び、(ii)受光部524を構成する受光素子の受光面の法線ベクトルと、上記の測定対象面に照射された光の光軸の進行方向を示すベクトルとがなす角度と、(iii)受光部524を構成する受光素子の大きさとに基づいて、バラツキ指標算出部926が算出した複数の点のそれぞれのバラツキ指標の値を補正してもよい。
【0160】
測距部520の基準面と、作業対象102の測定対象面とが平行でなくなるにつれて、測定対象面の一端からの反射光が受光素子に到達する時間と、測定対象面の他端からの反射光が受光素子に到達する時間との差が大きくなる。また、測距部520の基準面と、作業対象102の測定対象面とが平行でなくなるにつれて、反射光に含まれる正反射成分が減少し、反射光の受光強度が小さくなる。そのため、両者の傾き具合は、バラツキ指標の誤差の要因となり得る。
【0161】
本実施形態によれば、第3補正部936における補正処理により、上記の傾き具合がバラツキ指標の値に与える影響を小さくすることができる。その結果、例えば、物体検出部632が、バラツキ指標を利用して、作業領域114に配された1以上の物体の中から作業対象102を検出する場合において、作業対象102の材質と、他の物体の材質との違いによるバラツキ指標の相違がより明確になる。
【0162】
本実施形態において、第4補正部938は、測定対象面における照射部522が出射した光の吸収率に基づいて、バラツキ指標算出部926が算出したバラツキ指標の値を補正する。第4補正部938は、測定対象面の色、又は、反射光の強度に基づいて、バラツキ指標算出部926が算出したバラツキ指標の値を補正してもよい。第4補正部938は、光の吸収率が大きいほど、補正後のバラツキ指標の値Sdから補正前のバラツキ指標の値Sからを引いた値(補正による増加量と称される場合がある。)が大きくなるように、補正処理を実行してよい。
【0163】
例えば、第4補正部938は、(i)撮像部530が取得した複数の点のそれぞれの色、又は、(ii)受光部524が受光した複数の点のそれぞれからの反射光の強度に基づいて、バラツキ指標算出部926が算出した複数の点のそれぞれのバラツキ指標の値を補正する。第4補正部938は、受光部524が受光した複数の点のそれぞれからの反射光の強度と、深度算出部922が算出した複数の点のそれぞれの深度とに基づいて、バラツキ指標算出部926が算出した複数の点のそれぞれのバラツキ指標の値を補正してもよい。
【0164】
第4補正部938は、物体検出部632の検出対象となる1以上の物体の材質又は色が既知である場合に、上記の補正処理を実行してもよい。第4補正部938は、(i)作業領域114の大きさが既知であり、且つ、(ii)受光部524が受光した複数の点のそれぞれからの反射光の強度が、作業領域114の大きさを考慮して決定された閾値よりも小さい場合に、上記の補正処理を実行してもよい。
【0165】
[別実施形態の一例]
本実施形態においては、ライダー124に配された点群データ出力部540が、バラツキ指標を算出する場合を例として、作業支援システム100の一例が説明された。しかしながら、作業支援システム100は、本実施形態に限定されない。他の実施形態において、点群データ出力部540の機能の少なくとも一部が、支援端末140又は支援サーバ160により実現されてよい。例えば、バラツキ指標算出部926及びバラツキ補正部930の少なくとも一方が、支援端末140又は支援サーバ160に配される。
【0166】
[別実施形態の一例]
本実施形態においては、バラツキ補正部930において、第1補正部932、第2補正部934、第3補正部936及び第4補正部938が、それぞれ独立に補正処理を実行する場合を例として、バラツキ補正部930の一例が説明された。しかしながら、バラツキ補正部930は、本実施形態に限定されない。
【0167】
他の実施形態において、バラツキ補正部930において、第1補正部932、第2補正部934、第3補正部936及び第4補正部938の機能が統合して実行されてもよい。例えば、バラツキ補正部930は、第1補正部932において補正対象となる誤差要因、第2補正部934において補正対象となる誤差要因、第3補正部936において補正対象となる誤差要因、及び、第4補正部938のにおいて補正対象となる誤差要因の少なくとも2つの組み合わせに基づいて、バラツキ指標算出部926が算出したバラツキ指標の値を補正する。
【0168】
図10を用いて、バラツキ指標算出部926における情報処理の概要が説明される。図10は、作業対象102の表面上の単一の測定対象面(例えば、上記の複数の点の1つである。)について、深度算出部922が算出した深度の変動1020の一例を示す。図10において、測定期間Tsは、測定対象面に複数のパルス光が照射された期間を示す。評価期間Δtは、バラツキ指標算出部926がバラツキ指標を算出するために用いられるサンプルの抽出期間を示す。
【0169】
バラツキ指標算出部926は、評価期間Δtに受光部524が受光した反射光に基づいて算出された深度Dを統計処理することにより、深度Dのバラツキ指標を算出する。上述されたとおり、バラツキ指標としては、分散、偏差、標準偏差などが例示される。バラツキ指標算出部926は、評価期間Δtにおける深度Dの平均値Daを算出してもよい。
【0170】
図11を用いて、第1補正部932における情報処理の概要が説明される。図11は、測距部520の受光面上の基準面1122に設定された基準点1124からの距離(例えば、深度Dである)と、図9に関連して説明された測定期間Tsにおける深度Dの変動具合との関係を概略的に示す。図11に示されるとおり、深度D1における深度Dの変動1142と、深度D2における深度Dの変動1144と、深度D3における深度Dの変動1146とを比較すると、この順に変動幅が大きくなることがわかる。
【0171】
図12を用いて、第2補正部934及び第3補正部936における情報処理の概要が説明される。本実施形態において、測距部520は、受光素子1222と、光学系1224とを備える。説明を簡単にすることを目的として、本実施形態において、測距部520は単一の受光素子1222を備え、また、受光素子1222は、一辺の長さがcである略正方形の形状を有する。
【0172】
図12においては、基準点1124を通過する基準面1122の法線ベクトル1226と、パルス光1240の光軸の進行方向を示すベクトル1242とが平行でない場合を例として、第2補正部934及び第3補正部936における情報処理の概要が説明される。また、図12においては、測距部520の基準面1122の法線ベクトル1226と、作業対象102の表面1260に配された測定対象面1270の法線ベクトル1272とが平行でない場合を例として、第2補正部934及び第3補正部936における情報処理の概要が説明される。
【0173】
表面1260の走査が進行するにつれて、表面1260上の複数の測定対象面1270の深度又は三次元位置が判明する。そこで、特定の測定対象面1270の法線ベクトル1272は、例えば、当該特定の測定対象面1270の深度と、当該特定の測定対象面1270の近傍に配された複数の測定対象面1270の深度とに基づいて、当該特定の測定対象面1270近傍における表面1260の傾きを算出することで、導出され得る。なお、本実施形態において、基準面1122は光学系1224の表面に設定される。しかしながら、基準面1122は、受光素子の受光面の一例であってもよい。
【0174】
図12に示されるとおり、受光素子1222の一辺の長さcが大きくなるほど、(i)単一の測定対象面1270の一方の端部1274と、基準点1124との距離、及び、(i)当該単一の測定対象面1270の他方の端部1276と、基準点1124との距離の差が大きくなる。また、上記の差は、測定対象面1270の法線ベクトル1272と、パルス光1240の光軸の進行方向を示すベクトル1242とのなす角に応じて変動することがわかる。測定対象面1270の法線ベクトル1272と、パルス光1240の光軸の進行方向を示すベクトル1242とのなす角は、例えば、(i)基準面1122の法線ベクトル1226と、測定対象面1270の法線ベクトル1272とのなす角、及び、(ii)基準面1122の法線ベクトル1226と、パルス光1240の光軸の進行方向を示すベクトル1242とのなす角に基づいて決定され得る。
【0175】
図13は、バラツキ指標の値に基づいて生成された画像1300の一例を示す。画像1300は、測定対象面における深度Dの標準偏差Sを256段階のグレースケールで表現した画像の一例である。画像1300の作成手順は、下記のとおりである。
【0176】
まず、Microsoft社のAzure Kinect DKを用いて、暗闇の中で、円形状の木製の天板を有するテーブル(イケア社製、クヴィストブロー、青色)の上に載置された千円札、五千円札及び一万円札を撮像し、色点群データを取得した。なお、テーブルの天板はアクリル塗装により、青色に塗装されていた。
【0177】
また、Azure Kinect DKから色点群データを取得するとき、Azure Kinect DKから、各測定対象面からの反射光の受光強度の出力を取り出した。Azure Kinect DKから出力された上記の反射光の受光強度の変動に基づいて、複数の測定対象面のそれぞれについて、深度Dの標準偏差Sを算出した。算出された各測定対象面の標準偏差の値を256段階のグレースケールに変換することで、画像1300を作成した。
【0178】
上述されたとおり、特定の点における標準偏差Sは、当該特定の点からの反射光の受光強度のバラツキ具合を示す。また、Azure Kinect DKが出力する各点の距離値が安定している期間のデータを利用して、各点における標準偏差Sを算出した。具体的には、下記の手順に従って、標準偏差Sを算出した。
【0179】
まず、所定の期間にわたって、当該特定の点又は当該特定の点の周囲の点の深度D(つまり、Azure Kinect DKからの距離である。)の変動を観察した。次に、上記の変動幅が予め定められた値よりも小さな期間における深度Dのデータを抽出した。次に、抽出された深度Dのデータを統計処理して、深度Dの標準偏差Sを算出した。なお、上記の変動幅が予め定められた値よりも大きな期間については、値を正常に取得することができなかった場合の固定値を戻す処理を実行した。本実施例においては、上記の固定値として0が採用された。
【0180】
図13に示されるとおり、画像1300によれば、目視によっても、テーブルと、千円札、五千円札及び一万円札のそれぞれとの境界を検出することができる。一方、暗闇で撮影したことから、点群データから作成したRGB画像に基づいて、テーブル、千円札、五千円札及び一万円札の境界を検出することはできなかった。また、千円札、五千円札及び一万円札は非常に薄いことから、点群データから作成した距離画像に基づいて、テーブルと、千円札、五千円札及び一万円札のそれぞれとの境界を検出することはできなかった。
【0181】
図14は、本発明の複数の態様が全体的又は部分的に具現化されてよいコンピュータ3000の一例を示す。作業支援システム100の少なくとも一部は、コンピュータ3000により実現されてよい。例えば、支援サーバ160の少なくとも一部が、コンピュータ3000により実現される。
【0182】
コンピュータ3000にインストールされたプログラムは、コンピュータ3000に、本発明の実施形態に係る装置に関連付けられるオペレーション又は当該装置の1又は複数の「部」として機能させ、又は当該オペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ3000に、本発明の実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ3000に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU3012によって実行されてよい。
【0183】
本実施形態によるコンピュータ3000は、CPU3012、RAM3014、GPU3016、及びディスプレイデバイス3018を含み、それらはホストコントローラ3010によって相互に接続されている。コンピュータ3000はまた、通信インタフェース3022、ハードディスクドライブ3024、DVD-ROMドライブ3026、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ3020を介してホストコントローラ3010に接続されている。コンピュータはまた、ROM3030及びキーボード3042のようなレガシの入出力ユニットを含み、それらは入出力チップ3040を介して入出力コントローラ3020に接続されている。
【0184】
CPU3012は、ROM3030及びRAM3014内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。GPU3016は、RAM3014内に提供されるフレームバッファ等又はそれ自体の中に、CPU3012によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス3018上に表示されるようにする。
【0185】
通信インタフェース3022は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ3024は、コンピュータ3000内のCPU3012によって使用されるプログラム及びデータを格納する。DVD-ROMドライブ3026は、プログラム又はデータをDVD-ROM3001から読み取り、ハードディスクドライブ3024にRAM3014を介してプログラム又はデータを提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0186】
ROM3030はその中に、アクティブ化時にコンピュータ3000によって実行されるブートプログラム等、及び/又はコンピュータ3000のハードウエアに依存するプログラムを格納する。入出力チップ3040はまた、様々な入出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ3020に接続してよい。
【0187】
プログラムが、DVD-ROM3001又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもあるハードディスクドライブ3024、RAM3014、又はROM3030にインストールされ、CPU3012によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ3000に読み取られ、プログラムと、上記様々なタイプのハードウエアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ3000の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0188】
例えば、通信がコンピュータ3000及び外部デバイス間で実行される場合、CPU3012は、RAM3014にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース3022に対し、通信処理を命令してよい。通信インタフェース3022は、CPU3012の制御の下、RAM3014、ハードディスクドライブ3024、DVD-ROM3001、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0189】
また、CPU3012は、ハードディスクドライブ3024、DVD-ROMドライブ3026(DVD-ROM3001)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM3014に読み取られるようにし、RAM3014上のデータに対し様々なタイプの処理を実行してよい。CPU3012は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0190】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU3012は、RAM3014から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM3014に対しライトバックする。また、CPU3012は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU3012は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0191】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ3000上又はコンピュータ3000近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それにより、上記のプログラムを、ネットワークを介してコンピュータ3000に提供する。
【0192】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0193】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【0194】
本願明細書には、例えば、下記の事項が開示されている。
[項目A-1]
三次元空間に配置された第1物体の三次元点群データを取得する点群データ取得部と、
上記点群データ取得部が取得した上記三次元点群データに基づいて、上記第1物体の三次元モデルを含む仮想空間を構築するモデリング部と、
第1ユーザからの指示であって、上記仮想空間に配された上記第1物体の上記三次元モデルの表面に配された点又は領域である指示位置を特定するための第1指示を受け付ける指示受付部と、
画像を投影する投影装置を制御して、上記第1物体の表面における上記指示位置に対応する点又は領域である投影位置に、第1画像を投影させる投影制御部と、
を備える、情報処理装置。
[項目A-2]
上記投影制御部は、上記三次元空間において上記第1物体が移動した場合、上記第1物体に投影される上記第1画像が上記第1物体の移動に追従するように、上記投影装置を制御する、
項目A-1に記載の情報処理装置。
[項目A-3]
上記指示受付部は、上記第1ユーザからの指示であって、上記第1画像の属性を特定するための第2指示を受け付け、
上記投影制御部は、
(i)上記第2指示により示される上記第1画像の属性が第1属性である場合、上記三次元空間において上記第1物体が移動したときに、上記第1物体に投影される上記第1画像が上記第1物体の移動に追従するように、上記第1画像の投影方向、並びに、上記第1画像の形状及び大きさの少なくとも1つを調整し、
(ii)上記第2指示により示される上記第1画像の属性が第2属性である場合、上記三次元空間において上記第1物体が移動しても、上記第1画像の投影方向、並びに、上記第1画像の形状及び大きさを調整しない、
項目A-1又は項目A-2に記載の情報処理装置。
[項目A-4]
上記指示受付部は、上記第1ユーザからの指示であって、(i)上記第1物体の上記三次元モデルの基準点に対する上記指示位置の相対位置、又は、(ii)上記仮想空間の基準点に対する上記指示位置の相対位置を固定するための第3指示を受け付け、
上記投影制御部は、
(i)上記指示受付部が上記第3指示を受け付け、且つ、上記第2指示により示される上記第1画像の属性が第1属性である場合、上記三次元空間において上記第1物体が移動したときに、上記第1物体に投影される上記第1画像が上記第1物体の移動に追従するように、上記第1画像の投影方向、並びに、上記第1画像の形状及び大きさの少なくとも1つを調整し、
(ii)上記指示受付部が上記第3指示を受け付け、且つ、上記第2指示により示される上記第1画像の属性が第2属性である場合、上記三次元空間において上記第1物体が移動しても、上記第1画像の投影方向、並びに、上記第1画像の形状及び大きさを調整しない、
項目A-3に記載の情報処理装置。
[項目A-5]
上記指示受付部は、上記第1ユーザからの指示であって、上記第1画像の投影の開始又は停止に関する第4指示を受け付け、
上記投影制御部は、上記第4指示に基づいて、上記第1画像を上記第1物体に投影するか否かを決定する、
項目A-1から項目A-4までの何れか一項に記載の情報処理装置。
[項目A-6]
上記第1ユーザが上記仮想空間における上記指示位置を指定するために用いられるポインティングデバイス又はコントローラが出力した制御信号に基づいて、上記仮想空間の特定の点を指し示すマークの動きを制御する指示マーク制御部をさらに備える、
項目A-1から項目A-5までの何れか一項に記載の情報処理装置。
[項目A-7]
上記指示マーク制御部は、上記第1物体の上記三次元モデルの境界近傍における上記マークの動き方を規定する第1設定情報に基づいて、上記マークの動きを制御する、
項目A-6に記載の情報処理装置。
[項目A-8]
上記第1物体の画像データを取得する画像データ取得部と、
上記画像データ取得部が取得した上記画像データに基づいて、上記第1物体の種類を推定する物体推定部と、
1以上の物体のそれぞれの種類を示す情報と、各物体の表面上の1以上の位置のそれぞれに対応する各物体の三次元モデルの1以上の位置のそれぞれにおける上記マークの動き方を規定する第2設定情報とを対応付けて格納する設定格納部を参照して、上記物体推定部が推定した上記第1物体の上記種類に応じた上記第2設定情報を抽出する設定抽出部と、
をさらに備え、
上記指示マーク制御部は、上記設定抽出部が抽出した上記第2設定情報に基づいて、上記マークの動きを制御する、
項目A-6又は項目A-7に記載の情報処理装置。
[項目A-9]
上記点群データ取得部は、上記第1物体に光を照射して得られた上記光の反射光に基づいて上記第1物体の上記三次元点群データを出力する測定装置から、上記第1物体の上記三次元点群データを取得し、
上記測定装置は、上記第1物体を撮像する撮像部を有し、
上記情報処理装置は、上記測定装置と、上記投影装置との位置関係を決定する較正部をさらに備え、
上記投影装置は、互いの相対位置が既知である少なくとも3つの線分を含む較正画像を、上記三次元空間に投影し、
上記撮像部は、上記投影装置が上記三次元空間に投影した上記較正画像を撮像し、
上記較正部は、上記撮像部が撮像した上記較正画像に基づいて、上記測定装置と、上記投影装置との位置関係を決定する、
項目A-1から項目A-9までの何れか一項に記載の情報処理装置。
[項目A-10]
コンピュータを、項目A-1から項目A-10までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
[項目A-11]
三次元空間に配置された第1物体の三次元点群データを取得する点群データ取得段階と、
上記点群データ取得段階において取得された上記三次元点群データに基づいて、上記第1物体の三次元モデルを含む仮想空間を構築するモデリング段階と、
第1ユーザからの指示であって、上記仮想空間に配された上記第1物体の上記三次元モデルの表面に配された点又は領域である指示位置を特定するための第1指示を受け付ける指示受付段階と、
画像を投影する投影装置を制御して、上記第1物体の表面における上記指示位置に対応する点又は領域である投影位置に、第1画像を投影させる投影制御段階と、
を有する、情報処理方法。
[項目B-1]
1以上の物体が配置された三次元空間の三次元点群データを取得する点群データ取得部と、
上記点群データ取得部が取得した上記三次元空間の上記三次元点群データに基づいて、上記1以上の物体に含まれる第1物体の境界の少なくとも一部を検出する物体検出部と、
を備え、
上記点群データ取得部は、上記1以上の物体に光を照射して得られた上記光の反射光に基づいて上記三次元空間の上記三次元点群データを出力する測定装置から、上記三次元空間の上記三次元点群データを取得し、
上記三次元空間の上記三次元点群データは、
上記1以上の物体の表面上の複数の点のそれぞれの三次元位置を示す三次元位置情報と、
上記複数の点のそれぞれからの上記反射光の強度のバラツキ具合を示すバラツキ情報と、
を含み、
上記物体検出部は、上記三次元位置情報及び上記バラツキ情報に基づいて、上記第1物体の上記境界の上記少なくとも一部を検出する、
検出装置。
[項目B-2]
上記物体検出部は、
上記複数の点のそれぞれにおける上記バラツキ具合を示す指標の値に基づいて、上記複数の点の中から上記第1物体の表面上の点を抽出する、
項目B-1に記載の検出装置。
[項目B-3]
上記物体検出部は、
上記複数の点の中から、上記バラツキ具合を示す指標の値が予め定められた第1範囲の範囲内である少なくとも1つの点を抽出し、
抽出された上記少なくとも1つの点のそれぞれについて、各点の上記バラツキ具合を示す指標の値と、各点に隣接する点の上記バラツキ具合を示す指標の値とを比較し、
両者の差の絶対値が予め定められた値よりも小さい場合には、両者が同一の物体の表面上の点であると判定し、両者の差の絶対値が予め定められた値よりも大きい場合には、両者が異なる物体の表面上の点であると判定することで、上記1以上の物体に含まれる少なくとも2つの物体を区別する、
項目B-2に記載の検出装置。
[項目B-4]
上記物体検出部は、上記複数の点のうち、上記バラツキ具合を示す指標の値が上記第1物体の材質に基づいて定められる数値範囲の範囲内に含まれる1以上の点の中から、上記第1物体の表面上の点を抽出する、
項目B-2又は項目B-3に記載の検出装置。
[項目B-5]
上記三次元空間の上記三次元点群データは、上記複数の点のそれぞれの色を示す色情報をさらに含み、
上記物体検出部は、上記三次元位置情報、上記バラツキ情報及び上記色情報に基づいて、上記第1物体の上記境界の上記少なくとも一部を検出する、
項目B-1から項目B-4までの何れか一項に記載の検出装置。
[項目B-6]
上記測定装置は、
上記三次元空間に配置された上記1以上の物体に上記光を照射する照射部と、
上記照射部の近傍に配され、上記1以上の物体からの上記光の反射光を受光する受光部と、
を備え、
上記検出装置又は上記測定装置は、
上記照射部が上記光を照射した時刻、及び、上記受光部が上記反射光を受光した時刻に基づいて、上記1以上の物体の表面上の上記複数の点のそれぞれについて、上記照射部又は上記受光部からの距離を示す深度を算出する深度算出部と、
予め定められた長さを有する単位期間における上記深度の変動に基づいて、上記複数の点のそれぞれからの上記反射光の強度のバラツキ具合を示す指標を算出する指標算出部と、
をさらに備える、
項目B-1から項目B-5までの何れか一項に記載の検出装置。
[項目B-7]
上記検出装置又は上記測定装置は、
上記深度算出部が算出した上記複数の点のそれぞれの深度に基づいて、上記複数の点のそれぞれからの上記反射光の強度のバラツキ具合を示す指標を補正する第1補正部をさらに備える、
項目B-6に記載の検出装置。
[項目B-8]
上記検出装置又は上記測定装置は、
上記受光部を構成する受光素子の大きさに基づいて、上記複数の点のそれぞれからの上記反射光の強度のバラツキ具合を示す指標を補正する第2補正部をさらに備える、
項目B-6又は項目B-7に記載の検出装置。
[項目B-9]
上記検出装置又は上記測定装置は、
上記受光部を構成する受光素子の受光面の法線ベクトルと、上記1以上の物体の表面上の上記光が照射された測定対象面の法線ベクトルとがなす角度に基づいて、上記複数の点のそれぞれからの上記反射光の強度のバラツキ具合を示す指標を補正する第3補正部をさらに備える、
項目B-6から項目B-8までの何れか一項に記載の検出装置。
[項目B-10]
上記検出装置又は上記測定装置は、
上記受光部が受光した上記複数の点のそれぞれからの上記反射光の強度に基づいて、上記複数の点のそれぞれからの上記反射光の強度のバラツキ具合を示す指標を補正する第4補正部をさらに備える、
項目B-6から項目B-9までの何れか一項に記載の検出装置。
[項目B-11]
コンピュータを、項目B-1から項目B-10までの何れか一項に記載の検出装置として機能させるためのプログラム。
[項目B-12]
1以上の物体が配置された三次元空間の三次元点群データを取得する点群データ取得段階と、
上記点群データ取得段階において取得された上記三次元空間の上記三次元点群データに基づいて、上記1以上の物体に含まれる第1物体の境界の少なくとも一部を検出する物体検出段階と、
を有し、
上記点群データ取得段階は、上記1以上の物体に光を照射して得られた上記光の反射光に基づいて上記三次元空間の上記三次元点群データを出力する測定装置から、上記三次元空間の上記三次元点群データを取得する段階を含み、
上記三次元空間の上記三次元点群データは、
上記1以上の物体の表面上の複数の点のそれぞれの三次元位置を示す三次元位置情報と、
上記複数の点のそれぞれからの上記反射光の強度のバラツキ具合を示すバラツキ情報と、
を含み、
上記物体検出段階は、上記三次元位置情報及び上記バラツキ情報に基づいて、上記第1物体の上記境界の上記少なくとも一部を検出する段階を含む、
検出方法。
[項目C]
三次元空間に配置された1以上の物体に光を照射する照射部と、
上記照射部の近傍に配され、上記1以上の物体からの上記光の反射光を受光する受光部と、
上記照射部が上記光を照射した時刻、及び、上記受光部が上記反射光を受光した時刻に基づいて、上記1以上の物体の表面上の上記複数の点のそれぞれについて、上記照射部又は上記受光部からの距離を示す深度を算出する深度算出部と、
予め定められた長さを有する単位期間における上記深度の変動に基づいて、上記複数の点のそれぞれからの上記反射光の強度のバラツキ具合を示す指標を算出する指標算出部と、
を備える、測定装置。
【符号の説明】
【0195】
10 通信ネットワーク、20 支援画像、32 作業者、34 支援者、100 作業支援システム、102 作業対象、110 作業室、112 作業台、114 作業領域、122 ディスプレイ、124 ライダー、126 プロジェクタ、140 支援端末、142 支援端末、144 コントローラ、146 支援端末、148 ポインティングデバイス、160 支援サーバ、162 作業室制御部、164 支援端末制御部、210 タイトル、212 符号化コード、214 記入欄、216 署名欄、218 押印欄、322 マーカ、324 ポインタ、400 操作画面、402 カーソル、404 オブジェクト、420 メニューバー、440 仮想空間表示領域、442 三次元モデル、444 三次元モデル、460 オブジェクト設定領域、462 プルダウンリスト、464 プルダウンリスト、466 ボタン、520 測距部、522 照射部、524 受光部、530 撮像部、540 点群データ出力部、560 色点群データ、622 点群データ取得部、632 物体検出部、634 モデリング部、636 種類推定部、642 指示受付部、644 投影制御部、650 較正部、660 格納部、700 較正画像、810 設定格納部、812 第1設定情報格納部、814 第2設定情報格納部、820 指示マーク制御部、832 画像データ取得部、834 物体推定部、836 設定抽出部、922 深度算出部、924 三次元位置情報算出部、926 バラツキ指標算出部、930 バラツキ補正部、932 第1補正部、934 第2補正部、936 第3補正部、938 第4補正部、1020 変動、1122 基準面、1124 基準点、1142 変動、1144 変動、1146 変動、1222 受光素子、1224 光学系、1226 法線ベクトル、1240 パルス光、1242 ベクトル、1260 表面、1270 測定対象面、1272 法線ベクトル、1274 端部、1276 端部、1300 画像、3000 コンピュータ、3001 DVD-ROM、3010 ホストコントローラ、3012 CPU、3014 RAM、3016 GPU、3018 ディスプレイデバイス、3020 入出力コントローラ、3022 通信インタフェース、3024 ハードディスクドライブ、3026 DVD-ROMドライブ、3030 ROM、3040 入出力チップ、3042 キーボード
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14