(57)【要約】【課題】セマンティックセグメンテーションに用いる教師データの作成負担を軽減することが可能なプログラム等を提供する。【解決手段】コンピュータは、画像及び前記画像中の対象物を示すラベル情報を取得する。コンピュータは、画像が入力された場合に前記画像中の対象物を示す対象物情報を出力するように学習された学習済みモデルに対して、取得した画像を入力する。そしてコンピュータは、学習済みモデルが入力画像に対して対象物情報を出力した場合に根拠とした入力画像中の領域を示すヒートマップを生成する。コンピュータは、入力画像中のヒートマップが示す領域内の各画素に前記ラベル情報を対応付ける。【選択図】図１
2020194446.tif 000002
【特許請求の範囲】
【請求項１】
画像及び前記画像中の対象物を示すラベル情報を取得し、
画像が入力された場合に前記画像中の対象物を示す対象物情報を出力するように学習された学習済みモデルに対して、取得した前記画像を入力し、
前記画像が入力された前記学習済みモデルが対象物情報を出力した場合に根拠とした前記画像中の領域を示すヒートマップを生成し、
前記画像中の前記ヒートマップが示す領域内の各画素に前記ラベル情報を対応付ける
処理をコンピュータに実行させるプログラム。
【請求項２】
生成した前記ヒートマップに対して、前記学習済みモデルが入力された前記画像に基づいて前記対象物情報を出力した場合に根拠とした度合に基づいてノイズを除去する
処理を前記コンピュータに実行させる請求項１に記載のプログラム。
【請求項３】
前記学習済みモデルは、複数層を有するニューラルネットワークであり、
前記複数層のそれぞれに対応する前記ヒートマップを生成し、
前記複数層のそれぞれに対応して生成したヒートマップを合成する
処理を前記コンピュータに実行させる請求項１又は２に記載のプログラム。
【請求項４】
生成した前記ヒートマップに対する変更指示を受け付け、
受け付けた前記変更指示に基づいて、前記ヒートマップを変更する
処理を前記コンピュータに実行させる請求項１から３までのいずれかひとつに記載のプログラム。
【請求項５】
取得した前記画像と、前記画像に対応するラベル情報と、前記画像が入力された前記学習済みモデルが前記対象物情報を出力した場合に根拠とした度合に応じた前記ヒートマップとを対応付けて表示部に表示する
処理を前記コンピュータに実行させる請求項１から４までのいずれかひとつに記載のプログラム。
【請求項６】
前記画像中の前記ヒートマップが示す領域内の各画素と、各画素に対応付けられた前記ラベル情報とを含む教師データを用いて、画像が入力された場合に前記画像中の各画素を対象物の領域を含む複数の領域に分類する学習モデルを学習させる
処理を前記コンピュータに実行させる請求項１から５までのいずれかひとつに記載のプログラム。
【請求項７】
コンピュータが、
画像及び前記画像中の対象物を示すラベル情報を取得し、
画像が入力された場合に前記画像中の対象物を示す対象物情報を出力するように学習された学習済みモデルに対して、取得した前記画像を入力し、
前記画像が入力された前記学習済みモデルが対象物情報を出力した場合に根拠とした前記画像中の領域を示すヒートマップを生成し、
前記画像中の前記ヒートマップが示す領域内の各画素に前記ラベル情報を対応付ける
処理を実行する情報処理方法。
【請求項８】
画像及び前記画像中の対象物を示すラベル情報を取得する取得部と、
画像が入力された場合に前記画像中の対象物を示す対象物情報を出力するように学習された学習済みモデルに対して、取得した前記画像を入力し、前記画像が入力された前記学習済みモデルが対象物情報を出力した場合に根拠とした前記画像中の領域を示すヒートマップを生成する生成部と、
前記画像中の前記ヒートマップが示す領域内の各画素に前記ラベル情報を対応付ける対応付け部と
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【０００２】
道路、建物、トンネル、ダム等の構造物の表面においてひび割れ等の発生を点検する際に、ニューラルネットワークを用いて、構造物の表面画像からひび割れ等の線状図形を抽出することが行われている（例えば特許文献１参照）。また近年、ニューラルネットワークを用いて、画像中の各画素を特定の物体の領域に分類するセマンティックセグメンテーションと呼ばれる技術が利用されている。セマンティックセグメンテーションでは、例えば犬の画像と猫の画像とを学習させたニューラルネットワークを用いて、犬及び猫を含む画像中の各画素を、犬の領域、猫の領域及びその他の領域にそれぞれ分類する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１９５００１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
セマンティックセグメンテーションでは、ニューラルネットワークを学習させる際に、予め人間が手作業で画像中の各画素を各領域に分類した画像を教師データとして用いる。よって、昨今の機械学習分野では、このような教師データを作成する作業に多くの労力及び予算が費やされている。
【０００５】
本開示は、このような事情に鑑みてなされたものであり、その目的とするところは、セマンティックセグメンテーションに用いる教師データの作成負担を軽減することが可能なプログラム等を提供することにある。
【課題を解決するための手段】
【０００６】
本開示の一態様に係るプログラムは、画像及び前記画像中の対象物を示すラベル情報を取得し、画像が入力された場合に前記画像中の対象物を示す対象物情報を出力するように学習された学習済みモデルに対して、取得した前記画像を入力し、前記画像が入力された前記学習済みモデルが対象物情報を出力した場合に根拠とした前記画像中の領域を示すヒートマップを生成し、前記画像中の前記ヒートマップが示す領域内の各画素に前記ラベル情報を対応付ける処理をコンピュータに実行させる。
【発明の効果】
【０００７】
本開示にあっては、セマンティックセグメンテーションに用いる教師データの作成負担を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置の構成例を示すブロック図である。
【図２】クラス分類モデルの構成例を示す模式図である。
【図３】ヒートマップ生成アプリの動作を説明するための模式図である。
【図４】セグメンテーションＤＮＮを説明するための模式図である。
【図５】情報処理装置による教師データの生成処理手順の一例を示すフローチャートである。
【図６】画面例を示す模式図である。
【図７】画面例を示す模式図である。
【図８】実施形態２の情報処理装置による教師データの生成処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に、本開示のプログラム、情報処理方法及び情報処理装置について、クラス分類を行うように学習させたディープニューラルネットワーク（ＤＮＮ）を用いて、セマンティックセグメンテーションに用いるＤＮＮを学習させるための教師データを生成する装置に適用した実施形態を示す図面に基づいて詳述する。
【００１０】
（実施形態１）
クラス分類ＤＮＮを用いて、セマンティックセグメンテーションに用いるセグメンテーションＤＮＮを学習させるための教師データを生成する情報処理装置について説明する。本実施形態では、アスファルト舗装された道路の表面（路面）を撮影して得られた路面画像に基づいて路面上のひび割れ、凹み（わだち掘れ、ポットホール等）、白線及び黄色線等の路面標識の欠損等の有無を判別するように学習させたクラス分類ＤＮＮを用いる。また、本実施形態では、路面画像中の各画素を、ひび割れの領域、凹みの領域、路面標識の欠損の領域等にそれぞれ分類するセグメンテーションＤＮＮの学習に用いる教師データを生成する。
【００１１】
図１は、情報処理装置の構成例を示すブロック図である。情報処理装置１０は、パーソナルコンピュータ又はサーバコンピュータ等を用いて構成されており、制御部１１、記憶部１２、通信部１３、入力部１４、表示部１５、読み取り部１６等を含み、これらの各部はバスを介して相互に接続されている。制御部１１は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）又はＧＰＵ（Graphics Processing Unit）等の１又は複数のプロセッサを含む。制御部１１は、記憶部１２に記憶してある制御プログラム１２Ｐを適宜実行することにより、本開示の情報処理装置が行うべき種々の情報処理、制御処理等を情報処理装置１０に行わせる。
【００１２】
記憶部１２は、ＲＡＭ（Random Access Memory）、フラッシュメモリ、ハードディスク、ＳＳＤ（Solid State Drive）等を含む。記憶部１２は、制御部１１が実行する制御プログラム１２Ｐ及び制御プログラム１２Ｐの実行に必要な各種のデータ等を予め記憶している。また記憶部１２は、制御部１１が制御プログラム１２Ｐを実行する際に発生するデータ等を一時的に記憶する。また記憶部１２は、例えばディープラーニング処理によって構築されたＤＮＮであるクラス分類モデル１２ａを記憶している。クラス分類モデル１２ａは、路面を撮影して得られた画像データ（路面画像）が入力された場合に、画像データ中に撮影された路面にひび割れ、凹み、路面標識の欠損等（対象物）があるか否かを示す情報（対象物情報）を出力するように学習された学習済みモデルである。ＤＮＮ（学習済みモデル）は、入力値に対して所定の演算を行い、演算結果を出力するものであり、記憶部１２には、この演算を規定する関数の係数や閾値等のデータがＤＮＮ（クラス分類モデル１２ａ）として記憶される。更に記憶部１２は、クラス分類モデル１２ａの学習に用いた教師データが蓄積された教師データＤＢ（データベース）１２ｂを記憶する。教師データは、路面を撮影して得られた路面画像と、路面画像中の路面に存在するひび割れ、凹み、路面標識の欠損を示す情報又は路面がこれら以外の状態であることを示す情報（正解ラベル、ラベル情報）とを１セットとしたデータであり、このような教師データが教師データＤＢ１２ｂに多数記憶してある。なお、クラス分類モデル１２ａは、このような教師データを用いて、路面画像が入力された場合に、路面画像中の路面にひび割れ、凹み、路面標識の欠損等が存在するか否かを示す情報を出力するように学習してある。また記憶部１２は、ＤＮＮが入力データをクラス分類した際に注目した箇所（分類結果に寄与した箇所）を可視化するアプリケーションプログラムであるヒートマップ生成アプリケーション１２ｃ（ヒートマップ生成アプリ）を記憶する。なお、教師データＤＢ１２ｂは、情報処理装置１０に接続された外部の記憶装置に記憶されてもよく、ネットワークを介して情報処理装置１０が通信可能な記憶装置に記憶されてもよい。
【００１３】
通信部１３は、有線通信又は無線通信によって、インターネット又はＬＡＮ（LocalArea Network）等のネットワークに接続するためのインタフェースであり、ネットワークを介して外部装置との間で情報の送受信を行う。入力部１４は、マウス及びキーボード等を含み、ユーザによる操作入力を受け付け、操作内容に対応した制御信号を制御部１１へ送出する。表示部１５は、液晶ディスプレイ又は有機ＥＬディスプレイ等であり、制御部１１からの指示に従って各種の情報を表示する。なお、入力部１４及び表示部１５は一体として構成されたタッチパネルであってもよい。
【００１４】
読み取り部１６は、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ及びＵＳＢ（Universal Serial Bus）メモリを含む可搬型記憶媒体１ａに記憶された情報を読み取る。記憶部１２に記憶されるプログラム及びデータは、例えば制御部１１が読み取り部１６を介して可搬型記憶媒体１ａから読み取って記憶部１２に記憶してもよい。また、記憶部１２に記憶されるプログラム及びデータは、制御部１１が通信部１３を介してネットワーク経由で外部装置からダウンロードして記憶部１２に記憶してもよい。更に、プログラム及びデータを半導体メモリ１ｂに記憶しておき、制御部１１が、半導体メモリ１ｂからプログラム及びデータを読み出してもよい。
【００１５】
図２は、クラス分類モデル１２ａの構成例を示す模式図である。本実施形態のクラス分類モデル１２ａは、例えば図２に示すようにＣＮＮ（Convolution Neural Network）モデルで構成されている。クラス分類モデル１２ａは、ＣＮＮモデルのほかに、ＲＮＮ（Recurrent Neural Network）モデル又はＬＳＴＭ（Long Short-Term Memory）モデル等で構成されていてもよい。図２に示すクラス分類モデル１２ａは、入力層、中間層及び出力層から構成されている。中間層は畳み込み層、プーリング層及び全結合層を含む。本実施形態のクラス分類モデル１２ａでは、入力層を介して、路面画像（画像データ）が入力される。入力層の各ノードには路面画像中の各画素が入力され、入力層の各ノードを介して入力された路面画像は中間層に入力される。中間層に入力された路面画像は、畳み込み層でフィルタ処理等によって画像の特徴量が抽出されて特徴マップが生成され、プーリング層で圧縮されて情報量が削減される。畳み込み層及びプーリング層は複数層繰り返し設けられており、複数の畳み込み層及びプーリング層によって生成された特徴マップは、全結合層に入力される。全結合層は複数層（図２では２層）設けられており、入力された特徴マップに基づいて、各種の関数や閾値等を用いて各層のノードの出力値を算出し、算出した出力値を順次後の層のノードに入力する。全結合層は、各層のノードの出力値を順次後の層のノードに入力することにより、最終的に出力層の各ノードにそれぞれの出力値を与える。畳み込み層、プーリング層及び全結合層のそれぞれの層数は図２に示す例に限定されない。
【００１６】
本実施形態のクラス分類モデル１２ａでは、出力層は４つのノードを有しており、例えばノード０は、入力された路面画像中の路面にひび割れが存在すると判別すべき確率を出力し、ノード１は、凹みが存在すると判別すべき確率を出力し、ノード２は、路面標識の欠損が存在すると判別すべき確率を出力し、ノード３は、その他の状態であると判別すべき確率を出力する。なお、その他の状態とは、路面にひび割れ、凹み及び路面標識の欠損が存在しない状態と、路面にひび割れ、凹み及び路面標識の欠損以外の損傷が存在する状態とを含む。出力層の各ノードの出力値は例えば０〜１．０の値であり、４つのノードからそれぞれ出力された確率の合計が１．０（１００％）となる。
【００１７】
クラス分類モデル１２ａは、路面画像と、路面画像中の路面に存在するひび割れ、凹み、路面標識の欠損を示す情報又は路面がこれら以外の状態であることを示す情報（正解ラベル）とを含む教師データを用いて学習する。クラス分類モデル１２ａは、教師データに含まれる路面画像が入力された場合に、教師データに含まれる正解ラベルに対応する出力ノードからの出力値が１．０に近づき、他の出力ノードからの出力値が０に近づくように学習する。学習処理においてクラス分類モデル１２ａは、入力値に対して行う所定の演算を規定する各種の関数の係数や閾値等のデータを最適化する。これにより、路面画像が入力された場合に、路面画像中の路面にひび割れ、凹み、路面標識の欠損の何れが存在するか、又は路面がその他の状態であるかを示す情報を出力するように学習された学習済みのクラス分類モデル１２ａが得られる。なお、クラス分類モデル１２ａの学習は、情報処理装置１０で行われてもよく、他の学習装置で行われてもよいが、既に学習処理が完了している学習済みモデルとする。クラス分類モデル１２ａが他の学習装置で学習される場合、情報処理装置１０は、例えばネットワーク経由又は可搬型記憶媒体１ａ経由で学習装置から学習済みのクラス分類モデル１２ａを取得すればよい。なお、本実施形態の情報処理装置１０は、記憶部１２に教師データ（教師データＤＢ１２ｂ）を記憶しているので、学習装置から学習済みのクラス分類モデル１２ａを取得する場合、クラス分類モデル１２ａの学習に用いた教師データも取得し、記憶部１２の教師データＤＢ１２ｂに記憶する。
【００１８】
図３は、ヒートマップ生成アプリ１２ｃの動作を説明するための模式図である。ヒートマップ生成アプリ１２ｃは、ＤＮＮに入力データが入力されて、ＤＮＮから出力データが出力された場合に、ＤＮＮが、入力データ中のどの部分に基づいて出力データを算出したかを示すヒートマップを生成する。本実施形態の情報処理装置１０では、ヒートマップ生成アプリ１２ｃは、クラス分類モデル１２ａに路面画像が入力されて、クラス分類モデル１２ａが出力層の各ノードからそれぞれの出力値を出力した場合に、クラス分類モデル１２ａが、路面画像中のどの領域に基づいて出力値を算出したかを示すヒートマップを生成する。具体的には、クラス分類モデル１２ａに路面画像が入力されて、クラス分類モデル１２ａの出力層のノード０から１．０に近い値が出力された場合、ヒートマップ生成アプリ１２ｃは、クラス分類モデル１２ａが、路面画像中の路面にひび割れ（ノード０に対応するクラス）が存在すると判定した際に根拠とした路面画像中の領域を示すヒートマップを生成する。なお、ヒートマップは、ＤＮＮからの出力値に影響を与えた領域を示すだけでなく、領域中の画素毎に、各画素が出力値に与えた影響の度合いを示す。即ち、ヒートマップは、入力画像の各画素の画素位置に対応して、各画素が出力値に与えた影響の度合い（レベル）を示す値を有する。ヒートマップ中の各値は、例えば５段階の数値のように所定数の数値によって、各画素が出力値に与えた影響の度合いを示している。図３に示すヒートマップでは、路面画像において各領域（各画素）が出力値に与えた影響の度合いを異なる色（異なる濃淡）で示している。ＤＮＮは複数層からなる中間層を有しており、ヒートマップ生成アプリ１２ｃは、中間層の各層についてそれぞれヒートマップを生成することができる。
【００１９】
ヒートマップ生成アプリ１２ｃが生成するヒートマップは、入力画像において、ＤＮＮ（クラス分類モデル１２ａ）が分類したクラスの対象物の領域を示している。そこで、本実施形態の情報処理装置１０は、ヒートマップ生成アプリ１２ｃによって生成されるヒートマップを用いて、セマンティックセグメンテーションに用いるセグメンテーションＤＮＮ（学習モデル）を学習させるための教師データを生成する。なお、ヒートマップ生成アプリ１２ｃは、例えばＧｒａｄ−ＣＡＭ（Gradient weighted Class Activation Mapping）、Guided Ｇｒａｄ−ＣＡＭ、ＣＡＭ、Ｇｒａｄ−ＣＡＭ＋＋、Guided Ｇｒａｄ−ＣＡＭ＋＋、Saliency Map、Guided Backpropagation、Layer-wise Relevance Propagation、Integrated Gradients、Smooth Grad、DeepLIFT（Deep Learning Important FeaTures）等を用いることができる。なお、ヒートマップ生成アプリ１２ｃは、上述したアプリケーションに限定されず、各種の計算方法によってヒートマップを生成するプログラムを用いることができる。
【００２０】
セグメンテーションＤＮＮについて説明する。ここでは、画像が入力された場合に、入力画像の各画素を、リンゴの領域、バナナの領域、及びその他の領域にそれぞれ分類するように学習された学習済みモデルであるセグメンテーションＤＮＮを例に説明する。図４は、セグメンテーションＤＮＮを説明するための模式図であり、図４ＡはセグメンテーションＤＮＮの構成例を示し、図４ＢはセグメンテーションＤＮＮの学習に用いる教師データの例を示す。セグメンテーションＤＮＮは、例えば図４に示すようなＳｅｇＮｅｔモデル、ＦＣＮ（Fully Convolutional Network ）モデル又はＵ−Ｎｅｔモデル等で構成されている。
【００２１】
図４に示すセグメンテーションＤＮＮは、入力層、中間層及び出力層を有し、中間層は前半部分に畳み込み層及びプーリング層を含み、後半部分にアップサンプリング層（逆プーリング層）及び畳み込み層を含む。このような構成のセグメンテーションＤＮＮでは、入力層を介して入力された入力画像が中間層において、前半部分の畳み込み層で画像の特徴量が抽出されて特徴マップが生成され、プーリング層で圧縮される。セグメンテーションＤＮＮにおいても、畳み込み層及びプーリング層は複数層設けられており、複数の畳み込み層及びプーリング層によって生成された特徴マップは、後半部分のアップサンプリング層で拡大（画素が補間）されて、畳み込み層で画像の平滑化が行われる。アップサンプリング層及び畳み込み層も複数層設けられており、複数のアップサンプリング層及び畳み込み層によって拡大された特徴マップは、出力層から出力される。出力層から出力される特徴マップは、図４に示すように、入力画像に対して、リンゴに分類された領域と、バナナに分類された領域と、その他の領域とにそれぞれ異なる色が付された画像である。セグメンテーションＤＮＮにおいて、畳み込み層及びプーリング層の層数、アップサンプリング層及び畳み込み層の層数等は図４に示す例に限定されない。
【００２２】
上述した構成のセグメンテーションＤＮＮは、入力画像と、図４Ｂに示すように入力画像中の各画素に対して、判別すべき物体（ここではリンゴ又はバナナ）を示す情報（クラスラベル）が対応付けられたラベル画像とを含む教師データを用いて学習する。セグメンテーションＤＮＮは、教師データに含まれる入力画像が入力された場合に、教師データに含まれるラベル画像を出力するように学習する。学習処理においてセグメンテーションＤＮＮは、入力値に対して行う所定の演算を規定する各種の関数の係数や閾値等のデータを最適化する。これにより、画像が入力された場合に、入力画像中の各画素を、リンゴの領域、バナナの領域、及びその他の領域（各クラスの領域）にそれぞれ分類するように学習したセグメンテーションＤＮＮが得られる。なお、セグメンテーションＤＮＮは、図４Ｂに示すようにクラス毎にラベル画像が用意された教師データを用いて学習してもよいし、１つの入力画像に複数のクラス（物体）のクラスラベルが対応付けられたラベル画像の教師データを用いて学習してもよい。
【００２３】
本実施形態の情報処理装置１０は、図４Ｂに示すようなセグメンテーションＤＮＮの学習に用いるラベル画像（教師データ）を、ヒートマップ生成アプリ１２ｃによって生成されるヒートマップを用いて生成する。なお、本実施形態では、路面画像が入力された場合に、路面画像の各画素を、ひび割れの領域、凹みの領域、路面標識の欠損の領域、及びその他の領域にそれぞれ分類するようにセグメンテーションＤＮＮを学習させるための教師データを、クラス分類モデル１２ａ、教師データＤＢ１２ｂ及びヒートマップ生成アプリ１２ｃを用いて生成する。
【００２４】
以下に、本実施形態の情報処理装置１０が、セグメンテーションＤＮＮの学習に用いる教師データを生成する際に行う処理について説明する。図５は、情報処理装置１０による教師データの生成処理手順の一例を示すフローチャート、図６及び図７は画面例を示す模式図である。以下の処理は、情報処理装置１０の記憶部１２に記憶してある各種のプログラムに従って制御部１１によって実行される。なお、本実施形態では、以下の処理を制御部１１がプログラムを実行することにより実現するが、一部の処理を専用のハードウェア回路で実現してもよい。
【００２５】
情報処理装置１０において、例えば入力部１４を介して、セグメンテーションＤＮＮの学習に用いる教師データの生成処理の実行指示を受け付けた場合、制御部１１（取得部）は、教師データＤＢ１２ｂに記憶してある教師データを読み出す（Ｓ１１）。それぞれの教師データには、路面画像と、路面画像中の路面に存在するひび割れ、凹み、路面標識の欠損（対象物）を示すラベル情報（対象物情報）とが含まれる。制御部１１は、読み出した教師データに基づいて、セグメンテーションＤＮＮの学習に用いる教師データの生成に用いる画像（路面画像）の指定を受け付けるための画像指定画面を生成して表示部１５に表示する（Ｓ１２）。
【００２６】
図６は画像指定画面例を示しており、画像指定画面は、読み出した複数の教師データにそれぞれ含まれる路面画像を選択可能画像Ａ２として表示し、選択可能画像Ａ２から選択された１つの路面画像を処理画像Ａ１として表示している。なお、画像指定画面において、選択可能画像Ａ２の表示領域は、教師データＤＢ１２ｂから読み出された全ての路面画像（教師データ）を表示できるように、例えばスクロールできるように構成されている。また画像指定画面は、処理画像Ａ１からヒートマップを生成する際に用いるアプリケーションプログラムを選択するための入力欄Ａ３を有する。入力欄Ａ３には、選択可能なヒートマップ生成アプリ１２ｃから任意の１つを選択するためのプルダウンメニューが設定されている。図６に示すプルダウンメニューでは、ヒートマップ生成アプリ１２ｃとしてＧｒａｄ−ＣＡＭ、Guided Ｇｒａｄ−ＣＡＭ又はＣＡＭが選択できるように表示されているが、プルダウンメニューは、情報処理装置１０で実行可能な全てのアプリケーションの選択が可能に構成されている。更に画像指定画面は、選択された処理画像Ａ１に基づいて、入力欄Ａ３を介して選択されたアプリケーションプログラムを用いて、セグメンテーションＤＮＮの学習に用いる教師データを生成する処理の実行を指示するための実行ボタンを有する。
【００２７】
画像指定画面において、制御部１１は、入力部１４を介して選択可能画像Ａ２のいずれかの路面画像の指定を受け付け（Ｓ１３）、指定を受け付けた場合、指定（選択）された路面画像を処理画像Ａ１として画像指定画面に表示する。また画像指定画面において、制御部１１は、入力部１４を介してヒートマップ生成アプリ１２ｃのいずれかの選択を受け付けた場合、選択されたアプリケーションの名前を入力欄Ａ３に表示しておく。更に画像指定画面において、制御部１１は、入力部１４を介して実行ボタンが操作されることにより、教師データの生成処理の実行指示を受け付ける。よって、制御部１１は、実行ボタンが操作されて教師データの生成処理の実行指示を受け付けたか否かを判断しており（Ｓ１４）、実行指示を受け付けていないと判断した場合（Ｓ１４：ＮＯ）、ステップＳ１３の処理に戻る。教師データの生成処理の実行指示を受け付けたと判断した場合（Ｓ１４：ＹＥＳ）、制御部１１は、クラス分類モデル１２ａに対して、処理画像Ａ１に選択された路面画像を入力する。そして制御部１１（生成部）は、ヒートマップ生成アプリ１２ｃによって、クラス分類モデル１２ａが処理画像Ａ１に基づいて処理画像Ａ１のラベル情報を出力する際に処理画像Ａ１中のどの領域に基づいて出力値を算出したかを示すヒートマップを生成する（Ｓ１５）。具体的には、制御部１１は、クラス分類モデル１２ａが処理画像Ａ１に基づいて出力層の各ノードからそれぞれの出力値を出力した場合に、それぞれの出力値を算出する際に根拠とした処理画像Ａ１中の領域及び出力値に与えた影響の度合を示すヒートマップを生成する。
【００２８】
ヒートマップ生成アプリ１２ｃは、クラス分類モデル１２ａの中間層が有する各層についてヒートマップを生成しており、制御部１１は、生成された複数のヒートマップを合成して合成ヒートマップを生成する（Ｓ１６）。例えば中間層の各層について予め合成する際の割合が設定してあり、制御部１１は、各層のヒートマップにおいて、それぞれ同じ位置の値に、それぞれの層の合成割合を乗じた上で合計値を算出することにより、１つのヒートマップに合成する。なお、各層の合成割合は例えば、出力層に近い層ほど大きい値となるように設定されている。このように設定した場合、各層で生成されたヒートマップに対する重みを、出力層に近い層ほど大きくすることができる。
【００２９】
制御部１１は、生成した合成ヒートマップを編集するための編集画面を生成して表示部１５に表示する（Ｓ１７）。図７は編集画面例を示しており、編集画面は、画像指定画面と同様に処理画像Ａ１、選択可能画像Ａ２、入力欄Ａ３及び実行ボタンを表示する。また編集画面は、処理画像Ａ１の下側に、処理画像Ａ１のラベル情報（クラスの情報）と、ヒートマップ生成アプリ１２ｃによって生成された各層のヒートマップＭ１とを表示している。図７に示す例では、２つのラベル情報が設定してある処理画像Ａ１について、処理画像Ａ１のクラスは、路面標識（横断歩道）の欠損であるクラス１と、路面標識（路側帯）の欠損であるクラス２とであることが表示してあり、クラス毎にLayer１〜Layer５の５層について生成されたヒートマップが表示してある。編集画面は、各層のヒートマップＭ１の右側に、それぞれの層の合成割合を表示しており、合成割合は入力部１４を介して変更できるように構成されている。なお、編集画面は、いずれかのクラスを選択するためのチェックボックス（ラジオボタン）が表示してあり、チェックボックスにて選択されたクラスについて、各層の合成割合の変更が可能である。更に編集画面は、合成ヒートマップＭ２を大きい領域に表示しており、合成ヒートマップＭ２の上側に、合成ヒートマップＭ２を編集するための鉛筆ボタンＢ１及び消しゴムボタンＢ２を表示している。鉛筆ボタンＢ１は、表示中のクラスに分類すべき領域（画素）を合成ヒートマップＭ２に追加する処理の実行を指示するためのボタンである。消しゴムボタンＢ２は、表示中のクラスに分類すべきでない領域（画素）を合成ヒートマップＭ２から消去する処理の実行を指示するためのボタンである。また編集画面は、編集後の合成ヒートマップＭ２を教師データとして記憶する記憶先（フォルダ名及びファイル名）を指定するための入力欄Ｂ３を有し、編集後の合成ヒートマップＭ２を、入力欄Ｂ３に入力された記憶先に記憶する処理の実行を指示するための保存ボタンを有する。上述した構成の編集画面において、合成ヒートマップＭ２の一部が拡大して表示できるように構成されていてもよい。
【００３０】
編集画面において、制御部１１は、入力部１４を介して、いずれかの層のヒートマップＭ１に対する合成割合の変更指示を受け付けたか否かを判断している（Ｓ１８）。合成割合の変更指示を受け付けたと判断した場合（Ｓ１８：ＹＥＳ）、制御部１１は、表示中の合成割合を、変更指示された合成割合に変更して編集画面を更新し、ステップＳ１６の処理に戻る。そして、制御部１１は、変更された各層の合成割合に基づいて、ステップＳ１５で生成された複数のヒートマップから合成ヒートマップを生成し（Ｓ１６）、表示中の合成ヒートマップＭ２を、生成した合成ヒートマップに変更して編集画面を更新する（Ｓ１７）。制御部１１は、各層に対する合成割合の変更指示を受け付ける都度、ステップＳ１６〜Ｓ１７の処理を行い、変更指示された合成割合で合成された合成ヒートマップを生成して表示する。
【００３１】
合成割合の変更指示を受け付けていないと判断した場合（Ｓ１８：ＮＯ）、制御部１１は、入力部１４を介して鉛筆ボタンＢ１又は消しゴムボタンＢ２が操作されて、処理画像Ａ１中の各画素の分類クラスに対する変更指示を受け付けたか否かを判断する（Ｓ１９）。表示中の合成ヒートマップＭ２に画素を追加する場合、即ち、表示中のクラスに分類されなかった画素を表示中のクラスに追加する場合、ユーザは、入力部１４を介して鉛筆ボタンＢ１を操作した後、合成ヒートマップＭ２に追加したい箇所（画素）を操作（色付け操作）する。また表示中の合成ヒートマップＭ２から画素を消去する場合、即ち、表示中のクラスに分類された画素を表示中のクラスから除外する場合、ユーザは、入力部１４を介して消しゴムボタンＢ２を操作した後、合成ヒートマップＭ２から消去したい箇所（画素）を操作（消去操作）する。これにより、制御部１１は、表示中の合成ヒートマップＭ２に対する画素の追加又は削除の指示（分類クラスの変更指示）を受け付ける。
【００３２】
分類クラスの変更指示を受け付けたと判断した場合（Ｓ１９：ＹＥＳ）、制御部１１は、表示中の合成ヒートマップＭ２に対して、変更指示を受け付けた画素の追加又は消去を行って合成ヒートマップＭ２を変更し（Ｓ２０）、表示中の編集画面を更新する。分類クラスの変更指示を受け付けていないと判断した場合（Ｓ１９：ＮＯ）、又はステップＳ２０の処理後、制御部１１は、入力部１４を介して入力欄Ｂ３に記憶先の情報が入力されて保存ボタンが操作されることにより、教師データの保存指示を受け付ける。よって、制御部１１は、編集画面において保存ボタンが操作されて保存指示を受け付けたか否かを判断しており（Ｓ２１）、保存指示を受け付けていないと判断した場合（Ｓ２１：ＮＯ）、ステップＳ１８の処理に戻る。教師データの保存指示を受け付けたと判断した場合（Ｓ２１：ＹＥＳ）、制御部１１は、合成ヒートマップＭ２に基づいて教師データを生成する（Ｓ２２）。具体的には、制御部１１（対応付け部）は、処理画像Ａ１中の合成ヒートマップＭ２が示す領域内の各画素に、処理画像Ａ１のラベル情報（クラスラベル）を対応付けて教師データ（ラベル画像）を生成する。これにより、路面画像が入力された場合に、路面画像の各画素を、ひび割れの領域、凹みの領域、路面標識の欠損の領域、及びその他の領域にそれぞれ分類するためのセグメンテーションＤＮＮの学習に用いる教師データが生成される。そして、制御部１１は、生成した教師データを、編集画面を介して受け付けた記憶先に記憶し（Ｓ２３）、処理を終了する。
【００３３】
本実施形態の情報処理装置１０は、上述した処理により、画像が入力された場合に、画像中に存在する物体を示す情報を出力するクラス分類モデル１２ａと、クラス分類モデル１２ａの学習に用いる教師データとを用いて、画像が入力された場合に、画像中の各画素を、画像中に存在する物体の領域に分類するセグメンテーションＤＮＮを学習させるための教師データを生成することができる。即ち、クラス分類モデル１２ａを生成するために必要なクラス分類モデル１２ａ及び教師データ（教師データＤＢ１２ｂ）を用いて、セグメンテーションＤＮＮの学習（生成）に用いる教師データの生成が可能である。また、上述したようにヒートマップ生成アプリ１２ｃによって生成されるヒートマップを用いて自動的に、セグメンテーションＤＮＮの学習に用いる教師データを生成することにより、従来は手作業で作成していた教師データ（ラベル画像）の作成負担を軽減できる。また、手作業で教師データ（ラベル画像）を作成する場合、作業者毎にばらつきが生じる虞があるが、上述した処理によって自動的に教師データを作成する場合、客観的に各物体が分類された教師データの作成が可能となる。
【００３４】
近年、セマンティックセグメンテーションは、自動運転分野及び医療分野をはじめとする種々の分野において重要な技術であり、様々な業種及び企業において研究開発が行われている。その際に、セグメンテーションＤＮＮの学習に用いる教師データを自動的に作成することにより、教師データの作成に費やされる予算及び労力の低減が可能であり、セマンティックセグメンテーション技術の更なる発展に寄与するものと期待できる。
【００３５】
本実施形態では、ヒートマップ生成アプリ１２ｃによって生成されたヒートマップから自動的に生成された合成ヒートマップを、編集画面を介して編集（変更）できる。よって、自動的に生成された合成ヒートマップに誤りが含まれる場合に訂正することができるので、精度の高い教師データの生成が可能となる。また、図７に示す編集画面では、処理画像Ａ１を選択し直すことも可能である。よって、一旦表示させた編集画面において、複数の処理画像Ａ１に基づく教師データ（ラベル画像）を順次作成することができる。また、本実施形態において、例えば編集画面を介して、合成ヒートマップの作成に用いるヒートマップの数を変更（指定）できるように構成してもよい。即ち、ヒートマップ生成アプリ１２ｃがクラス分類モデル１２ａの中間層の各層について生成したヒートマップのうちで、合成ヒートマップの生成に用いるヒートマップを変更できるように構成してもよい。具体的には、図７に示す編集画面では、５つのヒートマップから合成ヒートマップが生成される例を示すが、例えば出力層に近い層（例えばLayer３〜Layer５の３層）のヒートマップのみを用いて合成ヒートマップを生成してもよい。
【００３６】
また、生成された各層のヒートマップにおいて、ヒートマップ中の各値の最大値（最大レベル）が所定閾値以上のヒートマップのみを用いて合成ヒートマップを生成するようにしてもよい。即ち、ヒートマップにおける最大値が所定閾値未満のヒートマップを、合成ヒートマップの生成に用いないようにしてもよい。ヒートマップの各値が大きいほど分類結果に対する寄与度が高いことを示しているので、寄与度が高いことを示しているヒートマップのみを用いて合成ヒートマップを生成することにより、より精度の高い教師データを生成できる。なお、合成ヒートマップの生成に用いるか否かの判断基準とする閾値は、例えば編集画面において入力部１４を介して設定できるように構成してもよい。この場合、編集画面は、設定された閾値に基づいて合成ヒートマップの生成に用いると判断されたヒートマップのみを表示してもよい。また、ヒートマップにおける最大値に応じて合成ヒートマップに用いるヒートマップを切り替える場合、ヒートマップ生成アプリ１２ｃが生成したヒートマップから、合成ヒートマップの生成に用いるヒートマップを自動的に選択するように情報処理装置１０を構成してもよい。
【００３７】
（実施形態２）
ヒートマップ生成アプリ１２ｃによって生成されたヒートマップにノイズ除去処理を行った後に合成ヒートマップを生成する情報処理装置１０について説明する。本実施形態の情報処理装置は、実施形態１の情報処理装置１０と同様の構成を有するので、構成についての説明は省略する。
【００３８】
図８は、実施形態２の情報処理装置１０による教師データの生成処理手順の一例を示すフローチャートである。図８に示す処理は、図５に示す処理において、ステップＳ１５及びステップＳ１６の間にステップＳ３１の処理を追加したものである。図５と同様のステップについては説明を省略する。また図８では、図５中のステップＳ１７〜Ｓ２３の図示を省略している。
【００３９】
本実施形態の情報処理装置１０において、制御部１１は、実施形態１と同様にステップＳ１１〜Ｓ１５の処理を行う。これにより、画像指定画面を介して指定された処理画像Ａ１がクラス分類モデル１２ａに入力され、クラス分類モデル１２ａから処理画像Ａ１のラベル情報が出力された場合に、クラス分類モデル１２ａが出力値を算出する際に根拠とした処理画像Ａ１中の領域を示すヒートマップが、ヒートマップ生成アプリ１２ｃによって生成される。
【００４０】
本実施形態の情報処理装置１０では、制御部１１は、生成したヒートマップのそれぞれに対して、ノイズを除去する処理を行う（Ｓ３１）。例えば制御部１１は、それぞれのヒートマップにおいて、所定閾値未満の値の画素をヒートマップから消去（除去）する。このようにヒートマップにおいて、ノイズの可能性が高い箇所（画素）を消去することにより、クラス分類モデル１２ａによる分類結果に対する寄与度が高い領域のみを示すヒートマップを生成できる。制御部１１は、ノイズが除去された各ヒートマップに基づいて、合成ヒートマップを生成し（Ｓ１６）、ステップＳ１７以降の処理を行う。よって、本実施形態では、分類結果に対する寄与度が高い領域のみを示すヒートマップを合成することにより、より精度の高い合成ヒートマップ（教師データ）を生成できる。
【００４１】
本実施形態においても、実施形態１と同様の効果が得られる。また本実施形態では、ヒートマップ生成アプリ１２ｃによって生成されたヒートマップに含まれるノイズが除去された後に合成ヒートマップが生成されるので、より精度の高い合成ヒートマップ（教師データ）を生成することができる。なお、ヒートマップにおいて、ノイズとして除去されるか否かの判断基準である所定閾値を、例えば入力部１４を介して指定された値に変更できるように構成してもよい。また、例えばヒートマップにおける最大値又は平均値等に応じて所定閾値が自動的に変更されるように構成してもよい。
【００４２】
上述した各実施形態において、クラス分類モデル１２ａ及び教師データＤＢ１２ｂに基づいて生成されたセグメンテーションＤＮＮの学習用の教師データを用いて、セグメンテーションＤＮＮを学習させることができる。これにより、画像が入力された場合に、入力画像中の各画素を、判別対象の各物体の領域（各クラスの領域）に精度良く分類できるセグメンテーションＤＮＮを実現できる。本実施形態では、路面画像中の各画素を、ひび割れの領域、凹みの領域、路面標識の欠損の領域及びその他の領域に分類するセグメンテーションＤＮＮの学習用の教師データを作成する構成について説明した。しかし、本開示は、その他の分類を行うセグメンテーションＤＮＮにも適用できる。例えば、建物、トンネル、ダム等の構造物の表面画像から、表面画像中の各画素をひび割れ等の欠損領域のそれぞれに分類するセグメンテーションＤＮＮの学習用の教師データを生成することができる。また、自動運転分野及び医療分野等、種々の分野において利用されるセグメンテーションＤＮＮにも適用でき、各種のセグメンテーションＤＮＮの学習用の教師データの生成に利用できる。また、画像中に存在する物体又は状態を判別するセグメンテーションＤＮＮだけでなく、画像中のフォトジェニックな領域又はインスタ映えする領域を判別するセグメンテーションＤＮＮにも適用できる。即ち、入力画像に対してフォトジェニックな領域の有無又はインスタ映えする領域の有無を判別するクラス分類モデルと、このクラス分類モデルの学習に用いた教師データとを用いることにより、画像中の各画素をフォトジェニックな領域又はインスタ映えする領域に分類するセグメンテーションＤＮＮの学習用の教師データを生成することができる。
【００４３】
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本開示の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００４４】
１０    情報処理装置
１１    制御部
１２    記憶部
１４    入力部
１５    表示部
１２ａ  クラス分類モデル
１２ｂ  教師データＤＢ
１２ｃ  ヒートマップ生成アプリ
【図１】
2020194446.tif 000003
【図２】
2020194446.tif 000004
【図３】
2020194446.tif 000005
【図４】
2020194446.tif 000006
【図５】
2020194446.tif 000007
【図６】
2020194446.tif 000008
【図７】
2020194446.tif 000009
【図８】
2020194446.tif 000010