(57)【要約】【課題】ラベル付け作業を自動化する。【解決手段】本発明の学習装置は、製品の画像を入力とし製品に対する認識結果を出力とする推論モデルから、推論モデルによる認識結果を取得する推論部と、製品の画像及び製品に対する人の行動の画像から、人による認識結果を取得する正解ラベル情報作成部と、推論モデルによる認識結果及び人による認識結果に基づいて、推論モデルを学習する学習部と、を備えることを特徴とする。さらに、推論モデルによる認識結果及び人による認識結果は、製品に対する検査の合否を含むこと、を特徴とする。【選択図】図４
2019197441.tif 000002
【特許請求の範囲】
【請求項１】
製品の画像を入力とし前記製品に対する認識結果を出力とする推論モデルから、前記推論モデルによる認識結果を取得する推論部と、
前記製品の画像及び前記製品に対する人の行動の画像から、前記人による認識結果を取得する正解ラベル情報作成部と、
前記推論モデルによる認識結果及び前記人による認識結果に基づいて、前記推論モデルを学習する学習部と、
を備えることを特徴とする学習装置。
【請求項２】
前記推論モデルによる認識結果及び前記人による認識結果は、
前記製品に対する検査の合否を含むこと、
を特徴とする請求項１に記載の学習装置。
【請求項３】
前記推論モデルによる認識結果及び前記人による認識結果は、
前記製品に対する検査に際し、前記人が把持する前記製品上の位置を含むこと、
を特徴とする請求項２に記載の学習装置。
【請求項４】
前記推論モデルによる認識結果と前記人による認識結果との間の誤差を算出する誤差算出部と、
前記算出した誤差に基づいて、前記推論モデルの学習を継続するか否かを決定する学習継続判定部と、
を備えることを特徴とする請求項３に記載の学習装置。
【請求項５】
前記学習した推論モデルを外部の装置に対して出力する推論モデル出力部を備えること、
を特徴とする請求項４に記載の学習装置。
【請求項６】
学習装置の推論部は、
製品の画像を入力とし前記製品に対する認識結果を出力とする推論モデルから、前記推論モデルによる認識結果を取得し、
前記学習装置の正解ラベル情報作成部は、
前記製品の画像及び前記製品に対する人の行動の画像から、前記人による認識結果を取得し、
前記学習装置の学習部は、
前記推論モデルによる認識結果及び前記人による認識結果に基づいて、前記推論モデルを学習すること、
を特徴とする学習装置の学習方法。
【請求項７】
学習装置の推論部に対し、
製品の画像を入力とし前記製品に対する認識結果を出力とする推論モデルから、前記推論モデルによる認識結果を取得する処理を実行させ、
前記学習装置の正解ラベル情報作成部に対し、
前記製品の画像及び前記製品に対する人の行動の画像から、前記人による認識結果を取得する処理を実行させ、
前記学習装置の学習部に対し、
前記推論モデルによる認識結果及び前記人による認識結果に基づいて、前記推論モデルを学習する処理を実行させること、
を特徴とする学習装置を機能させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【０００２】
近年、少子高齢化に伴う労働人口の減少に伴い、工場、倉庫等では、人工知能及びロボットが活躍する機会が増加している。例えば、製品の検査作業（良品、不良品の判定）に従事していた作業員は、ロボットに代替されつつある。ロボットは、製品を視認し製品を把持したうえで製品が不良品であるか否かを認識し、製品が不良品である場合、製品を検査ライン等から排除する。ロボットにこのような作業をさせるためには、ロボットを制御するソフトウエア（人工知能）を、予め膨大な学習データで学習しておく必要がある。
【０００３】
人工知能が多層構造のニューラルネットワークである場合、いわゆるディープラーニング（Deep Learning）が行われる。教師データを使用するディープラーニングにおいては、膨大な数の学習データを準備する工数に加え、それらの学習データに正解ラベルを付す工数も必要となる。例えば、検査ラインにおいて数万規模の画像が取得され、次に、その画像の製品が良品であったかそれとも不良品であったか等を示すラベルが画像に付される。特許文献１のデータ処理装置は、人の動きを時系列の画像として取得する。当該装置は、第１の時点の画像とその後の第２の時点の画像との間の変化の程度に基づいて、両画像間の画像を新たに抽出する。当該装置は、変化の程度が所定の閾値より小さい場合、新たに抽出した画像に対して、第１の時点の画像に付したラベルと同じラベル、又は、第２の時点の画像に付したラベルと同じラベルを付す。  
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−７６０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のデータ処理装置は、ラベルを付すべき候補となっている画像に対して、どのラベルを付すかの判定をユーザの手動入力によっている（特許文献１の段落００６８、図３）。つまり、特許文献１では、教師データの有効な候補となる画像を取得することについては効果が認められるものの、ラベル付けの工数を削減するためには、別途方策が必要であった。
そこで、本発明は、ラベル付け作業を自動化することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の学習装置は、製品の画像を入力とし製品に対する認識結果を出力とする推論モデルから、推論モデルによる認識結果を取得する推論部と、製品の画像及び製品に対する人の行動の画像から、人による認識結果を取得する正解ラベル情報作成部と、推論モデルによる認識結果及び人による認識結果に基づいて、推論モデルを学習する学習部と、を備えることを特徴とする。
その他の手段については、発明を実施するための形態のなかで説明する。
【発明の効果】
【０００７】
本発明によれば、ラベル付け作業を自動化することができる。
【図面の簡単な説明】
【０００８】
【図１】学習装置が稼働する環境を説明する図である。
【図２】学習装置の構成を説明する図である。
【図３】正解ラベル情報を説明する図である。
【図４】把持可能位置座標及びフレームアウトを説明する図である。
【図５】推論結果情報を説明する図である。
【図６】全体処理手順のフローチャートである。
【図７】製品ＩＤ作成処理手順のフローチャートである。
【図８】正解ラベル情報作成処理手順のフローチャートである。
【図９】推論結果情報作成処理手順のフローチャートである。
【発明を実施するための形態】
【０００９】
以降、本発明を実施するための形態（“本実施形態”という）を、図等を参照しながら詳細に説明する。本実施形態は、製品の検査工程において、ロボットが製品の良／不良を判定し不良品を排除する例である。しかしながら、本発明は、ロボットが物の外観を視認し物を把持した結果に基づき、物に対して動作を行う例に一般的に適用可能である。
【００１０】
（環境）
図１に沿って、本実施形態の学習装置が稼働する環境を説明する。図１は、ある工場の検査ライン６の図である。図１の左右方向にベルトコンベア４が敷設されている。ベルトコンベア４は、図１の左から右の方向へ複数の製品５を搬送している。製品５は、出荷直前の完成品であってもよいし、次の工程に行く直前の中間製品であってもよい。製品５の形状等は一様ではなく、製品５ごとに異なっている。作業員３がベルトコンベア４の前に立っている。
【００１１】
作業員３は、左側から搬送されて来る製品５を目視し、製品の形状、色等を認識する。同時に作業員３は、製品５のある箇所を手で把持し、重量、重心位置、内部構造の固定状態等を認識する。認識の結果、製品５の形状等が所定の基準を満たさないと作業員３が判定した場合、作業員３は、その製品５は不良品であると判定し、不良品をベルトコンベア４の外側の不良品回収ヤード（図示せず）に排除する。製品５の形状等が所定の基準を満たす場合、作業員３は、その製品５は良品であると判定し、製品５がそのままベルトコンベア４上で搬送されて行くのを見送る。
【００１２】
このような作業員３の判定及び動作を、まったく同じようにロボット（図示せず）が行う。ロボットは、人間の全身形状を有するヒューマノイドロボットであってもよいし、人間の腕及び手の部分のみを有するアームロボットであってもよい。製品５及び作業員３の画像を撮像装置２が取得している。撮像装置２は、例えば、３次元ＲＧＢ（Red Green Blue）カメラである。３次元ＲＧＢカメラは、撮像した製品５及び作業員３の手等を、３次元仮想空間内でカラー画像として時系列で再現することができる。
【００１３】
本実施形態の学習装置は、撮像装置２が取得した画像から正解ラベル情報（詳細後記）を作成し、正解ラベル情報を学習データとして使用して推論モデル（詳細後記）を学習する。さらに、学習装置は、学習済みの推論モデルを使用してロボットを制御する。つまり、ロボットが製品の良／不良を判定する基準、及び、ロボットが把持する製品の位置は、推論モデルによって決定される。
【００１４】
（推論モデル）
本実施形態の推論モデル３１（図２）は、例えば、入力層、出力層及び複数の中間層を有するニューラルネットワーク（図示せず）である。入力層は、製品の画像を受け付ける。出力層は、良／不良の判定結果、及び、製品の把持可能位置座標を出力する。公知のように、入力層、中間層及び出力層は、複数のノード（人間の神経細胞に相当）を有している。あるノードがある情報量を受け取ると、その情報量のうちある部分を次の層のあるノードに伝搬する。どれだけの情報量をどのノードに伝搬するかという情報（重みベクトル）を、それぞれのノードが保有している。推論モデル３１を学習することは、それぞれのノードについて重みベクトルの成分を最適化することに相当する。以降、本実施形態では、それぞれのノードの重みベクトルを総称して“パラメータ”と呼ぶ。
【００１５】
（学習装置の構成）
図２に沿って、学習装置１の構成を説明する。学習装置１は、一般的なコンピュータであり、中央制御装置１１、キーボード、タッチパネル等の入力装置１２、ディスプレイ等の出力装置１３、主記憶装置１４、補助記憶装置１５及び画像取得装置１６を備える。これらは、バスで相互に接続されている。補助記憶装置１５は、推論モデル３１、正解ラベル情報３２及び推論結果情報３３（いずれも詳細後記）を格納している。
【００１６】
主記憶装置１４における、推論部２１、正解ラベル情報作成部２２、学習部２３、製品検出部２４、誤差算出部２５、学習継続判定部２６及び推論モデル出力部２７は、プログラムである。以降において、“○○部は”と動作主体を記した場合、それは、中央制御部１１が補助記憶装置１５から“○○部”を読み出して主記憶装置１４にロードしたうえで、後記する処理を実行することを意味する。撮像装置２は、検査ライン６のベルトコンベア４上の製品５及び作業員３（図２には図示せず）を撮像する。撮像装置２は、有線又は無線のネットワーク７を介して、撮像した画像を学習装置１に送信する。学習装置１の画像取得装置１６は、画像を受信する。
【００１７】
（正解ラベル情報）
図３に沿って、正解ラベル情報３２を説明する。正解ラベル情報３２は、撮像時点欄１０１に記憶された撮像時点に関連付けて、画像保存位置欄１０２には画像保存位置が、製品ＩＤ（Identifier）欄１０３には製品ＩＤが、製品位置座標欄１０４には製品位置座標が、判定結果欄１０５には判定結果が、把持可能位置座標欄１０６には把持可能位置座標が記憶されている。なお、機械学習の分野において、手本とすべきデータ（教師データ）を特定することを、一般に、“データに正解ラベルを付す”のように表現することが多い。このことが、ここでの“正解ラベル情報”の命名根拠である。
【００１８】
撮像時点欄１０１の撮像時点は、撮像装置２が製品の画像を取得した時点の時分秒である。撮像時点は、製品の画像を取得した時点の年月日を含んでもよい。
画像保存位置欄１０２の画像保存位置は、製品の画像が記憶されている位置を示す情報である。製品の画像は、学習装置１の補助記憶装置１５に記憶されてもよいし、他の外部装置に記憶されてもよい。
製品ＩＤ欄１０３の製品ＩＤは、製品を一意に特定する識別子である。
【００１９】
製品位置座標欄１０４の製品位置座標は、撮像装置２の画面における製品の位置を示す座標値である。例えば“（Ｘ１，Ｙ１，Ｘ２，Ｙ２）”は、点（Ｘ１，Ｙ１）及び点（Ｘ２，Ｙ２）を結ぶ線分を対角線として有する長方形を意味する。ここで製品位置座標を２次元としたのは、説明の単純化のためであり、製品位置座標は、３次元であってもよい。
判定結果欄１０５の判定結果は、“０”又は“１”のいずれかである。“０”は、不良品を示し、“１”は良品を示す。ここでの判定結果は、作業員による判定の結果である。作業員が製品を排除した場合、判定結果は“０”となり、排除せずに見送った場合、判定結果は“１”となる（詳細後記）。なお、請求項の“検査の合否”には、ここでの判定結果が相当する。
【００２０】
把持可能位置座標欄１０６の把持可能位置座標は、撮像装置２の画面のうちその製品を切り出した部分画面における製品の把持可能位置を示す座標値である。つまり、製品位置座標をグローバル座標とした場合、把持可能位置座標は、ローカル座標であるといえる。もちろん、この例以外に、把持可能位置座標が、製品位置座標と同じグローバル座標であってもよい。把持可能位置とは、作業員が製品を検査する目的でその製品を手で掴む位置である。把持可能位置は、１つの製品について通常２つ以上存在する。これらの把持可能位置は、手の関節位置に対応する（図４の符号４１参照）。ここでの把持可能位置座標を２次元としたのは、説明の単純化のためであり、把持可能位置座標は、３次元であってもよい。ここでの把持可能位置座標は、作業員の動作の結果である。
なお、請求項における“人による認識結果”には、図３における判定結果及び把持可能位置座標が相当する。
【００２１】
製品は相当の重量を有する。したがって、作業員は、落下させにくい位置で製品を把持しなければならない。また、不完全な把持によって製品の不良箇所がさらに増える場合もある。したがって、作業員は、構造上頑強な位置で製品を把持しなければならない。さらに、作業員は、製品の必要箇所を短時間かつ１度の動作で検査することを要求されている。したがって、作業員は、持ち替える必要のない位置で製品を把持しなければならない。熟練した作業員は、経験的にこれらの位置を知っている。
【００２２】
図３から、例えば以下のことがわかる。
・撮像装置２は、１２時００分００秒、１２時００分０１秒、１２時００分０２秒及び１２時００分０３秒において１枚ずつ、計４枚の画像を取得した。
・１２時００分００秒の画像には、製品は写っていなかった。
・１２時００分０１秒の画像には、製品Ｐ００１が写っていた。作業員は、２つの位置“（Ｘ３，Ｙ３）”及び“（Ｘ４，Ｙ４）”で製品Ｐ００１に接触し始めた。なお、“接触”は、“把持”の初期段階である。
【００２３】
・１２時００分０２秒の画像には、製品Ｐ００１、Ｐ００２及びＰ００３が写っていた。
・１２時００分０２秒において、作業員は、前記した２つの位置に加えてさらに４つの位置“（Ｘ７，Ｙ７）”、“（Ｘ８，Ｙ８）”、“（Ｘ９，Ｙ９）”及び“（Ｘ１０，Ｙ１０）”で製品Ｐ００１に接触した（握った）。作業員は、製品Ｐ００１を不良品回収ヤードに排除した。
・１２時００分０２秒において、作業員は、２つの位置“（Ｘ１３，Ｙ１３）”及び“（Ｘ１４，Ｙ１４）”で製品Ｐ００２に接触した（摘まんだ）。作業員は、製品Ｐ００２は良品であると判定した。
・１２時００分０２秒において、作業員は、２つの位置“（Ｘ１７，Ｙ１７）”及び“（Ｘ１８，Ｙ１８）”で製品Ｐ００３に接触した（摘まんだ）。作業員は、製品Ｐ００３は良品であると判定した。
【００２４】
・撮像装置２は、その光軸及び画角を固定することによって撮像画面を固定している。そして、その撮像画面上を時系列で製品が移動している。例えば、１２時００分０１秒から１２時００分０２秒までの間に、製品Ｐ００１は“（Ｘ１，Ｙ１，Ｘ２，Ｙ２）”から“（Ｘ５，Ｙ５，Ｘ６，Ｙ６）”に移動している。１２時００分０２秒から１２時００分０３秒までの間に、製品Ｐ００３は“（Ｘ１５，Ｙ１５，Ｘ１６，Ｙ１６）”から“（Ｘ１９，Ｙ１９，Ｘ２０，Ｙ２０）”に移動している。この間、作業員は、製品Ｐ００３を同じ位置“（Ｘ１７，Ｙ１７）”及び“（Ｘ１８，Ｙ１８）”で把持し続けている（欄１０６のローカル座標は変化していない）。
【００２５】
（把持可能位置座標）
図４に沿って、把持可能位置座標及びフレームアウトを説明する。作業員が、自身の手を製品５に接触させている（図４の上図）。この図では、作業員は製品５に触れているだけであるが、作業員は、製品５を握りしめ、持ち上げることもある。このとき、関節４１が製品５に接触する位置が把持可能位置である。製品５が良品であると作業員が判定すると、作業員は製品５から手を離す。すると、図５の下図のように、製品５は、画面の右側４２に消えて行く（フレームアウト）。
【００２６】
（推論結果情報）
図５に沿って、推論結果情報３３を説明する。推論結果情報３３の構成は、正解ラベル情報３２（図３）と同じである。しかしながら、推論結果情報３３の各欄のデータは、正解ラベル情報３２の同じ欄のデータと、以下の点で異なる。
【００２７】
・図３の判定結果（欄１０５）は、前記したように作業員による判定に基づく。他方、図５の判定結果（欄１１５）は、推論部２１が推論モデル３１に製品の画像を入力したことを受け推論モデルが出力した出力値に基づく。
・図３の把持可能位置座標（欄１０６）は、前記したように作業員による動作に基づく。他方、図５の把持可能位置座標（欄１１６）は、推論部２１が推論モデルに製品の画像を入力したことを受け推論モデルが出力した出力値に基づく。
なお、請求項における“推論モデルによる認識結果”には、図５における判定結果及び把持可能位置座標が相当する。
【００２８】
（全体処理手順）
図６に沿って、全体処理手順を説明する。
ステップＳ２０１において、学習装置１の推論部２１は、未学習の推論モデル３１を準備する。具体的には、推論部２１は、パラメータが未だ学習されていない推論モデル３１を準備する。
【００２９】
ステップＳ２０２において、学習装置１の正解ラベル情報作成部２２は、作業員に検査指示を送信する。具体的には、正解ラベル情報作成部２２は、作業員が携帯している端末装置等に、検査作業を開始する旨の指示を送信する。
【００３０】
ステップＳ２０３において、学習装置１の学習部２３は、推論モデル３１に初期パラメータを入力する。具体的には、学習部２３は、例えば、乱数表を使用して無作為的に作成したパラメータを推論モデル３１に入力する。
ステップＳ２０３が終了した段階で、撮像装置２は製品を撮像した画像を、１フレームずつ学習装置１に送信する。学習装置１の画像取得装置１６は、画像を１フレームずつ受信する。
【００３１】
ステップＳ２０４において、学習装置１の製品検出部２４は、製品ＩＤ等を作成する。ステップＳ２０４の詳細は、製品ＩＤ作成処理手順（図７）として後記する。ここでは結果的に、製品検出部２４は、ベルトコンベア４上を流れる製品に対して付与した製品ＩＤ、画像保存位置、撮像時点及び製品位置座標を取得したものとする。ステップＳ２０４の段階では、図３の正解ラベル情報３２の１本のレコード（欄１０５及び欄１０６は空欄である）が新たに作成され、図５の推論結果情報３３の１本のレコード（欄１１５及び欄１１６は空欄である）が新たに作成されていることになる。
【００３２】
ステップＳ２０５において、学習装置１の正解ラベル情報作成部２２は、正解ラベル情報３２を作成する。ステップＳ２０５の詳細は、正解ラベル情報作成処理手順（図８）として後記する。ここでは結果的に、正解ラベル情報作成部２２は、図３の正解ラベル情報３２の１本のレコード（すべての欄が埋まったもの）を完成したことになる。
【００３３】
ステップＳ２０６において、学習装置１の推論部２１は、推論結果情報３３を作成する。ステップＳ２０６の詳細は、推論結果情報作成処理手順（図９）として後記する。ここでは結果的に、推論部２１は、図５の推論結果情報３３の１本のレコード（すべての欄が埋まったもの）を完成したことになる。
【００３４】
ステップＳ２０７において、学習装置１の学習部２３は、搬送された製品の数が第１の基準値を超えたか否かを判断する。第１の基準値とは、推論モデルのパラメータを固定した状態で推論モデルに判定結果及び把持可能位置座標を推定させる学習データの数である。例えて言えば、第１の基準値は、教師が生徒に課する１回のテストの問題数に相当する。
【００３５】
学習部２３は、ステップＳ２０４において作成した製品ＩＤの個数（第１のカウンタ値）をカウントしておく。学習部２３は、第１のカウンタ値が第１の基準値に達した場合（ステップＳ２０７“Ｙｅｓ”）、この時点までに蓄積された推論結果情報３３及び正解ラベル情報３２を補助記憶装置１５に記憶し、第１のカウンタ値を“０”に戻したうえでステップＳ２０８に進む。推論結果情報３３及び正解ラベル情報３２は、それぞれ、テストの答案及び解答に相当する。学習部２３は、それ以外の場合（ステップＳ２０７“Ｎｏ”）、ステップＳ２０４に戻る。
【００３６】
いま、第１の基準値が“１００”であるとする。すると、搬送された製品の累積個数が１００個を超えた場合、学習部２３は、ステップＳ２０８に進む。その後しばらく学習部２３は、ステップＳ２０４に戻り続ける。次に学習部２３がステップＳ２０８に進むのは、搬送された製品の累積個数が２００個を超えた場合である。
【００３７】
ステップＳ２０８において、学習部２３は、パラメータが変化した回数が第２の基準値に達したか否かを判断する。学習部２３は、ステップＳ２０３又はＳ２０９を経由する回数（第２のカウンタ値）をカウントしておく。学習部２３は、第２のカウンタ値が第２の基準値に達した場合（ステップＳ２０８“Ｙｅｓ”）、第２のカウンタ値を“０”に戻したうえでステップＳ２１０に進む。学習部２３は、それ以外の場合（ステップＳ２０８“Ｎｏ”）、ステップＳ２０９に進む。例えて言えば、第２の基準値は、教師が生徒に課するテストの回数に相当する。いま、第２の基準値が“５０”であるとする。すると、搬送された製品の累積個数が５０００個を超えるまでは、学習部２３は、ステップＳ２０９に進む。その間にパラメータは初期値も含め５０の異なる値を取る。
【００３８】
ステップＳ２０９において、学習部２３は、新たなパラメータを作成する。具体的には、学習部２３は、例えば、乱数表を使用して無作為的に作成したパラメータを推論モデルに入力する。なお、このとき、学習部２３は、遺伝的アルゴリズムを使用してパラメータを作成してもよい（詳細後記）。その後、学習部２３は、ステップＳ２０３に戻る。
【００３９】
なお、ステップＳ２０３〜Ｓ２０９のループの繰り返し回数が少ないうちは、推論結果情報３３における判定結果及び把持可能位置座標と、正解ラベル情報３２における判定結果及び把持可能位置座標との誤差は大きい。但し、この段階では、ロボットが推論モデルを使用して実際に検査を行っているわけではないので、実害はない。
【００４０】
ステップＳ２１０において、学習装置１の誤差算出部２５は、複数の推論結果情報３３の誤差を算出する。ステップＳ２１０の段階で、補助記憶装置１５は、推論結果情報３３を５０個記憶し、それらのそれぞれに対応する正解ラベル情報３２を５０個記憶していることになる。そこで、誤差算出部２５は、“（ｓｉ，Ｐｉ，ｅ１ｉ，ｅ２ｉ）”というデータの組合せを５０個作成する。“ｓｉ”は、ｉ番目の推論結果情報を意味する（ｉ＝１、２、３、・・・、５０）。“Ｐｉ”は、ｉ番目の推論モデルのパラメータを示す。“Ｐｉ”は、例えば、ノード数×各ノードのパラメータ数の行列型式を有する。
【００４１】
“ｅ１ｉ”は、ｉ番目の推論結果情報の判定結果をｉ番目の正解ラベル情報の判定結果と比較した場合の、両者が相違する度数（製品の数）である。なお、０≦ｅ１ｉ≦１００が成立する。“ｅ２ｉ”は、ｉ番目の推論結果情報の把持可能位置座標をｉ番目の正解ラベル情報の把持可能位置座標と比較した場合の、両者が相違する度数である。なお、０≦ｅ２ｉ≦１００が成立する。把持可能位置座標は複数存在する場合もある。そこで、誤差算出部２５は、推論結果情報の把持可能位置座標のすべてが、正解ラベル情報の把持可能位置座標のいずれからも所定の閾値以上離れている場合、両者が相違すると看做す。当然のことながら、５０個の組合せのうち、ｅ１ｉ及びｅ２ｉが最小となるような“Ｐｉ”が、推論モデルのパラメータとして相応しい。“ｅ１ｉ”及び“ｅ２ｉ”を誤差と呼ぶ。
【００４２】
ステップＳ２１１において、誤差算出部２５は、誤差が最小である推論モデルのパラメータを特定する。具体的には、誤差算出部２５は、“Ｐｉ”（ｉ＝１、２、３、・・・、５０）のうちから、“Ｅｉ＝ｗ１×ｅ１ｉ＋ｗ２×ｅ２ｉ”が最小となるものを特定する。“ｗ１”及び“ｗ２”は、誤差評価用の重みである。なお、“０≦ｗ１≦１，０≦ｗ２≦１，ｗ１＋ｗ２＝１”が成立する。
【００４３】
ステップＳ２１２において、学習装置１の学習継続判定部２６は、誤差が閾値以下であるか否かを判断する。具体的には、学習継続判定部２６は、ステップＳ２１１において特定した推論モデルのパラメータの誤差Ｅｉが所定の閾値以下である場合（ステップＳ２１２“Ｙｅｓ”）、ステップＳ２１３に進む。学習継続判定部２６は、それ以外の場合（ステップＳ２１２“Ｎｏ”）、ステップＳ２０９に戻る。
【００４４】
ステップＳ２１３において、学習装置１の推論モデル出力部２７は、推論モデルをロボットに送信する。具体的には、推論モデル出力部２７は、ロボットに対して、推論モデル及びステップＳ２１１において特定した推論モデルのパラメータを送信する。ロボットが直ちに検査を行う必要がない場合もある。その場合、推論モデル出力部２７は、ステップＳ２１１において特定した推論モデルのパラメータを補助記憶装置１５に格納してもよいし、任意の外部の装置に送信してもよい。
【００４５】
ステップＳ２１４において、推論モデル出力部２７は、ロボットに検査指示を送信する。具体的には、推論モデル出力部２７は、ロボットに対して、ステップＳ２１３において送信した推論モデル及び推論モデルのパラメータを使用して検査を行う旨の指示を送信する。
【００４６】
ステップＳ２１５において、学習装置１の正解ラベル情報作成部２２は、作業員に休止指示を送信する。その後、全体処理手順を終了する。
【００４７】
（遺伝的アルゴリズム等）
ステップＳ２１２“Ｎｏ”を経由してステップＳ２０９に戻る場合、組合せ“（ｓｉ，Ｐｉ，ｅ１ｉ，ｅ２ｉ）”が複数取得されていることになる。そこで、学習装置１の学習部２３は、これらの組合せのうち、“Ｅｉ”の値が最小であるもののパラメータＰｉ、及び、２番目に小さいもののパラメータＰｉ（両親）を選択し、この両親を掛けあわせて新たなパラメータＰｉ（子）を作成してもよい。
【００４８】
（製品ＩＤ作成処理手順）
図７に沿って、製品ＩＤ作成処理手順を説明する。製品ＩＤ作成処理手順は、ステップＳ２０４の詳細である。
ステップＳ３０１において、学習装置１の製品検出部２４は、画像に製品が存在するか否かを判断する。具体的には、第１に、製品検出部２４は、撮像装置２から製品の画像を取得する。
第２に、製品検出部２４は、撮像装置２が取得した画像中に少なくとも１つの製品が存在する場合（ステップＳ３０１“Ｙｅｓ”）、ステップＳ３０２に進み、それ以外の場合（ステップＳ３０１“Ｎｏ”）、製品ＩＤ作成処理手順を終了する。
【００４９】
ステップＳ３０２において、製品検出部２４は、検出した製品が直前の画像に存在するか否かを判断する。具体的には、製品検出部２４は、製品が直前の（１フレーム前の）画像に存在する場合（ステップＳ３０２“Ｙｅｓ”）、ステップＳ３０３に進み、それ以外の場合（ステップＳ３０２“Ｎｏ”）、ステップＳ３０４に進む。なお、製品検出部２４は、製品の同一性を判断するに際して、テンプレートマッチング、Mean-shift法等の領域ベースの追跡手法を使用してもよいし、SURF Tracking等の特徴点ベースの追跡手法を使用してもよい。
【００５０】
ステップＳ３０３において、製品検出部２４は、同一の製品ＩＤを付与する。具体的には、製品検出部２４は、その製品に対して既に付されている製品ＩＤを当該製品に付与する。
【００５１】
ステップＳ３０４において、製品検出部２４は、新たな製品ＩＤを付与する。具体的には、製品検出部２４は、新たな製品ＩＤを採番したうえで、その製品に対して新たな製品ＩＤを付与する。
【００５２】
ステップＳ３０５において、製品検出部２４は、製品ＩＤ等を送信する。具体的には、第１に、製品検出部２４は、ステップＳ３０１の“第１”において取得した画像から個々の製品の画像を切り出し、切り出した画像の製品位置座標（対角線の両端点の座標値）を求める。
第２に、製品検出部２４は、正解ラベル情報３２（図３）の新たなレコードを作成し、新たなレコードに、撮像時点、画像保存位置、製品ＩＤ及び製品位置座標を記憶する。製品検出部２４は、新たなレコードの判定結果欄１０５及び把持可能位置座標欄１０６を空白のままとする。
【００５３】
第３に、製品検出部２４は、推論結果情報３３（図５）の新たなレコードを作成し、新たなレコードに、撮像時点、画像保存位置、製品ＩＤ及び製品位置座標を記憶する。製品検出部２４は、新たなレコードの判定結果欄１１５及び把持可能位置座標欄１１６を空白のままとする。その後、製品ＩＤ作成処理手順を終了する。
【００５４】
製品検出部２４は、製品ＩＤ作成処理手順を、あるフレームの画像内のすべての製品について繰り返す。さらに、製品検出部２４は、製品ＩＤ作成処理手順を、撮像装置２から受信したフレームごとに繰り返す。
【００５５】
（正解ラベル情報作成処理手順）
図８に沿って、正解ラベル情報作成処理手順を説明する。正解ラベル情報作成処理手順は、ステップＳ２０５の詳細である。
ステップＳ４０１において、学習装置１の正解ラベル情報作成部２２は、関節を抽出する。具体的には、正解ラベル情報作成部２２は、作業員の指関節の位置座標を取得する。
【００５６】
ステップＳ４０２において、正解ラベル情報作成部２２は、製品に関節が接触しているか否かを判断する。具体的には、正解ラベル情報作成部２２は、関節の少なくとも１つが製品に接触している場合（ステップＳ４０２“Ｙｅｓ”）、ステップＳ４０３に進み、それ以外の場合（ステップＳ４０２“Ｎｏ”）、ステップＳ４０４に進む。
【００５７】
ステップＳ４０３において、正解ラベル情報作成部２２は、把持可能位置座標を記憶する。具体的には、正解ラベル情報作成部２２は、ステップＳ３０５の“第２”において作成した正解ラベル情報３２（図３）の新たなレコードの把持可能位置座標欄１０６に、製品と接触している関節の位置情報を記憶する。
【００５８】
ステップＳ４０４において、正解ラベル情報作成部２２は、直前の画像内で検出されたすべての製品が現在の画像内に存在するか否かを判断する。具体的には、正解ラベル情報作成部２２は、直前の画像内で検出されたすべての製品が現在の画像内に存在する場合（ステップＳ４０４“Ｙｅｓ”）、正解ラベル情報作成処理手順を終了する。正解ラベル情報作成部２２は、それ以外の場合（ステップＳ４０４“Ｎｏ”）、ステップＳ４０５に進む。
【００５９】
ステップＳ４０５において、正解ラベル情報作成部２２は、存在しなくなった製品を特定する。具体的には、正解ラベル情報作成部２２は、直前の画像において存在していた製品のうち、現在の画像において存在しなくなった製品を特定する。ここで特定された製品を“消滅製品”と呼ぶ。
【００６０】
ステップＳ４０６において、正解ラベル情報作成部２２は、製品がフレームアウトしたか否かを判断する。具体的には、第１に、正解ラベル情報作成部２２は、消滅製品がフレームアウトしたものであるか否かを判断する。“フレームアウト”とは、消滅製品が直前の画像において画像フレームの右辺（ベルトコンベアの下流側）に掛っていること、又は、掛らないまでも右辺から所定の距離内にあることを意味する（図４の符号４２参照）。製品がフレームアウトすることは、作業員がその製品は良品であると判定し、ベルトコンベア４上を右に流れて行くのを見送ったことを意味する。製品がフレームアウトしないことは、作業員がその製品を不良品であると判定し、ベルトコンベア４上から排除したことを意味する。
【００６１】
第２に、正解ラベル情報作成部２２は、消滅製品がフレームアウトした場合（ステップＳ４０６“Ｙｅｓ”）、ステップＳ４０７に進み、それ以外の場合（ステップＳ４０６“Ｎｏ”）、ステップＳ４０８に進む。
【００６２】
ステップＳ４０７において、正解ラベル情報作成部２２は、製品は良品であると判定する。具体的には、正解ラベル情報作成部２２は、ステップＳ３０５の“第２”において作成した正解ラベル情報３２の新たなレコードの判定結果欄１０５に、“１”を記憶する。その後、正解ラベル情報作成処理手順を終了する。
【００６３】
ステップＳ４０８において、正解ラベル情報作成部２２は、製品は不良品であると判定する。具体的には、正解ラベル情報作成部２２は、ステップＳ３０５の“第２”において作成した正解ラベル情報３２の新たなレコードの判定結果欄１０５に、“０”を記憶する。その後、正解ラベル情報作成処理手順を終了する。
正解ラベル情報作成部２２は、正解ラベル情報作成処理手順を、あるフレームの画像内のすべての製品について繰り返す。さらに、正解ラベル情報作成部２２は、正解ラベル情報作成処理手順を、撮像装置２から受信したフレームごとに繰り返す。
【００６４】
（推論結果情報作成処理手順）
図９に沿って、推論結果情報作成処理手順を説明する。推論結果情報作成処理手順は、ステップＳ２０６の詳細である。
ステップＳ５０１において、学習装置１の推論部２１は、判定結果を推定する。具体的には、推論部２１は、製品の画像を推論モデル３１に入力する。すると、推論モデルは、判定結果として“１”又は“０”を出力する。推論部２１は、判定結果を受け付ける。
【００６５】
ステップＳ５０２において、推論部２１は、把持可能位置座標を推定する。具体的には、推論部２１は、製品の画像を推論モデル３１に入力する。すると、推論モデルは、把持可能位置座標を出力する。推論部２１は、把持可能位置座標を受け付ける。
【００６６】
ステップＳ５０３において、推論部２１は、判定結果及び把持可能位置座標を記憶する。具体的には、第１に、推論部２１は、ステップＳ３０５の“第３”において作成した推論結果情報３３（図５）の新たなレコードの判定結果欄１１５に、ステップＳ５０１において受け付けた判定結果を記憶する。
第２に、推論部２１は、新たなレコードの把持可能位置座標欄１１６に、ステップＳ５０２において受け付けた把持可能位置座標を記憶する。
その後、推論結果情報作成処理手順を終了する。
推論部２１は、推論結果情報作成処理手順を、あるフレームの画像内のすべての製品について繰り返す。さらに、推論部２１は、推論結果情報作成処理手順を、撮像装置２から受信したフレームごとに繰り返す。
【００６７】
（本実施形態の効果）
本実施形態の学習装置の効果は以下の通りである。
（１）学習装置は、学習データに対するラベル付けを自動化することができる。
（２）学習装置は、製品の良／不良を判定することができる。
（３）学習装置は、製品を把持する位置を決定することができる。
（４）学習装置は、誤差が小さい推論モデルを作成することができる。
（５）学習装置は、推論モデルをロボット等に出力することができる。
【００６８】
なお、本発明は前記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、前記した実施例は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００６９】
また、前記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウエアで実現してもよい。また、前記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウエアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００７０】
１      学習装置
２      撮像装置
３      作業員
４      ベルトコンベア
５      製品
６      検査ライン
１１    中央制御装置
１２    入力装置
１３    出力装置
１４    主記憶装置
１５    補助記憶装置
１６    画像取得装置
２１    推論部
２２    正解ラベル情報作成部
２３    学習部
２４    製品検出部
２５    誤差算出部
２６    学習継続判定部
２７    推論モデル出力部
３１    推論モデル
３２    正解ラベル情報
３３    推論結果情報
【図１】
2019197441.tif 000003
【図２】
2019197441.tif 000004
【図３】
2019197441.tif 000005
【図４】
2019197441.tif 000006
【図５】
2019197441.tif 000007
【図６】
2019197441.tif 000008
【図７】
2019197441.tif 000009
【図８】
2019197441.tif 000010
【図９】
2019197441.tif 000011