(57)【要約】【課題】  画像中の対象物体の位置の指定に係る負荷を軽減させるための技術を提供すること。【解決手段】  入力画像上における対象物体の位置として認識器が認識した複数の認識位置を取得する。複数の認識位置に対してクラスタリングを行うことで１以上の代表位置を求める。代表位置に対するユーザからの編集指示に応じて該代表位置を編集する。入力画像と代表位置とを認識器の学習に用いるための学習データとして保存する。【選択図】  図１
2019036167.tif 000002
【特許請求の範囲】
【請求項１】
入力画像上における対象物体の位置として認識器が認識した複数の認識位置を取得する取得手段と、
前記複数の認識位置に対してクラスタリングを行うことで１以上の代表位置を求める計算手段と、
前記代表位置に対するユーザからの編集指示に応じて該代表位置を編集する編集手段と、
前記入力画像と前記代表位置とを前記認識器の学習に用いるための学習データとして保存する保存手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記取得手段は、前記入力画像上の各画素位置のうち前記対象物体の位置として前記認識器が認識した複数の画素位置を前記複数の認識位置として取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記取得手段は、前記入力画像上の画素位置を含む画像領域内の画像を入力した前記認識器からの出力が、該画像領域内に前記対象物体が写っていることを示す場合に、該画素位置を前記認識位置として取得することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記計算手段は、前記複数の認識位置に対してクラスタリングを行うことで該複数の認識位置を予め定められたクラス数のクラスに分類し、該クラスに属する認識位置に基づいて該クラスに対応する代表位置を求めることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
更に、ユーザによる指示に応じて前記クラス数を設定する設定手段を備えることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記計算手段は、前記クラスに属する認識位置の平均位置を該クラスに対応する代表位置として求めることを特徴とする請求項４又は５に記載の画像処理装置。
【請求項７】
前記計算手段は、前記クラスに属する認識位置の中央値を該クラスに対応する代表位置として求めることを特徴とする請求項４又は５に記載の画像処理装置。
【請求項８】
前記計算手段は、前記クラスに属する認識位置をガウス分布に当てはめた際のピーク位置を該クラスに対応する代表位置として求めることを特徴とする請求項４又は５に記載の画像処理装置。
【請求項９】
更に、
前記クラスに対する信頼度を求める算出手段を備え、
前記編集手段は、前記信頼度が閾値未満となるクラスの数が規定数以上、若しくは全クラス数に対する前記信頼度が閾値未満となるクラスの数の割合が規定数以上となった場合に動作することを特徴とする請求項４乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
前記算出手段は、前記クラスに属する認識位置の数に応じて該クラスに対する信頼度を求めることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記算出手段は、前記クラスに属する認識位置に対応する前記認識器の出力に応じて該クラスに対する信頼度を求めることを特徴とする請求項９に記載の画像処理装置。
【請求項１２】
前記算出手段は、前記クラスに属する認識位置と該クラスに対応する代表位置との間の距離に応じて該クラスに対する信頼度を求めることを特徴とする請求項９に記載の画像処理装置。
【請求項１３】
前記編集手段は、前記入力画像上に前記代表位置を示す情報を重ねて表示し、該代表位置に対するユーザからの編集操作を受け付けることを特徴とする請求項１乃至１２の何れか１項に記載の画像処理装置。
【請求項１４】
前記編集手段は、前記入力画像上に前記代表位置を示す情報と前記信頼度を示す情報とを重ねて表示し、該代表位置に対するユーザからの編集操作を受け付けることを特徴とする請求項９乃至１２の何れか１項に記載の画像処理装置。
【請求項１５】
前記編集手段は、前記入力画像上に前記信頼度が閾値以上となるクラスの代表位置を示す情報を重ねて表示し、該代表位置に対するユーザからの編集操作を受け付けることを特徴とする請求項９乃至１２の何れか１項に記載の画像処理装置。
【請求項１６】
前記編集手段は、前記代表位置に対するユーザからの移動の指示に応じて該代表位置を移動させることを特徴とする請求項１乃至１５の何れか１項に記載の画像処理装置。
【請求項１７】
前記編集手段は、前記代表位置に対するユーザからの削除の指示に応じて該代表位置を削除することを特徴とする請求項１乃至１６の何れか１項に記載の画像処理装置。
【請求項１８】
前記編集手段は、ユーザからの新たな代表位置の追加の指示に応じて代表位置を追加することを特徴とする請求項１乃至１７の何れか１項に記載の画像処理装置。
【請求項１９】
更に、
前記保存手段が保存した学習データを用いて前記認識器の学習を行う学習手段を備えることを特徴とする請求項１乃至１８の何れか１項に記載の画像処理装置。
【請求項２０】
更に、
前記認識器を前記学習を行った認識器に更新する更新手段を備えることを特徴とする請求項１９に記載の画像処理装置。
【請求項２１】
前記更新手段は、学習の前の認識器に対する評価値が学習後の認識器に対する評価値よりも高い場合に、該学習の前の認識器を該学習後の認識器に更新することを特徴とする請求項２０に記載の画像処理装置。
【請求項２２】
入力画像上における対象物体の位置姿勢として認識器が認識した複数の認識位置姿勢を取得する取得手段と、
前記複数の認識位置姿勢に対してクラスタリングを行うことで１以上の代表位置姿勢を求める計算手段と、
前記代表位置姿勢に対するユーザからの編集指示に応じて該代表位置姿勢を編集する編集手段と、
前記入力画像と前記代表位置姿勢とを前記認識器の学習に用いるための学習データとして保存する保存手段と
を備えることを特徴とする画像処理装置。
【請求項２３】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、入力画像上における対象物体の位置として認識器が認識した複数の認識位置を取得する取得工程と、
前記画像処理装置の計算手段が、前記複数の認識位置に対してクラスタリングを行うことで１以上の代表位置を求める計算工程と、
前記画像処理装置の編集手段が、前記代表位置に対するユーザからの編集指示に応じて該代表位置を編集する編集工程と、
前記画像処理装置の保存手段が、前記入力画像と前記代表位置とを前記認識器の学習に用いるための学習データとして保存する保存工程と
を備えることを特徴とする画像処理方法。
【請求項２４】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、入力画像上における対象物体の位置姿勢として認識器が認識した複数の認識位置姿勢を取得する取得工程と、
前記画像処理装置の計算手段が、前記複数の認識位置姿勢に対してクラスタリングを行うことで１以上の代表位置姿勢を求める計算工程と、
前記画像処理装置の編集手段が、前記代表位置姿勢に対するユーザからの編集指示に応じて該代表位置姿勢を編集する編集工程と、
前記画像処理装置の保存手段が、前記入力画像と前記代表位置姿勢とを前記認識器の学習に用いるための学習データとして保存する保存工程と
を備えることを特徴とする画像処理方法。
【請求項２５】
コンピュータを、請求項１乃至２２の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像認識に係る技術に関するものである。
【背景技術】
【０００２】
従来、対象物体を撮影したカラー画像やデプス画像から特徴やパターンを学習し、対象物体を認識する手法がある。このような手法では、特徴やパターンを学習するために、カラー画像やデプス画像に対して、人間がどの対象物体が写っているかを指定したり、対象物体が写っている位置や位置姿勢を指定する（以下では「ラベル付け」と称する）必要がある。学習にはこのようなデータを大量に用意しなければならないが、人間が全てのラベル付けを正確に行うのは難しいという問題がある。
【０００３】
このような問題を解決するために、特許文献１のように、「現状の認識器による認識結果の修正」、「修正したデータを用いた認識器の学習・更新」を繰り返すことによって、認識器の精度を高めていく方法がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５９５３１５１号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、対象物体が写っている位置や位置姿勢を認識する認識器の場合、画像内の大量の画素が認識結果として出力され得るため、人間が各認識結果を修正するコストが高いという問題がある。
【０００６】
本発明はこのような問題に鑑みてなされたものであり、画像中の対象物体の位置の指定に係る負荷を軽減させるための技術を提供する。
【課題を解決するための手段】
【０００７】
本発明の一様態は、入力画像上における対象物体の位置として認識器が認識した複数の認識位置を取得する取得手段と、前記複数の認識位置に対してクラスタリングを行うことで１以上の代表位置を求める計算手段と、前記代表位置に対するユーザからの編集指示に応じて該代表位置を編集する編集手段と、前記入力画像と前記代表位置とを前記認識器の学習に用いるための学習データとして保存する保存手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明の構成によれば、画像中の対象物体の位置の指定に係る負荷を軽減させることができる。
【図面の簡単な説明】
【０００９】
【図１】物体認識装置の機能構成例を示すブロック図。
【図２】物体認識処理のフローチャート。
【図３】認識部１０２及び分類部１０３の処理を説明する図。
【図４】画面の表示例を示す図。
【図５】ユーザによるラベルの編集について説明する図。
【図６】物体認識装置の機能構成例を示すブロック図。
【図７】ステップＳ２及びＳ３における処理の詳細を示すフローチャート。
【図８】物体認識装置の機能構成例を示すブロック図。
【図９】ステップＳ２及びＳ３における処理の詳細を示すフローチャート。
【図１０】位置だけでなく姿勢も認識する場合の処理を説明する図。
【図１１】コンピュータ装置のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１１】
［第１の実施形態］
本実施形態に係る画像処理装置は、入力画像に対して認識器を用いて認識した対象物体の認識位置をクラスタリングし、該クラスタリングにより得られる該認識位置の代表位置をラベルとしてユーザの修正対象にするラベル付け機能を有するものである。このような機能により、ユーザは全ての認識位置を確認、修正する必要が無くなり、代表位置に基づくラベルを確認、修正すればよいため、ラベル付けの手間が低減される。ここで、ラベルとは、画像中の対象物体の位置または位置姿勢に関する情報を意味しており、ラベルは認識器を構築するための教師データに利用される。
【００１２】
先ず、本実施形態に係る物体認識装置の機能構成例について、図１のブロック図を用いて説明する。図１に示す如く、本実施形態に係る物体認識装置１０００は、撮像装置１、表示装置２、操作装置３、画像処理装置１１００、を有する。
【００１３】
先ず、撮像装置１について説明する。撮像装置１は、静止画像若しくは動画像を撮像する装置である。撮像画像は特定の画像に限らず、カラー画像（例えばＲＧＢ画像）であっても良いし、モノクロ画像であっても良いし、赤外線画像であっても良いし、深度情報であるデプス画像であっても良い。撮像装置１によって撮像された撮像画像は画像処理装置１１００に対して送出される。
【００１４】
次に、表示装置２について説明する。表示装置２は、ＣＲＴや液晶画面等により構成されており、画像処理装置１１００による処理結果を画像や文字などでもって表示することができる。なお、表示装置２はタッチパネル画面であってもよく、この場合、タッチパネル画面に対するユーザからの各種の操作の内容は操作情報として画像処理装置１１００に対して送出される。
【００１５】
次に、操作装置３について説明する。操作装置３は、マウスやキーボードなどのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示を画像処理装置１１００に対して入力することができる。以下では、操作装置３はマウスであるものとして説明するが、以下に説明する同様の指示を画像処理装置１１００に入力可能なユーザインターフェースであれば、如何なるユーザインターフェースを操作装置３に適用しても良い。
【００１６】
次に、画像処理装置１１００について説明する。画像取得部１０１は、撮像装置１から送出された撮像画像を取得する。なお、撮像画像の取得元は撮像装置１に限らず、ＬＡＮやインターネットなどのネットワークを介してデータベース、サーバ装置、タブレット端末機器、スマートフォンなどの機器から撮像画像を取得するようにしても良い。然るに撮像画像は撮像装置１によって撮像された撮像画像であっても良いし、公開されている画像データベースに登録されている画像であっても良いし、Ｗｅｂにアップロードされている画像であっても良い。
【００１７】
認識部１０２は先ず、認識器記憶部１０８に保存されているＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）（認識器）のモデル構造とＣＮＮのパラメータとを用いてＣＮＮを構成する。そして認識部１０２は、画像取得部１０１が取得した撮像画像に対して該構成したＣＮＮを適用することで、該撮像画像における対象物体の位置を認識位置として認識する。
【００１８】
分類部１０３は、認識部１０２が認識した認識位置をクラスタリングすることで該認識位置を１以上のクラスに分類し、該クラスに属する認識位置に基づいて該クラスに対応する代表位置（ラベル）を求める（計算する）。
【００１９】
操作受付部１０４は、ユーザが操作装置３を操作したことで入力した操作内容に対応する命令を入力部１０５に送出する。入力部１０５は、操作受付部１０４から受けた命令に基づいて、上記の代表位置の編集（ラベル付け）を行う。そして入力部１０５は、撮像画像と代表位置とを上記のＣＮＮの学習に用いる学習データとして記憶部１０６に格納する。
【００２０】
学習部１０７は、記憶部１０６に格納されている学習データを用いて教師データを作成する。そして学習部１０７は、認識器記憶部１０８に保存されているＣＮＮのモデル構造とＣＮＮのパラメータとを用いてＣＮＮを構成し、上記作成した教師データを用いて、該構成したＣＮＮのパラメータの学習処理を行う。そして学習部１０７は、認識器記憶部１０８に格納されているＣＮＮのパラメータを、該学習処理によって得られたパラメータに更新する。
【００２１】
認識器記憶部１０８は、ＣＮＮのモデル構造やパラメータを保持している。本実施形態では、ＣＮＮのモデル構造は、撮像画像を入力とし、コンボリューション層や全結合層、Ｓｏｆｔｍａｘ層を経て、該撮像画像における各画像領域内に対象物体が写っているか否かの２クラス判別を出力するモデルとして設計されているとする。ここで、ＣＮＮのパラメータとは、コンボリューション層や全結合層内の各々の重みのことを指している。
【００２２】
制御部１９９は、画像取得部１０１、認識部１０２、分類部１０３、学習部１０７、操作受付部１０４、入力部１０５、の各機能部の動作制御を行うと共に、画像処理装置１１００全体の動作制御を行う。
【００２３】
なお、図１では、撮像装置１、表示装置２、操作装置３、画像処理装置１１００はそれぞれ別個の装置として示しているが、このうち２つ以上の機器を１つの機器に一体化させても良い。
【００２４】
次に、画像処理装置１１００による物体認識処理について、図２（ａ）のフローチャートに従って説明する。ステップＳ１では、制御部１９９は、ＣＮＮ（認識器）の学習が必要であるか否かを判断する。ＣＮＮの学習が必要であるか否かを判断する条件は特定の条件に限らない。例えば制御部１９９は、ユーザが操作装置３を操作してＣＮＮの学習指示を入力したことを検知した場合には、ＣＮＮの学習が必要であると判断する。また、制御部１９９は、例えば、規定のタイミングごと若しくは規定の条件が満たされるたびに、ＣＮＮの学習が必要であると判断する。
【００２５】
このような判断の結果、ＣＮＮの学習が必要であると判断した場合には、処理はステップＳ２に進む。一方、ＣＮＮの学習が必要であると判断していない場合には、処理はステップＳ４に進む。
【００２６】
ステップＳ２では、上記のようにして学習データを生成して記憶部１０６に格納する。そしてステップＳ３では、学習データを用いて教師データを作成し、該教師データを用いてＣＮＮのパラメータの学習を行い、認識器記憶部１０８に格納されているＣＮＮのパラメータを該学習後のパラメータに更新する。
【００２７】
ステップＳ２及びＳ３における処理の詳細について、図２（ｂ）のフローチャートに従って説明する。図２（ｂ）においてステップＳ１１〜Ｓ１５が上記のステップＳ２において実行され、ステップＳ１６，Ｓ１７が上記のステップＳ３において実行される。
【００２８】
ステップＳ１１では、画像取得部１０１は、撮像装置１から送出された撮像画像を取得する。ステップＳ１２では、認識部１０２は先ず、認識器記憶部１０８に保存されているＣＮＮ（認識器）のモデル構造とＣＮＮのパラメータとを用いてＣＮＮを構成する。そして認識部１０２は、ステップＳ１１で画像取得部１０１が取得した撮像画像に対して該構成したＣＮＮを適用することで、該撮像画像における対象物体の位置を認識位置として認識する。
【００２９】
例えば、画像取得部１０１が図３（ａ）に示す画像３１を撮像画像として取得した場合、認識部１０２は、図３（ｂ）に示す如く、画像３１における着目画素位置３２を中心とする画像領域３３を設定する。画像領域３３は着目画素位置３２を含んでいれば良く、必ずしも着目画素位置３２を中心とする画像領域であることに限らない。そして認識部１０２は、画像領域３３内の画像を上記の構築したＣＮＮに入力して該ＣＮＮの演算処理を行うことで、該ＣＮＮの出力を求める。そして認識部１０２は、ＣＮＮの出力が「画像領域３３内に対象物体が写っている」ことを示す場合には、着目画素位置３２を画像３１における対象物体の位置（認識位置）と認識する。一方、認識部１０２は、ＣＮＮの出力が「画像領域３３内に対象物体が写っている」ことを示していない場合には、着目画素位置３２を画像３１における対象物体の位置（認識位置）とは認識しない。認識部１０２は、着目画素位置３２を点線３４で示す如くラスタスキャン順で移動させながら各画素位置について同様の処理を行うことで、画像３１上の各画素位置に対し、該画素位置を中心とする画像領域内に対象物体が写っているか否かを判断することができる。これにより、画像３１上における対象物体の位置を認識することができる。なお、画像３１上の各画素位置に対して、該画素位置を中心とする画像領域内に対象物体が写っているか否かを判断することができるのであれば、着目画素位置３２の移動順はラスタスキャン順に限らない。
【００３０】
画像３１中に写っているオブジェクトのうち円柱のオブジェクトを対象物体とした場合に、画像３１上における対象物体の認識位置に「×」のマーカ（以下、認識位置マーカと称する）を付した結果を図３（ｃ）に示す。近傍画素では似たような画像が切り抜かれることになるため、例えば認識位置マーカ群３５で示す如く、認識位置が密集することが多い。また、対象物体と似たような特徴を持つ位置は誤認識が起こりやすい。たとえば、立方体はエッジ（画像中の輝度勾配）に囲まれている点で円柱と共通しているため、例えば認識位置マーカ群３６で示す如く誤認識が起こることがある。
【００３１】
ステップＳ１３で分類部１０３は、ステップＳ１２で認識部１０２が認識した対象物体の位置（認識位置）の集合を初期集合とし、規定のクラスタリング条件に基づいて該初期集合をクラスタリングすることで、該集合に含まれる認識位置を１以上のクラスに分類する。そして分類部１０３は、分類した１以上のクラスのそれぞれについて、該クラスに属する認識位置に基づいて該クラスに対応する代表位置を求める。例えば、初期集合を特徴としてＫｍｅａｎｓアルゴリズムを用いて該初期集合をクラスタリングすると、近い認識位置が一つのクラスとしてまとめられる。そしてクラスごとに、該クラスに属する認識位置の平均位置を該クラスの代表位置とする。たとえば、図３（ｃ）に示した認識位置マーカ群の位置をクラスタリングすると５つのクラスに分類される。この分類結果を図３（ｄ）に示す。図３（ｄ）では、分類された５つのクラスのそれぞれの位置（該クラスの代表位置）に「○」のマーカ（以下、代表位置マーカと称する）を付している。代表位置マーカ３７は、認識位置マーカ群３５に対応するクラスの代表位置に位置しており、代表位置マーカ３８は、認識位置マーカ群３６に対応するクラスの代表位置に位置している。なお、クラスタリングに必要なパラメータ（クラス数、クラスとしてまとめてよい範囲（クラス範囲）など）は、ユーザによって予め指定されており、分類部１０３が保持しているものとする。
【００３２】
そして分類部１０３は、ステップＳ１で画像取得部１０１が取得した撮像画像上（入力画像上）の各クラスの代表位置に代表位置マーカを合成してから、該撮像画像を含む画面を表示装置２の表示画面に表示させる。この画面の表示例を図４に示す。画面４１において表示領域４２には、ステップＳ１で画像取得部１０１が取得した撮像画像が表示されており、この撮像画像上の各クラスの代表位置には代表位置マーカ４０１〜４０５が配されている。
【００３３】
スライダ４３は、クラスタリングに必要なパラメータを設定するためのものである。例えば、ユーザが操作装置３を操作してカーソル４４をスライダ４３の位置に移動させてからスライダ４３の位置を変更する操作を行うことでスライダ４３をより右端に近づけると、より大きいクラス数やより広いクラス範囲を指定することができる。また、ユーザが操作装置３を操作してカーソル４４をスライダ４３の位置に移動させてからスライダ４３の位置を変更する操作を行うことでスライダ４３をより左端に近づけると、より小さいクラス数やより狭いクラス範囲を指定することができる。現在指定されているクラス数やクラス範囲は領域４３ａ内に数値として表示される。なお、領域４３ａ内の数値をユーザが操作装置３を操作して直接指定することでクラス数やクラス範囲を設定しても良い。このように、クラス数やクラス範囲の指定方法は特定の指定方法に限らない。クラスタリングに必要なパラメータが新たに指定される度に分類部１０３は、該新たに指定されたパラメータを用いて上記初期集合をクラスタリングし、該クラスタリングにより得られる各クラスの代表位置に代表位置マーカを配置した撮像画像を表示領域４２内に表示する。分類部１０３は、最新の代表位置のリスト（代表位置リスト）を管理している。なお、図４の画面は、本実施形態に適用可能な画面の一例であり、このような画面に限らない。
【００３４】
次に、ステップＳ１４ａでは、操作受付部１０４は、代表位置に係る編集操作入力（編集指示）を受け付ける。ユーザが操作装置３を操作して代表位置に係る編集の操作入力を行うと、操作受付部１０４は該編集の為の命令を作成して入力部１０５に入力する。
【００３５】
ステップＳ１４ｂでは、入力部１０５は、操作受付部１０４から命令を受け取ると、該命令に応じて、分類部１０３により分類された代表位置（ラベル）、つまり、上記の代表位置リストに登録されている代表位置に係る編集処理を行う。例えばユーザは操作装置３を操作して以下のような操作を行うことで、ラベルの削除、追加、修正、といったラベル付けを実現する。
【００３６】
ここで、ユーザによるラベルの編集について、図５を用いて説明する。なお、以下に説明するユーザ操作に応じたラベルの編集処理は何れも、入力部１０５が行うものとする。
【００３７】
ユーザは操作装置３を操作してカーソル４４を代表位置マーカ４０１〜４０５のうち所望の代表位置マーカの位置に移動させて、そこで右クリック操作を行うことで、該所望の代表位置マーカを削除することができる。代表位置マーカを削除すると、上記の代表位置リストから該代表位置マーカに対応する代表位置が削除される。例えば、図５（ａ）に示す如く、表示領域４２内に表示されている撮像画像上に代表位置マーカ４０１〜４０５が配置されているとする。代表位置マーカ４０１〜４０５のうち代表位置マーカ４０１，４０３は円柱のオブジェクト、すなわち対象物体の位置を表している。しかし、代表位置マーカ４０２，４０４は円柱のオブジェクトではなく立方体のオブジェクトの位置を表しており、対象物体の位置を表していない。また、代表位置マーカ４０５はそもそも、オブジェクトの位置を表していない。このような場合、ユーザは操作装置３を操作してカーソル４４を代表位置マーカ４０２，４０４，４０５のそれぞれの位置に移動させて、そこで右クリック操作を行うことで、該代表位置マーカを削除する。その結果、代表位置マーカのレイアウトは図５（ａ）から図５（ｂ）のように変化する。図５（ｂ）では、図５（ａ）の代表位置マーカ４０１〜４０５のうち代表位置マーカ４０２，４０４，４０５が削除されている。然るにこの場合、上記の代表位置リストから代表位置マーカ４０２，４０４，４０５のそれぞれに対応する代表位置が削除され、その結果、代表位置リストには、代表位置マーカ４０１，４０３に対応する代表位置のみが登録されている状態となっている。
【００３８】
図５（ｂ）では、３つの対象物体のうち２つの対象物体のそれぞれには代表位置マーカ４０１，４０３が配されているが、残りの１つの対象物体４０６には代表位置マーカは配されていない。そこでユーザは操作装置３を操作してカーソル４４を対象物体４０６の位置に移動させてから左クリック操作を行うことで、図５（ｃ）に示す如く、該位置に新たな代表位置マーカ４１０を配置する。新たな代表位置マーカ４１０を配置した場合、上記の代表位置リストには、この代表位置マーカ４１０の配置位置が代表位置として登録される。
【００３９】
また、ユーザは操作装置３を操作してカーソル４４を所望の代表位置マーカの位置に移動させて、そこで左クリック操作を行いながらドラッグ＆ドロップ操作を行うことで、該所望の代表位置マーカの位置を移動させることができる。代表位置マーカの位置を移動させると、上記の代表位置リストにおいて該代表位置マーカの位置が移動後の位置に変更される。図５（ｃ）においてユーザが操作装置３を操作して代表位置マーカ４０３の位置を移動させた結果を図５（ｄ）に示す。
【００４０】
ステップＳ１４ｃでは、制御部１９９は、ユーザが操作装置３を操作して終了ボタン４５を指定したか否かを判断する。この判断の結果、ユーザが操作装置３を操作して終了ボタン４５を指定した場合には、処理はステップＳ１５に進む。一方、ユーザが操作装置３を操作して終了ボタン４５を指定していない場合には、処理はステップＳ１４ａに進む。
【００４１】
ステップＳ１５で入力部１０５は、代表位置リストと、ステップＳ１１で画像取得部１０１が取得した撮像画像と、をＣＮＮのパラメータの学習に用いる学習データとして記憶部１０６に格納する。また、分類部１０３は、図４の画面においてクラスタリングに必要なパラメータが変更された場合には、この変更されたパラメータを保持する。
【００４２】
ステップＳ１６では、学習部１０７は、記憶部１０６に格納されている学習データを用いて教師データを作成する。例えば学習部１０７は、認識部１０２と同様にして、学習データに含まれている撮像画像における各画素位置に対して画像領域を設定する。そして学習部１０７は、撮像画像における各画素位置に対し、該画素位置が該学習データに含まれている代表位置リストに登録されている代表位置の何れかに該当しているのか否か（正負（Ｔｒｕｅ、Ｆａｌｓｅ））、を示す符号データを生成する。ここで、「ＡがＢに該当している」とは、ＡとＢとが全く同じであることに限らず、ＡとＢとの差が規定値以内である、ことも含みうるものとする。学習部１０７は、学習データに含まれている撮像画像における着目画素位置が、該学習データに含まれている代表位置リストに登録されている代表位置の何れかに該当している場合には、該着目画素位置に対して符号データ「Ｔｒｕｅ」を割り当てる。一方、学習部１０７は、学習データに含まれている撮像画像における着目画素位置が、該学習データに含まれている代表位置リストに登録されている代表位置の何れにも該当していない場合には、該着目画素位置に対して符号データ「Ｆａｌｓｅ」を割り当てる。そして学習部１０７は、撮像画像における画素位置ごとに、該画素位置に対して設定した画像領域内の画像（学習画像）と、該画素位置に割り当てた符号データと、を関連づけて保持する教師データを生成する。
【００４３】
そして学習部１０７は、認識器記憶部１０８に保存されているＣＮＮのモデル構造とＣＮＮのパラメータとを用いてＣＮＮを構成する。学習部１０７は、該構成したＣＮＮにそれぞれの学習画像を入力することで得られる該ＣＮＮの出力が、該学習画像に対応する符号データとなるように、ディープラーニングで一般的に用いられている誤差逆伝播法でＣＮＮのパラメータを最適化する。このときのＣＮＮのパラメータの初期値として、認識器記憶部１０８に保存されているＣＮＮのパラメータを用いる。
【００４４】
ステップＳ１７では、学習部１０７は、認識器記憶部１０８に格納されているＣＮＮのパラメータを、ステップＳ１６における学習（最適化）で得られたＣＮＮのパラメータに更新する。
【００４５】
図２（ａ）に戻って次に、ステップＳ４では、画像取得部１０１は、撮像装置１から送出された撮像画像を取得する。ステップＳ５では、認識部１０２は先ず、認識器記憶部１０８に保存されているＣＮＮ（認識器）のモデル構造とＣＮＮのパラメータとを用いてＣＮＮを構成する。そして認識部１０２は、ステップＳ４で画像取得部１０１が取得した撮像画像に対して該構成したＣＮＮを適用することで、該撮像画像におけるオブジェクトの位置を認識位置として認識する。ステップＳ５において認識されたオブジェクトの認識位置の出力先は特定の出力先に限らない。例えば、図４の画面の表示領域４２にステップＳ４で取得した撮像画像を表示すると共に、ステップＳ５で認識した認識位置若しくはその近傍位置にマーカ等の情報を配置しても良い。
【００４６】
このように、本実施形態によれば、画像に対してラベル付けする際に、ユーザは現在の認識器で認識される代表位置を参考にラベル付けができるため、ユーザのラベル付けの手間が低減される。
【００４７】
＜第１の実施形態の変形例＞
第１の実施形態では、ステップＳ１３において、クラスタリングにＫｍｅａｎｓアルゴリズムを用いた。しかし、クラスタリングのアルゴリズムは特定のアルゴリズムに限らない。例えば、Ｍｅａｎ  ＳｈｉｆｔやＮｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒなどといった他のクラスタリングアルゴリズムを用いてもよいし、ユーザがひとつのクラスとしてまとめたい領域を、マウスで画像中をドラッグして指定してもよい。このようにすることで、まとめて処理する認識結果の領域を自由に調整することができる。
【００４８】
また第１の実施形態では、ステップＳ１３において、クラスに対応する代表位置として該クラスに属する認識位置の平均位置を用いたが、他の方法を用いて代表位置を算出しても良い。例えば、クラスに属する認識位置の中央値を該クラスの代表位置としても良いし、クラスに属する認識位置をガウス分布に当てはめた際のピーク位置を該クラスの代表位置としても良い。このようにすることで、クラスに属する認識位置にはずれ値などのノイズがあった場合でも、安定した代表位置を算出することができる。
【００４９】
また第１の実施形態では、ステップＳ１３において、撮像画像上に代表位置を示すマーカを配置したが、表示する情報はこれらの情報に限らず、例えば、代表位置を示すマーカだけでなく、認識位置を示すマーカも撮像画像上に合成して表示しても良いし、一部の対象物体の位置を撮像画像上に合成して表示しても良い。このようにすることで、ユーザは現状の認識器でどのような認識結果が得られているかが分かる。
【００５０】
また第１の実施形態では、ステップＳ１４ａにおいて、ラベル付けはユーザのマウス操作によって行った。しかし、他の方法でもってラベル付けを行っても良い。例えば、キーボードを用いた操作入力によってラベル付けを実施しても良いし、タッチパネルを用いた操作入力によってラベル付けを行っても良い。
【００５１】
また第１の実施形態では、ステップＳ１４ｂでは、分類部１０３によって分類された代表位置を初期値とし、該初期値に対してラベル付けを行っていたが、これに限る必要はない。例えば、初期値は設定せず、代表位置を示す情報を合成した撮像画像を図４の画面とは別画面として表示することで、ユーザは代表位置を参考にラベル付けをしてもよい。また、図４の画面上に代表位置を半透明のマーカとして描画することで、ユーザは代表位置を参考にラベル付けをしてもよい。
【００５２】
［第２の実施形態］
本実施形態を含む以降の各実施形態や各変形例では、第１の実施形態との差分について説明し、以下で特に触れない限りは第１の実施形態と同様であるものとする。本実施形態に係る画像処理装置は、第１の実施形態に係る画像処理装置の機能に加え、各クラスに対する信頼度を算出し、該信頼度に応じてユーザによるラベル付けを行うのか否かを切り替える機能を有する。ユーザは信頼度が低い場合のみ、ラベルを確認、修正すればよいため、ラベル付けの手間が低減される。
【００５３】
先ず本実施形態に係る物体認識装置の機能構成例について、図６のブロック図を用いて説明する。図６において図１に示した機能部と同じ機能部には同じ参照番号を付しており、該機能部に係る説明は省略する。本実施形態に係る物体認識装置２０００は、画像処理装置２１００の構成が図１の画像処理装置１１００と異なる。
【００５４】
分類部２０３は、分類部１０３の機能に加え、上記の代表位置リストと、認識部１０２が認識した認識位置の集合と、該認識位置がどのクラスに分類されたのかを示す情報と、を含む分類情報を生成して信頼度算出部２０９に送出する機能を有する。
【００５５】
信頼度算出部２０９は、クラスごとに、該クラスに属する認識位置の数に応じた信頼度を算出する。そして信頼度算出部２０９は、信頼度が閾値未満となるクラスの数が規定数（例えば１）以上である場合には、ユーザによるラベル付けが必要と判断し、その旨を入力部１０５に通知する。これにより入力部１０５は第１の実施形態と同様に、ユーザによるラベル付けの為の処理を行う。一方、信頼度算出部２０９は、信頼度が閾値未満となるクラスの数が規定数未満である場合、ユーザによるラベル付けは不必要と判断し、代表位置リストと、ステップＳ１１で画像取得部１０１が取得した撮像画像と、を学習データとして記憶部１０６に格納する。
【００５６】
本実施形態に係るステップＳ２及びＳ３における処理の詳細について、図７のフローチャートに従って説明する。なお、図７において図２（ｂ）に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。図７においてステップＳ１１〜Ｓ１５が上記のステップＳ２において実行され、ステップＳ１６，Ｓ１７が上記のステップＳ３において実行される。
【００５７】
ステップＳ２３で分類部２０３は、上記のステップＳ１３の処理を行うと共に、代表位置リストと、認識部１０２が認識した認識位置の集合と、該認識位置がどのクラスに分類されたのかを示す情報と、を含む分類情報を生成して信頼度算出部２０９に送出する。
【００５８】
ステップＳ２４ａでは、信頼度算出部２０９は、クラスごとに、該クラスに属する認識位置の数に応じた信頼度を算出する。着目クラスの信頼度は、該着目クラスに属する認識位置の数が多いほど高く、少ないほど低くなるように算出する。例えば、着目クラスに属する認識位置の数を該着目クラスの信頼度として使用しても良い。例えば、図３（ｄ）の代表位置マーカ３７に対応するクラスの信頼度は、認識位置マーカ群３５の認識位置の数である。
【００５９】
対象物体が確かに存在する位置の近傍画素では、対象物体近辺の画像が入力されるため、対象物体があるという判定がなされる確率が高い。一方、対象物体ではない位置は、たまたま対象物体と似たような特徴が抽出されてしまった場合に誤認識が起こる。この場合、前者よりも対象物体であると判定される確率は比較的に低い。以上の理由により、対象物体として認識された位置の数が多いほど信頼度が高いと考えられる。
【００６０】
そしてステップＳ２４ｂでは、信頼度算出部２０９は、信頼度が閾値未満となるクラスの数を指標とし、該指標が規定数以上であるか否かを判断する。なお指標に適用可能なものは他にも考えられ、例えば、全クラス数に対する「信頼度が閾値未満となるクラスの数」の割合を指標として用いても良い。
【００６１】
この判断の結果、指標が規定数以上である場合には、ユーザによるラベル付けが必要と判断し、処理はステップＳ１４ａに進む。一方、この判断の結果、指標が規定数未満である場合、信頼度算出部２０９は、ユーザによるラベル付けは不必要と判断し、処理はステップＳ１５に進む。この場合、ステップＳ１５では、信頼度算出部２０９は、代表位置リストと、ステップＳ１１で画像取得部１０１が取得した撮像画像と、を学習データとして記憶部１０６に格納する。
【００６２】
このように、本実施形態によれば、新たな画像に対してラベル付けする際に、ユーザは現在の認識器で認識される代表位置の信頼度が低い場合のみラベル付けをすればよい。そのため、ラベル付けをしなければならない画像数が減少し、ユーザのラベル付けの手間が低減される。
【００６３】
＜第２の実施形態の変形例＞
第２の実施形態では、着目クラスの信頼度は、該着目クラスに属する認識位置の数が多いほど高く、少ないほど低くなるように算出したが、着目クラスの信頼度の求め方は特定の求め方に限らない。例えば、認識部１０２のＣＮＮは、対象物体かどうかの確率として出力されるため、例えば、着目クラスに属する認識位置に対応するＣＮＮの出力（確率）の合計値が高いほど該着目クラスの信頼度を高くし、該合計値が低いほど該着目クラスの信頼度を低くするようにしても良い。また、クラスに属する認識位置の数をそのまま該クラスの信頼度とするのではなく、対象物体かどうかの確率を重みとした線形和として信頼度を定義してもよいし、各認識位置の代表位置からの距離の逆数を重みとした線形和で信頼度を定義してもよい。
【００６４】
また、第２の実施形態では、ユーザによるラベル入力（代表位置の編集操作）が必要かどうかを判断するために信頼度と比較する閾値は予め定められた規定値であるものとしたが、これに限る必要はない。例えば、図４の画面においてユーザ操作に応じてこの閾値の値を設定できるようにしても良い。閾値はスライダを用いて設定しても良いし、テキスト入力によって設定しても良い。また、ラベルが変更された代表位置とラベルが変更されなかった代表位置のそれぞれの信頼度の統計をとることで閾値を求めてもよい。たとえば、ラベル変更が行われた代表位置の信頼度の平均値が１０、ラベルが変更されなかった代表位置の信頼度の平均値が５０であれば、その間の３０を閾値とすれば良い。このようにすることで、ユーザが閾値を決める手間が低減される。
【００６５】
また第２の実施形態では、ユーザによるラベル入力が必要ない場合、信頼度算出部２０９は、代表位置リストと、ステップＳ１１で画像取得部１０１が取得した撮像画像と、を学習データとして記憶部１０６に格納していたが、これに限る必要はない。ユーザによるラベル入力が必要ない場合とは、現状の認識器で十分に認識できているため、例えば、学習データを記憶部１０６に格納することなく破棄してもよいし、ユーザに学習データとして追加するかどうかの判断を委ねてもよい。このようにすることで、一部の処理（主に学習部）が省略されるため、より早く一連の処理を終えられる。
【００６６】
また第２の実施形態では、ユーザによるラベル入力が必要な場合は、入力部１０５は、代表位置リストに登録されている全ての代表位置を編集候補として画面に表示して編集操作を受け付けていたが、これに限る必要はない。信頼度が閾値以上のクラスについてはラベル入力の必要はないため、入力部１０５は信頼度が閾値未満となるクラスの代表位置のみを編集候補として画面に表示して編集操作を受け付けるようにしてもよい。逆に、信頼度が極端に低い場合は誤認識と考えられるため、下限の閾値も設け、信頼度が下限の閾値以上で且つ上限の閾値（ステップＳ２４ｂで使用した閾値）を下回るクラスの代表位置のみを編集候補として画面に表示して編集操作を受け付けるようにしてもよい。このようにすることで、ユーザが修正するラベル量が少なくなり、ユーザのラベル付けの手間が低減される。また、図４の画面に、各代表位置に対する信頼度を表す情報を表示するようにしても良い。信頼度を表す情報の表示としては、例えば、信頼度をテキスト表示しても良いし、信頼度に応じた色や形を有する規定のパターン画像を表示しても良いし、信頼度ごとに予め作成されたパターン画像を表示しても良い。これにより、ユーザがラベル付けする際に、代表位置をどの程度信用するかの参考になる。
【００６７】
［第３の実施形態］
本実施形態に係る画像処理装置は、第１の実施形態に係る画像処理装置の機能に加え、学習後のＣＮＮの性能の評価値を求め、該求めた評価値に応じて該ＣＮＮを更新するか否かを判断する機能を有する。評価値が高くなる場合のみＣＮＮを更新することで、ＣＮＮの性能向上は加速し、より良い結果が得られるようになり、ユーザによるラベル修正量が少なくなるため、ラベル付けの手間が低減される。
【００６８】
先ず本実施形態に係る物体認識装置の機能構成例について、図８のブロック図を用いて説明する。図８において図１に示した機能部と同じ機能部には同じ参照番号を付しており、該機能部に係る説明は省略する。本実施形態に係る物体認識装置３０００は、画像処理装置３１００の構成が図１の画像処理装置１１００と異なる。
【００６９】
学習部３０７は、上記の学習部１０７の機能に加え、学習処理によって得られたＣＮＮのパラメータを、評価部３１０にも送出する。評価部３１０は、認識器記憶部１０８に保存されているＣＮＮのモデル構造及びパラメータに基づくＣＮＮ（旧ＣＮＮ）の性能の評価値を、記憶部３１１に格納されているデータを用いて求める。更に評価部３１０は、学習部３０７から送出されたパラメータと認識器記憶部１０８に保存されているＣＮＮのモデル構造とに基づくＣＮＮ（新ＣＮＮ）の性能を評価するための評価値を、記憶部３１１に格納されているデータを用いて求める。記憶部３１１には、試験画像と、該試験画像における代表位置と、が試験データとして格納されている。
【００７０】
更新判定部３１２は、旧ＣＮＮの評価値と新ＣＮＮの評価値とを比較し、該比較の結果に基づいて、新ＣＮＮのパラメータを認識器記憶部１０８に格納するか否かを判断する。そして更新判定部３１２は、旧ＣＮＮの評価値よりも新ＣＮＮの評価値が高い場合には、新ＣＮＮのパラメータを認識器記憶部１０８に格納することで、認識器記憶部１０８が保持する旧ＣＮＮを新ＣＮＮに更新する。
【００７１】
本実施形態に係るステップＳ２及びＳ３における処理の詳細について、図９のフローチャートに従って説明する。図９においてステップＳ１１〜Ｓ１５が上記のステップＳ２において実行され、ステップＳ３６〜Ｓ３９が上記のステップＳ３において実行される。
【００７２】
ステップＳ３６では、学習部３０７は、上記のステップＳ１６の処理を行うと共に、学習処理によって得られたＣＮＮのパラメータを、評価部３１０にも送出する。
【００７３】
ステップＳ３７では、評価部３１０は、記憶部３１１に格納されているデータを用いて、旧ＣＮＮの評価値及び新ＣＮＮの評価値を求める。旧ＣＮＮ及び新ＣＮＮのそれぞれの評価値を求める方法には様々な方法があり、特定の方法に限らない。以下にＣＮＮ（旧ＣＮＮ及び新ＣＮＮ）の評価値を求める方法の一例を説明する。
【００７４】
先ず、評価部３１０は、記憶部３１１から試験データを取得する。試験データには、１つのオブジェクトが写っている試験画像と、該試験画像における該オブジェクトの位置である代表位置と、のセットが複数セット含まれているものとする。そして評価部３１０は、試験データに含まれている複数セットのうち未選択のセットを選択セットとして選択し、上記のステップＳ１２と同様に、該選択セットに含まれている試験画像に対してＣＮＮを適用することで該試験画像における認識位置を取得する。そして評価部３１０は、選択セットの試験画像から認識した全ての認識位置が、該選択セットに含まれている代表位置から規定距離以内にあれば成功と判断する。一方、評価部３１０は、選択セットの試験画像から認識した認識位置のうち１つでも、該選択セットに含まれている代表位置から規定距離以内になければ失敗と判断する。このような選択セットに対する成功／失敗の判断処理を、試験データに含まれている全てのセットについて行うことで、それぞれのセットについて成功／失敗を判断する。そして評価部３１０は、（（成功と判断したセットの数）／全セット数）を評価値として求める。このような評価値を旧ＣＮＮ及び新ＣＮＮのそれぞれについて求める。なお、上記の通り、このような評価値の算出方法は一例であり、他の算出方法を用いて評価値を算出しても良い。
【００７５】
ステップＳ３８では、更新判定部３１２は、旧ＣＮＮの評価値と新ＣＮＮの評価値との大小比較を行う。この大小比較の結果、旧ＣＮＮの評価値＜新ＣＮＮの評価値であれば、処理はステップＳ３９に進み、旧ＣＮＮの評価値≧新ＣＮＮの評価値であれば、認識器記憶部１０８に格納されているパラメータの更新を行うことなく、図９のフローチャートに従った処理は終了する。ステップＳ３９では、更新判定部３１２は、新ＣＮＮのパラメータを認識器記憶部１０８に格納することで、認識器記憶部１０８が保持するＣＮＮを新ＣＮＮに更新する。
【００７６】
このように、本実施形態によれば、新たな画像に対してラベル付けする際に、参考としてユーザに提示される代表位置の精度が向上していくため、ラベル修正量が少なくなり、ユーザのラベル付けの手間が低減される。
【００７７】
＜第３の実施形態の変形例＞
第３の実施形態では、上記のステップＳ１の処理は省いても良い。すなわち、評価部３１０によって、新ＣＮＮの評価値が算出されるため、評価値用閾値を設け、新ＣＮＮの評価値が評価値用閾値以上になるまで繰り返しＣＮＮの学習を続けるようにしてもよい。また、何度も学習を行う中で、評価値の変化が規定値未満となった場合に、学習を終了するようにしてもよい。たとえば、評価値の変化が０．０１％未満で５回続き、性能が飽和したと考えられるような場合に、学習を終了する。このようにすることで、ユーザが学習が必要かどうかを判断する手間が削減される。
【００７８】
また、第３の実施形態では、入力部１０５は、撮像画像と代表位置とを常に記憶部１０６に格納していた。しかし、学習データだけでなく、試験データを増やす必要もあるため、画像と代表位置とのセットを記憶部１０６だけでなく記憶部３１１にも格納するようにしても良い。なお、画像と代表位置のセットは記憶部１０６と記憶部３１１の両方に格納するようにしても良いし、記憶部１０６と記憶部３１１のうちランダムに決まる一方に格納するようにしても良い。また、画像と代表位置のセットを記憶部１０６及び記憶部３１１の何れに格納するのかをユーザが操作装置３を操作して指定しても良い。
【００７９】
また、第２の実施形態で説明した信頼度算出部２０９を画像処理装置３１００に組み込んで、信頼度算出部２０９による信頼度に応じて画像と代表位置のセットを記憶部１０６及び記憶部３１１の何れに格納するのかを決定しても良い。たとえば、信頼度が閾値未満である代表位置と、対応する画像と、を記憶部１０６に格納し、信頼度が閾値以上である代表位置と、対応する画像と、を記憶部３１１に格納する。このようにすることで、学習データと試験データを効率よく収集することができる。
【００８０】
また、ステップＳ３８において、ＣＮＮの更新を行うか否かの判断だけでなく、新たに登録された学習データ（以下、新学習データ）を保持するかどうかの判断をしてもよい。ＣＮＮの性能が悪化したということは、新学習データのラベルに誤りが含まれている可能性が高いため、新学習データを破棄するようにしてもよい。または、新学習データのラベルが本当に正しいかを確認するため、ユーザに再度ラベル入力を要求してもよい。このようにすることで、ラベル誤りのある学習データを記憶する頻度を減らすことができる。
【００８１】
また、第３の実施形態では、旧ＣＮＮ及び新ＣＮＮの２つを評価していたが、これに限る必要はない。旧ＣＮＮは複数あってもよいし、新ＣＮＮも複数あってもよい。この場合、たとえば旧ＣＮＮは、旧ＣＮＮと新ＣＮＮのうち評価値が上位３つのＣＮＮを認識器記憶部１０８に記憶するようにすればよい。また、たとえば新ＣＮＮは、初期値をランダムや旧ＣＮＮのいずれかにしたり、学習データをランダムに選択するなどして、複数種の学習結果が得られるようにすればよい。
【００８２】
［第４の実施形態］
上記の各実施形態や各変形例では、新たに学習データが追加されるごとに学習を行っていたが、これに限る必要はない。例えば、複数セット（画像と代表位置のセット）が溜まってから学習を行ってもよいし、ユーザが学習を行うタイミングを操作装置３を操作して指定しても良い。
【００８３】
また、上記の各実施形態や各変形例では、ディープラーニングの一種であるＣＮＮを学習して認識器を構築したが、これに限る必要はない。特徴としては、ＬＢＰ（Ｌｏｃａｌ  Ｂｉｎａｒｙ  Ｐａｔｔｅｒｎ）を用いてもよいし、ＢｏＦ（Ｂａｇ  ｏｆ  Ｆｅａｔｕｒｅｓ）などを用いてもよい。また、識別器としては、決定木を用いてもよいし、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）などを用いてもよい。
【００８４】
また、上記の各実施形態や各変形例では、画像中の対象物体の位置のみを認識したが、これに限る必要はない。例えば、ＣＮＮの出力を対象物体かどうかの２クラス判別ではなく、姿勢の分類もするように出力を増やすことで、画像中の対象物体の位置姿勢を認識してもよい。以下、図１０を用いて位置だけでなく姿勢も認識する場合の処理を説明する。
【００８５】
図１０（ａ）の×マーカ５０１は認識すべき対象物体の画像中の位置（ｘ，ｙ）を表しており、白抜き矢印５０２が該認識すべき対象物体の画像中の姿勢θ、黒矢印５０３は対象物体の姿勢を８姿勢に量子化した方向を示している。図１０（ａ）のようにラベルを対象物体の位置姿勢（ｘ，ｙ，θ）として設定し、ＣＮＮを「８姿勢のうちどの姿勢の対象物体か」＋「対象物体ではない」の９クラス判別するものとして設計する。
【００８６】
このようなＣＮＮを作成して、第１の実施形態におけるステップＳ１２と同様に認識を行うと、図１０（ｂ）のように、複数の位置姿勢の認識結果（認識位置姿勢）が得られる。図１０（ｂ）の×マーカ群５０４が認識された物体の位置群、白抜き矢印群５０５が認識された姿勢群を表している。
【００８７】
この認識結果を第１の実施形態におけるステップＳ１３と同様に、クラスタリングを行って代表位置姿勢を求めてユーザに提示する。代表位置姿勢を求める際は、各対象物体の位置姿勢（ｘ，ｙ，θ）を特徴とし、Ｋｍｅａｎｓアルゴリズムを用いてクラスタリングしてもよいし、位置（ｘ，ｙ）をクラスタリングした後に同クラス内における姿勢θをクラスタリングしてもよい。このようにすることで、図１０（ｃ）の○マーカ５０６（代表位置を示す）と黒矢印５０７（代表姿勢を示す）で示されるような代表位置姿勢を求めることができる。
【００８８】
入力部１０５では、位置だけでなく姿勢も編集できるようにする。姿勢の修正は、例えば、対象物体の位置からマウスのカーソル位置への方向ベクトルとして設定できるようにすればよい。また、対象物体の位置を決定した後に姿勢を決定するようにしてもよいし、位置編集モードと姿勢編集モードとを切り換えられるようにしてもよい。
【００８９】
尚、上記の説明は二次元画像中の位置姿勢の場合について説明したが、三次元空間中の位置姿勢のように次元が増えたとしても、ラベルを（ｘ，ｙ，ｚ，θ，φ，ψ）とすればよく（θ，φ，ψはそれぞれｘ、ｙ、ｚ軸周りの角度）、同様の処理が可能である。
【００９０】
［第５の実施形態］
図１，６，８に示したそれぞれの画像処理装置１１００，２１００，３１００の各機能部はハードウェアで実装しても良いが、一部をソフトウェア（コンピュータプログラム）で実装しても良い。後者の場合、記憶部１０６、認識器記憶部１０８、記憶部３１１以外の各機能部の機能を実現するコンピュータプログラムを実行可能なコンピュータ装置は画像処理装置１１００，２１００，３１００に適用可能である。画像処理装置１１００，２１００，３１００に適用可能なコンピュータ装置のハードウェア構成例について、図１１のブロック図を用いて説明する。
【００９１】
ＣＰＵ１１０１は、ＲＡＭ１１０２やＲＯＭ１１０３に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりＣＰＵ１１０１は、コンピュータ装置全体の動作制御を行うと共に、画像処理装置１１００，２１００，３１００のそれぞれが行うものとして上述した各処理を実行若しくは制御する。
【００９２】
ＲＡＭ１１０２は、Ｉ／Ｆ（インターフェース）１１０５を介して撮像装置１から取得した撮像画像、ＲＯＭ１１０３や外部記憶装置１１０４からロードされたコンピュータプログラムやデータ、を格納するためのエリアを有する。更にＲＡＭ１１０２は、ＣＰＵ１１０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ１１０２は、各種のエリアを適宜提供することができる。ＲＯＭ１１０３には、書換不要のコンピュータプログラムやデータ、例えばＢＩＯＳのコンピュータプログラムやデータが格納されている。
【００９３】
外部記憶装置１１０４は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置１１０４には、ＯＳ（オペレーティングシステム）や、画像処理装置１１００，２１００，３１００が行うものとして上述した各処理をＣＰＵ１１０１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。外部記憶装置１１０４に保存されているコンピュータプログラムには、図１，６，８において記憶部１０６、認識器記憶部１０８、記憶部３１１以外の各機能部の機能をＣＰＵ１１０１に実現させるためのコンピュータプログラムが含まれている。また、外部記憶装置１１０４に保存されているデータには、上記の説明において既知の情報として説明したものが含まれている。外部記憶装置１１０４に保存されているコンピュータプログラムやデータは、ＣＰＵ１１０１による制御に従って適宜ＲＡＭ１１０２にロードされ、ＣＰＵ１１０１による処理対象となる。なお、上記の記憶部１０６、認識器記憶部１０８、記憶部３１１は、ＲＡＭ１１０２や外部記憶装置１１０４を用いて実装可能である。なお、外部記憶装置１１０４には、ＵＳＢメモリやＳＤカードなどの、様々なメモリ装置を適用することができる。
【００９４】
Ｉ／Ｆ１１０５は、上記の撮像装置１、表示装置２、操作装置３を接続するためのインターフェース群により構成されている。ＣＰＵ１１０１、ＲＡＭ１１０２、ＲＯＭ１１０３、外部記憶装置１１０４、Ｉ／Ｆ１１０５は何れもバス１１０６に接続されている。
【００９５】
なお、上記の各実施形態や各変形例の一部若しくは全部を適宜組み合わせて使用しても構わない。また、上記の各実施形態や各変形例の一部若しくは全部を選択的に使用しても構わない。
【００９６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９７】
１０１：画像取得部  １０２：認識部  １０３：分類部  １０４：操作受付部  １０５：入力部  １０６：記憶部  １０７：学習部  １０８：認識器記憶部
【図１】
2019036167.tif 000003
【図２】
2019036167.tif 000004
【図３】
2019036167.tif 000005
【図４】
2019036167.tif 000006
【図５】
2019036167.tif 000007
【図６】
2019036167.tif 000008
【図７】
2019036167.tif 000009
【図８】
2019036167.tif 000010
【図９】
2019036167.tif 000011
【図１０】
2019036167.tif 000012
【図１１】
2019036167.tif 000013