(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-08
(45)【発行日】2022-02-17
(54)【発明の名称】産業機器用の画像認識プロセッサ及びコントローラ
(51)【国際特許分類】
G06T 1/40 20060101AFI20220209BHJP
【FI】
G06T1/40
(21)【出願番号】P 2018557561
(86)(22)【出願日】2017-10-12
(86)【国際出願番号】 JP2017036974
(87)【国際公開番号】W WO2018116589
(87)【国際公開日】2018-06-28
【審査請求日】2019-02-05
【審判番号】
【審判請求日】2021-01-19
(31)【優先権主張番号】P 2016245763
(32)【優先日】2016-12-19
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110003096
【氏名又は名称】特許業務法人第一テクニカル国際特許事務所
(72)【発明者】
【氏名】足立 勝
【合議体】
【審判長】五十嵐 努
【審判官】樫本 剛
【審判官】木方 庸輔
(56)【参考文献】
【文献】特開2016-203293(JP,A)
【文献】特開2013-117795(JP,A)
【文献】特開2008-257649(JP,A)
【文献】特開平6-96220(JP,A)
【文献】特開2015-203680(JP,A)
【文献】特開2009-211178(JP,A)
【文献】特開2014-93023(JP,A)
【文献】特開2016-18538(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/40
G06T 1/00
G06T 7/00
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
事前の学習に基づき確定した画像データ処理のアルゴリズムを記憶し、
所定の
属性の対象物の外観パターンを含む画像の画像データを取得し、
前記アルゴリズムに基づいて前記画像データの認識処理を行い、認識した
前記外観パターンを識別する識別情報
と、認識した前記外観パターンの配置領域とを出力する機能を集積回路に実装した、産業機器用の画像認識プロセッサであって、
前記識別情報は、
予め用意された複数の外観パターンの種類のうちから前記認識した外観パターンに対応する種類が選択的に分類して出力され、
前記配置領域は、
前記画像データに設定された互いに直交するX軸及びY軸にそれぞれ平行な4辺を備えた四角形状であって前記対象物を包囲する包囲枠線における対角線の両端の2点の座標位置として出力され、
前記集積回路は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、又はDSP(Digital Signal Processor)のいずれかの形態で構成され、
かつ、
前記画像認識プロセッサは、
ロボットを制御するロボットコントローラの回路基板に対し、ピン-ソケット型若しくはカセット-コネクタ型の装着構成により、着脱可能に構成されている
ことを特徴とする産業機器用の画像認識プロセッサ。
【請求項2】
前記配置領域の出力は、前記画像データを加工して前記画像中に出力することを特徴とする請求項
1記載の産業機器用の画像認識プロセッサ。
【請求項3】
前記アルゴリズムは、認識する前記
外観パターンと前記識別情報
及び前記配置領域との対応関係を学習したニューラルネットワークにより処理されることを特徴とする請求項1
又は2に記載の産業機器用の画像認識プロセッサ。
【請求項4】
前記ニューラルネットワークは、ノイマン型デバイスによるソフトウェア処理で実装されることを特徴とする請求項
3記載の産業機器用の画像認識プロセッサ。
【請求項5】
前記ニューラルネットワークは、ニューロモーフィック型デバイスでハードウェア的に実装されることを特徴とする請求項
3記載の産業機器用の画像認識プロセッサ。
【請求項6】
前記集積回路は、前記FPGAの形態で構成され、
前記アルゴリズムは、書き換え可能に実装されることを特徴とする請求項1乃至
5のいずれか1項記載の産業機器用の画像認識プロセッサ。
【請求項7】
前記アルゴリズムは、予め別の情報機器を用いて行われる学習によって確定されることを特徴とする請求項1乃至
6のいずれか1項に記載の産業機器用の画像認識プロセッサ。
【請求項8】
所定の属性の対象物の外観パターンを含む画像データを認識処理して学習することによって作成された画像データ認識処理のアルゴリズムを記憶する記憶部と、
前記アルゴリズムを用いて前記画像データの画像に含まれる前記外観パターンの認識処理を行
い、認識した前記外観パターンを識別する識別情報と、認識した前記外観パターンの配置領域とを出力する認識処理部と、
を集積回路に実装した、産業機器用の画像認識プロセッサであって、
前記識別情報は、
予め用意された複数の外観パターンの種類のうちから前記認識した外観パターンに対応する種類が選択的に分類して出力され、
前記配置領域は、
前記画像データに設定された互いに直交するX軸及びY軸にそれぞれ平行な4辺を備えた四角形状であって前記対象物を包囲する包囲枠線における対角線の両端の2点の座標位置として出力され、
前記集積回路は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、又はDSP(Digital Signal Processor)のいずれかの形態で構成され、
かつ、
前記画像認識プロセッサは、
ロボットを制御するロボットコントローラの回路基板に対し、ピン-ソケット型若しくはカセット-コネクタ型の装着構成により、着脱可能に構成されている
ことを特徴とする産業機器用の画像認識プロセッサ。
【請求項9】
請求項1乃至
8のいずれか1項に記載の産業機器用の画像認識プロセッサ
から入力された、認識した外観パターンを識別する識別情報と認識した前記外観パターンの配置領域とに基づいて、認識した
前記外観パターンに対応する制御対象物に対して所定の後続制御を実行することを特徴とするコントローラ。
【請求項10】
前記産業機器用の画像認識プロセッサを着脱交換可能に備えていることを特徴とする請求項
9記載のコントローラ。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、産業機器用の画像認識プロセッサ及びコントローラに関する。
【背景技術】
【0002】
特許文献1には、ロボットアームのハンドに設けたカメラの撮像情報から把持対象物などを認識する制御装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、画像認識する処理装置自体はネットワークを介したサーバや、回路規模の大きい処理装置を利用していたことから、ファクトリーオートメーションなどの産業機械へ適用する場合の画像認識処理の実用性が低かった。
【0005】
本発明はこのような問題点に鑑みてなされたものであり、画像認識処理の実用性を向上できる産業機器用の画像認識プロセッサ及びコントローラを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の一の観点によれば、事前の学習に基づき確定した画像データ処理のアルゴリズムを記憶し、所定のパターンを含む画像の画像データを取得し、前記アルゴリズムに基づいて前記画像データの認識処理を行い、認識したパターンを識別する識別情報を出力する機能を集積回路に実装した産業機器用の画像認識プロセッサが適用される。
【0007】
また、本発明の別の観点によれば、所定の属性の対象物の外観パターンを含む画像データを認識処理して学習することによって作成された画像データ認識処理のアルゴリズムを記憶する記憶部と、前記アルゴリズムを用いて前記画像データの画像に含まれる前記外観パターンの認識処理を行う認識処理部と、を備えた産業機器用の画像認識プロセッサが適用される。
【0008】
また、本発明の別の観点によれば、産業機器用の画像認識プロセッサで認識したパターンに対応する制御対象物に対して所定の後続制御を実行するコントローラが適用される。
【発明の効果】
【0009】
本発明によれば、画像認識処理の実用性を向上できる。
【図面の簡単な説明】
【0010】
【
図1】実施形態の画像認識プロセッサを備えたピッキングシステムの概略的なシステムブロック構成の一例を表す図である。
【
図2】画像認識プロセッサの着脱交換可能な機械的構成を表す図である。
【
図3】カメラがコンテナ内を撮像した画像データの一例を表す図である。
【
図4】画像データに対して画像認識プロセッサが画像認識処理した結果の一例を表す図である。
【
図5】画像認識プロセッサが備えるニューラルネットワークのモデル概略構成の一例を表す図である。
【
図6】画像認識プロセッサを備えた検査システムの概略的なシステムブロック構成の一例を表す図である。
【
図7】3次元カメラで食品の画像データを取得する構成例を表す図である。
【
図8】2つの画像データに基づいて識別情報を出力する場合のニューラルネットワークのモデル概略構成の一例を表す図である。
【発明を実施するための形態】
【0011】
以下、実施の形態について図面を参照しつつ説明する。
【0012】
<ピッキングシステムの概略構成>
図1は、本実施形態の産業機器用の画像認識プロセッサを備えたピッキングシステムの概略的なシステムブロック構成の一例を表している。このピッキングシステムは、コンテナ内に乱雑に配置された複数種類で多数個の工業部品を、種類別に分類して複数の目標容器に取り分けるようピッキングするシステムである。
図1においてピッキングシステム1(産業機器)は、カメラ2と、ロボットコントローラ3と、サーボアンプ4と、ピッキングロボット5とを有している。また、さらに3次元センサ8を有する場合もある。
【0013】
なお、この例ではピッキングの対象物として工業部品を挙げているが、生産ラインで取り扱われるものであれば、工業部品の代わりに食品や化粧品、文房具などであってもよい。こうした対象物のうち、ある種類の対象物に共通して備わっている特徴を属性と表現する。属性の例として、形状や大きさ、色、模様、光沢などが挙げられる。
【0014】
カメラ2は、この例では光学的に2次元ピクセル列の画像データを撮像する撮像機器である。このカメラ2は、コンテナ6の上方に配置されており、そのコンテナ6の内部にそれぞれ乱雑な姿勢で配置されている複数種類で多数個の工業部品10(対象物、制御対象物)の全体を撮像可能となっている。また3次元センサ8は、この例では光学的に対象物の表面の各点との距離データを取得するセンサである。カメラ2同様、コンテナ6の上方に配置されており、コンテナ6の内部の工業部品10の全体を撮像可能となっている。
【0015】
ロボットコントローラ3は、上記カメラ2で撮像した画像データに基づいて、さらに必要に応じて3次元センサ8による距離データに基づいて、ピッキングロボット5のピッキング作業に関する処理を行いサーボアンプ4に駆動指令を出力する。このロボットコントローラ3は、画像認識プロセッサ11と、作業計画部12と、逆キネマティクス演算部13とを有している。また3次元センサ8を用いる場合には、さらに距離認識部16を有する。
【0016】
画像認識プロセッサ11(産業機器用の画像認識プロセッサ)は、上記のカメラ2で撮像した画像データを画像認識することで、その時点でコンテナ6内に配置されている複数個の工業部品10それぞれの個体の種類を認識して対応する識別情報を出力するとともに、当該画像データの画像中における各工業部品10の個体の配置領域を検出して出力する。なお本実施形態の例におけるこの画像認識プロセッサ11の処理部自体は、ハードウェア的に実装された単一の集積回路で構成されており、内部処理的にはニューラルネットワークを用いた機械学習によって各工業部品10の種類の認識処理とそれらの配置領域の検出処理を行う。なお、この画像認識プロセッサ11による処理の内容や手法については後に詳述する。
【0017】
作業計画部12は、上記画像認識プロセッサ11から入力された識別情報及び配置領域に基づいて、ピッキングロボット5に行わせる具体的な作業内容(後述するアーム先端部5aのグリッパ5bの軌道など)を計画し、それにより生成した作業指令を逆キネマティクス演算部13に出力する。なお作業内容の計画の際に、必要に応じて3次元センサ8により取得した距離データをもとに距離認識部16にて各工業製品の3次元的な姿勢(向き)を認識し、姿勢情報として作業計画部12に入力するよう構成してもよい。この場合、作業計画部12では識別情報、配置領域に加え、姿勢情報に基づいて作業内容を計画する。
【0018】
逆キネマティクス演算部13は、上記作業計画部12から入力された作業指令に基づいて、当該作業指令の作業内容(計画した軌道上でのグリッパ5bの移動など)を実現するために必要となるピッキングロボット5の各駆動軸モータ(図示省略)の目標回転角度を演算し、対応する駆動指令を出力する。
【0019】
サーボアンプ4は、上記ロボットコントローラ3の逆キネマティクス演算部13から入力された駆動指令に基づいて、ピッキングロボット5の各駆動軸モータ(図示省略)を駆動制御する駆動電力の給電制御を行う。
【0020】
ピッキングロボット5は、図示する本実施形態の例では6つの関節軸を備えたマニプレータアーム(6軸ロボット)である。そのアーム先端部5aには工業部品10を把持可能なグリッパ5bが設けられており、コンテナ6内の工業部品10を1つずつ近傍の目標容器9へ移送できる機能を有している。
【0021】
以上のように構成された本実施形態のピッキングシステム1によれば、ロボットコントローラ3は、入力された画像データに基づいてコンテナ6内における各工業部品10の配置位置を把握することができる。具体的には、ピッキングロボット5に設定された作業座標(特に図示せず)におけるカメラ2の設置位置と、画像データの画像中において画像認識プロセッサ11が出力する各工業部品10の配置領域とに基づいて座標変換の演算を行うことで、当該作業座標におけるコンテナ6内の各工業部品10の配置位置を把握できる。またロボットコントローラ3は、画像認識プロセッサ11が出力する識別情報に基づいて、コンテナ6内に配置された各工業部品10それぞれの種類に適切に対応したグリッパ5bの把持動作を選択制御できる。これにより、ピッキングシステム1は、コンテナ6内に乱雑に配置された複数種類の工業部品10を、種類別に分類して複数の目標容器9に取り分けることができる。
【0022】
また、本実施形態で用いる画像認識プロセッサ11は、上述したように、ハードウェア的に実装された単一の集積回路で構成されている。例えば
図2に示すように、画像認識プロセッサ11がいわゆるPGA(Pin Grid Array)タイプのパッケージで構成されており、ロボットコントローラ3の回路基板14に設けられたソケット15に対して着脱交換可能となっている。なお、画像認識プロセッサ11の装着構成は、図示するようなピン-ソケット型に限られず、例えばカセット-コネクタ型などの他の装着構成としてもよい(図示省略)。
【0023】
<本実施形態の特徴>
近年における機械学習技術の発達により、画像データから所定のパターンを認識する画像認識の処理精度が飛躍的に向上している。
【0024】
しかし、このような機械学習による画像認識処理は、これまで大規模な高性能クラウドサーバでの処理を前提としており、ネットワーク通信を介したデータの送受が必要であったため実質的な処理速度の低下やセキュリティが問題となっていた。また、作業現場で画像データを撮像、生成するカメラ等に直接いわゆるGPU(Graphic Processor Unit)を接続して画像認識処理を行わせる構成も提案されている。しかし、GPUを用いる場合には各種のデータやパラメータを記憶する大容量のメモリや周辺の制御回路が別途必要となるため、回路規模が大きくなって装置全体が大型化及び重量化してしまうとともに消費電力が増大してしまうという問題があった。以上により、ファクトリーオートメーションなどの産業機械へ適用する場合の画像認識処理の実用性が低かった。
【0025】
これに対し本実施形態で用いる画像認識プロセッサ11は、事前の学習に基づき確定した画像データ処理のアルゴリズムを記憶し、所定のパターンを含む画像の画像データを取得し、アルゴリズムに基づいて画像データの認識処理を行い、認識したパターンを識別する識別情報を出力する機能を集積回路に実装した産業機器用の画像認識プロセッサ11として構成している。このように、特に工場などの作業現場で最小限必要とされるパターン認識とその識別情報の出力と言う機能だけに特化して集積回路に実装しているため、画像認識処理に必要な装置構成全体における大幅な小型化及び軽量化、消費電力の低減、及び処理の高速化が可能となる。
【0026】
<画像認識プロセッサの処理内容>
図3は本実施形態のピッキングシステム1においてカメラ2がコンテナ6内を撮像した画像データの一例を表し、
図4は当該画像データに対して画像認識プロセッサ11が画像認識処理した結果の一例を表している。
【0027】
図示する例では、円筒形状の部品Aと、長円貫通孔が開いた板形状の部品Bと、上記部品Aよりも細くて長い棒形状の部品Cの3種類の工業部品A,B,Cがそれぞれ乱雑な姿勢でコンテナ内に配置されている。そのうち部品Aについては、一端部を下にして直立している姿勢のものと、側面を下にして横たわっている姿勢のものが混在している。また部品Bについては、全体が裏返って長円貫通孔の配置関係が異なるものが混在している。
【0028】
このような画像データに対して、画像認識プロセッサ11は、各工業部品A,B,Cの個体それぞれの姿勢にかかわらず同じ種類の工業部品A,B,Cどうしで共通する外観形状のパターンを認識し、そのパターンに対応する種類を識別情報(
図4中の「A」,「B」,「C」)として個別に出力する。つまり、本実施形態において画像認識プロセッサ11が行う識別情報の出力は、予め用意された複数の種類(この例のA,B,Cの3種)のうちから選択的に分類して出力するいわゆるクラスタリングにより行う。
【0029】
また図示する例では、画像認識プロセッサ11は、画像データに設定された座標X-Yにおける各工業部品A,B,Cの配置領域をX軸、Y軸にそれぞれ平行な4辺を備えた四角形状の包囲枠線Sで包囲し、その包囲枠線Sにおける2つの対向点の各座標位置(
図4中の(xia、yia)、(xib、yib))を個別に出力する。
【0030】
<ニューラルネットワークの構成について>
画像認識プロセッサ11は、上述したように、ニューラルネットワークを用いた機械学習によって各工業部品10の種類の認識と配置領域の検出を行う。本実施形態の例におけるこのニューラルネットワークは、例えば
図5に示すモデル概略図のように、カメラ2から入力された2次元ピクセル列の画像データに基づいて、その画像中に存在する1つの工業部品10の種類(A,B,C)の識別情報をクラスタリングして出力する。なお図示する例では、識別情報を出力する具体的態様として、認識すべきパターンの種類(A,B,C)と同数の出力ノードを用意してそれらのうちから認識したパターンの種類に対応する1つの出力ノードのみから2値出力(例えば正論理で出力)している。また、このニューラルネットワークでは、認識した工業部品10の配置領域を示す包囲枠線Sの2対向点の各座標位置(xia、yia、xib、yib)も出力するよう設計されている。なお配置領域の出力は、いわゆる回帰問題により整数値の座標位置を出力するようニューラルネットワークを設計する。
【0031】
以上の基本仕様にあるニューラルネットワークにおいては、例えば入力層の直近をいわゆる畳み込み層とプーリング層の組み合わせである畳み込みニューラルネットワーク(特に図示せず)で構成することで柔軟なパターンの認識が可能となる。また例えば、出力層の直近をいわゆるパターン認識や最適値演算に適した全結合層(特に図示せず)で構成する。
【0032】
また本実施形態の例のように画像データの画像中に複数の工業部品10が存在する場合には、いずれかの層、例えば図示するように上記の畳み込みニューラルネットワークと上記の全結合層の間の層において、認識処理の対象個体を指定するインデックスiを入力してもよい。このインデックスiについては、例えば画像の左上から所定方向に走査してi番目に位置する部品個体についての識別番号とし、識別情報と配置領域はこの入力されたインデックスiに対応する認識対象の工業部品10について出力される。
【0033】
この画像認識プロセッサ11が備えるニューラルネットワークは、事前に認識対象である工業部品10(この例の部品A,B,C)の各種類について、それぞれ様々な姿勢の外観形状のパターンと出力すべき種類の識別情報との対応関係がすでに学習されている。この学習については、当該画像認識プロセッサ11の設計開発段階で別途の学習用コンピュータ(別の情報機器;特に図示せず)により事前に行われる。具体的には、当該学習用コンピュータが、同等の層構造にあるニューラルネットモデルに対して相当数の教師データ(入力するパターンデータと、出力すべき識別情報データ及び配置領域データを組み合わせたデータセット)を繰り返し与えた際に、その都度に入力層と出力層の間の関係性が成立するよう各ノードどうしをつなぐ各エッジの重み係数を調整するいわゆるバックプロパゲーション処理により学習を行う。なお、このようなバックプロパゲーションの他にも、いわゆるオートエンコーダ、ドロップアウト、ノイズ付加、及びスパース正則化などの多様な学習手法を併用して処理精度を向上させてもよい。そしてこれらの学習により得られた各重み係数の組み合わせ配列を画像認識プロセッサ11に記憶させることで、工業部品10の外観形状パターンと種類との相関を表す特徴量を学習したニューラルネットワークを備えることができる。
【0034】
画像認識プロセッサ11における上記のようなニューラルネットワークの具体的な実装形態としては、いわゆるノイマン型デバイスによるソフトウェア処理で実装されてもよい。例えば、各ノードの出力とそれに接続する各エッジの重み係数の積算演算や、それらの積算結果どうしを加算する加算演算や、その加算結果が入力された各ノードの活性化関数演算について、行列式の内積演算(テンソル演算)の処理に特化した構成のノイマン型デバイス(いわゆるGPUやTPUと同等の集積回路)によるソフトウェア処理で実現してもよい。この場合は、主にデジタルデータ(離散値データ)を用いた逐次型処理となる。
【0035】
または、画像認識プロセッサ11における上記ニューラルネットワークの他の具体的な実装形態として、いわゆるニューロモーフィック型デバイスでハードウェア的に実装されてもよい。例えば、各エッジの重み係数を抵抗値や静電容量などの物理量で保存し、これらと電流や電圧などで出力されるノード出力との積算値を表す物理量の加算値を、ハードウェア回路で活性化関数を実装した他のノードに入力することでいわゆるパーセプトロン(ニューラルネットワークの最小構成要素モデル)を実現してもよい。この場合は、デジタルデータ(離散値データ)とアナログデータ(連続値データ)のいずれか一方もしくは両方を用いた並列分散処理となる。
【0036】
また、画像認識プロセッサ11の集積回路は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、又はDSP(Digital Signal Processor)のいずれかの形態で構成することで、これまで開発されてきた集積回路の実装技術を利用した当該画像認識プロセッサ11の具現化が容易となる。
【0037】
また、上記
図4に示した各工業部品10の配置領域を示す包囲枠線Sについては、画像データを加工して当該画像データ中に描画してもよい。この描画処理は、画像認識プロセッサ11内で行ってもよいし、包囲枠線Sの2対向点の各座標位置(xia、yia、xib、yib)を受け取った後続の処理部(図示省略)で別途行ってもよい。また画像認識プロセッサ11が出力した配置領域に対し、ロボットコントローラ3の他の処理部(図示省略)で別途3Dレーザースキャナ等(特に図示せず)を用いて当該配置領域に存在する工業部品10の姿勢を例えば3次元CADモデル(識別情報の種類に対応して予め用意したモデル)などで検出してもよい。
【0038】
以上において、ニューラルネットワークのネットワーク接続構成及び各エッジの重み係数の組み合わせ配列の全体が、各請求項記載の画像データ処理のアルゴリズムに相当する。また、このニューラルネットワークを上記ノイマン型デバイスで実装した場合において、ニューラルネットワークのネットワーク接続構成及び各エッジの重み係数の組み合わせ配列に対応する行列式を記憶するメモリ領域が各請求項記載の記憶部に相当し、その行列式演算を行う演算部分が各請求項記載の認識処理部に相当する。また、ニューラルネットワークを上記ニューロモーフィック型デバイスで実装した場合において、当該ニューラルネットワークを構成するハードウェア回路の全体が、各請求項記載の記憶部及び認識処理部に相当する。
【0039】
<本実施形態による効果>
以上説明したように、本実施形態の画像認識プロセッサ11は、事前の学習に基づき確定した画像データ処理のアルゴリズムを記憶し、所定のパターンを含む画像の画像データを取得し、アルゴリズムに基づいて画像データの認識処理を行い、認識したパターンを識別する識別情報を出力する機能を集積回路に実装している。例えば、対象物が食品であれば惣菜専用の画像認識プロセッサや魚の切り身専用の画像認識プロセッサ、工業製品であればネジ専用の画像認識プロセッサやコンロッド専用の画像認識プロセッサ、化粧品であれば口紅専用の画像認識プロセッサや香水瓶専用の画像認識プロセッサ、薬品であれば風邪薬専用の画像認識プロセッサや胃腸薬専用の画像認識プロセッサ、文房具であればハサミ専用の画像認識プロセッサなどを作成することもできる。このように、特に工場などの作業現場で最小限必要とされるパターン認識とその識別情報の出力と言う機能だけに特化して集積回路に実装しているため、画像認識処理に必要な装置構成全体における大幅な小型化及び軽量化、消費電力の低減、及び処理の高速化が可能となる。この結果、画像認識処理の実用性を向上できる。
【0040】
また、本実施形態では特に、認識したパターンの識別情報の出力は、予め用意された複数のパターンの種類のうちから選択的に分類してクラスタリング出力する。これにより、認識すべきパターンの種類を画像認識処理の用途(工業用、食品用など)に応じた複数の種類に限定して集積回路の回路規模を簡易化できる。また、出力する種類を明確化してその種類ごとに対応して行うべき後続制御(ロボットコントローラ3の作業計画部12における選別ピッキング制御)の選択が容易となる。なお上記実施形態では、認識すべきパターンの種類(A,B,C)と同数の出力ノードを用意し、それらのうちの認識したパターンの種類に対応する1つの出力ノードのみから2値出力(例えば正論理で出力)する態様としていたが、これに限られない。例えば、複数の出力ノードの2値出力を組み合わせた2進数表現で出力する態様等としてもよい。
【0041】
また、本実施形態では特に、画像認識プロセッサ11は、画像データの画像中において認識したパターンの配置領域を検出して出力する。これにより、画像データを撮像したカメラ2などの撮像視野において、認識したパターンに対応する工業部品10の配置位置を概略的に把握することができ、認識されたパターンの識別情報に基づいてピッキングなどのハンドリングを行う場合にその配置位置を利用できる。
【0042】
また、本実施形態では特に、配置領域の出力は、画像データを加工して画像中に出力(包囲枠線の描画)する。これにより、画像データの画像を特に図示しないディスプレイなどに表示した場合に、認識したパターンに対応する工業部品10の配置位置を視覚的に表示できる。なお、画像中における配置領域の描画出力は、上述した包囲枠線Sに限られない。例えば、画像中において認識したパターン全体のピクセルの塗りつぶし(識別情報に対応した色での塗りつぶし)等によって表現してもよい。
【0043】
また、本実施形態では特に、アルゴリズムは、認識するパターンと識別情報との対応関係を学習したニューラルネットワーク(ディープラーニング、深層学習)により処理される。これにより、低消費電力で高速かつ高精度にパターンの認識を行うことが可能になる。なお、画像認識プロセッサ11に適用する機械学習としては、ニューラルネットワークを用いた深層学習以外にも、例えばサポートベクターマシン等のデータマイニングによる他の機械学習の手法を適用してもよい。
【0044】
また、本実施形態では特に、ニューラルネットワークを、ノイマン型デバイス(逐次処理型デバイス)によるソフトウェア処理で実装することで、当該画像認識プロセッサ11の後続制御において利用する他のノイマン型デバイス(いわゆるCPU等)と電源などの設置環境で親和性の高い実装が可能となる。
【0045】
また、本実施形態では特に、ニューラルネットワークを、ニューロモーフィック型デバイス(並列分散処理型デバイス)でハードウェア的に実装することで、さらなる低消費電力化、小型化及び軽量化、及び処理の高速化が可能となる。
【0046】
また、本実施形態では特に、集積回路が、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、又はDSP(Digital Signal Processor)のいずれかの形態で構成されることで、これまで開発されてきた集積回路の実装技術を利用した当該画像認識プロセッサ11の具現化が容易となる。
【0047】
なお、本実施形態の画像認識プロセッサ11は、認識すべき各種のパターンとその認識アルゴリズムをすでに学習済みであるニューラルネットワークを実装することを想定しているが、これに限られない。他にも、画像認識プロセッサ11の集積回路が、FPGAの形態で構成された場合には、アルゴリズムが書き換え可能に実装されてもよい。これにより、例えばアルゴリズムをニューラルネットワークで処理する場合において、当該ニューラルネットワーク全体における接続構成の設計や、各重み係数の学習及び設定をユーザ側で書き換えることができるため、画像データ認識処理の汎用性が向上する。また、さらに学習の進んだニューラルネットワークを実装した新しいアルゴリズムへの書き換えによるアップデートも容易となる。
【0048】
また、本実施形態では特に、アルゴリズムは、予め別の情報機器(学習用コンピュータ)を用いて行われる学習によって確定される。これにより、アルゴリズムを確定するための学習に必要なハードウェアリソースをロボットコントローラ3と別体の情報機器で構成できるため、画像認識プロセッサ11及びそれを搭載するロボットコントローラ3などのアプリケーション機器自体の構成規模を大幅に簡略化できる。
【0049】
また、本実施形態では特に、ロボットコントローラ3が、画像認識プロセッサ11で認識したパターンに対応する工業部品10に対して所定のピッキング制御を実行する。これにより、画像認識プロセッサ11を単に画像認識インターフェースとして組み込み、出力されたパターンの識別情報に対応した各種の後続制御の実行を実現できる。
【0050】
また、本実施形態では特に、ロボットコントローラ3が、画像認識プロセッサ11を着脱交換可能に備えている。これにより、ロボットコントローラ3本体を共通化し、上記実施形態の例の工業部品10以外にも例えば食材などの認識対象物の分類別に特化した画像認識プロセッサ11を交換可能にすることで、ロボットコントローラ3の汎用性を向上できる。また、さらに学習の進んだニューラルネットワークを実装した新しい画像認識プロセッサ11への交換によるアップデートも容易となる。
【0051】
<変形例>
なお、以上説明した実施形態は、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
【0052】
<変形例1:アーム先端部にカメラと画像認識プロセッサを設置する場合>
例えば、上記実施形態では、カメラ2を固定した定点撮像により画像データを取得していたが、これに限られない。例えば、
図6に示すように、6軸ロボット5Aのアーム先端部5aにカメラ2を固定し、対象となる構造物21を構成する細部部品の形状を多様な視野方向で撮像して当該構造物21の組立検査を行えるようにしてもよい。
【0053】
この場合、画像認識プロセッサ11は画像データから検査対象の細部部品のパターンを認識して識別情報と配置領域を出力し、これに基づいて検査装置7が検査結果を判定する。またこの検査装置7が細部部品の座標情報を出力し、これに基づいてロボットコントローラ3Aが構造物21の姿勢や配置を把握できる。これにより構造物21が不特定の姿勢と位置で配置された場合でも、ロボットコントローラ3Aは6軸ロボット5Aに設定された作業座標中において構造物21の姿勢と位置を把握できる。
【0054】
このような検査システム1A(産業機器)において、カメラ2の画像データを送信するのに必要な太いケーブルを6軸ロボット5Aのロボットアームに沿って長く引き回した場合には、ケーブルの重量がアーム動作制御に悪影響を与えやすいとともにケーブルが外部に干渉してロボットアームの動作制御を阻害しやすい。しかし、
図6に示すように、アーム先端部5aでカメラ2の近傍に画像認識プロセッサ11も設置し、その識別情報及び配置領域の情報を送信する信号線をロボットアームの内部に配線した場合には、ロボットアーム全体が軽量となるとともに外部との干渉を回避できる点で有利である。この場合には、画像認識プロセッサ11が集積回路で実装した軽量な構成であることからも、ロボットアームの動作制御に大きく影響を与えることがないという利点がある。
【0055】
<変形例2:複数のカメラで撮像した複数の画像データでパターン認識する場合>
図7に示す例では、それぞれの撮像領域が重複する2台のカメラ41,42で構成されたいわゆる3次元カメラ43を用いて1つの食品50(図示する例では鳥唐揚げ)をそれぞれ異なる撮像方向から撮像している。これにより、
図8の左側に示すように、1つの食品50に対して相互に視差を有する2つの画像データ(それぞれ2次元ピクセル列)を取得することができる。
【0056】
図8に示す例では、画像認識プロセッサ11のニューラルネットワークが上記2つの画像データをそのまま個別に入力され、それら2つの画像データに基づいて食品50の形状パターンを認識するよう設計されている。このように3次元の画像データを用いることで、特に形状や大きさが不定である食品50に対して立体形状の空間認識精度が向上する。なお、カメラは撮像領域が重複すれば3つ以上用いてもよいし、画像認識プロセッサ11のニューラルネットワークにおいてそれぞれの画像データを個別の畳み込みニューラルネットワークで処理してから同一の全結合層でパターン認識してもよい。
【0057】
<その他の変形例>
また特に図示しないが、対象物の画像データを取得する光学的センシング手段としてレーザースキャナ等をカメラ2(および3次元センサ8)の代わりに用いてもよい。この場合には、例えばレーザースキャナから投光された走査線で対象物の表面上における各点との距離を計測し、これらの距離データの集合で画像データを取得する。
【0058】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【0059】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【0060】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【0061】
1 ピッキングシステム(産業機器)
1A 検査システム(産業機器)
2 カメラ
3 ロボットコントローラ
4 サーボアンプ
5 ピッキングロボット
6 コンテナ
8 3次元センサ
10 工業部品(対象物、制御対象物)
11 画像認識プロセッサ(産業機器用の画像認識プロセッサ)
12 作業計画部
13 逆キネマティクス演算部
16 距離認識部
43 3次元カメラ
50 食品
S 包囲枠線