説明

識別器学習画像生成プログラム、方法、及びシステム

【課題】識別アプリ開発における学習用画像の収集作業、特に、識別アルゴリズム開発早期段階における初期学習用画像の収集作業を効率化する識別器学習画像生成プログラム、方法、及びシステムを提供する。
【解決手段】画像入力ステップS120と、入力した画像から識別対象領域を検知し、複数の検知データD120を取得して記憶装置に記録する検知ステップS130と、複数の検知データD120を統合して学習画像候補情報を取得し、検知データD120として記憶装置に記録する候補統合ステップS140と、入力した画像から識別器を学習させるための複数の学習画像を切出し、学習画像データとして記憶装置に記録する画像切出しステップS150と、学習画像を1つ以上の集合に分類する画像分類ステップS170と、学習画像を表示する学習画像表示ステップS180とをコンピュータに実行させるプログラムによって、学習画像収集作業を効率化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、識別器を用いた画像認識システムの開発における、識別器の学習用画像の収集技術に関するものである。
【背景技術】
【0002】
画像認識システムは、処理性能の向上により、従来のFA(Factory Automation)分野から、屋内外の人物監視、デジタルカメラなどの顔認識、車載カメラによる外界認識など、幅広い分野に応用されてきている。
【0003】
特に、近年は、物体等の検知・追跡だけでなく、物体の種別の識別まで行うものが一般的になっている(例えば、人物監視であれば挙動の正常/異常の識別、顔認識であれば性別の識別など)。
【0004】
これらの画像識別アプリケーション(以下、「識別アプリ」と称する)では、識別対象が剛体ではないために変形する、非常に多様な見た目をもつ、などの理由で、ニューラルネットワーク(ニューロ)や、サポートベクタマシン(SVM)等の識別器を用いることが一般的である。
【0005】
識別器を用いて画像識別を行う場合、まず、識別器を学習させるための学習画像(教示画像)を多数収集する必要がある。従来、学習画像の収集作業は人手で行う必要があり、多大な工数が必要であった。
【0006】
例えば、10×10画素の画像(物体のテクスチャや形状を目視判定するには、この程度の解像度が必要)を識別する場合、この各画素を識別用特徴量とみなすと、特徴量の次元数は100次元となる。一般的に、識別器で安定した識別を行うためには特徴量次元数の10倍以上の学習データ数が必要といわれており、このケースでは1クラス当たり1000枚の画像が学習データとして必要となる(識別したいクラス数が増えれば必要な画像の枚数も増える)。
【0007】
なお、クラスとは、識別器学習において識別器に与える「正解値」や「不正解値」のことを指す。例えば、人物の性別識別の例では、男性画像に対しては「男性」、女性画像に対しては「女性」などの分類情報がクラスに該当する。さらに、識別器の種類によっては、学習画像に正解画像と不正解画像の両方を含める必要がある。例えば、人物の性別識別の例では、前記の男性画像と女性画像だけでなく背景画像などを「クラス=その他」などとして意図的に学習させるケースがある。このケースでは、男性画像と女性画像が「正解画像」であり、背景画像などのノイズ画像が「不正解画像」である。
【0008】
また、移動体識別を扱う動画像処理の場合は、画像1フレーム(または処理周期の1周期)ごとに学習画像を切出すという作業がある。このため、工数の問題だけでなく、切出し作業品質が維持できないために、つまり、学習画像領域が所望領域からずれるために、学習アルゴリズムが収束しない、識別性能が安定しない、などの問題を引き起こす。
【0009】
上記のような学習画像収集の問題に対して、従来は、あらかじめ収集した初期画像を画像処理で加工(例えば、画像回転やノイズ重畳)することにより擬似学習画像を増やす装置(特許文献1)や、あらかじめ収集した学習画像群を識別に用いる特徴量空間上にマッピングすることで、その画像群が学習用画像として適切かどうかの判断を支援する方法(特許文献2)などが考案されている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開平7−21367号公報
【特許文献2】特開2006−293528号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、従来の方法は、あらかじめ多数の画像を収集する作業自体の工数を低減するものではない。例えば、特許文献1に記載の技術では、加工前の初期画像があれば擬似データを増やすことは可能であるが、初期画像自体の収集作業は別途必要である。また、擬似画像生成時に用いる加工パターン(ノイズなど)が、実際の撮影時に得られる変化パターンと一致しない場合、識別性能に悪影響を与えることがある。
【0012】
さらに、例えば、特許文献2では、収集した画像自体が学習に適するかどうかの目視選別作業は効率化できるが、選別対象となる画像収集作業自体の効率化はできない。また、この方法は特徴量空間へのマッピングを行うため、識別用特徴量種別が既に定まっている追加学習時には効果が期待できるものの、アルゴリズム開発途中の特徴量種別決定前の段階ではマッピング先空間が固定されないため、初期学習時点では効果が期待できない。
【0013】
特に、人物などの非剛体識別を行う場合や、広角レンズカメラなどにより画像中の位置によって大きな画像ひずみを伴う場合には、非常に多様かつ多くの画像を初期学習用画像として収集する必要があり、その作業工数の低減が大きな課題となっている。
【0014】
そこで、本発明は、識別アプリ開発における学習用画像の収集作業、特に、識別アルゴリズム開発早期段階における初期学習用画像の収集作業を効率化することのできる識別器学習画像生成プログラム、識別器学習画像生成方法、及び識別器学習画像生成システムを提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明による識別器学習画像生成プログラムは、基本的には次のような特徴を持つ。記憶装置または画像撮影装置から画像を入力する画像入力ステップと、入力した前記画像から識別対象領域を検知し、少なくとも前記識別対象領域の座標情報を含む複数の検知データを取得し、前記検知データを記憶装置に記録する検知ステップと、複数の前記検知データを統合して学習画像候補情報を取得し、前記学習画像候補情報を前記検知データとして記憶装置に記録する候補統合ステップと、前記検知データに含まれる前記座標情報を用いて、入力した前記画像から識別器を学習させるための複数の学習画像を切出し、複数の前記学習画像を学習画像データとして出力し記憶装置に記録する画像切出しステップと、前記学習画像を1つ以上の集合に分類する画像分類ステップと、前記学習画像を表示装置に表示する学習画像表示ステップとをコンピュータに実行させる。
【0016】
また、本発明による識別器学習画像生成方法は、基本的には次のような特徴を持つ。記憶装置または画像撮影装置から画像を入力する画像入力ステップと、入力した前記画像から識別対象領域を検知し、少なくとも前記識別対象領域の座標情報を含む複数の検知データを取得し、前記検知データを記憶装置に記録する検知ステップと、複数の前記検知データを統合して学習画像候補情報を取得し、前記学習画像候補情報を前記検知データとして記憶装置に記録する候補統合ステップと、前記検知データに含まれる前記座標情報を用いて、入力した前記画像から識別器を学習させるための複数の学習画像を切出し、複数の前記学習画像を学習画像データとして出力し記憶装置に記録する画像切出しステップと、前記学習画像を1つ以上の集合に分類する画像分類ステップと、前記学習画像を表示装置に表示する学習画像表示ステップとを備える。
【0017】
また、本発明による識別器学習画像生成システムは、前記表示装置と、入力装置と、前記記憶装置と、情報処理装置とで構成され、前記情報処理装置で、上述の識別器学習画像生成プログラムを実行すること、または、上述の識別器学習画像生成方法を実行することを特徴とする。
【発明の効果】
【0018】
本発明により、識別アプリの開発において、識別器学習用画像の収集作業を効率化することができる。特に、画像識別アルゴリズムの開発完了後の追加学習時点に用いる追加学習用画像だけでなく、開発の早期段階における初期学習用画像の収集作業を効率化することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施例1による識別器学習画像生成プログラム及びデータの全体処理の概要を示す図。
【図2】実施例1における識別器学習画像生成システムの装置構成を示す図。
【図3】検知データのデータ形式及びデータ例を示す図。
【図4】候補統合処理のフローチャート。
【図5】実施例1における画像分類処理のフローチャート。
【図6】実施例1における学習画像表示処理のフローチャート。
【図7】実施例1における学習画像表示画面の例を示す図。
【図8】本発明の実施例2による識別器学習画像生成プログラム及びデータの全体処理の概要を示す図。
【図9】実施例2における画像分類処理のフローチャート。
【図10】実施例2における学習画像表示処理のフローチャート。
【図11】実施例2における学習画像表示画面の例を示す図。
【図12】本発明の実施例3による識別器学習画像生成プログラム及びデータの全体処理の概要を示す図。
【図13】実施例3における検知データのデータ形式及びデータ例を示す図。
【図14】実施例3における画像分類処理のフローチャート。
【図15】実施例3における画像選択処理のフローチャート。
【発明を実施するための形態】
【0020】
本発明による識別器学習画像生成プログラム、識別器学習画像生成方法、及び識別器学習画像生成システムの実施例を、図面を使って説明する。以下の実施例では、説明の便宜上、識別対象領域を人物や車両などの物体として説明するが、本発明は、識別対象領域として物体以外を取り扱うことも可能である。例えば、FA検査分野における不良個所部分の画像を識別対象領域と設定した場合にも、本発明は適用可能である。このような場合には、以下の説明で物体について述べている部分を、領域について述べていると適宜読み替えればよい。
【実施例1】
【0021】
本発明による識別器学習画像生成プログラム、識別器学習画像生成方法、及び識別器学習画像生成システムの一実施例を、図1〜図7を使って説明する。
【0022】
なお、本実施例では、動画像処理において、自動で学習画像の収集を行う例として、車載フロントカメラによる道路標識の認識について説明する。
【0023】
まず、図1を使って、本実施例による識別器学習画像生成プログラムとデータの全体処理の概要を説明する。本実施例による識別器学習画像生成プログラム100は、ループ処理S110、S160、画像入力処理S120、検知処理S130、候補統合処理S140、画像切出し処理S150、画像分類処理S170、及び学習画像表示処理S180の各処理ステップによって構成され、原画像データD110、検知データD120、及び学習画像データD130の各データを入出力する。ループ処理S110、S160により、S120からS150までの各処理を動画中の各フレーム(または処理周期)に適用する。
【0024】
処理周期とは、動画像処理における画像入力から認識処理、結果表示にいたる一連の処理の周期のことで、本実施例では、例えば66msなどの映像規格にあわせた周期のことを示す。
【0025】
原画像データD110は、識別対象となる物体を含むシーンがあらかじめ撮影された画像データであり、入力画像(原画像)として用いる。なお、原画像データD110は、本実施例では動画像処理の例なので動画データファイルであるが、発明の構成上は静止画ファイル群であっても構わない。
【0026】
検知データD120は、検知処理S130によって検知された物体に関する情報を保持するデータであり、例えば、物体のIDや位置情報などが書き込まれる。検知データD120には、候補統合処理S140が行なわれる。検知データD120の詳細については、後述する。
【0027】
学習画像データD130は、識別器学習画像生成プログラム100による一連の処理(S110〜S170)を完了した結果として得られるデータである。具体的には、画像分類処理S170により情報が追加されて最終的に得られる検知データD120と、学習用静止画ファイル群とで構成されるデータである。
【0028】
次に、識別器学習画像生成プログラム100の処理手順の概要について説明する。
【0029】
まず、原画像データD110から1枚の原画像を取り込み、さらにその原画像から学習画像の候補となる部分画像とその部分画像の座標情報とを抽出する(ステップS110〜S160)。以下、ステップS120〜S150の各ステップを具体的に説明する
初めに、原画像データD110から、動画中の各フレーム(または処理周期)に該当する静止画を1枚切出して、原画像として入力する(ステップS120)。
【0030】
この静止画(原画像)に対して検知処理を行って、識別対象となる物体が映っている部分の物体座標(本実施例では、物体に外接する矩形の始点・終点座標)を得る(ステップS130)。この検知処理では、1枚の原画像に対して複数の物体座標(物体座標群)が得られる。この時点で得られる物体座標群は、厳密に正しい座標である必要はなく、ノイズを含んでもよいものと仮定する。得られた物体座標群は、検知データD120に記録する。
【0031】
次に、得られた物体座標群に対し、相互の位置関係をチェックし、同一物体を複数誤検知している可能性が高いものを統合処理する(ステップS140)。この候補統合処理の詳細は後述する。
【0032】
ここまでの処理によって、同一物体当たり1つの物体座標が得られるので、その物体座標に該当する領域を部分画像として切出し、学習画像データD130に記録する(ステップS150)。学習画像データD130に記録される部分画像は、ノイズ(不適切な検知結果)が消去されたデータであり、学習画像の候補(学習画像候補)となる。
【0033】
以上のS120からS150までの各処理を、動画中の各フレームI(または処理周期)に適用する(ステップS110、S160)。
【0034】
ステップS110〜S160の処理によって原画像データD110内の動画を処理し終えると、次に、切出した部分画像群(学習画像候補)に対して、分類を行う(ステップS170)。この画像分類処理の詳細は後述する。
【0035】
最後に、最終的に学習画像として採用された画像群を表示する(ステップS180)。この学習画像表示処理の詳細は後述する。
【0036】
なお、検知処理S130にて用いる検知方法は、識別アプリ(画像識別アプリケーション)ごとに異なる手法を用いることができ、公知の方法を用いて構わない。例えば、本実施例で例示する車載カメラによる円形標識認識であれば、分離度フィルタやハフ変換法による円検知などが用いられる。また、固定カメラによる侵入者検知であれば、フレーム間差分法や背景差分法による人物検知などが用いられる。これらの検知方法は、本発明における検知方法を限定するものではない。
【0037】
さらに、原画像データD110と学習画像データD130内の学習用静止画ファイルの実現方法には、公知の方法を用いて構わない。例えば、一般的な方法として、オペレーティングシステムが提供するファイルシステム上でムービーデータまたは画像ファイルデータとして実現する方法が考えられる。
【0038】
さらに、本実施例では、画像入力処理S120は、動画データを原画像データD110から入力する例を挙げているが、他の入力方法を用いても構わない。例えば、カメラなどの画像撮影装置を画像認識システムに接続し、画像撮影装置が撮影する動画像からリアルタイムに各フレームを直接取り込む方式を用いてもよい。
【0039】
図2に、本実施例による識別器学習画像生成システムの装置構成を示す。本実施例による識別器学習画像生成システム200は、計算機によって構成され、具体的には、情報処理装置210、入力装置220、表示装置230、記憶装置240、及び記憶媒体250によって構成される。
【0040】
記憶媒体250には、識別器学習画像生成プログラム100が記録される。識別器学習画像生成プログラム100は、本実施例による識別器学習画像生成プログラムであり、記憶媒体250に計算機で実行可能な形式で記録され、識別器学習画像生成システム200によって読み込まれ、実行される。
【0041】
情報処理装置210は、識別器学習画像生成システム200の全体処理を司り、識別器学習画像生成プログラム100を実行する。
【0042】
入力装置220は、識別器学習画像生成プログラム100で行なわれる処理のうち、ユーザ201からの入力に関わる処理を実行する。具体的には、後述する学習画像表示画面に対する入力を処理する。
【0043】
表示装置230は、識別器学習画像生成プログラム100で行なわれる処理のうち、ユーザ201に対する表示に関わる処理を実行する。具体的には、後述する学習画像表示画面の表示を制御する。
【0044】
記憶装置240には、原画像データD110、検知データD120、及び学習画像データD130が記憶される。これらの各データに対し、情報処理装置210、入力装置220、及び表示装置230では、それぞれデータ処理、入力処理、及び表示処理が実行される。
【0045】
なお、本実施例では、記憶装置240と記憶媒体250は別の装置(媒体)として扱っているが、これらは同一の装置(媒体)でも構わない。例えば、識別器学習画像生成プログラム100は、記憶装置240に格納されていてもよく、通信回線などでアクセス可能な、識別器学習画像生成プログラム100を実行する計算機とは異なる計算機に格納されていてもよい。
【0046】
また、本実施例における記憶装置240及び記憶媒体250は、その実現方式を限定するものではない。例えば、ハードディスクドライブでも構わないし、半導体メモリでも構わない。
【0047】
さらに、本実施例では単一の計算機による識別器学習画像生成システムを示したが、本発明による識別器学習画像生成システムは、必ずしも単一の計算機により実現される必要はない。例えば、2つの計算機が互いに通信機能を有する場合、一方の計算機上の入力装置220及び表示装置230を利用して入出力処理を実施し、もう一方の計算機上で情報処理装置210及び記憶装置240を利用してデータ処理及び記憶処理を実施するなどしても構わない。つまり、スタンドアロン型のシステムであっても、Webシステムなどのマルチクライアント型システムであっても構わない。
【0048】
図3に、検知データD120のデータ形式とデータ例を示す。検知データD120は、検知処理S130(図1)によって検知された物体に関する情報(物体情報)を保持するデータであり、物体ID、物体検知時間、物体の位置情報、クラス情報、及び学習画像ファイルへのパスという各情報を持つ(図3では表記の都合上、表を2つに分けているが、実際は物体ID1つ当たり1行がつながっている表である)。このうち、クラス情報、及び学習画像ファイルへのパスは、画像分類処理S170で設定される。
【0049】
物体IDは、個々の物体情報を特定する識別子である。
【0050】
物体検知時間は、物体が検知された時間的位置を示す。本実施例では、時間の管理単位として動画フレーム番号を用いる。従って、物体検知時間は、入力された動画の何フレーム目に物体が検知されたかを示している。なお、時間単位として実際の時間(年月日、時分秒、ミリ秒)を用いても構わない。
【0051】
物体の位置情報は、検知された物体の物体座標、すなわち、物体に外接する矩形の、画像空間上での始点及び終点座標を示す。なお、本実施例では、座標の管理単位として画像空間上の画素位置(ピクセル)を用いているが、実空間上の3次元座標を座標単位に用いても構わない。
【0052】
クラス情報は、学習画像に映っている物体がどのクラスに属するかを示す。
【0053】
学習画像ファイルパスは、物体が映っている部分画像(学習画像候補)のファイルのパスを示す。
【0054】
検知データD120は、画像分類処理S170でクラス情報、及び学習画像ファイルへのパスが設定されると、学習画像データD130内に登録される。
【0055】
図4に、図1に示した候補統合処理S140の処理フローを示す。
【0056】
まず、検知データD120に登録された物体情報群の中から、同一時刻に検知され、かつ、所定距離内に存在する物体(物体群)を選択する(ステップS400)。本実施例では、この際の「所定距離」はあらかじめユーザが与えておくものとする。
【0057】
次に、選択された物体群について、座標及びサイズの平均値を計算する(ステップS410)。
【0058】
この平均値情報を基にして、物体群を1つに統合した代表物体の座標とサイズを計算する(ステップS420)。具体的な計算方法としては、統合前の物体群のうち、平均値に最も近いものを1つ選択して代表物体とする方法や、平均座標(始点及び終点)からサイズを求めて代表物体の領域を定義しなおす方法、始点平均座標と平均サイズから終点座標を求めて代表物体の領域を定義しなおす方法などが考えられる。
【0059】
最後に、統合前の物体群のうち、代表物体(統合後の物体)以外の物体情報を消去する(ステップS430)。
【0060】
図5に、図1に示した画像分類処理S170の処理フローを示す。
【0061】
まず、画像切出し処理S150で切出された部分画像群(学習画像候補)のクラスタリング処理を行い(ステップS500)、学習画像候補を1つ以上の集合(クラスタ)に分類する。具体的には、例えば、画像の各画素値を特徴量ベクトルとみなして、画像1枚当たり1個の特徴量ベクトルを構成したのち、各画像の特徴量ベクトルを公知のクラスタリング法(例えば、k平均法やMean−Shift法など)でクラスタリングする。
【0062】
次に、クラスタリング処理で得られたクラスタ毎に識別コードを割り振り、その識別コードを各画像が属するクラス名として、検知データD120のクラス情報(図3参照)に設定する(ステップS510)。
【0063】
最後に、クラスタ毎に分けて画像ファイルを出力するとともに、検知データD120の学習画像ファイルパス情報(図3参照)を設定する(ステップS520)。画像ファイルは、出力フォルダなどを分けることで、クラスタ毎に分けて出力する。
【0064】
図6に、図1に示した学習画像表示処理S180の処理フローを示す。
【0065】
まず、最終的に採用された学習画像群を一覧表示する(ステップS600)。
【0066】
次に、表示した各学習画像がそれぞれどのクラスに属するか分かるように、クラス別に表示状態を変更する(ステップS610)。この表示の例は、図7を用いて説明する。
【0067】
図7は、学習画像表示処理S180により表示される学習画像表示画面の例を示す。学習画像表示画面700には、学習画像に関する表示情報として、縮小表示された学習画像710と、各学習画像710がどのクラスに属するかを示すクラス情報720とが表示される。また、クラスタリングに用いたパラメータ730も表示される。図7の例では、k平均法を用いてクラスタ分割数を3つに設定してクラスタリングした例を示している。従って、パラメータ730には、クラスタ分割数(クラスタ数)が表示されている。学習画像表示画面700は、表示装置230(図2)に表示される。
【0068】
学習画像表示画面700では、各学習画像710の表示状態が変更され、クラス別に学習画像710が表示されている。
【0069】
なお、本実施例では、学習画像表示処理S180のクラス別に表示状態を変更(S610)する方法として、図7に示したようにクラス毎に行を分けた一覧表示の例を挙げた。学習画像の表示制御方法は、図7に示した表示例に限定されるものではなく、他の方法でも構わない。例えば、縮小した学習画像の散布図表示を行い、この縮小画像の枠の色をクラス別に変えて表示するなどの方法を用いても構わない。
【0070】
以上、実施例1の構成によれば、ある程度実用的な性能を持つ検知アルゴリズムがあれば、ノイズを含む検知結果から不適切な検知結果を消去した上で、学習画像の候補を切出し、さらに、自動的にクラス毎に分類したうえでクラス名も付与して、学習画像ファイルを生成し表示することができる。なお、仮に学習画像ファイル群にノイズ画像が残ってしまった場合でも、正解画像のクラスタとは別の(小規模な)ノイズクラスタとして分けて画像出力するために、後段でのノイズ画像の目視除去作業にかかる工数は低減される。
【実施例2】
【0071】
本発明による識別器学習画像生成プログラム、識別器学習画像生成方法、及び識別器学習画像生成システムの別の実施例を、図8〜図11を使って説明する。
【0072】
なお、本実施例では、動画像処理において、学習画像の候補は自動で収集するが、候補を学習画像として採用するかどうかの最終選択はユーザが手動で行う例について説明する。本実施例は、画像認識アルゴリズムの開発初期など、検知処理の性能が低い場合に有用である。
【0073】
まず、図8を使って、実施例2における識別器学習画像生成プログラムの全体処理の概要を説明する。実施例2による識別器学習画像生成プログラム100は、ループ処理S110、S160、画像入力処理S120、検知処理S130、候補統合処理S140、画像切出し処理S150、画像分類処理S810、学習画像表示処理S820、及び画像選択処理S830の各処理ステップによって構成され、原画像データD110、検知データD120、及び学習画像データD130の各データを入出力する。
【0074】
原画像データD110から原画像を取り込んで学習画像候補を切出すまでの処理(ステップS110〜S160)、原画像データD110、検知データD120、及び学習画像データD130については、実施例1と同様であるので、説明を省略する。
【0075】
また、実施例2による識別器学習画像生成システムの装置構成も、実施例1と同様であるので、説明を省略する。
【0076】
S120からS150までの各処理を繰り返して学習画像候補の切出しが完了すると、次に、実施例2における画像分類処理を実行する(ステップS810)。この処理の詳細は後述する。
【0077】
次に、実施例2における学習画像表示処理を実行(ステップS820)する。この処理の詳細は後述する。
【0078】
最後に、ユーザによる画像選択処理(及び画像ファイル出力処理)を行う(ステップS830)。この処理の詳細は後述する。
【0079】
つまり、実施例2は、ユーザが手動で画像選択するのに適した、実施例1とは別の分類及び表示処理を実施することで、ユーザによる学習画像選択の作業負荷を低減するという例である。
【0080】
図9に、実施例2における画像分類処理S810の処理フローを示す。
【0081】
まず、これから収集しようとする画像の代表例となる画像(代表画像)をユーザが選択すると、選択された代表画像を入力する(ステップS900)。ユーザは、代表画像として、学習画像候補の中から選んだ画像を用いてもよいし、別に確保した画像を用いてもよい。
【0082】
次に、代表画像に対する、学習画像候補の各画像それぞれの類似度または相違度を計算する(ステップS910)。類似度と相違度は、どちらか一方だけを計算してもよいし、両方とも計算してもよい。以下の説明では、類似度を計算して代表画像の選択に使用するものとする。相違度を使用する場合には、以下の説明で、「類似度が高い」を「相違度が低い」などと適宜読み替えればよい。
【0083】
なお、類似度や相違度の計算には、公知の方法を用いることができる。例えば、正規化相関法による相関値を用いてもよいし、SSD(Sum of Squared Difference)やSAD(Sum of Absolute Difference)による相違度を用いてもよい。
【0084】
次に、類似度順に学習画像候補の順位付けを行う(ステップS920)。
【0085】
図10に、実施例2における学習画像表示処理S820の処理フローを示す。
【0086】
まず、ユーザが選択した代表画像を参照用として表示する(ステップS1000)。
【0087】
次に、学習画像候補を類似度順に表示する(ステップS1010)。具体的な表示例としては、学習画像候補が類似度順に順位づけされている場合は類似度の高い順に、相違度順に順位づけされている場合は相違度の低い順に、それぞれ並べて表示する。つまり、表示上は、代表画像に似ている画像が画面の上位に来るように並べて表示する。また、画像と合わせて、代表画像に対する各画像の類似度(または相違度)も表示する。
【0088】
次に、与えられた類似度閾値条件を満たす画像の表示状態を変更し(ステップS1020)、与えられた個数閾値条件を満たす画像の表示状態を変更する(ステップS1030)。これらの表示の例は、図11を用いて説明する。
【0089】
図11は、実施例2における学習画像表示画面の例を示す。実施例2における学習画像表示画面1100には、代表画像に関する表示情報として、縮小表示された代表画像1110とその類似度1120が表示される。類似度は代表画像に対する類似の度合いなので、代表画像1110の類似度1120は1.00(=100%)である。また、学習画像候補に関する表示情報として、縮小表示された学習画像候補1130とその類似度1140が表示される。この際、各学習画像候補1130は、類似度1140が高いほうが画面の上位に来るように並び変えて表示される。
【0090】
さらに、類似度閾値の設定領域1150及び個数閾値の設定領域1160を用いて、それぞれの閾値を設定することができる。ここで設定された閾値条件を満たす学習画像候補1130に対して、自動的に表示状態を変更する。学習画像候補1130の表示状態は、ユーザが手動で変更することもできる(図8のステップS830)。
【0091】
なお、図11に示した学習画像表示画面1100では、類似度閾値を設定できるが、代表画像の選択に相違度を使用する場合には、相違度閾値を設定できるものとする。
【0092】
以下、画像選択処理S830(図8)について説明する。
【0093】
例えば、図11の例では、まず、類似度閾値が0.60以上を満たす学習画像候補1130(学習画像表示画面1100上で1行目の3枚と2行1列目の1枚)に対して影付き表示1170し、表示状態を自動的に変更する。この表示変更状態を確認しながら、ユーザがマウスカーソル等により任意の学習画像候補を選択する。例えば、学習画像表示画面1100上で2行2列目の学習画像候補1130は、類似度が0.42であり類似度閾値条件(≧0.60)を満たさないが、ユーザが意図的に選択して追加したことによって、影付き表示1170がされた例を示している。
【0094】
学習画像候補1130の表示状態は、個数閾値によっても自動的に変更することができる。この場合は、類似度の高い順から、個数閾値として設定された数だけ、学習画像候補1130を影付き表示1170し、表示状態を自動的に変更する。学習画像候補1130の表示状態は、個数閾値によって変更した場合でも、ユーザが手動で変更できる。
【0095】
最後に、表示状態が変更された学習画像候補1130に対し、学習画像表示画面1100のクラス名入力領域1180に入力されたクラス名を付けて、画像ファイル出力(図8のステップS830)することで、最終的な学習画像が決定される。最終的な学習画像は、学習画像データD130に記録される。
【0096】
なお、図11の学習画像表示画面1100では、表示状態変更の例として影付き表示を挙げたが、他の表示方法でもよい。例えば、画像枠線の太さや色を変更してもよいし、画像の隣にチェックボックスを準備しておき、該当する画像のチェックボックスだけを選択状態にすることにより表示状態変更を表す、という方法を用いてもよい。
【0097】
なお、ステップS1010や図11では、類似度の高い順(または相違度の低い順)に学習画像候補を並べて表示したが、類似度の低い順(または相違度の高い順)に並べて表示してもよい。これは、ノイズ画像を消去したい場合など、代表画像に似ていない画像(不正解画像)を選択したい場合に有用である。
【0098】
以上、実施例2の構成によれば、ごく少数の正解画像(代表画像)を準備すれば、その正解画像に類似した学習画像を多数集める作業を容易に行うことができる。このような効果は、識別における特徴量の次元数が多く、多数の学習画像が必要なケースで特に有効である。
【実施例3】
【0099】
本発明による識別器学習画像生成プログラム、識別器学習画像生成方法、及び識別器学習画像生成システムの別の実施例を、図12〜図15を使って説明する。
【0100】
なお、本実施例では、静止画像処理において、学習画像の候補は自動で収集するが、候補を学習画像として採用するかどうかの最終選択はユーザが手動で行う例について説明する。本実施例は、実施例2と同様に、画像認識アルゴリズムの開発初期など、検知処理の性能が低い場合に有用であり、FA分野における不良判定など、入力画像が静止画で得られる場合に適用できる。
【0101】
まず、図12を使って、実施例3における識別器学習画像生成プログラムの全体処理の概要を説明する。実施例3による識別器学習画像生成プログラム100は、ループ処理S110、S160、画像入力処理S1200、検知処理S130、候補統合処理S140、画像切出し処理S150、画像分類処理S1210、学習画像表示処理S180、及び画像選択処理S1220の各処理ステップによって構成され、原画像データD110、検知データD120、及び学習画像データD130の各データを入出力する。
【0102】
原画像データD110から原画像を取り込んで学習画像候補を切出すまでの処理(ステップS110〜S160)の構成は、実施例1、2と同様である。ただし、画像入力処理(ステップS1200)は異なっており、ループ処理S110、S160は、S1200からS150までの各処理を静止画Iについて繰り返す。また、学習画像表示処理S180、原画像データD110、及び学習画像データD130は、実施例1と同様であるが、検知データD120は異なる。
【0103】
画像入力処理S1200、画像分類処理S1210、画像選択処理S1220、及び検知データD120については、後述する。実施例1と同様の処理(ステップS110、S130〜S160、S180)とデータ(D110、D130)については、説明を省略する。
【0104】
また、実施例3による識別器学習画像生成システムの装置構成も、実施例1と同様であるので、説明を省略する。
【0105】
ここで、画像入力処理S1200について説明する。実施例1、2の画像入力処理S120(図1、図8)では、動画中のフレームから切出した1枚の静止画を入力していた。実施例3の画像入力処理S1200では、原画像データD110から静止画を1枚読み込み、原画像として入力する処理を行う(ステップS1200)。
【0106】
ステップS110〜S160の処理によって学習画像候補の切出しが完了すると、次に、実施例3における画像分類処理を実行する(ステップS1210)。この処理の詳細は後述する。
【0107】
次に、実施例1と同様の学習画像表示処理を実行する(ステップS180)。
【0108】
最後に、実施例3における画像選択処理を行う(ステップS1220)。この処理の詳細は後述する。
【0109】
つまり、実施例3は、動画ではなく静止画から学習画像候補を切出し、実施例1、2とは異なる画像分類及び画像選択処理を実施することで、ユーザによる学習画像選択の作業負荷を低減するという例である。
【0110】
図13に、実施例3における検知データD120のデータ形式とデータ例を示す。実施例3における検知データD120は、実施例1、2と同様に、物体ID、物体の位置情報、クラス情報、及び学習画像ファイルへのパスという各情報を物体情報として持つ。実施例1、2と異なる点は、物体検知時間を持たず、原画像ファイルパスを保持する点である。
【0111】
実施例1、2では、原画像データD110の中の動画からある時刻に該当する静止画を切出して原画像として入力するために、物体検知時間を保持していた。本実施例は、静止画像処理への適用例であり、画像を入力するには原画像となる静止画像へのファイルパス情報が必要となる。検知データD120は、この情報を原画像ファイルパスとして保持する。
【0112】
なお、図13では、表記の都合上、図3と同様に表を2つに分けているが、実際は物体ID1つ当たり1行がつながった表である。
【0113】
図14に、実施例3における画像分類処理S1210の処理フローを示す。画像分類処理S1210では、実施例1と同様に、画像切出し処理S150で切出された部分画像群(学習画像候補)のクラスタリング処理(ステップS500)と、クラス情報設定処理(ステップS510)を行う。実施例1の画像分類処理S170との違いは、この時点では学習画像ファイルを出力しない点である。なお、クラスタリング処理(ステップS500)とクラス情報設定処理(ステップS510)の具体的な処理内容も、実施例1と同様である。
【0114】
図15に、実施例3における画像選択処理S1220の処理フローを示す。
【0115】
まず、図12に示した全体処理における前段の学習画像表示処理S180によって、図7に示した学習画像表示画面700と同様の学習画像表示画面が表示される。この学習画像表示画面に対し、ユーザが、マウスカーソル等で各学習画像が属するクラスの修正を行う(ステップS1500)。具体的には、学習画像表示画面内で、不適切なクラスに分類されている画像を、適切なクラス領域に移動させる。
【0116】
次に、学習画像群として出力するクラスがユーザにより選択されると(ステップS1510)、選択されたクラスに属する画像ファイル群を学習画像として出力する(ステップS1520)。
【0117】
以上、実施例3の構成によれば、大まかなクラス分類は計算機で自動処理するが、そのクラス分類に誤りがある場合にはユーザが修正でき、所望のクラスの学習画像を出力することができる。このような効果は、多クラスを識別する際に、クラス間で学習画像サンプル数の偏りが大きく特定のクラスの画像を増やしたいケースで特に有効である。
【0118】
なお、本発明では、上記の実施例における任意の1つの処理ステップを2つ以上の処理ステップに分割して実現してもよく、また、2つ以上の任意の処理ステップを統合して1つの処理ステップとして実現してもよい。さらに、本発明による処理を実行する計算機環境において、上記の実施例における任意の1つの処理手段(処理ステップをハードウェアで実装した機能ブロック)を2つ以上の処理手段に分割して実現してもよく、また、2つ以上の任意の処理手段を統合して1つの処理手段として実現してもよい。上記の実施例は、本発明の提供する機能を損なわない限り、その実現形態を制約するものではない。
【符号の説明】
【0119】
100…識別器学習画像生成プログラム、200…識別器学習画像生成システム、210…情報処理装置、220…入力装置、230…表示装置、240…記憶装置、250…記憶媒体、700…学習画像表示画面、710…学習画像、720…クラス情報、730…パラメータ、1100…学習画像表示画面、1110…代表画像、1120…類似度、1130…学習画像候補、1140…類似度、1150…類似度閾値の設定領域、1160…個数閾値の設定領域、1170…影付き表示、1180…クラス名入力領域、S110…ループ処理、S120…画像入力処理、S130…検知処理、S140…候補統合処理、S150…画像切出し処理、S160…ループ処理、S170…画像分類処理、S180…学習画像表示処理、S810…画像分類処理、S820…学習画像表示処理、S830…画像選択処理、S1200…画像入力処理、S1210…画像分類処理、S1220…画像選択処理、D110…原画像データ、D120…検知データ、D130…学習画像データ。

