(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024073821
(43)【公開日】2024-05-30
(54)【発明の名称】推論方法、推論装置及びプログラム
(51)【国際特許分類】
G06V 10/70 20220101AFI20240523BHJP
【FI】
G06V10/70
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022184736
(22)【出願日】2022-11-18
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】304021417
【氏名又は名称】国立大学法人東京工業大学
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】柴田 剛志
(72)【発明者】
【氏名】奥富 正敏
(72)【発明者】
【氏名】田中 正行
(72)【発明者】
【氏名】森安 宙
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA02
5L096HA11
5L096JA11
5L096KA04
(57)【要約】
【課題】画像における未知の劣化に対して頑健な画像分割を行うこと。
【解決手段】推論方法は、変換パラメータを指定するステップと、入力データに対して変換パラメータに基づく変換を行い変換データを生成するステップと、変換データの特徴を示す信頼度マップを生成するステップと、変換パラメータに基いて逆変換を行い逆変換データを生成するステップと、逆変換データから基準となる逆変換された信頼度マップを選別し各々の逆変換された信頼度マップとの差分から差分信頼度マップを生成するステップと、差分信頼度マップの各領域の値を補正して補正差分信頼度マップを生成するステップと、補正差分信頼度マップと基準となる逆変換された信頼度マップと各々の逆変換された信頼度マップとに基づいて補正信頼度マップを生成するステップと、逆変換データの各々を統合して入力データの信頼度マップと次元数が一致する統合データを生成するステップとを有する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
1つ以上の変換パラメータを指定する変換パラメータ指定ステップと、
入力データに対して、指定された前記変換パラメータの各々に基づく変換を行うことで変換データを生成する変換ステップと、
前記変換データごとに、前記変換データの各々の特徴を示すデータである信頼度マップを生成する信頼度マップ生成ステップと、
前記信頼度マップの各々に対して、指定された前記変換パラメータに基いて、前記変換データが生成された際に行われた前記変換に対する逆変換を行うことで逆変換データを生成する逆変換ステップと、
前記逆変換データから基準となる逆変換された前記信頼度マップを選別し、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップとの差分を算出することで差分信頼度マップを生成する差分算出ステップと、
前記差分信頼度マップの各領域の値を周辺の領域の値を参照して補正することで補正差分信頼度マップを生成する差分補正ステップと、
前記補正差分信頼度マップと、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップと、に基づいて、前記補正差分信頼度マップの領域ごとに補正信頼度マップを生成する信頼度マップ補正ステップと、
前記逆変換データの各々を統合する統合処理を行うことで、前記入力データの前記信頼度マップと次元数が一致する統合データを生成する統合ステップと、
前記統合データに対して分析処理を行う分析ステップと、
を有する推論方法。
【請求項2】
前記分析ステップでは、前記分析処理として、認識処理を行い、
前記統合ステップでは、正解データが付与された前記入力データから生成される前記統合データに対して行われる前記分析ステップの前記認識処理によって得られる認識結果と、当該統合データに対応する前記正解データとに基づいて複数の統合演算式の中から選択されるいずれか1つの最適な前記統合演算式を用いて前記統合処理を行う
請求項1に記載の推論方法。
【請求項3】
前記統合演算式は、
統合する対象の前記逆変換データの各々における対応する位置の特徴値に基づいて、前記統合データの当該位置の特徴値を算出する演算を行う式である
請求項2に記載の推論方法。
【請求項4】
前記統合演算式は、
統合する対象の前記逆変換データの各々における対応する位置、及び当該位置の近傍の位置の特徴値に基づいて、前記統合データの当該位置の特徴値を算出する演算を行う式である
請求項2に記載の推論方法。
【請求項5】
前記入力データの品質を評価する品質評価ステップ
を更に有し、
前記統合ステップでは、前記統合処理において用いる前記統合演算式が前記逆変換データの各々に適用される重みを用いる演算を含んでいる場合、前記品質評価ステップによって評価して得られる前記品質を示すデータに基づいて前記逆変換データに対応する前記入力データの前記重みの値を定める
請求項2に記載の推論方法。
【請求項6】
前記分析ステップでは、前記分析処理として認識処理を行い、
前記変換パラメータ指定ステップでは、正解データが付与された前記入力データから得られる前記逆変換データの各々に対して行われる前記分析ステップの前記認識処理によって得られる認識結果と、前記逆変換データに対応する前記正解データと、に基づいて、選択される前記変換パラメータを指定する
請求項1から請求項5のいずれか一項に記載の推論方法。
【請求項7】
1つ以上の変換パラメータを指定する変換パラメータ指定部と、
入力データに対して、指定された前記変換パラメータの各々に基づく変換を行うことで変換データを生成する変換部と、
前記変換データごとに、前記変換データの各々の特徴を示すデータである信頼度マップを生成する信頼度マップ生成部と、
前記信頼度マップの各々に対して、指定された前記変換パラメータに基いて、前記変換データが生成された際に行われた前記変換に対する逆変換を行うことで逆変換データを生成する逆変換部と、
前記逆変換データから基準となる逆変換された前記信頼度マップを選別し、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップとの差分を算出することで差分信頼度マップを生成する差分算出部と、
前記差分信頼度マップの各領域の値を周辺の領域の値を参照して補正することで補正差分信頼度マップを生成する差分補正部と、
前記補正差分信頼度マップと、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップと、に基づいて、前記補正差分信頼度マップの領域ごとに補正信頼度マップを生成する信頼度マップ補正部と、
前記逆変換データの各々を統合する統合処理を行うことで、前記入力データの前記信頼度マップと次元数が一致する統合データを生成する統合部と、
前記統合データに対して分析処理を行う分析部と、
を備える推論装置。
【請求項8】
コンピュータに、
1つ以上の変換パラメータを指定する変換パラメータ指定ステップと、
入力データに対して、指定された前記変換パラメータの各々に基づく変換を行うことで変換データを生成する変換ステップと、
前記変換データごとに、前記変換データの各々の特徴を示すデータである信頼度マップを生成する信頼度マップ生成ステップと、
前記信頼度マップの各々に対して、指定された前記変換パラメータに基いて、前記変換データが生成された際に行われた前記変換に対する逆変換を行うことで逆変換データを生成する逆変換ステップと、
前記逆変換データから基準となる逆変換された前記信頼度マップを選別し、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップとの差分を算出することで差分信頼度マップを生成する差分算出ステップと、
前記差分信頼度マップの各領域の値を周辺の領域の値を参照して補正することで補正差分信頼度マップを生成する差分補正ステップと、
前記補正差分信頼度マップと、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップと、に基づいて、前記補正差分信頼度マップの領域ごとに補正信頼度マップを生成する信頼度マップ補正ステップと、
前記逆変換データの各々を統合する統合処理を行うことで、前記入力データの前記信頼度マップと次元数が一致する統合データを生成する統合ステップと、
前記統合データに対して分析処理を行う分析ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推論方法、推論装置及びプログラムに関する。
【背景技術】
【0002】
コンボリューショナル・ニューラルネットワーク(以下、「CNN」(Convolutional Neural Network)という)を積層して形成されるディープ・コンボリューショナル・ニューラルネットワーク(以下、「DCNN」(Deep Convolutional Neural Network)という。)は、近年、コンピュータ・ビジョンや画像処理における主流の手法になっている。DCNNは、画像認識、物体検出、セマンティックセグメンテーションなどのコンピュータ・ビジョン・タスクの性能向上に大きく貢献している。特に、セマンティックセグメンテーションは、ビデオ監視、医用画像処理、自動運転など、多くのビジョン・アプリケーションにおいて重要な要素となっている。
【0003】
ところで、既存のセマンティックセグメンテーションのアルゴリズムは、クリーンな画像、すなわち画像劣化のない画像を認識対象とする場合、高い認識精度を発揮する。これに対して、ビデオ監視や自動運転などのアプリケーションから実際に得られる画像には、ノイズ、ぼかし、圧縮歪みなどの一般的な画像劣化が生じていることが多い。ただし、一般的な画像劣化といえども、このような画像劣化は、セマンティックセグメンテーションのアルゴリズムが予期しない画像劣化である。このような画像劣化が認識対象の画像に生じていると、例えば、非特許文献1に示されているように、訓練データの分布に対してドメインシフトが生じる。そのため、画像劣化を含む画像に対して、既存のセマンティックセグメンテーションのアルゴリズムをそのまま適用すると、認識精度は著しく低下する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Christoph Kamann and Carsten Rother, “Benchmarking the Robustness of Semantic Segmentation Models”, International Journal of Computer Vision, 2021.
【非特許文献2】Kazuki Endo, Masayuki Tanaka, and Masatoshi Okutomi, “CLASSIFYING DEGRADED IMAGES OVER VARIOUS LEVELS OF DEGRADATION”, in 2020 IEEE International Conference on Image Processing (ICIP), 2020.
【非特許文献3】Kai Zhang, Wangmeng Zuo, Yunjin Chen, Deyu Meng, and Lei Zhang, “Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising”, IEEE transactions on image processing, 2017.
【非特許文献4】Dazhou Guo, Yanting Pei, Kang Zheng, Hongkai Yu, Yuhang Lu, and SongWang, “Degraded Image Semantic Segmentation With Dense-Gram Networks”, IEEE Transactions on Image Processing, 2019.
【非特許文献5】Christoph Kamann and Carsten Rother, “Increasing the Robustness of Semantic Segmentation Models with Painting-by-Numbers”, in European Conference on Computer Vision, 2020.
【発明の概要】
【発明が解決しようとする課題】
【0005】
画像劣化に対処するための一般的なアプローチは、例えば、画像復元とセマンティックセグメンテーションとを組み合わせるアプローチである。ただし、既存の画像復元のアルゴリズムの多くは、ガウスノイズ、圧縮歪み、ブラーなどの特定の劣化モデルの各々に対応して構築されたアルゴリズムである(例えば、非特許文献2,3参照)。言い換えると、既存の画像復元のアルゴリズムは、予め劣化モデルを想定して構築されたアルゴリズムであり、想定された劣化モデルの画像劣化を含む画像に対しては有効であるが、想定された劣化モデル以外の画像劣化を含む画像を復元することができない。
【0006】
例えば、
図9に示されるように、想定された画像劣化を含む画像データ300-1と、想定外の画像劣化を含む画像データ300-2とが存在しているとする。これらの画像データ300-1,300-2に対して、画像データ300-1に生じている想定された画像劣化に対応する画像復元のアルゴリズムを適用すると、画像データ300-1,300-2の各々に対応する復元画像データ310-1,310-2が得られる。復元画像データ310-1については、適切に復元された状態になる。これに対して、復元画像データ310-2については、適切に復元された状態にはならない。そのため、復元画像データ310-1,310-2の各々に対してセマンティックセグメンテーションを行ったとしても、以下のような結果になる。すなわち、復元画像データ310-1から得られる認識結果画像データ320-1では、正しく画素ごとのクラスが認識されるという結果になる。これに対して、復元画像データ310-2から得られる認識結果画像データ320-2では、正しく画素ごとのクラスが認識されないという結果になる。
【0007】
上記の一般的なアプローチに対して、非特許文献4では、画像劣化を含む画像に対してセマンティックセグメンテーションを行う新たなニューラルネットワークが提案されている。ただし、非特許文献4において提案されているニューラルネットワークは、劣化モデルごとに学習させる必要がある。そのため、未知の劣化モデルの劣化が生じている画像に対しては、上記の一般的なアプローチと同様に、非特許文献4に開示されている技術も、正しくセマンティックセグメンテーションを行うことができない。
【0008】
また、実際の場面では、劣化モデルが未知であることが多い。非特許文献5では、様々な劣化に対して頑健である学習スキーマが提案されている。しかしながら、非特許文献5に開示されている技術において、ぼかし等の典型的な劣化に対して効果が得られるようにするためには、一度だけでも再学習を行う必要がある。
【0009】
このように、従来の画像をいくつのオブジェクトに分割するにセマンティックセグメンテーションにおいては、予め想定される特定の劣化に特化した画像分割を行うことは可能であるが、未知の劣化に対して正しい画像分割を行うことができない場合があるという課題があった。
【0010】
本発明は、このような状況に鑑みてなされたものであり、画像における未知の劣化に対して頑健な画像分割を行うことができる推論方法、推論装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0011】
本発明の一態様は、1つ以上の変換パラメータを指定する変換パラメータ指定ステップと、入力データに対して、指定された前記変換パラメータの各々に基づく変換を行うことで変換データを生成する変換ステップと、前記変換データごとに、前記変換データの各々の特徴を示すデータである信頼度マップを生成する信頼度マップ生成ステップと、前記信頼度マップの各々に対して、指定された前記変換パラメータに基いて、前記変換データが生成された際に行われた前記変換に対する逆変換を行うことで逆変換データを生成する逆変換ステップと、前記逆変換データから基準となる逆変換された前記信頼度マップを選別し、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップとの差分を算出することで差分信頼度マップを生成する差分算出ステップと、前記差分信頼度マップの各領域の値を周辺の領域の値を参照して補正することで補正差分信頼度マップを生成する差分補正ステップと、前記補正差分信頼度マップと、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップと、に基づいて、前記補正差分信頼度マップの領域ごとに補正信頼度マップを生成する信頼度マップ補正ステップと、前記逆変換データの各々を統合する統合処理を行うことで、前記入力データの前記信頼度マップと次元数が一致する統合データを生成する統合ステップと、前記統合データに対して分析処理を行う分析ステップと、を有する推論方法である。
【0012】
また、本発明の一態様は、1つ以上の変換パラメータを指定する変換パラメータ指定部と、入力データに対して、指定された前記変換パラメータの各々に基づく変換を行うことで変換データを生成する変換部と、前記変換データごとに、前記変換データの各々の特徴を示すデータである信頼度マップを生成する信頼度マップ生成部と、前記信頼度マップの各々に対して、指定された前記変換パラメータに基いて、前記変換データが生成された際に行われた前記変換に対する逆変換を行うことで逆変換データを生成する逆変換部と、前記逆変換データから基準となる逆変換された前記信頼度マップを選別し、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップとの差分を算出することで差分信頼度マップを生成する差分算出部と、前記差分信頼度マップの各領域の値を周辺の領域の値を参照して補正することで補正差分信頼度マップを生成する差分補正部と、前記補正差分信頼度マップと、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップと、に基づいて、前記補正差分信頼度マップの領域ごとに補正信頼度マップを生成する信頼度マップ補正部と、前記逆変換データの各々を統合する統合処理を行うことで、前記入力データの前記信頼度マップと次元数が一致する統合データを生成する統合部と、前記統合データに対して分析処理を行う分析部と、を備える推論装置である。
【0013】
また、本発明の一態様は、1つ以上の変換パラメータを指定する変換パラメータ指定ステップと、入力データに対して、指定された前記変換パラメータの各々に基づく変換を行うことで変換データを生成する変換ステップと、前記変換データごとに、前記変換データの各々の特徴を示すデータである信頼度マップを生成する信頼度マップ生成ステップと、前記信頼度マップの各々に対して、指定された前記変換パラメータに基いて、前記変換データが生成された際に行われた前記変換に対する逆変換を行うことで逆変換データを生成する逆変換ステップと、前記逆変換データから基準となる逆変換された前記信頼度マップを選別し、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップとの差分を算出することで差分信頼度マップを生成する差分算出ステップと、
前記差分信頼度マップの各領域の値を周辺の領域の値を参照して補正することで補正差分信頼度マップを生成する差分補正ステップと、前記補正差分信頼度マップと、前記基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップと、に基づいて、前記補正差分信頼度マップの領域ごとに補正信頼度マップを生成する信頼度マップ補正ステップと、前記逆変換データの各々を統合する統合処理を行うことで、前記入力データの前記信頼度マップと次元数が一致する統合データを生成する統合ステップと、前記統合データに対して分析処理を行う分析ステップと、を実行させるためのプログラムである。
【発明の効果】
【0014】
本発明によれば、画像における未知の劣化に対して頑健な画像分割を行うことを可能にする。
【図面の簡単な説明】
【0015】
【
図1】本発明の一実施形態における推論装置の構成を示すブロック図である。
【
図2】本発明の一実施形態における推論装置において採用されている手法の概要を示す図である。
【
図3】低解像度と高解像度の分割結果における、長所と短所を示す図である。
【
図4】本発明の一実施形態における差分算出部と差分補正部の概要を示した図である。
【
図5】本発明の一実施形態における信頼度マップ補正部の概要を示した図である。
【
図6】本発明の一実施形態における推論装置が行う処理の流れを示すフローチャートである。
【
図7】本発明の一実施形態における条件選定装置の構成を示すブロック図である。
【
図8】本発明の一実施形態における条件選定装置が行う処理の流れを示すフローチャートである。
【
図9】画像劣化がある画像データに対するセマンティックセグメンテーションを適用するための一般的なアプローチの概要を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の一実施形態における推論方法、推論装置及びプログラムについて、図面を参照しながら説明する。
【0017】
図1は、本発明の一実施形態における推論装置1の構成を示すブロック図である。
図2は、
図1に示される実施形態による推論装置1において採用される手法の概要を示す図である。
図2に示される画像データ100-1は、例えば、ビデオ監視や自動運転などのアプリケーションから得られるセマンティックセグメンテーションの認識対象となる画像データである。ここで、画像データ100-1には、未知の画像劣化が生じているとする。推論装置1において採用される手法は、以下の[1]及び[2]の2つの技術的な根拠に基づいている。
【0018】
[1]画像データ100-1に対して、例えば、縮小の画像変換をすることにより得られる低解像度の画像データ100-2,…,100-Nは、細かいテクスチャなどのパターンが消失する代わりに、JPEG(Joint Photographic Experts Group)圧縮やボケなどの画像劣化も縮小される。そのため、低解像度の画像データ100-2,…,100-Nは、画像劣化が軽減された画像データになる。
【0019】
[2]セマンティックセグメンテーションのアルゴリズムは、低解像度の画像データ100-2,…,100-Nに対しても有効である。言い換えると、画像劣化のない低解像度の画像データと、画像劣化のない高解像度の画像データとにおいて、セマンティックセグメンテーションの精度は、それほど大きな違いがない。
【0020】
上記の[1]及び[2]の2つの技術的な根拠に基づいて推論装置1において採用される手法は、例えば、画像劣化を含む画像データ100-1に対するセマンティックセグメンテーションを以下のようにして行う。画像データ100-1に対して、任意に定める画像変換を行って、画像データ100-2,…,100-Nを得る。例えば、SegNetやU-Netなどのエンコーダ・デコーダ型のセマンティックセグメンテーションのニューラルネットワークであって学習済みのニューラルネットワークのエンコーダの部分と、デコーダの部分とを分離する。画像データ100-1,100-2,…,100-Nの各々を、エンコーダ部分のニューラルネットワークに与えることによりダウンサンプリングを行って、各々に対応する信頼度マップ110-1,110-2,…,110-Nを得る。
【0021】
ここで、信頼度マップとは、いわゆる特徴マップと呼ばれるデータであり、画像データ100-1,100-2,…,100-Nに含まれている特徴を示すデータである。信頼度マップの各要素の値、すなわち、特徴量を示す値は、ロジットとよばれており、ロジットの値に基づいて、元の画像データの画素ごとに最も信頼性が高いクラスが、その画素に該当するクラスとして割り当てられることになる。ここで、画素ごとの最も信頼性が高いクラスとは、例えば、画素の各々に対応するロジットの値が最大であるクラス、または、ロジットの値を正規化した値が最大であるクラスのことである。クラスとは、例えば、画像データ100-1,100-2,…,100-Nの各々に含まれている「人」、「車」などの物体の種類のことである。
【0022】
推論装置1は、信頼度マップ110-2,…,110-Nの各々に対して、各々に対応する画像データ100-2,…,100-Nが得られた際に行われた画像変換に対応する逆変換を行う。信頼度マップ110-1と、逆変換された信頼度マップ110-2,…,110-Nとを統合して統合データを生成する。このように信頼度マップ110-1,…,110-Nを統合する手法は、いわゆる機械学習におけるアンサンブルと呼ばれる手法に相当する。デコーダ部分のニューラルネットワークに、生成した統合データを与えることによりアップサンプリングを行って、セマンティックセグメンテーションの結果である画像データ150を取得する。なお、分離したエンコーダ部分のニューラルネットワーク、及びデコーダ部分のニューラルネットワークは、ニューロンに適用される係数、すなわち、重みやバイアスの値が学習済みの状態で固定された状態で用いられる。以下、係数が学習済みの状態で固定されている状態を、「係数凍結」ともいう。
【0023】
以下、推論装置1が備える各機能部について説明する前に、各機能部の説明において用いる変数や関数の意味について説明する。ビデオ監視や自動運転などのアプリケーションから得られる画像データであって推論装置1の入力となるデータ(以下「入力データ」という)を次式(1)の記号により表す。以下、本文において、次式(1)の記号を示す場合、ベクトルxと記載する。
【0024】
【0025】
入力データが、例えば、RGBのカラーの画像データである場合、画素ごとの赤色、緑色、青色の各々の画素値を示す3チャンネルのチャンネル方向が存在することになる。この場合、ベクトルxは、縦方向と、横方向と、チャンネル方向とを有する3次元のデータになる。ベクトルxから信頼度マップを算出するバックボーンのニューラルネットワークによる演算を次式(2)に示される関数S(・)で表す。
【0026】
【0027】
関数S(・)の演算を行うニューラルネットワークは、学習済みのニューラルネットワークであり、係数凍結の状態で用いられる。関数S(・)の演算を行うニューラルネットワークの具体例としては、例えば、上記したSegNet及びU-Netなどのエンコーダ・デコーダ型のセマンティックセグメンテーションのニューラルネットワークのエンコーダの部分のニューラルネットワークや、FCN(Fully Convolutional Network)などがある。
【0028】
ベクトルxに対して関数S(・)を適用することにより得られる信頼度マップを、次式(3)において示される左から1つめの記号であるベクトルp、または、左から2つ目の記号であるpchwとして表す。なお、pchwの添え字のcはチャンネル方向のインデックスであり、hは縦方向のインデックスであり、wは横方向のインデックスである。すなわち、信頼度マップを示すベクトルpは、3次元のデータである。したがって、1組のc,h,wの値を定めることにより、ベクトルpのc,h,wの位置の1つの特徴量が特定されることになる。
【0029】
【0030】
信頼度マップであるベクトルpからベクトルxの画素ごとのクラスを割り当てる演算を次式(4)に示される関数g(・)で表す。
【0031】
【0032】
関数g(・)の演算を行うニューラルネットワークは、関数S(・)のニューラルネットワークと同様に、学習済みのニューラルネットワークであり、係数凍結の状態で用いられる。関数g(・)の演算を行うニューラルネットワークの具体例としては、例えば、上記したSegNet及びU-Netなどのエンコーダ・デコーダ型のセマンティックセグメンテーションのニューラルネットワークのデコーダの部分のニューラルネットワークや、ベクトルpのサイズを、元の入力データであるベクトルxのサイズに戻すアップサンプリングを行うニューラルネットワークなどがある。
【0033】
セマンティックセグメンテーションの結果、すなわち、ベクトルxに対して関数S(・)を適用し、更に、関数S(・)の結果に対して関数g(・)を適用して得られる認識結果データを、次式(5)の左辺の記号により表す。以下、本文では、次式(5)の左辺のサーカムフレックス付きのベクトルyを「ベクトル^y」として記載する。
【0034】
【0035】
(実施形態の推論装置の構成)
図1に示されるように、推論装置1は、変換統合条件記憶部10、変換パラメータ指定部11、データ取込部12、変換部13、信頼度マップ生成部14、逆変換部15、差分算出部16、差分補正部17、信頼度マップ補正部18、統合部19、分析部20、及び出力部21を備える。変換統合条件記憶部10は、予め選定されるN個の変換パラメータと、予め選定される1つの統合演算式とを予め記憶する。ここで、Nは、2以上の整数である。変換統合条件記憶部10が記憶する変換パラメータの集合は、次式(6)によって表される。
【0036】
【0037】
式(6)のξ
1,…,ξ
n,…,ξ
Nの各々が、個々の変換パラメータを示す記号であり、「{・}」は集合を表す記号である。ここで、nは、1~Nの中の任意の整数である。以下、変換パラメータξ
nと記載する場合、いずれか1つの任意の変換パラメータを示すものとする。変換パラメータξ
1は、画像変換を行わない変換パラメータである。
図2に示したように、元の入力データである画像データ100-1は、画像変換が行われることなく、関数S(・)が適用され、関数S(・)を適用して得られる信頼度マップ110-1が統合の対象になる。そのため、変換統合条件記憶部10に記憶される変換パラメータξ
1,…,ξ
n,…,ξ
Nには、変換を行わない変換パラメータが1つ含まれている必要がある。そのため、ここでは、変換パラメータξ
1を、画像変換を行わない変換パラメータとしている。
【0038】
N=2以上の変換パラメータξ2~ξNは、画像変換を行う変換パラメータである。変換パラメータξ2~ξNは、上記した縮小の画像変換以外の変換、例えば、拡大、回転、アフィン変換、射影変換などの線形変換、Bスプライン補間を用いた非線形変換などの幾何学的な画像変換などの変換を示す変換パラメータであってもよい。また、変換パラメータξ2~ξNは、色調や色温度の変換のような光学的な画像変換を示す変換パラメータであってもよい。また、変換パラメータξ2~ξNは、ノイズの除去や付与、ボケの除去や付与などの画像の品質(以下「画質」という)の向上や、画質の劣化に関する画像変換を示すパラメータであってもよい。
【0039】
ここで、ノイズとは、一般的な白色ノイズに限られるものではなく、圧縮ノイズ、誤った認識を引き起こすような敵対的ノイズなどであってもよい。なお、変換パラメータξ2~ξNの各々には、画像変換の種類を示すデータが含まれていると共に、変換の比率、例えば、縮小の画像変換であれば、縮小の比率を示す変数が含まれている。例えば、変換パラメータξnが、2次元の回転の画像変換を示す変換パラメータである場合、1変数が含まれることになる。変換パラメータξnが、アフィン変換を示す変換パラメータである場合、6変数が含まれることになる。
【0040】
なお、縮小の画像変換のように画像劣化の影響を軽減させる画像変換を示す変換パラメータ以外に、画像劣化を加えるような画像変換を示す変換パラメータが含まれてもよいとしている理由は、以下のようなことを想定しているためである。既存のセマンティックセグメンテーション、または、将来提案されるセマンティックセグメンテーションのニューラルネットワークが、画像劣化を増加させる画像変換に対して頑健であるとする。この場合、画像劣化を増加させる画像変換を付加する方が、結果的に、セマンティックセグメンテーションの認識結果として、精度の高い認識結果が得られることが想定されるためである。
【0041】
変換パラメータ指定部11は、変換部13と、逆変換部15とが用いる変換パラメータを指定する。より詳細には、変換パラメータ指定部11は、変換統合条件記憶部10に記憶されているN個の変換パラメータξ1~ξNを読み出し、読み出した変換パラメータξ1~ξNを1つずつ変換部13と、逆変換部15とに出力することにより、変換パラメータの指定を行う。データ取込部12は、外部から与えられる認識対象である画像データである入力データを取り込み、取り込まれた入力データを変換部13に出力する。
【0042】
変換部13は、データ取込部12が出力する入力データに対して、変換パラメータ指定部11が出力するN個の変換パラメータξ1~ξNの各々に基づいて次式(7)で表される画像変換を行う。
【0043】
【0044】
式(7)において、右辺のD(・;ξn)は、引数として与えられる画像データに対して、変換パラメータξnに基づく画像変換の演算を行う変換関数である。式(7)の左辺のチルダ付きのベクトルxn(以下、本文ではベクトル~xnと記載する。)は、変換パラメータξnに基づく画像変換が行われたベクトルxを示している。以下、ベクトル~xnを変換データという。変換部13が画像変換により生成するN個の変換データの集合は、次式(8)で表される。
【0045】
【0046】
上記したように変換パラメータξ1は、画像変換を行わない変換パラメータであるため、式(8)において、ベクトル~x1と、ベクトルx1とは同一のデータである。
【0047】
信頼度マップ生成部14は、式(8)の変換データの集合に含まれているN個の変換データの各々に対して、式(2)に示される関数S(・)を適用して、次式(9)に示されるようにN個の信頼度マップであるベクトル~p1,…,~pn,…~pNを生成する。
【0048】
【0049】
逆変換部15は、変換パラメータ指定部11が出力するN個の変換パラメータξ1~ξNの各々に基づいて、信頼度マップ生成部14が生成したN個の信頼度マップの各々に対して、各々に対応する変換データが生成された際に行われた画像変換に対応する逆変換を行う。例えば、n番目の変換パラメータξnによる画像変換が、θ°回転させる回転の画像変換である場合、逆変換部15は、n番目の信頼度マップに対して、-θ°回転させる画像変換を行うことにより逆変換を行う。逆変換部15が行う逆変換は、次式(10)で表される。
【0050】
【0051】
式(10)において、右辺のU(・;ξn)は、引数として与えられる信頼度マップに対して、変換パラメータξnに基づく画像変換に対応する逆変換の演算を行う変換関数である。式(10)の左辺のベクトルpnは、逆変換部15が、変換パラメータξnに基づいてn番目の信頼度マップであるベクトル~pnを逆変換して得られるデータである。以下、ベクトルpnを逆変換データという。
【0052】
なお、以下で説明する統合部19がN個の逆変換データを統合する際に、統合部19がN個の逆変換データの各々において空間的に同一の位置の特徴量を比較できるようにする必要がある。ここで、「空間的に同一の位置」とは、以下のような位置である。N個の逆変換データは、ベクトルx1に基づいて生成されるデータである。そのため、例えば、ベクトルx1において(c,h,w)が(1,1,1)の位置に対応する位置が、N個の逆変換データの各々において存在することになる。言い換えると、N個の逆変換データの各々の位置は、ベクトルx1のいずれかの1点に対応していることになり、ベクトルx1において対応する位置が同一になるN個の逆変換データの位置が、空間的に同一の位置ということになる。
【0053】
したがって、逆変換部15は、統合部19がN個の逆変換データの各々において空間的に同一の位置の特徴量を比較できるようにするため、N個の逆変換後のデータの同一のc,h,wによって示される位置が、空間的に同一の位置になるように位置合わせの処理を行ってN個の逆変換データを生成する。逆変換部15が生成するN個の逆変換データの集合は、次式(11)で表される。
【0054】
【0055】
差分算出部16は、前記逆変換データから、ある基準となる逆変換された信頼度マップを選別し、その基準となる逆変換された信頼度マップと各々の逆変換された信頼度マップとの差分を算出し、差分信頼度マップを生成する。あるいは、差分算出部16は、ある基準となる逆変換された信頼度マップを選別し、その基準となる逆変換された信頼度マップと各々の逆変換された信頼度マップとの差分を算出し、さらにそれらの信頼度マップから画素ごと(位置座標ごと)に最大値を算出し、これを差分信頼度マップとしてもよい。
【0056】
この差分算出部16で得られた差分信頼度マップの効果を説明する前に、
図3を用いて、大きい程度で画像を縮小させて低解像画像から画像分割を行った場合と、小さい程度で画像縮小をさせた高解像画像から画像分割を行った場合における画像分割結果の違いについて説明する。
【0057】
低解像画像を用いて画像分割を行った場合、長所として、劣化の種類にかかわらず同じ分割結果になりやすく、大きな物体の分割結果は正しい結果となりやすい(
図3の501)。しかしながら、低解像画像を用いて画像分割を行った場合、短所として、小さい物体の分割結果がつぶれやすい(
図3の502では人(黄色)が未検出)。一方、高解像画像を用いて画像分割を行った場合、長所として、小さい物体の分割結果でも正しく推論される可能性がより高くなる(
図3の503では人が正しく推論されている)。しかしながら、高解像画像を用いて画像分割を行った場合、短所として、大きな物体の分割結果が大きく誤る可能性がより高くなる(
図3の504では歩道が正しく検出差されていない)。
【0058】
そこで、本発明では、
図4に示されるように、高解像度画像の画像分割結果の長所と、低解像画像の画像分割結果の長所を統合することを目的としている。そのために、差分算出部16では、例えば低解像画像における画像分割結果に対応する信頼度マップを、ある基準となる逆変換された信頼度マップとして選別し、その基準となる逆変換された信頼度マップと、各々の逆変換された信頼度マップ(例えば高解像度画像の分割結果に対応する信頼度マップ)との差分を算出し、差分信頼度マップを生成する。
【0059】
この差分信頼度マップは、
図4の600に示されるように、高解像画像の分割結果において大きく誤っている箇所(すなわち高解像画像分割結果における短所)と、
図4の602に示されるように高解像画像分割結果において小領域であるが正しく分割されている箇所(すなわち高解像画像分割結果における長所)において差分が大きく出る。そこで、後述する差分補正部17と信頼度マップ補正部18により、高解像画像に対応する信頼度マップにおいて、これらの差分領域のうち、
図4に示される600の部分のみを補正することで、高解像画像に対応する信頼度マップの精度を改善する。
【0060】
差分補正部17は、差分信頼度マップの各領域の値を、その周辺の領域の値を参照して補正し、補正差分信頼度マップを生成する。より具体的には、差分補正部17では、周辺画素の値を参照し、領域縮小処理と領域膨張処理を行うことで、小さい差分領域(たとえば602)における差分信頼度マップを消しつつ、大きい差分領域(たとえば600)における差分信頼度マップを保存する。
【0061】
例えば、ここでいう領域縮小処理として、局所領域ごとに極小値を取る操作を行うようにすればよい。また、ここでいう局所領域ごとに極小値を取る操作とは、例えば、予め決められた領域内の画素の値に対して、その領域内の画素がもつ値の最小値を求めて、当該領域内の画素に対して求めた最小値を割り当てることである。また、例えば、ここでいう領域膨張処理として、局所領域ごとに極大値を取る操作を行うようにすればよい。また、ここでいう局所領域ごとに極大値を取る操作とは、予め決められた領域内の画素の値に対して、その領域内の画素がもつ値の最大値を求めて、当該領域内の画素に対して求めた最大値を割り当てることである。
【0062】
このように領域縮小処理と領域拡大処理を行うことで、
図4に示される601のように、大きな差分領域を保存しつつ、
図4に示される603のように小さな差分領域を消去することができる。
【0063】
信頼度マップ補正部18は、補正差分信頼度マップと、ある基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップとから、前記補正差分信頼度マップの領域ごとに補正信頼度マップを生成する。
図5に示されるように、より具体的には、補正後の差分信頼度マップの値が大きな領域は、低解像度画像(縮小率大)の信頼度マップ(すなわち基準となる信頼度マップ)の値により近い値とする。一方で、補正後の差分信頼度マップの値が小さな領域は、高解像度画像(縮小率小)の信頼度マップ(すなわち基準となる信頼度マップ)の値により近い値とする。
【0064】
これは例えば、基準となる信頼度マップをpiとし、高解像度画像の信頼度マップをpjとし、この高解像度画像に対応する差分信頼度マップをSiとする。そして、補正された信頼度マップは、以下のように与えればよい。
【0065】
【0066】
ここで、←は、新たに右辺の値を、左辺に与えることを意味する。また、*は空間座標に関する行列の要素毎の掛け算を示している。また、σ(・)は、ゼロから1までの値をとる単調増加関数であり、例えば、シグモイド関数、ヘビサイド関数、あるいはハイパボリックタンジェント関数などの活性化関数を用いればよい。
【0067】
統合部19は、変換統合条件記憶部10に記憶されている予め選定された1つの統合演算式に基づいて、式(11)の逆変換データの集合に含まれているN個の逆変換データを統合する。統合部19が行う統合処理は、連結演算子([・])を用いて、次式(13)で表される。
【0068】
【0069】
式(13)の左辺は、統合部19がN個の逆変換データを統合することにより生成する統合データを示す記号であり、以下、本文では、統合データをベクトル^pと記載する。統合部19は、統合処理により生成する統合データ(すなわち、ベクトル^p)の次元数が、入力データであるベクトルxに対して式(2)に示される関数S(・)を適用して得られる信頼度マップ(すなわち、式(3)のベクトルp)と同一の次元数になるように統合処理を行う。ここでいう同一の次元数とは、c×h×wで示されるデータのサイズが一致していることをいい、より具体的には、式(3)のベクトルpが、例えば、8×256×256のサイズである場合、統合データであるベクトル^pのサイズも8×256×256になっていることをいう。
【0070】
式(13)の連結演算子は、単に、N個の逆変換データの各々におけるc,h,wが同一である位置のN個の特徴量を連結、すなわち、N個の特徴量を合計した値を、当該位置における統合データの特徴量とする統合処理の演算を行う統合演算式であってもよい。式(13)の連結演算子は、以下に示されるような統合演算式のいずれかであってもよい。
【0071】
例えば、式(13)の連結演算子は、次式(14)~(18)で表される5個の統合演算式であってもよい。次式(14)で表される統合演算式は、N個の逆変換データの各々において、c,h,wが同一である位置のN個の特徴量の中で最大値である特徴量を、当該位置における統合データの特徴量とするように統合処理を行う統合演算式である。
【0072】
【0073】
次式(15)で表される統合演算式は、N個の逆変換データの各々において、c,h,wが同一である位置のN個の特徴量の平均値を、当該位置における統合データの特徴量とするように統合処理を行う統合演算式である。
【0074】
【0075】
次式(16)で表される統合演算式は、N個の逆変換データの各々において、c,h,wが同一である位置のN個の特徴量に対して、N個の逆変換データごとに予め値が定められている重みwnを乗算して得られた乗算値の中で最大の乗算値を、当該位置における統合データの特徴量とするように統合処理を行う統合演算式である。当該最大の乗算値は、重み付き最大値と呼ばれる値でもある。
【0076】
【0077】
次式(17)で表される統合演算式は、N個の逆変換データの各々において、c,h,wが同一である位置のN個の特徴量に対して、N個の逆変換データごとに予め定められる重みwnの値を乗算して得られた乗算値を、N個の重みwnの値の合計値で除算することにより得られる除算値を、当該位置における統合データの特徴量とするように統合処理を行う統合演算式である。当該除算値は、重み付き平均値、または、加重平均値と呼ばれる値でもある。
【0078】
【0079】
次式(18)で表される統合演算式は、N個の逆変換データの各々において、c,h,wが同一である位置のN個の特徴量を大きい方から順に並べた場合に、上位k個の平均値を、当該位置における統合データの特徴量とするように統合処理を行う統合演算式である。
【0080】
【0081】
式(18)の統合演算式は、より詳細には、次式(19)により表される。
【0082】
【0083】
式(19)におけるφ(k)
nchwは、次式(20)によって定義される。
【0084】
【0085】
式(20)において、関数R(・)は、引数として与えられた値の順位を返り値として出力する関数である。例えば、逆変換データであるベクトルp1~pNにおいて、n番目のベクトルpnのある1点の特徴量であるpnchwが、関数R(・)の引数として適用されたとする。この場合、関数R(・)は、引数のpnchwとc,h,wが同一であるN個のp1chw~pNchwの特徴量を大きい順に並べた場合に、引数のpnchwの順位を返り値として出力する。kの値は、1~Nの間の整数値であって、予め定められる整数値である。k=1の場合、式(18)は、式(14)、すなわち、最大値を選択する統合処理を行う統合演算式と同一の式になり、k=Nの場合、式(18)は、式(15)、すなわち、平均値を選択する統合処理を行う統合演算式と同一の式になる。
【0086】
式(13)の連結演算子は、以下のような統合演算式であってもよい。例えば、N個の逆変換データの各々において、c,h,wが同一である位置のN個の特徴量の中の中央値の特徴量を、当該位置における統合データの特徴量とするように統合処理を行う統合演算式であってもよい。N個の逆変換データの各々において、c,h,wが同一である位置のN個の特徴量に対して、N個の逆変換データごとに予め値が定められている重みwnの値を乗算して得られた乗算値の中の中央値の乗算値を、当該位置における統合データの特徴量とするように統合処理を行う統合演算式であってもよい。当該乗算値は、重み付き中央値と呼ばれる値でもある。
【0087】
式(13)の連結演算子は、以下のような統合演算式であってもよい。統合データのある1つの位置をc1,h1,w1とした場合、c1,h1,w1の位置の特徴量を統合演算式によって求める際に、N個の逆変換データの各々におけるc1,h1,w1の位置の特徴量のみを対象とするのではなく、c1,h1,w1の位置の近傍の位置の特徴量を含めて、上記の式(14)~式(17)に示される統合演算式を適用した統合処理を行うようにしてもよい。
【0088】
この場合において、近傍を考慮する変換パラメータの種類を予め定めておき、予め定めた変換パラメータの種類に対応する逆変換データについては、近傍の特徴量を含めるようにし、予め定めた変換パラメータの種類以外の種類に対応する逆変換データについては、近傍の特徴量を含めないようにしてもよい。式(16)、または、式(17)に示される統合演算式を適用する場合、予め定めた変換パラメータの種類に対応する逆変換データについては、近傍の特徴量を含めた上で、重みwnの値を大きくするようにし、予め定めた変換パラメータの種類以外の種類に対応する逆変換データについては、近傍の特徴量を含めた上で、重みwnの値を小さくするようにしてもよい。
【0089】
ここで、「近傍の位置」とは、例えば、c1,h1,w1の位置を基準とした場合に、c1,h1,w1の位置に対して上下左右前後、及び斜め方向において隣接する26個の位置であってもよいし、c1,h1,w1の位置に対して上下左右前後で隣接する6個の位置であってもよいし、c1,h1,w1の位置を含む任意の範囲であって予め定められる範囲に含まれる位置であってもよい。
【0090】
上記した統合演算式を複数組み合わせた演算式を統合演算式としてもよい。例えば、統合部19が、式(14)に基づいて生成した統合データと、式(15)に基づいて生成した統合データとを、更に、式(14)に基づいて統合した結果を、最終的な統合データとしてもよい。
【0091】
分析部20は、統合部19がN個の逆変換データを統合することにより生成する統合データであるベクトル^pに対して、式(4)の関数g(・)を適用する処理を行う。式(4)の関数g(・)を適用する処理とは、認識処理であり、具体的には、セマンティックセグメンテーションのアルゴリズムにおいて行われる画像の領域をクラスごとに分割する画像分割処理である。分析部20による認識処理は、次式(21)で表される。
【0092】
【0093】
式(21)に示されるように、分析部20による認識処理により、認識結果データ(すなわち、セマンティックセグメンテーションの結果を示すデータ)であるベクトル^yが得られることになる。
【0094】
出力部21は、例えば、液晶ディスプレイなどの画面を備えた表示装置であってもよいし、半導体メモリやHDD(Hard Disk Drive)などの記憶装置であってもよい。出力部21が、表示装置である場合、分析部20が認識処理により生成した認識結果データであるベクトル^yを画面に表示する。出力部21が、記憶装置である場合、分析部20は、認識処理により生成した認識結果データであるベクトル^yを出力部21に書き込んで記憶させる。
【0095】
(実施形態の推論装置による処理)
図6は、本発明の一実施形態における推論装置1による処理の流れを示すフローチャートである。推論装置1が起動すると、変換パラメータ指定部11は、変換統合条件記憶部10に予め記憶されているN個の変換パラメータξ
1~ξ
Nを読み出し、読み出された変換パラメータξ
1~ξ
Nを、内部の記憶領域に書き込んで記憶させる(ステップSa1)。統合部19は、変換統合条件記憶部10に予め記憶されている1つの統合演算式を読み出し、読み出された統合演算式を、内部の記憶領域に書き込んで記憶させる(ステップSa2)。データ取込部12は、外部から与えられる認識対象の画像データである入力データを取り込み、取り込まれた入力データを変換部13に出力する(ステップSa3)。
【0096】
変換パラメータ指定部11は、内部の記憶領域に記憶されている変換パラメータξ
1~ξ
Nの中からいずれか1つの変換パラメータξ
nを選択して読み出す。変換パラメータ指定部11は、読み出した変換パラメータξ
nを、変換部13と逆変換部15とに出力する。これにより、
図6に示される、最初の、La1sからLa1eまでのループ処理が開始される。
【0097】
変換部13は、データ取込部12が出力する入力データと、変換パラメータ指定部11が出力する変換パラメータξnとを取り込む。変換部13は、取り込まれた入力データであるベクトルxに対して、取り込まれた変換パラメータξnに基づいて、式(7)で表される画像変換を行って変換データを生成する。変換部13は、生成された変換データ(すなわちベクトル~xn)を、信頼度マップ生成部14に出力する(ステップSa4)。
【0098】
信頼度マップ生成部14は、変換部13が出力する変換データであるベクトル~xnを取り込み、取り込まれたベクトル~xnに対して、式(2)に示される関数S(・)を適用して信頼度マップを生成する。信頼度マップ生成部14は、生成された信頼度マップであるベクトル~pnを、逆変換部15に出力する(ステップSa5)。
【0099】
逆変換部15は、信頼度マップ生成部14から出力された信頼度マップと、変換パラメータ指定部11から出力された変換パラメータξnとを取り込む。逆変換部15は、取り込まれた信頼度マップであるベクトル~pnに対して、取り込まれた変換パラメータξnに基づいて、式(10)で表される逆変換(すなわち、変換部13が変換パラメータξnに基づいて行った画像変換に対応する逆変換)を行って、逆変換データを生成する。逆変換部15は、生成された逆変換データ(すなわち、ベクトルpn)を、統合部19に出力する(ステップSa6)。
【0100】
差分算出部16は、逆変換データから差分信頼度を算出する(ステップSa7)。より具体的には、差分算出部16は、前記逆変換データから、ある基準となる逆変換された信頼度マップを選別し、その基準となる逆変換された信頼度マップとステップSa6において生成された逆変換データとの差分を算出し、差分信頼度マップを生成する。
【0101】
差分補正部17は、差分信頼度を補正する(ステップSa8)。より具体的には、差分補正部17は、差分信頼度マップの各領域の値を、その周辺の領域の値を参照して補正し、補正差分信頼度マップを生成する。
【0102】
信頼度マップ補正部18は、逆変換データから差分信頼度を算出する(ステップSa9)。より具体的には、信頼度マップ補正部18は、ステップSa8において生成された補正差分信頼度マップと、ある基準となる逆変換された信頼度マップと、ステップSa6において生成された逆変換データとから、前記補正差分信頼度マップの領域ごとに補正信頼度マップを生成する。
【0103】
変換パラメータ指定部11は、内部の記憶領域に記憶されている変換パラメータξ1~ξNの中から未選択のいずれか1つの変換パラメータξn(すなわち、変換部13及び逆変換部15に出力していない、いずれか1つの変換パラメータξn)を選択することを繰り返し行う。これにより、変換パラメータξ1~ξNの各々に対応するステップSa4からSa6までの処理が繰り返し行われることになる(La1sからLa1eまでのループ処理)。
【0104】
この場合において、変換パラメータ指定部11が変換部13に出力する変換パラメータξnが、画像変換を行わないことを示す変換パラメータξ1である場合、変換部13と逆変換部15とは、以下の処理を行うことになる。ステップSa4の処理において、変換部13は、データ取込部12から取り込まれた入力データであるベクトルxを、画像変換することなくベクトル~x1として、信頼度マップ生成部14に出力する。また、ステップSa6の処理において、逆変換部15は、信頼度マップ生成部14が出力する信頼度マップであるベクトル~p1を、逆変換することなくベクトルp1として、統合部19に出力する。
【0105】
統合部19は、変換統合条件記憶部10を参照して、変換パラメータξ1~ξNの個数である「N」を検出する。統合部19は、La1sからLa1までのループ処理の間に、逆変換部15が出力する逆変換データであるベクトルpnを繰り返し取り込む。統合部19は、取り込まれたベクトルpnの個数がN個に一致しない間は、ベクトルpnの取り込みを継続する。一方、統合部19は、取り込まれたベクトルpnの個数がN個に一致した場合、内部の記憶領域に記憶されている統合演算式に基づいて、N個のベクトルpnを統合して統合データを生成する。統合部19は、生成した統合データ(すなわち、ベクトル^p)を、分析部20に出力する(ステップSa10)。
【0106】
分析部20は、統合部19が出力する統合データであるベクトル^pを取り込む。分析部20は、取り込まれたベクトル^pに対して、式(4)に示される関数g(・)を適用して、式(21)に示される認識処理を行い、認識結果データを生成する。分析部20は、認識結果データであるベクトル^yを、出力部21に出力する(ステップSa11)。
【0107】
出力部21は、分析部20から出力された認識結果データであるベクトル^yを取り込む。上記したように、出力部21が表示装置である場合、出力部21は、取り込まれた認識結果データであるベクトル^yを、画面に表示する。また、出力部21が記憶装置である場合、出力部21は、取り込んまれた認識結果データであるベクトル^yを記憶する(ステップSa12)。これにより、1つの入力データに対して推論装置1が行う推論処理が終了する。データ取込部12に次の入力データが与えられた場合、再び、ステップSa3からSa9までの処理が行われることになる。
【0108】
(実施形態の条件選定装置の構成)
上記した推論装置1において、精度の高い認識結果が得られるようにするためには、変換統合条件記憶部10に予め記憶させておく複数の変換パラメータと、1つの統合演算式との組み合わせが、入力データに生じている画像劣化に対して最適な組み合わせになるように選定されている必要がある。以下に説明する
図7に示される条件選定装置2は、この最適な組み合わせを選定する装置である。
【0109】
上記した推論装置1のデータ取込部12に与えられる入力データは、例えば、ビデオ監視や自動運転などのアプリケーションであって特定のアプリケーションから得られる時系列に並んだ複数の画像データであることを想定している。当該特定のアプリケーションは、例えば、特定のカメラによって一定の時間間隔で撮影された複数の画像データを取得する。取得された複数の画像データは、同一のカメラによって撮影され、かつ、同一のアプリケーションによって取得された画像データであることから、取得された複数の画像データの各々には、共通する画像劣化が生じることになる。ここでは、複数の画像データの各々に生じている画像劣化は、未知の画像劣化ではあるが、複数の画像データぶにおいて共通する画像劣化であり、人が目視することにより画像データの画素ごとのクラスを判別することができる程度の画像劣化であるものとする。
【0110】
図7は、本発明の一実施形態における条件選定装置2の構成を示すブロック図である。
図7に示される条件選定装置2において、
図1に示される推論装置1の構成と同様の構成については、同一の符号を付し、説明を省略することがある。
図7に示されるように、条件選定装置2は、変換統合条件記憶部10、変換パラメータ指定部11a、変換部13、信頼度マップ生成部14、逆変換部15、差分算出部16、差分補正部17、信頼度マップ補正部18、統合部19a、分析部20、訓練データ記憶部22、データ読出部23、統合演算式選定部24、及び処理結果記憶部25を備える。
【0111】
訓練データ記憶部22は、複数の訓練データを予め記憶する。上記したように特定のアプリケーションから得られる時系列に並んだ複数の画像データの各々は、未知の画像劣化を含んでいるものの、当該画像劣化は、人が目視することにより画像データの画素ごとのクラスを判別することができる程度の画像劣化である。そこで、特定のアプリケーションから得られた複数の画像データ(すなわち、複数の入力データ)が全て推論装置1に与えるデータとされるのではなく、一部の入力データが、条件選定装置2に適用するための訓練用のデータとして選択される。そして、選択された複数の訓練用の入力データの各々に対応する画素ごとのクラスを示す正解データが生成される。生成された正解データの各々は、各々に対応する訓練用の入力データに関連付けられて、複数の訓練データとされる。すなわち、1つの訓練データには、1つの訓練用の入力データと、当該訓練用の入力データに対応する1つの正解データとが含まれる。
【0112】
このようにして生成した複数の訓練データが、訓練データ記憶部22に予め記憶されている。ここで、1つの訓練用の入力データであるベクトルxに対応する正解データを、次式(22)に示される記号で表し、以下、本文では、式(22)の記号をベクトルyと記載する。
【0113】
【0114】
データ読出部23は、開始指示信号、または、継続指示信号を取得するごとに、訓練データ記憶部22から訓練データを1つ読み出す。データ読出部23は、訓練データ記憶部22から訓練データを読み出すことができない場合、終了指示信号を統合演算式選定部24に出力する。データ読出部23は、訓練データ記憶部22から訓練データを読み出すことができた場合、変換パラメータ指定部11aに開始指示信号を出力する。データ読出部23は、読み出した1つの訓練データに含まれている訓練用の入力データを変換部13に出力し、当該訓練データに含まれている正解データを統合演算式選定部24に出力する。
【0115】
変換パラメータ指定部11aは、外部から与えられる画像変換を示すN個の変換パラメータξ1~ξNを取り込む。変換パラメータ指定部11aは、開始指示信号を取得すると、取り込まれたN個の変換パラメータξ1~ξNの中から1つの変換パラメータξnを選択する。変換パラメータ指定部11aは、選択された変換パラメータξnを、変換部13と逆変換部15とに出力して、変換部13と逆変換部15とが用いる変換パラメータξnを指定する。
【0116】
差分算出部16は、前記逆変換データから、ある基準となる逆変換された信頼度マップを選別し、その基準となる逆変換された信頼度マップと各々の逆変換された信頼度マップとの差分を算出し、差分信頼度マップを生成する。あるいは、差分算出部16は、ある基準となる逆変換された信頼度マップを選別し、その基準となる逆変換された信頼度マップと各々の逆変換された信頼度マップとの差分を算出し、さらにそれらの信頼度マップから画素ごと(位置座標ごと)に最大値を算出し、これを差分信頼度マップとするようにしてもよい。
【0117】
この差分算出部16で得られた差分信頼度マップの効果を説明する前に、
図3を用いて、大きい程度で画像を縮小させて低解像画像から画像分割を行った場合と、小さい程度で画像縮小をさせた高解像画像から画像分割を行った場合における画像分割結果の違いについて説明する。
【0118】
低解像画像を用いて画像分割を行った場合、長所として、劣化の種類にかかわらず同じ分割結果になりやすく、大きな物体の分割結果は正しい結果となりやすい(
図3の501)。しかしながら、低解像画像を用いて画像分割を行った場合、短所として、小さい物体の分割結果がつぶれやすい(
図3の502では人(黄色)が未検出)。一方、高解像画像を用いて画像分割を行った場合、長所として、小さい物体の分割結果でも正しく推論される可能性がより高くなる(
図3の503では人が正しく推論されている)。しかしながら、高解像画像を用いて画像分割を行った場合、短所として、大きな物体の分割結果が大きく誤る可能性がより高くなる(
図3の504では歩道が正しく検出差されていない)。
【0119】
そこで、本発明では、
図4に示されるように、高解像度画像の画像分割結果の長所と、低解像画像の画像分割結果の長所を統合することを目的としている。そのために、差分算出部16では、例えば低解像画像における画像分割結果に対応する信頼度マップを、ある基準となる逆変換された信頼度マップとして選別し、その基準となる逆変換された信頼度マップと、各々の逆変換された信頼度マップ(例えば高解像度画像の分割結果に対応する信頼度マップ)との差分を算出し、差分信頼度マップを生成する。
【0120】
この差分信頼度マップは、
図4の600に示されるように、高解像画像の分割結果において大きく誤っている箇所(すなわち高解像画像分割結果における短所)と、
図4の602に示されるように高解像画像分割結果において小領域であるが正しく分割されている箇所(すなわち高解像画像分割結果における長所)において差分が大きく出る。そこで、後述する差分補正部17と信頼度マップ補正部18により、高解像画像に対応する信頼度マップにおいて、これらの差分領域のうち、
図4に示される600の部分のみを補正することで、高解像画像に対応する信頼度マップの精度を改善する。
【0121】
差分補正部17は、差分信頼度マップの各領域の値を、その周辺の領域の値を参照して補正し、補正差分信頼度マップを生成する。より具体的には、差分補正部17では、周辺画素の値を参照し、領域縮小処理と領域膨張処理を行うことで、小さい差分領域(たとえば602)における差分信頼度マップを消しつつ、大きい差分領域(たとえば600)における差分信頼度マップを保存する。
【0122】
例えば、ここでいう領域縮小処理として、局所領域ごとに極小値を取る操作を行うようにすればよい。また、ここでいう局所領域ごとに極小値を取る操作とは、例えば、予め決められた領域内の画素の値に対して、その領域内の画素がもつ値の最小値を求めて、当該領域内の画素に対して求めた最小値を割り当てることである。また、例えば、ここでいう領域膨張処理として、局所領域ごとに極大値を取る操作を行うようにすればよい。また、ここでいう局所領域ごとに極大値を取る操作とは、予め決められた領域内の画素の値に対して、その領域内の画素がもつ値の最大値を求めて、当該領域内の画素に対して求めた最大値を割り当てることである。
【0123】
このように領域縮小処理と領域拡大処理を行うことで、
図4に示される601のように、大きな差分領域を保存しつつ、
図4に示される603のように小さな差分領域を消去することができる。
【0124】
信頼度マップ補正部18は、補正差分信頼度マップと、ある基準となる逆変換された前記信頼度マップと各々の逆変換された前記信頼度マップとから、前記補正差分信頼度マップの領域ごとに補正信頼度マップを生成する。
図5に示されるように、より具体的には、補正後の差分信頼度マップの値が大きな領域は、低解像度画像(縮小率大)の信頼度マップ(すなわち基準となる信頼度マップ)の値により近い値とする。一方で、補正後の差分信頼度マップの値が小さな領域は、高解像度画像(縮小率小)の信頼度マップ(すなわち基準となる信頼度マップ)の値により近い値とする。
【0125】
これは例えば、基準となる信頼度マップをpiとし、高解像度画像の信頼度マップをpjとし、この高解像度画像に対応する差分信頼度マップをSiとする。そして、補正された信頼度マップは、以下のように与えればよい。
【0126】
【0127】
ここで、←は、新たに右辺の値を、左辺に与えることを意味する。また、*は空間座標に関する行列の要素毎の掛け算を示している。また、σ(・)は、ゼロから1までの値をとる単調増加関数であり、例えばシグモイド関数、ヘビサイド関数、あるいはハイパボリックタンジェント関数などの活性化関数を用いればよい。
【0128】
統合部19aは、外部から与えられるM個の統合演算式を取り込み、取り込まれたM個の統合演算式の各々に対応するM個の「統合演算式1」,…,「統合演算式M」のインデックスを生成する。ここで、Mは、2以上の整数である。統合部19aは、取り込まれたM個の統合演算式の各々に基づいて、式(11)の逆変換データの集合に含まれているN個の逆変換データを統合して統合データを生成する統合処理を行う。
【0129】
統合部19aは、統合処理に用いた統合演算式に対応するインデックスを、用いた順に1つずつ統合演算式選定部24に出力する。統合部19aは、生成した順に1つずつ統合データを分析部20に出力する。言い換えると、統合部19aは、ある1つの統合演算式に基づいて統合処理を行って統合データを生成すると、当該ある1つの統合演算式に対応するインデックスを統合演算式選定部24に出力するとともに、当該ある1つの統合演算式に基づいて生成した統合データを分析部20に出力する。
【0130】
統合演算式選定部24は、ある1つの訓練データに対して、M個の認識結果データが得られた場合、継続指示信号をデータ読出部23に出力する。統合演算式選定部24は、終了指示信号を取得すると、終了指示信号を取得するまでに得られた全ての認識結果データと、認識結果データの各々に対応する正解データとに基づいて、訓練データに含まれている入力データに生じている画像劣化に対する最適な1つの統合演算式を選定する。
【0131】
処理結果記憶部25は、データ読出部23が統合演算式選定部24に出力する正解データごとに、変換パラメータ指定部11aが統合演算式選定部24に出力するN個の変換パラメータと、分析部20が統合演算式選定部24に出力するM個の認識結果データとを関連付けて記憶する。条件選定装置2が備える変換統合条件記憶部10は、初期状態ではデータを記憶しておらず、統合演算式選定部24による選定の処理が終了した際に、複数の変換パラメータと、1つの統合演算式とを記憶する。複数の変換パラメータと、1つの統合演算式とを記憶した変換統合条件記憶部10が、
図1に示される推論装置1の変換統合条件記憶部10として用いられることになる。
【0132】
(実施形態の条件選定装置による処理)
図8は、本発明の一実施形態における条件選定装置2による処理の流れを示すフローチャートである。
図8に示されるフローチャートが開始される前提として、条件選定装置2の訓練データ記憶部22には、複数の訓練データが予め書き込まれているものとする。また、変換統合条件記憶部10と処理結果記憶部25とは、初期化され、データを記憶していない状態にされているものとする。
【0133】
条件選定装置2の変換パラメータ指定部11aは、外部から与えられるN個の変換パラメータξ1~ξNを取り込み、取り込まれたN個の変換パラメータξ1~ξNを、内部の記憶領域に書き込んで記憶させる(ステップSb1)。統合部19aは、外部から与えられるM個の統合演算式を取り込み、取り込まれたM個の統合演算式の各々に対応するM個の「統合演算式1」,…,「統合演算式M」のインデックスを生成する。統合部19aは、取り込まれたM個の統合演算式と、M個の統合演算式の各々に対応するM個の「統合演算式1」,…,「統合演算式M」のインデックスとを関連付けて、内部の記憶領域に書き込んで記憶させる。統合部19aは、生成したM個の「統合演算式1」,…,「統合演算式M」のインデックスを統合演算式選定部24に出力する。
【0134】
統合演算式選定部24は、M個の「統合演算式1」,…,「統合演算式M」のインデックスを取り込む。統合演算式選定部24は、処理結果記憶部25に、「正解データ」,「変換パラメータ」の項目と、取り込まれたM個の「統合演算式1」,…,「統合演算式M」のインデックスの各々に対応するM個の「統合演算式1」,…,「統合演算式M」の項目とを有するテーブルを生成する(ステップSb2)。
【0135】
データ読出部23が、外部から開始指示信号を取得すると(ステップSb3)、最初の、Lb1sからLb1eまでのループ処理が開始される。データ読出部23は、訓練データ記憶部22からいずれか1つの訓練データを読み出す。データ読出部23は、訓練データを読み出すと、開始指示信号を変換パラメータ指定部11aに出力する。データ読出部23は、読み出された訓練データに含まれている入力データを変換部13に出力する。変換部13は、データ読出部23が出力する入力データを取り込む。データ読出部23は、読み出された訓練データに含まれている正解データを統合演算式選定部24に出力する(ステップSb4)。
【0136】
統合演算式選定部24は、データ読出部23が出力する正解データを取り込む。以下、統合演算式選定部24が取り込まれた正解データであるベクトルyを、取り込まれた順番を示す番号を添え字に示してベクトルy1、ベクトルy2、…、として記載する。統合演算式選定部24は、最初の正解データであるベクトルy1を取り込むと、処理結果記憶部25のテーブルにレコードを1つ生成し、生成したレコードの「正解データ」の項目に、取り込まれたベクトルy1を書き込む。
【0137】
変換パラメータ指定部11aは、データ読出部23から開始指示信号を取得すると、内部の記憶領域からN個の変換パラメータξ1~ξNを読み出し、読み出されたN個の変換パラメータξ1~ξNを、統合演算式選定部24に出力する。統合演算式選定部24は、変換パラメータ指定部11aが出力するN個の変換パラメータξ1~ξNを取り込む。統合演算式選定部24は、取り込まれたN個の変換パラメータξ1~ξNを、処理結果記憶部25のテーブルにおいて、直近で生成したレコード(すなわち、「正解ラベル」の項目にベクトルy1が書き込まれているレコード)の「変換パラメータ」の項目に書き込む。変換パラメータ指定部11aは、内部の記憶領域に記憶されているN個の変換パラメータξ1~ξNの個数である「N」の値を、統合部19aに出力する。統合部19aは、変換パラメータ指定部11aが出力する「N」の値を取り込む(ステップSb5)。
【0138】
変換パラメータ指定部11aは、データ読出部23から開始指示信号を取得すると、内部の記憶領域に記憶されているN個の変換パラメータξ
1~ξ
Nの中から、いずれか1つの変換パラメータξ
nを読み出す。変換パラメータ指定部11aは、読み出された変換パラメータξ
nを、変換部13と逆変換部15とに出力する。これにより、最初の、Lb2sからLb2eまでのループ処理が開始される。Lb2sからLb2eまでのループ処理は、
図6に示されるLa1sからLa1eまでのループ処理と同様の処理が行われる。なお、ステップSb5の処理と、Lb2sからLb2eまでのループ処理とは、ともに、ステップSb4の処理においてデータ読出部23が入力データと正解データとを出力することにより開始される処理であるため、並列に行われる。
【0139】
統合部19aは、ステップSb5の処理で取り込まれた「N」の値を参照する。統合部19aは、Lb2sからLb2eまでのループ処理の間に、逆変換部15が出力する逆変換データであるベクトルp1~pNを取り込む。統合部19aは、取り込まれたベクトルpnの個数がN個になると、内部の記憶領域に記憶されている「統合演算式1」,…,「統合演算式M」のインデックスが付与されたM個の統合演算式の中からいずれか1つの統合演算式と、当該統合演算式に関連付けられている「統合演算式m」のインデックスを選択する。ここで、mは、1~Mの中の任意の整数である。
【0140】
統合部19aは、選択された「統合演算式m」のインデックスを、統合演算式選定部24に出力する。統合部19aは、選択した統合演算式に基づいて、取り込まれたベクトルp1~pNを統合して統合データを生成する。統合部19aは、生成された統合データを分析部20に出力する(ステップSb9)。
【0141】
分析部20は、
図6に示されるステップSa8の処理と同様の認識処理を行って、認識結果データを生成する。分析部20は、生成された認識結果データを、統合演算式選定部24に出力する(ステップSb10)。
【0142】
統合演算式選定部24は、ステップSb9の処理において統合部19aから出力された「統合演算式m」のインデックスと、ステップSb10の処理において分析部20から出力された認識結果データとを取り込む。統合演算式選定部24は、処理結果記憶部25のテーブルにおいて、直近で生成したレコード(すなわち「正解ラベル」の項目にベクトルy1が書き込まれているレコード)を検出する。統合演算式選定部24は、検出されたレコードにおいて、取り込まれた「統合演算式m」のインデックスに対応する「統合演算式m」の項目に、取り込まれた認識結果データを書き込む。ここで、m=2とした場合、正解データであるベクトルy1と、m=2である「統合演算式2」のインデックスとに対応する認識結果データであるベクトル^y1,2が、「統合演算式2」の項目に書き込まれる(ステップSb11)。
【0143】
統合部19aは、未選択のいずれか1つの統合演算式を選択する。これにより、再び、ステップSb9からSb11までの処理(すなわち、Lb3sからLb3eまでのループ処理)が行われる。M個の統合演算式の各々に対応するステップSb9からSb11までの処理が終了すると、Lb3sからLb3eまでのループ処理が終了する。統合演算式選定部24は、処理結果記憶部25のテーブルのベクトルy1に対応するレコードの「統合演算式1」,…,「統合演算式M」の全ての項目に認識結果データを書き込むと、継続指示信号をデータ読出部23に出力する。
【0144】
データ読出部23は、統合演算式選定部24から継続指示信号を取得すると、訓練データ記憶部22から、それまでに処理対象として読み出していない、いずれか1つの訓練データを読み出す。データ読出部23は、訓練データを読み出すと、開始指示信号を変換パラメータ指定部11aに出力する。これにより、データ読出部23が読み出した訓練データに対して、ステップSb4,Sb5、Lb2sからLb2eまでのループ処理、Lb3sからLb3eまでのループ処理(すなわち、Lb1sからLb1eまでのループ処理)が行われる。
【0145】
データ読出部23は、訓練データ記憶部22に記憶されている全ての訓練データを処理対象として読み出した場合、それ以上、訓練データを読み出すことができないため、開始指示信号を変換パラメータ指定部11aに出力せず、終了指示信号を統合演算式選定部24に出力する。
【0146】
統合演算式選定部24は、データ読出部23から終了指示信号を取得すると、処理結果記憶部25を参照する。統合演算式選定部24は、処理結果記憶部25に記憶されている全ての認識結果データと、認識結果データの各々に対応する正解データとに基づいて、例えば、認識結果データと、当該認識結果データに対応する正解データとが一致する度合いを算出する。統合演算式選定部24は、算出された一致度合いが最も大きい、正解データと認識結果データとの組み合わせを検出する。統合演算式選定部24は、検出された認識結果データに基づいて、変換統合条件記憶部10に書き込む変換パラメータと、統合演算式とを検出する。統合演算式選定部24は、検出された変換パラメータと統合演算式とを変換統合条件記憶部10に書き込んで記憶させる(ステップSb12)。
【0147】
例えば、統合演算式選定部24は、一致する度合いが最も大きい正解データと認識結果データとの組み合わせとして、正解データであるベクトルy
2と認識結果データであるベクトル^y
2,2とを検出したものとする。この場合、統合演算式選定部24は、ベクトルy
2を含むレコードの「変換パラメータ」の項目に書き込まれている変換パラメータξ
1~ξ
Nと、ベクトル^y
2,2に対応する「統合演算式2」のインデックスに対応する統合演算式とを、変換統合条件記憶部10に書き込むことになる。統合演算式選定部24による変換統合条件記憶部10への書き込み処理が終了すると、
図8のフローチャートが示す処理は終了する。
【0148】
変換統合条件記憶部10に書き込まれた変換パラメータξ1~ξNと、「統合演算式1」のインデックスに対応する統合演算式との組み合わせが、推論装置1に対して与えられる入力データに生じている画像劣化に対して最適な組み合わせになる。そのため、変換統合条件記憶部10を、推論装置1の変換統合条件記憶部10として用いることにより、推論装置1において精度の高い認識結果が得られることになる。
【0149】
なお、条件選定装置2によって選定される複数の変換パラメータと1つの統合演算式との組み合わせは、共通する画像劣化を含んでいる複数の入力データに対して最適になっている。そのため、条件選定装置2の訓練データ記憶部22に記憶されている訓練データに含まれている入力データの画像劣化とは異なる画像劣化を含んでいる入力データを推論装置1に与える場合、条件選定装置2を用いて、改めて複数の変換パラメータと1つの統合演算式との組み合わせを選定する必要がある。
【0150】
(実施形態の条件選定装置の他の構成例)
上記した実施形態の条件選定装置2においては、変換パラメータ指定部11aは、外部から取り込まれたN個の変換パラメータξ1~ξNの全てを用いてLb2sからLb2eまでのループ処理を行うようにしている。これに対し、訓練データごとに、変換パラメータ指定部11aが、変換部13と逆変換部15とに対して指定する変換パラメータの組み合わせを変えるようにしてもよい。例えば、変換パラメータ指定部11aは、外部から与えられるN個より多い数の変換パラメータを取り込む。変換パラメータ指定部11aは、データ読出部23から開始指示信号を取得するごとに、画像変換を行わない変換パラメータξ1を含むN個の変換パラメータを、取り込まれた変換パラメータからランダムに選択する。そして、変換パラメータ指定部11aによってランダムに選択されたN個の変換パラメータの各々に基づいて、Lb2sからLb2eまでのループ処理が行われるような構成であってもよい。
【0151】
この場合において、変換パラメータ指定部11aに対して外部から与えられる変換パラメータの個数をL個とする場合、例えば、Nの値を、Lの10%程度の値にするようにしてもよい。変換パラメータ指定部11aは、ランダムに選択する個数を、N個に固定するのではなく、選択するごとに、選択する変換パラメータの個数を任意に変えるようにしてもよい。
【0152】
ところで、変換パラメータ指定部11aは、上記したように、ステップSb5の処理において、統合部19aに対して、内部の記憶領域に記憶されているN個の変換パラメータξ1~ξNの個数である「N」の値を出力するようにしている。これに対して、変換パラメータ指定部11aは、開始指示信号を取得するごとに、指定する変換パラメータの組み合わせを変更する場合、選択した変換パラメータの個数を統合部19aに出力することになる。
【0153】
上記のように、訓練データごとに、変換パラメータの組み合わせが変わる場合、処理結果記憶部25のテーブルの「変換パラメータ」の項目に記憶される変換パラメータは、レコードごとに変わることになる。このようにすることで、共通の画像劣化を含んでいる複数の入力データに対する最適な変換パラメータと、統合演算式の組み合わせであって、かつ、変換パラメータの個数が外部から与えられる変換パラメータの個数よりも少なくなっている組み合わせを選定することが可能になる。そのため、推論装置1の処理の負荷を軽減することが可能になる。
【0154】
なお、条件選定装置2の統合部19aに対して外部から与えられる統合演算式の個数であるMは、2以上の整数であるとしているが、訓練データごとに、変換パラメータの組み合わせが変わる場合、M=1に(すなわち、統合部19aに統合演算式の数を1つに)してもよい。M=1とする場合、統合演算式の選定を行うことにはならないが、条件選定装置2は、共通の画像劣化を含んでいる複数の入力データに対する最適な変換パラメータを選定することになる。
【0155】
上記の実施形態の推論装置1において、変換パラメータ指定部11は、変換パラメータを指定する。変換部13は、入力データに対して、指定された変換パラメータの各々に基づく変換を行って変換データを生成する。信頼度マップ生成部14は、変換データごとに、変換データの各々の特徴を示すデータである信頼度マップを生成する。逆変換部15は、信頼度マップの各々に対して、各々に対応する変換データが生成された際に行われた変換に対する逆変換を、指定された変換パラメータの各々に基づいて行って逆変換データを生成する。統合部19は、逆変換データの各々を統合する統合処理を行い、入力データの前記信頼度マップと次元数が一致する統合データを生成する。分析部20は、統合データに対して分析処理の一例としての認識処理を行う。
【0156】
このように、入力データから変換により生成した変換データの信頼度マップを生成し、生成した信頼度マップを逆変換して統合し、統合した統合データに認識処理を行うことにより、入力データにおいて生じている未知の劣化に対して頑健性のある推論処理を行うことが可能になる。
【0157】
すなわち、実施形態による推論装置1は、認識処理を行う前に、入力データに対して、複数の画像変換を行うことにより、画像劣化を軽減させた上で、特徴抽出を行い、抽出され特徴を含む信頼度マップを逆変換して統合する構成を備えている。言い換えると、推論装置1に採用されている手法は、変換部13による画像変換と、逆変換部15による画像変換の逆変換と、統合部19によるアンサンブルと、信頼度マップ生成部14及び分析部20によるダウンサンプリングと、アップサンプリングとを含むセマンティックセグメンテーションのアルゴリズムという既存の手法を組み合わせた手法である。
【0158】
当該手法は、既存の手法を組み合わせた手法であるものの、未知の画像劣化による影響を軽減することができるという効果的な手法になっている。当該手法は、既存のセマンティックセグメンテーションのアルゴリズムを、再学習させることなく、そのまま利用することができる手法でもある。そのため、推論装置1は、学習済みのセマンティックセグメンテーションのニューラルネットワークに対して、微調整などの再学習を行うことなく、入力データにおいて生じている未知の劣化に対して頑健性のある推論処理を行うことを可能にしている。
【0159】
上述した実施形態によれば、推論装置は、変換パラメータ指定部と、変換部と、信頼度マップ生成部と、逆変換部と、差分算出部と、差分補正部と、信頼度マップ補正部と、統合部と、分析部とを備える。例えば、推論装置は、実施形態における推論装置1であり、変換パラメータ指定部は、実施形態における変換パラメータ指定部11であり、変換部は、実施形態における変換部13であり、信頼度マップ生成部は、実施形態における信頼度マップ生成部14であり、逆変換部は、実施形態における逆変換部15であり、差分算出部は、実施形態における差分算出部16であり、差分補正部は、実施形態における差分補正部17であり、信頼度マップ補正部は、実施形態における信頼度マップ補正部18であり、統合部は、実施形態における統合部19であり、分析部は、実施形態における分析部20である。
【0160】
上記の変換パラメータ指定部は、1つ以上の変換パラメータを指定する。上記の変換部は、入力データに対して、指定された変換パラメータの各々に基づく変換を行うことで変換データを生成する。例えば、変換パラメータは、実施形態におけるξ1,…,ξn,…,ξNの各々であり、入力データは、実施形態におけるベクトルxであり、変換は、実施形態における関数D(・;ξn)の演算であり、変換データは、実施形態におけるベクトル~x1,…,~xn,…,~xNの各々である。上記の信頼度マップ生成部は、変換データごとに、変換データの各々の特徴を示すデータである信頼度マップを生成する。例えば、信頼度マップは、実施形態におけるベクトル~p1,…,~pn,…~pNである。上記の逆変換部は、信頼度マップの各々に対して、指定された変換パラメータに基いて、変換データが生成された際に行われた変換に対する逆変換を行うことで逆変換データを生成する。例えば、逆変換は、実施形態における関数U(・;ξn)の演算であり、逆変換データは、実施形態におけるベクトルpnである。上記の差分算出部は、逆変換データから基準となる逆変換された信頼度マップを選別し、基準となる逆変換された信頼度マップと各々の逆変換された信頼度マップとの差分を算出することで差分信頼度マップを生成する。例えば、差分信頼度マップは、実施形態におけるSiである。上記の差分補正部は、差分信頼度マップの各領域の値を周辺の領域の値を参照して補正することで補正差分信頼度マップを生成する。例えば、補正差分信頼度マップは、実施形態におけるSiである。上記の信頼度マップ補正部は、補正差分信頼度マップと、基準となる逆変換された信頼度マップと各々の逆変換された信頼度マップと、に基づいて、補正差分信頼度マップの領域ごとに補正信頼度マップを生成する。例えば、補正信頼度マップは、実施形態におけるpjである。上記の統合部は、逆変換データの各々を統合する統合処理を行うことで、入力データの信頼度マップと次元数が一致する統合データを生成する。例えば、統合処理は、実施形態における^p=[p1,…,pn,…,pN]の演算であり、統合データは、実施形態におけるベクトル^pである。上記の分析部は、統合データに対して分析処理を行う。例えば、認識処理は、実施形態におけるベクトル^pに対して関数g(・)を適用する認識処理である。
【0161】
なお、上記の分析部は、分析処理として認識処理を行い、上記の統合部は、正解データが付与された入力データから生成される統合データに対して行われる分析部の認識処理によって得られる認識結果と、当該統合データに対応する正解データとに基づいて複数の統合演算式の中から選択されるいずれか1つの最適な統合演算式を用いて統合処理を行うようにしてもよい。
【0162】
なお、上記の統合演算式は、統合する対象の逆変換データの各々における対応する位置の特徴値に基づいて、統合データの当該位置の特徴値を算出する演算を行う式であってもよい。
【0163】
なお、上記の統合演算式は、統合する対象の逆変換データの各々における対応する位置、及び当該位置の近傍の位置の特徴値に基づいて、統合データの当該位置の特徴値を算出する演算を行う式であってもよい。
【0164】
なお、上記の推論装置は、入力データの品質を評価する品質評価部をさらに備え、上記の統合部は、統合処理において用いる統合演算式が逆変換データの各々に適用される重みを用いる演算を含んでいる場合、品質評価部によって評価して得られる品質を示すデータに基づいて逆変換データに対応する入力データの重みの値を定めるようにしてもよい。
【0165】
なお、上記の分析部は、分析処理として認識処理を行い、変換パラメータ指定部は、正解データが付与された入力データから得られる逆変換データの各々に対して行われる分析部の認識処理によって得られる認識結果と、逆変換データに対応する正解データと、に基づいて、選択される変換パラメータを指定するようにしてもよい。
【0166】
なお、実施形態における推論装置1及び条件選定装置2の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、上述した処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウエアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0167】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0168】
以上、この発明の一実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0169】
1…推論装置、2…条件選定装置、10…変換統合条件記憶部、11,11a…変換パラメータ指定部、12…データ取込部、13…変換部、14…信頼度マップ生成部、15…逆変換部、16…差分算出部、17…差分補正部、18…信頼度マップ補正部、19,19a…統合部、20…分析部、21…出力部、22…訓練データ記憶部、23…データ読出部、24…統合演算式選定部、25…処理結果記憶部