(57)【要約】【課題】画像認識処理の実用性を向上する。【解決手段】画像認識プロセッサ１１は、事前の学習に基づき確定した画像データ処理のアルゴリズムを記憶し、所定のパターンを含む画像の画像データを取得し、アルゴリズムに基づいて画像データの認識処理を行い、認識したパターンを識別する識別情報を出力する機能を集積回路に実装している。識別情報の出力は、所定のパターンと種類との対応関係を学習したニューラルネットワークにより処理され、予め用意された複数のパターンの種類のうちから選択的に分類して出力する。画像中において認識したパターンの配置領域を検出し、画像データを加工して画像中に出力する。
2018116589.tif 000002
【特許請求の範囲】
【請求項１】
事前の学習に基づき確定した画像データ処理のアルゴリズムを記憶し、
所定のパターンを含む画像の画像データを取得し、
前記アルゴリズムに基づいて前記画像データの認識処理を行い、認識したパターンを識別する識別情報を出力する機能を集積回路に実装した
ことを特徴とする産業機器用の画像認識プロセッサ。
【請求項２】
前記識別情報の出力は、予め用意された複数のパターンの種類のうちから選択的に分類して出力することを特徴とする請求項１記載の産業機器用の画像認識プロセッサ。
【請求項３】
前記画像中において認識したパターンの配置領域を検出して出力することを特徴とする請求項１又は２記載の産業機器用の画像認識プロセッサ。
【請求項４】
前記配置領域の出力は、前記画像データを加工して前記画像中に出力することを特徴とする請求項３記載の産業機器用の画像認識プロセッサ。
【請求項５】
前記アルゴリズムは、認識する前記パターンと前記識別情報との対応関係を学習したニューラルネットワークにより処理されることを特徴とする請求項１乃至４のいずれか１項に記載の産業機器用の画像認識プロセッサ。
【請求項６】
前記ニューラルネットワークは、ノイマン型デバイスによるソフトウェア処理で実装されることを特徴とする請求項５記載の産業機器用の画像認識プロセッサ。
【請求項７】
前記ニューラルネットワークは、ニューロモーフィック型デバイスでハードウェア的に実装されることを特徴とする請求項５記載の産業機器用の画像認識プロセッサ。
【請求項８】
前記集積回路は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、又はＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）のいずれかの形態で構成されることを特徴とする請求項５乃至７のいずれか１項に記載の産業機器用の画像認識プロセッサ。
【請求項９】
前記集積回路は、前記ＦＰＧＡの形態で構成され、
前記アルゴリズムは、書き換え可能に実装されることを特徴とする請求項８記載の産業機器用の画像認識プロセッサ。
【請求項１０】
前記アルゴリズムは、予め別の情報機器を用いて行われる学習によって確定されることを特徴とする請求項１乃至９のいずれか１項に記載の産業機器用の画像認識プロセッサ。
【請求項１１】
所定の属性の対象物の外観パターンを含む画像データを認識処理して学習することによって作成された画像データ認識処理のアルゴリズムを記憶する記憶部と、
前記アルゴリズムを用いて前記画像データの画像に含まれる前記外観パターンの認識処理を行う認識処理部と、
を備えたことを特徴とする産業機器用の画像認識プロセッサ。
【請求項１２】
請求項１乃至１１のいずれか１項に記載の産業機器用の画像認識プロセッサで認識したパターンに対応する制御対象物に対して所定の後続制御を実行することを特徴とするコントローラ。
【請求項１３】
前記産業機器用の画像認識プロセッサを着脱交換可能に備えていることを特徴とする請求項１２記載のコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、産業機器用の画像認識プロセッサ及びコントローラに関する。
【背景技術】
【０００２】
特許文献１には、ロボットアームのハンドに設けたカメラの撮像情報から把持対象物などを認識する制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３５３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像認識する処理装置自体はネットワークを介したサーバや、回路規模の大きい処理装置を利用していたことから、ファクトリーオートメーションなどの産業機械へ適用する場合の画像認識処理の実用性が低かった。【０００５】
本発明はこのような問題点に鑑みてなされたものであり、画像認識処理の実用性を向上できる産業機器用の画像認識プロセッサ及びコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、事前の学習に基づき確定した画像データ処理のアルゴリズムを記憶し、所定のパターンを含む画像の画像データを取得し、前記アルゴリズムに基づいて前記画像データの認識処理を行い、認識したパターンを識別する識別情報を出力する機能を集積回路に実装した産業機器用の画像認識プロセッサが適用される。【０００７】
また、本発明の別の観点によれば、所定の属性の対象物の外観パターンを含む画像データを認識処理して学習することによって作成された画像データ認識処理のアルゴリズムを記憶する記憶部と、前記アルゴリズムを用いて前記画像データの画像に含まれる前記外観パターンの認識処理を行う認識処理部と、を備えた産業機器用の画像認識プロセッサが適用される。【０００８】
また、本発明の別の観点によれば、産業機器用の画像認識プロセッサで認識したパターンに対応する制御対象物に対して所定の後続制御を実行するコントローラが適用される。
【発明の効果】
【０００９】
本発明によれば、画像認識処理の実用性を向上できる。
【図面の簡単な説明】
【００１０】
【図１】実施形態の画像認識プロセッサを備えたピッキングシステムの概略的なシステムブロック構成の一例を表す図である。
【図２】画像認識プロセッサの着脱交換可能な機械的構成を表す図である。
【図３】カメラがコンテナ内を撮像した画像データの一例を表す図である。
【図４】画像データに対して画像認識プロセッサが画像認識処理した結果の一例を表す図である。
【図５】画像認識プロセッサが備えるニューラルネットワークのモデル概略構成の一例を表す図である。
【図６】画像認識プロセッサを備えた検査システムの概略的なシステムブロック構成の一例を表す図である。
【図７】３次元カメラで食品の画像データを取得する構成例を表す図である。
【図８】２つの画像データに基づいて識別情報を出力する場合のニューラルネットワークのモデル概略構成の一例を表す図である。
【発明を実施するための形態】
【００１１】
以下、実施の形態について図面を参照しつつ説明する。
【００１２】
＜ピッキングシステムの概略構成＞
図１は、本実施形態の産業機器用の画像認識プロセッサを備えたピッキングシステムの概略的なシステムブロック構成の一例を表している。このピッキングシステムは、コンテナ内に乱雑に配置された複数種類で多数個の工業部品を、種類別に分類して複数の目標容器に取り分けるようピッキングするシステムである。図１においてピッキングシステム１（産業機器）は、カメラ２と、ロボットコントローラ３と、サーボアンプ４と、ピッキングロボット５とを有している。また、さらに３次元センサ８を有する場合もある。
【００１３】
なお、この例ではピッキングの対象物として工業部品を挙げているが、生産ラインで取り扱われるものであれば、工業部品の代わりに食品や化粧品、文房具などであってもよい。こうした対象物のうち、ある種類の対象物に共通して備わっている特徴を属性と表現する。属性の例として、形状や大きさ、色、模様、光沢などが挙げられる。
【００１４】
カメラ２は、この例では光学的に２次元ピクセル列の画像データを撮像する撮像機器である。このカメラ２は、コンテナ６の上方に配置されており、そのコンテナ６の内部にそれぞれ乱雑な姿勢で配置されている複数種類で多数個の工業部品１０（対象物、制御対象物）の全体を撮像可能となっている。また３次元センサ８は、この例では光学的に対象物の表面の各点との距離データを取得するセンサである。カメラ２同様、コンテナ６の上方に配置されており、コンテナ６の内部の工業部品１０の全体を撮像可能となっている。
【００１５】
ロボットコントローラ３は、上記カメラ２で撮像した画像データに基づいて、さらに必要に応じて３次元センサ８による距離データに基づいて、ピッキングロボット５のピッキング作業に関する処理を行いサーボアンプ４に駆動指令を出力する。このロボットコントローラ３は、画像認識プロセッサ１１と、作業計画部１２と、逆キネマティクス演算部１３とを有している。また３次元センサ８を用いる場合には、さらに距離認識部１６を有する。
【００１６】
画像認識プロセッサ１１（産業機器用の画像認識プロセッサ）は、上記のカメラ２で撮像した画像データを画像認識することで、その時点でコンテナ６内に配置されている複数個の工業部品１０それぞれの個体の種類を認識して対応する識別情報を出力するとともに、当該画像データの画像中における各工業部品１０の個体の配置領域を検出して出力する。なお本実施形態の例におけるこの画像認識プロセッサ１１の処理部自体は、ハードウェア的に実装された単一の集積回路で構成されており、内部処理的にはニューラルネットワークを用いた機械学習によって各工業部品１０の種類の認識処理とそれらの配置領域の検出処理を行う。なお、この画像認識プロセッサ１１による処理の内容や手法については後に詳述する。
【００１７】
作業計画部１２は、上記画像認識プロセッサ１１から入力された識別情報及び配置領域に基づいて、ピッキングロボット５に行わせる具体的な作業内容（後述するアーム先端部５ａのグリッパ５ｂの軌道など）を計画し、それにより生成した作業指令を逆キネマティクス演算部１３に出力する。なお作業内容の計画の際に、必要に応じて３次元センサ８により取得した距離データをもとに距離認識部１６にて各工業製品の３次元的な姿勢（向き）を認識し、姿勢情報として作業計画部１２に入力するよう構成してもよい。この場合、作業計画部１２では識別情報、配置領域に加え、姿勢情報に基づいて作業内容を計画する。
【００１８】
逆キネマティクス演算部１３は、上記作業計画部１２から入力された作業指令に基づいて、当該作業指令の作業内容（計画した軌道上でのグリッパ５ｂの移動など）を実現するために必要となるピッキングロボット５の各駆動軸モータ（図示省略）の目標回転角度を演算し、対応する駆動指令を出力する。
【００１９】
サーボアンプ４は、上記ロボットコントローラ３の逆キネマティクス演算部１３から入力された駆動指令に基づいて、ピッキングロボット５の各駆動軸モータ（図示省略）を駆動制御する駆動電力の給電制御を行う。
【００２０】
ピッキングロボット５は、図示する本実施形態の例では６つの関節軸を備えたマニプレータアーム（６軸ロボット）である。そのアーム先端部５ａには工業部品１０を把持可能なグリッパ５ｂが設けられており、コンテナ６内の工業部品１０を１つずつ近傍の目標容器９へ移送できる機能を有している。
【００２１】
以上のように構成された本実施形態のピッキングシステム１によれば、ロボットコントローラ３は、入力された画像データに基づいてコンテナ６内における各工業部品１０の配置位置を把握することができる。具体的には、ピッキングロボット５に設定された作業座標（特に図示せず）におけるカメラ２の設置位置と、画像データの画像中において画像認識プロセッサ１１が出力する各工業部品１０の配置領域とに基づいて座標変換の演算を行うことで、当該作業座標におけるコンテナ６内の各工業部品１０の配置位置を把握できる。またロボットコントローラ３は、画像認識プロセッサ１１が出力する識別情報に基づいて、コンテナ６内に配置された各工業部品１０それぞれの種類に適切に対応したグリッパ５ｂの把持動作を選択制御できる。これにより、ピッキングシステム１は、コンテナ６内に乱雑に配置された複数種類の工業部品１０を、種類別に分類して複数の目標容器９に取り分けることができる。
【００２２】
また、本実施形態で用いる画像認識プロセッサ１１は、上述したように、ハードウェア的に実装された単一の集積回路で構成されている。例えば図２に示すように、画像認識プロセッサ１１がいわゆるＰＧＡ（Ｐｉｎ  Ｇｒｉｄ  Ａｒｒａｙ）タイプのパッケージで構成されており、ロボットコントローラ３の回路基板１４に設けられたソケット１５に対して着脱交換可能となっている。なお、画像認識プロセッサ１１の装着構成は、図示するようなピン−ソケット型に限られず、例えばカセット−コネクタ型などの他の装着構成としてもよい（図示省略）。
【００２３】
＜本実施形態の特徴＞
近年における機械学習技術の発達により、画像データから所定のパターンを認識する画像認識の処理精度が飛躍的に向上している。
【００２４】
しかし、このような機械学習による画像認識処理は、これまで大規模な高性能クラウドサーバでの処理を前提としており、ネットワーク通信を介したデータの送受が必要であったため実質的な処理速度の低下やセキュリティが問題となっていた。また、作業現場で画像データを撮像、生成するカメラ等に直接いわゆるＧＰＵ（Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）を接続して画像認識処理を行わせる構成も提案されている。しかし、ＧＰＵを用いる場合には各種のデータやパラメータを記憶する大容量のメモリや周辺の制御回路が別途必要となるため、回路規模が大きくなって装置全体が大型化及び重量化してしまうとともに消費電力が増大してしまうという問題があった。以上により、ファクトリーオートメーションなどの産業機械へ適用する場合の画像認識処理の実用性が低かった。
【００２５】
これに対し本実施形態で用いる画像認識プロセッサ１１は、事前の学習に基づき確定した画像データ処理のアルゴリズムを記憶し、所定のパターンを含む画像の画像データを取得し、アルゴリズムに基づいて画像データの認識処理を行い、認識したパターンを識別する識別情報を出力する機能を集積回路に実装した産業機器用の画像認識プロセッサ１１として構成している。このように、特に工場などの作業現場で最小限必要とされるパターン認識とその識別情報の出力と言う機能だけに特化して集積回路に実装しているため、画像認識処理に必要な装置構成全体における大幅な小型化及び軽量化、消費電力の低減、及び処理の高速化が可能となる。
【００２６】
＜画像認識プロセッサの処理内容＞
図３は本実施形態のピッキングシステム１においてカメラ２がコンテナ６内を撮像した画像データの一例を表し、図４は当該画像データに対して画像認識プロセッサ１１が画像認識処理した結果の一例を表している。
【００２７】
図示する例では、円筒形状の部品Ａと、長円貫通孔が開いた板形状の部品Ｂと、上記部品Ａよりも細くて長い棒形状の部品Ｃの３種類の工業部品Ａ，Ｂ，Ｃがそれぞれ乱雑な姿勢でコンテナ内に配置されている。そのうち部品Ａについては、一端部を下にして直立している姿勢のものと、側面を下にして横たわっている姿勢のものが混在している。また部品Ｂについては、全体が裏返って長円貫通孔の配置関係が異なるものが混在している。
【００２８】
このような画像データに対して、画像認識プロセッサ１１は、各工業部品Ａ，Ｂ，Ｃの個体それぞれの姿勢にかかわらず同じ種類の工業部品Ａ，Ｂ，Ｃどうしで共通する外観形状のパターンを認識し、そのパターンに対応する種類を識別情報（図４中の「Ａ」，「Ｂ」，「Ｃ」）として個別に出力する。つまり、本実施形態において画像認識プロセッサ１１が行う識別情報の出力は、予め用意された複数の種類（この例のＡ，Ｂ，Ｃの３種）のうちから選択的に分類して出力するいわゆるクラスタリングにより行う。
【００２９】
また図示する例では、画像認識プロセッサ１１は、画像データに設定された座標Ｘ−Ｙにおける各工業部品Ａ，Ｂ，Ｃの配置領域をＸ軸、Ｙ軸にそれぞれ平行な４辺を備えた四角形状の包囲枠線Ｓで包囲し、その包囲枠線Ｓにおける２つの対向点の各座標位置（図４中の（ｘｉａ、ｙｉａ）、（ｘｉｂ、ｙｉｂ））を個別に出力する。
【００３０】
＜ニューラルネットワークの構成について＞
画像認識プロセッサ１１は、上述したように、ニューラルネットワークを用いた機械学習によって各工業部品１０の種類の認識と配置領域の検出を行う。本実施形態の例におけるこのニューラルネットワークは、例えば図５に示すモデル概略図のように、カメラ２から入力された２次元ピクセル列の画像データに基づいて、その画像中に存在する１つの工業部品１０の種類（Ａ，Ｂ，Ｃ）の識別情報をクラスタリングして出力する。なお図示する例では、識別情報を出力する具体的態様として、認識すべきパターンの種類（Ａ，Ｂ，Ｃ）と同数の出力ノードを用意してそれらのうちから認識したパターンの種類に対応する１つの出力ノードのみから２値出力（例えば正論理で出力）している。また、このニューラルネットワークでは、認識した工業部品１０の配置領域を示す包囲枠線Ｓの２対向点の各座標位置（ｘｉａ、ｙｉａ、ｘｉｂ、ｙｉｂ）も出力するよう設計されている。なお配置領域の出力は、いわゆる回帰問題により整数値の座標位置を出力するようニューラルネットワークを設計する。
【００３１】
以上の基本仕様にあるニューラルネットワークにおいては、例えば入力層の直近をいわゆる畳み込み層とプーリング層の組み合わせである畳み込みニューラルネットワーク（特に図示せず）で構成することで柔軟なパターンの認識が可能となる。また例えば、出力層の直近をいわゆるパターン認識や最適値演算に適した全結合層（特に図示せず）で構成する。
【００３２】
また本実施形態の例のように画像データの画像中に複数の工業部品１０が存在する場合には、いずれかの層、例えば図示するように上記の畳み込みニューラルネットワークと上記の全結合層の間の層において、認識処理の対象個体を指定するインデックスｉを入力してもよい。このインデックスｉについては、例えば画像の左上から所定方向に走査してｉ番目に位置する部品個体についての識別番号とし、識別情報と配置領域はこの入力されたインデックスｉに対応する認識対象の工業部品１０について出力される。
【００３３】
この画像認識プロセッサ１１が備えるニューラルネットワークは、事前に認識対象である工業部品１０（この例の部品Ａ，Ｂ，Ｃ）の各種類について、それぞれ様々な姿勢の外観形状のパターンと出力すべき種類の識別情報との対応関係がすでに学習されている。この学習については、当該画像認識プロセッサ１１の設計開発段階で別途の学習用コンピュータ（別の情報機器；特に図示せず）により事前に行われる。具体的には、当該学習用コンピュータが、同等の層構造にあるニューラルネットモデルに対して相当数の教師データ（入力するパターンデータと、出力すべき識別情報データ及び配置領域データを組み合わせたデータセット）を繰り返し与えた際に、その都度に入力層と出力層の間の関係性が成立するよう各ノードどうしをつなぐ各エッジの重み係数を調整するいわゆるバックプロパゲーション処理により学習を行う。なお、このようなバックプロパゲーションの他にも、いわゆるオートエンコーダ、ドロップアウト、ノイズ付加、及びスパース正則化などの多様な学習手法を併用して処理精度を向上させてもよい。そしてこれらの学習により得られた各重み係数の組み合わせ配列を画像認識プロセッサ１１に記憶させることで、工業部品１０の外観形状パターンと種類との相関を表す特徴量を学習したニューラルネットワークを備えることができる。
【００３４】
画像認識プロセッサ１１における上記のようなニューラルネットワークの具体的な実装形態としては、いわゆるノイマン型デバイスによるソフトウェア処理で実装されてもよい。例えば、各ノードの出力とそれに接続する各エッジの重み係数の積算演算や、それらの積算結果どうしを加算する加算演算や、その加算結果が入力された各ノードの活性化関数演算について、行列式の内積演算（テンソル演算）の処理に特化した構成のノイマン型デバイス（いわゆるＧＰＵやＴＰＵと同等の集積回路）によるソフトウェア処理で実現してもよい。この場合は、主にデジタルデータ（離散値データ）を用いた逐次型処理となる。
【００３５】
または、画像認識プロセッサ１１における上記ニューラルネットワークの他の具体的な実装形態として、いわゆるニューロモーフィック型デバイスでハードウェア的に実装されてもよい。例えば、各エッジの重み係数を抵抗値や静電容量などの物理量で保存し、これらと電流や電圧などで出力されるノード出力との積算値を表す物理量の加算値を、ハードウェア回路で活性化関数を実装した他のノードに入力することでいわゆるパーセプトロン（ニューラルネットワークの最小構成要素モデル）を実現してもよい。この場合は、デジタルデータ（離散値データ）とアナログデータ（連続値データ）のいずれか一方もしくは両方を用いた並列分散処理となる。
【００３６】
また、画像認識プロセッサ１１の集積回路は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、又はＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）のいずれかの形態で構成することで、これまで開発されてきた集積回路の実装技術を利用した当該画像認識プロセッサ１１の具現化が容易となる。
【００３７】
また、上記図４に示した各工業部品１０の配置領域を示す包囲枠線Ｓについては、画像データを加工して当該画像データ中に描画してもよい。この描画処理は、画像認識プロセッサ１１内で行ってもよいし、包囲枠線Ｓの２対向点の各座標位置（ｘｉａ、ｙｉａ、ｘｉｂ、ｙｉｂ）を受け取った後続の処理部（図示省略）で別途行ってもよい。また画像認識プロセッサ１１が出力した配置領域に対し、ロボットコントローラ３の他の処理部（図示省略）で別途３Ｄレーザースキャナ等（特に図示せず）を用いて当該配置領域に存在する工業部品１０の姿勢を例えば３次元ＣＡＤモデル（識別情報の種類に対応して予め用意したモデル）などで検出してもよい。
【００３８】
以上において、ニューラルネットワークのネットワーク接続構成及び各エッジの重み係数の組み合わせ配列の全体が、各請求項記載の画像データ処理のアルゴリズムに相当する。また、このニューラルネットワークを上記ノイマン型デバイスで実装した場合において、ニューラルネットワークのネットワーク接続構成及び各エッジの重み係数の組み合わせ配列に対応する行列式を記憶するメモリ領域が各請求項記載の記憶部に相当し、その行列式演算を行う演算部分が各請求項記載の認識処理部に相当する。また、ニューラルネットワークを上記ニューロモーフィック型デバイスで実装した場合において、当該ニューラルネットワークを構成するハードウェア回路の全体が、各請求項記載の記憶部及び認識処理部に相当する。
【００３９】
＜本実施形態による効果＞
以上説明したように、本実施形態の画像認識プロセッサ１１は、事前の学習に基づき確定した画像データ処理のアルゴリズムを記憶し、所定のパターンを含む画像の画像データを取得し、アルゴリズムに基づいて画像データの認識処理を行い、認識したパターンを識別する識別情報を出力する機能を集積回路に実装している。例えば、対象物が食品であれば惣菜専用の画像認識プロセッサや魚の切り身専用の画像認識プロセッサ、工業製品であればネジ専用の画像認識プロセッサやコンロッド専用の画像認識プロセッサ、化粧品であれば口紅専用の画像認識プロセッサや香水瓶専用の画像認識プロセッサ、薬品であれば風邪薬専用の画像認識プロセッサや胃腸薬専用の画像認識プロセッサ、文房具であればハサミ専用の画像認識プロセッサなどを作成することもできる。このように、特に工場などの作業現場で最小限必要とされるパターン認識とその識別情報の出力と言う機能だけに特化して集積回路に実装しているため、画像認識処理に必要な装置構成全体における大幅な小型化及び軽量化、消費電力の低減、及び処理の高速化が可能となる。この結果、画像認識処理の実用性を向上できる。
【００４０】
また、本実施形態では特に、認識したパターンの識別情報の出力は、予め用意された複数のパターンの種類のうちから選択的に分類してクラスタリング出力する。これにより、認識すべきパターンの種類を画像認識処理の用途（工業用、食品用など）に応じた複数の種類に限定して集積回路の回路規模を簡易化できる。また、出力する種類を明確化してその種類ごとに対応して行うべき後続制御（ロボットコントローラ３の作業計画部１２における選別ピッキング制御）の選択が容易となる。なお上記実施形態では、認識すべきパターンの種類（Ａ，Ｂ，Ｃ）と同数の出力ノードを用意し、それらのうちの認識したパターンの種類に対応する１つの出力ノードのみから２値出力（例えば正論理で出力）する態様としていたが、これに限られない。例えば、複数の出力ノードの２値出力を組み合わせた２進数表現で出力する態様等としてもよい。
【００４１】
また、本実施形態では特に、画像認識プロセッサ１１は、画像データの画像中において認識したパターンの配置領域を検出して出力する。これにより、画像データを撮像したカメラ２などの撮像視野において、認識したパターンに対応する工業部品１０の配置位置を概略的に把握することができ、認識されたパターンの識別情報に基づいてピッキングなどのハンドリングを行う場合にその配置位置を利用できる。
【００４２】
また、本実施形態では特に、配置領域の出力は、画像データを加工して画像中に出力（包囲枠線の描画）する。これにより、画像データの画像を特に図示しないディスプレイなどに表示した場合に、認識したパターンに対応する工業部品１０の配置位置を視覚的に表示できる。なお、画像中における配置領域の描画出力は、上述した包囲枠線Ｓに限られない。例えば、画像中において認識したパターン全体のピクセルの塗りつぶし（識別情報に対応した色での塗りつぶし）等によって表現してもよい。
【００４３】
また、本実施形態では特に、アルゴリズムは、認識するパターンと識別情報との対応関係を学習したニューラルネットワーク（ディープラーニング、深層学習）により処理される。これにより、低消費電力で高速かつ高精度にパターンの認識を行うことが可能になる。なお、画像認識プロセッサ１１に適用する機械学習としては、ニューラルネットワークを用いた深層学習以外にも、例えばサポートベクターマシン等のデータマイニングによる他の機械学習の手法を適用してもよい。
【００４４】
また、本実施形態では特に、ニューラルネットワークを、ノイマン型デバイス（逐次処理型デバイス）によるソフトウェア処理で実装することで、当該画像認識プロセッサ１１の後続制御において利用する他のノイマン型デバイス（いわゆるＣＰＵ等）と電源などの設置環境で親和性の高い実装が可能となる。
【００４５】
また、本実施形態では特に、ニューラルネットワークを、ニューロモーフィック型デバイス（並列分散処理型デバイス）でハードウェア的に実装することで、さらなる低消費電力化、小型化及び軽量化、及び処理の高速化が可能となる。
【００４６】
また、本実施形態では特に、集積回路が、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、又はＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）のいずれかの形態で構成されることで、これまで開発されてきた集積回路の実装技術を利用した当該画像認識プロセッサ１１の具現化が容易となる。
【００４７】
なお、本実施形態の画像認識プロセッサ１１は、認識すべき各種のパターンとその認識アルゴリズムをすでに学習済みであるニューラルネットワークを実装することを想定しているが、これに限られない。他にも、画像認識プロセッサ１１の集積回路が、ＦＰＧＡの形態で構成された場合には、アルゴリズムが書き換え可能に実装されてもよい。これにより、例えばアルゴリズムをニューラルネットワークで処理する場合において、当該ニューラルネットワーク全体における接続構成の設計や、各重み係数の学習及び設定をユーザ側で書き換えることができるため、画像データ認識処理の汎用性が向上する。また、さらに学習の進んだニューラルネットワークを実装した新しいアルゴリズムへの書き換えによるアップデートも容易となる。
【００４８】
また、本実施形態では特に、アルゴリズムは、予め別の情報機器（学習用コンピュータ）を用いて行われる学習によって確定される。これにより、アルゴリズムを確定するための学習に必要なハードウェアリソースをロボットコントローラ３と別体の情報機器で構成できるため、画像認識プロセッサ１１及びそれを搭載するロボットコントローラ３などのアプリケーション機器自体の構成規模を大幅に簡略化できる。
【００４９】
また、本実施形態では特に、ロボットコントローラ３が、画像認識プロセッサ１１で認識したパターンに対応する工業部品１０に対して所定のピッキング制御を実行する。これにより、画像認識プロセッサ１１を単に画像認識インターフェースとして組み込み、出力されたパターンの識別情報に対応した各種の後続制御の実行を実現できる。
【００５０】
また、本実施形態では特に、ロボットコントローラ３が、画像認識プロセッサ１１を着脱交換可能に備えている。これにより、ロボットコントローラ３本体を共通化し、上記実施形態の例の工業部品１０以外にも例えば食材などの認識対象物の分類別に特化した画像認識プロセッサ１１を交換可能にすることで、ロボットコントローラ３の汎用性を向上できる。また、さらに学習の進んだニューラルネットワークを実装した新しい画像認識プロセッサ１１への交換によるアップデートも容易となる。
【００５１】
＜変形例＞
なお、以上説明した実施形態は、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
【００５２】
＜変形例１：アーム先端部にカメラと画像認識プロセッサを設置する場合＞
例えば、上記実施形態では、カメラ２を固定した定点撮像により画像データを取得していたが、これに限られない。例えば、図６に示すように、６軸ロボット５Ａのアーム先端部５ａにカメラ２を固定し、対象となる構造物２１を構成する細部部品の形状を多様な視野方向で撮像して当該構造物２１の組立検査を行えるようにしてもよい。
【００５３】
この場合、画像認識プロセッサ１１は画像データから検査対象の細部部品のパターンを認識して識別情報と配置領域を出力し、これに基づいて検査装置７が検査結果を判定する。またこの検査装置７が細部部品の座標情報を出力し、これに基づいてロボットコントローラ３Ａが構造物２１の姿勢や配置を把握できる。これにより構造物２１が不特定の姿勢と位置で配置された場合でも、ロボットコントローラ３Ａは６軸ロボット５Ａに設定された作業座標中において構造物２１の姿勢と位置を把握できる。
【００５４】
このような検査システム１Ａ（産業機器）において、カメラ２の画像データを送信するのに必要な太いケーブルを６軸ロボット５Ａのロボットアームに沿って長く引き回した場合には、ケーブルの重量がアーム動作制御に悪影響を与えやすいとともにケーブルが外部に干渉してロボットアームの動作制御を阻害しやすい。しかし、図６に示すように、アーム先端部５ａでカメラ２の近傍に画像認識プロセッサ１１も設置し、その識別情報及び配置領域の情報を送信する信号線をロボットアームの内部に配線した場合には、ロボットアーム全体が軽量となるとともに外部との干渉を回避できる点で有利である。この場合には、画像認識プロセッサ１１が集積回路で実装した軽量な構成であることからも、ロボットアームの動作制御に大きく影響を与えることがないという利点がある。
【００５５】
＜変形例２：複数のカメラで撮像した複数の画像データでパターン認識する場合＞
図７に示す例では、それぞれの撮像領域が重複する２台のカメラ４１，４２で構成されたいわゆる３次元カメラ４３を用いて１つの食品５０（図示する例では鳥唐揚げ）をそれぞれ異なる撮像方向から撮像している。これにより、図８の左側に示すように、１つの食品５０に対して相互に視差を有する２つの画像データ（それぞれ２次元ピクセル列）を取得することができる。
【００５６】
図８に示す例では、画像認識プロセッサ１１のニューラルネットワークが上記２つの画像データをそのまま個別に入力され、それら２つの画像データに基づいて食品５０の形状パターンを認識するよう設計されている。このように３次元の画像データを用いることで、特に形状や大きさが不定である食品５０に対して立体形状の空間認識精度が向上する。なお、カメラは撮像領域が重複すれば３つ以上用いてもよいし、画像認識プロセッサ１１のニューラルネットワークにおいてそれぞれの画像データを個別の畳み込みニューラルネットワークで処理してから同一の全結合層でパターン認識してもよい。
【００５７】
＜その他の変形例＞
また特に図示しないが、対象物の画像データを取得する光学的センシング手段としてレーザースキャナ等をカメラ２（および３次元センサ８）の代わりに用いてもよい。この場合には、例えばレーザースキャナから投光された走査線で対象物の表面上における各点との距離を計測し、これらの距離データの集合で画像データを取得する。
【００５８】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【００５９】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【００６０】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００６１】
１            ピッキングシステム（産業機器）
１Ａ          検査システム（産業機器）
２            カメラ
３            ロボットコントローラ
４            サーボアンプ
５            ピッキングロボット
６            コンテナ
８            ３次元センサ
１０          工業部品（対象物、制御対象物）
１１          画像認識プロセッサ（産業機器用の画像認識プロセッサ）
１２          作業計画部
１３          逆キネマティクス演算部
１６          距離認識部
４３          ３次元カメラ
５０          食品
Ｓ            包囲枠線
【図１】
2018116589.tif 000003
【図２】
2018116589.tif 000004
【図３】
2018116589.tif 000005
【図４】
2018116589.tif 000006
【図５】
2018116589.tif 000007
【図６】
2018116589.tif 000008
【図７】
2018116589.tif 000009
【図８】
2018116589.tif 000010
【国際調査報告】
2018116589.tif 000011
2018116589.tif 000012
2018116589.tif 000013
2018116589.tif 000014