(58)【調査した分野】(Int.Cl.,DB名)
前記抽出手段は、前記正解データと前記検知データとにより示される前記検知対象の領域が一致する領域から所定の範囲内にある前記正解データと前記検知データとにより示される前記検知対象の領域が一致しない領域を前記不一致領域として抽出することを特徴とする請求項1に記載の情報処理装置。
前記所定の範囲とは、前記正解データと前記検知データとにより示される前記検知対象の領域が一致する領域から所定距離または所定面積の範囲であることを含むことを特徴とする請求項2に記載の情報処理装置。
前記抽出手段は、前記正解データと前記検知データとにより示される前記検知対象の領域が一致する領域と隣接している前記不一致領域を抽出することを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
前記推定手段は、前記正解データにおいて、前記検知対象の領域として未入力である領域を推定することを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。
前記推定手段は、前記正解データにおいて、前記検知対象の領域として誤入力された領域を推定することを特徴とする請求項1から5のいずれか1項に記載の情報処理装置。
前記推定手段は、前記正解データと前記検知データとにより示される前記検知対象の領域が一致する領域に対応する前記画像の領域の画像情報に基づいて、前記正解データが示す前記画像における前記検知対象の領域の誤りを推定することを特徴とする請求項1から6のいずれか1項に記載の情報処理装置。
前記性質情報は、前記不一致領域の直線性、角度、円形度、長さ、及びループ回数のうち少なくとも1つの形状情報を含むことを特徴とする請求項1から7のいずれか1項に記載の情報処理装置。
前記性質情報は、前記不一致領域に対応する前記画像の領域の色情報、明るさ情報及びテクスチャ情報のうち少なくとも1つを含むことを特徴とする請求項1から8のいずれか1項に記載の情報処理装置。
前記提示手段は、前記推定結果の確認を促す理由を示すための文字及び画像の少なくとも一方、又は、前記推定手段により誤りとして推定された前記正解データが示す前記画像における前記検知対象の領域を、さらに提示することを特徴とする請求項10に記載の情報処理装置。
前記受付け手段により受付けた前記修正を前記正解データに反映し、前記正解データを更新する更新手段をさらに備えることを特徴とする請求項13に記載の情報処理装置。
前記提示手段は、前記不一致領域と類似する他の不一致領域の性質情報と、当該他の不一致領域に対する前記推定手段による推定結果のユーザからの入力に基づく正誤とをさらに提示することを特徴とする請求項10から12のいずれか1項に記載の情報処理装置。
前記推定手段による推定に係る基準を、前記他の不一致領域の性質情報と、当該他の不一致領域に対する前記推定手段による推定結果のユーザからの入力に基づく正誤とに応じて決定する基準決定手段をさらに備え、
前記推定手段は、前記基準決定手段により決定された基準に従って、前記正解データが示す前記画像における前記検知対象の領域の誤りを推定することを特徴とする請求項15に記載の情報処理装置。
前記推定手段による推定に係る基準を、前記性質情報に含まれる複数の属性のうち、前記推定手段による推定に用いるとしてユーザ指示に基づいて選択された属性と、ユーザ指示に基づいて設定された、当該属性に係る値の基準値とに応じて決定する基準決定手段をさらに備え、
前記推定手段は、前記基準決定手段により決定された基準に従って、前記正解データが示す前記画像における前記検知対象の領域の誤りを推定することを特徴とする請求項1から15のいずれか1項に記載の情報処理装置。
前記正解データは、前記所定の検知処理に用いる学習済モデルの機械学習に際して教師として用いるデータであることを特徴とする請求項1から17のいずれか1項に記載の情報処理装置。
前記推定手段による推定により誤りがないと推定された前記正解データを前記学習済モデルの再学習を行うためのデータとして出力する出力手段をさらに備えることを特徴とする請求項18に記載の情報処理装置。
前記推定手段は、機械学習を用いた方法で、前記正解データが示す前記画像における前記検知対象の領域の誤りを推定することを特徴とする請求項1から22のいずれか1項に記載の情報処理装置。
画像における検知対象の領域を示す正解データと、所定の検知処理により検知された前記検知対象の前記画像における領域を示す検知データとにより示される前記検知対象の領域が一致しない不一致領域を抽出し、
抽出された前記不一致領域の形状および/または前記不一致領域に対応する前記画像の領域の画像情報を示す性質情報に基づいて、前記正解データが示す前記画像における前記検知対象の領域の誤りを推定することを特徴とする情報処理装置の制御方法。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【0012】
(実施形態1)
実施形態1では、ハードネガティブ学習に本発明の情報処理装置を適用する例を説明する。ハードネガティブ学習とは、学習途中のモデルを画像に適用し、誤って検知したデータを含む画像を収集して、集中的に学習する方法である。この繰り返し学習に本発明を適用することにより、誤りのない正確な学習データセットを収集して再学習データとして使用する。
【0013】
本実施形態では、画像内の特定の検知対象を検知するケースの例として、コンクリート壁面画像上のひび割れを検知対象とし、正解データの誤りのうち未入力部分を推定する方法を説明する。
【0014】
<概要>
本実施形態では、推定対象を未入力部分とすることから、未入力の発生傾向及び未入力部分の推定について説明する。はじめに、未入力の発生傾向について説明する。未入力は、大量のデータに正解データを入力するとき、入力した部分の周辺で発生する傾向がある。未入力が発生する原因として、画像内の主要な入力対象に意識を取られ、周辺の入力対象を見過ごすことが挙げられる。このため、正解データの周辺で入力対象らしいという情報を持つ部分があれば、正解データと紐付けて正解データを拡張、変更することで、未入力部分を推定できる可能性がある。
【0015】
本実施形態では、入力対象らしさの情報として画像に検知処理を施して得られる検知データを利用し、正解データの誤り部分を推定する。確かに、正解データと検知データとは、いずれも誤りを含むため、完全に信頼することはできない。しかし、正解データのラベルがあり、かつ検知できている箇所は、そうでない箇所に比べ、正解データとして信頼性が高いと考えられる。このため、正解データと検知データとの位置が一致する箇所を、信頼性が高い箇所と定義する。
【0016】
反対に、一致しない箇所には、過検知データと過入力データとの2種類あり、これらをまとめて不一致データと定義する。過検知データとは、検知データのうち、正解データと位置が一致していない検知データであり、過入力データは検知データと位置が一致していない正解データである。本実施形態では、未入力の推定のため、不一致データのうち過検知データに着目する。そして、信頼性の高い箇所周辺の位置に過検知データがあれば、その過検知データは正解データが入力されていない部分である可能性があると推定する。当然ではあるが、過検知データには、本当は正解データである部分のみならず、誤検知部分も含まれているため、本当は正解データの可能性がある部分を推定する必要がある。
【0017】
本発明に係る処理では、信頼性の高い箇所周辺の過検知データに着目し、その形状情報や元画像上における色情報などの性質情報に基づき、着目するデータが未入力部分であるかどうかを推定する。
【0018】
以上のように、本実施形態では正解データとして信頼性の高い箇所の周辺の過検知データについて、性質情報に基づいて画像内の正解データの未入力部分であるかを推定する。
【0019】
<システム構成>
続いて、
図1を参照して、ハードネガティブ学習におけるシステムを構成する情報処理装置100及び関連する構成要素について説明する。情報処理装置100及び関連する構成要素は、ネットワークまたは各種情報記録媒体を介して取得したソフトウェア(プログラム)を、CPU、メモリ、ストレージデバイス、入出力装置、バス、表示装置などにより構成される計算機によって実行することで実現できる。なお、計算機については、汎用の計算機を用いてもよいし、本発明のソフトウェアに最適に設計されたハードウェアを用いてもよい。
【0020】
まず、ハードネガティブ学習を実施するための全体構成を説明する。ハードネガティブ学習のための構成要素は、情報処理装置100、学習データ格納部170、学習部180、検知部190、再学習データ収集部160を含む。学習データ格納部170には、正解データと元画像とを学習用データとして格納しておく。学習部180は、正解データと元画像とを用いて検知モデルの学習を行う。検知部190は、元画像に検知モデルを適用して検知データを取得する。情報処理装置100は、検知部190で取得された検知データと、学習データ格納部170に格納されている正解データとを取得し、正解データの誤り部分を推定し、その推定結果として誤り候補データの情報を格納する。
【0021】
誤り候補データは、推定対象が未入力の場合は未入力の可能性がある部分、推定対象が誤入力の場合は誤入力の可能性がある部分が、連続領域ごとにグループ化された、画素単位のデータである。
【0022】
再学習データ収集部160は、誤り候補データを含まない学習データは、正解データが正確である可能性が高いため、再学習データとして収集する。再学習データは学習部180へ出力されて再学習に使用される。
【0023】
<情報処理装置の構成>
次に、本実施形態に係る情報処理装置100の構成を説明する。情報処理装置100は、正解・検知データ格納部110、評価対象データ判定部120、性質調査部130、誤り候補データ判定部140、及び結果格納部150を備えている。各処理部の動作は、不図示のCPUが不図示のメモリからプログラムを読み出して実行することにより制御される。
【0024】
[正解・検知データ格納部110]
正解・検知データ格納部110は、正解データと検知データとをセットで格納する。ここで、扱う画像およびデータについて説明する。まず、本実施形態で扱う検知対象物について説明する。検知対象物には、ひび割れのような線状要素、静止物体、移動物体を含むものとする。検知対象物の検知処理を施す前の画像を、元画像と称する。元画像は、検知処理を施す前の状態であれば、RGB画像、グレースケール画像、または、これらの画像に対してノイズ除去を行った画像であってもよい。
【0025】
続いて、
図2を参照しながら、正解データと検知データを説明する。
図2の画像200、210では正解画像に正解データが載っており、画像220、230では検知画像に検知データが載っている。
【0026】
正解画像は、背景に0の値が格納されている画像で、元画像の検知対象位置に相当する画素に、ラベルとして背景と異なる値、例えば1を格納した画像である。正解画像は、ラベル入力者がラベルを付与した画像とするが、人が目視で確認した検知画像であってもよい。画像200はひび割れ位置を正確に示した理想の正解画像の例であり、画像210は実際にラベル入力者がラベル付けをした正解画像の例である。正解画像210上の正解データ211は、理想の正解画像200の正解データ201と比較すると、ラベル入力者の入力ミスにより長さが不足している状態を表している。
【0027】
なお、正解画像上でラベルの画素が連続したラインや領域を1つの正解データと定義する。正解データがライン状で分岐している場合は、分岐点で分解した成分をそれぞれ1つの正解データとしてもよい。
【0028】
検知画像は、画像に対して検知対象を検知する処理を施して得られる結果であり、検知対象らしさを表すスコアや確率を画素ごとに持つ画像、または、これらに閾値処理を適用して得られる2値画像である。検知画像上で、検知対象物が検知された画素の連続領域を1つの検知データと定義する。例えば、画像220では、検知データは領域221、222である。
【0029】
[評価対象データ判定部120]
評価対象データ判定部120は、検知・正解データ格納部110からデータを取得し、正解データと検知データとの不一致データを抽出して、不一致データの中から評価対象データを判定する(対象判定)。評価対象データは、不一致データが正解データの誤り部分かを推定する対象のデータとする。例えば、評価対象データ判定部120は、検知データの中から不一致データとして過検知データを抽出し、過検知データの中から評価対象データを判定する。
【0030】
まず、検知データから過検知データを抽出する処理について説明する。過検知データの抽出方法として、正解データの領域を膨張させた正解画像を作成し、検知画像から差し引いたとき、残った領域を過検知データとする。具体的には、検知画像220から、実際の正解画像210の正解データ211の領域を膨張させた画像を差し引くことで、検知データ222の他、検知画像230の2点鎖線で囲われた領域231、232が残ることになる。本実施形態では、これらの成分をそれぞれ1つの過検知データとして扱う。
【0031】
各正解データ、各過検知データには異なるIDが付与されているものとする。なお、本実施形態では、画像データとして正解データと検知データを保持する実施形態について説明しているが、各データの保有方法はこれに限らず、正解データや検知データを座標値の集合で表すベクタ形式など、他の方法で保持するようにしてもよい。
【0032】
次に、過検知データの中から評価対象データを判定する処理について説明する。過検知データのうち、正解データと検知データとの位置が一致している、正解データとして信頼性の高い箇所から所定の範囲に存在するデータを、評価対象データとして判定し、正解データの誤り部分かを推定する対象のデータとして使用する。ここで、一致した箇所とは、検知データ上に正解データが存在する箇所のこととする。反対に、正解データから所定の範囲内に存在しない過検知データは、評価対象データとして判定せず、誤り部分かを推定する対象のデータからは除外する。
【0033】
ここで、所定の範囲は、画素数や長さ、面積の大きさなどのパラメータを用いて定める。パラメータは、予め人手により事例ベースでデータベース化しておき、そのデータベースを用いて定めてもよい。また、検知対象物の特性に合わせて定義してよい。本実施形態では、ひび割れの延長上や分岐位置における正解データの未入力部分を発見するために、正解データとして信頼性の高い箇所と隣接した位置にある過検知データを、評価対象データとして判定する。
【0034】
隣接しているかどうかは、着目している過検知データの周囲の画素位置に信頼性の高い箇所が存在するかどうかによって判定する。例えば、検知画像230では、過検知データ231、232は信頼性の高い箇所211と隣接位置にあるため、評価対象データとして判定する。一方、過検知データ222は、正解画像210上の隣接位置に信頼性の高い箇所が存在しないため、評価対象データとして判定しない。
【0035】
なお、過検知データの中から評価対象データを判定する上で、必須ではないが、各評価対象データが、信頼性の高いどの箇所から所定の範囲内にあるのかを記録しておくと、後の性質調査部130の処理で扱いやすい。両者が所定の範囲(例えば、所定距離の範囲、所定面積の範囲)内に存在することを紐付いていると表現するものとする。紐付け情報の記録方法としては、正解データとして信頼性の高い箇所と評価対象データのIDとを表形式で記録する方法がある。例えば、過検知データが正解データと紐付けられた場合、
図3(a)に示す形式で、1列目には評価対象データのIDを格納し、2列目に信頼性の高い箇所のIDを格納する。この情報を紐付け情報と称する。
【0036】
[性質調査部130、誤り候補データ判定部140、結果格納部150]
性質調査部130は、評価対象データ判定部120により判定された評価対象データの形状情報や元画像上における該当位置の色情報など、各評価対象データの情報を数値的に表現した性質情報を調査する。誤り候補データ判定部140は、性質調査部130により調査された性質情報に基づいて、ルールベースまたは機械学習による方法で、各評価対象データの中から、正解データの誤っている部分として、誤り候補データを判定する。
【0037】
性質情報には、正解データとして信頼性の高い箇所に対する評価対象データの性質情報と、評価対象データ自体の性質情報とがある。1つ目の性質情報を調べる際には、評価対象データと紐付いている信頼性の高い箇所のIDを使用するので、評価対象データ判定部120により紐付け情報を記録しておく必要がある。
【0038】
図4(a)〜
図4(c)に示す事例では、性質情報として評価対象データの形状情報を調べ、検知対象としてあり得ない形状をルールベースで判定することにより、それ以外の形状の評価対象データを誤り候補データとして判定する。画像420、440、460は検知画像であり、画像410、430、450は各検知画像の正解画像である。各検知画像において2点鎖線で囲われている領域421、422、441、442、461、462、463は評価対象データである。
【0039】
まず、
図4(a)を用いて、信頼性の高い箇所に対する評価対象データの形状情報に基づき誤り候補データを判定する例を説明する。ここでは、形状情報として信頼性の高い箇所に対する評価対象データの角度の一致度合い、領域の長さや広さなどの情報を調べる。調べ方としては、例えば、信頼性の高い箇所及び評価対象データの、それぞれの端点から端点までのベクトルを調べ、その長さや角度を比較する方法がある。
【0040】
図4(a)の検知画像420の評価対象データ421は、信頼性の高い箇所411と紐付いているものの、角度が大きく異なる。ひび割れは、評価対象データ421のように、急に向きが変化するような形状になることは想定し難い。したがって、評価対象データ421は、正解データの未入力部分ではなく、単なる誤検知であり、正解データの誤りではないと推定されるため、過検知データである評価対象データ421は誤り候補データでないと判定する。
【0041】
評価対象データ422は、信頼性の高い箇所412と紐付いているものの、正解データに対して評価対象データが極端に長くなっている。評価対象データが長すぎる場合、ユーザが全て入力し忘れたとは考えにくいことから、誤り候補データでないと判定する。
【0042】
次に、
図4(b)を用いて、評価対象データ自体の形状情報に基づき誤り候補データを判定する例を説明する。この形状情報には、評価対象データ自体の形状情報の例として、評価対象データの領域の直線性、角度、円形度、長さ、ループ回数などの少なくとも一部が含まれる。
図4(b)の検知画像440の評価対象データ441は、ループを描き丸い形状をしていることから、ひび割れとして想定し難い形状であり、壁面上の丸い穴を誤検知したデータである可能性がある。評価対象データ442は、直線的でかつ水平方向を向いていることから、壁面上の人工的な割れ目を誤検知したデータである可能性がある。したがって、これらの領域は、ひび割れの形状として不自然であり、誤り候補データではないと判定できる。
【0043】
以上、誤り候補データではないと判定する複数のルールを評価対象データに適用する処理について説明したが、反対に、誤り候補データではないと判定する条件にあてはまらない評価対象データは、誤り候補データであると判定する。
図4(c)の検知画像460の評価対象データ461、462、463は、いずれも上記に挙げた条件に当てはまらないことから、誤り候補データとして判定する。
【0044】
なお、
図4(a)及び
図4(b)の例では、正解データとして信頼性の高い箇所に対する評価対象データの形状情報と、評価対象データ自体の形状情報とを別々に利用しているが、両方を利用しても構わない。
【0045】
誤り候補データ判定部140により判定された各誤り候補データの位置情報は、結果格納部150に出力される。結果格納部150は、誤り候補データ判定部140により判定された誤り候補データの情報を格納する。誤り候補データを含む画像は、正解データに誤りがある可能性のあるデータである。本実施形態では、誤り候補データを含む画像を学習データから除外することで、未入力部分が少ない正解データを用いて再学習を行うことができる。
【0046】
以上の処理により、検知データと正解データを用いて、正解データの誤り部分を推定できるようになる。さらに、複数回ループすることで良いモデルの学習と、より正確な誤り部分の推定とが可能となる。
【0047】
<処理>
次に、
図5のフローチャートを参照して、ハードネガティブ学習の処理の全体の手順を説明する。
図5のステップS501において、学習部180は、正解データと元画像とを用いて、検知処理のための検知モデルの学習を行う。ステップS502において、検知部190は、元画像に検知モデルを適用して検知データを取得する。ステップS503において、情報処理装置100は、正解データと検知データとを用いて正解データの誤り部分を推定する。
【0048】
ステップS504において、再学習データ収集部160は、誤り部分の推定結果に基づいて、誤り候補データを含まない学習データを選定し、再学習データとする。ステップS505において、再学習データ収集部160は、処理を終了するか否かを判定する。処理を終了しない場合、ステップS501に戻り、再学習データを用いた学習を行う。処理を終了する場合は、誤り候補データが無くなった場合や、ユーザから終了操作を受け付けた場合などである。以上で
図5の一連の処理が終了する。
【0049】
続いて、
図6のフローチャートを参照して、本実施形態に係る情報処理装置が実施する処理の手順を説明する。
図6の処理は、1枚の画像を対象とした場合の処理である。ステップS601において、評価対象データ判定部120は、検知・正解データ格納部110から正解データと検知データとを読み込む。ステップS602において、評価対象データ判定部120は、正解データと検知データの差分から不一致データとしての過検知データを抽出する。ステップS603において、評価対象データ判定部120は、正解データとして信頼性の高い箇所から所定の範囲内に過検知データがある場合は、その過検知データを評価対象データとして判定する。
【0050】
ステップS604において、評価対象データ判定部120は、判定した評価対象データの中から1つの評価対象データを選択する。ステップS605において、性質調査部130は、選択された評価対象データの性質情報を調査する。性質情報は、評価対象データの形状情報や、元画像上における該当位置の色情報などである。
【0051】
ステップS606において、誤り候補データ判定部140は、性質情報に基づいて、評価対象データが誤り候補データであるかどうか判定する。ステップS607において、結果格納部150は、誤り候補データ判定部140により判定された誤り候補データの情報を格納する。ステップS608において、誤り候補データ判定部140は、画像内の全ての評価対象データに対して処理を終えたか否かを判定する。全ての評価対象データに対して処理を完了した場合、一連の処理を終了する。一方、全ての評価対象データに対して処理を完了していない場合、ステップS604に戻って処理を継続する。
【0052】
以上で
図6の一連の処理が終了する。なお、
図6の例では、1枚の画像を対象として説明を行ったが、複数の画像を対象としてもよい。その場合、ステップS608の判定処理は、複数の画像に対してまとめて実施してもよい。
【0053】
以上説明したように、本実施形態によれば、検知データと正解データとを用いて、正解データの誤り部分を画素単位で推定することができる。
【0054】
(実施形態2)
実施形態1では、画像内の未入力部分を推定して、学習を阻害する可能性のあるデータを除去して学習する実施形態について説明した。これに対して、実施形態2では、ユーザインタフェースを用いて、正解データが誤っている可能性のある領域として、誤り候補データをユーザに提示し、確認および修正の作業をさせる例を説明する。このようにすることで、正解データを正しく修正し、より正確な正解データを用いて学習を行うことができるようになる。実施形態2では、検知対象は構造物壁面上のひび割れとし、正解データの誤りとして未入力を推定する。修正により、例えば、
図2の実際の正解画像210の正解データ211を理想の正解画像200の正解データ201に近づけることを想定している。
【0055】
<システム構成及び装置構成>
続いて、
図7を参照して、本実施形態に係るシステムを構成する情報処理装置700及び関連する構成要素について説明する。本実施形態に係るシステムは、情報処理装置700、学習データ格納部170、学習部180、検知部190を含む。
【0056】
情報処理装置700は、実施形態1で説明した情報処理装置100の構成要素に加えて、表示画像作成部710、ユーザ確認部720、正解データ更新部730を備える。実施形態1との違いは、ユーザインタフェースを用いてユーザに確認、修正を促す点である。
【0057】
[表示画像作成部710]
表示画像作成部710は、結果格納部150から出力された誤り候補データの情報を取得し、ユーザに確認させるための表示画面用の表示画像を作成する。表示画面には、元画像に対して正解データ及び誤り候補データを重畳した表示画像を表示する。検知データのうち誤り候補データのみを表示することにより、ユーザは確認すべき部分を画素単位で確認できる。さらに、誤り候補データに透過色や正解データと異なる色を用いたり、キーボードのキーを打つタイミングで評価対象データの表示又は非表示を切り替える機能を追加したりすることにより、視認性を向上させてもよい。
【0058】
ここで、表示画面の具体例を
図8のウィンドウ810に示す。表示画面に表示される表示画像は、元画像に対して正解データ211及び誤り候補データ232を重畳した画像である。これらのデータは
図2の同番号のデータと同一のものとする。ウィンドウ810では、誤り候補データ232をそのまま重畳しているが、細線化やベクタ化などの加工を施してから重畳してもよい。また、吹き出し812に示すように、誤り候補データ232の長さなどの性質情報を付加してもよい。
【0059】
表示画面には、誤り候補データ232を画素単位で示すだけでなく、ユーザに確認を促している理由を表示することもできる。理由の表示方法の1つに、文字や画像で根拠を提示する方法がある。例えば、ウィンドウ820の吹き出し821、822に示すように、正解データ211と誤り候補データ232との、それぞれの端点から端点までの角度を表示する。また、他の表示方法として、正解データの性質情報から、過検知データが未入力部分と推定される範囲を提示する方法がある。ウィンドウ830における破線831、832に挟まれた領域は、評価対象データが誤り候補データと判定される領域である。
【0060】
[ユーザ確認部720]
ユーザ確認部720は、表示画面作成部710により作成された表示画像をユーザに対して提示し、確認および修正の作業を受け付ける。ユーザは、確認画面を見て誤り候補データを未入力部分として採用するか否かを判定し、正解データを修正する。
【0061】
ユーザが修正を加える方法は以下の2通りである。1つは、画面上で誤り候補データの領域を選択する方法である。例えば、ウィンドウ810の表示画像上で誤り候補データ232をマウスポインタ811で選択することで、ユーザは誤り候補データの採用を確定させる。もう1つは、誤り候補データを参考に、ユーザに正解ラベルの線を引き直させる(正解データを再入力させる)方法である。例えば、ウィンドウ840の領域850に示すように、ユーザは、評価対象データ232を参考に、マウスポインタ811を動かして白で示すライン851を引き直す。このようにしてユーザが選択した領域や引き直したラインを、以降、修正データと称する。
【0062】
[正解データ更新部730]
正解データ更新部730は、ユーザからの修正のフィードバックを受けて、修正データを正解データに反映し、正解データを更新する。具体的には、修正データを正解データと連結することにより正解データの更新を行う。正解データと修正データが線状であるか、または、領域を持つかによって、異なる処理を実行する。
【0063】
正解データと修正データとが共に線状の場合、正解データと修正データとの端点のうち、近いデータを選択して連結し、正解データとして更新する。正解データと修正データとが共に領域を持つデータの場合は、正解画像に修正データを重畳する処理を行う。
【0064】
なお、正解データが線状で、修正データが領域を持つ場合には、修正データを正解データに合わせて線状にする処理が必要となる。例えば、ウィンドウ810の正解データ211と修正データ232とから、正解データ211を
図2の理想の正解画像200の正解データ201を作成する。その際、修正データ232を細線化してから、正解データ211の近い方の端点と連結する。
【0065】
以上の手順により、誤り候補データをユーザに提示し、確認および修正の作業を行わせ、ユーザのフィードバックを受けて正解データを更新する。未入力部分を正しく修正することで、学習による検知モデルの精度を向上させることが可能となる。
【0066】
なお、本実施形態は、ユーザに各正解データを一度または繰り返し修正させるフレームワークにおいて使用できる。繰り返し修正するフレームワークでは、学習中の検知モデルで取得する検知データを用いて正解データを修正する処理を繰り返す。このような処理により、未入力と推定される部分を、より正確な領域で提示する情報処理装置の実現が可能となる。
【0067】
また、本実施形態は、ユーザによる正解データの付与の際に使用できる。正解データの付与時に使用する場合、検知対象物の検知のために検知モデルを事前に用意しておく必要がある。正解データの入力中の元画像に検知モデルを適用して検知データを取得し、正解データとセットとし、リアルタイムでユーザに未入力部分を知らせることができるようになる。
【0068】
<処理>
全体の処理の流れは、実施形態1において
図5を参照して説明した通りである。続いて、
図9のフローチャートを参照して、本実施形態に係る情報処理装置が実施する処理の手順を説明する。
図9におけるステップS601〜ステップS608の各処理は、
図6の同じ参照符号の処理と同様である。本実施形態では、画像内の全ての評価対象データに対して処理を終えた後に、ステップS901〜ステップS903の処理を更に実行する。
【0069】
ステップS901において、表示画像作成部710は、結果格納部150から出力された誤り候補データの情報を取得し、ユーザに確認させるための表示画面用の表示画像を作成する。ステップS902において、ユーザ確認部720は、表示画面作成部710により作成された表示画像をユーザに対して提示し、確認および修正の作業を受け付ける。ステップS903において、正解データ更新部730は、ユーザからの修正のフィードバックを受けて、修正データを正解データと連結し、正解データの更新を行う。
【0070】
以上で
図9の一連の処理が終了する。なお、本実施形態で追加された3つの処理は、ステップS608の直前に行ってもよい。また、画像1枚ごとに行っても、複数の画像に対してまとめて行ってもよい。
【0071】
以上説明したように、本実施形態では、誤り候補データをユーザに提示し、確認および修正の作業を行わせ、ユーザのフィードバックを受けて正解データを更新する。このように、未入力部分を正しく修正することで、学習による検知モデルの精度を向上させることが可能となる。
【0072】
(実施形態3)
実施形態2ではユーザインタフェースを用いてユーザに誤り候補データを提示して、確認および修正の作業を行わせる例を説明した。これに対して、実施形態3では、ユーザが何らかの判断を行い、確認画面上で操作を行った情報を、誤り候補データの判定基準の決定に利用する方法を説明する。実施形態3では、検知対象物は構造物壁面上のひび割れとし、正解データの未入力部分を推定する。性質情報としては形状情報を調査するものとする。
【0073】
<システム構成及び装置構成>
続いて、
図10を参照して、本実施形態に係るシステムを構成する情報処理装置900及び関連する構成要素について説明する。本実施形態に係るシステムは、情報処理装置900、学習データ格納部170、学習部180、検知部190を含む。情報処理装置900は、実施形態2で説明した情報処理装置700の構成要素に加えて、蓄積情報格納部910と、基準決定部920とを備える。
【0074】
[蓄積情報格納部910]
蓄積情報格納部910は、ユーザ確認部720から、ユーザが確認を終えたデータの情報を取得して格納する。蓄積情報格納部910には、過去データとユーザ設定情報とが格納される。これらの情報は基準決定部920により誤り候補データの判定基準を決定する際に使用されるものである。ただし、基準の決定には、過去データとユーザ設定情報との一方または両方を用いることができ、必ずしも両方を用いる必要はない。以下、過去データ及びユーザ設定情報の詳細について説明する。
【0075】
まず過去データについて説明する。過去データは、過去にユーザに対して提示した誤り候補データの性質情報と、ユーザが当該誤り候補データを誤り部分(未入力部分)として採用したかどうかを記録した情報とを含むデータである。以降、後者の情報を採用可否情報と称する。採用可否情報と、各誤り候補データの性質情報とは、誤り候補データごとに格納する。
【0076】
過去データは、現在処理の対象としている検知対象物のうち、これまでにユーザが確認したデータから作成できる。過去データが蓄積される度に、基準決定部920により判定基準が更新される。また、過去データは、現在処理の対象としている検知対象物以外のデータから作成してもよい。その場合、誤り候補データの初期の判定基準として用いてもよい。例えば、
図3(b)に示す「過去データ」の形式で、性質情報として、評価対象データごとに、角度、長さ、ループ数などの形状情報と、採用可否情報と関連付けて格納する。
【0077】
次に、ユーザ設定情報について説明する。ユーザ設定情報は、新しい検知対象物に本実施形態に係る情報処理装置を適用する前に、ユーザにアンケートを実施して取得するデータである。ユーザ設定情報は、各性質情報の利用の有無の設定情報と、評価対象データを誤り候補データと判定する上での各性質情報の基準値の設定情報とを含む。ユーザ確認部720にて、例えば、評価対象データがどの位のサイズであれば確認したいか、検知データと正解データとの角度の差異がどの位であれば確認しなくてもよいか、などの情報を事前に調査する。ユーザ設定情報は、誤り候補データの判定の初期基準の決定に利用することができる。
【0078】
[基準決定部920]
基準決定部920は、蓄積情報格納部910に格納されている情報に基づいて、評価対象データが誤り候補データであるかを判定するための基準を決定する。誤り候補データの判定方法として、機械学習による方法とルールベースによる方法とを説明する。
【0079】
機械学習による方法では、過去データを用いて各評価対象データが誤り候補データであるかを判定するための式を構築し、その式に基づいて誤り候補データを判定する。
図3(b)の「過去データ」に示す採用可否情報の項目に、ユーザが誤り候補データを正解データの誤りとして採用した場合は1、採用しなかった場合は0が格納されているものとし、例えば式1のような判定式を構築する。
【0080】
【数1】
ただし、x
iは各性質情報項目の番号、a
iは各性質情報項目の重み、nは性質項目数で、iはそれに対応するインデックスを表している。出力値
は、評価対象データの採用可否情報の推定値である。式2を用いて学習を行い、出力値
が、評価対象データが採用されたデータである場合は1に近い値を出力し、そうでない場合は0に近い値を出力するようにする。
【0082】
yはユーザの採用可否情報とし、採用可否情報yとその推定値
との差の2乗が0に近づくように学習することで、式1の各性質情報項目の重みa
iを決定する。
【0083】
誤り候補データ判定部140は、基準決定部920により決定された判定基準(判定式)を用いて、評価対象データから誤り候補データを判定する。評価対象データの性質情報を式1に代入し、出力値(推定値)が1に近いときは未入力部分である可能性が高く、0に近いときはそうでない可能性が高いと解釈することができる。従って、評価対象データの推定値
が閾値以上である場合、その評価対象データは誤り候補データであると判定する。
【0084】
一方、ルールベースによる方法では、誤り候補データの判定処理における各性質情報の利用の有無を設定する。利用する性質情報については、誤り候補データであるかを判定するための基準値を設ける。ユーザから受け付けた長さや角度などに関するパラメータがユーザ設定情報として得られている場合、そのパラメータを判定の基準値とする。基準値と評価対象データの性質情報とを比較することで、誤り候補データを判定する。
【0085】
以上説明したように、本実施形態に係る情報処理装置900は、蓄積情報格納部910に格納された情報を用いて、基準決定部920が、誤り候補データの判定基準を決定する。そして、基準決定部920により決定された判定基準に基づいて、誤り候補データ判定部140が未入力部分を推定する。ただし、その場合、性質調査部130により、誤り候補データ判定部140がこれから未入力部分であるかどうかを推定する評価対象データと、過去データとで、同じ項目の性質情報を調査している必要がある。
【0086】
<ユーザインタフェース>
続いて、採用可否情報の収集及びユーザ設定情報の収集のためのユーザインタフェースについて説明する。まず、採用可否情報の収集用のユーザインタフェースを説明する。
図11の表示画面1110に示すように、画像を1枚ずつ表示し、ユーザに確認させる方法がある。ユーザが確認を終える度に、誤り候補データごとに、蓄積情報格納部910に採用可否情報を格納する。また、ユーザに確認させるデータと近い過去データを、蓄積情報格納部910から取得し、同じ画面に表示してもよい。
【0087】
図11の表示画面1110のウィンドウに示すように、ユーザに確認させたい画像1111と、過去データのうち性質情報の近い類似する過去データ1112とを、同じ画面上に表示する。このような画面表示により、ユーザが類似事例の際にどのような判断をしたかの情報をユーザに提供でき、また、ユーザに提示している根拠をユーザに提供することが可能となる。
【0088】
次に、ユーザ設定情報を収集する際のユーザインタフェースを説明する。ユーザ設定情報の取得のため、各性質情報の利用の有無の設定と、評価対象データを誤り候補データと判定する上での各性質情報の基準値の設定とに関するユーザインタフェースについて述べる。
【0089】
各性質情報の利用の有無の設定では、チェックボックスを使って切り替えられるように構成する。例えば、
図11の表示画面1120のウィンドウに示すように、2点鎖線1121で囲まれている領域に性質情報を羅列して表示し、2点鎖線1122で囲まれている領域に、onまたはoffを選択するチェックボックスを表示する。ユーザは各性質情報を利用するかどうか判断し、各性質情報について、性質情報を利用する場合はonのチェックボックスを選択し、利用しない場合はoffのチェックボックスを選択する。
【0090】
各性質情報の基準値の設定では、ユーザに設定に関する質問を投げかけて回答を受け付ける。質問項目には、例えば、何cmから何cmまで延長させる場合は確認したいか、正解データと過検知データとではどのくらいの角度の差まで許容範囲とするか、といった項目が挙げられる。これらの質問に対して、ユーザは表示画面上の解答欄に数値を入力して回答する。
【0091】
<処理>
実施形態3では、
図12に示すように、実施形態2で
図9を参照して説明した処理の最初と最後に新たな処理を加える。最初に加える処理として、基準決定部920が、蓄積情報格納部910からユーザがフィードバックした情報を読み込む処理(S1201)と、基準決定部920が、誤り候補データの判定基準を決定する処理(S1202)とを追加する。これらの処理は、ステップS606で誤り候補データを判定する前であれば、どの段階で行ってもよい。
【0092】
そして、最後に加える処理として、蓄積情報格納部910が、ユーザがフィードバックした情報を格納する処理(S1203)と、基準決定部920が、誤り候補データの判定基準を更新する処理(S1204)とを追加する。なお、追加する処理はいずれも、画像1枚ごとに実施する必要はなく、複数の画像に対してまとめて実施してよい。
【0093】
以上説明したように、本実施形態では、ユーザがフィードバックした情報を収集し、それらの情報を利用して誤り候補データの判定基準を決定する。このように、ユーザのフィードバックした情報を利用することで、評価対象データの中からユーザの判断の傾向に合う誤り候補データを判定することができる。
【0094】
(実施形態4)
実施形態1〜実施形態3では、ひび割れ検知を対象とした事例を説明した。しかしながら、本発明の対象は、これに限らず他の事例にも用いることができる。実施形態4では、領域分割問題を例に挙げる。実施形態1〜実施形態3では、評価対象データ判定部120の処理で、過検知データの位置と正解データとして信頼性の高い箇所の位置とが隣接した位置にある場合に、過検知データを評価対象データと判定していた。
【0095】
これに対し、実施形態4では、信頼性の高い箇所と過検知データとが隣接した位置に存在しない場合も、所定の範囲内に存在する場合には、過検知データを評価対象データと判定する例を説明する。また、実施形態1〜実施形態3では、性質調査部130により評価対象データの形状情報を調査する例を説明したが、実施形態4では形状以外の性質情報を調査する例を説明する。なお、装置構成は前述の実施形態と同様であるため、詳細な説明は省略する。
【0096】
まず、
図13を参照して、領域分割問題において空領域の正解データの未入力部分の推定を行う処理を説明する。
図13の画像では、空領域が木の枝によって2領域に分割されている。正解画像1310では領域1311にのみ正解データが入力されているのに対し、検知画像1320では検知データは領域1321、1322が検知されている。
【0097】
まず、評価対象データ判定部120は、検知データから過検知データを判定する。正解画像1310と検知画像1320とを照合すると、過検知データは領域1321と判定できる。次に、過検知データから評価対象データを判定する。画像1310において、正解データの位置と検知データの位置とが一致している、正解データとして信頼性の高い箇所は、領域1311である。信頼性の高い箇所である領域1311と過検知データ1321とは隣接位置には存在しないが、ここでは距離が所定の範囲内にあるので、過検知データ1321は評価対象データと判定する。
【0098】
次に、性質調査部130は、評価対象データ1321の性質情報を調査する。例えば、信頼性の高い箇所である領域1311と評価対象データ1321の元画像上の領域とを切り出し、色情報、明るさ情報、テクスチャ情報などの性質情報を取得する。続いて、誤り候補データ判定部140は、信頼性の高い箇所と評価対象データの性質情報との差が所定範囲内である場合は、評価対象データ1321を誤り候補データと判定する。
【0099】
以上説明したように、本実施形態では、正解データとして信頼性の高い箇所と、過検知データとが隣接した位置に存在しない場合であっても、所定の範囲内に存在する場合には、過検知データを評価対象データと判定する。そして、評価対象データの性質情報に基づいて、評価対象データが誤り候補データであるかを判定する。
【0100】
これにより、正解データとして信頼性の高い箇所と、過検知データとが隣接していない場合であっても誤り候補データの判定を行うことが可能となる。
【0101】
(実施形態5)
実施形態5では、さらに別の事例への適用の例として、人物や物体の軌跡追跡のために、本発明を時系列データに適用する方法を説明する。本実施形態では、検知対象を人物として、時系列上の正解データセットの未入力部分を修正する。なお、装置構成は前述の実施形態と同様であるため、詳細な説明は省略する。
【0102】
図14を参照しながら、本実施形態に係る処理内容を説明する。
図14においては、白丸は人物のラベルを意味しており、時間軸に対して人物が矢印の方向に移動している様子を表している。
【0103】
はじめに、正解・検知データ格納部110に、時系列上の正解データセットと検知データセットとを用意する。
図14(a)は正解データセットを表しており、2点鎖線1411で囲まれているデータ集合は、正解ラベルが付与されたデータ集合である。
図14(b)は検知データセットを表しており、2点鎖線1421で囲まれているデータ集合は、検知したデータの集合である。
【0104】
次に、評価対象データ判定部120により検知データから過検知データを抽出する。正解データセットと検知データセットとを照合すると、過検知データは、検知データセットのデータ集合1422である。続いて、評価対象データ判定部120により過検知データから評価対象データを判定する。ここでは、正解データセットの位置と検知データセットの位置とが一致している信頼性の高いデータの集合はデータ集合1411である。過検知データであるデータ集合1422は、ここでは信頼性の高いデータ集合1411から所定の時間内にあるため、評価対象データと判定する。
【0105】
次に、性質調査部130により、正解データの移動物体の向き及び評価対象データの移動物体の向き、評価対象データの位置の元画像の色情報を、性質情報として調査する。その後、性質情報に基づいて、誤り候補データ判定部140により評価対象データ1422が誤り候補データであるかを判定する。
【0106】
以上説明したように、本実施形態によれば、時系列上の正解データの未入力部分を推定することが可能となる。
【0107】
(実施形態6)
実施形態1〜実施形態5では、正解データの誤りのうち、未入力部分の推定方法について説明した。これに対して、実施形態6では、未入力部分だけでなく、誤入力部分を推定する方法について説明する。本実施形態では、検知対象物は人の顔とし、正解データが理想の正解データと比べて小さい場合は未入力部分がある、一方、大きい場合は誤入力部分があるものと推定する。なお、装置構成は前述の実施形態と同様であるため、詳細な説明は省略する。
【0108】
まず、
図15(a)を用いて正解データの未入力部分を推定する方法を説明する。画像1510は正解画像、画像1520は検知画像とし、領域1511は人の顔を表すものとする。領域1512は正解データ、領域1521は検知データとする。評価対象データ判定部120でにより正解データと検知データとを照合し、不一致データとして過検知データを抽出する。ここでは、検知画像1520から正解画像1510を差し引くことで、破線の領域1522を過検知データとして抽出できる。続いて、過検知データが評価対象データであるかを判定する。
図15(a)において、正解データと検知データとが一致する信頼性の高い箇所は、領域1512である。過検知データ1522は、信頼性の高い箇所である領域1512と隣接した位置にあることから、評価対象データと判定できる。
【0109】
次に、性質調査部130により調査された性質情報に基づいて、誤り候補データ判定部140により、評価対象データが誤り候補データであるかを判定する。元画像上において、評価対象データ1522と、信頼性の高い箇所である領域1512においてそれぞれ、色情報、明るさ情報、テクスチャ情報を、性質情報として取得する。
【0110】
両者の性質情報が類似する場合、評価対象データ1522は正解データの未入力部分である可能性が高いので、誤り候補データと判定する。反対に、両者の性質情報が類似しない場合、評価対象データ1522は正解データの未入力部分ではなく単なる誤検知部分である可能性が高いので、誤り候補データと判定しない。なお、類似するか否かの判定には、色情報、明るさ情報、テクスチャ情報に基づいて、性質情報の類似度を算出し、類似度が閾値以上であるか否かを判定する方法を用いてもよい。以上説明した方法により、正解データの未入力部分を推定することができる。
【0111】
次に、
図15(b)を用いて、正解データの誤入力部分を推定する方法を説明する。
【0112】
画像1530は正解画像、画像1540は検知画像とする。また、領域1531は正解データ、領域1541は検知データとする。評価対象データ判定部120により、正解データから不一致データとして過入力データを抽出する。ここでは、正解画像1530から検知画像1540を差し引くことで、破線の領域1532を正解データの過入力データとして抽出できる。続いて、過入力データが評価対象データであるかを判定する。
図15(b)において、正解データと検知データとが一致している信頼性の高い箇所は、破線の領域1533である。過入力データ1532は、信頼性の高い箇所である領域1533と隣接した位置にあることから、評価対象データと判定できる。次に、性質調査部130により調査された性質情報に基づいて、誤り候補データ判定部140により、評価対象データが誤り候補データであるかを判定する。元画像上において、評価対象データ1532と、信頼性の高い箇所である領域1533においてそれぞれ、色情報、明るさ情報、テクスチャ情報とを、性質情報として取得する。
【0113】
両者の性質情報が類似する場合、評価対象データ1532は正解データの誤入力部分ではなく正解データであると判定する。反対に、両者の性質情報が類似しない場合は、評価対象データ1532は正解データの誤入力部分の可能性があると判定し、誤り候補データと判定する。なお、類似するか否かの判定には、未入力部分の推定の場合と同様に性質情報の類似度を算出し、類似度が閾値以上であるか否かを判定する方法を用いてもよい。
【0114】
以上説明した方法により、正解データの誤りのうち誤入力部分の推定を行うことができる。
【0115】
なお、本発明の情報処理装置は、画像や時系列データのみならず、3次元空間データの正解データの修正にも利用することができる。
【0116】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。