(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024131599
(43)【公開日】2024-09-30
(54)【発明の名称】3次元画像表示システム、送信用端末、画像生成装置、受信用端末、および3次元画像データの生成方法
(51)【国際特許分類】
G06T 19/00 20110101AFI20240920BHJP
G06T 17/20 20060101ALI20240920BHJP
【FI】
G06T19/00 A
G06T17/20
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023041966
(22)【出願日】2023-03-16
(71)【出願人】
【識別番号】000213297
【氏名又は名称】中部電力株式会社
(71)【出願人】
【識別番号】313001631
【氏名又は名称】株式会社プロノハーツ
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】岡本 雄司
(72)【発明者】
【氏名】山口 直記
(72)【発明者】
【氏名】宮坂 千穂
(72)【発明者】
【氏名】丸山 翼
【テーマコード(参考)】
5B050
5B080
【Fターム(参考)】
5B050BA04
5B050BA09
5B050CA05
5B050DA07
5B050EA07
5B050EA13
5B050EA19
5B050EA27
5B050EA28
5B050FA02
5B080AA18
5B080BA01
5B080CA05
5B080GA22
(57)【要約】
【課題】複数の3次元センサが出力する点群データを用いて3次元画像を表示できるようにした3次元画像表示システムを提供する。
【解決手段】ユーザ端末10(1)のPU12(1)は、N個の3次元センサ20のそれぞれが出力する点群データを、座標変換データ14b(1)を利用して、基準座標系のデータに変換する。そして、PU12(1)は、基準座標系に変換されたN組のデータから、3次元画像データを生成する。PU12(1)は、3次元画像データを、他の拠点に位置するユーザ端末10(2)に送信する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
実行装置と、記憶装置とを備え、
前記記憶装置には、座標変換データが記憶されており、
前記実行装置は、取得処理、座標変換処理、生成処理、および表示処理を実行するように構成され、
前記取得処理は、「N」個の3次元センサのそれぞれが出力する点群データを取得する処理であり、
前記「N」は、2以上であり、
前記3次元センサは、電磁波の物体による反射波を感知することによって前記点群データを生成するセンサであり、
前記点群データは、距離データおよび画素データを含み、
前記距離データは、前記3次元センサおよび前記物体間の距離に関するデータであり、
前記画素データは、前記物体の輝度情報を含んだデータであり、
前記座標変換処理は、少なくとも「N-1」個の前記3次元センサの前記点群データを前記座標変換データを用いて座標変換することによって、前記「N」個の3次元センサの前記点群データの座標を整合させる処理であり、
前記生成処理は、前記「N」個の3次元センサのそれぞれの前記点群データのうちの前記座標変換処理によって整合がとられたデータを入力として、3次元画像を示すデータを生成する処理であり、
前記表示処理は、表示装置を操作することによって、前記3次元画像を示すデータを用いて前記3次元画像を表示する処理である3次元画像表示システム。
【請求項2】
前記生成処理は、抽出処理、および画像データ生成処理を含み、
前記抽出処理は、前記「N」個の3次元センサのそれぞれの前記点群データのうちの前記座標変換処理によって整合がとられたデータを入力として、前記整合がとられたデータのうちの所定領域内のデータのみを抽出する処理であり、
前記画像データ生成処理は、前記抽出処理によって抽出されたデータを用いて前記所定領域内における前記3次元画像を示すデータを生成する処理である請求項1記載の3次元画像表示システム。
【請求項3】
前記実行装置は、第1実行装置および第2実行装置を含み、
前記第1実行装置は、前記取得処理、前記座標変換処理、前記生成処理、および送信処理を実行するように構成され、
前記第2実行装置は、受信処理、および前記表示処理を実行するように構成され、
前記送信処理は、前記生成処理によって生成されたデータを送信する処理であり、
前記受信処理は、前記送信処理によって送信されたデータを受信する処理である請求項1記載の3次元画像表示システム。
【請求項4】
実行装置は、第1実行装置、第2実行装置、および第3実行装置を含み、
前記第1実行装置は、前記取得処理、前記座標変換処理、および第1送信処理を実行するように構成され、
前記第2実行装置は、第2受信処理、および前記表示処理を実行するように構成され、
前記第3実行装置は、前記生成処理、第3受信処理および第3送信処理を実行するように構成され、
前記第1送信処理は、前記点群データおよび前記座標変換データを送信する処理であり、
前記第3受信処理は、前記点群データおよび前記座標変換データを受信する処理であり、
前記第3送信処理は、前記生成処理によって生成されたデータを送信する処理であり、
前記第2受信処理は、前記第3送信処理によって送信されたデータを受信する処理である請求項1記載の3次元画像表示システム。
【請求項5】
実行装置は、第1実行装置、および第2実行装置を含み、
前記第1実行装置は、前記取得処理、前記座標変換処理、および送信処理を実行するように構成され、
前記第2実行装置は、受信処理、前記生成処理および前記表示処理を実行するように構成され、
前記送信処理は、前記座標変換データおよび前記点群データを送信する処理であり、
前記受信処理は、前記座標変換データおよび前記点群データを受信する処理である請求項1記載の3次元画像表示システム。
【請求項6】
請求項3記載の3次元画像表示システムにおける前記第1実行装置を備えた送信用端末。
【請求項7】
請求項4記載の3次元画像表示システムにおける前記第3実行装置を備えた画像生成装置。
【請求項8】
請求項5記載の3次元画像表示システムにおける前記第2実行装置を備えた受信用端末。
【請求項9】
人状物体データ取得工程、座標変換データ生成工程、および実行工程を有し、
前記人状物体データ取得工程は、「N」個の3次元センサのそれぞれが人状物体を感知したときに出力する点群データを取得する工程であり、
前記人状物体は、人の形状を有した物体であり、
前記「N」は、2以上であり、
前記3次元センサは、電磁波の物体による反射波を感知することによって前記点群データを生成するセンサであり、
前記点群データは、距離データおよび画素データを含み、
前記距離データは、前記3次元センサおよび前記物体間の距離に関するデータであり、
前記画素データは、前記物体の輝度情報を含んだデータであり、
前記座標変換データ生成工程は、N個の前記3次元センサのそれぞれが出力した前記点群データが示す前記人状物体の位置同士をあわせるための前記点群データの座標変換データを生成する工程であり、
前記実行工程は、実行装置が、取得処理、座標変換処理、および生成処理を実行する工程であり、
前記取得処理は、「N」個の3次元センサの出力する点群データを取得する処理であり、
前記座標変換処理は、少なくとも「N-1」個の前記3次元センサの前記点群データを前記座標変換データを用いて座標変換することによって、前記「N」個の3次元センサの前記点群データの座標を整合させる処理であり、
前記生成処理は、前記「N」個の3次元センサのそれぞれの前記点群データのうちの前記座標変換処理によって整合がとられたデータを入力として、3次元画像を示すデータを生成する処理である3次元画像データの生成方法。
【請求項10】
前記座標変換データ生成工程は、ボディートラッキング処理、および位置合わせ処理を実行する工程を含み、
前記ボディートラッキング処理は、前記点群データが示す人状物体の複数箇所の位置を示すデータを生成する処理であり、
前記位置合わせ処理は、N個の前記3次元センサのそれぞれが出力した前記点群データが示す前記複数箇所の位置同士をあわせるための前記点群データの座標変換データを生成する処理である請求項9記載の3次元画像データの生成方法。
【請求項11】
前記位置合わせ処理は、第1位置合わせ処理と、第2位置合わせ処理と、を含み、
前記第1位置合わせ処理は、N個の前記3次元センサのそれぞれが出力した前記点群データが示す前記複数箇所の位置同士の差を低減する処理であり、
前記第2位置合わせ処理は、N個の前記3次元センサのそれぞれが出力した前記点群データに前記第1位置合わせ処理が施されたデータに対して、ICPアルゴリズムを用いて位置合わせをする処理である請求項10記載の3次元画像データの生成方法。
【請求項12】
マーカ位置取得工程、座標変換データ生成工程、および実行工程を有し、
前記マーカ位置取得工程は、「N」個の3次元センサのそれぞれが2個以上のマーカを感知したときに出力する点群データを取得する工程であり、
前記「N」は、2以上であり、
前記3次元センサは、電磁波の物体による反射波を感知することによって前記点群データを生成するセンサであり、
前記点群データは、距離データおよび画素データを含み、
前記距離データは、前記3次元センサおよび前記物体間の距離に関するデータであり、
前記画素データは、前記物体の輝度情報を含んだデータであり、
前記座標変換データ生成工程は、少なくとも「N-1」個の前記3次元センサが出力した前記点群データが示す前記マーカの位置を、基準座標上の所定の位置にあわせるための前記点群データの座標変換データを生成する工程であり、
前記実行工程は、実行装置が、取得処理、座標変換処理、および生成処理を実行する工程であり、
前記取得処理は、「N」個の3次元センサの出力する点群データを取得する処理であり、
前記座標変換処理は、少なくとも「N-1」個の前記3次元センサの前記点群データを前記座標変換データを用いて座標変換することによって、前記「N」個の3次元センサの前記点群データの座標を整合させる処理であり、
前記生成処理は、前記「N」個の3次元センサのそれぞれの前記点群データのうちの前記座標変換処理によって整合がとられたデータを入力として、3次元画像を示すデータを生成する処理である3次元画像データの生成方法。
【請求項13】
前記マーカ位置取得工程において前記点群データの取得対象となる前記マーカは、L字状に配置された3個のマーカであり、
前記マーカのそれぞれは、互いに異なる2次元の画像を含む請求項12記載の3次元画像データの生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元画像表示システム、送信用端末、画像生成装置、受信用端末、および3次元画像データの生成方法に関する。
【背景技術】
【0002】
たとえば下記特許文献1には、テレビ会議システムが記載されている。このシステムは、表示対象のデータを画像データおよび深度データとする。これにより、3次元的な画像を生成できる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、表示対象の正面のみならず、背面を含めるなど、より立体的な情報を得るには、画像データおよび深度データを生成するセンサを、互いに離間して複数配置することが望ましい。しかし、互いに離間して複数のセンサを配置する場合には、それら各センサの生成したデータ同士の整合性が崩れると、立体的な情報を高精度に生成できない。
【課題を解決するための手段】
【0005】
以下、上記課題を解決するための手段およびその作用効果について記載する。
1.実行装置と、記憶装置とを備え、前記記憶装置には、座標変換データが記憶されており、前記実行装置は、取得処理、座標変換処理、生成処理、および表示処理を実行するように構成され、前記取得処理は、「N」個の3次元センサのそれぞれが出力する点群データを取得する処理であり、前記「N」は、2以上であり、前記3次元センサは、電磁波の物体による反射波を感知することによって前記点群データを生成するセンサであり、前記点群データは、距離データおよび画素データを含み、前記距離データは、前記3次元センサおよび前記物体間の距離に関するデータであり、前記画素データは、前記物体の輝度情報を含んだデータであり、前記座標変換処理は、少なくとも「N-1」個の前記3次元センサの前記点群データを前記座標変換データを用いて座標変換することによって、前記「N」個の3次元センサの前記点群データの座標を整合させる処理であり、前記生成処理は、前記「N」個の3次元センサのそれぞれの前記点群データのうちの前記座標変換処理によって整合がとられたデータを入力として、3次元画像を示すデータを生成する処理であり、前記表示処理は、表示装置を操作することによって、前記3次元画像を示すデータを用いて前記3次元画像を表示する処理である3次元画像表示システムである。
【0006】
上記構成では、座標変換データを用いて、N個の3次元センサのそれぞれが出力する点群データ同士を整合させることができる。そのため、互いに整合されたN組の点群データを用いて3次元画像データを生成し表示できる。
【0007】
2.前記生成処理は、抽出処理、および画像データ生成処理を含み、前記抽出処理は、前記「N」個の3次元センサのそれぞれの前記点群データのうちの前記座標変換処理によって整合がとられたデータを入力として、前記整合がとられたデータのうちの所定領域内のデータのみを抽出する処理であり、前記画像データ生成処理は、前記抽出処理によって抽出されたデータを用いて前記所定領域内における前記3次元画像を示すデータを生成する処理である上記1記載の3次元画像表示システムである。
【0008】
上記構成では、所定領域内のデータから3次元画像データを生成することから、3次元画像データに背景画像が含まれることを抑制できる。
3.前記実行装置は、第1実行装置および第2実行装置を含み、前記第1実行装置は、前記取得処理、前記座標変換処理、前記生成処理、および送信処理を実行するように構成され、前記第2実行装置は、受信処理、および前記表示処理を実行するように構成され、前記送信処理は、前記生成処理によって生成されたデータを送信する処理であり、前記受信処理は、前記送信処理によって送信されたデータを受信する処理である上記1または2記載の3次元画像表示システムである。
【0009】
上記構成では、3次元画像データを送信することにより、N個の点群データを全て送信する場合と比較して、送信データ量を軽減できる。
4.実行装置は、第1実行装置、第2実行装置、および第3実行装置を含み、前記第1実行装置は、前記取得処理、前記座標変換処理、および第1送信処理を実行するように構成され、前記第2実行装置は、第2受信処理、および前記表示処理を実行するように構成され、前記第3実行装置は、前記生成処理、第3受信処理および第3送信処理を実行するように構成され、前記第1送信処理は、前記点群データおよび前記座標変換データを送信する処理であり、前記第3受信処理は、前記点群データおよび前記座標変換データを受信する処理であり、前記第3送信処理は、前記生成処理によって生成されたデータを送信する処理であり、前記第2受信処理は、前記第3送信処理によって送信されたデータを受信する処理である上記1または2記載の3次元画像表示システムである。
【0010】
上記構成では、第3実行装置が生成処理を実行する。そのため、送信側の第1実行装置が生成処理を実行する場合と比較して、第1実行装置の演算負荷を軽減できる。また、受信側の第2実行装置が生成処理を実行する場合と比較して、第2実行装置の演算負荷を軽減できる。
【0011】
5.実行装置は、第1実行装置、および第2実行装置を含み、前記第1実行装置は、前記取得処理、前記座標変換処理、および送信処理を実行するように構成され、前記第2実行装置は、受信処理、前記生成処理および前記表示処理を実行するように構成され、前記送信処理は、前記座標変換データおよび前記点群データを送信する処理であり、前記受信処理は、前記座標変換データおよび前記点群データを受信する処理である上記1または2記載の3次元画像表示システムである。
【0012】
6.上記3~5のいずれか1つに記載の3次元画像表示システムにおける前記第1実行装置を備えた送信用端末である。
7.上記4記載の3次元画像表示システムにおける前記第3実行装置を備えた画像生成装置である。
【0013】
8.上記3~5のいずれか1つに記載の3次元画像表示システムにおける前記第2実行装置を備えた受信用端末である。
9.人状物体データ取得工程、座標変換データ生成工程、および実行工程を有し、前記人状物体データ取得工程は、「N」個の3次元センサのそれぞれが人状物体を感知したときに出力する点群データを取得する工程であり、前記人状物体は、人の形状を有した物体であり、前記「N」は、2以上であり、前記3次元センサは、電磁波の物体による反射波を感知することによって前記点群データを生成するセンサであり、前記点群データは、距離データおよび画素データを含み、前記距離データは、前記3次元センサおよび前記物体間の距離に関するデータであり、前記画素データは、前記物体の輝度情報を含んだデータであり、前記座標変換データ生成工程は、N個の前記3次元センサのそれぞれが出力した前記点群データが示す前記人状物体の位置同士をあわせるための前記点群データの座標変換データを生成する工程であり、前記実行工程は、実行装置が、取得処理、座標変換処理、および生成処理を実行する工程であり、前記取得処理は、「N」個の3次元センサの出力する点群データを取得する処理であり、前記座標変換処理は、少なくとも「N-1」個の前記3次元センサの前記点群データを前記座標変換データを用いて座標変換することによって、前記「N」個の3次元センサの前記点群データの座標を整合させる処理であり、前記生成処理は、前記「N」個の3次元センサのそれぞれの前記点群データのうちの前記座標変換処理によって整合がとられたデータを入力として、3次元画像を示すデータを生成する処理である3次元画像データの生成方法である。
【0014】
上記方法では、N個の3次元センサのそれぞれが人状物体を感知したときに出力する点群データを用いて、N組の点群データのそれぞれを整合したデータとするための座標変換データを生成する。これにより、互いに整合したN組の点群データを用いて3次元画像データを生成できる。
【0015】
特に、上記方法では、N個の3次元センサのそれぞれが人を感知したときに出力する点群データを用いて、座標変換データを生成する。そのため、座標変換データの生成のための3次元センサの配置を、人の撮影にとって適切な配置とすることが容易となる。したがって、座標変換データの生成のための3次元センサの配置を、座標変換データの生成後に人を継続的に撮影する際に適切な配置とすることができる。
【0016】
10.前記座標変換データ生成工程は、ボディートラッキング処理、および位置合わせ処理を実行する工程を含み、前記ボディートラッキング処理は、前記点群データが示す人状物体の複数箇所の位置を示すデータを生成する処理であり、前記位置合わせ処理は、N個の前記3次元センサのそれぞれが出力した前記点群データが示す前記複数箇所の位置同士をあわせるための前記点群データの座標変換データを生成する処理である上記9記載の3次元画像データの生成方法である。
【0017】
上記方法では、ボディートラッキング処理によって生成された人状物体の複数箇所の位置を示すデータを用いることにより、位置合わせ処理を好適に行うことができる。
11.前記位置合わせ処理は、第1位置合わせ処理と、第2位置合わせ処理と、を含み、前記第1位置合わせ処理は、N個の前記3次元センサのそれぞれが出力した前記点群データが示す前記複数箇所の位置同士の差を低減する処理であり、前記第2位置合わせ処理は、N個の前記3次元センサのそれぞれが出力した前記点群データに前記第1位置合わせ処理が施されたデータに対して、ICPアルゴリズムを用いて位置合わせをする処理である上記10記載の3次元画像データの生成方法である。
【0018】
上記方法では、第1位置合わせ処理と、第2位置合わせ処理とを用いることにより、座標変換データを高精度に生成できる。
12.マーカ位置取得工程、座標変換データ生成工程、および実行工程を有し、前記マーカ位置取得工程は、「N」個の3次元センサのそれぞれが2個以上のマーカを感知したときに出力する点群データを取得する工程であり、前記「N」は、2以上であり、前記3次元センサは、電磁波の物体による反射波を感知することによって前記点群データを生成するセンサであり、前記点群データは、距離データおよび画素データを含み、前記距離データは、前記3次元センサおよび前記物体間の距離に関するデータであり、前記画素データは、前記物体の輝度情報を含んだデータであり、前記座標変換データ生成工程は、少なくとも「N-1」個の前記3次元センサが出力した前記点群データが示す前記マーカの位置を、基準座標上の所定の位置にあわせるための前記点群データの座標変換データを生成する工程であり、前記実行工程は、実行装置が、取得処理、座標変換処理、および生成処理を実行する工程であり、前記取得処理は、「N」個の3次元センサの出力する点群データを取得する処理であり、前記座標変換処理は、少なくとも「N-1」個の前記3次元センサの前記点群データを前記座標変換データを用いて座標変換することによって、前記「N」個の3次元センサの前記点群データの座標を整合させる処理であり、前記生成処理は、前記「N」個の3次元センサのそれぞれの前記点群データのうちの前記座標変換処理によって整合がとられたデータを入力として、3次元画像を示すデータを生成する処理である3次元画像データの生成方法である。
【0019】
上記方法では、N個の3次元センサのそれぞれがマーカを感知したときに出力する点群データを用いて、N組の点群データのそれぞれを基準座標系のデータとするための座標変換データを生成する。これにより、N個の3次元センサのそれぞれが出力する点群データ同士を整合させることができる。そのため、基準座標系におけるN組の点群データを用いて3次元画像データを生成できる。
【0020】
特に、上記方法では、N個の3次元センサのそれぞれが2個以上のマーカを感知したときに出力する点群データを用いて、座標変換データを生成する。そのため、1つのマーカを感知したときに出力する点群データを用いる場合と比較して、点群データに含まれる、マーカによって規定される位置および方向を高精度化することができる。したがって、座標変換データを高精度に生成できる。
【0021】
13.前記マーカ位置取得工程において前記点群データの取得対象となる前記マーカは、L字状に配置された3個のマーカであり、前記マーカのそれぞれは、互いに異なる2次元の画像を含む上記12記載の3次元画像データの生成方法である。
【0022】
上記方法では、3個のマーカがL字状に配置されて点群データが生成される。その場合、2個のマーカが並べられる2つの方向によって、直交する2つの座標軸を定義できる。また、2次元画像に直交する方向によってもう1つの座標軸を定義できる。
【図面の簡単な説明】
【0023】
【
図1】第1の実施形態にかかる3次元画像表示システムを示すブロック図である。
【
図2】同実施形態にかかる3次元センサを示す斜視図である。
【
図3】同実施形態にかかる座標変換データの生成に関する工程を示す流れ図である。
【
図4】同実施形態にかかるマーカの配置例を示す斜視図である。
【
図5】同実施形態にかかるマーカが定義する座標軸を示す図である。
【
図6】(a)および(b)は、同実施形態にかかる3次元画像データの表示に関する処理の手順を示す流れ図である。
【
図7】(a)および(b)は、拠点間コミュニケーションのための前処理の手順を示す流れ図である。
【
図8】(a)~(c)は、同実施形態にかかる3次元画像データの表示に関する処理の手順を示す流れ図である。
【
図9】(a)および(b)は、拠点間コミュニケーションのための前処理の手順を示す流れ図である。
【
図10】(a)および(b)は、同実施形態にかかる3次元データ画像の表示に関する処理の手順を示す流れ図である。
【
図11】同実施形態にかかる座標変換データの生成に関する工程を示す流れ図である。
【
図12】同実施形態にかかるボディートラッキング処理を例示する図である。
【発明を実施するための形態】
【0024】
<第1の実施形態>
以下、第1の実施形態について図面を参照しつつ説明する。
「システム構成」
図1に、3次元画像表示システムの構成を示す。同システムは、互いに物理的に離れているために直接的なコミュニケーションが取れないユーザ同士のコミュニケーションを可能とするシステムである。
図1には、互いに物理的に離れた拠点の数が2個である場合を例示する。
【0025】
図1では、2個の拠点のそれぞれに配置されている部材の符号の最後に、括弧が付与された数字を付与することによって識別している。すなわち、ユーザ端末10(1),10(2)は、各拠点に配置されている端末である。なお、以下では、2個の拠点のそれぞれに配置されている部材を総括する場合、括弧が付与された数字を削除する。すなわち、ユーザ端末10は、ユーザ端末10(1),10(2)を総括した記載である。
【0026】
ユーザ端末10は、PU12、記憶装置14、および通信機16を備えている。PU12は、CPU、GPU、およびTPU等のソフトウェア処理装置である。記憶装置14は、電気的に書き換え可能な不揮発性メモリ、およびディスク媒体等の記憶媒体を備える。記憶装置14には、画像処理プログラム14a、および座標変換データ14bが記憶されている。
【0027】
ユーザ端末10は、3次元センサ20の出力信号を取得する。
図2に、3次元センサ20を示す。
図2に示すように、3次元センサ20は、深度センサ20aと、RGBカメラ20bとを備えている。RGBカメラ20bは、可視光を感知して、視野に含まれる所定の領域を複数に分割したそれぞれである画素領域に関する画像データを生成する。画像データは、レッド(R)、グリーン(G)、およびブルー(B)のそれぞれの輝度情報を含んだデータである。深度センサ20aは、近赤外線を外部に照射する装置と、照射した近赤外線の反射光を受光する装置とを備える。深度センサ20aは、反射光に基づき、近赤外線を反射した物体と深度センサ20aとの距離を計測する。距離の計測は、たとえばTOF(Time of Flight)方式によって実現できる。もっとも、TOF法式に限らず、たとえば、FMCW(Frequency Modulated Continuous Wave)方式にて実現してもよい。深度センサ20aによる距離データは、上記RGBカメラ20bが撮影する画素のそれぞれに対して生成される。これは、たとえば、近赤外線の照射方向を、上記複数の画素に対応した方向に順次走査しつつ近赤外線を照射することによって実現できる。
【0028】
以下では、深度センサ20aによって生成される距離に関するデータである距離データと、RGBカメラ20bによって生成される画像データとを併せて、点群データとも称する。
【0029】
図1に戻り、ユーザ端末10は、表示装置22を操作することによって3次元の画像データを表示する処理を実行する。また、ユーザ端末10は、ユーザインターフェース24に対するユーザの入力操作に応じて、ユーザからの指示を受け付ける。
【0030】
通信機16は、ネットワーク30を介してサーバ40との通信を可能とする。サーバ40は、PU42、記憶装置44、および通信機46を備えている。PU42は、CPU、GPU、およびTPU等のソフトウェア処理装置である。記憶装置44は、電気的に書き換え可能な不揮発性メモリ、およびディスク媒体等の記憶媒体を備える。
【0031】
「前処理」
図1に示すように、各拠点のユーザ端末10は、それぞれN個の3次元センサ20を利用して、その拠点のユーザの3次元画像を生成する。ここで、「N≧2」である。次に、複数の3次元センサ20のそれぞれのデータを整合させるための処理について説明する。
【0032】
図3に、複数の3次元センサ20のそれぞれのデータを整合させるための処理の手順を示す。
図3に示す処理は、各拠点のそれぞれで実行される。以下では、「S」が付与された数字によって、各処理のステップ番号を表現する。なお、
図3におけるS10~S14の処理は、人が行う処理である。また、S16~S20の処理は、PU12が、画像処理プログラム14aを実行することによって実現される。
【0033】
図3に示す一連の処理において、まず3次元センサ20を設置する(S10)。また、3個のマーカ60a,60b,60cを配置する(S12)。
図4に、S10,S12の処理を例示する。
【0034】
図4に示す台50は、拠点間のコミュニケーションが行われる際にユーザが位置すると想定される場所に一時的に配置される。台50には、3個のマーカ60a,60b,60cが配置されている。マーカ60a,60b,60cは、2次元コードが表示されたシート状の部材である。マーカ60a,60b,60cは、2次元コードが印刷された紙であってもよい。マーカ60a,60b,60cのそれぞれに含まれる2次元コードは、互いに異なるコードである。換言すれば、マーカ60a,60b,60cのそれぞれに含まれる2次元コードは、互いに識別可能である。
【0035】
マーカ60a,60b,60cは、L字状に配置されている。すなわち、マーカ60aおよびマーカ60bは、並べて配置されている。また、マーカ60aおよびマーカ60cは、並べて配置されている。さらに、マーカ60a,60b,60cは、マーカ60aおよびマーカ60bが並べられた方向とマーカ60aおよびマーカ60cが並べられた方向が互に直交するように配置されている。なお、マーカ60aおよびマーカ60bが並べられた方向とは、たとえば、マーカ60aの中央とマーカ60bの中央とを結ぶ線に平行な方向であってもよい。
【0036】
図4には、互いに対向するように配置された2個の3次元センサ20を例示した。なお、上記「N」が4以上の場合、台50を中心として90°間隔で3次元センサ20を配置してもよい。
【0037】
図3に戻り、3次元センサおよびマーカ60a~60cの設置が完了すると、人がユーザインターフェース24を操作することによって、複数の3次元センサ20のそれぞれによる点群データの生成を指示する(S14)。
【0038】
これに対し、PU12は、複数の3次元センサ20のそれぞれの点群データを取得する(S16)。すなわち、PU12は、複数の3次元センサ20のそれぞれを操作することによって、複数の3次元センサ20のそれぞれによって点群データを生成する。そして、PU12は、複数の3次元センサ20のそれぞれによって生成された点群データを一時的に記憶装置14に記憶する。
【0039】
詳しくは、複数の3次元センサ20は、3個のマーカ60a,60b,60cを検出する。すなわち、複数の3次元センサ20のそれぞれの深度センサ20aは、マーカ60a,60b,60cと深度センサ20aとの距離を示す距離データを生成する。また、複数の3次元センサ20のそれぞれのRGBカメラ20bは、マーカ60a,60b,60cの画素データを生成する。なお、RGBカメラ20bが生成する画素データには、台50を示す画素データが含まれていてもよい。また、深度センサ20aが生成する距離データには、深度センサ20aと台50との距離を示すデータが含まれていてもよい。
【0040】
次にPU12は、複数の3次元センサ20のそれぞれによって生成された点群データ同士を整合させるための座標変換データを生成する(S18)。
図5に示すように、マーカ60a,60b,60cによって、互いに直交する3つの軸62x,62y,62zが定義できる。すなわち、マーカ60aおよびマーカ60bが並べられる方向によって、軸62xを定義できる。また、マーカ60aおよびマーカ60cが並べられる方向によって、軸62yを定義できる。また、マーカ60a,60b,60cが形成する面に直交する方向によって、軸62zを定義できる。
【0041】
ただし、複数の3次元センサ20のそれぞれによって生成された点群データ同士は、互いに同一の座標系を採用したものとなっていない。すなわち、たとえば、
図5における軸62x,62y,62zの交点は、3次元センサ20の1つによる画像データが示す画像における位置と、3次元センサ20の別の1つによる画像データが示す画像における位置とが互いに異なる。さらに、それら画像データが示す画像における軸62z等の向きも互いに異なる。
【0042】
そこで、PU12は、複数の3次元センサ20のそれぞれによって生成された点群データを座標変換することによって、複数の点群データのそれぞれを基準座標系におけるデータに変換する。
【0043】
この変換は、6つのパラメータによって実現できる。すなわち、3方向の平行移動の量を定めるパラメータと、2つの3次元直交座標系の関係を定めるオイラー角とを求めることによって実現できる。具体的には、たとえば、複数の3次元センサ20のそれぞれについて、PU12は、点群データが示す軸62x,62y,62zの交点を、基準座標の原点に平行移動する量を求めればよい。また、PU12は、点群データが示す軸62x,62y,62zのそれぞれを、基準座標系のX軸、Y軸およびZ軸のそれぞれに一致させるオイラー角を求めればよい。
【0044】
こうして求められた6個のパラメータが座標変換データである。
図3に戻り、PU12は、
図1に示した記憶装置14に座標変換データ14bを記憶させる(S20)。すなわち、PU12は、3次元センサ20のそれぞれに関する座標変換データ14bを記憶させる。したがって、S20の処理は、N組の座標変換データ14bを記憶する処理である。なお、PU12は、S20の処理を完了する場合、
図3に示した一連の処理を一旦終了する。
【0045】
「拠点間のコミュニケーション」
図6に、拠点間のコミュニケーションを可能とする処理の手順を示す。
図6(a)に示す処理は、画像処理プログラム14a(1)をPU12(1)がたとえば所定周期でくり返し実行することにより実現される。
図6(b)に示す処理は、画像処理プログラム14a(2)をPU12(2)がたとえば所定周期でくり返し実行することにより実現される。なお、
図6には、ユーザ端末10(1)が、3次元の画像データをユーザ端末10(2)に送信する処理を例示する。ただし、実際には、
図6におけるユーザ端末10(1)の処理と、ユーザ端末10(2)の処理とを入れ替えた処理も存在する。換言すれば、ユーザ端末10(2)が、3次元の画像データをユーザ端末10(1)に送信する処理も実行される。
【0046】
図6に示す一連の処理において、PU12(1)は、まず3次元センサ20を識別する変数iに「1」を代入する(S30)。変数iは、「1~N」の値を取り得る。次にPU12(1)は、変数iによって特定される3次元センサ20が出力した点群データを取得する(S32)。そしてPU12(1)は、取得した点群データを、記憶装置14に記憶されているN組の座標変換データ14b(1)のうちの対応する座標変換データ14b(1)を利用して座標変換する(S34)。ここで、対応する座標変換データ14b(1)とは、変数iによって特定される3次元センサ20に関する座標変換データ14bである。
【0047】
次にPU12(1)は、変数iが「N」であるか否かを判定する(S36)。この処理は、N個の3次元センサ20のそれぞれが出力した点群データを全て座標変換したか否かを判定する処理である。PU12(1)は、変数iが未だ「N」に達していないと判定する場合(S36:NO)、変数iを「1」だけ増加補正して(S38)、S32の処理に戻る。
【0048】
一方、PU12(1)は、変数iが「N」であると判定する場合(S36:YES)、点群データを合成する(S40)。たとえば、人の正面および背面に3次元センサ20が配置されている場合、人の正面の画像と人の背面の画像とを合成することによって、正面、および背面のそれぞれが表現された画像データを含んだ点群データを生成する。
【0049】
次にPU12(1)は、点群データのうちの所定領域内のデータを抽出する(S42)。所定領域は、表示対象物が存在すると想定される領域である。ここで、表示対象物は、拠点間のコミュニケーションをとる人である。この処理は、点群データから、表示対象物から離れた背景部分を示すデータを除く処理である。ここでは、PU12(1)は、点群データからテクスチャデータを貼り付けるメッシュを作成する際、頂点の位置座標によって、表示対象として抽出するか否かを判定する。具体的には、PU12(1)は、複数の3次元センサ20毎に、点群データが示す深度が所定範囲となるデータのみを抽出すればよい。また、PU12(1)は、対象物の奥行方向に制限を設けることによって、点群データの一部を選択的に抽出する。
【0050】
また、PU12(1)は、抽出された点群データを用いてメッシュを生成する(S44)。ここで、PU12(1)は、たとえば互いに距離が最も近い3点によって1つのメッシュを定義してもよい。次にPU12(1)は、メッシュにテクスチャデータを貼り付ける(S46)。テクスチャデータは、たとえば、メッシュの頂点の画素に応じて、R,G,Bの各輝度が定まるデータであってもよい。
【0051】
次にPU12(1)は、通信機16を操作することによって、ネットワーク30を介してサーバ40に画像データを送信する(S48)。なお、PU12(1)は、S48の処理が完了する場合、
図6(a)に示す一連の処理を一旦終了する。
【0052】
サーバ40は、送信された画像データを受信すると、送信された画像データをユーザ端末10(2)に送信する。
これに対しユーザ端末10(2)のPU12(2)は、
図6(b)に示すように、画像データを受信する(S50)。そして、PU12(2)は、表示装置22を操作することによって、受信した画像データが示す3次元画像を表示する(S52)。なお、PU10(2)は、S52の処理を完了する場合、
図6(b)に示す一連の処理を一旦終了する。
【0053】
図6の処理を所定周期で繰り返すことによって、ユーザ端末10(1)からユーザ端末10(2)に動画を示すデータが送信される。その際の通信負荷を軽減すべく、S48の処理において送信される画像データには、所定の圧縮処理がなされてもよい。
【0054】
ここで、本実施形態の作用および効果について説明する。
PU12は、3次元センサ20によってマーカ60a,60b,60cを検出する。マーカ60a,60b,60cは、
図5に示すように、互いに直交する3つの軸を明確に定義する。そのため、マーカ60a,60b,60cを検出したときの点群データは、互いに直交する3つの軸の情報を高精度に含んでいる。そのため、この点群データの情報に基づき、3次元センサ20が出力する点群データを基準座標系のデータに変換する座標変換データ14bを生成することによって、座標変換データ14bを高精度なデータとすることができる。
【0055】
<第2の実施形態>
以下、第2の実施形態について、第1の実施形態との相違点を中心に図面を参照しつつ説明する。
【0056】
本実施形態では、複数の3次元センサ20の出力する点群データから3次元画像を生成する処理をサーバ40が実行する。
図7に、拠点間のコミュニケーションに先立って行われる処理を示す。詳しくは、
図7(a)は、画像処理プログラム14a(1)をPU12(1)がたとえば所定の条件が成立する場合に実行することにより実現される。また、
図7(b)は、記憶装置44に記憶されたプログラムをPU42がたとえば所定の条件が成立する場合に実行することにより実現される。なお、
図7には、ユーザ端末10(1)とサーバ40との間の処理を例示するが、ユーザ端末10(2)等とサーバ40との間の処理も同様である。
【0057】
図7(a)に示すように、PU12(1)は、通信機16を操作することによって、ネットワーク30を介して座標変換データ14b(1)をサーバ40に送信する(S60)。なお、PU12(1)は、S60の処理を完了する場合、
図7(a)に示す一連の処理を一旦終了する。
【0058】
これに対し、サーバ40のPU42は、
図7(b)に示すように、座標変換データ14b(1)を受信する(S70)。そしてPU42は、座標変換データ14b(1)を記憶装置44に記憶する(S72)。なお、PU42は、S72の処理を完了する場合、
図7(b)に示す一連の処理を一旦終了する。
【0059】
図8に、拠点間のコミュニケーションを可能とするための処理の手順を示す。
図8(a)は、画像処理プログラム14a(1)をユーザ端末10(1)のPU12(1)がたとえば所定周期でくり返し実行することにより実現される。また、
図8(b)は、記憶装置44に記憶されたプログラムをサーバ40のPU42がたとえば所定周期でくり返し実行することにより実現される。また、
図8(c)は、画像処理プログラム14a(2)をユーザ端末10(2)のPU12(2)がたとえば所定周期でくり返し実行することにより実現される。なお、
図8においては、ユーザ端末10(1)から送信される点群データをユーザ端末10(2)において再生する処理を例示している。しかし、拠点間のコミュニケーションが実行される場合、実際には、ユーザ端末10(2)から送信される点群データをユーザ端末10(1)において再生する処理も実行される。
【0060】
図8(a)に示す一連の処理において、ユーザ端末10(1)のPU12(1)は、複数の3次元センサ20が出力する点群データを取得する(S80)。次にPU12(1)は、通信機16(1)を操作することによって、点群データをサーバ40に送信する(S82)。なお、PU12(1)は、S82の処理を完了する場合、
図8(a)に示す一連の処理を一旦終了する。
【0061】
これに対し、サーバ40のPU42は、
図8(b)に示すように、点群データを受信する(S90)。そして、PU42は、
図6(a)に示したS30,S34~S48の処理を実行する。なお、S90の処理によって受信された点群データは、N個の3次元センサ20に対応してN組存在する。それらは、変数iによって識別できる。S34の処理は、PU42により、変数iによって特定された点群データについて座標変換データ14b(1)を用いて実行される。なお、PU42は、S48の処理を完了する場合、
図8(b)に示す処理を一旦終了する。
【0062】
一方、ユーザ端末10(2)のPU12(2)は、
図8(c)に示すように、
図6(b)に示したS50,S52の処理を実行する。
図8の処理を所定周期で繰り返すことによって、ユーザ端末10(1)からユーザ端末10(2)に動画を表示するためのデータが送信される。その際の通信負荷を軽減すべく、S82の処理において送信される点群データには、所定の圧縮処理がなされてもよい。またS48の処理において送信される画像データには、所定の圧縮処理がなされてもよい。
【0063】
<第3の実施形態>
以下、第3の実施形態について、第1の実施形態との相違点を中心に図面を参照しつつ説明する。
【0064】
本実施形態では、複数の3次元センサ20の出力する点群データから3次元画像を生成する処理を点群データを受信したユーザ端末10が実行する。
図9に、拠点間のコミュニケーションに先立って行われる処理を示す。詳しくは、
図9(a)に示す処理は、画像処理プログラム14a(1)をPU12(1)がたとえば所定の条件が成立する場合に実行することにより実現される。また、
図9(b)に示す処理は、画像処理プログラム14a(2)をPU12(2)が所定の条件が成立する場合に実行することにより実現される。
【0065】
図9(a)に示すように、ユーザ端末10(1)のPU12(1)は、
図7(a)に示したS60の処理を実行する。これに対し、サーバ40は、送信されたデータを受信すると、ユーザ端末10(2)に送信する。ユーザ端末10(2)のPU12(2)は、
図9(b)に示すように、
図7(b)に示したS70,S72の処理と同様のS100,S102の処理を実行する。なお、
図9には、座標変換データ14bの送信元をユーザ端末10(1)とする例を記載したが、座標変換データ14bの送信元をユーザ端末10(2)とする処理も実行される。ちなみに、S102の処理がなされると、記憶装置14(2)には、座標変換データ14b(2)に加えて、座標変換データ14b(1)が記憶された状態となる。なお、PU12(2)は、S60の処理を実行した後、記憶装置14(2)から座標変換データ14b(2)を消去してもよい。
【0066】
図10に、拠点間のコミュニケーションを可能とするための処理の手順を示す。
図10(a)は、画像処理プログラム14a(1)をPU12(1)がたとえば所定周期でくり返し実行することにより実現される。また、
図10(b)は、画像処理プログラム14a(2)をPU12(2)がたとえば所定周期でくり返し実行することにより実現される。
【0067】
図10(a)に示すように、ユーザ端末10(1)のPU12(1)は、
図8(a)に示したS80,S82の処理を実行する。これに対し、サーバ40は、送信されたデータを受信すると、ユーザ端末10(2)に送信する。ユーザ端末10(2)のPU12(2)は、
図10(b)に示すように、
図8(b)に示したS90,S30,S34~S46の処理と、
図6(b)に示したS52の処理とを実行する。
【0068】
図10の処理を所定周期で繰り返すことによって、ユーザ端末10(1)からユーザ端末10(2)に動画を表示するためのデータが送信される。その際の通信負荷を軽減すべく、S82の処理において送信される点群データには、所定の圧縮処理がなされてもよい。この圧縮処理は、temporal RVL方式(A Depth Stream Compression Method.(H.Jun and J.Bailenson (2020)))による処理であってもよい。
【0069】
なお、
図10においては、ユーザ端末10(1)から送信される点群データをユーザ端末10(2)において再生する処理を例示した。しかし、拠点間のコミュニケーションにおいては、実際には、ユーザ端末10(2)から送信される点群データをユーザ端末10(1)において再生する処理も実行される。
【0070】
以上説明した本実施形態では、ユーザ端末10(2)のPU12(2)が、S40~S52の処理を実行した。そのため、表示装置22が、S40~S46の処理を実行する場合と比較して、表示装置22の演算負荷を軽減できる。
【0071】
<第4の実施形態>
以下、第4の実施形態について、第1の実施形態との相違点を中心に図面を参照しつつ説明する。
【0072】
上記第1の実施形態では、3個のマーカ60a,60b,60cを利用して、複数の3次元センサ20のそれぞれによって生成された点群データ同士を整合させるための座標変換データを生成した。その場合、N個の3次元センサ20の全てから3個のマーカ60a,60b,60cを撮影可能とすべく、
図4に示したように、N個の3次元センサ20を水平方向よりも下方に向けることとなった。そのため、N個の3次元センサ20が、実際に人を撮影する際に、人の頭部まで含めた全領域を視野に含めることが難しくなる懸念がある。
【0073】
そこで、本実施形態では、3個のマーカ60a,60b,60cに代えて、人を用いて座標変換データを生成する。
図11に、本実施形態にかかる複数の3次元センサ20のそれぞれのデータを整合させるための処理の手順を示す。
図11に示す処理は、各拠点のそれぞれで実行される。なお、
図11におけるS10,S12a,S14aの処理は、人が行う処理である。また、S16a,S110~S118,S18a,S20の処理は、PU12が、画像処理プログラム14aを実行することによって実現される。なお、
図11に示す処理において、
図3に示した処理に対応する処理については、便宜上、同一のステップ番号を付与している。
【0074】
図11に示す一連の処理においては、3次元センサ20が設置される(S10)とともに、座標変換データの生成処理のために撮影対象とする人が配置される(S12a)。撮影対象とする人は、実際の撮影領域において、拠点間のコミュニケーションが実行されるときにユーザが実際に取り得る姿勢をとることが望ましい。特に、拠点間のコミュニケーションが実行されるときにユーザが実際に取り得る姿勢に立ち姿勢が含まれる場合、撮影対象とする人は、立ち姿勢をとることが望ましい。
【0075】
次に、人がユーザインターフェース24を操作することによって、複数の3次元センサ20のそれぞれによる点群データの生成を指示する(S14a)。
これに対し、PU12は、複数の3次元センサ20のそれぞれによる人を示す点群データを取得する(S16a)。すなわち、PU12は、複数の3次元センサ20のそれぞれを操作することによって、複数の3次元センサ20のそれぞれによって点群データを生成する。そして、PU12は、複数の3次元センサ20のそれぞれによって生成された点群データを一時的に記憶装置14に記憶する。
【0076】
次にPU12は、記憶した点群データを用いてボディートラッキング処理を実行する(S110)。すなわち、PU12は、撮影された人の関節を示す点とそれら点同士の接続とを示すデータを生成する。
【0077】
図12に、S110の処理を例示する。
図12に示す処理では、人70の頭部の中心点P1、右手の中心点P2、左手の中心点P3、下腹部の中心点P4等を示すデータ等が生成される例を示している。
【0078】
図11に戻り、PU12は、複数の3次元センサ20のそれぞれの点群データが示す中心点P1同士の差を低減するように、複数の3次元センサ20のそれぞれによる点群データが示す画像を平行移動させる(S112)。この際、PU12は、複数の3次元センサ20のそれぞれについての平行移動量を記憶装置14に記憶しておく。
【0079】
次に、PU12は、複数の3次元センサ20のそれぞれの点群データが示す中心点P1~P3に関する、中心点P1から中心点P2へと進むベクトルVRと、中心点P2から中心点P3へと進むベクトルVLとを算出する(S114)。そして、PU12は、複数の3次元センサ20のそれぞれの点群データが示すベクトルVR,VLの角度を近づけるための座標系の回転量を算出する(S116)。詳しくは、PU12は、まず、複数の3次元センサ20のそれぞれに応じたベクトルVR同士の角度を近づけるための座標系の回転量を算出する。次に、PU12は、複数の3次元センサ20のそれぞれに応じたベクトルVL同士の角度を近づけるための座標系の回転量を算出する。回転量は、3つのオイラー角によって表現される。PU12は、複数の3次元センサ20のそれぞれに関する、算出された正味の回転量を記憶装置14に記憶する。
【0080】
次にPU12は、ICP(Iterative closest point)を利用して、人70の正中線上の関節の位置合わせを行う(S118)。PU12は、一例として、複数の3次元センサ20のそれぞれの点群データが示す中心点P1および中心点P4同士を一致させるための平行移動量および回転量を算出する。PU12は、複数の3次元センサ20のそれぞれに関する、算出した平行移動量および回転量を記憶装置14に記憶する。
【0081】
PU12は、S112,S116,S118の処理によって記憶装置14に記憶したデータを入力として、座標変換データ14bを生成する(S18a)。すなわち、PU12は、S112の処理によって算出された平行移動量と、S118の処理によって算出された平行移動量との和を、座標変換データ14bが示す平行移動量とする。また、PU12は、S114の処理によって算出された回転量と、S118の処理によって算出された回転量との和を、座標変換データ14bが示す回転量とする。なお、座標変換データ14bが示す平行移動量および回転量は、実際には、さらに予め定められた基準座標系に変換する処理のための量を含んでもよい。すなわち、上記平行移動量と上記回転量とのそれぞれを、基準座標系に変換するための平行移動量および回転量にて補正した値を示すデータを、最終的な座標変換データ14bとしてもよい。
【0082】
そして、PU12は、座標変換データ14bを記憶装置14に記憶させる(S20)。なお、PU12は、S20の処理を完了する場合、
図11に示した一連の処理を一旦終了する。
【0083】
このように、本実施形態では、人を用いて座標変換データ14bを生成する。そのため、座標変換データ14bの生成のために3次元センサ20を下方に向ける必要が生じない。特に、座標変換データ14bを生成するための撮影対象が人であることから、拠点間のコミュニケーションが実際になされるときに適切な方向に3次元センサ20を向けることが容易となる。
【0084】
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。[1]実行装置は、PU12(1),12(2),42に対応する。記憶装置は、記憶装置14(1)に対応する。取得処理は、S32,S80の処理に対応する。座標変換処理は、S34の処理に対応する。生成処理は、S40~S46の処理に対応する。表示処理は、S52の処理に対応する。[2]抽出処理は、S42の処理に対応する。画像データ生成処理は、S44,S46の処理に対応する。[3]第1実行装置は、PU12(1)に対応する。第2実行装置は、PU12(2)に対応する。送信処理は、
図6(a)のS48の処理に対応する。受信処理は、
図6(b)のS50の処理に対応する。[4]第1実行装置は、PU12(1)に対応する。第2実行装置は、PU12(2)に対応する。第3実行装置は、PU42に対応する。第1送信処理は、
図7(a)のS60の処理および
図8(a)のS82の処理に対応する。第3受信処理は、
図7(b)のS70の処理および
図8(b)のS90の処理に対応する。第3送信処理は、
図8(b)のS48の処理に対応する。第2受信処理は、
図8(c)のS50の処理に対応する。[5]送信処理は、
図9(a)のS60の処理および
図10(a)のS82の処理に対応する。受信処理は、
図9(b)のS100の処理および
図10(b)のS90の処理に対応する。[6]送信用端末は、
図6~
図10に示す処理におけるユーザ端末10(1)に対応する。[7]画像生成装置は、
図7,8の処理を実行するサーバに対応する。[8]受信用端末は、
図6~
図10に示す処理におけるユーザ端末10(2)に対応する。[9]人状物体データ取得工程は、S16aの処理に対応する。座標変換データ生成工程は、S110~S118,S18aの処理に対応する。実行工程は、
図6、
図8、および
図10の処理に対応する。実行装置は、PU12(1)、12(2)、42に対応する。取得処理は、S32,S80の処理に対応する。座標変換処理は、S34の処理に対応する。生成処理は、S40~S46の処理に対応する。[10]ボディートラッキング処理は、S110の処理に対応する。位置合わせ処理は、S112~S118の処理に対応する。[11]第1位置合わせ処理は、S112~S116の処理に対応する。第2位置合わせ処理は、S118の処理に対応する。[12]マーカ位置取得工程は、S16の処理に対応する。座標変換データ生成工程は、S18の処理に対応する。実行工程は、
図6、
図8、および
図10の処理に対応する。実行装置は、PU12(1)、12(2)、42に対応する。取得処理は、S32,S80の処理に対応する。座標変換処理は、S34の処理に対応する。生成処理は、S40~S46の処理に対応する。[13]
図3に対応する。
【0085】
<その他の実施形態>
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0086】
「マーカについて」
・マーカが、2次元コードが表示されたシート状の部材であることは必須ではない。たとえば、2次元コードが表示されるタブレット端末等であってもよい。
【0087】
・マーカに表示される2次元の画像としては、2次元コードに限らない。たとえば、異なるマーカごとに互いに異なる動物を示す画像であってもよい。
・マーカが平面画像を表示する部材であることは必須ではない。たとえば円錐状の部材であってもよい。その場合であっても、たとえば
図3に例示した配置で3個のマーカを配置することにより、軸62x,62yを定義できる。そして、軸62x,62yに直交する方向として軸62zを定義できる。
【0088】
「マーカ位置取得工程について」
・上記実施形態では、座標変換データを生成するために用いる点群データを生成するために、3個のマーカ60a,60b,60cを水平な台50の上にL字状に配置したが、これに限らない。たとえば、3個のマーカ60a,60b,60cを直方体の隣接する3個の面に割り振って貼り付けてもよい。
【0089】
・上記実施形態では、座標変換データを生成するために用いる点群データを、3個のマーカ60a,60b,60cを示すデータとしたが、これに限らない。たとえば2個のマーカ60a,60bを示すデータとしてもよい。その場合であっても、たとえばマーカ60a,60bを水平な台50のうえに直線状に配置する場合、それらを並べる方向によって、
図5に示す軸62xを定義できる。また、マーカ60a,60bが配置されている面において軸62xに直交する方向によって、軸62yを定義できる。そして、軸62x,62zに直交する軸として、軸62yを定義できる。
【0090】
「座標変換データ生成工程について」
・上記第1~第3の実施形態では、N個の3次元センサ20のそれぞれの点群データを、基準座標系のデータに変換するためのN組の座標変換データ14bを生成したが、これに限らない。たとえば、N個の3次元センサ20のそれぞれの点群データを規定する座標系のうちの1つを基準座標系としてもよい。その場合、PU12は、「N-1」個の3次元センサ20のそれぞれの点群データを、基準座標系のデータに変換するための「N-1」組の座標変換データ14bを生成すればよい。
【0091】
・上記第4の実施形態において、N個の3次元センサ20のうちの所定の1つの3次元センサ20の点群データによって基準座標系を定義してもよい。すなわち、たとえばS112の処理においては、PU12は、所定の1つの3次元センサ20の点群データが示す中心点P1に、残りの3次元センサ20の点群データが示す中心点P1を近づける処理を実行してもよい。その場合、S112の処理は、残りの「N-1」個の3次元センサ20の点群データに関する平行移動量を求める処理となる。そして、S18aは、残りの「N-1」個の3次元センサ20の点群データに関する平行移動量と回転量とを定めたデータを生成する処理となる。
【0092】
「人状物体データ取得工程」
・S16aの処理では、実際の人の点群データを取得したが、人状物体データ取得工程が、実際の人の点群データを取得する工程であることは必須ではない。人状物体データ取得工程は、たとえば、マネキン人形の点群データを取得する工程であってもよい。
【0093】
「ボディートラッキング処理について」
・ボディートラッキング処理としては、
図12に例示した箇所を特定するデータを生成する処理に限らない。
【0094】
「第1位置合わせ処理について」
・平行移動量を求める処理としては、S112の処理に限らない。たとえば、S112の処理に代えて、中心点P2同士の差を軽減するための平行移動量を求める処理であってもよい。
【0095】
・回転移動量を求める処理としては、S114,S116の処理に限らない。たとえば中心点P1から中心点P4に進むベクトルの方向同士の差を軽減するための回転量を求める処理であってもよい。
【0096】
「第2位置合わせ処理について」
・ICPのアルゴリズムによる位置合わせの対象となる点としては、中心点P1,P4に限らない。
【0097】
「座標変換処理について」
・上記実施形態では、N個の3次元センサ20のそれぞれの点群データを、基準座標系のデータに変換したが、これに限らない。たとえば、「座標変換データ生成工程について」に記載したように、「N-1」組の座標変換データ14bを生成する変更例の場合、「N-1」個の3次元センサ20のそれぞれの点群データを、基準座標系のデータに変換すればよい。
【0098】
「生成処理について」
・生成処理が、点群データに基づき作成したメッシュにテクスチャデータを貼り付ける処理を含むことは必須ではない。たとえば、点群データを稠密とすることにより、テクスチャデータを利用することなく、点群データ自体を表示対象としてもよい。
【0099】
・生成処理が、表示対象物近傍のデータのみを抽出する抽出工程を有することは必須ではない。
「表示処理について」
・
図10の処理において、S40~S52の処理を、表示装置22が実行することとしてもよい。
【0100】
「3次元センサについて」
・深度センサ20aが照射する電磁波が近赤外線であることは必須ではない。
・3次元センサが、深度センサ20aおよびRGBカメラ20bが一体的に形成されたセンサであることは必須ではない。たとえば、深度センサ20aおよびRGBカメラ20bが個別のセンサである場合、使用する際にそれらを近接して配置すればよい。ただし、その場合、RGBカメラ20bの視野角と、深度センサ20aの照射角とを整合させる。
【0101】
・3次元センサとしては、深度センサ20aと、RGBカメラ20bとを備えるセンサに限らない。たとえば画像データを生成するセンサを、モノクロのカメラとしてもよい。またたとえば、RGBカメラ20bと、RGBカメラ20bの2次元画像から深度を推定する学習済みモデルとを搭載したセンサであってもよい。学習済みモデルによれば、深度画像データを生成できる。ここで、RGBカメラ20bは、可視光領域の電磁波の物体による反射波を感知する装置である。
【0102】
・上記実施形態では、各拠点で、3次元センサの数を同一としたが、これに限らない。
「拠点の数について」
・上記実施形態では、拠点の数を2個としたが、これに限らない。たとえば、3個以上としてもよい。
【0103】
「実行装置について」
・実行装置としては、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理するたとえばASIC等の専用のハードウェア回路を備えてもよい。すなわち、実行装置は、以下の(a)~(c)のいずれかの構成であればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するプログラム格納装置とを備える。(b)上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。(c)上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【0104】
「3次元画像生成システムについて」
・3次元画像生成システムが、ユーザ端末10とサーバ40とを備えることは必須ではない。たとえば、複数のユーザ端末10のみによって3次元画像生成システムを構成してもよい。これは、たとえば
図4,6および
図9,10の処理における、ユーザ端末10間の通信にサーバ40を介在させないことで実現できる。
【符号の説明】
【0105】
10…ユーザ端末
20…3次元センサ
20a…深度センサ
20b…RGBカメラ
60a,60b,60c…マーカ
62x,62y,62z…軸