(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024172132
(43)【公開日】2024-12-12
(54)【発明の名称】学習装置、深度推定装置、深度推定モデルの生成方法、深度推定方法、及びプログラム
(51)【国際特許分類】
G01S 7/52 20060101AFI20241205BHJP
G01S 15/89 20060101ALI20241205BHJP
【FI】
G01S7/52 U
G01S15/89 B
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023089663
(22)【出願日】2023-05-31
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】000125370
【氏名又は名称】学校法人東京理科大学
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】木村 昭悟
(72)【発明者】
【氏名】入江 豪
(72)【発明者】
【氏名】本間 純平
【テーマコード(参考)】
5J083
【Fターム(参考)】
5J083AC29
5J083AD06
5J083BE41
5J083BE60
5J083DC05
5J083FA01
(57)【要約】
【課題】深度推定に任意の音波を使用可能としつつ、実用的な観点において支障なく深度推定を行う。
【解決手段】深度推定用に予め定められる推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力する深度推定モデルを生成する学習部、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
深度推定用に予め定められる推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力する深度推定モデルを生成する学習部、
を備える学習装置。
【請求項2】
補助モデル係数が適用されることで補助モデルになる第1関数近似器と、
深度推定モデル係数が適用されることで前記深度推定モデルになる第2関数近似器と、を備え、
前記学習部は、
前記学習処理において、前記補助モデルに、前記教師データに含まれる前記第1入力データを入力として与えることにより得られる第1深度画像データと、当該教師データに含まれる前記正解ラベルとの相違を示す第1損失値と、前記深度推定モデルに、当該教師データに含まれる前記第2入力データを入力として与えることにより得られる第2深度画像データと、当該教師データに含まれる前記正解ラベルとの相違を示す第2損失値とを算出し、繰り返し行う前記学習処理において、前記学習処理の処理ステップ数に応じた比率で、前記第1損失値と、前記第2損失値とを統合して統合損失値を算出し、算出した統合損失値に基づいて、新たな前記深度推定モデル係数を算出する、
請求項1に記載の学習装置。
【請求項3】
前記第1関数近似器と、前記第2関数近似器とは、同一の構成であり、前記補助モデル係数と、前記深度推定モデル係数とは、同一の値である、
請求項2に記載の学習装置。
【請求項4】
任意に定められる任意深度計測対象空間に、深度推定用に予め定められる推定用音波を出力することにより生じる反響を形成する音波を示す推定用反響データを取得する制御部と、
前記推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力するように生成された深度推定モデルと、前記制御部が取得する前記推定用反響データとによって、前記任意深度計測対象空間に対応する推定深度画像データを生成する深度推定部と、
を備える深度推定装置。
【請求項5】
深度推定用に予め定められる推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力する深度推定モデルを生成する学習ステップ
を含む深度推定モデルの生成方法。
【請求項6】
任意に定められる任意深度計測対象空間に、深度推定用に予め定められる推定用音波を出力することにより生じる反響を形成する音波を示す推定用反響データを取得する推定用反響データ取得ステップと、
前記推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力するように生成された深度推定モデルと、前記推定用反響データ取得ステップによって取得された前記推定用反響データとによって、前記任意深度計測対象空間に対応する推定深度画像データを生成する深度推定ステップと、
を含む深度推定方法。
【請求項7】
コンピュータを、
深度推定用に予め定められる推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力する深度推定モデルを生成する学習手段、
として機能させるためのプログラム。
【請求項8】
コンピュータを、
任意に定められる任意深度計測対象空間に、深度推定用に予め定められる推定用音波を出力することにより生じる反響を形成する音波を示す推定用反響データを取得する制御手段、
前記推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力するように生成された深度推定モデルと、前記制御手段が取得する前記推定用反響データとによって、前記任意深度計測対象空間に対応する推定深度画像データを生成する深度推定手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、深度推定装置、深度推定モデルの生成方法、深度推定方法、及びプログラムに関する。
【背景技術】
【0002】
自律移動ロボットの経路計画や空間のレイアウトモデリングなど、空間の奥行きの情報を示す深度マップを活用した実用技術は枚挙に暇がない。深度を計測する場合、一般には赤外光やレーザー、ステレオカメラなどを用いた深度計測用の光学計測機器が用いられることが多いが、高精度なデバイスは比較的高価であったり、厳しい設置条件があったりすることも多く、常に利用可能であるとは限らない。
【0003】
これに対して、通常のRGBカメラで撮影した単眼RGB画像から、機械学習を用いて深度マップを推定する単眼深度推定に関する試みも数多く報告されている。ただし、視認性の低い場所やプライバシー性の高い場所、あるいはカメラによる撮影が禁止されている場所などのように、必ずしもカメラを利用できない空間も存在する。
【0004】
このように、カメラを利用することができない空間における深度推定方式として、例えば、誘引音を計測対象空間に発信することにより、誘引音の反射波として得られる音響信号を利用して深度を推定する手法が報告されている(例えば、特許文献1参照)。また、ステレオRGB画像と、ステレオ反響音とを利用して、深度を推定する手法なども報告されている(例えば、非特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【非特許文献1】Chenghao Zhang, Kun Tian, Bolin Ni, Gaofeng Meng, Bin Fan, Zhaoxiang Zhang, and Chunhong Pan, “Stereo Depth Estimation with Echoes”, In Proc. European Conference on Computer Vision (ECCV), 2022.
【発明の概要】
【発明が解決しようとする課題】
【0007】
反響を利用する深度推定は、例えば、スピーカ等の音波を生成して出力する音波出力装置と、マイク等の音波を集めて電気信号に変換する音波測定装置とを用いて行われる。音波出力装置が出力する音波は、音波出力装置から遠ざかるにつれて広がり、周辺の壁や窓、家具などの物体表面で反射することにより反響を形成して音波測定装置へ到達する。そのため、音波が、音波出力装置によって出力されてから、音波測定装置に到達するまでの時間である到達時間は、音波を反射する物体表面の位置や形状によって差が生じることになる。したがって、音波の到達時間差は屋内空間の3次元構造に関する情報を示すことになり、この3次元構造に関する情報から深度を推定することができる。
【0008】
精度の良い深度の推定を行うためには、反響を形成する音波の精度を高める必要がある。しかし、例えば、音波として、可聴周波数帯域の音波を用いる場合、反響を形成する音波の精度を高めるためには、音量を一定量以上にする必要があり、仮に、騒音レベルの音量が必要になると、人が存在しない空間といった特定の空間でしか深度推定ができないといった実用上の問題が生じることになる。
【0009】
この場合、例えば、非可聴周波数帯域の音波である超音波を生成することができる音波出力装置を用いることで、騒音に関する問題を解消することができる。しかしながら、超音波を用いる場合、可聴周波数帯域の音波よりも雑音の影響を受けやすくなるなどの別の問題がある等、非可聴周波数帯域の音波を用いたからといって、直ちに反響を形成する音波の精度を高めることができるわけではない。また、深度推定に用いる音波出力装置を、非可聴周波数帯域の音波を生成する音波出力装置に制限してしまうという問題も生じることになる。
【0010】
本発明は、深度推定に任意の音波を使用可能としつつ、実用的な観点において支障なく深度推定を行うことができる技術の提供を目的としている。
【課題を解決するための手段】
【0011】
本発明の一態様は、深度推定用に予め定められる推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力する深度推定モデルを生成する学習部、を備える学習装置である。
【0012】
本発明の一態様は、任意に定められる任意深度計測対象空間に、深度推定用に予め定められる推定用音波を出力することにより生じる反響を形成する音波を示す推定用反響データを取得する制御部と、前記推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力するように生成された深度推定モデルと、前記制御部が取得する前記推定用反響データとによって、前記任意深度計測対象空間に対応する推定深度画像データを生成する深度推定部と、を備える深度推定装置である。
【0013】
本発明の一態様は、深度推定用に予め定められる推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力する深度推定モデルを生成する学習ステップを含む深度推定モデルの生成方法である。
【0014】
本発明の一態様は、任意に定められる任意深度計測対象空間に、深度推定用に予め定められる推定用音波を出力することにより生じる反響を形成する音波を示す推定用反響データを取得する推定用反響データ取得ステップと、
前記推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力するように生成された深度推定モデルと、前記推定用反響データ取得ステップによって取得された前記推定用反響データとによって、前記任意深度計測対象空間に対応する推定深度画像データを生成する深度推定ステップと、を含む深度推定方法である。
【0015】
本発明の一態様は、コンピュータを、深度推定用に予め定められる推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力する深度推定モデルを生成する学習手段、として機能させるためのプログラムである。
【0016】
本発明の一態様は、任意に定められる任意深度計測対象空間に、深度推定用に予め定められる推定用音波を出力することにより生じる反響を形成する音波を示す推定用反響データを取得する制御手段、前記推定用音波と、予め定められる補助音波とを含む第1音波を、予め定められる学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第1入力データと、前記推定用音波である第2音波を前記学習用深度計測対象空間に出力することにより生じる反響を形成する音波の特徴を示す第2入力データと、前記学習用深度計測対象空間の深度画像データとを1組の教師データとし、前記深度画像データを正解ラベルとする学習処理によって、前記教師データに含まれる前記第2入力データを入力とする場合に、当該第2入力データに対応する前記正解ラベルを出力するように生成された深度推定モデルと、前記制御手段が取得する前記推定用反響データとによって、前記任意深度計測対象空間に対応する推定深度画像データを生成する深度推定手段、として機能させるためのプログラムである。
【発明の効果】
【0017】
この発明によれば、深度推定に任意の音波を使用可能としつつ、実用的な観点において支障なく深度推定を行うことができる。
【図面の簡単な説明】
【0018】
【
図1】実施形態に係る学習装置の構成を示すブロック図である。
【
図2】実施形態に係る学習装置による学習用データの生成処理の流れを示すフローチャートである。
【
図3】実施形態に係る学習装置による学習処理の流れを示すフローチャートである。
【
図4】実施形態に係る深度推定装置の構成を示すブロック図である。
【
図5】実施形態に係る深度推定装置による深度推定処理の流れを示すフローチャートである。
【
図6】実施形態に係る学習装置及び深度推定装置を用いて行った実験結果を示すグラフである。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について図面を参照して説明する。本実施形態に係る学習装置10は、深度推定を行う深度推定モデルを学習処理によって生成する装置である。また、本実施形態に係る深度推定装置50は、学習装置10が生成する深度推定モデルを利用して深度の推定を行う装置である。
【0020】
(学習装置の構成)
図1は、学習装置10の構成を示すブロック図である。学習装置10は、音波出力部11,12、音波測定部13、深度計測部14、制御部15、学習用データ記憶部16、学習部17、モデル係数記憶部18、及び関数近似器20,21を備える。音波出力部11,12は、音波を生成して外部に出力する。音波出力部11,12の各々は、深度を計測する対象物の位置を基準とした場合に、当該基準から音波出力部11の音波の出力位置に向かう方向と、当該基準から音波出力部11の音波の出力位置に向かう方向とが、当該基準と、音波出力部11,12の各々との距離との関係で、同一の方向とみなせる程度の位置に設置される。音波出力部11,12の各々は、音波を生成して出力する手段・装置であればどのような手段・装置であってもよく、例えば、スピーカ等を適用することができる。スピーカである場合、音波出力部11,12の各々が、1つのスピーカであってもよいし、各々が複数のスピーカであってもよい。
【0021】
ここで、本実施形態における「音波」とは、物体の振動によって気体、液体、固体などの弾性体に生じる弾性波であり、可聴周波数帯域の周波数の弾性波に限定する狭義の意味の音波ではなく、可聴周波数帯域と、非可聴周波数帯域との両方を含む周波数帯域の周波数の弾性波を含む広義の意味の音波であり、いわゆる超音波や超低周波の音波を含む音波である。
【0022】
深度推定装置50において深度の推定に用いる推定用音波の周波数は、可聴周波数帯域と、非可聴周波数帯域との両方を含む周波数帯域における一部の周波数であれば、どのような周波数であってもよい。ここでは、一例として、非可聴周波数帯域の中から選択する周波数を、深度推定装置50において深度の推定に用いる推定用音波の周波数として予め定めているものとする。この場合、音波出力部11は、推定用音波と、推定用音波の周波数以外の周波数の音波である補助音波とを含む第1音波を生成して出力する。補助音波の周波数は、推定用音波の周波数以外の周波数であれば、どのような周波数であってもよく、可聴周波数帯域の周波数であってもよい。音波出力部12は、推定用音波である第2音波を生成して出力する。
【0023】
例えば、補助音波が、可聴周波数帯域の周波数の音波である場合、音波出力部11は、非可聴周波数帯域の音波と、可聴周波数帯域の音波とを生成して出力することができる性能が必要になる。その一方で、音波出力部12は、非可聴周波数帯域の音波を生成して出力することができる性能であればよいことになる。なお、音波出力部11,12の各々が生成して出力する第1音波、及び第2音波は、広範な周波数特性を解析するのに適した音波になっていることが望ましい。
【0024】
音波測定部13は、音波出力部11,12が深度計測対象空間に音波を出力することにより生じる反響を形成する音波を測定する。反響を形成する音波とは、深度計測対象空間に対して音波出力部11,12が出力する音波の反射波である。当該反射波は、深度計測対象空間に存在する物体、例えば、周辺の壁や窓、家具などの物体の表面で、音波出力部11,12が出力する音波が反射することにより生成される。音波測定部13は、音波を測定し、測定した音波を電気信号に変換する手段・装置であれば、どのような手段・装置であってもよく、例えば、マイク等の音波を集めて電気信号に変換する装置を適用することができる。
【0025】
深度計測部14は、深度計測対象空間の深度を計測して深度画像データを生成する。深度画像データとは、いわゆる深度マップのデータである。すなわち、深度画像データとは、深度計測対象空間を表す2次元画像のデータであって、画素の各々の画素値が、各々の画素に対応する深度計測対象空間の位置の深度を示す値になっているデータである。ここで、各々の画素に対応する深度計測対象空間の位置の深度とは、深度計測部14の位置を基準とする距離であって、各々の画素に対応する深度計測対象空間の位置の奥行方向の距離である。距離の単位として、任意の単位を適用することができ、例えば、メートルやミリメートルなどが適用される。深度計測部14として、例えば、LiDAR(Light Detect And Ranging / Light imaging, Detection, and Ranging)を用いたレーザースキャンデバイス、赤外光などを用いるToF(Time of Flight)カメラ、構造化照明を用いた計測装置などを適用することができる。
【0026】
制御部15は、音波出力部11,12に対して音波を生成して出力させる制御、音波測定部13に対して反響を形成する音波を測定させる制御、深度計測部14に対して深度の計測を行わせて深度画像データを生成させる制御などの処理を行う。制御部15は、音波出力部11が第1音波を出力することにより生じる反響を形成する音波を音波測定部13が測定することにより得られる測定データを第1反響データとして取得する。制御部15は、音波出力部12が第2音波を出力することにより生じる反響を形成する音波を音波測定部13が測定することにより得られる測定データを第2反響データとして取得する。制御部15は、深度計測部14が計測して生成する深度画像データを取得する。
【0027】
学習用データ記憶部16は、1つの深度計測対象空間に対して、制御部15が取得する第1反響データ、第2反響データ、及び深度画像データを関連付けて1組の学習用データとし、深度計測対象空間ごとの学習用データを記憶する。
【0028】
学習部17は、学習用データ記憶部16が記憶する学習用データの各々に含まれている第1反響データ、及び第2反響データを、時間周波数の特徴を示すデータに変換する。ここでは、例えば、学習部17は、短時間フーリエ変換によって算出するスペクトログラムを、時間周波数の特徴を示すデータとする。学習部17は、第1反響データを変換することにより生成したデータを第1入力データとし、第2反響データを変換することにより生成するデータを第2入力データとする。第1反響データと、第2反響データとは、何れも音波を測定した際に得られる時系列順に並んだ時間領域のデータであり、これらのデータの時間周波数の特徴を示すデータである第1入力データと、第2入力データとは、同一のデータ形式のデータになる。
【0029】
第1入力データ、及び第2入力データは、短時間フーリエ変換によって算出されるデータであるため、2次元、または、3次元の配列のデータとして得られることになる。2次元の場合の配列のサイズは、時間窓の数tと、周波数ビンの数bによって表されるt×bのサイズになる。3次元の場合の配列のサイズは、実数成分と複素成分の2チャンネル分の値が、配列に格納されるため、配列のサイズは、t×b×2になる。学習部17では、第1入力データ、及び第2入力データを、2次元の配列データとして生成するか、3次元の配列データとして生成するかが予め定められる。
【0030】
学習部17は、1組の学習用データに含まれている第1反響データと第2反響データの各々から生成した第1入力データと、第2入力データとを入力データとし、当該1組の学習用データに含まれている深度画像データを正解ラベルとする教師データを、学習用データごとに生成する。学習部17は、生成した教師データを用いて、教師あり学習の学習処理を行うことによって、第2入力データを入力とした場合に、当該第2入力データに対応する正解ラベルである深度画像データを出力する深度推定モデル31を生成する。当該学習処理において、学習部17は、第1入力データを入力とした場合に、当該第1入力データに対応する正解ラベルである深度画像データを出力する補助モデル30を生成する処理も行い、当該補助モデル30の生成の処理の過程において得られる情報を、深度推定モデル31の生成の処理を行う際に利用する。
【0031】
関数近似器20,21の各々は、例えば、ニューラルネットワークであり、ここでは、関数近似器20,21のニューラルネットワークの各々は、同一構成のニューラルネットワークであるとする。関数近似器20は、第1入力データのデータ形式のデータを入力データとして取り込むことが可能になっており、深度画像データと同一のデータ形式のデータを出力データとして出力するニューラルネットワークである。関数近似器21は、第2入力データのデータ形式のデータを入力データとして取り込むことが可能になっており、深度画像データと同一のデータ形式のデータを出力データとして出力するニューラルネットワークである。関数近似器20,21の各々のニューラルネットワークは、上記した入出力関係を実現できる1つ以上の畳み込み演算を含む畳み込みニューラルネットワークであれば、どのような構成のニューラルネットワークであってもよく、例えば、特許文献1に記載の技術において採用されているニューラルネットワークであってもよい。
【0032】
モデル係数記憶部18は、関数近似器20,21のニューラルネットワークの各々に共通して適用されるモデル係数を記憶する。ここで、モデル係数とは、ニューラルネットワークのニューロンに適用される重み、及びバイアスの値である。以下、モデル係数が適用された関数近似器20を補助モデル30といい、モデル係数が適用された関数近似器21を深度推定モデル31という。
【0033】
(学習装置による学習用データの生成処理)
図2は、音波出力部11,12、音波測定部13、深度計測部14、及び制御部15による学習用データの生成処理の流れを示すフローチャートである。
【0034】
ここでは、音波出力部11が生成して出力する第1音波、及び音波出力部12が生成して出力する第2音波として、広範な周波数特性を解析するのに適した形式の音波として、特許文献1に開示されているTSP(Time-Stretched-Pulse)信号の音波を利用する例について説明する。
【0035】
学習装置10の利用者は、学習用に予め定められる複数の深度計測対象空間(以下、学習用深度計測対象空間という)の中の何れか1つの学習用深度計測対象空間の方向に、第1音波、第2音波が伝搬していくように、学習装置10の向きを定める。その上で、利用者が、図示しない学習装置10の操作部を操作して、制御部15に処理を開始させる。制御部15は、操作部を介した利用者の操作を受けると、音波測定部13に測定開始指示信号を出力する。音波測定部13は、制御部15から測定開始指示信号を受けると音波の測定を開始する(Sa1)。
【0036】
制御部15は、音波測定部13に測定開始指示信号を出力した後、所定の第1の待機時間が経過すると、音波出力部11に第1音源情報を含む生成指示信号を出力する。音波出力部11は、制御部15から生成指示信号を受けると、生成指示信号に含まれている第1音源情報に基づいて、第1音波の周波数、すなわち推定用音波の周波数と、補助音波の周波数とを有するTSP信号を生成し、予め定められる所定の出力時間、生成したTSP信号を学習用深度計測対象空間の方向に出力する(Sa2)。
【0037】
制御部15は、音波測定部13が測定して時系列順に出力する測定データの中から、音波出力部11に生成指示信号を出力した時点を基準として、当該基準の前後を含む予め定められる所定の測定時間の時系列に連続した測定データを選択し、選択した測定データを第1反響データとする(Sa3)。ここで、Sa2の処理における所定の第1の待機時間は、制御部15が第1反響データを適切に取得できる状態、言い換えると、制御部15が音波出力部11に生成指示信号を出力した時点を基準として、当該基準の前後を含む所定の測定時間の全てにおいて、音波出力部11が出力する第1音波、及び当該第1音波によって生じる反響を形成する音波に対応する測定データが存在する状態になるように予め定められる。
【0038】
なお、第1反響データにおいて、少なくとも基準より前の所定の測定時間に含まれる部分の測定データは、反響を形成する音波を測定した測定データではなく、音波出力部11が出力する第1音波を測定した測定データになる。そのため、この場合の第1反響データは、より正確には、上記した「音波出力部11が第1音波を出力することにより生じる反響を形成する音波を音波測定部13が測定することにより得られる測定データ」のみを含むデータではなく、反響を形成する音波を測定した測定データを少なくとも含む時系列において連続した測定データということになる。同様に、以下で説明する第2反響データも、上記した「音波出力部12が第2音波を出力することにより生じる反響を形成する音波を音波測定部13が測定することにより得られる測定データ」のみを含むデータではなく、反響を形成する音波を測定した測定データを少なくとも含む時系列において連続した測定データということになる。
【0039】
制御部15は、音波出力部11に生成指示信号を出力した後、所定の第2の待機時間が経過すると、音波出力部12に第2音源情報を含む生成指示信号を出力する。音波出力部12は、制御部15から生成指示信号を受けると、生成指示信号に含まれている第2音源情報に基づいて、第2音波の周波数、すなわち推定用音波の周波数のTSP信号を生成し、所定の出力時間、生成したTSP信号を学習用深度計測対象空間の方向に出力する(Sa4)。制御部15は、音波測定部13が測定して時系列順に出力する測定データの中から、音波出力部12に生成指示信号を出力した時点を基準として、当該基準の前後を含む所定の測定時間の時系列に連続した測定データを選択し、選択した測定データを第2反響データとする(Sa5)。ここで、Sa4の処理における所定の第2の待機時間は、制御部15が第2反響データを適切に取得できる状態であって、かつ第1反響データと、第2反響データとが、重複しない状態、言い換えると、第1音波によって生じる反響を形成する音波が十分に減衰している状態になるように予め定められる。
【0040】
制御部15は、音波出力部12に生成指示信号を出力した後、深度計測部14に計測開始指示信号を出力する。深度計測部14は、制御部15から計測開始指示信号を受けると、学習用深度計測対象空間に対する深度の計測を開始し、計測によって得られた学習用深度計測対象空間の各位置の深度を示すデータに基づいて深度画像データを生成する。深度計測部14は、生成した深度画像データを制御部15に出力する(Sa6)。
【0041】
制御部15は、深度計測部14が出力する深度画像データを取り込む。制御部15は、Sa3,Sa5の処理において得られた第1反響データと、第2反響データと、取り込んだ深度画像データとを組み合わせて1組の学習用データとし、学習用データを学習用データ記憶部16に記録する(Sa7)。制御部15は、音波測定部13に測定終了指示信号を出力する。音波測定部13は、制御部15から測定終了指示信号を受けると音波の測定を終了し(Sa8)、これにより、
図2のフローチャートの処理が終了する。
【0042】
学習装置10の利用者は、他の学習用深度計測対象空間の方向に、第1音波、第2音波が伝搬していくように、学習装置10の向きを定める。その後、上記と同様に、利用者は、図示しない学習装置10の操作部を操作して、制御部15に処理を開始させる。これにより、再びSa1~Sa8の処理が行われる。このようにして、複数の学習用深度計測対象空間ごとの学習用データが、学習用データ記憶部16に記憶されることになる。
【0043】
なお、
図2に示す処理において、Sa2,Sa3の処理セットと、Sa4,Sa5の処理セットと、Sa6の処理とは、上記した順に限られず、任意の順で行ってもよく、例えば、Sa4,Sa5の処理セットの後、Sa6の処理を行い、その後、Sa2,Sa3の処理セットを行うといった順であってもよい。ただし、Sa2,Sa3の処理セットと、Sa4,Sa5の処理セットとの間は、前段の処理によって生じた反響の影響がなくなる程度の時間を空ける必要がある。また、Sa6の処理は、Sa1~Sa5の処理と並列に行うことが可能である処理であるため、Sa7の処理を行う前であれば、任意のタイミングで処理を行うようにしてもよい。また、Sa8の処理は、第1反響データと、第2反響データが得られた後であれば、任意のタイミングで行うようにしてもよい。
【0044】
なお、上記した
図2の処理では、Sa2,Sa4の処理において、音波出力部11,12は、所定の出力時間、それぞれ第1音波、第2音波のTSP信号を出力することを1度だけ行うようにしている。これに対して、音波出力部11,12は、所定の出力時間、TSP信号を出力することを、N回、所定の出力時間の間隔で出力するようにしてもよい(ここで、Nは、2以上の整数である)。この場合、音波出力部11が出力する第1音波のTSP信号を例とすると、制御部15は、音波測定部13が時系列に出力する測定データから、N個の第1反響データを取得することになる。制御部15は、取得したN個の第1反響データを平均したデータを、学習用データ記憶部16に記録する第1反響データとする。音波出力部12が出力する第2音波のTSP信号の場合も同様に、制御部15は、取得したN個の第2反響データを平均したデータを、学習用データ記憶部16に記録する第2反響データとする。
【0045】
(学習装置による学習処理)
図3は、学習部17と、関数近似器20,21とによる学習処理の流れを示すフローチャートである。
図3に示す処理が行われる前に、複数の学習用深度計測対象空間を対象とした
図2に示す処理が行われており、学習用データ記憶部16には、複数の学習用データが記憶されている。また、モデル係数記憶部18には、モデル係数の初期値が予め記憶されている。この状態において、学習装置10の利用者は、図示しない学習装置10の操作部を操作して、学習部17に処理を開始させる。
【0046】
学習部17は、処理を開始すると、モデル係数記憶部18に記憶されている初期値のモデル係数を関数近似器20と、関数近似器21とに適用する(Sb1)。学習部17は、内部の記憶領域に処理ステップカウンタの領域を設け、処理ステップカウンタを「0」に初期化する(Sb2)。
【0047】
学習部17は、学習用データ記憶部16から何れか1つの学習用データを選択して読み出す(Sb3)。学習部17は、読み出した学習用データに含まれている第1反響データに、短時間フーリエ変換を適用して、時間周波数の特徴を示すデータを算出する。学習部17は、第1反響データを変換して得られた時間周波数の特徴を示すデータを第1入力データとする(Sb4)。学習部17は、第1反響データの場合と同様に、読み出した学習用データに含まれている第2反響データを時間周波数の特徴を示すデータに変換し、変換により得られた時間周波数の特徴を示すデータを第2入力データとする(Sb5)。
【0048】
学習部17は、読み出した学習用データに含まれている深度画像データを正解ラベルとし、第1入力データと、第2入力データと、正解ラベルである深度画像データとを組み合わせた1組の教師データを生成する(Sb6)。なお、Sb4とSb5の処理は、逆の順に行われてもよい。
【0049】
学習部17は、第1入力データを、モデル係数が適用された関数近似器20、すなわち補助モデル30の入力層のニューロンに与える。補助モデル30は、与えられた第1入力データを取り込むと、出力層のニューロンにおいて得られる出力データを、学習部17に出力する。学習部17は、補助モデル30が出力する出力データを、第1深度画像データとして取得する(Sb7)。学習部17は、取得した第1深度画像データと、教師データに含まれている正解ラベルの深度画像データとの相違を示す第1損失値を算出する(Sb8)。
【0050】
学習部17は、第2入力データを、モデル係数が適用された関数近似器21、すなわち深度推定モデル31の入力層のニューロンに与える。深度推定モデル31は、与えられた第2入力データを取り込むと、出力層のニューロンにおいて得られる出力データを、学習部17に出力する。学習部17は、深度推定モデル31が出力する出力データを、第2深度画像データとして取得する(Sb9)。学習部17は、取得した第2深度画像データと、教師データに含まれている正解ラベルの深度画像データとの相違を示す第2損失値を算出する(Sb10)。
【0051】
学習部17は、例えば、RMSE(Root Mean Square Error:自乗平均平方根誤差)を損失関数として、第1深度画像データと、正解ラベルの深度画像データとの相違である第1損失値を算出し、第2深度画像データと、正解ラベルの深度画像データとの相違である第2損失値を算出する。ここで、相違とは、2つの同一サイズの画像データにおいて位置が同じ画素の画素値の相違を示すものであり、RMSEの場合、画素ごとの画素値の差を二乗した値を合計した値を、画素数で除算した除算値の平方根の値が、相違を示す値、すなわち損失値になる。
【0052】
学習部17は、内部の記憶領域に記憶されている処理ステップカウンタの値を参照し、参照した処理ステップカウンタの値から損失統合係数λを特定する(Sb11)。より具体的には、例えば、処理ステップカウンタの値ごとに、損失統合係数λが関連付けられたテーブルを予め生成し、生成したテーブルを学習部17の内部の記憶領域に予め記憶させておく。学習部17は、Sb11の処理において、参照した処理ステップカウンタの値に対応する損失統合係数λを、テーブルから検出して、損失統合係数λを特定する。損失統合係数λは、例えば、0以上、1以下の実数であって、処理ステップカウンタの値が小さい間小さい値になり、処理ステップカウンタの値が大きくなるにしたがって大きい値になるように予め定められる。
【0053】
学習部17は、第1損失値L1と、第2損失値L2と、損失統合係数λとに基づいて、次式(1)によって、統合損失値LTを算出する(Sb12)。
【0054】
【0055】
式(1)から分かるように、損失統合係数λとは、第1損失値L1と、第2損失値L2とを統合する際の比率である。上記したように、例えば、処理ステップカウンタの値が、小さい間、損失統合係数λが小さい値になり、処理ステップカウンタの値が、大きくなるにしたがって、損失統合係数λが大きい値になる場合、学習処理の序盤では、推定用音波と、補助音波とを含む第1音波に対応する第1損失値L1が重視され、学習処理の後半では、推定用音波である第2音波に対応する第2損失値L2が重視されることになる。
【0056】
学習部17は、算出した統合損失値LTと、モデル係数記憶部18に記憶されているモデル係数とに基づいて、例えば、確率的勾配降下法や誤差逆伝播法などを用いて、統合損失値LTを小さくする新たなモデル係数を算出する。学習部17は、新たなモデル係数を、関数近似器20と、関数近似器21とに適用し、モデル係数記憶部18に記憶されているモデル係数を、新たなモデル係数に書き換えて更新する(Sb13)。
【0057】
学習部17は、内部の記憶領域に記憶されている処理ステップカウンタの値を1増加させる(Sb14)。学習部17は、予め定められる終了条件を満たしているか否かを判定する(Sb15)。予め定められる終了条件とは、処理ステップカウンタの値が、予め定められる値になっているという条件であってもよいし、統合損失値LTの値の減少が、予め定められる繰り返し回数の間、予め定められる値の範囲内に収まっているという条件であってもよい。
【0058】
学習部17は、終了条件を満たしていないと判定した場合(Sb15、No)、再び、Sb3の処理を行い、2回目以降のSb3の処理において、学習部17は、それまでに行ったSb3の処理において、選択していない学習用データの中から何れか1つの学習用データを選択する処理を行う。ただし、学習部17は、全ての学習用データを選択し終えている場合に、更に、Sb3の処理を行う場合、例えば、選択された回数が少ない学習用データを優先して選択を行うものとする。一方、学習部17は、終了条件を満たしていると判定した場合(Sb15、Yes)、処理を終了し、これにより、
図3に示すフローチャートの処理が終了する。
【0059】
なお、
図3に示す処理において、Sb6の処理は、説明の便宜上、教師データの存在を示すために記載した処理であり、第1入力データに対して正解ラベルの深度画像データを関連付ける処理を、Sb8の処理で行い、第2入力データに対して正解ラベルの深度画像データを関連付ける処理を、Sb10の処理で行うようにしてもよい。このようにした場合に、Sb6の処理を除くSb4~Sb10の処理は、上記した順に限られず、Sb4の処理の後に、Sb7の処理が行われ、Sb7の処理の後に、Sb8の処理が行われるという順、及びSb5の処理の後に、Sb9の処理が行われ、Sb9の処理の後に、Sb10の処理が行われるという順が、維持されるのであれば、どのような順で行われてもよい。
【0060】
(深度推定装置の構成)
図4は、深度推定装置50の構成を示すブロック図である。深度推定装置50において、学習装置10と同一の構成については、同一の符号を付し、以下、異なる構成について説明する。深度推定装置50は、音波出力部12、音波測定部13、制御部51、学習済みモデル係数記憶部52、深度推定部53、及び関数近似器21を備える。
【0061】
制御部51は、音波出力部12に対して音波を生成して出力させる制御、音波測定部13に対して反響を形成する音波を測定させる制御などの処理を行う。制御部51は、学習装置10の制御部15が、第2反響データを得る際の手順と同様の手順によって、音波出力部12に第2音波を出力させて、音波測定部13が時系列に出力する測定データから推定用反響データを取得する。
【0062】
学習済みモデル係数記憶部52は、
図3のフローチャートの処理を終了した際に、学習装置10のモデル係数記憶部18に記憶されている学習済みのモデル係数を記憶する。
【0063】
深度推定部53は、制御部51が取得する推定用反響データを、学習部17が行うのと同一の手順によって時間周波数の特徴を示すデータに変換し、変換により得られる時間周波数の特徴を示すデータを入力データとする。したがって、深度推定部53における入力データのデータ形式は、学習部17における第2入力データのデータ形式と同一になる。
【0064】
深度推定部53は、関数近似器21に、学習済みモデル係数記憶部52が記憶する学習済みのモデル係数を適用して、学習済み深度推定モデル31aを生成する。深度推定部53は、学習済み深度推定モデル31aと、入力データとに基づいて、任意の深度計測対象空間に対する推定深度画像データを生成する。
【0065】
(深度推定装置による深度推定処理)
図5は、深度推定装置50による深度推定処理の流れを示すフローチャートである。深度推定装置50の利用者は、任意に定める深度計測対象空間の方向に、音波出力部12が出力する第2音波が伝搬していくように、深度推定装置50の向きを定める。その後、利用者は、図示しない深度推定装置50の操作部を操作して、深度推定部53に処理を開始させる。
【0066】
深度推定部53は、操作部を介した利用者の操作を受けると、学習済みモデル係数記憶部52から学習済みのモデル係数を読み出す。深度推定部53は、読み出した学習済みのモデル係数を関数近似器21に適用して学習済み深度推定モデル31aを生成する(Sc1)。深度推定部53は、制御部51に開始指示信号を出力する。制御部51は、深度推定部53から開始指示信号を受けると、音波測定部13に測定開始指示信号を出力する。音波測定部13は、制御部51から測定開始指示信号を受けると音波の測定を開始する(Sc2)。
【0067】
制御部51は、音波測定部13に測定開始指示信号を出力した後、所定の第3の待機時間が経過すると、音波出力部12に第2音源情報を含む生成指示信号を出力する。音波出力部12は、制御部51から生成指示信号を受けると、生成指示信号に含まれている第2音源情報に基づいて、第2音波の周波数、すなわち推定用音波の周波数のTSP信号を生成し、所定の出力時間、生成したTSP信号を学習用深度計測対象空間の方向に出力する(Sc3)。その後、Sa5と同一の処理であって、制御部15を制御部51に読み替え、第2反響データを推定用反響データに読み替えた処理が、Sc4の処理として行われる。なお、所定の第3の待機時間は、制御部51が推定用反響データを適切に取得できる状態になるように予め定められる。
【0068】
制御部51は、推定用反響データを取得すると、音波測定部13に測定終了指示信号を出力する。音波測定部13は、制御部51から測定終了指示信号を受けると音波の測定を終了する(Sc5)。制御部51は、取得した推定用反響データを深度推定部53に出力する。深度推定部53は、制御部51が出力する推定用反響データを取り込むと、取り込んだ推定用反響データに、短時間フーリエ変換を適用して、時間周波数の特徴を示すデータ、すなわちスペクトログラムを算出する。深度推定部53は、推定用反響データを変換して得られた時間周波数の特徴を示すデータを入力データとする(Sc6)。
【0069】
深度推定部53は、入力データを、学習済み深度推定モデル31aの入力層のニューロンに与える。学習済み深度推定モデル31aは、与えられた入力データを取り込むと、出力層のニューロンにおいて得られる出力データを、深度推定部53に出力する。深度推定部53は、学習済み深度推定モデル31aが出力する出力データを、推定深度画像データとして取り込む(Sc7)。深度推定部53は、取り込んだ推定深度画像データを外部に出力する(Sc8)。これにより、
図5に示すフローチャートの処理は終了する。ここで、外部に出力するとは、例えば、深度推定部53が、深度推定装置50に接続する表示装置に、推定深度画像データを出力して、表示装置の表示画面に、推定深度画像データの画像を表示させることであってもよい。
【0070】
(本実施形態の他の構成例)
以下、本実施形態の他の構成例について説明する。
【0071】
(第1反響データの他の取得手法について)
上記の実施形態の学習装置10において、音波出力部11は、推定用音波と、補助音波とを含む第1音波を出力し、制御部15は、音波出力部11が第1音波を出力することにより生じる反響を形成する音波を音波測定部13が測定することにより得られる測定データを第1反響データとして取得するようにしている。これに対して、以下のようなデータを、制御部15は、第1反響データとして取得するようにしてもよい。
【0072】
制御部15は、
図2のSa2,Sa3の処理において、以下の処理を行う。音波出力部12に、推定用音波として、ある下限周波数(以下、ターゲット周波数という)を有する高周波の音波を生成させて出力させる。制御部15は、音波出力部12が推定用音波を出力することにより生じる反響を形成する音波を音波測定部13が測定することにより得られる測定データを取得する。この測定データを、測定データX
Aとする。制御部15は、測定データX
Aを取得すると、音波出力部11に、補助音波として、ターゲット周波数よりも低い周波数帯域の周波数の音波を生成して出力させる。制御部15は、音波出力部11が補助音波を出力することにより生じる反響を形成する音波を音波測定部13が測定することにより得られる測定データを取得する。この測定データを、測定データX
Bとする。この場合、音波出力部11,12の各々が異なるタイミングで出力する音波が第1音波ということになる。
【0073】
制御部15は、測定データXAと、測定データXBとを所定の合成手法によって合成した測定データXを第1反響データとする。測定データXは、推定用音波による反響と、補助音波による反響とを合成した反響を示すデータということになる。所定の合成手法は、様々な手法を適用することができるが、例えば、以下の参考文献1に示されている手法を適用するようにしてもよい。
【0074】
[参考文献1:Hongyi Zhang, Moustapha Cisse, Yann N. Dauphin, and David Lopez-Paz, “mixup: BEYOND EMPIRICAL RISK MINIMIZATION”, Proc. International Conference on Learning Representations (ICLR), 2018]
【0075】
参考文献1に示されている所定の合成手法を用いる場合、制御部15は、次式(2)によって、測定データXAと、測定データXBを合成して測定データXを生成する。
【0076】
【0077】
式(2)において、αは混合比であり、0以上1以下の実数である。αは予め定められていてもよいし、制御部15が、式(2)によって合成を行うごとに、0以上1以下の乱数を生成し、生成した乱数をαとしてもよい。なお、この場合において、制御部15は、Sa4,Sa5の処理を行って第2反響データを取得するようにしてもよいし、Sa4,Sa5の処理を行わずに、測定データXAを、そのまま第2反響データとしてもよい。また、上記とは逆に、補助音波を、あるターゲット周波数を有する高周波の音波とし、推定用音波を、ターゲット周波数よりも低い周波数帯域の周波数の音波としてもよい。
【0078】
(音波の種類について)
上記した実施形態では、音波出力部11,12は、一例として、TSP信号を生成して出力するようにしている。これに対して、音波出力部11,12は、例えば、一定の間隔で、可聴周波数帯域と、非可聴周波数帯域との両方を含む周波数帯域の間で周波数が、変化するチャープ音などの音波を生成して出力するようにしてもよいし、音響信号など、それ以外の種類の音波を生成して出力するようにしてもよい。
【0079】
(推定用音波と補助音波の関係について)
上記した実施形態では、一例として、推定用音波を、非可聴周波数帯域の中から選択する周波数の音波とし、補助音波を、推定用音波の周波数以外の周波数の音波とし、例えば、補助音波を、可聴周波数帯域の周波数の音波としてもよいとした。これに対して、推定用音波を、可聴周波数帯域の中から選択する周波数の音波とし、補助音波を、推定用音波の周波数以外の周波数の音波としてもよく、この場合に、補助音波を、非可聴周波数帯域の周波数の音波としてもよい。
【0080】
すなわち、推定用音波と、補助音波とは、周波数という音波の性質が異なる音波になっていればよいという関係がある。ここで、周波数というのは、一例であり、例えば、振幅、出力時間、雑音に対する信号の量、信号の種類などの様々な性質において、異なる性質になっていれば、どのような推定用音波と補助音波の組み合わせを採用してもよい。
【0081】
例えば、振幅という性質を異ならせる場合、推定用音波の振幅を、深度推定の際に用いる適度な振幅とし、深度推定の際には用いない補助音波の振幅を、推定用音波の振幅よりも大きい振幅としてもよい。また、例えば、出力時間という性質を異ならせる場合、推定用音波の出力時間を、深度推定の際に用いる非常に短い時間とし、深度推定の際には用いない補助音波の出力時間を、推定用音波の出力時間よりも長くするようにしてもよい。ただし、この場合、上記した所定の測定時間を、補助音波の出力時間に合わせて定める必要がある。
【0082】
また、例えば、雑音に対する信号の量、すなわち信号対雑音比という性質を異ならせる場合、推定用音波と、補助音波とに対して何らかの信号を重畳させることを前提として、推定用音波を、深度推定の際に用いる信号対雑音比の低い音波とし、補助音波を、推定用音波の信号対雑音比とは異なる様々な信号対雑音比を有する音波としてもよい。また、例えば、信号の種類を異ならせる場合、推定用音波と、補助音波とに対して何らかの信号を重畳させることを前提として、推定用音波には、深度推定の際に用いる信号を符号化等によって重畳させた音波とし、補助音波には、深度推定の際に用いる信号とは異なる信号を符号化等によって重畳させた音波とするようにしてもよい。
【0083】
(複数の音波の測定データが得られる場合について)
上記した実施形態では、音波測定部13は、一系列の測定データを出力するようにしている。そのため、制御部15は、
図2に示す処理において、第1音波に対して得られる一系列の測定データから第1反響データを取得し、第2音波に対して得られる一系列の測定データから第2反響データを取得する。これに対して、例えば、音波測定部13が、複数のマイクで構成されているとし、マイクの個数が、M個(ただし、Mは2以上の整数)であるとする。この場合、音波測定部13は、M個のマイクの各々が測定したM個の系列の測定データを出力することになる。制御部15は、第1音波に対して得らえるM個の系列の測定データからM個の第1反響データを取得し、第2音波に対して得らえるM個の系列の測定データからM個の第2反響データを取得する。したがって、制御部15が、学習用データ記憶部16に記録する1組の学習用データには、M個の第1反響データと、M個の第2反響データと、1つの深度画像データが含まれることになる。
【0084】
学習部17は、1組の学習用データにM個の第1反響データと、M個の第2反響データが含まれる場合、以下のようにして、第1入力データと、第2入力データとを生成する。ここでは、学習部17において、短時間フーリエ変換によって2次元の配列データを生成することが定められているとする。この場合、学習部17は、
図3のSb4の処理において、M個の第1反響データの各々に対して短時間フーリエ変換を適用して、M個のスペクトログラムを算出する。M個のスペクトログラムの各々は、t×bのサイズの配列データとして得られる。そのため、学習部17は、M個のt×bのサイズの配列を結合して、t×b×Mのサイズの配列とし、この配列を、第1入力データとする。学習部17は、同様の手順により、M個の第2反響データからt×b×Mのサイズの配列のデータである第2入力データを生成する。なお、学習部17において、短時間フーリエ変換によって3次元の配列データを生成することが定められている場合、第1入力データ、及び第2入力データは、t×b×2×Mのサイズの配列のデータになる。
【0085】
(関数近似器の入力データについて)
上記の実施形態では、関数近似器20に学習部17が与える第1入力データ、関数近似器21に学習部17が与える第2入力データ、及び関数近似器21に深度推定部53が与える入力データは、時間周波数の特徴を示すデータであり、その一例として、短時間フーリエ変換によって算出するスペクトログラムを示した。これに対して、例えば、特許文献1に示されているメルケプストラ、メル周波数ケプストラム係数(MFCC:Mel-Frequency Cepstrum Coefficients)、角度スペクトルなどを、時間周波数の特徴を示すデータとしてもよく、スペクトログラム、メルケプストラ、メル周波数ケプストラム係数、角度スペクトルなどのデータを任意に組み合わせたデータを、時間周波数の特徴を示すデータとしてもよい。
【0086】
なお、上記の実施形態では、学習部17、及び深度推定部53が、時間周波数の特徴を示すデータを算出するようにしている。これに対して、学習装置10の制御部15が、第1反響データと、第2反響データとを、それぞれ時間周波数の特徴を示すデータに変換して、学習用データ記憶部16に記録するようにしてもよい。この場合、学習用データ記憶部16に記憶される学習データが、そのまま教師データになる。この場合、学習部17は、
図3のSb4,Sb5の処理を行わなくてもよいことになる。同様に、深度推定装置50の制御部51が、推定用反響データを時間周波数の特徴を示すデータに変換して深度推定部53に出力するようにしてもよい。この場合、深度推定部53は、
図5に示すSc6の処理を行わなくてもよいことになる。
【0087】
また、関数近似器20に学習部17が与える第1入力データ、関数近似器21に学習部17が与える第2入力データ、及び関数近似器21に深度推定部53が与える入力データを、時間周波数の特徴を示すデータとせず、第1反響データ、第2反響データ、推定用反響データといった、音波測定部13が測定する測定データから選択したデータとしてもよい。この場合、学習部17は、短時間フーリエ変換を行うことなく、第1反響データを補助モデル30に与え、第2反響データを深度推定モデル31に与えることになり、深度推定部53も、同様に、短時間フーリエ変換を行うことなく、推定用反響データを、学習済み深度推定モデル31aに与えることになる。したがって、この場合、学習用データ記憶部16に記憶されている学習用データが、そのまま教師データになる。
【0088】
(損失関数について)
上記の実施形態では、RMSEを損失関数として用いるようにしている。これに対して、特許文献1において、式(1),式(2),式(3)として示されている第1損失関数の何れかを、損失関数として用いてもよいし、第1損失関数の何れかと、特許文献1において、式(5)として示されている第2損失関数とを損失関数として用いるようにしてもよい。
【0089】
(関数近似器のニューラルネットワーク及び学習処理について)
上記の実施形態では、学習部17は、
図3に示すように、統合損失値を算出するごとに、新たなモデル係数を算出するという、いわゆるオンライン処理による学習処理を行うようにしている。これに対して、学習部17は、予め定められる数の複数の学習データの各々に対応する統合損失値を算出し、算出した複数の統合損失値に基づいて、新たなモデル係数を算出する、いわゆるミニバッチ処理やバッチ処理の学習処理を行うようにしてもよい。この場合、処理ステップカウンタは、統合損失値を算出するごとに「1」増加させてもよいし、新たなモデル係数を算出するごとに「1」増加させるようにしてもよい。
【0090】
上記の実施形態では、関数近似器20,21に適用するニューラルネットワークとして、上記の「学習装置の構成」において説明した入出力関係を実現できる1つ以上の畳み込み演算を含む畳み込みニューラルネットワークであれば、どのような構成のニューラルネットワークであってもよく、例えば、特許文献1に記載の技術において採用されているニューラルネットワークであってもよいとした。これに加えて、以下の参考文献2に示されているエンコーダ・デコーダ型のCNN(Convolutional Neural Network)を適用してもよい。この場合に、学習装置10による学習処理や、深度推定装置50による深度推定処理として、参考文献2に示されている処理を行うようにしてもよい。
【0091】
[参考文献2:Kranti Kumar Parida, Siddharth Srivastava, and Gaurav Sharma, “Beyond Image to Depth: Improving Depth Prediction using Echoes”, Proc. IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021]
【0092】
(深度推定モデルと補助モデルの関係について)
上記した実施形態では、関数近似器20,21の各々を同一構成のニューラルネットワークとし、関数近似器20,21の各々に適用するモデル係数も同一になるようにしている。したがって、学習装置10を、関数近似器20を備えない構成とし、学習部17が、Sb7の処理において、関数近似器21、すなわち深度推定モデル31に、第1入力データを与えて第1深度画像データを取得するという処理にすることもできる。
【0093】
これに対して、例えば、関数近似器20,21の各々のニューラルネットワークを異なる構成のニューラルネットワークとし、かつ異なるモデル係数が適用されるようにしてもよい。例えば、関数近似器20,21の各々のニューラルネットワークを、参考文献2に示されているエンコーダ・デコーダ型のCNNとする。この場合に、エンコーダの部分については、関数近似器20,21において同一の構成とし、かつ同一のモデル係数が適用されるようにし、デコーダの部分については、関数近似器20,21において異なる構成とし、かつ異なるモデル係数が適用されるようにしてもよい。このように、関数近似器20,21の各々のニューラルネットワークを異なる構成のニューラルネットワークとし、かつ関数近似器20には、補助モデル係数が適用され、関数近似器21には、補助モデル係数とは異なる深度推定モデル係数が適用されるようにした場合、補助モデル30と、深度推定モデル31とは、異なるモデルになる。この場合、深度推定装置50の学習済みモデル係数記憶部52は、関数近似器21に適用される学習済みの深度推定モデル係数を記憶することになる。
【0094】
(学習装置と深度推定装置の構成について)
上記した実施形態では、学習装置10が、音波出力部11,12、音波測定部13、深度計測部14、制御部15、学習用データ記憶部16、学習部17、モデル係数記憶部18、及び関数近似器20,21を備えるようにしている。ただし、上記したように、
図2に示す処理と、
図3に示す処理とは、分離して行われる処理である。そのため、学習装置10を、音波出力部11,12、音波測定部13、深度計測部14、及び制御部15を備えない学習装置10とし、他の装置において生成した学習用データを、学習用データ記憶部16に記憶させて、学習装置10に
図3に示す処理を行うようにしてもよい。この場合、他の装置が、音波出力部11,12、音波測定部13、深度計測部14、及び制御部15を備えて、
図2に示す処理により学習用データを生成するようにしてもよいし、コンピュータシミュレーションによって学習用データを生成するようにしてもよい。この場合、更に、学習装置10の内部に学習用データ記憶部16を備えるのではなく、学習用データ記憶部16を、学習装置10の外部の記憶装置とし、学習装置10の学習部17が、当該外部の記憶装置に設けられた学習用データ記憶部16に接続するようにしてもよい。
【0095】
また、学習装置10と、深度推定装置50とを一体の装置として構成し、両方の装置に共通の機能部である音波出力部12、音波測定部13、関数近似器21は、1つだけ備えるようにしてもよい。更に、制御部15と、制御部51とにおいて共通の構成、及び学習部17と、深度推定部53とにおいて共通の構成については、重複して備えられるのではなく、共用されるようにし、学習済みモデル係数記憶部52を備えず、深度推定処理を行う場合には、モデル係数記憶部18に記憶される学習済みのモデル係数を利用するようにしてもよい。
【0096】
(音波出力部について)
上記した実施形態において、学習装置10は、2つの音波出力部11と、音波出力部12とを備えるようにしている。これに対して、学習装置10は、音波出力部11のみを備えるようにし、
図2のSa4の処理において、制御部15は、第2音源情報を含む生成指示信号を音波出力部11に出力して、音波出力部11に第2音波を生成させて出力させるようにしてもよい。
【0097】
(関数近似器について)
上記した実施形態では、関数近似器20,21の各々は、ニューラルネットワークであるとしている。これに対して、関数近似器20,21の各々に、教師あり学習を行うことが可能な他の機械学習の手段を適用してもよいし、関数近似器20,21の各々を、パラメータを含んだ数式で表される任意の関数を近似する関数近似器とし、学習処理によって、当該関数のパラメータを更新するようにしてもよい。
【0098】
(実験結果)
本実施形態の学習装置10、及び深度推定装置50を評価するため、以下に示す参考文献3において示されている「Replica」のデータセットを用いて実験を行った。
【0099】
[参考文献3:Julian Straub, et al. “The Replica Dataset: A Digital Replica of Indoor Spaces”, arXiv preprint, arXiv:1906.05797, 2019]
【0100】
「Replica」のデータセットには、計18箇所の屋内環境を3D(three dimensions)スキャンすることによって取得されたデータに加えて、各屋内環境の各位置、各向きにおける深度画像データと、反響を形成する音波のデータ(以下、実反響データという)とが含まれている。ただし、実反響データは、1Hz以上の可聴周波数帯域の音源を用いたものしか含まれていない。そのため、「Replica」のデータセットに含まれている屋内インパルス応答(RIR)を利用して、様々な周波数帯域の音源を用いた場合の実験用反響データを生成した。音源には、0.05秒間で、1Hz~44,100Hzまで変化するチャープ音を用い、このチャープ音に高域通過フィルタを適用して、周波数帯域を限定した音波を生成した。
【0101】
上記の実施形態における第1反響データと、第2反響データとは、上記した「第1反響データの他の取得手法について」において記載した参考文献1に示される合成手法によって生成した。この場合において、推定用音波は、ターゲット周波数を20kHz、21kHz、22kHzの3つとした3種類の音波とし、3種類の推定用音波の各々に対応する補助音波は、ターゲット周波数が19.5kHz、20kHz、21kHzの音波とした。一般に、20kHz以上が超音波と言われているため、参考のために、ターゲット周波数を19.5kHzとした可聴周波数帯域の周波数の推定用音波に対応する第2反響データを生成した。このようにして準備した、3種類の第1反響データと、4種類の第2反響データとを用いて、以下の実験を行った。
【0102】
実験1は、学習部17が、学習用データに含まれている第1反響データを用いず、第2反響データと、深度画像データと、関数近似器21とを用いて学習処理を行うことにより学習済み深度推定モデルを生成する実験である。この場合、学習部17は、第2損失値のみに基づいて、新たなモデル係数を算出する学習処理を行うことになる。実験1により生成される学習済み深度推定モデルを、以下、「推定用音波の学習済み深度推定モデル」という。
【0103】
実験2は、学習部17が、学習用データに含まれている第2反響データを用いず、第1反響データと、深度画像データと、関数近似器21とを用いて学習処理を行うことにより学習済み深度推定モデルを生成する実験である。この場合、学習部17は、第1損失値のみに基づいて、新たなモデル係数を算出する学習処理を行うことになる。実験2により生成される学習済み深度推定モデルを、以下、「合成反響の学習済み深度推定モデル」という。
【0104】
実験3は、本実施形態による手法、すなわち学習部17が、学習用データに含まれている第1反響データと、第2反響データと、深度画像データと、関数近似器20,21とを用いて学習処理を行うことにより学習済み深度推定モデル31aを生成する実験である。
【0105】
図6は、深度推定装置50の学習済み深度推定モデル31aを、それぞれ実験1、実験2、実験3の各々によって生成した「推定用音波の学習済み深度推定モデル」、「合成反響の学習済み深度推定モデル」、及び学習済み深度推定モデル31aの各々に置き換えた場合に、深度推定部53が出力する推定深度画像データと、正解となる深度画像データとのRMSEを示すグラフである。
図6のグラフにおいて、横軸は、推定用音波の周波数であり、縦軸は、RMSEである。RMSEが小さいことは、推定誤差が小さいことを示すことになる。
【0106】
符号71,72,73,74が、実験1により生成した「推定用音波の学習済み深度推定モデル」を用いた場合のグラフであり、符号81,82,83が、実験2により生成した「合成反響の学習済み深度推定モデル」を用いた場合のグラフであり、符号91,92,93が、実験3により生成した学習済み深度推定モデル31aを用いた場合のグラフである。推定用音波の周波数の増加にしたがってRMSEも増加する傾向が見られるが、実験3の場合、すなわち本実施形態の場合、全ての周波数において、実験1、及び実験2の場合よりも、RMSEが小さく、推定誤差が小さくなっていることがわかる。言い換えると、本実施形態を用いることにより、より正確な深度推定を行うことができていることが、実験1、実験2、実験3の結果によって示されていることになる。
【0107】
(本実施形態による効果)
上記したように本実施形態の学習装置10は、周波数などの音波の性質が異なる2種類の音波である推定用音波と、補助音波とを用い、推定用音波と、補助音波とを出力した際に生じる反響を形成する音波を測定して得られる第1反響データと、推定用音波を出力した際に生じる反響を形成する音波を測定して得られる第2反響データとを取得する。したがって、第1反響データは、第2反響データよりも多くの情報量を含んだデータということができる。第2反響データは、深度推定装置50において深度推定の際に用いる推定用反響データと同様に、推定用音波のみを出力する際に得られるデータである。したがって、学習装置10では、第1反響データを用いる学習処理を行うことにより、実際の深度推定の際に用いる情報量よりも、多くの情報量を用いて学習処理を行っていることになる。より多くの情報量を用いて学習処理を行うことにより、音波により生じる反響と、深度との全般的な関係性を推定する深度推定モデル31を生成することができ、このようにして生成した深度推定モデル31は、情報の欠損に対して頑健になり、実際の推定の際に、少ない情報量しか得られない推定用音波を用いたとしても、高い精度で深度を推定することが可能になる。
【0108】
ただし、第1反響データのみを用いて学習処理を行うと、常に、補助音波が存在することを前提とした深度推定モデル31になる。そのため、本実施形態の学習装置10では、第1反響データから生成する第1入力データを入力とした場合に、正解ラベルの深度画像データを出力する補助モデル30を生成する学習処理を行うと共に、第2反響データから生成する第2入力データを入力とした場合に、正解ラベルの深度画像データを出力する深度推定モデル31を生成する学習処理を行うようにしている。この場合において、学習装置10は、2つの学習処理の過程で得られる損失値を、学習処理の進行と共に変動する比率で統合し、統合した損失値に基づいて、補助モデル30と、深度推定モデル31とを更新することで、実際の深度推定の際に用いる推定用音波に対する深度推定モデル31の推定精度を高めるようにしている。より具体的には、上記したように、学習部17は、学習処理の処理回数が少ない間は、第1反響データに対応する第1損失値の重みを、第2反響データに対応する第2損失値よりも大きくし、学習処理の処理回数が多くなると、第2損失値の重みを、第1損失値よりも大きくして、第1損失値と、第2損失値を統合した統合損失値を算出するようにしている。これにより、学習処理の処理回数が少ない間は、音波により生じる反響と、深度との全般的な関係性を、より高い精度で推定する深度推定モデル31を生成しつつ、学習処理の処理回数が多くなると、推定用音波に対する推定精度を高くする深度推定モデル31を生成していくことになる。
【0109】
学習装置10において、このような学習処理を行うことにより得られた学習済み深度推定モデル31aを、深度推定装置50において用いることにより、推定用音波のみを用いて、推定精度の高い推定深度画像データが得られることになる。
【0110】
この場合に、例えば、推定用音波として、超音波を用い、補助音波として、可聴周波数帯域の音波を用い、学習用データを生成する際には、学習装置10は、超音波と、可聴周波数帯域の音波を生成して出力する音波出力部11と、超音波を生成して出力する音波出力部12とを備える必要があるが、深度推定装置50は、超音波を生成して出力する音波出力部12のみを備えればよいことになる。更に、推定用音波として、使用できる音波は、任意の音波であることから、推定用音波を、可聴周波数帯域の周波数の音波とし、補助音波を超音波とするようなことも可能である。したがって、本実施形態により、深度推定に任意の音波を使用することが可能になる。
【0111】
推定用音波として、超音波を用い、補助音波として、可聴周波数帯域の音波を用いる場合、人が存在しない空間を学習用深度計測対象空間として、補助音波の音量を大きくして、より精度の高い第1反響データを得るといったことも可能である。この場合、深度推定装置50を用いる際には、超音波である推定用音波のみを出力するため、深度を推定する対象となる深度計測対象空間に、人が存在する空間を含めることができる。
【0112】
また、推定用音波として、適度な音量の電話の呼出音や特定の楽器音といった、普段の生活において人が聴く一般的な音の音波とし、補助音波として、推定用音波の音量を騒音レベルにした音波とし、学習用データを生成する際には、人が存在しない空間を学習用深度計測対象空間として、より精度の高い第1反響データを得るといったことも可能である。この場合、深度推定装置50を用いる際には、適度な音量の一般的な音の音波である推定用音波のみを出力するため、深度を推定する対象となる深度計測対象空間に、人が存在する空間を含めることができる。したがって、本実施形態により、深度推定に任意の音波を使用可能としつつ、実用的な観点において支障なく深度推定を行うことができる。
【0113】
上述した実施形態における学習装置10、及び深度推定装置50をコンピュータで実現するようにしてもよい。その場合、学習装置10、及び深度推定装置50の各々の機能を実現するためのプログラムであって、コンピュータ読み取り可能な記録媒体に記録されるプログラム、または、インターネット等のネットワークを介して提供されるプログラムを、コンピュータシステムに読み込ませて実行することによって実現するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものであり、単一のコンピュータによって実現されるものに限られず、インターネット等のネットワークによって接続された複数のコンピュータに分散して実現されていてもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disc)-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0114】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0115】
10…学習装置、11,12…音波出力部、13…音波測定部、14…深度計測部、15…制御部、16…学習用データ記憶部、17…学習部、18…モデル係数記憶部、20,21…関数近似器、30…補助モデル、31…深度推定モデル、31a…学習済み深度推定モデル、50…深度推定装置、51…制御部、52…学習済みモデル係数記憶部、53…深度推定部