(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-30
(45)【発行日】2023-11-08
(54)【発明の名称】ピクセルワイズ分類器による2Dフロアプランのセマンティックセグメンテーション
(51)【国際特許分類】
G06F 30/13 20200101AFI20231031BHJP
G06F 30/12 20200101ALI20231031BHJP
G06F 30/10 20200101ALI20231031BHJP
G06F 30/27 20200101ALI20231031BHJP
G06T 7/00 20170101ALI20231031BHJP
G06T 7/11 20170101ALI20231031BHJP
G06N 3/04 20230101ALI20231031BHJP
【FI】
G06F30/13
G06F30/12
G06F30/10 100
G06F30/27
G06T7/00 350C
G06T7/11
G06N3/04
【外国語出願】
(21)【出願番号】P 2018244284
(22)【出願日】2018-12-27
【審査請求日】2021-11-29
(32)【優先日】2017-12-28
(33)【優先権主張国・地域又は機関】EP
【前置審査】
(73)【特許権者】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】アズマ レジャブ・スファール
(72)【発明者】
【氏名】ルイス デュポン・ド・ディネシャン
(72)【発明者】
【氏名】マリカ ブルケナフェド
【審査官】松浦 功
(56)【参考文献】
【文献】特開2015-095212(JP,A)
【文献】米国特許出願公開第2016/0358337(US,A1)
【文献】特許第6116746(JP,B1)
【文献】特開2016-157434(JP,A)
【文献】LIU, C. et al.,Raster-to-Vector: Revisiting Floorplan Transformation,2017 IEEE International Conference on Computer Vision (ICCV) [online],IEEE,2017年10月,pp. 2214-2222,[検索日 2022.11.01], インターネット,URL:https://ieeexplore.ieee.org/document/8237503
【文献】DODGE, S. et al.,Parsing floor plan images,2017 Fifteenth IAPR International Conference on Machine Vision Applications (MVA) [online],IEEE,2017年05月,pp. 358-361,[検索日 2022.11.01], インターネット,URL:https://ieeexplore.ieee.org/document/7986875
【文献】GIMENEZ, L. et al. ,Automatic reconstruction of 3D building models from scanned 2D floor plans,Automation in Construction [online],Elsevier,2016年03月,Vol. 63,pp. 48-56,[検索日 2022.11.15], インターネット,URL:https://www.sciencedirect.com/science/article/abs/pii/ S0926580515002484
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 -30/28
G06T 7/00 - 7/90
G06N 3/02 - 3/10
G06N 20/00
G06V 10/00 -20/90
(57)【特許請求の範囲】
【請求項1】
建造物のレイアウトを表現する2Dフロアプランのセマンティックセグメンテ―ションを決定するように構成される関数を決定するためのコンピュ―タ実行方法であって、
前記関数は、畳み込みエンコ―ダ・デコーダ・ア―キテクチャを与えるニューラルネットワ―クを有し、前記ニュ―ラルネットワークは、壁クラス、ドアクラスおよび窓クラスの中の少なくとも2つのクラスを含むクラスの集合に関するピクセルワイズ分類器を含み、
前記方法は、
各々のセマンティックセグメンテーションにそれぞれが関連づけられた2Dフロアプランを含むデータセットを供給すること、および、
前記データセットに基づいて前記関数を学習すること
を含み、
前記ピクセルワイズ分類器は、前記ニュ―ラルネットワークの単一のレイヤであり、
前記ニュ―ラルネットワークは重みを含み、
前記学習することは、単一の最適化アルゴリズムを用いて、前記デ―タセットおよび損失関数に従って前記重みを更新することを含み、
前記単一の最適化アルゴリズムは確率的勾配降下法であり、
前記ニュ―ラルネットワークの前記重みは、前記単一の確率的勾配降下法の適用後に設定され、前記ピクセルワイズ分類器の前記重みを含
み、
前記クラスの集合は、前記壁クラス、前記ドアクラス、および前記窓クラスを含み、
前記損失関数はクロスエントロピー損失関数であり、
前記ピクセルワイズ分類器は、それぞれの入力2Dフロアプランに対して、前記入力2Dフロアプランのセマンティックセグメンテーションマスクの推定用の各々のデータを出力し、前記セマンティックセグメンテーションマスクは、前記クラスの集合に関する、前記2Dフロアプランのピクセルワイズ分類であり、前記損失関数は、前記データセットの2Dフロアプランのそれぞれに対して、前記データセット中の前記2Dフロアプランに関連づけられた前記各々のセマンティックセグメンテーションに対して誤差を有するセマンティックセグメンテーションマスクの推定にペナルティを課し、
前記ピクセルワイズ分類器は、入力2Dフロアプランのピクセルのそれぞれに対して、
前記クラスの集合中のクラスの推定用の各々のデータを出力し、前記損失関数は、前記データセットの2Dフロアプランのそれぞれのピクセルのそれぞれに対して、前記データセット中の前記2Dフロアプランに関連づけられた前記各々のセマンティックセグメンテーションによって前記ピクセルに対して供給されたクラスとは異なる各々のクラスの推定にペナルティを課し、
前記ピクセルワイズ分類器によって出力された前記各々のデータは、前記クラスの集合における確率の分布を含むことにより、前記ピクセルワイズ分類器は、各ピクセルについて前記クラスの集合にわたる確率分布を出力する、
方法。
【請求項2】
前記関数は0.85より高い平均正解率、および/または、0.75より高い平均IoUを与える
請求項
1に記載の方法。
【請求項3】
前記損失関数は、それぞれが各々のピクセルに対する損失項の合計を含み、
それぞれの損失項は、
【数1】
のタイプであり、ここで、
Cは前記クラスの集合中のクラスの数であり、
iは、前記クラスの集合中のクラスを示し、
クラスiが、前記データセット中の前記2Dフロアプランに関連づけられた前記各々のセマンティックセグメンテーションによって前記各々のピクセルに対して供給された前記クラスである場合、
【数2】
はバイナリインジケータであり、
【数3】
は、クラスiに対して前記ピクセルワイズ分類器によって出力された確率である
請求項
2に記載の方法。
【請求項4】
前記損失関数は多項式である、
請求項1~
3のいずれか1項に記載の方法。
【請求項5】
前記ピクセルワイズ分類器はソフトマックス分類器である
請求項1~
4のいずれか1項に記載の方法。
【請求項6】
前記データセットを供給することは、
各々の3Dモデルにそれぞれが関連づけられた2Dフロアプランのデータベースを供給することおよび、
それぞれの2Dフロアプランに対して前記各々の3Dモデルから前記各々のセマンティックセグメンテーションを決定すること
を含む
請求項1~
5のいずれか1項に記載の方法。
【請求項7】
建造物のレイアウトを表現する2Dフロアプランのセマンティックセグメンテーションを決定するためのコンピュータ実行方法であって、
前記方法は、
前記2Dフロアプランを供給することと、
前記2Dフロアプランに、請求項1~
6のいずれか1項に記載の方法によって学習可能な関数を適用することと
を含む
方法。
【請求項8】
建造物を表現する3Dモデルを生成するためのコンピュータ実行方法であって、
前記方法は、
前記建造物のレイアウトを表現する2Dフロアプランを供給することと、
請求項
7に記載の前記方法に従って前記2Dフロアプランのセマンティックセグメンテーションを決定することと、
前記セマンティックセグメンテーションに基づいて前記3Dモデルを決定することと
を含む
方法。
【請求項9】
コンピュータに、請求項1~8のいずれか1項に記載の方法を実行させるための命令を含むコンピュータプログラム。
【請求項10】
請求項
9に記載のコンピュータプログラムが記録されたメモリを含むデバイスであって、
前記メモリに接続され、前記コンピュータプログラムにより動作させられるプロセッサおよびグラフィカルユーザインタフェースをさらに含む
デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より具体的には、建造物のレイアウトを表現する2次元(2D)のフロアプランを処理するための、方法、システムおよびプログラムに関する。
【背景技術】
【0002】
多くのシステムおよびプログラムが、オブジェクトの、設計、エンジニアリングおよび製造のために、マーケットに提供される。CADは、コンピュータ援用設計(Computer-Aided Design)の頭文字であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEは、コンピュータ援用エンジニアリング(Computer-Aided Engineering)の頭文字であり、例えば、将来の製品の物理的な振る舞いをシミュレーションするためのソフトウェアソリューションに関する。CAMは、コンピュータ援用製造(Computer-Aided Manufacturing)の頭文字であり、例えば、製造プロセスおよびオペレーションを規定するためのソフトウェアソリューションに関する。そのようなコンピュータ援用設計システムにおいて、グラフィカルユーザインタフェースは、技術の効率に関する重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システム内に埋め込まれていてもよい。PLMは、拡張エンタープライズの概念全体にわたって、会社が、製品データを共有し、共通の工程を適用し、構想からそれらの寿命の終わりまで製品の開発のための企業知識を活用することを支援する経営戦略を指す。ダッソー・システムズ(Dassault Systemes)(CATIA、ENOVIAおよびDELMIAの商標のもと)によって提供されるPLMソリューションは、エンジニアリングハブ(製品エンジニアリング知識を組織する)、製造ハブ(製造エンジニアリング知識を管理する)、および、企業ハブ(エンジニアリングハブおよび製造ハブの両方への企業統合および接続を可能にする)を提供する。それらすべてで、システムは、ダイナミックな、知識に基づいた製品創造と、最適化された製品定義、製造準備、生産およびサービスを推進する意志決定支援とを可能にする、リソース、プロセス、製品をリンクするオープンオブジェクトモデルをもたらす。
【0003】
この状況および他の状況において、2Dフロアプランのコンピュータ化された処理を提供することは有用かもしれない。
【0004】
研究者およびCAD開発者は、特に、3次元(3D)の建造物モデルへの2Dの建築のフロアプラン画像の転換を、自動化および加速しようとしてきた。いくつかの最新のアプローチを、以下に列挙する論文[1]および[2](およびそれらの中で引用された参考文献)の中に見出すことができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
2Dフロアプランを3Dモデルに変換するための1つのステージは、フロアプランの記号(これは、あるプランと別のプランとで非常に異なりうる)を認識することかもしれない。これについて、ほとんどのアプローチは、画像処理およびパターン認識技術に依存しており、従って普遍性に欠ける。パターン認識装置は、典型的には、予め定められた記号の、限定された集合に制約される。以下に列挙する論文[3]は、そのようなアプローチの一例である。
【0006】
例えば以下に列挙する論文[5]および[6]の中で示唆されているように、提案された道筋は、通常、最初に2Dプランを前処理することからなる。これについて、画像処理方法および文書処理方法の両方は、テキストコンテンツから図形を分離するために使用される。次に、画像は、誤差の原因となりうる、混乱を生じさせる要素(例えば、階段、家具付きの要素)の削除によって、さらにクリーンにされる。この処理の最後において、意図されるのは、残っている線の中から、壁を表現するものを選択することである。これについては、基準の壁厚さに近い値を選ばなければならない。しかしながら、建設領域および設計者によって、異なる厚さが存在する。次に、屋外の壁および開口部が認識される。パターン認識方法は通常、開口部のタイプを決定するために使用される。例えば、論文[3]によって示唆されたアプローチでは、「弧(arc)」のモチーフが、それぞれの開口部のまわりでサーチされ、モチーフが見つかった場合には、次にそれはドアタイプに設定され、そうでない場合には窓タイプに設定される。最後に、屋内の壁および開口部が認識される。パターン認識技術に加えて、いくつかの研究は、学習アプローチを、特に壁検出(例えば、論文[6]に示唆されているような、壁のパッチに基づくオブジェクトセグメンテーション)に使用してきた。そのような道筋では、効果がないシステムをもたらすであろう誤差および矛盾が、あるステップから別のステップに当然に蓄積されることは明らかだと思われる。このため、いくつかの研究は、最初に例えばオリジナルのファイル中のいくつかの問題を解決すること(以下に列挙する論文[4]の中で示唆されているように)によって、または、いくつかのステップの後に例えばユーザに修正に対するいくつかの選択肢を提案すること(論文[5]の中で示唆されているように)によって、認識処理にユーザを巻き込むことを試みてきた。しかしながら、論文[5]における統計が、テストされたプランの大多数に対して約15のユーザの介在が必要とされ、いくつかのプランに対して40を超える介在が必要とされたことを示している、ということに言及することは意味がある。いくつかのユーザの介在は、高コストおよび非常に長い処理(非リアルタイム)をもたらす。
【0007】
論文[7]は、壁セグメンテーション、オブジェクト検出、および光学文字認識を使用して、フロアプラン画像を分析する方法を開示している。その方法は、フロアプランを解析すること(セクション3)(各々のトレーニングで全層畳み込みネットワーク技術を用い二項分類を含む壁セグメンテーションを含む)、および次に、別のトレーニングで、別で且つ異なる畳み込みネットワーク技術を使用するオブジェクト(例えばドア)の検出、を含む。
【0008】
この状況において、2Dフロアプランを処理する改善されたソリューションが、依然として必要とされている。
[先に引用された学術的な論文のリスト]
[1] Xuetao Y. et al., Generating 3D Building Models from Architectural Drawings: A Survey IEEE Computer Graphics and Applications, 2009
[2]Gimenez, L. et al., Review: reconstruction of 3d building information models from 2d scanned plans. Journal of Building Engineering, pp. 24-35, 2015
[3]Gimenez L. et al. Reconstruction of 3D building models from 2D scanned plans-opening the path for enhanced decision support in renovation design ECPPM 2014
[4]Dominguez B. et al. Semiautomatic detection of floor topology from CAD architectural drawings Computer-Aided Design, 2012
[5]Gimenez L. et al. A novel approach to 2D drawings-based reconstruction of 3D building digital models, Building information modeling (BIM) in design construction and operations, vol 149, 2015
[6]Heras, L.-P. de las et al. Wall Patch-Based Segmentation in Architectural Floorplans, ICDAR-2011
[7]Dodge, S. et al. Parsing floor plan images, Fifteenth IAPR Internation Conference on Machine Vision Applications (MVA), Nagoya University, Nagoya, Japan, May 8-12, 2017
【課題を解決するための手段】
【0009】
従って、建造物のレイアウトを表現する2Dフロアプランのセマンティックセグメンテーション(semantic segmentation)を決定するように構成される関数を決定するためのコンピュータ実行方法が提供される。本方法は、各々のセマンティックセグメンテーションにそれぞれが関連づけられた2Dフロアプランを含むデータセットを供給すること、を含む。本方法はさらに、前記データセットに基づいて前記関数の学習、を含む。
【0010】
一例において、前記関数はニューラルネットワークを有してもよい。前記ニューラルネットワークは、畳み込みエンコーダ・デコーダ・アーキテクチャ(convolutional encoder-decoder architecture)を与える。前記ニューラルネットワークは、クラスの集合に関するピクセルワイズ分類器(pixel-wise classifier)をさらに含む。前記クラスの集合は、壁クラス、ドアクラスおよび窓クラスの中の少なくとも2つのクラスを含む。
【0011】
前記ニューラルネットワークは重みを含んでもよく、前記学習は、最適化アルゴリズムで、前記データセットおよび損失関数に従って前記重みを更新することを含んでもよい。一例において、前記最適化アルゴリズムは確率的勾配降下法(stochastic gradient descent)である。一例において、前記損失関数はクロスエントロピー損失関数(cross-entropy loss function)である。
【0012】
前記ピクセルワイズ分類器は、それぞれの入力2Dフロアプランに対して、前記入力2Dフロアプランのセマンティックセグメンテーションマスクの推定用の各々のデータを出力してもよい。前記セマンティックセグメンテーションマスクは、前記クラスの集合に関する、前記2Dフロアプランのピクセルワイズ分類である。前記損失関数は、前記データセットの2Dフロアプランのそれぞれに対して、前記データセット中の前記2Dフロアプランに関連づけられた前記各々のセマンティックセグメンテーションに対して誤っているセマンティックセグメンテーションマスクの推定にペナルティを課してもよい。一例において、誤差(誤差を有する前記推定されたセマンティックセグメンテーションマスクと前記データセット中の前記2Dフロアプランに関連づけられた前記各々のセマンティックセグメンテーションとの間の誤差)が大きいほど、ペナルティを課すことは一層重要である。
【0013】
前記ピクセルワイズ分類器は、入力2Dフロアプランのピクセルのそれぞれに対して、前記クラスの集合中のクラスの推定用の各々のデータを出力してもよい。前記損失関数は、前記データセットの2Dフロアプランのそれぞれのピクセルのそれぞれに対して、前記データセット中の前記2Dフロアプランに関連づけられた前記各々のセマンティックセグメンテーションによって前記ピクセルに対して供給されたクラスとは異なる各々のクラスの推定にペナルティを課してもよい。
【0014】
さらに、前記ピクセルワイズ分類器によって出力された前記各々のデータは、前記クラスの集合における確率の分布を含んでもよい。
【0015】
さらに、前記損失関数は、それぞれが各々のピクセルに対する損失項の合計を含んでもよい。それぞれの損失項は、
【数1】
のタイプであってもよく、ここで、
Cは前記クラスの集合中のクラスの数であり、
iは、前記クラスの集合中のクラスを示し、
クラスiが、前記データセット中の前記2Dフロアプランに関連づけられた前記各々のセマンティックセグメンテーションによって前記各々のピクセルに対して供給された前記クラスである場合、
【数2】
はバイナリインジケータであり、
【数3】
は、クラスiに対して前記ピクセルワイズ分類器によって出力された確率である。
【0016】
さらに、前記損失関数は、多項式であってもよい。
【0017】
本方法は、以下の1つ以上を含んでもよい。
【0018】
前記関数は0.85より高い平均正解率、および/または、0.75より高い平均IoU(intersection-over-union)を与える。
【0019】
前記関数は、畳み込みエンコーダ・デコーダ・ニューラルネットワークアーキテクチャを与える。
【0020】
前記学習は確率的勾配降下法を含む。
【0021】
前記確率的勾配降下法は、クロスエントロピー損失関数に基づく。および/または、前記データセットを供給することは、各々の3Dモデルにそれぞれが関連づけられた2Dフロアプランのデータベースを供給すること、および、それぞれの2Dフロアプランに対して前記各々の3Dモデルから前記各々のセマンティックセグメンテーションを決定すること、を含む。
【0022】
建造物のレイアウトを表現する2Dフロアプランのセマンティックセグメンテーションを決定するためのコンピュータ実行方法がさらに提供される。本方法は、前記2Dフロアプランを供給することと、前記2Dフロアプランに、上記学習方法によって学習可能な関数を適用することとを含む。
【0023】
建造物を表現する3Dモデルを生成するためのコンピュータ実行方法がさらに提供される。本方法は、前記建造物のレイアウトを表現する2Dフロアプランを供給することを含む。本方法はさらに、上記のセマンティックセグメンテーション法に従って前記2Dフロアプランのセマンティックセグメンテーションを決定することを含む。本方法はさらに、前記セマンティックセグメンテーションに基づいて前記3Dモデルを決定することを含む。
【0024】
3Dモデル生成方法は、以下の1つ以上を含んでもよい。
【0025】
本方法は、前記セマンティックセグメンテーションを建造物のレイアウトを表現する2Dモデルに変換することを含み、前記3Dモデルの決定は前記2Dモデルから行われる。
【0026】
前記セマンティックセグメンテーションを前記2Dモデルに変換することは、建築のオブジェクトクラスの所定の集合の各々のクラスごとに、前記セマンティックセグメンテーションに基づいてマスクを決定すること、および、前記決定されたマスクに基づいて前記2Dモデルを生成すること、を含む。
【0027】
各々のクラスごとにマスクを決定することは、前記各々のクラスに対応するセマンティックセグメンテーションのピクセルのすべてでの初期化、スケルトン化、および、線分の数を減らす線分の併合、を含む。および/または、
建築のオブジェクトクラスの前記所定の集合は前記壁クラスを含み、2Dモデルを生成することは、前記壁クラスに関する前記マスク中の線分の連結を含む。
【0028】
上記方法の1つ以上を行うための命令を含むコンピュータプログラムが、さらに提供される。
【0029】
前記データ構造および/または前記プログラムが記録されているメモリを含むデバイスがさらに提供される。前記デバイスは、例えばSaaS(Software as a service)、または他のサーバ、またはクラウドベースのプラットフォームなどにおいて、非一時的なコンピュータ読み取り可能な媒体を形成してもよい。あるいは、前記デバイスは、前記メモリに接続されたグラフィカルユーザインタフェースに接続されたプロセッサを含んでもよい。このように、前記デバイスは、コンピュータシステムの全体または一部を形成してもよい(例えば、前記デバイスは、前記システム全体のサブシステムである)。前記システムは、前記プロセッサに接続されたグラフィカルユーザインタフェースをさらに含んでもよい。
【0030】
このように、前記コンピュータプログラムが記録されている、コンピュータ読み取り可能な記憶媒体が提供される。
【0031】
このように、メモリおよびグラフィカルユーザインタフェースに接続されたプロセッサを含むシステムであって、前記メモリには前記コンピュータプログラムが記録されているシステムが、さらに提供される。
ここで、非限定的な例によって、添付の図面を参照して、本発明の実施形態について記載することとする。
【図面の簡単な説明】
【0032】
【発明を実施するための形態】
【0033】
図1は、建築の3D再構成の処理を示す。本処理は、特に、3Dモデル(建造物を表現する3Dモデル)を構成するためのものである。本処理は、入力2Dフロアプラン(建造物のレイアウトを表現する入力2Dフロアプラン)に基づく。
【0034】
本処理は、入力2Dフロアプランのセマンティックセグメンテーションを決定するために、機械学習を含む。
【0035】
特に、本処理は、任意の与えられた2Dフロアプラン(それぞれの前記与えられた2Dフロアプランは各々の建造物のレイアウトを表現する)のセマンティックセグメンテーションを決定する(例えば、計算する、および/または、出力する)ように構成された関数を決定する(この場合、すなわち学習する、すなわちトレーニングする)ためのオフラインステージS1を含む。オフラインステージS1は、データセットの供給S10を含む。データセットは2Dフロアプランを含む。それぞれの2Dフロアプランは、各々のセマンティックセグメンテーションに関連づけられる(データセットにおいて、すなわちリンクされる、すなわち接続される、すなわち関係する)。オフラインステージS1は、データセットに基づいて関数の学習(すなわちトレーニングすること)S20をさらに含む。
【0036】
本処理は、オフラインステージS1の後に、オンライン(すなわちインライン)のステージS2を含む。オンラインステージS2は、入力2Dフロアプランを供給することを含む。オンラインステージS2はさらに、入力2Dフロアプランに関数(オフラインステージS1内で機械学習されたもの)を適用することを含み、それによって、入力2Dフロアプランの前記セマンティックセグメンテーションを決定する。
【0037】
オフラインステージS1およびオンラインステージS2は、異なる回数、異なる場所で、異なるシステムで、および/または、異なる人または団体によって、開始されてもよいし、および/または、行われてもよい。例えば、オフラインステージS1は、ソフトウェアエディタによって、および/または、生産ラインにおいて、または、サービスプロバイダによって、および/または、完全にサーバにおいて、行われてもよい。オンラインステージS2は、ユーザによって、および/または、少なくとも部分的にはクライアントコンピュータにおいて、行われてもよい。
【0038】
そのような機械学習を、2Dフロアプランセマンティックセグメンテーションを行うために使用することは、比較的正確で強固な結果に達することを可能にする(特に、いかなる標準も欠けているため、2Dフロアプランに使用される表現の多様性の観点において)。さらに、フロアプランセマンティックセグメンテーションを行うために機械学習を使用することは、比較的効率的におよび/または比較的速く、そのような結果に達することを可能にする(例えば本質的にリアルタイムにおいて、および/または、ユーザの介在がわずかだけかまたは実質的になしで、例えば、ひとたび開始されると、決定S40は完全に自動的に行われる)。
【0039】
関数および学習S20は、任意の方法の種類であってもよい。一例において、学習S20は、特に、深層学習(deep-learning)によって行われてもよい。後述する一例において、深層学習は、関数が畳み込みニューラルネットワーク(CNN)アーキテクチャ(より詳細には、畳み込みエンコーダ・デコーダ・ニューラルネットワークアーキテクチャ)を与える種類のものであってもよい。学習S20のそのような例は、特に効率的である。他の一例において、関数は、「ランダムフォレスト(random forest)」、マルコフ確率場(Markov random field)、SVM (Support Vector Machine)のような他の機械学習技術によって学習されてもよい。そのようなアルゴリズムは、SIFTまたはHoGのような未学習の特徴を入力としてもよい。
【0040】
建築の3D再構成の代替処理はさらに、S40において、入力2Dフロアプランのセマンティックセグメンテーションを他の方法で決定してもよい。そのような代替処理は、機械学習済み関数がS40において必要とされないのでオフラインステージS1が切り捨てられてもよいという点を除いて、他の態様に対する
図1の本処理と同一であってもよい。
【0041】
一般に、セマンティックセグメンテーションは任意のアプリケーションで使用されてもよい。例えば、セマンティックセグメンテーションは、オブジェクト検出および/またはアノテーション(annotation)に使用されてもよい。
【0042】
図1の処理の場合には、セマンティックセグメンテーションは、入力2Dフロアプランに対応する建造物を表現する3Dモデルの生成のためのアプリケーションS3において使用される。もちろん、セマンティックセグメンテーションは、そのような3Dモデルの決定のために基づいてもよい。3Dモデルは、後に、任意の方法で(例えば建造物の仮想インテリアデザインを生成するために)使用されてもよい。
【0043】
アプリケーションS3は、オンラインステージS2に対して、異なる時に、異なる場所で、異なるシステムで、および/または、異なる人または団体によって、行われてもよい。あるいは、アプリケーションS3は、オンラインステージS2にシームレスに続いてもよいし、および/または、オンラインステージS2の後に自動的に開始されてもよい。一例において、ユーザはS30において入力2Dフロアプランを供給するだけであり、3Dモデルを出力するステップのすべてをシステムが自動的に実行する。他の一例において、ユーザは、結果を検証するために介在してもよく、例えば、決定S40の後に、セマンティックセグメンテーションを検証するためおよび/または修正するために、介在してもよい。
【0044】
図1の一例において、アプリケーションS3は、特に、セマンティックセグメンテーションを、建造物のレイアウトを表現する2Dモデルへの変換S50~S60を含む。次に、2Dモデルから3Dモデルの決定S70が行われる。そのような処理は、入力2Dフロアプランから3Dモデルを生成するための効率的な道筋を形成する。入力2Dフロアプランは、確かに、建造物に関する組織化されていない2D情報を供給する。本処理は、S2内でセマンティックセグメンテーションを決定することによって、最初にそのような情報を組織化することを提案する。次に、2Dセマンティックセグメンテーションを3D形状に直接変換するのではなく、本処理は、セマンティックセグメンテーションから2Dモデルを構成することを提案する。そのような中間のデータ構造は、結局、より容易に3Dモデルを構成することを可能にする。
【0045】
「建造物(building)」という語句は、あらゆる建築物を意味する。本処理によって考察される「建造物」は、フラット、アパート、高層建造物、マンション、家、別荘、モニュメント、または、壁、窓および/または部屋を含む他の構築物であってもよい。
【0046】
建造物に対する「レイアウト(layout)」という語句は、建造物を構成する建築オブジェクトのインスタンスの2D配置を意味する。レイアウトは、単一のフロアの、またはいくつかのフロアの、またはその1つ以上の部分の、2D配置を描写してもよい。以下の考察は、単一のフロアに関するレイアウトに適用されるが、複数のフロアの場合への適応は容易である。
【0047】
「建築オブジェクト(architectural object)」は、任意の建造物の形成に含まれる任意のオブジェクトである。本処理によって考察される建築オブジェクトクラスは、建築オブジェクトクラスの所定の集合(すなわち、予めシステムに記憶され、それに対してS50において実行されるループが限定されている)であってもよい。建築オブジェクトクラスの所定の集合は、壁クラス、窓クラスおよび/またはドアクラスの任意の1つまたは任意の組み合わせ(例えばすべて)を含んでもよいし、それらからなるものであってもよい。建築オブジェクトは、屋根または基礎のような他のクラスに属してもよいが、これらのクラスはレイアウトに表現されなくてもよい。
【0048】
「2Dフロアプラン(2D floor plan)」という語句は、知られているように、建造物のレイアウトの図面を表現する画像を意味する。図面は、線(恐らく様々な太さ)および記号を含む。2Dフロアプランはスケッチされてもよく、例えば、物質的なサポート(紙など)に手作業でスケッチして次にスキャンまたは撮影されてもよいし、または、例えば、デジタル的に(スケッチングソフトウェアとのユーザ相互作用を介して、タッチペンおよび/またはタッチスクリーンを例えば使用して)スケッチしてもよいし、または、プログラムによって自動的に生成されてもよい。2Dフロアプランを描画するための異なるルールが存在するかもしれないが、標準はない。S10で供給されるデータセットは特に、少なくとも2つがルールについての異なる集合の各々の1つを使用して描画される2Dフロアプラン、および/または、例えば手作業でおよび/またはデジタル的にスケッチされる2Dフロアプラン、を含んでもよい。S30において供給される入力2Dフロアプランは、スケッチされてもよい(すなわち、システムのユーザによって、または事前に別人によって)。
【0049】
「セマンティックセグメンテーション」という語句は、画像に対して、知られているように、画像の任意の区分け(partition)またはセグメンテーションを意味し、区分けの画像部分またはセグメントのそれぞれは、画像部分によって表現されたオブジェクトのクラスに割り当てられるか、または関連づけられる。2Dフロアプランに対して、「セマンティックセグメンテーション」は同様に、2Dフロアプランの部分が建築オブジェクトクラスの上記所定の集合の各々の1つに割り当てられてもよいような区分けである。一例において、2Dフロアプランの部分はそれぞれ、建築オブジェクトクラスの上記所定の集合の各々の1つに割り当てられてもよいし、オブジェクトの他のタイプ、および/または、背景(従って本処理の残りの部分によって切り捨てられる)に共通のクラス表現に割り当てられてもよい。
【0050】
本処理によって決定されたセマンティックセグメンテーションは、任意の方法でそのような割り当てを実行してもよい。一例において、割り当ては、建築オブジェクトクラスの所定の集合の各々の1つにそれぞれが対応するラベルを供給し、2Dフロアプランの部分をそれぞれ、各々のラベルに関連づけることによって行われてもよい。一例において、セマンティックセグメンテーションは、ピクセルワイズ・セマンティックセグメンテーションであってもよい。そのような場合、決定S40は、2Dフロアプランのピクセルをそれぞれ、各々の所定のラベルに割り当てることからなるものであってもよい。
【0051】
本処理は、セマンティックセグメンテーションを、建造物のレイアウトを表現する2Dモデルへの変換S50~S60を含む。
【0052】
2D(各々3D)モデルは、それぞれが建築オブジェクトの各々のインスタンスを表現する2D(各々3D)モデル化オブジェクトの2D(各々3D)配置を表現するデータ構造である。データ構造は、それぞれが各々のデータフィールドを含むいくらかのデータを含んでもよく、1つ以上のデータフィールドは各々の2D(各々3D)モデル化オブジェクトを表現し、1つ以上のデータフィールドは2D(各々3D)ポジショニング(例えば共通の2D(各々3D)基準座標系に関する)を表現する。そのようなデータ構造は、表現された建築オブジェクトインスタンス間の正確な相対的ポジショニングの記述を可能にする。2Dモデルは、セマンティックセグメンテーションよりも高いレベルでの2D配置の記述を提供する。
【0053】
2D(各々3D)モデル化オブジェクトは、2D(各々3D)操作(例えば剛的動作、スケーリング、および/または、任意の他の幾何学的変換、および/または、CAD操作)のような(例えば線形時間)パラメトリック変換を可能にする位相情報、および/または、2D(各々3D)幾何学的データを含むデータ構造である。
【0054】
2Dモデルは、2Dの幾何学的形状またはプリミティブ(例えば、様々な太さの線分および/または弧を含む)の所定の集合に制約されてもよい。そのような2Dプリミティブはそれぞれ、所定のパラメータの各々の数によって、完全に特徴づけられ且つ表現されてもよい。そのような数は低くてもよい(例えば、20または10を下回る)。例えば、太さを備える直線は、5つのパラメータ(例えば、末端の座標および太さ)によって表現されてもよい。
【0055】
2Dモデルは例えば、2Dベクトル画像であってもよい。
【0056】
3Dモデルは例えば、境界表現(B-Rep)のようなCADモデルであってもよく、それは、カノニカル(canonical)な表面(例えば平面)、および/または、パラメトリック曲面(例えば連続的、例えばNURBSまたはBスプライン)、カノニカルな曲線(例えば線)、および/または、パラメトリック曲線(例えば連続的)、および/または、3Dポイント、のような幾何学的オブジェクト、ならびに、これらの幾何学的オブジェクトに関する位相データ(例えば境界関係を規定する)を含む。3Dモデルは、任意の規格におけるCADファイル(STEPファイルまたは他のCADファイル形式など)として出力されてもよい。
【0057】
建造物のレイアウトを表現する2Dモデルへのセマンティックセグメンテーションの変換S50~S60は、比較的容易に行われるかもしれない。そのような変換は、もちろん、セマンティックセグメンテーションの画像サイズ(すなわち入力2Dフロアプランのサイズ)のオーダーの計算量で行われてもよい(例えばセマンティックセグメンテーションにおいて1回以上ループすることを含む)。
【0058】
特に、変換S50~S60は、それぞれが各々の建築オブジェクトクラスそれぞれに関連づけられたセマンティックセグメンテーションの接合部を、それぞれ、各々の建築オブジェクトクラスのインスタンスを表現する各々の2Dモデル化オブジェクトに変換すること、および次に、建築の一貫性を確保する所定のルールに従って2Dモデル化オブジェクトを再配置すること、を含んでもよい。ピクセルワイズ・セマンティックセグメンテーションの場合には、変換は、建築オブジェクトクラスの各々のインスタンスを表現する最大の接続部にピクセルをグループ化すること、および次に、それらを正則化するために接続部を再加工すること、を含んでもよい。
【0059】
図1の処理はさらに、変換S50~S60を、クラスごとの基準で(すなわち前記クラスにおいてループして)建築オブジェクトに行うことを提案する。これは、より容易な処理、および、より正確な結果の達成を可能にする。特に、それぞれの建築オブジェクトクラスに対して、本処理は、セマンティックセグメンテーションに基づいて、マスクの決定S50を含む。次に、2Dモデルが、S60において決定されたマスクに基づいてS60において生成される。それぞれのマスクは、セマンティックセグメンテーション(S40において決定され、アプリケーションS3に入力される)と同じサイズの画像であり、それぞれのマスクは、各々のクラスに関連づけられたセマンティックセグメンテーションの要素(例えばピクセル)を表現する。生成S60は、上記のグループ化、変換(任意)、および再配置を含んでもよい。グループ化および変換は、例えばマスク中の情報以外の情報を全く使用せずに、マスクごとの基準で行われてもよい。これは、本処理を単純化する。再配置も、マスクごとの基準で行われてよいが、少なくとも1つのマスクに対して、1つ以上の他のマスク中の情報を使用する。
【0060】
建造物を表現する3Dモデルの2Dモデルからの決定S70も、比較的容易に行われるかもしれない。もちろん、2Dモデル中のそれぞれの建築オブジェクトインスタンスは、3Dモデル中の各々の建築オブジェクトインスタンスを直接生み出してもよい。決定することは、任意の既知のアルゴリズムを使用して行われてもよい。決定S70は特に、2Dモデルの2Dモデル化オブジェクトのそれぞれに、各々の3Dポジショニングデータおよび/または高さデータを加えることを含んでもよい。一例において、これらのデータは、任意の方法で事前に決定されてもよしい、または、ユーザとの対話(user-interaction)によって特定されてもよい。決定S70はさらに、互換性/整合性の、チェックおよび/または管理を含んでもよい。
【0061】
本処理は、コンピュータ実行される。これは、少なくとも1つのコンピュータまたは任意の同様のシステムによって、本処理のステップ(あるいは実質的にすべてのステップ)が実行されることを意味する。従って、本処理のステップは、コンピュータによって、恐らく完全に自動的に、あるいは半自動的に行われる。一例において、本処理のステップのうちの少なくともいくつかのトリガーは、ユーザとコンピュータとの対話によって行われてもよい。ユーザとコンピュータとの対話の要求されるレベルは、予測された自動性のレベルによって決まるものであってもよく、ユーザの希望を実行する必要性とバランスをとってもよい。一例において、このレベルは、ユーザで規定されてもよいし、および/または、予め規定されてもよい。
【0062】
処理のコンピュータ実行の典型例は、この目的に適したシステムで処理を行うことである。システムは、メモリおよびグラフィカルユーザインタフェース(GUI)に接続されたプロセッサを含んでもよく、メモリには、本処理を行うための命令を含むコンピュータプログラムが記録されていてもよい。メモリはまた、データベースを記憶してもよい。メモリは、そのような記憶に適した任意のハードウェアであり、いくつかの物理的に異なる部品(例えばプログラム用のもの、および恐らくデータベース用のもの)を恐らく含む。
【0063】
システムはCADシステムであってもよく、および/または、建造物の3DモデルはCADシステムにロードされてもよい。CADシステムは、CATIAのような、モデル化オブジェクトの図的表現に基づいてモデル化オブジェクトを少なくとも設計するために適した任意のシステムをさらに意味する。この場合、モデル化オブジェクトを規定するデータは、モデル化オブジェクトの表現を可能にするデータを含む。CADシステムは、例えば、エッジまたは線を使用して、ある種の場合には面または表面と共に、CADモデル化オブジェクトの表現を提供してもよい。線、エッジ、または表面は、様々な方法(例えば非一様有理Bスプライン(NURBS))で表現されてもよい。特に、CADファイルは、形状がそれから生成されてもよい仕様を含んでおり、それは次に、表現が生成されることを可能にする。モデル化オブジェクトの仕様は、単一のCADファイルか多数のそれに格納されてもよい。CADシステムにおいてモデル化オブジェクトを表現するファイルの典型的なサイズは、1つの部品当たり1メガバイトの範囲にある。また、モデル化オブジェクトは、典型的には何千もの部品の組立体であってもよい。
【0064】
図2は、システムの一例を示し、当該システムは、クライアントコンピュータシステム(例えばユーザのワークステーション)である。
【0065】
本例のクライアントコンピュータは、内部通信バス(BUS)1000に接続された中央処理装置(CPU)1010、同じくBUSに接続されたランダムアクセスメモリ(RAM)1070を含む。クライアントコンピュータは、BUSに接続されたビデオランダムアクセスメモリ1100に関係するグラフィック処理装置(GPU)1110をさらに備える。ビデオRAM1100は、この技術において、フレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030のような大容量メモリ装置へのアクセスを管理する。コンピュータプログラムの命令およびデータを明確に包含するのに適した大容量メモリ装置は、すべての形式の不揮発性メモリ(EPROM、EEPROM、およびフラッシュメモリ装置のような半導体メモリ装置を例えば含む)、内部ハードディスクおよびリムーバブルディスクのような磁気ディスク、光磁気ディスク、および、CD-ROMディスク1040を含む。前記のいずれかは、特別に設計されたASICs(特定用途向け集積回路)によって補足されるか、それに組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。また、クライアントコンピュータは、カーソル制御装置、キーボードなどのような触覚デバイス1090を含んでもよい。ディスプレイ1080上の任意の所望の位置にユーザが選択的にカーソルを置くことを可能にするために、クライアントコンピュータにおいてカーソル制御装置が使用される。さらに、カーソル制御装置は、ユーザが、様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための複数の信号生成装置を含む。典型的には、カーソル制御装置は、マウスであってもよく、マウスのボタンは信号を生成するために使用される。あるいはまたはさらに、クライアントコンピュータシステムは、感知可能なパッドおよび/または感知可能なスクリーンを含んでもよい。
【0066】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでもよく、命令は、上記のシステムに本処理を行わせるための手段を含む。プログラムは、任意のデータ記憶媒体(システムのメモリを含む)に記録可能であってもよい。プログラムは、例えば、デジタル電子回路において、または、コンピュータハードウェア、ファームウェア、ソフトウェアにおいて、もしくはそれらの組み合わせにおいて、実行されてもよい。プログラムは、装置として、例えばプログラム可能なプロセッサによる実行のための、機械読取可能な記憶装置に明確に組み込まれた製品として、実行されてもよい。処理ステップは、入力データを処理し出力を生成することによってその処理の機能を行う命令のプログラムを実行するプログラム可能なプロセッサによって行われてもよい。このように、プロセッサは、プログラム可能であってもよく、且つ、データ記憶システム、少なくとも1つの入力装置、および少なくとも1つの出力装置、からデータおよび命令を受け取るように、およびそれへデータおよび命令を送るように、つながれていてもよい。望むのであれば、アプリケーションプログラムは、ハイレベルの手続き型またはオブジェクト指向のプログラミング言語で、または、アセンブリ言語もしくは機械語で実行されてもよい。いずれの場合も、言語は、コンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、完全なインストールプログラムまたはアップデートプログラムであってもよい。システムへのプログラムの適用は、いずれの場合も、本処理を行うための命令をもたらす。
【0067】
ここで、本処理の例について述べる。
【0068】
本例の処理は、フロアプラン生成に関する。特に、それはセマンティックセグメンテーションを介したフロアプラン分析に関係する。画像の形式でフロアプランが与えられたときに、すべての記号が同時に認識され、ピクセルワイズレベルに置かれてもよい。本例の処理は、3D建造物生成および設計作成のような多くのアプリケーションにおいて有用かもしれない。本例の処理は、新しいフロアプラン生成フレームワークを形成する。本例の処理の特徴は、以下のものを含んでもよい。
【0069】
・いくつかのステップを含むアプローチに存在する誤差累積効果を回避することを可能にするエンド・トゥー・エンドアプローチ(end-to-end approach)。
【0070】
・記号タイプからの独立性。他の記号タイプは容易に統合できる。特別な制約は必要とされない。
【0071】
・深層畳み込みニューラルネットワークに基づく最初のアプローチ。
【0072】
本例の処理は3D建造物モデルを生成する分野に属し、それにおいて、2Dフロアプラン画像が与えられたときに、本例の処理は、利用可能な3Dモデル(「3Dフロアプラン」とも称される)を得るために、壁(外部/内部)、開口部(ドア/窓)、および、空間のような、構造の建造物要素を再構成してもよい。
【0073】
2Dフロアプラン画像入力からの3D建造物モデルの生成は、以下のものに基づいてもよい。
【0074】
1.2Dフロアプランのそれぞれの構造要素をセマンティック的に(semantically)認識すること。これは、入力中の2Dフロアプランのピクセルのそれぞれへセマンティック情報(セマンティックの例は、壁、ドア、および/または、窓を含む)を割り当てるセマンティックセグメンテーションによって行われてもよい。
【0075】
2.先のステップによって供給された結果に基づいて3Dフロアプランを生成すること。
【0076】
利用可能なデータ入力のいくつかの特徴は、与えられた2Dフロアプラン画像の3D建造物モデルを生成するアプローチを、非常に難しいものにする。そのため、現在のシステムのほとんどは、普遍性に欠けるという共通の欠点を共有する。
【0077】
2Dフロアプランは、多くの場合スキャンされてもよいし、手描きまたはコンピュータ生成されてもよい。フロアプランはさらに、様々なレベルの詳細を有してもよい。フロアプランについての最も広く流通している形式は、詳細な建設情報に欠ける。それにもかかわらず、フロアプランは、建造物の完全なレイアウトをなんとかカバーし、それは、ほとんどのアプリケーションに対してモデルを構築するのに充分かもしれない。これらのさほど詳細ではないフロアプランが手描きされるかコンピュータ生成されるかにかかわらず、それらは、異なる図形記号を使用するかもしれず、それは大きな欠点となる。もちろん、標準は存在しない。
【0078】
図3および
図4はそれぞれ、ドアおよび壁に対する共通のスタイルの例を示す。特定の標準に制約される代わりに、図面の目的(および設計者の芸術的な動機づけ)が、どの構成要素が示されてもよいか、および、それらがどのように見えてもよいか、を決定するかもしれない。これは、フロアプラン画像を分析し解釈する際において大きな問題をもたらす(特に自動システムに対して)。
図3~
図4は特に、フロアプランに対して、ドア記号(
図3)および壁(
図4)を描画するための異なる方法を示す。記号は、手描きすること、または、コンピュータ生成することが可能である。異なる図形記号は、2Dスキャンされたフロアプランを3Dモデルに自動的に変換する際に難題となる。
【0079】
さらに、フロアプランは、構造要素だけではなく、テキストコンテンツ、寸法、スケール、引き出し線(すなわち、測定値またはテキストに導かれる線)を含んでもよい。
図5は特に、一般的なスキャンされたフロアプランの例を示す。構造的なもの以外の異なる(図形またはテキストの)要素が表現されてもよい。
【0080】
本例の処理の1つの目的は、2Dフロアプラン画像が与えられたときに3D建造物モデル生成に対する総括的なソリューションを提供すること、すなわち、プランの構造的な2D要素のセマンティックおよび位相を同時に認識するソリューションを提供することであってもよい。それは、セマンティックセグメンテーション法(すなわち深層ニューラルネットワーク(Deep Neural Network)を使用する方法)の効率を向上させるフレームワークからなるものであってもよい。
【0081】
ここで、本例の処理に含まれる異なる概念について述べる。
【0082】
「セマンティックセグメンテーション」は、画像におけるそれぞれのピクセルの役割をセマンティック的に理解すること(すなわち、セマンティック的に意味のある部分へ画像を分割すること、および、それぞれの部分を所定のカテゴリのうちの1つに分類すること)を試みる。それは、ピクセルワイズ分類と見なすことができ、その分類は、そのカテゴリメンバシップが知られている観察結果(またはインスタンス)を含むデータのトレーニング集合に基づいて、新しい観察結果がカテゴリのどの集合に属するかを特定する問題である。一例は、与えられた画像中の背景から人を分けること、または、人の身体をその異なる部分に分割すること、であろう。
【0083】
「深層ニューラルネットワーク」(DNN)は、ニューラルネットワークにおける学習のためのテクニックの強力な集合であり(「Rumelhart et al. Learning internal representations by error backpropagation, 1986」の中で述べられている)、それは、コンピュータが観測データから学習することを可能にする、生体模倣型のプログラミングパラダイムである。DNNは、他の画像分類法(SVM、ブースティング(Boosting)、ランダムフォレストなど)において使用される、手作業で設計された低レベルの特徴(Zernike momentsの中で述べられている、HOG、Bag-of-Words、SIFTなど)とは異なり、リッチな中間レベルの2D画像表現を学習する能力を与える。より具体的には、DNNは、生データに基づくエンド・トゥー・エンド学習に焦点をあてている。換言すれば、それらは、生の特徴から始まってラベルに終わるエンド・トゥー・エンド最適化を遂行することによって、特徴エンジニアリングから、可能な最大の程度離れる。
図6は、深層ニューラルネットワークを図示する。
【0084】
「畳み込みニューラルネットワーク」(「LeCun et al. Convolutional Networks for Images, Speech, and Time-Series」で述べられている)は、少なくとも1層が畳み込みフィルタを含む深層ニューラルネットワークの特別な場合である。それらのフィルタは、入力のどこにでも適用され、出力として特徴マップを与える。この特徴マップは、入力におけるいくつかの特定のパターンがフィルタによって認識される活性化のエリアを示す。いくつかの畳み込み層を積層する場合、深層学習の利点は、ディスクリプタ(descriptor)によって得られる基本的特徴よりもより洗練された、非常に複雑であるが強力な特徴を抽出する方法を提供することである。全層畳み込みニューラルネットワークは、学習済みのすべての層が畳み込みである、畳み込みニューラルネットワークである。全層畳み込みネットワークに基づくDNNは、任意のサイズの入力をとる能力、および、アップサンプリング層(upsampling layer)を使用して相応にサイズ化された出力を生成する能力、を与える。
図7は、畳み込みフィルタの一例を示す。
【0085】
「アップサンプリング」は、画像(あるいは特徴マップ)を、より高い解像度にアップサンプリングする任意のテクニックを指す。最も簡単な方法は、再サンプリングおよび補間を使用することである。これは、入力画像をとり、それを所望のサイズにスケーリングしなおし、次に、バイリニア補間のような補間方法を使用してそれぞれのポイントにおいてピクセル値を計算する。
【0086】
「アンプーリング(unpooling)」は、畳み込みニューラルネットワークの環境において、アップサンプリングに一般的に使用される。
図8は、アンプーリングに基づくアップサンプリングの一例を示し、ここで、最大プーリングのインデックス(max-pooling index)は、入力特徴マップをアップサンプリングするために使用される。
【0087】
「エンコーダ・デコーダ・ネットワーク」は、特定のタイプのDNNを意味する。いくつかのDNNは、エンコーダ・デコーダ・ネットワークと見なすことができ、その場合、エンコーダは、異なる(通常はより低次元の、圧縮された)特徴表現へ入力データをマッピングし、デコーダは、入力データ空間へ特徴表現をマッピングし戻す。全層畳み込みネットワークは、全層畳み込みエンコーダ、およびそれに続く、アップサンプリング層およびピクセルワイズ分類器を含むデコーダと見なすことができる。
図9は、セマンティックセグメンテーション用の畳み込みエンコーダ・デコーダ・ネットワークの一例を示す。
【0088】
ここで、
図11を参照して、本例の処理へのこれらの概念の統合について述べる。
【0089】
本例の処理は、2つのステージに分解されてもよい。「オフライン」ステージと示される第1のステージは、深層ニューラルネットワークに極度に依存してもよく、セグメンテーションモデルが学習(これは一度だけ行われてもよい)されるステージに対応してもよい。オフラインという語句は、このステージが本方法のユーザに明白であり、大規模な計算の要求があっても、計算を行う時間を得ることができるという事実を示す。
【0090】
セグメンテーションモデルを学習するために、本例の処理は、以下の入力を使用してもよい。
【0091】
1.2Dフロアプラン画像とそれらの対応するピクセルワイズラベル画像とのペアのトレーニングデータセット。テストされた実行において、4つのカテゴリラベル、すなわち「壁」、「ドア」、「窓」および「背景」、が考慮された。次に、それぞれのトレーニング画像のピクセルのそれぞれが、これらのラベルのうちの1つに関連づけられた。
図10は、壁102、窓104、ドア106、および背景108を備える、画像のそのようなトレーニングペアを示す。
【0092】
2.(トレーニングされていない)エンコーダ・デコーダ・ネットワーク。テストされた実行において、2つの異なる最新のネットワークが考慮された。
【0093】
(i) AlexNetベースの全層畳み込みネットワーク(J. Long et al. Fully Convolutional Networks for Semantic Segmentation 2015)。これは、8つの畳み込み層(プーリング層を備える)を含む全層畳み込みエンコーダと、それに続く、アップサンプリング層およびピクセルワイズ分類器(ソフトマックス分類器)を含むデコーダとからなる。
【0094】
(ii) SegNetネットワーク(V. Badrinarayanan et al. SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation 2016)。これは、13の畳み込み層を含む全層畳み込みエンコーダ(プーリング層を備える)と、同様に13の畳み込み層を含む全層畳み込みデコーダ(
図8を参照して記述されたようなアップサンプリング層を備える)とからなる。このネットワークのアーキテクチャは、
図9の例と、位相的に同一である。
【0095】
SegNetネットワークは、AlexNetベースの全層畳み込みネットワークよりも、うまく動作する。
【0096】
「オンライン」ステージとして示される第2のステージは、見えていない2Dフロアプラン画像をセグメンテーションし対応する3D建造物を生成する処理の間にリアルタイムに行われる処理のステップのすべてを集める。
【0097】
なお、3Dモデルを生成する前に結果を検証するために、セマンティックセグメンテーション処理の終わりに、ユーザの介在を加えることができる。
【0098】
図11は、オフラインおよびオンラインステージの技術的なワークフローを図示する。
【0099】
次に、本例の処理は、先のセマンティックセグメンテーションアルゴリズムによって与えられたセマンティックセグメンテーションの結果を向上させるために、いくつかの方法を適用してもよい。これは、先に述べた論文[1](アルゴリズムは、2Dフロアプランに対して強い幾何学的な制約を考慮に入れる)の中で与えられたソリューションとは対照的である。例えば、ドア、壁部の幅は、先行技術のこの部分において、常に局所的に同じである。ノイズ除去テクニックが、偽陽性を除去するために適用されてもよい。
【0100】
最後に、供給されたセマンティックマスクは、3D再構成APIによって要求される位相情報を抽出するために使用されてもよい。実際には、得られる3Dフロアプランの利用をさらに促進するために、例えば“Building Smart IFC format”(先に述べた論文[3]において使用された)のような、適用可能な標準にあわせることは有用かもしれない。
【0101】
ここで、本例の処理の特殊性について、以下の学術論文を参照して、より詳細に述べる。
【0102】
[A]“ImageNet Classification with Deep Convolutional Neural Networks”, Alex Krizhevsky & Al
[B]“Very Deep Convolutional Networks For Large-Scale Image Recognition”, Karen Simonyan & Andrew Zisserman
[C]“Deep Residual Learning for Image Recognition”, Kaiming He & Al
[D]“Fully convolutional networks for semantic segmentation,” J. Long, E. Shelhamer, and T. Darrell, in CVPR 2015
[E] “SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation”, Vijay Badrinarayanan, Alex Kendall, Roberto Cipolla, 2015
[F]“Pyramid Scene Parsing Network”, Hengshuang Zhao, Jianping Shi, Xiaojuan Qi, Xiaogang Wang, Jiaya Jia, CVPR 2017
[G] “RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation”, Guosheng Lin, Anton Milan, Chunhua Shen, Ian Reid, 2016
[H]“Fully Convolutional Networks for Semantic Segmentation”, Jonathan Long, Evan Shelhamer, Trevor Darrell, CVPR 2015
[I]“CVC-FP and SGT: a new database for structural floor plan analysis and its groundtruthing tool”, International Journal on Document Analysis and Recognition (IJDAR), Lluis-Pere de las Heras, Oriol Ramos Terrades, Sergi Robles, Gemma Sanchez
ここで、学習S20の実行の例について述べる。
【0103】
このステップは主に、2Dフロアプラン画像を入力として入力画像のピクセルワイズ分類であるセマンティックセグメンテーションマスクを返す関数の学習であってもよい。クラスは、予め定められてもよい。このセマンティックセグメンテーションマスクは、入力画像と同じ大きさ(dimensions)を備える画像であり、そのピクセルは、予め定められたクラスに対応するいくつかの値(例えば色)をとることができる。テストされた実行において、以下のクラス、すなわち、「壁」、「ドア」、「窓」および「背景」、が選ばれた。最後のクラスは、他のクラスのうちの1つに属さないすべてのピクセルについて記述した。
【0104】
[学習関数特徴づけ]
学習関数は、畳み込みニューラルネットワークとして実行されてもよい。関数は特に、畳み込みエンコーダ・デコーダ・ニューラルネットワークアーキテクチャを与えてもよい。換言すれば、ニューラルネットワークは、自然画像上でセマンティックセグメンテーションを行うために使用されるニューラルネットワークの一種であるエンコーダ・デコーダであってもよい。この種のニューラルネットワークは、自然画像中の連続性を比較的よく活用でき、従ってそのような状況において好結果をもたらすが、2Dフロアプランのようなスパース(sparse)な情報を含む画像では、演繹的には効率的ではない。しかしながら、テストは行われ、この種のニューラルネットワークが、本処理の2Dフロアプランの状況においてもうまく働くことを示した。
【0105】
ニューラルネットワークの学習は、3つの主な成分を含んでもよい。
【0106】
1.ニューラルアーキテクチャ:層の数、1層当たりのニューロンの数、ニューロンの種類。
【0107】
2.最適化アルゴリズム:これは、アノテーションされた(annotated)データセットおよび損失関数値に従ってニューラルネットワークのパラメータ/重みを更新するために使用される。
【0108】
3.アノテーションされたデータセット。
【0109】
ニューラルネットワークのニューラルアーキテクチャは、以下に述べる畳み込みエンコーダ・デコーダ・アーキテクチャであってもよい。
【0110】
1.畳み込みエンコーダ:エンコーダネットワークは、フロアプラン画像を入力とする。それは、プーリング層がはさまれてもよい一連の畳み込み層を含む。通常、畳み込みエンコーダは、AlexNet[A]、VGG16[B]、ResNet[C]、または他のCNNアーキテクチャのような、周知の畳み込みのアーキテクチャに対応してもよい。
【0111】
2.畳み込みデコーダ:デコーダネットワークは、エンコーダネットワークの出力を入力とする。それは、その間にアップサンプリング層がはさまれる一連の畳み込み層を含んでもよい。最後の畳み込み層の出力は、入力フロアプラン画像と同じ大きさ(dimensions)を有してもよい。デコーダは、プーリング層をアップサンプリング層に置き換えることによる、エンコーダネットワークと対称なものであってもよい。しかしながら、デコーダネットワークは、あるいは、異なるアーキテクチャを有してもよい。遵守されてもよいただ1つの制約は、出力が、入力2Dフロアプラン画像のものと同じ大きさを有してもよい、ということである。
【0112】
うまく動作するテストにおいて、[E]で規定されたSegNetアーキテクチャが使用された。[H]で規定されたFCN、[F]で規定されたPSPNet、または[G]で規定されたRefineNetのような、他のニューラルアーキテクチャが使用されてもよい。
【0113】
学習は、確率的勾配降下法を含んでもよい。確率的勾配降下法は、クロスエントロピー損失関数に基づいてもよい。換言すれば、最適化アルゴリズムは、確率的勾配降下法であってもよい。損失関数は、学習プロセス中に、ネットワークによって返されたセマンティックセグメンテーションマスクと、トレーニングデータセット中の2Dフロアプランに関係するグランドトゥルース(ground truth)セマンティックセグメンテーションマスクとの間の誤差を計算してもよい。[D]で規定されたクロスエントロピー損失関数が、特にテストされた。
【0114】
[データセット特徴づけ]
トレーニングデータセットは、2Dフロアプラン画像の集合であってもよく、その画像のそれぞれは、ピクセルワイズのラベル付き画像(グランドトゥルース・セマンティックセグメンテーションマスクとも呼ばれる)に関係する。
【0115】
学習関数の正確な結果を確保するトレーニングデータセットの特徴は、以下の通りであってもよい。
【0116】
・充分なデータ:データセットは、500、750または1000を越える、異なる2Dフロアプラン画像を含んでもよい。
【0117】
・関連データ:データセット中のフロアプランの多様性は、学習済み関数が処理するであろうフロアプランに対応してもよい。特に、トレーニングデータセット内の記号(壁、窓、ドア)の多様性は、学習済み関数が処理するであろうフロアプラン画像によって含まれるいくつかのものをカバーしてもよい。
【0118】
データセットは、全体のデータセットの区分けを形成する、3つのサブデータセットへ分割されてもよい。第1のサブデータセットは「トレーニングデータセット」と呼ばれ、関数を学習するために使用されるデータを含む。第2のサブデータセットは「バリデーションデータセット(validation dataset)」と呼ばれ、学習中に関数がその一時的正解率を計算することによってまだ改善しているかについてチェックするために使用されるデータを含む。第3のサブデータセットは「テストデータセット」と呼ばれ、ひとたび学習が行われると使用されるデータを含む。テストデータセットは、最終のセマンティックセグメンテーション正解率を評価するために使用されてもよい。トレーニングデータセットは、データセット全体の少なくとも80%を含んでもよい。バリデーションデータセットおよびテストデータセットは、残りのデータの等分割であってもよい。
【0119】
S10において供給されるそのようなデータセットを構築する効率的な方法は、それぞれが各々の3Dモデルに関連づけられた2Dフロアプランの既存のデータベースを再使用することであってもよい。そのようなデータベースが利用可能な場合、データセットは、それぞれの2Dフロアプランに対して、各々の3Dモデルから各々のセマンティックセグメンテーションを決定することによって(3Dモデルがそれぞれのオブジェクトのクラスを供給するので)、容易に構成できる。
【0120】
[セマンティックセグメンテーション正解率]
アノテーションされたデータセットにおけるセマンティックセグメンテーション正解率を評価するために、評価尺度が規定されてもよい。セマンティックセグメンテーションのタスクに対して、2つの評価尺度が使用されてもよい。
【0121】
1.平均正解率:これは、よく分類されたピクセルの平均百分率に相当する。
【0122】
2.平均IoU(すなわち、Intersection over Union):これは、推定されたセグメンテーションとグランドトゥルースとの積集合(intersection)をそれら両方の和集合(union)によって除したものに相当する。
【0123】
テストは、880のフロアプラン画像を含むデータセットで行われた。このデータセットは、ミラーおよび回転(90°、180°および270°)のような変換によって拡張されたオープンソースデータベース([I]で与えられる)から生じる2Dフロアプラン画像に基づいて構築された。そのようなテストによって、0.88の平均正解率および0.78の平均IoUが得られた。一般的に、関数が0.85より高い平均正解率、および/または、0.75より高い平均IoUを与える場合、セマンティックセグメンテーションは特に正確かもしれない。次のステップが、学習済み関数の出力を入力とするため、セマンティックセグメンテーション正解率が適切かもしれない。経験的に、平均正解率が0.85を上回り平均IoUが0.75を上回ることを見出すことができ、そうでなければ、再構成された3Dフロアプランが誤りを含んでいるかもしれない。確かに、セマンティックセグメンテーションマスクはスパースである。
【0124】
下記は、アプリケーションS3の例を述べ、特に、プリミティブ抽出の実行の詳細を提供する。
【0125】
以下に述べる一例において、S50において各々のクラスのそれぞれに対してマスクを決定することは、各々のクラスに対応するセマンティックセグメンテーションのすべてのピクセルでの(マスクの)初期化、マスクのスケルトン化、および、線分の数を減らすためにマスク中の線分(line segment)(または単に「線分(segment)」)を併合すること、を含むサブ処理を含む。次に、本処理の残りの部分が、サブ処理によって出力された結果に基づいて行われてもよい。実行の例では、線分の併合において、第1の所定の共線性閾値を上回る線分と所定の距離閾値を下回る線分とのペアが、以下で述べるように、併合されてもよい。そのようなサブ処理は、組織化されていないデータを、より統合的なフォーマットに縮小することを可能にする。
【0126】
他の一例において、本方法は、壁クラスに関するマスク中の線分の連結、および/または、窓クラスに関するマスクの線分、および/または、ドアクラスに関するマスクの線分の、それぞれ壁マスクの各々の線分上への投影、を含んでもよい。実行の一例において、それぞれの投影される線分は、第2の所定の共線性閾値(第1の所定の共線性閾値と等しくてもよい)を越える、投影される線分との共線性を与えるものの中で壁マスクに最も近い線分に投影される。これは、スケルトン化がデータの損失に結びつくかもしれないとしても、結果のリアリズム(すなわち、建築の視点から見て受け入れ可能な意味)を維持することを可能にする。特に、スケルトン化は誤差(例えば、窓またはドアとその支持壁との間のギャップ)を持ち込むかもしれないが、本例はそのような誤差を修正する。
【0127】
一例において、第1および/または第2の所定の共線性閾値は、2つの線分間の(無配向の)角度の閾値として規定されてもよい。前記閾値は、トレーニングデータセット中の2つの隣接する壁によって形成されるすべての角度の分布の関数として規定されてもよい。共線性閾値は、この分布によって規定されてもよい。例えば、2つの隣接する壁によって形成される角度の5%未満のような角度の値は、この値よりも低い。前記値が高い(例えば45°より高い)場合、それを30°に低下できる。実際上、30°のオーダーの値は、好結果をもたらす。
【0128】
一例において、所定の距離閾値は、窓またはドアのような他のオブジェクトインスタンスの関数として規定されてもよい。それは、偽陽性をほとんど得ないことを可能にするように、ドアまたは窓の平均の幅の30%未満に定められてもよい。この閾値未満である、2つの実質的に同一直線上の壁の間のほとんどの間隔は、線抽出アルゴリズムに起因する誤差であるかもしれない。従って、2つの壁は、広げられて併合されてもよい。
【0129】
アプリケーションS3は、畳み込みエンコーダ・デコーダ・ニューラルネットワークによって返されたセマンティックセグメンテーションマスクを入力としてもよく、3Dフロアプラン再構成APIによって必要とされるプリミティブの集合を返してもよい。
【0130】
2Dフロアプランのセマンティックセグメンテーションマスクは線画画像であってもよい。それぞれの線は、様々な太さを有することができる。前景ピクセルは、本処理が特定しようとするオブジェクトクラスに対応する異なる値(例えば色)を有することができる。
【0131】
セマンティックセグメンテーションマスクは、幾何学的なプリミティブがそれから容易に構築されてもよいリファインされたマスク(refined mask)を得るために、以下の例のステップによって処理されてもよい。
【0132】
1.「クラス固有マスク」(class-specific mask):最初に、マスクは、固有オブジェクトクラスに関係するピクセルをそれぞれが含むいくつかのマスクへ分割される。一例において、本処理は、壁用の1つのマスク、窓用の1つのマスク、およびドア用の1つのマスクを得てもよい。
【0133】
2.「マスクスケルトン化」:次に、スケルトン化処理が、それぞれのクラス固有のマスクに適用される。この処理は、すべての線を細くすることを目指す。2つの古典的アプローチ、すなわちモフォロジカルアプローチおよび距離変換アプローチが、線画のスケルトンを行うために使用されてもよい。テストされた実行は、例えば「“Morphological Skeleton Representation and Coding of Binary Images”, IEEE (October 1986), Petros A. Maragos, Ronald W. Schafer.」という論文に記載されたような、モフォロジカルスケルトンアプローチを使用した。
【0134】
3.「線併合」:それぞれのクラス固有のスケルトン化マスクは、できるだけ少数の線分によるスケルトン化マスクを得るために併合されてもよい多数の小さな線分からなる。開発されたアルゴリズムは以下の通りである。
【0135】
a.線分のすべてのペアに対して、それらがほとんど同一直線上にあり且つ2つの線分間の距離が所定のクラス固有の閾値未満である場合には、2つの線分は、2つの線分の併合に対応する単一の線分に置き換えられる。
【0136】
b.線分のペアが先のa.ステップにおいて併合されている間は、a.ステップに戻る。そうでなければ、線分の最終の集合を返す。
【0137】
4.「線結合」:このステップは、壁固有マスクにのみ適用される。ステップ3によって返された、処理されたマスクは、ストレート壁に対応する線分の集合を含む。このステップは主に、2つのストレート壁間に連結があるかどうかを検知すること、および、対応する線分をそれらの末端の結合によって修正すること、である。開発されたアルゴリズムは以下の通りである。
【0138】
a.線分のすべてのペアに対して、それらが同一直線上になく且つ2つの線分間の距離が所定の閾値未満である場合には、2つの線分は、それらの終点の1つが、2つの線分を含む2つの線の交差に対応する点とオーバーラップするように、修正される。
【0139】
b.線分のペアが先のa.ステップにおいて修正されている間は、a.ステップに戻る。そうでなければ、線分の最終の集合を返す。
【0140】
5.「クラス固有マスクの併合およびリファインメント」(refinement):この最終ステップは主に、窓およびドアの局所化をリファインすることである。ステップ3によって返された、対応する窓固有のおよびドア固有のマスクにおいて、それぞれの線は、窓(各々ドア)に対応する。最初に、すべてのクラス固有マスクが付加される。窓およびドアに対応する線分は壁の線分と正しく同一直線上にないかもしれないため、本処理は、それぞれの窓およびドアの線分を、同じ方向を有する最も近い壁の線へのそれらの投影によって置き換えてもよい。
【0141】
次のステップは、主に、壁プリミティブ、ドアプリミティブおよび窓プリミティブのような3D再構成APIによって必要とされる3Dプリミティブを構成することであってもよい。例えば、壁プリミティブは、以下の属性、すなわち2つの終点の座標、太さ、高さ、隣接する壁のリファレンス、によって規定されてもよい。リファインされたマスクのおかげで、壁、窓およびドアプリミティブは、容易に構築されるかもしれない。確かに、終点の座標、隣接する壁のリファレンス、窓(各々ドア)が属する壁のリファレンスといった情報は、リファインされたマスクから容易に抽出できる。壁/窓/ドアの高さまたは幅といった他の情報は、予め規定されてもよいしユーザによって供給されてもよい。
【0142】
図12~
図19は、テストされた学習S1によって学習済み関数に基づくS2~S3の一例を図示する。
【0143】
図12は、S30において供給された入力2Dフロアプランを示す。
【0144】
図13は、壁122、窓124およびドア126を備える、S40において決定された、2Dフロアプランのセマンティックセグメンテーションを示す。
【0145】
図14~
図16は、S50および壁クラスに関するマスクの処理を図示する。
図14は、壁クラスに関するマスクの画像を示す。
図15は、「線分」タイプの幾何学的プリミティブの抽出を示す。
図16は、壁の併合および連結ステップの出力を示す。見られるように、減少した数の壁が得られる。
【0146】
【0147】
図18は、リファインメントを示し、それは、S60において2Dモデルを生成することを可能にする。
【0148】
図19は、2Dモデルのそれぞれの幾何学的プリミティブに単純に高さを加えることによる、S70における3Dモデルの決定を示す。見られるように、
図12の入力2Dフロアプランに対応する3Dモデルを得ることができる。
【0149】
特にオフライン学習に関して、この考察に従って関数および学習についての構成の例を示すために、ここで、
図11に関する考察を再び参照する。
【0150】
前記構成において、関数は、建造物のレイアウトを表現する入力2Dフロアプランのセマンティックセグメンテーションを決定するように構成される。関数は、畳み込みエンコーダ・デコーダ・アーキテクチャを与えるニューラルネットワークを有する。特に、関数は、畳み込みエンコーダ・デコーダ・アーキテクチャを与える単一のニューラルネットワークを有してもよいし(すなわち、関数は、畳み込みエンコーダ・デコーダ・アーキテクチャを与える他のニューラルネットワークを有さない)、または、関数は、畳み込みエンコーダ・デコーダ・アーキテクチャを与えるニューラルネットワーク(例えば単一のニューラルネットワーク)であってもよい。
【0151】
前記構成において、ニューラルネットワークは、クラスの集合に関するピクセルワイズ分類器(例えばソフトマックス分類器)を含む。前記構成の一例において、ニューラルネットワークは、アップサンプリング層をさらに含んでもよい。アップサンプリング層は、例えば、ピクセルワイズ分類器の前に配置されてもよい。あるいはまたはさらに、ニューラルネットワークは、最大プーリング層を含んでもよい。最大プーリング層は、例えば、ピクセルワイズ分類器の後に配置されてもよい。
【0152】
前記構成において、クラスの集合は、壁クラス、ドアクラスおよび窓クラスの中の少なくとも2つのクラスを含む。前記構成の一例において、クラスの集合は、壁クラス、ドアクラス、および窓クラスを含んでもよい。一例において、クラスの集合は、あるいはまたはさらに、背景クラスを含んでもよい。クラスの集合は、壁クラス、ドアクラス、窓クラス、および背景クラスから構成されていてもよい。
【0153】
ピクセルワイズ分類器は、2Dフロアプラン入力画像のピクセルのそれぞれに対して、クラスの集合中の任意のクラスの推定用の各々のデータを出力してもよい。従って、背景クラスとは異なる第1のクラスのオブジェクト/インスタンス(例えば壁)を表現する第1のピクセルと、背景クラスとは異なる第2のクラスのオブジェクト/インスタンス(例えばドアまたは窓)を表現する第2のピクセルとを有する2Dフロアプラン入力画像(データセット中のまたはそうでなく)の少なくとも1つのセマンティックセグメンテーションに対して、ピクセルワイズ分類器は、第1のピクセルに対する第1のクラスの推定用データ、および、第2のピクセルに対する第2のクラスの推定用データを出力してもよい。
【0154】
前記構成において、関数の学習は、供給されたデータセット(例えばトレーニングデータセット)に基づく。供給されたデータセットは、各々のセマンティックセグメンテーション(例えば各々のグランドトゥルース・セマンティックセグメンテーション)にそれぞれが関連づけられた(例えばアノテーションされた)2Dフロアプランを含む。
【0155】
ニューラルネットワークは重みを含んでもよく、学習は、最適化アルゴリズムで、データセットおよび損失関数に従って重みの更新を含んでもよい。特に、学習は、単一の最適化アルゴリズムを含んでもよい(すなわち、学習は、他の最適化アルゴリズムを含まない)。そのような一例において、(例えば単一の)最適化アルゴリズムは、確率的勾配降下法であってもよい。ニューラルネットワークは、前記(例えば単一の)確率的勾配降下法の後にトレーニングされてもよく、従って、その重みは、ピクセルワイズ分類器のものを含んで、そのときに明確に設定されてもよい。さらにまたはあるいは、そのような一例において、損失関数は、クロスエントロピー損失関数であってもよい。
【0156】
ピクセルワイズ分類器は、それぞれの入力2Dフロアプランに対して、入力2Dフロアプランのセマンティックセグメンテーションマスクの推定用の各々のデータを出力してもよい。セマンティックセグメンテーションマスクは、クラスの集合に関する、2Dフロアプランのピクセルワイズ分類であってもよい。「セマンティックセグメンテーションマスクの推定用」とは、セマンティックセグメンテーションマスクを得ることを可能にする任意のデータを意味する。例えば、それは、2Dフロアプランのピクセルのそれぞれを単一のクラスへ直接関連づけるデータであってもよく(すなわちセマンティックセグメンテーションマスク)、あるいは、それに基づいてセマンティックセグメンテーションマスクが間接的に決定される他のデータであってもよい(例えばそれぞれのピクセルにそれぞれが関連づけられたクラスの集合における確率の分布)。そのような一例において、損失関数は、データセットの2Dフロアプランのそれぞれに対して、データセット中の2Dフロアプランに関連づけられた各々のセマンティックセグメンテーションに対して誤差を有するセマンティックセグメンテーションマスクの推定にペナルティを課してもよい。換言すれば、先に述べたように、損失関数は、セマンティックセグメンテーションマスクと、データセット中の2Dフロアプランに関連づけられた各々のセマンティックセグメンテーションとの間の誤差に対応してもよい。特に、ピクセルワイズ分類器は、ニューラルネットワークの単一層であってもよい。これは、前記単一層によって出力される推定用のデータをもたらす。換言すれば、ピクセルワイズ分類器は、セマンティックセグメンテーションのクラスのすべてを扱うために形成される。これは、セマンティックセグメンテーションの強固さを増大させる。もちろん、クラスは、曖昧さ(例えばオーバーラップしているクラス)のリスクを減らす単一層によって出力されたデータに基づいて推定される。さらに、ピクセルワイズ分類器は、クラスごとに生じるソリューションの誤差の伝搬に起因する誤りを低減することができる。
【0157】
前記構成の一例において、ピクセルワイズ分類器は、入力2Dフロアプランのピクセルのそれぞれに対して、クラスの集合中のクラスの推定用の各々のデータを出力してもよい。そのような一例において、損失関数は、データセットの2Dフロアプランのそれぞれのピクセルのそれぞれに対して、データセット中の2Dフロアプランに関連づけられた各々のセマンティックセグメンテーション(例えばグランドトゥルース・セマンティックセグメンテーション)によって前記ピクセルに対して供給されたクラスとは異なる各々のクラスの推定にペナルティを課してもよい。特に、クラスの集合中のクラスの推定用の各々のデータは、それぞれのピクセルに対するクラスの集合からの単一のクラスの決定を可能にする。そのような一例において、少なくとも1つの入力2Dフロアプランに対して、ピクセルワイズ分類器は、入力2Dフロアプランの少なくとも1つの第1のピクセルに対する、少なくとも2つのクラスの中の第1のクラスの推定用のデータ、および、入力2Dフロアプランの少なくとも1つの第2のピクセルに対する、少なくとも2つのクラスの中の第2のクラスの推定用のデータ、を出力してもよい(第1および第2のクラスは異なっており、第1および第2のピクセルも異なっている)。このように、そのようなピクセルワイズ分類器は、ピクセルが1つを超えるクラスに関連づけられるリスクを減らす。
【0158】
前記構成の一例において、ピクセルワイズ分類器によって出力された各々のデータは、クラスの集合における確率の分布を含んでもよい。例えば、入力2Dフロアプランの各々のピクセルのそれぞれに対して、各々のデータは、1つのクラスに1つの確率が対応するように、クラスの集合中のクラスの数(例えばすべてのクラス、例えば少なくとも2つのクラス)に関連する各々のピクセルに対する複数(例えばクラスの数)の確率を含んでもよい。そのような一例において、ニューラルネットワークは、ピクセルワイズ分類器の後に配置された最大プーリング層をさらに含んでもよい。最大プーリング層は、入力2Dフロアプランのピクセルのそれぞれに対するクラスの集合の中から1つのクラスを決定してもよい。決定されたクラスは、ピクセルワイズ分類器によって出力された各々のデータに含まれる確率の分布の中で最高の確率を有するクラスであってもよい。
【0159】
例えば、推定用のデータは、各々のピクセルが少なくとも2つのクラスの中の第1のクラスに関連する第1の確率と、各々のピクセルが少なくとも2つのクラスの中の第2のクラスに関連する第2の確率とを含んでもよく、ここで、第1のクラスは第2のクラスとは異なり、第1の確率は第2の確率より高い(すなわち第1のクラスは第2のクラスよりも可能性が高い)。次に、最大プーリング層は、第1のクラスに各々のピクセルを関連させる。
【0160】
前記例の一例において、損失関数は、損失項の合計を含んでもよく、損失項のそれぞれは各々のピクセルに対する(すなわち、損失項は各々のピクセルに対して計算される)。損失項は、ピクセルワイズ分類器によって出力された各々のデータに含まれる確率の分布の中で、確率が小さいことにペナルティを課す。そのような一例において、それぞれのピクセル損失項は、それぞれの値が確率の分布中の確率からそれぞれ計算される値の合計を含んでもよい。損失項は、前記値の中から1つの値を選択してもよい。選択は、特定のクラスに対する各々の確率から計算された値を選ぶこと(例えば、保持、特定)を含んでもよい。一例において、それぞれの損失項は、インジケータであってそれに従って値の選択が実行されるインジケータを含む。一例において、インジケータはバイナリインジケータであってもよいし、グランドトゥルース画像中の対応するピクセルに供給されたクラスの関数であってもよい。例えば、グランドトゥルース画像中の対応するピクセルに対して供給された、供給されたクラスに対応するクラスに対する確率から値が計算される場合にはバイナリインジケータは1に等しくてもよく、グランドトゥルース画像クラス中の対応するピクセルに対して供給されたクラスとは異なるクラスに対する確率から値が計算される場合にはバイナリインジケータは0に等しくてもよい。一例において、確率が小さいときに値が大きい場合には、損失項は小さいことにペナルティを課す。例えば、値は、与えられる関数、予測される確率の減少関数、から計算されてもよい。一例において、与えられる関数は、確率の負の対数関数であってもよい。
【0161】
一例において、損失は、以下のように記述されてもよい。
【数4】
Cはクラスの集合中のクラスの数であり、iは、クラスの集合中の1つのクラスを意味する。クラスiが、データセット中の2Dフロアプランに関連づけられた各々のセマンティックセグメンテーションによって各々のピクセルに対して供給されたクラスである場合、
【数5】
はバイナリインジケータである。
【数6】
は、クラスiに対してピクセルワイズ分類器によって出力された確率である。
【0162】
このように、損失関数は、多項式の損失関数(例えば多項式のロジスティック損失関数)であってもよい。そのような損失関数は、分類器が多数のクラスを取り扱うことを可能にする。これは、学習済みニューラルネットワークによって決定されたセマンティックセグメンテーションの正解率を増加させる。