(57)【要約】【課題】効率的且つ精度の良い自動仕分け作業を実現するための仕分けシステムを提供すること。【解決手段】本発明の仕分けシステム１は、作業者が仕分け対象物を仕分けた結果を示す仕分けデータを入力する入力装置５０と、仕分け対象物の測定データに対する仕分けデータを学習する機械学習装置１００と、機械学習装置１００による学習結果の適性を判定する学習結果適性判定部３０と、学習結果適性判定部による判定の結果に基づいて、仕分け対象物の仕分け動作を切り換える仕分け制御切り換え部３２と、仕分け対象物を仕分けるための制御情報を生成する制御部３４とを備える。【選択図】図２
2019076819.tif 000002
【特許請求の範囲】
【請求項１】
仕分けの対象となる仕分け対象物の状態を測定装置により測定して得られた測定データに基づいて前記仕分け対象物を仕分けるための制御情報を生成する仕分けシステムであって、
作業者が前記仕分け対象物を仕分けた仕分け結果を示す仕分けデータを入力する入力装置と、
前記測定データに対する前記仕分けデータを学習する機械学習装置と、
前記入力装置から入力された仕分け対象物の仕分け結果と、前記機械学習装置の学習の結果を用いて判定された前記仕分け対象物の仕分け結果とに基づいて、前記機械学習装置による学習結果の適性を判定する学習結果適性判定部と、
前記学習結果適性判定部による判定の結果に基づいて、前記仕分け対象物の仕分け動作を切り換える仕分け制御切り換え部と、
前記仕分け対象物を仕分けるための制御情報を生成する制御部と、
を備え、
前記仕分け制御切り換え部は、前記機械学習装置の学習結果の適性が事前に指定した基準に適合した場合には、前記仕分け対象物の自動仕分けを行なうように前記制御部の動作を切り換え、
前記機械学習装置の学習結果の適性が事前に指定した基準に適合していない場合には、前記仕分け対象物の自動仕分けを行なわないように前記制御部の動作を切り換える、
ことを特徴とする仕分けシステム。
【請求項２】
前記学習結果適性判定部は、前記入力装置から入力された仕分け対象物の仕分け結果と、前記機械学習装置の学習の結果とに基づく統計的処理の結果が予め定めた第１の所定基準以上である場合に、前記機械学習装置の学習結果の適性が事前に指定した基準に適合していると判定する、
請求項１に記載の仕分けシステム。
【請求項３】
前記学習結果適性判定部は、前記入力装置から入力された仕分け対象物の仕分け結果と、前記機械学習装置の学習の結果とに基づく統計的処理の結果が予め定めた第３の所定基準以上である場合に、前記機械学習装置に対して学習を停止するように指令する、
請求項１または２に記載の仕分けシステム。
【請求項４】
前記学習結果適性判定部は、前記入力装置から入力された仕分け対象物の仕分け結果と、前記機械学習装置の学習の結果とに基づく統計的処理の結果が予め定めた第５の所定基準以下である場合に、前記機械学習装置に対して今までの学習結果を破棄して新たに学習を開始するように指令する、
請求項１〜３のいずれか１つに記載の仕分けシステム。
【請求項５】
前記機械学習装置は、前記測定データに加え、更に、前記仕分け対象物の仕分けを補足する仕分け関連情報を観測可能であり、
前記測定データ及び前記仕分け関連情報の双方に対する前記仕分けデータを学習する、
請求項１〜４のいずれか１つに記載の仕分けシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仕分けシステムに関し、特に機械学習で仕分け工程の工数を逐次削減する仕分けシステムに関する。
【背景技術】
【０００２】
人間が目視で行っているワーク（生産物）の仕分け（良品と不良品の分類等）を自動化したいという要望がある。この要望に応えるため、ワークの仕分けを行なうために、ワークの画像や重量などの物理量を測定し、測定した結果に基づいて当該ワークの良／不良を判定する仕分けシステムが開発されてきた。
【０００３】
ワークの仕分けに係る従来技術として、収集した欠陥画像データの特徴量を算出し教師画像とのユークリッド距離を用いて順次分類を確定させることで、基板の欠陥を自動的に分類するための教師データを作成することが行われている（例えば、特許文献１）。また、撮影した欠陥候補の良否が不明の場合には作業者に良否を入力させ、欠陥候補の特徴量を元に分類用閾値を更新することで、欠陥分類及び合否判定精度を装置の使用と共に向上させることが行われている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１５８３７３号公報
【特許文献２】特開２０１５−１３７９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術に示されるように、ワークの仕分け方法として機械学習を用いるためには、まず学習器を作る必要がある。現状では、学習器を作るには、仕分け区分毎の画像や重量等の物理情報を大量に溜め、アノテーション（ワークが属する区分を教える事）を行い、学習データを用意する必要がある。
【０００６】
学習データ作成の概念図を図７に示す。図７に示す要因、作成した区分に精度良くワークを仕分けできるような学習を行うためには、区分毎のサンプルを相当量用意する必要があり、実際に自動的な仕分けを行えるようになるまでのハードルが高いため、仕分けを行う現場に機械学習を採用し難いという課題がある。
【０００７】
このような課題に対して、特許文献１，２に開示される技術では、自動仕分けの工程内に作業者による目視検査を組み込み、その評価結果を再学習させるようにしている。特許文献１，２に開示される技術は仕分けの初期工程から学習器の結果を活用し、分類結果の正誤を目視で確認する。この方法では、学習器の精度が十分でない初期工程等において誤分類したワークに対する仕分けの差し戻しが多数発生するため、効率的に仕分け工程を進めることができない。
【０００８】
そこで本発明の目的は、効率的且つ精度の良い自動仕分け作業を実現するための仕分けシステムを提供することである。
【課題を解決するための手段】
【０００９】
本発明の仕分けシステムは、仕分け対象物の像が映った入力画像や重量等の物理情報を元に作業者が人手で分類した分類結果を取得して該入力画像や該物理情報と該分類結果とを関連付けし、関連付けした入力画像や物理情報と分類結果の情報を使って作業者による人手での作業と並行して機械学習を進め、学習の結果を用いて随時仮分類を行い、作業者による人手での分類結果と比較する。そして、比較した結果、作業者による人手での分類結果と、機械学習装置での分類結果との一致率や連続一致回数が所定の閾値を越えた時点で作業者に対して人手での作業の終了を通知し、以降は機械学習装置による自動仕分けを行う。
【００１０】
そして、本発明の一態様は、仕分けの対象となる仕分け対象物の状態を測定装置により測定して得られた測定データに基づいて前記仕分け対象物を仕分けるための制御情報を生成する仕分けシステムであって、作業者が前記仕分け対象物を仕分けた仕分け結果を示す仕分けデータを入力する入力装置と、前記測定データに対する前記仕分けデータを学習する機械学習装置と、前記入力装置から入力された仕分け対象物の仕分け結果と、前記機械学習装置の学習の結果を用いて判定された前記仕分け対象物の仕分け結果とに基づいて、前記機械学習装置による学習結果の適性を判定する学習結果適性判定部と、前記学習結果適性判定部による判定の結果に基づいて、前記仕分け対象物の仕分け動作を切り換える仕分け制御切り換え部と、前記仕分け対象物を仕分けるための制御情報を生成する制御部と、を備え、前記仕分け制御切り換え部は、前記機械学習装置の学習結果の適性が事前に指定した基準に適合した場合には、前記仕分け対象物の自動仕分けを行うように前記制御部の動作を切り換え、前記機械学習装置の学習結果の適性が事前に指定した基準に適合しなかった場合には、前記仕分け対象物の自動仕分けを行なわないように前記制御部の動作を切り換える、ことを特徴とする仕分けシステムである。
【発明の効果】
【００１１】
本発明により、初期段階では人手で仕分けを行い、生産を行うと同時に仕分け結果でモデル学習を進める事で、仕分け速度と精度を保ちつつ仕分け工程を自動化し人手での仕分け工数を削減できる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態による仕分けシステムの要部を示す概略的なハードウェア構成図である。
【図２】一実施形態による仕分けシステムの概略的な機能ブロック図である。
【図３】仕分けシステムの一形態を示す概略的な機能ブロック図である。
【図４Ａ】ニューロンを説明する図である。
【図４Ｂ】ニューラルネットワークを説明する図である。
【図５】仕分けシステムの動作例を示す図である。
【図６】仕分けシステムの他の動作例を示す図である。
【図７】学習データ作成の概念図である。
【発明を実施するための形態】
【００１３】
以下に本発明を実現するための仕分けシステムの構成例を示す。
図１は第１の実施形態による仕分けシステムの要部を示す概略的なハードウェア構成図である。本実施形態の仕分けシステム１は、青果物のような不定形品や加工後のワークなどの仕分け対象物の作業者による仕分け結果を入力するための入力装置５０、仕分け対象物の画像や重量或いは硬度或いは大きさ或いは温度などその他の物理量を取得する測定装置６０、仕分け対象物を仕分けする仕分け装置７０、該仕分け装置７０を制御する制御装置２、及び機械学習装置１００を少なくとも備える。仕分け装置７０は、例えばコンベア上を流れる仕分け対象物をその岐路において仕分ける装置や、コンベア上や加工機上、架台上などにある仕分け対象物を把持して仕分けるロボットなど、仕分け対象物を仕分けるために構成された装置であれば、どのような形態を取ることも可能である。制御装置２は、そのような仕分け装置７０を制御して、仕分け対象物を所定の区分にしたがって仕分けるように制御するための必要な構成を備えている。
【００１４】
本実施形態による制御装置２が備えるＣＰＵ１１は、制御装置２を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って制御装置２全体を制御する。ＲＡＭ１３には一時的な計算データ、入力装置５０を介して作業者が入力した（又は、自動的に入力された）仕分け対象物の仕分け結果データ、測定装置６０が測定した仕分け対象物の測定データなどの各種データ等が一時的に格納される。
【００１５】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、制御装置２の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、予め設定された仕分け装置７０の設定データや、図示しないインタフェースを介して入力された制御用のプログラムなどが記憶されている。不揮発性メモリ１４に記憶されたプログラムや各種データは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、測定装置６０により測定された測定データを解析するための公知の解析プログラムや後述する機械学習装置１００とのやりとりを制御するためのシステム・プログラムなどを含むシステム・プログラムがあらかじめ書き込まれている。
【００１６】
入力装置５０は、仕分け対象物の仕分け結果を入力するための装置である。入力装置５０により入力される仕分け対象物の仕分け結果は、例えば仕分け対象物を良／不良といったような２つの区分に仕分けした結果であっても良いし、仕分け対象物を良／再加工／廃棄、Ａ／Ｂ／Ｃ／Ｄなどといったような複数の区分に仕分けした結果であっても良い。入力装置５０は、仕分け対象物の仕分け結果を作業者が入力するためのキーボードやポインティングデバイス、操作盤などの入力装置であっても良く、また、作業者が仕分け対象物を予め用意された所定の区分へと仕分けたことを自動的に検出する装置であっても良い。後者の場合、例えば作業者によって仕分け対象物に付されたタグやマーク等の区分ごとの識別情報を検出するものであっても良いし、区分ごとに用意された区分領域に仕分けられたことを検出するものであっても良い。入力装置５０は、インタフェース１７を介して仕分け結果データをＣＰＵ１１に渡す。
【００１７】
測定装置６０は、仕分け対象物を仕分けるために用いられる形状や色彩、重さなどの物理量を示す測定データを取得するための装置である。測定装置６０は、例えば仕分け対象物の外観を撮像する撮像装置であっても良く、仕分け対象物の重量や強度、温度などの物理量を測定するセンサであっても良く、また、糖度、熟度、酸度、リコピン、脂肪、アミノ酸、その他のタンパク質、デンプン量、グルコース量等の成分を測定するものであっても良く、更に、撮像しながら重量を測定するなどといったように、これらを複数組み合わせたものであっても良い。測定装置６０は、インタフェース１８を介して測定した測定データをＣＰＵ１１に渡す。
【００１８】
制御回路１９はＣＰＵ１１からの指令を受けて仕分け装置７０の仕分け動作を制御する。制御回路１９による仕分け装置７０の仕分け動作の制御は、仕分け装置７０の種類によって異なるが、例えば仕分け装置７０が単に仕分けの結果を出力する装置である場合には、仕分け結果を表示画面やランプ、音などで通知するようにＣＰＵ１１からの指令に従って制御し、仕分け装置７０がコンベア上の仕分け対象物を岐路において仕分ける装置である場合には、仕分け対象物の岐路における移動先をＣＰＵ１１からの指令に従って制御し、仕分け装置７０が仕分け対象物を把持して仕分けるロボットである場合には、ロボットによる仕分け対象物の搬送をＣＰＵ１１からの指令に従って制御する。また、制御回路１９は、作業者による仕分け作業と仕分け装置７０による自動仕分け動作との切り換え制御を行なう。作業者による仕分け作業と仕分け装置７０による仕分け動作との切り換え制御の内容は、仕分け装置７０の種類によって異なるが、例えば仕分け装置７０がコンベア上の仕分け対象物を岐路において仕分ける装置である場合には、作業者による仕分け作業の時はコンベアの流れる速度を落とした上で岐路における自動仕分け動作を行わないように制御し、仕分け装置７０による自動仕分け動作の時には、コンベアの速度を上げて岐路における自動仕分け動作を制御する、といったことが考えられる。
【００１９】
インタフェース２１は、制御装置２と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して制御装置２で取得可能な各情報（入力装置５０から入力された仕分け対象物の仕分け結果データ、測定装置６０により測定された測定データなど）を観測することができる。また、制御装置２は、機械学習装置１００から出力される、仕分け装置７０による仕分け対象物の仕分けを制御する指令をＣＰＵ１１に渡す。
【００２０】
図２は、本発明の一実施形態による仕分けシステムの要部を示す概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した制御装置２が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、制御装置２及び機械学習装置１００の各部の動作を制御することにより実現される。本実施形態の仕分けシステム１を構成する制御装置２は、学習結果適性判定部３０、仕分け制御切り換え部３２、制御部３４を備える。
【００２１】
学習結果適性判定部３０は、入力装置５０から入力された仕分け対象物の仕分け結果と、当該仕分け対象物に対して機械学習装置１００が判定した仕分け結果とを比較した結果に基づいて機械学習装置１００の学習結果の適性を判定し、その判定結果を仕分け制御切り換え部３２へと出力する機能手段である。学習結果適性判定部３０は、仕分け対象物に関する入力装置５０から入力された仕分け対象物の仕分け結果と当該仕分け対象物に対して機械学習装置１００が判定した仕分け結果とに基づく統計的処理を行い、その結果が予め定めた第１の所定基準以上である場合に機械学習装置１００における学習結果の適性が事前に指定した基準に適合したと判定し、その他の場合には機械学習装置１００における学習結果の適性が事前に指定した基準に適合していないと判定し、その旨仕分け制御切り換え部３２へと出力するようにしても良い。この所定基準としては、例えば双方の仕分け結果が連続して一致した回数が予め定めた第１の所定回数以上としても良いし、また、過去に行なわれた予め定めた所定数の仕分け対象物に関する双方の仕分け結果の一致率が予め定めた第１の所定率を上回る場合としても良く、更に、その他の周知の統計的手法を用いるようにしても良い。
【００２２】
学習結果適性判定部３０は、例えば、一度機械学習装置１００における学習結果の適性が事前に指定した基準に適合したと判定した以降は、そのまま機械学習装置１００における学習結果の適性が事前に指定した基準に適合しているという判定を出力し続けるようにしても良い。また、学習結果適性判定部３０は、例えば、一度機械学習装置１００における学習結果の適性が適合したと判定した以降も作業者による任意のタイミングでサンプリング的に同様の適性判定を行い、予め定めた第２の所定基準（例えば、第１の所定基準未満の水準を示す基準）を下回った場合、機械学習装置１００における学習結果の適性が事前に指定した基準に適合しなくなったという判定を出力するようにしても良い。
【００２３】
学習結果適性判定部３０は、例えば、機械学習装置１００における学習結果の適性が事前に指定した基準に適合していると判定した以降において、学習結果の適性判定の結果が予め定めた第３の所定基準（例えば、第１の所定基準以上の水準を示す基準）以上である場合に、機械学習装置１００に対して機械学習を停止するように指令しても良く、その後、作業者による任意のタイミングでサンプリング的に行われた学習結果の適性判定の結果が予め定めた第４の所定基準（例えば、第３の所定基準未満の水準を示す基準）を下回った場合に、機械学習装置１００に対して機械学習を再開するように指令しても良い。
【００２４】
更に、学習結果適性判定部３０は、例えば、機械学習装置１００における学習結果の適性判定の結果が予め定めた第５の所定基準（例えば、第１の所定基準以上の水準を示す基準）以下である場合に、機械学習装置１００に対して今までの学習結果を破棄して新たに学習をやり直すように指令しても良い。
【００２５】
仕分け制御切り換え部３２は、学習結果適性判定部３０から出力された機械学習装置１００における機械学習の学習結果の適性判定に基づいて、仕分け対象物の仕分けを仕分け装置７０による自動仕分けで行なうか、又は、作業者による手動仕分けにより行なうかを切り換える機能手段である。仕分け制御切り換え部３２は、学習結果適性判定部３０から出力される機械学習装置１００における機械学習の学習結果の適性が事前に指定した基準に適合していないと判定されている場合には、制御部３４に対して仕分け装置７０による仕分け対象物の自動仕分けを行なわないように指令する。一方で、仕分け制御切り換え部３２は、学習結果適性判定部３０から出力される機械学習装置１００における機械学習の学習結果の適性が事前に指定した基準に適合していると判定されている場合には、制御部３４に対して仕分け装置７０による仕分け対象物の自動仕分けを行なうように指令する。仕分け制御切り換え部３２は、仕分け対象物の仕分けの自動／手動を切り換える際に、図示しない表示装置や操作盤のランプ、音声出力を利用して、作業者に対して切り換えた旨知らせるようにしても良い。
【００２６】
上記した学習結果適性判定部３０による学習結果の適性判定と、仕分け制御切り換え部３２による自動仕分けの切り換えは、以下のように整理できる。
・適性が優（第３の所定基準以上）：（以降は）自動仕分けを行う、機械学習装置の学習を行わない（十分な精度で仕分けできた場合など。）
・適性が良（第１の所定基準以上）：（以降は）自動仕分けを行う、機械学習装置の学習を行う（適性が優となるのを目指す。）
・適性が未（システム立上時の状態）：（以降は）自動仕分けを行わない、機械学習装置の学習を行う（適性が良となるのを目指す。）
・適性が否（第５の所定基準以下）：（以降は）自動仕分けを行わない、機械学習装置の学習を行う（既存の学習結果を破棄し新たに学習し直す。学習結果を用いた仕分け結果が的外れだった場合など。）
【００２７】
制御部３４は、仕分け制御切り換え部３２から仕分け対象物の仕分けを行なうように指令されると、仕分け装置７０を制御して仕分け対象物の自動仕分けを行なう制御情報を生成する機能手段である。制御部３４による仕分け装置７０の仕分け動作の制御は仕分け装置７０の種類によって異なるが、前記したような仕分けの結果の出力制御やコンベアの岐路における分岐制御、ロボットによる搬送制御などが例示される。
【００２８】
一方、本実施形態の仕分けシステム１を構成する機械学習装置１００は、測定装置６０により測定された仕分け対象物の状態に係る情報を示す測定データＳ１を含む環境の現在状態を表す状態変数Ｓとして観測する状態観測部１０６と、入力装置５０から入力された仕分け対象物の仕分け結果を示す仕分け結果データＬ１を含むラベルデータＬを取得するラベルデータ取得部１０８と、状態変数ＳとラベルデータＬとを用いて、仕分け対象物の状態に対して仕分け結果データＬ１を関連付けて学習する学習部１１０と、更に、仕分け対象物の状態に基づいて現在の学習済みモデルを用いて判定結果を出力する判定結果出力部１２２とを備える。
【００２９】
機械学習装置１００が備える状態観測部１０６が観測する状態変数Ｓのうち、測定データＳ１は、測定装置６０により測定された仕分け対象物の状態に係る情報のセットとして取得することができる。測定装置６０により測定された仕分け対象物の状態に係る情報としては、仕分け対象物の外観を示す画像から取得される形状や色彩、傷の有無、仕分け対象物の重量、仕分け対象物の硬度、損傷や腐敗の有無、土、ヘタ、葉などのごみや異物の付着の有無などが例示されるが、仕分け対象物を仕分ける際の判断基準となる情報であれば、どのような値を取得するようにしても良い。
【００３０】
ラベルデータ取得部１０８は、ラベルデータＬとして、入力装置５０から入力された仕分け対象物の仕分け結果を示す仕分け結果データＬ１を用いることができる。仕分け結果データＬ１が取り得る値は仕分けの目的によって異なるが、例えば良品と不良品を仕分けする場合には、良品であることを示すラベルと、不良品であることを示すラベルの２値を取り、複数の区分に仕分けする場合には、それぞれの区分を示すラベルの値（多値）を取り得る。仕分け結果データＬ１は、仕分け対象物から得られた状態変数Ｓに対する作業者の判定結果を表す指標である。
【００３１】
学習部１１０は、機械学習と総称される任意の学習アルゴリズムに従い、状態変数Ｓ（仕分け対象物の状態に係る情報である測定データＳ１）に対するラベルデータＬ（仕分け対象物の仕分け結果を示す仕分け結果データＬ１）を学習する。学習部１１０は、例えば状態変数Ｓに含まれる仕分け対象物を撮像した撮像データ（画像）と、ラベルデータＬに含まれる仕分け対象物の仕分け結果との相関性を学習することができる。
【００３２】
学習部１１０は、前述した状態変数ＳとラベルデータＬとを含むデータ集合に基づく学習を反復実行することができる。学習部１１０は、学習サイクルを繰り返すことにより、仕分け対象物の状態に係る情報（測定データＳ１）と仕分け対象物の仕分け結果（仕分け結果データＬ１）との相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時には、測定データＳ１と仕分け結果データＬ１との相関性は実質的に未知であるが、学習部１１０は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。測定データＳ１と仕分け結果データＬ１との相関性が、ある程度信頼できる水準まで解釈されると、学習部１１０が反復出力する学習結果は、現在状態（つまり仕分け対象物の状態）に対して、仕分け対象物をどのように仕分けるべきかという判定を行うために使用できるものとなる。つまり学習部１１０は、学習アルゴリズムの進行に伴い、仕分け対象物の状態と、当該仕分け対象物の仕分けの判定との相関性を最適解に徐々に近づけることができる。なお、学習部１１０は、機械学習装置１００が学習結果適性判定部３０から学習を停止するように指令された時、上記した機械学習の実行を停止するようにしても良い。
【００３３】
判定結果出力部１２２は、学習部１１０が学習した結果に基づいて、仕分け対象物の状態に対する該仕分け対象物の仕分けの判定を行い、該判定結果を学習結果適性判定部３０へと出力する。判定結果出力部１２２が出力する仕分け対象物の仕分けの判定結果は仕分けの目的によって取り得る値が異なるが、例えば良品と不良品を仕分けする場合には、良品であることを示すラベルと、不良品であることを示すラベルの２値を出力し、複数の区分に仕分けする場合には、それぞれの区分を示すラベルの値（多値）を出力し得る。なお、判定結果出力部１２２による判定結果は、学習結果適性判定部３０による学習結果の適性判定に係らず、例えば図示しない仕分け装置７０の表示装置や図示しない制御装置２の表示装置等に出力するようにしても良いが、その際には、制御部３４による自動仕分けに係る表示とは区別して表示することが望ましい。
【００３４】
仕分けシステム１が備える機械学習装置１００の一変形例として、状態観測部１０６は、測定データＳ１に加えて、仕分けの補足情報を示す仕分け関連情報Ｓ２を観測するようにしても良い。仕分け関連情報Ｓ２の例としては、例えば、測定データＳ１が撮像画像データである場合における、仕分けの根拠とする画像領域の部分を示す値であっても良い。また、測定データＳ１が温度データである場合における、架台や外気など外部環境の温度を示す値であっても良い。仕分け関連情報Ｓ２は、測定装置６０が測定した測定データを解析して得るようにしても良いし、入力装置５０を介して人手で入力するようにしても良い。
【００３５】
上記変形例によれば、機械学習装置１００は、測定データＳ１及び仕分けの補足情報を示す仕分け関連情報Ｓ２と、仕分け結果データＬ１との相関性を学習することができるため、より精度の高い仕分けの判定結果を出力できるようになる。
【００３６】
上記構成を有する機械学習装置１００では、学習部１１０が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図３は、図２に示す仕分けシステム１の他の形態であって、学習アルゴリズムの他の例として教師あり学習を実行する学習部１１０を備えた構成を示す。教師あり学習は、入力とそれに対応する出力との既知のデータセット（教師データと称する）が与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデルを学習する手法である。
【００３７】
図３に示す仕分けシステム１が備える機械学習装置１００において、学習部１１０は、状態変数Ｓから仕分け対象物の状態から該仕分け対象物の仕分けの判定をする相関性モデルＭと作業者の仕分け対象物に対する仕分け結果から得られた教師データＴから識別される相関性特徴との誤差Ｅを計算する誤差計算部１１２と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部１１４とを備える。学習部１１０は、モデル更新部１１４が相関性モデルＭの更新を繰り返すことによって仕分け対象物の状態に対する該仕分け対象物の仕分けの判定を学習する。
【００３８】
相関性モデルＭの初期値は、例えば、状態変数Ｓと仕分け対象物の仕分け結果との相関性を単純化して（例えば一次関数で）表現したものであり、教師あり学習の開始前に学習部１１０に与えられる。教師データＴは、本発明では作業者による仕分け対象物の仕分け結果から得られた経験値によって構成でき、仕分けシステム１の序盤の運用時に随時学習部１１０に与えられる。誤差計算部１１２は、学習部１１０に随時与えられた教師データＴから仕分け対象物の状態と該仕分け対象物の仕分け結果との相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓ及びラベルデータＬに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部１１４は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００３９】
次の学習サイクルでは、誤差計算部１１２は、更新後の相関性モデルＭに従って状態変数Ｓを用いて仕分け対象物の仕分けの判定が行われ、該判定の結果と実際に取得されたラベルデータＬの誤差Ｅを求め、モデル更新部１１４が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態とそれに対する予測との相関性が徐々に明らかになる。
【００４０】
前述した教師あり学習を進める際に、ニューラルネットワークを用いることができる。図４Ａは、ニューロンのモデルを模式的に示す。図４Ｂは、図４Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００４１】
図４Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数１式により表現される出力ｙを出力する。なお、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００４２】
【数１】
2019076819.tif 000003
【００４３】
図４Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す)が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００４４】
図４Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みＷ１と重みＷ２との間の特徴を表す。
【００４５】
図４Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みＷ２と重みＷ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
なお、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
【００４６】
仕分けシステム１が備える機械学習装置１００においては、状態変数Ｓを入力ｘとして、学習部１１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、仕分け対象物の状態に対する仕分けの判定（結果ｙ）を出力することができる。なお、ニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みｗを学習し、学習した重みｗを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００４７】
上記した機械学習装置１００の構成は、プロセッサ１０１が各々実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、仕分け対象物の状態に対する該仕分け対象物の仕分けの判定を学習する機械学習方法であって、プロセッサ１０１が、仕分け対象物の状態に係る情報を示す測定データＳ１を現在状態を表す状態変数Ｓとして観測するステップと、仕分け対象物の仕分け結果を示す仕分け結果データＬ１をラベルデータＬとして取得するステップと、状態変数ＳとラベルデータＬとを用いて、測定データＳ１と、仕分け対象物の仕分け結果とを関連付けて学習するステップとを有する。
【００４８】
機械学習装置１００の学習部１１０により学習されて得られた学習済みモデルは機械学習に係るソフトウェアの一部であるプログラムモジュールとして利用することが可能である。本発明の学習済みモデルは、コンピュータが備えるＣＰＵやＧＰＵ等のプロセッサとメモリを備えるコンピュータにて用いることができる。より具体的には、コンピュータのプロセッサが、メモリに記憶された学習済みモデルからの指令に従って、仕分け対象物の状態を入力として演算を行い、演算結果に基づいて該仕分け対象物の状態に対する該仕分け対象物の仕分け結果を出力するように動作する。本発明の学習済みモデルは、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
【００４９】
また、本発明の学習済みモデルを他のコンピュータに対して複製して新しい環境で利用する際に、当該環境で得られた新たな状態変数や判定データに基づいて当該学習済みモデルに対して更なる学習を行わせることもできる。このようにした場合、当該環境による学習済みモデルから派生した学習済みモデル（以下、派生モデルとする）を得ることが可能である。本発明の派生モデルは、所定の仕分け対象物の状態に対する該仕分け対象物の仕分けの判定の結果を出力するという点では元の学習済みモデルと同じだが、元の学習済みモデルよりも新しい環境（新しい仕分け対象物）に適合した結果を出力するという点で異なる。この派生モデルもまた、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
【００５０】
更に、本発明の学習済みモデルを組み込んだ機械学習装置に対する入力（所定の仕分け対象物の状態における仕分けの判定）に対して得られる出力（価値）を用いて、他の機械学習装置において１から学習を行うことで得られる学習済みモデル（以下、蒸留モデルとする）を作成し、これを利用することも可能である（このような学習工程を蒸留と言う）。蒸留において、元の学習済みモデルを教師モデル、新たに作成する蒸留モデルを生徒モデルとも言う。一般に、蒸留モデルは元の学習済みモデルよりもサイズが小さく、それでいてと元の学習済みモデルと同等の正確度を出せるため、外部記憶媒体やネットワーク等を介した他のコンピュータに対する配布により適している。
【００５１】
図５は、本発明の一実施例として、測定装置６０として視覚センサを用いて仕分け対象物を撮像し、該仕分け対象物が良品であるか、不良品であるのかの判定結果を仕分け装置７０としての表示装置へと表示する例を示したものである。仕分け作業の初期においては、作業者が仕分け対象物を測定装置６０により撮像し、更に入力装置５０を介して該仕分け対象物の良品／不良品の仕分け結果を入力する。そして、測定装置６０により撮像された撮像データ（測定データＳ１）と、入力装置５０から入力された仕分け対象物の仕分け結果（仕分け結果データＬ１）とに基づいて、制御装置２が備える機械学習装置１００が機械学習を行い、学習の精度が高まった時点で、仕分け装置７０に、以降は自動的に仕分けを行なう旨が表示される。その後は、作業者は仕分け対象物を測定装置６０で測定するだけで、仕分け装置７０に仕分けの結果としての良品／不良品の判定が表示されるようになる。
【００５２】
なお、図５に示した実施例では、測定装置６０としての視覚センサをロボットの手先などの可動部に設置しても良いし、仕分け対象物をロボットの手先などの可動部に把持して取り扱うようにしても良い。また、複数の仕分け対象物を同時に配置し撮像を行っても良く、この場合、作業者はそれぞれの仕分け対象物に対して個々に仕分け結果を入力するインタフェースを用意すれば良く、また、制御装置２は撮像された画像から１つ１つの仕分け対象物を切り分けて解析し、それぞれの仕分け対象物に対する判定された仕分け結果を出力するようにすれば良い。更に、測定装置６０としての視覚センサより得られる入力画像は、二次元カラー画像でも、二次元グレースケール画像でも、距離画像でも、三次元点群でも良く、また、それらの動画であっても良い。
【００５３】
また、図５に例示した仕分けシステム１において学習結果の適性が事前に指定した基準に適合したと判定された後に、図６に示すように制御装置２に対して仕分け装置７０としてのロボットを接続し、制御装置２の制御の元で仕分け装置７０（ロボット）による自動仕分けを行なわせるようにすることも可能である。
【００５４】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００５５】
例えば、機械学習装置１００が実行する学習アルゴリズム、機械学習装置１００が実行する演算アルゴリズム、制御装置２が実行する制御アルゴリズム等は、前記したものに限定されず、様々なアルゴリズムを採用できる。
【００５６】
また、上記した実施形態では制御装置２と機械学習装置１００が異なるＣＰＵ（プロセッサ）を有する装置として説明しているが、機械学習装置１００は制御装置２が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【００５７】
更に、上記した実施形態では機械学習装置１００が制御装置２の上にある例を示しているが、機械学習装置１００はネットワークに用意されたクラウドサーバ等に存在する構成とすることも可能であり、更に、制御装置２が備える学習結果適性判定部３０、仕分け制御切り換え部３２の機能をセルコントローラやホストコントローラに設け、制御部３４を仕分け装置７０または仕分け装置７０を制御する制御装置上に設けることで本発明を実現することも可能である。
【符号の説明】
【００５８】
１  仕分けシステム
２  制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１７  インタフェース
１８  インタフェース
１９  制御回路
２０  バス
２１  インタフェース
３０  学習結果適性判定部
３２  仕分け制御切り換え部
３４  制御部
５０  入力装置
６０  測定装置
７０  仕分け装置
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１０６  状態観測部
１０８  ラベルデータ取得部
１１０  学習部
１１２  誤差計算部
１１４  モデル更新部
１２２  判定結果出力部
【図１】
2019076819.tif 000004
【図２】
2019076819.tif 000005
【図３】
2019076819.tif 000006
【図４Ａ】
2019076819.tif 000007
【図４Ｂ】
2019076819.tif 000008
【図５】
2019076819.tif 000009
【図６】
2019076819.tif 000010
【図７】
2019076819.tif 000011