【特許請求の範囲】
【請求項1】
記憶装置または画像撮影装置から画像を入力する画像入力ステップと、
入力した前記画像から識別対象領域を検知し、少なくとも前記識別対象領域の座標情報を含む複数の検知データを取得し、前記検知データを記憶装置に記録する検知ステップと、
複数の前記検知データを統合して学習画像候補情報を取得し、前記学習画像候補情報を前記検知データとして記憶装置に記録する候補統合ステップと、
前記検知データに含まれる前記座標情報を用いて、入力した前記画像から識別器を学習させるための複数の学習画像を切出し、複数の前記学習画像を学習画像データとして出力し記憶装置に記録する画像切出しステップと、
前記学習画像を1つ以上の集合に分類する画像分類ステップと、
前記学習画像を表示装置に表示する学習画像表示ステップとを、
コンピュータに実行させるための識別器学習画像生成プログラム。
【請求項2】
請求項1記載の識別器学習画像生成プログラムであって、
前記学習画像表示ステップにより表示された前記学習画像をユーザに選択させる画像選択ステップをさらにコンピュータに実行させ、
前記画像選択ステップは、
ユーザから、前記画像分類ステップにより分類された区分に従って前記学習画像の選択を受け付けるか、または、前記学習画像表示ステップにより表示された前記学習画像から1つ以上の前記学習画像の選択を受け付け、
ユーザが選択した前記学習画像を学習画像データとして出力し記憶装置に記録する識別器学習画像生成プログラム。
【請求項3】
請求項1または2記載の識別器学習画像生成プログラムであって、
前記検知ステップは、
原画像特定情報として、前記画像入力ステップで入力した前記画像が動画の場合は時間情報を、静止画の場合はファイル名を、前記検知データに含めて記録し、
識別対象領域特定情報として、前記識別対象領域の、前記画像の画像空間上での座標情報または3次元実空間上での座標情報を、前記検知データに含めて記録し、
画像分類ステップは、
前記学習画像が属するクラス情報と前記学習画像のファイル名とを前記検知データに含めて記録する識別器学習画像生成プログラム。
【請求項4】
請求項3記載の識別器学習画像生成プログラムであって、
前記候補統合ステップは、
前記検知データが有する前記原画像特定情報と前記識別対象領域特定情報とを用いて、同一の前記画像内の同一の前記識別対象領域に対する複数の前記検知データを統合して代表領域を定め、前記代表領域の情報を前記学習画像候補情報とする識別器学習画像生成プログラム。
【請求項5】
請求項1から4のいずれか1項記載の識別器学習画像生成プログラムであって、
前記画像分類ステップは、前記集合のそれぞれに対して識別器学習に用いるクラス情報を付与する識別器学習画像生成プログラム。
【請求項6】
請求項5記載の識別器学習画像生成プログラムであって、
前記画像分類ステップは、
前記学習画像にクラスタリングを行い前記集合としてクラスタを生成し、前記クラスタのそれぞれに対して識別器学習に用いるクラス情報を付与し、
前記学習画像を前記クラスタ毎に分けて記憶装置に記録する識別器学習画像生成プログラム。
【請求項7】
請求項5記載の識別器学習画像生成プログラムであって、
前記画像分類ステップは、
分類基準となる代表画像を入力し、
前記画像切出しステップにより切出された複数の前記学習画像の前記代表画像に対する類似度または相違度を計算し、
複数の前記学習画像を、前記類似度が高い順または前記相違度が低い順に並び替えて表示装置に表示し、
ユーザが選択した1つ以上の前記学習画像を同一クラスに属するものとして記憶装置に記録する識別器学習画像生成プログラム。
【請求項8】
請求項5記載の識別器学習画像生成プログラムであって、
前記画像分類ステップは、
分類基準となる代表画像を入力し、
前記画像切出しステップにより切出された複数の前記学習画像の前記代表画像に対する類似度または相違度を計算し、
複数の前記学習画像を、前記類似度が低い順または前記相違度が高い順に並び替えて表示装置に表示し、
ユーザが選択した1つ以上の前記学習画像を、同一クラスに属する学習画像として記憶装置に記録する識別器学習画像生成プログラム。
【請求項9】
請求項5記載の識別器学習画像生成プログラムであって、
前記画像分類ステップは、
前記学習画像にクラスタリングを行い前記集合としてクラスタを生成し、前記クラスタのそれぞれに対して識別器学習に用いるクラス情報を付与し
前記クラス情報毎に分けて前記学習画像を表示装置に表示し、
ユーザから前記クラス情報の修正及びクラスの選択を受け付け、
ユーザが選択したクラスに属する前記学習画像を、同一クラスに属する学習画像として記憶装置に記録する識別器学習画像生成プログラム。
【請求項10】
請求項6または9記載の識別器学習画像生成プログラムであって、
前記学習画像表示ステップは、
前記画像切出しステップにより切出された複数の前記学習画像を表示装置に表示し、
前記画像分類ステップにおいて付与されたクラス情報毎に、複数の前記学習画像の表示状態を分けて表示する識別器学習画像生成プログラム。
【請求項11】
請求項7または8記載の識別器学習画像生成プログラムであって、
前記学習画像表示ステップは、
前記代表画像を表示し、
前記画像切出しステップにより切出された複数の前記学習画像と、前記類似度または前記相違度とを表示装置に表示し、
ユーザから、代表画像が属するクラス名の入力を受け付け、
ユーザから、類似度または相違度の閾値、及び個数閾値のいずれか一方または両方の入力を閾値条件として受け付け、
前記閾値条件を満たす前記学習画像の表示状態を変更する識別器学習画像生成プログラム。
【請求項12】
記憶装置または画像撮影装置から画像を入力する画像入力ステップと、
入力した前記画像から識別対象領域を検知し、少なくとも前記識別対象領域の座標情報を含む複数の検知データを取得し、前記検知データを記憶装置に記録する検知ステップと、
複数の前記検知データを統合して学習画像候補情報を取得し、前記学習画像候補情報を前記検知データとして記憶装置に記録する候補統合ステップと、
前記検知データに含まれる前記座標情報を用いて、入力した前記画像から識別器を学習させるための複数の学習画像を切出し、複数の前記学習画像を学習画像データとして出力し記憶装置に記録する画像切出しステップと、
前記学習画像を1つ以上の集合に分類する画像分類ステップと、
前記学習画像を表示装置に表示する学習画像表示ステップとを、
備えることを特徴とする識別器学習画像生成方法。
【請求項13】
請求項12記載の識別器学習画像生成方法であって、
前記学習画像表示ステップにより表示された前記学習画像をユーザに選択させる画像選択ステップをさらに備え、
前記画像選択ステップは、
ユーザから、前記画像分類ステップにより分類された区分に従って前記学習画像の選択を受け付けるか、または、前記学習画像表示ステップにより表示された前記学習画像から1つ以上の前記学習画像の選択を受け付け、
ユーザが選択した前記学習画像を学習画像データとして出力し記憶装置に記録する識別器学習画像生成方法。
【請求項14】
前記表示装置と、入力装置と、前記記憶装置と、情報処理装置とで構成され、
前記情報処理装置で、請求項1から11のうちいずれか1項記載の識別器学習画像生成プログラムを実行することを特徴とする識別器学習画像生成システム。
【請求項15】
前記表示装置と、入力装置と、前記記憶装置と、情報処理装置とで構成され、
前記情報処理装置で、請求項12または13記載の識別器学習画像生成方法を実行することを特徴とする識別器学習画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate