JP2024035154A - 工場を表す3dモデルの生成 - Google Patents

工場を表す3dモデルの生成 Download PDF

Info

Publication number
JP2024035154A
JP2024035154A JP2023138141A JP2023138141A JP2024035154A JP 2024035154 A JP2024035154 A JP 2024035154A JP 2023138141 A JP2023138141 A JP 2023138141A JP 2023138141 A JP2023138141 A JP 2023138141A JP 2024035154 A JP2024035154 A JP 2024035154A
Authority
JP
Japan
Prior art keywords
extrusion
cad
type
linear
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023138141A
Other languages
English (en)
Inventor
ブシェ ジュリアン
Boucher Julien
メズガンニ マリエム
Mezghanni Mariem
ンドコ アーサー
Ndoko Arthur
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of JP2024035154A publication Critical patent/JP2024035154A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/564Depth or shape recovery from multiple images from contours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Structural Engineering (AREA)
  • Civil Engineering (AREA)
  • Architecture (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】工場を表す3Dモデルを生成するコンピュータ実装方法、システム及びプログラムを提供する。【解決手段】方法は、工場のスキャンから点群を取得するステップと、点群を線形CADエクストルージョンにフィッティングするステップとを備える。点群と線形CADエクストルージョンとのフィッティングは、空間的所在情報を工場内のこれらのオブジェクトの物理的な境界に関する情報に変換する。オブジェクトは、作業ツール、生産ライン104、作業機械(トラック101、105、パレット、フォークリフト又はロボットなど)又は作業機器(椅子103、ランプ、はしご又は作業ステーション102、106など)を含む。【選択図】図1

Description

本開示は、コンピュータプログラム及びシステムの分野に関し、より具体的には、工場を表す3Dモデルを生成するための方法、システム、及びプログラムに関する。
オブジェクトの設計、エンジニアリング及び製造のために、多数のシステム及びプログラムが市場に提供されている。CADはコンピュータ支援設計(Computer-Aided Design)の頭字語であり、たとえば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEはコンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、たとえば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関する。CAMはコンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、たとえば、製造プロセスや動作を定義するためのソフトウェアソリューションに関する。このようなコンピュータ支援設計システムでは、技術の効率の点でグラフィカルユーザーインターフェイスが重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システム内に組み込まれてもよい。PLMとは、企業が製品データを共有し、共通の処理を適用し、企業知識を活用して、長期的な企業のコンセプトを越えて、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。ダッソーシステムズが(CATIA、ENOVIA、DELMIAの商標のもと)提供するPLMソリューションでは、製品エンジニアリングの知識を編成するエンジニアリングハブと、製造エンジニアリングの知識を管理する製造ハブと、エンジニアリングハブ及び製造ハブへの企業の統合及び接続とを可能にする企業ハブが提供される。全体として、システムは最適化された製品定義、製造準備、生産、及びサービスを駆動する動的な知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供する。
産業界における3Dモデルの使用は、ますます重要になっている。そのような3Dモデルは、工場の内部を表すことができ、工場の動作、例えば、工場の生産ライン上の安全性を評価するために使用することができる。予備ステップは、一般に、工場を表すそのような3Dモデルを生成することからなる。3Dモデルを生成するための1つのソリューションは、工場のスキャンからの点群を使用し、この点群から3Dモデルを生成することにある(例えば、点群のセグメント化後)。
点群から3Dモデルを生成するための従来のソリューションは十分ではない。実際、既存のソリューションは、一般に、CADソフトウェアに適合されていないプリミティブ(例えば、立方体)を含む3Dモデルを生成する。したがって、生成された3Dモデルは、CADソフトウェアに直接インポートすることができない。さらに、これらのプリミティブは、一般に、あまりにも基本的であり、十分に表現できず、したがって、3Dモデルによる工場の不正確な表現につながる。既存のソリューションで使用されるこのような非表現的なプリミティブの例には、立方体又は球体が含まれる。さらに、他のプリミティブの例はコンパシティを欠き(すなわち、パラメータが多すぎる)、結果として得られる3Dモデルの記憶効率が低くなる。
この文脈内で、工場を表す3Dモデルを生成するための改善されたソリューションが依然として必要とされている。
したがって、工場を表す3Dモデルを生成するためのコンピュータ実装方法が提供される。本方法は、工場のスキャンから点群を取得することを含む。本方法は、点群を線形CADエクストルージョンに適合させることを含む。
この方法は、以下のうちの1つ又は複数を含むことができる:
前記点群を回転CADエクストルージョンにフィッティングするステップをさらに含む。
前記各CADエクストルージョンが、前記点群のそれぞれの部分をフィッティングするステップを含む。
前記フィッティングするステップが、前記それぞれの部分に対して
線形タイプと回転タイプの中からCADエクストルージョンのタイプを選択するステップと
それぞれのセグメントを、選択されたタイプのCADエクストルージョンにフィッティングするステップと
を備える。
前記タイプを選択するステップが、
前記セグメントを入力とし、線形タイプ及び回転タイプのうち、前記CADエクストルージョンのタイプを出力するように構成されたニューラルネットワークを適用するステップ、又は
セグメントからの一組の候補エクストルージョン軸を決定し、一組の候補エクストルージョン軸の各候補エクストルージョン軸について、線形タイプ及び回転タイプのうちのCADエクストルージョンのためのタイプの1つ又は複数の識別を実行するステップ
を備える。
前記一組の候補エクストルージョン軸の決定が、前記セグメントの主成分分析に基づく。
前記1つ又は複数の識別の実行が、
第1の識別、及び
第2の識別
を含み、
前記第1の識別が、
候補エクストルージョン軸に沿った水平スライス体積を決定するステップであって、各水平スライス体積が、前記候補エクストルージョン軸に垂直な2つのそれぞれの平面によって区切られるステップ、
水平スライス体積ごとに、水平スライス体積に含まれるセグメントの点を抽出するステップであって、それによって点の部分集合を形成するステップ、
部分集合ごとに以下の処理を行うステップ
前記候補エクストルージョン軸に直交する平面上の部分集合の点を投影するステップ、
投影された点の輪郭を決定するステップ、及び
決定された輪郭と円との類似性を定量化するステップ、
定量化された類似性の平均がしきい値よりも高い場合に、回転タイプを決定するステップと、
を有し、
前記第2の識別が、
前記候補エクストルージョン軸に沿った垂直スライス体積を決定するステップであって、各垂直スライス体積が、前記候補エクストルージョン軸に対して半径方向の2つのそれぞれの平面によって画定されるステップと、
垂直スライス体積ごとに、前記垂直スライス体積に含まれるセグメントの点を抽出するステップであって、前記抽出された点が点の部分集合を形成するステップと、
各部分集合について、前記候補エクストルージョン軸に対して半径方向の中間平面上に前記部分集合の点を投影し、前記中間平面は、前記部分集合の垂直スライス体積を画定する2つのそれぞれの平面の間を実質的に中心とするステップと、
前記部分集合の各ペアについて、ペアの各部分集合の投影された点間の距離を計算するステップと、
計算された距離の平均がしきい値よりも低い場合に回転タイプを決定するステップとを含む。
前記タイプの選択が、前記実施された識別の結果の組み合わせに基づいて、前記CADエクストルージョンのためのタイプを決定するステップをさらに含む。
前記タイプの選択後に、前記選択されたタイプの前記CADエクストルージョンのためのプロファイルを決定するステップをさらに含む。
前記プロファイルの決定が、
前記候補エクストルージョン軸の組の中から選択されたタイプのCADエクストルージョンのためのエクストルージョン軸を選択するステップと、
投影面上に前記セグメントの点を投影するステップと
を有し、前記投影面が、
前記選択されたタイプが線形タイプである場合、前記エクストルージョン軸に垂直な平面であり、又は
前記選択されたタイプが回転タイプである場合、前記エクストルージョン軸に対して半径方向の平面であり、
前記投影点の輪郭を決定するステップと
を含む。
前記決定された輪郭が、前記投影された点の部分集合を備え、前記プロファイルを決定するステップが、前記決定された輪郭の前記部分集合が備える投影された点の数の減少に基づいて、前記決定された輪郭を単純化するステップをさらに備える。
前記タイプの選択及び/又はプロファイルの決定が反復的に実行され、新た反復処理の各々が、
前回のエクストルージョン軸の周りの円錐内の候補エクストルージョン軸の新しい組をサンプリングするステップであって、前記前回のエクストルージョン軸が、前回の反復で考慮された候補エクストルージョン軸の組の中にあるステップと、
前記タイプの選択及び/又はプロファイルの決定を、前記候補エクストルージョンの新しい組で繰り返すステップと
を有し、かつ/又は
前記エクストルージョン軸の選択が、前記セグメントを入力として取り、エクストルージョン軸を出力するように構成されたニューラルネットワークを適用するステップを含み、前記ニューラルネットワークは、選択されたタイプに従って訓練される。
前記点群を前記線形CADエクストルージョン及び/又は前記回転CADエクストルージョンと嵌合させた後に、
前記線形CADエクストルージョン及び前記回転CADエクストルージョンに基づいて接続性グラフを計算するステップであって、前記接続性グラフが、前記線形CADエクストルージョン及び前記回転CADエクストルージョンを表すノードと、一対のノードが表す前記CADエクストルージョン対間の交差を表す一対のノードとを含むステップと、
前記接続性グラフに基づいて、1つ又は複数の線形CADエクストルージョン及び回転CADエクストルージョンを接続するステップと
をさらに含む。
前記生成された3Dモデルを使用して前記工場を再配置するステップをさらに含む。
本方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
さらに、コンピュータプログラムが記録されたコンピュータ可読記憶媒体が提供される。
さらに、メモリに結合されたプロセッサ及びを含むシステムが提供され、メモリは、その上に記録されたコンピュータプログラムを有する。任意選択で、プロセッサは、グラフィカルユーザインタフェースに結合されてもよい。
工場の一例を示す図である。 CADエクストルージョンの例を示す。 識別の例を示す。 識別の例を示す。 タイプ選択の反復実行の例を示す。 線形エクストルージョンタイプのためのプロファイルの決定の例を図示する。 回転エクストルージョンタイプのためのプロファイルの決定の例を図示する。 生成された3Dモデルの例を示す。 グラフィカルユーザインターフェースの例を示す。 システムの一例を示す。
工場を表す3Dモデルを生成するコンピュータ実装方法を提案した。本方法は、工場のスキャンから点群を取得するステップを含む。本方法は、点群を線形CADエクストルージョンにフィッティングさせるステップを含む。そのような方法は、工場を表す3Dモデルを生成するための改善されたソリューションである。
特に、この方法は、工場を表す3Dモデルを生成することを可能にする。実際に、点群は、工場内のオブジェクトの空間的位置に関する情報を与え、この点群と線形CADエクストルージョンとのフィッティングは、したがって、この空間的所在情報を工場内のこれらのオブジェクトの物理的な境界に関する情報に変換する。オブジェクトの境界に関するこの情報を用いて3Dモデルを生成することは、例えば、衝突又は他の工場事故等を評価するために、特に関連する。さらに、生成された3Dモデルは、CADソフトウェアソリューションに適応される。実際、生成された3Dモデルは、CADソフトウェアに直接インポートすることができる線形CADエクストルージョンを含む。したがって、生成された3Dモデルは、CADソフトウェアで直接使用することができる。インポートの後、ユーザ(例えば、エンジニア又は建築家)は、例えば工場を再配置するために、CADソフトウェアを使用して、生成された3Dモデルの操作を直ちに開始することができる(例えば、3Dモデル内のフィットされた線形CADエクストルージョンを移動させることによって)。さらに、生成された3Dモデルは、工場の正確な表現である。実際、線形CADエクストルージョンは、工場内のオブジェクトの表現を提供する。特に、生成された3Dモデルは、点群が不完全(例えば、点を持たないボイドを有する)及び/又はノイズが多い場合であっても正確である。実際、線形CADエクストルージョンは、低減された多数のパラメータを使用し、これは、フィッティング中にこれらの凹凸を滑らかにすることを可能にする。加えて、本方法は、記憶領域要件が低減された3Dモデルを生成することを可能にする。実際、CADエクストルージョンは、低減された1つのパラメータセットによって完全に定義され、したがって、3Dモデルの記憶は、各3Dエクストルージョンの1つのパラメータセットを記憶することを必要とするだけである。請求項に記載の方法のようにパラメータセットを記憶することは、点群(すなわち、点群のそれぞれの点の座標)を記憶するよりも少ない記憶領域を使用する。
本方法は、工場の動作プロセスに含まれてもよく、それは、本方法の実行後に、工場を再配置するために3Dモデルを使用するステップを含んでもよい。次に、工場の一例を示す図1を参照して、動作プロセスの異なる例について説明する。
例えば、動作プロセスは、工場のレイアウトを決定するステップを含んでもよい。フィッティングされた線形CADエクストルージョンは、工場内のオブジェクトを表してもよい。例えば、オブジェクトは、作業ツール、生産ライン104、作業機械(トラック101、105、パレット、フォークリフト又はロボットなど)、又は作業機器(椅子103、ランプ、はしご又は作業ステーション102、106など)を含んでもよい。工場の各オブジェクトは、1つ又は複数の線形CADエクストルージョンによって表すことができる。例えば、椅子は、2つの線形CADエクストルージョン(1つは椅子の背面用であり、もう1つは足用である)によって取り付けられてもよい。レイアウトの決定は、工場の各オブジェクトについて、オブジェクトを表す1つ又は複数の線形CADエクストルージョンを関連付けるステップを含んでもよい。レイアウトを決定するステップは、3Dモデルにおける関連するCAD線形エクストルージョンの位置に基づいて、現実世界における工場内のオブジェクトの相対位置を推定するステップを含んでもよい。例えば、オブジェクトの相対位置を推定するステップは、工場内の2つの隣接するオブジェクト間の距離(例えば、2つの隣接する生産ライン間の距離)及び/又は所与のオブジェクトの周りの(例えば、ワークステーションの周りの)他のオブジェクトからの自由距離を決定するステップを含んでもよい。距離を決定するステップは、2つの隣接するオブジェクト及び/又は所与のオブジェクト及び所与のオブジェクトに最も近いオブジェクトに関連するCAD線形エクストルージョンの相対的な位置間の距離を計算するステップを含んでもよい。
追加的に又は代替的に、動作処理は、工場のレイアウト内の動作問題を識別するステップを含んでもよい。例えば、運用上の問題は、製造ラインの不十分なレイアウトのような、運用における効率の損失を含んでもよい。例えば、1つの生産ラインは、別の生産ラインから遠く離れていてもよく(例えば、最大よりも高く)、その結果、2つの生産ラインの間で商品が長く輸送されることになる。代替的に又は追加的に、動作上の問題は、1人以上の労働者が自分の仕事を適切に行うことができないことを識別するステップを含んでもよい。動作上の問題を識別することは、工場内のオブジェクト間(例えば、異なる生産ライン間)の空間/距離を決定するステップを含んでもよい。本方法は、各オブジェクトに関連するCAD線形エクストルージョン間の空間/距離を決定するステップと、各オブジェクトに関連するCAD線形エクストルージョン間の決定された空間/距離から工場内のオブジェクト間の空間/距離を推定するステップとを含んでもよい。動作上の問題の識別は、工場内のオブジェクト間の決定された空間/距離に基づいてもよい。例えば、本方法は、2つのオブジェクト間の空間/距離が、作業者(又はパレット又はフォークリフトなどの機器)が通過するのに必要な最小距離未満であるとき、動作問題を識別するステップを含んでもよい。代替的に又は追加的に、動作上の問題は、工場の動作における安全リスクを含むこともできる。例えば、動作プロセスは、衝突又は他の工場事故等を評価するステップを含んでもよい。動作プロセスは、決定されたレイアウトに基づいて工場の操作をシミュレートすること(例えば、作業者及び/又は作業機械の動きをシミュレートすることを含む)と、工場内のオブジェクト(例えば、作業者及び/又は作業機械)の軌跡を決定することとを含んでもよい。次いで、動作プロセスは、決定された軌道及び3Dモデルに基づいて、同種のものの衝突又は他の工場事故を評価することを備え得、それによって、工場の操作における1つ又は複数の安全リスクを識別する。例えば、安全リスクは、工場のロボットが、作業者の近くを通過するか、又は作業者と衝突する(例えば、作業者間の安全距離未満で)ことであってもよい。その場合、識別するステップは、工場が備える各ロボットについてそれぞれの軌道を決定するステップと、各決定された軌道について、工場の労働者と決定された軌道との間の距離が安全距離よりも高いことを検証するステップとを備えてもよい。
追加的に又は代替的に、動作プロセスは、工場の新しいレイアウトを決定するステップを含んでもよい。この例では、工場のスキャンは、工場の現在のレイアウトのスキャンであってもよく、決定された新しいレイアウトは、現在のレイアウトに対して最適化されてもよい。例えば、新しいレイアウトは、工場の動作及び/又は工場のセキュリティに関して最適化されてもよい。新しいレイアウトの決定は、前述のように動作上の問題の識別に基づくことができる。識別された動作問題は、現在のレイアウトにおいて識別された動作問題であってもよく、これらの動作問題は、新しいレイアウトにおいて解決されてもよい。例えば、新しいレイアウトの決定は、効率を最適化するために、現在のレイアウト内の1つ又は複数の生産ラインを移動させるステップを含んでもよい。代替的に又は追加的に、新たなレイアウトの決定は、作業者の作業効率を改善するために(例えば、筋肉疲労又は作業者が作業タスクの性能において移動しなければならない距離を低減することによって)、1つ以上のワークステーションを再配置するステップ(例えば、空間的に変位させること)を含んでもよい。代替的又は追加的に、新しいレイアウトの決定は、(たとえば、作業者とロボット軌道との間の距離を増加させることによって)安全性を改善するように、1つ又は複数のロボット軌道又はワークステーションを再配置するステップ(たとえば、空間的に変位させること)を含んでもよい。工場のための新しいレイアウトを決定した後、動作プロセスは、決定された新しいレイアウトに従って工場を再配置するために、決定された新しいレイアウトを使用するステップを含んでもよい。例えば、動作プロセスは、現実世界の工場のレイアウトが新しい決定されたレイアウトになるように、工場のオブジェクトを現実世界で移動させるステップを含んでもよい。
他の例では、本方法は、圧縮処理を含んでもよい。この圧縮処理は、例えば、工場をスキャンすることによって、点群を取得するステップを含んでもよい。この圧縮処理は、点群を、例えば、不揮発性メモリー上に記録するステップを含んでもよい。そして、この圧縮処理は、取得された点群を用いて本方法を実行し、それによって工場を表す3Dモデルを生成するステップを含んでもよい。3Dモデルは、点群に取り付けられた線形CADエクストルージョンを備えてもよい。圧縮処理は、工場を表す生成された3Dモデルを、例えば、不揮発性メモリに記録するステップを含んでもよい。3Dモデルの記録は、点群の記録よりも不揮発性メモリ上のより少ないメモリ空間を占有してもよい。実際、線形CADエクストルージョンの記録は、点群のそれぞれの点の座標の記録よりも少ないメモリ空間を占める。3Dモデルの記録後、圧縮処理は、不揮発性メモリから点群を削除し、それによって、不揮発性メモリ上に記録された3Dモデルのみを有するステップを含んでもよい。したがって、圧縮処理は、不揮発性メモリ内のより少ないメモリ空間を占める3Dモデルを得ることを可能にする。
この方法は、工場の3Dモデル、すなわち、スキャンが実行される工場を表す3Dモデルを生成する。3Dモデルは、工場の一部分を表すことができる。例えば、3Dモデルは、工場内のオブジェクトの一部のみ(例えば、フロアのない工場内のオブジェクト)を表すことができる。点群は、工場内のオブジェクトのこの部分のみのスキャンから得ることができる。あるいは、本方法は、初期点群の所与の部分(例えば、床上でサンプリングされた点)を除去し、それによって点群を取得し、得られた点群を用いて(すなわち、除去された部分を用いずに)フィッティングを実行するステップを含んでもよい。本方法は、例えば、工場内の各オブジェクトを、前述のような1つ又は複数の線形CADエクストルージョンと関連付けることによって、フィットされた線形3Dエクストルージョンに基づいて3Dモデルを生成するステップを含んでもよい。1つ又は複数の線形CADエクストルージョンは、1つ又は複数の線形CADエクストルージョンに関連付けられた工場のオブジェクトを表すモデル化オブジェクトを一緒に形成することができる。したがって、3Dモデルは、工場内の各オブジェクトについて、工場内のオブジェクトを表すそれぞれのモデル化オブジェクトを含むことができ、それぞれのモデル化オブジェクトは、オブジェクトに関連付けられた1つ又は複数の線形CADエクストルージョンを含む。フィッティングされた線形CADエクストルージョンのうちの少なくとも1つは、直方体とは異なってもよく、例えば、直方体よりも複雑であってもよい。例えば、嵌合された線形CADエクストルージョンのうちの少なくとも1つは、4つを超える側面を含むことができる、及び/又は少なくとも1つの曲線及び部分を含むことができるプロファイルを有することができる。フィッティングは、点群を、直方体よりも複雑な少なくとも1つのそのような線形CADエクストルージョンと嵌合させるステップを含んでもよい。
生成された3Dモデルは、モデル化オブジェクトであってもよい。モデル化オブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。拡張により、表現「モデル化オブジェクト」は、データ自体を指す。システムのタイプに応じて、モデル化オブジェクトは、異なる種類のデータによって定義されてもよい。
CADソリューション(たとえば、CADシステム又はCADソフトウェア)によって、それはさらに、モデル化オブジェクトのグラフィカル表現及び/又はCATIAなどのその構造化表現(たとえば、特徴木)に基づいて、モデル化オブジェクト(たとえば、工場内のオブジェクトを表す)を少なくとも設計するように適合された、任意のシステム、ソフトウェア、又はハードウェアを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。CADシステムは例えば、ある場合には、面又は表面を有するエッジ又は線を使用してCADモデル化オブジェクトの表現を提供することができる。線、エッジ、又は表面は様々な方法、例えば、不均一有理Bスプライン(NURBS)で表すことができる。具体的には、CADファイルは仕様を含み、そこからジオメトリー形状を生成することができ、これにより表現を生成することができる。モデル化オブジェクトの仕様は、単一のCADファイル又は複数のCADファイルに格納することができる。CADシステム内のモデル化オブジェクトを表すファイルの典型的なサイズは、部品当たり1メガバイトの範囲内である。そして、モデル化オブジェクトは、典型的には何千もの部品のアセンブリであってもよい。
CADの文脈では、モデル化オブジェクトは、典型的には、例えば工場内のオブジェクト(又はオブジェクトの一部)を表す3Dモデル化オブジェクトであってもよい。「3Dモデル化オブジェクト」とは、その3D表現を可能にするデータによってモデリングされる任意のオブジェクトを意味する。3D表現は、全ての角度から部品を見ることを可能にする。例えば、3Dモデル化オブジェクトは3D表現される場合、その軸のいずれかの周り、又は表現が表示される画面内のいずれかの軸の周りで取り扱われ、回転されてもよい。これは特に、3Dモデル化されていない2Dアイコンを除外する。3D表現の表示は、工場のための新しいレイアウトの決定を容易にする(すなわち、エンジニアがそれらのタスクを達成する速度を統計的に増加させる)。これは、工場の新しいレイアウトの決定が工場の再配置の一部であるので、現実世界における工場の再配置を加速する。
CADシステムは、履歴ベースであってもよい。この場合、モデル化オブジェクトは、ジオメトリー特徴の履歴を含むデータによってさらに定義される。モデル化オブジェクトは、実際には、標準的なモデル化特徴(例えば、押し出し、回転、切断、及び/又はラウンド)及び/又は標準表面特徴(例えば、掃引、混合、ロフト、充填、変形、及び/又は平滑化)を使用して、物理的な人物(すなわち、設計者/ユーザ)によって設計されてもよい。このようなモデリング機能をサポートする多くのCADシステムは、履歴ベースのシステムである。これは、設計特徴の作成履歴が典型的には入出力リンクを介して前記ジオメトリー特徴を一緒にリンクする非循環データフローを介して保存されることを意味する。履歴ベースのモデリングパラダイムは、80年代の始まりから周知である。モデル化オブジェクトは履歴及びB-rep(すなわち、境界表現)という2つの永続的なデータ表現によって記述される。B-repは、履歴に定義された計算の結果である。モデル化オブジェクトが表現されるときにコンピュータのスクリーン上に表示される部品の形状はB-rep(のテッセレーション)である。部品の履歴は設計意図である。基本的に、履歴は、モデル化オブジェクトが受けた動作に関する情報を収集する。B-repは複雑な部品を表示しやすくするために、履歴とともに保存される場合がある。設計意図に応じた部品の設計変更を可能にするため、B-repと共に履歴を保存することがある。
本方法によって生成されるモデル化オブジェクトは、例えば、特徴木及び/又はB-repを備えるか、又はそれらからなるCADモデルであってもよい。CADモデルは、特徴ベース(feature-based)であってもよい(例えば、それは、特徴木と、任意選択で、特徴木を実行することによって取得される対応するB-repとを備えてもよい)。特徴ベースの3Dモデルは、(例えば、工場の2つの異なったオブジェクトを表すモデル化オブジェクト間の)衝突のようなCADモデルにおけるジオメトリー誤差の検知及び自動的な解像度を可能にする。衝突は、例えば、それらの相対運動による、3Dモデルの2つの部分間の相互侵入である。さらに、この衝突は、場合によっては、CAD特徴ベースモデルに基づく有限要素解析を介してのみ検出されてもよい。したがって、特徴のパラメータを反復的に修正し、有限要素解析を行うことによって、CADソリューションを用いて、又はCADソリューションによって自動的に、衝突の分解能を実行することができる。
CADモデルの重要な特徴は、少数の高レベルのパラメータ化された設計動作(例えば、スケッチ、CADエクストルージョン、面取りを含むが、これに限定されない)を連鎖させ、その高レベルのパラメータを変更することによって編集することによって、それが正確かつ明確に設計され得ることである。これは、任意の3D形状を表すことができるが、工業設計の文脈において必要とされる修正又はパラメータ化能力を提供しない、三角形表面メッシュなどの多面体表現との重要な区別である。
CADモデルは、オブジェクトのパラメータ化モデルであるため、点群を含むモデルなどの他のモデルよりも、メモリフットプリントの点でより軽量である。実際、点群の点の集合を記憶する代わりに、記憶装置及びメモリフットプリントに関してより軽量な特徴及びパラメータの一覧を記憶することができる。したがって、CADモデルでの作業は、モデルの編集性を容易にすることに加えて、基礎となるシステムのためのメモリ要件を低減した。これは、CADコンバージョンプロセスへの点群が、実際に、点群を、より容易に編集可能なCADモデルに変換することに加えて、メモリ要件(例えば、フットプリント)に関してより軽いCADモデルに圧縮すると言うことになる。
B-Rep(すなわち、境界表現)は、機械部品の3D表現である。具体的には、B-Repは、機械部品を表す3Dモデル化オブジェクトを記述する永続的データ表現である。B-repは、機械部品を表す3Dモデル化オブジェクトの設計段階中に実施される計算及び/又は一連の操作の結果であってもよい。モデル化オブジェクトが表されるときにコンピュータのスクリーン上に表示される機械部品の形状はB-rep(のテッセレーション)である。例として、B-Repはモデル化オブジェクトのの一部を表す。
B-Repは、トポロジーエンティティ及びジオメトリーエンティティを含む。トポロジーエンティティは、面、エッジ、及び頂点である。ジオメトリーエンティティは3Dオブジェクト、すなわち、表面、平面、曲線、線、点である。定義上、面は、支持表面と名付けられた、表面の有界部分である。エッジは曲線の有界部分であり、支持曲線と名付けられている。頂点は3D空間の点である。それらは、以下のように相互に関連している。曲線の境界部分は、曲線上にある2つの点(頂点)によって定義される。表面の境界部分は、その境界によって定義される。この境界が表面上に横たわるエッジの組である。面のエッジの境界は、頂点を共有することによって接続される。面は、エッジを共有することによって接続される。2つの面は、それらがエッジを共有する場合、隣接する。同様に、2つのエッジは、それらが頂点を共有する場合、隣接する。B-Repは、適切なデータ構造において、トポロジーエンティティと支援ジオメトリーとの間の関係、及び支援ジオメトリーの数学的記述によって「境界される」関係を収集する。B-Repの内部エッジは、ちょうど2つの面によって共有されるエッジである。定義によれば、境界エッジは共有されず、1つの面のみを境界付ける。定義上、境界面は少なくとも1つの境界エッジで境界される。B-Repは、その全てのエッジが内部エッジである場合、クローズドと言われる。B-Repは、少なくとも1つの境界エッジを含む場合、オープンと言われる。クローズドB-Repは、空間の内部部分(事実上)を囲い込む材料を定義するため、厚い3D体積をモデル化するために使用される。オープンB-Repは、無視すべき十分に小さい厚さの3Dオブジェクトを表す3Dスキンをモデル化するために使用される。
CADモデリングで使用される他の表現タイプよりもB-Repの重要な利点は、任意の形状を正確に表現する能力である。点群、ディスタンス場、メッシュなど、使用中の他のすべての表現は、離散化によって表現するためにシェイプの近似を実行する。一方、B-Repは、正確な設計を表す表面方程式を含み、したがって、これがCNCのためのツールパスの生成であるか、又は所与の3Dプリンタ技術のための正しいサンプル密度への離散化であるかにかかわらず、さらなる製造のための真の「マスターモデル」を構成する。言い換えれば、B-Repを使用することによって、3Dモデルは、製造対象の正確な表現であってもよい。B-Repは、3Dモデルの挙動をシミュレートするのにも有利である。応力、熱、電磁気又は他の解析に関して、それは、物理現象を捕捉するためにシミュレーションメッシュの局所的精密化をサポートし、運動学に関して、それは、曲面間の真の接触モデリングをサポートする。最後に、B-Repは、小さなメモリ及び/又はファイルフットプリントを可能にする。第1に、表現はパラメータのみに基づくサーフェスを含むためである。メッシュなどの他の表現では、等価表面は、数千までの三角形を含む。第2に、B-Repは履歴ベースの情報を含まないためである。
本方法は、コンピュータに実装される。これは、本方法のステップ(又は実質的に全てのステップ)が少なくとも1つのコンピュータ又は任意のシステムによって実行されることを意味する。したがって、本方法のステップはコンピュータによって、場合によっては完全に自動的に、又は半自動的に実行される。例では、本方法のステップのうちの少なくともいくつかのトリガがユーザ/コンピュータ対話を介して実行されてもよい。必要とされるユーザ/コンピュータ対話のレベルは予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とバランスをとることができる。例では、このレベルがユーザ定義及び/又は事前定義されてもよい。
本方法のコンピュータ実装の典型的な例は、この目的のために適合されたシステムを用いて方法を実行することである。システムはメモリに結合されたプロセッサと、グラフィカルユーザインタフェース(GUI)とを備えることができ、メモリには、本方法を実行するための命令を含むコンピュータプログラムが記録されている。メモリはまた、データベースを記憶してもよい。メモリは、そのような記憶のために適合された任意のハードウェアであり、場合によっては、いくつかの物理的に異なる部分(例えば、プログラムのためのもの、及び場合によってはデータベースのためのもの)を含む。
点群の取得は、例えば、レーザースキャナー又はスキャンから点群を取得するように構成された任意の他の手段を使用して、工場をスキャンするステップを含んでもよい。工場のスキャンは、工場内のスキャン、すなわち工場内のオブジェクトのスキャンであってもよい。例えば、スキャンは、工場内の各オブジェクトの表面上、又は工場の部品内の各オブジェクトの表面上のいくつかの点をスキャンすること(すなわち、工場内のオブジェクトの部品をスキャンすること)を含んでもよい。点群は、対象物ごとに、対象物上でスキャンされた点のそれぞれの一部(例えば、対象物の視認可能な外面上に分散された)を含んでもよい。それぞれの部品の各点は、オブジェクトの可視外面上のそれぞれの点に対応してもよい。あるいは、工場のスキャンは既に実行されていてもよく、既に実行されたスキャンから得られた点群は、例えば、メモリー又はデータベースに記録されてもよい。その際、点群の取得は、工場の点群をデータベース又はメモリーから取得するステップを含んでもよい。
CADエクストルージョンは、プロファイルを掃引することからなる操作又は操作の結果である。プロファイルは、平面であってもよく、例えば、平面又は平面曲線であってもよい。掃引は、曲線によって案内されてもよい。CADエクストルージョンは、線形タイプ(線形CADエクストルージョンと呼ばれる)であってもよい。線形タイプのCADエクストルージョンは、線形CADエクストルージョン操作の実行から生じ得る。線形CADエクストルージョンの場合、プロファイルの掃引は、線形曲線によって案内されてもよい。あるいは、CADエクストルージョンは、回転型(回転CADエクストルージョンと呼ばれる)であってもよい。回転型のCADエクストルージョンは、回転CADエクストルージョン操作の実行から生じ得る。回転CADエクストルージョンの場合、プロファイルの掃引は、回転軸、すなわち、前記軸の周りのプロファイルの回転によって案内されてもよい。
CADエクストルージョン操作は、CADエクストルージョンのそれぞれの体積を画定することができる。線形CADエクストルージョンは、(線形CADエクストルージョンが生成される線形CADエクストルージョン操作の移動軸に沿った)線形曲線に沿った一定の断面の形状を有してもよい。回転CADエクストルージョンは、軸(回転CADエクストルージョンが生成される回転CADエクストルージョン操作の回転軸である)の周りの一定の断面形状を有してもよい。
CADエクストルージョンは、1つのパラメータセットを含んでもよい。パラメータのセットは、CADエクストルージョンを生成するCADエクストルージョン操作の実行中に入力として取られてもよい。パラメータのセットは、CADエクストルージョン動作の実行を完全に定義することができ、すなわち、CADエクストルージョン動作によって生成される体積(すなわち、得られるCADエクストルージョンの体積)を完全に定義することができる。パラメータのセットは、CADエクストルージョンのタイプに依存してもよい。CADエクストルージョンのパラメータのセットは、別のタイプのCADエクストルージョンと共通する少なくとも1つのパラメータ(すなわち、少なくとも1つの共通パラメータ)を含んでもよい。例えば、線形タイプ又は回転タイプであるCADエクストルージョンのパラメータのセットは、プロファイル及び空間的3D変換行列を含んでもよい。プロファイルは、順序付けられた2D点のリストを備えることができる。順序付けられた2D点のリストは、2D点を列挙された順序で線と一緒に結合することによって閉じた輪郭を形成することができる。空間3D変換行列は、ワールド座標系とプリミティブ座標系との間の回転及び移動を記述することができる。代替的に又は追加的に、CADエクストルージョンのパラメータのセットは、CADエクストルージョンのタイプに固有の少なくとも1つのパラメータ(すなわち、少なくとも1つの特定のパラメータ)を含んでもよい。例えば、線形タイプのCADエクストルージョンのパラメータのセットは、深さパラメータ(例えば、スカラー)を含んでもよい。深さパラメータは、スケッチの第3の寸法(すなわち、エクストルージョン軸に垂直な平面における断面の表面)を指定することができる。言い換えれば、このパラメータは、線形CADエクストルージョンの実行中に、スケッチが平面に直交する方向にどれだけ引かれるかによって定量化される。
それぞれの線形CADエクストルージョンは、点群のそれぞれの一部にフィッティングすることができる。点群は、いくつかのセグメントに区分され得、それぞれのセグメントは、点群のそれぞれの一部分に属する点を備える。区分内の点群のセグメント化は、方法の前に実行されてもよく、又は方法に含まれてもよい。セグメント化は、当技術分野で知られているように実行されていてもよい。例えば、セグメンテーションは、Landrieu, L., & Simonovsky, M. (2017), “Large-scale Point Cloud Semantic Segmentation with Superpoint Graphs” (https://doi.org/10.48550/ARXIV.1711.09869)、Lin, C., Liu, L., Li, C., Kobbelt, L., Wang, B., Xin, S., & Wang, W. (2020), “SEG-MAT: 3D Shape Segmentation Using Medial Axis Transform” (https://doi.org/10.48550/ARXIV.2010.11488) 、又はVHACDアルゴリズム(https://github.com/Unity-Technologies/VHACD)のいずれかの文書で開示されたアルゴリズムを用いて実行されてもよい。セグメント化は、セグメントを出力するために、提供された点群に直接的にアルゴリズムを適用するステップを含んでもよい(例えば、”Large-scale Point Cloud Semantic Segmentation with Superpoint Graphs”) applying the algorithm directly”と題された文献に開示されたアルゴリズムについて)。あるいは、セグメンテーションは、アルゴリズムを適用する前に、(例えば、文献”SEG-MAT: 3D Shape Segmentation Using Medial Axis Transform”又はVHACDアルゴリズムにおいて開示されているアルゴリズムについて)、提供された点群をメッシュ/表現(媒体軸変換と呼ばれる)に変換し、アルゴリズムをこのメッシュ/表現(例えば、https://www.cs.ucdavis.edu/~amenta/pubs/sm.pdfで開示されるように)に適用するステップを含んでもよい。各線形CADエクストルージョンは、それぞれのセグメントにフィッティングすることができ、すなわち、セグメントに属するそれぞれの部分の内側の点を包含することができる。セグメントに属する点は、それぞれのボリュームを一緒に形成することができる。フィッティングは、点群のセグメントごとに、セグメントの点が一緒に形成する体積が線形CADエクストルージョンの体積と実質的に等しくなるように、線形CADエクストルージョンのパラメータセットを決定するステップを含んでもよい。各線形CADエクストルージョンについて、線形CADエクストルージョンのパラメータのセットの決定は、線形CADエクストルージョンのプロファイル及び線形CADエクストルージョンの深さを決定するステップを含んでもよい。線形CADエクストルージョンのプロファイル及び深さの決定は、線形CADエクストルージョンがフィッティングする点群の一部分に属する点に基づいてもよい。点群と線形CADエクストルージョンとのフィッティングは、完全に自動的であってもよい(例えば、本方法は、各々の線形CADエクストルージョンのパラメータセットを自動的に決定してもよい)。代替的に、点群と線形CADエクストルージョンとのフィッティングは、半自動であってもよい(例えば、本方法は、パラメータの各セットを決定した後、パラメータの各セットをユーザが承認するステップを含んでもよい)。
この方法は、工場を表す3Dモデルを直接取得することを可能にする。実際、この方法は、点群上に直接的に線形CADエクストルージョンをフィッティングさせ、したがって、この方法は、点群の取得後に3Dモデルを自動的に取得することを可能にする。特に、線形CADエクストルージョンはCADソフトウェアにフィッティングされ、したがって、結果として得られる3Dモデルは、そのようなCADソフトウェアによって直接使用可能である。したがって、CADソフトウェアのユーザは、方法の実行後に、3Dモデルの作業を直接開始することができる。例えば、ユーザは、工場内のオブジェクトに関連付けられた線形CADエクストルージョンを移動させることによって、工場を直接再配置することができる。生成された3Dモデルは、CADソフトウェアで直接使用することができる。さらに、3Dモデルは、特に正確であり、すなわち、工場を正確に表す。実際、線形CADエクストルージョンは、工場内のオブジェクトの表現を提供する。さらに、3Dモデルは、縮小された記憶領域を使用する。実際、CADエクストルージョンは、低減された1つのパラメータセットによって完全に定義され、したがって、3Dモデルの記憶は、各3Dエクストルージョンの1つのパラメータセットを記憶することを必要とするだけである。パラメータのセットのそのような記憶は、点群を記憶するよりも少ない記憶領域を使用するか、又は先行技術の方法におけるようにプリミティブのセットを記憶するよりも少ない記憶領域を使用する。
本方法は、線形CADエクストルージョンを用いた点群のフィッティングと、回転CADエクストルージョンを用いた点群のフィッティングとを同時に行うことができる。例えば、本方法は、各セグメントについて、セグメントをCADエクストルージョン(CADエクストルージョンは、線形CADエクストルージョン又は回転CADエクストルージョンである)にフィッティングさせるステップを含んでもよい。本方法は、全てのセグメントを順次フィッティングさせてもよく、又は全てを一緒にフィッティングさせてもよい(例えば、並列処理を使用して)。本方法は、フィッティングの前に、線形タイプ及び回転タイプの中からCADエクストルージョンのためのタイプを選択するステップを含んでもよい。次いで、本方法は、セグメントを、選択されたタイプのCADエクストルージョン(すなわち、選択されたタイプが線形タイプである場合は線形CADエクストルージョン、選択されたタイプが回転タイプである場合は回転CADエクストルージョン)にフィッティングさせるステップを含んでもよい。タイプの選択は、タイプのうちの1つが関連するか否かに依存し得る(例えば、フィッティング品質を示し得るフィッティング率を使用して)。例えば、タイプの選択は、(例えば、フィッティング率をしきい値と比較することによって)線形CADエクストルージョン(それぞれ、回転CADエクストルージョン)がセグメントにフィッティングするかどうかを決定するステップを含んでもよい。次いで、本方法が、線形CADエクストルージョン(又は回転CADエクストルージョン)がセグメントにフィッティングすると決定する場合、本方法は、セグメントを線形CADエクストルージョン(又は回転CADエクストルージョン)にフィッティングさせるステップを含んでもよい。そうでなければ、本方法は、回転CADエクストルージョン(又は線形CADエクストルージョン)でセグメントをフィッティングさせるステップを含んでもよい。これらの2つのタイプのCADエクストルージョンは、工場内の任意のタイプのオブジェクトが、十分に正確に、特にオブジェクト間の空間を評価するのに十分に正確に表されることを可能にし、したがって工場の再配列を実行することを可能にする。
タイプの選択は、ニューラルネットワークに基づいてもよい。ニューラルネットワークは、点群の区分(したがって、点群自体)を入力として取り、線形タイプと回転タイプとの間でCADエクストルージョンのためのタイプを出力するように構成されてもよい。ニューラルネットワークは、教師ありで訓練されていてもよい。例えば、ニューラルネットワークの訓練は、点群のセグメントと、セグメントごとに、線形タイプと回転タイプとの間のセグメントのそれぞれのタイプとを含むデータベースに基づいてもよい。セグメントのそれぞれのタイプは、セグメントにフィッティングする(例えば、最高フィッティング率を有する)CADエクストルージョンのタイプであってもよい。ニューラルネットワークの学習は、このデータベースに基づくことができる。ニューラルネットワークアーキテクチャは、エンコーダーと、それに続くNlinear(例えば、2、3、又は4)ブロックとを含むことができ、各々は、線形層、考えられるバッチ規格化ステップ、及び機能活性化(例えば、ReLu、リーキーReLu、Tanh)を含む。ニューラルネットワークアーキテクチャは、最終層(たとえば、線形層と、それに続くソフトマックス活性化関数とを備える)をさらに備えてもよい。最終レイヤは、ネットワークによって予測された生成動作を表す長さ2のベクトルを出力するように構成されてもよい。本方法は、入力としてセグメントをニューラルネットワークに提供し、セグメントに対してニューラルネットワークによって出力されるタイプを選択することによって、ニューラルネットワークを適用するステップを含んでもよい。
代替として、タイプの選択は、タイプの1つ又は複数の識別に基づいてもよい。その場合、選択は、一組の候補エクストルージョン軸を決定するステップを含んでもよい。一組の候補エクストルージョン軸の決定は、主成分分析(PCA)に基づくことができる。セットの各候補エクストルージョン軸は、セグメントの主方向に関連付けられてもよい。例えば、各候補エクストルージョン軸は、セグメントに属する点の主成分に関連付けられてもよい。主成分は、第iのベクトルが、第1のi-1のベクトルに直交しながら、セグメントの点に最もフィッティングする線の方向を指す、p個の単位ベクトルのシーケンスであってもよい。例えば、線は、点から線までの平均二乗距離を最小化することによって、点に最もよくフィッティングすることができる。主成分は、点の異なる個々の寸法が線形的に無相関である正規直交基底を構成することができる。PCAは、セグメントの点の主成分を計算するプロセスである。一組の候補エクストルージョン軸の決定は、第1の主成分のみを使用するステップを含んでもよい。例えば、一組の候補エクストルージョン軸は、最初の3つの主成分のみを含んでもよい。次いで、一組の候補エクストルージョン軸の各候補軸について、本方法は、線形タイプ及び回転タイプのうちのCADエクストルージョンのためのタイプの1つ又は複数の識別を実行するステップを含んでもよい。各識別は、候補エクストルージョン軸を、CADエクストルージョンのためのエクストルージョン軸(すなわち、線形タイプのためのエクストルージョンの方向又は回転タイプのための回転軸の方向)とみなしてもよい。各識別は、CADエクストルージョンタイプによるセグメントのフィッティング率を計算することができる。このフィッティング率は、セグメントとCADエクストルージョンタイプ(線形又は回転)のうちの1つとのフィッティングを定量化することができる。各識別の実行は、セグメントのそれぞれの候補タイプを決定するステップを含んでもよい。
識別の実行後、タイプの選択は、実行された識別の結果の組み合わせに基づいて、CADエクストルージョンのためのタイプを決定するステップをさらに含んでもよい。例えば、各識別は、候補軸を有するタイプのCADエクストルージョンがセグメントにフィッティングする程度を評価するステップを含んでもよい。評価するステップは、識別のための結果を記録するステップ(例えば、セグメント上のCADエクストルージョンのフィッティングを定量化するフィッティングスコア)を含んでもよい。選択は、記録された結果の各々を考慮するステップと、フィッティングスコアを最大化するようにタイプ及び候補軸を選択するステップとを含んでもよい。例えば、選択は、最高フィッティングスコアを有する識別によって与えられるタイプ及び候補軸を選択するステップを含んでもよい。代替的に、選択は、各候補軸及び各タイプについて記録されたフィッティングスコアの合計を計算するステップと、最高フィッティングスコアの合計を有する候補軸及びタイプを選択するステップとを含んでもよい。
次に、図2~図8を用いて、本方法の実装について説明する。
ディープニューラルネットワーク(DNN)は、ニューラルネットワークにおける学習のための強力な技術群であり、これは、コンピュータが観察データから学習することを可能にする生物学的にインスパイアされたプログラミングパラダイムである。オブジェクト認識では、DNNの成功は、他の方法(min-cut、SVM、Boosting、Random Forestなど)で使用される手作業で設計された低レベルの特徴(ゼルニケモーメント、HOG、Bag-of-Words、SIFTなど)とは対照的に、リッチな中間レベルのメディア表現を学習するそれらの能力に起因する。より具体的には、DNNが生データに基づくエンドツーエンド学習に焦点を当てている。言い換えれば、それらは、未加工の特徴で始まりラベルで終わるエンドツーエンド最適化を達成することによって、特徴量工学から可能な限り最大限に脱却する。
すべての学習ベースの方法は、同じ種類のパターンに従う。それらは、集中的な計算が実行され得るオフラインステージと、入力データが与えられると、目標タスクを達成するために性能が鍵となるオンラインステージとを備える。
「CADエクストルージョン」(又は「CAD動作」)という語は、2D要素(2D輪郭及び曲線)に基づいて3Dジオメトリーを生成するCADワークフローで使用される一般的な動作を指す。この例示的な実装では、考慮されるCADエクストルージョンは、線形CADエクストルージョン及び回転CADエクストルージョン(シャフトとも呼ばれる)である。他の実装では、ロフト(ガイド曲線によって案内されるエクストルージョン)又は「負の」エクストルージョン(すなわち、物質の取り出しを示すエクストルージョン)など、他の一般的な動作が考慮されてもよい。負エクストルージョンの場合、これらの負エクストルージョンは、負線形エクストルージョン、負回転エクストルージョン又は負ロフトタイプエクストルージョンを含んでもよい。
実装では、オブジェクトセグメンテーションをインプットとし、以下のステップを適用する。第1のステップにおいて、本実装は、点群の幾何学的特性に基づいて原始の生成動作を決定することを含む。この第1のステップは、線形タイプ及び回転タイプの中からCADエクストルージョンのためのタイプを選択することを含む。これらの2つのタイプのCADエクストルージョンは、工場内の任意のタイプのオブジェクトが、十分に正確に、特にオブジェクト間の空間を評価するのに十分に正確に表されることを可能にし、したがって工場の再配列を実行することを可能にする。第2のステップにおいて、本実装は、再構成誤差を最小化する決定された生成動作に入力するための1つのパラメータセットを決定することを含む。実装は、区分ごとにこれらの2つのステップを実行する。その後、この実装は、生成されたプリミティブ(又はCADエクストルージョン)が十分に接続されるように、生成動作のインプットパラメータを精緻化することからなる最終工程を含み、したがって、実際の3Dオブジェクトを表す3Dモデルを得る。
次に、タイプを選択する最初のステップについて、より詳細に説明する。
本実装は、2つの生成動作(又は2つのCADエクストルージョンタイプ)と、生成動作ごとのそれぞれのパラメータとを考慮する。次いで、特定の入力セグメントが与えられたときにどの動作を使用するかを決定するための異なる方法が論じられる。
CADインスパイアされたプリミティブの使用は、CADソフトウェアにおける統合を容易にする。本実装は、線形エクストルージョン(LE)及び回転(又は自転、公転)エクストルージョン(RE)に焦点を当てる。図2は、これらの2つのタイプのCADエクストルージョンの例を示す。本実装は、これらの2つの動作を使用して、多種多様な形状を正確に近似する。特に、これらの2つの操作は、人工オブジェクトの一部を表すのに特によく適している。各CADエクストルージョンのフィッティングは、主に2つのステップを含む。第1のステップは、CADエクストルージョンの2Dスケッチ201を作成するステップS10にある。第2のステップは、3D形状を作成するために、作成された2Dスケッチを引っ張るステップからなる。特に、線形エクストルージョンの場合、引っ張るステップは、2Dスケッチの平面に直交する方向にスケッチを直線的に引っ張るステップS20を含み、それによって3D形状203を得る。回転エクストルージョンの場合、引っ張ることは、回転軸の周りで2Dスケッチを引っ張るステップS30を含み、それによって3D形状203’を得る。
これらの生成動作は、CAD設計者によって容易に解釈可能かつ編集可能なプリミティブをもたらす。ここで、これらの生成動作のパラメータを詳細に説明する。線形タイプ及び回転タイプは、共通のパラメータを含んでもよい。共通パラメータは、プロファイルパラメータを含む。プロファイルパラメータは、2D点のリストを含む。2D点のリストと、これらの点を、それらが与えられた順序で線と一緒に結合することは、閉じた輪郭を形成する。共通パラメータは、空間3D変換行列を含む。空間3D変換行列は、ワールド座標とプリミティブ座標との間の回転及び移動を記述する。線形タイプは、特定のパラメータを含む。線形タイプに固有のパラメータは、深度パラメータである。深度パラメータはスカラーである。深さパラメータは、スケッチの第3の寸法を指定する。言い換えれば、このパラメータは、2Dスケッチが平面に直交する方向にどれだけ「引っ張られる」かを定量化する。回転エクストルージョンのための特別なパラメータは存在しない。
2つのタイプの生成演算を定義した後、第1のステップは、所与の点群部分に対してより良好にフィッティングするタイプを選択することにある。選択は、以下のソリューションに基づいてもよい。
第1のソリューションは、LEプリミティブとREプリミティブの両方を計算し、所与のメトリックに従ってどのプリミティブが最良であるかを比較することにある。所与のメトリックは、面取り距離又はハウスドルフ距離であってもよい。
第2のソリューションは、入力点群を幾何学的に分析することを含む。この第2の戦略はより効率的である。第1に、第2のソリューションは、点群の3つの主成分(PCAに基づく)を計算することを含む。第2のソリューションは、3つの主成分の固有ベクトルを候補エクストルージョン軸として使用することを含む。次いで、各候補エクストルージョン軸
Figure 2024035154000002
について、第2のソリューションは、2つの以下の識別の任意の組合せ(一方、他方、又は両方)を適用することを含む。
図3を参照して、第1の識別について説明する。第1の識別では、射影
Figure 2024035154000003
による点群の2つの極点x0及びx1を考慮している。第1の識別は以下を定義する。
Figure 2024035154000004
第1の識別は、候補エクストルージョン軸に沿って水平スライス体積を決定するステップを含む。各水平スライス体積は、候補エクストルージョン軸に垂直な2つのそれぞれの平面によって画定される。水平スライス体積を決定するステップは、入力点群からNhslices個の「水平」スライス201を抽出することを含む。各水平スライス体積について、第1の識別は、水平スライス体積に含まれるセグメントの点を抽出するステップを含み、それによって点の部分集合を形成する。Nhslicesが与えられると、viの値が0と1の間(典型的には
Figure 2024035154000005
)となり、第1の識別は、点pを点群から抽出するステップを含み、その点pは、
Figure 2024035154000006
であり、ここで
Figure 2024035154000007
は考慮されるスライスの「厚さ」を表すパラメータである。
次いで、各部分集合について、第1の識別は、以下のステップを実行することを含む。第1のステップは、候補エクストルージョン軸に直交する平面上に部分集合の点を投影するステップを含む。得られた点の部分集合Pごとに、第1の識別は、
Figure 2024035154000008
に直交する平面上にPを投影することを含む。第2のステップは、投影された点の輪郭を決定することを含む。例えば、第1の識別は、点群の輪郭を得るためにアルファシェイプアルゴリズムを適用するステップを含む。第1の識別は、線簡略化アルゴリズム(Ramer-Douglas-Peucker (RDP)アルゴリズムなど)によって得られる輪郭を簡略化し、それによって簡略化された輪郭Cを得ることを含む。第3のステップは、決定された輪郭と縁との類似度を定量化するステップを含む。例えば、第1の識別は、次式を用いてVcircle(C)を計算するステップを含む。
Figure 2024035154000009
ここで、rは、点群の重心から点までの距離であり、Cperimは輪郭の周囲であり、Careaは輪郭の領域である。この式は、輪郭と円との間の類似性を定量化する。
各部分集合について第1、第2、及び第3のステップを実行した後、第1の識別は、定量化された類似性の平均がしきい値よりも高いとき、回転タイプを決定することを含む。例えば、あるしきい値よりも小さい場合、Vcircle値の平均が、あるしきい値よりも小さい場合、第1の識別は、第1の試験を有効とみなすことを含む(すなわち、選択されたタイプが回転タイプであると決定すること)。
次に、図4を参照して、第2の識別について説明する。第2の識別は、点群の重心xcとは異なる、無作為に選択された入力点群からの点xhを考慮する。
Figure 2024035154000010
、xc、及びxhから、第2の識別は、xcを原点として、
Figure 2024035154000011
を系の軸とする座標系を構築するステップを含む。ここで、
Figure 2024035154000012
は、基準ベクトル積演算子を表す。第2の識別は、xc、
Figure 2024035154000013
によって定義される平面Phを命名するステップ、及び次式で表される、3D空間内の各点に対して、その射影の極座標系の角度パラメータを返す演算子を定義するステップを含む
Figure 2024035154000014
第2の識別は、候補エクストルージョン軸に沿って垂直スライス体積を決定するステップを含み、各垂直スライス体積は、候補エクストルージョン軸に対して半径方向の2つのそれぞれの平面によって画定される。例えば、第2の識別は、入力点群からのNvslices個の「縦」スライス301を操作するステップを含む。各垂直スライス体積について、第2の識別は、垂直スライス体積に含まれるセグメントの点を抽出するステップを含み、抽出された点は、点の部分集合を形成する。Nvslicesが与えられると、αiの値が0~360に決まる。典型的には、
Figure 2024035154000015
であり、第2の識別は、αiの各値について、
Figure 2024035154000016
なる点群から点pを抽出するステップを含む。ここで、
Figure 2024035154000017
は考慮されるスライスの「厚さ」を表すパラメータである。第2の識別は、Nvslices個の部分集合点群Pを得るステップを含む。各部分集合について、第2の識別は、候補エクストルージョン軸に対して半径方向の中間平面上に部分集合の点を投影するステップを含む。中間平面は、部分集合の垂直スライス体積を画定する2つのそれぞれの平面の間の実質的に中心にある。例えば、第2の識別は、xc、及びユニタリベクトルである
Figure 2024035154000018
によって定義される平面にPiを投影する。Phの一部は、
Figure 2024035154000019
の間の角度がαiに等しくなり、これによってNvslices個の2D点群が得られる。
次いで、部分集合の各ペアについて、第2の識別は、ペアの各部分集合の投影点間の距離を計算することを含む。例えば、第2の識別は、2D点群の組からの任意の所与の2つの点群について所与の距離(例えば、面取り距離又はハウスドルフ距離)を計算するステップを含む。距離の計算の後、第2の識別は、計算された距離の平均がしきい値よりも低いとき、回転タイプを決定するステップを含む。例えば、距離の平均があるしきい値よりも低い場合、第2の識別は、第2のテストを有効とみなすステップ(すなわち、選択されたタイプが回転タイプであると判断すること)を含む。
第2の識別のための第1の識別又は水平スライスのための垂直スライスの使用は、特に点のセグメントが不完全である(空隙が点を有さない)とき、タイプの選択を改善する。実際、たとえ1つのスライスが、点を有さないこれらの空隙のうちの1つの位置で抽出されたとしても、他のスライスは、点を有さないこれらの空隙を有さない位置で抽出される。したがって、スライスの使用は、点のセグメントが空隙を含む場合であっても、適切なタイプの選択を可能にする。
タイプを選択する第1のステップは、反復であってもよい。図5は、タイプの選択を反復的に実行するためのアルゴリズムの一例を示す。各新しい反復は、前の最良軸の周りの所与の半径wの円錐内の新しい候補軸をサンプリングするステップS110を含み、それによって、新たな組の候補エクストルージョン軸を得ることができる。サンプリングの後、各新しい反復は、新しい組の各軸について、先に論じた識別のうちの1つ又は複数を実行するステップS120を備えてもよい。次いで、それぞれの新しい反復は、mhorizontal又はmverticalの値に基づいて(例えば、どの識別が実行されるかに応じて)、次回の反復のための前の最良軸を決定することを含んでもよく、ここで、mhorizontalは、Vcircle値の平均を指定し、mverticalは垂直スライス間の間隔の平均を指定する。第1の識別(第2の識別のそれぞれ)のみが実行される場合、第1のステップは、mhorizontal(又はmvertical)が最小化される軸を前の最良軸として選択するステップを含んでもよい。両方の識別が適用される場合、第1のステップは、mhorizontalの値のみを使用するステップを含んでもよい。実際、第1の識別は、欠落点に対してよりロバストである。円型プロファイル上の欠落点は、mhorizontalの値を有意には上昇させないが、不完全な点群から抽出された縦スライスは他のスライスと比較して有意に変化してもよい。前の最良軸を決定した後、第1のステップは、新しい候補軸をサンプリングし、新しい候補軸ごとに1つの識別、他の識別、又は両方を再適用するステップを含んでもよい。第1のステップは、所与のniの反復を適用するステップと、収束を確実にするために、候補軸がサンプリングされる円錐の半径を(例えば、新しい反復ごとに)低減するステップとを含んでもよい。
タイプを選択するための第3のソリューションは、ディープラーニングに基づいており、ニューラルネットワークを使用する。第3のソリューションは、分類問題としてタイプの選択を処理するステップを含む。ニューラルネットワークの構成は、エンコーダーを含んでもよい。ニューラルネットワークの構造は、エンコーダーに続くNlinear(例えば、2、3、又は4)個のブロックをさらに含んでもよい。各ブロックは、線形層、可能なバッチ正規化ステップ、及び関数活性化(例えば、ReLu、leaky ReLu、Tanh)を含んでもよい。ニューラルネットワークの構造は、最終層をさらに備えてもよい。最終層は、線形層と、それに続くソフトマックス活性化関数とを含んでもよい。最終レイヤは、ネットワークによって予測された生成動作を表す長さ2のベクトルを出力する。この回路網の訓練は、入力点群と、入力点群の生成動作種別とをそれぞれ含む一組のデータセットに基づいてもよい。トレーニングセットの生成及びラベリングは、2つの戦略に基づくことができる。第1のものは、上記で提案された第2の代替ソリューションを使用して、実オブジェクト部分のデータセットに注釈を付けるステップを含む。第2のものは、スケッチ、線形押し出し、及び回転押し出しをスクリプト化することによって合成データセットを生成するステップと、そのジオメトリー上に得られるジオメトリー点及びサンプリング点を生成するステップとを含む。
次に、生成演算のパラメータを決定する第2のステップについて、より詳細に説明する。パラメータの決定は、選択されたタイプに依存してもよい。パラメータの決定は、選択されたタイプのCADエクストルージョンのためのプロファイルを決定することを含む。プロファイルの決定は、候補エクストルージョン軸のセットの中から選択されたタイプのCADエクストルージョンのためのエクストルージョン軸を選択することを含む。プロファイルの決定は、セグメントの点を投影面上に投影することを含む。投影面は、選択したタイプによって異なる。選択されたタイプが線形タイプである場合、投影平面は、エクストルージョン軸に垂直な平面である。選択されたタイプが回転タイプである場合、投影平面は、エクストルージョン軸に対して半径方向の平面である。プロファイルの決定は、投影された点の輪郭を決定することを含む。決定された輪郭は、投影された点の部分集合を含む。任意選択で、プロファイルを決定するステップは、決定された輪郭の部分集合が含む投影点の数の減少に基づいて、決定された輪郭を単純化することをさらに含んでもよい(例えば、決定された輪郭にRamer-Douglas-Peucker (RDP)アルゴリズムを適用することによって)。ここで、プロファイルの決定について、線形タイプ及び回転タイプについて別々により詳細に説明する。
図6を参照して、線形エクストルージョンタイプのパラメータの決定について説明する。線形エクストルージョンタイプについて、パラメータの決定は、以下のステップを含む。最初に、パラメータの決定は、区分点群の中心c及びその主成分軸を(例えば、先に論じたPCAに基づいて)計算するステップS301を含む。パラメータの決定は、3つの主成分軸(すなわち、3つの候補軸)間のエクストルージョン軸aextrusionを選択することを含む。エクストルージョン軸の選択は、異なる戦略に基づいてもよい。第1の戦略は、3つの異なる候補軸を試験することと、(例えば、面取り距離又はハウスドルフ距離などのメトリックに従って)最良の再構成スコアを与えるものを選択することとを含む。第2の戦略は、最小固有値に関連するベクトルを使用することを含む。次に、第2の方策は、変換行列を計算するために中心c及びエクストルージョン軸aextrusionを使用することを含む。
次いで、パラメータの決定は、エクストルージョン方向と点群の中心cとによって画定されるアフィン平面上の線分の点を投影するステップS302を含む。パラメータの決定は、アルファシェイプアルゴリズムを使用して投影点のプロファイルを抽出するステップS303を含む。同時に、パラメータを決定するステップは、アフィン平面の後ろの最も遠い点(エクストルージョン軸)と、アフィン平面の前の最も遠い点との距離の合計を考慮することによって、エクストルージョンの厚さを決定することを含む。プロファイルの抽出S303は、得られたプロファイルを単純化するためにRamer-Douglas-Peucker (RDP)アルゴリズムを適用するステップを含んでもよい。このステップは、結果として得られるプリミティブを平滑化し、プロファイルのわずかな変動を除去することを可能にする。パラメータの決定後、本方法は、決定されたパラメータを使用して線形エクストルージョンタイプの最終CADプリミティブ(又はCADエクストルージョン)を計算するステップS304を含んでもよい。
図7を参照して、回転エクストルージョンタイプのためのパラメータの決定が、ここでより詳細に議論される。パラメータの決定は、以下のステップを含んでもよい。最初に、決定するステップは、区分点群の中心cと、その3つの主成分軸とを(例えば、先に論じたPCAに基づいて)計算するステップS401を含む。パラメータの決定は、3つの主成分(すなわち、3つの候補軸)の中からエクストルージョン軸arotationを選択することを含む。エクストルージョン軸の選択は、3つの主成分軸によって生成された3つのアフィン平面上に点を投影することを含む。次いで、エクストルージョン軸の選択は、2D射影の各々についてアルファ形状アルゴリズムを適用することを含む。最後に、得られたプロファイルPのそれぞれについて、エクストルージョン軸の選択は、計算Vcircle(P)を含む。エクストルージョン軸の選択は、その直交射影から抽出されたプロファイルPが最小の計算Vcircle(P)を有する軸としてarotationを選択することを含む。実際、その回転軸に沿った全回転シャフトの直交射影の輪郭は、円に近いものであるべきである。最後に、決定するステップは、変換行列を計算するために中心c及び選択されたエクストルージョン軸arotationを使用することを含む。
次いで、決定するステップは、2つの他の主成分軸のうちの1つに沿った射影のプロファイルを選択するステップ(S403)を含む(これらの2つのプロファイルは類似していると予想されるので、ここでは選択は任意であり得る)。プロファイルが選択される軸はaprofileと示される。決定するステップは、arotationに沿って輪郭を半分に切断するステップ、輪郭を半分に切断することによって得られる単純化された輪郭を得るステップ、及び得られる単純化された輪郭を回転エクストルージョンプロファイルとして使用するステップを含む。パラメータの決定後、本方法は、決定されたパラメータを使用して回転エクストルージョンタイプの最終CADプリミティブ(又はCADエクストルージョン)を計算するステップS404を含んでもよい。
線形エクストルージョンタイプ及び/又は回転エクストルージョンタイプについて、パラメータの決定は、結果として生じるプロファイルの滑らかさ及び点の数を制御するために、アルファシェイプ又はRDPアルゴリズムのパラメータを修正するステップを含んでもよい。さらに、アルファシェイプアルゴリズムは、エクストルージョン面の非コネックス形状及び孔を扱うことができる。
線形エクストルージョンタイプ及び/又は回転エクストルージョンタイプの場合、パラメータの決定は、反復的に実行されてもよい。各新しい反復は、前のエクストルージョン軸の周りの円錐内の候補エクストルージョン軸の新しいセットをサンプリングするステップを含んでもよい。前のエクストルージョン軸は、前の反復において考慮された候補エクストルージョン軸のセットの中にあってもよい。先のエクストルージョン軸は、選択されたエクストルージョン軸(すなわち、線形エクストルージョンタイプのextrusion及び回転エクストルージョンタイプのrotation)であってもよい。各新しい反復は、候補エクストルージョンの新しい組を用いてプロファイルの決定を繰り返すステップを含んでもよい。各新しい反復は、サンプリングされた軸ごとに、前述のように生成動作を計算するステップと、所与の再構成メトリック(たとえば、面取り又はハウスドルフ距離)を計算するステップと、次の反復のための前のエクストルージョン軸として再構成メトリックを最小化する新しい組の軸を選択するステップとを備えてもよい。
パラメータの決定を反復的に実行するステップは、決定されたパラメータの精度を改善する。特に、それぞれの反復は、PCAが、入力点群の雑音のために不十分に動作するときに、PCAの結果が関連しない危険性を低減する。
パラメータの決定は、ディープラーニングに基づくことができる。決定するステップは、考慮される生成動作のための最適なエクストルージョン軸を予測するために、回帰タスク上で2つのニューラルネットワーク(一方は線形エクストルージョンタイプ用であり、他方は回転エクストルージョンタイプ用である)を訓練するステップを含んでもよい。両方のネットワークは、同じアーキテクチャを有し得るが、異なるトレーニングセット上でトレーニングされてもよい。両方の回路網のアーキテクチャは、エンコーダーと、それに続くNlinear(例えば、2、3、又は4)個のブロックとを含むことができ、各々は、線形層、考えられるバッチ規格化ステップ、及び機能活性化(例えば、ReLu、リーキーReLu、Tanh)を含む。両方のネットワークのアーキテクチャは、ネットワークによって予測される、考慮される生成動作のエクストルージョン軸を表す、長さ3のベクトルを出力するように構成された最終層(活性化関数を伴わない線形層)をさらに備えてもよい。各々のネットワークは、入力点群とエクストルージョン軸との対を含むそれぞれのデータセット(線形エクストルージョンタイプについての1つのデータセットと、回転エクストルージョンタイプについての1つのデータセット)を用いて訓練されてもよい。ラベル付き訓練データセットの生成は、2つの戦略に基づくことができる。第1の方法は、前述の反復解を使用して実オブジェクト部分のデータセットに注釈を付けることである。第2のものは、スケッチ、線形及び回転エクストルージョンをスクリプト記述することによって合成データセットを生成し、結果として得られるジオメトリー(グラウンドトゥルースエクストルージョン軸を含む)及びそのジオメトリー上のサンプル点を生成することである。
次に、生成演算の入力パラメータを精緻化する最終ステップについて、より詳細に説明する。この方法は、すべてのプリミティブが接続されていることを保証するために後処理ステップを適用するステップを含んでもよい。後処理工程は、接続性グラフを計算することを含み、CADに着想されたプリミティブはノードとして、接続されている(すなわち、プリミティブ間の交差が空ではない)プリミティブ間のエッジを有する。接続性グラフは、一対のノード間の線形CADエクストルージョン及び回転CADエクストルージョン及び縁部を表すノードを含む。それぞれのエッジは、対のノードが表す、CADエクストルージョン対間の交差を表す。
後処理ステップは、接続性グラフに基づいて、線形CADエクストルージョン及び回転CADエクストルージョンのうちの1つ又は複数を接続することを含む。1つ以上の線形CADエクストルージョンの接続は、以下のステップに基づくことができる。接続は、このグラフの最大の連結成分が「本体」のままであるようなものであってもよい。後処理ステップは、より小さい連結成分ごとに、以下の2つの間の最小距離を計算することを含む。
・Pmain_body:「本体」を構成するプリミティブ要素に対応する全ての点群部分から構成される点群、及び
・Pconnected_component:現行の連結成分を構成するプリミティブに対応するすべての点群区分から構成される。
この距離が達成される(それぞれ)点Pmain_body(又はPconnected_component)を、pmain_body(又はpconnected_component)という。後処理ステップは、より小さい接続されたコンポーネントのすべてのプリミティブに変換
Figure 2024035154000020
を適用するステップを含む。
最後のステップは、元入力点群が単一の接続されたオブジェクトを構成するという仮定のもとで、この後処理ステップを適用するステップを含んでもよい。したがって、切断された構成要素に適用される移動は、再構成されたCADモデルの精度を損なわないように十分に小さいことがある。
図8は、本方法によって生成された3Dモデルの例を示す。特に、図は、4つの例400、401、402、及び403を示す。それぞれの例について、図は、セグメント化された初期点群(410、411、412、413)と、本方法によって生成された結果の3Dモデル(420、421、422、423)とを示す。初期点群の各セグメントについて、生成された3Dモデルは、セグメントにフィッティングするそれぞれのCADエクストルージョンを含む(例えば、第2の実施形態401では、点群411の点のセグメント411’にフィッティングする3Dモデル421のCADエクストルージョン421’)。
図9はシステムのGUIの一例を示し、システムはCADシステムである。
GUI2100は、標準的なメニューバー2110、2120、ならびに底部及び側部ツールバー2140、2150を有する、典型的なCAD様インターフェースであってもよい。このようなメニューバー及びツールバーはユーザが選択可能なアイコンのセットを含み、各アイコンは当技術分野で知られているように、1つ以上の操作又は関数に関連付けられている。これらのアイコンのいくつかは、GUI2100に表示された3Dモデル化オブジェクト2000を編集及び/又は作業するように適合されたソフトウェアツールに関連付けられる。ソフトウェアツールは、ワークベンチにグループ化することができる。各ワークベンチは、ソフトウェアツールの部分集合を含む。特に、ワークベンチの1つは、モデル化オブジェクト2000のジオメトリー特徴を編集するのに適したエディションワークベンチである。動作中、設計者は例えば、オブジェクト2000の一部を事前に選択し、次いで、適切なアイコンを選択することによって、動作(例えば、寸法、色などを変更する)又はジオメトリー制約を編集することができる。例えば、典型的なCAD動作は、画面上に表示される3Dモデル化オブジェクトの打ち抜き加工又は折り畳みのモデル化である。GUIは、例えば、表示されたオブジェクト2000に関連するデータ2500を表示することができる。図の例では「特徴木」として表示されるデータ2500、及びそれらの3D表現2000はブレーキキャリパ及びディスクを含むブレーキアセンブリに関する。GUIは、編集されたオブジェクトの動作のシミュレーションをトリガするため、又は表示されたオブジェクト2000の様々な属性をレンダリングするために、たとえばオブジェクトの3D配向を容易にするための様々なタイプのグラフィックツール2130、2070、2080をさらに示してもよい。カーソル2060はユーザがグラフィックツールと対話することを可能にするために、触覚デバイスによって制御されてもよい。
図10は、システムがクライアントコンピュータシステム、例えばユーザのワークステーションであるシステムの一例を示す。
この例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010と、やはりバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータには、さらに、BUSに接続されたビデオRAM1100に関連するグラフィカルプロセッシングユニット(GPU)1110が設けられている。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令及びデータを有形に具現化するのに適した大容量メモリデバイスは、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスクを含む、すべての形態の不揮発性メモリを含む。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補足されるか、又はその中に組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス1090も含んでもよい。ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置決めすることを可能にするために、カーソル制御装置がクライアントコンピュータ内で使用される。さらに、カーソル制御装置はユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号発生装置を含む。典型的にはカーソル制御装置がマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的に又は追加的に、クライアントコンピュータシステムは、センシティブパッド及び/又はセンシティブスクリーンを含んでもよい。
コンピュータプログラムはコンピュータによって実行可能な命令を含むことができ、命令は、上記装置に本方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは例えば、デジタル電子回路において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はそれらの組み合わせにおいて実装されてもよい。プログラムは装置、例えば、プログラマブルプロセッサによる実行のための機械可読記憶デバイスに有形に具現化された製品として実装されてもよい。方法のステップは入力データに対して動作し、出力を生成することによって、方法の機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行されてもよい。したがって、プロセッサはプログラム可能であり、データ記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受信し、それらにデータ及び命令を送信するように結合されてもよい。アプリケーションプログラムは、高レベルの手続き型又はオブジェクト指向プログラミング言語で、あるいは必要に応じてアセンブリ言語又は機械語で実装することができる。いずれの場合も、言語は、コンパイル言語又はインタープリタ言語であってもよい。プログラムはフルインストールプログラムであってもよいし、更新プログラムであってもよい。システム上にプログラムを適用すると、いずれにしても、この方法を実行するための命令が得られる。コンピュータプログラムは、代替的に、クラウドコンピューティング環境のサーバ上に記憶され、実行されてもよく、サーバは、1つ以上のクライアントとネットワークを介して通信している。そのような場合、処理装置は、プログラムに含まれる命令を実行し、それによって、方法をクラウドコンピューティング環境上で実行させる。

Claims (15)

  1. 工場を表す3Dモデルを生成するためのコンピュータ実装方法であって、
    前記工場のスキャンから点群を取得するステップと、
    点群を線形CADエクストルージョンにフィッティングするステップと
    を備えるコンピュータ実装方法。
  2. 前記点群を回転CADエクストルージョンにフィッティングするステップをさらに含み、
    前記各CADエクストルージョンは、前記点群のそれぞれの部分をフィッティングするステップを含み、
    前記フィッティングするステップが、前記それぞれの部分に対して
    線形タイプと回転タイプの中からCADエクストルージョンのタイプを選択するステップと
    それぞれのセグメントを、選択されたタイプのCADエクストルージョンにフィッティングするステップと
    を備える請求項1に記載のコンピュータ実装方法。
  3. 前記タイプを選択するステップが、
    前記セグメントを入力とし、線形タイプ及び回転タイプのうち、前記CADエクストルージョンのタイプを出力するように構成されたニューラルネットワークを適用するステップ、又は
    セグメントからの一組の候補エクストルージョン軸を決定し、一組の候補エクストルージョン軸の各候補エクストルージョン軸について、線形タイプ及び回転タイプのうちのCADエクストルージョンのためのタイプの1つ又は複数の識別を実行するステップ
    を備える請求項2に記載のコンピュータ実装方法。
  4. 前記一組の候補エクストルージョン軸の決定が、前記セグメントの主成分分析に基づく
    請求項3に記載のコンピュータ実装方法。
  5. 前記1つ又は複数の識別の実行が、
    第1の識別、及び
    第2の識別
    を含み、
    前記第1の識別が、
    候補エクストルージョン軸に沿った水平スライス体積を決定するステップであって、各水平スライス体積が、前記候補エクストルージョン軸に垂直な2つのそれぞれの平面によって区切られるステップ、
    水平スライス体積ごとに、水平スライス体積に含まれるセグメントの点を抽出するステップであって、それによって点の部分集合を形成するステップ、
    部分集合ごとに以下の処理を行うステップ
    前記候補エクストルージョン軸に直交する平面上の部分集合の点を投影するステップ、
    投影された点の輪郭を決定するステップ、及び
    決定された輪郭と円との類似性を定量化するステップ、
    定量化された類似性の平均がしきい値よりも高い場合に、回転タイプを決定するステップと、
    を有し、
    前記第2の識別が、
    前記候補エクストルージョン軸に沿った垂直スライス体積を決定するステップであって、各垂直スライス体積が、前記候補エクストルージョン軸に対して半径方向の2つのそれぞれの平面によって画定されるステップと、
    垂直スライス体積ごとに、前記垂直スライス体積に含まれるセグメントの点を抽出するステップであって、前記抽出された点が点の部分集合を形成するステップと、
    各部分集合について、前記候補エクストルージョン軸に対して半径方向の中間平面上に前記部分集合の点を投影し、前記中間平面は、前記部分集合の垂直スライス体積を画定する2つのそれぞれの平面の間を実質的に中心とするステップと、
    前記部分集合の各ペアについて、ペアの各部分集合の投影された点間の距離を計算するステップと、
    計算された距離の平均がしきい値よりも低い場合に回転タイプを決定するステップと
    を備える、請求項3又は4に記載の方法。
  6. 前記タイプの選択が、前記実施された識別の結果の組み合わせに基づいて、前記CADエクストルージョンのためのタイプを決定するステップをさらに含む
    請求項3乃至5のいずれか一項に記載の方法。
  7. 前記タイプの選択後に、前記選択されたタイプの前記CADエクストルージョンのためのプロファイルを決定するステップをさらに含む
    請求項3乃至6のいずれか一項に記載の方法。
  8. 前記プロファイルの決定が、
    前記候補エクストルージョン軸の組の中から選択されたタイプのCADエクストルージョンのためのエクストルージョン軸を選択するステップと、
    投影面上に前記セグメントの点を投影するステップと
    を有し、前記投影面が、
    前記選択されたタイプが線形タイプである場合、前記エクストルージョン軸に垂直な平面であり、又は
    前記選択されたタイプが回転タイプである場合、前記エクストルージョン軸に対して半径方向の平面であり、
    前記投影点の輪郭を決定するステップと
    を備える、請求項7に記載の方法。
  9. 前記決定された輪郭が、前記投影された点の部分集合を備え、前記プロファイルを決定するステップが、前記決定された輪郭の前記部分集合が備える投影された点の数の減少に基づいて、前記決定された輪郭を単純化するステップをさらに備える
    請求項8に記載の方法。
  10. 前記タイプの選択及び/又はプロファイルの決定が反復的に実行され、新た反復処理の各々が、
    前回のエクストルージョン軸の周りの円錐内の候補エクストルージョン軸の新しい組をサンプリングするステップであって、前記前回のエクストルージョン軸が、前回の反復で考慮された候補エクストルージョン軸の組の中にあるステップと、
    前記タイプの選択及び/又はプロファイルの決定を、前記候補エクストルージョンの新しい組で繰り返すステップと
    を有し、かつ/又は
    前記エクストルージョン軸の選択が、前記セグメントを入力として取り、エクストルージョン軸を出力するように構成されたニューラルネットワークを適用するステップを含み、前記ニューラルネットワークは、選択されたタイプに従って訓練される
    請求項1乃至9のいずれか一項に記載の方法。
  11. 前記点群を前記線形CADエクストルージョン及び/又は前記回転CADエクストルージョンと嵌合させた後に、
    前記線形CADエクストルージョン及び前記回転CADエクストルージョンに基づいて接続性グラフを計算するステップであって、前記接続性グラフが、前記線形CADエクストルージョン及び前記回転CADエクストルージョンを表すノードと、一対のノードが表す前記CADエクストルージョン対間の交差を表す一対のノードとを含むステップと、
    前記接続性グラフに基づいて、1つ又は複数の線形CADエクストルージョン及び回転CADエクストルージョンを接続するステップと
    をさらに含む、請求項1乃至10のいずれか一項に記載の方法。
  12. 前記生成された3Dモデルを使用して前記工場を再配置するステップをさらに含む
    請求項1乃至11のいずれか一項に記載の方法。
  13. 請求項1乃至12のいずれか一項に記載の方法を実行するための命令を含む、コンピュータプログラム。
  14. 請求項13に記載のコンピュータプログラムを記録したコンピュータ可読記憶媒体。
  15. メモリに結合されたプロセッサと、グラフィカルユーザインターフェースとを備え、前記メモリが、請求項1に記載のコンピュータプログラムを記録している、システム。
JP2023138141A 2022-09-01 2023-08-28 工場を表す3dモデルの生成 Pending JP2024035154A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP22306301.7A EP4332817A1 (en) 2022-09-01 2022-09-01 Generating 3d model representing factory
EP22306301 2022-09-01

Publications (1)

Publication Number Publication Date
JP2024035154A true JP2024035154A (ja) 2024-03-13

Family

ID=83360977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023138141A Pending JP2024035154A (ja) 2022-09-01 2023-08-28 工場を表す3dモデルの生成

Country Status (4)

Country Link
US (1) US20240078353A1 (ja)
EP (1) EP4332817A1 (ja)
JP (1) JP2024035154A (ja)
CN (1) CN117634281A (ja)

Also Published As

Publication number Publication date
EP4332817A1 (en) 2024-03-06
CN117634281A (zh) 2024-03-01
US20240078353A1 (en) 2024-03-07

Similar Documents

Publication Publication Date Title
JP7464387B2 (ja) 3dモデル化オブジェクト推定のための機械学習
JP7491685B2 (ja) ニューラルネットワークのセット
JP7164295B2 (ja) 3dプリンティングのための現実の物体の向き付け
US10140395B2 (en) Detecting collisions in a simulated machining of a workpiece represented by dexels
CN108228987B (zh) 副本选择
JP7473335B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
US11100710B2 (en) Extracting a feature tree from a mesh
JP7473336B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
US9171400B2 (en) Creating a surface from a plurality of 3D curves
JP6294072B2 (ja) 剛体運動によって変換される幾何学要素
JP2022036024A (ja) パラメータ化された3dモデルを出力するニューラルネットワーク
CN107818196B (zh) 机械部件的骨架的表示
JP2022036023A (ja) 3dモデルを出力する変分オートエンコーダ
US20230306162A1 (en) Sketch-processing
EP3675064B1 (en) Generation of a structured 3d model from a raw mesh
JP2024035154A (ja) 工場を表す3dモデルの生成
JP2021131852A (ja) 機械部品の構造シミュレーション
CN117313257A (zh) Cad特征树生成
JP2023133279A (ja) テッセレーション処理
JP2023160791A (ja) 画像からの3d再構成
JP2024003784A (ja) Cadフィーチャーツリー最適化

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231030