(58)【調査した分野】(Int.Cl.,DB名)
前記領域分割部は、前記判定用領域の内部における前記曲率の平均値が所定の値以上となる線状の領域を境として、前記曲率分布データを前記複数の前記判定用領域に分ける請求項3に記載の情報処理装置。
【発明を実施するための形態】
【0012】
(第1の実施の形態)
以下図面を用いて、本発明の実施の形態の一態様を詳述する。なお本実施の形態の一態様における物体とは、複数の部品から構成されているものとする。
【0013】
図1、
図2及び
図3を用いて説明を行う。
図1は、第1の実施の形態による学習段階及び利用段階における情報処理装置1の構成を示すブロック図である。
図2は、第1の実施の形態による3次元データ15及び3次元データに基づく曲率の分布を示す曲率分布データ20である。
図3は、第1の実施の形態による学習済みモデルDB1を示す図である。
【0014】
図1に示すように、本実施の形態による情報処理装置1は、中央演算装置2、主記憶装置3及び補助記憶装置10を備える。中央演算装置2は、例えばCPU(Central Processing Unit)であって、主記憶装置3に記憶されたプログラムを呼び出すことで処理を実行する。主記憶装置3は、例えばRAM(Random Access Memory)であって、後述の取得部4、曲率分布データ生成部5、領域分割部6、学習済みモデル生成部7、状態判定部8及び出力部9といったプログラムを記憶する。
【0015】
補助記憶装置10は、例えばSSD(Solid State Drive)やHDD(Hard Disk Drive)であって、後述の学習済みモデルDB1などのデータベースを記憶する。なお取得部4、曲率分布データ生成部5、領域分割部6、学習済みモデル生成部7、状態判定部8及び出力部9は、公知の技術を利用してもよい。
【0016】
まず情報処理装置1が、
図1に示す利用段階のように例えば
図2に示す物体の3次元データ15を基に物体の状態を判定する場合について説明する。取得部4は、3Dスキャナなどの入力装置11によって物体がスキャンされることで生成される3次元データ15を入力装置11から取得する。なお本発明においては、3次元は立体を指し、2次元は平面を指すものとする。
【0017】
曲率分布データ生成部5は、3次元データ15の頂点を含む所定の範囲ごとの面の曲がり具合である曲率を算出して曲率の分布を示した2次元データである
図2に示すような曲率分布データ20を生成する。なお例えば所定の範囲とは予め設定された範囲とする。また例えば3次元データ15はメッシュデータであり、曲率分布データ生成部5はメッシュデータのそれぞれの頂点の曲率を例えば2つ以上のメッシュを指定することで算出する。
【0018】
領域分割部6は、曲率分布データ20を曲率に基づいて領域21,22といった複数の判定用領域に分ける。例えば領域分割部6は、判定用領域の内部における曲率の平均値が所定の値以上となる線状の領域24を境として、曲率分布データ20を複数の判定用領域に分ける。
【0019】
例えば所定の値とは、曲率分布データ生成部5が算出する曲率の最大値と最小値との範囲を第1の範囲から第4の範囲として4等分して、一番高い曲率となる範囲である第1の範囲内の値を指す。なお
図2においては、第1の範囲〜第4の範囲を網掛け種別1〜4で示している。
【0020】
状態判定部8は、例えば、それぞれの判定用領域の少なくとも1つに対する物体の状態を、
図3に示す学習済みモデルDB1を使用し、判定用領域を入力データとし、入力データに対する、しわや正常といった状態情報を出力することで、判定する。
【0021】
学習済みモデルDB1は、領域21,22といった学習用領域と、学習用領域に対する物体の状態の情報である状態情報と、を一対の学習データとして複数用いた学習により生成され、複数の学習用領域と複数の状態情報との間における連関性が記憶されている。状態情報とは、正常やしわといった情報とする。ここで学習とは例えば機械学習を指し、具体的にはCNN(畳み込みニューラルネットワーク)を用いるものとする。
【0022】
複数の学習用領域と複数の状態情報との間における連関性は、具体的には、
図3に丸で示すノードと矢印で示すエッジとエッジに設定される重み係数によってあらわされる畳み込みニューラルネットワークによって表すことができる。
【0023】
出力部9は、例えばディスプレイやスマートフォンといった提示装置12に状態情報を出力する。提示装置12は、出力部9から取得した状態情報を元に画像や音などで正常やしわといった状態情報の提示を行う。
【0024】
なお
図3に示すように学習済みモデルDB1は、例えば、学習用領域ごとに生成される。また
図3に示すように学習済みモデルDB1への領域21,22といった判定用領域ごとの入力は、例えば画素p1,p2といった画素ごととする。学習済みモデルDB1と同様に、学習モデルDB1’への学習用領域ごとの入力も画素ごととする。なお学習済みモデルDB1は、学習用領域ごとに生成されず、共通のものが1つ生成されてもよい。判定用領域や学習用領域への入力は、複数の画素ごととしてもよいものとする。
【0025】
次に情報処理装置1が、
図1に示す学習段階のように例えば
図2に示す物体の3次元データ15を基に物体の状態を判定するための学習済みモデルDB1を学習モデルDB1’から生成する場合について説明する。
【0026】
ここでは教師あり学習を例に説明する。取得部4は、3Dスキャナなどの入力装置11によって物体がスキャンされることで生成される3次元データ15を入力装置11から取得する。なお学習済みモデルDB1は予め用意されていてもよいものとする。
【0027】
また取得部4は、物体の状態の情報である物体情報をカメラなどの入力装置13から取得する。物体情報は、例えば3次元データ15の元となる物体を撮像した画像を情報処理装置1の外部の装置における学習によって画像処理などで判別した結果であって、位置情報と状態情報とする。位置情報とは例えば物体におけるどの位置かを示す情報であって、画像内の座標情報などとする。
【0028】
曲率分布データ生成部5は、3次元データ15の頂点を含む所定の範囲ごとの面の曲がり具合である曲率を算出して、曲率の分布を示した2次元データである
図2に示すような曲率分布データ20を生成する。例えば3次元データ15はメッシュデータであり、曲率分布データ生成部5はメッシュデータのそれぞれの頂点の曲率を算出する。
【0029】
領域分割部6は、曲率分布データ20を曲率に基づいて領域21,22といった複数の学習用領域に分ける。例えば領域分割部6は、学習用領域に対する曲率の平均値が所定の値以上となる線状の領域24を境として、複数の学習用領域に分ける。
【0030】
また領域分割部6は、物体情報が複数の学習用領域のうちのいずれかの学習用領域に割り当てられているかの割当を、位置情報を参照し特定する。学習済みモデル生成部7は、領域分割部6によって特定された割当を参照して学習用領域に対する状態情報を教師データとして学習を行う。
【0031】
学習済みモデル生成部7は、学習用領域と、状態情報と、を一対の学習データとして複数用い、学習モデルDB1’による学習により、複数の学習用領域と複数の状態情報との間における連関性が記憶された学習済みモデルDB1を生成する。生成された学習済みモデルDB1は、例えば補助記憶装置10に記憶される。
【0032】
次に
図4を用いて説明を行う。
図4は、第1の実施の形態によって判定される物体の状態の一例を示す図である。
図4では、例えば3次元データ15の領域16にしわ18が現れており、曲率分布データ20の領域21にしわ23が現れている。
【0033】
図4に示すように曲率分布データ20を判定用領域ごとに分けると、しわ23が目立ちやすくなる。本実施の形態において、例えば、情報処理装置1は判定用領域ごとに学習データを生成し、判定用領域ごとに学習済みモデルDB1を用いて処理を行う。
【0034】
情報処理装置1は、線状の領域24を境として複数の判定用領域に分けるため、縫い目などの線状の領域24としわや破れなどの異常箇所とを混同することがなく、物体の状態の判定に誤差が出にくい。このように情報処理装置1は、曲率が高くなり顕著な値となって出現する異常箇所であるしわや破れなどを、曲率は高いが正常箇所である縫い目などと混同することがない。なお縫い目は、曲率分布データ20では線状の領域24として出現する。
【0035】
次に
図5を用いて説明を行う。
図5は、第1の実施の形態による状態判定処理の処理手順を示すフローチャートである。入力装置11から3次元データ15が入力されると、取得部4は、入力された3次元データ15を取得する(S1)。
【0036】
次に曲率分布データ生成部5は、3次元データ15の頂点を含む所定の範囲ごとの面の曲がり具合である曲率を算出して曲率の分布を示した2次元データである曲率分布データ20を生成する(S2)。
【0037】
領域分割部6は、曲率分布データ20を曲率に基づいて領域21,22といった複数の判定用領域に分ける(S3)。状態判定部8は、例えば、それぞれの判定用領域の少なくとも1つに対する物体の状態を、判定用領域ごとの学習済みモデルDB1を使用し、判定用領域を入力データとし、入力データに対する、しわや正常といった状態情報を出力することで、判定する(S4,S5)。
【0038】
出力部9は、状態判定部8が判定した判定用領域に対する物体の状態に基づいて、判定用領域に対する物体の状態を提示装置12に出力し(S6)、状態判定処理は終了する。提示装置12は、判定用領域に対する正常やしわといった状態情報を提示する。
【0039】
次に
図6を用いて説明を行う。
図6は、第1の実施の形態による学習済みモデル生成処理の処理手順を示すフローチャートである。入力装置11から3次元データ15が入力され、かつ入力装置13から物体情報が入力されると、取得部4は、入力された3次元データ15及び物体情報を取得する(S11)。
【0040】
曲率分布データ生成部5は、3次元データ15の頂点を含む所定の範囲ごとの面の曲がり具合である曲率を算出して曲率の分布を示した2次元データである
図2に示すような曲率分布データ20を生成する(S12)。
【0041】
次に領域分割部6は、曲率分布データ20を曲率に基づいて領域21,22といった複数の学習用領域に分ける(S13)。次に領域分割部6は、物体情報が複数の学習用領域のうちのいずれかの学習用領域に割り当てられているかの割当を、位置情報を参照し特定する。学習済みモデル生成部7は、領域分割部6によって特定された割当を参照し学習用領域に対する物体の状態を示す状態情報を教師データとして学習を行う(S14)。
【0042】
学習済みモデル生成部7は、学習用領域と、状態情報と、を一対の学習データとして複数用いた学習により、学習用領域と状態情報との間における連関性が記憶された学習済みモデルDB1を学習モデルDB1’から例えば学習用領域ごとに生成し(S15,S16)、学習済みモデル生成処理は終了する。学習済みモデル生成処理では、1つの物体の3次元データから物体に含まれる複数の学習用領域のそれぞれの学習済みモデルDB1を生成する。
【0043】
以上のように、本実施の形態における情報処理装置1は、学習段階においても利用段階においても、3次元の情報である3次元データ15を2次元の情報である曲率分布データ20に変換して、さらに曲率分布データ20を複数の学習用領域又は複数の判定用領域に分けて学習済みモデルDB1に関する処理を行う。
【0044】
このため、本実施の形態における情報処理装置1は、学習段階においても利用段階においても、学習済みモデルDB1の入力側の情報が2次元であるため学習済みモデルDB1の入力側の情報が3次元の場合と比較し、処理時間を短くすることができる。
【0045】
また本実施の形態における情報処理装置1は、線状の領域24を境として複数の学習用領域又は複数の判定用領域に分けるため、縫い目などの線状の領域24である正常箇所としわや破れなどの異常箇所とを混同することがなく、物体の状態の判定に誤差が出にくい。
【0046】
また本実施の形態における情報処理装置1は、メッシュデータの頂点の曲率を計算することで、曲率に他の計算を用いる場合と比較して処理時間を短くすることができる。また本実施の形態における情報処理装置1は、物体の状態の判定の結果を出力する出力部を備えるため、情報処理装置1の使用者に情報処理の結果を知らせることができる。
【0047】
なお本実施の形態においては、取得部4、曲率分布データ生成部5、領域分割部6、学習済みモデル生成部7、状態判定部8及び出力部9は、プログラムとしたがこれに限らず論理回路でもよい。また取得部4、曲率分布データ生成部5、領域分割部6、学習済みモデル生成部7、状態判定部8、出力部9及び学習済みモデルDB1は1つの装置に実装されておらず、ネットワークで接続された複数の装置に分散して実装されていてもよい。
【0048】
なお本実施の形態においては、利用段階において情報処理装置1は、物体の状態を判定するとしたが、これに限らない。例えば、利用段階において情報処理装置1は、物体の状態の判定の結果が正常でなかった場合に、異常を検出するようにしてもよい。
【0049】
なお本実施の形態においては、学習段階において情報処理装置1は、教師あり学習をするとしたが、これに限らず教師なし学習をしてもよい。また学習済みモデルDB1は、CNNによって構築されずに、CNN以外の深層学習手段や、SVM(Support Vector machine)などによって構築されてもよい。
【0050】
(第2の実施の形態)
第1の実施の形態においては、例えば利用段階において領域分割部6が曲率分布データ20を曲率に基づいて領域21,22といった複数の判定用領域に分け、それぞれの判定用領域の少なくとも1つに対する物体の状態を、判定用領域ごとの学習済みモデルDB1を使用することで判定する場合について説明したが本発明はこれに限らない。本実施の形態においては、曲率分布データ20を複数の判定用領域に分けずにそのまま用いて、物体の状態が判定される。本実施の形態においては、学習段階においても同様に複数の学習用領域に分けずに処理が行われる。
【0051】
図7及び
図8を用いて説明を行う。
図7は、第2の実施の形態による学習段階及び利用段階における情報処理装置30の構成を示すブロック図である。
図8は、第2の実施の形態による学習済みモデルDB2を示す図である。
【0052】
図7に示すように本実施の形態による情報処理装置30は、領域分割部6を備えていない点を除いては第1の実施の形態による情報処理装置1と同様である。情報処理装置1との差異点に着目して説明を行う。まず情報処理装置30が
図7に示す利用段階のように例えば
図2に示す物体の3次元データ15を基に物体の状態を判定する場合について説明する。
【0053】
情報処理装置30は、3次元データ15を取得する取得部4と、3次元データの頂点を含む所定の範囲ごとの面の曲がり具合である曲率を算出して、曲率の分布を示した2次元データである曲率分布データ20(判定用曲率分布データ)を生成する曲率分布データ生成部5と、判定用曲率分布データにおける物体の状態を、学習済みモデルDB2を使用することで判定する状態判定部8と、を備える。
【0054】
学習済みモデルDB2には、曲率分布データ20(学習用曲率分布データ)と、物体情報と、を一対の学習データとして複数用いた学習により生成された複数の学習用曲率分布データと複数の物体情報との間における連関性が記憶されている。また物体は予め部分ごとにタグ付けされており、物体の状態が正常でない場合は、正常でない部分はタグによって示される。
【0055】
なお
図8に示すように学習済みモデルDB2は、曲率分布データ20(学習用曲率分布データ)に対して生成される。また
図8に示すように学習済みモデルDB2への曲率分布データ20(判定用曲率分布データ)の入力は、例えば画素p1,p2といった画素ごととする。学習済みモデルDB2と同様に、学習モデルDB2’への曲率分布データ20(学習用曲率分布データ)の入力も例えば画素ごととする。
【0056】
次に情報処理装置30が、
図7に示す学習段階のように例えば
図2に示す物体の3次元データ15を基に物体情報を判定するための学習済みモデルDB2を学習モデルDB2’から生成する場合について説明する。ここでは教師あり学習を例に説明する。
【0057】
取得部4は、3Dスキャナなどの入力装置11によって物体がスキャンされることで生成される3次元データ15を入力装置11から取得する。なお学習済みモデルDB2は予め用意されていてもよいものとする。
【0058】
また取得部4は、3次元データ15を入力装置11から取得する際に、例えば物体の部分ごとに付されたタグであるタグ情報を取得してもよい。物体の部分は例えば物体の部品を指す。例えばタグは、物体の部品ごとに付される。
図2に示す3次元データ15において符号A〜Lは、物体を構成するそれぞれの部品に付されたタグの一例である。
【0059】
学習済みモデル生成部7は、曲率分布データ20(学習用曲率分布データ)と、物体情報と、を一対の学習データとして複数用い、学習モデルDB2’による学習により、複数の曲率分布データ20(学習用曲率分布データ)と複数の物体情報との間における連関性が記憶された学習済みモデルDB2を生成する。
【0060】
生成された学習済みモデルDB2は、例えば補助記憶装置10に記憶される。なお物体の状態が異常の場合は、物体情報には、しわややぶれといった異常の種類が状態情報として含まれ、異常のある部品を示す符号A〜Lなどのタグ情報などが位置情報として含まれる。
【0061】
次に
図9を用いて説明を行う。
図9は、第2の実施の形態による状態判定処理の処理手順を示すフローチャートである。入力装置11から3次元データ15が入力されると、取得部4は、入力された3次元データ15を取得する(S21)。取得部4は、3次元データ15を入力装置11から取得する際に、例えば物体の部分ごとに付されたタグ情報を取得してもよい。
【0062】
次に曲率分布データ生成部5は、3次元データ15の頂点を含む所定の範囲ごとの面の曲がり具合である曲率を算出して曲率の分布を示した2次元データである曲率分布データ20(判定用曲率分布データ)を生成する(S22)。状態判定部8は、物体の状態を、学習済みモデルDB2を使用し、判定用曲率分布データを入力データとし、入力データに対する、物体情報を出力することで、判定する(S23)。
【0063】
出力部9は、状態判定部8が判定した物体の状態に基づいて、物体の状態を提示装置12に出力し(S24)、状態判定処理は終了する。提示装置12は、正常やしわ(部品A)ややぶれ(部品B)といった物体情報を提示する。
【0064】
例えば出力部9は、物体情報から状態情報としてしわや破れといった異常を抽出した場合、物体情報からタグ情報を抽出する。提示装置12は、出力部9が抽出した状態情報及びタグ情報を表示する。
【0065】
次に
図10を用いて説明を行う。
図10は、第2の実施の形態による学習済みモデル生成処理の処理手順を示すフローチャートである。入力装置11から3次元データ15が入力され、かつ入力装置13から正常やしわ(部品A)ややぶれ(部品B)といった物体情報が入力されると、取得部4は、入力された3次元データ15及び物体情報を取得する(S31,S32)。
【0066】
曲率分布データ生成部5は、3次元データ15の頂点を含む所定の範囲ごとの面の曲がり具合である曲率を算出して曲率の分布を示した2次元データである
図2に示すような曲率分布データ20(学習用曲率分布データ)を生成する(S33)。
【0067】
学習済みモデル生成部7は、曲率分布データ20(学習用曲率分布データ)と、物体情報と、を一対の学習データとして複数用いた学習により、曲率分布データ20(学習用曲率分布データ)と物体情報との間における連関性が記憶された学習済みモデルDB2を学習モデルDB2’から生成し(S34)、学習済みモデル生成処理は終了する。
【0068】
以上のように、本実施の形態における情報処理装置30は、3次元の情報である3次元データ15を2次元の情報である曲率分布データ20に変換して学習済みモデルDB2に関する処理を行う。
【0069】
このため、本実施の形態における情報処理装置30は、学習段階においても利用段階においても、学習済みモデルDB2の入力側の情報が2次元であるため学習済みモデルDB2の入力側の情報が3次元の場合と比較し、第1の実施の形態と同様に、処理時間を短くすることができる。
【0070】
また本実施の形態における情報処理装置30は、第1の実施の形態と同様に、メッシュデータの頂点の曲率を計算することで、曲率に他の計算を用いる場合と比較して処理時間を短くすることができる。また本実施の形態における情報処理装置30は、物体の状態の判定の結果を出力する出力部を備えるため、情報処理装置30の使用者に情報処理の結果を知らせることができる。
【0071】
また本実施の形態における情報処理装置30は、曲率分布データ20(判定用曲率分布データ)を複数の領域に分けずにそのまま用いて、物体の状態を判定するため、第1の実施の形態と比較して処理が単純になる。
【0072】
また本実施の形態における情報処理装置30において用いられる物体は、予め部分ごとにタグ付けされているため、正常でない場合に正常でない部分を特定されることができる。
【0073】
なお本実施の形態においては、取得部4、曲率分布データ生成部5、領域分割部6、学習済みモデル生成部7、状態判定部8、出力部9及び学習済みモデルDB2は1つの装置に実装されておらず、ネットワークで接続された複数の装置に分散して実装されていてもよい。
【0074】
なお本実施の形態においては、利用段階において情報処理装置30は、物体の状態を判定するとしたが、これに限らない。例えば、利用段階において情報処理装置30は、物体の状態の判定の結果が正常でなかった場合に、異常を検出するようにしてもよい。
【0075】
なお本実施の形態においては、学習段階において情報処理装置30は、教師あり学習をするとしたが、これに限らず教師なし学習をしてもよい。また学習済みモデルDB2は、CNNによって構築されずに、CNN以外の深層学習手段や、SVM(Support Vector machine)などによって構築されてもよい。
【0076】
(その他の実施の形態)
第1の実施の形態及び第2の実施の形態においては、3次元データを2次元データに変換する際に曲率を用いるようにしたが、本実施の形態はこれに限らない。例えば3次元データを2次元データに変換する際に光反射率や熱反射率を利用するようにしてもよい。
【0077】
また例えば、3次元データをプリントスクリーンなどによって撮像して2次元データに変換してもよい。3次元データを撮像して2次元データに変換する場合、例えば
図7を用いて説明をすると、曲率分布データ生成部5の代わりに、図示せぬ2次元データ生成部が、3次元データを2次元データに変換した1組の2次元データを生成する。
【0078】
1組の2次元データとは、3次元データを正面からとった正面図、背面からとった背面図、上からとった上面図、下からとった下面図及び両側面から撮像した2つの側面図の6つの組をいう。
【0079】
3次元データを撮像して1組の2次元データに変換する場合、例えば
図7を用いて説明をすると、曲率分布データ生成部5の代わりに、図示せぬ2次元データ生成部が、3次元データを2次元データに変換した1組の2次元データを生成する。
【0080】
3次元データを撮像して1組の2次元データに変換する場合、学習済みモデルDB2は、1組の2次元データと、物体情報と、を一対の学習データとして複数用いた学習により生成された複数の学習用の1組の2次元データと複数の物体情報との間における連関性が記録されている。学習済みモデルDB2は、1組の2次元データに対して生成される。例えば正面図、背面図、上面図、下面図及び側面図の入力は画素ごととする。
【0081】
以上のように本実施の形態においては、3次元データから2次元データの変換を撮像などの一般的な方法とすることで、3次元データから2次元データへの変換にかかる時間を短くすることが可能となる。なお本実施の形態においては、3次元データを変換したデータを1組の2次元データとしたが、撮像方法を工夫する場合などは、2次元データは1つでもよいものとする。
【解決手段】物体の3次元データを基に物体の状態を判定する情報処理装置であって、3次元データを取得する取得部と、3次元データの頂点を含む所定の範囲ごとの面の曲がり具合である曲率を算出して、曲率の分布を示した2次元データである曲率分布データを生成する曲率分布データ生成部と、曲率分布データを曲率に基づいて複数の判定用領域に分ける領域分割部と、それぞれの判定用領域の少なくとも1つに対する物体の状態を、学習済みモデルを使用することで判定する状態判定部と、を備え、学習済みモデルには、学習用領域と、学習用領域に対する物体の状態の情報である状態情報と、を一対の学習データとして複数用いた学習により生成された複数の学習用領域と複数の状態情報との間における連関性が記憶されている、情報処理装置を提供する。