(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-01
(45)【発行日】2024-08-09
(54)【発明の名称】加工面判定装置、加工面判定プログラム、加工面判定方法、加工システム、推論装置、及び、機械学習装置
(51)【国際特許分類】
G01N 21/88 20060101AFI20240802BHJP
G06T 7/00 20170101ALI20240802BHJP
B23B 27/14 20060101ALI20240802BHJP
B23B 27/20 20060101ALI20240802BHJP
B24B 49/12 20060101ALI20240802BHJP
【FI】
G01N21/88 J
G06T7/00 350B
B23B27/14 Z
B23B27/20
B24B49/12
G06T7/00 610Z
(21)【出願番号】P 2021009520
(22)【出願日】2021-01-25
【審査請求日】2023-09-06
(73)【特許権者】
【識別番号】000000239
【氏名又は名称】株式会社荏原製作所
(74)【代理人】
【識別番号】100214248
【氏名又は名称】青山 純
(74)【代理人】
【識別番号】100214260
【氏名又は名称】相羽 昌孝
(72)【発明者】
【氏名】内村 知行
(72)【発明者】
【氏名】坂井 智哉
(72)【発明者】
【氏名】織田 健太郎
【審査官】小野寺 麻美子
(56)【参考文献】
【文献】特開2010-139317(JP,A)
【文献】国際公開第2020/071234(WO,A1)
【文献】特開2016-017838(JP,A)
【文献】米国特許出願公開第2019/0362480(US,A1)
【文献】中国特許出願公開第111783886(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01N 21/84 - G01N 21/958
G06N 3/00 - G06N 3/126
G06N 7/00 - G06N 99/00
G06T 7/00 - G06T 7/90
B23B 27/00 - B23B 29/34
B24B 41/00 - B24B 51/00
(57)【特許請求の範囲】
【請求項1】
判定対象物の加工面が撮像された判定用画像に基づいて、前記加工面の状態を判定する加工面判定装置であって、
前記判定用画像が有する判定用画像領域を分割した複数の小画像領域について、前記加工面の状態を複数の加工状態のいずれかに分類したときの分類結果を前記小画像領域単位で取得する分類結果取得部と、
前記分類結果取得部により取得された複数の前記小画像領域に対する前記分類結果を、複数の前記小画像領域に相当する複数の学習用画像領域に対する前記分類結果と当該分類結果に基づいて複数の前記学習用画像領域内の前記加工面の状態を判定したときの判定結果との相関関係を機械学習させた判定用学習モデルに入力することにより、前記判定用画像に対する前記判定結果を推論する判定結果推論部と、を備える、
加工面判定装置。
【請求項2】
前記分類結果取得部は、
前記判定用画像領域を有する前記判定用画像を取得する画像取得部と、
前記判定用画像領域を複数の前記小画像領域に分割することで前記判定用画像から複数の前記小画像を生成する小画像生成部と、
複数の前記小画像を、前記学習用画像領域を有する学習用画像と当該学習用画像に含まれる前記加工面の状態を複数の前記加工状態のいずれかに分類したときの前記分類結果との相関関係を機械学習させた第1の分類用学習モデルに前記小画像領域単位で入力することにより、複数の前記小画像領域に対する前記分類結果を推論する第1の分類結果推論部と、を備える、
請求項1に記載の加工面判定装置。
【請求項3】
前記分類結果取得部は、
前記判定用画像領域を有する前記判定用画像を取得する画像取得部と、
前記判定用画像領域を複数の前記小画像領域に分割することで前記判定用画像から複数の前記小画像を生成する小画像生成部と、
複数の前記小画像の各々を構成する複数の画素領域について、前記画素領域内の画素値に基づいて前記画素領域に対する前記分類結果を示す画素分類結果を前記画素領域単位
で取得する画素分類結果取得部と、
複数の前記画素領域に対する前記画素分類結果を、複数の前記画素領域に相当する複数の学習用画素領域に対する前記画素分類結果と当該画素分類結果に基づいて複数の前記学習用画素領域内の前記加工面の状態を複数の前記加工状態のいずれかに分類したときの前記分類結果との相関関係を機械学習させた第2の分類用学習モデルに前記小画像領域単位で入力することにより、複数の前記小画像領域に対する前記分類結果を推論する第2の分類結果推論部と、を備える、
請求項1に記載の加工面判定装置。
【請求項4】
前記分類結果取得部は、
複数の前記加工面が撮像された前記判定用画像が有する前記加工面毎の前記判定用画像領域をそれぞれ分割した複数の前記小画像領域について、前記分類結果を前記小画像領域単位で取得し、
前記判定結果推論部は、
複数の前記小画像領域に対する前記分類結果を、前記判定用学習モデルに前記加工面毎に入力することにより、前記加工面毎の前記判定用画像に対する前記判定結果を推論する、
請求項1乃至請求項3のいずれか一項に記載の加工面判定装置。
【請求項5】
前記分類結果取得部は、
複数の前記小画像領域の各々について、前記小画像領域内の前記加工面の状態を少なくとも良及び不良を含む複数の前記加工状態のいずれかに分類するか、前記小画像領域内に前記加工面のエッジ又は前記加工面以外の背景が存在することを理由に判定対象外に分類したときの前記分類結果を前記小画像領域単位で取得する、
請求項1乃至請求項4のいずれか一項に記載の加工面判定装置。
【請求項6】
前記判定結果推論部は、
前記判定結果として、
前記加工面を加工したときと同一の加工工程を再度行う再加工の要否、
前記加工面を加工したときと異なる加工工程を行う別加工の要否、
前記加工面に対して作業者が仕上げ加工を行う仕上げ加工の要否、及び、
前記加工面のうち前記再加工、前記別加工又は前記仕上げ加工を行う対象とする加工範囲、
の少なくとも1つを推論する、
請求項1乃至請求項5のいずれか一項に記載の加工面判定装置。
【請求項7】
前記加工面は、研磨工程、研削工程、切削工程又は鋳造工程により前記判定対象物が加工されたときの当該判定対象物の表面である、
請求項1乃至請求項6のいずれか一項に記載の加工面判定装置。
【請求項8】
前記判定対象物は、流体機械又は前記流体機械を構成する流体部品である、
請求項1乃至請求項7のいずれか一項に記載の加工面判定装置。
【請求項9】
コンピュータを、請求項1乃至請求項8のいずれか一項に記載の加工面判定装置として機能させる、
加工面判定プログラム。
【請求項10】
判定対象物の加工面が撮像された判定用画像に基づいて、前記加工面の状態を判定する加工面判定方法であって、
前記判定用画像が有する判定用画像領域を分割した複数の小画像領域について、前記加
工面の状態を複数の加工状態のいずれかに分類したときの分類結果を前記小画像領域単位で取得する分類結果取得工程と、
前記分類結果取得工程により取得された複数の前記小画像領域に対する前記分類結果を、複数の前記小画像領域に相当する複数の学習用画像領域に対する前記分類結果と当該分類結果に基づいて複数の前記学習用画像領域内の前記加工面の状態を判定したときの判定結果との相関関係を機械学習させた判定用学習モデルに入力することにより、前記判定用画像に対する前記判定結果を推論する判定結果推論工程と、を備える、
加工面判定方法。
【請求項11】
請求項1乃至請求項8のいずれか一項に記載の加工面判定装置と、
前記判定対象物を加工する加工部と、
前記判定対象物の加工面を撮像する撮像部と、
前記加工面判定装置、前記加工部及び前記撮像部を制御する制御部と、を備える、
加工システム。
【請求項12】
判定対象物の加工面が撮像された判定用画像に基づいて前記加工面の状態を判定する加工面判定装置にて用いられる判定用学習モデルを生成する機械学習装置であって、
前記判定用画像が有する判定用画像領域を分割した複数の小画像領域に相当する複数の学習用画像領域の各々について前記加工面の状態を複数の加工状態のいずれかに分類したときの分類結果を入力データとし、当該分類結果に基づいて複数の前記学習用画像領域内の前記加工面の状態を判定したときの判定結果を出力データとしてそれぞれ含む学習用データを複数組記憶する学習用データ記憶部と、
前記学習用データが複数組入力されることで、前記入力データと前記出力データとの相関関係を推論する前記判定用学習モデルを学習する機械学習部と、
前記機械学習部により学習された前記判定用学習モデルを記憶する学習済みモデル記憶部と、を備える、
機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、加工面判定装置、加工面判定プログラム、加工面判定方法、加工システム、推論装置、及び、機械学習装置に関する。
【背景技術】
【0002】
近年、各種の製品を製造する製造過程において、作業者が目視にて製品の品質を判定することに代えて、各種のセンサを用いて製品の品質を自動的に判定する装置の開発が進められている。例えば、特許文献1には、検査対象物である羽根車を撮像した撮像画像に対して二値化処理等を行うことにより、羽根車の外形形状を検査する検査装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
製品の品質を判定する際の指標の1つとして、例えば、研磨工程、研削工程、切削工程
又は鋳造工程等の各種の加工工程が実施された後の加工面の状態が挙げられる。この加工面の状態には、例えば、粗さ、凹凸、うねり、そり、模様、筋目、波打ち等の様々な判定項目が含まれる。
【0005】
しかしながら、特許文献1に開示された検査装置は、検査対象物の外形形状を検査するものであるが、検査対象物における加工面の状態を判定することはできない。また、作業員が、加工面の状態を判定するものとした場合、作業者の熟練度や経験(暗黙知を含む)に依存するため、作業者の個人差が大きくなり、製品の品質を担保することが困難である。
【0006】
本発明は、上述した課題に鑑み、判定対象物が有する加工面の状態を自動的に判定することを可能とする加工面判定装置、加工面判定プログラム、加工面判定方法、加工システム、推論装置、及び、機械学習装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の一態様に係る加工面判定装置は、
判定対象物の加工面が撮像された判定用画像に基づいて、前記加工面の状態を判定する加工面判定装置であって、
前記判定用画像が有する判定用画像領域を分割した複数の小画像領域について、前記加工面の状態を複数の加工状態のいずれかに分類したときの分類結果を前記小画像領域単位で取得する分類結果取得部と、
複数の前記小画像領域に対する前記分類結果を、複数の前記小画像領域に相当する複数の学習用画像領域に対する前記分類結果と当該分類結果に基づいて複数の前記学習用画像領域内の前記加工面の状態を判定したときの判定結果との相関関係を機械学習させた判定用学習モデルに入力することにより、前記判定用画像に対する前記判定結果を推論する判定結果推論部と、を備える。
【発明の効果】
【0008】
本発明に係る加工面判定装置によれば、判定結果推論部が、判定用画像の判定用画像領域を複数の小画像領域に分割したときの各小画像領域に対する分類結果を判定用学習モデルに入力することにより、判定用画像に対する判定結果を推論する。したがって、判定対象物が有する加工面の状態を自動的に判定することができる。
【0009】
上記以外の課題、構成及び効果は、後述する発明を実施するための形態にて明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】第1の実施形態に係る加工面判定装置7を備える加工システム1の一例を示す概略構成図である。
【
図2】機械学習装置6及び加工面判定装置7を構成するコンピュータ200の一例を示すハードウエア構成図である。
【
図3】第1の実施形態に係る機械学習装置6の一例を示すブロック図である。
【
図4】第1の分類学習用データの一例を示すデータ構成図である。
【
図5】判定学習用データの一例を示すデータ構成図である。
【
図6】第1の分類用学習モデル2Aに適用される推論モデル20の一例を示す概略図である。
【
図7】判定用学習モデル2に適用される推論モデル20の一例を示す概略図である。
【
図8】第1の実施形態に係る加工面判定装置7の一例を示すブロック図である。
【
図9】分類結果取得部70Aによる分類結果取得処理の一例を示す機能説明図である。
【
図10】判定結果推論部71による判定結果推論処理の一例を示す機能説明図である。
【
図11】第1の実施形態に係る加工面判定装置7による加工面判定方法の一例を示すフローチャートである。
【
図12】第2の実施形態に係る機械学習装置6の一例を示すブロック図である。
【
図13】第2の分類学習用データの一例を示すデータ構成図である。
【
図14】第2の分類用学習モデル2Bに適用される推論モデル20Bの一例を示す概略図である。
【
図15】第2の実施形態に係る加工面判定装置7の一例を示すブロック図である。
【
図16】分類結果取得部70Bによる分類結果取得処理の一例を示す機能説明図である。
【
図17】第2の実施形態に係る加工面判定装置7による加工面判定方法の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明を実施するための実施形態について説明する。以下では、本発明の目的を達成するための説明に必要な範囲を模式的に示し、本発明の該当部分の説明に必要な範囲を主に説明することとし、説明を省略する箇所については公知技術によるものとする。
【0012】
(第1の実施形態)
図1は、第1の実施形態に係る加工面判定装置7を備える加工システム1の一例を示す概略構成図である。
【0013】
加工システム1は、判定対象物10を加工する加工部3と、判定対象物10の加工面100を撮像する撮像部4と、第1の分類用学習モデル2A及び判定用学習モデル2を用いて判定対象物10の加工面100の状態を判定する加工面判定装置7と、加工部3、撮像
部4及び加工面判定装置7を制御する制御装置5とを備える。また、加工システム1は、付加的な構成として、第1の分類用学習モデル2A及び判定用学習モデル2を生成する機械学習装置6を備える。
【0014】
判定対象物10は、例えば、金属、樹脂、セラミックス等の任意の材料で形成されて、加工部3による加工対象となる任意の物品である。判定対象物10は、その具体例として、流体機械又は流体機械を構成する流体部品である。なお、判定対象物10の立体形状、表面性状、色、大きさ等は特に限定されない。
【0015】
加工面100は、例えば、加工部3により判定対象物10が加工されたときの当該判定対象物10の表面である。加工面100は、判定対象物10が有する任意の表面でよく、判定対象物10が有する表面の全体でもよいし、その一部分でもよい。
【0016】
加工部3は、電力や流体圧等を駆動源として動作する各種のロボットマニュピレータや工作機械の加工機構部等で構成される。加工部3は、制御装置5からの制御指令に基づいて、研磨、研削、切削又は鋳造等の加工工程を実施する。なお、加工部3は、判定対象物10の表面を加工又は形成するものであれば任意の加工工程を実施するものでよく、さらに複数の加工工程を組み合わせて実施するものでもよい。
【0017】
図1に示す加工システム1では、加工部3は、交換式の砥石が先端に装着されたロボットマニュピレータで構成され、研削工程を実施するものである。また、判定対象物10は、ポンプを構成する流体部品として、複数の羽根を有する羽根車であり、加工面100は、加工部3による研削工程により加工された各羽根の表面である。
【0018】
撮像部4は、加工面100を撮像するカメラであり、例えば、CMOSセンサやCCDセンサ等のイメージセンサで構成される。撮像部4は、加工面100を撮像可能な所定の位置に取り付けられる。加工部3が、例えば、ロボットマニュピレータで構成される場合には、撮像部4は、ロボットマニュピレータの先端に取り付けられてもよいし、判定対象物10が載置される載置台(可動式も含む)の上方に固定されてもよい。また、加工部3が、例えば、工作機械の加工機構部で構成される場合には、撮像部4は、工作機械の安全カバーの内側に取り付けられてもよいし、工作機械とは別体の作業台の上方に固定されてもよい。
【0019】
撮像部4は、上記のような所定の位置に取り付けられて、撮像部4の画角内に加工面100が収まるように、位置や向きが調節されている。なお、撮像部4は、
図1に示すように、機械学習装置6に接続された撮像部4と、加工面判定装置7に接続された撮像部4とが別々に設けられてもよいし、1つの撮像部4が機械学習装置6及び加工面判定装置7の双方に接続されて共用されてもよい。また、撮像部4は、パン・チルト・ズームの機能を備えるものでもよい。さらに、撮像部4は、加工面100を1台のカメラで撮像するものに限られず、複数台のカメラで撮像するものでもよい。
【0020】
制御装置5は、例えば、汎用又は専用のコンピュータ(後述の
図2参照)やマイクロコントローラ等で構成される制御盤50と、タッチパネルディスプレイ、スイッチ、ボタン等で構成される操作表示盤51とを備える。
【0021】
制御盤50は、加工部3のアクチュエータやセンサ(いずれも不図示)に接続されて、加工工程を実施するための加工動作パラメータやセンサの検出信号に応じてアクチュエータに制御指令を送ることで、加工部3による加工工程を制御する。制御盤50は、撮像部4に撮像指令を送り、その結果として撮像部4により撮像された撮像画像を受け取る。制御盤50は、撮像画像を判定用画像として加工面判定装置7に送り、その結果として、加
工面判定装置7により判定された加工面100の状態を受け取る。なお、制御盤50は、撮像画像を機械学習装置6に送るようにしてもよい。
【0022】
操作表示盤51は、作業者の操作を受け付けるとともに、各種の情報を表示や音で出力する。
【0023】
機械学習装置6は、機械学習における学習フェーズの主体として動作する。機械学習装置6は、撮像部4により撮像された撮像画像に基づいて学習用データを取得し、その学習用データに基づいて第1の分類用学習モデル2A及び判定用学習モデル2を生成する。機械学習装置6は、学習済みの第1の分類用学習モデル2A及び判定用学習モデル2を任意の通信網や記録媒体等を介して加工面判定装置7に提供する。機械学習装置6の詳細は後述する。
【0024】
加工面判定装置7は、機械学習における推論フェーズの主体として動作する。加工面判定装置7は、機械学習装置6により生成された学習済みの第1の分類用学習モデル2A及び判定用学習モデル2を用いて、撮像部4により撮像された加工面100の画像を判定用画像として、判定対象物10の加工面100の状態を判定する。加工面判定装置7の詳細は後述する。
【0025】
なお、加工システム1の各構成要素は、1つの筐体に組み込まれることで、例えば、1つの工作機械として構成されていてもよく、その場合には、機械学習装置6及び加工面判定装置7の少なくとも一方は、制御装置5に組み込まれてもよい。また、加工システム1の各構成要素は、加工部3を備える加工装置と、撮像部4及び加工面判定装置7を備える検査装置とで構成されてもよく、その場合には、制御装置5の機能が加工装置と検査装置とに分散されてもよい。さらに、加工システム1の各構成要素は、無線又は有線のネットワークにより接続されることで、機械学習装置6及び加工面判定装置7の少なくとも一方は、加工部3及び撮像部4が設置された加工現場とは離れた場所に設置されてもよく、その場合には、制御装置5は、加工現場に設置されてもよいし、他の場所に設置されてもよい。
【0026】
図2は、機械学習装置6及び加工面判定装置7を構成するコンピュータ200の一例を示すハードウエア構成図である。
【0027】
機械学習装置6及び加工面判定装置7のそれぞれは、汎用又は専用のコンピュータ200により構成される。コンピュータ200は、
図2に示すように、その主要な構成要素として、バス210、プロセッサ212、メモリ214、入力デバイス216、表示デバイス218、ストレージ装置220、通信I/F(インターフェース)部222、外部機器I/F部224、I/O(入出力)デバイスI/F部226、及び、メディア入出力部228を備える。なお、上記の構成要素は、コンピュータ200が使用される用途に応じて適宜省略されてもよい。
【0028】
プロセッサ212は、1つ又は複数の演算処理装置(CPU、MPU、GPU、DSP等)で構成され、コンピュータ200全体を統括する制御部として動作する。メモリ214は、各種のデータ及びプログラム230を記憶し、例えば、メインメモリとして機能する揮発性メモリ(DRAM、SRAM等)と、不揮発性メモリ(ROM、フラッシュメモリ等)とで構成される。
【0029】
入力デバイス216は、例えば、キーボード、マウス、テンキー、電子ペン等で構成される。表示デバイス218は、例えば、液晶ディスプレイ、有機ELディスプレイ、電子ペーパー、プロジェクタ等で構成される。入力デバイス216及び表示デバイス218は
、タッチパネルディスプレイのように、一体的に構成されていてもよい。ストレージ装置220は、例えば、HDD、SSD等で構成され、オペレーティングシステムやプログラム230の実行に必要な各種のデータを記憶する。
【0030】
通信I/F部222は、インターネットやイントラネット等のネットワーク240に有線又は無線により接続され、所定の通信規格に従って他のコンピュータとの間でデータの送受信を行う。外部機器I/F部224は、プリンタ、スキャナ等の外部機器250に有線又は無線により接続され、所定の通信規格に従って外部機器250との間でデータの送受信を行う。I/OデバイスI/F部226は、各種のセンサ、アクチュエータ等のI/Oデバイス260に接続され、I/Oデバイス260との間で、例えば、センサによる検出信号やアクチュエータへの制御信号等の各種の信号やデータの送受信を行う。メディア入出力部228は、例えば、DVDドライブ、CDドライブ等のドライブ装置で構成され、DVD、CD等のメディア270に対してデータの読み書きを行う。
【0031】
上記構成を有するコンピュータ200において、プロセッサ212は、プログラム230をメモリ214のワークメモリ領域に呼び出して実行し、バス210を介してコンピュータ200の各部を制御する。なお、プログラム230は、メモリ214の代わりに、ストレージ装置220に記憶されていてもよい。プログラム230は、インストール可能なファイル形式又は実行可能なファイル形式でCD、DVD等の非一時的な記録媒体に記録され、メディア入出力部228を介してコンピュータ200に提供されてもよい。プログラム230は、通信I/F部222を介してネットワーク240経由でダウンロードすることによりコンピュータ200に提供されてもよい。また、コンピュータ200は、プロセッサ212がプログラム230を実行することで実現する各種の機能を、例えば、FPGA、ASIC等のハードウエアで実現するものでもよい。
【0032】
コンピュータ200は、例えば、据置型コンピュータや携帯型コンピュータで構成され、任意の形態の電子機器である。コンピュータ200は、クライアント型コンピュータでもよいし、サーバ型コンピュータやクラウド型コンピュータでもよい。コンピュータ200は、機械学習装置6及び加工面判定装置7以外の他の装置に適用されてもよい。
【0033】
(機械学習装置6)
図3は、第1の実施形態に係る機械学習装置6の一例を示すブロック図である。
【0034】
機械学習装置6は、学習用データ取得部60、学習用データ記憶部61、機械学習部62、及び、学習済みモデル記憶部63を備える。機械学習装置6は、例えば、
図2に示すコンピュータ200で構成される。その場合、学習用データ取得部60は、通信I/F部222又はI/OデバイスI/F部226とプロセッサ212とで構成され、機械学習部62は、プロセッサ212で構成され、学習用データ記憶部61及び学習済みモデル記憶部63は、ストレージ装置220で構成される。
【0035】
学習用データ取得部60は、各種の外部装置と通信網を介して接続され、入力データ及び出力データが対応付けられた学習用データを取得するインタフェースユニットである。外部装置は、例えば、撮像部4、加工面判定装置7、及び、作業者が使用する作業者用端末8等である。
【0036】
学習用データ記憶部61は、学習用データ取得部60で取得した学習用データを複数組記憶するデータベースである。学習用データには、第1の分類用学習モデル2Aを生成するための第1の分類学習用データと、判定用学習モデル2を生成するための判定学習用データとが含まれる。なお、学習用データ記憶部61を構成するデータベースの具体的な構成は適宜設計すればよい。
【0037】
機械学習部62は、学習用データ記憶部61に記憶された学習用データを用いて機械学習を実施する。すなわち、機械学習部62は、第1の分類用学習モデル2Aに第1の分類学習用データを複数組入力することで、第1の分類学習用データに含まれる入力データと出力データとの相関関係を第1の分類用学習モデル2Aに機械学習させることで、第1の分類用学習モデル2Aを生成する。また、機械学習部62は、判定用学習モデル2に判定学習用データを複数組入力することで、判定学習用データに含まれる入力データと出力データとの相関関係を判定用学習モデル2に機械学習させることで、判定用学習モデル2を生成する。
【0038】
学習済みモデル記憶部63は、機械学習部62により生成された第1の分類用学習モデル2A及び判定用学習モデル2を記憶するデータベースである。学習済みモデル記憶部63に記憶された第1の分類用学習モデル2A及び判定用学習モデル2は、任意の通信網や記録媒体等を介して実システム(例えば、加工面判定装置7)に提供される。なお、第1の分類用学習モデル2A及び判定用学習モデル2は、外部コンピュータ(例えば、サーバ型コンピュータやクラウド型コンピュータ)に提供されて、外部コンピュータの記憶部に記憶されてもよい。また、
図3では、学習用データ記憶部61と、学習済みモデル記憶部63とが別々の記憶部として示されているが、これらは単一の記憶部で構成されてもよい。
【0039】
図4は、第1の分類学習用データの一例を示すデータ構成図である。
【0040】
第1の分類学習用データは、学習用画像41を入力データとし、当該学習用画像41に含まれる加工面100の状態を複数の加工状態のいずれかに分類した分類結果を出力データとしてそれぞれ含み、これらの入力データ及び出力データが対応付けられて構成される。
【0041】
入力データとしての学習用画像41は、撮像部4により判定対象物10の加工面100が撮像された所定の撮像画像領域400を有する撮像画像40を学習用画像領域410に分割することで生成される複数の画像の各々である。
【0042】
撮像画像40の撮像画像領域400は、撮像部4により撮像された領域であり、撮像部4の画角により定められる。
図4に示す撮像画像領域400は、判定対象物10である羽根車が有する1つの羽根の一部分を含むように設定されている。なお、
図4に示す撮像画像40には、加工面100だけでなく、背景110についても撮像されているが、背景110が撮像されないように、撮像画像領域400が設定されてもよい。
【0043】
学習用画像41の学習用画像領域410は、
図4に示すように、学習用画像領域410の各々が正方形状となるように、撮像画像40の撮像画像領域400を格子状に分割したものである。なお、学習用画像領域410の画像数、形状、大きさ及び縦横比は、適宜変更してもよく、例えば、長方形状でもよいし、他の形状でもよい。また、撮像画像領域400を学習用画像領域410に分割するときの分割方法は、適宜変更してもよく、例えば、千鳥状に分割してもよいし、他の基準に従って分割してもよい。
【0044】
出力データとしての分類結果は、教師あり学習において、例えば、教師データや正解ラベルと称される。複数の加工状態として、例えば、「良」及び「不良」の2クラスを採用する場合には、分類結果は、「良」及び「不良」のいずれかで表される。複数の加工状態として、「良」、「可」及び「不良」の3クラスを採用する場合には、分類結果は、「良」、「可」及び「不良」のいずれかで表される。なお、加工面100の状態を分類する際の複数の加工状態は、上記のようなクラスに限定されず、例えば、4クラス以上に分類さ
れてもよいし、他の観点で分類されてもよい。
【0045】
さらに、学習用画像領域410内に、加工面100のエッジ又は加工面100以外の背景110が存在する場合には、「判定対象外」というクラスを追加して分類することも可能である。学習用画像領域410内に、加工面100のエッジ又は加工面100以外の背景110が存在することを理由に「判定対象外」に分類する場合の分類結果は、上記2クラスの例では、「良」、「不良」及び「判定対象外」のいずれかで表され、上記3クラスの例では、
図4に示すように、「良」、「可」「不良」及び「判定対象外」のいずれかで表される。なお、学習用画像41に加工面100及び背景110の両方が撮像されている場合には、例えば、背景110の比率が所定の比率よりも高い場合には「判定対象外」のクラスに分類するようにしてもよいし、「判定対象外」のクラスに常に分類しないようにしてもよい。
【0046】
図5は、判定学習用データの一例を示すデータ構成図である。
【0047】
判定学習用データは、複数の学習用画像領域410の各々について加工面100の状態を複数の加工状態のいずれかに分類したときの分類結果を入力データとし、当該分類結果に基づいて複数の学習用画像領域410内の加工面100の状態を判定したときの判定結果を出力データとしてそれぞれ含み、これらの入力データ及び出力データが対応付けられて構成される。
【0048】
入力データとしての複数の学習用画像領域410に対する分類結果は、加工面100の状態が、例えば、「良」、「可」「不良」及び「判定対象外」のいずれかで分類されている場合には、「0」、「1」、「2」及び「3」という整数値で表される。
【0049】
出力データとしての判定結果は、教師あり学習において、例えば、教師データや正解ラベルと称される。判定結果は、複数の学習用画像領域410、すなわち、複数の学習用画像領域410に分割する前の撮像画像領域400を対象として、加工面100全体の状態を判定したものである。
【0050】
判定結果は、加工面100の状態として、加工面100を加工したときと同一の加工工程を再度行う再加工の要否、加工面100を加工したときと異なる加工工程を行う別加工の要否、加工面100に対して作業者が仕上げ加工を行う仕上げ加工の要否、及び、加工面100のうち再加工、別加工又は仕上げ加工を行う対象とする加工範囲の少なくとも1つを判定したものである。なお、判定結果は、上記に代えて又は加えて、加工面100全体に対して、少なくとも「良」及び「不良」を含む複数の加工状態のいずれかであるかを判定したものでもよい。
【0051】
学習用データ取得部60は、第1の分類学習用データ及び判定学習用データを取得する方法として、各種の方法を採用することができる。例えば、学習用データ取得部60は、加工部3により加工工程が実施された後の判定対象物10を撮像部4で撮像された撮像画像40を取得し、その撮像した撮像画像40を分割することで複数の学習用画像41を生成する。次に、学習用データ取得部60は、例えば、撮像画像40に対して各学習用画像領域410を構成する枠線を重畳させることで、複数の学習用画像41を区別可能な状態で、作業者用端末8の表示画面に表示させる。
【0052】
作業者が、その表示画面上の学習用画像41の各々を視認し、複数の学習用画像41の各々に含まれる加工面100の状態を複数の加工状態(クラス)に分類した結果(分類結果)を入力操作するとともに、撮像画像40に含まれる加工面100の状態を判定した結果(判定結果)を作業者用端末8により入力操作する。そして、学習用データ取得部60
は、その作業者の入力操作を受け付けて、学習用画像41(入力データ)と、その学習用画像41に対して入力操作された分類結果(出力データ)とを対応付けることで複数の第1の分類学習用データを取得する。また、学習用データ取得部60は、学習用画像41の各々が有する複数の学習用画像領域410に対する分類結果(入力データ)と、その撮像画像40に対して入力操作された判定結果(出力データ)とを対応付けることで判定学習用データを取得する。
【0053】
したがって、学習用データ取得部60は、1枚の撮像画像40から複数枚の学習用画像41に分割したときの分割数に相当する数の第1の分類学習用データを取得することができ、さらに上記の作業を繰り返すことで所望の数の第1の分類学習用データを取得することができる。また、学習用データ取得部60は、第1の分類学習用データを取得するのに合わせて判定学習用データを取得することができる。そのため、第1の分類学習用データ及び判定学習用データを容易に収集することができる。
【0054】
図6は、第1の分類用学習モデル2Aに適用される推論モデル20Aの一例を示す概略図である。
【0055】
推論モデル20Aは、機械学習の具体的な手法として、畳み込みニューラルネットワーク(CNN(Convolutional Neural Network))を採用したものである。推論モデル20Aは、入力層21、中間層22、及び、出力層23を備える。
【0056】
入力層21は、入力データとしての学習用画像41の画素数に対応する数のニューロンを有し、各ピクセルの画素値が各ニューロンにそれぞれ入力される。
【0057】
中間層22は、畳み込み層22a、プーリング層22b及び全結合層22cから構成されている。畳み込み層22a及びプーリング層22bは、例えば、交互に複数層設けられている。畳み込み層22a及びプーリング層22bは、入力層21を介して入力された画像から特徴量を抽出する。全結合層22cは、畳み込み層22a及びプーリング層22bにより画像から抽出された特徴量を、例えば、活性化関数によって変換し、特徴ベクトルとして出力する。なお、全結合層22cは、複数層設けられていてもよい。
【0058】
出力層23は、全結合層22cから出力された特徴ベクトルに基づいて、分類結果を含む出力データを出力する。なお、出力データは、分類結果の他に、例えば、分類結果の信頼度を示すスコアを含むものでもよい。
【0059】
推論モデル20Aの各層の間には、層間のニューロンをそれぞれ接続するシナプスが張られており、中間層22の畳み込み層22a及び全結合層22cの各シナプスには、重みが対応付けられている。
【0060】
機械学習部62は、第1の分類学習用データを推論モデル20Aに入力し、学習用画像41と分類結果との相関関係を推論モデル20Aに機械学習させる。具体的には、機械学習部62は、第1の分類学習用データを構成する学習用画像41を入力データとして、推論モデル20Aの入力層21に入力する。なお、機械学習部62は、学習用画像41を入力層21に入力する際の前処理として、所定の画像調整(例えば、画像フォーマット、画像サイズ、画像フィルタ、画像マスク等)を学習用画像41に施してもよい。
【0061】
機械学習部62は、出力層23から出力された出力データが示す分類結果(推論結果)と、当該第1の分類学習用データを構成する分類結果(教師データ)とを比較する誤差関数を用いて、誤差関数の評価値が小さくなるように、各シナプスに対応付けられた重みを調整する(バックプロバケーション)ことを反復する。そして、機械学習部62は、上記
の一連の処理を所定の回数反復実施することや、誤差関数の評価値が許容値より小さくなること等の所定の学習終了条件が満たされたと判断した場合には、機械学習を終了し、そのときの推論モデル20A(各シナプスのそれぞれに対応付けられた全ての重み)を、第1の分類用学習モデル2Aとして学習済みモデル記憶部63に格納する。
【0062】
図7は、判定用学習モデル2に適用される推論モデル20の一例を示す概略図である。
【0063】
推論モデル20は、機械学習の具体的な手法として、
図6に示す推論モデル20Aと同様に、畳み込みニューラルネットワークを採用したものである。以下では、推論モデル20について、
図6に示す推論モデル20Aと異なる点を中心に説明する。
【0064】
入力層21は、撮像画像領域400を複数の学習用画像領域410に分割したときの分割数に対応する数のニューロンを有し、各学習用画像領域410に対する分類結果(例えば、0、1、2、3の整数値)が各ニューロンにそれぞれ入力される。
【0065】
出力層23は、全結合層22cから出力された特徴ベクトルに基づいて、判定結果を含む出力データを出力する。なお、出力データは、判定結果の他に、例えば、判定結果の信頼度を示すスコアを含むものでもよい。
【0066】
機械学習部62は、判定学習用データを推論モデル20に入力し、複数の学習用画像領域410に対する分類結果と判定結果との相関関係を推論モデル20に機械学習させる。具体的には、機械学習部62は、判定学習用データを構成する、複数の学習用画像領域410に対する分類結果を入力データとして、推論モデル20の入力層21に入力する。
【0067】
機械学習部62は、出力層23から出力された出力データが示す判定結果(推論結果)と、当該判定学習用データを構成する判定結果(教師データ)とを比較する誤差関数を用いて、誤差関数の評価値が小さくなるように、各シナプスに対応付けられた重みを調整する(バックプロバケーション)ことを反復する。そして、機械学習部62は、上記の一連の処理を所定の回数反復実施することや、誤差関数の評価値が許容値より小さくなること等の所定の学習終了条件が満たされたと判断した場合には、機械学習を終了し、そのときの推論モデル20(各シナプスのそれぞれに対応付けられた全ての重み)を、判定用学習モデル2として学習済みモデル記憶部63に格納する。
【0068】
(加工面判定装置7)
図8は、第1の実施形態に係る加工面判定装置7の一例を示すブロック図である。
【0069】
加工面判定装置7は、分類結果取得部70A、判定結果推論部71、学習済みモデル記憶部72、及び、出力処理部73を備える。加工面判定装置7は、例えば、
図2に示すコンピュータ200で構成される。その場合、分類結果取得部70Aは、通信I/F部222又はI/OデバイスI/F部226とプロセッサ212とで構成され、判定結果推論部71及び出力処理部73は、プロセッサ212で構成され、学習済みモデル記憶部72は、ストレージ装置220で構成される。
【0070】
分類結果取得部70Aは、判定用画像42が有する判定用画像領域420を分割した複数の小画像領域430について、加工面100の状態を複数の加工状態のいずれかに分類したときの分類結果を小画像領域430単位で取得する分類結果取得処理(後述の
図9参照)を行う。
【0071】
分類結果取得部70Aは、具体的な構成として、撮像部4に接続されて、撮像部4により判定対象物10の加工面100が撮像された撮像画像を、判定用画像領域420を有す
る判定用画像42として取得する画像取得部700と、判定用画像領域420を複数の小画像領域430に分割することで判定用画像42から複数の小画像43を生成する小画像生成部701と、複数の小画像43を第1の分類用学習モデル2Aに小画像領域430単位で入力することにより、複数の小画像領域430に対する分類結果を推論する第1の分類結果推論部702Aとを備える。
【0072】
第1の分類結果推論部702Aは、複数の小画像43から分割前の判定用画像42を再構築できるように、判定用画像領域420に対する各小画像領域430の位置関係を、例えば、小画像43の付加情報として記録する。
【0073】
判定結果推論部71は、分類結果取得部70Aにより取得された複数の小画像領域430に対する分類結果を判定用学習モデル2に入力することにより、判定用画像領域420に対する判定結果を推論する判定結果推論処理(後述の
図10参照)を行う。
【0074】
判定結果推論部71により推論された判定結果は、再加工の要否、別加工の要否、仕上げ加工の要否、及び、加工面100のうち再加工、別加工又は仕上げ加工を行う対象とする加工範囲の少なくとも1つを判定したものである。判定結果は、上記に代えて又は加えて、加工面100全体に対して、少なくとも「良」及び「不良」を含む複数の加工状態のいずれかであるかを判定したものでもよい。
【0075】
なお、分類結果取得部70A及び判定結果推論部71の一部又は全ては、外部コンピュータ(例えば、サーバ型コンピュータやクラウド型コンピュータ)のプロセッサで代用されてもよく、分類結果取得部70Aによる分類結果取得処理及び判定結果推論部71による判定結果推論処理の一部又は全てが、外部コンピュータで実行されてもよい。
【0076】
学習済みモデル記憶部72は、分類結果取得部70Aの推論処理にて用いられる学習済みの第1の分類用学習モデル2Aと、判定結果推論部71の推論処理にて用いられる学習済みの判定用学習モデル2とを記憶するデータベースである。なお、学習済みモデル記憶部72に記憶される第1の分類用学習モデル2A及び判定用学習モデル2の数は1つに限定されず、例えば、機械学習の手法、加工部3による加工工程、判定対象物10等の条件が異なる複数の学習済みモデルが記憶され、選択的に利用可能としてもよい。また、学習済みモデル記憶部72は、外部コンピュータ(例えば、サーバ型コンピュータやクラウド型コンピュータ)の記憶部で代用されてもよく、その場合には、分類結果取得部70A及び判定結果推論部71は、当該外部コンピュータにアクセスすることで、上記の分類結果取得処理及び判定結果推論処理を行ってもよい。
【0077】
出力処理部73は、判定結果推論部71により推論された判定結果を出力するための出力処理を行う。判定結果を出力するための具体的な出力手段は、種々の手段を採用することが可能である。例えば、出力処理部73は、判定結果に応じて、制御盤50を介して再加工や別加工の動作指令を加工部3に送信したり、操作表示盤51や作業者用端末8を介して作業者に仕上げ加工の実施を表示や音で報知したり、加工部3の動作履歴として制御盤50の記憶手段に記憶したりしてもよい。なお、出力処理部73は、判定結果推論部71による判定結果を出力(送信、報知、記憶)するだけでもよいし、判定結果推論部71による判定結果の他に、分類結果取得部70Aによる複数の小画像領域430に対する分類結果をさらに出力(送信、報知、記憶)してもよい。
【0078】
図9は、分類結果取得部70Aによる分類結果取得処理の一例を示す機能説明図である。
【0079】
判定用画像42の判定用画像領域420は、撮像部4により撮像された領域であり、撮
像部4の画角により定められる。
図9に示す判定用画像領域420は、
図4に示す撮像画像領域400と同様に、判定対象物10である羽根車が有する1つの羽根の一部分を含むように設定されている。なお、判定用画像領域420は、撮像画像領域400と異なる位置に設定されてもよいし、両者の画像数、形状、大きさ及び縦横比が異なるものでもよい。
【0080】
小画像43の小画像領域430は、
図9に示すように、小画像領域430の各々が正方形状となるように、判定用画像42の判定用画像領域420を格子状に分割したものである。小画像43の小画像領域430は、機械学習装置6にて第1の分類用学習モデル2Aを生成したときの学習用画像41の学習用画像領域410に相当するものであり、両者の画像数、形状、大きさ及び縦横比は同一又は同程度であることが好ましい。
【0081】
したがって、小画像領域430の画像数、形状、大きさ及び縦横比が、学習用画像領域410の画像数、形状、大きさ及び縦横比に相当するのであれば、判定用画像領域420を小画像領域430に分割するときの分割方法は、適宜変更してもよく、例えば、千鳥状に分割してもよいし、他の基準に従って分割してもよい。その際、判定用画像領域420を小画像領域430に分割するときの分割方法は、撮像画像領域400を学習用画像領域410に分割するときの分割方法と同一でもよいし、異なるものでもよい。
【0082】
ここで、第1の分類用学習モデル2Aは、小画像領域430に相当する学習用画像領域410を有する学習用画像41と当該学習用画像41に含まれる加工面100の状態を複数の加工状態のいずれかに分類した分類結果との相関関係を機械学習装置6にて機械学習させたものである。したがって、第1の分類結果推論部702Aは、複数の小画像43を第1の分類用学習モデル2Aに小画像領域430単位で入力することにより、小画像領域430内の加工面100の状態を複数の加工状態のいずれかに分類する分類器として機能する。複数の加工状態として、2クラス(良、不良)を採用する場合には、分類結果は、2クラス(良、不良)で表され、複数の加工状態として、3クラス(良、可、不良)を採用する場合には、分類結果は、3クラス(良、可、不良)で表される。
【0083】
また、第1の分類用学習モデル2Aは、加工面100又は加工面100以外の背景110の少なくとも一方が撮像された学習用画像41と、当該学習用画像41に撮像された加工面100の状態を複数の加工状態のいずれかに分類するか、当該学習用画像41が有する小画像領域430内に加工面100のエッジ又は加工面100以外の背景110が存在することを理由に判定対象外に分類したときの分類結果との相関関係を機械学習装置6にて機械学習させたものでもよい。この場合、分類結果取得部70Aの第1の分類結果推論部702Aは、複数の小画像43を第1の分類用学習モデル2Aに小画像領域430単位で入力することにより、小画像領域430内の加工面100の状態を複数の加工状態のいずれかに分類するか、小画像領域430内に加工面100のエッジ又は加工面100以外の背景110が存在することを理由に判定対象外に分類する分類器として機能する。分類結果には、複数の加工状態にさらに判定対象外が加わるため、上記の例における分類結果は、3クラス(良、不良、判定対象外)、又は、4クラス(良、可、不良、判定対象外)で表される。
【0084】
なお、小画像領域430に対する分類結果は、各クラスに対するスコア(信頼度)を含むものでもよい。この場合、分類結果が、4クラス(良、可、不良、判定対象外)で表されるものとすると、特定の小画像領域430に対するクラス毎のスコアは、例えば、「0.02」、「0.10」、「0.95」、「0.31」のように出力される。スコアの利用方法は、任意の方法を採用すればよく、例えば、スコアが最も高いクラス(上記の例では、スコア「0.95」の不良)を分類結果としてもよいし、所定のクラスのスコアが所定のスコア基準値を超えている場合(上記の例では、「不良」のクラスのスコア「0.9
5」がスコア基準値「0.80」を超えている場合)、当該クラスを分類結果としてもよい。
【0085】
また、小画像領域430に対する分類結果は、学習済みモデル記憶部72や他の記憶装置(不図示)に記憶することが好ましく、過去の分類結果は、例えば、学習済みの第1の分類用学習モデル2Aの推論精度の更なる向上のため、オンライン学習や再学習に用いられる第1の分類学習用データとして利用することが可能である。
【0086】
図10は、判定結果推論部71による判定結果推論処理の一例を示す機能説明図である。以下では、判定用画像領域420を60個の小画像領域430に分割することで、1枚の判定用画像42が、
図10に示すように、60枚の小画像43に分割された場合を想定して説明する。
【0087】
判定用学習モデル2は、複数の小画像領域430に相当する複数の学習用画像領域410に対する分類結果と当該分類結果に基づいて複数の学習用画像領域410内の加工面100の状態を判定したときの判定結果との相関関係を機械学習させたものである。したがって、判定結果推論部71は、分類結果取得部70Aにより取得された複数の小画像領域430に対する分類結果を判定用学習モデル2に入力することにより、複数の小画像領域430内の加工面100の状態、すなわち、判定用画像領域420内の加工面100に対する判定結果を推論する。
【0088】
加工面100の状態として、再加工の要否、別加工の要否、及び、仕上げ加工の要否を採用する場合には、判定結果は、例えば、0~1の値域を有する実数値として、「0」に近づくほど「否」、1に近づくほど「要」として表される。さらに、加工面100の状態として、加工範囲を採用する場合には、複数の小画像領域430に対する分類結果として、例えば、「不良」に分類された小画像領域430を少なくとも含む範囲が加工範囲として判定される。
【0089】
なお、判定結果推論部71は、上記のように、判定用学習モデル2により推論された判定結果に対して所定の後処理を行うようにしてもよい。例えば、判定結果推論部71は、後処理として、再加工の要否に対する判定結果の値、別加工の要否に対する判定結果の値、及び、仕上げ加工の要否に対する判定結果の値を比較し、それらの中で判定結果の値が最も大きな加工を選択し、最終的な判定結果としてもよい。
【0090】
(加工面判定方法)
図11は、第1の実施形態に係る加工面判定装置7による加工面判定方法の一例を示すフローチャートである。なお、
図11に示す一連の加工面判定方法は、加工面判定装置7により所定のタイミングにて繰り返し実行されるものである。所定のタイミングは、任意のタイミングでよく、例えば、加工部3による加工工程が終了した後でもよいし、加工工程の途中でもよいし、所定の事象発生時(作業者の操作時、生産管理システムからの指示時等)でもよい。以下では、加工面判定方法が、加工部3による加工工程が終了した後に、当該加工工程により加工された判定対象物10に対して実行される場合について説明する。
【0091】
まず、ステップS100において、加工部3による加工工程が終了すると、当該加工工程により加工された判定対象物10の加工面100が撮像部4により撮像されて、撮像画像が制御装置5を経由して加工面判定装置7に送られることで、分類結果取得部70Aの画像取得部700が、当該撮像画像を判定用画像42として取得する。
【0092】
次に、ステップS110において、小画像生成部701は、判定用画像42に対する前
処理として、判定用画像42の判定用画像領域420を複数の小画像領域430に分割することで判定用画像42から複数の小画像43を生成する。
【0093】
次に、ステップS120~S128において、第1の分類結果推論部702Aは、複数の小画像43の分割数をKとして、複数の小画像43に通し番号(1≦n≦K)をそれぞれ割り当てた状態で、変数iを「1」から「K」までインクリメントすることにより、ループ処理を実行する。
【0094】
具体的には、ステップS120において、第1の分類結果推論部702Aは、変数iを「1」で初期化する。次に、ステップS122において、第1の分類結果推論部702Aは、i番目の小画像43を選択し、第1の分類用学習モデル2Aの入力層21に入力することにより、当該第1の分類用学習モデル2Aの出力層23から出力された分類結果を推論する。
【0095】
次に、ステップS126において、変数iをインクリメントし、ステップS128において、変数iが分割数Kを超えたか否かを判定する。そして、第1の分類結果推論部702Aは、変数iが分割数Kを超えるまで上記ステップS122、S126を繰り返すことで、複数の小画像領域430に対する分類結果を取得する。
【0096】
次に、ステップS130において、判定結果推論部71は、複数の小画像領域430に対する分類結果を判定用学習モデル2の入力層21に入力することにより、当該判定用学習モデル2の出力層23から出力された判定結果(例えば、再加工の要否、別加工の要否、仕上げ加工の要否、加工範囲等)を推論する。
【0097】
次に、ステップS140において、出力処理部73は、判定結果推論部71により推論された判定結果に応じた情報を出力手段(例えば、制御装置5、作業者用端末8等)に出力する。そして、
図11に示す一連の加工面判定方法を終了する。加工面判定方法において、ステップS100が画像取得工程、ステップS100~S128が分類結果取得工程、ステップS130が判定結果推論工程、ステップS140が出力処理工程に相当する。
【0098】
以上のように、本実施形態に係る加工面判定装置7及び加工面判定法によれば、分類結果取得部70Aが、判定用画像領域420を小画像領域430に分割することで判定用画像42から生成される複数の小画像43の各々を第1の分類用学習モデル2Aに入力することにより、複数の小画像領域430に対する分類結果を推論する。そして、判定結果推論部71が、複数の小画像領域430に対する分類結果を判定用学習モデル2に入力することにより、加工面100の状態を判定結果として推論する。
【0099】
そのため、第1の分類用学習モデル2Aによる分類結果は、判定用画像42が分割された複数の小画像43の各々が入力されることにより小画像領域430単位で推論されるので、1枚の判定用画像42を第1の分類用学習モデル2Aに入力する場合に比べて、機械学習に必要な学習データの収集が容易であるとともに、第1の分類用学習モデル2Aの精度を向上することができる。そして、第1の分類用学習モデル2Aによる複数の小画像領域430に対する分類結果が、判定用学習モデル2に入力されることで、判定用画像42に含まれる加工面100の状態が判定される。したがって、判定対象物10が有する加工面100の状態を自動的に判定することができる。
【0100】
(第2の実施形態)
第1の実施形態に係る加工システム1では、機械学習の学習フェーズ及び推論フェーズにて、第1の分類用学習モデル2A及び判定用学習モデル2を採用した場合について説明した。これに対し、第2の実施形態に係る加工システム1では、第2の分類用学習モデル
2B及び判定用学習モデル2を採用する場合について説明する。なお、第2の実施形態に係る加工システム1の基本的な構成や動作は、第1の実施形態と同様であるため、以下では、第1の実施形態との相違点である第2の分類用学習モデル2Bに関連する部分を中心に説明する。
【0101】
(機械学習装置6)
図12は、第2の実施形態に係る機械学習装置6の一例を示すブロック図である。
【0102】
機械学習装置6は、第1の実施形態と同様に、学習用データ取得部60、学習用データ記憶部61、機械学習部62、及び、学習済みモデル記憶部63を備える。
【0103】
学習用データ取得部60は、各種の外部装置と通信網を介して接続され、学習用データを取得するインタフェースユニットである。学習用データ記憶部61は、学習用データ取得部60で取得した学習用データを複数組記憶するデータベースである。学習用データには、第2の分類用学習モデル2Bを生成するための第2の分類学習用データと、第1の実施形態と同様の判定学習用データとが含まれる。
【0104】
機械学習部62は、第2の分類用学習モデル2Bに第2の分類学習用データを複数組入力することで、第2の分類学習用データに含まれる入力データと出力データとの相関関係を第2の分類用学習モデル2Bに機械学習させることで、第2の分類用学習モデル2Bを生成する。また、機械学習部62は、第1の実施形態と同様に、判定学習用データを用いて判定用学習モデル2を生成する。
【0105】
学習済みモデル記憶部63は、機械学習部62により生成された第2の分類用学習モデル2B及び判定用学習モデル2を記憶するデータベースである。
【0106】
図13は、第2の分類学習用データの一例を示すデータ構成図である。
【0107】
第2の分類学習用データは、学習用画像41から取得される複数の学習用画素領域411に対する画素分類結果を入力データとし、当該学習用画像41に含まれる加工面100の状態を複数の加工状態のいずれかに分類した分類結果を出力データとしてそれぞれ含み、これらの入力データ及び出力データが対応付けられて構成される。
【0108】
入力データとしての複数の学習用画素領域411に対する画素分類結果は、学習用画像41を構成する複数の学習用画素領域411について、学習用画素領域411内の画素値に基づいて学習用画素領域411に対する分類結果を示す画素分類結果を学習用画素領域411単位で取得されたものである。
【0109】
学習用画素領域411は、1ピクセルに相当する領域であり、学習用画素領域411内の画素値は、例えば、RGB値、グレースケール値、輝度値等で表される。複数の加工状態として、例えば、「良」、「可」「不良」及び「判定対象外」の4クラスを採用する場合には、画素分類結果は、例えば、学習用画素領域411内の画素値と、所定の3つの閾値(第3の閾値<第2の閾値<第1の閾値)とを比較し、画素値が第1の閾値以上である場合には、「良」(0)の分類結果、画素値が第1の閾値未満かつ第2の閾値以上である場合には、「可」(1)の分類結果、画素値が第2の閾値未満かつ第3の閾値以上である場合には、「不良」(2)の分類結果、画素値が第3の閾値未満である場合には、「判定対象外」(3)の分類結果がそれぞれ割り当てられる。
【0110】
出力データとしての分類結果は、第1の実施形態と同様に、学習用画像領域410内の加工面100に対する分類結果として、例えば、
図13に示すように、「良」、「可」「
不良」及び「判定対象外」のいずれかで表される。
【0111】
学習用データ取得部60は、第2の分類学習用データ及び判定学習用データを取得する方法として、各種の方法を採用することができる。例えば、学習用データ取得部60は、第1の実施形態と同様に、加工部3により加工工程が実施された後の判定対象物10を撮像部4で撮像された撮像画像40を取得し、その撮像画像40を分割することで複数の学習用画像41を生成し、その複数の学習用画像41を作業者用端末8の表示画面に表示させる。
【0112】
作業者が、その表示画面上の学習用画像41の各々を視認し、複数の学習用画像41の各々に含まれる加工面100の状態を複数の加工状態(クラス)に分類した結果(分類結果)を入力操作するとともに、撮像画像40に含まれる加工面100の状態を判定した結果(判定結果)を作業者用端末8により入力操作する。そして、学習用データ取得部60は、その作業者の入力操作を受け付けて、学習用画像41から取得された複数の学習用画素領域411に対する画素分類結果(入力データ)と、その学習用画像41に対して入力操作された分類結果(出力データ)とを対応付けることで複数の第2の分類学習用データを取得する。また、学習用データ取得部60は、学習用画像41の各々が有する複数の学習用画像領域410に対する分類結果(入力データ)と、その撮像画像40に対して入力操作された判定結果(出力データ)とを対応付けることで判定学習用データを取得する。
【0113】
したがって、学習用データ取得部60は、1枚の撮像画像40から複数枚の学習用画像41に分割したときの分割数に相当する数の第2の分類学習用データを取得することができ、さらに上記の作業を繰り返すことで所望の数の第2の分類学習用データを取得することができる。また、学習用データ取得部60は、第2の分類学習用データを取得するのに合わせて判定学習用データを取得することができる。そのため、第2の分類学習用データ及び判定学習用データを容易に収集することができる。
【0114】
図14は、第2の分類用学習モデル2Bに適用される推論モデル20Bの一例を示す概略図である。
【0115】
推論モデル20Bは、機械学習の具体的な手法として、
図6に示す推論モデル20Aと同様に、畳み込みニューラルネットワークを採用したものである。以下では、推論モデル20Bについて、
図6に示す推論モデル20Aと異なる点を中心に説明する。
【0116】
入力層21は、入力データとしての学習用画像41の画素数に対応する数のニューロンを有し、複数の学習用画素領域411に対する画素分類結果が各ニューロンにそれぞれ入力される。
【0117】
出力層23は、全結合層22cから出力された特徴ベクトルに基づいて、分類結果を含む出力データを出力する。なお、出力データは、分類結果の他に、例えば、分類結果の信頼度を示すスコアを含むものでもよい。
【0118】
機械学習部62は、第2の分類学習用データを推論モデル20Bに入力し、複数の学習用画素領域411に対する画素分類結果と分類結果との相関関係を推論モデル20Bに機械学習させる。具体的には、機械学習部62は、第2の分類学習用データを構成する、複数の学習用画素領域411に対する画素分類結果を入力データとして、推論モデル20Bの入力層21に入力する。
【0119】
機械学習部62は、出力層23から出力された出力データが示す分類結果(推論結果)と、当該第2の分類学習用データを構成する分類結果(教師データ)とを比較する誤差関
数を用いて、誤差関数の評価値が小さくなるように、各シナプスに対応付けられた重みを調整する(バックプロバケーション)ことを反復する。そして、機械学習部62は、上記の一連の処理を所定の回数反復実施することや、誤差関数の評価値が許容値より小さくなること等の所定の学習終了条件が満たされたと判断した場合には、機械学習を終了し、そのときの推論モデル20B(各シナプスのそれぞれに対応付けられた全ての重み)を、第2の分類用学習モデル2Bとして学習済みモデル記憶部63に格納する。
【0120】
(加工面判定装置7)
図15は、第2の実施形態に係る加工面判定装置7の一例を示すブロック図である。
【0121】
加工面判定装置7は、第1の実施形態と同様に、分類結果取得部70B、判定結果推論部71、学習済みモデル記憶部72、及び、出力処理部73を備える。
【0122】
分類結果取得部70Bは、判定用画像42が有する判定用画像領域420を分割した複数の小画像領域430について、加工面100の状態を複数の加工状態のいずれかに分類したときの分類結果を小画像領域430単位で取得する分類結果取得処理(後述の
図16参照)を行う。
【0123】
分類結果取得部70Bは、第1の実施形態と同様の画像取得部700及び小画像生成部701と、複数の小画像43の各々を構成する複数の画素領域について、画素領域内の画素値に基づいて画素領域に対する分類結果を示す画素分類結果を画素領域単位で取得する画素分類結果取得部703と、複数の画素領域に対する画素分類結果を第2の分類用学習モデル2Bに小画像領域430単位で入力することにより、複数の小画像領域430に対する分類結果を推論する第2の分類結果推論部702Bとを備える。
【0124】
判定結果推論部71は、分類結果取得部70Bにより取得された複数の小画像領域430に対する分類結果を判定用学習モデル2に入力することにより、判定用画像領域420に対する判定結果を推論する判定結果推論処理を行う。
【0125】
学習済みモデル記憶部72は、分類結果取得部70Bの推論処理にて用いられる学習済みの第2の分類用学習モデル2Bと、判定結果推論部71の推論処理にて用いられる学習済みの判定用学習モデル2とを記憶するデータベースである。
【0126】
図16は、分類結果取得部70Bによる分類結果取得処理の一例を示す機能説明図である。
【0127】
判定用画像42の判定用画像領域420は、第1の実施形態と同様に、撮像部4により撮像された領域であり、小画像43の小画像領域430は、判定用画像42の判定用画像領域420を格子状に分割したものである。小画像43の小画像領域430は、学習用画像41の学習用画像領域410に相当し、小画像43を構成する複数の画素領域431は、学習用画像41を構成する複数の学習用画素領域411に相当する。
【0128】
ここで、第2の分類用学習モデル2Bは、複数の画素領域431に相当する複数の学習用画素領域411に対する画素分類結果と当該画素分類結果に基づいて複数の学習用画素領域411内の加工面100の状態を複数の加工状態のいずれかに分類したときの分類結果との相関関係を機械学習させたものである。したがって、第2の分類結果推論部702Bは、複数の小画像43の各々を構成する複数の画素領域431に対する画素分類結果を第2の分類用学習モデル2Bに小画像領域430単位で入力することにより、小画像領域430内の加工面100の状態を複数の加工状態のいずれかに分類する分類器として機能する。
【0129】
(加工面判定方法)
図17は、第2の実施形態に係る加工面判定装置7による加工面判定方法の一例を示すフローチャートである。
【0130】
まず、ステップS100において、分類結果取得部70Bの画像取得部700が、判定用画像42を取得する。
【0131】
次に、ステップS110において、小画像生成部701は、判定用画像42に対する前処理として、判定用画像42の判定用画像領域420を複数の小画像領域430に分割することで判定用画像42から複数の小画像43を生成する。
【0132】
そして、ステップS112において、画素分類結果取得部703は、複数の小画像43の各々を構成する複数の画素領域431について、画素領域431内の画素値に基づいて画素領域431に対する画素分類結果を画素領域431単位で取得する。
【0133】
次に、ステップS120~S128において、第2の分類結果推論部702Bは、複数の小画像43の分割数をKとして、複数の小画像43に通し番号(1≦n≦K)をそれぞれ割り当てた状態で、変数iを「1」から「K」までインクリメントすることにより、ループ処理を実行する。
【0134】
具体的には、ステップS120において、第2の分類結果推論部702Bは、変数iを「1」で初期化する。次に、ステップS124において、第2の分類結果推論部702Bは、i番目の小画像43を選択し、その小画像43を構成する複数の画素領域431に対する画素分類結果を第2の分類用学習モデル2Bの入力層21に入力することにより、当該第2の分類用学習モデル2Bの出力層23から出力された分類結果を推論する。
【0135】
次に、ステップS126において、変数iをインクリメントし、ステップS128において、変数iが分割数Kを超えたか否かを判定する。そして、第2の分類結果推論部702Bは、変数iが分割数Kを超えるまで上記ステップS124、S126を繰り返すことで、複数の小画像領域430に対する分類結果を取得する。
【0136】
次に、ステップS130において、判定結果推論部71は、複数の小画像領域430に対する分類結果を判定用学習モデル2の入力層21に入力することにより、当該判定用学習モデル2の出力層23から出力された判定結果(例えば、再加工の要否、別加工の要否、仕上げ加工の要否、加工範囲等)を推論する。
【0137】
次に、ステップS140において、出力処理部73は、判定結果推論部71により推論された判定結果に応じた情報を出力手段(例えば、制御装置5、作業者用端末8等)に出力する。そして、
図17に示す一連の加工面判定方法を終了する。加工面判定方法において、ステップS100が画像取得工程、ステップS100~S128が分類結果取得工程、ステップS130が判定結果推論工程、ステップS140が出力処理工程に相当する。
【0138】
以上のように、本実施形態に係る加工面判定装置7及び加工面判定法によれば、分類結果取得部70Bが、判定用画像領域420を小画像領域430に分割することで判定用画像42から複数の小画像43を生成し、その複数の小画像43の各々を構成する複数の画素領域431に対する画素分類結果を第2の分類用学習モデル2Bに入力することにより、複数の小画像領域430に対する分類結果を推論する。そして、判定結果推論部71が、複数の小画像領域430に対する分類結果を判定用学習モデル2に入力することにより、加工面100の状態を判定結果として推論する。
【0139】
そのため、第2の分類用学習モデル2Bによる分類結果は、判定用画像42が分割された複数の小画像43の各々が入力されることにより小画像領域430単位で推論されるので、1枚の判定用画像42を第2の分類用学習モデル2Bに入力する場合に比べて、機械学習に必要な学習データの収集が容易であるとともに、第2の分類用学習モデル2Bの精度を向上することができる。そして、第2の分類用学習モデル2Bによる複数の小画像領域430に対する分類結果が、判定用学習モデル2に入力されることで、判定用画像42に含まれる加工面100の状態が判定される。したがって、判定対象物10が有する加工面100の状態を自動的に判定することができる。
【0140】
(他の実施形態)
本発明は上述した実施形態に制約されるものではなく、本発明の主旨を逸脱しない範囲内で種々変更して実施することが可能である。そして、それらはすべて、本発明の技術思想に含まれるものである。
【0141】
例えば、上記実施形態では、判定用画像領域420は、判定対象物10の羽根車が有する1つの羽根の一部分を判定対象の加工面100として含むように設定されたものである。これに対し、判定用画像領域420は、羽根車全体に拡大することで、羽根車が有する複数の羽根を、判定対象の複数の加工面100として含むように設定されてもよい。すなわち、判定対象物10が、加工部3により異なる加工工程を経てそれぞれ加工された複数の加工面100を有する場合には、判定用画像領域420は、複数の加工面100を含むように設定されてもよい。
【0142】
この場合、分類結果取得部70Bは、複数の加工面100が撮像された判定用画像42を取得し、判定用画像42を複数の加工面100の境界で分離するように、加工面毎の判定用画像領域420を設定する。加工面100の境界は、事前に設定されてもよいし、判定用画像42に対する画像処理により設定されてもよい。そして、分類結果取得部70Bは、加工面毎の判定用画像領域420をそれぞれ分割した複数の小画像領域430について、分類結果を小画像領域430単位で取得する。次に、判定結果推論部71は、複数の小画像領域430に対する分類結果を、判定用学習モデル2に加工面毎に入力することにより、加工面毎の判定用画像42に対する判定結果を推論する。
【0143】
また、上記実施形態では、機械学習部62による機械学習の具体的な手法として、CNN(
図6、
図7参照)を採用した場合について説明したが、機械学習部62は、任意の他の機械学習の手法を採用してもよい。他の機械学習の手法としては、例えば、決定木、回帰木等のツリー型、バギング、ブースティング等のアンサンブル学習、再帰型ニューラルネットワーク、畳み込みニューラルネットワーク等のニューラルネット型(ディープラー
ニングを含む)、階層型クラスタリング、非階層型クラスタリング、k近傍法、k平均法
等のクラスタリング型、主成分分析、因子分析、ロジスティク回帰等の多変量解析、サポートベクターマシン等が挙げられる。
【0144】
(加工面判定プログラム)
本発明は、
図2に示すコンピュータ200を、上記実施形態に係る加工面判定装置7が備える各部として機能させるプログラム(加工面判定プログラム)230の態様で提供することができる。また、本発明は、
図2に示すコンピュータ200に、上記実施形態に係る加工面判定方法が備える各工程を実行させるためのプログラム(加工面判定プログラム)230の態様で提供することもできる。
【0145】
(推論装置、推論方法及び推論プログラム)
本発明は、上記実施形態に係る加工面判定装置7(加工面判定方法又は加工面判定プロ
グラム)の態様によるもののみならず、加工面100の状態を判定するために用いられる推論装置(推論方法又は推論プログラム)の態様で提供することもできる。その場合、推論装置(推論方法又は推論プログラム)としては、メモリと、プロセッサとを含み、このうちのプロセッサが、一連の処理を実行するものとすることができる。当該一連の処理とは、判定用画像42が有する判定用画像領域420を分割した複数の小画像領域430について、加工面100の状態を複数の加工状態のいずれかに分類したときの分類結果を小画像領域430単位で取得する分類結果取得処理(分類結果取得工程)と、分類結果取得処理にて複数の小画像領域430に対する分類結果を取得すると、判定用画像42に対する判定結果として判定用画像42に含まれる加工面100の状態を推論する判定結果推論処理(判定結果推論工程)と、含む。
【0146】
推論装置(推論方法又は推論プログラム)の態様で提供することで、加工面判定装置7を実装する場合に比して簡単に種々の装置への適用が可能となる。推論装置(推論方法又は推論プログラム)が加工面100の状態を推論する際、上記実施形態に係る機械学習装置6により生成された学習済みの判定用学習モデル2を用いて、加工面判定装置7の判定結果推論部71が実施する推論手法を適用してもよいことは、当業者にとって当然に理解され得るものである。
【符号の説明】
【0147】
1…加工システム、2…判定用学習モデル、
2A…第1の分類用学習モデル、2B…第2の分類用学習モデル
3…加工部、4…撮像部、5…制御装置、6…機械学習装置、
7…加工面判定装置、8…作業者用端末、10…判定対象物、
20、20A、20B…推論モデル、21…入力層、22…中間層、
22a…畳み込み層、22b…プーリング層、22c…全結合層、23…出力層、
40…撮像画像、41…学習用画像、42…判定用画像、43…小画像、
50…制御盤、51…操作表示盤
60…学習用データ取得部、61…学習用データ記憶部
62…機械学習部、63…モデル記憶部
70A、70B…分類結果取得部、71…判定結果推論部
72…モデル記憶部、73…出力処理部
100…加工面、110…背景
200…コンピュータ、
400…撮像画像領域、410…学習用画像領域、411…学習用画素領域
420…判定用画像領域、430…小画像領域、431…画素領域
700…画像取得部、701…小画像生成部、
702A…第1の分類結果推論部、702B…第2の分類結果推論部
703…画素分類結果取得部