(57)【特許請求の範囲】
【請求項１】
計算領域に対応する地表面を一定の単位で区分した単位区画内の観測点で観測された水深を取得し、
前記観測点の水深を入力した場合に、前記単位区画に流出入する水流に関する境界条件を出力するモデルに、取得した前記観測点の水深を入力して前記単位区画の境界条件を推定し、
推定した前記境界条件を所定の演算式に適用して、前記単位区画内の水深の分布を示す水深分布データを生成する
処理をコンピュータが実行する情報処理方法。
【請求項２】
前記演算式は、前記単位区画内の標高を示す地形データが反映されている、
請求項１に記載の情報処理方法。
【請求項３】
前記地形データは、地物を含む地表面の標高を示す第１地形データを含み、
前記第１地形データは、前記計算領域における前記地物が水深を超えないように変換され、変換後の前記第１地形データが反映された前記演算式を用いて前記水深分布データを生成する
請求項２に記載の情報処理方法。
【請求項４】
前記水深分布データを、変換前の前記地表面の標高に応じて変換する
請求項３に記載の情報処理方法。
【請求項５】
前記水深分布データの各地点の水深を、該地点が前記地物に対応する領域に該当するか否かに応じて異なる重み係数を用いて補正する
請求項３又は４のいずれか１項に記載の情報処理方法。
【請求項６】
前記地形データはさらに、地物を除く地表面の標高を示す第２地形データを含み、
前記水深分布データを前記第２地形データに基づいて補正する
請求項３から５のいずれか１項に記載の情報処理方法。
【請求項７】
第１地点数の前記観測点の水深を取得し、
前記第１地点数の水深から、異なる組み合わせで第２地点数の水深を複数パターン抽出し、
各パターンの前記第２地点数の水深を前記モデルに入力して、複数の前記境界条件を推定し、
前記複数の境界条件に基づき、前記水深分布データを生成する
請求項１から６のいずれか１項に記載の情報処理方法。
【請求項８】
前記複数の境界条件の平均値を算出し、
算出した前記平均値に基づいて前記水深分布データを生成する
請求項７に記載の情報処理方法。
【請求項９】
前記単位区画内の第１地点数の地点の水深のうち、前記各パターンの前記第２地点数の水深の夫々を複数の前記モデルに入力して前記複数の境界条件を推定する
請求項７又は８に記載の情報処理方法。
【請求項１０】
前記モデルは、ニューラルネットワーク、多項式回帰、又は、ベイズ最適化で実現されるものである、
請求項１から９のいずれか１項に記載の情報処理方法。
【請求項１１】
前記演算式は、浅水方程式である、
請求項１から１０のいずれか１項に記載の情報処理方法。
【請求項１２】
計算領域に対応する地表面を一定の単位で区分した単位区画内の観測点で観測された水深を取得し、
前記観測点の水深を入力した場合に、前記単位区画に流出入する水流に関する境界条件を出力するモデルに、取得した前記観測点の水深を入力して前記単位区画の境界条件を推定し、
推定した前記境界条件を所定の演算式に適用して、前記単位区画内の水深の分布を示す水深分布データを生成する
処理をコンピュータに実行させるプログラム。
【請求項１３】
計算領域に対応する地表面を一定の単位で区分した単位区画内の観測点で観測された水深を取得する取得部と、
前記観測点の水深を入力した場合に、前記単位区画に流出入する水流に関する境界条件を出力するモデルに、取得した前記観測点の水深を入力して前記単位区画の境界条件を推定する推定部と
推定した前記境界条件を所定の演算式に適用して、前記単位区画内の水深の分布を示す水深分布データを生成する生成部と
を備える情報処理装置。
【請求項１４】
計算領域に対応する地表面を一定の単位で区分した単位区画内の地点の水深と、前記単位区画に流出入する水流に関する境界条件とを含む訓練データを取得し、
前記訓練データに基づき、単位区画内の観測点で観測された水深を入力した場合に該単位区画の境界条件を出力するモデルを生成する
処理をコンピュータが実行するモデル生成方法。
【請求項１５】
前記単位区画内の標高を示す地形データを取得し、
前記地形データに対応する前記単位区画の境界条件を設定し、
前記地形データ及び境界条件に基づき前記単位区画内の水深を予測するシミュレーションを行って前記訓練データを生成し、
生成した前記訓練データに基づいて前記モデルを生成する
請求項１４に記載のモデル生成方法。
【請求項１６】
前記地形データ及び境界条件を所定の演算式に適用して、前記単位区画内の水深の分布を示す水深分布データを生成し、
生成した前記水深分布データから、所定数の地点の水深を抽出し、
抽出した各地点の水深と、前記境界条件とを前記訓練データとして前記モデルを生成する
請求項１５に記載のモデル生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法、プログラム、情報処理装置及びモデル生成方法に関する。
【背景技術】
【０００２】
水害の予測や検証のため、河川等の水深を計算するシミュレーション技術がある。例えば特許文献１では、対象地域の地形データを格子状に分割し、所定の数理モデルを適用して各格子の水深を計算して、浸水分布をシミュレーションする氾濫シミュレーション装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−８４２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に係る発明のようにシミュレーションを行う場合、対象地域に流出入する水流の境界条件など、シミュレーションに必要な所定のパラメータを設定しなければならない。しかしながら、これらのパラメータは一般的に不明な場合が多く、正確なシミュレーションを困難としている。
【課題を解決するための手段】
【０００５】
一つの側面に係る情報処理方法は、計算領域に対応する地表面を一定の単位で区分した単位区画内の観測点で観測された水深を取得し、前記観測点の水深を入力した場合に、前記単位区画に流出入する水流に関する境界条件を出力するモデルに、取得した前記観測点の水深を入力して前記単位区画の境界条件を推定し、推定した前記境界条件を所定の演算式に適用して、前記単位区画内の水深の分布を示す水深分布データを生成する処理をコンピュータが実行することを特徴とする。
【発明の効果】
【０００６】
一つの側面では、精度良く水深を予測することができる。
【図面の簡単な説明】
【０００７】
【図１】水深予測システムの構成例を示す説明図である。
【図２】サーバの構成例を示すブロック図である。
【図３】推定モデルの生成処理を示す説明図である。
【図４】水深のシミュレーション計算処理に関する説明図である。
【図５】水深のシミュレーション計算処理に関する説明図である。
【図６】境界条件に関する説明図である。
【図７】標高変換処理に関する説明図である。
【図８】水深補正処理に関する説明図である。
【図９】水深予測処理に関する説明図である。
【図１０】端末の表示画面例を示す説明図である。
【図１１】サーバが実行する処理手順の一例を示すフローチャートである。
【図１２】モデル生成のサブルーチンの処理手順を示すフローチャートである。
【図１３】水深予測のサブルーチンの処理手順を示すフローチャートである。
【図１４】実施の形態２に係る標高変換処理及び水深変換処理に関する説明図である。
【図１５】実施の形態２に係るモデル生成のサブルーチンの処理手順を示すフローチャートである。
【図１６】実施の形態２に係る水深予測のサブルーチンの処理手順を示すフローチャートである。
【図１７】実施の形態３の概要を示す説明図である。
【図１８】実施の形態３に係るモデル生成のサブルーチンの処理手順を示すフローチャートである。
【図１９】実施の形態３に係る水深予測のサブルーチンの処理手順を示すフローチャートである。
【図２０】ベイズ最適化の概念を説明するための模式図である。
【発明を実施するための形態】
【０００８】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
（実施の形態１）
図１は、水深予測システムの構成例を示す説明図である。本実施の形態では、予測対象とする地域（計算領域）で観測された水深の観測値から、当該地域全体の水深の分布を予測する水深予測システムについて説明する。水深予測システムは、情報処理装置１及び端末２、２、２…を含む。各装置は、インターネット等のネットワークＮに通信接続されている。
【０００９】
情報処理装置１は、種々の情報処理、情報の送受信が可能な情報処理装置であり、例えばサーバコンピュータ、パーソナルコンピュータ等である。本実施の形態では情報処理装置１がサーバコンピュータであるものとし、以下では簡潔のためサーバ１と読み替える。サーバ１は、水深を予測する予測装置として機能し、対象地域の地表面の標高を示す地形データと、当該地域の所定数の観測点で観測された水深とから、当該地域全体の水深の分布を予測するシミュレーション計算を行う。
【００１０】
本実施の形態でサーバ１は、シミュレーション計算を行うために必要なパラメータを、機械学習によって構築された推定モデル１４１（図３等参照）を用いて推定する。具体的には、サーバ１は推定モデル１４１を用いて、所定数の観測点の水深から、対象地域に流出入する水流の境界条件（例えば流速）を推定する。サーバ１は、推定モデル１４１を用いて推定した境界条件に基づくシミュレーション計算を行い、当該地域における水深の分布を示す水深分布データを生成する。
【００１１】
端末２は、本システムを利用するユーザの端末装置であり、例えばパーソナルコンピュータ、タブレット端末、スマートフォン等である。サーバ１は、予測対象とする地域の地形データと、当該地域で観測された水深とを端末２から取得して水深分布データを生成する。
【００１２】
図２は、サーバ１の構成例を示すブロック図である。サーバ１は、制御部１１、主記憶部１２、通信部１３、及び補助記憶部１４を備える。
制御部１１は、一又は複数のＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）、ＧＰＵ（Graphics Processing Unit）等の演算処理装置を有し、補助記憶部１４に記憶されたプログラムＰを読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部１２は、ＳＲＡＭ（Static Random Access Memory）、ＤＲ
ＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等の一時記憶領域であり、制御部１１が演算処理を実行するために必要なデータを一時的に記憶する。通信部１３は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。
【００１３】
補助記憶部１４は、大容量メモリ、ハードディスク等の不揮発性記憶領域であり、制御部１１が処理を実行するために必要なプログラムＰ、その他のデータを記憶している。また、補助記憶部１４は、推定モデル１４１を記憶している。推定モデル１４１は、訓練データを学習することで生成された学習済みモデルであり、後述のように、一定の単位区画で観測された所定数の観測点の水深を入力として、当該単位区画に流出入する水流に関する境界条件を出力とするモデルである。推定モデル１４１は、人工知能ソフトウェアの一部として機能するプログラムモジュールとしての利用が想定される。
【００１４】
なお、補助記憶部１４はサーバ１に接続された外部記憶装置であってもよい。また、サーバ１は複数のコンピュータからなるマルチコンピュータであっても良く、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。
【００１５】
また、本実施の形態においてサーバ１は上記の構成に限られず、例えば操作入力を受け付ける入力部、画像を表示する表示部等を含んでもよい。また、サーバ１は、ＣＤ（Compact Disk）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ等の可搬型記憶媒体１ａを読み取る読取部を備え、可搬型記憶媒体１ａからプログラムＰを読み取って実行するようにしても良い。あるいはサーバ１は、半導体メモリ１ｂからプログラムＰを読み込んでも良い。
【００１６】
また、本実施の形態ではクラウド上のサーバ１が推定モデル１４１に基づく推定を行うものとする。ただし、これに限定されるものではなく、サーバ１が生成した推定モデル１４１をローカルの端末２にインストールし、端末２が推定モデル１４１に基づく推定を行うようにしてもよい。
【００１７】
以下では図３〜図１０に基づき、本実施の形態の概要を説明する。
サーバ１は、後述のように、予測対象とする地域の地形データ、及び当該地域の所定数の観測点で観測された水深の入力を端末２から受け付けた場合に（図１０参照）、以下の処理を実行する。まずサーバ１は、任意の境界条件をシミュレーション用のパラメータに設定した上で地形データに基づくシミュレーション計算を行う。これにより、サーバ１は、シミュレーション結果として、当該地域の水深の分布を模擬した水深分布データを生成する（図４〜図８参照）。そしてサーバ１は、生成した水深分布データと、シミュレーション時に用いた境界条件とを訓練データとして機械学習を行う。これにより、サーバ１は、観測点の水深を入力した場合に境界条件を出力する推定モデル１４１を生成する（図３参照）。
【００１８】
次に、サーバ１は、生成した推定モデル１４１に観測点の水深を入力して境界条件を推定する（図９参照）。そして、サーバ１は、推定した境界条件と、地形データとに基づくシミュレーション計算を行って水深分布データを生成する。サーバ１は、生成した水深分布データを任意の端末２に出力する。
【００１９】
なお、本実施の形態では予測の度に学習を行って推定モデル１４１を生成するものとするが、このような手法に限定されるものではない。例えば任意の地域の水深及び境界条件を学習済みの推定モデル１４１を事前に用意しておき、用意された推定モデル１４１に端末２から取得した観測点の水深を入力して境界条件を推定してもよい。
【００２０】
図３は、推定モデル１４１の生成処理を示す説明図である。図３では、計算領域に対応する地表面を一定の単位で区分した単位区画内の観測点の水深hi(x,y)と、当該単位区画
に流出入する水流に関する境界条件ｕＢＣとを含む訓練データを用いて機械学習を行い、推定モデル１４１を生成する様子を概念的に図示している。
【００２１】
推定モデル１４１について説明する前に、まず単位区画及び境界条件について説明する。単位区画は、地表面を一定の単位で区分した地表面領域であり、例えば地表面を横幅２ｋｍ、縦幅１ｋｍで矩形状に区分した領域である。なお、単位区画の横幅、縦幅等の単位は特に限定されず、その形状も矩形状に限定されるものではない。
【００２２】
境界条件は、単位区画を形成する境界面上での水流に関するパラメータであり、例えば境界面を水流が流出入する際の流速である。なお、境界条件は流速に限定されず、例えば水流量などであってもよい。図３では、単位区画に流出入する水流を矢印で図示している。図３の例では、左側面及び下側面から水流が流入し、右側面及び上側面から水流が流出している。
【００２３】
サーバ１は訓練データを学習して、単位区画内の所定数の観測点の水深から境界条件を推定する推定モデル１４１を生成する。推定モデル１４１は、例えばニューラルネットワークにより構築されるモデルである。推定モデル１４１は、観測点の水深データの入力を受け付ける入力層と、入力データから特徴量を抽出する中間層（隠れ層）と、特徴量に基づく推定結果を出力する出力層とを有する。各層は一又は複数のニューロンから成り、最終的に出力層から境界条件の推定結果を出力する。ただし、推定モデル１４１は、ニューラルネットワークに限られず、多項式回帰などにより構築されるモデルであってもよい。
【００２４】
本実施の形態でサーバ１は、複数の観測点（例えば５地点）の水深を入力した場合に、境界条件を出力する推定モデル１４１を生成する。なお、観測点は１地点であってもよい。サーバ１は、訓練データから抽出された複数地点の水深を推定モデル１４１に入力し、境界条件を出力として取得する。サーバ１は、推定モデル１４１から出力された境界条件を、訓練データにおける正解の境界条件と比較して、両者が近似するように、ニューロン間の重み等のパラメータを最適化する。これによりサーバ１は、推定モデル１４１を生成する。
【００２５】
上述の如く、本実施の形態では任意の境界条件に基づくシミュレーション計算を行って訓練用の水深分布データを生成し、生成した水深と、シミュレーション時に用いた境界条件とを訓練データとして用いる。ただし、これに限らず、訓練データとして用いる水深及び境界条件は、実際に観測された値であってもよい。
【００２６】
図４、５は、水深のシミュレーション計算処理に関する説明図である。図４では、単位区画を概念的に図示している。図５では、単位区画内のある地点における断面図を概念的に図示している。以下ではシミュレーション計算の詳細について説明する。
【００２７】
サーバ１は、対象とする単位区画の標高を示す地形データを用いて、当該単位区画内の各地点の水深を計算するシミュレーションを行う。地形データは、各地点の位置情報（例えば緯度及び経度）に対して標高値が対応付けられたデータであり、例えばＤＳＭ（Digital Surface Model；数値表層モデル）、ＤＥＭ（Digital Elevation Model；数値標高モデル）、３Ｄ地図等の地図データである。なお、地形データは単位区画内の各地点の標高を示すデータであればよく、測量方法などがＤＳＭ等と異なる他の形式のデータであってもよい。
【００２８】
地形データには、地表面に存在する建物、樹木等の地物も含めて地表面と見なした第１地形データと、第１地形データから建物、樹木等の地物を除外した第２地形データとが存在する。上記の例では、ＤＳＭ、３Ｄ地図は第１地形データに対応し、ＤＥＭは第２地形データに対応する。水深を計算するシミュレーションでは、第１地形データ及び第２地形データのいずれを用いることも可能であるが、本実施の形態では、第１地形データであるＤＳＭのデータを用いる。図５の断面図では、実線が地表面を表し、点線が水面を表し、一点鎖線が標高の基準となる基準面を表す。凸となっている部分は、建物等の地物に対応する。
【００２９】
具体的なシミュレーションの手法は特に限定されないが、本実施の形態では、流体計算手法の一種である浅水方程式を用いて計算を行う。浅水方程式は、３次元の流体方程式（Navier-Stokes equations）を２次元に近似して流体計算を行なう方程式である。具体的
に、浅水方程式では、地表面に対して垂直な方向における流速を無視し、地表面に対して平行な方向のみを考慮して流体計算を行う。
【００３０】
サーバ１は、単位区画を一定の領域ごとに離散化して計算を行う。例えば図４に示すように、サーバ１は有限体積法を用いて単位区画を格子状に分割し、各格子の中心に水深ｈ（スカラー量）を、格子同士の境界上に流速ｕ（ベクトル量）を配置して計算を行う。なお、単位区画の離散化には有限要素法などを用いてもよい。以下の説明では便宜上、分割された各格子を「セル」と呼ぶ。
【００３１】
上記のように水深をｈ、流速をｕとして、重力加速度をｇ、標高をｈ０とした場合、浅水方程式は以下の式で表される。
【００３２】
【数１】
0006813865.tif 000002
【数２】
0006813865.tif 000003
【００３３】
式（１）は運動方程式を、式（２）は連続の式（流量保存則）を表す。なお、τωは地表面の粗さの影響を表す項、τbldは地物（例えば建物（building））の影響を表す項で
ある。
【００３４】
サーバ１は、任意の境界条件を上記の方程式に適用して水深のシミュレーション計算を行う。訓練データとする境界条件は、例えばサーバ１が乱数発生器を用いて算出した乱数値であってもよく、又はユーザが手動で入力した値であってもよい。シミュレーション計算は、実際に起こり得る水深の範囲を含むような境界条件を算出する。
【００３５】
図６は、境界条件に関する説明図である。例えばサーバ１は、図６に示すように、４つの境界面のうち、２つの境界面（左側面及び下側面）を水流の流入面とし、他の２つの境界面（右側面及び上側面）を流出面とする。流出面については物理量（流速及び水深等）の空間勾配をゼロに設定し、自由に流出するものとする。また、流入量が同じであれば全体の水深の分布はあまり変わらないと考えられるため、２つの流入面のうち、一の流入面（左側面）は流速を固定値とし、他の流入面（下側面）のみ流速を可変とする。流速を固定または可変する面は、上記の逆でも問題ない。サーバ１は、可変とした境界面の流速を境界条件として設定する。
【００３６】
なお、本実施の形態では単純化のため、一の流入面のみ可変として境界条件を設定した。ただし、上記の境界条件の設定方法は一例であって、本実施の形態はこれに限定されない。例えば２つの流入面を両方とも可変としてもよく、流出面についても他の境界条件を設定してもよい。また、流入面を１面、あるいは３面としてもよい。
【００３７】
サーバ１は、上記の境界条件のほか、各セルにおける水深及び流速の初期値は固定値としてシミュレーションを行う。サーバ１は、境界条件等の設定値と、地形データが示す各セル（地点）の標高とを浅水方程式に適用し、各セルの水深ｈを計算する。これによりサーバ１は、単位区画内の水深の分布を示す水深分布データを生成する。
【００３８】
サーバ１は、境界条件を変更しながら、上記のシミュレーション計算を所定回数実行する。これによりサーバ１は、水深及び境界条件の組み合わせである訓練データを所定数生成する。サーバ１は、生成した各訓練データを用いて学習を行い、推定モデル１４１を生成する。
【００３９】
図７は、標高変換処理に関する説明図である。上述の如く、サーバ１は地形データが示す地表面の標高を参照して水深のシミュレーション計算を行う。しかし、例えば図５で例示したように、水深を超える高さの地物が存在する場合、その地物に対応する領域では水深を定義できず、直接計算することができない。そこで本実施の形態では、水深を計算できるような処理を行う。
【００４０】
具体的には、サーバ１は、地物に対応する領域（以下、「地物領域」と呼ぶ）の標高が水深を超えないように、計算領域の全領域の標高を実際の標高よりも低い高さに変換した状態で水深のシミュレーション計算を行う。それから、サーバ１は、元の標高に応じて水深を変換する。
【００４１】
図７では、左側に元の標高に対応する断面図を、右側に標高変換後の断面図を図示する。元の標高をｃｈ0,DSM（ｃ＞１）とした場合、サーバ１は、地物領域の標高を固定値ｈ0,DSMに変換する。これにより、地物領域において水面が不連続とならないようにする。サーバ１は、変換した標高の地形データに基づくシミュレーション計算を行い、各セルの水深ｈを計算する。
【００４２】
水深ｈを計算後、サーバ１は、水深ｈを、元の標高に応じて変換する。最終的に求めるべき水深をｈr,DSMとした場合、ｈr,DSM＋ｃｈ0,DSM＝ｈ＋ｈ0,DSMの関係が成り立つため、サーバ１は、ｈr,DSM＝ｈ＋ｈ0,DSM−ｃｈ0,DSMとして水深を変換する。以上より、地
物領域の水深を適切に計算することができる。
【００４３】
図８は、水深補正処理に関する説明図である。上記のように、サーバ１は実際の地表面の標高を変換してからシミュレーションを行って、各セル（地点）の水深を計算する。ここでは、さらにサーバ１は、元の標高に応じて変換した各セルの水深を、周辺セルとの加重平均を取って補正する。
【００４４】
具体的には、元の標高に応じて変換した水深をｈi,org（ｉはセル番号：）とした場合
に、下記の式（３）のように、対象のセルと他のセルとの距離ｒiに応じた重み係数ｗｉ
を計算し、各セルの加重平均を取って水深ｈを算出する。なお、ｈi,orgは、各セルでの
ｈr,DSMに対応する。
【００４５】
【数３】
0006813865.tif 000004
【００４６】
一方で、水深補正を行なう地点が地物領域に該当しない地点は、水深補正が不要となる場合がある。そこでサーバ１は、水深補正を行う地点が、地物領域ではなく、かつ、シミュレーションで計算された水深ｈi,orgが０以上の場合は、下記の式（４）に従い、異な
る重み係数ｗｉを用いて重みを大きくする。なお、地物領域の特定はマルチスケール特徴抽出法を用いて行う。サーバ１は、地形データが示す各地点の位置及び標高を３次元点群としてマルチスケール演算を行い、地物が存在することによる地表面の起伏（エッジ等）を検出する。
【数４】
0006813865.tif 000005
【００４７】
サーバ１は、数式（３）、（４）に従って各セルの水深ｈを計算する。なお、計算した水深ｈがシミュレーションで計算された水深ｈi,orgよりも小さい場合、サーバ１は、計
算した水深ｈではなく、シミュレーションで計算された水深ｈi,orgを最終的な水深ｈと
して採用する。
【００４８】
上記のように、サーバ１は、水深補正を行う地点が、地物領域に該当するか否か、及び水深ｈi,orgが０以上であるか否かに応じて重み係数ｗｉを変更し、各セルの水深ｈを計
算する。
【００４９】
図９は、水深予測処理に関する説明図である。サーバ１は、上記で生成した推定モデル１４１を用いて予測対象の単位区画の境界条件を推定し、シミュレーション計算を行って水深分布データを生成（予測）する。
【００５０】
すなわち、サーバ１は、端末２から取得した複数の観測点の水深を推定モデル１４１に入力し、単位区画に流入する水流の境界条件（流速）を推定する。サーバ１は、推定した境界条件と、端末２から取得した地形データとに基づくシミュレーション計算を行い、単位区画内の水深の分布を示す水深分布データを生成する。シミュレーション計算の手法は学習時と同様である。サーバ１は、生成した水深分布データを端末２に出力し、表示させる。なお、サーバ１にデータ入力する端末２と、水深分布データを出力する端末２とは異なる端末であってもよい。
【００５１】
図１０は、端末２の表示画面例を示す説明図である。図１０では、上述の処理をサーバ１に実行させる際に、端末２が表示する画面例を図示している。当該画面は、地形データ入力欄９１、水深入力欄９２、住所入力欄９３、水深リスト表示欄９４、水深分布表示欄９５を含む。
【００５２】
端末２は、地形データ入力欄９１、水深入力欄９２への操作入力に応じて、地形データ、及び観測点の水深に係るデータファイルの入力を受け付ける。また、端末２は、住所入力欄９３への操作入力に応じて、水深リスト表示欄９４に水深を表示する一又は複数の地点の住所の入力を受け付ける。端末２は、各入力欄に入力されたデータをサーバ１に出力し、水深予測の処理を要求する。
【００５３】
サーバ１は、端末２からの要求に従って一連の処理を実行し、予測結果を端末２に出力する。具体的には、サーバ１は、住所入力欄９３で入力された住所に対応する各地点の水深の予測値を出力すると共に、予測対象とした単位区画の地図（地形データ）に対し、各地点の水深の予測結果を重畳した水深分布図を出力する。端末２は、住所入力欄９３で入力された各住所と、当該住所に対応する地点の水深とを一覧化した水深リストを水深リスト表示欄９４に表示する。また、端末２は、水深分布図を水深分布表示欄９５に表示する。水深分布図は、水深に応じて各地点の表示態様を変更した地図であり、例えば水深に応じて各セルの表示色を変更した地図である。なお、図１０では図示の便宜上、各セルの表示色が異なる様子をハッチングにより示すのみで、地図は図示しない。ユーザは、水深リスト表示欄９４を参照して所望の住所の水深を把握し、水深分布表示欄９５で対象の地域（単位区画）全体の水深を把握することができる。
【００５４】
なお、例えば端末２は、住所入力欄９３で指定した住所に対応する地点を水深分布図に重畳（例えばアイコン表示）してもよい。これにより、所望の住所周辺の水深がどの程度であるか、ユーザが俯瞰することができる。
【００５５】
図１１は、サーバ１が実行する処理手順の一例を示すフローチャートである。図１１に基づき、サーバ１が実行する処理内容について説明する。
サーバ１は、地表面を一定の単位で区分した単位区画内の所定数の観測点の水深と、当該単位区画内の地表面の標高を示す地形データとを端末２から取得する（ステップＳ１）。
【００５６】
次に、サーバ１は、モデル生成のサブルーチンを実行する（ステップＳ２）。具体的に、サーバ１は、取得した地形データに基づくシミュレーション計算を行って当該単位区画内の水深の分布を模擬した水深分布データを生成し、生成した水深と、シミュレーション時に用いた境界条件とを訓練データとする機械学習を行って推定モデル１４１を生成する。
【００５７】
次に、サーバ１は、水深予測のサブルーチンを実行する（ステップＳ３）。具体的に、サーバ１は、生成した推定モデル１４１に観測点の水深を入力して境界条件を推定し、推定した境界条件と、地形データとに基づくシミュレーション計算を行って水深分布データを生成する。
【００５８】
そして、サーバ１は、生成した水深分布データを端末２に出力し、一連の処理を終了する（ステップＳ４）。
【００５９】
図１２は、ステップＳ２の「モデル生成のサブルーチン」の処理手順を示すフローチャートである。
サーバ１の制御部１１は、端末２から取得した地形データから、地物が存在する地物領域を特定する（ステップＳ１１）。制御部１１は、地物領域の標高が水深を超えないように、計算領域の全領域の標高を固定値に変換する（ステップＳ１２）。
【００６０】
制御部１１は、地形データに対応する単位区画の境界条件を設定する（ステップＳ１３）。境界条件は乱数値であってもよく、又はユーザが設定入力した値であってもよい。制御部１１は、設定した境界条件と、ステップＳ１２で標高を変換した地形データとに基づくシミュレーション計算を行い、単位区画内の水深の分布を模擬した水深分布データを生成する（ステップＳ１４）。この際、制御部１１は、水深を、変換前の標高に応じて変換する。
【００６１】
制御部１１は、生成した水深分布データを補正する（ステップＳ１５）。具体的には、制御部１１は、水深補正を行う地点が、地物領域に該当するか否か等に応じて異なる重み係数を用い、各地点（セル）の水深を周辺地点の水深との加重平均を取って補正する。
【００６２】
制御部１１は、シミュレーション回数が所定回数に達したか否かを判定する（ステップＳ１６）。所定回数に達していないと判定した場合（Ｓ１６：ＮＯ）、制御部１１は処理をステップＳ１３に戻す。この場合、制御部１１は再度境界条件を設定し（ステップＳ１３）、水深分布データを生成する（ステップＳ１４）。これにより、水深及び境界条件から成る訓練データが所定数生成される。
【００６３】
所定回数に達したと判定した場合（Ｓ１６：ＹＥＳ）、制御部１１は、一の訓練データから、観測点に対応する所定数の地点の水深を抽出する（ステップＳ１７）。制御部１１は、抽出した各地点の水深を推定モデル１４１に入力する（ステップＳ１８）。制御部１１は、推定モデル１４１から出力された境界条件と、訓練データにおける正解の境界条件とを比較して、推定モデル１４１のパラメータ（ニューロン間の重み等）を更新する（ステップＳ１９）。
【００６４】
制御部１１は、訓練データの学習が十分であるか否かを判定する（ステップＳ２０）。学習が十分でないと判定した場合（Ｓ２０：ＮＯ）、制御部１１は処理をステップＳ１７に戻す。この場合、制御部１１は他の訓練データから所定数の地点の水深を抽出して推定モデル１４１に入力し、推定モデル１４１のパラメータを更新する。学習が十分であると判定した場合（Ｓ２０：ＹＥＳ）、制御部１１はサブルーチンを終了する。なお、学習が十分であるか否かは損失関数を用いて判定される。
【００６５】
図１３は、ステップＳ３の「水深予測のサブルーチン」の処理手順を示すフローチャートである。
サーバ１の制御部１１は、端末２から取得した所定数の観測点の水深を推定モデル１４１に入力する（ステップＳ３１）。そして制御部１１は、推定モデル１４１に基づき、単位区画に流出入する水流の境界条件を推定する（ステップＳ３２）。
【００６６】
制御部１１は、推定した境界条件と、ステップＳ１２で標高を変換した地形データとに基づくシミュレーション計算を行い、単位区画内の水深の分布を示す水深分布データを生成する（ステップＳ３３）。制御部１１は、水深分布データが示す各地点の水深を補正する（ステップＳ３４）。制御部１１はサブルーチンを終了する。
【００６７】
なお、上記では推定モデル１４１への入力として水深のみを入力したが、観測時における降雨量など、その他のパラメータも入力に用いてもよい。
【００６８】
以上より、本実施の形態１によれば、推定モデル１４１を用いて単位区画に流出入する水流の境界条件を推定することで、水深予測のシミュレーション精度を向上させることができる。
【００６９】
また、本実施の形態１によれば、地物を含む第１地形データを取り扱う際に、計算領域の標高を十分に低い値に変換することでシミュレーションを好適に行うことができる。
【００７０】
また、本実施の形態１によれば、シミュレーションで計算した計算領域の水深を元の標高に変換することで、地物領域の水深を好適に計算することができる。
【００７１】
また、本実施の形態１によれば、水深補正を行う地点が、地物領域に対応するか否かに応じて異なる重み係数を用いて各地点の水深（例えば周辺地点の水深との加重平均）を計算することで、地物を考慮した水深予測をより好適に行うことができる。
【００７２】
（実施の形態２）
本実施の形態では、地物を含む第１地形データと、地物を除去した第２地形データとを組み合わせて水深を予測する形態について述べる。なお、以下の各実施の形態において、実施の形態１と重複する内容については同一の符号を付して説明を省略する。
【００７３】
図１４は、実施の形態２に係る標高変換処理及び水深変換処理に関する説明図である。図１４では、単位区画内の同一地点について、第１地形データに対応する断面図（左側）、第１地形データの地物領域の標高を変換した断面図（中央）、及び第２地形データに対応する断面図（右側）をそれぞれ図示している。図１４に基づき、本実施の形態の概要を説明する。
【００７４】
本実施の形態でサーバ１は、地物を含む地表面の標高を示す第１地形データと、地物を除外した地表面の標高を示す第２地形データとを用いてシミュレーション計算を行う。例えばサーバ１は、第１地形データとしてＤＳＭのデータを用い、第２地形データとしてＤＥＭのデータを用いる。例えばサーバ１は、第１地形データに基づいてシミュレーション計算を行い、第２地形データに基づいて、水深を予測する。
【００７５】
サーバ１は実施の形態１と同様に、元の地物領域の標高に応じて地物領域の水深を変換する。ここでサーバ１は、第１地形データにおける地物領域の標高と、第２地形データにおける地物領域の標高との差分に基づき、地物領域の水深を変換する。
【００７６】
第１地形データ及び第２地形データは、地物を除いた地表面の標高が同一であることが理想的であるが、実際には異なる場合がある。図１４の例では、第１地形データよりも第２地形データがわずかに低くなっている。この状態で、単純に第２地形データから計算した水深を第１地形データが示す地物領域の標高で変換した場合、相対的なずれに起因して予測精度が低下する虞がある。
【００７７】
そこでサーバ１は、第１地形データ及び第２地形データの標高の差分に基づき、地物領域の水深を変換する。例えば図１４に示すように、標高を変換した第１地形データにおける計算上の水深をｈ、標高変換後の第１地形データの標高をｈ0,DSM、第１地形データに
よる標高変換前の水深をｈr,DSM、第１地形データの元の標高をｃｈ0,DSMとし、第２地形データにおける水深をｈr,DEM、標高をｃｈ0,DEMとし、第１地形データ及び第２地形データの標高の差分をδｈDEM,DSMとする。この場合、ｈr,DSM＋ｃｈ0,DSM＝ｈr,DEM＋δｈDEM,DSM＋ｃｈ0,DEMの関係が成り立つため、ｈr,DEM＝ｈr,DSM＋ｃｈ0,DSM−ｃｈ0,DEM−δｈDEM,DSMとなる。これにより、第１地形データ及び第２地形データの相対的な標高のず
れを考慮しつつ、両者を組み合わせて水深分布データを好適に生成することができる。
【００７８】
図１５は、実施の形態２に係る「モデル生成のサブルーチン」の処理手順を示すフローチャートである。なお、以下の説明では便宜上、サーバ１は第１地形データ及び第２地形データを端末２から取得済みであるものとして説明する。
サーバ１の制御部１１は、第１地形データにおける計算領域の全領域の標高を変換し（ステップＳ２０１）、処理をステップＳ１３に移行する。
【００７９】
境界条件を設定した後（ステップＳ１３）、制御部１１は、設定した境界条件に基づき、ステップＳ２０１で変換後の第１地形データ、及び第２地形データを用いてシミュレーション計算を行い、水深分布データを生成する（ステップＳ２０２）。具体的には上述の如く、制御部１１は第１地形データを用いてシミュレーション計算を行い、水深分布データを生成する。制御部１１は、第１地形データを用いてシミュレーション計算した水深の予測値に対し、第２地形データを用いて水深の補正を行い水深分布データを生成する。
【００８０】
制御部１１は、生成した水深分布データにおける地物領域の水深を、第１地形データにおける変換前の地物領域の標高と、第２地形データにおける地物領域の標高との差分に基づいて変換する（ステップＳ２０３）。具体的には上述の如く、制御部１１は、第１地形データ及び第２地形データの標高の差分を加減して、最終的な地物領域の水深とする。制御部１１は処理をステップＳ１６に移行する。
【００８１】
図１６は、実施の形態２に係る「水深予測のサブルーチン」の処理手順を示すフローチャートである。推定モデル１４１に観測点の水深を入力して境界条件を推定した後（ステップＳ３２）、サーバ１は以下の処理を実行する。
サーバ１の制御部１１は、推定した境界条件に基づき、ステップＳ２０１で全領域の標高を変換した第１地形データ、及び第２地形データを用いて水深分布データを生成する（ステップＳ２２１）。具体的には学習時と同じく、制御部１１は、第１地形データによるシミュレーションで計算した水深に対し、第２地形データを用いて水深を変換する。すなわち、制御部１１は、地物領域の水深を、第１地形データにおける元の地物領域の標高と、第２地形データにおける地物領域の標高との差分に基づいて変換する（ステップＳ２２２）。制御部１１はサブルーチンを終了する。
【００８２】
以上より、本実施の形態２によれば、地物を含む地表面の標高を示す第１地形データと、地物を除く地表面の標高を示す第２地形データとを組み合わせて水深の予測を行うこともできる。
【００８３】
また、本実施の形態２によれば、第１地形データ及び第２地形データの標高の差分に基づいて水深を変換することで、より正確に水深を予測することができる。
【００８４】
（実施の形態３）
本実施の形態では、境界条件の推定を複数回行い、推定された各境界条件からシミュレーション計算を行う形態について説明する。
【００８５】
図１７は、実施の形態３の概要を示す説明図である。図１７では、第１地点数（例えば５地点）の観測点のうち、異なる組み合わせで抽出された第２地点数（例えば３地点）の観測点の水深を推定モデル１４１に入力し、境界条件を複数回推定する様子を図示している。図１７に基づき、本実施の形態の概要を説明する。
【００８６】
本実施の形態においてサーバ１は、端末２から第１地点数の観測点の水深を取得した場合、第１地点数よりも少ない第２地点数の水深を抽出し、推定モデル１４１に入力する。具体的には、サーバ１は、観測点の組み合わせが各々異なるように、複数パターンの第２地点数の水深を抽出する。例えば第１地点数が５地点、第２地点数が３地点である場合、１０通りの組み合わせで第２地点数の水深を抽出する。
【００８７】
例えばサーバ１は、学習時も同様に、シミュレーション計算で生成された訓練用の水深分布データから異なる組み合わせで第２地点数の水深を抽出し、各パターンの水深を学習させて複数の推定モデル１４１を生成しておく。サーバ１は、上記で抽出した各パターンの第２地点数の水深を、各々異なる推定モデル１４１に入力し、境界条件を推定する。
【００８８】
サーバ１は、各推定モデル１４１から出力された境界条件に基づき、水深分布データを生成する。具体的には、サーバ１は、各推定モデル１４１から出力された境界条件の平均値を算出し、当該平均値に基づくシミュレーション計算を行って水深分布データを生成する。
【００８９】
なお、本実施の形態では各推定モデル１４１から出力された境界条件の平均値を用いるものとするが、例えばサーバ１は、各推定モデル１４１から出力された境界条件をそのまま用いてシミュレーション計算を複数回実行し、水深分布データを複数生成してもよい。この場合、例えば各水深分布データの平均値を取って最終的な水深分布データとする。このように、サーバ１は複数の境界条件を推定し、推定した複数の境界条件を用いて水深分布データを生成可能であればよく、境界条件の平均値をシミュレーションに用いる構成は必須ではない。
【００９０】
図１８は、実施の形態３に係る「モデル生成のサブルーチン」の処理手順を示すフローチャートである。ステップＳ１６でＹＥＳの場合、サーバ１は以下の処理を実行する。
サーバ１の制御部１１は、訓練データから、一の境界条件に対応する第１地点数の水深を抽出する（ステップＳ３０１）。さらに制御部１１は、抽出した第１地点数の水深のうち、第２地点数の水深を抽出する（ステップＳ３０２）。制御部１１は、抽出した第２地点数の水深を一の推定モデル１４１に入力する（ステップＳ３０３）。制御部１１は、推定モデル１４１から出力された境界条件と、訓練データにおける正解の境界条件とを比較して、当該推定モデル１４１のパラメータを更新する（ステップＳ３０４）。
【００９１】
制御部１１は、ステップＳ３０１で抽出した第１地点数の水深について、全ての第２地点数のパターンを学習したか否か判定する（ステップＳ３０５）。学習していないパターンがあると判定した場合（Ｓ３０５：ＮＯ）、制御部１１は処理をステップＳ３０２に戻す。この場合、制御部１１は他の組み合わせで第２地点数の水深を抽出し（ステップＳ３０２）、抽出した第２地点数の水深を他の推定モデル１４１に入力して（ステップＳ３０３）、当該推定モデル１４１のパラメータを更新する（ステップＳ３０４）。
【００９２】
全ての第２地点数のパターンを学習したと判定した場合（Ｓ３０５：ＹＥＳ）、サーバ１は、訓練データの学習が十分であるか否かを判定する（ステップＳ３０６）。学習が十分でないと判定した場合（Ｓ３０６：ＮＯ）、制御部１１は処理をステップＳ３０１に戻す。この場合、制御部１１は訓練データを変更してステップＳ３０１〜Ｓ３０５の処理を実行し、複数の推定モデル１４１を生成する。訓練データの学習が十分であると判定した場合（Ｓ３０６：ＹＥＳ）、制御部１１は一連の処理を終了する。
【００９３】
図１９は、実施の形態３に係る「水深予測のサブルーチン」の処理手順を示すフローチャートである。なお、説明の便宜上、サーバ１は、第１地点数の観測点の水深と、予測対象とする単位区画の地形データとを取得済みであるものとして説明する。
サーバ１の制御部１１は、第１地点数の水深のうち、第２地点数の水深を抽出して推定モデル１４１に入力する（ステップＳ３２１）。そして制御部１１は、予測対象の単位区画の境界条件を推定する（ステップＳ３２２）。
【００９４】
制御部１１は、全ての第２地点数のパターンで境界条件を推定したか否かを判定する（ステップＳ３２３）。境界条件を推定していないパターンがあると判定した場合（Ｓ３２３：ＮＯ）、制御部１１は処理をステップＳ３２１に戻す。この場合、制御部１１は他の組み合わせで第２地点数の水深を抽出する。そして制御部１１は、抽出した水深を異なる推定モデル１４１に入力して境界条件を推定する。
【００９５】
全てのパターンで境界条件を推定したと判定した場合（Ｓ３２３：ＹＥＳ）、制御部１１は、推定した複数の境界条件の平均値を算出する（ステップＳ３２４）。制御部１１は、算出した境界条件の平均値と、取得済みの地形データとに基づくシミュレーション計算を行い、水深分布データを生成する（ステップＳ３２５）。そして、制御部１１は処理をステップＳ３６に移行する。
【００９６】
以上より、本実施の形態３によれば、境界条件を複数回推定し、シミュレーションに用いるようにすることで、予測精度を高めることができる。
【００９７】
（実施の形態４）
本実施の形態では、ベイズ最適化の手法を用いて水深分布データを生成する。
図２０はベイズ最適化の概念を説明するための模式図である。図２０の横軸は境界条件である流速ＵＢＣを示しており、縦軸は損失関数（最小化したい関数）Ｌを示している。ここでの損失関数Ｌは、横軸の境界条件に基づいてシミュレーション計算された水深の値と、観測された水深の値との差分から算出される。また、図２０の黒丸Ｂ１〜Ｂ３は初期に計算する点（任意）を意味しており、実線Ｊ１がガウス過程による回帰での平均の値であり、点線Ｊ２がその標準偏差を示している。
【００９８】
本実施形態に係るサーバ１は、計算領域に対応する地表面を一定の単位で区分した単位区画内の観測点で観測された水深を取得する。そして、この水深の値と、所定の境界条件でシミュレーション計算して得られた水深の値との二乗誤差の総和を計算し、損失関数Ｌの値として算出する。
【００９９】
次に、サーバ１は、ベイズ最適化を実行可能なモデルを用い、ガウス過程により平均・分散（標準偏差）を計算し、獲得関数を最大化する点Ｃ１〜Ｃｎを選択しながら損失関数Ｌの最小値Ｄを探索する。これにより、サーバ１は、探索された最小値Ｄに対応する境界条件を推定する。換言すると、サーバ１は、観測点の水深を入力した場合に、単位区画に流出入する水流に関する境界条件を出力するモデルに、取得した観測点の水深を入力して単位区画の境界条件を推定する。
【０１００】
そして、サーバ１は、推定した境界条件を上述した浅水方程式に適用して、単位区画内の水深の分布を示す水深分布データを生成する。
【０１０１】
以上より、本実施の形態４によれば、ベイズ最適化を実行可能なモデルを用いて単位区画に流出入する水流の境界条件を推定することで、水深予測のシミュレーション精度を向上させることができる。
【０１０２】
なお、上記説明では、境界条件のみの１変数を推定しているが、複数変数を推定することも可能である。
【０１０３】
なお、本実施の形態４においても、浅水方程式には、単位区画内の標高を示す地形データが反映されている。したがって、実施の形態１〜３で説明した水深変換及び水深補正の議論が成立する。
【０１０４】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０５】
１      サーバ（情報処理装置）
１１    制御部
１２    主記憶部
１３    通信部
１４    補助記憶部
１４１  推定モデル
２      端末
Ｐ      プログラム
【要約】
【課題】精度良く水深を予測することができる情報処理方法等を提供する。
【解決手段】情報処理方法は、計算領域に対応する地表面を一定の単位で区分した単位区画内の観測点で観測された水深を取得し、前記観測点の水深を入力した場合に、前記単位区画に流出入する水流に関する境界条件を出力するモデルに、取得した前記観測点の水深を入力して前記単位区画の境界条件を推定し、推定した前記境界条件を所定の演算式に適用して、前記単位区画内の水深の分布を示す水深分布データを生成する処理をコンピュータが実行することを特徴とする。
【選択図】図１【図１】
0006813865.tif 000006
【図２】
0006813865.tif 000007
【図３】
0006813865.tif 000008
【図４】
0006813865.tif 000009
【図５】
0006813865.tif 000010
【図６】
0006813865.tif 000011
【図７】
0006813865.tif 000012
【図８】
0006813865.tif 000013
【図９】
0006813865.tif 000014
【図１０】
0006813865.tif 000015
【図１１】
0006813865.tif 000016
【図１２】
0006813865.tif 000017
【図１３】
0006813865.tif 000018
【図１４】
0006813865.tif 000019
【図１５】
0006813865.tif 000020
【図１６】
0006813865.tif 000021
【図１７】
0006813865.tif 000022
【図１８】
0006813865.tif 000023
【図１９】
0006813865.tif 000024
【図２０】
0006813865.tif 000025