(57)【特許請求の範囲】
【請求項１】
対象物のモデルパターンに基づいて、前記対象物が撮像された入力画像から、前記対象物の一乃至複数の像を検出する対象物検出手段と、
前記検出されたそれぞれの像に対して検出結果をグラフィカルに重畳表示する検出結果表示手段と、を備える画像処理装置であって、
前記検出結果表示手段は、
前記入力画像の全体を表示する第１のフレームと、
該入力画像から検出された前記一乃至複数の像のそれぞれが含まれる部分画像を一覧表示する第２のフレームと、を備え、
前記第１のフレームに表示されている入力画像には、前記検出された像のすべてに対して検出結果が重畳表示されており、
前記第２のフレームに一覧表示されている部分画像には、それぞれの部分画像に対応する像に対して検出結果が重畳表示されており、
前記第１のフレームと前記第２のフレームとは同時に表示されることを特徴とする画像処理装置。
【請求項２】
前記検出結果表示手段は、前記第２フレームに表示されている前記部分画像に、それぞれの部分画像に対応する像に関連付けて記憶された第１のラベル情報をさらに重畳表示すると共に、前記第１のラベル情報を操作者の操作に基づいて変更可能とすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記検出結果表示手段は、前記第１のフレームと前記第２のフレームにそれぞれの設定倍率で画像を表示することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記検出結果表示手段は、前記第２のフレームに表示される前記複数の部分画像から一を選択する部分画像選択手段を備え、前記第１のフレームに表示される前記入力画像において、前記部分画像選択手段により選択された部分画像に相当する対象物の像に対する検出結果をハイライト表示することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記検出結果表示手段は、前記第１のフレームに表示される前記入力画像に、該入力画像から検出された前記一乃至複数の像のそれぞれに対応する前記第１のラベル情報を重畳表示することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記画像処理装置は、複数の入力画像と、該複数の入力画像のそれぞれから検出された前記対象物の一乃至複数の像の検出結果を関連付けて記憶する検出結果記憶手段と、前記複数の入力画像から一を選択するための入力画像選択手段と、を備え、
前記検出結果表示手段は、前記入力画像選択手段により選択された前記一の入力画像と、該一の入力画像に関連付けて前記検出結果記憶手段に記憶された検出結果と、を表示することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記画像処理装置は、前記検出結果記憶手段に記憶された前記複数の入力画像を、それぞれの入力画像から検出された前記対象物の一乃至複数の像および検出結果を重畳した上で一覧表示する入力画像表示手段を備え、
前記検出結果表示手段は、前記入力画像選択手段により選択された前記一の入力画像を表示するものであり、操作者の操作に基づいて、前記入力画像表示手段と前記検出結果表示手段を切り替え可能とすることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記検出結果記憶手段は、第２のラベル情報を、前記複数の入力画像のそれぞれに関連付けて記憶し、
前記入力画像表示手段は、前記複数の入力画像のそれぞれに関連付けて記憶された前記第２のラベル情報をさらに重畳表示すると共に、前記第２のラベル情報を操作者が変更可能とし、一の入力画像の前記第２のラベル情報を変更することで、該一の入力画像に関連付けて記憶された前記複数の対象物の像のそれぞれに対応する第１のラベル情報を一括して変更することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記画像処理装置は、
前記検出された像のそれぞれに第１のラベル情報を付加し、互いに関連付けて学習データとして記憶する学習データ記憶手段と、
前記学習データをもとに機械学習または統計的処理を行う学習手段と、を備えることを特徴とする請求項１から８のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像から検出した対象物を表示する画像処理装置に関し、特に画像に写った複数の対象物の像の位置を検出し、操作者が検出した対象物の像が正しいか確認するために、検出結果を表示する画像処理装置に関する。
【背景技術】
【０００２】
画像処理装置を用いて撮像装置の視野内の画像の中から特定の対象物の像を検出する場合、対象物を表す基準情報（一般に、モデルパターンとかテンプレートなどと呼称される）と撮像装置によって取得した入力画像の間で特徴量のマッチングを行い、一致度が指定したレベル（閾値）を越えたときに対象物の検出に成功したと判断することが一般的である。
【０００３】
しかし、一致度が閾値を越えていたとしても、実際に正しく対象物の像が検出されているとは限らない。そのため、一致度の閾値などの検出パラメータを調整するためには、対象物が正しく検出されているのか操作者が目視で確認することがある。対象物が正しく検出されているかを確認するためには、入力画像上の検出位置にモデルパターンの原点やモデルパターンを囲む矩形やモデルパターンの形状をプロットするという方法がとられることが多い。
【０００４】
さらに、入力画像から対象物を検出する場合だけでなく、入力画像中の対象物を検査する場合にも、パラメータ調整の段階では、良否判定の結果が妥当であるか操作者が目視で確認する必要がある。この場合には、欠陥部分に色を付けたり、不良品である対象物は異なる色で囲ったりすることで、判定結果を分かり易く表示することが望ましい。
【０００５】
また、検出結果や良否判定結果をもとに、対象物検出確度を向上する機械学習やモデルパターン改良のための統計処理を行う場合がある。機械学習の教師あり学習と呼ばれる手法では、入力データとそのラベル（OK/NGや種類）を与える。検出結果や良否判定結果をもとに教師あり学習を行うためには、検出結果や良否判定の結果が正しいか確認を行い、正しくない結果があれば、ボタンやテキストボックスなどでラベルを修正する。また、統計処理では、良の判定結果の対象物の像に対して処理を行ったり、良否の判定結果を用いて良否を判別する閾値を計算する。ここでは、学習には機械学習および統計処理が含まれるものとする。
【０００６】
特許文献１は、操作者が良否判定結果を入力し、画像と良否判定結果により、良否判定を行う閾値を設定する良否判定を記載している。画像の選択は画像ファイル名を選択することで行っており、画像を１つ１つ開いていかないと良否判定結果を確認することができない。また、良否判定結果は画像に対して一つであると想定されており、画像内の複数の対象物の良否を判定することは想定されていない。
【０００７】
特許文献２は、欠陥抽出のパラメータを変更すると、記憶されている画像全てに対して欠陥抽出が再度行われ、その良否判定とともにサムネイル画像が一覧表示される欠陥検査システムを記載している。また、欠陥判定を新たに行うと、画像上に複数の欠陥と判定された部分が図示される。ここでは、欠陥と判定された領域を拡大したり、その欠陥を欠陥辞書に登録したりするためには、画像上で欠陥部分をクリックする必要がある。そのため、複数の欠陥を同時に拡大して表示することができない。また、欠陥を登録する作業も繁雑になる。
【０００８】
特許文献３は、良否が設定された画像群に、新たに良品とする画像を追加したときに、良品の画像群から判定の閾値を計算し、その閾値で不良品が不良品として判定されるかどうかを確認する外観検査装置を記載している。この特許では画像を一枚ずつ表示して、良否を修正できるようになっているが、大量の画像の良否を確認しやすいようにはなっていない。また、一枚の画像に対して複数の箇所を判定することは考慮されていない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−１１４８４３号公報
【特許文献２】国際公開第２００１／０４１０６８号
【特許文献３】特開２０１３−１４２５５８号公報
【非特許文献】
【００１０】
【非特許文献１】"Object Recognition from Local Scale-Invariant Features", David G. Lowe, Proc. of the International Conference on Computer Vision, Corfu (Sept. 1999)
【非特許文献２】"Generalizing the Hough Transform to Detect Arbitrary Shapes", D. H. Ballard, Pattern Recognition Vol. 13, No. 2, pp. 111-122, 1981
【非特許文献３】"Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography", Martin A. Fischler, et al., Communications of the Association for Computing Machinery Vol. 24 No. 6 Pages 381-395, June 1981
【発明の概要】
【発明が解決しようとする課題】
【００１１】
以上説明したように、検出結果や良否判定結果を確認する場合には、画像上に検出結果や良否判定結果をプロットするという方法が取られることが多い。
【００１２】
しかし、この方法には以下の問題がある。
・１つの画像から複数の対象物が検出され場合に、検出結果が重なっていたり、隣接していたりすると、妥当性が確認しづらい。さらに、ラベルを修正する場合には、修正するボタンやチェックボックスなどと検出結果の対応付けがわかりにくくなる。
・画像に対する検出結果のサイズが小さいと、妥当性を確認しづらい。
【００１３】
本発明の目的は、入力画像から検出した対象物を、検出結果や良否判定結果の確認が容易に行えるように表示する画像処理装置を提供することである。
【課題を解決するための手段】
【００１４】
本発明の画像処理装置は、対象物のモデルパターンに基づいて、対象物が撮像された入力画像から、対象物の一乃至複数の像を検出する対象物検出手段と、検出されたそれぞれの像に対して検出結果をグラフィカルに重畳表示する検出結果表示手段と、を備える画像処理装置であって、検出結果表示手段は、入力画像の全体を表示する第１のフレームと、この入力画像から検出された一乃至複数の像のそれぞれが含まれる部分画像を一覧表示する第２のフレームと、を有し、第１のフレームに表示されている入力画像には、検出された像のすべてに対して検出結果が重畳表示されており、第２のフレームに一覧表示されている部分画像には、それぞれの部分画像に対応する像に対して検出結果が重畳表示されており、前記第１のフレームと前記第２のフレームとは同時に表示されることを特徴とする。
【発明の効果】
【００１５】
本発明の画像処理装置による表示では、入力画像から検出した対象物についての検出結果や良否判定結果の確認が容易に行えるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態の画像処理装置の構成を示すブロック図である。
【図２】第１実施形態の画像処理装置が使用される構成例を示す図である。
【図３】第１実施形態の画像処理装置が使用される別の構成例を示す図である。
【図４】撮像した入力画像と画像座標系との関係を示す図である。
【図５】第１実施形態の画像処理装置の処理の流れを示すフローチャートである。
【図６】対象物のモデルパターンの例を示す図である。
【図７】モデルパターンに関するデータの形式例を示す図である。
【図８】入力画像一覧画面の表示例を示す図である。
【図９】図８の状態で、第2のラベルの修正ボタンをクリックした後の表示例を示す図である。
【図１０】検出結果一覧画面の表示例を示す図である。
【図１１】図１０の状態で第1のラベルの修正ボタンをクリックした後の表示画面を示す図である。
【図１２】検出結果一覧画面の別の表示例を示す図である。
【図１３】検出結果一覧画面のさらに別の表示例を示す図である。
【図１４】検出結果一覧画面のさらに別の表示例を示す図である。
【図１５】検出結果一覧画面のさらに別の表示例を示す図である。
【図１６】部分画像上の対象物の像は同じ姿勢で表示される場合の検出結果一覧画面の表示例を示す図である。
【図１７】異なるサイズの対象物の像を元のサイズ比のまま同時に表示する場合の検出結果一覧画面の表示例を示す図である。
【図１８】第２実施形態の画像処理装置の処理の流れを示すフローチャートである。
【図１９】第２実施形態で使用する検出結果一覧画面の表示例を示す図である。
【図２０】ステップＳ２０４で表示する検出結果一覧画面の表示例を示す図である。
【図２１】第1のラベルを修正した場合の検出結果一覧画面の表示例を示す図である。
【図２２】ニューロンのモデルを模式的に示す図である。
【図２３】図２２に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。
【図２４】第１および第２実施形態の学習手段２２の概略構成を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しつつ、本発明の実施形態を説明する。
実施形態における説明では、以下のように記号を使用する。説明を明確にするために、記号についてまず説明する。
【００１８】
NP: モデルパターンを構成する特徴点の数
P_i: モデルパターンのi番目の特徴点（iは1からNP）
NI: 入力画像の数
I_j: j番目の入力画像（jは1からNI）
NT_j: j番目の入力画像I_jから検出された対象物の像の数
T_jg: j番目の入力画像I_jから検出されたg番目の対象物の像（gは1からNT_j）
L1_jg: j番目の入力画像I_jから検出されたg番目の対象物の像の第1のラベル
L2_j: j番目の入力画像I_jの第2のラベル
【００１９】
図１は、本発明の第１実施形態の画像処理装置の構成を示すブロック図である。
図１に示すように、第１実施形態の画像処理装置１０は、演算部２０、記憶部３０、表示部４０および操作部５０を有する。画像処理装置１０には、視覚センサ１１、操作盤１２、表示装置１３等が接続される。演算部２０は、対象物検出手段２１および学習手段２２を含む。記憶部３０は、モデルパターン記憶手段３１、学習データ記憶手段３２、検出結果記憶手段３３を含む。表示部４０は、検出結果表示手段４１および入力画像表示手段４２を含む。操作部５０は、部分画像選択手段５１および入力画像選択手段５２を含む。画像処理装置１０に含まれる各部分は、CPU、ROM、RAM等を有するコンピュータ上でソフトウェアにより実現される。
【００２０】
視覚センサ１１は、画像処理装置１０に通信ケーブルで接続されている。視覚センサ１１は、撮像した画像データを画像処理装置１０に供給する。操作盤１２は、画像処理装置１０に通信ケーブルで接続されている。操作盤１２は、表示装置１３に表示される画面を操作するために使用される。表示装置１３は、画像処理装置１０に通信ケーブルで接続されている。表示装置１３には視覚センサ１１で撮像した画像や検出結果などが表示される。なお、視覚センサ１１、操作盤１２および表示装置１３は画像処理装置１０と一体になっていてもよい。表示装置１３は、ＣＲＴ、液晶パネル等を有する表示機器である。操作盤１２は、マウスやキーボードでもよいし、表示装置１３上のタッチパネルでもよい。
【００２１】
図２は、第１実施形態の画像処理装置１０が使用される構成例を示す図である。
図２に示すように、視覚センサ１１を対象物１７Ａおよび１７Ｂが撮像できる位置に固定設置し、対象物１７Ａおよび１７Ｂは作業台１６に載置する。作業台１６に載置する対象物１７Ａおよび１７Ｂは単数でも複数でもよい。視覚センサ１１は濃淡画像やカラー画像を撮像するカメラでもよいし、距離画像を取得できるステレオカメラや3次元センサでもよい。
【００２２】
この第１実施形態では、視覚センサ１１としてカメラを用い、視覚センサ１１が濃淡画像を出力するものとして説明を行う。カメラは、例えばＣＣＤ（Charge Coupled Device）等の撮像素子を有する電子カメラであり、撮像により２次元画像を撮像面（ＣＣＤアレイ面上）で検出する機能を持つ周知の受光デバイスである。なお、撮像面における２次元座標系を以下では画像座標系と呼ぶ。
【００２３】
図３は、第１実施形態の画像処理装置１０が使用される別の構成例を示す図である。
図３に示すように、視覚センサ１１をロボット１の手先（ハンド）２などの可動部に設置してもよい。また、対象物１７Ａおよび１７Ｂをロボット１の手先に把持して、それを固定設置されている視覚センサの視野に入るように移動してもよい。ロボット１は、通信ケーブルで接続されロボット制御装置３により制御される。ロボット制御装置３は、画像処理装置１０からの処理結果をロボット１の制御に利用する。
【００２４】
図４は、撮像した入力画像と画像座標系との関係を示す図である。
図４に示すように、入力画像１００は、長方形の画像面を有し、長方形の辺に対応した画像座標系１１０を有する。画像面上の位置は、画像座標系１１０のＸＹ座標で表される。図４では、入力画像１００には、３個の対象物の画像２００Ａ−２００Ｃが含まれる。なお、以下の説明では、対象物の画像を単に対象物と称する場合がある。
【００２５】
図５は、第１実施形態の画像処理装置の処理の流れを示すフローチャートである。
学習手段２２が行う処理に応じて、画像処理装置で操作者が行う操作および処理の内容が異なる。ここでは、まず学習手段２２が統計処理を行う場合を例として説明する。
ステップＳ１０１で、対象物の検出に用いるモデルパターンの作成を行う。
【００２６】
第１実施形態におけるモデルパターンは複数の特徴点から構成される。特徴点としては様々な物が使用できるが、第１実施形態ではエッジ点を特徴点として用いる。エッジ点は、画像中で輝度勾配が大きな点であり、対象物の輪郭形状を取得するために使用できる。エッジ点を抽出する方法は周知である。エッジ点どのような粒度で取得してもよいが、ここでは1画素に対して1つのエッジ点を抽出する。
【００２７】
特徴点がエッジ点に限定されるわけではなく、たとえばＳＩＦＴのような特徴点を使用してもよい。画像からＳＩＦＴ特徴点を抽出する方法は、非特許文献１などに記載されるように周知である。
【００２８】
特徴点は少なくとも位置を有する。エッジ点の輝度勾配の方向を特徴点の姿勢と定義すると、位置とあわせて特徴点の位置姿勢を定義することができる。第１実施形態では、特徴点は位置、姿勢を持つものとする。
【００２９】
図６は、対象物のモデルパターンの例を示す図である。図６に示されているように、対象物２００のモデルパターンは、複数の特徴点（エッジ点）P_i（i=1〜NP）で構成される。モデルパターンを構成する特徴点P_iの位置姿勢はどのような形式で表してもよいが、一例としては、モデルパターンに座標系を定義し（以下、モデルパターン座標系）、モデルパターンを構成する特徴点の位置t_Pi（i=1〜NP）や姿勢v_Pi（i=1〜NP）をモデルパターン座標系から見た位置ベクトルや方向ベクトルなどで表現する方法が挙げられる。
【００３０】
また、モデルパターン座標系の原点はどのように定義してもよい。例えば、モデルパターンを構成する特徴点から任意の1点を選択して、その点を原点として定義してもよく、モデルパターンを構成するすべての特徴点の重心を原点として定義してもよい。
【００３１】
モデルパターン座標系の姿勢（軸の方向）もどのように定義してもよい。例えば、モデルパターンの作成を行った画像において画像座標系とモデルパターン座標系が平行になるように定義してもよいし、モデルパターンを構成する特徴点から任意の2点を選択して、その一方から他方に向かう方向がＸ軸方向となるように定義してもよい。
【００３２】
図７は、モデルパターンに関するデータの形式例を示す図である。
図７に示すように、モデルパターンに関するデータは、各特徴点について位置および姿勢で表される。モデルパターンを構成する特徴点P_iは、モデルパターン記憶手段３１に、図７に示すような形式（位置、姿勢）で記憶される。
【００３３】
ステップＳ１０２で、対象物の像を含む一乃至複数の入力画像I_j（j=1〜NI）を取得する。入力画像は、視覚センサ１１の視野内に対象物を配置して画像を撮像することにより取得される。画像は実際の生産ラインと同じ環境で撮像することが望ましい。実際に生産ラインで撮像した対象物の画像を大量に保存しておき、それを使用してもよい。１枚の入力画像に複数の対象物が映っていてもよい。
【００３４】
ステップＳ１０３で、対象物検出手段２１により、入力画像I_j（j=1〜NI）のそれぞれについて、モデルパターンと入力画像I_jとのマッチングを行い、対象物の検出を行う。検出結果は入力画像I_jを対応付けて検出結果記憶手段３３に記憶される。なお、以下の学習処理を行うまでの一連の処理に伴う結果は、検出結果記憶手段３３に記憶されるものとする。対象物検出手段２１による対象物を検出する方法は様々なものがあるが、たとえば、周知の方法として、非特許文献２に記載された一般化ハフ変換、非特許文献３に記載されたＲＡＮＳＡＣなどが利用できる。また、本実施形態では、一致度が閾値に満たないが一致度が予め定められた範囲内にある対象物の像も検出結果として追加するものとする。例えば、一致度を0〜100で定義したときに、一致度の閾値から10引いた一致度まで許容するようにする。このように一致度が閾値未満の検出結果であっても、後のステップで正しい検出結果としてラベルを変更することができる。
【００３５】
検出を行った結果、入力画像I_jから対象物の像がNT_j個検出されたとする。また、検出された像をT_jg（g=1〜NT_j）、像T_jgの検出位置をR_Tjgとする。検出位置R_Tjgは、画像座標系から見た対象物の像T_jgの位置姿勢、すなわち像T_jgにモデルパターンを重ね合わせた時の、画像座標系から見たモデルパターン座標系の位置姿勢を表す同次変換行列であり、次の式で表される。
【００３６】
【数１】
0006333871.tif 000002
【００３７】
たとえば、対象物がカメラの光軸に対して傾くことがなく、画像に写る対象物の像の移動として合同変換だけを考えればよい場合には、a00〜a12は以下のようになる。
a00=cosθ
a01=-sinθ
a02=x
a10=sinθ
a11=cosθ
a12=y
ただし、（x、y）は画像上での位置、θは画像上での回転移動量である。
【００３８】
また、対象物がカメラの光軸に対して傾くことはないが、対象物とカメラの距離が一定でない場合は、距離に応じて画像に映る対象物の像の大きさが変わるため、画像に写る対象物の像の移動としては相似変換となる。その場合、a00〜a12は以下のようになる。
a00=ｓ・cosθ
a01=-ｓ・sinθ
a02=x
a10=ｓ・sinθ
a11=ｓ・cosθ
a12=y
ただし、sは教示されたモデルパターンの大きさと対象物の像T_jgの大きさの比である。
【００３９】
検出位置R_Tjgと入力画像I_jを対にして検出結果記憶手段３３に記憶しておく。
各入力画像I_j(j=1〜NI)から検出された対象物の像T_jg（j=1〜NI、g=1〜NT_j）の検出位置R_Tjgに基づいて、モデルパターンを構成する特徴点P_iの位置姿勢を変換し、画像上の対象物の像に重ね合わせる。
【００４０】
説明のため、モデルパターンを構成する特徴点P_iの位置姿勢をそれぞれ同次変換行列R_Piで表すことにする。R_Piは以下のように記述できる。
【００４１】
【数２】
0006333871.tif 000003
【００４２】
b00= vx_Pi
b01=-vy_Pi
b02= tx_Pi
b10= vy_Pi
b11= vx_Pi
b12= ty_Pi
ただし、t_Pi =（tx_Pi, ty_Pi）はモデルパターン座標系でのP_iの位置、v_Pi =（vx_Pi, vy_Pi）はモデルパターン座標系でのP_iの姿勢である。
【００４３】
ここで、モデルパターンを構成する特徴点P_iの位置姿勢R_Piはモデルパターン座標系で表現されていることに注意が必要である。
【００４４】
入力画像I_jに写った対象物の像T_jgにモデルパターンを重ねた時の、画像座標系から見た特徴点P_iの位置姿勢をR_Pi’とすると、R_Pi’は、モデルパターン座標系からみた特徴点P_iの位置姿勢R_Piと、画像座標系から見た像T_jgの検出位置R_Tjgを用いて、以下のように表せる。
R_Pi'=R_Tjg・R_Pi
【００４５】
なお、後の説明のため、画像座標系から見たP_iの位置をt_Pi’、画像座標系から見たP_iの姿勢をv_Pi’、とする。
ここで各対象物の像T_jgには第1のラベルL1_jg（j=1〜NI、g=1〜NT_j）を付与する。第１実施形態では、対象物の像のラベルとして選択できるのは、「OK」、「NG」の二つである。第１実施形態では、検出された対象物の像のうち、一致度が閾値以上である全ての対象物の像の第1のラベルL1_jgを「OK」にする。検出された対象物の像のうち、一致度が閾値未満である対象物の像の第1のラベルL1_jgは「NG」にする。
【００４６】
ステップＳ１０４で、使用者が各入力画像I_j(j=1〜NI)から検出された対象物の像T_jg（j=1〜NI、g=1〜NT_j）を確認し、ラベルを修正する。「OK」が付された対象物の像を確認し、対象物でないと判断した時には、第１のラベルを「NG」に変更し、その修正後のラベルを記憶する。さらに、「NG」が付された対象物の像を確認し、対象物として検出されるべきだと判断した時には、第１のラベルを「OK」に変更し、その修正後のラベルを記憶する。
【００４７】
第１実施形態では入力画像表示手段４２により表示される入力画像一覧画面と検出結果表示手段４１により表示される検出結果一覧画面とを行き来することにより、対象物の像T_jg（j=1〜NI、g=1〜NT_j）を確認する。
【００４８】
入力画像一覧画面と検出結果一覧画面は表示装置に表示される。二つの画面を並べて表示してもよいし、二つの画面を入れ替えながら表示してもよい。第１実施形態では二つの画面を入れ替えながら表示を行う方法を説明する。
【００４９】
図８は、入力画像一覧画面の表示例を示す図である。
入力画像一覧画面では、全ての入力画像I_j(j=1〜NI)を、図８に示すように一覧表示する。この表示は、例えば、以下の規則で行われる。
【００５０】
・画面内に指定した倍率で入力画像が整列して表示される。第１実施形態では入力画像のサイズは全て同じであるが、入力画像のサイズが異なっていてもよい。
・画面内の画像の列数または行数は画面のサイズと入力画像のサイズと倍率により自動的に決定される。
全ての画像が表示しきれない場合には、スクロールバーが表示される。スクロールバーにより、画面をスクロールすることで全ての画像を閲覧することができる。スクロールバーは縦に出してもよいし、横に出してもよい。
【００５１】
・入力画像の表示倍率は倍率ドロップダウンで指定できる。元画像より大きく表示してもよいし、小さく表示してもよい。
【００５２】
入力画像に映る対象物の像の上にモデルパターンをプロットする手順を説明する。モデルパターンのプロットは以下の手順で行えばよい。
(1)全ての入力画像I_j(j=1〜NI)に対して以下の(2)の処理を行う。
(2)入力画像I_jから検出された全ての対象物の像T_jg（g=1〜NT_j）に対して以下の(2-1)〜(2-2)の処理を行う。
(2-1)モデルパターンの全ての特徴点P_i（i=1〜NP）を画像座標系から見た位置R_Pi’を、対象物の像の位置R_Tjgに基づいて計算する。
(2-2)入力画像I_jの位置R_Pi’に点をプロットする。第1のラベルL1_jgが「OK」の場合には緑で、第1 のラベルL1_jgが「NG」の場合には赤でプロットする。特徴点P_iを点ではなく、線分としてプロットしてもよい。したがって、第1のラベルL1_jgは、緑または赤で表示された対象物の一連の特徴点として表現されることになる。
【００５３】
第２のラベルについて説明する。
・各入力画像は第2のラベルL2_j（j=1〜NI）を持つ。
・各入力画像の左上には第2のラベルの修正ボタンが配置される。第2のラベルの修正ボタンは入力画像の下など、画像外に配置してもよい。
【００５４】
第２のラベルL2_jは第１のラベルL1_jg（g=1〜NT_j）に基づいて、以下のように決まる。
・同じ入力画像内の全ての対象物の像の第1のラベルL1_jgが「OK」であれば、第2のラベルL2_jは「OK」とする。
・同じ入力画像内の対象物の像の中で第1のラベルL1_jgが「NG」のものが一つでもあれば、第2のラベルL2_jは「NG」とする。
【００５５】
第２のラベルの修正ボタンは以下のように表示される。
・第2のラベルの修正ボタンの上に表示するラベルとして第2のラベルを表示する。
・第2のラベルの修正ボタンの背景色は、「OK」であれば緑、「NG」であれば赤とする。
【００５６】
第2のラベルの修正ボタンをクリックすると、第2のラベルL2_jが、「OK」と「NG」の間をトグルする。また、それに合わせて、同じ画像内の全ての対象物の像の第1のラベルL1_jgもL2_jと同じものに変更される。第1のラベルL1_jgと第2のラベルL2_jの変更に合わせて、画面も更新される。
【００５７】
図９は、図８の状態で、第2のラベルの修正ボタンをクリックした後の表示例を示す図である。１行目の左から２番目の画像の第2のラベルが「OK」から「NG」に変化している。
入力画像一覧画面で入力画像I_jをクリックすると、その入力画像の検出結果の一覧を表示する検出結果一覧画面に移動する。
【００５８】
図１０は、検出結果一覧画面の表示例を示す図である。
図１０に示すように、検出結果一覧画面では、選択した入力画像I_jの対象物の像T_jg(g=1〜NT_j)を以下のように一覧表示する。
【００５９】
・検出結果一覧画面には第1のフレームと第2のフレームが表示される。
・第1のフレームと第2のフレームでは、画像の表示倍率を異なるものに変更することができる。
・第1のフレームと第2のフレームの大きさを変えることもできる。例えば、第1のフレームと第2のフレームの境界線をドラッグすることで、二つのフレームの大きさを変えることができる。
・戻るボタンをクリックすると、入力画像一覧画面に戻ることができる。
【００６０】
第1のフレームには全体画像を表示する。
・第1のフレームの倍率ドロップダウンを操作すると、全体画像の表示倍率が変更できる。
・全体画像が第1のフレームに収まらない場合には、スクロールバーが表示される。
・全体画像には、入力画像一覧画面の画像にモデルパターンをプロットしたのと同じ方法で、検出した対象物の像の上にモデルパターンをプロットできる。
【００６１】
第2のフレームには部分画像を表示する。
・第2のフレームの倍率ドロップダウンを操作すると、部分画像の表示倍率が変更できる。
・全ての部分画像が第2のフレームに収まらない場合には、スクロールバーが表示される。スクロールバーは縦にだしてもよいし、横にだしてもよい。
【００６２】
・部分画像は各対象物の像T_jg（g=1〜NT_j）に対して作成される。部分画像の作成は以下の手順で行う。
1.入力画像の検出した対象物の像の上にモデルパターンをプロットする。これは対象物の像T_jgに対して以下の処理(1-1)〜(1-2)を行えばよい。
(1-1)モデルパターンの全ての特徴点P_i（i=1〜NP）の画像座標系から見た位置R_Pi’を、対象物の像の位置R_Tjgに基づいて計算する。
(1-2)入力画像I_jの位置R_Pi’に点をプロットする。第1のラベルL1_jgが「OK」の場合には緑で、第1のラベルL1_jgが「NG」の場合には赤でプロットする。特徴点P_iを点ではなく、線分としてプロットしてもよい。
【００６３】
2.計算した全てのR_Pi’(i=1〜NP)の位置t_Pi’ =（tx_Pi, ty_Pi）のX方向の最大値tx_Pi_maxと最小値tx_Pi_minとY方向の最大値ty_Pi_maxと最小値ty_Pi_minを求める。
3.入力画像からの部分画像を切り抜く形状を矩形とし、矩形を左上の頂点の位置と右上の頂点の位置で定義する。マージンをαとすると、左上の頂点の位置を（tx_Pi_min - α, ty_Pi_min - α）、右下の頂点の位置を（tx_Pi_max ＋ α, ty_Pi_max ＋ α）と計算できる。マージンαは予め決められた値でもよいし、画像のサイズなどから算出してもよい。
4.計算された矩形で入力画像から切り抜き、部分画像とする。
【００６４】
部分画像選択手段５１により部分画像を選択すると、部分画像が選択状態になりハイライト表示される。例えば、部分画像をクリックすることで、その部分画像が他の部分画像と区別されるように表示、すなわちハイライト表示される。部分画像のハイライト表示は、例えば、部分画像を明るい色の枠線で囲めばよい。また、その部分画像に対応する対象物の像T_jgを全体画像でもハイライト表示する。全体画像のハイライト表示でも、対象物の像を明るい枠線で囲めばよい。枠線の形状は部分画像を切り抜いた矩形と同じすればよい。あるいは、モデルパターンをプロットする色を変えることでハイライト表示してもよい。更に、全体画像がズームアップされており、全体画像の一部分のみが表示されている場合には、ハイライト表示された対象物の像を操作者が確認できるように、全体画像を自動的にスクロールすることもできる。
【００６５】
・各部分画像は第1のラベルL1_jg（j=1〜NI、 g=1〜NT_j）と対応づけられる。
・各部分画像の左上には第1のラベルの修正ボタンが配置される。第1のラベルの修正ボタンは部分画像の直下などの画像外に配置してもよい。
・第1のラベルの修正ボタン上に第1のラベル（「OK」または「NG」）を表示する。
・第1のラベルの修正ボタンの背景色は、「OK」であれば緑、「NG」であれば赤とする。
・第1のラベルの修正ボタンをクリックすると、第1のラベルL1_jgが、「OK」と「NG」の間をトグルする。第1のラベルL1_jgの変更に合わせて、画面も更新される。
【００６６】
図１１は、図１０の状態で第1のラベルの修正ボタンをクリックした後の表示画面を示す図である。第２のフレームの左上の部分画像および第１のフレームのこの部分画像に対応する対象物の特徴点が緑から赤に変更される。また、第２のフレームの左上の部分画像に対応して表示される第１のラベルの修正ボタンが「OK」から「NG」に変更される。
【００６７】
図１２は、検出結果一覧画面の別の表示例を示す図である。
図１２に示すように、別の表示例として、第1のフレームを大きくし、第2のフレームを小さくすることができる。この例では、第1のフレームの倍率が50%、第2のフレームの倍率が25%になっている。このような構成にすると、第2のフレームでは、個々の対象物の像全体をおおざっぱに確認し、更に細かく確認したいときに、第1のフレームで確認することができる。
【００６８】
図１３は、検出結果一覧画面のさらに別の表示例を示す図である。
図１３に示すように、さらに別の表示例として、第1のフレームの倍率を小さくし、第2のフレームの倍率を大きくすることができる。この例では、第1のフレームの倍率が25%、第2のフレームの倍率が50%になっている。このような構成にすると、第2のフレームでは対象物の像を大きく表示することで細かく確認し、第1のフレームでは画像全体の中でその対象物がどこに位置するのかを確認することができる。
【００６９】
図１４は、検出結果一覧画面のさらに別の表示例を示す図である。
図１４の例では、検出結果一覧画面の下部に、前の画像ボタン、次の画像ボタン、画像のインデックスのテキストボックスが追加されている。
前の画像ボタンを押すと、入力画像I_jの一つ前の入力画像I_j-1とその検出結果T_j-1g(g=1〜NT_j-1)が表示される。
次の画像ボタンを押すと、入力画像I_jの一つ後の入力画像I_j+1とその検出結果T_j+1g(g=1〜NT_j+1)が表示される。
画像のインデックスのテキストボックスに整数値xを入力すると、入力画像I_xとその検出結果T_xg(g=1〜NT_x)が表示される。
これにより、入力画像一覧画面に戻ることなく、別の入力画像とその検出結果を検出結果一覧画面に表示することができる。
【００７０】
図１５は、検出結果一覧画面のさらに別の表示例を示す図である。
第1のフレームと第2のフレームの配置は左右に並べるものだけでなく、上下に並べる配置にすることができる。また、図１５に示すように、配置することも可能である。このように配置すると、より多くの対象物の像を部分画像として並べて表示することができる。
【００７１】
ステップＳ１０５で、検出された対象物の像T_jg（j=1〜NI、g= g=1〜NT_j）と第1のラベルL1_jgの複数のデータセットを学習データとして、学習手段２２により機械学習または統計処理を行う。学習手段２２による処理については、第２実施形態の場合も含めて後述する。
【００７２】
第１実施形態の画像処理装置の変形例として以下のものが考えられる。
・モデルパターンを複数保持できるようにし、各モデルパターンに名前を付ける。ラベルにはマッチしたモデルパターンの名前を使用する。ラベルを修正する際にはドロップダウンボックスでラベルを選択する。
【００７３】
・モデルパターンを複数の特徴点で定義するのではなく、テンプレート画像のような形で定義する。その場合には、正規化相関のような手法を使って対象物を検出することになる。テンプレート画像をモデルパターンとして用いた場合には特徴点のプロットはできないので、対象物の像の周りに矩形をプロットするなどして、検出結果を表現する必要がある。
【００７４】
・ラベルの修正をボタンではなく、チェックボックスやテキストボックスで行う。チェックボックスを使う場合には、2値しか指定できない。テキストボックスを使う場合には、任意の文字列を入力できる。
【００７５】
・倍率をドロップダウンではなく、スライダーにより切り替える。
・倍率を操作者が決めるのではなく、画面サイズと画像サイズから自動で決めるようにする。
【００７６】
・モデルパターンの特徴点を画像上にプロットするのではなく、モデルパターンを囲う矩形またはモデルパターンの中心位置をプロットする。これらを組み合わせてプロットすることも可能である。モデルパターンを囲う矩形や中心位置は、ユーザが手動で定義することもできるし、モデルパターンを作成するときに自動で設定してもよい。
【００７７】
・入力画像一覧画面に多くの画像が表示されているときに、スクロールバーによりスクロールするのではなく、ページを切り替えることにより、表示する画像を切り替える。例えば、100枚の画像があるときに、1ページには9枚ずつ表示し、12ページに分割して表示する。検出結果一覧画面の第2のフレームで同じ方法を使うことも可能である。
【００７８】
・検出結果一覧画面の部分画像を切り取る方法を以下のようにしてもよい。
1.モデルパターンを囲む矩形を予め定義しておく。この矩形はモデルパターンを教示するときに、自動で定義してもいいし、操作者が手動で定義しても良い。矩形は、矩形の左端の頂点U1の位置姿勢と幅U_W、高さU_Hで定義できる。頂点U1のモデルパターン座標系から見た位置姿勢は同次変換行列R_U1で定義する。
【００７９】
2.頂点U1の画像座標系から見た位置姿勢R_U1’を、対象物の像の位置R_Tjgに基づいて計算する。
【００８０】
3.頂点U1の画像座標系での位置姿勢R_U1’と幅U_W、高さU_Hを使って部分画像を切り抜く。
この場合には、部分画像上の対象物の像は同じ姿勢で表示されることになる。もちろん、部分画像を切り抜く形状は矩形でなくてもよい。
【００８１】
図１６は、部分画像上の対象物の像が同じ姿勢で表示される場合の検出結果一覧画面の表示例を示す図である。
【００８２】
・異なるサイズの対象物の像を同時に表示してもよい。この場合には、対象物の像の大きさを揃えて表示してもよいし、元のサイズ比のまま表示してもよい。
【００８３】
図１７は、異なるサイズの対象物の像を元のサイズ比のまま同時に表示する場合の検出結果一覧画面の表示例を示す図である。
【００８４】
図１８は、第２実施形態の画像処理装置の処理の流れを示すフローチャートである。
第２実施形態の画像処理装置は、第１実施形態の画像処理装置と同じハードウェア構成を有し、処理の一部が第１実施形態と異なる。第２実施形態における説明でも、まず学習手段２２が統計処理を行う場合を例として説明する。
また、図１９は、第２実施形態で使用する検出結果一覧画面の表示例を示す図である。
図１９の画面では、第1のフレームと第2のフレームが上下に並べて配置されている。また、第1のフレームの右側にはSNAPボタン、FINDボタン、FINISHボタン配置されている。
【００８５】
ステップＳ２０１では、第１実施形態のステップＳ１０１と同じ処理が行われる。
ステップＳ２０２で、視覚センサ１１の視野内に対象物を配置してSNAPボタンを押し、入力画像を一枚撮像する。入力画像I_jに映る対象物の像は検出で問題となるばらつきを含んでいることが望ましい。入力画像I_jを確認した結果、学習データとして好ましくないと判断した場合には、再度SNAPボタンを押して入力画像I_jを撮像し直してもよい。撮像された画像は第1のフレームに全体画像として表示される。この時点では対象物は検出されていないので、全体画像の対象物の像の上にモデルパターンはプロットされていないし、部分画像も表示されていない。この時は第1のフレームのみを表示して、第2のフレームを表示しないようにしてもよい。
【００８６】
ステップＳ２０３で、FINDボタンを押すと、入力画像I_jから対象物の検出を行う。検出の処理は、第１実施形態のステップＳ１０３と同様に行えばよい。ただし、ここでは一つの入力画像I_jからのみ検出を行う。
【００８７】
ステップＳ２０４で、入力画像I_jから検出された対象物の像T_jg(g=1〜NT_j)を検出結果一覧画面で一覧表示する。
図２０は、ステップＳ２０４で表示する検出結果一覧画面の表示例を示す図である。
【００８８】
全体画像や部分画像の表示は第１実施形態と同じように行えば良い。第1のフレームの右側のSNAPボタン、FINDボタンは隠され、ADDボタン、DISCARDボタンが追加されている。操作者は検出結果一覧画面に表示されている全体画像と部分画像を確認して、第１実施形態と同様に検出結果に問題がないかを確認する。
【００８９】
さらに、ステップＳ２０４では、第１実施形態の検出結果一覧画面のように、第1のラベルを修正できるようにする。
図２１は、第1のラベルを修正した場合の検出結果一覧画面の表示例を示す図である。
【００９０】
ここで、「OK」が付された対象物の像を確認し、対象物でないと判断した時には、第１のラベルを「NG」に変更し、その修正後のラベルを記憶する。さらに、「NG」が付された対象物の像を確認し、対象物として検出されるべきだと判断した時には、第１のラベルを「OK」に変更し、その修正後のラベルを記憶する。
【００９１】
ステップＳ２０５で、対象物の像T_jg（g=1〜NT_j）を学習データへ追加するか決定し、追加することを決定した場合には、ADDボタンを押し、入力画像I_jと対象物の像T_jg（g=1〜NT_j）、第１のラベルL1_jg（g=1〜NT_j）を対応づけて学習データへ追加する。追加しない場合には、DISCARDボタンを押し、入力画像I_jと対象物の像T_jg、第１のラベルL1_jg を破棄する。ADDボタンとDISCARDボタンのどちらを押しても、再度ステップＳ２０２からの処理を開始する。
【００９２】
十分な学習データが追加されたらFINISHボタンを押し、ステップＳ２０６に進む。
ここでＳ２０６に進む前に、第１実施形態のステップＳ１０４のように、入力画像一覧画面と検出結果一覧画面を使って、学習データに追加した全ての入力画像I_j（j=1〜NI）に対応する対象物の像T_jg（j=1〜NI、g=1〜NT_j）の第１のラベルL1_jg（j=1〜NI、g=1〜NT_j）を確認、修正するステップを追加してもよい。
【００９３】
ステップＳ２０６で、収集された学習データに基づいて第１実施形態のステップＳ１０５と同様に、対象物の像T_jg（j=1〜NI、g=1〜NT_j）と第１のラベルL1_jg（j=1〜NI、g=1〜NT_j）からなる複数のデータセットを学習データとして、学習手段２２により統計処理を行う。
以下、第１および第２実施形態における学習手段２２による統計処理について説明する。
【００９４】
学習手段２２は、対象物の像T_jg（j=1〜NI、g=1〜NT_j）がモデルパターンに対応する対象物であるか正しく判定できるように学習を行う。言い換えれば、対象物の像を含むと思われる部分画像が入力された時に、対象物の像が含まれているか否かの判定を正しく行えるように学習する。これまで、対象物検出手段２１により入力画像中から対象物を検出しており、ある程度の検出精度が得られていたが、学習手段２２による学習の結果、検出精度を一層向上するものである。ここでは、対象物検出手段２１により検出され、学習対象とするのに適した第１のラベルが「OK」である対象物の像を含むと思われる部分画像を学習データ記憶手段３２に記憶する。学習手段２２の演算処理能力が十分に高ければ、部分画像でなく、入力画像を入力して対象物を検出するように学習させてもよい。学習手段２２は、学習データ記憶手段３２に記憶された複数の部分画像に対して統計処理を行い、モデルパターンを改善する。
【００９５】
本出願人は、特願2015-218357で、モデルパターンに基づいて検出された対象物の複数の像に対して統計処理を行い、モデルパターンを改善する技術を開示しており、例えば、学習手段２２は特願2015-218357に開示された統計処理を利用した技術で実現される。ただし、学習手段２２が実行する統計処理はこれに限定されるものではない。
以上、学習手段２２が統計処理を実行する場合の第１および第２実施形態について説明した。次に、学習手段２２が機械学習（教師あり学習）を行う場合について説明する。
【００９６】
学習手段２２は、対象物検出手段２１が対象物であると検出する確度を改善するように機械学習を行う。この場合の正しい検出は、対象物であるものを対象物として正しく検出し、対象物でないものを対象物として検出せず、対象物であるのに対象物として検出しない検出漏れがなく、対象物でないものを対象物として検出する誤検出がない、ことである。このような学習を行うには、学習データとして、画像処理装置１０により入力画像において対象物の像であると判定され使用者により判定が正しいと確認された部分画像（「OK」「OK」）と、画像処理装置１０により入力画像において対象物の像であると判定されたが使用者により判定が誤りと確認された部分画像（「OK」「NG」）と、画像処理装置１０により入力画像において対象物の像でないと判定されたが使用者により判定が誤りと確認された部分画像（「NG」「OK」）と、画像処理装置１０により入力画像において対象物の像でないと判定され使用者により判定が正しいと確認された部分画像（「NG」「NG」）とが類似した割合であることが、学習を効率的に行う上では望ましい。そのため、上記の学習手段２２が統計処理を行う第１および第２実施形態において、第１のラベルを「NG」から「OK」に変更した履歴および「OK」から「NG」に変更した履歴を有する部分画像を履歴と対応づけて学習データ記憶手段３２に記憶する。これらが部分画像（「NG」「OK」）および部分画像（「OK」「NG」）となる。さらに、操作者は、対象物の像であると判定され判定が維持された部分画像（「OK」「OK」）および入力画像において対象物の像であると判定されず判定が維持された部分画像（「NG」「NG」）の中から学習データとして適した部分画像を選択し、部分画像（「OK」「OK」）および部分画像（「NG」「NG」）として学習データ記憶手段３２に記憶する。ただし、これに限定されず、ランダムに部分画像を収集して学習データとして使用することも可能である。また、「NG」「NG」の部分画像を、学習データとして使用することも可能である。
【００９７】
学習手段２２は、入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習（機械学習）を行う機能を有する。機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられるが、ここでは「教師あり学習」を用いる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習（ディープラーニング：Deep Learning）」と呼ばれる手法がある。なお、これらの機械学習（機械学習装置２０）は、汎用の計算機もしくはプロセッサを用いてもよいが、ＧＰＧＰＵ（General-Purpose computing on Graphics Processing Units）や大規模ＰＣクラスター等を適用すると、より高速に処理することが可能である。
教師あり学習とは、ある入力と結果（ラベル）のデータの組を大量に学習手段２２に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、すなわちその関係性を帰納的に獲得するものである。この教師あり学習を実施形態に適用する場合、例えば、学習手段２２は、ニューラルネットワークなどのアルゴリズムを用いて実現することが可能である。
【００９８】
教師あり学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。図２２は、ニューロンのモデルを模式的に示す図であり、図２３は、図２２に示すニューロンを組み合わせて構成した三層のニューラルネットワークを模式的に示す図である。すなわち、ニューラルネットワークは、例えば、図２２に示すようなニューロンのモデルを模した演算装置およびメモリ等で構成される。
【００９９】
図２２に示されるように、ニューロンは、複数の入力ｘ（図２２では、一例として入力ｘ1〜入力ｘ3）に対する出力（結果）ｙを出力するものである。各入力ｘ（ｘ1，ｘ2，ｘ3）には、この入力ｘに対応する重みｗ（ｗ1，ｗ2，ｗ3）が掛けられる。これにより、ニューロンは、次の式により表現される結果ｙを出力する。なお、入力ｘ、結果ｙおよび重みｗは、すべてベクトルである。また、下記の式において、θは、バイアスであり、ｆkは、活性化関数である。
【数３】
0006333871.tif 000004
【０１００】
図２３を参照して、図２２に示すニューロンを組み合わせて構成した三層のニューラルネットワークを説明する。図２３に示されるように、ニューラルネットワークの左側から複数の入力ｘ（ここでは、一例として、入力ｘ1〜入力ｘ3）が入力され、右側から結果ｙ（ここでは、一例として、結果ｙ1〜入力ｙ3）が出力される。具体的に、入力ｘ1，ｘ2， ｘ3は、３つのニューロンＮ11〜Ｎ13の各々に対して、対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてｗ１と標記されている。
【０１０１】
ニューロンＮ11〜Ｎ13は、それぞれ、ｚ11〜ｚ13を出力する。図２３において、これらｚ11〜ｚ13は、まとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。ｚ11〜ｚ13は、２つのニューロンＮ21およびＮ22の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【０１０２】
ニューロンＮ21，Ｎ22は、それぞれｚ21，ｚ22を出力する。図２３において、これらｚ21，ｚ22は、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。ｚ21，ｚ22は、３つのニューロンＮ31〜Ｎ33の各々に対して、対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【０１０３】
最後に、ニューロンＮ31〜Ｎ33は、それぞれ、結果ｙ１〜結果ｙ３を出力する。ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて、学習データセットを用いて重みＷを学習し、そのパラメータを用いて予測モードにおいて、ロボットの行動判断を行う。なお、便宜上、予測と書いたが、検出・分類・推論など多様なタスクが可能なのはいうまでもない。
【０１０４】
ここで、予測モードで実際にロボットを動かして得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、予め収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。あるいは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【０１０５】
また、重みｗ１〜ｗ３は、誤差逆伝搬法（誤差逆転伝播法：バックプロパゲーション：Backpropagation）により学習可能なものである。なお、誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【０１０６】
このようなニューラルネットワークは、三層以上に、さらに層を増やすことも可能である（深層学習と称される）。また、入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することも可能である。
【０１０７】
図２４は、第１および第２実施形態の学習手段２２の概略構成を示す図である。
学習手段２２は、状態量観測部６１と、ニューラルネットワーク６２と、ニューラルネットワーク（ＮＮ）更新制御部６３と、を有する。前述の通り、学習手段２２は、例えばＧＰＧＰＵ（General-Purpose computing on Graphics Processing Units）で実現される。
【０１０８】
状態量観測部６１は、学習データ記憶手段３２から、部分画像およびそこに含まれる対象物の像の第１のラベルからなるデータセットを受信する。学習データ記憶手段３２は、非常に多数のデータセットを記憶しており、状態量観測部６１に順次送信する。
【０１０９】
ニューラルネットワーク６２は、深層学習を行うニューラルネットワークであり、状態量観測部６１からの部分画像に対して判定結果（「OK」「NG」）を算出する。ニューラルネットワーク６２は、各ニューロンについて重みがＮＮ更新制御部６３により調整（学習）可能である。
【０１１０】
ＮＮ更新制御部６３は、ニューラルネットワーク６２が状態量観測部６１からの部分画像に応じて算出した判定結果（「OK」「NG」）とその部分画像の第１のラベル（教師データ）を比較し、比較結果が一致する確率が高くなるように、ニューラルネットワーク６２の各ニューロンについて重みを変更する更新制御を行う。
【０１１１】
なお、学習手段２２で、処理する内容は上記の内容に限らない。一般的に教師ありの機械学習では、入力とそれに対応する出力（ラベル）を写像する関数を学習する。第１および第２実施形態では、入力画像や検出された対象物の像を入力として、その出力となるラベルを素早く修正する手段を開示している。その入力と出力から写像関数を学習する方法はどのようなものであってもよい。
【０１１２】
以上、本発明の実施形態について説明したが、実施形態による検出結果一覧画面は、以下の特徴を持つ。
・第１（上）のフレームと第２（下）のフレームの２つのフレームで構成される。
・第２のフレームには個々の検出した対象物の像を切り抜いた部分画像が表示される。
【０１１３】
・第１のフレームには全体の画像に対象物の像が表示される。ただし、フレームの並べ方は限定されず、上下でも左右でもそれ以外の配列でもよい。
・それぞれのフレームの表示倍率を独立して変更することができる。
・第２のフレームで対象物の像を選択すると、上のフレームで対応する対象物の像がハイライトされる。
【０１１４】
・更に、第１のフレームにおいて画像の一部分のみが表示されている場合には、選択された対象物の像が表示されるように、全体の画像がスクロールされる。
・第１のフレームで対象物の像を選択すると、第２のフレームで対応する対象物の像が選択される。
・第２のフレームで検出結果や良否判定結果のラベル（OK/NGなど）を修正することができる。
【０１１５】
上記の表示画面には、以下の利点がある。
・第２のフレームでは、同じ画像中の他の対象物の像に煩わされることなく、対象の対象物の像に絞って確認することができる。
【０１１６】
・検出した対象物のラベルを変更する際には、ボタンやテキストボックスなどが、どの対象物の像のものなのかわかりやすい。
・検出した対象物の像それぞれが、画像の中でどの位置にあるものなのか簡単に確認することができる。
【０１１７】
・第１のフレームでは全体の画像で対象物の像を拡大表示し、第２のフレームでは個々の対象物の像を縮小表示することで、第１のフレームでは対象物の像を細かく確認し、第２の像では個々の対象物全体をおおざっぱに確認することができる。
【０１１８】
・その逆に、第２のフレームでは個々の対象物の像を拡大表示し、第１のフレームでは全体の画像を縮小表示することで、第２のフレームでは対象物の像を細かく確認し、第１のフレームでは画像全体のなかでその対象物がどこに位置するのか表示することができる。
さらに、複数の画像の検出結果または判定結果を操作者が確認したい場合がある。例えば、以下のような場合である。
【０１１９】
・生産中に撮像された画像の中に、正しく検出されていないものがあるかを確認したい。
・検出パラメータを変更した後で、複数の画像に対して検出を行い、全ての画像に対して正しく検出されているかを確認したい。
・良否判定で判別を行うためのパラメータを機械学習するために、既存の良否判定結果を学習データとして使用する場合に、既存の良否判定結果が正しいかを確認し、間違っていれば判定結果（ラベル）を修正する。
【０１２０】
このように複数の画像の検出結果を確認する場合には、複数の画像を縮小表示したものを並べて入力画像一覧画面に表示し、その画像上に検出結果をプロットし、更に細かく確認する場合には、画像を選択することで、上で説明した個々の画像の検出結果を確認する入力画像一覧画面に移行をするという方法が有効である。
【０１２１】
さらに、特許請求の範囲に記載した構成とそれによる効果は以下の通りである。
発明の画像処理装置は、対象物のモデルパターンに基づいて、対象物が撮像された入力画像から、対象物の一乃至複数の像を検出する対象物検出手段と、検出されたそれぞれの像に対して検出結果をグラフィカルに重畳表示する検出結果表示手段と、を備える画像処理装置であって、検出結果表示手段は、入力画像の全体を表示する第１のフレームと、この入力画像から検出された一乃至複数の像のそれぞれが含まれる部分画像を一覧表示する第２のフレームと、を備え、第１のフレームに表示されている入力画像には、検出された像のすべてに対して検出結果が重畳表示されており、第２のフレームに表示されている部分画像には、それぞれの部分画像に対応する像の検出結果が重畳表示されることを特徴とする。
【０１２２】
この構成により、第1のフレームでは、全体画像で以下の点が確認できる。
・対象物の像がどこにどのように映っているか。
・対象物の像がいくつ映っているか。
・同じ箇所から複数の対象物の像が検出されていないか。
第2のフレームでは同じ画像中の他の対象物の像に煩わされることなく、確認対象の対象物の像に絞って確認することができる。
第1のフレームと第2のフレームを同じウィンドウ内に同時に表示することで、上記の利点を同時に活かしながら対象物の像を確認することができる。これにより、画像内に映る複数の対象物の像を素早く確認することができる。
特許文献2のように、第1のフレームに全体画像を表示し、第2のフレームに表形式で検出結果を表示するという方法も考えられる。しかし、その方法では、検出結果を表す表の行と画像上の対象物の像の関連がわかりづらい。また、表形式で文字を使って検出結果を確認するのに比べ、部分画像を見る方法のほうが直感的に対象物の像を確認することができる。
【０１２３】
検出結果表示手段は、第２のフレームに表示されている部分画像に、それぞれの部分画像に対応する像に関連付けて記憶された第１のラベル情報をさらに重畳表示すると共に、第１のラベル情報を操作者の操作に基づいて変更可能とする。
第2のフレームの部分画像上にラベルを操作する手段を設けることで、対象物の像とラベルの操作手段との対応関係がわかりやすい。また、対象物を選択するという操作なしに、ラベルを修正していける。例えば、特許文献2の方法では、対象物を選択してから、ラベルを修正しなければならない。また、表形式で検出結果を表示し、表の行を選択すると、全体画像上でその検出結果に対応する対象物の像がハイライトされ、表の行にラベルを修正する手段を設けるという方式も考えられる。しかし、その方法では、画像を確認するために、表の行を選択する必要がある。それ以外には、第1のフレームの全体画像上にラベルを操作する手段を設けることも考えられるが、その方法では対象物の像が重なっていたり、隣接したりするときに、操作手段と対象物の像の対応関係がわかりにくい。
【０１２４】
検出結果表示手段は、第１のフレームと第２のフレームにそれぞれの設定倍率で画像を表示する。
まず、第1のフレームでは全体の画像で対象物の像を拡大表示し、第2のフレームでは個々の対象物の像を縮小表示する構成にできる。この場合には、第1のフレームでは対象物の像を大きく表示することで細かく確認できる。また、第2のフレームでは、個々の対象物の像全体をおおざっぱに確認することができる。次に、第2のフレームでは個々の対象物の像を拡大表示し、第1のフレームでは全体の画像を縮小表示する構成にもできる。この場合には、第2のフレームでは対象物の像を大きく表示することで細かく確認することができる。また、第1のフレームでは画像全体のなかでその対象物がどこに位置するのかを確認することができる。このように同じ対象物に対して異なる倍率で同時に対象物の像を確認することで、素早く確認を行うことができる。
【０１２５】
検出結果表示手段は、第２のフレームに表示される複数の部分画像から一を選択する部分画像選択手段を備え、第１のフレームに表示される入力画像において、部分画像選択手段により選択された部分画像に相当する対象物の像に対する検出結果をハイライト表示する。
この構成により、第1のフレームの全体画像の中で表示されている対象物の像と、第2のフレームで部分画像として表示されている対象物の像の対応関係を容易に確認することができる。
【０１２６】
検出結果表示手段は、第１のフレームに表示される前記入力画像に、入力画像から検出された一乃至複数の像のそれぞれに対応する第１のラベル情報を重畳表示する。
この構成により、第1のフレームの全体画像の中でも、ラベルの情報を確認することができる。部分画像だけでは対象物の像が確認しにくい場合に役に立つ。例えば、対象物の像がある物品の一部分を見ている場合、物品全体の中での対象物の像の位置関係を確認しにくい場合がある。そのような場合に、第1のフレームの全体画像の中でもラベル情報を表示することで、確認が容易になる。
【０１２７】
画像処理装置は、複数の入力画像と、複数の入力画像のそれぞれから検出された対象物の一乃至複数の像の検出結果を関連付けて記憶する検出結果記憶手段と、複数の入力画像から一を選択するための入力画像選択手段と、を備え、検出結果表示手段は、入力画像選択手段により選択された一の入力画像と、一の入力画像に関連付けて検出結果記憶手段に記憶された検出結果と、を表示する。
この構成により、入力画像表示手段と検出結果表示手段を行き来することなく、検出結果表示手段上で複数の画像の確認を行うことができる。例えば、検出結果表示手段上に入力画像選択手段として次の画像ボタンを用意することで、検出結果表示手段の中で次々に画像を変えることができる。
【０１２８】
画像処理装置は、検出結果記憶手段に記憶された複数の入力画像を、それぞれの入力画像から検出された対象物の一乃至複数の像および検出結果を重畳した上で一覧表示する入力画像表示手段を備え、検出結果表示手段は、入力画像選択手段により選択された一の入力画像を表示するものであり、操作者の操作に基づいて、入力画像表示手段と検出結果表示手段を切り替え可能とする。
入力画像表示手段により、複数の画像の検出結果を一覧表示することで、問題のありそうな画像に当たりを付け、更に細かく確認したい場合に、検出結果表示手段でその画像の検出結果をだけを確認することができる。これにより、多くの画像の中から、直感的に特定の画像の検出結果を確認する画面に移動することができる。
【０１２９】
検出結果記憶手段は、第２のラベル情報を、複数の入力画像のそれぞれに関連付けて記憶し、入力画像表示手段は、複数の入力画像のそれぞれに関連付けて記憶された第２のラベル情報をさらに重畳表示すると共に、第２のラベル情報を操作者が変更可能とし、一の入力画像の第２のラベル情報を変更することで、一の入力画像に関連付けて記憶された複数の対象物の像のそれぞれに対応する第１のラベル情報を一括して変更する。
この構成により、入力画像表示手段で各画像を確認するだけで検出結果が確認できるような場合に、検出結果表示画面に移動することなく、検出結果のラベルを修正できる。例えば、入力画像表示手段で対象物の像が十分に大きく表示されていれば、検出結果表示画面で確認する必要はない。ただし、画像内に複数の検出結果が表示されている場合には、全ての検出結果を同じラベルにするときだけ、この方法を使用できる。また、画像内に一つの検出結果しか表示されていない場合には、入力画像表示手段だけで確認ができる可能性が高い。その場合には、ラベルも一つだけなので、個々のラベルを修正するために入力画像表示手段に移動する必要もない。このような機能により、画像内の検出結果が複数、単数いずれであっても、同じやり方で対応することができる。
【０１３０】
画像処理装置は、検出された像のそれぞれに第１のラベル情報を付加し、互いに関連付けて学習データとして記憶する学習データ記憶手段と、学習データをもとに機械学習または統計的処理を行う学習手段と、を備える。
この構成により、対象物の像を検出または良否判定し、第１のラベル情報を付加する精度が向上する。
【符号の説明】
【０１３１】
１０    画像処理装置
１１    視覚センサ
１２    操作盤
１３    表示装置
２０    演算部
３０    記憶部
４０    表示部
５０    操作部
２１    対象物検出手段
２２    学習手段
３１    モデルパターン記憶手段
３２    学習データ記憶手段
３３    検出結果記憶手段
４１    検出結果表示手段
４２    入力画像表示手段
５１    部分画像選択手段
５２    入力画像選択手段
【図１】
0006333871.tif 000005
【図２】
0006333871.tif 000006
【図３】
0006333871.tif 000007
【図４】
0006333871.tif 000008
【図５】
0006333871.tif 000009
【図６】
0006333871.tif 000010
【図７】
0006333871.tif 000011
【図８】
0006333871.tif 000012
【図９】
0006333871.tif 000013
【図１０】
0006333871.tif 000014
【図１１】
0006333871.tif 000015
【図１２】
0006333871.tif 000016
【図１３】
0006333871.tif 000017
【図１４】
0006333871.tif 000018
【図１５】
0006333871.tif 000019
【図１６】
0006333871.tif 000020
【図１７】
0006333871.tif 000021
【図１８】
0006333871.tif 000022
【図１９】
0006333871.tif 000023
【図２０】
0006333871.tif 000024
【図２１】
0006333871.tif 000025
【図２２】
0006333871.tif 000026
【図２３】
0006333871.tif 000027
【図２４】
0006333871.tif 000028