(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-19
(45)【発行日】2024-03-28
(54)【発明の名称】負例利用可否決定装置、負例利用可否決定方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240321BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2022533010
(86)(22)【出願日】2020-07-03
(86)【国際出願番号】 JP2020026261
(87)【国際公開番号】W WO2022003972
(87)【国際公開日】2022-01-06
【審査請求日】2022-12-12
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】佐藤 祥悟
【審査官】福西 章人
(56)【参考文献】
【文献】特表2004-527841(JP,A)
【文献】KORDUMOVA, Svetlana et al.,Best Practices for Learning Video Concept Detectors from Social Media Examples,Multimedia Tools and Applications,Springer [online],2014年06月,all 26 pages,Retrieved from the Internet: <URL: https://www.researchgate.net/publication/262821588_Best_Practices_for_Learning_Video_Concept_Detectors _from_Social_Media_Examples>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
所与のターゲットデータを正例として学習させた第1識別器を生成する第1識別器生成部と、
前記ターゲットデータを負例として学習させた第2識別器を生成する第2識別器生成部と、
所与の評価データを用いて、前記第1識別器の識別精度と前記第2識別器の識別精度とを判定する識別精度判定部と、
前記第1識別器の識別精度と前記第2識別器の識別精度とに基づいて、前記ターゲットデータを別の識別器に学習させる負例の訓練データとして用いるか否かを決定する利用可否決定部と、
を含むことを特徴とする負例利用可否決定装置。
【請求項2】
前記第1識別器生成部は、前記ターゲットデータと共通正例データとを正例とし、共通負例データを負例として学習させた前記第1識別器を生成し、
前記第2識別器生成部は、前記共通正例データを正例とし、前記ターゲットデータ及び前記共通負例データを負例として学習させた前記第2識別器を生成する、
ことを特徴とする請求項1に記載の負例利用可否決定装置。
【請求項3】
前記共通正例データを正例とし、前記共通負例データを負例として学習させた第3識別器を生成する第3識別器生成部と、
前記第3識別器を用いて、所与の複数の負例訓練データのうちから前記ターゲットデータを特定するターゲットデータ特定部と、をさらに含む、
ことを特徴とする請求項2に記載の負例利用可否決定装置。
【請求項4】
前記ターゲットデータ特定部は、前記別の識別器に正例として学習させる正例訓練データと、前記第3識別器と、を用いて、前記複数の前記負例訓練データのうちから前記ターゲットデータを特定する、
ことを特徴とする請求項3に記載の負例利用可否決定装置。
【請求項5】
前記第1識別器生成部は、複数のターゲットデータ群のそれぞれについて、当該ターゲットデータ群に含まれる複数の前記ターゲットデータを正例として学習させた、当該ターゲットデータ群に対応付けられる前記第1識別器を生成し、
前記第2識別器生成部は、当該ターゲットデータ群に含まれる複数の前記ターゲットデータを負例として学習させた、当該ターゲットデータ群に対応付けられる前記第2識別器を生成し、
前記識別精度判定部は、前記ターゲットデータ群に対応付けられる前記第1識別器の識別精度と前記ターゲットデータ群に対応付けられる前記第2識別器の識別精度とを判定し、
前記利用可否決定部は、前記ターゲットデータ群に対応付けられる前記第1識別器の識別精度と前記ターゲットデータ群に対応付けられる前記第2識別器の識別精度とに基づいて、当該ターゲットデータ群に含まれる前記複数の前記ターゲットデータを前記別の識別器に学習させる負例の訓練データとして用いるか否かを決定する、
ことを特徴とする請求項1から4のいずれか一項に記載の負例利用可否決定装置。
【請求項6】
所与のターゲットデータを正例として学習させた第1識別器を生成するステップと、
前記ターゲットデータを負例として学習させた第2識別器を生成するステップと、
所与の評価データを用いて、前記第1識別器の識別精度と前記第2識別器の識別精度とを判定するステップと、
前記第1識別器の識別精度と前記第2識別器の識別精度とに基づいて、前記ターゲットデータを別の識別器に学習させる負例の訓練データとして用いるか否かを決定するステップと、
を含むことを特徴とする負例利用可否決定方法。
【請求項7】
所与のターゲットデータを正例として学習させた第1識別器を生成する手順、
前記ターゲットデータを負例として学習させた第2識別器を生成する手順、
所与の評価データを用いて、前記第1識別器の識別精度と前記第2識別器の識別精度とを判定する手順、
前記第1識別器の識別精度と前記第2識別器の識別精度とに基づいて、前記ターゲットデータを別の識別器に学習させる負例の訓練データとして用いるか否かを決定する手順、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、負例利用可否決定装置、負例利用可否決定方法及びプログラムに関する。
【背景技術】
【0002】
識別精度の高い識別器を生成するには、正例や負例として用いられる充分な数の訓練データを収集して、これらの訓練データを識別器に学習させる必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ある識別器の負例として用いられた訓練データを後に別の識別器の負例として流用する場合、そのまま流用することはできず、これらの訓練データのなかから別の識別器において正例として取り扱われるべきものを除外する必要がある。例えば、犬の画像であるか否かを識別する識別器の負例として用いた訓練データに猫の画像に基づく訓練データが含まれる場合、この訓練データを、猫の画像であるか否かを識別する識別器の負例からは除外する必要がある。猫の画像に基づく訓練データが正例のみならず負例としても利用されると識別器の識別精度が悪化してしまうからである。
【0004】
しかし、ある識別器の負例として用いられた訓練データは対応付けられるものが混在しており、また、それぞれの訓練データには対応付けられるものを示すラベルが関連付けられているわけではない。そのため、これらの訓練データのなかから除外する必要のあるものを抽出することは困難である。
【0005】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、訓練データを流用可能にする負例利用可否決定装置、負例利用可否決定方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る負例利用可否決定装置は、所与のターゲットデータを正例として学習させた第1識別器を生成する第1識別器生成部と、前記ターゲットデータを負例として学習させた第2識別器を生成する第2識別器生成部と、所与の評価データを用いて、前記第1識別器の識別精度と前記第2識別器の識別精度とを判定する識別精度判定部と、前記第1識別器の識別精度と前記第2識別器の識別精度とに基づいて、前記ターゲットデータを別の識別器に学習させる負例の訓練データとして用いるか否かを決定する利用可否決定部と、を含む。
【0007】
本発明の一態様では、前記第1識別器生成部は、前記ターゲットデータと共通正例データとを正例とし、共通負例データを負例として学習させた前記第1識別器を生成し、前記第2識別器生成部は、前記共通正例データを正例とし、前記ターゲットデータ及び前記共通負例データを負例として学習させた前記第2識別器を生成する。
【0008】
この態様では、前記共通正例データを正例とし、前記共通負例データを負例として学習させた第3識別器を生成する第3識別器生成部と、前記第3識別器を用いて、所与の複数の負例訓練データのうちから前記ターゲットデータを特定するターゲットデータ特定部と、をさらに含んでもよい。
【0009】
さらに、前記ターゲットデータ特定部は、前記別の識別器に正例として学習させる正例訓練データと、前記第3識別器と、を用いて、前記複数の前記負例訓練データのうちから前記ターゲットデータを特定してもよい。
【0010】
また、本発明の一態様では、前記第1識別器生成部は、複数のターゲットデータ群のそれぞれについて、当該ターゲットデータ群に含まれる複数の前記ターゲットデータを正例として学習させた、当該ターゲットデータ群に対応付けられる前記第1識別器を生成し、前記第2識別器生成部は、当該ターゲットデータ群に含まれる複数の前記ターゲットデータを負例として学習させた、当該ターゲットデータ群に対応付けられる前記第2識別器を生成し、前記識別精度判定部は、前記ターゲットデータ群に対応付けられる前記第1識別器の識別精度と前記ターゲットデータ群に対応付けられる前記第2識別器の識別精度とを判定し、前記利用可否決定部は、前記ターゲットデータ群に対応付けられる前記第1識別器の識別精度と前記ターゲットデータ群に対応付けられる前記第2識別器の識別精度とに基づいて、当該ターゲットデータ群に含まれる前記複数の前記ターゲットデータを前記別の識別器に学習させる負例の訓練データとして用いるか否かを決定する。
【0011】
また、本発明に係る負例利用可否決定方法は、所与のターゲットデータを正例として学習させた第1識別器を生成するステップと、前記ターゲットデータを負例として学習させた第2識別器を生成するステップと、所与の評価データを用いて、前記第1識別器の識別精度と前記第2識別器の識別精度とを判定するステップと、前記第1識別器の識別精度と前記第2識別器の識別精度とに基づいて、前記ターゲットデータを別の識別器に学習させる負例の訓練データとして用いるか否かを決定するステップと、を含む。
【0012】
また、本発明に係るプログラムは、所与のターゲットデータを正例として学習させた第1識別器を生成する手順、前記ターゲットデータを負例として学習させた第2識別器を生成する手順、所与の評価データを用いて、前記第1識別器の識別精度と前記第2識別器の識別精度とを判定する手順、前記第1識別器の識別精度と前記第2識別器の識別精度とに基づいて、前記ターゲットデータを別の識別器に学習させる負例の訓練データとして用いるか否かを決定する手順、をコンピュータに実行させる。
【図面の簡単な説明】
【0013】
【
図1】本発明の一実施形態に係る情報処理装置の構成の一例を示す図である。
【
図2】本発明の一実施形態における識別器の学習の一例を示す図である。
【
図3】本発明の一実施形態における学習済の識別器を用いた識別の一例を示す図である。
【
図4】本発明の一実施形態における識別器の学習の一例を示す図である。
【
図5】本発明の一実施形態における学習済の識別器を用いた識別の一例を示す図である。
【
図7A】本発明の一実施形態に係る情報処理装置で実装される機能の一例を示す機能ブロック図である。
【
図7B】本発明の一実施形態に係る情報処理装置で実装される機能の一例を示す機能ブロック図である。
【
図7C】本発明の一実施形態に係る情報処理装置で実装される機能の一例を示す機能ブロック図である。
【
図8】本発明の一実施形態に係る情報処理装置において行われる処理の流れの一例を示すフロー図である。
【
図9】本発明の一実施形態に係る情報処理装置において行われる処理の流れの一例を示すフロー図である。
【
図10A】本発明の一実施形態に係る情報処理装置において行われる処理の流れの一例を示すフロー図である。
【
図10B】本発明の一実施形態に係る情報処理装置において行われる処理の流れの一例を示すフロー図である。
【発明を実施するための形態】
【0014】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【0015】
図1は、本発明の一実施形態に係る情報処理装置10の構成の一例を示す図である。本実施形態に係る情報処理装置10は、例えば、ゲームコンソールやパーソナルコンピュータなどのコンピュータである。
図1に示すように、本実施形態に係る情報処理装置10は、例えば、プロセッサ12、記憶部14、操作部16、表示部18、撮影部20を含んでいる。
【0016】
プロセッサ12は、例えば情報処理装置10にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。
【0017】
記憶部14は、ROMやRAM等の記憶素子やソリッドステートドライブなどである。記憶部14には、プロセッサ12によって実行されるプログラムなどが記憶される。
【0018】
操作部16は、キーボード、マウス、ゲームコンソールのコントローラ等のユーザインタフェースであって、ユーザの操作入力を受け付けて、その内容を示す信号をプロセッサ12に出力する。
【0019】
表示部18は、液晶ディスプレイ等の表示デバイスであって、プロセッサ12の指示に従って各種の画像を表示する。
【0020】
撮影部20は、デジタルカメラ等の撮影デバイスである。本実施形態に係る撮影部20は、動画像の撮影が可能なビデオカメラであることとする。
【0021】
なお、情報処理装置10は、マイクやスピーカなどといった音声入出力デバイスを含んでいてもよい。また、情報処理装置10は、ネットワークボードなどの通信インタフェース、DVD-ROMやBlu-ray(登録商標)ディスクなどの光ディスクを読み取る光ディスクドライブ、USB(Universal Serial Bus)ポートなどを含んでいてもよい。
【0022】
本実施形態では、
図2に示すように、複数の正例訓練データ(A)を正例とし複数の負例訓練データ(A)を負例として学習させた、SVM(Support Vector Machine)などの識別器30a(学習済の識別器30a)が生成される。複数の正例訓練データ(A)のそれぞれは、例えば、識別器30aにおける正クラスに属するオブジェクトが写るサンプル画像(以下、正例サンプル画像(A)と呼ぶ。)に基づいて生成される。また、複数の負例訓練データ(A)のそれぞれは、例えば、識別器30aにおける負クラスに属するオブジェクトが写るサンプル画像(以下、負例サンプル画像(A)と呼ぶ。)に基づいて生成される。
【0023】
そして、
図3に示すように、学習済の識別器30aは、入力画像に対応する特徴量を示す特徴量データの入力に応じて、当該入力画像に写るオブジェクトが識別器30aにおける正クラスに属するものである確率を示す識別スコアを出力する。
【0024】
その後、
図4に示すように、本実施形態では例えば、複数の正例訓練データ(B)を正例とし複数の負例訓練データ(A)を負例として学習させた、SVMなどの識別器30b(学習済の識別器30b)が生成される。
【0025】
複数の正例訓練データ(B)のそれぞれは、例えば、識別器30bにおける正クラスに属するオブジェクトが写るサンプル画像(以下、正例サンプル画像(B)と呼ぶ。)に基づいて生成される。そして本実施形態では、識別器30aの学習に用いられた負例訓練データ(A)が、識別器30bの負例として流用される。
【0026】
そして、
図5に示すように、学習済の識別器30bは、入力画像に対応する特徴量を示す特徴量データの入力に応じて、当該入力画像に写るオブジェクトが識別器30bにおける正クラスに属するものである確率を示す識別スコアを出力する。
【0027】
本実施形態に係る情報処理装置10には、例えば、予め学習済であるRPN(Regional Proposal Network)が記憶されている。そして本実施形態では、当該RPNを用いて、サンプル画像から、何らかの物体が写っていると推定される領域を抽出する。この処理によって、計算の無駄を低減でき、環境に対してもある程度のロバストネスが確保できる。
【0028】
そして、抽出された領域の画像に対して、例えば、背景の除去処理(マスク処理)などといった正規化処理が実行される。この処理によって、背景や照明条件によるドメインギャップを縮小させることができ、その結果、限られた環境下で収集されたデータだけからでも識別器30の学習を完了させることが可能になる。
【0029】
また、本実施形態に係る情報処理装置10には、予めメトリック学習が実行済であるCNN(Convolutional Neural Network)が記憶されている。このCNNは、画像の入力に応じて、当該画像に対応する特徴量を示す特徴量データを出力する。このCNNは、事前のメトリック学習によって、正クラスに属するオブジェクトが写る画像については互いに近い特徴量を示す特徴量データを出力するようチューニングされている。本実施形態に係る特徴量データが示す特徴量は、例えば、ノルムが1となるよう正規化されたベクトル量である。
【0030】
本実施形態では、このCNNを用いて、正規化処理が実行された画像に対応する特徴量を示す特徴量データが生成される。予めメトリック学習が実行済であるCNNを用いることで、1つのクラスに属するサンプルの特徴量が、条件に依らずコンパクトな領域に集約されることとなる。その結果、本実施形態に係る情報処理装置10は、識別器30における妥当な識別境界を少数のサンプルからでも決定できるようになっている。
【0031】
本実施形態では、正例サンプル画像(A)からRPNによって抽出された領域の画像に対して正規化処理を実行した画像を、メトリック学習が実行済であるCNNに入力することで、当該正例サンプル画像(A)に対応する特徴量を示す特徴量データが生成される。このようにして正例サンプル画像(A)から生成される特徴量データが、
図2に示す正例訓練データ(A)に相当する。
【0032】
また、本実施形態では、正例サンプル画像(B)からRPNによって抽出された領域の画像に対して正規化処理を実行した画像を、メトリック学習が実行済であるCNNに入力することで、当該正例サンプル画像(B)に対応する特徴量を示す特徴量データが生成される。このようにして正例サンプル画像(B)から生成される特徴量データが、
図4に示す正例訓練データ(B)に相当する。
【0033】
また、本実施形態では、負例サンプル画像(A)からRPNによって抽出された領域の画像に対して正規化処理を実行した画像を、メトリック学習が実行済であるCNNに入力することで、当該負例サンプル画像(A)に対応する特徴量を示す特徴量データが生成される。このようにして負例サンプル画像(A)から生成される特徴量データが、
図2及び
図4に示す負例訓練データ(A)に相当する。
【0034】
本実施形態では、写っているオブジェクトの推定対象となる入力画像についても、同様にして、上述した領域の抽出、正規化処理、及び、メトリック学習が実行済であるCNNを用いた特徴量データの生成によって、入力画像に対応する特徴量データが生成される。そして、このようにして生成された特徴量データを学習済の識別器30aに入力することで、学習済の識別器30aは、当該入力画像に写るオブジェクトが識別器30aにおける正クラスに属するものである確率を示す識別スコアを出力する。また、このようにして生成された特徴量データを学習済の識別器30bに入力することで、学習済の識別器30bは、当該入力画像に写るオブジェクトが識別器30bにおける正クラスに属するものである確率を示す識別スコアを出力する。
【0035】
上述のように、識別器30aの負例として用いられた負例訓練データ(A)を識別器30bの負例としてそのまま流用することはできず、これらの負例訓練データ(A)のなかから識別器30bにおいて正例として取り扱われるべきものを除外する必要がある。
【0036】
図6は、複数の負例サンプル画像(A)に含まれる、複数の馬の画像P1、複数の植物の画像P2、複数のカップの画像P3、複数の車の画像P4、複数の猫の画像P5、複数の列車の画像P6の一例を模式的に示す図である。例えば、これらの画像に基づいて生成される負例訓練データ(A)が、犬の画像であるか否かを識別する識別器30aの負例として用いられたとする。この場合、猫の画像P5に基づく負例訓練データ(A)については、猫の画像であるか否かを識別する識別器30bの負例からは除外する必要がある。猫の画像に基づく負例訓練データ(A)が正例のみならず負例としても利用されると識別器30bの識別精度が悪化してしまうからである。
【0037】
しかし、識別器30aの負例として用いられた負例訓練データ(A)は対応付けられるものが混在しており、また、それぞれの負例訓練データ(A)には対応付けられるものを示すラベルが関連付けられているわけではない。そのため、これらの負例訓練データ(A)のなかから除外する必要のあるものを抽出することは困難である。
【0038】
以上の点を踏まえ、本実施形態では以下のようにして、負例訓練データ(A)を識別器30bの負例に流用できるようにした。
【0039】
以下、本実施形態に係る情報処理装置10で実装されている機能、及び、本実施形態に係る情報処理装置10で実行される処理について、説明する。
【0040】
図7A、
図7B、及び、
図7Cは、本実施形態に係る情報処理装置10で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係る情報処理装置10で、
図7A、
図7B、及び、
図7Cに示す機能のすべてが実装される必要はなく、また、
図7A、
図7B、及び、
図7Cに示す機能以外の機能が実装されていても構わない。
【0041】
図7Aに示すように、本実施形態に係る情報処理装置10には、機能的には例えば、識別器30、データ記憶部32、正例訓練データ生成部34、負例訓練データ生成部36、学習部38、入力画像取得部40、入力特徴量データ生成部42、推定部44、が含まれる。
【0042】
そして、データ記憶部32には、正例訓練データ記憶部50、負例訓練データ記憶部52、第1正例評価データ記憶部54a、第2正例評価データ記憶部54b、第1負例評価データ記憶部56a、第2負例評価データ記憶部56bが、含まれる。
【0043】
図7Bには、
図7Aに示す負例訓練データ生成部36で実装されている機能の詳細が示されている。
図7Bに示すように、負例訓練データ生成部36には、機能的には例えば、暫定評価識別器60、正例評価識別器62、負例評価識別器64、サンプル画像取得部66、特徴量抽出部68、暫定評価学習部70、ターゲットデータ特定部72、正例評価学習部74、負例評価学習部76、利用可否決定部78、除去部80、が含まれる。
【0044】
図7Cには、データ記憶部32に含まれる各要素と、
図7Bに示されている、特徴量抽出部68、暫定評価学習部70、ターゲットデータ特定部72、利用可否決定部78、除去部80、との関係が示されている。
【0045】
正例訓練データ記憶部50、負例訓練データ記憶部52、第1正例評価データ記憶部54a、第2正例評価データ記憶部54b、第1負例評価データ記憶部56a、第2負例評価データ記憶部56bは、記憶部14を主として実装される。識別器30、暫定評価識別器60、正例評価識別器62、負例評価識別器64は、プロセッサ12、及び、記憶部14を主として実装される。正例訓練データ生成部34、学習部38、入力特徴量データ生成部42、推定部44、特徴量抽出部68、暫定評価学習部70、ターゲットデータ特定部72、正例評価学習部74、負例評価学習部76、利用可否決定部78、除去部80は、プロセッサ12を主として実装される。入力画像取得部40、サンプル画像取得部66は、プロセッサ12、及び、撮影部20を主として実装される。
【0046】
識別器30は、本実施形態では、例えば、
図2及び
図3に示す識別器30aや、
図4及び
図5に示す識別器30bに相当する、SVMなどの機械学習モデルである。識別器30は、入力画像に写るオブジェクトが正クラスに属するものであるか否かを識別する。
【0047】
正例訓練データ生成部34は、本実施形態では例えば、識別器30に正例として学習させる上述の正例訓練データを生成する。
【0048】
正例訓練データ生成部34は、例えば、撮影部20によって撮影される複数の正例サンプル画像のそれぞれについて、当該正例サンプル画像に対応する特徴量を示す特徴量データである正例特徴量データを生成する。これらの正例サンプル画像のそれぞれには、正クラスに属するオブジェクトが写っている。ここで、上述した領域の抽出、正規化処理、及び、メトリック学習が実行済であるCNNを用いた特徴量データの生成が実行されることで、正例サンプル画像に対応する正例特徴量データが生成されてもよい。
【0049】
そして、正例訓練データ生成部34は、これらの正例特徴量データのうちの一部を正例訓練データとして正例訓練データ記憶部50に記憶させる。また、正例訓練データ生成部34は、これらの正例特徴量データのうちの残りのうちの一部を第1正例評価データとして第1正例評価データ記憶部54aに記憶させる。そして、正例訓練データ生成部34は、残りの正例特徴量データを第2正例評価データとして第2正例評価データ記憶部54bに記憶させる。ここで例えば、これらの正例特徴量データのうちの3分の1が、正例訓練データとして正例訓練データ記憶部50に記憶されるようにしてもよい。そして、残りの半分(全体の3分の1)が第1正例評価データとして第1正例評価データ記憶部54aに記憶されるようにしてもよい。そして、残り(全体の3分の1)が第2正例評価データとして第2正例評価データ記憶部54bに記憶されるようにしてもよい。
【0050】
負例訓練データ生成部36は、本実施形態では例えば、識別器30に負例として学習させる上述の負例訓練データを生成する。
【0051】
本実施形態では例えば、撮影部20によって撮影される複数の負例サンプル画像のそれぞれについて、当該負例サンプル画像に対応する特徴量を示す特徴量データである負例特徴量データを生成する。ここで、上述した領域の抽出、正規化処理、及び、メトリック学習が実行済であるCNNを用いた特徴量データの生成が実行されることで、負例サンプル画像に対応する負例特徴量データが生成されてもよい。
【0052】
そして、負例訓練データ生成部36は、これらの負例特徴量データのうちの一部を負例訓練データとして負例訓練データ記憶部52に記憶させる。また、負例訓練データ生成部36は、これらの負例特徴量データのうちの残りのうちの一部を第1負例評価データとして第1負例評価データ記憶部56aに記憶させる。そして、負例訓練データ生成部36は、残りの負例特徴量データを第2負例評価データとして第2負例評価データ記憶部56bに記憶させる。ここで例えば、これらの負例特徴量データのうちの3分の1が、負例訓練データとして負例訓練データ記憶部52に記憶されるようにしてもよい。そして、残りの半分(全体の3分の1)が第1負例評価データとして第1負例評価データ記憶部56aに記憶されるようにしてもよい。そして、残り(全体の3分の1)が第2負例評価データとして第2負例評価データ記憶部56bに記憶されるようにしてもよい。
【0053】
学習部38は、本実施形態では例えば、正例訓練データ記憶部50に記憶されている正例訓練データを正例とし、負例訓練データ記憶部52に記憶されている負例訓練データを負例として学習させた識別器30(学習済の識別器30)を生成する。
【0054】
入力画像取得部40は、本実施形態では例えば、撮影部20によって撮影された、写っているオブジェクトの推定対象となる入力画像を取得する。
【0055】
入力特徴量データ生成部42は、本実施形態では例えば、上述のようにして、入力画像に対応する特徴量を示す入力特徴量データを生成する。
【0056】
推定部44は、本実施形態では例えば、入力特徴量データを識別器30に入力することで、入力画像に写るオブジェクトが正クラスに属するものであるか否かを推定する。ここで推定部44は、例えば、入力特徴量データの入力に応じて識別器30から出力される識別スコアの値を特定してもよい。
【0057】
本実施形態では例えば、入力画像の撮影及び取得、入力特徴量データの生成、及び、入力画像に写るオブジェクトが正クラスに属するものであるか否かの推定が、所定のフレームレートで繰り返し実行される。このようにして、本実施形態では、フレームごとに、当該フレームで撮影された入力画像に写るオブジェクトが正クラスに属するものであるか否かが推定される。そのため、本実施形態によれば、高速な物体検出が実現可能となっている。また、本実施形態によれば、ユーザが用意した少量のデータによる識別器30の学習が可能となっており、従来技術のように識別器30の学習のために大量のラベル付きデータを用意する必要はない。
【0058】
本実施形態では例えば、識別器30aの学習が実行される際に正例訓練データ生成部34によって正例サンプル画像(A)に基づいて生成される正例特徴量データを正例特徴量データ(A)と呼ぶこととする。そして、この場合、正例特徴量データ(A)が、正例訓練データ(A)、第1正例評価データ(A)、又は、第2正例評価データ(A)に分類される。そして、正例訓練データ(A)、第1正例評価データ(A)、第2正例評価データ(A)がそれぞれ、正例訓練データ記憶部50、第1正例評価データ記憶部54a、第2正例評価データ記憶部54bに記憶される。
【0059】
また、識別器30aの学習が実行される際に負例訓練データ生成部36によって負例サンプル画像(A)に基づいて生成される負例特徴量データを負例特徴量データ(A)と呼ぶこととする。そして、この場合、負例特徴量データ(A)が、負例訓練データ(A)、第1負例評価データ(A)、又は、第2負例評価データ(A)のいずれかに分類される。そして、正例訓練データ(A)、第1負例評価データ(A)、第2負例評価データ(A)がそれぞれ、負例訓練データ記憶部52、第1負例評価データ記憶部56a、第2負例評価データ記憶部56bに記憶される。
【0060】
そして、学習部38は、上述のように、正例訓練データ記憶部50に記憶されている正例訓練データ(A)を正例とし、負例訓練データ記憶部52に記憶されている負例訓練データ(A)を負例として学習させた識別器30a(学習済の識別器30a)を生成する。
【0061】
その後、識別器30bの学習が実行される際に正例訓練データ生成部34によって正例サンプル画像(B)に基づいて生成される正例特徴量データを正例特徴量データ(B)と呼ぶこととする。そして、この場合、正例特徴量データ(B)が、正例訓練データ(B)、第1正例評価データ(B)、又は、第2正例評価データ(B)のいずれかに分類される。そして、正例訓練データ(B)、第1正例評価データ(B)、第2正例評価データ(B)がそれぞれ、正例訓練データ記憶部50、第1正例評価データ記憶部54a、第2正例評価データ記憶部54bに記憶される。
【0062】
そして、上述の負例訓練データ(A)、第1負例評価データ(A)、又は、第2負例評価データ(A)が、それぞれ、負例訓練データ記憶部52、第1負例評価データ記憶部56a、第2負例評価データ記憶部56bに記憶される。
【0063】
ここで、後述する処理によって、負例訓練データ記憶部52に記憶されている負例訓練データ(A)の一部が除去される。
【0064】
そして、学習部38は、上述のように、正例訓練データ記憶部50に記憶されている正例訓練データ(B)を正例とし、負例訓練データ記憶部52から除去されずに残った負例訓練データ(A)を負例として学習させた識別器30b(学習済の識別器30b)を生成する。
【0065】
以下、上述した負例訓練データ(A)の除去を中心に、負例訓練データ生成部36の機能についてさらに説明する。上述のように、負例訓練データ生成部36には、機能的には例えば、暫定評価識別器60、正例評価識別器62、負例評価識別器64、サンプル画像取得部66、特徴量抽出部68、暫定評価学習部70、ターゲットデータ特定部72、正例評価学習部74、負例評価学習部76、利用可否決定部78、除去部80、が含まれる。
【0066】
暫定評価識別器60、正例評価識別器62、負例評価識別器64、は、それぞれ、本実施形態では例えば、除去すべき負例訓練データ(A)の決定に用いられるSVMなどの機械学習モデルである。
【0067】
サンプル画像取得部66は、本実施形態では例えば、サンプルを撮影した画像であるサンプル画像を繰り返し取得する。サンプル画像取得部66は、例えば、識別器30aにおける負クラスに属するオブジェクトが写る負例サンプル画像(A)を繰り返し取得する。例えば、ユーザは撮影部20を動かしながら様々な角度からサンプルを撮影した動画像を撮影する。
【0068】
特徴量抽出部68は、本実施形態では例えば、サンプル画像に基づいて、当該サンプル画像に対応する特徴量を示す特徴量データを生成する。ここでサンプル画像に対して、上述した領域の抽出、正規化処理、及び、メトリック学習が実行済であるCNNを用いた特徴量データの生成が実行されることで、サンプル画像に対応する特徴量データが生成されてもよい。
【0069】
特徴量抽出部68は、例えば、負例サンプル画像(A)に基づいて、当該負例サンプル画像に対応する特徴量を示す負例特徴量データ(A)を生成する。そして、負例特徴量データ(A)を、負例訓練データ(A)、第1負例評価データ(A)、又は、第2負例評価データ(A)のいずれかに分類する。そして、特徴量抽出部68は、負例訓練データ(A)を負例訓練データ記憶部52に記憶させ、第1負例評価データ(A)を第1負例評価データ記憶部56aに記憶させ、第2負例評価データ(A)を第2負例評価データ記憶部56bに記憶させる。
【0070】
暫定評価学習部70は、本実施形態では例えば、第1正例評価データ(B)を正例とし第1負例評価データ(A)を負例として学習させた暫定評価識別器60(学習済の暫定評価識別器60)を生成する。
【0071】
ターゲットデータ特定部72は、本実施形態では例えば、複数の負例訓練データ(A)のそれぞれについて、当該負例訓練データ(A)を上述の学習が実行済である暫定評価識別器60に入力した際に暫定評価識別器60から出力される識別スコアを特定する。そして、これら複数の負例訓練データ(A)のうちから、特定される識別スコアの値に基づいて、ターゲットデータを特定する。例えば、特定される識別スコアの値が所定値よりも大きな負例訓練データ(A)がターゲットデータとして特定される。
【0072】
正例評価学習部74は、本実施形態では例えば、ターゲットデータを正例として学習させた正例評価識別器62(学習済の正例評価識別器62)を生成する。ここで、正例評価学習部74は、上述のようにしてターゲットデータ特定部72によって複数の負例訓練データ(A)のうちから特定されるターゲットデータを正例として学習させた正例評価識別器62を生成してもよい。また、正例評価学習部74は、ターゲットデータと第1正例評価データ(B)を正例とし、第1負例評価データ(A)を負例として学習させた正例評価識別器62を生成してもよい。
【0073】
負例評価学習部76は、本実施形態では例えば、ターゲットデータを負例として学習させた負例評価識別器64(学習済の負例評価識別器64)を生成する。例えば、負例評価学習部76は、上述のようにしてターゲットデータ特定部72によって複数の負例訓練データ(A)のうちから特定されるターゲットデータを負例として学習させた負例評価識別器64を生成してもよい。また、負例評価学習部76は、第1正例評価データ(B)を正例とし、ターゲットデータと第1負例評価データ(A)を負例として学習させた負例評価識別器64を生成してもよい。
【0074】
利用可否決定部78は、本実施形態では例えば、所与の評価データを用いて、正例評価識別器62の識別精度と負例評価識別器64の識別精度とを判定する。そして、利用可否決定部78は、本実施形態では例えば、判定される正例評価識別器62の識別精度と負例評価識別器64の識別精度に基づいて、ターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いるか否かを決定する。ターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いるか否かを決定する処理の詳細については後述する。
【0075】
除去部80は、本実施形態では例えば、利用可否決定部78によって識別器30bに学習させる負例訓練データ(A)として用いないことが決定されたターゲットデータを負例訓練データ記憶部52から除去する。
【0076】
学習部38は、正例訓練データ記憶部50に記憶されている正例訓練データ(B)を正例とし、このようにして負例訓練データ記憶部52から除去されずに残った負例訓練データ(A)を負例として学習させた識別器30bを生成することとなる。
【0077】
ここで、本実施形態に係る情報処理装置10において実行される、負例訓練データ(A)、第1負例評価データ(A)、及び、第2負例評価データ(A)の生成処理の流れの一例を、
図8に示すフロー図を参照しながら説明する。なお、以下に示す処理例では、ユーザは撮影部20を動かしながら様々な角度から識別器30aにおける負クラスに属するオブジェクトのサンプルを撮影した動画像を撮影することとする。そして、撮影部20は、サンプルを撮影したフレーム画像を所定のフレームレートで生成することとする。この撮影において、ユーザは、識別器30aにおける正クラスに属するオブジェクトが写りこまないように注意する必要がある。
【0078】
まず、サンプル画像取得部66が、撮影部20によって識別器30aにおける負クラスに属するオブジェクトのサンプルが撮影された最新の画像である負例サンプル画像(A)を取得する(S101)。
【0079】
そして、特徴量抽出部68が、S101に示す処理で取得された負例サンプル画像(A)に基づいて、当該負例サンプル画像(A)に対応する特徴量を示す負例特徴量データ(A)を生成する(S102)。
【0080】
そして、特徴量抽出部68が、S101に示す処理で取得された負例サンプル画像(A)のフレーム番号を3で割った余りを確認する(S103)。
【0081】
3で割った余りが0である場合は、S102に示す処理で生成された負例特徴量データ(A)を、負例訓練データ(A)として負例訓練データ記憶部52に記憶させる(S104)。
【0082】
3で割った余りが1である場合は、S102に示す処理で生成された負例特徴量データ(A)を、第1負例評価データ(A)として第1負例評価データ記憶部56aに記憶させる(S105)。
【0083】
3で割った余りが2である場合は、S102に示す処理で生成された負例特徴量データ(A)を、第2負例評価データ(A)として第2負例評価データ記憶部56bに記憶させる(S106)。
【0084】
そして、特徴量抽出部68は、所定の終了条件(例えば、所定数の負例訓練データ(A)、第1負例評価データ(A)、及び、第2負例評価データ(A)が収集された、など)を満足するか否かを確認する(S107)。
【0085】
所定の終了条件を満足しない場合は(S107:N)、S101に示す処理に戻る。
【0086】
所定の終了条件を満足する場合は(S107:Y)、本処理例に示す処理は終了される。
【0087】
本実施形態では例えば、識別器30aにおける負クラスに属する様々なオブジェクトについて、S101~S107に示す処理が実行されてもよい。そしてこのことによって、様々なオブジェクトについての負例訓練データ(A)、第1負例評価データ(A)、及び、第2負例評価データ(A)が蓄積される。
【0088】
また、上述の方法に限らず、Webから収集された画像など他の方法により収集された負例サンプル画像(A)に基づいて、上述のS101~S107に示す処理が実行されてもよい。そしてこのことによって、負例訓練データ(A)、第1負例評価データ(A)、及び、第2負例評価データ(A)が蓄積されてもよい。
【0089】
次に、本実施形態に係る情報処理装置10において実行される、正例訓練データ(B)、第1正例評価データ(B)、及び、第2負例評価データBの生成処理の流れの一例を、
図9に示すフロー図を参照しながら説明する。なお、以下に示す処理例では、ユーザは撮影部20を動かしながら様々な角度から識別器30bにおける正クラスに属するオブジェクトのサンプルを撮影した動画像を撮影することとする。そして、撮影部20は、サンプルを撮影したフレーム画像を所定のフレームレートで生成することとする。
【0090】
まず、正例訓練データ生成部34が、撮影部20によって識別器30bにおける正クラスに属するオブジェクトのサンプルが撮影された最新の画像である正例サンプル画像(B)を取得する(S201)。
【0091】
そして、正例訓練データ生成部34が、S201に示す処理で取得された正例サンプル画像(B)に基づいて、当該正例サンプル画像(B)に対応する特徴量を示す正例特徴量データ(B)を生成する(S202)。
【0092】
そして、正例訓練データ生成部34が、S201に示す処理で取得された正例サンプル画像(B)のフレーム番号を3で割った余りを確認する(S203)。
【0093】
3で割った余りが0である場合は、S202に示す処理で生成された正例特徴量データ(B)を、正例訓練データ(B)として正例訓練データ記憶部50に記憶させる(S204)。
【0094】
3で割った余りが1である場合は、S202に示す処理で生成された正例特徴量データ(B)を、第1正例評価データ(B)として第1負例評価データ記憶部56aに記憶させる(S205)。
【0095】
3で割った余りが2である場合は、S202に示す処理で生成された正例特徴量データ(B)を、第2正例評価データ(B)として第2正例評価データ記憶部54bに記憶させる(S206)。
【0096】
そして、正例訓練データ生成部34は、所定の終了条件(例えば、所定数の正例訓練データ(B)、第2正例評価データ(B)、及び、第2正例評価データ(B)が収集された、など)を満足するか否かを確認する(S207)。
【0097】
所定の終了条件を満足しない場合は(S207:N)、S101に示す処理に戻る。
【0098】
所定の終了条件を満足する場合は(S207:Y)、本処理例に示す処理は終了される。
【0099】
S201~S207に示す処理と同様の処理により、識別器30aにおける正クラスに属するオブジェクトのサンプルを撮影した動画像に基づく、正例訓練データ(A)、第1正例評価データ(A)、及び、第2正例評価データ(A)の収集が行われてもよい。
【0100】
そして、正例訓練データ(A)、及び、負例訓練データ(A)を用いた、識別器30aの学習が実行されてもよい。
【0101】
次に、本実施形態に係る情報処理装置10において実行される、正例訓練データ(A)の除去処理の流れの一例を、
図10A及び
図10Bに示すフロー図を参照しながら説明する。本処理例に示す処理の開始時には、複数の正例訓練データ(B)が正例訓練データ記憶部50に記憶されていることとする。また、複数の第1正例評価データ(B)が第1正例評価データ記憶部54aに記憶されていることとする。また、複数の第2正例評価データ(B)が第2正例評価データ記憶部54bに記憶されていることとする。また、複数の負例訓練データ(A)が負例訓練データ記憶部52に記憶されていることとする。また、複数の第1負例評価データ(A)が第1負例評価データ記憶部56aに記憶されていることとする。また、複数の第2負例評価データ(A)が第2正例評価データ記憶部54bに記憶されていることとする。
【0102】
まず、暫定評価学習部70が、第1正例評価データ記憶部54aに記憶されている第1正例評価データ(B)を正例とし第1負例評価データ記憶部56aに記憶されている第1負例評価データ(A)を負例として学習させた暫定評価識別器60を生成する(S301)。
【0103】
そして、ターゲットデータ特定部72が、S301に示す処理で生成された学習済の暫定評価識別器60を用いて、正例訓練データ記憶部50に記憶されている複数の正例訓練データ(B)のそれぞれについての識別スコアを特定する(S302)。ここでは例えば、正例訓練データ(B)を学習済の暫定評価識別器60に入力した際に暫定評価識別器60から出力される識別スコアが特定される。
【0104】
そして、ターゲットデータ特定部72が、S302に示す処理で複数の正例訓練データ(B)のそれぞれについて特定された識別スコアを昇順に並べた際の順位が先頭から10%に位置するものの値TH_Pを特定する(S303)。
【0105】
そして、ターゲットデータ特定部72が、S301に示す処理で生成された学習済の暫定評価識別器60を用いて、負例訓練データ記憶部52に記憶されている複数の負例訓練データ(A)のそれぞれについての識別スコアを特定する(S304)。ここでは例えば、負例訓練データ(A)を学習済の暫定評価識別器60に入力した際に暫定評価識別器60から出力される識別スコアが特定される。
【0106】
そして、ターゲットデータ特定部72が、複数の負例訓練データ(A)のうちからターゲットデータを特定する(S305)。ここで、ターゲットデータ特定部72が、識別器30bに正例として学習させる正例訓練データ(B)と、暫定評価識別器60と、を用いて、負例訓練データ(A)のうちからターゲットデータを特定してもよい。S305に示す処理では、例えば、ターゲットデータ特定部72は、複数の負例訓練データ(A)のうち、S304に示す処理で特定された識別スコアがS303に示す処理で特定された値TH_Pよりも大きなものをターゲットデータとして特定する。ここでは、複数のターゲットデータが特定されることとする。
【0107】
そして、ターゲットデータ特定部72が、S305に示す複数のターゲットデータを例えば、クラスタリング技術などを用いることで、ターゲットデータが示す特徴量間の距離が所定値e以下であるもの同士で結合されたターゲットデータ群に分類する(S306)。ここでは例えば、n個のターゲットデータ群(T_HN(1)~T_HN(n))に分類されることとする。
【0108】
そして、利用可否決定部78が、変数jの値に1を設定する(S307)。
【0109】
そして、負例評価学習部76が、第1正例評価データ(B)を正例とし第1負例評価データ(A)及びターゲットデータ群T_HN(j)に含まれる複数のターゲットデータを負例として学習させた負例評価識別器64(j)を生成する(S308)。
【0110】
そして、正例評価学習部74が、第1正例評価データ(B)及びターゲットデータ群T_HN(j)に含まれる複数のターゲットデータを正例とし第1負例評価データ(A)を負例として学習させた正例評価識別器62(j)を生成する(S309)。
【0111】
そして、利用可否決定部78が、正例評価識別器62(j)のF値(F_AP(j))、及び、負例評価識別器64(j)のF値(F_AN(j))を算出する(S310)。
【0112】
S310に示す処理では例えば、第2正例評価データ記憶部54bに記憶されている複数の第2正例評価データ(B)のそれぞれについて、S309に示す処理で生成された学習済の正例評価識別器62(j)に入力した際の出力である識別スコアが特定される。そして、特定された識別スコアが所定値以上であるものの数TP_P(j)と所定値未満であるものの数FP_P(j)が特定される。
【0113】
そして、上述の複数の第2正例評価データ(B)のそれぞれについて、S308に示す処理で生成された学習済の負例評価識別器64(j)に入力した際の出力である識別スコアが特定される。そして、特定された識別スコアが所定値以上であるものの数TP_N(j)と所定値未満であるものの数FP_N(j)が特定される。
【0114】
また、第2負例評価データ記憶部56bに記憶されている複数の第2負例評価データ(A)のそれぞれについて、S309に示す処理で生成された学習済の正例評価識別器62に入力した際の出力である識別スコアが特定される。そして、特定された識別スコアが所定値未満であるものの数TN_P(j)と所定値以上であるものの数FN_P(j)が特定される。
【0115】
そして、上述の複数の第2負例評価データ(A)のそれぞれについて、S308に示す処理で生成された学習済の負例評価識別器64(j)に入力した際の出力である識別スコアが特定される。そして、特定された識別スコアが所定値未満であるものの数TN_N(j)と所定値以上であるものの数FN_N(j)が特定される。
【0116】
そして、TP_P(j)/(TP_P(j)+FP_P(j))の値が正例評価識別器62の適合率として算出され、TP_P(j)/(TP_P(j)+FN_P(j))の値が正例評価識別器62(j)の再現率として算出される。そして、(2×適合率×再現率)/(適合率+再現率)の値が正例評価識別器62(j)のF値である値F_AP(j)として算出される。
【0117】
同様にして、TP_N(j)/(TP_N(j)+FP_N(j))の値が負例評価識別器64(j)の適合率として算出され、TP_N(j)/(TP_N(j)+FN_N(j))の値が負例評価識別器64(j)の再現率として算出される。そして、(2×適合率×再現率)/(適合率+再現率)の値が負例評価識別器64(j)のF値である値F_AN(j)として算出される。
【0118】
そして、利用可否決定部78が、F_AP(j)の値及びF_AN(j)の値に基づいて、ターゲットデータ群T_HN(j)に含まれる複数のターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いるか否かを決定する(S311)。
【0119】
ここでは例えば、所定の閾値をTHとした場合、F_AP(j)>F_AN(j)+THとの条件を満足する場合に、利用可否決定部78は、上述のターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いないことを決定する。一方、F_AP>F_AN+THとの条件を満足しない場合、利用可否決定部78は、上述のターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いることを決定する。
【0120】
そして、除去部80は、S311に示す処理でターゲットデータ群T_HN(j)に含まれる複数のターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いることが決定されたか否かを確認する(S312)。
【0121】
S311に示す処理で、ターゲットデータ群T_HN(j)に含まれる複数のターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いないことが決定されたとする(S312:N)。この場合、除去部80が、ターゲットデータ群T_HN(j)に含まれる複数のターゲットデータを負例訓練データ記憶部52から除去する(S313)。
【0122】
そして、利用可否決定部78は、変数jの値がnであるか否かを確認する(S314)。S311に示す処理で、ターゲットデータ群T_HN(j)に含まれる複数のターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いることが決定されたとする(S312:Y)。この場合も、利用可否決定部78は、変数jの値がnであるか否かを確認する(S314)。
【0123】
変数jの値がnでない場合は(S314:N)、利用可否決定部78は、変数jの値を1増加させて(S315)、S308に示す処理に戻る。
【0124】
変数jの値がnである場合は(S314:Y)、本処理例に示す処理は終了される。
【0125】
本処理例のS307~S315に示す処理において、正例評価学習部74は、複数のターゲットデータ群(T_HN(1)~T_HN(n))のそれぞれについて、当該ターゲットデータ群に含まれる複数のターゲットデータを正例として学習させた、当該ターゲットデータ群に対応付けられる正例評価識別器62(正例評価識別器62(1)~正例評価識別器62(n))を生成することとなる。
【0126】
また、負例評価学習部76は、複数のターゲットデータ群(T_HN(1)~T_HN(n))のそれぞれについて、当該ターゲットデータ群に含まれる複数のターゲットデータを負例として学習させた、当該ターゲットデータ群に対応付けられる負例評価識別器64(負例評価識別器64(1)~負例評価識別器64(n))を生成することとなる。
【0127】
そして、利用可否決定部78は、当該ターゲットデータ群に対応付けられる正例評価識別器62の識別精度と当該ターゲットデータ群に対応付けられる負例評価識別器64の識別精度とを判定することとなる。
【0128】
そして、利用可否決定部78は、当該ターゲットデータ群に含まれる複数のターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いるか否かを決定することとなる。
【0129】
なお、本実施形態において、識別器30の分類クラスは2クラスである必要はなく、3クラス以上の分類が可能であるもの(すなわち、互いに異なる正クラスが複数存在するもの)であってもよい。
【0130】
以下、識別器30bにおける正クラスが3つ存在する場合を例に説明する。ここで、これら3つのクラスを、それぞれ、第1正クラス、第2正クラス、第3正クラスと呼ぶこととする。
【0131】
この場合、例えば、第1正クラスに属するオブジェクトが写るサンプル画像に基づいて、当該正例サンプル画像に対応する特徴量を示す特徴量データである正例特徴量データ(B1)が生成される。そして、複数の正例特徴量データ(B1)が一部ずつ、正例訓練データ生成部34、第1正例評価データ記憶部54a、第2正例評価データ記憶部54bに記憶される。正例訓練データ生成部34に記憶される正例特徴量データ(B1)を正例訓練データ(B1)と呼ぶこととする。また、第1正例評価データ記憶部54aに記憶される正例特徴量データ(B1)を第1正例評価データ(B1)と呼ぶこととする。また、第2正例評価データ記憶部54bに記憶される正例特徴量データ(B1)を第2正例評価データ(B1)と呼ぶこととする。
【0132】
また、例えば、第2正クラスに属するオブジェクトが写るサンプル画像に基づいて、当該正例サンプル画像に対応する特徴量を示す特徴量データである正例特徴量データ(B2)が生成される。そして、複数の正例特徴量データ(B2)が一部ずつ、正例訓練データ生成部34、第1正例評価データ記憶部54a、第2正例評価データ記憶部54bに記憶される。正例訓練データ生成部34に記憶される正例特徴量データ(B2)を正例訓練データ(B2)と呼ぶこととする。また、第1正例評価データ記憶部54aに記憶される正例特徴量データ(B2)を第1正例評価データ(B2)と呼ぶこととする。また、第2正例評価データ記憶部54bに記憶される正例特徴量データ(B2)を第2正例評価データ(B2)と呼ぶこととする。
【0133】
また、例えば、第3正クラスに属するオブジェクトが写るサンプル画像に基づいて、当該正例サンプル画像に対応する特徴量を示す特徴量データである正例特徴量データ(B3)が生成される。そして、複数の正例特徴量データ(B3)が一部ずつ、正例訓練データ生成部34、第1正例評価データ記憶部54a、第2正例評価データ記憶部54bに記憶される。正例訓練データ生成部34に記憶される正例特徴量データ(B3)を正例訓練データ(B3)と呼ぶこととする。また、第1正例評価データ記憶部54aに記憶される正例特徴量データ(B3)を第1正例評価データ(B3)と呼ぶこととする。また、第2正例評価データ記憶部54bに記憶される正例特徴量データ(B3)を第2正例評価データ(B3)と呼ぶこととする。
【0134】
そして、第1正例評価データ記憶部54aに記憶されている第1正例評価データ(B1)を第1正クラスの正例とし、第1正例評価データ記憶部54aに記憶されている第1正例評価データ(B2)を第2正クラスの正例とし、第1正例評価データ記憶部54aに記憶されている第1正例評価データ(B3)を第3正クラスの正例とし、第1負例評価データ記憶部56aに記憶されている第1負例評価データ(A)を負例として学習させたマルチクラス識別モデルである暫定評価識別器60が生成される。この暫定評価識別器60は、例えば、画像の入力に応じて、当該画像に写るオブジェクトが第1正クラスに属するものである確率、第2正クラスに属するものである確率、及び、第3正クラスに属するものである確率を示す識別スコアを出力することとする。
【0135】
そして、負例訓練データ記憶部52に記憶されている複数の負例訓練データ(A)のそれぞれについての、第1正クラス、第2正クラス、第3正クラスのそれぞれについての識別スコアが特定される。ここでは例えば、負例訓練データ(A)を学習済の暫定評価識別器60に入力した際に暫定評価識別器60から出力される識別スコアが特定される。
【0136】
そして、第1正クラス、第2正クラス、第3正クラスのそれぞれについて、所定の基準を満たす識別スコアに対応する負例訓練データ(A)がターゲットデータとして特定される。例えば、第1正クラスについての識別スコアが所定値以上である負例訓練データ(A)が、第1ターゲットデータとして特定される。また、第2正クラスについての識別スコアが所定値以上である負例訓練データ(A)が、第2ターゲットデータとして特定される。また、第3正クラスについての識別スコアが所定値以上である負例訓練データ(A)が、第3ターゲットデータとして特定される。
【0137】
そして、S306に示す処理と同様の処理により、第1ターゲットデータが、n1個の第1ターゲットデータ群(T_HN(1)(1)~T_HN(1)(n1))に分類される。また、第2ターゲットデータが、n2個の第2ターゲットデータ群(T_HN(2)(1)~T_HN(2)(n2))に分類される。また、第3ターゲットデータが、n3個の第3ターゲットデータ群(T_HN(3)1~T_HN(3)(n3))に分類される。
【0138】
そして、これらのターゲットデータ群に対して、S307~S315に示す処理と同様の処理が実行される。
【0139】
この場合、第1ターゲットデータ群に含まれる複数の第1ターゲットデータについては、S308に示す処理で、第1正例評価データ(B1)を第1正クラスの正例とし、第1正例評価データ(B2)を第2正クラスの正例とし、第1正例評価データ(B3)を第3正クラスの正例とし、第1負例評価データ(A)及び第1ターゲットデータ群T_HN(1)(j)に含まれる複数の第1ターゲットデータを負例として学習させた負例評価識別器64(1)(j)が生成される。
【0140】
また、S309に示す処理で、第1正例評価データ(B1)及び第1ターゲットデータ群T_HN(1)(j)に含まれる複数の第1ターゲットデータを第1正クラスの正例とし、第1正例評価データ(B2)を第2正クラスの正例とし、第1正例評価データ(B3)を第3正クラスの正例とし、第1負例評価データ(A)を負例として学習させた正例評価識別器62(1)(j)が生成される。
【0141】
そして、S310に示す処理で、正例評価識別器62(1)(j)のF値(F_AP(1)(j))、及び、負例評価識別器64(1)(j)のF値(F_AN(1)(j))が算出される。
【0142】
そして、S311に示す処理で、F_AP(1)(j)の値及びF_AN(1)(j)の値に基づいて、第1ターゲットデータ群T_HN(1)(j)に含まれる複数の第1ターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いるか否かが決定される。
【0143】
同様に、第2ターゲットデータ群に含まれる複数の第2ターゲットデータについては、S308に示す処理で、第1正例評価データ(B1)を第1正クラスの正例とし、第1正例評価データ(B2)を第2正クラスの正例とし、第1正例評価データ(B3)を第3正クラスの正例とし、第1負例評価データ(A)及び第2ターゲットデータ群T_HN(2)(j)に含まれる複数の第2ターゲットデータを負例として学習させた負例評価識別器64(2)(j)が生成される。
【0144】
また、S309に示す処理で、第1正例評価データ(B1)を第1正クラスの正例とし、第1正例評価データ(B2)及び第2ターゲットデータ群T_HN(2)(j)に含まれる複数の第2ターゲットデータを第2正クラスの正例とし、第1正例評価データ(B3)を第3正クラスの正例とし、第1負例評価データ(A)を負例として学習させた正例評価識別器62(2)(j)が生成される。
【0145】
そして、S310に示す処理で、正例評価識別器62(2)(j)のF値(F_AP(2)(j))、及び、負例評価識別器64(2)(j)のF値(F_AN(2)(j))が算出される。
【0146】
そして、S311に示す処理で、F_AP(2)(j)の値及びF_AN(2)(j)の値に基づいて、第2ターゲットデータ群T_HN(2)(j)に含まれる複数の第2ターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いるか否かが決定される。
【0147】
同様に、第3ターゲットデータ群に含まれる複数の第3ターゲットデータについては、S308に示す処理で、第1正例評価データ(B1)を第1正クラスの正例とし、第1正例評価データ(B2)を第2正クラスの正例とし、第1正例評価データ(B3)を第3正クラスの正例とし、第1負例評価データ(A)及び第3ターゲットデータ群T_HN(3)(j)に含まれる複数の第3ターゲットデータを負例として学習させた負例評価識別器64(3)(j)が生成される。
【0148】
また、S309に示す処理で、第1正例評価データ(B1)を第1正クラスの正例とし、第1正例評価データ(B2)を第2正クラスの正例とし、第1正例評価データ(B3)及び第3ターゲットデータ群T_HN(3)(j)に含まれる複数の第3ターゲットデータを第3正クラスの正例とし、第1負例評価データ(A)を負例として学習させた正例評価識別器62(3)(j)が生成される。
【0149】
そして、S310に示す処理で、正例評価識別器62(3)(j)のF値(F_AP(3)(j))、及び、負例評価識別器64(3)(j)のF値(F_AN(3)(j))が算出される。
【0150】
そして、S311に示す処理で、F_AP(3)(j)の値及びF_AN(3)(j)の値に基づいて、第3ターゲットデータ群T_HN(3)(j)に含まれる複数の第3ターゲットデータを識別器30bに学習させる負例訓練データ(A)として用いるか否かが決定される。
【0151】
以上の処理によって、識別器30bに学習させる負例訓練データ(A)として用いないことが決定された第1ターゲットデータ、第2ターゲットデータ、及び、第3ターゲットデータについては、S313に示す処理で負例訓練データ記憶部52から除去される。
【0152】
以上の例では、1つの負例訓練データ(A)が、複数の正クラスについてのターゲットデータとして特定される可能性がある。そして、複数の正クラスについて識別器30bに学習させる負例訓練データ(A)として用いないことが重複して決定されることがある。このようなターゲットデータについても、本実施形態では、S313に示す処理で負例訓練データ記憶部52から除去されることとする。
【0153】
以上で説明したように、本実施形態は、識別器30bがマルチクラスの識別モデルである場合にも適用可能である。
【0154】
本実施形態では、以上のようにして、識別器30aの学習に用いられた訓練データのうちから、識別器30bにおいて正例として取り扱われるものが適切に除去できる。このようにして、本実施形態によれば、識別器30aの学習に用いられた訓練データを識別器30bの学習に流用できることとなる。
【0155】
なお、本発明は上述の実施形態に限定されるものではない。
【0156】
例えば、識別器30や暫定評価識別器60や正例評価識別器62や負例評価識別器64は、任意のカーネルのSVMであってもよい。また、識別器30や暫定評価識別器60や正例評価識別器62や負例評価識別器64は、K近傍法、ロジスティック回帰、アダブースト等のブースティング手法などの手法を用いた識別器であってもよい。また、識別器30や暫定評価識別器60や正例評価識別器62や負例評価識別器64が、ニューラルネットワーク、ナイーブベイズ分類器、ランダムフォレスト、決定木などによって実装されてもよい。
【0157】
また、識別器30や暫定評価識別器60や正例評価識別器62や負例評価識別器64が、入力画像に写るオブジェクトが正クラスに属するものであることを示すか否かを示す二値の識別スコアを出力するものであってもよい。
【0158】
また、入力画像から複数の領域が抽出されて、それぞれの領域について、推定部44にって、当該領域の画像に写るオブジェクトが正クラスに属するものであるか否かが推定されてもよい。
【0159】
また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。