(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-15
(45)【発行日】2024-01-23
(54)【発明の名称】機械学習装置
(51)【国際特許分類】
B25J 13/08 20060101AFI20240116BHJP
G06T 7/00 20170101ALI20240116BHJP
G06V 10/74 20220101ALI20240116BHJP
【FI】
B25J13/08 A
G06T7/00 350B
G06V10/74
G06T7/00 610Z
(21)【出願番号】P 2022505172
(86)(22)【出願日】2021-02-26
(86)【国際出願番号】 JP2021007318
(87)【国際公開番号】W WO2021177159
(87)【国際公開日】2021-09-10
【審査請求日】2022-11-21
(31)【優先権主張番号】P 2020037524
(32)【優先日】2020-03-05
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】並木 勇太
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2019-058960(JP,A)
【文献】特開2019-060780(JP,A)
【文献】特開2019-185422(JP,A)
【文献】特開2019-048365(JP,A)
【文献】特開2019-159819(JP,A)
【文献】特開2018-202550(JP,A)
【文献】特表2019-508273(JP,A)
【文献】中国特許出願公開第108955525(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/16-15/04
G01D 9/00
G01N 21/88
G05B 23/02
G06N 3/04
G06T 7/00- 7/70
G06V 10/74
(57)【特許請求の範囲】
【請求項1】
視覚センサを用いるロボットのための機械学習装置であって、
前記ロボットのためのロボットプログラムにおいて、ビジョン実行命令と、結果取得命令と、アノテーション命令と、学習命令と、を設定するプログラム設定部と、
前記ロボットプログラムから前記ビジョン実行命令を実行することによって、前記視覚センサにより対象物を撮像し、撮像された撮像画像から前記対象物を検出又は判定する、ビジョン実行部と、
前記ロボットプログラムから前記結果取得命令を実行することによって、前記対象物の検出結果又は判定結果を取得する結果取得部と、
前記ロボットプログラムから前記アノテーション命令を実行することによって、前記対象物の画像の検出結果又は判定結果に基づいて、前記撮像画像に対してラベルを付与し、新たな学習データを取得する追加アノテーション部と、
前記ロボットプログラムから前記学習命令を実行することによって、前記新たな学習データを用いて機械学習する学習部と、
を備え
、
前記機械学習装置は、前記ロボットプログラムによって前記ロボットを動作させながら、前記アノテーション命令及び前記学習命令を実行する、
機械学習装置。
【請求項2】
前記アノテーション命令は、前記対象物の画像の検出結果に基づいて、前記ロボットによる把持の成否に応じて前記ラベルを変更する、請求項1に記載の機械学習装置。
【請求項3】
前記対象物は、別の装置を用いて判定され、前記アノテーション命令は、前記別の装置を用いた前記対象物の判定結果に対して前記ラベルを付与する、請求項1に記載の機械学習装置。
【請求項4】
前記アノテーション命令は、前記対象物の検出結果のスコアが所定の閾値未満の場合、前記検出結果に対して前記ラベルを付与する、請求項1に記載の機械学習装置。
【請求項5】
前記対象物の画像の特徴を表すモデルパターンを教示する教示部と、
前記モデルパターンを用いて、前記対象物を含む1以上の入力画像から前記対象物の画像を検出する対象物検出部と、
前記対象物の検出結果に基づいて、前記検出結果に対してラベルを付与するアノテーション部と、
前記入力画像に基づく画像及び前記ラベルを関連付けて、前記入力画像に基づく画像及び前記ラベルを学習データとする画像処理部と、
を更に備える請求項1から4のいずれか一項に記載の機械学習装置。
【請求項6】
請求項1から4のいずれか一項に記載の機械学習装置を複数含む機械学習システムであって、
複数の前記機械学習装置のそれぞれが備える機械学習部において学習モデルを共有し、複数の前記機械学習装置のそれぞれが備える前記機械学習部は、共有する前記学習モデルに対して学習を行う、機械学習システム。
【請求項7】
視覚センサを用いるロボットのための機械学習装置であって、
前記ロボットのためのロボットプログラムにおいて、ビジョン実行命令、結果取得命令、アノテーション命令及び学習命令の少なくとも1つを設定するプログラム設定部と、
前記ロボットプログラムを実行することによって、前記視覚センサにより対象物を撮像し、撮像された撮像画像から前記対象物を検出又は判定する、ビジョン実行部と、
前記ロボットプログラムを実行することによって、前記対象物の検出結果又は判定結果を取得する結果取得部と、
前記ロボットプログラムを実行することによって、前記対象物の画像の検出結果又は判定結果に基づいて、前記撮像画像に対してラベルを付与し、新たな学習データを取得する追加アノテーション部と、
前記ロボットプログラムを実行することによって、前記新たな学習データを用いて機械学習する学習部と、
を備え
、
前記機械学習装置は、前記ロボットプログラムによって前記ロボットを動作させながら、前記アノテーション命令及び前記学習命令を実行する、
機械学習装置。
【請求項8】
視覚センサを用いるロボットのための機械学習装置であって、
前記ロボットのためのロボットプログラムにおいて、ビジョン実行及び結果取得命令と、アノテーション及び学習命令と、を設定するプログラム設定部と、
前記ロボットプログラムから前記ビジョン実行及び結果取得命令を実行することによって、前記視覚センサにより対象物を撮像し、撮像された撮像画像から前記対象物を検出又は判定する、ビジョン実行部と、
前記ロボットプログラムから前記ビジョン実行及び結果取得命令を実行することによって、前記対象物の検出結果又は判定結果を取得する結果取得部と、
前記ロボットプログラムから前記アノテーション及び学習命令を実行することによって、前記対象物の画像の検出結果又は判定結果に基づいて、前記撮像画像に対してラベルを付与し、新たな学習データを取得する追加アノテーション部と、
前記ロボットプログラムから前記アノテーション及び学習命令を実行することによって、前記新たな学習データを用いて機械学習する学習部と、
を備え
、
前記機械学習装置は、前記ロボットプログラムによって前記ロボットを動作させながら、前記アノテーション及び学習命令を実行する、
機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習装置に関する。
【背景技術】
【0002】
従来より、ロボットシステムにおいて、画像から対象物の検出や検査を行う手法として、学習器を利用した機械学習が用いられている(例えば、特許文献1参照)。機械学習を用いるロボットシステムにおいて、学習の前段階として、画像に不良個所があるかどうか、検出位置が正しいかどうか等のラベルを画像データに関連付けるアノテーションと呼ばれる作業を行う必要がある。アノテーションは、画像を1つずつユーザが確認し、画像内の対象物に不良個所があるかどうかをユーザによって判断する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像に対するアノテーションは、通常、ユーザによって行われる。しかし、ユーザによって全ての教師データに対してラベルを付与するのは時間がかかる。また、全ての教師データが集まってから学習すると、機械学習を用いたシステムを立ち上げるまでに時間がかかる。そのため、ロボットのための機械学習装置において、効率良く機械学習を行うことが求められていた。
【課題を解決するための手段】
【0005】
本開示に係る機械学習装置は、視覚センサを用いるロボットのための機械学習装置であって、前記ロボットのためのロボットプログラムにおいて、ビジョン実行命令と、結果取得命令と、アノテーション命令と、学習命令と、を設定するプログラム設定部と、前記ロボットプログラムから前記ビジョン実行命令を実行することによって、前記視覚センサにより対象物を撮像し、撮像された撮像画像から前記対象物を検出又は判定する、ビジョン実行部と、前記ロボットプログラムから前記結果取得命令を実行することによって、前記対象物の検出結果又は判定結果を取得する結果取得部と、前記ロボットプログラムから前記アノテーション命令を実行することによって、前記対象物の画像の検出結果又は判定結果に基づいて、前記撮像画像に対してラベルを付与し、新たな学習データを取得する追加アノテーション部と、前記ロボットプログラムから前記学習命令を実行することによって、前記新たな学習データを用いて機械学習する学習部と、を備える。
【0006】
本開示に係る機械学習装置は、視覚センサを用いるロボットのための機械学習装置であって、前記ロボットのためのロボットプログラムにおいて、ビジョン実行命令、結果取得命令、アノテーション命令及び学習命令の少なくとも1つを設定するプログラム設定部と、前記ロボットプログラムを実行することによって、前記視覚センサにより対象物を撮像し、撮像された撮像画像から前記対象物を検出又は判定する、ビジョン実行部と、前記ロボットプログラムを実行することによって、前記対象物の検出結果又は判定結果を取得する結果取得部と、前記ロボットプログラムを実行することによって、前記対象物の画像の検出結果又は判定結果に基づいて、前記撮像画像に対してラベルを付与し、新たな学習データを取得する追加アノテーション部と、前記ロボットプログラムを実行することによって、前記新たな学習データを用いて機械学習する学習部と、を備える。
【発明の効果】
【0007】
本発明によれば、効率良く機械学習を行うことができる。
【図面の簡単な説明】
【0008】
【
図3】機械学習装置の処理の流れを示すフローチャートである。
【
図4】モデルパターンを教示する処理を示すフローチャートである。
【
図5】モデルパターンを教示する例を示す図である。
【
図6】検出結果にラベルを付与する例を示す図である。
【
図8】機械学習の処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態の一例について説明する。
図1は、ロボットシステム100の構成を示す図である。
図1に示すように、ロボットシステム100は、ロボット制御装置1と、視覚センサ制御装置2と、ロボット3と、アーム4と、視覚センサ5と、を備える。
【0010】
ロボット3のアーム4の先端部には、ハンド又はツールが取り付けられている。ロボット3は、ロボット制御装置1の制御により、対象物Wのハンドリング又は加工等の作業を行う。また、ロボット3のアーム4の先端部には、視覚センサ5が取り付けられている。なお、視覚センサ5は、ロボット3に取り付けられていなくてもよく、例えば、所定の位置に固定して設置されてもよい。
【0011】
視覚センサ5は、視覚センサ制御装置2の制御により、対象物Wを撮像する。視覚センサ5は、CCD(Charge Coupled Device)イメージセンサで構成される撮像素子と、レンズを含む光学系とを有する二次元カメラが用いられてもよく、三次元計測ができるステレオカメラ等が用いられてもよい。
【0012】
ロボット制御装置1は、ロボット3のためのロボットプログラムを実行し、ロボット3の動作を制御する。その際、ロボット制御装置1は、視覚センサ制御装置2によって検出された対象物Wの位置に対してロボット3が所定の作業を行うように、ロボット3の動作を補正する。
【0013】
図2は、ロボット制御装置1の構成を示す図である。ロボット制御装置1は、機械学習装置10を備える。なお、ロボット制御装置1は、ロボット3を制御するための一般的な構成を有するが、説明の簡素化のために省略する。機械学習装置10は、ロボット3のために機械学習を行うための装置である。機械学習装置10は、制御部11と、記憶部12と、を備える。
【0014】
制御部11は、CPU(Central Processing Unit)等のプロセッサであり、記憶部12に記憶されたプログラムを実行することによって各種機能を実現する。
【0015】
制御部11は、教示部111と、対象物検出部112と、アノテーション部113と、画像処理部114と、学習部115と、プログラム設定部116と、ビジョン実行部117と、結果取得部118と、追加アノテーション部119と、を備える。
【0016】
記憶部12は、OS(Operating System)やアプリケーションプログラム等を格納するROM(Read Only Memory)、RAM(Random Access Memory)、その他の各種情報を格納するハードディスクドライブやSSD(Solid State Drive)等の記憶装置である。記憶部12は、例えば、ロボットプログラム等の各種情報を記憶する。
【0017】
図3は、機械学習装置10の処理の流れを示すフローチャートである。
ステップS1において、教示部111は、対象物Wの画像の特徴を表すモデルパターンを教示する。
図4は、モデルパターンを教示する処理を示すフローチャートである。
図5は、モデルパターンを教示する例を示す図である。
【0018】
ステップS101において、モデルパターンとして教示したい対象物Wは、視覚センサ5の視野内に配置され、対象物Wの画像Gが撮像される。視覚センサ5と対象物Wとの位置関係は、対象物Wを検出するときと同じになるようにして行うことが望ましい。
【0019】
ステップS102において、教示部111は、撮像された画像Gにおいて対象物Wを含む領域を矩形や円形のモデルパターン指定領域Rとして指定する。
【0020】
ステップS103において、教示部111は、モデルパターン指定領域の範囲内でエッジ点を特徴点として抽出し、エッジ点の位置、姿勢(輝度勾配の方向)、輝度勾配の大きさ等の物理量を求める。また、教示部111は、指定された領域内にモデルパターン座標系を定義し、エッジ点の位置や姿勢を、画像座標系Sで表現された値から、モデルパターン座標系で表現された値に変換する。
【0021】
ステップS104において、抽出されたエッジ点の物理量は、モデルパターンを構成する特徴点として記憶部12に記憶される。なお、本実施形態では、特徴点としてエッジ点を用いたが、例えば周知のSIFTのような特徴点を使用してもよい。
【0022】
図3に戻り、ステップS2において、対象物検出部112は、モデルパターンを用いて、対象物Wを含む1以上の入力画像から対象物Wの画像を検出する。具体的には、先ず、対象物Wの画像を含む1以上の入力画像を用意する。そして、対象物検出部112は、モデルパターンを用いて、対象物Wを含む1以上の入力画像の各々から対象物Wの画像を検出する。
【0023】
ステップS3において、アノテーション部113は、ユーザによる対象物Wの検出結果の判断に基づいて、検出結果に対してラベル(アノテーション)を付与する。
具体的には、ステップS2における対象物Wの検出結果は、ロボット制御装置1に接続された表示装置等に表示される。ユーザは、検出結果を目視によって確認し、検出結果にOK、NG等のラベルを付与する。
図6は、検出結果にラベルを付与する例を示す図である。
図6の例では、アノテーション部113は、2つの画像GにNGのラベルを付与し、6つの画像GにOKのラベルを付与する。
【0024】
例えば、ユーザは、検出結果が誤検出や不良である場合、NGのラベルを付与する。また、ユーザは、検出結果が所定の閾値以上の場合、OKのラベルを付与し、検出結果が所定の閾値未満の場合、NGのラベルを付与してもよい。また、機械学習装置10によって自動で付与されたラベルは、ユーザにより修正されてもよい。なお、上述した説明では、ラベルは、OK及びNGの2つのクラスを有する分類を用いたが、3以上のクラスを有する分類を用いてもよい。
【0025】
ステップS4において、画像処理部114は、入力画像に基づく画像及びラベルを関連付けて、入力画像に基づく画像及びラベルを学習データとする。例えば、画像処理部114は、入力画像から対象物Wを含む部分画像を抽出し、部分画像及びラベルを関連付けて、部分画像及びラベルを学習データとする。
具体的には、画像処理部114は、入力画像から検出した位置及び姿勢において、予め定められた領域の部分画像を抽出する(切り抜く)。
図7は、部分画像を抽出する例を示す図である。
図7の例では、画像処理部114は、画像G1から部分画像G11、G12、G13及びG14を抽出する。そして、画像処理部114は、抽出した部分画像と、ステップS3において付与したラベルとを関連付けて、部分画像及びラベルを学習データとする。
【0026】
ステップS5において、学習部115は、学習データを用いて機械学習を行う。具体的には、学習部115は、学習データの集合である学習データセットを用いて機械学習を行う。
図8は、機械学習の処理を示すフローチャートである。なお、学習モデルは、SVM(Support Vector Machine)やニューラルネットワークを使うことができる。
【0027】
ステップS201において、画像処理部114は、入力画像から対象物Wを含む部分画像の抽出(切り抜き)を行い、部分画像及びラベルを関連付けて、部分画像及びラベルを学習データとする。
ステップS202において、学習部115は、学習モデルに部分画像の各画素値を入力し、一致度(スコア)を計算する。ここで、一致度は、0から1までの値とする。
【0028】
ステップS203において、学習部115は、検出結果のラベルが正解であれば1.0、不正解であれば0.0として、計算した一致度(スコア)との誤差を計算する。
ステップS204において、学習部115は、学習モデルにおいて誤差をフィードバックし、学習モデルのパラメータを更新する。そして、学習部115は、このような処理を、学習に使用する検出結果の個数(N個)と同じ回数繰り返す。
【0029】
図3に戻り、ステップS6において、プログラム設定部116は、ロボット3のためのロボットプログラムにおいて、ビジョン実行命令と、結果取得命令と、アノテーション命令と、学習命令と、を設定する。なお、プログラム設定部116は、ロボットプログラムにおいて、ビジョン実行命令、結果取得命令、アノテーション命令及び学習命令の少なくとも1つを設定してもよい。
【0030】
ここで、ビジョン実行命令(VISION_FIND)は、視覚センサ5により対象物Wを撮像し、撮像された撮像画像から対象物Wを検出又は判定する。結果取得命令(VISION_GET_RESULT)は、対象物Wの検出結果又は判定結果を取得する。アノテーション命令(VISION_ANNOTATE)は、対象物Wの画像の検出結果又は判定結果に基づいて、撮像画像に対してラベルを付与する。学習命令(VISION_LEARNING)は、学習データを用いて機械学習する。
【0031】
このようにロボットプログラムにおいて、機械学習のための各命令を設定することにより、機械学習装置10は、ロボットプログラムから各命令を呼び出すことができる。
【0032】
ステップS7において、ビジョン実行部117は、ロボットプログラムからビジョン実行命令を実行することによって、視覚センサ5により対象物Wを撮像し、撮像された撮像画像から対象物Wを検出又は判定する。なお、本実施形態では、対象物Wの検出は、対象物Wの位置及び姿勢を検出し、検出結果を得ることを示し、対象物Wの判定は、対象物Wを検査し、OK/NGや、種類等の判定結果を得ることを示す。
【0033】
ステップS8において、結果取得部118は、ロボットプログラムから結果取得命令を実行することによって、対象物Wの検出結果又は判定結果を取得する。
【0034】
ステップS9において、追加アノテーション部119は、ロボットプログラムからアノテーション命令を実行することによって、対象物Wの画像の検出結果又は判定結果に基づいて、撮像画像に対してラベルを付与し、新たな学習データを取得する。このようにロボットプログラムからアノテーション命令を実行することができるため、機械学習装置10は、ロボット3を用いるロボットシステム100にとって最適なアノテーションを行うことができる。
【0035】
ステップS10において、学習部115は、ロボットプログラムから学習命令を実行することによって、ステップS9において取得された新たな学習データを用いて機械学習する。
【0036】
上述したビジョン実行命令、結果取得命令、アノテーション命令及び学習命令を含むロボットプログラムは、例えば以下のようになる。なお、括弧内の説明は、ロボットプログラムの各動作を示す。
MOVE_TO PX (位置Xに移動)
VISION_FIND “VP1” (ビジョンプログラムVP1を実行)
VISION_GET_RESULT “VP1” DATA[1] (ビジョンプログラムVP1から判定結果を取得)
IF DATA[1].CONFIDENCE < 30 (判定結果の確信度が30よりも低い場合)
VISION_ANNOTATE(DATA[1], DATA[1].LABEL) (判定結果として学習データを追加)
ENDIF
VISION_LEARNING (学習を実行)
【0037】
なお、上記の例示的なロボットプログラムは、確信度を用いる。確信度が低い学習データを学習することによって、学習モデルの精度をより向上させることができる。なお、確信度は、損失(loss)関数に基づいて算出される。確信度の算出は、既知の手法を用いることができる。
【0038】
また、アノテーション命令は、対象物Wの画像の検出結果に基づいて、ロボット3による把持の成否に応じてラベルを変更してもよい。この場合、ロボットプログラムは、例えば、以下のような処理を実行する。
(1) ロボット3を位置Xに移動する。
(2) ビジョン実行命令を実行し、対象物を検出する。
(3) 結果取得命令を実行し、検出結果を取得する。
(4) ロボット3のアーム4を検出位置へ移動する。
(5) アーム4により対象物Wを把持させる。
(6) 把持が成功したか否かを判定する。
(7) 把持が成功した場合、アノテーション命令は、1(把持成功)のラベルを付与する。
(8) 把持が失敗した場合、アノテーション命令は、0(把持失敗)のラベルを付与する。
(9) (2)~(8)の処理を繰り返す。
(10) 学習命令を実行する。
このような処理を実行することにより、機械学習装置10は、画像及び検出結果を用いて、対象物の把持の成否に応じた学習モデルを得ることができる。
【0039】
また、対象物Wは、別の装置(例えば、精度の高い検査装置)を用いて検査されてもよい。そして、アノテーション命令は、別の装置を用いた対象物Wの検査結果に対してラベルを付与してもよい。この場合、ロボットプログラムは、例えば、以下のような処理を実行する。
(1) ロボット3を位置Xに移動する。
(2) ビジョン実行命令を実行し、対象物を検出する。
(3) 結果取得命令を実行し、検出結果を取得する。
(4) 別の装置において判定(検査)を行う。ユーザによって判定結果をチェックする。
(5) アノテーション命令を実行し、別の装置による判定結果を学習データに入れる。
(6) 学習命令を実行する。
このような処理を実行することにより、機械学習装置10は、画像から対象物Wを判定する学習モデルを得ることができる。そして、機械学習装置10は、学習後に別の装置による判定結果を用いずに、学習モデルのみで判定を行うことができる。
また、アノテーション命令は、対象物Wの検出結果のスコアが所定の閾値未満の場合、検出結果に対してラベルを付与してもよい。この場合、ロボットプログラムは、例えば、以下のような処理を実行する。
(1) ロボット3を位置Xに移動する。
(2) ビジョン実行命令を実行し、対象物を検出する。
(3) 結果取得命令を実行し、検出結果を取得する。
(4) 検出結果のスコアが所定の閾値未満か否かを判定する。
(5) 検出結果のスコアが所定の閾値未満の場合、アノテーション命令において、検出位置を学習データに入れる。
(6) 学習命令を実行する。
このような処理を実行することにより、機械学習装置10は、画像から対象物Wの位置を返す学習モデルを得ることができる。
【0040】
以上説明したように、本実施形態によれば、視覚センサ5を用いるロボット3のための機械学習装置10は、ロボット3のためのロボットプログラムにおいて、ビジョン実行命令と、結果取得命令と、アノテーション命令と、学習命令と、を設定するプログラム設定部116と、ロボットプログラムからビジョン実行命令を実行することによって、視覚センサ5により対象物Wを撮像し、撮像された撮像画像から対象物Wを検出又は判定する、ビジョン実行部117と、ロボットプログラムから結果取得命令を実行することによって、対象物Wの検出結果又は判定結果を取得する結果取得部118と、ロボットプログラムからアノテーション命令を実行することによって、対象物Wの画像の検出結果又は判定結果に基づいて、撮像画像に対してラベルを付与し、新たな学習データを取得する追加アノテーション部119と、ロボットプログラムから学習命令を実行することによって、新たな学習データを用いて機械学習する学習部115と、を備える。
【0041】
これにより、機械学習装置10は、ロボットプログラムによってロボットを動作させながら、アノテーション及び学習を行うことができるため、効率良く機械学習を行うことができる。したがって、機械学習装置10を用いることにより、ロボットシステム100を早期に立ち上げることができる。
【0042】
また、アノテーション命令は、対象物Wの画像の検出結果に基づいて、ロボット3による把持の成否に応じてラベルを変更してもよい。このような処理を実行することにより、機械学習装置10は、画像及び検出結果を用いて、対象物の把持の成否に応じた学習モデルを得ることができる。したがって、機械学習装置10は、ロボット3にとって把持できる確率が高いワークから把持することができる。
【0043】
また、対象物Wは、別の装置を用いて判定され、アノテーション命令は、別の装置を用いた対象物Wの判定結果に対してラベルを付与してもよい。このような処理を実行することにより、機械学習装置10は、画像から対象物Wを判定する学習モデルを得ることができる。そして、機械学習装置10は、学習後に別の装置による判定結果を用いずに、学習モデルのみで判定を行うことができる。
【0044】
また、アノテーション命令は、対象物Wの検出結果のスコアが所定の閾値未満の場合、検出結果に対して前記ラベルを付与する。このような処理を実行することにより、機械学習装置10は、画像から対象物Wの位置を返す学習モデルを得ることができる。したがって、機械学習装置10は、このような学習モデルを用いて効率良く機械学習を行うことができる。
【0045】
また、機械学習装置10は、対象物Wの画像の特徴を表すモデルパターンを教示する教示部111と、モデルパターンを用いて、対象物Wを含む1以上の入力画像から対象物Wの画像を検出する対象物検出部112と、対象物Wの検出結果に基づいて、検出結果に対してラベルを付与するアノテーション部113と、入力画像に基づく画像及びラベルを関連付けて、入力画像に基づく画像及びラベルを学習データとする画像処理部114と、学習データを用いて機械学習を行う学習部115と、を更に備える。これにより、機械学習装置10は、適切な学習を行うことができる。
【0046】
なお、上述した実施形態では、1台の機械学習装置10の場合について説明したが、機械学習装置10が複数台存在する機械学習システムであってもよい。機械学習装置10が複数台存在する場合には、何れかの機械学習装置10が記憶した学習モデルを、他の機械学習装置10との間で共有するようにしてもよい。学習モデルを複数の機械学習装置10で共有するようにすれば、各機械学習装置10において分散して学習を行うことが可能となるので、機械学習システムは、学習の効率を向上させることが可能となる。
【0047】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【符号の説明】
【0048】
1 ロボット制御装置
2 視覚センサ制御装置
3 ロボット
4 アーム
5 視覚センサ
10 機械学習装置
11 制御部
12 記憶部
111 教示部
112 対象物検出部
113 アノテーション部
114 画像処理部
115 学習部
116 プログラム設定部
117 ビジョン実行部
118 結果取得部
119 追加アノテーション部