JP2016103094A - 画像処理方法、画像処理装置、および画像処理プログラム - Google Patents
画像処理方法、画像処理装置、および画像処理プログラム Download PDFInfo
- Publication number
- JP2016103094A JP2016103094A JP2014240234A JP2014240234A JP2016103094A JP 2016103094 A JP2016103094 A JP 2016103094A JP 2014240234 A JP2014240234 A JP 2014240234A JP 2014240234 A JP2014240234 A JP 2014240234A JP 2016103094 A JP2016103094 A JP 2016103094A
- Authority
- JP
- Japan
- Prior art keywords
- sample
- image
- learning
- node
- partial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Analysis (AREA)
Abstract
【課題】入力画像に対して、予め設定された検出対象に相当する物体が存在する領域を認識するとともに、その認識された検出対象に相当する物体の状況についても判定できる画像処理装置、画像処理方法および画像処理プログラムが要望されている。
【解決手段】画像処理方法は、入力画像から得られた複数の部分入力画像が決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第1の確率に基づいて、入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第2の確率に基づいて、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定するステップを含む。
【選択図】図9
【解決手段】画像処理方法は、入力画像から得られた複数の部分入力画像が決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第1の確率に基づいて、入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第2の確率に基づいて、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定するステップを含む。
【選択図】図9
Description
本発明は、物体認識に向けられた画像処理方法、画像処理装置、および画像処理プログラムに関する。
製造現場などでは、画像処理技術を用いた様々な自動化技術が開発されている。例えば、特開2004−188562号公報(特許文献1)は、ロボットに3次元視覚センサを搭載し、開口付の容器内等に存在するワークの位置姿勢を認識し、それに基づいてワークの取出しを行なうワーク取出し装置を開示する。
このような物体認識技術としては、各種の方法が提案されている。例えば、特開2013−003919号公報(特許文献2)は、カメラで取得した撮像画像データをコードブックと照合し、複数の小領域画像パターンのうち最も近い小領域画像パターンを選択し、その小領域画像パターンについて重みが閾値以上となるノードの中で重みが最も小さいノードに係るクラスを抽出し、そのクラスに対して小領域画像パターンの位置情報を投票して、物体を認識する方法を開示する。
また、Random Forests法と称される識別方法が知られている。Random Forests法では、学習処理として、データ集合から複数個のサブセットを抽出し、各サブセットについて決定木(単純ベイズ識別器)を構築する。すなわち、教師あり学習として、サブセットごとの決定木群が構築される。例えば、特開2012−042990号公報(特許文献3)は、決定木群を識別器として用いるランダムフォレスト法を画像アノテーション技術(画像識別情報付与技術)に適用した画像識別情報付与装置を開示する。
上述した先行技術では、主として、検出対象の物体がいずれの位置・姿勢にあるのか、検出対象の物体が存在するのか否か、あるいは、ある物体が複数の候補のうちいずれと一致するのかといったことを判定する。しかしながら、実際の製造現場などでは、認識された物体がおかれた状況なども評価する必要があるが、上述した先行技術では、このような状況までも評価することは想定されていない。
そのため、撮像などにより取得された入力画像に対して、予め設定された検出対象に相当する物体が存在する領域を認識するとともに、その認識された検出対象に相当する物体の状況についても判定できる画像処理装置、画像処理方法および画像処理プログラムが要望されている。
本発明のある局面に従う画像処理方法は、学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築するステップを含む。複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第1のサンプルと、検出対象のうち予め定められた条件に適合しない部分を示す第2のサンプルと、非検出対象を示す第3のサンプルとを含む。決定木群を構築するステップは、末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定するステップと、決定されたそれぞれの分岐関数に従って、部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、第1のサンプルおよび第2のサンプルの合計と第3のサンプルとの割合を示す第1の確率、および、第1のサンプルと第2のサンプルとの割合を示す第2の確率、を決定するステップとを含む。画像処理方法は、さらに、入力画像から得られた複数の部分入力画像が決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第1の確率に基づいて、入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第2の確率に基づいて、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定するステップを含む。
好ましくは、決定木群を構築するステップは、末端ノードではない各ノードにおいて、決定された分岐関数に従って与えられた複数の部分学習画像をいずれかの子ノードにそれぞれ分類した結果に基づいて、各ノードについての、検出対象と非検出対象との識別能力を示す第1の重み、および、第1のサンプルと第2のサンプルとの識別能力を示す第2の重みをそれぞれ決定するステップをさらに含む。
あるいは、好ましくは、決定木群を構築するステップは、決定された分岐関数に従って与えられた複数の部分学習画像をいずれかの子ノードにそれぞれ分類したときに、第1のサンプルおよび第2のサンプルが同一の子ノードに分類されている割合が高いほど、第1のサンプルと第2のサンプルとの識別能力を示す重みを低くするステップをさらに含む。
好ましくは、画像処理方法は、さらに、部分学習画像、および部分入力画像のうち誤識別されたまたは誤識別される可能性の高い部分入力画像を、決定木群に与えて、各画像をいずれかの末端ノードに到達するまで順次分岐させることで、各画像が到達する末端ノードを特定するステップと、部分入力画像が到達した末端ノードにおける部分学習画像と部分入力画像との識別確率に応じて、当該末端ノードから分岐する子ノードを追加するステップとを含む。
好ましくは、画像処理方法は、さらに、互いに近傍にある領域から抽出された検出対象を示す複数の部分学習画像を単一のグループに設定するステップを含み、決定木群を構築するステップは、同一のグループに属する複数の部分学習画像に対して共通して重みを決定するステップを含む。
好ましくは、画像処理方法は、さらに、学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の部分学習画像を抽出するステップを含む。
本発明の別の局面に従う画像処理装置は、学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築する手段を含む。複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第1のサンプルと、検出対象のうち予め定められた条件に適合しない部分を示す第2のサンプルと、非検出対象を示す第3のサンプルとを含む。決定木群を構築する手段は、末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定する手段と、決定されたそれぞれの分岐関数に従って、部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、第1のサンプルおよび第2のサンプルの合計と第3のサンプルとの割合を示す第1の確率、および、第1のサンプルと第2のサンプルとの割合を示す第2の確率、を決定する手段とを含む。画像処理装置は、さらに、入力画像から得られた複数の部分入力画像が決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第1の確率に基づいて、入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第2の確率に基づいて、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定する手段を含む。
本発明のさらに別の局面に従えば、コンピュータで実行される画像処理プログラムが提供される。画像処理プログラムは、コンピュータに、学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築するステップを実行させる。複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第1のサンプルと、検出対象のうち予め定められた条件に適合しない部分を示す第2のサンプルと、非検出対象を示す第3のサンプルとを含む。決定木群を構築するステップは、末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定するステップと、決定されたそれぞれの分岐関数に従って、部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、第1のサンプルおよび第2のサンプルの合計と第3のサンプルとの割合を示す第1の確率、および、第1のサンプルと第2のサンプルとの割合を示す第2の確率、を決定するステップとを含む。コンピュータに、さらに、入力画像から得られた複数の部分入力画像が決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第1の確率に基づいて、入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第2の確率に基づいて、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定するステップを実行させる。
本発明のいくつかの局面によれば、撮像などにより取得された入力画像に対して、予め設定された検出対象に相当する物体が存在する領域を認識するとともに、その認識された検出対象に相当する物体の状況についても判定できる。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.画像処理システムの構成例>
図1は、本実施の形態に係る画像処理装置100を含む画像処理システム1の構成例を示す概略図である。図1には、一例として、ビンピッキングシステムに向けられる画像処理システム1を示す。ビンピッキングシステムは、入力画像から、商品選別や部品組み立てのために指定された物体(以下、「ワーク」とも称す。)の位置・姿勢を認識し、その認識された位置・姿勢の情報に従って、当該認識されたワークを把持(ピッキング)するものである。
図1は、本実施の形態に係る画像処理装置100を含む画像処理システム1の構成例を示す概略図である。図1には、一例として、ビンピッキングシステムに向けられる画像処理システム1を示す。ビンピッキングシステムは、入力画像から、商品選別や部品組み立てのために指定された物体(以下、「ワーク」とも称す。)の位置・姿勢を認識し、その認識された位置・姿勢の情報に従って、当該認識されたワークを把持(ピッキング)するものである。
より具体的には、画像処理システム1は、撮像装置2と、画像処理装置100と、ピッキングロボット200とを含む。画像処理装置100は、撮像装置2からの入力画像内から予め登録された検出対象に相当するワーク4の位置・姿勢を認識し、その検出したワーク4の位置・姿勢の情報をピッキングロボット200へ出力する。ピッキングロボット200は、画像処理装置100からの情報に従って、対象のワーク4を把持して、所定の位置まで移動させる。
本発明に係る画像処理方法、画像処理装置、画像処理プログラムの応用先は、図1に示すビンピッキングシステムに限られるものではなく、画像認識技術を利用した各種システムに適用可能である。
<B.画像処理装置の構成例>
次に、図1に示す画像処理装置100の構成例について説明する。図2は、本実施の形態に係る画像処理装置100の構成例を示す模式図である。図2には、画像処理装置100の典型的な実装例として、プロセッサが画像処理プログラムを実行する形態について例示する。
次に、図1に示す画像処理装置100の構成例について説明する。図2は、本実施の形態に係る画像処理装置100の構成例を示す模式図である。図2には、画像処理装置100の典型的な実装例として、プロセッサが画像処理プログラムを実行する形態について例示する。
より具体的には、画像処理装置100は、プロセッサ102と、主メモリ104と、HDD(Hard Disk Drive)106と、ネットワークインターフェイス110と、画像入力インターフェイス112と、入力部114と、表示部116と、出力インターフェイス118とを含む。これらのコンポーネントは、内部バス120を介して、互いに通信可能に接続されている。
プロセッサ102は、後述する処理を実行する処理主体であり、HDD106に格納されている画像処理プログラム108を主メモリ104に展開して実行する。プロセッサ102は、典型的には、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)からなる。HDD106には、後述する学習処理の結果得られる決定木や認識処理の結果などが格納されてもよい。
ネットワークインターフェイス110は、外部ネットワークなどを介した他の装置やサーバなどとの通信を仲介する。画像入力インターフェイス112は、任意の通信プロトコルに準拠した回路を含み、撮像装置2からの学習画像および/または入力画像を受付ける。入力部114は、キーボードやマウスなどを含み、ユーザからの入力操作を受付ける。表示部116は、ディスプレイなどからなり、学習処理や認識処理などの処理過程や結果などをユーザへ通知する。出力インターフェイス118は、任意の通信プロトコルに準拠した回路を含み、認識処理によって得られた結果などを外部(例えば、ピッキングロボット200など)へ出力する。
撮像装置2は、被写体を撮像することで入力画像を生成する手段であり、一例として、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといったデバイスを含む。
画像処理装置100の機能の全部または一部を、例えば、SoC(System on a chip)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)などの回路要素を用いて実現してもよい。図2に示す画像処理プログラム108は、任意の記録媒体(例えば、光ディスクやフラッシュメモリなど)を通じて画像処理装置100へインストールされてもよいし、ネットワークを介して配信されてもよい。さらに、画像処理装置100とサーバ装置とを連携させて後述する処理や機能を実現してもよい。この場合には、画像処理装置100およびサーバ装置のいずれか一方または両方に、本実施の形態を実現するために必要な機能が存在することになる。
撮像装置2と画像処理装置100とを一体的に構成してもよいし、撮像装置2と直接接続されていない画像処理装置100を採用してもよい。後者の場合には、任意の撮像手段を用いて画像を生成または取得し、その生成または取得された画像をネットワークや任意の記録媒体を介して、画像処理装置100に取り込むようにしてもよい。
<C.概要>
次に、本実施の形態に係る物体認識方法の概要について説明する。
次に、本実施の形態に係る物体認識方法の概要について説明する。
図1に示すようなビンピッキングシステムにおいては、検出対象に相当するワークの位置・姿勢の認識に加えて、当該認識されたワークを把持できるか否かを判定する必要がある。図3は、本実施の形態に係る画像認識方法の背景を説明する図である。
図3(a)に示すように、飲料容器をワーク4の一例とするビンピッキングシステムを想定すると、認識されたワーク4が他のワーク4から離れていれば(すなわち、他のワーク4との干渉がなければ)、容易に把持できるが、認識されたワーク4が他のワーク4に隣接していれば(すなわち、他のワーク4と干渉していれば)、把持することは困難になる。
関連技術に係る物体認識方法では、図3(b)に示すように、ワークの位置・姿勢を認識する処理(ワーク認識)に加えて、認識されたワークを把持できるか否かを判定する処理(把持判定)を行なう必要があった。すなわち、関連技術に係る物体認識方法では、入力画像10に対して、ワーク認識12および把持判定14を実行した後、ワークの把持動作16を実行する必要があった。
図3(b)に示すような処理手順の場合には、把持判定14において、入力画像およびその距離画像などを用いてルールを予め設定する必要がある。より具体的には、認識されたワークの周囲の状況を示す3次元マップと、ピッキングロボット200の把持動作を示すハンドマップとの間のルールを定める必要がある。すなわち、図3(b)に示すような処理手順を実行するにあたっては、把持判定14を適切に処理するために、予めルールを設定する必要があり、これらのルールの設定に人的コストを要するという課題がある。
これに対して、本実施の形態に係る物体認識方法では、図3(c)に示すように、ワーク認識および把持判定を一体的に含む認識処理13を実行する。認識処理13では、把持判定の内容を含めて、ワーク4に対する認識処理が実行される。そのため、把持判定14の実行に必要なルールを予め設定する必要がない。
すなわち、ワーク4を認識するための識別器を構築する学習処理において、ワーク4として認識すべき事例の画像と、ワーク4として認識すべきではない事例の画像とを与えるとともに、ワーク4として認識すべき事例の画像の中に、把持容易な状況を示す事例の画像と、把持困難な状況を示す事例の画像とを含める。これらの画像を用いて、学習処理を行なうことで、ワークの位置・姿勢の認識と同時に、把持容易であるか、あるいは把持困難であるかといった状況についても判定することができる。つまり、本実施の形態に従う物体認識方法では、図3(b)に示す把持判定14に必要なルールを予め設定する必要はない。
理解を容易にするために、ビンピッキングシステムという具体例を例に説明したが、これに限られず、本実施の形態に係る物体認識方法は、ワークの位置・姿勢の認識と、当該認識されたワークが予め定められた条件に適合するか否か(認識されたワークがおかれた状況)の判定とを同時に行なう必要があるような各種のアプリケーションに適用可能である。
例えば、平積みされた複数のワークをある規則に従って順次把持するようなアプリケーションを想定すると、ワークの位置・姿勢の認識と、当該認識したワークが優先的に把持されるべきであるか否かを判定するようなピッキングシステムにも適用できる。さらに、ワークを把持するだけではなく、ワークを吸着するアプリケーションや、ワークに対して何らかの加工処理を行なうようなアプリケーションにも適用可能である。
さらに、ワークが予め定められた条件に適合するか否かという2つの区分の判定だけではなく、より多くの区分のうち、いずれに属するのかを判定してもよい。例えば、上述した、ワークを把持するアプリケーションでは、「把持することは容易」、「(容易とまでは言えないが)把持することができる」、「把持することは困難」のいずれであるかを判定することもできる。
以上のとおり、本実施の形態に係る物体認識方法は、入力画像内に検出対象が含まれているか否かを判定するとともに、当該入力画像内に含まれる検出対象が予め定められた条件に適合するか否か(認識されたワークがおかれた状況)を判定する。
本実施の形態に係る物体認識方法は、統計的学習法を用いて入力画像からワークを認識する。特に、本実施の形態に係る物体認識方法は、局所パッチベースの統計的学習法に向けられる。局所パッチベースは、入力画像から切り出された部分入力画像(以下「入力パッチ」とも称す。)を物体認識に利用する手法である。入力画像から切り出された複数の入力パッチを用いて投票処理を行なうため、ワークの一部に隠れや変形が生じていても、ロバストな物体認識を実現できる。
このような局所パッチベースの統計的学習法の一例として、Random Forests(決定木群)を入力パッチの物体認識に利用したHough Forests法が提案されている。Hough Forests法は、入力画像から切り出された複数の入力パッチをRandom Forestsに入力し、各入力パッチが到達した末端ノードのクラス確率を、検出対象の中心までのオフセット量(オフセットベクトル)を用いて投票する物体認識方法である。Hough Forests法では、サンプル画像から切り出された部分画像(以下「学習パッチ」とも称す。)のサブセットから学習処理によって決定木群を構築した上で、入力画像から切り出された入力パッチを決定木群に入力する。各入力パッチが各決定木においていずれのリーフノード(以下「末端ノード」とも称す。)に到達したのかを判定し、それぞれの末端ノードに保持されている情報(すなわち、学習処理にて予め得られている情報)を用いて、入力画像内に検出対象に相当するワークの位置・姿勢を認識する。
本実施の形態に係る物体認識方法は、Hough Forests法をベースにしているが、以下に詳述するような新規な処理を含むことで、一般的なHough Forests法では得られない、顕著な作用効果を奏するものである。
本実施の形態に係る物体認識方法は、教師付き学習に従う学習処理と、学習処理によって得られた学習結果を用いて、入力画像から検出対象に相当するワークの位置・姿勢の認識、および、当該認識されたワークが予め定められた条件に適合するか否かの判定を行なう認識処理とを含む。さらに、本実施の形態に係る物体認識方法においては、学習処理を実行することで得られた学習結果では、適切な認識結果が得られないような場合に、その学習結果を補正する追加学習処理を含めることができる。以下、本実施の形態に係る物体認識方法について、「学習処理」、「認識処理」、「追加学習処理」の順に詳述する。
<D.学習処理>
(d1:学習処理に用いる学習画像)
本実施の形態に係る物体認識方法の学習処理では、複数の部分学習画像を用いて、入力パッチを識別するためのRandom Forests(以下、「決定木群」とも称す。)を構築する。決定木群は、後述するように、ルートノードから複数の末端ノードまでの階層構造を有している。このように、学習処理は、学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築する工程を含む。
(d1:学習処理に用いる学習画像)
本実施の形態に係る物体認識方法の学習処理では、複数の部分学習画像を用いて、入力パッチを識別するためのRandom Forests(以下、「決定木群」とも称す。)を構築する。決定木群は、後述するように、ルートノードから複数の末端ノードまでの階層構造を有している。このように、学習処理は、学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築する工程を含む。
認識処理では、入力画像から切り出された入力パッチを決定木群に入力し、各末端ノードに到達した入力パッチについてのクラス確率などを用いることで、検出対象に相当するワークの位置・姿勢の認識、および、当該認識されたワークが予め定められた条件に適合するか否かの判定を行なう。
本実施の形態に係る物体認識方法の学習処理では、ワークの位置・姿勢を認識するため、検出対象(すなわち、位置・姿勢を認識すべき対象)のワークの少なくとも一部が写った学習画像(以下、「ポジティブ画像」とも称す。)と、非検出対象(すなわち、位置・姿勢を認識されるべきではない対象)のワークの少なくとも一部が写った学習画像(以下、「ネガティブ画像」とも称す。)とを用いる。そして、ポジティブ画像から切り出された部分学習画像を「ポジティブパッチ」とも称し、ネガティブ画像から切り出された部分学習画像を「ネガティブパッチ」とも称す。以下では、「ポジティブパッチ」および「ネガティブパッチ」を単に「学習パッチ」と総称することもある。本実施の形態に係る物体認識方法は、局所パッチベースの統計的学習法であるため、これらの学習パッチを用いて、学習処理および認識処理を実行する。
後述するように、本実施の形態に係る物体認識方法においては、複数のパッチを集合体(Bag)として扱う場合もあるため、説明の便宜上、学習画像から取得された1または複数のパッチを「学習サンプル」と総称することもある。同様に、1または複数のポジティブパッチを「ポジティブサンプル」と総称し、ネガティブパッチを「ネガティブサンプル」と総称する場合もある。また、入力パッチについても「入力サンプル」と総称する場合もある。
学習画像としては任意の形式の画像を用いることができるが、物体認識においては、距離画像、すなわちある撮像点からワーク表面の各点までの距離を画素値とした画像を用いることが好ましい。もちろん、通常の画像、すなわちワーク表面の各点の明るさを画素値とした画像を用いることもできる。
図4は、本実施の形態に係る物体認識方法において使用される学習画像を説明する図である。図4には、(a)ポジティブ画像、および、(b)ネガティブ画像を示す。図4に示されるポジティブ画像20は、検出対象として飲料容器を想定したものである。検出対象のワークを識別するために、外観の特徴が似ていないと考えられる別のワークを写したネガティブ画像30を用いて、検出対象と非検出対象とを区別するための決定木群を構築する。
本実施の形態に係る物体認識方法においては、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定するため、ポジティブ画像20を、その判定すべき条件に応じて、2またはそれ以上の区分(以下、「サブクラス」とも称す。)に分類する。言い換えれば、判定すべき条件の数に応じたそれぞれのサブクラスの学習画像を用意する。図4に示す例では、1つの条件、つまり上述したような、認識されたワークを把持できるか否かを判定するために、把持容易を示す入力画像と、把持困難を示す入力画像とを、ポジティブ画像20に含める。
図4に示すポジティブ画像20は、飲料容器が把持可能に配置されている状態(サブクラス1)を写した学習画像22((a−1)把持容易)と、飲料容器が把持困難に配置されている状態(サブクラス2)を写した学習画像24((a−2)把持困難)とを含む。なお、図4に示すような、学習画像の生成方法については、後述する。
学習処理においては、ポジティブ画像20(学習画像22および学習画像24を含む)およびネガティブ画像30からそれぞれ切り出した複数の学習パッチを用いて、決定木群を構築する。この複数の学習パッチ(部分学習画像)は、検出対象のうち予め定められた条件に適合する部分を示す学習画像22(第1のサンプル)と、検出対象のうち予め定められた条件に適合しない部分を示す学習画像24(第2のサンプル)と、非検出対象を示すネガティブ画像30(第3のサンプル)とを含む。
構築される決定木群は、入力画像から切り出された入力パッチが、ポジティブ画像20およびネガティブ画像30のいずれに類似している可能性が高いのかという確率と、ポジティブ画像20に該当するとした場合に、サブクラス1およびサブクラス2のいずれに類似している可能性が高いのかという確率とを算出するのに用いられる。
(d2:「重み」の概念の導入)
本実施の形態に係る物体認識方法においては、決定木のノードについて「重み」という概念を導入し、決定木群を構築する際に、誤識別を生じる可能性の高い学習パッチを、実質的に自動的に取捨選択できる新たな仕組みを採用することが好ましい。
本実施の形態に係る物体認識方法においては、決定木のノードについて「重み」という概念を導入し、決定木群を構築する際に、誤識別を生じる可能性の高い学習パッチを、実質的に自動的に取捨選択できる新たな仕組みを採用することが好ましい。
上述したように、本実施の形態に係る物体認識方法では、ポジティブサンプルとネガティブサンプルとの間の識別(クラス識別)、および、学習画像22((a−1)把持容易:サブクラス1)と学習画像24((a−2)把持困難:サブクラス2)との間の識別(サブクラス識別)を行なう必要があるので、ポジティブサンプルとネガティブサンプルとの間の識別に係る第1の重みと、サブクラス1とサブクラス2との間の識別に係る第2の重みとの2種類の重みを用いる。
本実施の形態に係る「重み」は、決定木群を構築する際に、一方の学習画像から得られた学習パッチが示す特徴が他方の学習画像に類似しているような場合に、当該学習パッチについてのクラス確率を相対的に低減するために用いる。クラス確率は、入力画像から切り出された入力パッチに対する投票処理に用いられる確率である。学習画像からの切り出された信頼度の低い学習パッチについての確率を低減することで、認識処理において、誤識別を抑制できる。
より具体的には、ポジティブ画像20から切り出された学習サンプルのうち、ネガティブ画像30に類似している学習サンプルについては、その重み(第1の重み)を相対的に低くする。また、学習画像22((a−1)把持容易)から切り出された学習サンプルのうち、学習画像24((a−2)把持困難)に類似している学習サンプルについては、その重み(第2の重み)を相対的に低くする。それぞれの重みは、決定木群を構築する際に、順次算出または更新される。
このように、ポジティブ画像20から切り出された学習サンプルについては、第1の重みおよび第2の重みがそれぞれ独立に設定されることになる。一方、ネガティブ画像30から切り出された学習パッチについては、第1の重みが設定されることになる。
図5は、本実施の形態に係る画像認識方法における重みの効果を説明する図である。図5(a)には、学習処理によって決定される重みの分布例を概念的に示し、図5(b)には、認識処理による投票結果の一例を示す。
第1の重みとして、ポジティブサンプルとネガティブサンプルとの間(クラス)の重みw1ijを導入し、第2の重みとして、サブクラス1(把持容易)とサブクラス2(把持困難)との間(サブクラス)の重みw2ijを導入する。ここで、添え字「ij」は、i番目のBagに所属するj個目の学習パッチであることを意味する。Bagは、互いに類似した複数の学習パッチからなる群であり、その詳細については後述する。
図5(a)に示すように、ポジティブサンプルとネガティブサンプルとの間の重みw1ijは、ネガティブ画像30には含まれない特徴を示す領域において高くなっていることがわかる。また、サブクラス1とサブクラス2との間の重みw2ijは、サブクラス1の学習画像22には含まれない特徴を示す領域において高くなっていることがわかる。
すなわち、認識処理においては、入力画像に検出対象に相当するワークが含まれているか否かについては、重みw1ijが高い領域から切り出された学習パッチの情報により重きをおいて判断し、検出対象に相当すると判断されたワークが把持できるか否かについては、重みw2ijが高い領域から切り出された学習パッチの情報により重きをおいて判断する。
図5(b)には、図5(a)に示すような重みの分布を反映した決定木群を用いて認識処理を行なった場合に得られる投票結果の例を概念的に示す。図5(b)に示すように、検出対象に相当するワークについては、把持容易に相当する投票結果42および把持困難に相当する投票結果44のいずれであっても、ポジティブサンプルへの投票がネガティブサンプルへの投票を上回っている。
一方で、把持容易に相当する投票結果42においては、サブクラス1(把持容易)への投票がサブクラス2(把持困難)への投票を上回っており、把持困難に相当する投票結果44においては、サブクラス2(把持困難)への投票がサブクラス1(把持容易)への投票を上回っている。
投票結果42および44に示すように、本実施の形態に係る物体認識方法によれば、1回の認識処理によって、ポジティブ画像20とネガティブ画像30とのいずれに該当するのか、および、サブクラス1とサブクラス2とのいずれに該当するのかについて、同時に判断できる。
図5に示すように、本実施の形態に係る物体認識方法によれば、学習画像に含まれる識別に有効な特徴を示す領域についての重みw1ijおよびw2ijがそれぞれ高くなるように自動的に算出および更新されるので、認識されたワークを把持できるかといった判定についてのルールを予め設定する必要はない。
本実施の形態に係る物体認識方法では、決定木群を構築する際に、それぞれの重みが順次更新される。このそれぞれの重みを更新することにより得られる効果について、以下説明する。
図6および図7は、本実施の形態に係る画像認識方法における重みの更新による効果を説明する図である。図6には、決定木を構築する処理において、あるノードにある学習パッチが複数の分岐ノードに分類される一例を示す。
図6中の左側の分岐ノード内には、ネガティブサンプルとポジティブサンプルとが混在しており、この状態は、ポジティブサンプルとネガティブサンプルとを識別できる可能性(信頼度)が相対的に低いことを意味する。そのため、このような分岐ノードでの分岐結果が生じれば、ポジティブサンプルとネガティブサンプルとの間の重みw1ijを減少させる。すなわち、決定木群の構築過程において、ネガティブサンプルと類似するポジティブサンプルの重みw1ijを減少させる。
図6中の中央の分岐ノード内には、サブクラス1の学習画像22から切り出された学習パッチとサブクラス2の学習画像24から切り出された学習パッチとが混在しており、この状態は、把持容易(サブクラス1)と把持困難(サブクラス2)とを識別できる可能性(信頼度)が相対的に低いことを意味する。そのため、このような分岐ノードでの分岐結果が生じれば、サブクラス1とサブクラス2との間の重みw2ijを減少させる。図6中の右側の分岐ノードについても同様である。すなわち、決定木群の構築過程において、サブクラス間で類似するポジティブサンプルの重みw2ijを減少させる。
すなわち、分岐ノードを決定した後、各分岐ノードに分類される学習パッチが非ユニークであれば、重みを減少させる。
図7に示すように、認識処理においては、入力画像から切り出された入力パッチがそれぞれの決定木に入力される。それぞれの決定木において当該入力パッチが到達した末端ノードの情報が投票されることで、識別が行なわれるが、上述のような重みw2ijを更新しておくことで、把持容易なワークを写した入力画像から切り出された入力パッチについては、サブクラス1からの投票値が相対的に高くなり、把持困難なワークを写した入力画像から切り出された入力パッチについては、サブクラス2からの投票値が相対的に高くなる。この投票値の相対的な差に基づいて、いずれのサブクラスに該当するのかを判定できる。
(d3:学習画像の生成)
次に、学習画像を生成する手順について説明する。
次に、学習画像を生成する手順について説明する。
検出対象のワークを撮像して得られる画像を回転させることで、各回転角におけるポジティブ画像20を生成する。これは、本実施の形態に係る物体認識方法では、ワークの位置・姿勢を認識する必要があり、検出対象のそれぞれの姿勢(回転後の状態)について学習する必要があるからである。典型的には、撮像により取得した画像を1°ずつ360°回転させて360種類の学習画像を生成する。
その上、本実施の形態に係る物体認識方法では、認識すべきサブクラスに応じて、検出対象の飲料容器が把持可能に配置されている状態(サブクラス1)を写した画像と、飲料容器が把持困難に配置されている状態(サブクラス2)を写した画像との2種類の画像を取得し、それぞれについて回転させることで、各回転角におけるポジティブ画像20(学習画像22および学習画像24)を生成する。
すなわち、本実施の形態に係る物体認識方法は、学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の学習パッチ/学習サンプル(部分学習画像)を抽出する工程を含む。
一方、ネガティブ画像30については、非検出対象のワークを撮像して得られる画像から生成する。ネガティブ画像30は、検出対象のワークとの識別に用いるための情報であるので、回転させて各回転角についての学習画像を生成する必要はない。
本実施の形態に係る物体認識方法においては、さらにBagの概念を導入することが好ましい。Bagの概念を導入することで、学習画像に表われる検出対象の揺らぎの影響を抑制できる。
図8は、本実施の形態に係る物体認識方法において使用される学習画像のBagの生成を説明する図である。図8を参照して、ポジティブ画像20およびネガティブ画像30から、ポジティブパッチおよびネガティブパッチをそれぞれ切り出す。上述したように、各回転角についてのポジティブ画像20が生成されるので、各ポジティブ画像20からグリッドサンプリングにより複数のポジティブパッチが生成される。これらの学習パッチから、ポジティブ画像20を示すポジティブBagB1,B2,B3,B4,…と、ネガティブ画像30を示すネガティブBagNB1,NB2,NB3,NB4,NB5,…,NBNとを生成する。
本実施の形態に係る物体認識方法では、予め教師信号がある学習画像からBagを生成するため、ポジティブパッチとネガティブパッチとが混在するようなBagは生成せず、各Bagは、ポジティブパッチのみ、または、ネガティブパッチのみを含むことになる。
互いに近傍する領域から切り出された複数の学習パッチからポジティブBagを生成する。すなわち、ポジティブBagの各々は、ポジティブ画像20において位置および/または角度が互いに近似する複数の学習パッチを含むことになる。このような方法によってポジティブBagを生成することで、互いに類似した外観を有する複数の学習パッチからなる群が1つのBagとして扱われるようになる。このように、本実施の形態に係る物体認識方法は、互いに近傍にある領域から抽出された検出対象を示す複数の学習パッチ(部分学習画像)を単一のグループに設定する工程を含む。
一方、本実施の形態に係る物体認識方法において、ネガティブ画像30から切り出されたネガティブパッチは、主として、ポジティブ画像20内の検出対象の認識に有効ではない領域についての重みw1ijを下げるために用いられるものであり、学習画像に表われる揺らぎの影響などを考慮する必要はない。そのため、ネガティブ画像30から切り出された1つのネガティブパッチを1つのネガティブBagとする。
後述するように、本実施の形態に係る物体認識方法の学習処理においては、決定木群を構築する際に、同一のグループに属する複数の学習パッチ(部分学習画像)に対して共通して重みを決定する。すなわち、同一のBagに含まれる学習パッチは、互いに類似した情報を有していると想定されるので、共通の重みを設定することで、処理の簡素化を図る。
(d4:決定木群の構築)
次に、学習処理における決定木群の構築処理について説明する。図9は、本実施の形態に係る物体認識方法における学習処理での決定木群の構築処理を説明するための図である。図9を参照して、ポジティブ画像20から切り出されたポジティブパッチ21(サブクラス1に属するポジティブパッチ23、および、サブクラス2に属するポジティブパッチ25)、ならびに、ネガティブ画像30から切り出されたネガティブパッチ31がランダムに選択されて複数のサブセット62が生成される。1つのサブセット62から1つの決定木60が構築(すなわち、学習)されるので、構築すべき決定木群に含まれる決定木60の数と同数だけ、サブセット62が生成されることになる。
次に、学習処理における決定木群の構築処理について説明する。図9は、本実施の形態に係る物体認識方法における学習処理での決定木群の構築処理を説明するための図である。図9を参照して、ポジティブ画像20から切り出されたポジティブパッチ21(サブクラス1に属するポジティブパッチ23、および、サブクラス2に属するポジティブパッチ25)、ならびに、ネガティブ画像30から切り出されたネガティブパッチ31がランダムに選択されて複数のサブセット62が生成される。1つのサブセット62から1つの決定木60が構築(すなわち、学習)されるので、構築すべき決定木群に含まれる決定木60の数と同数だけ、サブセット62が生成されることになる。
学習処理においては、サブセット62について、各階層(ノード)おいて分岐関数を決定するとともに、決定された分岐関数に従ってそれぞれの子ノードに分岐されたパッチ間の分離度合い、すなわちクラス尤度が算出される。そして、算出されたクラス尤度に基づいて、対応するノード(階層)における重みが算出または更新される。このとき、ポジティブサンプルとネガティブサンプルとの間の重みw1ij、および、サブクラス1とサブクラス2との間の重みw2ijの両方が更新される。分岐関数の決定、クラス尤度の算出、重みの更新という一連の処理は、サブセット62に含まれるすべての学習パッチが末端ノードへ到達するまで繰り返される。
ルートノード50から各末端ノード54−1〜54−Nまでの経路にあるノード51−1,51−2,52−1,52−2,52−3,52−4に割り当てられた重みを合算することで、各末端ノード54−1〜54−Nについての重みを最終的に決定する。
構築された決定木60に含まれるそれぞれの末端ノード54−1〜54−Nは、学習処理によって得られた、クラス確率およびオフセットベクトルを保持することになる。オフセットベクトルは、パッチ中心から物体中心までの方向および距離を示すベクトル量である。
さらに、末端ノード54−1〜54−Nの各々には、そこに到達した学習パッチに付随するカテゴリ情報(例えば、検出対象/非検出対象の区別、位置、角度などの情報)についてのヒストグラムを関連付けてもよい。なお、完全な決定木60が構築された後に、各末端ノード54−1〜54−Nについての重み(または、クラス確率)を調整するようにしてもよい。
図9に示す末端ノード54−Nは、ネガティブパッチ31が到達する可能性の高いノードであり、この末端ノード54−Nに到達する過程において、サブセット62に含まれる、ポジティブパッチ21(サブクラス1に属するポジティブパッチ23、および、サブクラス2に属するポジティブパッチ25)についての重みw1ijは、順次低下することになる。図9には、この重みw1ijの低下を面積の大きさで概念的に示している。
(d5:学習処理の処理手順)
次に、本実施の形態に係る物体認識方法の学習処理の処理手順について説明する。図10は、本実施の形態に係る物体認識方法の学習処理の処理手順を示すフローチャートである。図10に示す各ステップは、典型的には、画像処理装置100のプロセッサ102が画像処理プログラム108を実行することで実現される。
次に、本実施の形態に係る物体認識方法の学習処理の処理手順について説明する。図10は、本実施の形態に係る物体認識方法の学習処理の処理手順を示すフローチャートである。図10に示す各ステップは、典型的には、画像処理装置100のプロセッサ102が画像処理プログラム108を実行することで実現される。
図10を参照して、画像処理装置100は、学習処理に用いる学習画像(ポジティブ画像20およびネガティブ画像30)を取得する(ステップS2)。続いて、画像処理装置100は、取得したポジティブ画像20については回転させて各回転角の学習画像を生成した上で、ポジティブパッチおよびネガティブパッチを切り出し、ポジティブBagおよびネガティブBagを生成する(ステップS4)。ステップS2およびS4の処理内容については、図8を参照して詳述したので、詳細な説明は繰り返さない。
そして、画像処理装置100は、重みw1ijおよび重みw2ijを初期化し(ステップS6)、ステップS4において生成した複数のBagから所定数のサブセットを生成する(ステップS8)。サブセットの各々は、生成された複数のポジティブBagおよびネガティブBagからランダムに選択(ランダムサンプリング)されることにより、生成される。
その後、決定木群を構築する処理(ステップS10〜S20)が開始される。ステップS10〜S20の処理を1回実施することで、1つの決定木が構築される。ステップS10〜S20の処理は、生成されるサブセットの数だけ並列的に実行されることが好ましい。もちろん、ステップS10〜S20の処理を直列的に複数回繰り返すようにしてもよい。
決定木を構築する処理において、画像処理装置100は、まず、階層1にあるノードにおける分岐関数候補を生成し(ステップS10)、それらの生成した分岐関数候補の中から最適なものを階層1における分岐関数として決定する(ステップS12)。そして、画像処理装置100は、同一階層で分岐関数を決定していないノードが残っているか否かを判断する(ステップS14)。同一階層で分岐関数を決定していないノードが残っている場合(ステップS14においてYESの場合)には、ステップS10以下の処理が繰り返される。
同一階層のすべてのノードについて分岐関数が決定済である場合(ステップS14においてNOの場合)には、画像処理装置100は、各ノードについての重み(重みw1ijおよび重みw2ij)を更新する(ステップS16)。
その後、画像処理装置100は、決定木群の構築完了に係る所定条件が満たされたか否かを判定する(ステップS18)。決定木群の構築完了に係る所定条件が満たされていない場合(ステップS18においてNOの場合)には、ステップS10以下の処理が繰り返される。
決定木群の構築完了に係る所定条件が満たされている場合(ステップS18においてYESの場合)には、画像処理装置100は、各決定木の末端ノードに関連付けて、到達した学習パッチの画像そのもの、オフセットベクトル、重み付き確率などの情報を格納する(ステップS20)。そして、学習処理は終了する。
以下、学習処理手順のより詳細な内容について説明する。
(d6:重みの初期化)
画像処理装置100は、決定木を構築する前に、重みw1ijおよび重みw2ijを初期化する(ステップS6)。より具体的には、画像処理装置100は、重みw1ijおよび重みw2ijを1/Nに初期化する。ここで、定数Nは、任意の値に設定できる。
(d6:重みの初期化)
画像処理装置100は、決定木を構築する前に、重みw1ijおよび重みw2ijを初期化する(ステップS6)。より具体的には、画像処理装置100は、重みw1ijおよび重みw2ijを1/Nに初期化する。ここで、定数Nは、任意の値に設定できる。
(d7:分岐関数候補の生成)
決定木の構築処理の第1段階として、画像処理装置100は、階層1における分岐関数候補を生成する(ステップS10)。ここで、階層dにおける分岐関数候補h(d) T,τ(I)は、学習画像から切り出された学習パッチxとテンプレートTとの類似度S(x,T)としきい値τとを用いて、以下の(1)式のように定義される。
決定木の構築処理の第1段階として、画像処理装置100は、階層1における分岐関数候補を生成する(ステップS10)。ここで、階層dにおける分岐関数候補h(d) T,τ(I)は、学習画像から切り出された学習パッチxとテンプレートTとの類似度S(x,T)としきい値τとを用いて、以下の(1)式のように定義される。
ここで、パラメータτは,学習パッチxとテンプレートTとの類似度を評価するためのしきい値である。
(d8:分岐関数の決定)
続いて、画像処理装置100は、生成した分岐関数候補の中から最適なものを対象の階層における分岐関数として決定する(ステップS12)。
続いて、画像処理装置100は、生成した分岐関数候補の中から最適なものを対象の階層における分岐関数として決定する(ステップS12)。
図11は、本実施の形態に係る物体認識方法における学習処理での分岐関数の決定する処理を説明するための模式図である。図11を参照して、(1)式のテンプレートTは、対象の分岐ノードに与えられる複数のポジティブパッチからランダムに選択される。図11に示す例では、各学習パッチxは、テンプレートTとの間の類似度が算出され、算出された類似度がしきい値未満であれば、左側の子ノードに分岐され、そうでなければ右側の子ノードに分岐される。
分岐関数の決定処理においては、テンプレートTおよびパラメータτをランダムにそれぞれ選択するとともに、以下の(2)式で定義される評価関数U*を用いて評価値を算出する。但し、*∈{1,2}であり、重みw1ijおよびw2ijにそれぞれ対応する(以下、同様である)。
(2)式で算出される評価値が最小となるテンプレートTおよびパラメータτを決定し、これらの決定された値から最適な分岐関数を決定する。
ここで、(2)式の{x|h(Ii)=0}は、図11の左側の子ノードに分割された学習パッチの集合を示し、{x|h(Ii)=1}は、図11の右側の子ノードに分割された学習パッチの集合を示す。
評価関数Uの評価には、以下の3つの基準を階層ごとに切り替えて用いる。1つ目は、クラスラベルのエントロピーを評価する評価関数U1(A)およびU2(A)であり、それぞれの子ノードに分岐した学習パッチの集合Aについて、以下の(3)および(4)式に従って定義される。
評価関数U1(A)は、ポジティブサンプルとネガティブサンプルとの識別の容易性(信頼度)を示し、評価関数U2(A)は、把持容易(サブクラス1)と把持困難(サブクラス2)との識別の容易性(信頼度)を示す。
ここで、評価関数U1(A)中のcは、学習パッチの集合Aに含まれるポジティブサンプルの重み付き確率を示し、評価関数U2(A)中のbは、学習パッチの集合Aのうちポジティブサンプルの教師属性が付与されているものについての重み付き確率を示す。
3つ目は、オフセットベクトルdijのばらつき(分散)を評価する評価関数U3(A)であり、以下の(5)式に従って定義する。オフセットベクトルdijは、対象の学習パッチを学習画像(ポジティブ画像20)から切り出した位置を示す。
ここで、dAは、Aのオブセットベクトルの平均値を示す。
さらに、各決定木において、対象の階層dにおける必要なすべてのノードが生成されるまで、ステップS10およびS12の処理が繰り返される。すなわち、図10のステップS10〜S14において、画像処理装置100は、末端ノードではない各ノードについて、与えられた学習サンプル(部分学習画像)が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定する処理を実行する。
さらに、各決定木において、対象の階層dにおける必要なすべてのノードが生成されるまで、ステップS10およびS12の処理が繰り返される。すなわち、図10のステップS10〜S14において、画像処理装置100は、末端ノードではない各ノードについて、与えられた学習サンプル(部分学習画像)が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定する処理を実行する。
(d9:重みの更新)
対象の階層dについてのすべてのノードが生成されると、画像処理装置100は、各ノードについての重み(重みw1ijおよび重みw2ij)を更新する(ステップS16)。
対象の階層dについてのすべてのノードが生成されると、画像処理装置100は、各ノードについての重み(重みw1ijおよび重みw2ij)を更新する(ステップS16)。
重みw1ijおよび重みw2ijは、それぞれのクラス尤度と、Bagのクラス尤度piとに基づいて決定または更新される。なお、Bagの概念を導入することは必須ではないので、Bagの概念を導入しない場合には、クラス尤度のみから重みの決定または更新を行ってもよい。
重みw1ijの更新は、ポジティブサンプルのみを対象として行なわれる。集合Aに含まれるポジティブサンプルのうち、同一の集合Aに含まれるネガティブサンプルに類似しているものについては、クラス尤度が相対的に下がる。そのため、ポジティブ画像とネガティブ画像との識別の容易性(信頼度)を示す第1のクラス尤度p1ijを、以下の(6)式に示す。
重みw2ijの更新は、集合Aに含まれるポジティブサンプル(サブクラス1に属するポジティブパッチ23、および、サブクラス2に属するポジティブパッチ25)を対象として行なわれる。集合Aに含まれるサブクラス1に属するポジティブサンプルのうち、同一の集合Aに含まれるサブクラス2に属するポジティブサンプルに類似しているものについては、クラス尤度が相対的に下がる。同様に、集合Aに含まれるサブクラス2に属するポジティブサンプルのうち、同一の集合Aに含まれるサブクラス1に属するポジティブサンプルに類似しているものについては、クラス尤度が相対的に下がる。そのため、把持容易(サブクラス1)と把持困難(サブクラス2)との識別の容易性(信頼度)を示す第2のクラス尤度p2ijを、以下の(7)式に示す。
(6)式において、F(x)=1−2c(但し、cは集合Aにおけるポジティブサンプルの割合)と定義すると、各ノードにおいて、ポジティブサンプルの割合cが高いほどクラス尤度p1ijは高くなり、逆にポジティブサンプルの割合cが低いほどクラス尤度p1ijは低くなる。
同様に、(7)式において、サブクラス1に属するポジティブサンプルについては、G1(x)=1−2b1(但し、b1は集合Aにおけるサブクラス1に属するポジティブサンプルの割合)と定義し、サブクラス2に属するポジティブサンプルについては、G2(x)=2b2−2(但し、b2は集合Aにおけるサブクラス2に属するポジティブサンプルの割合)と定義する。
Bagのクラス尤度p*iは、Bagに属するp集合のクラス尤度p*ijを用いて、以下の(8)式に従って算出される。
重みw*ijは、Bagのクラス尤度p*iとクラス尤度p*ijとを用いて、(9)式に従って算出される。
最終的に算出された重みw1ijおよびw2ijを正規化することが好ましい。
上述したように、決定木群を構築する学習処理においては、末端ノードではない各ノードにおいて、決定された分岐関数に従って与えられた複数の学習サンプルをいずれかの子ノードにそれぞれ分類する。そして、この複数の学習サンプルを分類した結果に基づいて、各ノードについての、検出対象と非検出対象との識別能力を示す重みw1ij(第1の重み)、および、サブクラス1とサブクラス2との識別能力を示す重みw2ij(第2の重み)をそれぞれ決定する。
上述したように、決定木群を構築する学習処理においては、末端ノードではない各ノードにおいて、決定された分岐関数に従って与えられた複数の学習サンプルをいずれかの子ノードにそれぞれ分類する。そして、この複数の学習サンプルを分類した結果に基づいて、各ノードについての、検出対象と非検出対象との識別能力を示す重みw1ij(第1の重み)、および、サブクラス1とサブクラス2との識別能力を示す重みw2ij(第2の重み)をそれぞれ決定する。
すなわち、決定木群を構築する学習処理においては、決定された分岐関数に従って与えられた複数の学習サンプルをいずれかの子ノードにそれぞれ分類したときに、ポジティブサンプルおよびネガティブサンプルが同一の子ノードに分類されている割合が高いほど(分離度が低いほど)、検出対象と非検出対象との識別能力を示す重みw1ij(第1の重み)を低くする。また、サブクラス1およびサブクラス2が同一の子ノードに分類されている割合が高いほど(分離度が低いほど)、サブクラス1とサブクラス2との識別能力を示す重みw2ij(第2の重み)を低くする。
(d10:末端ノードの生成)
画像処理装置100は、上述した分岐関数の決定および重み更新の処理を所定条件が満たされるまで繰り返す。所定条件としては、例えば、階層が指定した深さに到達すること、あるいは、各ノードの集合に含まれる学習パッチの数が一定数未満になるか、を含む。所定条件が満たされときの最下位のノードが末端ノードとなる。
画像処理装置100は、上述した分岐関数の決定および重み更新の処理を所定条件が満たされるまで繰り返す。所定条件としては、例えば、階層が指定した深さに到達すること、あるいは、各ノードの集合に含まれる学習パッチの数が一定数未満になるか、を含む。所定条件が満たされときの最下位のノードが末端ノードとなる。
画像処理装置100は、それぞれの末端ノードに関連付けて、到達した学習パッチの画像そのもの、オフセットベクトル、重み付き確率などの情報を格納する(ステップS20)。
図12は、本実施の形態に係る物体認識方法における学習処理により得られる末端ノードの情報を説明するための模式図である。図12を参照して、末端ノードに関連付けて、当該末端ノードに到達したポジティブパッチ23およびポジティブパッチ25については、画像そのもの、オフセットベクトル、および重み付き確率を格納する。また、当該末端ノードに到達したネガティブパッチ31については、画像そのもの、および重み付き確率を格納する。すなわち、図10のステップS16〜S18において、画像処理装置100は、決定されたそれぞれの分岐関数に従って、学習サンプル(部分学習画像)の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、学習画像22から切り出されたポジティブパッチ23(第1のサンプル)および学習画像24から切り出されたポジティブパッチ25(第2のサンプル)の合計とネガティブ画像30から切り出されたネガティブパッチ31(第3のサンプル)との割合(第1の確率)、および、ポジティブパッチ23(第1のサンプル)とポジティブパッチ25(第2のサンプル)との割合(第2の確率)、を決定する処理を実行する。
以上のような学習処理によって、複数の決定木からなる決定木群が構築される。認識処理においては、重み付き確率を用いて、投票処理を行なうことで、検出対象の位置・姿勢の認識、ならびに、指定されたサブクラスへの該当性について判定する。
<E.認識処理>
次に、本実施の形態に係る物体認識方法の認識処理について説明する。認識処理では、入力画像から切り出された複数の部分画像(入力パッチ)が決定木群に入力され、各決定木において当該入力パッチが末端ノードの情報を用いて投票処理が行なわれ、その投票処理の結果から、入力画像に含まれる検出対象の位置・姿勢の認識に加えて、当該認識されたワークを把持できるか否かが判定される。この投票処理では、投票平面(XY座標)が回転角の種類だけ(上述の例では、1°刻みで360枚)用意されており、これらを合成することで3次元の尤度(類似度)マップが構成される。そして、3次元の尤度マップ内の尤度の高い領域から、検出対象のXY座標および回転角が判定される。
次に、本実施の形態に係る物体認識方法の認識処理について説明する。認識処理では、入力画像から切り出された複数の部分画像(入力パッチ)が決定木群に入力され、各決定木において当該入力パッチが末端ノードの情報を用いて投票処理が行なわれ、その投票処理の結果から、入力画像に含まれる検出対象の位置・姿勢の認識に加えて、当該認識されたワークを把持できるか否かが判定される。この投票処理では、投票平面(XY座標)が回転角の種類だけ(上述の例では、1°刻みで360枚)用意されており、これらを合成することで3次元の尤度(類似度)マップが構成される。そして、3次元の尤度マップ内の尤度の高い領域から、検出対象のXY座標および回転角が判定される。
さらに、本実施の形態に係る物体認識方法の認識処理においては、検出対象に相当すると判定された領域に投票されたサブクラス確率に基づいて、認識された検出対象が、把持容易(サブクラス1)であるか、把持困難(サブクラス2)であるかを判定する。
図13は、本実施の形態に係る物体認識方法における認識処理手順を示すフローチャートである。図13に示す各ステップは、典型的には、画像処理装置100のプロセッサ102が画像処理プログラムを実行することで実現される。
図13を参照して、画像処理装置100は、認識処理の対象となる入力画像を取得する(ステップS102)。続いて、画像処理装置100は、取得した入力画像から複数の入力パッチを切り出し(ステップS104)、各入力パッチを決定木群に入力して、各入力パッチがそれぞれ到達する末端ノードを特定する(ステップS106)。画像処理装置100は、各入力パッチがそれぞれの決定木において到達した末端ノードに保持されている情報を用いて投票処理を行なう(ステップS108)。なお、ポジティブサンプルの割合がしきい値未満である末端ノードについては、投票処理の対象にしないようにしてもよい。すなわち、認識処理においては、重みを反映した後のポジティブサンプルの割合が予め定められたしきい値以上の末端ノードについてのみ投票処理の対象としてもよい。
すべての入力パッチについての投票処理が完了すると、以下のような探索処理が実行される。具体的には、画像処理装置100は、ある回転角θの投票平面を走査して1または複数の局所領域を特定する(ステップS110)。続いて、画像処理装置100は、局所領域ごとの総和を算出する(ステップS112)とともに、投票平面における局所領域の総和の最大値を探索する(ステップS114)。画像処理装置100は、すべての回転角θについて探索処理が完了したか否かを判定する(ステップS116)。探索処理が完了していない回転角がある場合(ステップS116においてNOの場合)には、画像処理装置100は、新たな回転角θを選択し(ステップS118)、ステップS110以下の処理を繰り返す。
すべての回転角θについて探索処理が完了している場合(ステップS116においてYESの場合)には、画像処理装置100は、局所領域の総和が最大となる投票平面に対応する回転角θを検出対象の回転角(姿勢)とし、その局所領域の注目点を検出対象の位置として決定する(ステップS120)。なお、局所領域の総和が予め定められたしきい値未満であるような場合には、入力画像内に検出対象が存在しないと判定してもよい。
続いて、画像処理装置100は、ステップS120において決定された注目点(領域)に投票されたポジティブサンプルのサブクラス確率(すなわち、サブクラス1に投票された重み付き確率と、サブクラス2に投票された重み付き確率との比率)に基づいて、把持容易(サブクラス1)および把持困難(サブクラス2)のいずれであるかを決定する(ステップS122)。
図14は、本実施の形態に係る物体認識方法における認識処理を説明する図である。図14を参照して、入力画像から切り出された複数の入力パッチは、決定木60−1,60−2,…,60−Nに入力される。それぞれの決定木60−1,60−2,…,60−Nにおいて、入力された入力パッチがいずれの末端ノードに到達したかが特定される。
そして、それぞれの末端ノードに関連付けられている情報を用いて、3次元の尤度マップへの投票処理を行なう。より具体的には、入力パッチが到達した末端ノードに関連付けられているオフセットベクトルに基づいて、3次元の尤度マップの投票先(検出対象の位置)が特定され、投票値として、関連付けられている重み付きポジティブ確率が用いられる。
入力画像から切り出された複数の入力パッチのそれぞれについて投票処理が行なわれることで、いずれかの位置についての投票値が予め定められたしきい値を超えると、当該位置の投票面(回転角)および位置(XY座標)が検出対象に相当する位置として特定される。
さらに、検出対象に相当する位置に投票されたポジティブサンプルのうちのサブクラスの割合に基づいて、把持容易(サブクラス1)および把持困難(サブクラス2)のいずれであるかが決定される。
以上のように、認識処理において、画像処理装置100は、入力画像から得られた複数の入力パッチ(部分入力画像)が決定木群に与えられたときの、入力パッチがそれぞれ到達する末端ノードにおけるポジティブサンプルの重み付き確率(第1の確率)に基づいて、入力画像内に検出対象に相当するワークが含まれているか否かを判定するとともに、当該それぞれの末端ノードについてのサブクラス1またはサブクラス2の重み付き確率(第2の確率)に基づいて、入力画像内に含まれる検出対象に相当するワークが予め定められた条件(把持容易/把持困難)に適合するか否かを判定する。
<F.認識結果>
本実施の形態に係る物体認識方法を用いた認識結果について説明する。図15は、本実施の形態に係る物体認識方法による認識結果の一例を示す図である。図15に示す認識結果では、3本のワークである飲料容器を配置した状態で撮像された画像を入力画像とした。(a)認識結果に示されるように、検出対象であるとして3本の飲料容器のすべてが認識されている。一方、(b)尤度マップに示すように、右側の2本の飲料容器については、サブクラス2の尤度マップにおいて相対的に高い値が示されており、サブクラス2、つまり把持困難である可能性が高いと判定されている。
本実施の形態に係る物体認識方法を用いた認識結果について説明する。図15は、本実施の形態に係る物体認識方法による認識結果の一例を示す図である。図15に示す認識結果では、3本のワークである飲料容器を配置した状態で撮像された画像を入力画像とした。(a)認識結果に示されるように、検出対象であるとして3本の飲料容器のすべてが認識されている。一方、(b)尤度マップに示すように、右側の2本の飲料容器については、サブクラス2の尤度マップにおいて相対的に高い値が示されており、サブクラス2、つまり把持困難である可能性が高いと判定されている。
すなわち、本実施の形態に係る物体認識方法によれば、検出対象のワークの位置・姿勢の認識に加えて、サブクラス(把持容易/把持困難)の判定を同時に行なうことができることがわかる。
<G.追加学習処理>
次に、本実施の形態に係る物体認識方法の学習処理により構築された決定木群の識別性能を高める処理について説明する。典型的には、学習処理において用いた学習画像が実際の現場などの環境に適合しない場合などには、決定木群が本来の識別性能を発揮できない場合がある。このような場合には、誤識別サンプルを用いて、決定木群に新たなノード(分岐関数:識別器)を追加する。本実施の形態に係る物体認識方法の追加学習処理は、このような新たなノードの追加処理を含む。このような追加学習処理を採用することで、決定木群の識別性能を高めることができる。
次に、本実施の形態に係る物体認識方法の学習処理により構築された決定木群の識別性能を高める処理について説明する。典型的には、学習処理において用いた学習画像が実際の現場などの環境に適合しない場合などには、決定木群が本来の識別性能を発揮できない場合がある。このような場合には、誤識別サンプルを用いて、決定木群に新たなノード(分岐関数:識別器)を追加する。本実施の形態に係る物体認識方法の追加学習処理は、このような新たなノードの追加処理を含む。このような追加学習処理を採用することで、決定木群の識別性能を高めることができる。
(g1:概要)
本実施の形態に係る物体認識方法の追加学習処理においては、学習サンプルおよび誤識別サンプルを、既に構築されているすべての決定木に入力する。そして、すべての決定木について走査し、誤識別サンプルのクラス確率が低い末端ノードに子ノードを追加する。本明細書において、誤識別サンプルは、実際に認識処理を実行した結果、クラスまたはサブクラスを誤って識別された入力サンプルに加えて、クラスまたはサブクラスを誤って識別される可能性の高い入力サンプルを意味する。
本実施の形態に係る物体認識方法の追加学習処理においては、学習サンプルおよび誤識別サンプルを、既に構築されているすべての決定木に入力する。そして、すべての決定木について走査し、誤識別サンプルのクラス確率が低い末端ノードに子ノードを追加する。本明細書において、誤識別サンプルは、実際に認識処理を実行した結果、クラスまたはサブクラスを誤って識別された入力サンプルに加えて、クラスまたはサブクラスを誤って識別される可能性の高い入力サンプルを意味する。
すなわち、誤識別サンプルについての識別が困難である(すなわち、信頼度が低い)と考えられる末端ノードについては、より識別の信頼度を高めるための分岐関数を追加する。なお、追加する分岐関数としては、特徴選択型および事例型のいずれかを用いることができる。これらの分岐関数の具体的な内容については、後述する。
図16は、本実施の形態に係る物体認識方法における追加学習処理を説明する図である。図16(a)を参照して、学習処理によって構築された決定木60に対して、正しいラベルが付与されている誤識別サンプルを入力する。図16(a)に示す例では、誤識別サンプルは末端ノード54−2に到達したとする。末端ノード54−2でのクラス尤度では、ネガティブサンプルがポジティブサンプルに比較して高くなっているとする。そこで、誤識別サンプルが到達した末端ノード54−2に分岐関数を追加することで、誤識別サンプルを学習サンプルから分離する。
図16(b)には、末端ノード54−2が通常のノードに変化し、その子ノードとして、末端ノード55−1および55−2が追加されている例を示す。このように、子ノードを追加することで、決定木群の識別性能を高めることができる。
誤識別サンプルが到達した末端ノードのうち、誤識別サンプルのクラス確率が高い場合には、その末端ノードに子ノードを追加しないようにしてもよい。この場合には、学習サンプルと誤識別サンプルとの間のクラス識別は十分にできていると考えられるからである。
図17は、本実施の形態に係る物体認識方法における追加学習処理手順を示すフローチャートである。図17に示す各ステップは、典型的には、画像処理装置100のプロセッサ102が画像処理プログラムを実行することで実現される。
図17を参照して、画像処理装置100は、追加学習処理に用いられる学習サンプルおよび誤識別サンプルを取得する(ステップS202)。画像処理装置100は、取得した学習サンプルおよび誤識別サンプルの各々を、構築済みの決定木群のそれぞれに入力し、各サンプルがそれぞれの決定木において到達する末端ノードを特定する(ステップS204)。すなわち、ステップS202およびS204において、画像処理装置100は、学習サンプル(部分学習画像)、および入力サンプル(部分入力画像)のうち誤識別サンプル(誤識別されたまたは誤識別される可能性の高い入力サンプル)を、決定木群に与えて、各サンプルをいずれかの末端ノードに到達するまで順次分岐させることで、各サンプルが到達する末端ノードを特定する。
続いて、画像処理装置100は、各決定木において、誤識別サンプルが到達した末端ノードにおける誤識別サンプルのクラス確率が予め定められた条件に適合するか否かを判断する(ステップS206)。誤識別サンプルのクラス確率が予め定められた条件に適合しない場合(ステップS206においてYESの場合)には、画像処理装置100は、分岐関数を決定し(ステップS208)、決定した分岐関数によって生成された子ノードについての重みを更新する(ステップS210)。
生成された子ノードについての重みを更新した後(ステップS210の後)、または、誤識別サンプルのクラス確率が予め定められた条件に適合しない場合(ステップS206においてYESの場合)には、画像処理装置100は、対象の決定木において、誤識別サンプルが到達したすべての末端ノードについての評価が完了したか否かを判断する(ステップS212)。誤識別サンプルが到達したすべての末端ノードについての評価が完了していなければ(ステップS212においてNOの場合)、画像処理装置100は、誤識別サンプルが到達した別の末端ノードを選択し(ステップS214)、ステップS206以下の処理を繰り返す。
すなわち、ステップS206〜S214において、画像処理装置100は、誤識別サンプルが到達した末端ノードにおける学習サンプル(部分学習画像)と誤識別サンプル(部分入力画像)との識別確率に応じて、当該末端ノードから分岐する子ノードを追加する。
誤識別サンプルが到達したすべての末端ノードについての評価が完了していれば(ステップS212においてYESの場合)、画像処理装置100は、構築されている決定木群に含まれるすべての決定木についての評価が完了したか否かを判断する(ステップS216)。構築されている決定木群に含まれるすべての決定木についての評価が完了していなければ(ステップS216においてNOの場合)、画像処理装置100は、構築されている決定木群に含まれる別の決定木を選択し(ステップS218)、ステップS206以下の処理を繰り返す。
構築されている決定木群に含まれるすべての決定木についての評価が完了していれば(ステップS216においてYESの場合)、画像処理装置100は、追加学習処理を終了する。
(g2:誤識別サンプルの収集およびラベル付与)
追加学習処理をするためには、実際の認識処理の結果得られる誤識別サンプルを収集する必要がある。実際の認識処理の対象となるワークには、ラベル(教師信号)が与えられていないため、認識結果を目視などで確認して、誤識別サンプルを収集することが好ましい。しかしながら、このような目視による誤識別サンプルの収集という手法には、高い人的コストを要するため、Vote Entropyを評価して、誤識別サンプルを自動的に収集するようにしてもよい。Vote Entropyは、アンサンブル識別器における識別結果の信頼度を示す。Vote Entropyの値VE(x)は、以下の(10)式のように定義される。
追加学習処理をするためには、実際の認識処理の結果得られる誤識別サンプルを収集する必要がある。実際の認識処理の対象となるワークには、ラベル(教師信号)が与えられていないため、認識結果を目視などで確認して、誤識別サンプルを収集することが好ましい。しかしながら、このような目視による誤識別サンプルの収集という手法には、高い人的コストを要するため、Vote Entropyを評価して、誤識別サンプルを自動的に収集するようにしてもよい。Vote Entropyは、アンサンブル識別器における識別結果の信頼度を示す。Vote Entropyの値VE(x)は、以下の(10)式のように定義される。
但し、Tは決定木の数、V(ym)は、ラベルymと予測した決定木の数を示す。このVote Entropyの値が高い入力サンプルについては、決定木群による識別が曖昧であると判断することできるので、Vote Entropyの値が予め定められたしきい値以上である入力サンプルを自動的に収集し、当該自動的に収集した入力サンプルに対して、目視にて正しいラベルを付与することで、追加学習処理に使用する誤識別サンプルを生成する。
(g3:特徴選択型の分岐関数)
子ノードの追加に用いられる特徴選択型の分岐関数は、参照する特徴次元およびそのしきい値を、ランダムに選択した候補の中から得られる情報利得に基づいて選択する手法である。特徴量Fの算出には、Haar−likeフィルタを用いることができる。また、分岐関数としては、Haar−likeフィルタのフィルタパターン、サイズ、位置を選択する。また、分岐関数としては、以下の(11)式のように定義される。
子ノードの追加に用いられる特徴選択型の分岐関数は、参照する特徴次元およびそのしきい値を、ランダムに選択した候補の中から得られる情報利得に基づいて選択する手法である。特徴量Fの算出には、Haar−likeフィルタを用いることができる。また、分岐関数としては、Haar−likeフィルタのフィルタパターン、サイズ、位置を選択する。また、分岐関数としては、以下の(11)式のように定義される。
但し、F(x)は入力サンプルからHaar−likeフィルタにより特徴抽出した値を示し、τはしきい値を示す。
(g4:事例型の分岐関数)
子ノードの追加に用いられる事例型の分岐関数では、誤識別サンプルより選択されたテンプレートを事例として用いる。事例型の分岐関数は、ある誤識別サンプルをテンプレートとして、同じ末端ノードの学習サンプルと誤識別サンプルとの距離を計算し、最も距離が近く、かつ、クラスの異なるサンプルとの中間点をしきい値として決定し、分岐関数を決定する。追加学習後に、誤識別サンプルが存在する場合にはさらに追加学習を行なう。距離計算には、ユークリッド距離を使用する。テンプレートとしきい値との組み合わせを情報利得に基づいて選択する。分岐関数としては、以下の(12)式のように定義される。
子ノードの追加に用いられる事例型の分岐関数では、誤識別サンプルより選択されたテンプレートを事例として用いる。事例型の分岐関数は、ある誤識別サンプルをテンプレートとして、同じ末端ノードの学習サンプルと誤識別サンプルとの距離を計算し、最も距離が近く、かつ、クラスの異なるサンプルとの中間点をしきい値として決定し、分岐関数を決定する。追加学習後に、誤識別サンプルが存在する場合にはさらに追加学習を行なう。距離計算には、ユークリッド距離を使用する。テンプレートとしきい値との組み合わせを情報利得に基づいて選択する。分岐関数としては、以下の(12)式のように定義される。
但し、Dはテンプレートと入力サンプルとの距離を示し、τはしきい値を示す。また、事例型の分岐関数のしきい値は、以下の(13)式のように定義される。
但し、diはテンプレートとクラスの異なる学習サンプルのうちで最も距離の近いサンプルを示し、Tはテンプレートを示す。
<H.利点>
本実施の形態に係る物体認識方法は、クラスを識別するための入力サンプル、および、クラス内をさらにサブクラスに識別するための入力サンプルを用いて、一度に学習処理を行なって決定木群を構築できるとともに、共通の決定木群を用いて一度の認識処理によって、クラス判別およびサブクラス判別を同時に行なうことができる。そのため、学習処理および認識処理に要する時間および人的コストを低減できる。
本実施の形態に係る物体認識方法は、クラスを識別するための入力サンプル、および、クラス内をさらにサブクラスに識別するための入力サンプルを用いて、一度に学習処理を行なって決定木群を構築できるとともに、共通の決定木群を用いて一度の認識処理によって、クラス判別およびサブクラス判別を同時に行なうことができる。そのため、学習処理および認識処理に要する時間および人的コストを低減できる。
より具体的な効果として、入力画像内に検出対象が含まれているか否かを判定するとともに、当該入力画像内に含まれる検出対象が予め定められた条件に適合するか否か(認識されたワークがおかれた状況)を並列的に判定することができる。また、入力画像内に含まれる検出対象が予め定められた条件に適合するか否かを判定するためのルールを目視などによって決定する必要がなく、これらのルール決定に係る人的コストを低減できる。
また、本実施の形態に係る物体認識方法は、構築された決定木群を用いた認識処理において誤識別を生じる場合(あるいは、誤識別を生じる可能性が高い場合)には、当該決定木群を追加学習することができ、このような誤識別が発生する可能性を低減できる。
<I.その他の実施の形態>
本実施の形態に係る物体認識方法に含まれるコンセプトの一つは、ネガティブサンプルと類似したポジティブサンプルの重みを相対的に低くし、また、サブクラス1と類似したサブクラス2の重み(および、サブクラス2と類似したサブクラス1の重み)を相対的に低くすればよい。そのための重みの数学的な処理については任意に採用できる。すなわち、ネガティブサンプルと類似していないポジティブサンプルの重みを相対的に高くするようにし、あるいは、サブクラス1と類似していないサブクラス2の重み(および、サブクラス2と類似していないサブクラス1の重み)を相対的に高くするようにしてもよい。
本実施の形態に係る物体認識方法に含まれるコンセプトの一つは、ネガティブサンプルと類似したポジティブサンプルの重みを相対的に低くし、また、サブクラス1と類似したサブクラス2の重み(および、サブクラス2と類似したサブクラス1の重み)を相対的に低くすればよい。そのための重みの数学的な処理については任意に採用できる。すなわち、ネガティブサンプルと類似していないポジティブサンプルの重みを相対的に高くするようにし、あるいは、サブクラス1と類似していないサブクラス2の重み(および、サブクラス2と類似していないサブクラス1の重み)を相対的に高くするようにしてもよい。
上述の説明では、「重み」が低いほど影響を低減するという前提で説明したが、「重み」の概念については、上述の説明とは逆の概念で用いてもよい。すなわち、「重み」が高いほど、投票処理の対象にはしないという概念であってもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 画像処理システム、2 撮像装置、4 ワーク、10 入力画像、12 ワーク認識、13 認識処理、14 把持判定、16 把持動作、20 ポジティブ画像、21,23,25 ポジティブパッチ、22,24 学習画像、30 ネガティブ画像、31 ネガティブパッチ、42,44 投票結果、50 ルートノード、51−1,51−2,52−1,52−2,52−3,52−4 ノード、54−1〜54−N,55−1,55−2 末端ノード、60 決定木、62 サブセット、100 画像処理装置、102 プロセッサ、104 主メモリ、108 画像処理プログラム、110 ネットワークインターフェイス、112 画像入力インターフェイス、114 入力部、116 表示部、118 出力インターフェイス、120 内部バス、200 ピッキングロボット。
Claims (8)
- 学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築するステップを備え、
前記複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第1のサンプルと、前記検出対象のうち前記予め定められた条件に適合しない部分を示す第2のサンプルと、非検出対象を示す第3のサンプルとを含み、
前記決定木群を構築するステップは、
末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定するステップと、
前記決定されたそれぞれの分岐関数に従って、前記部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、前記第1のサンプルおよび前記第2のサンプルの合計と前記第3のサンプルとの割合を示す第1の確率、および、前記第1のサンプルと前記第2のサンプルとの割合を示す第2の確率、を決定するステップとを含み、さらに
入力画像から得られた複数の部分入力画像が前記決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第1の確率に基づいて、前記入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第2の確率に基づいて、前記入力画像内に含まれる検出対象が前記予め定められた条件に適合するか否かを判定するステップを備える、画像処理方法。 - 前記決定木群を構築するステップは、末端ノードではない各ノードにおいて、前記決定された分岐関数に従って与えられた複数の部分学習画像をいずれかの子ノードにそれぞれ分類した結果に基づいて、各ノードについての、前記検出対象と前記非検出対象との識別能力を示す第1の重み、および、前記第1のサンプルと前記第2のサンプルとの識別能力を示す第2の重みをそれぞれ決定するステップをさらに含む、請求項1に記載の画像処理方法。
- 前記決定木群を構築するステップは、前記決定された分岐関数に従って与えられた複数の部分学習画像をいずれかの子ノードにそれぞれ分類したときに、前記第1のサンプルおよび前記第2のサンプルが同一の子ノードに分類されている割合が高いほど、前記第1のサンプルと前記第2のサンプルとの識別能力を示す重みを低くするステップをさらに含む、請求項1に記載の画像処理方法。
- 前記部分学習画像、および前記部分入力画像のうち誤識別されたまたは誤識別される可能性の高い部分入力画像を、前記決定木群に与えて、各画像をいずれかの末端ノードに到達するまで順次分岐させることで、各画像が到達する末端ノードを特定するステップと、
前記部分入力画像が到達した末端ノードにおける前記部分学習画像と前記部分入力画像との識別確率に応じて、当該末端ノードから分岐する子ノードを追加するステップとをさらに備える、請求項1〜3のいずれか1項に記載の画像処理方法。 - 互いに近傍にある領域から抽出された前記検出対象を示す複数の部分学習画像を単一のグループに設定するステップをさらに備え、
前記決定木群を構築するステップは、同一のグループに属する複数の部分学習画像に対して共通して重みを決定するステップを含む、請求項1〜4のいずれか1項に記載の画像処理方法。 - 前記学習画像を所定角度ずつ回転させて複数の学習画像を生成するとともに、生成した複数の学習画像から複数の部分学習画像を抽出するステップをさらに備える、請求項1〜5のいずれか1項に記載の画像処理方法。
- 学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築する手段を備え、
前記複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第1のサンプルと、前記検出対象のうち前記予め定められた条件に適合しない部分を示す第2のサンプルと、非検出対象を示す第3のサンプルとを含み、
前記決定木群を構築する手段は、
末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定する手段と、
前記決定されたそれぞれの分岐関数に従って、前記部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、前記第1のサンプルおよび前記第2のサンプルの合計と前記第3のサンプルとの割合を示す第1の確率、および、前記第1のサンプルと前記第2のサンプルとの割合を示す第2の確率、を決定する手段とを含み、さらに
入力画像から得られた複数の部分入力画像が前記決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第1の確率に基づいて、前記入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第2の確率に基づいて、前記入力画像内に含まれる検出対象が前記予め定められた条件に適合するか否かを判定する手段を備える、画像処理装置。 - コンピュータで実行される画像処理プログラムであって、前記画像処理プログラムは、前記コンピュータに、
学習画像から得られた複数の部分学習画像を用いて、ルートノードから複数の末端ノードまでの階層構造を有する決定木群を構築するステップを実行させ、
前記複数の部分学習画像は、検出対象のうち予め定められた条件に適合する部分を示す第1のサンプルと、前記検出対象のうち前記予め定められた条件に適合しない部分を示す第2のサンプルと、非検出対象を示す第3のサンプルとを含み、
前記決定木群を構築するステップは、
末端ノードではない各ノードについて、与えられた部分学習画像が、当該ノードから分岐する子ノードのうちいずれに分類されるべきかを示す分岐関数をそれぞれ決定するステップと、
前記決定されたそれぞれの分岐関数に従って、前記部分学習画像の各々をいずれかの末端ノードに到達するまで順次分岐させることで、各末端ノードについて、前記第1のサンプルおよび前記第2のサンプルの合計と前記第3のサンプルとの割合を示す第1の確率、および、前記第1のサンプルと前記第2のサンプルとの割合を示す第2の確率、を決定するステップとを含み、さらに
入力画像から得られた複数の部分入力画像が前記決定木群に与えられたときの、各部分入力画像がそれぞれ到達する末端ノードについての第1の確率に基づいて、前記入力画像内に検出対象が含まれているか否かを判定するとともに、当該それぞれの末端ノードについての第2の確率に基づいて、前記入力画像内に含まれる検出対象が前記予め定められた条件に適合するか否かを判定するステップを実行させる、画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014240234A JP2016103094A (ja) | 2014-11-27 | 2014-11-27 | 画像処理方法、画像処理装置、および画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014240234A JP2016103094A (ja) | 2014-11-27 | 2014-11-27 | 画像処理方法、画像処理装置、および画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016103094A true JP2016103094A (ja) | 2016-06-02 |
Family
ID=56088963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014240234A Pending JP2016103094A (ja) | 2014-11-27 | 2014-11-27 | 画像処理方法、画像処理装置、および画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016103094A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018045516A (ja) * | 2016-09-15 | 2018-03-22 | 三菱重工業株式会社 | 分類装置、分類方法およびプログラム |
WO2018105433A1 (ja) * | 2016-12-05 | 2018-06-14 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、情報処理方法、およびプログラム |
JP2019046095A (ja) * | 2017-08-31 | 2019-03-22 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
JP2019520656A (ja) * | 2016-06-21 | 2019-07-18 | ヴァイケーリアス エフピーシー, インコーポレイテッドVicarious FPC, Inc. | 再帰的皮質ネットワークのためのシステムおよび方法 |
JP2020080022A (ja) * | 2018-11-12 | 2020-05-28 | 富士通株式会社 | 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置 |
JP2020535557A (ja) * | 2017-09-29 | 2020-12-03 | 株式会社ソニー・インタラクティブエンタテインメント | 自律型パーソナルコンパニオンのモジュール階層視覚システム |
JPWO2021010298A1 (ja) * | 2019-07-12 | 2021-01-21 | ||
US11200695B2 (en) | 2016-12-05 | 2021-12-14 | Sony Interactive Entertainment Inc. | System, jig, information processing device, information processing method, and program |
WO2023166773A1 (ja) * | 2022-03-04 | 2023-09-07 | 株式会社日立製作所 | 画像分析システム、画像分析方法、及びプログラム |
-
2014
- 2014-11-27 JP JP2014240234A patent/JP2016103094A/ja active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019520656A (ja) * | 2016-06-21 | 2019-07-18 | ヴァイケーリアス エフピーシー, インコーポレイテッドVicarious FPC, Inc. | 再帰的皮質ネットワークのためのシステムおよび方法 |
JP2018045516A (ja) * | 2016-09-15 | 2018-03-22 | 三菱重工業株式会社 | 分類装置、分類方法およびプログラム |
US11200695B2 (en) | 2016-12-05 | 2021-12-14 | Sony Interactive Entertainment Inc. | System, jig, information processing device, information processing method, and program |
WO2018105433A1 (ja) * | 2016-12-05 | 2018-06-14 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、情報処理方法、およびプログラム |
JP2018092448A (ja) * | 2016-12-05 | 2018-06-14 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、情報処理方法、およびプログラム |
US10902629B2 (en) | 2016-12-05 | 2021-01-26 | Sony Interactive Entertainment Inc. | Information processing device, information processing method, and program |
JP2019046095A (ja) * | 2017-08-31 | 2019-03-22 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
JP7197971B2 (ja) | 2017-08-31 | 2022-12-28 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
JP2020535557A (ja) * | 2017-09-29 | 2020-12-03 | 株式会社ソニー・インタラクティブエンタテインメント | 自律型パーソナルコンパニオンのモジュール階層視覚システム |
JP7028966B2 (ja) | 2017-09-29 | 2022-03-02 | 株式会社ソニー・インタラクティブエンタテインメント | 自律型パーソナルコンパニオンのモジュール階層視覚システム |
JP7135749B2 (ja) | 2018-11-12 | 2022-09-13 | 富士通株式会社 | 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置 |
JP2020080022A (ja) * | 2018-11-12 | 2020-05-28 | 富士通株式会社 | 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置 |
WO2021010298A1 (ja) * | 2019-07-12 | 2021-01-21 | 株式会社Roms | 物品管理システム、物流システム、サーバ機器、及び物品管理方法 |
JPWO2021010298A1 (ja) * | 2019-07-12 | 2021-01-21 | ||
JP7212910B2 (ja) | 2019-07-12 | 2023-01-26 | 株式会社Roms | 物品管理システム、物流システム、サーバ機器、及び物品管理方法 |
WO2023166773A1 (ja) * | 2022-03-04 | 2023-09-07 | 株式会社日立製作所 | 画像分析システム、画像分析方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016103094A (ja) | 画像処理方法、画像処理装置、および画像処理プログラム | |
Wicker et al. | Robustness of 3d deep learning in an adversarial setting | |
JP6395481B2 (ja) | 画像認識装置、方法及びプログラム | |
CN108108657B (zh) | 基于多任务深度学习的修正局部敏感哈希车辆检索方法 | |
CN113095438B (zh) | 晶圆缺陷分类方法及其装置、***、电子设备和存储介质 | |
EP2431918B1 (en) | Graph lattice method for image clustering, classification, and repeated structure finding | |
CN111488911B (zh) | 基于Mask R-CNN与GAN的图像实体抽取方法 | |
CN111539422B (zh) | 基于Faster RCNN的飞行目标协同识别方法 | |
Pomares et al. | Ground extraction from 3D lidar point clouds with the classification learner app | |
Kriminger et al. | Online active learning for automatic target recognition | |
TW202038110A (zh) | 分類半導體樣本中的缺陷 | |
CN112861785A (zh) | 一种基于实例分割和图像修复的带遮挡行人重识别方法 | |
JP2015232805A (ja) | 画像処理方法、画像処理装置、および画像処理プログラム | |
Xiang et al. | Segmentation-based classification for 3D urban point clouds | |
US11507780B2 (en) | Image analysis device, image analysis method, and image analysis program | |
CN112288809B (zh) | 一种用于多物体复杂场景的机器人抓取检测方法 | |
CN116703895B (zh) | 基于生成对抗网络的小样本3d视觉检测方法及其*** | |
Dionelis et al. | Few-shot adaptive detection of objects of concern using generative models with negative retraining | |
CN115861956A (zh) | 一种基于解耦头部的Yolov3道路垃圾检测方法 | |
US11741153B2 (en) | Training data acquisition apparatus, training apparatus, and training data acquiring method | |
Mishne et al. | Multi-channel wafer defect detection using diffusion maps | |
Khan et al. | Interactive perception based on gaussian process classification for house-hold objects recognition & sorting | |
CN113392579A (zh) | 基于因果模型的主效应因素分析方法及设备 | |
Du et al. | Shape matching and recognition base on genetic algorithm and application to plant species identification | |
Grollman et al. | Discovering natural kinds of robot sensory experiences in unstructured environments |