(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-28
(45)【発行日】2024-06-05
(54)【発明の名称】情報処理装置、情報処理装置の制御方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240529BHJP
G06F 18/214 20230101ALI20240529BHJP
G06V 10/774 20220101ALI20240529BHJP
G06V 10/778 20220101ALI20240529BHJP
【FI】
G06N20/00 130
G06F18/214
G06V10/774
G06V10/778
(21)【出願番号】P 2023025523
(22)【出願日】2023-02-21
(62)【分割の表示】P 2019036394の分割
【原出願日】2019-02-28
【審査請求日】2023-03-16
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】野上 敦史
(72)【発明者】
【氏名】真継 優和
【審査官】多賀 実
(56)【参考文献】
【文献】国際公開第2018/170512(WO,A1)
【文献】国際公開第2016/147652(WO,A1)
【文献】Viraj Mavani,"AnnoMage: A Semi-Automatic ImageAnnotation Tool",GitHub ( virajmavani / semi-auto-image-annotation-tool) [online],2018年,[検索日 2024.02.21], インターネット:<URL: https://github.com/virajmavani/semi-auto-image-annotation-tool/blob/b93c49fafa8078fa7b959f205728fec71bb93bc7/README.md>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 18/00-18/40
G06N 3/00-99/00
G06T 1/00
G06T 7/00- 7/90
G06V 10/00-10/98
(57)【特許請求の範囲】
【請求項1】
画像を取得する取得手段と、
前記画像の領域のうちユーザによるラベリングを受け付ける1つ以上の部分領域を決定する決定手段と、
取得された前記画像と、決定された前記部分領域とを表示装置の第1の領域に表示し、前記部分領域のうち選択されている部分領域と、前記画像のうち前記選択されている部分領域が含まれる部分画像とを前記表示装置の第2の領域に表示する表示手段とを有し、
前記部分領域は、前記画像に含まれる複数の画素のうち識別器の追加学習に有効な複数の画素が含まれる領域であること特徴とする情報処理装置。
【請求項2】
前記表示手段は、決定された前記部分領域においてユーザによるラベリングが完了したかどうかを示す情報を前記表示装置の第3の領域に表示することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記表示手段は、前記部分領域のうち選択されている部分領域に対するユーザによるラベリングが完了した場合に、前記部分領域のうち前記選択されている部分領域とは異なる部分領域を表示する指示を受け付けるためのアイコンを前記表示装置の第4の領域に表示することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記表示手段は、決定された前記部分領域においてユーザによるラベリングが完了した場合に、前記ラベリングが完了したことを示すアイコンを前記表示装置の第5の領域に表示することを特徴とした請求項1に記載の情報処理装置。
【請求項5】
前記表示手段は、前記部分領域のうち選択されている部分領域の範囲を拡大するための指示を受け付けるアイコンを前記表示装置に表示することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記決定手段は、前記識別器の追加学習に有効な複数の画素の分布に基づいて、前記画像の領域のうち前記識別器の追加学習に有効な複数の画素を含む領域を前記部分領域として決定することを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記画像に含まれる複数の画素のうち、前記識別器の追加学習に有効な複数の画素を含む領域が、ラベル付きデータによって予め学習した特徴とは異なる特徴を持つ領域であることを特徴とする請求項1に記載の情報処理装置。
【請求項8】
前記決定手段は、前記画像と前記ラベル付きデータとの類似性に基づいて、前記識別器の追加学習に有効な複数の画素を含む領域を決定することを特徴とした請求項7に記載の情報処理装置。
【請求項9】
前記決定手段は、前記識別器の追加学習に有効な複数の画素の密度に基づいて、前記部分領域を決定することを特徴とする請求項1に記載の情報処理装置。
【請求項10】
前記決定手段は、前記識別器の追加学習に有効な複数の画素の分布をクラスタ化し、クラスタ化した結果に基づいて、部分領域を求めることを特徴とする請求項1に記載の情報処理装置。
【請求項11】
前記決定手段は、前記識別器の追加学習に有効な複数の画素の分布に基づいて複数の部分領域候補を生成し、生成された前記複数の部分領域候補のそれぞれの優先度を推定し、推定された前記優先度に基づいて前記部分領域候補から部分領域を決定することを特徴とする請求項1に記載の情報処理装置。
【請求項12】
前記決定手段は、前記識別器の追加学習に有効な複数の画素の密度に基づいて、前記複数の部分領域候補のそれぞれの優先度を推定することを特徴とする請求項11に記載の情報処理装置。
【請求項13】
前記決定手段は、前記識別器の追加学習に有効な複数の画素のそれぞれの重要度を推定し、前記重要度に基づいて前記部分領域候補のそれぞれの優先度を推定することを特徴とする請求項11に記載の情報処理装置。
【請求項14】
前記決定手段は、前記識別器の追加学習に有効な複数の画素の分布に基づいて複数の部分領域候補を生成し、前記部分領域候補同士の位置関係に基づいて前記部分領域候補から前記部分領域を決定することを特徴とする請求項11に記載の情報処理装置。
【請求項15】
前記決定手段は、前記識別器の追加学習に有効な複数の画素に基づいて、前記部分領域の優先度を推定し、
前記表示手段は、推定された前記優先度に基づいて、前記部分領域の表示順序を制御することを特徴とする請求項1に記載の情報処理装置。
【請求項16】
前記表示手段は、前記部分領域同士の位置関係に基づいて、前記部分領域の表示順序を制御することを特徴とする請求項1に記載の情報処理装置。
【請求項17】
画像中の変状を示す部分を判別する情報処理装置であって、
前記画像は、構造体を撮像することにより得られた画像であることを特徴とする請求項1に記載の情報処理装置。
【請求項18】
前記変状は前記構造体のひび割れであり、
前記表示手段は、前記ラベリングによってひび割れを示す情報を付与された前記複数の画素の少なくとも1つを前記表示装置に表示することを特徴とする請求項17に記載の情報処理装置。
【請求項19】
画像を取得する取得工程と、
前記画像の領域のうちユーザによるラベリングを受け付ける1つ以上の部分領域を決定する決定工程と、
取得された前記画像と、決定された前記部分領域とを表示装置の第1の領域に表示し、前記部分領域のうち選択されている部分領域と、前記画像のうち前記選択されている部分領域が含まれる部分画像とを前記表示装置の第2の領域に表示する表示工程とを有し、
前記部分領域は、前記画像に含まれる複数の画素のうち識別器の追加学習に有効な複数の画素が含まれる領域であること特徴とする情報処理方法。
【請求項20】
コンピュータを、請求項1乃至18の何れか1項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
機械学習によって識別器を学習するためには、ラベル付きのデータが必要となる。このラベル付きのデータを準備する作業は作業コストが高く、これを軽減する技術が検討されている。
【0003】
特許文献1には、既存のラベル付きデータで学習した識別器を用いて、ラベルが付与されていないデータから、学習に効果のあるデータを選択する技術が開示されている。この手法では、学習済みの識別器でラベルなしデータを識別し、識別境界付近に識別されるデータを学習に効果のあるデータとして選択する。識別境界付近のデータは、既存の識別器で識別が苦手なデータであり、これにラベルを付けて学習することにより、効果的な学習を行うことができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、画像などのラベル付け対象データのうち、どの領域が学習に効果があるのかは何ら考慮されておらず、効率的なラベル付けの入力が難しいという課題がある。
【0006】
本発明は、上記の課題に鑑みてなされたものであり、ラベル付け対象データのうち学習に効果的な部分領域に対してラベル付けを可能とするための技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成する本発明に係る情報処理装置は、
画像を取得する取得手段と、
前記画像の領域のうちユーザによるラベリングを受け付ける1つ以上の部分領域を決定する決定手段と、
取得された前記画像と、決定された前記部分領域とを表示装置の第1の領域に表示し、前記部分領域のうち選択されている部分領域と、前記画像のうち前記選択されている部分領域が含まれる部分画像とを前記表示装置の第2の領域に表示する表示手段とを有し、
前記部分領域は、前記画像に含まれる複数の画素のうち識別器の追加学習に有効な複数の画素が含まれる領域であること特徴とする。
【発明の効果】
【0008】
本発明によれば、ラベル付け対象データのうち学習に効果的な部分領域に対してラベル付けが可能となる。
【図面の簡単な説明】
【0009】
【
図1】一実施形態に係る情報処理装置の構成例を示す図。
【
図2】実施形態1におけるラベル付け対象データを説明する図。
【
図3】実施形態に係る情報処理装置が実施する処理の手順を示すフローチャート。
【
図4】実施形態1における局所データ及び部分領域を説明する図。
【
図5】実施形態1における局所データのクラスタリングにより部分領域を設定する方法を説明する図。
【
図6】実施形態1における表示部及びラベル入力部について説明する図。
【
図7】実施形態1におけるひび割れラベルの入力について説明する図。
【
図8】実施形態1における部分領域の自動的な範囲拡張について説明する図。
【
図9】実施形態2における局所データ及び部分領域を説明する図。
【
図10】実施形態3における局所データ及び部分領域を説明する図。
【
図11】実施形態4における局所データ及び部分領域を説明する図。
【
図12】実施形態5における局所データ及び部分領域を説明する図。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0011】
(実施形態1)
本実施形態では、ラベルがついていないデータから、学習に効果のある部分領域を選択して、ラベル付け対象データとして提示する。本実施形態では、ある基準に基づいて、ラベル付けを要求する局所データを決定し、さらに、局所データを含み、局所データよりも広い範囲である部分領域を決定し、部分領域に対してラベル付けを要求する。
【0012】
本実施形態では、ラベル付けを行う対象のデータは画像である。また、局所データは画像の画素であり、部分領域は局所データである画素を含む部分画像領域である。このような部分領域がラベル付けデータとして選択され、ラベル入力者(以下、ユーザ)は、部分領域の各画素にラベル付けを行う。
【0013】
本実施形態では、画像の画素ごとに対象が存在するかを識別する識別器を学習するためのラベル付きデータを作成する。例えば、生産工程における製造物の外観検査では、製造物のキズや欠陥を検知する識別器を学習する。このような識別器は、任意の形状のキズや欠陥の位置を示すラベルを用いて、画素ごとにキズや欠陥を検知する識別器を学習することにより作成する。また、別の例として、橋梁、ダム、トンネル、建物などのコンクリート構造物の点検では、コンクリート壁面の変状を検知する。検知対象の変状は、コンクリートのひび割れや、漏水、エフロレッセンス、錆汁などである。これらの変状は、任意の形状として現れる。コンクリート壁面の点検のための識別器も、コンクリート壁面画像の変状の画素にラベル付けされたデータを用いて学習する。そして、変状を検知するときには、画素ごとに変状が存在するか否かを識別する。
【0014】
以下、実施形態1では、コンクリート壁面画像からひび割れを検知する識別器の学習のためのラベル付きデータを作成する実施形態について説明する。
【0015】
<情報処理装置の構成>
まず、
図1を参照して、一実施形態に係る情報処理装置の構成例を説明する。情報処理装置100及び関連する構成は、ネットワークや各種情報記録媒体を介して取得したソフトウエア(プログラム)を、CPU、メモリ、ストレージデバイス、入出力装置、バス、表示装置などにより構成される計算機によって実行することで実現できる。なお、計算機については、汎用の計算機を用いてもよいし、ソフトウエアに最適に設計されたハードウェアを用いてもよい。
【0016】
情報処理装置100は、データ保存部101、局所設定部102、部分領域設定部103、表示制御部104、表示部105、ラベル入力部106、識別器保存部107、及び学習部108を備える。ユーザ110は、表示部105とラベル入力部106を介して、提示された部分領域に対してラベル付けを行う。なお、これらの構成要素は本実施形態に必須の構成とは限らない。例えば、表示部105やラベル入力部106を情報処理装置100の外部に設けてもよい。その他、処理の一部を外部の装置で実行し、その結果を情報処理装置100が取得する構成であってもよい。
【0017】
データ保存部101は、ラベルなし画像やラベル付き画像を保存するストレージであり、ハードディスクなどのストレージデバイスで構成される。本実施形態におけるデータ保存部101には、コンクリート壁面の画像が保存されている。コンクリート壁面の点検では、幅1mm以下のひび割れを観測するために、コンクリート壁面の1mmが1画素に記録されるような高解像度画像が必要となる。従って、10m×10mのコンクリート壁面の点検画像は、1万画素×1万画素の大きなサイズの画像となる。このようなサイズの画像は、通常のカメラの画素数を上回るが、コンクリート壁面の異なる位置を撮影した画像を連結するなどの方法により、点検のための高解像度画像を作成することができる。
【0018】
続いて、本実施形態の画像について、
図2を用いて、さらに具体的に説明する。
図2には、橋梁の平面図に、撮影画像を貼り付けたデータを示している。
図2の平面図には、橋梁の床版201や橋脚202、203があり、それぞれのコンクリート壁面を撮影した画像が貼り付けられているものとする。例えば、点検画像の解像度が、1mm=1画素の解像度であるとすると、15m×5mの床版201には1万5千×5千画素の画像が貼り付けられている。ひび割れを検知する識別器を学習するためには、
図2のような画像の各画素がひび割れか否かのラベルを付与する必要がある。しかし、
図2のような大きな画像の全ての画素に対して、ひび割れラベルを付与することは非常に作業コストが高い。本実施形態では、このような画像から学習に効果的な部分画像を選択し、ラベル付け対象画像とする。
【0019】
局所設定部102は、ラベル付けを行う対象の画像をデータ保存部101から読み込み、ラベル付けを行う対象の画像データのうち、学習に効果のある部分を判定し、局所データとして設定する。
【0020】
部分領域設定部103は、設定された局所データの空間的な分布に基づいて、部分領域候補を作成する。そして、部分領域候補のそれぞれについてラベル付けの優先度を算出し、当該優先度に基づいて部分領域候補から部分領域を選択して設定する。
【0021】
表示制御部104は、設定された部分領域を表示部105に表示させる制御を行う。表示部105は、LCD等のディスプレイである。ラベル入力部106は、キーボード、マウス、タッチパネルディスプレイ等の入力装置であり、表示部105に表示されている部分領域に対するラベル付けの入力を受け付ける。
【0022】
識別器保存部107は、学習済み識別器を保存している。学習部108は、データ保存部101に保存された画像とラベルデータを用いて、ひび割れ検知等の識別器を学習し、学習結果の識別器を識別器保存部107に保存する。
【0023】
<処理>
図3は、本実施形態に係る情報処理装置が実施する処理の手順を示すフローチャートである。
【0024】
<ステップS301>
ステップS301では、局所設定部102は、ラベル付けを行う対象の画像をデータ保存部101から読み込む。本実施形態では、
図2の一つの橋梁の画像を読み込む実施形態について説明するが、ステップS301で読み込む画像データは、一つの構造物に限るものではない。例えば、複数の構造物の画像を読み込んでもよい。また、
図2の橋梁の床版201部分の画像のみを読み込むなど、構造物の部分的な画像を読み込んでもよい。
【0025】
<ステップS302>
ステップS302では、局所設定部102は、ラベル付けを行う対象の画像データのうち、学習に効果のある部分を判定し、局所データとして設定する。本実施形態における局所データは画像中の画素である。以下では、この局所データを設定する方法について説明する。
【0026】
第一の方法として、予め学習した識別器で識別が困難な画素を選択する方法について説明する。この方法では、予め、ひび割れを検知する識別器が学習されているものとする。この学習済み識別器は、既存のラベル付きデータを用いて学習する。既存のラベル付きデータは、ステップS301で読み込んだ画像データとは異なる画像の画素にひび割れラベルが付与されたデータであり、事前に別の構造物の画像などに対してひび割れラベルを付与したものである。この既存のラベル付きデータで学習した学習済み識別器は、識別器保存部107に保存されている。第一の方法では、この学習済み識別器が識別困難な画素を、学習に効果のある画素として判定して、局所データとして設定する。
【0027】
局所データを設定するために、局所設定部102は、まず、識別器保存部107から学習済み識別器を読み込み、画像データに対して学習済み識別器でひび割れ検知を実行する。この検知結果を用いて、学習済み識別器が識別困難な画素を決定する。識別器は画像の画素ごとにひび割れ検知結果を出力するので、識別境界付近の識別結果となった画素を選択することで識別困難な画素を決定することができる。より具体的には、識別器が各画素のひび割れらしさを、0から1の範囲で出力するものとすると、0.5に近い出力となった画素が識別困難な画素となる。ここで、識別器の出力は、0に近いとひび割れでないことを示し、1に近いとひび割れと判定しているものとする。従って、0.5近傍の所定の数値範囲のひび割れらしさを示す画素を局所データとして設定する。
【0028】
第二の方法として、複数の学習済み識別器を用いる方法について説明する。この方法では、予め、複数の異なる識別器が学習されて、識別器保存部107に保存されているものとする。この複数の異なる識別器は、例えば、それぞれ異なる学習データセットで学習された識別器である。異なる学習データセットは、例えば、それぞれ異なる構造物のコンクリート壁面画像とひび割れラベルとから構成される。異なる学習データセットにより学習した識別器は、それぞれ異なる検知特性を持つ。局所設定部102は、これらの複数の学習済みモデルを識別器保存部107から読み込み、画像データに対して複数の学習済みモデルを用いてひび割れ検知処理を行う。この結果、複数の検知処理結果が得られる。第二の方法では、この検知結果のばらつきが大きな画素を、識別が困難で学習に効果のある部分として判定し、局所データとして設定する。検知結果のばらつきを判定する方法は様々あるが、例えば以下のように、エントロピーを求めることにより識別結果のばらつきが大きな画素を選択することができる。
【0029】
【0030】
ここで、hnは画素nのエントロピーである。iは識別クラス数を表し、ひび割れ検知の場合、各画素に対してひび割れか否かの2クラス識別を行うため、i=2である。V(yi)は、画素nについてラベルyiと識別した識別器の数を示し、Cは識別器の数である。このエントロピーhnが大きな画素ほど、複数の識別器の識別結果のばらつきが大きな画素となる。第二の方法では、このようにして算出したエントロピーhnが所定値以上となる画素を局所データとする。以上のような方法により、局所データを設定することができる。
【0031】
図4(A)には、以上の方法により、画像401中の画素が局所データとして選ばれた様子を示している。画像401は
図2の床版201の画像であり、画素411などの点が局所データとして選択された画素を示している。このように、局所データは画像401中から、複数の局所データが選択されうる。これは、第一の方法においては、識別結果の識別平面からの所定範囲となる画素が複数存在することによる。また、第二の方法においては、エントロピーが所定値以上となる画素が複数存在することによる。逆に、局所データと判定される画素が全く存在しない場合(識別が困難な画素が存在しない場合)には、ラベル付けを行うデータが存在しないと判定して、全ての処理を終了すればよい。
【0032】
また、これらの局所データの設定方法によれば、局所データそれぞれに重要度を設定することができる。例えば、第一の方法では、各局所データの識別平面からの距離に基づいて、局所データの重要度を設定することができる。この場合、識別平面に近いほど、重要度が高くなるように設定する。また、第二の方法では、各局所データのエントロピーの値をそのまま重要度とすればよい。局所データの重要度の利用方法については後述する。以上の処理により、ステップS302では、N個の局所データの画素座標Xと重要度Gが算出される。これらは以下のように表される。
【0033】
【0034】
【0035】
ここで、(un,vn)はn番目の局所データの画像座標であり、gnはn番目の局所データの重要度である。
【0036】
<ステップS303>
ステップS303では、部分領域設定部103は、局所データの空間的な分布に基づいて、部分領域候補を作成する。
図4(B)は、
図4(A)の局所データから部分領域候補421、422、423、424を作成する様子を示している。以下では、このように局所データの空間的な分布から、部分領域候補を作成する方法について説明する。なお、ステップS303の部分領域候補の作成方法についても2種類の方法を説明する。
【0037】
部分領域候補の第一の作成方法は、所定範囲の局所データの密度に基づいて部分領域候補を作成する方法である。この方法では、予め設定したサイズのウィンドウで、画像を探索し、ウィンドウに含まれる局所データの密度(または個数)が所定値以上となる領域を部分領域候補として抽出する。この処理により、
図4(B)のように、局所データの密度が高い部分領域を抽出することができる。探索するウィンドウは、予め、複数のサイズ、アスペクト比のウィンドウを準備しておき、これらを順次適用して局所データの密度が高い領域を探索する。このように複数のウィンドウで探索することにより、様々なサイズ、アスペクト比の矩形領域の部分領域候補を抽出することができるようになる。なお、探索ウィンドウの形状は、矩形形状に限らず、円形などの他の形状であってもよい。
【0038】
また、最小の探索ウィンドウサイズは、学習に必要な画像サイズとすればよい。例えば、識別器の学習に256×256画素の画像が必要な場合、最小の探索ウィンドウサイズは256×256画素以上のサイズとする。一方、256×256画素以上のサイズの探索ウィンドウを適用すると、256×256画素以上の部分領域が抽出される。このような部分領域にラベル付けを行った後に学習データとして利用する場合には、部分領域から256×256画素サイズの画像を切り出して学習データとすることができる。
【0039】
また、ウィンドウ中の局所データの密度が所定値以上となる領域を部分領域候補として抽出すると、異なるサイズのウィンドウが重複したり、ウィンドウの探索ステップ幅によっては、隣り合うウィンドウが重複したりすることが起こる。重複した領域を部分領域としても、同一の画像領域に複数回ラベルを入力することはラベル付け作業としては無駄な作業となってしまう。従って、この場合、重複するウィンドウから代表のウィンドウを残すことにより、部分領域候補を作成する。
【0040】
部分領域候補の第二の作成方法は、局所データの分布をクラスタリングすることで、部分領域候補を作成する方法である。局所データのクラスタリングについては、例えば、mean shiftクラスタリングなどの手法を用いることができる。クラスタリング手法については、mean shiftクラスタリングに限らず、どのようなクラスタリング手法を用いてもよい。これらのクラスタリング手法は、公知の技術を用いればよいので、詳細な説明は省略する。ここで、
図5(A)は、
図4(A)の局所データの分布をクラスタリングした結果を示している。
【0041】
クラスタリング結果から部分領域候補を作成する方法は、以下のように実施する。まず、クラスタ中の局所データ数が所定以下のクラスタを除去する。次に、残った各クラスタについて、部分領域候補の範囲を決定する。部分領域候補の範囲の決定方法は、例えば、クラスタに属する局所データを囲う範囲の矩形領域を設定することで決定することができる。また、別の方法として、クラスタに属する局所データの位置に基づいて、任意の形状の領域を部分領域候補としてもよい。ここで、
図5(B)は、
図5(A)のクラスタから、局所データの位置に基づいて、任意形状の部分領域候補521、522、523、524を作成した様子を示している。
【0042】
以上のような方法により、ステップS303では、部分領域候補が作成される。次のステップS304及びステップS305の処理は、部分領域設定部103が、部分領域候補の優先度を算出し、ラベル付けの優先度が高い部分領域候補の上位M個を部分領域として選択する処理である。ステップS303で作成された部分領域候補の数が1つの場合や、非常に少ない場合には、ステップS304及びステップS305の処理を省略し、全ての部分領域候補を部分領域として設定して、後述のラベル付け処理を行うようにしてもよい。
【0043】
一方、部分領域候補の数が多い場合には、効率的なラベル付けのため、部分領域候補から数を絞って、実際にラベル付けを行う部分領域を設定するようにする。部分領域候補から数を絞る方法の一つとして、部分領域候補からランダムに部分領域を選択する方法がある。本実施形態では、学習に効果の高いと思われる部分領域候補を選択することにより、より効果的なラベル付けデータの選択を行うため、ステップS304及びステップS305の処理を実施する。以下、各処理の詳細を説明する。
【0044】
<ステップS304>
ステップS304では、部分領域設定部103は、ステップS303で決定したM個の部分領域候補のそれぞれについてラベル付けの優先度を算出する。以下、優先度の値が高い部分領域候補ほど、より学習に効果のある領域であることを示すものとする。優先度の算出方法は、例えば、以下のような方法により算出することができる。
【0045】
まず、部分領域候補に含まれる局所データの密度や数に基づいて優先度を設定することができる。局所データの密度に基づく部分領域候補rmの優先度をs1とすると、s1は以下の式4のように表すことができる。
【0046】
【0047】
ここで、N(rm)はm番目の部分領域候補rmに含まれる局所データの数で、A(rm)は部分領域候補rmの面積である。このように、局所データの画素は、学習に効果のある画素であるため、局所データの密度が高い部分領域候補は、ラベル付けの優先度が高くなる。
【0048】
また、ステップS302の説明において、各局所データについて重要度を算出することを説明した。この重要度を用いて、部分領域候補の優先度を算出することもできる。具体的には、部分領域候補rmに含まれる局所データの重要度の総和や平均などの統計量を、部分領域候補rmの優先度として算出する。式5には、部分領域候補rmに含まれる局所データの重要度gの総和により、優先度s2を算出する例を示す。
【0049】
【0050】
さらに、他の優先度の設定方法として、部分領域候補の位置関係に基づいて優先度を算出する方法について説明する。ラベル付け対象の部分領域は、多様な学習データを作成するため、多様な領域から収集することが望ましい。多様な部分領域を獲得する方法として、位置が離れ合う部分領域を優先的に選択する方法がある。これは、構造物のコンクリート壁面画像は、近傍の壁面は類似しており、離れた壁面の方が異なるアピアランスの画像となる、という想定に基づくものである。
【0051】
例えば、
図2の橋梁の例では、床版201と橋脚202、203の見た目が異なる。従って、選択される部分領域の多様性を高くするために、例えば、床版201から部分領域を選んだ場合、次は橋脚202、203から選ぶことが好ましい。また、床版201の中でも、近傍の画像よりも離れた位置の画像の方が、見た目が異なる可能性が高い。このように、部分領域候補から選択する部分領域を多様なものにするために、選択する部分領域の位置関係が離れ合うような組み合わせとなるようにする。なお、この位置関係は、画像平面上の位置関係でもよいし、構造物中の3次元的な位置関係でもよい。
【0052】
位置関係に基づいて優先度を設定する方法は、例えば、以下のようにして実施できる。まず、部分領域候補から、優先度s1や優先度s2によって最重要となった部分領域候補を選択し、1つ目の部分領域とする。次に、1つ目の部分領域と、残りの部分領域候補との距離を算出し、最も距離が離れた部分領域候補を2つ目の部分領域として選択する。さらに、残りの部分領域候補と、1つ目、2つ目の部分領域との距離を算出し、1つ目、2つ目の部分領域との距離の総和が最も大きな部分領域候補を3つ目の部分領域とする。4つ目以降の部分領域選択も、これを繰り返すことで、位置関係が離れた順に部分領域候補をソートした結果が得られる。
【0053】
位置関係に基づく優先度s3は、ソートの順序に応じて(ソートの順に数値が小さくなるように)、各部分領域候補に設定する。なお、位置関係のみに基づいて部分領域候補から部分領域を選択する場合には、ソートの順に上位M個の部分領域候補を部分領域として選択してもよい。
【0054】
優先度は以上のような方法で算出できるが、優先度の算出方法はこれに限定されず、部分領域候補のラベル付け優先度を評価できる値であれば、他の方法により算出してもよい。また、s1~s3の3種類の優先度の算出方法を説明したが、これらのいずれかを優先度Sとしてもよいし、複数の方法で算出した優先度を合わせて式6のように優先度Sを算出してもよい。
【0055】
【0056】
式6において、wjは優先度sjの重みであり、優先度に重みを付けて統合した結果を優先度Sとすることができる。
【0057】
また、優先度の算出方法の一つとして、部分領域候補の多様性を位置関係に基づいて評価する方法を説明したが、多様性の評価方法はこれに限定されない。例えば、部分領域候補の画像特徴量の類似度を評価して、多様な部分領域が選択されるように、優先度を算出したり、部分領域候補のソートを行ったりしてもよい。
【0058】
<ステップS305>
ステップS305では、部分領域設定部103は、ステップS304で算出した優先度に基づいて、部分領域候補から部分領域を選択することにより部分領域を決定する。優先度に基づいて部分領域候補から部分領域を決定する方法は、優先度の順に部分領域候補をソートし、上位M個の部分領域候補を部分領域として選択すればよい。または、選択する部分領域数をM個に限定せず、所定の閾値以上の優先度を表す部分領域候補を部分領域として選択するようにしてもよい。
【0059】
ここで、
図4(C)は、ステップS305の処理により、
図4(B)の部分領域候補421、422、423、424から、部分領域431、433、434が選択された様子を示している。なお、点線で示す部分領域候補432は、優先度が低く、部分領域として選択されなかったことを示している。
【0060】
次に、表示制御部104は、決定された部分領域を表示部105に表示する。そして、ユーザはラベル入力部106を介して部分領域にラベル付けを行う。本実施形態では、表示部105をディスプレイとし、ラベル入力部106をキーボード及びマウスとする例を説明するが、これに限らず、他の構成としてもよい。例えば、ラベル入力部106をペンタブレットとしてもよいし、表示部105とラベル入力部106とを合わせてタッチパネル付きのタブレットとして構成してもよい。以下、表示部105とラベル入力部106の動作について説明する。
【0061】
図6は、ラベル付けのために表示部105に表示される情報を説明する図である。まず、GUIアプリケーションのウィンドウ600には、ラベル付けを行う対象の画像601が表示されている。画像601は、
図2の床版201の一部を拡大表示した画像である。GUIのアプリケーションウィンドウ600には、床版201の全体の画像602が表示されており、さらに、画像601の表示範囲603が点線で表示されている。これにより、ユーザは床版201の画像全体の、どの部分を閲覧しているかを容易に認識することができる。また、床版201の全体の画像602には、前述の処理で設定された部分領域(例えば、実線の矩形634)が表示されている。ラベル付け対象の画像601にも、部分領域633が表示されており、ユーザはこの画像範囲においてラベル付けを行うことになる。
【0062】
GUIアプリケーションを起動し、部分領域が設定され、ラベル付けを開始する状態になると、画像601には部分領域を含む画像範囲が表示される。
図6の画像601では、部分領域633が中心になるように表示されている。この表示状態を初期状態として、ユーザは自由に表示位置の移動や画像の拡大縮小を行って画像を閲覧することができる。
【0063】
図6では、部分領域633を画像601に矩形の線で表示しているが、部分領域の表示方法はこれに限定されるものではない。例えば、矩形範囲の外部の画像領域を、半透明のマスクで覆うことにより部分領域が判定できるように表示してもよい。また、部分領域は、ラベル付けを行うことが推奨される範囲として提示しているが、ユーザの意思で、部分領域の位置・サイズを変更することができるようにしてもよい。例えば、
図6には、部分領域のサイズを変更するための三角のアイコン611などが表示されている。例えば、ユーザはアイコン611を右にドラッグすることにより、部分領域サイズを右側に拡張することができる。
【0064】
ユーザは部分領域のサイズを小さくすることで入力作業を軽減することができる。また、サイズを大きくして、部分領域周辺にもラベル付け範囲を拡張することで、より多くのラベル付けデータを作成することができる。
【0065】
また、
図6には、部分領域633の表示と合わせて、画素612などの局所データの位置が強調表示されてもよい。局所データは、識別器の学習に重要な部分であるため、ユーザには特に注意してラベル付けを行ってもらうことが望ましい。従って、この局所データの画素を強調表示することで、ユーザがラベル付けを行うときに注意を促すことができるようになる。
【0066】
局所データの強調表示の方法は、どのような方法でもよいが、例えば、赤色などの注意を引く色で局所データの画素を表示すればよい。ただし、この強調表示では、ラベル付け対象の画素が視認できなくなるため、所定の間隔で点滅表示する表示方法や、ユーザの操作により強調表示の表示又は非表示を切り替えられるようにする表示方法、半透明の表示方法などを使用してもよい。また、局所データの画素のみを強調表示するのでは視認性が十分でない場合には、局所データの画素を中心とした所定の範囲を強調表示してもよい。また、局所データ部分を丸で囲う、矢印で示す、などの表示方法により、注意してラベル付けするべき局所データを強調表示するようにしてもよい。
【0067】
ここで、
図7は、部分領域633において、ひび割れラベルを入力する様子を示している。ユーザはマウスカーソル710を操作して、画像中のひび割れの画素にひび割れラベル711を入力する。具体的には、ひび割れと考えられる画素の位置でマウスをドラッグする(マウスを押しながらなぞる)ことで、ひび割れの位置にひび割れラベルを入力する。また、ユーザは、ひび割れラベルを入力していない画素は、ひび割れではなく、正常なコンクリート壁面であることを確認する必要がある。ひび割れラベルを付けていない画像には、非ひび割れのラベルを入力していることと同様の意味となる。部分領域内の全てのひび割れにラベル付けが完了すると、部分領域へのラベル付けが完了する。
【0068】
なお、ラベルの入力状況に応じて、局所データの強調表示を消去するようにしてもよい。
図7の例では、ひび割れ711のラベル入力に伴い、ラベルが入力された画素、またはラベル近傍の画素の局所データの強調表示を終了する。
図7では、局所データ712などがひび割れラベル711の入力に伴い、強調表示を終了する局所データとなる。このように、ラベル入力に伴い、局所データの強調表示を終了することで、ユーザはラベル付け入力の進捗を確認することができる。また、局所データの強調表示の終了は、ラベル入力に伴うものだけでなく、ユーザが意図的に、個別の局所データの強調表示を終了できるようにしてもよい。例えば、ペイントソフトウェアの消しゴムツールのように、所定範囲の局所データの強調表示を消す(終了する)ツールを備えることで、ユーザは、個別の局所データの強調表示を終了させることができる。このようなツールを使うことで、ユーザは、局所データ部分がひび割れではないと考えたしたときに、その局所データの強調表示を終了させる。これにより、ひび割れラベルを入力していない重要な部分についても、ひび割れ有無の判定の進捗を確認することができるようになる。
【0069】
また、ひび割れラベル入力に伴う表示制御部104、表示部105及びラベル入力部106の処理として、部分領域の範囲をはみ出してひび割れラベルを入力した場合に、自動的に部分領域のサイズを変更するようにしてもよい。
図8は、ユーザが部分領域633の範囲を超えて、ひび割れラベル811を入力した様子を示している。部分領域633の範囲を超えて、ひび割れラベルが入力されると、表示制御部104は部分領域633の拡張範囲810を表示部105に表示する。
図8での拡張範囲810は、点線で表示されており、入力されたひび割れラベル811を含む範囲まで部分領域633の矩形を拡張させた範囲である。なお、拡張範囲の決定方法は、この方法に限定されず、例えば、部分領域633からはみ出したひび割れラベル811の近傍のみを囲う範囲を拡張範囲とするようにしてもよい。また、表示方法についても、点線で拡張範囲を示す方法以外の表示方法でもよく、例えば、拡張範囲を透過色で表示するようにしてもよい。
【0070】
部分領域の拡張範囲の表示は、例えば、ユーザがひび割れラベル811を入力した直後(マウスポインタ801の位置で、マウスクリックを離した直後)に、拡張範囲を提示し、部分領域を拡張するかをユーザに問い合わせてもよい。表示部105は、拡張範囲810を表示すると共に、ユーザが部分領域の拡張を指示するためのダイアログボックス820を表示する。ここで、ユーザが「はい」を選択すると、ラベル付けを行う部分領域の範囲が拡張範囲810まで拡張される。なお、部分領域が拡張されると、入力したひび割れから離れた拡張部分で、ひび割れの見落としが発生する可能性がある。従って、ダイアログボックス820には、ユーザに部分領域を拡張したことによる、拡張範囲内のひび割れの見落としを注意喚起する表示を行っている。このような注意喚起の方法は、ダイアログボックスでのテキスト表示に限らず、直接、画像601に注意するべき領域を表示するようにしてもよい。
【0071】
以上、部分領域を超えてひび割れラベルを入力したタイミングで、領域を拡張するための表示を行う例を説明したが、部分領域の拡張は、ユーザ指示により任意のタイミングで実施してもおい。この場合、ユーザが部分領域の拡張を指示すると、部分領域をはみ出して入力されたひび割れラベルに基づいて拡張範囲を決定し、拡張範囲の表示と、領域拡張の問い合わせの表示とを行う。
【0072】
<部分領域の表示切替>
続いて、部分領域の表示の切り替えについて説明するため、再び
図6を参照する。前述したように、GUIアプリケーションを起動し、ラベル付けを開始する状態になると、画像601には部分領域を含む画像範囲が表示される。この時、最初に表示される部分領域は、優先度が最も高い部分領域を表示するようにすればよい。ユーザは、表示された部分領域へのラベル入力が完了した場合、「次へ」ボタン641をクリックする。すると、次の優先度の部分領域が画像601に表示され、ラベル入力を受け付ける。このように、部分領域の表示順序は、部分領域の優先度に基づいて表示すればよい。
【0073】
本実施形態では、部分領域はM個の領域を設定しており、学習データ拡充の観点から、ユーザが全ての部分領域に対してラベル付けを行うことが望ましい。しかし、ユーザが終了ボタン642をクリックすることで、部分領域へのラベル付けを途中で終了できるようにしてもよい。この場合、途中までラベルが入力された部分領域が学習に利用可能なデータとなる。
【0074】
また、部分領域の表示順序は、優先度の順に限らず、他の基準で順序を決めてもよい。例えば、部分領域が近い順に表示するようにしてもよい。具体的には、最も優先度の高い部分領域を初めに表示し、それ以降の部分領域は、前に表示された部分領域から、画像中の距離、または構造物の3次元距離が近い順に表示する。これにより、似たような画像が連続的に表示される可能性が高くなり、ユーザの入力負荷を軽減することができるようになる。逆に、部分領域が遠い順に表示するようにしてもよい。遠い順で部分領域を表示することで、部分領域の表示順序の早い段階で、多様な画像へラベル入力が実施できる可能性がある。従って、もし、ユーザが全ての部分領域へラベル入力を完了する前にラベル入力を終了した場合でも、多様性のあるラベル付きデータを作成することができる。以上のように、部分領域の表示順序は、部分領域の位置関係に基づいて決定するようにしてもよい。
【0075】
さらに、優先度の順に限らず、ユーザがラベルを入力する部分領域の順序を任意に選択できるようにしてもよい。このためには、例えば、複数の部分領域の一覧651を表示し、ユーザが部分領域へのラベルの入力順序を設定できるようにすればよい。
【0076】
また、ユーザがラベルを入力する部分領域を選択できるようにしてもよい。このためには、例えば、複数の部分領域の一覧651を表示し、ラベルを入力する必要が無いと考えられる部分領域を削除できるようにすればよい。または、表示中の部分領域へのラベル入力をスキップする命令を受け付ける機能を有してもよい。
【0077】
以上のように、表示制御部104、表示部105及びラベル入力部106の動作により、部分領域にひび割れラベルを付与することができる。入力されたラベル付きデータは、画像と関連付けて、データ保存部101へと保存される。この画像及びラベル付きデータにより、新しいひび割れ検知の識別器を学習することができる。
図1の学習部108は、データ保存部101に保存された画像及びラベルデータを用いて、ひび割れ検知の識別器を学習し、学習結果の識別器を識別器保存部107に保存する。なお、学習部108で行う識別器の学習では、新規に作成したラベル付きデータのみを用いて識別器を学習してもよいし、既存のラベル付きデータも含めたデータセットで学習してもよい。
【0078】
また、この新規の識別器を用いて、再び、局所データ及び部分領域を設定し、さらにラベル付けを要求する構成にしてもよい。新規の識別器を用いた局所データ及び部分領域の設定は、新規の識別器を用いて、
図3のステップS302の局所データ設定を実施すること以外は、これまで説明した方法と同様の方法で実施することができる。
【0079】
具体的には、新規の識別器を用いた局所データ設定では、新規の識別器を用いて、識別が困難な画素を選択して局所データとする。局所データの設定以降は、これまでと同様に局所データ分布に基づいて部分領域を設定し、部分領域に対してラベル付けを要求する。
【0080】
また、識別器の学習、局所データの選択を複数回繰り返すようにしてもよい。このラベル付けと学習の繰り返しは、識別器で識別困難な画素が無くなるまで(局所データが選択されなくなるまで)実施してもよいし、ユーザの判断によって終了するようにしてもよい。
【0081】
また、ユーザが
図6の部分領域の再設定ボタン652をクリックしたタイミングで、それまでに入力された部分領域ラベルを用いて新規の識別器を学習し、局所データ及び部分領域を再設定するようにしてもよい。
【0082】
または、ユーザが部分領域にラベル付けを実施しているバックグラウンドで、自動的に識別器の学習と部分領域の更新とを行うようにしてもよい。
【0083】
この場合、予め決められた所定のタイミングで、その時点までにラベル付けが完了した部分領域データを用いて、新規の識別器を学習し、局所データ及び部分領域を再設定すればよい。再設定された部分領域は、ユーザに提示中の部分領域と自動的に差し替えられて、ユーザに順次、ラベル付け領域として提示される。これにより、ラベル入力の状況に応じて、学習に重要な部分領域を動的に変更することができるようになり、更新された識別器が識別困難と見なす部分領域が随時更新され、ラベル入力領域としてユーザに提示されることになる。従って、効率的に部分領域へのラベル付けを行うことができるようになる。
【0084】
[実施形態1の変形例]
以下、実施形態1の変形例について説明する。実施形態1でのラベル付け対象画像は、
図2に示したような平面図に貼り付けた構造物画像であったが、ラベル付け対象画像はこれに限定されない。例えば、複数のスナップ画像で構成される画像データセットをラベル付け対象データとしてもよい。この場合、局所設定部102及び部分領域設定部103の処理を画像データセットの各画像に対して実施し、複数の画像からラベル付けを行う対象の部分領域を設定する。表示制御部104、表示部105及びラベル入力部106により、複数の画像に設定された部分領域を順次、ユーザに提示することで、部分領域へのラベル入力を実施する。
【0085】
また、実施形態1での識別対象は、コンクリート壁面のひび割れとしたが、識別対象はこれに限定されない。例えば、部品検査の欠陥領域のケースや、画像の意味的領域分割(Semantic Segmentation)や物体輪郭抽出などのような画素単位でラベルが必要なケースにも、本実施形態を適用することができる。また、実施形態1でのラベルは、各画素がひび割れか否かの2クラスラベルであったが、これを多クラスラベルとしてもよい。例えば、意味的領域分割では、空領域、木領域、地面領域、人物領域、などの多クラスに各画素を識別する。このため、ラベルデータには多クラスラベルを用いる必要がある。このような多クラスのラベル付けにも本実施形態を適用できる。
【0086】
(実施形態2)
実施形態1では、局所データが画素である例を説明した。しかし、局所データは画素に限定されない。実施形態2では、局所データが少なくとも複数画素で構成される領域である場合の実施形態について説明する。以下、実施形態2での局所データを局所領域と呼ぶ。この局所領域は、ラベル付け対象領域としてユーザに提示する部分領域よりは狭い領域である。また、実施形態2では、実施形態1とは異なる方法で局所データ(局所領域)を選択する方法について説明する。その他の処理は、実施形態1と同様の処理で実行できるため、説明を省略する。また、装置構成は実施形態1と同様であるため、説明を省略する。
【0087】
まず、
図9(A)-
図9(C)を参照して、実施形態2に係る局所データ(局所領域)の選択方法を説明する。
図9(A)において、画像900は、ラベル付けを行う対象の画像である。画像900は、パッチ901のような256×256画素サイズの領域に分割されているとする。実施形態2では、このパッチごとに、パッチをラベル付け対象の局所領域として選択するか否かを判定する。なお、ここでは説明の簡略化のため、グリッドで区切ったパッチを対象に局所領域とするか否かを判定する実施形態について説明するが、局所領域の判定のための領域は、これに限定されるものではない。例えば、局所領域の判定のためのパッチは、複数のパッチが重複するように画像から取得してもよい。また、パッチサイズも256×256画素サイズに限らず、他のサイズ、アスペクト比でもよい。
【0088】
本実施形態では、局所設定部102は、各パッチの画像が既存の学習データに含まれていない未知のタイプの未知画像であるか否かを判定し、未知画像である場合にはラベル付けが必要な画像であると判定して、そのパッチを局所領域として選択する。これは、既存の学習データの画像と類似した画像は、既存データでの学習で対応できるが、既存の学習データに含まれない未知の画像については、新しくラベル付けを行い、学習データに加えるべきであるという考えに基づくものである。各パッチが未知画像であるか否かを判定するために、予め、既存の学習データを用いて、未知画像の識別器を準備しておく。この識別器は、パッチ画像を入力したときに、既存の画像データセットとの類似度、または乖離度を算出する。類似度が所定値以下のパッチ、あるいは、乖離度が所定値以上のパッチは、未知の画像であるとして、局所領域として選択する。あるデータとデータセットとの類似度、乖離度を求める方法は様々な公知の方法により実現できるため、識別器としてどのような方法を用いてもよい。
【0089】
ここでは、識別器の例として、乖離度を算出する識別器について説明する。まず、既存の学習データセットの画像からパッチを取得し、パッチの画像を所定の特徴量に変換する。この特徴量は、例えば、画像の雰囲気や特徴を表す特徴であり、Auto Encoderなどの方法を適用することができる。この特徴抽出を既存の学習データセットの画像から取得されるパッチ群に対して実施し、既存の学習データセットの特徴量を取得する。この特徴量の特徴空間での分布に基づいて、乖離度を算出することができる。
【0090】
具体的には、判定対象のパッチ画像から特徴量を抽出し、パッチ画像の特徴量と、既存の学習データセットの画像の特徴量分布との距離を算出し、この距離を乖離度とする。特徴量分布からの距離は、例えば、単純に分布中心からのユークリッド距離でもよいし、分布を考慮してマハラノビス距離を用いてもよい。
【0091】
以上の処理により、既存の学習データセットとの乖離度が大きなパッチが局所領域として選択される。
図9(B)において、網掛けで表すパッチ902などが局所領域として設定されたパッチである。局所領域が設定された後の次の処理は、部分領域設定部103が局所領域の分布に基づいて部分領域を設定する処理であり、この処理は、実施形態1と同様の方法で実施することができる。例えば、
図9(C)は、局所領域(局所データ)の密度が所定以上の範囲を部分領域として設定する方法により、部分領域903、904を設定した状態を示している。この部分領域の設定の処理では、実施形態1と同様に、部分領域候補を作成した後に、部分領域候補から部分領域を選択するようにすればよい。
【0092】
また、類似度や乖離度に基づいて、局所領域の重要度を設定してもよい。例えば、乖離度が高いほど、ラベル付けの対象として重要な局所領域となる。この重要度は、実施形態1のように、局所領域を含む部分領域候補から、部分領域を選択する基準として用いることができる。
【0093】
部分領域が設定された後の処理は、実施形態1と同様に、表示部105及びラベル入力部106を介して、ユーザに部分領域にラベル付けを要求する。
【0094】
(実施形態3)
実施形態1及び実施形態2では、ラベル付け対象データは画像であったが、ラベル付け対象データは画像に限らない。実施形態3では、ラベル付け対象データが動画像である例を説明する。
【0095】
以下、
図10を用いて、ラベル付け対象データを動画像としたときの実施形態を説明する。例えば、動画像の1フレームが局所データであり、局所データを含む複数の連続フレームがラベル付け対象データの部分領域となる。また、本実施形態では、ラベル付け対象データの動画像データから、人物検出を行う識別器を学習するためのラベル付きデータを作成する。
【0096】
ただし、動画像に適用する識別器はこれに限らず、どのような識別器を対象としてもよい。例えば、動画像中の異常を検知する識別器の学習のためのラベル付きデータを作成してもよい。また、人間の動作を識別する識別器のように、複数の連続フレームが識別対象の識別器を対象としてもよい。この場合、人間の動作を示す短い連続フレームが局所データとなり、局所データを含み、局所データのフレームよりも長い連続フレームが連続領域となる。
【0097】
図10には、ラベル付け対象データの動画像1000が示されている。動画像1000は、例えば、フレーム1001などのフレーム画像で構成されている。まず、局所設定部102は、学習済みの人物検出のための識別器を、ラベル付け対象データの動画像1000に適用する。この識別結果を用いて、実施形態1と同様に、既存の識別器で識別困難な局所データを決定する。例えば、画像1113は、フレーム1013の画像における人物検出の結果1030を示す。この人物検出結果1030は、既存の識別器で識別平面付近の結果を示し、既存の識別器では識別困難な結果であったとする。このように既存の識別器で識別困難な結果を含むフレームを局所データとする。動画像1000には、例えば、フレーム1011、1013、1014のように、識別困難な検知結果を含む局所データのフレームが太い線で示されている。以上のようにして、局所設定部102では、ラベル付け対象データの動画像のフレームを局所データとして設定する。
【0098】
次に、部分領域設定部103は、局所データの時間的な分布に基づいて、ラベル付けを行う部分領域を選択する。具体的には、動画像の時間軸上で局所データの密度が高い連続フレームを部分領域とする。
図10には、連続フレーム1020、1021が部分領域として選択された様子が示されている。
【0099】
ユーザは、表示部105及びラベル入力部106を介して、この連続フレームの各フレームに人物の位置を示すラベルを入力する。人物位置ラベルは、例えば、フレーム画像中の人物位置範囲を示す矩形情報である。この操作により、人物検出のための識別器を学習するデータを作成することができる。連続フレームに対してラベル付けを行う場合、連続フレーム間で人物の写り方は大きく変化しない。従って、あるフレームに人物位置ラベルを入力すると、連続フレームにもそのまま同じラベルを適用することができるケースがある。また、例えば、フレーム1011とフレーム1013に人物位置ラベルを入力した場合、その間のフレームの人物位置ラベルは、フレーム1011とフレーム1013の人物位置ラベルから推定することができる。このように、連続フレームのラベル入力をサポートする機能を表示部105及びラベル入力部106に設けてもよい。連続フレームの部分領域をラベル付けデータとし、且つ、このようなラベル入力サポート機能を用いることよって、少ない作業コストで多くのラベル付きデータを作成することができる。
【0100】
以上のような方法により、ラベル付け対象データとして動画像を用いることができる。ただし、動画像データに限らず、センサデータのような時系列データを用いることもできる。例えば、複数のセンサデータから異常を検知するような識別器の学習のために、ラベルが付与されていない時系列センサデータにラベル付けを行ってもよい。この場合、センサデータ中で、識別器が識別困難なタイミングのセンサデータを局所データとする。
【0101】
さらに、複数のセンサデータのようなマルチモーダルデータの場合において、データの多次元空間中、または特徴空間中での局所データの分布に基づいて、部分領域を設定するようにしてもよい。部分領域には局所データの近傍で類似したデータ群が含まれており、学習に効果があるとしている局所データと、類似したデータ群とをラベル付け対象データとすることができる。
【0102】
(実施形態4)
上述の実施形態では、複数の局所データを設定し、局所データの分布に基づいて部分領域を設定する例を説明した。実施形態4では、一つの局所データに基づいて、部分領域を設定する例を説明する。本実施形態では、ある一つの局所データの位置に基づいて範囲を拡張し、局所データを含む周辺領域を、ラベル付けを行う部分領域とする。本実施形態では、局所データの設定方法は、上述の実施形態と同様の方法で実施することができる。従って、以下では、局所データが選択された状態で、部分領域設定部103が部分領域を設定する処理について説明する。
【0103】
局所データに基づいて範囲を拡張して周辺領域を決定する方法は、例えば、局所データを中心とした予め決められた範囲を周辺領域とすればよい。例えば、
図11(A)には、局所データ1110を中心に、予め決められたサイズの周辺領域を部分領域1111として設定した様子を示している。ユーザは、この部分領域1111において、実施形態1と同様にラベル付けを行う。また、部分領域設定部105により設定される部分領域は初期値であって、ユーザは、表示部105及びラベル入力部106を介して、部分領域1111の位置及びサイズを調整することも可能である。
【0104】
また、
図11(B)は、動画像データをラベル付け対象データとした場合の処理について説明するための図である。
図11(B)では、フレーム1120が局所データであり、フレーム1120の前後の所定数のフレーム範囲を周辺領域とする。この結果、周辺領域の範囲1121が部分領域となる。
【0105】
以上では、一つの局所データに基づいて、部分領域を設定する方法について説明したが、一つの局所データと、他の情報とを組み合わせて部分領域を設定するようにしてもよい。例えば、一つの局所データの画素とその周辺の画像の連続性や類似性を評価して、局所データの画素と類似する範囲までを部分領域とするようにしてもよい。同様に、動画像の場合も、局所データのフレームとフレーム間の画像が類似した連続フレームの範囲や、局所データフレームと同一シーンの範囲と考えられる連続フレームの範囲を部分領域としてもよい。
【0106】
(実施形態5)
上述の実施形態では、既存の識別器による識別結果や、既存のデータセットとの類似度または乖離度に基づいて、学習に効果のある部分を判定して、局所データを設定する例を説明した。実施形態5では、これらとは異なる他の基準で局所データを設定する例を説明する。
【0107】
また、上述の実施形態では、局所データの分布の密度が高い領域や、局所データの分布に基づいてクラスタ化された領域を部分領域とした。本実施形態では、局所データの分布に基づいて部分領域を設定する方法として、局所データの存在範囲を部分領域とする方法を説明する。なお、本実施形態では、実施形態1と同様に、コンクリート壁面画像のひび割れ検知を例にして説明を行う。
【0108】
まず、実施形態5に係る局所データの設定方法を説明する。局所データは、学習に効果があるデータ部分をある基準で判定したものである。ここで、例えば、ひび割れ検知の識別器は、画像中のエッジ部分がひび割れか、ひび割れ以外のエッジなのかを識別する学習を行うため、ひび割れ検知では画像のエッジ部分が学習に重要な部分となる。従って、画像処理などによって、画像中のエッジ部分を抽出することで、学習に効果のある部分を決定することができる。エッジ抽出の画像処理の方法としては、微分フィルタ処理と閾値処理などの公知の方法を利用することができる。または、画像を周波数成分に変換し、高周波成分の領域のみを残す処理によってエッジ抽出を行ってもよい。実施形態5では、このようにして抽出したエッジ画素を局所データとする。
【0109】
エッジ抽出による局所データの設定は、ひび割れ検知や輪郭抽出がタスクの識別器を学習する場合に有効な局所データ設定方法である。このような局所データ設定方法は、学習する識別器のタスクに応じて設定すればよい。例えば、画像領域分割における空領域のラベル付きデータ作成のために、青色系の画素を抽出して局所データとしてもよい。または、汎用的な局所データの設定方法として、ユーザが、ラベル付け対象データから、学習に効果のあると判定するデータ部分を指定し、指定したデータ部分と類似するデータ部分を収集する方法もある。具体的には、ユーザが指定した画素と類似する画素値を示す画素を収集する方法や、ユーザが指定した画像パッチに基づいてパターンマッチングを行い、類似の画像パッチ部分を収集する方法が挙げられる。
【0110】
次に、実施形態5に係る部分領域の設定方法について説明する。実施形態5での部分領域は、局所データが存在する位置を全て囲う領域とする。前述の処理で設定した局所データの全てを囲う範囲を部分領域としてもよい。或いは、時空間的に外れ値となる局所データを自動的に、または手動で除去してから、全ての局所データを囲う範囲を部分領域としてもよい。また、局所データを囲う形状は、矩形形状でもよいし、実施形態1の
図5(B)に示されるような任意の形状でもよい。
【0111】
[実施形態5の変形例]
さらに、実施形態5の変形例として、複数の局所データ設定方法を併用する例を説明する。例えば、上記の例では、微分フィルタ処理と閾値処理による局所データ設定方法、高周波成分抽出による局所データ設定方法などの局所データ設定方法を説明した。このような複数の方法を併用して局所データを設定することで、様々な局所データを設定することができるようになる。なお、併用する局所データ設定方法に、実施形態1などの識別器を用いた局所データ設定方法を含めてもよい。
【0112】
図12は、複数の局所データ設定方法を併用して部分領域を設定した様子を示している。
図12の例では、局所データ設定方法Aと局所データ設定方法Bとを併用したものとする。
図12の丸印1210は局所データ設定方法Aで設定した局所データの画素である。これらの局所データを囲う範囲1211が、局所データ設定方法Aの局所データの分布に基づいて設定される部分領域である。一方、バツ印1220は、局所データ設定方法Bで設定した局所データの画素である。これらの局所データを囲う範囲1221が、局所データ設定方法Bの局所データの分布に基づいて設定される部分領域である。このように、複数の局所データ設定方法を併用することで、特性の異なる部分領域を設定することができるようになる。なお、
図12においても、これまでの実施形態と同様に、ユーザは提示された部分領域1211、1221の位置・サイズを自由に調整できるものとする。
【0113】
また、ユーザが複数の局所データ設定方法から、局所データ設定方法を選択できるようにしてもよい。このために、各局所データ設定方法で設定した局所データや、その局所データから構成される部分領域を比較表示する。ユーザは、表示を確認して、ラベル付けの対象として適当と考えられる局所データや部分領域に対応する局所データ設定方法を選択する。これらを実施するために、表示部105及びラベル入力部106により、複数の局所データ設定方法の結果(局所データ、部分領域)を表示する機能や、局所データ設定方法を選択する機能を実施可能にしてもよい。
【0114】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0115】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0116】
100:情報処理装置、101:データ保存部、102:局所設定部、103:部分領域設定部、104:表示制御部、105:表示部、106:ラベル入力部、107:識別器保存部、108:学習部