(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022163704
(43)【公開日】2022-10-26
(54)【発明の名称】仮想3D部屋に自動的に家具を備え付ける方法
(51)【国際特許分類】
G06F 30/13 20200101AFI20221019BHJP
G06F 30/20 20200101ALI20221019BHJP
G06F 111/04 20200101ALN20221019BHJP
【FI】
G06F30/13
G06F30/20
G06F111:04
【審査請求】未請求
【請求項の数】18
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022058562
(22)【出願日】2022-03-31
(31)【優先権主張番号】21305488.5
(32)【優先日】2021-04-14
(33)【優先権主張国・地域又は機関】EP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.UNIX
2.SOLARIS
3.Linux
(71)【出願人】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】トム デュランド
(72)【発明者】
【氏名】アナ マルクサヌ
(72)【発明者】
【氏名】オーレリアン ルイス
(72)【発明者】
【氏名】セリア エプリー
(72)【発明者】
【氏名】ジュリー ファー
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA04
5B146DC04
5B146DL10
5B146FA02
(57)【要約】 (修正有)
【課題】ユーザが、家具付き部屋の記憶されたテンプレートに基づいて3D部屋に自動動的に家具を備え付けるコンピュータ実装方法を提供する。
【解決手段】方法は、各家具付き仮想3D部屋について、a1)3D部屋の3D要素間の空間関係に基づいて空間関係グラフを自動的に抽出するステップと、a2)空間関係グラフに基づいて3D部屋から少なくとも1つのゾーンを自動的に抽出し、部屋建築に関してか又は3D部屋の他のゾーンに関して、ゾーンの相対配置に関する制約のセットを抽出するステップと、a3)家具付き仮想3D部屋のテンプレートを格納するステップと、家具が備え付けられる仮想3D部屋を提供するステップと、記憶されたテンプレートの中からテンプレートを選択するステップと、選択されたテンプレートを家具が備え付けられる3D部屋にマッピングするように、仮想3D部屋に家具を備え付けるステップと、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
3D要素を含む家具付き仮想3D部屋の少なくとも1つのテンプレートを自動的に提供するためのコンピュータ実装方法であって、該方法は、各家具付き仮想3D部屋について、
a1)前記3D部屋の前記3D要素間の空間関係に基づいて空間関係グラフを自動的に抽出するステップであって、前記3D要素は、3D建築要素、および前記家具付き仮想3D部屋内に位置する3D家具オブジェクトを含む、ステップと、
a2)前記空間関係グラフに基づいて、前記3D部屋から少なくとも1つのゾーンを自動的に抽出するステップ、および、前記部屋建築に関して、または前記3D部屋の他のゾーンに関して、前記ゾーンの相対配置に関する制約のセットを抽出するステップであって、ゾーンは、少なくとも1つの3D家具オブジェクトの局所空間配置によって画定される、ステップと、
a3)前記家具付き仮想3D部屋のテンプレートを格納するステップであって、前記テンプレートは、前記ゾーン及び前記制約のセットを含む、ステップと、
を含む方法。
【請求項2】
前記部屋の3D家具オブジェクトの総床占有面積と前記部屋床面積との間の比率を計算するステップと、同じカテゴリの部屋のデータセットの比率の標準偏差に基づいて、前記比率が所定の基準を満たす場合にのみ、ステップa1-a3)を実施するステップとを含む、請求項1に記載の方法。
【請求項3】
ステップa1)が、
-前記3D要素に対応するノードのセットを取得するステップと、
-前記3D要素間の距離に基づいて、3D要素間の垂直及び水平関係を抽出するステップと、
を含む、請求項1または2に記載の方法。
【請求項4】
前記垂直関係は、アンカーと呼ばれる各ノードについて、
-潜在的な支持された3D要素と前記アンカーとの間の前記3D交差の前記体積を計算するステップと、
-前記支持された3D要素の前記体積の特定の割合を前記交差の前記体積が上回る場合、「含まれている」タグで前記アンカーの前記ノードに支持エッジを追加するステップと、
-そうでない場合、前記3D要素の底面中央が前記アンカーの前記底面の上にある場合にのみ、前記支持されたターゲットの前記底面と前記アンカーの前記上面との間の前記距離に基づいて計算された距離タグを有する前記アンカーの前記ノードに支持エッジを追加するステップと、
によって抽出される、請求項3に記載の方法。
【請求項5】
アンカーと呼ばれる各ノードについて、前記アンカーから始まる一連の光線をトレースするステップ、および前記3D部屋の他の3D家具オブジェクトとの前記交差を計算するステップによって、前記水平関係が抽出される、請求項3または4に記載の方法。
【請求項6】
ステップa1)が、
-前記空間関係グラフ内の少なくとも1つの上部構造を検出するステップ、および上部構造に属さない前記空間関係グラフのエッジに枝刈りを適用するステップ、または、
-3D家具付き部屋のデータセットから抽出されたグラフのデータセット内の最も低い発生頻度の前記空間関係グラフのエッジに枝刈りを適用するステップ、
を含む、請求項1から5のいずれか1項に記載の方法。
【請求項7】
ステップa2)が、前記3D建築要素の前方に少なくとも1つの3D家具オブジェクトを有する各3D建築要素のためのゾーンを作成するステップであって、前記ゾーンは、近接または隣接エッジを有する前記3D建築要素の前方にあるすべての3D家具オブジェクトを含む、ステップ
を含む、請求項1から6のいずれか1項に記載の方法。
【請求項8】
前記3D建築要素に沿ったゾーンの長さが特定の閾値を超える場合、ゾーンがいくつかのゾーンに分割される、請求項1から7のいずれか一項に記載の方法。
【請求項9】
ステップa2)が、
-前記3D家具オブジェクトの前記重要度に従って、前記グラフ内に、少なくとも別の3Dオブジェクトのノードとの関係を有するノードを有し、3D建築要素に沿ったゾーンに位置しない3D家具オブジェクトをソートするステップであって、前記重要度は、その寸法、そのカテゴリ、及び/または前記3D家具オブジェクトが他の3D家具オブジェクトに関与する前記関係によって定義される、ステップと、
-最も重要な3D家具オブジェクトを含む新しいゾーンを作成するステップと、
を含む、請求項1から8のいずれか1項に記載の方法。
【請求項10】
ステップa2)が、
-3D家具オブジェクトが2つの垂直な3D建築要素の前方に位置するかどうかを検出するステップと、
-前記部屋の一角に配置される前記3D家具オブジェクトを有する前記ゾーンの制約を作成するステップと、
を含む、請求項1から9のいずれか1項に記載の方法。
【請求項11】
ステップa2)が、
-3D建築要素に沿って位置するゾーンと、前記部屋の中央にあるゾーンとの間の距離制約を追加するステップと、
-両方のゾーンの前記3D家具オブジェクト間の前記関係がオンラインステップで維持されるように、前記3D建築要素に沿った前記ゾーンに関する前記部屋の中央の前記ゾーンの潜在的な相対移動を画定するステップと、
を含む、請求項1から10のいずれか1項に記載の方法。
【請求項12】
ステップa2)が、
-3Dセパレータに沿って2つのゾーン間の距離制約を追加するステップと、
-両方のゾーンの前記3D家具オブジェクト間の前記関係が前記オンラインステップで維持されるように、両方のゾーンの潜在的な相対移動を画定するステップと、
を含む、請求項1から11のいずれか1項に記載の方法。
【請求項13】
ステップa3)において、前記テンプレートは、1つまたはいくつかのゾーンのセット、並びに前記ゾーン間および前記ゾーンと前記部屋の前記3D建築要素との間の空間的および機能的制約を備える、請求項1から12のいずれか一項に記載の方法。
【請求項14】
3D部屋に自動的に家具を備え付けるためのコンピュータ実装方法であって、
b1)家具を備え付けられる仮想3D部屋を提供するステップ、および前述の請求項のいずれかによる、少なくともテンプレートを自動的に提供するためのコンピュータ実装方法で取得された前記記憶されたテンプレートの中からテンプレートを選択するステップと、
b2)前記選択されたテンプレートを家具が備え付けられる前記3D部屋にマッピングするように、前記仮想3D部屋に家具を備え付けるステップと、
を含む方法。
【請求項15】
ステップb2)は、以下のサブステップ、すなわち、
-家具を備え付ける前記3D部屋の3D建築要素と、前記テンプレートのゾーンとによって作成されたカップルのすべての組み合わせを決定するステップと、
-PSOアルゴリズムの前記粒子の変数としてすべての組み合わせを割り当てるステップと、
-前記制約を満たす満足のいく解が見つかるまで、前記PSOアルゴリズムを実行するステップと、
を含む、請求項14に記載の方法。
【請求項16】
コンピュータシステムに、請求項1乃至15のいずれか一項に記載の方法を実行させるコンピュータ実行可能命令を含むコンピュータプログラム製品。
【請求項17】
コンピュータシステムに、請求項1から15のいずれか一項に記載の方法を実行させるためのコンピュータ実行可能命令を含む、非一時的コンピュータ可読データ記憶媒体(MEM1、MEM2、MEM3、MEM4)。
【請求項18】
メモリ(MEM1、MEM2、MEM3、MEM4)に結合されたプロセッサ(CP)を備え、前記メモリは、前記コンピュータシステムに請求項1から15のいずれか一項に記載の方法を実行させるコンピュータ実行可能命令を格納する、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、家具付き部屋のコンピュータ支援設計の分野に関する。特に、本発明は、家具付き仮想3D部屋の少なくとも1つのテンプレートを自動的に提供するためのコンピュータ実装方法に関する。本発明はまた、3D部屋に自動的に家具を備え付けるためのコンピュータ実装方法に関する。発明された方法は、ユーザが、家具付き部屋の記憶されたテンプレートに基づいて3D部屋に自動動的に家具を備え付けることを可能にする。
【背景技術】
【0002】
新しいアパートに入居する予定、または単に部屋を改装する予定の消費者は、通常、家具店の同様のプロジェクトからインスピレーションを得るか、または、彼らはCADソフトウェアを使用してそれをすることもできる。よって、消費者は、新しい部屋に自分自身を投影する。
【0003】
屋内の部屋のテンプレートを自動的に作成する既存の方法のいくつかは、古典的な最適化技術に基づいており、所与の部屋に配置するために家具のセットを入力として使用する。そのようなアプローチの欠点は、かなりの時間を要し、エラーが発生しやすい制約のセット(各オブジェクトの周りのどのスペースを空けておくべきか、どのオブジェクトを他のオブジェクトの隣にするかなど)を手動で定義することを意味することである。
【0004】
古典的な最適化技術に基づく方法の例は、「Automated Interior Design Using a Genetic Algorithm」(Peter Kan et al., Proceedings of VRST2017, Gothenburg, Sweden, November 2017)に開示されている。最適化プロセスは、ランダムなソリューションから始まる遺伝的アルゴリズムを使用して、屋内の仮想シーンに家具オブジェクトを自動的に入力し、審美的、人間工学的、および機能的なルールに関するそれらの位置および方向を最適化する。母集団(population)は、データベースからランダムに選択された家具オブジェクトを含むレイアウトによって初期化されるため、部屋の自動的な家具の備え付けは、問題の複雑さに応じて長い時間を要する可能性がある。家具の制約は、パラメータとしてユーザによって指定され、面倒であり得る。
【0005】
ディープラーニングに基づくアプローチは、例えば「PlanIT:planning and instantiating indoor scenes with relation graph and spatial prior networks」(Wang, K. et al., ACM Trans. Graph., Vol.38, No.4, Article 132, July 2019)に開示されているように、新しい部屋に自動的に家具を備え付ける方法を学習するために、屋内シーンの膨大なデータベースを活用する。
【0006】
しかしながら、ディープラーニングに基づくアプローチは、部屋タイプごとのオブジェクトタイプの限定されたセットと、考慮されている部屋(例えば、4つの壁)の限定された複雑さとを考慮することのみによって、問題を単純化する。それらは、非常に粗いレベルの家具の備え付けを提案している。
【0007】
CN107240151Aに開示されているように、グラフ構造に依存する他の技術。いくつかのタイプの関係(垂直関係)は、3D部屋内で抽出されるが、オブジェクト間のより複雑なタイプの関係(水平関係)を定義するために人間の介入に依存する。制約定義のこのステップの後、すべてのオブジェクトを部屋内にランダムに配置し、次いでヒューリスティック最適化アルゴリズムを実行し、この場合は、模擬アニーリングを実行し、以前に定義された制約を解決することによって、最適化プロセスを開始する。このアプローチは依然として、レイアウトの制約を定義するための人間の相互作用に依存しており、いくつかの高レベルの関係が欠落している。これは、最適化ステップを誤った方向に導く可能性があり、最適化は、満足のいく結果を見つけるのに非常に長い時間がかかる可能性がある。
【0008】
したがって、家具付き仮想3D部屋のテンプレートを自動的に提供するためのコンピュータ実装方法を取得する必要性があり、これは、ユーザがレイアウト内の制約を定義することを要求せず、広範囲の家具の備え付けの可能性を提供する。
【発明の概要】
【0009】
本発明の対象は、3D要素を含む家具付き仮想3D部屋の少なくとも1つのテンプレートを自動的に提供するためのコンピュータ実装方法であって、該方法は、各家具付き仮想3D部屋について、
a1)3D部屋の3D要素間の空間関係に基づいて空間関係グラフを自動的に抽出するステップであって、3D要素は、3D建築要素と、家具付き仮想3D部屋内に位置する3D家具オブジェクトとを含む、ステップと、
a2)空間関係グラフに基づいて3D部屋から少なくとも1つのゾーンを自動的に抽出するステップ、および、部屋建築に関して、または3D部屋の他のゾーンに関して、ゾーンの相対配置に関する制約のセットを抽出するステップであって、ゾーンは、少なくとも1つの3D家具オブジェクトの局所空間配置によって画定される、ステップと、
a3)家具付き仮想3D部屋のテンプレートを格納するステップであって、テンプレートは、ゾーン及び制約のセットを含む、ステップと、を含む。
【0010】
好ましい実施形態では、方法は、部屋の3D家具オブジェクトの総床占有面積と部屋床面積との間の比率を計算するステップと、同じカテゴリの部屋のデータセットの比率の標準偏差に基づいて、比率が所定の基準を満たす場合にのみ、ステップa1~a3)を実施するステップとを含む。
【0011】
好ましい実施形態では、ステップa1)は、
-3D要素に対応するノードのセットを取得するステップと、
-3D要素間の距離に基づいて、3D要素間の垂直及び水平関係を抽出するステップと、を含む。
【0012】
好ましい実施形態では、垂直関係は、アンカーと呼ばれる各ノードについて、以下のステップを用いて抽出される。
-潜在的に支持された3D要素とアンカーとの間の3D交差の体積を計算するステップ。
-支持された3D要素の体積の特定の割合を交差のボリュームが上回る場合、「含まれている」タグでアンカーのノードに支持エッジを追加するステップ。
-そうでない場合、3D要素の底面中央がアンカーの底面の上にある場合にのみ、支持されたターゲットの底面とアンカーの上面との間の距離に基づいて計算された距離タグを有するアンカーのノードに支持エッジを追加するステップ。
【0013】
好ましい実施形態では、水平関係は、アンカーと呼ばれる各ノードについて、アンカーから始まる一連の光線をトレースするステップと、3D部屋の他の3D家具オブジェクトとの交差を計算するステップとによって抽出される。
【0014】
好ましい実施形態では、ステップa1)は、スポークがハブと同じカテゴリまたは機能的リンクを有する場合に、「スポーク」と呼ばれるいくつかのより小さな3D家具オブジェクトを用いて、隣接または近接エッジを有する「ハブ」と呼ばれる3D家具オブジェクトを検出するステップであって、スポークノードの入力エッジは、ハブノードに移されるステップを含む。
【0015】
好ましい実施形態では、ステップa1)は、
-隣接または近接エッジによって接続され、同じ方向に整列された少なくとも3つの3D家具オブジェクトのチェーンを検出するステップと、
-チェーンを構成するノード及びエッジにタグを付けるステップと、
-チェーンの各エッジについて、反対側のエッジを削除するステップと、を含む。
【0016】
好ましい実施形態では、ステップa1)は、
-空間関係グラフ内の少なくとも上部構造を検出するステップ、及び上部構造に属さない空間関係グラフのエッジに枝刈りを適用するステップ、または、
-3D家具付き部屋のデータセットから抽出されたグラフのデータセット内の最も低い発生頻度の空間関係グラフのエッジに枝刈りを適用するステップ、を含む。
【0017】
好ましい実施形態では、ステップa2)は、3D建築要素の前方に少なくとも1つの3D家具オブジェクトを有する各3D建築要素のためのゾーンを作成するステップであって、ゾーンは、近接または隣接エッジを有する3D建築要素の前方にあるすべての3D家具オブジェクトを含む、ステップを含む。
【0018】
好ましい実施形態では、3D建築要素に沿ったゾーンの長さが特定の閾値を超える場合、ゾーンはいくつかのゾーンに分割される。
【0019】
好ましい実施形態では、ステップa2)は、
-3D家具オブジェクトの重要度に従って、グラフ内に少なくとも別の3Dオブジェクトのノードとの関係を有するノードを有し、3D建築要素に沿ったゾーンに位置しない3D家具オブジェクトをソートするステップであって、重要度は、その寸法、そのカテゴリ、及び/または3D家具オブジェクトが他の3D家具オブジェクトに関与する関係によって定義される、ステップと、
-最も重要な3D家具オブジェクトを含む新しいゾーンを作成するステップと、を含む。
【0020】
好ましい実施形態では、ステップa2)は、
-3D家具オブジェクトが2つの垂直な3D建築要素の前方に位置するかどうかを検出するステップと、
-3D家具オブジェクトが部屋の一角に配置されるゾーンの制約を作成するステップと、を含む。
【0021】
好ましい実施形態では、ステップa2)は、
-3D建築要素に沿って位置するゾーンと、部屋の中央にあるゾーンとの間の距離制約を追加するステップと、
-両方のゾーンの3D家具オブジェクト間の関係がオンラインステップで維持されるように、3D建築要素に沿ったゾーンに対する部屋の中央のゾーンの潜在的な相対移動を画定するステップと、を含む。
【0022】
好ましい実施形態では、ステップa2)は、
-3Dセパレータに沿って2つのゾーン間の距離制約を追加するステップと、
-両方のゾーンの3D家具オブジェクト間の関係がオンラインステップで維持されるように、両方のゾーンの潜在的な相対移動を画定するステップと、を含む。
【0023】
好ましい実施形態では、ステップa3)において、テンプレートは、ゾーン間、およびゾーンと部屋の3D建築要素との間の1つまたはいくつかのゾーン並びに空間的および機能的制約のセットを含む。
【0024】
本発明はまた、3D部屋に自動的に家具を備えるためのコンピュータ実装方法に関し、
b1)家具を備え付けられる仮想3D部屋を提供するステップ、および少なくともテンプレートを自動的に提供するための前述のコンピュータ実装方法で取得された記憶されたテンプレートの中からテンプレートを選択するステップと、
b2)選択されたテンプレートを家具が備え付けられる3D部屋にマッピングするように、仮想3D部屋に家具を備え付けるステップと、を含む。
【0025】
好ましい実施形態では、ステップb2)は、粒子群最適化(PSO)アルゴリズムを使用して、3D部屋内の選択されたテンプレートを家具にマッピングするステップを含む。
【0026】
好ましい実施形態では、ステップb2)は、以下のサブステップを含む。
-家具を備え付けるための3D部屋の3D建築要素と、テンプレートのゾーンとによって作成されたカップルのすべての組み合わせを決定するステップ。
-PSOアルゴリズムの粒子の変数としてすべての組み合わせを割り当てるステップ。
-制約を満たす満足のいく解が見つかるまで、PSOアルゴリズムを実行するステップ。
【0027】
本発明はまた、コンピュータシステムに前述の方法を実行させるためのコンピュータ実行可能命令を含むコンピュータプログラム製品に関する。
【0028】
本発明はまた、コンピュータシステムに前述の方法を実行させるためのコンピュータ実行可能命令を含む非一時的なコンピュータ読み取り可能データ記憶媒体に関する。
【0029】
本発明はまた、メモリに結合されたプロセッサを含むコンピュータシステムに関し、メモリはコンピュータシステムに前述の方法を実行させるためのコンピュータ実行可能命令を記憶する。
【0030】
よって、各タイプの部屋に適合した安全規則および配置を(ユーザがそれらを知ることなく、および/またはそれらを制約として表現することなく、暗黙の方法で)学習することが可能である。例えば、火災の危険性に関連する部屋の場合、消火器は容易にアクセスできる必要があるため、空間的な関係の観点から、テーブルや肘掛椅子などのオブジェクトは消火器の前に配置されない。また、台所の場合、フードは常に調理プレートの上にある。また、窓のアクセスのしやすさや、車椅子の移動を可能にする通路の幅に関する物理的な制約を、障害者のために表現することも可能である。
【0031】
本発明の追加の特徴および利点は、添付の図面と併せて以下の説明から明らかになるであろう。
【図面の簡単な説明】
【0032】
【
図1】家具付き仮想3D部屋の少なくとも1つのテンプレートを自動的に提供するための発明された方法を示す図である。
【
図3】床への2D投影を使用した空間関係の抽出を示す図である。
【
図4】3D建築要素に沿ったゾーンを示す図である。
【
図7】
図6の配置のためのコンピュータコードの一部を示す図である。
【
図9】3D部屋に自動的に家具を備え付けるための方法を示す図である。
【
図10】粒子内の所与の組み合わせのためのゾーンおよびそれらの妥当な移動を示す図である。
【
図11】所与の3D部屋内の所与のテンプレートのいくつかの結果を示す図である。
【
図12】本発明の異なる実施形態による方法を実行するのに適したそれぞれのコンピュータシステムのブロック図である。
【
図13】本発明の異なる実施形態による方法を実行するのに適したそれぞれのコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0033】
本発明は、
図1に例示されるように、1つまたはいくつかの家具付き3D部屋のセットからテンプレートを自動的に抽出するための方法を提供する。
【0034】
発明のよりよい理解のために、以下の定義が提供される。
3D部屋:部屋の3D定義に対応し、必要な最小限の情報は壁のセット(およびそれらの位置と寸法)である。
3D_Objects:家具とすることができる3D家具オブジェクト、または備え付けるために部屋に置く装飾品オブジェクト。これは、部屋のセパレータ(壁と暗黙のセパレータ)、ドア、および窓などのすべての建築オブジェクトを除外する。
3D_Openings:部屋のドアと窓のセット。
3D_Separators:部屋のセパレータ(壁と暗黙のセパレータ)のセット。
3D_Archs:3D建築要素=3D_Openings U 3D_Separators。
3D_Elems:3D_Objects U 3D_Archs。
家具の備え付け(furnish):3D部屋に家具を備え付けるタスク、つまり1つまたは複数の3D_Objectsを部屋に配置するタスクに対応する。
テンプレート:1つまたは複数のゾーンと、ゾーン間、およびゾーンと部屋の3D建築要素との間の空間的および機能的制約とのセット。
ゾーン:ゾーンは、その中の1つまたは複数の3D家具オブジェクトの局所空間配置をその妥当な変換で定義し、変換は、ゾーン内のいくつかの3D家具オブジェクトの抑制、ゾーン内の1つまたは複数の3D家具オブジェクトによる1つまたは複数の3D家具オブジェクトの置き換え、という1つまたは複数に対応し得る。
【0035】
方法の第1のステップは、3D部屋の3D要素間の空間関係に基づいて、空間関係グラフを自動的に抽出するステップで構成される。
【0036】
3D部屋の機能は、専用のデータベースで利用可能であり、最初に個人または専門家(例えば、家具小売業者、不動産業者、建築家)によって提供された可能性があり、それらは、少なくともそれらの3D建築要素(3D_Archs)によって定義される。
-明示的なセパレータ(壁などの物理的なセパレータ)、
-暗黙のセパレータ(物理的なリアリティのない、2つの領域間のユーザ定義のセパレータ)、
-開口部(例えば、ドア、窓)。
【0037】
床、セパレータ、および開口部はすべて、3D平面内の2Dポリゴンとして定義される。3D平面は、3D点(後に原点と呼ばれる)と法線の3Dベクトルとで定義される。2Dポリゴンは、その頂点によって定義され、平面上の(0,0)座標を有するとみなされる原点に対して、平面上の2D点として与えられる。頂点の数は、建築要素の性質に依存する。たとえば、開口部のない単純な壁は、4つの頂点(4つの壁の角)を有するポリゴンとして定義され、ドアのある壁は8つの頂点(4つの壁の角に4つのドアの角を加えたもの)を有する。
【0038】
開口部のない床ポリゴンは床領域を与え、床およびセパレータは部屋の体積を画定する。
【0039】
3D家具オブジェクトには、少なくとも次の情報が必要である(3D建築要素もこの情報を有することに留意されたい)。
-オブジェクト関連情報
・1つまたは複数のカテゴリ、
・3D境界ボックス(長さ、幅、および高さ)、
・3Dモデル。
-部屋関連情報
・3D部屋内の3D家具オブジェクトの位置、
・3D部屋内の3D家具オブジェクトの向き。
【0040】
3D家具オブジェクトは、異なるレベルの詳細を有する1つまたは複数のカテゴリ、例えば、「テーブル」などのマクロカテゴリ及び「コーヒーテーブル」などのより細かいカテゴリを有することができる。
【0041】
任意選択で、ユーザは、代替の3D家具オブジェクトのリストを使用するときに、全てまたはいくつかの3D家具オブジェクトを提供することができる。これらの代替の3D家具オブジェクトは、3D家具オブジェクトの機能、部屋の機能、または部屋の一般的な態様を変更することなく、元の3D家具オブジェクトの代わりに3D部屋内で使用できる3D家具オブジェクトである。たとえば、グレーの3人掛けカウチの代わりは、異なる色または少し異なる形状のカウチとすることができるが、テーブルではない。
【0042】
ステップa1)では、家具付き3D部屋(浴室、寝室、台所など)のカテゴリが抽出されてよい。これは、「Style-compatible Object Recommendation for Multi-room Indoor Scene Synthesis」(He, Yu, et al., arXiv preprint arXiv: 2003.04187 (2020)に開示されているように、ユーザが直接提供することも、3D部屋が含む3D要素のセットから自動的に推測することもできる。
【0043】
好ましい実施形態では、部屋が空き過ぎずまたは雑多過ぎない場合にのみ、すなわち、部屋内の3D家具オブジェクトが少な過ぎずまたは多過ぎない場合にのみ、テンプレートを計算するように、部屋の3D家具オブジェクトの総床占有面積(total floor occupation area)と部屋床面積(room floor area)との間の比率が計算される。これは、テンプレートのクリーンなデータセットを取得することに貢献する。
【0044】
「オブジェクトが少な過ぎる」および「オブジェクトが多過ぎる」の閾値は、3D家具オブジェクト自体および3D部屋の床面積に依存し得、手動で定義することができる。たとえば、3D家具オブジェクトは、3D部屋の床面積の20%から80%を占める必要がある。
【0045】
あるいは、閾値は、3D部屋のセットから自動的に学習され得る(例えば、部屋の3D家具オブジェクトの総床占有面積(sumRoom(Object area))と部屋床面積(Room area)との間の比率は、同じカテゴリの3D部屋のセット内のすべての部屋にわたって同じ比率の平均に近い
【0046】
【0047】
):
【0048】
【0049】
閾値(threshold)は任意に選択することができ、または選択された部屋のセットに関連することができ、例えば、特定のデータセットに対する
【0050】
【0051】
の標準偏差である。
【0052】
次に、同じカテゴリの部屋のデータセットの比率の標準偏差に基づいて、比率が事前定義された基準を満たす場合にのみ、方法が実装される。
【0053】
次に、3D部屋内の3D要素間の関係が抽出される。そのために、ステップa1)は、3D要素に対応するノードのセットを取得するステップを含む。
【0054】
空間関係グラフは、以下のように構成され得る。
-ノードのリスト、各ノードは、以下の属性を有する部屋内の3D要素に対応する。
・ノードID(インデックス及び/または名前);
・3D要素のカテゴリ;
・3D要素の3D境界ボックス(長さ、幅、および高さ);
・3D要素の変換マトリックス(3D要素の3D部屋内の絶対位置および方向を取得するため);
・各3D要素についての対応する3Dモデル;
・3D要素のマクロカテゴリ(任意選択);
・入力エッジのリスト;
・出力エッジのリスト;
・親;
・もしあれば上部構造タグ(例えば、「is_hub」、「is_spoke」、「is_chain」)であり、以下で詳細に説明される。
【0055】
-次の属性を有する部屋内の3D要素間の関係を表すエッジのリスト:
・エッジID(インデックスおよび/または名前);
・開始ノードのID;
・終了ノードのID;
・方向(例えば、「前」、「後」、「左」、「右」、「支持」);
・任意選択のタグ(例えば、「含まれている(contained)」);
・機能(任意選択);
・距離タグ、例えば:
・エッジの開始ノードの境界ボックスとエッジの終了ノードの境界ボックスとの間の最小距離が「隣接」閾値(例えば5cm)未満である場合、「隣接(adjacent)」;
・エッジの開始ノードの境界ボックスとエッジの終了ノードの境界ボックスとの間の最小距離が、「隣接」閾値より大きく、別の「近接」閾値より小さい場合(例えば50cm)未満である場合、「近接(proximal)」;
・エッジの開始ノードの境界ボックスとエッジの終了ノードの境界ボックスとの間の最小距離が「近接」閾値より大きい場合、「遠位(distant)」;
・エッジの開始ノードの境界ボックスと終了ノードの境界ボックスとの間の距離の正確な値;
・もしあれば上部構造タグ(例えば、「is_spoke」、「is_chain」)であり、以下で詳細に説明される。
【0056】
前述の構造は、より多くの属性を含むため、最新技術で開示されている構造より豊富である。それは、シーンをよりよく説明し、より細かい表現をするのに役立つ。
【0057】
図2は、対応する凡例(ノードのタイプ、向き、距離タグ、支持)を用いて、前述の特徴で抽出されたグラフの例を示す。
【0058】
node5”:{
-“category”:“Double beds”,
-“macro-category”:“bed”,
-“transformation_matrix”:[0,1,0,0,-1,0,0,0,0,0,1,0,-13302.5,-5203.2,455.0,1],
-“bounding_box”:[2000,1800,1000],
-“ingoing_edges”:[edge1],
-“outgoing_edges”:[edge2],
-“parents”:[“floor”,“default”],
-“superstructure_tags”:[]
}
“edge2”:{
-“start_node”:“node5”,
-“ending_node”:“node6”,
-“direction”:“Right”
-“optional_tag”:“normal”,
-“distance_tag”:“Proximal”,
-“distance_value”:25,#mm
-“superstructure_tag”:[]
}
【0059】
次に、3D要素間の関係、すなわち空間的な垂直および水平関係が抽出される。
【0060】
垂直関係に関しては、以下のステップが実施される。
【0061】
第1に、アンカーとして定義される、部屋の各3D家具オブジェクトについて、3D部屋の他の3D家具オブジェクト(ターゲットとして定義される)の底面中心が、トップダウン2D投影境界ボックスに含まれているかどうか、およびターゲットの底面がアンカーの底面の上にあるかどうかをチェックする。そうである場合、ターゲットは、現在のアンカーのための潜在的なサポートされている3D家具オブジェクトのセットに追加される。
【0062】
第2に、アンカーのための潜在的なサポートされている3D家具オブジェクトのセット内のすべてのターゲットについて、潜在的なサポートされている3D要素とアンカーとの間の3D交差(intersection)の体積が計算される。交差の体積が、サポートされた3D要素の体積の特定のパーセント(例えば、90%)を超える場合、支持エッジは、「含まれている」タグを用いてアンカーのノードに追加される。そうでない場合、3D要素の底面中央がアンカーの底面の上にある場合にのみ、支持されたターゲットの底面とアンカーの上面との間の距離に関して計算された距離タグを有するアンカーのノードに支持エッジが追加される。
【0063】
最後に、すべての支持エッジが計算されると、各3D要素に1つの入力エッジ(incoming edge)のみを保持するために、支持エッジが枝刈りされる(pruned)。各3D要素に最小の符号付き距離を有するエッジのみが保持される。
【0064】
自動的に家具を備え付ける既知の方法とは異なり、発明された方法は、他のオブジェクトに完全にまたはほぼ完全に含まれる、含まれたオブジェクトを扱う。そのようなケースが検出されると、含まれたオブジェクトは、タグ「含まれている」との関係によって、含まれているオブジェクトにリンクされ、部屋の他のオブジェクトとの任意の他の空間関係から破棄される。このように、最も有意義な関係が保持され、他の関係を破棄することによるかく乱が回避される。
【0065】
各ノードはまた、3D部屋のいくつかの3D要素間、すなわち、部屋のすべての3D要素ではない、の水平リンクを割り当てるために、グラフの複雑さを低減する、「親(parent)」属性を有してもよい。
【0066】
いくつかのケースが考えられる。
-3D家具オブジェクトが別の3D家具オブジェクトによってサポートされ、それらの距離タグが特定の閾値(「隣接」)より下位である距離に対応する場合、その親は、支持する3D家具オブジェクトであり、
-3D家具オブジェクトの上面の高さが、特定の閾値(例えば、15cm)に関する天井高さに対応し、その底面の高さが特定の閾値(例えば、100cm)に関する床より高い場合、その親は「天井」であり、
-3D家具オブジェクトの上面の高さが、特定の閾値(例えば、15cm)より低い場合、その親は「床」であり、
-3D家具オブジェクトが3D_Opening(ドアまたは窓)である場合、その親は「床」と「arch」と「デフォルト」である。
-3D家具オブジェクトが上記のケースのいずれにも属していない場合、「床」と「デフォルト」がそのデフォルトの親として割り当てられる。
【0067】
次に、以下のステップで、3D要素間の空間的な水平関係を抽出する。
【0068】
第1に、アンカーと呼ばれる部屋内の各3D要素について、有効なターゲットのリスト、すなわちアンカー3D要素に関連付けることができる3D要素のリストを計算する。定義されたアンカーに関して3D要素が有効であるかどうかを決定するために、次の基準のいくつかを使用し得る。
-アンカーが親として別の3D家具オブジェクトを有する場合、ターゲットは同じ親を持つ必要がある。
-ターゲットの親が「天井(ceiling)」のみである場合、アンカーは親のそのリストに「天井」親を有する必要がある。
-アンカーの親が「天井」のみである場合、ターゲットは親のそのリストに「天井」親を有する必要がある。
-ターゲット3D要素は、アンカーから来る入力支持エッジを有してはならない。
【0069】
第2に、
図3に示すように、アンカーの床の2D投影および水平関係を見つけるための有効なターゲットを使用する:光線RAYは、オブジェクトの側面から来て、ターゲットTGTと交差する。光線RAYは、アンカーオブジェクトOBJの各側面から投影され、すなわち、中央の断面から始まり、アンカーの側面エッジの垂直方向に部屋空間を横切って進む、アンカーOBJの各側面エッジに沿って規則的に分布する直線のセット(例えば、1エッジ辺り最小数の3つの直線で5cmごとに)である。
【0070】
これらの光線RAYと部屋内の他の3D要素との交差が収集される。可視性を説明するために、アンカーオブジェクトOBJからの1光線あたりの最も近い交差のリスト(光線が発生するエッジに関する最小符号付き距離)が、アンカーの親のリストに基づいて格納される。イプシロンパラメータに関するターゲットのグループごとの最も近い交差(複数可)が格納される。イプシロンパラメータは、距離(例えば、50mm)に対応する。この距離は、範囲[dist_closest_intersection,dist_closest_intersection+epsilon]内に含まれるすべての交差を保持するために使用される。これにより、より良い抽出が可能になり、統計にとって重要な関係が失われるのを防ぐ。特に未経験のユーザが部屋に家具を備え付ける場合、より安定したグラフ抽出を提供する。
【0071】
たとえば、ユーザが壁に壁面テレビを備え付け、その上に同じ寸法のフレームがあり、フレームがテレビ(たとえば、3cm)より厚いと考えることがある。この場合、テレビに対するすべての関係(たとえば、ソファーからテレビ)は失われ、統計を変更する可能性がある。これは、廃棄されたオブジェクトを考慮する場合にも特に有用である。
図3では、両方のオブジェクトが破棄される場合、底部オブジェクトTGT2はアンカーオブジェクトOBJにリンクされず、意味がより少ない可能性のある(例えば、より大きな距離の)別のオブジェクトにリンクされる。
【0072】
次に、オブジェクトを、アンカーおよびそのグループからのその相対距離(アンカーの境界ボックスと考慮されたd(inter)交差との間の距離を表す)に基づいてフィルタリングし、たとえば、次のフィルタリングルールを使用する。
【0073】
【0074】
各光線RAYのアンカーオブジェクトOBJは、光線RAYの方向、ターゲットID、及びこのターゲットTGT1、TGT2に位置する距離と共に格納される。
【0075】
対応する方向ごとのエッジは、アンカーと、十分な数の交差する光線(たとえば、2つの光線)がある各3D要素との間の空間関係グラフに作成される。距離タグおよび正確な距離値は、方向に関するアンカーとターゲットとの間の最も近い交点に基づいて計算される。
【0076】
開始ノードiおよび終了ノードjからいくつかのエッジが検出された場合(すなわち、いくつかの妥当な関係)、交差する光線に関して、最も可視性が高いもののみが保持される。複数の方向が同じ可視性の量を有する場合、アンカーとターゲットとの間の最も近い交差を有する方向が選択される。交差距離が等しい場合、方向の重要度の任意の順序が使用される(例えば、「前」、「後」、「右」、「左」)。
【0077】
好ましい実施形態では、空間関係グラフの抽出は、空間関係グラフ内で上部構造(superstructure)と呼ばれる特別なパターンを検出することを含む。これらのパターン、すなわち「ハブ及びスポーク」並びに「チェーン」のいくつかの例の抽出を以下に詳細に説明する。上部構造の他のタイプは、十分に大きなデータベース(例えば、部屋タイプごとの数百のプロジェクト)から抽出された空間関係グラフ内の関係を見て、最も頻繁なもののグループを保持することによって見つけることができる。例えば、たとえば、同じ方法でリンクされた3つ以上のオブジェクトカテゴリ、すなわち、Np/Number_Of_Projectsが特定のしきい値t(たとえば、0.2)を上回るように十分な数のプロジェクトNpの複数のプロジェクトにおいて同じエッジを有するオブジェクトカテゴリは、保持する潜在的な上部構造とみなすことができる。上部構造はまた、オブジェクト間の1つまたは複数の機能的関係のグループに対応することができるため、それらは家具の機能的配置(たとえば、台所内の食器洗い機、シンク、およびガスストーブを備えた給水)を表すことに留意されたい。この場合、部屋タイプごとに事前定義される上部構造を考慮し得る。
【0078】
当業者は、参照によって組み込まれる、「PlanIT:planning and instantiating indoor scenes with relation graph and spatial prior networks」(Wang,K.et al.,ACM Trans. Graph., Vol.38, No.4, Article 132, July 2019)の付属文書A.1で提供される、上部構造の定義および上部構造の検出を参照し得る。
【0079】
好ましい実施形態では、空間関係グラフの抽出は、「スポーク」と呼ばれるいくつかのより小さな3D家具オブジェクトを備えた隣接または近接エッジを有する「ハブ」と呼ばれる3D家具オブジェクトを検出することを含む。
【0080】
スポークは、ハブと同じカテゴリ(またはカテゴリの詳細のレベルに応じた、マクロカテゴリ)(例えば、ベッドおよびナイトスタンド)、または部屋の説明に役立つ可能性のあるハブとの機能的なリンク(例えば、周囲にアームチェアがある暖炉、または周囲に椅子がある小さなテーブル)を有する。
【0081】
抽出されたグラフのデータセットの統計は、最も頻繁に発生するハブ構造(たとえば、関連するカテゴリの観点から)を検出し、最も関連性の高いもののみを保持するために使用できる。
【0082】
ハブ及びスポークノードは、「is_hub」及び「is_spoke」タグでタグ付けされ得、ハブとそのスポークとの間のエッジも、「is_spoke」フラグでタグ付けされる。
【0083】
そのような構造が検出されると、ハブノードは、スポークの入力エッジを継承し(スポークではなく、ハブに関するエッジの距離タグ、および値の更新を伴う)、すなわち、スポークの入力エッジがハブノードに移される。スポークは、ハブノードおよび隣接する関係からそれらの関係のみを保持する。
【0084】
ステップa1)の別の好ましい実施形態では、隣接または近接エッジによって接続され、同じ方向に整列された少なくとも3つの3D家具オブジェクトのチェーン(またはシーケンス)が検出される。整列は、3D家具オブジェクト(例えば、キャビネットまたは棚のチェーン)間の機能的リンクから、または装飾目的(例えば、フレームまたは植物のチェーン)のために生じ得る。チェーンは「上部構造」として考慮される。
【0085】
必要な精度のレベルに応じて、チェーンをフィルタリングして、同じカテゴリの3D家具オブジェクトのチェーンのみ、または同様のサイズの3D家具オブジェクトのみを受け入れるか、もしくは3D家具オブジェクトが正確に整列されるようにすることができる(例えば、共線性基準をチェックすることによって)。
【0086】
各エッジは、1つのチェーンにのみ関与し得る。これを達成するために、エッジがいくつかのチェーンに関与している場合、最も長いチェーンのみが保持される。同点の場合は、どれを保持するかを決定するために、方向に優先順位のルールを使用し得る。これにより、反対方向に同じチェーンを持つことを防止する。
【0087】
チェーンを構成するノードおよびエッジは、例えば、「is_chain」タグでタグ付けされる。チェーンの各エッジについて、反対側のエッジは、それが存在する場合、削除される。
【0088】
したがって、抽出されたグラフのデータセットの統計は、最も頻繁に発生するチェーン構造を(たとえば、関与するカテゴリの観点から)検出し、最も関連性の高いもののみを保持するために使用できる。
【0089】
これまでに得られたグラフは、部屋内のすべての空間関係で非常に稠密であり得る。よって、ステップa1)では、空間関係グラフのエッジの枝刈りが適用され得る。上部構造が検出され、枝刈りされたエッジは検出された上部構造に属さないものである。あるいは、枝刈りされたエッジは、3D家具付き部屋のデータセットから抽出されたグラフのデータセット内の発生頻度が最も低いものである。最も有意義な関係のみを保持し、多過ぎる制約を持つことを防ぐために、前のステップで作成されたエッジのいくつかは、次のステップを実行することによって削除される。
【0090】
第1に、以前に取得したグラフのバージョンが格納される。
【0091】
第2に、任意の3D_Separator(部屋のセパレータ、すなわち壁および暗黙のセパレータ)、または3D_Separatorではない3D要素に向かう任意の「遠い」出力エッジが抑制される。
【0092】
第3に、3D家具付き部屋のデータセットから抽出されたグラフのデータセットで計算された統計は、どの関係(エッジ)が最も高い発生頻度を有するかを決定するために使用される。距離カテゴリごとに、発生頻度の閾値(所与の部屋タイプの2つの関連するオブジェクトを含むプロジェクトの数にわたるエッジの出現数)が決定され、考慮されたグラフにどの関係を保持するかまたはしないかを定義する(例えば、隣接閾値が0.03、近接閾値が0.1、遠位閾値が0.3)。より関連性の高い統計を取得するために、3D要素の対称性についてのオプション情報をここで使用することができる。
【0093】
この統計ベースの枝刈りは、以下のルールによって定義されるエッジのサブセットに適用され得る。
-エッジは、上記で定義された上部構造に属していない。
-エッジは、水平関係を定義する。
-エッジは、3D建築要素である開始ノードおよび終了ノードの両方を有していない。
-エッジは、開始ノードが3D建築要素である隣接関係を定義しない。
-エッジは、意味のある前面を有する3D要素間の正面の遠くない関係を定義しない(たとえば、それらの対称性および/またはカテゴリに基づいて)。これは、慎重で意味のある前面定義(例えば、カテゴリのカップルごと)が記憶されていると仮定して、遠い関係に拡張することができる。
-エッジは、同じカテゴリの2つの3D家具オブジェクト間の隣接関係を定義しない。
【0094】
最後の2つの条件は、統計が妥当な3D家具付き部屋の多様性を十分に表していない場合に役立つ。
【0095】
最後に、枝刈りされたグラフがまだ接続されているかどうかをチェックする。1つまたは複数のノードの接続が切断された場合、切断されたノードへの最短経路は、以前に格納されたグラフで検索される(たとえば、ダイクストラのアルゴリズムを使用して)。エッジタイプおよび距離は、各経路に重みを割り当てるために使用される(例えば、隣接関係は1+edge_distance/1000、近接は2.1+edge_distance/1000、遠位は3.2+edge_distance/1000を有する)。エッジは、統計的枝刈りによって削除された、それらの最短経路で復元される。接続されていないノードを再接続するエッジが見つからない場合、ノードの3D家具オブジェクトへの最小距離を有する3Dセパレータからの入力エッジが決定され、グラフに追加される。
【0096】
このプロセスは、部屋内の3D要素の配置に関して意味を有する関係/エッジのみを保持することを可能にする。
【0097】
空間関係グラフを自動的に抽出するステップa1)において、3D家具オブジェクトのいくつかが対象外である(すなわち、廃棄される)場合、水平エッジは、他の3D家具オブジェクト(「支持」関係を除く)とともにそれらのために抽出されず、非廃棄3D家具オブジェクトからの入力エッジのみ(独立した抽出を有する他のターゲットのセットとしてそれらのみを考慮する)であってもよいことに留意されたい。これは、グラフ抽出ステップを簡素化するために、装飾用アクセサリ(それらのカテゴリに基づいて検出される)に役立つ。その場合、破棄された3D家具オブジェクトごとに最も近い入力エッジのみが保持される。
【0098】
テンプレートを自動的に提供するための方法の次のステップ(ステップa2)、
図1)は、空間関係グラフに基づいて、3D部屋からゾーンを自動的に抽出することを含む。
【0099】
ゾーンは、グラフ内に近接または隣接エッジを有する、上記3D建築要素の前方に少なくとも1つの3D家具オブジェクトを有する各3D建築要素の局所空間配置を画定する。3D家具オブジェクトにリンクされた隣接する3D家具オブジェクトは、ゾーンに再帰的に追加される。
【0100】
ゾーンの長さが特定のしきい値(例えば、5メートル)を超える場合、ゾーンはいくつかのゾーンに分割され得る。この分割は、それらの間に隣接関係を持たない3D家具オブジェクトのグループ間で発生することがある。この実施形態は、方法が、非常に大きいゾーン(長さの点で)を扱うことを防止する。
【0101】
3D家具オブジェクトが2つの3D建築要素の前にある場合、3D家具オブジェクトの後ろに(床上の投影を使用して)その直線が最も整列している3D建築要素が検出される。
【0102】
図4は、グラフ(図の左側)に基づくゾーン抽出(図の右側)の例を示す。両方のキャビネットおよびキャビネットの後ろにある壁は、第1のゾーンを表す。ベッド、絵画、両方のナイトテーブルおよび絵画が掛けられている壁は、第2のゾーンを表す。
【0103】
3D家具オブジェクトがグラフ内の任意のゾーンに属さないことが生じ得、これは、3D家具オブジェクトと3D建築要素との間にエッジがないことを意味する。その場合、少なくとも別の3D家具オブジェクトノードとの関係を有し、3D建築要素(3Dセパレータ)に沿ったゾーン内にない全ての3D家具オブジェクトノードが保持される。次に、このリストは、3D家具オブジェクトの重要度によってソートされる。この重要度は、その寸法、そのカテゴリ、および/または3D家具オブジェクトが他の3D家具オブジェクトに関与する関係に関して定義することができる。
【0104】
【0105】
m×mにおけるobjwidth*objlength、nbObjEdgesは、3D家具オブジェクトobjから開始または終了する入力エッジの合計であり、g(objcategory)は、カテゴリを、部屋の空間配置におけるその重要度についての特定の事前情報にマッピングする関数である(例えば、所与の部屋タイプにおける所与のオブジェクトカテゴリの相対的な出現頻度から得られる)。
【0106】
次に、任意のゾーンに属していない3D家具オブジェクトがなくなるまで、次のステップを実行する。
-1.残りの3D家具オブジェクトの以前にソートされたリストの第1の3D家具オブジェクトを取得し、新しいゾーンを定義する。
-2.追加する3D家具オブジェクトがなくなるまで、新しいゾーン内の3D家具オブジェクトと「隣接」または「近接」エッジを有するリストから3D家具オブジェクトを再帰的に追加する。
-3.ステップ1に戻り、別の3D家具オブジェクトから開始する新しいゾーンを定義する。
【0107】
このような方法は、寸法および要素の数の両方の観点から、かなり大きなゾーンにつながる可能性がある。そのような挙動が観察される場合、前述の手順は、(隣接および近接の代わりに)グループ化のための隣接関係を考慮することによってのみ実行され得る。
【0108】
図5は、部屋の中央における新しいゾーンの作成を示す。部屋の3Dビューでは、左側で、カーペット、テーブル、椅子、およびシーリングライトは、グラフ内のどのゾーン(ノード11-15)にも属していない。上記の方法により、ノード11-15を取り囲むフレームによって示されるように、新しいゾーンが作成される。カーペット12は、ソファ9の出力エッジであることが確立されている。同様に、右側で、テーブル、椅子、およびシーリングライトは、グラフ(ノード18-22)の抽出に属していない。ノード18-22を囲むフレームによって示されるように、新しいゾーンが作成される。テーブル18は、壁5の出力エッジであることが確立されている。
【0109】
いくつかのゾーンは、オプションとしてタグ付けされ、優先順位によってソートすることができる。オプションゾーンを定義することは、このオプションゾーンの3D家具オブジェクトを含めずに、この3D部屋に由来する家具を提案するソリューションは、引き続き有効とみなされることを意味する。いくつかの3D部屋建築は、インスピレーションのすべてのゾーンを配置するために必要なプロパティ(例えば、表面)を有さなくてもよいことがあるため、有用である。ゾーンがオプションかどうかを定義するための条件のリストを以下に示す。
-ゾーンは、任意の「ハブ」および「スポーク」3D家具オブジェクトを含まない。
-ゾーンは、限定された占有状態を有する(例えば、床面積<1m2)。
-ゾーンは、特に機能性の観点から、特定の部屋タイプにとって非常に重要な3D家具を含まない(例えば、保育園のベビーベッド)。
【0110】
ゾーンをソートするために、優先度関数を定義し得る。
【0111】
【0112】
objsurfaceは、ゾーン内のオブジェクトの表面であり、objimportanceは、部屋のタイプに関するゾーン内のオブジェクトの重要度であり、objsuperは、上部構造の重要度(例えば、出現頻度)に依存し、オブジェクトが上部構造に属している場合に係数>1であり、そうでない場合に<1である。
【0113】
好ましい実施形態では、
図6に示すように、ステップa2)は、3D家具オブジェクトが2つの垂直な3D建築要素の前方に位置するかどうかを検出するステップと、部屋の一角に配置される3D家具オブジェクトを有するゾーンの制約を作成するステップとを含み得る。
【0114】
コーナー制約は、左または右として定義することができる。右の場合、ゾーンはその3Dセパレータ参照に沿って配置されるため、その左端に配置されたその3D家具オブジェクト(テンプレート内の一角に配置されたもの)は、右側の別の壁の前(すなわち隣)に配置される(参照3Dセパレータの前面に面した参照点にそれが配置されていることを確認する場合)。これは、例えば
図6において、壁1および4の前に位置するキャビネット(ノード6)のケースである。コーナー制約は右として定義される。逆に、壁2および3の前に位置するプラント8については、制約は左として定義される。
【0115】
図7は、
図6の配置のためのコンピュータコードの一部を示す。
【0116】
別の実施形態では、3D建築要素に沿ったゾーンと部屋の中央にあるゾーンとの間のハードパラメトリック制約が、
図8に示されるように、部屋の家具構造を保持するために追加され得る。したがって、移動性が低下した人々の容易なアクセスに関する規制上の制約が、例えば、ゾーン間の最小の距離に考慮され得る。
【0117】
部屋の中央にある各ゾーンは、部屋の中央にあるゾーン内の3D家具オブジェクトと他のゾーン内の3D家具オブジェクトとの間のエッジを検索することによって、3D建築要素(3Dセパレーター)に沿って1つのゾーンにリンクされる。部屋の中央にあるゾーンと3D建築要素に沿ったゾーンとの間に直接エッジがない場合、中央のゾーンは部屋の中央にある別のゾーンにリンクされ、部屋はそれ自体が3D建築要素に沿ったゾーンに(直接または間接的に)リンクされる。
【0118】
数個のエッジが見つかった場合、「フロント」方向が優先され、次いで最小エッジ距離値が優先される。「フロント」方向がない場合、上記のデータベース統計で最も高い頻度を有していたエッジが考慮され、最小距離値を有するエッジは、その方向とは独立して保持される。
【0119】
次いで、3D建築要素に沿ったゾーンに関連する部屋の中央にあるゾーンの潜在的な相対的配置(すなわち、並進(translations))が定義され、その結果、両方のゾーンの3D家具オブジェクト間の関係が、3D部屋の自動的に家具を備え付けるステップで維持される。
【0120】
同じアプローチは、共通の3D建築要素を共有する2つのゾーンで行うことができる。2つのゾーンの3D提供オブジェクト間にエッジが存在する場合、提案が両方のゾーンの3D家具オブジェクト間の関係を尊重するように、潜在的な相対配置(すなわち並進)が定義される。
【0121】
開口部(ドア、窓)と3D家具オブジェクトとの間の関係に弱い制約が追加され、それに応じて、窓またはドアの前の新しい部屋に3D家具オブジェクトを設定し得る。したがって、3D家具オブジェクトが別のものに置き換えられても制約は残る。
【0122】
次に、特許請求の範囲に記載の方法の最後のステップでは、家具付き仮想3D部屋のテンプレートが格納される(ステップa3)、
図1)。テンプレートは、3D部屋に自動的に家具を備えつけるためのシステムに提供され得る。有利には、テンプレートは、ゾーン間、およびゾーンと部屋の3D建築要素との間の1つまたは複数のゾーン並びに空間的および機能的制約(チェーン、サポート、ハブ、コーナー制約など)のセットを含む。
【0123】
発明はまた、3D部屋に自動的に家具を備え付けるためのコンピュータ実装方法に関し、該方法は、
b1)家具を備え付けられる仮想3D部屋を提供するステップ、および前述の請求項のいずれかにより、少なくともテンプレートを自動的に提供するためのコンピュータ実装方法で取得された記憶されたテンプレートの中からテンプレートを選択するステップと、
b2)選択されたテンプレートを家具が備え付けられる3D部屋にマッピングするように、仮想3D部屋に家具を備え付けるステップと、を含む。
【0124】
図9は、発明された方法の異なるステップを示す。家具を備え付けるための3D部屋は、ユーザによって提供される。テンプレートは、ユーザ(例えば、ウェブサイトまたは専用ソフトウェア上で、その元の部屋でのテンプレートのレンダリングに基づいたパネル選択)によって選択することも、自動的に提案することもできる(例えば、プラットフォーム上で最も気に入ったテンプレート)。
【0125】
家具を備え付ける3D部屋のタイプに対応するテンプレートのみを提供するように、追加のフィルタリングが実行され得る(例えば、インスピレーションとして30m2の寝室に対応するテンプレートは、家具を備え付ける12m2の寝室には提案されない)。
【0126】
好ましい実施形態では、ステップb2)は、粒子群最適化(PSO)アルゴリズムを使用して、家具を備え付ける3D部屋内の選択されたテンプレートをマッピングするステップを含む。
【0127】
PSOアルゴリズムは、品質の所与の尺度に関して候補の解決策を改善しようと繰り返し試みることによって問題を最適化することに注意されたい。候補の解決策の母集団、ここでは粒子と呼ばれる、を用意し、これらの粒子を粒子の位置と速度の探索空間内で移動させることによって問題を解決する。各粒子の動きは、その局所的な最もよく知られた位置によって影響を受ける。また、それは、検索空間の最もよく知られた位置に向かって、その独自の速度によって導かれる。
【0128】
テンプレートに基づいて3D部屋に家具を備え付けることに適用されるPSOアルゴリズムは、衝突しない、3D建築要素の一角の3D家具オブジェクト、または2つのグループ間の距離などの制約を伴う、所与の部屋内の3D家具オブジェクトのセットの最適な配置(複数可)を見つけることからなる。
【0129】
家具を備え付ける特定の3D部屋と、そのゾーンのセット、およびゾーンと3D建築要素または機能要素(たとえば、合理的な給水)との間のその制約を含むインスピレーションテンプレートを考えると、次のステップを適用し得る。
-家具を備え付ける3D部屋の3D建築要素と、選択されたテンプレートのゾーンとによって作成されたカップルのすべての組み合わせを決定するステップ。テンプレートのゾーンと結合された、家具を備え付ける3D部屋内の3D建築要素は、このゾーンの参照3D建築要素と呼ばれ、
-PSOアルゴリズムの粒子の変数としてすべての組み合わせを割り当てる。それらの参照3D建築要素に関するゾーンの位置は、粒子の変数、ならびにゾーンのタグ「オプション」、及び各ゾーン内の3D家具オブジェクトの潜在的な置換のセットに追加され得る。
-PSOアルゴリズム:
・それらの参照3D建築要素に沿ってゾーンを移動させる(粒子内の所与の組み合わせに対する潜在的な並進を示す
図10を参照)。
・参照3D建築要素を変更する。
・ゾーン内の3D家具オブジェクトのセットを変更する(交換、オプション、装飾など)。
・他のゾーンまたは障害物との衝突を回避する(障害物は、他の3D建築要素、3Dオープニングの前のスペース、階段、および固定された3D家具オブジェクトである)。
【0130】
次いで、
図11に示されるように、家具を備え付けらえた3D部屋提案(複数可)がユーザに表示され得る。
【0131】
発明の方法は、場合によりコンピュータネットワークを含み、ハードディスク、ソリッドステートディスクまたはCDーROMなどのコンピュータ可読媒体上に不揮発性の形態で適切なプログラムを格納し、そのマイクロプロセッサ(複数可)およびメモリを使用して上記プログラムを実行する、適切にプログラムされた汎用コンピュータまたはコンピュータシステムによって実施することができる。
【0132】
家具を備え付けられた仮想3D部屋の少なくとも1つのテンプレートを自動的に提供するための方法及び3D部屋に自動的に家具を備え付けるための方法は、同じコンピュータシステム上で実行されてもよい。あるいは、家具を備え付けられた仮想3D部屋の少なくとも1つのテンプレートを自動的に提供するための方法は、第1のコンピュータシステム上で実行され得、3D部屋に自動的に家具を備え付けるための方法は、第2のコンピュータシステム上で実行され得る。その場合、コンピュータシステムは、第1のコンピュータシステムに記憶されているテンプレートを呼び出し得る。
【0133】
本発明の例示的な実施形態による方法を実行するのに適したコンピュータを、
図12を参照して説明する。
図12では、コンピュータは、RAM MEM1またはROM MEM2またはハードディスクドライブ(HDD)MEM3、DVD/CDドライブMEM4などのメモリデバイスに格納された、あるいはリモートに格納された実行可能プログラム、すなわち、コンピュータが読み取り可能な命令のセットを実行しながら、上記の方法のステップを実施する中央処理装置CPUを含む。さらに、コンクリート補強バーを画定する1つまたは複数のコンピュータファイルはまた、メモリデバイスMEM1-MEM4のうちの1つまたは複数に、あるいは遠隔に記憶されてもよい。
【0134】
テンプレートは、家具が備え付けられた3D部屋案(複数可)と同様に、メモリデバイスの1つに記憶されてもよい。
【0135】
特許請求の範囲に記載された発明は、発明のプロセスのコンピュータ可読命令が格納されているコンピュータ可読媒体の形態によって限定されない。例えば、命令およびファイルは、CD、DVD、フラッシュメモリ、RAM、ROM、PROM、EPROM、EEPROM、ハードディスク、あるいはサーバまたはコンピュータなど、コンピュータが通信するその他の情報処理デバイスに保存することができる。プログラムは、同じメモリデバイスまたは異なるメモリデバイスに保存することができる。
【0136】
さらに、発明の方法を実行するのに適したコンピュータプログラムは、CPU CP、およびMicrosoft VISTA、Microsoft Windows8、UNIX、Solaris、LINUX、Apple MAC-OS、および当業者に知られているその他のシステムなどのオペレーティングシステムと連携して実行されるユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムのコンポーネント、あるいはそれらの組み合わせとして提供され得る。
【0137】
CPU Pは、米国のIntel社のXenonプロセッサまたは米国のAMD社のOpteronプロセッサ、または米国のFreescale CorporationのFreescale ColdFire、IMX、ARMプロセッサなどの他のプロセッサタイプとすることができる。あるいは、CPUは、米国のIntel CorporationのCore2 Duoなどのプロセッサにすることも、当業者が認識するように、FPGA、ASIC、PLD上で、またはディスクリート論理回路を使用して実装することもできる。さらに、CPUは、上記の発明のプロセスのコンピュータ可読命令を実行するために協調して動作する複数のプロセッサとして実装することができる。
【0138】
図12のコンピュータCPTは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネットなどのネットワークとインターフェースするための米国のIntel CorporationのIntel Ethernet PROネットワークインターフェースカードなどのネットワークインターフェースNIも含む。方法は、ウェブアプリケーションによって遠隔で実装され得る。
【0139】
コンピュータは、ヒューレット・パッカードHPL2445wLCDモニタなどのディスプレイDYとインターフェースするための、米国のNVIDIA CorporationのNVIDIA GeForce GTXグラフィックスアダプタなどのディスプレイコントローラDCをさらに含む。汎用I/OインターフェースIFは、ローラーボール、マウス、タッチパッドなどのキーボードKBおよびポインティングデバイスPDとインターフェースする。ディスプレイ、キーボード、タッチモードのための感度表面、及びポインティングデバイスは、ディスプレイコントローラ及びI/Oインターフェースと共に、グラフィカルユーザインターフェースを形成し、入力コマンドを提供するためにユーザによって使用される。
【0140】
ディスクコントローラDKCは、HDD MEM3及びDVD/CD MEM4を、コンピュータのすべてのコンポーネントを相互接続するための、ISA、EISA、VESA、PCI、または類似のものとすることができる通信バスCBSに接続する。
【0141】
ディスプレイ、キーボード、ポインティングデバイス、ならびにディスプレイコントローラ、ディスクコントローラ、ネットワークインターフェース、及びI/Oインターフェースの一般的な特徴及び機能の説明は、これらの特徴が既知であるため、簡潔にするために本明細書では省略される。
【0142】
図13は、家具付き仮想3D部屋の少なくとも1つのテンプレートを自動的に提供する方法、及び/または3D部屋に自動的に家具を備え付ける方法を実行するのに適したコンピュータシステムのブロック図である。
【0143】
コンピュータシステムは、家具店に設置することができ、またはインターネットを介してサーバに直接接続された個々の顧客PCで構成することができる。
【0144】
図13では、実行可能プログラム並びに、テンプレートおよび家具付き部屋を含むコンピュータファイルは、サーバSCに接続されたメモリデバイスDBに格納される。サーバのメモリデバイス及び全体的なアーキテクチャは、ディスプレイコントローラ、高感度面、ディスプレイ、キーボード及び/またはポインティングデバイスがサーバ内に欠落している可能性があることを除いて、
図11を参照して上記で説明したものと同じであり得る。
【0145】
サーバSCは、ネットワークNWを介して管理者システムADSおよびエンドユーザコンピュータEUCに接続される。
【外国語明細書】