(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023071217
(43)【公開日】2023-05-23
(54)【発明の名称】物体の三次元形状認識装置および認識方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20230516BHJP
【FI】
G06T7/00 300F
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021183827
(22)【出願日】2021-11-11
(71)【出願人】
【識別番号】301069030
【氏名又は名称】株式会社トヨタ車体研究所
(74)【代理人】
【識別番号】100133271
【弁理士】
【氏名又は名称】東 和博
(72)【発明者】
【氏名】橋口 聖子
(72)【発明者】
【氏名】山口 葵
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA04
5L096FA67
5L096JA03
5L096JA11
5L096KA04
(57)【要約】
【課題】物体の三次元形状の認識率を向上させることのできる三次元形状認識装置と認識方法を提供する。
【解決手段】学習データに用いる複数の物体A~Dについて、三次元形状データd
a~d
dから得られる複数の断面形状をなす点pの集まりを、三次元形状データd
a~d
dに関連付けられた学習データ群Gd
aとして個々の物体A~Dごとに作成する。認識対象の物体Tの三次元形状データd
tから得られる複数の断面形状をなす点p
tの集まりを、認識データ群Nd
tとして作成する。作成された学習データ群Gd
aを用いる学習モデルMに対し、認識データ群Nd
tを入力し、認識対象の物品Tの三次元形状を認識させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
学習データに用いる複数の物体について、個々の物体の三次元形状データから同じ方向を向いて得られる複数の断面形状をなす点の集まりを、個々の物体の三次元形状データに関連付けられた学習データ群として、個々の物体の三次元形状ごとに作成する学習データ群作成手段と、
認識対象の物体について、当該物体の三次元形状データから、前記学習データ群を作成する際の条件と同一の条件として、同じ方向を向いて得られる複数の断面形状をなす点の集まりを、当該物体の三次元形状データに対応する認識データ群として作成する認識データ群作成手段と、
前記学習データ群作成手段により作成された学習データ群を用い、機械学習により、前記認識データ群作成手段により作成された認識データ群を入力として、入力された認識データ群に係る物体の三次元形状を認識させる学習モデルを作成する学習モデル作成手段と、
前記学習モデル作成手段により作成された学習モデルに対し、認識対象の物体について、当該物体について作成された認識データ群が入力されることにより、当該学習モデルにより得られる認識結果を判定する判定手段を備える、
ことを特徴とする、物体の三次元形状認識装置。
【請求項2】
前記学習データ群作成手段が、学習データに用いる複数の物体について、個々の物体の三次元形状のうち同じ方向を向く複数の断面形状をなす点の集まりを、3軸方向のうち1軸の回りに所定角度ずつ回転させて収集し、収集された複数の断面形状をなす点の集まりの集合体を、個々の物体の三次元形状に対応する学習データ群とすることを特徴とする、請求項1記載の物体の三次元形状認識装置。
【請求項3】
前記学習データ群作成手段が、学習データに用いる複数の物体について、個々の物体の三次元形状のうち同じ方向を向く複数の断面形状をなす点の集まりを、3軸方向のうち2軸の回りにそれぞれ所定角度ずつ回転させて収集し、収集された複数の断面形状をなす点の集まりの集合体を、個々の物体の三次元形状に対応する学習データ群とすることを特徴とする、請求項1に記載の物体の三次元形状認識装置。
【請求項4】
認識対象の物体の三次元形状データが3軸方向に対し所定の角度を向く姿勢に設定されており、前記物体の設定された姿勢の三次元形状データから、前記認識データ群作成手段が、前記学習データ群を作成する際の条件と同一の条件として、前記学習データ群を作成する場合と同じ方向を向いて得られる複数の断面形状をなす点の集まりを、当該物体の三次元形状データに対応する認識データ群として作成することを特徴とする、請求項1ないし請求項3のいずれか一項に記載の物体の三次元形状認識装置。
【請求項5】
前記学習モデルが、畳み込み層、プーリング層、識別層および出力層を含む畳み込みニューラルネットワークから構成されることを特徴とする、請求項1ないし請求項4のいずれか一項に記載の物体の三次元形状認識装置。
【請求項6】
コンピュータを用いて物体の三次元形状を認識させる形状認識方法において、
前記コンピュータが、
学習データに用いる複数の物体について、個々の物体の三次元形状データから同じ方向を向いて得られる複数の断面形状をなす点の集まりを、個々の物体の三次元形状データに関連付けられた学習データ群として、個々の物体の三次元形状ごとに作成する学習データ群作成ステップと、
認識対象の物体について、当該物体の三次元形状データから、前記学習データ群を作成する際の条件と同一の条件として、同じ方向を向いて得られる複数の断面形状をなす点の集まりを、当該物体の三次元形状データに対応する認識データ群として作成する認識データ群作成ステップと、
前記学習データ群作成ステップにより作成された学習データ群を用い、機械学習により、前記認識データ群作成ステップにより作成された認識データ群を入力として、入力された認識データ群に係る物体の三次元形状を認識させる学習モデルを作成する学習モデル作成ステップと、
前記学習モデル作成ステップにより作成された学習モデルに対し、認識対象の物体について、当該物体について作成された認識データ群を入力することにより、当該学習モデルが、入力された認識データ群に係る物体の三次元形状を認識する形状認識ステップと、
前記形状認識ステップにより得られた認識結果から、入力された認識データ群に係る物体の三次元形状を判定する判定ステップを、
それぞれ実行することを特徴とする、物体の三次元形状認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習を用いた物体の三次元形状の認識装置と認識方法に関する。
【背景技術】
【0002】
従来より、製品の設計、例えば自動車のボディ設計においては、三次元モデルを用いてデザインや設計を行なう三次元CADが広く用いられている。自動車のボディには多数の部品が取り付けられることから、設計者は、ボディと部品間の隙間、ボディと部品間、部品と部品間の干渉の有無等を詳しく検討しながら設計を進めなければならない。従来は、熟練設計者の経験やノウハウをデータベースにリストとして蓄積しておき、設計者は、三次元CADに基づき作成した三次元形状データから二次元の断面形状を作成し、作成した二次元の断面形状から、前記リストの内容と照らし合わせて、目視で検証しながら設計を進めているのが現状であった。
【0003】
しかしながら、熟練設計者の経験やノウハウをデータベース化するには膨大な作業と時間がかかり、熟練設計者の経験やノウハウの承継がないと、データベース化も途切れてしまう。この従来からの手法に対し、近年、製品の設計に人工知能(AI)を取り入れる例が増えつつある。例えば、特許文献1は、部品の画像認識に機械学習を取り入れたもので、特定の部品に係る撮像画像と三次元CAD画像データから機械学習モデルを構築し、構築した機械学習モデルを用いて他の部品の三次元CAD画像データから学習画像(他の部品の模倣画像)を生成し、得られた学習画像を用いて他の部品の撮像画像との間で画像認識を行わせるようにし、学習画像に用いる撮像画像が十分用意できない部品がある場合でも、画像認識を行えるようにした技術が記載されている。
【0004】
特許文献2は、部品の形状認識に機械学習を取り入れたもので、部品の形状データからメッシュデータを作成し、機械学習により、メッシュデータと寸法の相関を表す形状学習モデルを作成し、得られた形状学習モデルにメッシュデータを入力して、各部寸法、すなわち設計データへ反映させることが可能な寸法情報を、形状の特徴量としてメッシュデータから抽出できるようにした技術が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2019-191973号公報
【特許文献2】特開2020-4311号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
物体の形状を識別する技術は、一般的には、製品の製造工程においては、センサーやカメラで撮像された二次元の画像データから形状を認識し、基準形状の画像データと照合し、製品の形状判定(成形不良、凹凸、傷、バリ、歪み、変形など)を行っている。また、製品の設計段階においては、製品の三次元形状データから二次元データ(キャプチャー)を取得し、用意された同一方向(見る方向が同一となる方向)の二次元データと照合し、製品の形状を認識するようにしている。後者の場合で、製品に部品を組み込んだ状態で部品の形状を識別したい場合、多数の部品の形状を学習データとしてそれぞれの特徴とともに学習させ、製品に部品が組み込まれた状態の二次元データ(キャプチャー)を学習モデルに入力し、多数の部品の形状データのなかから、製品に組み込まれた部品の形状を識別させる試みも行われている。
【0007】
しかしながら、二次元データによる三次元形状の識別には限界があり、二次元データの方向が僅かでも異なる場合は正しく認識することができなかった。例えば、三次元CADを用いて設計する場合、車体に対しある角度の向きをもつ部品を配置する場合は、当該部品の三次元形状データの二次元画像データ(キャプチャー)を取得しても、当該部品の形状を認識することは難しい。特に自動車の部品は似た形状のものが多く、認識および判別が難しい。このため、三次元形状の認識率を向上させるには二次元データによらない別のアプローチが必要とされる。また、上記の特許文献1の技術は、三次元形状の二次元データ(キャプチャー)を用いた画像認識にとどまっており、上記の特許文献2の技術は、三次元形状から生成したメッシュデータを形状学習モデルに利用するにとどまっている。
【0008】
本発明は上記課題に鑑みてなされたもので、物体の三次元形状の認識率を向上させることのできる認識装置と認識方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明は、物体の三次元形状認識装置であって、
学習データに用いる複数の物体について、個々の物体の三次元形状データから同じ方向を向いて得られる複数の断面形状をなす点の集まりを、個々の物体の三次元形状データに関連付けられた学習データ群として、個々の物体の三次元形状ごとに作成する学習データ群作成手段と、
認識対象の物体について、当該物体の三次元形状データから、前記学習データ群を作成する際の条件と同一の条件として、同じ方向を向いて得られる複数の断面形状をなす点の集まりを、当該物体の三次元形状データに対応する認識データ群として作成する認識データ群作成手段と、
前記学習データ群作成手段により作成された学習データ群を用い、機械学習により、前記認識データ群作成手段により作成された認識データ群を入力として、入力された認識データ群に係る物体の三次元形状を認識させる学習モデルを作成する学習モデル作成手段と、
前記学習モデル作成手段により作成された学習モデルに対し、認識対象の物体について、当該物体について作成された認識データ群が入力されることにより、当該学習モデルにより得られる認識結果を判定する判定手段を備える、
ことを主要な特徴とする。
【0010】
本発明に係る物体の三次元形状認識装置は、
前記学習データ群作成手段が、学習データに用いる複数の物体について、個々の物体の三次元形状のうち同じ方向を向く複数の断面形状をなす点の集まりを、3軸方向のうち1軸の回りに所定角度ずつ回転させて収集し、収集された複数の断面形状をなす点の集まりの集合体を、個々の物体の三次元形状に対応する学習データ群とすることを第2の特徴とする。
【0011】
本発明に係る物体の三次元形状認識装置は、
前記学習データ群作成手段が、学習データに用いる複数の物体について、個々の物体の三次元形状のうち同じ方向を向く複数の断面形状をなす点の集まりを、3軸方向のうち2軸の回りにそれぞれ所定角度ずつ回転させて収集し、収集された複数の断面形状をなす点の集まりの集合体を、個々の物体の三次元形状に対応する学習データ群とすることを第3の特徴とする。
【0012】
本発明に係る物体の三次元形状認識装置は、
認識対象の物体の三次元形状データが3軸方向に対し所定の角度を向く姿勢に設定されており、前記物体の設定された姿勢の三次元形状データから、前記認識データ群作成手段が、前記学習データ群を作成する際の条件と同一の条件として、前記学習データ群を作成する場合と同じ方向を向いて得られる複数の断面形状をなす点の集まりを、当該物体の三次元形状データに対応する認識データ群として作成することを第4の特徴とする。
【0013】
本発明に係る物体の三次元形状認識装置は、
前記学習モデルが、畳み込み層、プーリング層、識別層および出力層を含む畳み込みニューラルネットワークから構成されることを第5の特徴とする。
【0014】
本発明は、コンピュータを用いた物体の三次元形状認識方法であって、
前記コンピュータが、
学習データに用いる複数の物体について、個々の物体の三次元形状データから同じ方向を向いて得られる複数の断面形状をなす点の集まりを、個々の物体の三次元形状データに関連付けられた学習データ群として、個々の物体の三次元形状ごとに作成する学習データ群作成ステップと、
認識対象の物体について、当該物体の三次元形状データから、前記学習データ群を作成する際の条件と同一の条件として、同じ方向を向いて得られる複数の断面形状をなす点の集まりを、当該物体の三次元形状データに対応する認識データ群として作成する認識データ群作成ステップと、
前記学習データ群作成ステップにより作成された学習データ群を用い、機械学習により、前記認識データ群作成ステップにより作成された認識データ群を入力として、入力された認識データ群に係る物体の三次元形状を認識させる学習モデルを作成する学習モデル作成ステップと、
前記学習モデル作成ステップにより作成された学習モデルに対し、認識対象の物体について、当該物体について作成された認識データ群を入力することにより、当該学習モデルが、入力された認識データ群に係る物体の三次元形状を認識する形状認識ステップと、
前記形状認識ステップにより得られた認識結果から、入力された認識データ群に係る物体の三次元形状を判定する判定ステップを、
それぞれ実行することを主要な特徴とする。
【発明の効果】
【0015】
以上説明したように、本発明によれば、物体の三次元形状データから、三次元データからなる学習データ群を作成して、これを学習モデルに用い、認識対象の物体の三次元形状データから三次元データからなる認識データ群を作成して、これを前記学習モデルに投入し、三次元データどうしを比較し照合させるようにしたから、認識対象の物体の三次元形状の認識率を大幅に向上させることができる。
【0016】
また、本発明によれば、物体の三次元形状データを軸周りに所定の角度ずつ回転させながら学習データ群を作成し、学習データ群の集合体を学習モデルに用いるようにしたから、ある角度の向きの姿勢で設計図面上に配置された物体の三次元形状を認識したい場合であっても、三次元形状の認識率を向上させることができ、もって設計品質の向上を図ることができるという効果を奏する。
【図面の簡単な説明】
【0017】
【
図1】本発明に係る三次元形状認識装置の構成を示す図、
【
図3】本発明に係る三次元形状認識方法の手順を示すフロー図、
【
図4】部品の三次元形状データから学習データ群を作成する手順を示す図、
【
図5】部品の三次元形状データの中間データから二次元断面形状を示す点の集まりを抽出する方法を示す図、
【
図6】部品の三次元形状データをX軸回りに45度ずつ回転させた姿勢を示す図、
【
図7】
図6に示す部品の三次元形状データをX軸回りに45度ずつ回転させた姿勢のうち、0度、45度、90度の回転姿勢を示す図、
【
図8】部品の三次元形状データをY軸回りに45度ずつ回転させた姿勢を示す図、
【
図9】
図8に示す部品の三次元形状データをY軸回りに45度ずつ回転させた姿勢のうち、0度、45度、90度の回転姿勢を示す図、
【
図10】
図6~
図9に示す部品とは異なる部品の三次元形状データの例を示す図、
【
図11】認識対象の部品で特定の向きの姿勢の三次元形状データを示す図、
【
図12】
図11に示す認識対象の部品の三次元形状データの中間データから二次元断面形状を示す点の集まりを抽出する方法を示す図、
【
図13】学習モデルによる識別結果および判定結果を示す図である。
【発明を実施するための最良の形態】
【0018】
本発明を実施するための一実施形態を、図面を参照しながら説明する。
図1は本発明に係る三次元形状認識装置の構成図を示している。
【0019】
三次元形状認識装置Sは、物体、例えば設計図面における自動車の車体に組み付けられる部品の三次元形状を、学習モデルを利用して認識させる装置であり、
図1に示すように、装置本体(コンピュータ)100を備えている。装置本体100は、入力装置200と、出力装置300と、データベース400に対し、通信回線101により接続されている。
【0020】
装置本体100は、データ読み込み部110と、学習データ群作成部120と、認識データ群作成部130と、学習モデル作成部140と、学習部150と、記憶部160と、形状判定部170と、出力部180と、制御部190を備えている。
【0021】
データ読み込み部110は、学習モデル用の学習データに用いる多数の部品の三次元形状データをデータベース400から記憶部160に読み込む。また、データベース読み込み部110は、学習後の学習モデルに認識させる部品の三次元形状データを入力装置200から記憶部160に読み込む。
【0022】
学習データ群作成部120は、記憶部160に読み込まれた多数の部品の三次元形状データから、個々の部品の三次元形状ごとに学習モデル用の学習データ群を作成する。具体的な作成方法は後述する。
【0023】
認識データ群作成部130は、記憶部160に読み込まれた識別対象の部品の三次元形状データから、学習モデルに入力する認識データ群を作成する。具体的な作成方法は後述する。
【0024】
学習モデル作成部140は、学習データ群作成部120により作成された個々の部品の三次元形状に係る学習データ群を学習データ(教師データ)とし、認識データ群作成部130により作成された認識対象の部品の三次元形状に係る認識データ群を入力データとして、認識対象の部品の三次元形状を認識させる学習モデルを作成する。具体的な作成方法は後述する。
【0025】
学習部150は、学習モデル作成部140により作成された学習モデルに対し、個々の部品の三次元形状に係る学習データ群を学習データ(教師データ)として入力し、個々の部品の三次元形状とともにその特徴を学習させる。
【0026】
形状判定部170は、認識対象の部品について、学習後の学習モデルにより得られた認識結果から、三次元形状を判定する。具体的な判定方法は後述する。出力部180は、学習モデルにより得られた認識結果および形状判定部170により得られた判定結果を出力する。出力された認識結果および判定結果は、出力装置300に出力表示させることができる。制御部190は、データ読み込み部110~出力部180の実行処理を制御する。
【0027】
データベース400は、プログラム保存部410と、三次元形状データ保存部420と、学習データ群保存部430と、認識データ群保存部440と、学習モデル保存部450と、認識判定結果保存部460を備えている。
【0028】
プログラム保存部410には、データ読み込み部110から出力部180を実行させるプログラムが保存されている。三次元形状データ保存部420には、既存の多数の部品、例えばボルト数百種類、クリップ数百種類、スクリュー数百種類、ナット数百種類、クランプ数百種類、ツメ部品数百種類の三次元形状データが保存されている。学習データ群保存部430には、上記多数の部品の数百種類に及ぶ三次元形状データから個々の部品ごとに作成された学習データ群が保存されている。
【0029】
認識データ群保存部440には、コンピュータ操作により作成された認識対象の部品の三次元形状データ(三次元形状データ保存部420に保存された部品の既存の三次元形状データを入力装置200に読み出して作成された三次元形状データも含む)から作成された認識データ群が保存されている。学習モデル保存部450には、作成された学習モデル(学習後は更新された学習モデル)Mが保存されている。
【0030】
認識判定結果保存部460には、認識対象の部品について、学習モデルMにより得られた認識結果(部品の名称と確率スコア)、認識結果に基づく判定結果(部品の名称)が保存される。なお、保存された認識結果および判定結果は、学習部150によって学習モデル保存部450に保存された学習モデルMにフィードバックされる。
【0031】
次に、上記三次元形状認識装置Sを用いて、部品の三次元形状認識を行う手順について、
図3のフロー図などを参照しながら説明する。なお、以下に具体的に記述する条件や設定値は、本発明の実施の形態を説明するための一例であって、本発明はこれに限定されない。
【0032】
(学習データ群の作成)
まず、コンピュータ操作者が、入力装置200からの操作により、データベース400からプログラムおよび既存の多数の部品、例えばボルト数百種類、クリップ数百種類、スクリュー数百種類、ナット数百種類、クランプ数百種類、ツメ部品数百種類、その他部品の三次元形状データを順次、装置本体100に読み込み、各部品の数百種類に及ぶ三次元形状データから、学習データ群作成部120が、部品(ボルト、クリップ、スクリュー、ナット、クランプ、ツメ部品、その他)ごとに学習データ群を作成する(ステップS1)。
【0033】
図4は、部品の三次元形状データ保存部420に保存された部品A(ボルト)の三次元形状データd
aから、学習データ群Gd
aを作成する手順を示している。この手順はプログラムの実行により自動的に行われる。最初に、指定された部品A(ボルト)のサーフェス形式からなる三次元形状データd
aが、データ読み込み部110により、部品の三次元形状データ保存部420から読み込まれ、記憶部160に保存される(
図4の1st Step)。
【0034】
次に、記憶部160に保存された部品Aの三次元形状データd
aが三次元の中間形状データ(wrl形式などのメッシュデータ)Md
aに変換される(
図4の1st Step)。次に、変換された三次元の中間形状データMd
aの周囲に三次元グリッド領域Grが形成される(
図4の2nd Step)。図示例はわかりやすいように三次元グリッド領域が三軸方向に6分割されているが、実際のグリッド領域はコンピュータ上で各方向に数十から数百に分割されている。
【0035】
次に、同じ方向を向いて得られる断面、すなわち、形成された三次元グリッド領域Grの1軸(図示例はZ軸)に垂直な複数の各断面csにおける中間形状データMd
aの点(断面cs上の中間形状データMd
aに内包される点で、グリッドの交点上に位置する点)pを抽出する(
図4の3rd Step)。
【0036】
図5は、各断面のうち、代表的な2つの断面cs1、cs2の抽出例を示している。
図5に示すように、2つの断面cs1、cs2において、部品Aにおける中間形状データMd
a(図示例では分りやすいように変換前の三次元形状データが描かれている)に内包される点で、グリッドの交点上に位置する点p(alive)が抽出され、部品Aにおける中間形状データMd
a(図示例では変換前の三次元形状データが描かれている)の周囲に位置する点で、グリッドの交点上に位置する点p’(dead)が除外される。なお、点pを囲む点線r1、r2は、部品Aの各断面における断面形状の輪郭を示している。
【0037】
各断面で抽出された点pの集まりは、部品Aの三次元形状データd
aの各断面形状をなす点の集まりとして把握され、各断面で抽出された点pの集まりが、部品Aの三次元形状に対応する学習データ群Gd
aとして作成される(
図4の4th Step)。図示例の学習データ群Gd
aは、分かりやすいようにモデル化されているが、実際は元の三次元形状に相似する点pの立体的な集合体であり、各点pは部品Aの三次元形状データに対応する座標(x、y、z)を属性として備えている。
【0038】
次に、作成された学習データ群Gdaが元の三次元形状データdaの部品Aと関連付けられる(ラベリングされる)。以上のようにして、部品Aと関連付けられた学習データ群Gdaが得られ、得られた学習データ群Gdaは学習データ群保存部430に保存される。
【0039】
学習データ群作成部120は、部品の三次元形状データ保存部420に、部品ごとに数百種類のサイズ(高さ・長さ・径など)が保存されているので、部品ごとにすべての種類について学習データ群を作成する。これにより、部品ごとに大量の学習データ群が用意される。
【0040】
学習データ群作成部120は、コンピュータ操作者からのプログラム条件指定により、部品Aの三次元形状データdaを三軸方向のうち他軸(Z軸に対するX軸またはY軸)の周りに所定角度ずつ回転させ、回転させた角度の姿勢における部品Aの学習データ群を作成し、これを部品Aの三次元形状データdaに対する学習データ群の集合体として用いることができる。
【0041】
図6は、Z軸方向を向く部品Aの三次元形状データd
aをX軸周りに、0度、45度、90度、135度、180度、225度、270度、315度と、45度ずつ反時計回りに回転させて学習データ群を収集する例である。
図6の例では、それぞれの角度の姿勢の部品Aの三次元形状データd
aから、メッシュ状の中間形状データを経由して、Z軸と直交する各断面の二次元断面形状をなす点の集まりからなる学習データ群を、上記した要領により、それぞれの角度の姿勢ごとに作成する。作成される複数(図示例は8つ)の学習データ群は、部品Aについての学習データ群の集合体として用いられ、学習データ群保存部430に保存される。
【0042】
図7(A)は、部品Aの三次元形状データd
aがZ軸方向を向く姿勢(軸線Lの方向がZ軸方向と一致する)、
図7(B)は、部品Aの三次元形状データd
aをX軸周りに45度回転させた姿勢、
図7(C)は、部品Aの三次元形状データd
aをX軸周りに90度回転させた姿勢を示している。
【0043】
図8は、Z軸方向を向く部品Aの三次元形状データd
aをY軸周りに、0度、45度、90度、135度、180度、225度、270度、315度と、45度ずつ回転させて学習データ群を収集する例である。
図8の例では、それぞれの角度の姿勢の部品Aの三次元形状データd
aから、中間形状データを経由して、Z軸と直交する各断面の二次元断面形状をなす点の集まりからなる学習データ群を、上記した要領により、それぞれの角度の姿勢ごとに作成する。作成される複数(図示例は8つ)の学習データ群は、部品Aについての学習データ群の集合体として用いられ、学習データ群保存部430に保存される。
【0044】
図9(A)は、部品Aの三次元形状データd
aがZ軸方向を向く姿勢(軸線Lの方向がZ軸方向と一致する)、
図9(B)は、部品Aの三次元形状データd
aをY軸周りに45度回転させた姿勢、
図9(C)は、部品Aの三次元形状データd
aをY軸周りに90度回転させた姿勢を示している。
【0045】
以上のようにして、部品Aについて数百種類の学習データ群、学習データ群の集合体を作成することにより、それらのデータを学習モデル用に単独または組合せて用いることができる。単独で用いると認識処理時間が短縮される。組合せて用いると、認識率が格段に向上する。X軸周り、Y軸周りに回転させる角度は任意に設定できる。45度、30度、15度、10度と断面形状を得る角度のピッチを小さくすると、学習データ群に含まれる断面形状をなす点の集まりの集合体の量が飛躍的に増えるので、三次元形状の認識率がより向上する。
【0046】
部品Aについて学習データ群(学習データ群の集合体を含む)の作成が終わったら、残りの学習データ用の部品(クリップ、スクリュー、ナット、クランプ、ツメ部品、その他)について、上記の要領に従い、それぞれの学習データ群(学習データ群の集合体を含む)を作成する。
【0047】
図10は、部品Aとは異なる三次元形状をもつ部品B、C、Dの学習データ群の作成例を示している。学習データ群作成部120は、上記の要領に従い、部品B(クリップ)の三次元データd
bから、Z軸を基準としてX軸回り(あるいはY軸回り)に所定角度回転させながら、各角度の姿勢ごとに学習データ群を作成する(図は0度、25度、45度の姿勢が描かれている)。また、部品C(スクリュー)の三次元データd
cから、Z軸を基準としてX軸回り(あるいはY軸回り)に所定角度回転させながら、各角度の姿勢ごとに学習データ群を作成する(図は0度、25度、45度、-45度の姿勢が描かれている)。さらに、部品D(ナット)の三次元データd
dから、Z軸を基準としてX軸回り(あるいはY軸回り)に所定角度回転させながら、各角度の姿勢ごとに学習データ群を作成する(図は0度、-45度の姿勢が描かれている)。このようにして作成された部品C~Dの学習データ群は、データベース400に保存される。
【0048】
(学習モデルの作成)
次に、コンピュータ操作者が、入力装置200からの操作により、記憶部160にプログラムを読み込み、学習モデルMを作成する(ステップS2)。作成される学習モデルMは、学習データ群保存部430に保存された各部品の三次元形状に対応する学習データ群を学習データ(教師データ)に用い、作成された認識データ群を入力として、学習モデル作成部140が、入力された認識データ群に係る三次元形状を認識可能な学習モデルとして作成される。ここでの学習モデルMは、一例として、
図2に示すように、入力層m1と畳み込み層m2とプーリング層m3と識別層m4と出力層m5を備えた畳み込みニュートラルネットワークが導入される。
【0049】
(学習モデルの学習)
次に、コンピュータ操作者が、入力装置200からの操作により、記憶部160にプログラムおよび学習データ群保存部430に保存された各部品の数百種類に及ぶ三次元形状の学習データ群を順次、読み込むと、学習部150が、作成した学習モデルMに対し、記憶部160から各部品の数百種類に及ぶ三次元形状の学習データ群を入力し、各部品の三次元形状とともにその特徴を学習させる(ステップS3)。
【0050】
学習データ群(
図4の4th Step参照)は、学習部150により、学習モデルMに入力する形式に変換される。ここで学習モデルMは、畳み込みニュートラルネットワークにより構成されるので、各学習データ群が、畳み込みニュートラルネットワーク用の数値配列(numpy配列)に変換される。
【0051】
図2を参照し、学習モデルMの入力層m1に各部品の三次元形状の学習データ群(変換後の数値配列)Gd
aが入力されると、学習モデルMは、畳み込み層m2とプーリング層m3を交互に繰り返し、各部品の数百種類に及ぶ学習データ群から各部品の三次元形状の特徴をそれぞれ抽出し、蓄積する。
【0052】
(認識データ群の作成)
次に、コンピュータ操作者が、入力装置200からの操作により、認識対象の部品を特定し、特定された部品の三次元形状データを読み込み、認識データ群作成部130が、認識対象の部品について認識データ群を作成する(ステップS4)。
【0053】
図11は、三次元(3D)の設計図面に含まれる認識対象の部品Tの三次元形状データd
tを示している。図示例の部品Tは設計図面に含まれる三次元形状の車体に対しある角度の向きをもって、例えば部品Tの軸線方向LがZ軸を基準(0度)としてX軸回りに所定の角度(図示例では反時計回りに50度)向く姿勢に配置されている。コンピュータ操作者が、所定の角度の姿勢を保持した状態の部品Tの三次元形状データd
tを特定し、プログラムを実行させると、所定の角度の姿勢を保持した状態で部品Tの三次元形状データd
tがデータ読み込み部110に読み込まれ、記憶部160に保存される。
【0054】
次に、記憶部160に保存された認識対象の部品Tの三次元形状データd
tが、
図4に示すステップのように、最初に三次元メッシュ形状の中間形状データ(wrl形式などのメッシュデータ)に変換され、次に、変換された三次元メッシュ形状の中間形状データの周囲に三次元グリッド領域Grが形成され、次に、学習データ群の作成と同じように、三次元グリッド領域Grの一軸(図示例はZ軸)に垂直な各断面における中間形状データの点(断面上の中間形状データに内包される点で、グリッドの交点上に位置する点)が抽出される。
【0055】
図11に示すグリッド領域Grは、わかりやすいように三軸方向に6分割されているが、実際のコンピュータ上のグリッド領域は各方向に数十から数百に分割されている。
【0056】
図12(A)(B)には、各断面のうち、代表的な断面cs1~cs4の抽出例が示されている。
図12(A)は、グリッド領域Grの上下端面に近い2つの断面cs1、cs2において、部品Tの三次元形状データd
tの中間形状データMd
t(図面はわかりやすいように三次元形状データが描かれている)に内包される点で、グリッドの交点上に位置する点p
t(alive)が抽出され、部品Tの三次元形状データd
tの中間形状データに内包されない点で、グリッドの交点上に位置する点p
t’(dead)が除外される様子を示している。
【0057】
図12(B)は、前記の2つの断面cs1、cs2の中間に位置する断面cs3、cs4おいて、部品Tの三次元形状データd
tの中間形状データMd
t(図面はわかりやすいように三次元形状データが描かれている)に内包される点で、グリッドの交点上に位置する点p
t(alive)が抽出され、部品Tの三次元形状データd
tの中間形状データに内包されない点で、グリッドの交点上に位置する点p
t’(dead)が除外される様子を示している。
【0058】
このようにして各断面で抽出された点ptの集まりは、部品Tの三次元形状データdtの各断面形状をなす点の集まりとして把握され、各断面で抽出された点ptの集まりが、所定の角度の姿勢を有する部品Tの三次元形状に対応する相似形の認識データ群Ndtとして作成される。各点ptは部品Tの三次元形状データに対応する座標(x、y、z)を属性として備えている。
【0059】
次に、作成された認識データ群Ndtが、元の所定の角度の姿勢を有する三次元形状データdtの部品Tと関連付けられる(ラベリングされる)。以上のようにして、所定の角度の姿勢を有する部品Tと関連付けられた認識データ群Ndtが得られ、得られた認識データ群Ndtは認識データ群保存部440に保存される。
【0060】
(認識データ群の入力)
次に、コンピュータ操作者が、入力装置200からの操作により、記憶部160にプログラムおよび部品Tに係る認識データ群Ndtを読み込むと、プログラムに従い、記憶部160から部品Tに係る認識データ群Ndtが学習モデルMの入力層m1に入力される(ステップS5)。なお、部品Tの認識データ群は、学習データ群と同様に、学習部150により、学習モデルMに入力する形式に変換される。
【0061】
(認識結果の出力)
図2を参照し、学習モデルMに対し、部品Tに係る認識データ群Nd
tが入力層m1に入力されると、畳み込み層m2とプーリング層m3が交互に繰り返され、部品Tに係る認識データ群Nd
tの特徴が抽出され、識別層m4が部品Tに係る認識データ群Nd
tから得られる特徴と各部品(A、B、C、D・・・)の学習データ群について学習された特徴を比較し、部品Tに係る認識データ群Nd
tから得られる特徴の識別を行い、出力層m5が認識結果を出力する(ステップS6)。
【0062】
認識結果は、部品Tの三次元形状データが、部品A、B、C、D・・・のうち、どの部品の三次元形状データと一致するか、その確率スコアとともに、出力される。例えば、部品Tに係る認識データ群Nd
tから得られる特徴量と部品Aに係る学習データ群Gd
aから得られる特徴量の共通度合が80%以上ある場合、部品Tの三次元形状データが部品Aの三次元形状データと一致する確率が80%以上、部品A以外の部品B、C、D・・・のそれぞれの三次元形状データと一致する確率が20%未満であると出力する。
図13に識別結果の出力例を示す。
【0063】
図示例の部品Tの場合、学習モデルMが、各部品A、B、C、D・・・(ボルト、クリップ、スクリュー、ナット、クランプ、ツメ部品、その他)について作成された大量の学習データ群のそれぞれの特徴と比較するが、各部品のうち、他の部品に比較して、部品Aの
図7(B)に示す姿勢(45度)から得られる学習データ群の特徴との共通度合が高くなるので、学習モデルMは、機械学習により、部品Tについて、上記のように認識を行い、認識結果を出力する。
【0064】
(形状の判定)
次に、プログラムに従い、学習モデルMの出力層m5から出力された認識結果のデータが、形状判定部170に送られ、形状判定部170により、部品Tの形状が判定される(ステップS7)。具体的には、形状判定の閾値を形状判定部170に設定しておき、認識結果により特定の部品の確率が閾値を超える場合は、部品Tの三次元形状は、閾値を超えた部品の三次元形状であると判定する。
【0065】
例えば、閾値として、学習モデルMの出力層m5においてある部品について算出される確率スコアを80%に設定しておき、部品Tの三次元形状データが部品A(ボルト)の三次元形状データと一致する確率が80%以上というスコアが算出された場合、形状判定部170は、部品Tの三次元形状データが部品Aの三次元形状データ、すなわち、部品Tはボルトであると判定する。
【0066】
形状判定部170によって得られた判定結果は、プログラムに従い、出力部180から出力装置300に送られ、また、認識判定結果保存部460に送られ、保存される。同様に、学習モデルMにより得られた認識結果は、プログラムに従い、出力部180から出力装置300に送られ、また、認識判定結果保存部460に送られ、保存される。
【0067】
コンピュータ操作者は、出力装置300に表示された認識結果および判定結果を参照し、3Dの設計図面に含まれる部品Tの三次元形状を目視に頼ることなく正確に判別し、部品Tに係る設計上の判断(車体と部品、部品と部品との接触や干渉の有無)に伴う時間を短縮することができる。また、3Dの設計図面に含まれる部品を正確に把握することで、設計図面の設計品質を向上させることができる。
【0068】
本実施形態によれば、学習データに用いる部品の三次元形状データから、三次元データからなる学習データ群を作成し、これを学習モデルMに用い、認識対象の部品Tの三次元形状データから、三次元データからなる認識データ群を作成し、これを前記学習モデルMに投入し、三次元データどうしを比較し、照合させるようにしたから、部品の三次元形状の認識率を大幅に向上させることができる。
【0069】
特に、自動車の設計の場合、自動車の車体に組み付ける部品の数が多く、しかも、部品は似た形状のものが多く、角度をもって配置されると形状を判別するのが難しいことから、本実施形態の三次元形状認識装置Sを用いることにより、従来に比べ、部品の三次元形状の認識率を各段に向上させることができる。
【0070】
本実施形態によれば、学習データに用いる部品の三次元形状データを軸周りに所定の角度ずつ回転させながら学習データ群を作成し、学習データ群の集合体を学習モデルMに用いるようにしたから、ある角度の向きの姿勢で設計図面上に配置された部品の三次元形状を認識したい場合であっても、三次元形状の認識率を向上させることができる。
【0071】
三軸に対し任意の方向(360度方向の任意の方向)を向いて配置される部品について、三次元形状データから同じ向きの二次元形状データ(キャプチャー画像)を取得し、取得した二次元形状データから形状認識する従来の装置に比べると、いずれの方向を向く姿勢の部品についても、当該部品の三次元形状を高い確率で認識し、判別することができる。
【0072】
本実施形態では、識別対象の部品の三次元形状データから、学習モデルに入力する認識データ群を作成した後に、学習モデルを作成するようにしたが、学習モデルを作成後、あるいは作成した学習モデルの学習後に、前記認識データ群を作成し、作成した認識データ群を学習モデルに投入するようにしてもよい。
【0073】
以上説明してきたように、本発明によると、学習モデルを利用して、コンピュータ上で作成した物体の三次元形状、特にある角度の向きをもって設計図面上に配置された物体の三次元形状について、認識率の大幅向上を図ることができ、これにより設計図面の品質の向上を図ることができる。
【産業上の利用可能性】
【0074】
本発明は、学習モデルを利用して、コンピュータ上で作成された物体の三次元形状を認識する装置として、また、同装置を用いた形状認識方法として利用可能である。
【符号の説明】
【0075】
100 装置本体(コンピュータ)
101 通信回線
110 データ読み込み部
120 学習データ群作成部
130 認識データ群作成部
140 学習モデル作成部
150 学習部
160 記憶部
170 形状判定部
180 出力部
190 制御部
200 入力装置
300 出力装置
400 データベース
410 プログラム保存部
420 三次元形状データ保存部
430 学習データ群保存部
440 認識データ群保存部
450 学習モデル保存部
460 認識判定結果保存部
da,db,dc,dd,dt 三次元形状データ
Gda 学習データ群
Ndt 認識データ群
A,B,C,D 部品(学習データ用)
T 部品(認識対象)
M 学習モデル
p,pt 部品の三次元形状データから得られる断面形状をなす点
S 三次元形状認識装置