(57)【要約】【課題】対象物を撮像した撮像画像から抽出された部分画像に欠損部分がある場合であっても適切な学習及び判別を行うことが可能な画像処理装置を提供すること。【解決手段】本発明の画像処理装置１は、入力画像から対象物を検出する対象物検出部３２と、入力画像から対象物検出部３２が検出した対象物を表す部分画像を抽出する部分画像抽出部３４と、対象物が属するクラスの判別に中立な画素値の集合である参照画像を作成する参照画像作成部３６と、部分画像抽出部３４が抽出した対象物を表す部分画像に欠損部分がある場合、欠損部分の画素値を、参照画像の同じ部分の画素値で補完する前処理部３８と、を備える。【選択図】図２
2020030681.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から検出した対象物が属するクラスを判別する画像処理装置であって、
前記入力画像から対象物を検出する対象物検出部と、
前記入力画像から前記対象物検出部が検出した前記対象物を表す部分画像を抽出する部分画像抽出部と、
前記対象物が属するクラスの判別に中立な画素値の集合である参照画像を作成する参照画像作成部と、
前記部分画像抽出部が抽出した前記対象物を表す部分画像に欠損部分がある場合、前記欠損部分の画素値を、前記参照画像の同じ部分の画素値で補完する前処理部と、
を備えた画像処理装置。
【請求項２】
前記参照画像作成部は、部分画像に写っている対象物が属するクラスの判別に用いる学習済みモデルを生成するために使用する複数の学習データに含まれる部分画像を、該部分画像に付与されたラベル毎に平均画像を作成し、更にラベル毎に作成された前記平均画像の平均画像を参照画像として作成する、
請求項１に記載の画像処理装置。
【請求項３】
前記参照画像作成部は、部分画像に写っている対象物が属するクラスの判別に用いる学習済みモデルのパラメータに基づいて参照画像を作成する、
請求項１に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に入力画像から検出した対象物を判別する画像処理装置に関する。
【背景技術】
【０００２】
製造現場等において、製品や部品等をカメラで識別して搬送等を行う場合、対象物周辺を撮像装置で撮像して得られた入力画像に対して画像処理を行い、該入力画像の中から対象物の像を検出している。このような場合に行われる画像処理の例としては、例えば図６に例示されるように、検出する対象物を表す基準情報（一般に、モデルパターンとかテンプレートなどと呼称される）と撮像装置によって取得した入力画像との間で特徴量のマッチングを行い、一致度が指定したレベル（閾値）を越えたときに対象物の検出に成功したと判断することが一般的である。
【０００３】
ここで検出された対象物の像に対して、更に判別を行いたい場合がある。例えば、検出した対象物の像が正しくない場合にそれをはじきたい場合や、検出した部位と相対位置関係が固定である部位の良否の判別を行いたい場合等である。このような判別を行うために、例えば図７に例示されるように、入力画像内の対象物の像の位置姿勢に対して予め決められた抽出領域から部分画像を抽出し、抽出した部分画像につけられたラベルを使って学習を行い、学習された学習器で判別を行うという方法が提案されている（例えば、特許文献１等）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特願２０１７−０４７４４４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この方法により抽出される部分画像は、対象物の像が撮像範囲の端に近い場合等において、対象物の像の位置姿勢に対して予め決められた抽出領域の一部が画像の撮像範囲の範囲外になることがあり、このような状態で抽出された部分画像では、撮像範囲の範囲外の部分（即ち、抽出領域の内で入力画像に含まれていない部分）が一般的に０等の決められた値で埋められることが多い。しかしながら、このように範囲外の領域を固定の値で埋めた場合、後の機械学習器による学習、推論に悪影響を与えることがある。
【０００６】
そこで本発明の目的は、対象物を撮像した撮像画像から抽出された部分画像に欠損部分がある場合であっても適切な学習及び判別を行うことが可能な画像処理装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、入力画像から抽出された部分画像に撮像領域の範囲外の部分が含まれている場合、その部分の値が機械学習器による学習時及び判別時において、いずれの判別クラスに対しても影響を与えないような値で埋めることで、上記課題を解決する。本発明において、部分画像に含まれる撮像領域の範囲外の部分を埋める値は以下の手順で求める。
●手順１）部分画像に含まれる撮像領域の範囲外の部分を埋める値を決めるための参照画像を計算する。参照画像は以下のいずれかの計算方法で求めることができる。以下の計算方法を見ればわかるように参照画像は、学習時に計算しておくことができる。なお、（計算方法１−１）を用いる場合、学習前に計算することができるので、参照画像を学習中から使用することができる。
−（計算方法１−１）学習データセット中の各判別クラスの入力画像の平均画像を計算する。更に、各判別クラスの平均画像の平均画像を計算し、この各判別クラスの平均画像の平均画像を参照画像とする。これにより、各判別クラスの学習データ数が異なる場合にも平均画像の偏りがなくなる。
−（計算方法１−２）学習データセットで学習することで生成した学習済みモデルのパラメータから、判別に中立な画像を生成する。
●手順２）対象物の検出位置から抽出された部分画像の中に領域外がある場合には、その領域外の画素値を参照画像の同じ部分の画素値で埋める。
【０００８】
このように修正した後の部分画像を学習または推論に使うことで、部分画像の撮像領域の範囲外の部分が機械学習器により対象物の判別、推論に悪影響を与えないようにすることができる。
【０００９】
そして、本発明の一態様は、入力画像から検出した対象物が属するクラスを判別する画像処理装置であって、前記入力画像から対象物を検出する対象物検出部と、前記入力画像から前記対象物検出部が検出した前記対象物を表す部分画像を抽出する部分画像抽出部と、前記対象物が属するクラスの判別に中立な画素値の集合である参照画像を作成する参照画像作成部と、前記部分画像抽出部が抽出した前記対象物を表す部分画像に欠損部分がある場合、前記欠損部分の画素値を、前記参照画像の同じ部分の画素値で補完する前処理部と、を備えた画像処理装置である。
【発明の効果】
【００１０】
本発明により、撮像した画像データから対象物の部分画像を切り出した際に、該部分画像に欠損部分が生じたとしても機械学習器により対象物が属するクラスの判別、推論に悪影響を与えないようにすることができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態による機械学習装置を備えた画像処理装置の要部を示す概略的なハードウェア構成図である。
【図２】第１の実施形態による画像処理装置の概略的な機能ブロック図である。
【図３】平均画像を用いて参照画像を作る方法について説明する図である。
【図４】学習済みモデルのパラメータを用いて参照画像を作る方法について説明する図である。
【図５】第２の実施形態による画像処理装置の概略的な機能ブロック図である。
【図６】従来技術による入力画像から対象物を検出する方法について説明する図である。
【図７】従来技術による部分画像の抽出の問題について説明する図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面と共に説明する。
図１は一実施形態による画像処理装置の要部を示す概略的なハードウェア構成図である。本実施形態の画像処理装置１は、工場に設置されているパソコンや、工場に設置される機械を管理するセルコンピュータ、ホストコンピュータ、エッジコンピュータ、クラウドサーバ等のコンピュータとして実装することが出来る。図１は、工場に設置されているパソコンとして画像処理装置１を実装した場合の例を示している。
【００１３】
本実施形態による画像処理装置１が備えるＣＰＵ１１は、画像処理装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って画像処理装置１全体を制御する。ＲＡＭ１３には一時的な計算データ、入力装置７１を介して作業者が入力した各種データ等が一時的に格納される。
【００１４】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされたメモリやＳＳＤ等で構成され、画像処理装置１の電源がオフされても記憶状態が保持される。不揮発性メモリ１４には、画像処理装置１の動作に係る設定情報が格納される設定領域や、入力装置７１から入力されたプログラムやデータ等、図示しない外部記憶装置やネットワークを介して読み込まれたデータ、撮像センサ４により取得した対象物の画像データ等が記憶される。不揮発性メモリ１４に記憶されたプログラムや各種データは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、学習データセットを解析するための公知の解析プログラムや後述する機械学習装置１００とのやりとりを制御するためのシステム・プログラムなどを含むシステム・プログラムがあらかじめ書き込まれている。
【００１５】
撮像センサ４は、例えばＣＣＤ等の撮像素子を有する電子カメラであり、撮像により２次元画像や距離画像を撮像面（ＣＣＤアレイ面上）で検出する機能を持つ周知の受光デバイスである。撮像センサ４は、例えば図示しないロボットのハンドに取り付けられ、該ロボットにより判別対象となる対象物を撮像する撮像位置に移動され、該対象物を撮像して得られた画像データをインタフェース１９を介してＣＰＵ１１に渡す。撮像センサ４は、例えばいずれかの位置に固定的に設置されており、ロボットがハンドで把持した対象物を撮像センサ４で撮像可能な位置に移動させることで撮像センサ４が対象物の画像データを撮像できるようにしても良い。撮像センサ４による対象物の撮像に係る制御は、画像処理装置１がプログラムを実行することにより行うようにしても良いし、ロボットを制御するロボットコントローラや、他の装置からの制御により行うようにしても良い。
【００１６】
表示装置７０には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ、撮像センサ４が撮像して得られた対象物の画像データ、後述する機械学習装置１００から出力されたデータ等がインタフェース１７を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置７１は、作業者による操作に基づく指令，データ等を受けて、インタフェース１８を介してＣＰＵ１１に渡す。
【００１７】
インタフェース２１は、画像処理装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して画像処理装置１で取得可能な各情報（例えば、画像データ等）を観測することができる。また、画像処理装置１は、機械学習装置１００から出力される判別結果をインタフェース２１を介して取得する。
【００１８】
図２は、第１の実施形態による画像処理装置１と機械学習装置１００の学習モードにおける概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した画像処理装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、画像処理装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００１９】
本実施形態の画像処理装置１は、データ取得部３０、対象物検出部３２、部分画像抽出部３４、参照画像作成部３６、前処理部３８、学習部１１０を備え、不揮発性メモリ１４上に設けられた基準情報記憶部５０には、予め図示しない外部記憶装置又は有線／無線のネットワークを介して取得した、又は予め作業者が撮像センサ４から取得した対象物の画像データに基づいて作成した（モデルパターンの作成方法については、例えば特開２０１７−０９１０７９合公報等を参照されたい）、対象物を表すモデルパターンやテンプレート等の基準情報が記憶されている。
【００２０】
データ取得部３０は、撮像センサ４から、又は図示しない外部記憶装置や有線／無線ネットワークを介して、対象物に係る画像データを取得する機能手段である。
【００２１】
対象物検出部３２は、データ取得部３０が取得した対象物に係る画像データから、該画像データ内の対象物の位置及び姿勢を検出する機能手段である。対象物検出部３２は、例えば基準情報記憶部５０に記憶されている基準情報としてのモデルパターンを用いて、該モデルパターンとデータ取得部３０が取得した対象物に係る画像データとの間で公知のマッチング処理を実行し、該画像データ内の対象物の位置姿勢を特定すれば良い。対象物検出部３２は、画像データ内の検出した対象物の位置姿勢を表示装置７０に対して表示し、作業者に対して確認と、対象物が属するクラスのラベル（アノテーション）の付与を促すようにしても良い。この時、作業者が付与するラベルは、例えば対象物の検出が正しい（ＯＫ）か誤検出（ＮＧ）か、対象物が良品（ＯＫ）であるか不良品（ＮＧ）であるか、といった２つのラベルや、３つ以上のラベル（大／中／小、種類Ａ／種類Ｂ／…、等）を付与するようにしても良い。また、検出結果がある閾値以上であればＯＫ、閾値以下であればＮＧと自動的にラベルを付与するようにし、必要に応じて作業者がラベルを修正できるようにしても良い。
【００２２】
部分画像抽出部３４は、対象物検出部３２が検出した画像データ内の対象物について、該対象物の位置姿勢に対して予め決められた抽出領域で切り抜いた部分画像を抽出する機能手段である。部分画像抽出部３４は、切り抜いた対象物を表す部分画像について、公知の画像処理技術を用いて、部分画像データ内の対象物の位置姿勢が所定の対象物の位置姿勢となるように画像変換を行う（例えば、図７に例示されるように、対象物の所定の位置が画像内の上方向となるように部分画像を回転する等）。部分画像抽出部３４が抽出した部分画像は、対象物検出部３２で付与されたラベルと共に学習データ記憶部５２に記憶される。なお、部分画像抽出部３４が抽出する部分画像は、画像データ内の対象物の位置姿勢に対して予め決められた抽出領域で切り抜いたものであるため、例えば図７に例示されるように、抽出領域の一部が画像データの撮像範囲外となる場合がある。このような場合、部分画像のうちの画像データの撮像範囲外となる欠損部分は、後述する画像処理により前処理部３８において補完される。なお、欠損部分は、画像データ内に写っている対象物の位置姿勢と、該対象物の位置姿勢に対して予め決められた抽出領域との位置関係に基づいて容易に判断できる。
【００２３】
参照画像作成部３６は、部分画像抽出部３４が抽出した部分画像の欠損部分を補完するために用いる参照画像を作成する機能手段である。参照画像作成部３６が作成する参照画像は、機械学習装置１００が、対象物を表す部分画像に基づいて該対象物が属するクラスを判別する際に中立な画素値の集合である。より具体的には、参照画像作成部３６が作成する参照画像は、機械学習装置１００が対象物を表す部分画像に基づいて該対象物が属するクラスの判別に用いる学習済みモデルにおける判別境界面乃至判別境界面に近い画像であり、該画像に写っている対象物がいずれのクラスに属するのかが判別しにくい画像である。
【００２４】
参照画像作成部３６は、例えば、学習データ記憶部５２に記憶された複数の学習データから複数の部分画像を取得し、取得した部分画像の平均画像を作成して、作成した平均画像を判別に中立な参照画像としても良い。このようにする場合、図３に例示されるように、学習データ記憶部５２に記憶された複数の学習データの内で、欠損部分がないものについて、それぞれの部分画像に写っている対象物が属するクラス（例えば、クラスＯＫに属する対象物が写っている部分画像、クラスＮＧに属する対象物が写っている部分画像等）毎に、該クラスに属する対象物が写っている部分画像の平均画像を作成し、作成したそれぞれのクラス毎の平均画像の更なる平均画像を作成することで、参照画像を作成すれば良い。平均画像の作成には、例えば部分画像を構成する同一位置の画素の画素値を平均する等の一般的な手法を取る。このようにして作成した参照画像は、それぞれクラスの平均画像を計算することで、クラスに中立な平均画像を参照画像となる。
【００２５】
また、参照画像作成部３６は、例えば、機械学習装置１００において作成された学習済みモデルのパラメータに基づいて、判別に中立な画像を作成し、作成した画像を参照画像とするようにしても良い。例えば、機械学習装置１００において作成された学習済みモデルがロジスティック回帰モデルである場合には、図４に例示されるように以下に示す数１式で定められる超平面が判別境界の面となる。なお、数１式において、ベクトルｘは入力データとしての部分画像の各画素の画素値を要素とするベクトル値であり、また、ｙをシグモイド関数に入力することで部分画像が属するクラスに対する一致度が得られ、ベクトルＷは学習モデルのパラメータを要素とするベクトル値、ｂは係数である。例えば、数１式における判別境界面上の任意のベクトルｘiを参照画像とする事ができる。
【００２６】
【数１】
2020030681.tif 000003
【００２７】
更に、｜Ｗ｜が最小となるという条件を付けることで、以下に示す数２式で算出されるベクトルｘsを参照画像としても良い。
【００２８】
【数２】
2020030681.tif 000004
【００２９】
なお、画像処理装置１が他クラス分類を行う場合には、上記数１式におけるｙが複数値の組となるベクトルとなる場合もある。この様に画像処理装置１が他クラス分類を行う場合、学習済みモデルにおける判別境界はそれぞれの隣接するクラス間に複数存在することになるので、この場合においては、参照画像は部分画像と各判別境界との距離が最小となる場所を参照画像として定義すれば良い。
【００３０】
また、例えば、機械学習装置１００において作成された学習済みモデルがニューラルネットワークモデルである場合にも、ニューラルネットワークのパラメータを解析し、判別境界面上の任意の画像を算出して、算出した画像を参照画像とすることができる。なお、判別境界を解析的に求めることが難しい場合には、入力データに係る特徴空間内における格子状の各点に対応する入力データを学習済みモデルに入力して判別を行い、その判別結果（クラス）が切り替わる格子点間の位置を結んだ面を判別境界とする、といったように判別境界を幾何的に求めるようにしても良い。
【００３１】
前処理部３８は、学習データ記憶部５２に記憶された学習データに対して前処理を行い、機械学習装置１００による学習に用いる教師データを作成する機能手段である。前処理部３８は、教師データを作成するための前処理として、学習データに含まれる対象物を表す部分画像に欠損部分がある場合、参照画像作成部３６が作成した参照画像を用いて該欠損部分の補完を行う。前処理部３８は、例えば対象物を表す部分画像の欠損部分の画素値を、参照画像の同じ部分の画素値で置き換える（埋める）ことにより該欠損部分を補完する。
【００３２】
学習部１１０は、前処理部３８が作成した教師データＴを用いた教師あり学習を行い、対象物を表す部分画像から該対象物が属するクラスを判別するために用いられる学習済みモデルを生成する（学習する）機能手段である。本実施形態の学習部１１０は、例えばロジスティック回帰モデルを学習モデルとして用いた教師あり学習を行うように構成しても良い。このように構成する場合、学習部１１０は、前処理部３８から入力された教師データＴに含まれる部分画像の各画素値を学習モデルに入力して一致度（０．０〜１．０）を計算し、一方で、教師データＴに含まれる検出結果のラベルが正解であれば１．０、不正解であれば０．０を目標値として、該目標値と計算した一致度との誤差を計算する。そして、学習部１１０は、学習モデルで誤差を逆伝播することで学習モデルのパラメータを更新する（誤差逆伝播法）。また、本実施形態の学習部１１０は、例えばニューラルネットワークを学習モデルとして用いた教師あり学習を行うように構成しても良い。この様に構成する場合、学習モデルとしては入力層、中間層、出力層の三層を備えたニューラルネットワークを用いても良いが、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることで、より効果的な学習及び推論を行うように構成することも可能である。学習部１１０が生成した学習済みモデルは、不揮発性メモリ１０４上に設けられた学習モデル記憶部１３０に記憶され、判別部１２０による対象物に係る画像データから該対象物が属するクラスの判別処理に用いられる。
【００３３】
上記のように構成された本実施形態の画像処理装置１では、対象物が撮像範囲の端にあった場合等で、抽出された部分画像に欠損部分があった場合であっても、該欠損部分を機械学習に悪影響が出ない画素値で補完することができ、効果的な学習を行うことができるようになる。
【００３４】
図５は、第２の実施形態による画像処理装置１と機械学習装置１００の判別モードにおける概略的な機能ブロック図である。図５に示した各機能ブロックは、図１に示した画像処理装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、画像処理装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００３５】
本実施形態の画像処理装置１は、判別モードにおいて、データ取得部３０が取得した対象物に係る画像データに基づいて該対象物が属するクラスを判別する判別部１２０を備える。本実施形態による画像処理装置１において、データ取得部３０、対象物検出部３２、部分画像抽出部３４、参照画像作成部３６が備える機能は第１の実施形態のものと同様のものである。
【００３６】
前処理部３８は、部分画像抽出部３４により抽出された対象物を表す部分画像に基づいて、機械学習装置１００による判別に用いる状態データＳを作成する。前処理部３８は、状態データＳを作成するための前処理として、対象物を表す部分画像に欠損部分がある場合、参照画像作成部３６が作成した参照画像を用いて該欠損部分の補完を行う。前処理部３８が実行する欠損部分の補完処理は、第１の実施形態で説明したものと同様である。この前処理部３８が実行する欠損部分の補完処理は、このように学習モードでも判別モードでも利用される。
【００３７】
判別部１２０は、前処理部３８から入力された状態データＳに基づいて、学習モデル記憶部１３０に記憶された学習済みモデルを用いた対象物を表す部分画像に基づく該対象物のクラスの判定を行う。本実施形態の判別部１２０では、学習部１１０による教師あり学習により生成された（パラメータが決定された）学習済みモデルに対して、前処理部３８から入力された状態データＳ（対象物を表す部分画像）を入力データとして入力することで該対象物が属するクラスを判別（算出）する。判別部１２０が判別した対象物が属するクラスは、例えば表示装置７０に表示出力したり、図示しない有線／無線ネットワークを介してホストコンピュータやクラウドコンピュータ等に送信出力して利用するようにしても良い。
【００３８】
上記のように構成された本実施形態の画像処理装置１では、様々な対象物を撮像して得られた撮像画像から抽出された、対象物を表す部分画像に欠損部分がある場合に、参照画像に基づく補完を行うことで、保管された部分画像に基づいて適切に対象物が属するクラスを判別することができるようになる。
【００３９】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００４０】
例えば、機械学習装置１００が実行する学習アルゴリズム、機械学習装置１００が実行する演算アルゴリズム、画像処理装置１が実行する制御アルゴリズム等は、前記したものに限定されず、様々なアルゴリズムを採用できる。
【００４１】
また、上記した実施形態では画像処理装置１と機械学習装置１００が異なるＣＰＵ（プロセッサ）を有する装置として説明しているが、機械学習装置１００は画像処理装置１が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【符号の説明】
【００４２】
１  画像処理装置
４  撮像センサ
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１７，１８，１９  インタフェース
２０  バス
２１  インタフェース
３０  データ取得部
３２  対象物検出部
３４  部分画像抽出部
３６  参照画像作成部
３８  前処理部
５０  基準情報記憶部
５２  学習データ記憶部
７０  表示装置
７１  入力装置
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１１０  学習部
１２０  判別部
１３０  学習モデル記憶部
【図１】
2020030681.tif 000005
【図２】
2020030681.tif 000006
【図３】
2020030681.tif 000007
【図４】
2020030681.tif 000008
【図５】
2020030681.tif 000009
【図６】
2020030681.tif 000010
【図７】
2020030681.tif 000011