(57)【要約】      （修正有）【課題】建造物のレイアウトを表現する２Ｄフロアプランのセマンティックセグメンテーションを決定するように構成される関数を決定するための方法を提供する。【解決手段】方法は、各々のセマンティックセグメンテーションにそれぞれが関連づけられた２Ｄフロアプランを含むデータセットを供給することを含む。方法はさらに、データセットに基づいて関数を学習することを含む。【選択図】図１
2019149148.tif 000002
【特許請求の範囲】
【請求項１】
建造物のレイアウトを表現する２Ｄフロアプランのセマンティックセグメンテーションを決定するように構成される関数を決定するためのコンピュータ実行方法であって、
前記関数は、畳み込みエンコーダ・デコーダ・アーキテクチャを与えるニューラルネットワークを有し、前記ニューラルネットワークは、壁クラス、ドアクラスおよび窓クラスの中の少なくとも２つのクラスを含むクラスの集合に関するピクセルワイズ分類器を含み、
前記方法は、
各々のセマンティックセグメンテーションにそれぞれが関連づけられた２Ｄフロアプランを含むデータセットを供給すること、および、
前記データセットに基づいて前記関数の学習
を含む
方法。
【請求項２】
前記関数は０．８５より高い平均正解率、および／または、０．７５より高い平均ＩｏＵを与える
請求項１に記載の方法。
【請求項３】
前記ニューラルネットワークは重みを含み
前記学習することは、最適化アルゴリズムで、前記データセットおよび損失関数に従って前記重みを更新することを含む
請求項１または２に記載の方法。
【請求項４】
前記最適化アルゴリズムは確率的勾配降下法である
請求項３に記載の方法。
【請求項５】
前記損失関数はクロスエントロピー損失関数である
請求項４に記載の方法。
【請求項６】
前記ピクセルワイズ分類器は、それぞれの入力２Ｄフロアプランに対して、前記入力２Ｄフロアプランのセマンティックセグメンテーションマスクの推定用の各々のデータを出力し、前記セマンティックセグメンテーションマスクは、前記クラスの集合に関する、前記２Ｄフロアプランのピクセルワイズ分類であり、前記損失関数は、前記データセットの２Ｄフロアプランのそれぞれに対して、前記データセット中の前記２Ｄフロアプランに関連づけられた前記各々のセマンティックセグメンテーションに対して誤差を有するセマンティックセグメンテーションマスクの推定にペナルティを課す
請求項３〜５のいずれか１項に記載の方法。
【請求項７】
前記ピクセルワイズ分類器は、入力２Ｄフロアプランのピクセルのそれぞれに対して、前記クラスの集合中のクラスの推定用の各々のデータを出力し、前記損失関数は、前記データセットの２Ｄフロアプランのそれぞれのピクセルのそれぞれに対して、前記データセット中の前記２Ｄフロアプランに関連づけられた前記各々のセマンティックセグメンテーションによって前記ピクセルに対して供給されたクラスとは異なる各々のクラスの推定にペナルティを課す
請求項６に記載の方法。
【請求項８】
前記ピクセルワイズ分類器によって出力された前記各々のデータは、前記クラスの集合における確率の分布を含む
請求項７に記載の方法。
【請求項９】
前記損失関数は、それぞれが各々のピクセルに対する損失項の合計を含み、
それぞれの損失項は、
【数７】
2019149148.tif 000009
のタイプであり、ここで、
Ｃは前記クラスの集合中のクラスの数であり、
ｉは、前記クラスの集合中のクラスを示し、
クラスｉが、前記データセット中の前記２Ｄフロアプランに関連づけられた前記各々のセマンティックセグメンテーションによって前記各々のピクセルに対して供給された前記クラスである場合、
【数８】
2019149148.tif 000010
はバイナリインジケータであり、
【数９】
2019149148.tif 000011
は、クラスｉに対して前記ピクセルワイズ分類器によって出力された確率である
請求項８に記載の方法。
【請求項１０】
前記損失関数は多項式であり、および／または、前記ピクセルワイズ分類器はソフトマックス分類器である
請求項３〜９のいずれか１項に記載の方法。
【請求項１１】
前記データセットを供給することは、
各々の３Ｄモデルにそれぞれが関連づけられた２Ｄフロアプランのデータベースを供給することおよび、
それぞれの２Ｄフロアプランに対して前記各々の３Ｄモデルから前記各々のセマンティックセグメンテーションを決定すること
を含む
請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
建造物のレイアウトを表現する２Ｄフロアプランのセマンティックセグメンテーションを決定するためのコンピュータ実行方法であって、
前記方法は、
前記２Ｄフロアプランを供給することと、
前記２Ｄフロアプランに、請求項１〜１１のいずれか１項に記載の方法によって学習可能な関数を適用することと
を含む
方法。
【請求項１３】
建造物を表現する３Ｄモデルを生成するためのコンピュータ実行方法であって、
前記方法は、
前記建造物のレイアウトを表現する２Ｄフロアプランを供給することと、
請求項１２に記載の前記方法に従って前記２Ｄフロアプランのセマンティックセグメンテーションを決定することと、
前記セマンティックセグメンテーションに基づいて前記３Ｄモデルを決定することと
を含む
方法。
【請求項１４】
請求項１〜１１のいずれか１項に記載の方法、請求項１２に記載の方法、および／または、請求項１３に記載の方法、を実行するための命令を含むコンピュータプログラム。
【請求項１５】
請求項１４に記載のコンピュータプログラムが記録されたメモリを含むデバイスであって、
前記メモリに接続されたプロセッサおよびグラフィカルユーザインタフェースをさらに含む
デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より具体的には、建造物のレイアウトを表現する２次元（２Ｄ）のフロアプランを処理するための、方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
多くのシステムおよびプログラムが、オブジェクトの、設計、エンジニアリングおよび製造のために、マーケットに提供される。ＣＡＤは、コンピュータ援用設計（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）の頭文字であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。ＣＡＥは、コンピュータ援用エンジニアリング（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ）の頭文字であり、例えば、将来の製品の物理的な振る舞いをシミュレーションするためのソフトウェアソリューションに関する。ＣＡＭは、コンピュータ援用製造（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）の頭文字であり、例えば、製造プロセスおよびオペレーションを規定するためのソフトウェアソリューションに関する。そのようなコンピュータ援用設計システムにおいて、グラフィカルユーザインタフェースは、技術の効率に関する重要な役割を果たす。これらの技術は、製品ライフサイクル管理（ＰＬＭ）システム内に埋め込まれていてもよい。ＰＬＭは、拡張エンタープライズの概念全体にわたって、会社が、製品データを共有し、共通の工程を適用し、構想からそれらの寿命の終わりまで製品の開発のための企業知識を活用することを支援する経営戦略を指す。ダッソー・システムズ（Ｄａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓ）（ＣＡＴＩＡ、ＥＮＯＶＩＡおよびＤＥＬＭＩＡの商標のもと）によって提供されるＰＬＭソリューションは、エンジニアリングハブ（製品エンジニアリング知識を組織する）、製造ハブ（製造エンジニアリング知識を管理する）、および、企業ハブ（エンジニアリングハブおよび製造ハブの両方への企業統合および接続を可能にする）を提供する。それらすべてで、システムは、ダイナミックな、知識に基づいた製品創造と、最適化された製品定義、製造準備、生産およびサービスを推進する意志決定支援とを可能にする、リソース、プロセス、製品をリンクするオープンオブジェクトモデルをもたらす。
【０００３】
この状況および他の状況において、２Ｄフロアプランのコンピュータ化された処理を提供することは有用かもしれない。
【０００４】
研究者およびＣＡＤ開発者は、特に、３次元（３Ｄ）の建造物モデルへの２Ｄの建築のフロアプラン画像の転換を、自動化および加速しようとしてきた。いくつかの最新のアプローチを、以下に列挙する論文［１］および［２］（およびそれらの中で引用された参考文献）の中に見出すことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
２Ｄフロアプランを３Ｄモデルに変換するための１つのステージは、フロアプランの記号（これは、あるプランと別のプランとで非常に異なりうる）を認識することかもしれない。これについて、ほとんどのアプローチは、画像処理およびパターン認識技術に依存しており、従って普遍性に欠ける。パターン認識装置は、典型的には、予め定められた記号の、限定された集合に制約される。以下に列挙する論文［３］は、そのようなアプローチの一例である。
【０００６】
例えば以下に列挙する論文［５］および［６］の中で示唆されているように、提案された道筋は、通常、最初に２Ｄプランを前処理することからなる。これについて、画像処理方法および文書処理方法の両方は、テキストコンテンツから図形を分離するために使用される。次に、画像は、誤差の原因となりうる、混乱を生じさせる要素（例えば、階段、家具付きの要素）の削除によって、さらにクリーンにされる。この処理の最後において、意図されるのは、残っている線の中から、壁を表現するものを選択することである。これについては、基準の壁厚さに近い値を選ばなければならない。しかしながら、建設領域および設計者によって、異なる厚さが存在する。次に、屋外の壁および開口部が認識される。パターン認識方法は通常、開口部のタイプを決定するために使用される。例えば、論文［３］によって示唆されたアプローチでは、「弧（ａｒｃ）」のモチーフが、それぞれの開口部のまわりでサーチされ、モチーフが見つかった場合には、次にそれはドアタイプに設定され、そうでない場合には窓タイプに設定される。最後に、屋内の壁および開口部が認識される。パターン認識技術に加えて、いくつかの研究は、学習アプローチを、特に壁検出（例えば、論文［６］に示唆されているような、壁のパッチに基づくオブジェクトセグメンテーション）に使用してきた。そのような道筋では、効果がないシステムをもたらすであろう誤差および矛盾が、あるステップから別のステップに当然に蓄積されることは明らかだと思われる。このため、いくつかの研究は、最初に例えばオリジナルのファイル中のいくつかの問題を解決すること（以下に列挙する論文［４］の中で示唆されているように）によって、または、いくつかのステップの後に例えばユーザに修正に対するいくつかの選択肢を提案すること（論文［５］の中で示唆されているように）によって、認識処理にユーザを巻き込むことを試みてきた。しかしながら、論文［５］における統計が、テストされたプランの大多数に対して約１５のユーザの介在が必要とされ、いくつかのプランに対して４０を超える介在が必要とされたことを示している、ということに言及することは意味がある。いくつかのユーザの介在は、高コストおよび非常に長い処理（非リアルタイム）をもたらす。
【０００７】
論文［７］は、壁セグメンテーション、オブジェクト検出、および光学文字認識を使用して、フロアプラン画像を分析する方法を開示している。その方法は、フロアプランを解析すること（セクション３）（各々のトレーニングで全層畳み込みネットワーク技術を用い二項分類を含む壁セグメンテーションを含む）、および次に、別のトレーニングで、別で且つ異なる畳み込みネットワーク技術を使用するオブジェクト（例えばドア）の検出、を含む。
【０００８】
この状況において、２Ｄフロアプランを処理する改善されたソリューションが、依然として必要とされている。
［先に引用された学術的な論文のリスト］
［１］  Ｘｕｅｔａｏ  Ｙ．  ｅｔ  ａｌ．，  Ｇｅｎｅｒａｔｉｎｇ  ３Ｄ  Ｂｕｉｌｄｉｎｇ  Ｍｏｄｅｌｓ  ｆｒｏｍ  Ａｒｃｈｉｔｅｃｔｕｒａｌ  Ｄｒａｗｉｎｇｓ：  Ａ  Ｓｕｒｖｅｙ  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，  ２００９
［２］Ｇｉｍｅｎｅｚ，  Ｌ．  ｅｔ  ａｌ．，  Ｒｅｖｉｅｗ：  ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｏｆ  ３ｄ  ｂｕｉｌｄｉｎｇ  ｉｎｆｏｒｍａｔｉｏｎ  ｍｏｄｅｌｓ  ｆｒｏｍ  ２ｄ  ｓｃａｎｎｅｄ  ｐｌａｎｓ．  Ｊｏｕｒｎａｌ  ｏｆ  Ｂｕｉｌｄｉｎｇ  Ｅｎｇｉｎｅｅｒｉｎｇ，  ｐｐ．  ２４−３５，  ２０１５
［３］Ｇｉｍｅｎｅｚ  Ｌ．  ｅｔ  ａｌ．  Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｏｆ  ３Ｄ  ｂｕｉｌｄｉｎｇ  ｍｏｄｅｌｓ  ｆｒｏｍ  ２Ｄ  ｓｃａｎｎｅｄ  ｐｌａｎｓ−ｏｐｅｎｉｎｇ  ｔｈｅ  ｐａｔｈ  ｆｏｒ  ｅｎｈａｎｃｅｄ  ｄｅｃｉｓｉｏｎ  ｓｕｐｐｏｒｔ  ｉｎ  ｒｅｎｏｖａｔｉｏｎ  ｄｅｓｉｇｎ  ＥＣＰＰＭ  ２０１４
［４］Ｄｏｍｉｎｇｕｅｚ  Ｂ．  ｅｔ  ａｌ．  Ｓｅｍｉａｕｔｏｍａｔｉｃ  ｄｅｔｅｃｔｉｏｎ  ｏｆ  ｆｌｏｏｒ  ｔｏｐｏｌｏｇｙ  ｆｒｏｍ  ＣＡＤ  ａｒｃｈｉｔｅｃｔｕｒａｌ  ｄｒａｗｉｎｇｓ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ，  ２０１２
［５］Ｇｉｍｅｎｅｚ  Ｌ．  ｅｔ  ａｌ．  Ａ  ｎｏｖｅｌ  ａｐｐｒｏａｃｈ  ｔｏ  ２Ｄ  ｄｒａｗｉｎｇｓ−ｂａｓｅｄ  ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｏｆ  ３Ｄ  ｂｕｉｌｄｉｎｇ  ｄｉｇｉｔａｌ  ｍｏｄｅｌｓ，  Ｂｕｉｌｄｉｎｇ  ｉｎｆｏｒｍａｔｉｏｎ  ｍｏｄｅｌｉｎｇ  （ＢＩＭ）  ｉｎ  ｄｅｓｉｇｎ  ｃｏｎｓｔｒｕｃｔｉｏｎ  ａｎｄ  ｏｐｅｒａｔｉｏｎｓ，  ｖｏｌ  １４９，  ２０１５
［６］Ｈｅｒａｓ，  Ｌ．−Ｐ．  ｄｅ  ｌａｓ  ｅｔ  ａｌ．  Ｗａｌｌ  Ｐａｔｃｈ−Ｂａｓｅｄ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ｉｎ  Ａｒｃｈｉｔｅｃｔｕｒａｌ  Ｆｌｏｏｒｐｌａｎｓ，  ＩＣＤＡＲ−２０１１
［７］Ｄｏｄｇｅ，  Ｓ．  ｅｔ  ａｌ．  Ｐａｒｓｉｎｇ  ｆｌｏｏｒ  ｐｌａｎ  ｉｍａｇｅｓ，  Ｆｉｆｔｅｅｎｔｈ  ＩＡＰＲ  Ｉｎｔｅｒｎａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍａｃｈｉｎｅ  Ｖｉｓｉｏｎ  Ａｐｐｌｉｃａｔｉｏｎｓ  （ＭＶＡ），  Ｎａｇｏｙａ  Ｕｎｉｖｅｒｓｉｔｙ，  Ｎａｇｏｙａ，  Ｊａｐａｎ，  Ｍａｙ  ８−１２，  ２０１７
【課題を解決するための手段】
【０００９】
従って、建造物のレイアウトを表現する２Ｄフロアプランのセマンティックセグメンテーション（ｓｅｍａｎｔｉｃ  ｓｅｇｍｅｎｔａｔｉｏｎ）を決定するように構成される関数を決定するためのコンピュータ実行方法が提供される。本方法は、各々のセマンティックセグメンテーションにそれぞれが関連づけられた２Ｄフロアプランを含むデータセットを供給すること、を含む。本方法はさらに、前記データセットに基づいて前記関数の学習、を含む。
【００１０】
一例において、前記関数はニューラルネットワークを有してもよい。前記ニューラルネットワークは、畳み込みエンコーダ・デコーダ・アーキテクチャ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｅｎｃｏｄｅｒ−ｄｅｃｏｄｅｒ  ａｒｃｈｉｔｅｃｔｕｒｅ）を与える。前記ニューラルネットワークは、クラスの集合に関するピクセルワイズ分類器（ｐｉｘｅｌ−ｗｉｓｅ  ｃｌａｓｓｉｆｉｅｒ）をさらに含む。前記クラスの集合は、壁クラス、ドアクラスおよび窓クラスの中の少なくとも２つのクラスを含む。
【００１１】
前記ニューラルネットワークは重みを含んでもよく、前記学習は、最適化アルゴリズムで、前記データセットおよび損失関数に従って前記重みを更新することを含んでもよい。一例において、前記最適化アルゴリズムは確率的勾配降下法（ｓｔｏｃｈａｓｔｉｃ  ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ）である。一例において、前記損失関数はクロスエントロピー損失関数（ｃｒｏｓｓ−ｅｎｔｒｏｐｙ  ｌｏｓｓ  ｆｕｎｃｔｉｏｎ）である。
【００１２】
前記ピクセルワイズ分類器は、それぞれの入力２Ｄフロアプランに対して、前記入力２Ｄフロアプランのセマンティックセグメンテーションマスクの推定用の各々のデータを出力してもよい。前記セマンティックセグメンテーションマスクは、前記クラスの集合に関する、前記２Ｄフロアプランのピクセルワイズ分類である。前記損失関数は、前記データセットの２Ｄフロアプランのそれぞれに対して、前記データセット中の前記２Ｄフロアプランに関連づけられた前記各々のセマンティックセグメンテーションに対して誤っているセマンティックセグメンテーションマスクの推定にペナルティを課してもよい。一例において、誤差（誤差を有する前記推定されたセマンティックセグメンテーションマスクと前記データセット中の前記２Ｄフロアプランに関連づけられた前記各々のセマンティックセグメンテーションとの間の誤差）が大きいほど、ペナルティを課すことは一層重要である。
【００１３】
前記ピクセルワイズ分類器は、入力２Ｄフロアプランのピクセルのそれぞれに対して、前記クラスの集合中のクラスの推定用の各々のデータを出力してもよい。前記損失関数は、前記データセットの２Ｄフロアプランのそれぞれのピクセルのそれぞれに対して、前記データセット中の前記２Ｄフロアプランに関連づけられた前記各々のセマンティックセグメンテーションによって前記ピクセルに対して供給されたクラスとは異なる各々のクラスの推定にペナルティを課してもよい。
【００１４】
さらに、前記ピクセルワイズ分類器によって出力された前記各々のデータは、前記クラスの集合における確率の分布を含んでもよい。
【００１５】
さらに、前記損失関数は、それぞれが各々のピクセルに対する損失項の合計を含んでもよい。それぞれの損失項は、
【数１】
2019149148.tif 000003
のタイプであってもよく、ここで、
Ｃは前記クラスの集合中のクラスの数であり、
ｉは、前記クラスの集合中のクラスを示し、
クラスｉが、前記データセット中の前記２Ｄフロアプランに関連づけられた前記各々のセマンティックセグメンテーションによって前記各々のピクセルに対して供給された前記クラスである場合、
【数２】
2019149148.tif 000004
はバイナリインジケータであり、
【数３】
2019149148.tif 000005
は、クラスｉに対して前記ピクセルワイズ分類器によって出力された確率である。
【００１６】
さらに、前記損失関数は、多項式であってもよい。
【００１７】
本方法は、以下の１つ以上を含んでもよい。
【００１８】
前記関数は０．８５より高い平均正解率、および／または、０．７５より高い平均ＩｏＵ（ｉｎｔｅｒｓｅｃｔｉｏｎ−ｏｖｅｒ−ｕｎｉｏｎ）を与える。
【００１９】
前記関数は、畳み込みエンコーダ・デコーダ・ニューラルネットワークアーキテクチャを与える。
【００２０】
前記学習は確率的勾配降下法を含む。
【００２１】
前記確率的勾配降下法は、クロスエントロピー損失関数に基づく。および／または、前記データセットを供給することは、各々の３Ｄモデルにそれぞれが関連づけられた２Ｄフロアプランのデータベースを供給すること、および、それぞれの２Ｄフロアプランに対して前記各々の３Ｄモデルから前記各々のセマンティックセグメンテーションを決定すること、を含む。
【００２２】
建造物のレイアウトを表現する２Ｄフロアプランのセマンティックセグメンテーションを決定するためのコンピュータ実行方法がさらに提供される。本方法は、前記２Ｄフロアプランを供給することと、前記２Ｄフロアプランに、上記学習方法によって学習可能な関数を適用することとを含む。
【００２３】
建造物を表現する３Ｄモデルを生成するためのコンピュータ実行方法がさらに提供される。本方法は、前記建造物のレイアウトを表現する２Ｄフロアプランを供給することを含む。本方法はさらに、上記のセマンティックセグメンテーション法に従って前記２Ｄフロアプランのセマンティックセグメンテーションを決定することを含む。本方法はさらに、前記セマンティックセグメンテーションに基づいて前記３Ｄモデルを決定することを含む。
【００２４】
３Ｄモデル生成方法は、以下の１つ以上を含んでもよい。
【００２５】
本方法は、前記セマンティックセグメンテーションを建造物のレイアウトを表現する２Ｄモデルに変換することを含み、前記３Ｄモデルの決定は前記２Ｄモデルから行われる。
【００２６】
前記セマンティックセグメンテーションを前記２Ｄモデルに変換することは、建築のオブジェクトクラスの所定の集合の各々のクラスごとに、前記セマンティックセグメンテーションに基づいてマスクを決定すること、および、前記決定されたマスクに基づいて前記２Ｄモデルを生成すること、を含む。
【００２７】
各々のクラスごとにマスクを決定することは、前記各々のクラスに対応するセマンティックセグメンテーションのピクセルのすべてでの初期化、スケルトン化、および、線分の数を減らす線分の併合、を含む。および／または、
建築のオブジェクトクラスの前記所定の集合は前記壁クラスを含み、２Ｄモデルを生成することは、前記壁クラスに関する前記マスク中の線分の連結を含む。
【００２８】
上記方法の１つ以上を行うための命令を含むコンピュータプログラムが、さらに提供される。
【００２９】
前記データ構造および／または前記プログラムが記録されているメモリを含むデバイスがさらに提供される。前記デバイスは、例えばＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  ｓｅｒｖｉｃｅ）、または他のサーバ、またはクラウドベースのプラットフォームなどにおいて、非一時的なコンピュータ読み取り可能な媒体を形成してもよい。あるいは、前記デバイスは、前記メモリに接続されたグラフィカルユーザインタフェースに接続されたプロセッサを含んでもよい。このように、前記デバイスは、コンピュータシステムの全体または一部を形成してもよい（例えば、前記デバイスは、前記システム全体のサブシステムである）。前記システムは、前記プロセッサに接続されたグラフィカルユーザインタフェースをさらに含んでもよい。
【００３０】
このように、前記コンピュータプログラムが記録されている、コンピュータ読み取り可能な記憶媒体が提供される。
【００３１】
このように、メモリおよびグラフィカルユーザインタフェースに接続されたプロセッサを含むシステムであって、前記メモリには前記コンピュータプログラムが記録されているシステムが、さらに提供される。
ここで、非限定的な例によって、添付の図面を参照して、本発明の実施形態について記載することとする。
【図面の簡単な説明】
【００３２】
【図１】本方法を集約する処理を示す。
【図２】本システムの一例を示す。
【図３】本処理を図示する。
【図４】本処理を図示する。
【図５】本処理を図示する。
【図６】本処理を図示する。
【図７】本処理を図示する。
【図８】本処理を図示する。
【図９】本処理を図示する。
【図１０】本処理を図示する。
【図１１】本処理を図示する。
【図１２】本処理を図示する。
【図１３】本処理を図示する。
【図１４】本処理を図示する。
【図１５】本処理を図示する。
【図１６】本処理を図示する。
【図１７】本処理を図示する。
【図１８】本処理を図示する。
【図１９】本処理を図示する。
【発明を実施するための形態】
【００３３】
図１は、建築の３Ｄ再構成の処理を示す。本処理は、特に、３Ｄモデル（建造物を表現する３Ｄモデル）を構成するためのものである。本処理は、入力２Ｄフロアプラン（建造物のレイアウトを表現する入力２Ｄフロアプラン）に基づく。
【００３４】
本処理は、入力２Ｄフロアプランのセマンティックセグメンテーションを決定するために、機械学習を含む。
【００３５】
特に、本処理は、任意の与えられた２Ｄフロアプラン（それぞれの前記与えられた２Ｄフロアプランは各々の建造物のレイアウトを表現する）のセマンティックセグメンテーションを決定する（例えば、計算する、および／または、出力する）ように構成された関数を決定する（この場合、すなわち学習する、すなわちトレーニングする）ためのオフラインステージＳ１を含む。オフラインステージＳ１は、データセットの供給Ｓ１０を含む。データセットは２Ｄフロアプランを含む。それぞれの２Ｄフロアプランは、各々のセマンティックセグメンテーションに関連づけられる（データセットにおいて、すなわちリンクされる、すなわち接続される、すなわち関係する）。オフラインステージＳ１は、データセットに基づいて関数の学習（すなわちトレーニングすること）Ｓ２０をさらに含む。
【００３６】
本処理は、オフラインステージＳ１の後に、オンライン（すなわちインライン）のステージＳ２を含む。オンラインステージＳ２は、入力２Ｄフロアプランを供給することを含む。オンラインステージＳ２はさらに、入力２Ｄフロアプランに関数（オフラインステージＳ１内で機械学習されたもの）を適用することを含み、それによって、入力２Ｄフロアプランの前記セマンティックセグメンテーションを決定する。
【００３７】
オフラインステージＳ１およびオンラインステージＳ２は、異なる回数、異なる場所で、異なるシステムで、および／または、異なる人または団体によって、開始されてもよいし、および／または、行われてもよい。例えば、オフラインステージＳ１は、ソフトウェアエディタによって、および／または、生産ラインにおいて、または、サービスプロバイダによって、および／または、完全にサーバにおいて、行われてもよい。オンラインステージＳ２は、ユーザによって、および／または、少なくとも部分的にはクライアントコンピュータにおいて、行われてもよい。
【００３８】
そのような機械学習を、２Ｄフロアプランセマンティックセグメンテーションを行うために使用することは、比較的正確で強固な結果に達することを可能にする（特に、いかなる標準も欠けているため、２Ｄフロアプランに使用される表現の多様性の観点において）。さらに、フロアプランセマンティックセグメンテーションを行うために機械学習を使用することは、比較的効率的におよび／または比較的速く、そのような結果に達することを可能にする（例えば本質的にリアルタイムにおいて、および／または、ユーザの介在がわずかだけかまたは実質的になしで、例えば、ひとたび開始されると、決定Ｓ４０は完全に自動的に行われる）。
【００３９】
関数および学習Ｓ２０は、任意の方法の種類であってもよい。一例において、学習Ｓ２０は、特に、深層学習（ｄｅｅｐ−ｌｅａｒｎｉｎｇ）によって行われてもよい。後述する一例において、深層学習は、関数が畳み込みニューラルネットワーク（ＣＮＮ）アーキテクチャ（より詳細には、畳み込みエンコーダ・デコーダ・ニューラルネットワークアーキテクチャ）を与える種類のものであってもよい。学習Ｓ２０のそのような例は、特に効率的である。他の一例において、関数は、「ランダムフォレスト（ｒａｎｄｏｍ  ｆｏｒｅｓｔ）」、マルコフ確率場（Ｍａｒｋｏｖ  ｒａｎｄｏｍ  ｆｉｅｌｄ）、ＳＶＭ  （Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）のような他の機械学習技術によって学習されてもよい。そのようなアルゴリズムは、ＳＩＦＴまたはＨｏＧのような未学習の特徴を入力としてもよい。
【００４０】
建築の３Ｄ再構成の代替処理はさらに、Ｓ４０において、入力２Ｄフロアプランのセマンティックセグメンテーションを他の方法で決定してもよい。そのような代替処理は、機械学習済み関数がＳ４０において必要とされないのでオフラインステージＳ１が切り捨てられてもよいという点を除いて、他の態様に対する図１の本処理と同一であってもよい。
【００４１】
一般に、セマンティックセグメンテーションは任意のアプリケーションで使用されてもよい。例えば、セマンティックセグメンテーションは、オブジェクト検出および／またはアノテーション（ａｎｎｏｔａｔｉｏｎ）に使用されてもよい。
【００４２】
図１の処理の場合には、セマンティックセグメンテーションは、入力２Ｄフロアプランに対応する建造物を表現する３Ｄモデルの生成のためのアプリケーションＳ３において使用される。もちろん、セマンティックセグメンテーションは、そのような３Ｄモデルの決定のために基づいてもよい。３Ｄモデルは、後に、任意の方法で（例えば建造物の仮想インテリアデザインを生成するために）使用されてもよい。
【００４３】
アプリケーションＳ３は、オンラインステージＳ２に対して、異なる時に、異なる場所で、異なるシステムで、および／または、異なる人または団体によって、行われてもよい。あるいは、アプリケーションＳ３は、オンラインステージＳ２にシームレスに続いてもよいし、および／または、オンラインステージＳ２の後に自動的に開始されてもよい。一例において、ユーザはＳ３０において入力２Ｄフロアプランを供給するだけであり、３Ｄモデルを出力するステップのすべてをシステムが自動的に実行する。他の一例において、ユーザは、結果を検証するために介在してもよく、例えば、決定Ｓ４０の後に、セマンティックセグメンテーションを検証するためおよび／または修正するために、介在してもよい。
【００４４】
図１の一例において、アプリケーションＳ３は、特に、セマンティックセグメンテーションを、建造物のレイアウトを表現する２Ｄモデルへの変換Ｓ５０〜Ｓ６０を含む。次に、２Ｄモデルから３Ｄモデルの決定Ｓ７０が行われる。そのような処理は、入力２Ｄフロアプランから３Ｄモデルを生成するための効率的な道筋を形成する。入力２Ｄフロアプランは、確かに、建造物に関する組織化されていない２Ｄ情報を供給する。本処理は、Ｓ２内でセマンティックセグメンテーションを決定することによって、最初にそのような情報を組織化することを提案する。次に、２Ｄセマンティックセグメンテーションを３Ｄ形状に直接変換するのではなく、本処理は、セマンティックセグメンテーションから２Ｄモデルを構成することを提案する。そのような中間のデータ構造は、結局、より容易に３Ｄモデルを構成することを可能にする。
【００４５】
「建造物（ｂｕｉｌｄｉｎｇ）」という語句は、あらゆる建築物を意味する。本処理によって考察される「建造物」は、フラット、アパート、高層建造物、マンション、家、別荘、モニュメント、または、壁、窓および／または部屋を含む他の構築物であってもよい。
【００４６】
建造物に対する「レイアウト（ｌａｙｏｕｔ）」という語句は、建造物を構成する建築オブジェクトのインスタンスの２Ｄ配置を意味する。レイアウトは、単一のフロアの、またはいくつかのフロアの、またはその１つ以上の部分の、２Ｄ配置を描写してもよい。以下の考察は、単一のフロアに関するレイアウトに適用されるが、複数のフロアの場合への適応は容易である。
【００４７】
「建築オブジェクト（ａｒｃｈｉｔｅｃｔｕｒａｌ  ｏｂｊｅｃｔ）」は、任意の建造物の形成に含まれる任意のオブジェクトである。本処理によって考察される建築オブジェクトクラスは、建築オブジェクトクラスの所定の集合（すなわち、予めシステムに記憶され、それに対してＳ５０において実行されるループが限定されている）であってもよい。建築オブジェクトクラスの所定の集合は、壁クラス、窓クラスおよび／またはドアクラスの任意の１つまたは任意の組み合わせ（例えばすべて）を含んでもよいし、それらからなるものであってもよい。建築オブジェクトは、屋根または基礎のような他のクラスに属してもよいが、これらのクラスはレイアウトに表現されなくてもよい。
【００４８】
「２Ｄフロアプラン（２Ｄ  ｆｌｏｏｒ  ｐｌａｎ）」という語句は、知られているように、建造物のレイアウトの図面を表現する画像を意味する。図面は、線（恐らく様々な太さ）および記号を含む。２Ｄフロアプランはスケッチされてもよく、例えば、物質的なサポート（紙など）に手作業でスケッチして次にスキャンまたは撮影されてもよいし、または、例えば、デジタル的に（スケッチングソフトウェアとのユーザ相互作用を介して、タッチペンおよび／またはタッチスクリーンを例えば使用して）スケッチしてもよいし、または、プログラムによって自動的に生成されてもよい。２Ｄフロアプランを描画するための異なるルールが存在するかもしれないが、標準はない。Ｓ１０で供給されるデータセットは特に、少なくとも２つがルールについての異なる集合の各々の１つを使用して描画される２Ｄフロアプラン、および／または、例えば手作業でおよび／またはデジタル的にスケッチされる２Ｄフロアプラン、を含んでもよい。Ｓ３０において供給される入力２Ｄフロアプランは、スケッチされてもよい（すなわち、システムのユーザによって、または事前に別人によって）。
【００４９】
「セマンティックセグメンテーション」という語句は、画像に対して、知られているように、画像の任意の区分け（ｐａｒｔｉｔｉｏｎ）またはセグメンテーションを意味し、区分けの画像部分またはセグメントのそれぞれは、画像部分によって表現されたオブジェクトのクラスに割り当てられるか、または関連づけられる。２Ｄフロアプランに対して、「セマンティックセグメンテーション」は同様に、２Ｄフロアプランの部分が建築オブジェクトクラスの上記所定の集合の各々の１つに割り当てられてもよいような区分けである。一例において、２Ｄフロアプランの部分はそれぞれ、建築オブジェクトクラスの上記所定の集合の各々の１つに割り当てられてもよいし、オブジェクトの他のタイプ、および／または、背景（従って本処理の残りの部分によって切り捨てられる）に共通のクラス表現に割り当てられてもよい。
【００５０】
本処理によって決定されたセマンティックセグメンテーションは、任意の方法でそのような割り当てを実行してもよい。一例において、割り当ては、建築オブジェクトクラスの所定の集合の各々の１つにそれぞれが対応するラベルを供給し、２Ｄフロアプランの部分をそれぞれ、各々のラベルに関連づけることによって行われてもよい。一例において、セマンティックセグメンテーションは、ピクセルワイズ・セマンティックセグメンテーションであってもよい。そのような場合、決定Ｓ４０は、２Ｄフロアプランのピクセルをそれぞれ、各々の所定のラベルに割り当てることからなるものであってもよい。
【００５１】
本処理は、セマンティックセグメンテーションを、建造物のレイアウトを表現する２Ｄモデルへの変換Ｓ５０〜Ｓ６０を含む。
【００５２】
２Ｄ（各々３Ｄ）モデルは、それぞれが建築オブジェクトの各々のインスタンスを表現する２Ｄ（各々３Ｄ）モデル化オブジェクトの２Ｄ（各々３Ｄ）配置を表現するデータ構造である。データ構造は、それぞれが各々のデータフィールドを含むいくらかのデータを含んでもよく、１つ以上のデータフィールドは各々の２Ｄ（各々３Ｄ）モデル化オブジェクトを表現し、１つ以上のデータフィールドは２Ｄ（各々３Ｄ）ポジショニング（例えば共通の２Ｄ（各々３Ｄ）基準座標系に関する）を表現する。そのようなデータ構造は、表現された建築オブジェクトインスタンス間の正確な相対的ポジショニングの記述を可能にする。２Ｄモデルは、セマンティックセグメンテーションよりも高いレベルでの２Ｄ配置の記述を提供する。
【００５３】
２Ｄ（各々３Ｄ）モデル化オブジェクトは、２Ｄ（各々３Ｄ）操作（例えば剛的動作、スケーリング、および／または、任意の他の幾何学的変換、および／または、ＣＡＤ操作）のような（例えば線形時間）パラメトリック変換を可能にする位相情報、および／または、２Ｄ（各々３Ｄ）幾何学的データを含むデータ構造である。
【００５４】
２Ｄモデルは、２Ｄの幾何学的形状またはプリミティブ（例えば、様々な太さの線分および／または弧を含む）の所定の集合に制約されてもよい。そのような２Ｄプリミティブはそれぞれ、所定のパラメータの各々の数によって、完全に特徴づけられ且つ表現されてもよい。そのような数は低くてもよい（例えば、２０または１０を下回る）。例えば、太さを備える直線は、５つのパラメータ（例えば、末端の座標および太さ）によって表現されてもよい。
【００５５】
２Ｄモデルは例えば、２Ｄベクトル画像であってもよい。
【００５６】
３Ｄモデルは例えば、境界表現（Ｂ−Ｒｅｐ）のようなＣＡＤモデルであってもよく、それは、カノニカル（ｃａｎｏｎｉｃａｌ）な表面（例えば平面）、および／または、パラメトリック曲面（例えば連続的、例えばＮＵＲＢＳまたはＢスプライン）、カノニカルな曲線（例えば線）、および／または、パラメトリック曲線（例えば連続的）、および／または、３Ｄポイント、のような幾何学的オブジェクト、ならびに、これらの幾何学的オブジェクトに関する位相データ（例えば境界関係を規定する）を含む。３Ｄモデルは、任意の規格におけるＣＡＤファイル（ＳＴＥＰファイルまたは他のＣＡＤファイル形式など）として出力されてもよい。
【００５７】
建造物のレイアウトを表現する２Ｄモデルへのセマンティックセグメンテーションの変換Ｓ５０〜Ｓ６０は、比較的容易に行われるかもしれない。そのような変換は、もちろん、セマンティックセグメンテーションの画像サイズ（すなわち入力２Ｄフロアプランのサイズ）のオーダーの計算量で行われてもよい（例えばセマンティックセグメンテーションにおいて１回以上ループすることを含む）。
【００５８】
特に、変換Ｓ５０〜Ｓ６０は、それぞれが各々の建築オブジェクトクラスそれぞれに関連づけられたセマンティックセグメンテーションの接合部を、それぞれ、各々の建築オブジェクトクラスのインスタンスを表現する各々の２Ｄモデル化オブジェクトに変換すること、および次に、建築の一貫性を確保する所定のルールに従って２Ｄモデル化オブジェクトを再配置すること、を含んでもよい。ピクセルワイズ・セマンティックセグメンテーションの場合には、変換は、建築オブジェクトクラスの各々のインスタンスを表現する最大の接続部にピクセルをグループ化すること、および次に、それらを正則化するために接続部を再加工すること、を含んでもよい。
【００５９】
図１の処理はさらに、変換Ｓ５０〜Ｓ６０を、クラスごとの基準で（すなわち前記クラスにおいてループして）建築オブジェクトに行うことを提案する。これは、より容易な処理、および、より正確な結果の達成を可能にする。特に、それぞれの建築オブジェクトクラスに対して、本処理は、セマンティックセグメンテーションに基づいて、マスクの決定Ｓ５０を含む。次に、２Ｄモデルが、Ｓ６０において決定されたマスクに基づいてＳ６０において生成される。それぞれのマスクは、セマンティックセグメンテーション（Ｓ４０において決定され、アプリケーションＳ３に入力される）と同じサイズの画像であり、それぞれのマスクは、各々のクラスに関連づけられたセマンティックセグメンテーションの要素（例えばピクセル）を表現する。生成Ｓ６０は、上記のグループ化、変換（任意）、および再配置を含んでもよい。グループ化および変換は、例えばマスク中の情報以外の情報を全く使用せずに、マスクごとの基準で行われてもよい。これは、本処理を単純化する。再配置も、マスクごとの基準で行われてよいが、少なくとも１つのマスクに対して、１つ以上の他のマスク中の情報を使用する。
【００６０】
建造物を表現する３Ｄモデルの２Ｄモデルからの決定Ｓ７０も、比較的容易に行われるかもしれない。もちろん、２Ｄモデル中のそれぞれの建築オブジェクトインスタンスは、３Ｄモデル中の各々の建築オブジェクトインスタンスを直接生み出してもよい。決定することは、任意の既知のアルゴリズムを使用して行われてもよい。決定Ｓ７０は特に、２Ｄモデルの２Ｄモデル化オブジェクトのそれぞれに、各々の３Ｄポジショニングデータおよび／または高さデータを加えることを含んでもよい。一例において、これらのデータは、任意の方法で事前に決定されてもよしい、または、ユーザとの対話（ｕｓｅｒ−ｉｎｔｅｒａｃｔｉｏｎ）によって特定されてもよい。決定Ｓ７０はさらに、互換性／整合性の、チェックおよび／または管理を含んでもよい。
【００６１】
本処理は、コンピュータ実行される。これは、少なくとも１つのコンピュータまたは任意の同様のシステムによって、本処理のステップ（あるいは実質的にすべてのステップ）が実行されることを意味する。従って、本処理のステップは、コンピュータによって、恐らく完全に自動的に、あるいは半自動的に行われる。一例において、本処理のステップのうちの少なくともいくつかのトリガーは、ユーザとコンピュータとの対話によって行われてもよい。ユーザとコンピュータとの対話の要求されるレベルは、予測された自動性のレベルによって決まるものであってもよく、ユーザの希望を実行する必要性とバランスをとってもよい。一例において、このレベルは、ユーザで規定されてもよいし、および／または、予め規定されてもよい。
【００６２】
処理のコンピュータ実行の典型例は、この目的に適したシステムで処理を行うことである。システムは、メモリおよびグラフィカルユーザインタフェース（ＧＵＩ）に接続されたプロセッサを含んでもよく、メモリには、本処理を行うための命令を含むコンピュータプログラムが記録されていてもよい。メモリはまた、データベースを記憶してもよい。メモリは、そのような記憶に適した任意のハードウェアであり、いくつかの物理的に異なる部品（例えばプログラム用のもの、および恐らくデータベース用のもの）を恐らく含む。
【００６３】
システムはＣＡＤシステムであってもよく、および／または、建造物の３ＤモデルはＣＡＤシステムにロードされてもよい。ＣＡＤシステムは、ＣＡＴＩＡのような、モデル化オブジェクトの図的表現に基づいてモデル化オブジェクトを少なくとも設計するために適した任意のシステムをさらに意味する。この場合、モデル化オブジェクトを規定するデータは、モデル化オブジェクトの表現を可能にするデータを含む。ＣＡＤシステムは、例えば、エッジまたは線を使用して、ある種の場合には面または表面と共に、ＣＡＤモデル化オブジェクトの表現を提供してもよい。線、エッジ、または表面は、様々な方法（例えば非一様有理Ｂスプライン（ＮＵＲＢＳ））で表現されてもよい。特に、ＣＡＤファイルは、形状がそれから生成されてもよい仕様を含んでおり、それは次に、表現が生成されることを可能にする。モデル化オブジェクトの仕様は、単一のＣＡＤファイルか多数のそれに格納されてもよい。ＣＡＤシステムにおいてモデル化オブジェクトを表現するファイルの典型的なサイズは、１つの部品当たり１メガバイトの範囲にある。また、モデル化オブジェクトは、典型的には何千もの部品の組立体であってもよい。
【００６４】
図２は、システムの一例を示し、当該システムは、クライアントコンピュータシステム（例えばユーザのワークステーション）である。
【００６５】
本例のクライアントコンピュータは、内部通信バス（ＢＵＳ）１０００に接続された中央処理装置（ＣＰＵ）１０１０、同じくＢＵＳに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０を含む。クライアントコンピュータは、ＢＵＳに接続されたビデオランダムアクセスメモリ１１００に関係するグラフィック処理装置（ＧＰＵ）１１１０をさらに備える。ビデオＲＡＭ１１００は、この技術において、フレームバッファとしても知られている。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０のような大容量メモリ装置へのアクセスを管理する。コンピュータプログラムの命令およびデータを明確に包含するのに適した大容量メモリ装置は、すべての形式の不揮発性メモリ（ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリ装置のような半導体メモリ装置を例えば含む）、内部ハードディスクおよびリムーバブルディスクのような磁気ディスク、光磁気ディスク、および、ＣＤ−ＲＯＭディスク１０４０を含む。前記のいずれかは、特別に設計されたＡＳＩＣｓ（特定用途向け集積回路）によって補足されるか、それに組み込まれてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。また、クライアントコンピュータは、カーソル制御装置、キーボードなどのような触覚デバイス１０９０を含んでもよい。ディスプレイ１０８０上の任意の所望の位置にユーザが選択的にカーソルを置くことを可能にするために、クライアントコンピュータにおいてカーソル制御装置が使用される。さらに、カーソル制御装置は、ユーザが、様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための複数の信号生成装置を含む。典型的には、カーソル制御装置は、マウスであってもよく、マウスのボタンは信号を生成するために使用される。あるいはまたはさらに、クライアントコンピュータシステムは、感知可能なパッドおよび／または感知可能なスクリーンを含んでもよい。
【００６６】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでもよく、命令は、上記のシステムに本処理を行わせるための手段を含む。プログラムは、任意のデータ記憶媒体（システムのメモリを含む）に記録可能であってもよい。プログラムは、例えば、デジタル電子回路において、または、コンピュータハードウェア、ファームウェア、ソフトウェアにおいて、もしくはそれらの組み合わせにおいて、実行されてもよい。プログラムは、装置として、例えばプログラム可能なプロセッサによる実行のための、機械読取可能な記憶装置に明確に組み込まれた製品として、実行されてもよい。処理ステップは、入力データを処理し出力を生成することによってその処理の機能を行う命令のプログラムを実行するプログラム可能なプロセッサによって行われてもよい。このように、プロセッサは、プログラム可能であってもよく、且つ、データ記憶システム、少なくとも１つの入力装置、および少なくとも１つの出力装置、からデータおよび命令を受け取るように、およびそれへデータおよび命令を送るように、つながれていてもよい。望むのであれば、アプリケーションプログラムは、ハイレベルの手続き型またはオブジェクト指向のプログラミング言語で、または、アセンブリ言語もしくは機械語で実行されてもよい。いずれの場合も、言語は、コンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、完全なインストールプログラムまたはアップデートプログラムであってもよい。システムへのプログラムの適用は、いずれの場合も、本処理を行うための命令をもたらす。
【００６７】
ここで、本処理の例について述べる。
【００６８】
本例の処理は、フロアプラン生成に関する。特に、それはセマンティックセグメンテーションを介したフロアプラン分析に関係する。画像の形式でフロアプランが与えられたときに、すべての記号が同時に認識され、ピクセルワイズレベルに置かれてもよい。本例の処理は、３Ｄ建造物生成および設計作成のような多くのアプリケーションにおいて有用かもしれない。本例の処理は、新しいフロアプラン生成フレームワークを形成する。本例の処理の特徴は、以下のものを含んでもよい。
【００６９】
・いくつかのステップを含むアプローチに存在する誤差累積効果を回避することを可能にするエンド・トゥー・エンドアプローチ（ｅｎｄ−ｔｏ−ｅｎｄ  ａｐｐｒｏａｃｈ）。
【００７０】
・記号タイプからの独立性。他の記号タイプは容易に統合できる。特別な制約は必要とされない。
【００７１】
・深層畳み込みニューラルネットワークに基づく最初のアプローチ。
【００７２】
本例の処理は３Ｄ建造物モデルを生成する分野に属し、それにおいて、２Ｄフロアプラン画像が与えられたときに、本例の処理は、利用可能な３Ｄモデル（「３Ｄフロアプラン」とも称される）を得るために、壁（外部／内部）、開口部（ドア／窓）、および、空間のような、構造の建造物要素を再構成してもよい。
【００７３】
２Ｄフロアプラン画像入力からの３Ｄ建造物モデルの生成は、以下のものに基づいてもよい。
【００７４】
１．２Ｄフロアプランのそれぞれの構造要素をセマンティック的に（ｓｅｍａｎｔｉｃａｌｌｙ）認識すること。これは、入力中の２Ｄフロアプランのピクセルのそれぞれへセマンティック情報（セマンティックの例は、壁、ドア、および／または、窓を含む）を割り当てるセマンティックセグメンテーションによって行われてもよい。
【００７５】
２．先のステップによって供給された結果に基づいて３Ｄフロアプランを生成すること。
【００７６】
利用可能なデータ入力のいくつかの特徴は、与えられた２Ｄフロアプラン画像の３Ｄ建造物モデルを生成するアプローチを、非常に難しいものにする。そのため、現在のシステムのほとんどは、普遍性に欠けるという共通の欠点を共有する。
【００７７】
２Ｄフロアプランは、多くの場合スキャンされてもよいし、手描きまたはコンピュータ生成されてもよい。フロアプランはさらに、様々なレベルの詳細を有してもよい。フロアプランについての最も広く流通している形式は、詳細な建設情報に欠ける。それにもかかわらず、フロアプランは、建造物の完全なレイアウトをなんとかカバーし、それは、ほとんどのアプリケーションに対してモデルを構築するのに充分かもしれない。これらのさほど詳細ではないフロアプランが手描きされるかコンピュータ生成されるかにかかわらず、それらは、異なる図形記号を使用するかもしれず、それは大きな欠点となる。もちろん、標準は存在しない。
【００７８】
図３および図４はそれぞれ、ドアおよび壁に対する共通のスタイルの例を示す。特定の標準に制約される代わりに、図面の目的（および設計者の芸術的な動機づけ）が、どの構成要素が示されてもよいか、および、それらがどのように見えてもよいか、を決定するかもしれない。これは、フロアプラン画像を分析し解釈する際において大きな問題をもたらす（特に自動システムに対して）。図３〜図４は特に、フロアプランに対して、ドア記号（図３）および壁（図４）を描画するための異なる方法を示す。記号は、手描きすること、または、コンピュータ生成することが可能である。異なる図形記号は、２Ｄスキャンされたフロアプランを３Ｄモデルに自動的に変換する際に難題となる。
【００７９】
さらに、フロアプランは、構造要素だけではなく、テキストコンテンツ、寸法、スケール、引き出し線（すなわち、測定値またはテキストに導かれる線）を含んでもよい。図５は特に、一般的なスキャンされたフロアプランの例を示す。構造的なもの以外の異なる（図形またはテキストの）要素が表現されてもよい。
【００８０】
本例の処理の１つの目的は、２Ｄフロアプラン画像が与えられたときに３Ｄ建造物モデル生成に対する総括的なソリューションを提供すること、すなわち、プランの構造的な２Ｄ要素のセマンティックおよび位相を同時に認識するソリューションを提供することであってもよい。それは、セマンティックセグメンテーション法（すなわち深層ニューラルネットワーク（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）を使用する方法）の効率を向上させるフレームワークからなるものであってもよい。
【００８１】
ここで、本例の処理に含まれる異なる概念について述べる。
【００８２】
「セマンティックセグメンテーション」は、画像におけるそれぞれのピクセルの役割をセマンティック的に理解すること（すなわち、セマンティック的に意味のある部分へ画像を分割すること、および、それぞれの部分を所定のカテゴリのうちの１つに分類すること）を試みる。それは、ピクセルワイズ分類と見なすことができ、その分類は、そのカテゴリメンバシップが知られている観察結果（またはインスタンス）を含むデータのトレーニング集合に基づいて、新しい観察結果がカテゴリのどの集合に属するかを特定する問題である。一例は、与えられた画像中の背景から人を分けること、または、人の身体をその異なる部分に分割すること、であろう。
【００８３】
「深層ニューラルネットワーク」（ＤＮＮ）は、ニューラルネットワークにおける学習のためのテクニックの強力な集合であり（「Ｒｕｍｅｌｈａｒｔ  ｅｔ  ａｌ．  Ｌｅａｒｎｉｎｇ  ｉｎｔｅｒｎａｌ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｂｙ  ｅｒｒｏｒ  ｂａｃｋｐｒｏｐａｇａｔｉｏｎ，  １９８６」の中で述べられている）、それは、コンピュータが観測データから学習することを可能にする、生体模倣型のプログラミングパラダイムである。ＤＮＮは、他の画像分類法（ＳＶＭ、ブースティング（Ｂｏｏｓｔｉｎｇ）、ランダムフォレストなど）において使用される、手作業で設計された低レベルの特徴（Ｚｅｒｎｉｋｅ  ｍｏｍｅｎｔｓの中で述べられている、ＨＯＧ、Ｂａｇ−ｏｆ−Ｗｏｒｄｓ、ＳＩＦＴなど）とは異なり、リッチな中間レベルの２Ｄ画像表現を学習する能力を与える。より具体的には、ＤＮＮは、生データに基づくエンド・トゥー・エンド学習に焦点をあてている。換言すれば、それらは、生の特徴から始まってラベルに終わるエンド・トゥー・エンド最適化を遂行することによって、特徴エンジニアリングから、可能な最大の程度離れる。図６は、深層ニューラルネットワークを図示する。
【００８４】
「畳み込みニューラルネットワーク」（「ＬｅＣｕｎ  ｅｔ  ａｌ．  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｉｍａｇｅｓ，  Ｓｐｅｅｃｈ，  ａｎｄ  Ｔｉｍｅ−Ｓｅｒｉｅｓ」で述べられている）は、少なくとも１層が畳み込みフィルタを含む深層ニューラルネットワークの特別な場合である。それらのフィルタは、入力のどこにでも適用され、出力として特徴マップを与える。この特徴マップは、入力におけるいくつかの特定のパターンがフィルタによって認識される活性化のエリアを示す。いくつかの畳み込み層を積層する場合、深層学習の利点は、ディスクリプタ（ｄｅｓｃｒｉｐｔｏｒ）によって得られる基本的特徴よりもより洗練された、非常に複雑であるが強力な特徴を抽出する方法を提供することである。全層畳み込みニューラルネットワークは、学習済みのすべての層が畳み込みである、畳み込みニューラルネットワークである。全層畳み込みネットワークに基づくＤＮＮは、任意のサイズの入力をとる能力、および、アップサンプリング層（ｕｐｓａｍｐｌｉｎｇ  ｌａｙｅｒ）を使用して相応にサイズ化された出力を生成する能力、を与える。図７は、畳み込みフィルタの一例を示す。
【００８５】
「アップサンプリング」は、画像（あるいは特徴マップ）を、より高い解像度にアップサンプリングする任意のテクニックを指す。最も簡単な方法は、再サンプリングおよび補間を使用することである。これは、入力画像をとり、それを所望のサイズにスケーリングしなおし、次に、バイリニア補間のような補間方法を使用してそれぞれのポイントにおいてピクセル値を計算する。
【００８６】
「アンプーリング（ｕｎｐｏｏｌｉｎｇ）」は、畳み込みニューラルネットワークの環境において、アップサンプリングに一般的に使用される。図８は、アンプーリングに基づくアップサンプリングの一例を示し、ここで、最大プーリングのインデックス（ｍａｘ−ｐｏｏｌｉｎｇ  ｉｎｄｅｘ）は、入力特徴マップをアップサンプリングするために使用される。
【００８７】
「エンコーダ・デコーダ・ネットワーク」は、特定のタイプのＤＮＮを意味する。いくつかのＤＮＮは、エンコーダ・デコーダ・ネットワークと見なすことができ、その場合、エンコーダは、異なる（通常はより低次元の、圧縮された）特徴表現へ入力データをマッピングし、デコーダは、入力データ空間へ特徴表現をマッピングし戻す。全層畳み込みネットワークは、全層畳み込みエンコーダ、およびそれに続く、アップサンプリング層およびピクセルワイズ分類器を含むデコーダと見なすことができる。図９は、セマンティックセグメンテーション用の畳み込みエンコーダ・デコーダ・ネットワークの一例を示す。
【００８８】
ここで、図１１を参照して、本例の処理へのこれらの概念の統合について述べる。
【００８９】
本例の処理は、２つのステージに分解されてもよい。「オフライン」ステージと示される第１のステージは、深層ニューラルネットワークに極度に依存してもよく、セグメンテーションモデルが学習（これは一度だけ行われてもよい）されるステージに対応してもよい。オフラインという語句は、このステージが本方法のユーザに明白であり、大規模な計算の要求があっても、計算を行う時間を得ることができるという事実を示す。
【００９０】
セグメンテーションモデルを学習するために、本例の処理は、以下の入力を使用してもよい。
【００９１】
１．２Ｄフロアプラン画像とそれらの対応するピクセルワイズラベル画像とのペアのトレーニングデータセット。テストされた実行において、４つのカテゴリラベル、すなわち「壁」、「ドア」、「窓」および「背景」、が考慮された。次に、それぞれのトレーニング画像のピクセルのそれぞれが、これらのラベルのうちの１つに関連づけられた。図１０は、壁１０２、窓１０４、ドア１０６、および背景１０８を備える、画像のそのようなトレーニングペアを示す。
【００９２】
２．（トレーニングされていない）エンコーダ・デコーダ・ネットワーク。テストされた実行において、２つの異なる最新のネットワークが考慮された。
【００９３】
（ｉ）  ＡｌｅｘＮｅｔベースの全層畳み込みネットワーク（Ｊ．  Ｌｏｎｇ  ｅｔ  ａｌ．  Ｆｕｌｌｙ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｓｅｍａｎｔｉｃ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ２０１５）。これは、８つの畳み込み層（プーリング層を備える）を含む全層畳み込みエンコーダと、それに続く、アップサンプリング層およびピクセルワイズ分類器（ソフトマックス分類器）を含むデコーダとからなる。
【００９４】
（ii）  ＳｅｇＮｅｔネットワーク（Ｖ．  Ｂａｄｒｉｎａｒａｙａｎａｎ  ｅｔ  ａｌ．  ＳｅｇＮｅｔ：  Ａ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｍａｇｅ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ２０１６）。これは、１３の畳み込み層を含む全層畳み込みエンコーダ（プーリング層を備える）と、同様に１３の畳み込み層を含む全層畳み込みデコーダ（図８を参照して記述されたようなアップサンプリング層を備える）とからなる。このネットワークのアーキテクチャは、図９の例と、位相的に同一である。
【００９５】
ＳｅｇＮｅｔネットワークは、ＡｌｅｘＮｅｔベースの全層畳み込みネットワークよりも、うまく動作する。
【００９６】
「オンライン」ステージとして示される第２のステージは、見えていない２Ｄフロアプラン画像をセグメンテーションし対応する３Ｄ建造物を生成する処理の間にリアルタイムに行われる処理のステップのすべてを集める。
【００９７】
なお、３Ｄモデルを生成する前に結果を検証するために、セマンティックセグメンテーション処理の終わりに、ユーザの介在を加えることができる。
【００９８】
図１１は、オフラインおよびオンラインステージの技術的なワークフローを図示する。
【００９９】
次に、本例の処理は、先のセマンティックセグメンテーションアルゴリズムによって与えられたセマンティックセグメンテーションの結果を向上させるために、いくつかの方法を適用してもよい。これは、先に述べた論文［１］（アルゴリズムは、２Ｄフロアプランに対して強い幾何学的な制約を考慮に入れる）の中で与えられたソリューションとは対照的である。例えば、ドア、壁部の幅は、先行技術のこの部分において、常に局所的に同じである。ノイズ除去テクニックが、偽陽性を除去するために適用されてもよい。
【０１００】
最後に、供給されたセマンティックマスクは、３Ｄ再構成ＡＰＩによって要求される位相情報を抽出するために使用されてもよい。実際には、得られる３Ｄフロアプランの利用をさらに促進するために、例えば“Ｂｕｉｌｄｉｎｇ  Ｓｍａｒｔ  ＩＦＣ  ｆｏｒｍａｔ”（先に述べた論文［３］において使用された）のような、適用可能な標準にあわせることは有用かもしれない。
【０１０１】
ここで、本例の処理の特殊性について、以下の学術論文を参照して、より詳細に述べる。
【０１０２】
［Ａ］“ＩｍａｇｅＮｅｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｗｉｔｈ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ”，  Ａｌｅｘ  Ｋｒｉｚｈｅｖｓｋｙ  ＆  Ａｌ
［Ｂ］“Ｖｅｒｙ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ  Ｆｏｒ  Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｍａｇｅ  Ｒｅｃｏｇｎｉｔｉｏｎ”，  Ｋａｒｅｎ  Ｓｉｍｏｎｙａｎ  ＆  Ａｎｄｒｅｗ  Ｚｉｓｓｅｒｍａｎ
［Ｃ］“Ｄｅｅｐ  Ｒｅｓｉｄｕａｌ  Ｌｅａｒｎｉｎｇ  ｆｏｒ  Ｉｍａｇｅ  Ｒｅｃｏｇｎｉｔｉｏｎ”，  Ｋａｉｍｉｎｇ  Ｈｅ  ＆  Ａｌ
［Ｄ］“Ｆｕｌｌｙ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｔｗｏｒｋｓ  ｆｏｒ  ｓｅｍａｎｔｉｃ  ｓｅｇｍｅｎｔａｔｉｏｎ，”  Ｊ．  Ｌｏｎｇ，  Ｅ．  Ｓｈｅｌｈａｍｅｒ，  ａｎｄ  Ｔ．  Ｄａｒｒｅｌｌ，  ｉｎ  ＣＶＰＲ  ２０１５
［Ｅ］  “ＳｅｇＮｅｔ：  Ａ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｍａｇｅ  Ｓｅｇｍｅｎｔａｔｉｏｎ”，  Ｖｉｊａｙ  Ｂａｄｒｉｎａｒａｙａｎａｎ，  Ａｌｅｘ  Ｋｅｎｄａｌｌ，  Ｒｏｂｅｒｔｏ  Ｃｉｐｏｌｌａ，  ２０１５
［Ｆ］“Ｐｙｒａｍｉｄ  Ｓｃｅｎｅ  Ｐａｒｓｉｎｇ  Ｎｅｔｗｏｒｋ”，  Ｈｅｎｇｓｈｕａｎｇ  Ｚｈａｏ，  Ｊｉａｎｐｉｎｇ  Ｓｈｉ，  Ｘｉａｏｊｕａｎ  Ｑｉ，  Ｘｉａｏｇａｎｇ  Ｗａｎｇ，  Ｊｉａｙａ  Ｊｉａ，  ＣＶＰＲ  ２０１７  
［Ｇ］  “ＲｅｆｉｎｅＮｅｔ：  Ｍｕｌｔｉ−Ｐａｔｈ  Ｒｅｆｉｎｅｍｅｎｔ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｈｉｇｈ−Ｒｅｓｏｌｕｔｉｏｎ  Ｓｅｍａｎｔｉｃ  Ｓｅｇｍｅｎｔａｔｉｏｎ”，  Ｇｕｏｓｈｅｎｇ  Ｌｉｎ，  Ａｎｔｏｎ  Ｍｉｌａｎ，  Ｃｈｕｎｈｕａ  Ｓｈｅｎ，  Ｉａｎ  Ｒｅｉｄ，  ２０１６
［Ｈ］“Ｆｕｌｌｙ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｓｅｍａｎｔｉｃ  Ｓｅｇｍｅｎｔａｔｉｏｎ”，  Ｊｏｎａｔｈａｎ  Ｌｏｎｇ，  Ｅｖａｎ  Ｓｈｅｌｈａｍｅｒ，  Ｔｒｅｖｏｒ  Ｄａｒｒｅｌｌ，  ＣＶＰＲ  ２０１５
［Ｉ］“ＣＶＣ−ＦＰ  ａｎｄ  ＳＧＴ：  ａ  ｎｅｗ  ｄａｔａｂａｓｅ  ｆｏｒ  ｓｔｒｕｃｔｕｒａｌ  ｆｌｏｏｒ  ｐｌａｎ  ａｎａｌｙｓｉｓ  ａｎｄ  ｉｔｓ  ｇｒｏｕｎｄｔｒｕｔｈｉｎｇ  ｔｏｏｌ”，  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｎ  Ｄｏｃｕｍｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ  （ＩＪＤＡＲ），  Ｌｌｕｉｓ−Ｐｅｒｅ  ｄｅ  ｌａｓ  Ｈｅｒａｓ，  Ｏｒｉｏｌ  Ｒａｍｏｓ  Ｔｅｒｒａｄｅｓ，  Ｓｅｒｇｉ  Ｒｏｂｌｅｓ，  Ｇｅｍｍａ  Ｓａｎｃｈｅｚ
ここで、学習Ｓ２０の実行の例について述べる。
【０１０３】
このステップは主に、２Ｄフロアプラン画像を入力として入力画像のピクセルワイズ分類であるセマンティックセグメンテーションマスクを返す関数の学習であってもよい。クラスは、予め定められてもよい。このセマンティックセグメンテーションマスクは、入力画像と同じ大きさ（ｄｉｍｅｎｓｉｏｎｓ）を備える画像であり、そのピクセルは、予め定められたクラスに対応するいくつかの値（例えば色）をとることができる。テストされた実行において、以下のクラス、すなわち、「壁」、「ドア」、「窓」および「背景」、が選ばれた。最後のクラスは、他のクラスのうちの１つに属さないすべてのピクセルについて記述した。
【０１０４】
［学習関数特徴づけ］
学習関数は、畳み込みニューラルネットワークとして実行されてもよい。関数は特に、畳み込みエンコーダ・デコーダ・ニューラルネットワークアーキテクチャを与えてもよい。換言すれば、ニューラルネットワークは、自然画像上でセマンティックセグメンテーションを行うために使用されるニューラルネットワークの一種であるエンコーダ・デコーダであってもよい。この種のニューラルネットワークは、自然画像中の連続性を比較的よく活用でき、従ってそのような状況において好結果をもたらすが、２Ｄフロアプランのようなスパース（ｓｐａｒｓｅ）な情報を含む画像では、演繹的には効率的ではない。しかしながら、テストは行われ、この種のニューラルネットワークが、本処理の２Ｄフロアプランの状況においてもうまく働くことを示した。
【０１０５】
ニューラルネットワークの学習は、３つの主な成分を含んでもよい。
【０１０６】
１．ニューラルアーキテクチャ：層の数、１層当たりのニューロンの数、ニューロンの種類。
【０１０７】
２．最適化アルゴリズム：これは、アノテーションされた（ａｎｎｏｔａｔｅｄ）データセットおよび損失関数値に従ってニューラルネットワークのパラメータ／重みを更新するために使用される。
【０１０８】
３．アノテーションされたデータセット。
【０１０９】
ニューラルネットワークのニューラルアーキテクチャは、以下に述べる畳み込みエンコーダ・デコーダ・アーキテクチャであってもよい。
【０１１０】
１．畳み込みエンコーダ：エンコーダネットワークは、フロアプラン画像を入力とする。それは、プーリング層がはさまれてもよい一連の畳み込み層を含む。通常、畳み込みエンコーダは、ＡｌｅｘＮｅｔ［Ａ］、ＶＧＧ１６［Ｂ］、ＲｅｓＮｅｔ［Ｃ］、または他のＣＮＮアーキテクチャのような、周知の畳み込みのアーキテクチャに対応してもよい。
【０１１１】
２．畳み込みデコーダ：デコーダネットワークは、エンコーダネットワークの出力を入力とする。それは、その間にアップサンプリング層がはさまれる一連の畳み込み層を含んでもよい。最後の畳み込み層の出力は、入力フロアプラン画像と同じ大きさ（ｄｉｍｅｎｓｉｏｎｓ）を有してもよい。デコーダは、プーリング層をアップサンプリング層に置き換えることによる、エンコーダネットワークと対称なものであってもよい。しかしながら、デコーダネットワークは、あるいは、異なるアーキテクチャを有してもよい。遵守されてもよいただ１つの制約は、出力が、入力２Ｄフロアプラン画像のものと同じ大きさを有してもよい、ということである。
【０１１２】
うまく動作するテストにおいて、［Ｅ］で規定されたＳｅｇＮｅｔアーキテクチャが使用された。［Ｈ］で規定されたＦＣＮ、［Ｆ］で規定されたＰＳＰＮｅｔ、または［Ｇ］で規定されたＲｅｆｉｎｅＮｅｔのような、他のニューラルアーキテクチャが使用されてもよい。
【０１１３】
学習は、確率的勾配降下法を含んでもよい。確率的勾配降下法は、クロスエントロピー損失関数に基づいてもよい。換言すれば、最適化アルゴリズムは、確率的勾配降下法であってもよい。損失関数は、学習プロセス中に、ネットワークによって返されたセマンティックセグメンテーションマスクと、トレーニングデータセット中の２Ｄフロアプランに関係するグランドトゥルース（ｇｒｏｕｎｄ  ｔｒｕｔｈ）セマンティックセグメンテーションマスクとの間の誤差を計算してもよい。［Ｄ］で規定されたクロスエントロピー損失関数が、特にテストされた。
【０１１４】
［データセット特徴づけ］
トレーニングデータセットは、２Ｄフロアプラン画像の集合であってもよく、その画像のそれぞれは、ピクセルワイズのラベル付き画像（グランドトゥルース・セマンティックセグメンテーションマスクとも呼ばれる）に関係する。
【０１１５】
学習関数の正確な結果を確保するトレーニングデータセットの特徴は、以下の通りであってもよい。
【０１１６】
・充分なデータ：データセットは、５００、７５０または１０００を越える、異なる２Ｄフロアプラン画像を含んでもよい。
【０１１７】
・関連データ：データセット中のフロアプランの多様性は、学習済み関数が処理するであろうフロアプランに対応してもよい。特に、トレーニングデータセット内の記号（壁、窓、ドア）の多様性は、学習済み関数が処理するであろうフロアプラン画像によって含まれるいくつかのものをカバーしてもよい。
【０１１８】
データセットは、全体のデータセットの区分けを形成する、３つのサブデータセットへ分割されてもよい。第１のサブデータセットは「トレーニングデータセット」と呼ばれ、関数を学習するために使用されるデータを含む。第２のサブデータセットは「バリデーションデータセット（ｖａｌｉｄａｔｉｏｎ  ｄａｔａｓｅｔ）」と呼ばれ、学習中に関数がその一時的正解率を計算することによってまだ改善しているかについてチェックするために使用されるデータを含む。第３のサブデータセットは「テストデータセット」と呼ばれ、ひとたび学習が行われると使用されるデータを含む。テストデータセットは、最終のセマンティックセグメンテーション正解率を評価するために使用されてもよい。トレーニングデータセットは、データセット全体の少なくとも８０％を含んでもよい。バリデーションデータセットおよびテストデータセットは、残りのデータの等分割であってもよい。
【０１１９】
Ｓ１０において供給されるそのようなデータセットを構築する効率的な方法は、それぞれが各々の３Ｄモデルに関連づけられた２Ｄフロアプランの既存のデータベースを再使用することであってもよい。そのようなデータベースが利用可能な場合、データセットは、それぞれの２Ｄフロアプランに対して、各々の３Ｄモデルから各々のセマンティックセグメンテーションを決定することによって（３Ｄモデルがそれぞれのオブジェクトのクラスを供給するので）、容易に構成できる。
【０１２０】
［セマンティックセグメンテーション正解率］
アノテーションされたデータセットにおけるセマンティックセグメンテーション正解率を評価するために、評価尺度が規定されてもよい。セマンティックセグメンテーションのタスクに対して、２つの評価尺度が使用されてもよい。
【０１２１】
１．平均正解率：これは、よく分類されたピクセルの平均百分率に相当する。
【０１２２】
２．平均ＩｏＵ（すなわち、Ｉｎｔｅｒｓｅｃｔｉｏｎ  ｏｖｅｒ  Ｕｎｉｏｎ）：これは、推定されたセグメンテーションとグランドトゥルースとの積集合（ｉｎｔｅｒｓｅｃｔｉｏｎ）をそれら両方の和集合（ｕｎｉｏｎ）によって除したものに相当する。
【０１２３】
テストは、８８０のフロアプラン画像を含むデータセットで行われた。このデータセットは、ミラーおよび回転（９０°、１８０°および２７０°）のような変換によって拡張されたオープンソースデータベース（［Ｉ］で与えられる）から生じる２Ｄフロアプラン画像に基づいて構築された。そのようなテストによって、０．８８の平均正解率および０．７８の平均ＩｏＵが得られた。一般的に、関数が０．８５より高い平均正解率、および／または、０．７５より高い平均ＩｏＵを与える場合、セマンティックセグメンテーションは特に正確かもしれない。次のステップが、学習済み関数の出力を入力とするため、セマンティックセグメンテーション正解率が適切かもしれない。経験的に、平均正解率が０．８５を上回り平均ＩｏＵが０．７５を上回ることを見出すことができ、そうでなければ、再構成された３Ｄフロアプランが誤りを含んでいるかもしれない。確かに、セマンティックセグメンテーションマスクはスパースである。
【０１２４】
下記は、アプリケーションＳ３の例を述べ、特に、プリミティブ抽出の実行の詳細を提供する。
【０１２５】
以下に述べる一例において、Ｓ５０において各々のクラスのそれぞれに対してマスクを決定することは、各々のクラスに対応するセマンティックセグメンテーションのすべてのピクセルでの（マスクの）初期化、マスクのスケルトン化、および、線分の数を減らすためにマスク中の線分（ｌｉｎｅ  ｓｅｇｍｅｎｔ）（または単に「線分（ｓｅｇｍｅｎｔ）」）を併合すること、を含むサブ処理を含む。次に、本処理の残りの部分が、サブ処理によって出力された結果に基づいて行われてもよい。実行の例では、線分の併合において、第１の所定の共線性閾値を上回る線分と所定の距離閾値を下回る線分とのペアが、以下で述べるように、併合されてもよい。そのようなサブ処理は、組織化されていないデータを、より統合的なフォーマットに縮小することを可能にする。
【０１２６】
他の一例において、本方法は、壁クラスに関するマスク中の線分の連結、および／または、窓クラスに関するマスクの線分、および／または、ドアクラスに関するマスクの線分の、それぞれ壁マスクの各々の線分上への投影、を含んでもよい。実行の一例において、それぞれの投影される線分は、第２の所定の共線性閾値（第１の所定の共線性閾値と等しくてもよい）を越える、投影される線分との共線性を与えるものの中で壁マスクに最も近い線分に投影される。これは、スケルトン化がデータの損失に結びつくかもしれないとしても、結果のリアリズム（すなわち、建築の視点から見て受け入れ可能な意味）を維持することを可能にする。特に、スケルトン化は誤差（例えば、窓またはドアとその支持壁との間のギャップ）を持ち込むかもしれないが、本例はそのような誤差を修正する。
【０１２７】
一例において、第１および／または第２の所定の共線性閾値は、２つの線分間の（無配向の）角度の閾値として規定されてもよい。前記閾値は、トレーニングデータセット中の２つの隣接する壁によって形成されるすべての角度の分布の関数として規定されてもよい。共線性閾値は、この分布によって規定されてもよい。例えば、２つの隣接する壁によって形成される角度の５％未満のような角度の値は、この値よりも低い。前記値が高い（例えば４５°より高い）場合、それを３０°に低下できる。実際上、３０°のオーダーの値は、好結果をもたらす。
【０１２８】
一例において、所定の距離閾値は、窓またはドアのような他のオブジェクトインスタンスの関数として規定されてもよい。それは、偽陽性をほとんど得ないことを可能にするように、ドアまたは窓の平均の幅の３０％未満に定められてもよい。この閾値未満である、２つの実質的に同一直線上の壁の間のほとんどの間隔は、線抽出アルゴリズムに起因する誤差であるかもしれない。従って、２つの壁は、広げられて併合されてもよい。
【０１２９】
アプリケーションＳ３は、畳み込みエンコーダ・デコーダ・ニューラルネットワークによって返されたセマンティックセグメンテーションマスクを入力としてもよく、３Ｄフロアプラン再構成ＡＰＩによって必要とされるプリミティブの集合を返してもよい。
【０１３０】
２Ｄフロアプランのセマンティックセグメンテーションマスクは線画画像であってもよい。それぞれの線は、様々な太さを有することができる。前景ピクセルは、本処理が特定しようとするオブジェクトクラスに対応する異なる値（例えば色）を有することができる。
【０１３１】
セマンティックセグメンテーションマスクは、幾何学的なプリミティブがそれから容易に構築されてもよいリファインされたマスク（ｒｅｆｉｎｅｄ  ｍａｓｋ）を得るために、以下の例のステップによって処理されてもよい。
【０１３２】
１．「クラス固有マスク」（ｃｌａｓｓ−ｓｐｅｃｉｆｉｃ  ｍａｓｋ）：最初に、マスクは、固有オブジェクトクラスに関係するピクセルをそれぞれが含むいくつかのマスクへ分割される。一例において、本処理は、壁用の１つのマスク、窓用の１つのマスク、およびドア用の１つのマスクを得てもよい。
【０１３３】
２．「マスクスケルトン化」：次に、スケルトン化処理が、それぞれのクラス固有のマスクに適用される。この処理は、すべての線を細くすることを目指す。２つの古典的アプローチ、すなわちモフォロジカルアプローチおよび距離変換アプローチが、線画のスケルトンを行うために使用されてもよい。テストされた実行は、例えば「“Ｍｏｒｐｈｏｌｏｇｉｃａｌ  Ｓｋｅｌｅｔｏｎ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ａｎｄ  Ｃｏｄｉｎｇ  ｏｆ  Ｂｉｎａｒｙ  Ｉｍａｇｅｓ”，  ＩＥＥＥ  （Ｏｃｔｏｂｅｒ  １９８６），  Ｐｅｔｒｏｓ  Ａ．  Ｍａｒａｇｏｓ，  Ｒｏｎａｌｄ  Ｗ．  Ｓｃｈａｆｅｒ．」という論文に記載されたような、モフォロジカルスケルトンアプローチを使用した。
【０１３４】
３．「線併合」：それぞれのクラス固有のスケルトン化マスクは、できるだけ少数の線分によるスケルトン化マスクを得るために併合されてもよい多数の小さな線分からなる。開発されたアルゴリズムは以下の通りである。
【０１３５】
ａ．線分のすべてのペアに対して、それらがほとんど同一直線上にあり且つ２つの線分間の距離が所定のクラス固有の閾値未満である場合には、２つの線分は、２つの線分の併合に対応する単一の線分に置き換えられる。
【０１３６】
ｂ．線分のペアが先のａ．ステップにおいて併合されている間は、ａ．ステップに戻る。そうでなければ、線分の最終の集合を返す。
【０１３７】
４．「線結合」：このステップは、壁固有マスクにのみ適用される。ステップ３によって返された、処理されたマスクは、ストレート壁に対応する線分の集合を含む。このステップは主に、２つのストレート壁間に連結があるかどうかを検知すること、および、対応する線分をそれらの末端の結合によって修正すること、である。開発されたアルゴリズムは以下の通りである。
【０１３８】
ａ．線分のすべてのペアに対して、それらが同一直線上になく且つ２つの線分間の距離が所定の閾値未満である場合には、２つの線分は、それらの終点の１つが、２つの線分を含む２つの線の交差に対応する点とオーバーラップするように、修正される。
【０１３９】
ｂ．線分のペアが先のａ．ステップにおいて修正されている間は、ａ．ステップに戻る。そうでなければ、線分の最終の集合を返す。
【０１４０】
５．「クラス固有マスクの併合およびリファインメント」（ｒｅｆｉｎｅｍｅｎｔ）：この最終ステップは主に、窓およびドアの局所化をリファインすることである。ステップ３によって返された、対応する窓固有のおよびドア固有のマスクにおいて、それぞれの線は、窓（各々ドア）に対応する。最初に、すべてのクラス固有マスクが付加される。窓およびドアに対応する線分は壁の線分と正しく同一直線上にないかもしれないため、本処理は、それぞれの窓およびドアの線分を、同じ方向を有する最も近い壁の線へのそれらの投影によって置き換えてもよい。
【０１４１】
次のステップは、主に、壁プリミティブ、ドアプリミティブおよび窓プリミティブのような３Ｄ再構成ＡＰＩによって必要とされる３Ｄプリミティブを構成することであってもよい。例えば、壁プリミティブは、以下の属性、すなわち２つの終点の座標、太さ、高さ、隣接する壁のリファレンス、によって規定されてもよい。リファインされたマスクのおかげで、壁、窓およびドアプリミティブは、容易に構築されるかもしれない。確かに、終点の座標、隣接する壁のリファレンス、窓（各々ドア）が属する壁のリファレンスといった情報は、リファインされたマスクから容易に抽出できる。壁／窓／ドアの高さまたは幅といった他の情報は、予め規定されてもよいしユーザによって供給されてもよい。
【０１４２】
図１２〜図１９は、テストされた学習Ｓ１によって学習済み関数に基づくＳ２〜Ｓ３の一例を図示する。
【０１４３】
図１２は、Ｓ３０において供給された入力２Ｄフロアプランを示す。
【０１４４】
図１３は、壁１２２、窓１２４およびドア１２６を備える、Ｓ４０において決定された、２Ｄフロアプランのセマンティックセグメンテーションを示す。
【０１４５】
図１４〜図１６は、Ｓ５０および壁クラスに関するマスクの処理を図示する。図１４は、壁クラスに関するマスクの画像を示す。図１５は、「線分」タイプの幾何学的プリミティブの抽出を示す。図１６は、壁の併合および連結ステップの出力を示す。見られるように、減少した数の壁が得られる。
【０１４６】
図１７は、３つのマスクの併合を示す。
【０１４７】
図１８は、リファインメントを示し、それは、Ｓ６０において２Ｄモデルを生成することを可能にする。
【０１４８】
図１９は、２Ｄモデルのそれぞれの幾何学的プリミティブに単純に高さを加えることによる、Ｓ７０における３Ｄモデルの決定を示す。見られるように、図１２の入力２Ｄフロアプランに対応する３Ｄモデルを得ることができる。
【０１４９】
特にオフライン学習に関して、この考察に従って関数および学習についての構成の例を示すために、ここで、図１１に関する考察を再び参照する。
【０１５０】
前記構成において、関数は、建造物のレイアウトを表現する入力２Ｄフロアプランのセマンティックセグメンテーションを決定するように構成される。関数は、畳み込みエンコーダ・デコーダ・アーキテクチャを与えるニューラルネットワークを有する。特に、関数は、畳み込みエンコーダ・デコーダ・アーキテクチャを与える単一のニューラルネットワークを有してもよいし（すなわち、関数は、畳み込みエンコーダ・デコーダ・アーキテクチャを与える他のニューラルネットワークを有さない）、または、関数は、畳み込みエンコーダ・デコーダ・アーキテクチャを与えるニューラルネットワーク（例えば単一のニューラルネットワーク）であってもよい。
【０１５１】
前記構成において、ニューラルネットワークは、クラスの集合に関するピクセルワイズ分類器（例えばソフトマックス分類器）を含む。前記構成の一例において、ニューラルネットワークは、アップサンプリング層をさらに含んでもよい。アップサンプリング層は、例えば、ピクセルワイズ分類器の前に配置されてもよい。あるいはまたはさらに、ニューラルネットワークは、最大プーリング層を含んでもよい。最大プーリング層は、例えば、ピクセルワイズ分類器の後に配置されてもよい。
【０１５２】
前記構成において、クラスの集合は、壁クラス、ドアクラスおよび窓クラスの中の少なくとも２つのクラスを含む。前記構成の一例において、クラスの集合は、壁クラス、ドアクラス、および窓クラスを含んでもよい。一例において、クラスの集合は、あるいはまたはさらに、背景クラスを含んでもよい。クラスの集合は、壁クラス、ドアクラス、窓クラス、および背景クラスから構成されていてもよい。
【０１５３】
ピクセルワイズ分類器は、２Ｄフロアプラン入力画像のピクセルのそれぞれに対して、クラスの集合中の任意のクラスの推定用の各々のデータを出力してもよい。従って、背景クラスとは異なる第１のクラスのオブジェクト／インスタンス（例えば壁）を表現する第１のピクセルと、背景クラスとは異なる第２のクラスのオブジェクト／インスタンス（例えばドアまたは窓）を表現する第２のピクセルとを有する２Ｄフロアプラン入力画像（データセット中のまたはそうでなく）の少なくとも１つのセマンティックセグメンテーションに対して、ピクセルワイズ分類器は、第１のピクセルに対する第１のクラスの推定用データ、および、第２のピクセルに対する第２のクラスの推定用データを出力してもよい。
【０１５４】
前記構成において、関数の学習は、供給されたデータセット（例えばトレーニングデータセット）に基づく。供給されたデータセットは、各々のセマンティックセグメンテーション（例えば各々のグランドトゥルース・セマンティックセグメンテーション）にそれぞれが関連づけられた（例えばアノテーションされた）２Ｄフロアプランを含む。
【０１５５】
ニューラルネットワークは重みを含んでもよく、学習は、最適化アルゴリズムで、データセットおよび損失関数に従って重みの更新を含んでもよい。特に、学習は、単一の最適化アルゴリズムを含んでもよい（すなわち、学習は、他の最適化アルゴリズムを含まない）。そのような一例において、（例えば単一の）最適化アルゴリズムは、確率的勾配降下法であってもよい。ニューラルネットワークは、前記（例えば単一の）確率的勾配降下法の後にトレーニングされてもよく、従って、その重みは、ピクセルワイズ分類器のものを含んで、そのときに明確に設定されてもよい。さらにまたはあるいは、そのような一例において、損失関数は、クロスエントロピー損失関数であってもよい。
【０１５６】
ピクセルワイズ分類器は、それぞれの入力２Ｄフロアプランに対して、入力２Ｄフロアプランのセマンティックセグメンテーションマスクの推定用の各々のデータを出力してもよい。セマンティックセグメンテーションマスクは、クラスの集合に関する、２Ｄフロアプランのピクセルワイズ分類であってもよい。「セマンティックセグメンテーションマスクの推定用」とは、セマンティックセグメンテーションマスクを得ることを可能にする任意のデータを意味する。例えば、それは、２Ｄフロアプランのピクセルのそれぞれを単一のクラスへ直接関連づけるデータであってもよく（すなわちセマンティックセグメンテーションマスク）、あるいは、それに基づいてセマンティックセグメンテーションマスクが間接的に決定される他のデータであってもよい（例えばそれぞれのピクセルにそれぞれが関連づけられたクラスの集合における確率の分布）。そのような一例において、損失関数は、データセットの２Ｄフロアプランのそれぞれに対して、データセット中の２Ｄフロアプランに関連づけられた各々のセマンティックセグメンテーションに対して誤差を有するセマンティックセグメンテーションマスクの推定にペナルティを課してもよい。換言すれば、先に述べたように、損失関数は、セマンティックセグメンテーションマスクと、データセット中の２Ｄフロアプランに関連づけられた各々のセマンティックセグメンテーションとの間の誤差に対応してもよい。特に、ピクセルワイズ分類器は、ニューラルネットワークの単一層であってもよい。これは、前記単一層によって出力される推定用のデータをもたらす。換言すれば、ピクセルワイズ分類器は、セマンティックセグメンテーションのクラスのすべてを扱うために形成される。これは、セマンティックセグメンテーションの強固さを増大させる。もちろん、クラスは、曖昧さ（例えばオーバーラップしているクラス）のリスクを減らす単一層によって出力されたデータに基づいて推定される。さらに、ピクセルワイズ分類器は、クラスごとに生じるソリューションの誤差の伝搬に起因する誤りを低減することができる。
【０１５７】
前記構成の一例において、ピクセルワイズ分類器は、入力２Ｄフロアプランのピクセルのそれぞれに対して、クラスの集合中のクラスの推定用の各々のデータを出力してもよい。そのような一例において、損失関数は、データセットの２Ｄフロアプランのそれぞれのピクセルのそれぞれに対して、データセット中の２Ｄフロアプランに関連づけられた各々のセマンティックセグメンテーション（例えばグランドトゥルース・セマンティックセグメンテーション）によって前記ピクセルに対して供給されたクラスとは異なる各々のクラスの推定にペナルティを課してもよい。特に、クラスの集合中のクラスの推定用の各々のデータは、それぞれのピクセルに対するクラスの集合からの単一のクラスの決定を可能にする。そのような一例において、少なくとも１つの入力２Ｄフロアプランに対して、ピクセルワイズ分類器は、入力２Ｄフロアプランの少なくとも１つの第１のピクセルに対する、少なくとも２つのクラスの中の第１のクラスの推定用のデータ、および、入力２Ｄフロアプランの少なくとも１つの第２のピクセルに対する、少なくとも２つのクラスの中の第２のクラスの推定用のデータ、を出力してもよい（第１および第２のクラスは異なっており、第１および第２のピクセルも異なっている）。このように、そのようなピクセルワイズ分類器は、ピクセルが１つを超えるクラスに関連づけられるリスクを減らす。
【０１５８】
前記構成の一例において、ピクセルワイズ分類器によって出力された各々のデータは、クラスの集合における確率の分布を含んでもよい。例えば、入力２Ｄフロアプランの各々のピクセルのそれぞれに対して、各々のデータは、１つのクラスに１つの確率が対応するように、クラスの集合中のクラスの数（例えばすべてのクラス、例えば少なくとも２つのクラス）に関連する各々のピクセルに対する複数（例えばクラスの数）の確率を含んでもよい。そのような一例において、ニューラルネットワークは、ピクセルワイズ分類器の後に配置された最大プーリング層をさらに含んでもよい。最大プーリング層は、入力２Ｄフロアプランのピクセルのそれぞれに対するクラスの集合の中から１つのクラスを決定してもよい。決定されたクラスは、ピクセルワイズ分類器によって出力された各々のデータに含まれる確率の分布の中で最高の確率を有するクラスであってもよい。
【０１５９】
例えば、推定用のデータは、各々のピクセルが少なくとも２つのクラスの中の第１のクラスに関連する第１の確率と、各々のピクセルが少なくとも２つのクラスの中の第２のクラスに関連する第２の確率とを含んでもよく、ここで、第１のクラスは第２のクラスとは異なり、第１の確率は第２の確率より高い（すなわち第１のクラスは第２のクラスよりも可能性が高い）。次に、最大プーリング層は、第１のクラスに各々のピクセルを関連させる。
【０１６０】
前記例の一例において、損失関数は、損失項の合計を含んでもよく、損失項のそれぞれは各々のピクセルに対する（すなわち、損失項は各々のピクセルに対して計算される）。損失項は、ピクセルワイズ分類器によって出力された各々のデータに含まれる確率の分布の中で、確率が小さいことにペナルティを課す。そのような一例において、それぞれのピクセル損失項は、それぞれの値が確率の分布中の確率からそれぞれ計算される値の合計を含んでもよい。損失項は、前記値の中から１つの値を選択してもよい。選択は、特定のクラスに対する各々の確率から計算された値を選ぶこと（例えば、保持、特定）を含んでもよい。一例において、それぞれの損失項は、インジケータであってそれに従って値の選択が実行されるインジケータを含む。一例において、インジケータはバイナリインジケータであってもよいし、グランドトゥルース画像中の対応するピクセルに供給されたクラスの関数であってもよい。例えば、グランドトゥルース画像中の対応するピクセルに対して供給された、供給されたクラスに対応するクラスに対する確率から値が計算される場合にはバイナリインジケータは１に等しくてもよく、グランドトゥルース画像クラス中の対応するピクセルに対して供給されたクラスとは異なるクラスに対する確率から値が計算される場合にはバイナリインジケータは０に等しくてもよい。一例において、確率が小さいときに値が大きい場合には、損失項は小さいことにペナルティを課す。例えば、値は、与えられる関数、予測される確率の減少関数、から計算されてもよい。一例において、与えられる関数は、確率の負の対数関数であってもよい。
【０１６１】
一例において、損失は、以下のように記述されてもよい。
【数４】
2019149148.tif 000006
Ｃはクラスの集合中のクラスの数であり、ｉは、クラスの集合中の１つのクラスを意味する。クラスｉが、データセット中の２Ｄフロアプランに関連づけられた各々のセマンティックセグメンテーションによって各々のピクセルに対して供給されたクラスである場合、
【数５】
2019149148.tif 000007
はバイナリインジケータである。
【数６】
2019149148.tif 000008
は、クラスｉに対してピクセルワイズ分類器によって出力された確率である。
【０１６２】
このように、損失関数は、多項式の損失関数（例えば多項式のロジスティック損失関数）であってもよい。そのような損失関数は、分類器が多数のクラスを取り扱うことを可能にする。これは、学習済みニューラルネットワークによって決定されたセマンティックセグメンテーションの正解率を増加させる。
【図１】
2019149148.tif 000012
【図２】
2019149148.tif 000013
【図３】
2019149148.tif 000014
【図４】
2019149148.tif 000015
【図５】
2019149148.tif 000016
【図６】
2019149148.tif 000017
【図７】
2019149148.tif 000018
【図８】
2019149148.tif 000019
【図９】
2019149148.tif 000020
【図１０】
2019149148.tif 000021
【図１１】
2019149148.tif 000022
【図１２】
2019149148.tif 000023
【図１３】
2019149148.tif 000024
【図１４】
2019149148.tif 000025
【図１５】
2019149148.tif 000026
【図１６】
2019149148.tif 000027
【図１７】
2019149148.tif 000028
【図１８】
2019149148.tif 000029
【図１９】
2019149148.tif 000030
【外国語明細書】
2019149148.tif 000031
2019149148.tif 000032
2019149148.tif 000033
2019149148.tif 000034
2019149148.tif 000035
2019149148.tif 000036
2019149148.tif 000037
2019149148.tif 000038
2019149148.tif 000039
2019149148.tif 000040
2019149148.tif 000041
2019149148.tif 000042
2019149148.tif 000043
2019149148.tif 000044
2019149148.tif 000045
2019149148.tif 000046
2019149148.tif 000047
2019149148.tif 000048
2019149148.tif 000049
2019149148.tif 000050
2019149148.tif 000051
2019149148.tif 000052
2019149148.tif 000053
2019149148.tif 000054
2019149148.tif 000055
2019149148.tif 000056
2019149148.tif 000057
2019149148.tif 000058
2019149148.tif 000059
2019149148.tif 000060
2019149148.tif 000061
2019149148.tif 000062
2019149148.tif 000063
2019149148.tif 000064
2019149148.tif 000065
2019149148.tif 000066
【図１】
2019149148.tif 000067
【図２】
2019149148.tif 000068
【図３】
2019149148.tif 000069
【図４】
2019149148.tif 000070
【図５】
2019149148.tif 000071
【図６】
2019149148.tif 000072
【図７】
2019149148.tif 000073
【図８】
2019149148.tif 000074
【図９】
2019149148.tif 000075
【図１０】
2019149148.tif 000076
【図１１】
2019149148.tif 000077
【図１２】
2019149148.tif 000078
【図１３】
2019149148.tif 000079
【図１４】
2019149148.tif 000080
【図１５】
2019149148.tif 000081
【図１６】
2019149148.tif 000082
【図１７】
2019149148.tif 000083
【図１８】
2019149148.tif 000084
【図１９】
2019149148.tif 000085