IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7493323情報処理装置、情報処理装置の制御方法およびプログラム
<>
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図1
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図2
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図3
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図4
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図5
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図6
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図7
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図8
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図9
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図10
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図11
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図12
  • 特許-情報処理装置、情報処理装置の制御方法およびプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-23
(45)【発行日】2024-05-31
(54)【発明の名称】情報処理装置、情報処理装置の制御方法およびプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240524BHJP
   G06T 7/00 20170101ALI20240524BHJP
【FI】
G06N20/00
G06T7/00 350B
【請求項の数】 12
(21)【出願番号】P 2019206352
(22)【出願日】2019-11-14
(65)【公開番号】P2021081793
(43)【公開日】2021-05-27
【審査請求日】2022-11-11
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】野上 敦史
【審査官】山田 辰美
(56)【参考文献】
【文献】国際公開第2018/173121(WO,A1)
【文献】国際公開第2016/067483(WO,A1)
【文献】特開2018-106662(JP,A)
【文献】特開2019-075159(JP,A)
【文献】特開2019-125113(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
入力データの認識を行うよう予め学習された複数のモデルを格納するモデル格納手段と、
認識対象データの属性を含む1以上の属性を有する学習データを用いて学習されたモデルを前記複数のモデルから選択する第1選択処理と、有する属性の数に基づいて前記第1選択処理により選択されたモデルからモデルを選択する第2選択処理と、に基づいて、前記認識対象データの認識に用いるモデルを前記複数のモデルから選択するモデル選択手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記モデル選択手段は、前記第2選択処理において、有する属性の数が最小である学習データを用いて学習されたモデルを選択することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記モデル選択手段により選択されたモデルの属性と、前記認識対象データの属性とを表示部に表示させる表示制御手段をさらに備えることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記表示制御手段は、前記モデル選択手段により選択されたモデルを学習した学習データの画像と、前記認識対象データの画像とを前記表示部にさらに表示させることを特徴とする請求項に記載の情報処理装置。
【請求項5】
各モデルを評価するモデル評価手段をさらに備え、
前記モデル選択手段は、前記モデル評価手段により評価された各モデルの評価値にさらに基づいてモデルを選択することを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
【請求項6】
前記モデル選択手段により選択されたモデルに基づいて前記認識対象データの認識を実行する認識手段をさらに備え、
前記モデル評価手段は、前記認識手段による認識結果に基づいてモデルを評価することを特徴とする請求項に記載の情報処理装置。
【請求項7】
前記モデル評価手段は、前記認識手段による認識に用いられたモデルに対するユーザの評価を取得し、当該ユーザの評価に基づいて前記評価値を取得することを特徴とする請求項に記載の情報処理装置。
【請求項8】
前記属性は、前記学習データの画像の画像特徴又は前記認識対象データの画像の画像特徴に基づいて作成されることを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
【請求項9】
モデルを学習する学習手段をさらに備え、
前記学習手段は、全学習データから学習データセットを作成し、当該学習データセットを構成する学習データの属性を集計し、当該集計の結果に基づいて、モデルを学習した学習データの属性を決定することを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
【請求項10】
前記学習手段は、所定の条件を満たす学習データを抽出することにより前記学習データセットを作成することを特徴とする請求項に記載の情報処理装置。
【請求項11】
入力データの認識を行うよう予め学習された複数のモデルを格納するモデル格納手段を備える情報処理装置の制御方法であって、
認識対象データの属性を含む1以上の属性を有する学習データを用いて学習されたモデルを前記複数のモデルから選択する第1選択処理と、有する属性の数に基づいて前記第1選択処理により選択されたモデルからモデルを選択する第2選択処理と、に基づいて、前記認識対象データの認識に用いるモデルを前記複数のモデルから選択することを特徴とする情報処理装置の制御方法。
【請求項12】
コンピュータを、請求項1乃至10の何れか1項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに関し、特に、学習済みモデルを選択するための技術に関する。
【背景技術】
【0002】
機械学習では、学習データを学習して学習済みモデルを作成するが、学習データセットのデータ内容が異なると、特性が異なるモデルが作成される。このように、異なる複数の学習データセットを用いて複数のモデルを学習している場合には、認識対象に合わせて適切なモデルを選択すべきである。
【0003】
特許文献1は、認識対象画像の撮影位置および撮影角度からなる撮影条件と類似した撮影条件の画像で学習したモデルを、認識に用いるモデルとして選択することを開示している。
【0004】
また、一般に、多様なデータで構成された学習データセットで学習したモデルは、多様な認識対象データに対応することができる。一方、限定的なデータで構成された学習データセットで学習したモデルは、対応できる認識対象データのバリエーションは少ない。しかし、学習データセットに含まれる条件の認識対象データに対しては多様なデータで学習したモデルよりも良好な性能で認識することができる。従って、学習データセットが異なる複数のモデルが存在するときには、認識対象データの属性と可能な限り一致しており、且つ、限定的なデータで構成される学習データセットで学習したモデルを選択することが望まれる。
【先行技術文献】
【特許文献】
【0005】
【文献】特許第6474946号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の技術では、撮影条件が類似するモデルを選択するに過ぎない。従って、認識対象の属性に対応するデータで学習されたモデルであって且つ認識対象に対する認識性能が良好なモデルを選択することは難しいという課題がある。
【0007】
本発明は、上記の課題に鑑みてなされたものであり、複数のモデルの中から、認識対象の属性に対応するデータで学習されたモデルであり且つ認識対象に対する認識性能が良好なモデルを選択するための技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の目的を達成する本発明の一態様に係る情報処理装置は、
入力データの認識を行うよう予め学習された複数のモデルを格納するモデル格納手段と、
認識対象データの属性を含む1以上の属性を有する学習データを用いて学習されたモデルを前記複数のモデルから選択する第1選択処理と、有する属性の数に基づいて前記第1選択処理により選択されたモデルからモデルを選択する第2選択処理と、に基づいて、前記認識対象データの認識に用いるモデルを前記複数のモデルから選択するモデル選択手段と、
を備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、複数のモデルの中から、認識対象の属性に対応するデータで学習されたモデルであり且つ認識対象に対する認識性能が良好なモデルを選択することが可能となる。
【図面の簡単な説明】
【0010】
図1】実施形態1に係る情報処理装置のハードウェア構成の一例を示す図である。
図2】実施形態1に係る情報処理装置の機能構成の一例を示すブロック図である。
図3】実施形態1に係る学習データと学習済みモデルについて説明する図である。
図4】実施形態1に係る情報処理装置が実施する処理の手順を示すフローチャートである。
図5】実施形態1に係る認識対象データの属性を設定するユーザインターフェースを示す図である。
図6】実施形態1に係るモデル選択部が実施する処理の手順を示すフローチャートである。
図7】実施形態1に係るモデル選択処理を説明するための図である。
図8】実施形態3に係る学習データセット及び認識対象データを説明する図である。
図9】実施形態4に係るユーザインターフェースを説明する図である。
図10】実施形態4に係る情報処理装置の使用形態の一例を示す図である。
図11】実施形態5に係る情報処理装置の機能構成の一例を示すブロック図である。
図12】実施形態5に係るユーザ評価を入力するユーザインターフェースを示す図である。
図13】実施形態6に係る認識対象データの属性を設定するユーザインターフェースを示す図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
(実施形態1)
本来、認識対象データの属性と完全に一致した属性の学習データセットにより学習したモデルを用いて認識対象データを認識することが好ましい。このような学習済みモデルが存在する場合には、そのモデルを認識に適したモデルとして選択すればよいが、属性の種類が多彩になると、あらゆる組み合わせの属性パターンの学習データセットで学習したモデルを準備することが困難になる。例えば、データに対して、10種類の属性を設定するケースにおいて、各属性を含む、含まない、の組み合わせによりデータセットを作成すると、1023パターンのデータセットが作成される。各データセットについて、モデルを学習すると、1023回の学習を実施する必要がある。データ条件を細分化することにより、属性の種類が増加すると、学習するモデルの数もさらに増加する。一般に、学習には膨大な計算時間がかかるため、このようにあらゆる属性パターンの学習済みモデルを作成することは困難である。
【0013】
従って、現実的には、属性パターンの全組み合わせの内、一部の組み合わせの属性パターンのモデルしか準備できないので、認識対象データ対して、常に完全に属性パターンが一致するモデルを選択することは難しい。
【0014】
一方、認識対象データに含まれる属性が学習されていないモデルを用いて、認識対象データを認識すると、認識対象データに対して十分な認識を行うことができないことがある。従って、認識対象データの属性を学習したモデルを選択する必要があるが、単純かつ確実に認識対象データの属性を学習したモデルを選択する方法は、全ての属性を学習したモデルを選択することである。しかし、認識対象データの属性が限定的な場合には、全ての属性を学習したモデルよりも、認識対象データの属性を包含しつつ、できるだけ余分な属性のデータを学習していないモデルを選択する方が、認識対象データに対する認識性能は高くなる。
【0015】
実施形態1では、認識対象データの属性を包含しつつ、できるだけ余分な属性のデータを学習していないモデルを選択する方法について、インフラ構造物の点検における変状認識モデルの学習と、認識対象の構造物画像に適したモデル選択を例に説明する。
【0016】
まず、インフラ構造物の点検について説明する。インフラ構造物の壁面の点検では、点検者は、コンクリート壁面のひび割れ等の変状を記録する。画像を用いた点検では、点検者は、構造物の壁面を撮影し、撮影した画像の中から、変状の位置や範囲を記録することにより点検結果を作成する。作成した点検結果は、画像とともに構造物の図面に対応づけて管理する。このとき、画像の中から、全ての変状を発見、記録する作業は大変な作業となる。従って、近年、機械学習により、コンクリート壁面画像の変状を認識する認識モデルを学習し、画像点検の効率化を図ることが行われている。
【0017】
本実施形態における変状を認識する認識モデルは、コンクリート壁面画像からひび割れを認識する画像認識モデルであるとする。なお、インフラ点検における変状認識モデルは、ひび割れ認識モデルに限らず、他の変状を認識するモデルでも良い。例えば、漏水領域や、剥落領域、さび汁領域を認識する認識モデルでも良いし、あるコンクリート壁面領域の劣化度合いの判定を機械学習により実施するモデルであっても良い。
【0018】
また、詳細は後述するが、本実施形態におけるデータは、以下のような内容となる。まず、ひび割れを認識するためのモデルを学習するためには、ひび割れを含むコンクリート壁面画像と、当該画像でのひび割れ正解位置を示す教師データとから構成される学習データを用いる。また、本実施形態におけるデータの属性の例の一つは、橋梁やトンネルといったインフラ構造物の種類である。この属性に関して、全ての構造物の種類の画像で学習したモデルは、どの構造物の種類にも適用できるモデルとなる。しかし、認識対象の画像が橋梁であることが分かっている場合には、橋梁画像のみ(構造物種類の属性が橋梁のデータのみ)で学習したモデルを用いる方が高精度の結果を得ることができる。
【0019】
本実施形態における属性について、さらに図5を用いて説明する。属性は、学習データセットや認識対象データに含まれるデータの条件を示す。属性には様々な項目が含まれるが、この一つの項目を、以下では属性項目と呼ぶ。属性項目の例として、インフラ構造物の構造物種類がある。構造物種類の例としては「橋梁」、「トンネル」、「ダム」などを含む。このように、属性項目の一つの例は、データの対象である。また、別の属性項目の例として、インフラ構造物の壁面状態がある。壁面状態の例としては、「ひび割れ多い」「錆汁多い」が示されている。属性項目は、このように、画像データのアピアランスや、壁面劣化のパターンを含んでも良い。さらに、図5には、撮影の条件に基づく属性項目の例として、カメラパラメータがある。カメラパラメータの例としては、露出パラメータである「EV-2以下」、「EV+2以上」が示されている。撮影の条件については、このような撮影パラメータだけでなく、カメラ種類や撮影時の天候・時期などの情報も含めても良い。このように、本実施形態の属性には、データを分類するあらゆる項目を含んでも良い。また、図5では、図示の都合上、上記の属性項目のみを示しているが、データの条件を分類するために、さらに多くの属性項目を追加しても良いし、属性項目の内容を細分化しても良い。なお、図5のその他の内容については後述する。
【0020】
続いて、図1及び図2を用いて、本実施形態における情報処理装置100の構成を説明する。
【0021】
<情報処理装置のハードウェア構成>
図1は、本実施形態に係る情報処理装置100のハードウェア構成図である。図1に示すように、情報処理装置100は、CPU101と、ROM102と、RAM103と、HDD104と、表示部105と、操作部106と、通信部107とを有している。CPU101は、中央演算装置(Central Processing Unit)であり、各種処理のための演算や論理判断等を行い、システムバス108に接続された各構成要素を制御する。ROM(Read-Only Memory)102は、プログラムメモリであって、後述する各種処理手順を含むCPU101による制御のためのプログラムを格納する。RAM(Random Access Memory)103は、CPU101の主メモリ、ワークエリア等の一時記憶領域として用いられる。尚、情報処理装置100に接続された外部記憶装置等からRAM103にプログラムをロードすることで、プログラムメモリを実現しても構わない。
【0022】
HDD104は、本実施形態に係る電子データやプログラムを記憶しておくためのハードディスクである。同様の役割を果たすものとして外部記憶装置を用いてもよい。ここで、外部記憶装置は、例えば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD-ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。また、外部記憶装置は、ネットワークで接続されたサーバ装置等であってもよい。
【0023】
表示部105は、例えばCRTディスプレイや、液晶ディスプレイ等であって、表示画面に画像を出力するデバイスである。なお、表示部105は、情報処理装置100と有線あるいは無線で接続された外部デバイスでも構わない。操作部106は、キーボードやマウスなどを含み、ユーザによる各種操作を受け付ける。通信部107は、公知の通信技術により、他の情報処理装置や通信機器、外部記憶装置等との間で、有線又は無線による双方向の通信を行う。
【0024】
<情報処理装置の機能構成>
図2は、本実施形態に係る情報処理装置100の機能構成を示すブロック図の一例である。情報処理装置100は、学習部201と、モデル格納部202と、属性処理部203と、モデル選択部204と、認識部205とを有している。これらの各機能部は、CPU101が、ROM102に格納されたプログラムをRAM103に展開し、後述する各フローチャートに従った処理を実行することで実現されている。そして、各処理の実行結果をRAM103またはHDD104に保持する。また、例えば、CPU101を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【0025】
次に、図2の各機能部の概要について説明する。学習部201は、複数のモデルを学習する。モデル格納部202は、複数の学習済みモデルをHDD104等の記録装置へ格納する。属性処理部203は、認識対象データの属性の情報を処理し、モデル選択部204へと受け渡す。モデル選択部204は、属性処理部の203から認識対象データの属性に関する情報を受け取り、また、モデル格納部202から、学習済みモデルに関する情報を取得する。モデル選択部204は、これらの情報から、認識対象データの認識に適したモデルを選択する。認識部205は、モデル選択部204で選択したモデルを用いて、認識対象データに対して認識処理を実施する。なお、これらの各機能部は全て情報処理装置100に含まれている必要はなく、少なくともその一部の機能が情報処理装置100と接続可能な外部装置で実施されてもよい。例えば、学習部201や認識部205の機能は外部装置で実現されてもよいし、モデル格納部202も外部装置に設けられていてもよい。適宜、外部装置と通信することで必要な情報を送受信することで、情報処理装置100での処理を最少化するように構成してもよい。
【0026】
本実施形態では、学習部201により予め複数のモデルを学習しており、モデル格納部202に格納されているとする。この複数モデルの学習と、各モデルの学習データセットの属性について説明する。
【0027】
まず、前述したように、本実施形態では、画像中のひび割れを認識するモデルを学習するための学習データは、コンクリート壁面の画像と、画像中のひび割れ位置を示す教師データとのペアから構成される。この画像と教師データとのペアを多数集めることで学習データセットとなる。モデルの学習は、学習データセットを用いて学習することで実施される。本実施形態のモデルの学習には、どのような機械学習アルゴリズムを用いても良く、例えば、ニューラルネットワークのようなアルゴリズムを用いることができる。
【0028】
本実施形態では、様々なインフラ構造物や撮影条件の画像の認識に対応するため、多様な条件の学習データを準備しておく。以下、準備した全ての学習データを全学習データとする。この全学習データを学習データセットとして学習したモデルは、様々な条件に対応可能なロバストなモデルとなる。
【0029】
一方、限定的な条件に特化したモデルを作成するために、全学習データから、限定的な条件の学習データを抽出し、全学習データのサブセットとなる学習データセットを作成する。このサブセットの学習データセットで学習したモデルは、限定的な条件では、全学習データで学習したモデルよりも高性能な結果を得ることができる。また、学習データセットの属性セットを学習済みモデルに関連付けて記録しておく。
【0030】
以下、図3を用いて、本実施形態に係る学習部201が実施するモデルの学習と、学習データセットの属性セットについて説明する。図3では、全学習データのサブセットとして、学習データセットD1~D3を作成し、それぞれの学習データセットで学習することで、モデルM1~M3を作成している様子を示している。
【0031】
吹き出し300は、全学習データに含まれるデータを示しており、コンクリート壁面の画像310と、画像310のひび割れ位置を示す教師データ311のペアからなる学習データが多数含まれている。また、学習データには、各学習データの属性を示す情報312が関連付けられている。
【0032】
吹き出し301は、ある学習データの属性を示す情報の例を示す。吹き出し301には、例えば、属性項目として「橋梁」が含まれており、学習データ画像が橋梁の画像であるか否かの情報を示す。本実施形態では、属性項目はTrue、Falseの2値で設定されるものとしており、吹き出し301の例では、学習データ画像が橋梁画像であるため、「橋梁」の属性項目にTrueが設定されている。
【0033】
学習データセットは、所定条件に適したモデルの学習データを作成することを目的に、全学習データから所定の条件の学習データを抽出することで作成する。このために、所定の条件を示す属性を設定して、全学習データからその属性を満たす学習データを収集して、学習データセットを作成する。例えば、橋梁に適した認識モデルを作成するために、全学習データから、橋梁の画像のみを抽出して学習データセットを作成しても良い。また、さらに条件を絞って、橋梁、且つ、ひび割れが多い壁面の画像のみを抽出して学習データセットを作成しても良い。また、逆に、橋梁とトンネルの学習データから構成される学習データセットを作成して、比較的、ロバストなモデルを学習するための学習データセットを作成しても良い。このような、学習データセットの作成方法は、人間が学習データを手動で分配して作成しても良いし、各学習データに関連付けられた属性の情報に基づいて、様々な属性の組み合わせの学習データセットを自動的に作成するようにしても良い。
【0034】
次に、全学習データのサブセットである学習データセットに対して、学習データセットを構成する学習データの属性を集計する。図3の吹き出し302は、学習データセットD3に含まれる学習データの属性を集計した結果を示している。ここで、学習データセットD3は、橋梁の画像の学習データだけでなく、トンネルの画像の学習データも含まれているとする。このため、吹き出し302での属性には、属性の項目「橋梁」及び「トンネル」にTrueが設定されている。このように、学習データセットに含まれる学習データの属性を集計し、各属性項目のTrue、Falseを記録した情報を以下では属性セットと呼ぶ。
【0035】
また、学習データセットの作成方法として、全学習データから無作為に、複数の学習データセットを作成し、各学習データセットに含まれる学習データの属性を収集することで、各学習データセットの属性セットを作成するようにしても良い。
【0036】
以上のように、学習データセットそれぞれについて、その学習データセットに含まれる学習データの属性に応じて、属性セットを作成する。属性セットの情報は、各学習データセットを用いて学習したモデルとともに、モデル格納部202に格納しておく。これにより、後述するモデル選択部204は、モデルと共に属性セットを呼び出すことにより、モデルを学習した学習データセットの内容を参照することができるようになる。
【0037】
なお、上記の全学習データの説明では、各学習データに対して、属性を示す情報を一対一で関連付けた例を説明した。これに限らず、全学習データにおける属性を示す情報は、複数の学習データに対してまとめて準備するようにしてもよい。例えば、橋梁の壁面を撮影した画像群からなる複数の学習データに対して、「橋梁」の属性項目がTrueに設定された情報を一括で付与するようにしても良い。
【0038】
以上では、全学習データの中の各学習データについて、予め属性の情報を付与しておき、学習データセットに含まれる学習データの属性を集計することで学習データセットの属性セットを作成する実施形態について説明した。
【0039】
しかしながら、学習データセットの属性セットの作成方法は、この方法に限らず、他の方法で作成しても良い。例えば、ある学習データセットに含まれる学習データの画像データや、属性の情報を人間が確認し、学習データセットの各属性のTrue、Falseを人間が設定することで学習データセットの属性セットを作成するようにしても良い。さらに、ある属性の学習データが学習データセット中に少量しか含まれていない場合、その属性の学習効果が少ないと判断して、学習データセットにその属性が含まれていたとしても、属性の設定をFalseとするようにしても良い。例えば、トンネル画像を認識対象とするモデルを学習するために、トンネルの画像を中心に収集した学習データセットがあり、この中に数枚の橋梁画像の学習データが含まれているとする。このような場合、トンネルの属性をTrue、橋梁の属性はFalse、と設定するようにしても良い。
【0040】
以上のようにして、モデル格納部202には、学習済みモデルと、モデルを学習した学習データセットの属性セットが格納される。以下では、説明の簡略化のため、モデルを学習した学習データセットの属性セットを単純にモデルの属性セットと呼ぶこともある。
【0041】
<処理>
図4のフローチャートを参照しながら、本実施形態に係る情報処理装置100が実施する全体処理の手順を説明する。
【0042】
[S401]
ステップS401では、属性処理部203が、認識対象データの属性セットの情報を作成する。ステップS401の詳細を説明する前に、まず、本実施形態の認識対象データについて説明する。
【0043】
本実施形態での認識対象データは、点検対象となるある特定のインフラ構造物の画像である。インフラ構造物における点検画像は、ひび割れ等のコンクリート壁面の変状を点検するために、非常に高解像度の画像を撮影する。従って、インフラ構造物の全ての壁面を画像として記録するためには、多数の画像を撮影する必要がある。すなわち、あるインフラ構造物の点検を行うために、画像からひび割れを認識する処理は、多数の画像に対して認識処理を実行することになる。このように、本実施形態での認識対象データは、多数の画像から構成される。
【0044】
この多数の画像は、ある一つのインフラ構造物で構成されるため、あらゆるインフラ構造物の画像に比べると、画像の多様性は低い。あるインフラ構造物の点検を行うためには、この限定的な条件の画像に対して認識処理を実施することになるため、認識対象データに適したモデルを選択すると、良好な認識性能結果を得ることができる。
【0045】
認識対象データに適したモデルを選択するために、ステップS401では、属性処理部203が、認識対象データの属性セットを作成する処理を実行する。認識対象データの属性セットは、学習データセットの属性セットと同様に、属性の各項目について、True、Falseが設定された情報である。
【0046】
認識対象データに関する属性セットの設定方法は、例えば、人間が認識対象データの内容を確認して、各属性の情報を入力することで設定することができる。前述した図5には、認識対象データを設定するためのユーザインターフェースの例を示している。後述するように、モデル選択部204は、認識対象データの属性セットと学習データセットの属性セットの内容に基づいてモデルを選択する。従って、認識対象データの属性項目は、学習データセットと共通であり、具体的には、図3の吹き出し302の属性セットの項目と、図5の属性セットの項目は同一の項目となっている。
【0047】
前述したように、認識対象データは、複数の画像から構成されている。従って、認識対象データには様々な属性の画像が含まれる。例えば、構造物種類の属性については、認識対象データが橋梁の画像である場合には、「橋梁」の属性項目にTrueを設定し、他の構造物種類の属性にはFalseを設定する。
【0048】
続いて、カメラパラメータの属性項目を例に、認識対象データの属性について説明する。構造物の壁面の撮影において、多くの構造物部分は露出EV0で撮影するものとする。しかし、構造物の影の部分など、部分的に暗い部分が存在する場合、その部分だけ露出EV+2で撮影するケースがある。また、逆に、日差しが強く当たる壁面については、露出を絞り、露出EV-2で撮影するケースもある。このようにして撮影した画像から構成される認識対象データの属性には、露出EV-2、露出EV+2の両方の属性項目にTrueを設定する。
【0049】
以下では、認識対象データの属性の設定方法に関するユーザインターフェースを説明する。ここで、ユーザとは、本実施形態の情報処理装置100を操作する人物であり、認識対象データに適した学習済みモデルを選択する処理を実行したい人物である。また、以下のユーザインターフェースに係る処理は、属性処理部203が実行する処理である。属性処理部203は、表示部105へのGUI情報の表示処理や、ユーザが設定した情報を、操作部106を介して受け付ける受付処理、及び、設定情報を記録領域に記録する記録処理等を実行する。
【0050】
図5のユーザインターフェースでは、ユーザが認識対象データの内容を確認して、各属性を設定する。図5のユーザインターフェースでは、各属性の項目について、ラジオボタンでTrue、Falseを設定するGUIの例を示している。なお、ユーザインターフェースの実施方法はこれに限らず、他のインターフェースでも良い。例えば、プルダウンメニューで属性の内容を設定するインターフェースで属性を設定するようにしても良い。また、図5の例では、認識対象データの構造物が橋梁であることから、マウスカーソル501により、橋梁にTrueを設定し、トンネルにFalseを設定している状態を示している。ユーザは、図5の状態から、さらに他の属性項目を設定する操作を行う。
【0051】
また、認識対象データの属性には、初期値を設定しておいても良い。図5では、ユーザが未設定の属性には、Voidが設定されている。Voidは、属性が不明であることを示す。ユーザが認識対象データの、ある属性を判断できない場合に、その属性を未入力とすると初期値のVoidが設定される。属性の設定にVoidを含む場合、後述するモデル選択部204の処理では、Voidが設定されている属性項目をモデル選択に利用しない。以上、属性の初期値にVoidを設定する例を示したが、初期値にはVoidではなく、Falseを設定するようにしても良い。
【0052】
以上のようにして、各属性の設定を行うことで、認識対象データの各属性がTrueまたはFalseのいずれかであることを示す情報が作成される。この情報を認識対象データの属性セットとする。なお、Voidの情報も利用する場合は、属性がVoidであるパターンを含んでも良い。
【0053】
以上、ユーザが認識対象データの内容を確認して、認識対象データの属性を入力する実施形態を説明したが、これに限定されない。例えば、認識対象データの属性を自動的に判定して設定するようにしても良い。この実施形態では、属性処理部203は、認識対象データの内容を判定する処理を実施し、認識対象データの属性を設定する。認識対象データの内容の判定は、各属性項目について、それぞれ内容を判定するための処理を実施する。例えば、カメラパラメータに関する属性項目については、認識対象データの画像に付随した撮影情報を読み取り、露出設定、ISO感度、などのカメラパラメータを取得する。この取得したカメラパラメータに基づいて、カメラパラメータ関係の属性項目に、True、Falseを設定する。また、撮影画像の緯度、経度などの撮影位置情報が取得できる場合には、位置情報と構造物のデータベースに基づいて、撮影位置の構造物の種類を判定するようにしても良い。画像に付属した情報では判定できない属性項目については、各属性を判定するための画像識別器を準備しておき、この画像識別器の識別結果に基づいて属性のTrue、Falseを設定するようにしても良い。例えば、ひび割れが多い画像と、ひび割れが少ない画像を判別するように学習した画像識別器を用いて、認識対象データにひび割れが多い画像が含まれるかを判定して、ひび割れの量に関する属性を設定するようにしても良い。また、全ての属性を自動的に判定する必要はなく、自動的に判定できた属性は、属性判定結果を設定し、自動で判定できなかった属性は、ユーザに属性の入力を要求する構成にしても良い。
【0054】
以上、属性処理部203の処理により、認識対象データの属性セットの情報が作成される。
【0055】
[S402]
次に、ステップS402では、モデル選択部204が、学習データセットの属性セットと認識対象データの属性セットとに基づいて、複数のモデルから認識対象データに適したモデルを選択する。より具体的には、モデル選択部204は、学習データセットの属性セットと認識対象データの属性セットとの一致度と、学習データセットの多様性を段階的に判定することで、モデルを選択する。
【0056】
ここで、図7は、認識対象データの属性セットと、複数(n個)のモデルの属性セットの例を示す図である。図7は、属性のTrue、Falseを図示の都合上、○と×で表している。図7のモデルM1からM4は、全学習データのサブセットの学習データセットで学習したモデルであり、限定的な属性の学習データで学習したモデルである。例えば、構造物種類の属性に着目すると、モデルM1からM3は、橋梁の画像の学習データで学習したモデルであり、モデルM4はトンネルの画像の学習データで学習したモデルである。また、モデルMnは、全学習データで学習したモデルで、全ての属性の項目がTrueとなっているモデルである。
【0057】
以下、図6のフローチャート及び図7を参照しながら、モデル選択部204の処理の詳細について説明する。図6のフローチャートは、モデル選択部204が実施するステップS402の処理の詳細手順を示している。
【0058】
ステップS601では、モデル選択部204が、学習データセットの属性セットと認識対象データの属性セットとの一致度を判定する。本実施形態では、属性セットの一致度は、認識対象データの属性セットと、学習データセットの属性セットとの包含関係を確認することにより判定する。より具体的には、認識対象データでTrueと設定されている属性項目に着目し、同じ属性項目がTrueと設定されているモデルを選択する。図7の例では、認識対象データの属性項目の内、「橋梁」、「ひび割れ多い」、「EV-2以下」にTrueが設定されている。
【0059】
本来は、この3種類の属性項目がTrueと設定されており、属性セットが完全一致するモデルが、最も認識対象データに適したモデルとなる。ステップS601では、モデル選択部204が、属性セットが完全に一致するモデルが存在するかを確認する。もし、属性セットが完全に一致するモデルが存在する場合には、そのモデルを選択する。属性セットが完全に一致するモデルが存在する場合には、ステップS602の多様性を判定する処理は不要なので、ステップS602をスキップして終了して良い。
【0060】
しかし、前述したように、あらゆる属性セットのパターンに備えた複数のモデルを、予め学習しておくことは困難なので、属性セットが完全に一致しないモデルから、最適なモデルを選択するケースが発生する。図7の例では、認識対象データの属性セットと完全に一致する属性セットを有するモデルは存在しない。
【0061】
このような状況においては、ステップS601で、モデル選択部204が、認識対象データの属性を包含するモデルを選択する。具体的には、認識対象データと同様に、「橋梁」、「ひび割れ多い」、「EV-2以下」の属性項目にTrueが設定されているモデルを選択する。これは、認識対象データの属性に対応するためには、これらの属性の条件を学習したモデルを選択する必要があるためである。この基準によると、図7の例では、モデルM2、M3、Mnの3つのモデルが選択される。このようにステップS601で選択されたモデルが複数存在する場合、ステップS602の処理によりさらにモデルを限定する。
【0062】
ステップS602では、モデル選択部204が、ステップS601で選択したモデルの属性セットの多様性に基づいて、モデルを選択する。良好な性能で認識を実行するためには、認識対象データの属性に対して、余分な学習データを含まずに学習したモデルを選択することが望ましい。従って、ステップS602では、ステップS601で選択したモデルの中から、属性の多様性が低いモデルを選択することで、認識対象データの属性を包含し、且つ、余分な学習を行っていないモデルを選択する。ここで、モデルの多様性は、モデルを学習した学習データセットの属性の数を集計することで算出する。具体的には、各モデルの学習データセットの属性がTrueと設定されている数を算出し、これを多様性とする。図7の例で、ステップS601で選択されたモデルの多様性は、それぞれ、モデルM2は4、モデルM3は5、モデルMnは7となる。ステップS602の多様性に基づくモデル選択では、ステップS601で選択されたモデルのうち多様性の値が最も小さなモデルを選択する。従って、図7の例では、モデルM2が選択されることになる。
【0063】
以上、図6のフローチャートに従って、認識対象データの認識に適したモデルを選択する処理の詳細を説明した。なお、ステップS601において、認識対象データの属性を包含するモデルが全く存在しない場合には、属性の一致度が最も高いモデル(最も認識対象データの属性を含むモデル)を選択する。このとき、予め、必ず一致しなければならない属性項目を設定しておくようにしても良い。例えば、構造物種類は、モデル選択において重要な属性項目である。従って、まず、少なくとも構造物種類の属性設定が一致するモデルを選択し、構造物種類に基づいて選択したモデルの中から他の属性項目が最も一致するモデルを選択するようにしてもよい。
【0064】
また、前述したように、認識対象データの属性には、属性が不明である情報としてVoidを設定するようにしても良い。この場合、モデル選択部204の処理においては、認識対象データの属性項目にVoidが設定された属性を無視して処理を実行すれば良い。具体的には、認識対象データの属性とモデルの属性の一致度を判定する処理において、認識対象データの属性セットにVoidが設定された属性項目は、モデルの属性項目がTrueでもFalseでも、モデルの一致度に影響を与えないようにすればよい。
【0065】
以上説明したように、モデル選択部204の処理により、認識対象データの認識に適したモデルが選択される。
【0066】
[S403]
ステップS403では、認識部205は、ステップS402で選択されたモデルを用いて認識処理を実行し、認識対象画像に対する認識結果を作成する。本実施形態においては、認識対象画像のひび割れを認識し、画像中のひび割れ位置を示す認識結果を作成する。以上で図4の一連の処理が終了する。
【0067】
以上説明したように、本実施形態で選択したモデルは、認識対象データの属性を包含し、且つ、余分な属性を学習していないモデルである。従って、複数のモデルの中から、認識対象の属性に対応するデータで学習されたモデルであり且つ認識対象に対する認識性能が良好なモデルを選択することができるため、好ましい認識結果が得られることが期待できる。
【0068】
(実施形態2)
実施形態1では、認識対象データの認識に適したモデルを一つ選択する例を説明した。しかしながら、モデルの選択は、一つのモデルを選択することに限定されず、多様性に基づいて複数のモデルを選択するようにしても良い。以下、実施形態2では、認識対象データの認識に適した複数のモデルを選択する例を説明する。
【0069】
なお、実施形態2に係る情報処理装置100のハードウェア構成、機能構成は、実施形態1と同様であるので、説明を省略する。また、実施形態2においても、実施形態1と同様に、インフラ構造物の点検のための、ひび割れ認識モデルを用いる実施形態を説明する。実施形態2に係る処理は図4及び図6のフローチャートに従った手順となる。
【0070】
実施形態1で選択したモデルは、認識対象データの属性を包含し、且つ、余分な属性を学習していないモデルであり、認識対象データに対して高い性能で認識することが期待できる。この効果を得るためには、認識対象データの属性を正しく設定する必要がある。しかし、認識対象データの画像データが非常に多いケースなどでは、認識対象データの全ての属性を正しく判断することが難しい場合がある。特に、ユーザが認識対象データの属性を設定する場合に、全ての認識対象画像を確認することが難しいため、壁面状態などの画像アピアランスに関する属性を正しく設定できない可能性がある。
【0071】
実施形態2では、このような状況に対応するために、実施形態1で選択したモデルに加えて、モデルの属性セットの多様性が高く、ロバストな認識が実施できるモデルも選択する。具体的には、実施形態1で説明したステップS602において、実施形態1と同様に、多様性が最小のモデルを選択し、これを第一のモデルとする。そして、さらに、比較的、多様性の値が高いモデルを、ロバストな認識を実施する第二のモデルとして選択する。より具体的には、第一のモデルの属性項目のTrueの数よりも、多くの属性項目がTrueと設定されているモデルを第二のモデルとして選択する。これにより、認識対象データの属性の設定にミスがあっても、比較的ロバストなモデルも第二のモデルとして選択されるため、認識対象データが想定よりも多様なデータであった場合にも、認識対象データに対応できる可能性があるモデルが選択される。
【0072】
ここで、全学習データで学習したモデルが存在する場合に、多様性が最大のモデルを選択すると、常に全学習データで学習したモデルが選択されることになる。これも一つの実施形態ではあるが、第一のモデルの多様性に対して、予め設定した所定の値だけ大きな多様性を示すモデルを選択するようにしてもよい。これにより、認識対象データの属性を包含し、且つ、若干ロバスト性が高いモデルを選択できるようになる。このモデルは、全学習データのモデルと第一のモデルとの中間的な性能を示し、全学習データのモデルよりもロバスト性は劣るものの、余分な学習データが相対的に少ないため、認識対象データの認識に適したモデルとなる。
【0073】
また、前述したように、壁面状態に関する認識対象データの属性の設定が正しく設定できない可能性があるため、壁面状態に係る属性についてロバストなモデルを第二のモデルとして選択するようにしてもよい。従って、壁面状態に関する属性項目が、第一のモデルの属性に比べて所定の数だけ多くTrueと設定されているモデルを選択するようにしても良い。このように、多様性に基づいて第二のモデルを選択する場合に、多様性を評価するための属性を限定して、第二のモデルを選択するようにしても良い。
【0074】
以上の処理により、認識対象データの属性セットに基づいて、認識対象に最適と判断される第一のモデルと、比較的ロバストな第二のモデルを選択することができるようになる。
【0075】
その後、実施形態1で説明したステップS403において、認識部205は、選択された2つのモデルそれぞれの認識結果を作成し、その両方の結果をユーザに提示する。ユーザは、2つの認識結果を確認して、より適切と判断できる認識結果を採用すればよい。
【0076】
この処理のために、認識部205は、表示部105への認識結果の表示と、操作部106を介したユーザの認識結果の選択の受け付け処理を実施する。また、2つの認識結果の提示は、各モデルの認識結果を比較可能な状態で表示する。具体的には、各モデルのひび割れ認識結果を認識対象画像に重畳した画像を作成し、並べて表示したり、切り替えて表示したりする。
【0077】
また、認識部205で認識処理を実行する前に、モデル選択部204により選択された2つのモデルの情報を表示部105に表示することで、認識処理に用いるモデルをユーザに判断させても良い。ここで表示するモデルの情報は、例えば、各モデルの属性セットの情報である。さらに、各モデルの属性セットの情報を比較しやすくするために、並べて表示したり、差分がある属性項目を強調表示したりしても良い。事前にユーザにモデルを選択させることで、認識部205で認識処理を実施するモデル数を削減することができるため、認識処理の時間を削減することができるようになる。
【0078】
なお、本実施形態では、2つのモデルを選択する例を説明したが、選択するモデルは2つに限らず、多様性に基づいて、3つ以上のモデルを選択するようにしても良い。この場合、多様性に基づいて、第二のモデルを複数選択する。具体的には、第一のモデルに比べて、多様性が少し高いモデルと、さらに多様性が高いモデルとを選択する。これにより、ロバスト性が異なる複数のモデルを選択することができるようになる。
【0079】
(実施形態3)
上述した各実施形態では、属性は、構造物種類など、人間が見て理解できる明確な項目としたが、これに限定されない。実施形態3では、画像特徴量に基づいて属性の情報を作成する例を説明する。なお、実施形態3に係る情報処理装置100のハードウェア構成、機能構成は、実施形態1と同様であるので、説明を省略する。また、実施形態3においても、実施形態1と同様に、インフラ構造物の点検のための、ひび割れ認識モデルを用いる実施形態を説明する。
【0080】
実施形態3では、学習データセットの画像群、または、認識対象データの画像群からBag-of-FeaturesやBag-of-Visual Wordsと呼ばれる手法で属性セットの情報を作成する。Bag-of-Featuresは公知の手法であるので、アルゴリズム自体の詳細な説明は省略する。以下では、図8を用いて、Bag-of-Featuresにより属性セットを作成する実施形態について説明する。
【0081】
図8には、学習データセット801~80nが示されている。これらのうち、学習データセット801から属性セット841の情報を作成する処理について説明する。この説明のため、まず、本実施形態におけるVisual wordについて説明する。Visual wordは、全学習データの画像群の画像特徴をクラスタリングして、各クラスタの中心をVisual wordとすることで作成する。ここで、画像特徴は、従来のBag-of-Featuresでよく利用されているSIFTやSURFのような局所特徴量でも良いし、Convolutional Neural Network(CNN)を用いて抽出した画像特徴を用いても良い。ここで、SIFTはScale Invariant Feature Transformの略であり、SURFはSpeeded Up Robust Featuresの略である。
【0082】
次に、学習データセット801に含まれる画像群とVisual wordに基づいて、ヒストグラム831を作成する。ヒストグラム831のbinは、Visual wordのインデックスを示している。図8では、図示の都合上、Visual wordが4種類のケースについて説明しているが、Visual wordは通常、さらに多数で構成される。ヒストグラム831を作成するためには、学習データセット801に含まれる画像の画像特徴を抽出し、画像特徴が最も類似するVisual wordに投票を行う。例えば、図8では、画像821の画像特徴は、1番のインデックスのVisual wordに類似していたため、画像821からインデックス1番に投票している様子を矢印822で示している。通常のBag-of-Featureでは、1枚の画像からヒストグラム特徴を作成するが、本実施形態では、学習データセットの傾向を示す情報を作成することが目的である。そのため、学習データセット801の全画像から画像特徴の抽出と、ヒストグラムへの投票を行う。
【0083】
また、図8の説明では、1枚の画像821から一つの投票822を実施している様子を示しているが、これは、画像821が局所パッチサイズの画像であることによる。学習画像のサイズが大きな場合は、1枚の画像から部分的な画像特徴を抽出し、それぞれの画像特徴に基づいてヒストグラムに投票するようにしても良い。
【0084】
以上の処理により、Visual wordのヒストグラム831が作成される。このヒストグラムは、学習データセット801の画像特徴の傾向を示すものである。すなわち、本実施形態では、各Visual wordを属性項目とすることで、画像特徴に基づいて、学習データセットのデータ条件を表現する。
【0085】
次に、実施形態1と同様に、各項目にTrue、Falseの2値の情報が設定された属性セットを作成するために、ヒストグラム831を閾値処理する。図8では、閾値832により、ヒストグラム831を閾値処理した結果の属性セット841を示しており、閾値832以上の値を示すインデックス1のみがTrueとなった属性セット841が作成されている。なお、このような閾値処理を実施せずに、1回でも投票されたVisual wordインデックスをTrueとして属性セットを作成しても良い。しかし、少量の投票結果はノイズとして閾値処理した方が、学習データセットの傾向を示すための属性セットを正しく作成することができる。
【0086】
以上の処理を、各学習データセットに対して実施することにより、学習データセットの属性セットを作成する。これらの属性セットの情報は、実施形態1と同様に、学習データセットを用いて学習したモデルと共に、モデル格納部202に格納しておく。
【0087】
認識対象データについても、同様の方法で、画像特徴に基づく属性セットを作成する。図8には、認識対象データの画像群810を示している。この画像群から、学習データセットをヒストグラム化したときと同じVisual wordを用いて、ヒストグラム833を作成し、さらに、属性セット851の情報を得る。
【0088】
以上の処理によって、学習データセットの属性セット841~84nと、認識対象データの属性セット851が得られる。これらの情報を用いたモデル選択方法は、実施形態1と同様の処理を行えばよいので、説明は省略する。
【0089】
なお、上述した方法では、Visual wordは自動的にクラスタリングにより作成されるので、各Visual wordがどのような画像特徴を示しているのか判断することが難しい。本実施形態では、Visual wordを属性項目としているので、属性項目のTrue、Falseにより、学習データセットや認識対象データの傾向を判断することも難しくなる。従って、Visual wordが示す属性を明確にするため、特定の画像を表すためのVisual wordを手動で作成しても良い。例えば、全学習データから手動で、ひび割れが多い画像を収集し、この画像群の特徴量分布中心を一つのVisual wordとしても良い。これにより、このVisual wordは、「ひび割れ多い」という属性を明確に示すVisual wordとなる。
【0090】
以上説明したように、本実施形態によれば、画像に基づいて属性セットを作成することにより、画像のアピアランスや雰囲気に基づいて、認識に用いるモデルを選択することができるようになる。
【0091】
なお、実施形態1で用いた人間が理解可能な属性項目と、実施形態3の画像特徴に基づく属性を合わせて利用しても良い。例えば、構造物種類やカメラパラメータなどの明示的に入力可能な属性は、実施形態1の明示的な名称を持つ属性項目として属性を設定し、壁面状態などの画像に基づく属性は、画像特徴に基づく属性を作成してもよい。これらの属性の設定を合わせて、モデル選択に用いる属性セットとすることもできる。
【0092】
(実施形態4)
実施形態2では、複数のモデルを選択してユーザに提示し、選択されたモデルをユーザが確認し、さらに選択する実施形態について説明した。実施形態4では、このように、モデル選択結果をユーザに提示する例を、さらに詳細に説明する。
【0093】
なお、実施形態4に係る情報処理装置100のハードウェア構成、機能構成は、実施形態1と同様であるので、説明を省略する。また、実施形態4においても、実施形態1と同様に、インフラ構造物の点検のための、ひび割れ認識モデルを用いる実施形態を説明する。
【0094】
図9は、モデル選択のためのGUIアプリケーションを説明する図である。アプリケーションウィンドウ900には、認識対象データに関する情報を示す領域901と、モデル選択部204により選択されたモデルの情報を示す領域902とが含まれる。以下、本実施形態では、認識対象データの属性を設定する処理から、モデルを選択する処理までを、ユーザインターフェースの観点で説明する。CPU101が表示制御部として機能し、表示部105の表示を制御することでアプリケーションウィンドウが表示される。
【0095】
アプリケーションウィンドウ900には、認識対象データの属性を入力するための領域911が設けられている。これは、図5と同様の目的、機能のインターフェースであるが、図9では、プルダウンボタンで各属性項目に対してTrue、Falseを設定するインターフェースである。ユーザは、属性項目を設定した後に、最適モデル検索のボタン912を押下する。
【0096】
この操作に伴い、モデル選択部204は、認識対象データに適したモデルを選択する。図9の例では、モデルM3、モデルM8、モデルM6の3種類のモデルが選択され、それぞれのタブにモデルの情報が表示された例を示している。なお、モデルのタブの順序は、モデルの多様性の順を示している。図9には、これらのモデルを切り替えて表示するためのボタン922、923を示している。ユーザは、ボタン922、923によりモデルを切り替えて表示し、各モデルの情報を確認しながら、認識処理に用いるモデルを決定する。
【0097】
図9には、表示中のモデルを認識処理に用いるモデルとして選択するための決定ボタン924が設けられている。なお、複数モデルの表示は、このような表示に限定することなく、複数のモデルを同時に表示し、その内容を比較できるようにしても良い。また、選択するモデルも一つに限らず、複数のモデルを選択できるようにしても良い。複数のモデルを選択する場合には、各モデルで認識処理を実行し、その認識結果を比較して、より適切な認識結果を決定する。
【0098】
次に、モデルの情報を示す領域902について説明する。モデルの情報を示す領域902には、モデルの属性セットの情報925が表示されている。ユーザは、このモデルの属性セットの情報925と、認識対象データの属性セットの情報911とを比較して確認することで、より似た条件で学習したモデルを選択することができる。なお、この比較を容易にするために、認識対象データの属性セット911とモデルの属性セット925とで、属性項目の設定が同一の項目を強調表示するようにしても良い。または、逆に、設定が異なる項目を強調表示するようにしても良い。
【0099】
モデルの情報を示す領域902には、さらに、画像926のように、モデルを学習した学習画像の例を表示するようにしても良い。このように、モデルの情報として、学習画像を表示することで、ユーザは、そのモデルがどのような条件で学習されたモデルなのかを、より直感的に理解することができるようになる。
【0100】
なお、実施形態1のように、各学習データに属性の情報が関連付けられている場合、所定の属性がTrueと設定された画像のみを表示するようにしても良い。これにより、例えば、あるモデルが学習した「ひび割れ多い」の属性の画像が、どのようなものであるかを、ユーザが簡単に把握できるようになる。
【0101】
また、合わせて、認識対象データの画像も、認識対象データに関する情報を示す領域901に表示するようにしても良い。図9には、認識対象データに関する情報を示す領域901に、画像913のように、認識対象データの画像を表示した様子を示している。この認識対象データの画像は、例えば、認識対象の構造物壁面の一部の画像である。このように、認識対象データの画像と、モデルを学習した画像とを比較表示することで、学習画像の条件が認識対象データの画像に類似したモデルを選択することが容易になる。
【0102】
さらに、モデルを学習した画像926は、全ての学習画像を表示せず、各属性の代表的な画像を予め選択しておき、これを表示するようにしても良い。また、モデルが学習した画像の傾向が理解できれば、実際に学習した画像ではなく、類似したサンプル画像や、イメージ図等でも良い。これにより、認識対象データの画像と比較しやすい画像を表示することができるようになる。
【0103】
また、モデルを学習した画像926の表示について、これらの画像は実際に学習した画像ではなく、仮想的に生成した画像でも良い。近年、GAN(Generative Adversarial Networks)と呼ばれる技術により、学習に基づいて、画像を生成する技術が発展している。このような技術により、学習データセットの画像群の画像の傾向を学習し、学習したモデルを用いて、学習データセットの画像に類似した画像を生成し、この生成した画像を表示用の学習画像としてもよい。
【0104】
以上説明したように、モデル選択部204により選択された複数のモデルから1以上のモデルを選択するためのインターフェースを提供することで、ユーザは容易にモデルを選択することができるようになる。なお、以上の説明では、複数のモデルから、認識処理に用いるモデルを選択する例を説明したが、モデル選択部204が選択したモデルが一つである場合であっても、選択したモデルを確認するために、本実施形態に係るユーザインターフェースを提供しても良い。この場合、図9の複数モデルを切り替え表示するボタン922、923や、モデルを選択するための決定ボタン924は不要となる。
【0105】
以上の処理は、情報処理装置100のCPU101が、ROM102に格納されたプログラムをRAM103に展開して実行することで実現される。また、必要に応じて、表示部105にGUIを表示し、ユーザからの操作を操作部106で受け付ける。
【0106】
また、モデル選択や認識処理をSaaS(Software as a Service)の形態で実施しても良い。図10は、SaaSの形態における情報処理装置110、120、121、122を示している。これらの情報処理装置は、情報処理装置100と同様に、CPU101と、ROM102と、RAM103と、HDD104と、表示部105と、操作部106と、通信部107とを有している。各情報処理装置の構成は情報処理装置100の説明と同様であるので、詳細は省略する。
【0107】
図10の例では、情報処理装置110がサーバ、情報処理装置120、121、122がクライアントである。クライアントの情報処理装置120、121、122では、サーバの情報処理装置110から情報を受け取り、ユーザインターフェースに係る処理を実行する。具体的には、本実施形態で説明した図9のようなGUIの表示や、ユーザ操作の受付を実行する。実施形態1で説明したモデル選択処理や、認識処理の機能は、サーバの情報処理装置110で実行する。なお、クライアントの情報処理装置の数は図示の例に限定されるものではない。このようなSaaSの形態でサービスを実施することにより、多数のユーザにサービスを提供することができるようになる。
【0108】
(実施形態5)
実施形態5では、モデル選択の判断基準として、モデルの評価を加える例を説明する。
【0109】
図11は、実施形態5の情報処理装置100の機能構成を示すブロック図の一例である。これらの各機能部は、CPU100が、ROM102に格納されたプログラムをRAM103に展開し、各フローチャートに従った処理を実行することで実現される。そして、各処理の実行結果をRAM103またはHDD104に保持する。また例えば、CPU101を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。なお、以下では、SaaSの形態での実施形態も説明に含むが、SaaSの形態では、実施形態4での説明と同様に、サーバの情報処理装置とクライアントの情報処理装置により、以下の処理を実行する。
【0110】
本実施形態に係る情報処理装置100は、図2の機能ブロック図に加えて、モデル評価部206をさらに備える。モデル評価部206は、モデルの評価の実行や、情報の収集を実施する。以下、このモデル評価部206が実行する処理について説明する。
【0111】
モデルの評価の実施形態の一つは、モデルのユーザ評価を利用する方法である。実施形態4で説明したように、SaaSの形態により、多数のユーザにサービスを提供することができる。ユーザは最終的に、選択されたモデルを用いた認識結果を受け取るが、その結果に満足する場合もあれば、不満がある場合もある。本実施形態では、このユーザの満足度をモデルごとに収集してモデルの評価とする。
【0112】
図12は、モデルごとのユーザの満足度を収集するための、インターフェースを説明する図である。図12のインターフェースは、クライアントの情報処理装置により、ユーザに提示されるものとする。GUIウィンドウ1200には、あるモデルで認識された認識対象画像の認識結果1201が表示されている。図12の例では、認識結果1201は、ある構造物壁面画像のひび割れ認識結果である。ユーザはこの結果を閲覧して、認識結果の満足度を入力する。図12には、ユーザ満足度を入力する入力部1202が設けられており、この例では、「良い」「普通」「悪い」の3段階の評価を行うためのラジオボタンにより選択を受け付けることができる。ユーザは、いずれかの評価を入力して、送信ボタン1203を押下する。これにより、認識結果を作成したモデルと、ユーザ評価が関連付けられて、サーバの情報処理装置に記録される。
【0113】
このようなユーザ評価を蓄積することで、モデルごとの評価値を決定する。モデルの評価値は、単純に、ユーザからの評価を点数化し、集計すればよい。例えば、良い+1点、普通0点、悪い-1点として、ユーザの評価をモデルごとに蓄積する。これにより、ユーザの満足度が高く、性能が高いモデルほど、モデル評価値が高くなる。モデル評価部206は、以上のような、ユーザ評価の収集、蓄積、モデルの評価値の算出を実行する。
【0114】
モデル選択部204は、モデルを選択する処理において、モデル評価部206から各モデルの評価値を取得し、モデル選択の基準として活用する。具体的には、例えば、実施形態1のステップS602において、多様性の値が小さく、且つ、モデル評価値が高いモデルを選択する。このように、モデル評価値を考慮してモデルを選択することで、ユーザの満足度が高く、実績のあるモデルを選択することができるようになる。
【0115】
また、ユーザの満足度の他の計測方法として、モデルが選択された回数を記録しても良い。実施形態2及び実施形態4で説明したように、モデル選択部204は、複数のモデルを選択し、ユーザに提示するようにしても良い。この場合、ユーザは複数のモデルから、認識処理に用いるモデルを選択する。この選択された回数をモデルごとに記録しておき、選択された回数が多いほど、高いモデル評価値となるように記録を集計しても良い。
【0116】
また、ユーザ満足度の他の計測方法として、ユーザが選択されたモデルを再利用するために、モデルをブックマーク登録できるように構成し、その登録した回数に基づいて、モデル評価値を算出しても良い。
【0117】
以上、ユーザ満足度に基づくモデルの評価をモデル選択に利用する例を説明した。
【0118】
次に、モデルの評価を用いたモデル選択方法の別の実施形態として、予め準備した性能評価データを用いてモデルを評価する方法について説明する。この実施形態では、実施形態1の全学習データのように、全性能評価データとして、画像と画像中のひび割れ位置を示す正解情報とのペアを含む性能評価データを多数準備しておく。また、各性能評価データには、性能評価データの属性を示す情報を関連付けて記録しておく。このような性能評価データの画像に対して、あるモデルで認識処理を実施し、認識処理結果と正解情報とを比較することで、モデルの正解率や精度を得ることができる。性能評価結果を評価値とする実施形態では、このようにして得られる正解率や精度をモデルの評価値とする。
【0119】
また、ここでは、認識対象データの属性セットに合わせた性能評価データセットを作成し、性能評価データセットに対して、モデルを用いた認識処理を実施し、正解率や精度を算出してモデルの評価値を算出する。そこで、性能評価データセットは、認識対象データの属性セットと類似した属性セットのデータセットとなるように、全性能評価データから性能評価データを収集して作成する。性能評価データセットに対して、正解率、精度を算出して評価値を作成する処理は、全てのモデルについて実施してもよいし、モデルの属性セットが認識対象データの属性セットと類似する限定したモデルのみを実施するようにしても良い。
【0120】
以上のようにして算出したモデルの評価値を、モデル選択に利用する。この評価値を用いたモデル選択は、前述したユーザ評価に基づく評価値と同様に実行することができる。
【0121】
なお、ここでは、認識対象データの属性セットに合わせて、評価データセットを構築し、モデルの評価を実施する実施形態について説明したが、予め、任意の性能評価データセットでモデルを評価して評価値を算出しておいても良い。この場合、属性セットが異なる様々な性能評価データセットを作成し、それぞれの性能評価データセットで各モデルを評価して評価値を算出し、性能評価データセット及びモデルと関連付けて記録しておく。そして、モデルの選択処理では、認識対象データの属性が設定され、認識対象データの属性セットが得られると、各モデルの評価値として、認識対象データの属性セットと類似した属性セットの性能評価データセットで評価された評価値を呼び出す。そして、この呼び出した評価値を各モデルの評価値として、モデル選択で利用する。
【0122】
このように、予め性能評価データセットを構築し、モデルを評価しておくことで、認識対象データの属性が設定される度に、モデルの評価を実施しなくても良く、評価、及びモデル選択の時間を省略することができる。
【0123】
なお、認識対象データの属性に基づいてモデルを選択する処理を実施した結果、認識対象データに好適なモデルが選択できなかった場合に、新規のモデルを学習するようにしても良い。例えば、認識対象データの属性セットを包含するモデルが、既存の学習済みモデルから選択できなかった場合に、学習部201が新規のモデルを学習する処理を実行する。
【0124】
学習部201は、認識対象データの属性セットに基づいて、新規で学習するモデルの学習データセットを作成する。具体的には、認識対象データの属性セットと類似する属性セットとなるように、学習データセットのデータを全学習データから収集する。ここで、認識対象データの属性セットと類似した学習データセットを作成する処理では、少なくとも認識対象データの属性セットを包含する学習データセットの属性セットを構築することができる。このようにして作成した学習データセットで、新規にモデルを学習する。これにより、認識対象データに適したモデルを作成することができる。
【0125】
なお、認識対象データに合わせてモデルを学習する場合、学習時間を削減するために、既存の学習済みモデルをベースに追加学習を行うようにしても良い。追加学習を行う際は、上記の実施形態で選択したモデルをベースモデルとして追加学習を行う。より具体的には、まず、本実施形態、または、他の実施形態で説明した処理により、認識対象データの認識に適したモデルを、既存の学習済みモデルから選択する。このモデルをベースモデルとすることで、学習時間を短縮することができる。また、追加学習で用いる学習データセットとしては、前述したように、認識対象データの属性セットと類似する属性セットの学習データセットを作成する。さらに、ベースモデルとするモデルの属性セットと、認識対象データの属性セットとを比較して、認識対象データの認識に対して不足している属性の学習データのみを収集し、学習データセットを構築しても良い。
【0126】
(実施形態6)
上述の各実施形態では、認識対象の例として、インフラ構造物の点検のための、ひび割れ認識を挙げて説明を行った。しかしながら、これに限らず、他の用途に用いても良い。実施形態6では、監視カメラ等の固定カメラで用いる認識モデルの選択について説明する。なお、実施形態6に係る情報処理装置100のハードウェア構成、機能構成は、実施形態1~実施形態5と同様であるので、説明を省略する。
【0127】
本実施形態では、監視カメラ等の固定カメラを設置した環境に適したモデルを複数の学習済みモデルから選択する。この場合、実施形態1~実施形態5で説明したような認識対象の属性を、固定カメラでの認識に関する属性に変更すればよい。属性の項目以外については、実施形態1~実施形態5の処理と同様の処理を実施することができる。従って、以下では、固定カメラを対象とした実施形態で用いる属性について説明する。
【0128】
図13を参照して、本実施形態の属性項目を説明する。図13には、固定カメラのモデルを選択するための認識対象データの属性を設定するユーザインターフェースを示す。この図は、実施形態1の図5の変形例である。固定カメラの実施形態における属性には、例えば、カメラ設置環境、認識対象、撮影に関する項目がある。図13には、例えば、カメラ設置環境として、「店舗」「駅」「道路」の属性項目を含む例を示している。また、カメラ設置環境における主要な認識対象を属性項目としてもよく、図13には、「人物」「車両」の属性項目が含まれている例を示している。なお、図13に示した属性項目は、一例であり、これらの属性項目に限らず、カメラ設置環境として他の属性項目を含めてもよく、例えば、「屋内」「屋外」「夜間撮影あり」などの項目を含めてもよい。なお、図13では、ユーザが「店舗」にTrue、「駅」にFalseを設定した状態を示しており、ユーザは引き続き、他の属性項目についてもモデル選択対象の固定カメラの属性を設定していく。また、図13に示すように、実施形態1と同様に、属性項目にはVoidの設定ができるようにしても良い。
【0129】
認識対象データの属性の設定では、以上のようにして、モデルを選択する対象の固定カメラについて属性の設定を行う。この処理により、すべての属性項目についての設定が完了すると、認識対象データである固定カメラ画像の属性セットが作成される。認識対象データの属性セットに基づいて学習済みモデルを選択する処理は、他の実施形態と同様の処理を行えばよい。なお、この処理のためには、各学習済みモデルと、どのような属性の組み合わせの学習データで学習したモデルであるかを示す属性セットの情報とを、予め関連付けて保存しておくようにする。
【0130】
以上説明したように、上述の各実施形態に係る情報処理装置は、属性項目を変更することにより、任意の認識対象のモデル選択に利用することができる。
【0131】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0132】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0133】
100:情報処理装置、201:学習部、202:モデル格納部、203:属性処理部、204:モデル選択部、205:認識部、206:モデル評価部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13