【文献】
岡谷貴之,外1名,ディープラーニング,情報処理学会研究報告 2012(平成24)年度 [CD−ROM],日本,一般社団法人情報処理学会,2013年
(58)【調査した分野】(Int.Cl.,DB名)
階層化された複数のディープラーニングニューラルネットワーク・ブロックにより構成された積和演算回路であり、目標とする画像処理用のフィルタ特性を持つアルゴリズムを機械学習により合成する機械学習モジュールと、
前記機械学習モジュールにおける入出力データに基づいて、前記各ディープラーニングニューラルネットワーク・ブロックにおけるデジタルフィルタ特性を解析するデバッグモジュールと、
前記デバッグモジュールの解析結果に基づき、ゲイン調整を行い、入力画像から出力画像を現像するグレーディングモジュールと
を備えた情報処理装置であって、
前記機械学習モジュールは、
教師無し学習を行うプレトレーニング層と、
教師あり学習を行うファインチューン層と
から構成され、
前記機械学習モジュールは、
前記プレトレーニング層に含まれる前記各ディープラーニングニューラルネットワーク・ブロックの中間層で分解された成分を、前記ファインチューン層に含まれる前記各ディープラーニングニューラルネットワーク・ブロックの教師信号として、前記教師あり学習を行い、
前記プレトレーニング層は、
入力画像から、高周波から低周波まで時間および空間が入り混じった周波数分解画像を生成するウェーブレット型ヘッダにより構築される
情報処理装置。
階層化された複数のディープラーニングニューラルネットワーク・ブロックにより構成された積和演算回路である機械学習モジュールが、目標とする画像処理用のフィルタ特性を持つアルゴリズムを機械学習により合成し、
デバッグモジュールが、前記機械学習モジュールにおける入出力データに基づいて、前記各ディープラーニングニューラルネットワーク・ブロックにおけるデジタルフィルタ特性を解析し、
グレーディングモジュールが、前記デバッグモジュールの解析結果に基づき、ゲイン調整を行い、入力画像から出力画像を現像する情報処理方法であって、
前記機械学習モジュールは、
教師無し学習を行うプレトレーニング層と、
教師あり学習を行うファインチューン層と
から構成され、
前記機械学習モジュールは、
前記プレトレーニング層に含まれる前記各ディープラーニングニューラルネットワーク・ブロックの中間層で分解された成分を、前記ファインチューン層に含まれる前記各ディープラーニングニューラルネットワーク・ブロックの教師信号として、前記教師あり学習を行い、
前記プレトレーニング層は、
入力画像から、高周波から低周波まで時間および空間が入り混じった周波数分解画像を生成するウェーブレット型ヘッダにより構築される
情報処理方法。
階層化された複数のディープラーニングニューラルネットワーク・ブロックにより構成された積和演算回路であり、目標とする画像処理用のフィルタ特性を持つアルゴリズムを機械学習により合成する機械学習モジュール、
前記機械学習モジュールにおける入出力データに基づいて、前記各ディープラーニングニューラルネットワーク・ブロックにおけるデジタルフィルタ特性を解析するデバッグモジュール、および
前記デバッグモジュールの解析結果に基づき、ゲイン調整を行い、入力画像から出力画像を現像するグレーディングモジュール
としてコンピュータを機能させるプログラムであって、
前記機械学習モジュールは、
教師無し学習を行うプレトレーニング層と、
教師あり学習を行うファインチューン層と
から構成され、
前記機械学習モジュールは、
前記プレトレーニング層に含まれる前記各ディープラーニングニューラルネットワーク・ブロックの中間層で分解された成分を、前記ファインチューン層に含まれる前記各ディープラーニングニューラルネットワーク・ブロックの教師信号として、前記教師あり学習を行い、
前記プレトレーニング層は、
入力画像から、高周波から低周波まで時間および空間が入り混じった周波数分解画像を生成するウェーブレット型ヘッダにより構築される
プログラム。
【発明を実施するための形態】
【0020】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
<第1の実施形態>
【0021】
[画像処理アルゴリズム作成装置の全体構成]
最初に、本技術の第1の実施形態に係る情報処理装置の例として、画像処理アルゴリズム作成装置の全体構成を説明する。
図1は、本技術に係る第1の実施形態である画像処理アルゴリズム作成装置1の構成を示すブロック図である。
【0022】
この画像処理アルゴリズム作成装置1は、機械学習モジュール10、デバッグモジュール20、およびグレーディングモジュール30などで構成される。
【0023】
機械学習モジュール10は、積和演算回路であり、目標とする画像処理用のフィルタ特性のアルゴリズムを機械学習により構築する。機械学習モジュール10は、階層化された複数のDNN(Deep Learning Neural Network)ブロック11で構成される。
【0024】
機械学習モジュール10内の各層は、入出力からデジタルフィルタ特性を解析する機能を備えている。
【0025】
デバッグモジュール20は、機械学習モジュール10における入出力データに基づいて、各DNNブロック11におけるデジタルフィルタ特性を解析する。
【0026】
グレーディングモジュール30は、デバッグモジュール20の解析結果に基づいてゲイン調整を行い、入力画像からハイフレームレート画像など出力画像の現像を行う。
【0027】
グレーディングモジュール30は、入力された情報から各階層において拡張ウェーブレット変換を行い、行われた拡張ウェーブレット変換の各成分を調整する。
【0028】
以上、本技術の第1の実施形態に係る情報処理装置の例として、画像処理アルゴリズム作成装置の全体構成を説明した。なお、図に示す上流設計ツール40とは、機械学習モジュール10の各DNNブロック11に対して教師信号を生成するためのツールである。
【0029】
[DNNブロックの表記方法]
次に、機械学習モジュール10を構成する個々のDNNブロック11の表記方法を説明する。
図2は、機械学習モジュール10を構成する個々のDNNブロック11に対する入出力の表記法を示す図である。なお、以下で説明する図では、DNNブロック11をDNNまたは単にNNとも表記する。
【0030】
DNNブロック11には、入力信号、出力信号、教師信号(期待値)、中間層出力信号が入出力される。
【0031】
教師信号を与えて機械学習を行った後、DNNブロック11内部のシナプスデータのフィルタ係数が確定する。そして、学習後に入力された入力信号に対して出力値を得ることが出来る。
【0032】
すなわち、期待値である教師信号を教師として、多層パーセプトロンよりなるニューラルネットワークで学習を行い、DNNブロック11内部のシナプスデータのフィルタ係数を決めることにより学習が行われる。
【0033】
本技術は、DNNを用いる技術であり、中間層出力を後段のDNNブロック11の入力として渡す構成を採る。
【0034】
[本技術の目的]
本実施形態では、主に画像処理、画像認識、画像解析の3つの技術に焦点を当て、これら各技術に対してDNN技術を用いてアルゴリズムを合成している。
【0035】
本願では、包括的な人工知能によるアルゴリズム開発を支援するための各種要素技術を提供する。
【0036】
[本実施形態で取り上げる技術]
本技術を解説するにあたり、具体的な実施形態として時間情報の制御技術を取り上げ、本技術の原理および実施形態を解説する。
【0037】
なお、本技術は、時間制御以外にも空間位相制御によるフォーカス制御や被写界深度制御、パースペクティブ制御、その他、スペクトル情報制御など様々な画像処理に適用可能な汎用技術であり、時間制御アルゴリズムの合成のみに限られるものではない。
【0038】
[典型的な技術との根本的な違い]
本実施形態では、全体を通し、時間情報を制御するアルゴリズムの合成を例にとり解説していく。
【0039】
従来、時間方向に画像情報を補間するアルゴリズムを人が設計する場合、特徴点抽出およびマッチング技術による動きベクトル解析、画像の領域分割、被写体の交差や衝突に伴う様々なシーン、オプティカルフローなど様々な要素技術を用いながら、アルゴリズムが構築される。
【0040】
しかしながら、機械学習の場合、特にシグモイド関数を用いたニューラルネットワークによるアルゴリズム合成では、設計者による上述した基本的な要素技術を考慮することなく、人工知能が自らアルゴリズムを合成する。
【0041】
特に、本実施形態の画像処理アルゴリズム作成装置1では、時間位相解像度と動解像度を直交制御することができる拡張ウェーブレット変換のアルゴリズムを導出することが出来た。なお、詳細は後述する。
【0042】
導出されたアルゴリズムを解析したところ、このアルゴリズムでは、多次元グラデーションに対する多次元コントラスト補正での輪郭移動により、時間位相解像度および動解像度の制御を行っていた。
【0043】
この制御では、機械学習時の様々な学習パターンの平均値としてグラデーションカーブを構築し、このグラデーションカーブを用いて輪郭移動させている。
【0044】
このように、機械学習を用いたアルゴリズム合成では、上述した設計者が行うパターンマッチングやベクトル解析などの技術を考慮しなくても、入力画像の補間時に破綻が少ない非常にロバストなアルゴリズムを構築することが出来る。
【0045】
なお、
図3は、1次元グラデーションにおいて、明るさ及びコントラストを変動させる例を示す図である。
【0046】
図に示すように、1次元グラデーションのコントラストまたは明るさを変えると、コントラストの変更で輪郭のエッジが制御でき、明るさの変更で輪郭の左右への平行移動が制御できる。
【0047】
多次元のグラデーションを積和演算することにより、輝度や階調の変動を抑えながら多様な動きを表現することができる。
【0048】
ニューラルネットワークにシグモイド関数を用いた機械学習で画像処理アルゴリズムを合成すると、シグモイド関数のカーブのもつグラデーション効果と、パーセプトロンの多次元化により、輪郭移動および動解像度制御を説明できる。
【0049】
この方法では、グラデーションカーブに位相情報が記述され、その位相情報は学習パターンの平均値となるので、被写体の交差や変形に対しても、柔軟な表現が可能となる。
【0050】
このように1次元のグラデーションでも、明るさの制御で輪郭の位置を移動可能であり、コントラストの制御により、輪郭のブラー/デブラー制御が可能なことが図において観測される。
【0051】
以上のように、機械学習でアルゴリズムを合成する場合、このようなグラデーションを多次元で生成することが出来る。
【0052】
そのため、生成した多次元のグラデーションを用いて、「情報の交換則」の範囲内で時間位相解像度または動解像度を自在に制御しつつ、被写体の交差や変形などのシーンに対する補間でもロバストな現像が可能になっている。
【0053】
なお、特殊な前提条件を設定しない場合、ニューラルネットワークによる積和演算のみでは、画像処理アルゴリズム作成装置1に入力された情報以上に出力される情報を増やすことは出来ない。
【0054】
すなわち、画像処理アルゴリズム作成装置1により得られるアルゴリズムは、「情報の交換則」に支配されるので、時間方向にアップコンバートされた画像を現像した場合、その代償として、現像により画像の階調や、空間解像度、動解像度、SN比が劣化してしまう。
【0055】
以上のように、本技術は進歩性があるので、「情報の交換則」に厳密に従ったデジタルフィルタを合成することが出来る。
【0056】
[時間制御アルゴリズムへの入力データ]
以下の説明では、合成される時間制御アルゴリズムにより処理する入力データとして、連続する5フレームのデータを用いる。
【0057】
機械学習モジュール10により合成されるアルゴリズムであるデジタルフィルタを通して、入力データから、時間位相解像度および動解像度を制御可能な成分に分解された拡張ウェーブレット変換画像を取得する。拡張ウェーブレット変換画像については後述する。
【0058】
時間位相解像度および動解像度を制御可能な成分を、グレーディングモジュール30によりチューニングすることで、前述の「情報の交換則」に従った時間制御の仕組みを提供することが出来る。
【0059】
[時間位相解像度制御と動解像度制御]
時間位相解像度制御とは、撮像の時刻を0度、前後のフレームが撮像された時刻を±360度と定義したときの-360度〜0〜360度の時間位相においてフレームを補間する自由制御である。
【0060】
一方、動解像度制御とは、動体である被写体に対する残像に関する制御であり、ブラー制御およびデブラー制御により行われる制御である。
【0061】
なお、本実施形態では、連続した5フレームを入力とし、中央のフレームである3フレーム目の撮像時刻を位相0度、2フレーム目を位相-360度、4フレーム目を位相360度と定義する。
図4は、連続した5フレームを入力とし、中央のフレームである3フレーム目の撮像時刻を位相0度、2フレーム目を位相-360度、4フレーム目を位相360度と定義した一般的な状態を示す図である。
【0062】
従来、時間位相解像度と動解像度の双方を独立に制御する手法は存在していなかった。時間位相解像度と動解像度のパラメータは互いに干渉しあう傾向にあるため、両者を干渉しないように制御して、ハイフレームレート画像やデブラー画像を生成することは非常に困難であった。
【0063】
独立して制御できない場合、例えば、任意の時間位相で複数フレームを現像してハイフレームレート画像を生成した場合、動解像度も変動してしまう。
【0064】
そのため、現像されたフレームを連続して観測したとき、非常に仕上がりの悪いハイフレームレート画像になってしまう。
【0065】
また、同様に、独立して制御できない場合、動解像度を制御した場合、撮像時刻から時間位相が動いた不定なアーティファクトを含んだ画像になってしまい、問題であった。
【0066】
本実施形態では、機械学習により生成されたデジタルフィルタを用いて現像された画像をリバースエンジニアリングしている。
【0067】
そのため、時間位相解像度と動解像度を独立して制御可能な直交成分を抽出し、拡張ウェーブレット変換画像に変換して各成分を独立に制御することに成功している。
【0068】
[DNNブロックの基本構成]
DNNでは、一般的に知られているように、教師なし学習、すなわち入力と出力が等しくなるようにプレトレーニング(PreTraining)学習を行うステップと、その後、教師あり学習、すなわちファインチューン(FineTune)学習を行うステップで学習が行われる。
【0069】
本実施形態の機械学習モジュール10は、プレトレーニング層PTを構成するDNNブロック11pとファインチューン層FTを構成するDNNブロック11fとから構成される。
【0070】
機械学習モジュール10では、プレトレーニング層PTを構成するDNNブロック11pの中間層で分解された成分を、ファインチューン層FTを構成するDNNブロック11fの教師信号として入力することにより、ファインチューン層FTを構成するDNNブロック11fでの教師あり学習を行い、所望のアルゴリズムを得ている。
【0071】
ファインチューン学習における学習の方法としては、AutoEncoderやConvolutional Neural Network(CNN)、プーリング(Pooling)による方法が挙げられる。
【0072】
なお、一般的なDNNは、画像認識の分野で用いられる場合、学習方法としてCNNが普及しており、高い成果を上げている。
【0073】
しかしながら、本実施形態では、コンピュータビジョンの分野で必要となる画像オペレーション、すなわち、「画像認識」、「画像処理」、「画像解析」の3つの分野をターゲットとしている。
【0074】
そのため、特に画像処理および画像解析の分野における演算量の抑制効果を考慮し、学習方法としてAutoEncoderが重要であると考え、採用している。
【0075】
なお、本実施形態では、「画像認識」とは、被写体をオブジェクトとして認識する用途、そして被写体の動きなどシーンを認識する用途を指す。
【0076】
「画像処理」とは、ホワイトバランス処理や、ガンマ処理、ノイズリダクション処理など、デジタルフィルタを用いた画像データのレンジに対する処理を指す。
【0077】
「画像解析」とは、深度解析や、領域分割、境界線解析、オプティカルフロー解析などを指す。
【0078】
[画像解析と画像認識の違い]
コンピュータビジョンにおいては、例えば、被写体の奥行き方向の深度を解析して、オートフォーカス制御を行うなどのケースがある。
【0079】
しかし、このようなケースでは、被写体が具体的に何であるか、例えば、それが猫なのか犬なのか、というレベルの(CNNが認識可能なレベルの)オブジェクトの抽象度を必ずしも必要としない。
【0080】
このような用途の違いにより、機械学習モジュール10に要求される構成要素は大きく異なる。そのため、本実施形態では、このような構造解析系の画像オペレーションを、「画像認識」とは異なる「画像解析」として定義する。
【0081】
「画像認識」では、CNNが主流である。しかし、この方式では解析可能なパッチのサイズに限りがあり、ハイビジョン画角など大きな画像への適用は困難である。
【0082】
なお、一般的に、CNNでは、入力画像を64x64のような画素単位で処理する。これはフーリエ変換系の画像圧縮のMPEG系の技術にみられる手法である。
【0083】
1920x1080画角の場合、演算量が膨大になるので、8x8程度のブロックに分解してDCT(Discrete Cosine Transform)変換する。このようなブロックを「パッチ」と呼んでいる。
【0084】
一方、「画像解析」では、画像認識力は「画像認識」より低くても、画像をより広域に亘り構造解析する能力が求められる。
【0085】
「画像処理」においては、画像構造を認識する必要は無く、周波数成分解析を行うことにより、画像処理アルゴリズムの精度を向上させることが出来る。
【0086】
[プレトレーニング層のヘッダの種類]
本実施形態の機械学習モジュール10では、プレトレーニング層PTをヘッダと呼び、ファインチューン層FTをボディと呼ぶ。
【0087】
図5は、機械学習モジュール10におけるプレトレーニング層PTに設定可能なヘッダの種類を示す図である。
【0088】
同図に示すように、本実施形態では、「画像認識」、「画像処理」、「画像解析」の3種類の画像オペレーションに対応するため、プレトレーニング層PTに設定可能なヘッダとして、オブジェクト(Object)型ヘッダOH、ウェーブレット(Wavelet)型ヘッダWH、ストラクト(Struct)型ヘッダSHが用意される。
【0089】
オブジェクト型ヘッダOHは、CNNを用いて階層化された画像認識に最適なヘッダである。ウェーブレット型ヘッダWHは、AutoEncoderを用いて周波数階層に分解する画像処理に最適なヘッダである。ストラクト型ヘッダSHは、制約入りAutoEncoderとCNNを併用し、画像構造解析に最適なヘッダである。各ヘッダの詳細については後述する。
これらオブジェクト型ヘッダOH、ウェーブレット型ヘッダWH、またはストラクト型ヘッダSHは、開発者の目標とする画像操作のアルゴリズムに応じて選定される。
【0090】
これら3種類のヘッダは、後段に繋がるファインチューン層(ボディ)FTとの互換性を要求される。また、これら3種類のヘッダは、用途に応じて、複数のヘッダを同時に採用してファインチューン層FTでアルゴリズムを合成することを許容する。
【0091】
[ウェーブレット型ヘッダ]
ウェーブレット型ヘッダWHは、画像処理を目的としたものプレトレーニング層PTを構築するためのヘッダである。
図6は、ウェーブレット型ヘッダWHのブロック図である。
【0092】
図に示すように、入力として連続5フレームの画像を与え、プレトレーニング層PT内の中間層におけるTap数を適切に制約する。なお、ここでいうTap数は入力の範囲を示すものである。
【0093】
Tap数の制約により、AutoEncoderによる次元圧縮効果で中間層に成分が特徴抽出され、時間空間情報入り混じりの成分が抽出される。
【0094】
入力の各フレームを所定のNxN Tap(NはTap数)ずつ畳み込み、中央の1Tapが得られるようAutoEncoderを実行する。各層に与える入力と教師信号は周波数成分を考慮している。
【0095】
静止した被写体は前段で高周波成分として抽出され、広域に渡る大きな動きの被写体の動きは、低周波成分を抽出するAutoEncoderで抽出される。
【0096】
なお、各層に入力する低周波画像は、機械学習モジュール11内のウェーブレット変換部11wにおいてLL成分を抽出することで生成される。
【0097】
ところで、画像処理アルゴリズムを合成するためには、このように抽出した成分には、再び同じ入力画像を復元可能な分解要素が揃っていることが必要要件となる。
【0098】
この必要条件を満たせなければ、後段のDNNブロック11pおよびDNNブロック11fにおいて高精度の画像処理は望めない。
【0099】
初段のDNNブロック11pで入力画像を次元圧縮した時点で、処理された画像は入力画像に対して既に劣化している。
【0100】
そのため、このDNNブロック11pから徐々に大きな動きに関与する低周波成分を抽出して元画像に戻せるように、後段に階層的に複数のDNNブロック11pを設け、多重階層にして?げていく。
【0101】
2段目以降における処理では、前段においてデコードされた画像と教師信号との差分画像を得ておくと、中間層でよりスパースな成分を抽出することが出来、アルゴリズムの合成精度を向上させることが出来る。
【0102】
多重階層で高周波から低周波まで段階的に、時間および空間の情報を抽出していくことで、元の画像にまで復元可能な分解画像を得ることが出来る。
【0103】
以上の手順で、入力画像から、高周波から低周波まで時間および空間が入り混じった周波数分解画像が生成される。
【0104】
このように生成された周波数分解画像の成分は、後段のファインチューン層FTでのアルゴリズム合成に寄与する。
【0105】
特に、時間制御のアルゴリズムを合成する場合は、被写体の動きが小さな動きから大きな動きまで多様に存在する状況への対処が必要である。上述した方法により周波数成分を分離することで、ファインチューン層FTでは高品位に、時間位相解像度と動解像度を制御可能なアルゴリズムが合成可能となる。
【0106】
[オブジェクト型ヘッダ]
オブジェクト型ヘッダOHは、主に画像認識を想定したプレトレーニング層PTを構築するためのヘッダである。
図7は、オブジェクト型ヘッダOHのブロック図である。
【0107】
オブジェクト型ヘッダOHでは、入力画像に対してコンボリューション(畳み込み)とプーリングを行い、入力画像をオブジェクトツリー構造に分解するものである。DNNの最も一般的な手法である。
【0108】
但し、コンボリューションは通常のCNNと異なり、オブジェクト型ヘッダOHでの画像処理を想定しており、プーリングを周波数概念で捕らえている。
【0109】
1段目はウェーブレット型ヘッダWHの構成と同じである。2段目以降、中間層データをプーリングで平均化し、1/4画角にダウンコンバートし、各成分をさらに畳み込んで、分解画像を随時生成する。
【0110】
各段での分解画像のデータ量の整合をとるため、中間層からの出力は、1段目から順に、4Tap、16Tap、64Tap、256Tapと4倍ずつ増やしている。
【0111】
周波数が低くなる程、Tap数が増え、画像認識の抽象度が向上する。抽象度が高くなるに従って、解像度が下がっていく反比例の構成にしている。
【0112】
この方式では、階層的に畳み込みを行うことで、画像をオブジェクトツリーとして認識し、画像認識力を向上させる効果が各種文献にて報告されている。
【0113】
しかしながら、今回の課題となる時間方向の制御においては、被写体が広域に移動するケースに対処するため、従来のCNNのように限られたパッチ領域に絞り込んだパターン学習は困難である。
【0114】
本技術では、3方式の各ヘッダ間の互換性を確保し、すべてのヘッダにおいて、ある程度の画像処理が行えることが要求される。
【0115】
そこで、オブジェクト型ヘッダOHにおいて画像処理に伴う演算量を抑制し、プーリングと周波数分解の間の整合を取るため、畳み込みごとに1/4ダウンコンバートして演算量を抑えウェーブレット変換との整合を取る。
【0116】
各DNNブロック11pへの教師信号としては、階層ごとにウェーブレット変換を繰り返して、低周波成分を生成し、教師信号として各DNNブロック11pに与える。
【0117】
オブジェクト型ヘッダOHを用いる場合の現実問題として、演算に用いるリソースが限られるため、プレトレーニング層PTを構成させる階層数は4〜6層程度が限度である。
【0118】
そのため、画像認識力としては、一般的なCNNに比べて劣るが、本実施形態で目標としている時間制御においては有効な認識力を持っている。他のヘッダとの整合性が取れていることも重要である。
【0119】
[ストラクト型ヘッダ]
上述したように、ウェーブレット型ヘッダWHでは、周波数成分に分けるウェーブレット変換と同様に、周波数分解画像を生成した。また、オブジェクト型ヘッダOHでは、画像認識の抽象度解析を行い、オブジェクトツリー状の階層構造を生成し、画像を高い抽象度で認識した。
【0120】
しかし、昨今のコンピュータビジョンの技術には、画像の深度解析、輪郭解析など多様な用途があり、このような用途では周波数成分を解析するウェーブレット型ヘッダWHでは目的を達成することが出来ない。一方、オブジェクト型ヘッダOHでは、認識力が冗長すぎ、演算のオーバーヘッドも大きい。
【0121】
入力画像の深度解析、輪郭解析、領域解析などを行うためには、被写体の構造に対する認識力が必要であり、これらの解析において有効な成分を抽出するのがストラクト型ヘッダSHである。
【0122】
ストラクト型ヘッダSHでは、CNNとAutoEncoderを併用する学習方式を採用する。更にストラクト型ヘッダSHでは、予め学習時の制約を加えることにより、画像解析に適した成分の抽出を狙う。
【0123】
[制約付きの学習方法]
ウェーブレット型ヘッダWHおよびオブジェクト型ヘッダOHにおける学習は、共に、入力=出力とする教師無し学習である。
【0124】
これに対し、ストラクト型ヘッダSHでの学習では、入力の形を予め変形させ学習させることで、常に特定のパラメータに対する学習制約を与えながら機械学習させ、コンボリューションを適用することで、その制約に対する認識力を向上させる。
【0125】
(前処理)
ストラクト型ヘッダSHを構築するためには、学習の制約項となる教師画像を得る必要がある。教師画像を得るための前処理を説明する。
図8は、ストラクト型ヘッダSHを構築するために学習の制約項となる教師画像を得るための前処理を示す図である。
【0126】
図に示すように、前処理では、予め、連続する3フレーム(元の3フレーム)の動きベクトルを解析し、センター画像を座標変換することで、前後のフレームを疑似フレームとして生成する。
【0127】
次に、このセンター画像と疑似フレームから、元の3フレームを出力することを目標とする学習をDNNブロック11pで行い、学習後に出力された3フレーム(学習後3フレーム)を得る。
【0128】
この学習後3フレームは、元の3フレームと差分を持つため、学習後3フレームと元の3フレームとの差分を取ることで、合計6成分を得ることができる。この6成分は、元の3フレームへの復元が可能な必要十分な情報を持っている。
【0129】
(ストラクト型ヘッダの構成)
ストラクト型ヘッダの構成を説明する。
図9は、ストラクト型ヘッダの構成を示すブロック図である。
【0130】
前処理にてDNNブロック11pが推定した学習後3フレームは、被写体の交差や変形が考慮されないベクトルおよび領域情報を内包している。
【0131】
一方、差分には、被写体の交差や、変形、オクルージョンに関する情報が内包されている。
【0132】
これら学習後3フレームおよび差分を教師信号とするAutoEncoderでは、中間層に画像構造に関する情報が特徴抽出される。
【0133】
また、ストラクト型ヘッダSHでは、CNNを併用して階層化することで認識の抽象度が向上する。
【0134】
ストラクト型ヘッダSHでは、主に画像構造に関する特徴抽出が施されたストラクト型の成分抽出が実現される。
【0135】
図に示すように、元の3フレームから得られた前述の6成分を現像するアルゴリズムを合成するための機械学習を行う。
【0136】
入力から出力が得られることが保証された学習は、基本的に教師無し学習に相当する学習である。この学習では、与えられた制約項を求める学習を行いながら畳み込みを行っていく。
【0137】
そのため、画像のDepth、境界面、領域、領域の動きベクトル、およびオクルージョンを考慮しながら、次元圧縮と畳み込みが行われる。
【0138】
そのため、画像の構造に対しての認識力が向上し、画像解析に必要な構造認識が可能となる。
【0139】
ストラクト型ヘッダSHでは、オブジェクト型ヘッダOHほどコンボリューションを適用しないので、オブジェクトを認識する能力には欠けるが、広範囲で行う画像解析の演算量を実用的な範囲に収めることが出来る。
【0140】
[各ヘッダの演算量比較]
次に、プレトレーニング層PTで定義する、ウェーブレット型ヘッダWH、オブジェクト型ヘッダOH、およびストラクト型ヘッダSHにおける、周波数、抽象度、および演算量の関係と各種用途を示す。
図10Aは、3つのヘッダの抽象度、周波数、および演算量の関係を示す図である。
【0141】
ウェーブレット型ヘッダWHでは、AutoEncoderを用いて入力画像を周波数方向に成分分解する。主に画像処理アルゴリズムの合成に利用する。
【0142】
演算量はO(N)のスケールである。ウェーブレット型ヘッダWHは演算が比較的高速であるため、通常のHD画角に対して広域の画像処理が可能なアルゴリズムを合成可能である。
【0143】
ウェーブレット型ヘッダWHの画像認識力は他のヘッダに対して劣る。データの抽象度は、あくまでウェーブレット変換が取り扱うエッジレベルの抽象度である。
【0144】
オブジェクト型ヘッダOHでは、CNNを用いて入力画像を抽象度方向に成分分解する。オブジェクト型ヘッダOHは、主に画像認識や画像処理の超解像効果を得るために利用される。
【0145】
演算量はO(N*N)のスケールであり、演算は非常に重く、入力データサイズには制約がある。
【0146】
オブジェクト型ヘッダOHでは、画像の抽象度を、エッジからパーツ、オブジェクト、シーンへと組み上げていき、画像情報をオブジェクトツリーに分解していく。
【0147】
ストラクト型ヘッダSHでは、制約付きAutoEncoderとCNNを用いて、周波数方向と抽象度方向の双方に成分分解する。ストラクト型ヘッダSHは、主に画像構造の解析に利用される。
【0148】
演算量はO(N*logN)程度である。ストラクト型ヘッダSHでは、入力画像が、エッジの抽象度から徐々に周波数および抽象度の双方向に階層化される。
【0149】
なお、
図10Bは、ストラクト型ヘッダにおいて、構造解析層の軸に沿って、左下から順に、下層、中階層、上層に分けた図である。ストラクト型ヘッダSHの中階層では、動きベクトル、領域情報、境界線情報となる成分が抽出され、上層では、オプティカルフロー、交差衝突変形、Depth情報などの成分が抽出される。
【0150】
[アルゴリズムの合成フロー]
次に、アルゴリズムの合成フローを説明する。
図11は、アルゴリズムを合成するフローを示す図である。
【0151】
アルゴリズム合成の流れは、一般的なDNNと同様に、まず、教師無し学習でプレトレーニングを行い、その後、教師あり学習でファインチューンを行い、アルゴリズム合成を完了させる。
【0152】
本実施形態の機械学習モジュール11では、後述するように、ファインチューン層FTでアルゴリズムを合成する際に、フレーム間学習とフレーム内学習の2段階のステップを採用することで、アルゴリズム合成精度を上げる対策を取っている。
【0153】
ファインチューン層FT内でも、周波数成分ごとに低周波成分から高周波成分まで順番に階層化された構成を採用している。
【0154】
ファインチューン層FT内の各DNNブロック11fの各中間層からの出力が、後段に繋がる畳み込み部11cで畳み込まれる構造になっている。
【0155】
ファインチューン層FTがプレトレーニング層PTの機能を兼ねる構成を採用している。
【0156】
[成分分解および再構築の順序]
プレトレーニング層PTでの成分分解時には、高周波成分から低周波成分に向かってDNNブロック11pが階層化される。
【0157】
一方、ファインチューン層FTでの画像再構築の際には、低周波成分から高周波成分に向かって分解した成分を再構築する手順を取る。
【0158】
これは、一般的なウェーブレット変換と同様の考え方である。
【0159】
この順番は、最終的にハイフレームレートの画像を現像する際の仕上がりに差を生じさせる。
【0160】
順序立てて画像の分解および再構築を行わないと、時間空間入り混じりの周波数成分の繋ぎこみ(シームレス接合)で整合が取れず、動き部分の輪郭にブロックノイズが生じてしまう。
図12は、シームレス接合が失敗した例と成功した例を示す図である。
【0161】
動き部分の補間精度に関して、周波数成分の階層化には一定のルールが認められる。
【0162】
上述の分解および再構築は、ウェーブレット変換と同じ規則性を持つ。ウェーブレット変換の際には高周波から低周波の順番に分解し、ウェーブレット逆変換の際には、低周波から高周波の順序で再構築することが要求される。
【0163】
この順番を守らないと、大きな動きを伴う箇所の補間で、ブロックノイズが出る。
【0164】
[ファインチューン層でのフレーム間学習]
次に、ファインチューン層FTでのフレーム間学習について説明する。
図13は、ファインチューン層FTでのフレーム間学習の様子を示す図である。
【0165】
上述のプレトレーニング層PTでは、連続した5フレームの全部を出力する学習を行うのに対して、ファインチューン層FTでは、Phase制御項(時間位相の指定)を設け、Phase信号に従って、5フレーム中のいずれかを出力する学習を行う。
【0166】
ストラクト型ヘッダSHの場合は連続3フレームを入力するので、3通りの制御値で学習する。
【0167】
すなわち、Phase制御項がセレクタとなり、特定のフレームを出力する学習である。
【0168】
なお、ファインチューン層FTでは、低周波成分から高周波成分の順番で階層化を行う。
【0169】
例えば、Phase=0.0のときは1フレーム目近辺、Phase=0.50の場合は3フレーム目近辺の画像を得ることができる。
【0170】
Phase=0.625のようにすると、3フレーム目と4フレーム目の間のフレームを得ることができる。
【0171】
ここで得られる補間画像は、単純なフレームミックス画像とはまったく異なる性質を持ち、上述した多次元グラデーションの多次元コントラスト補正のメカニズムに従った時間位相と動解像度を自由制御できる補間画像である。
【0172】
フレーム間学習により、被写体の交差や変形など、従来の幾何学変換を用いた時間補間技術に較べて、非常にロバストな結果を得ることができる。
【0173】
一方、シャッターによる撮像の間欠区間で解が得られないようなシーンでは、フレームミックスと同等の結果を導き出し、破綻画とはならない非常にロバストな結果を得ることができる。
【0174】
ファインチューン層FTではPhase制御項を設ける。そして、Phaseとして入力するアナログ値に応じて入力フレームを切り替える、スイッチング処理的な機械学習を行う。
【0175】
例えば、入力フレームが連続した5フレームの場合、phaseを0.0〜1.0の範囲で変化させ、図の左下に示すように目標(教師)とするフレームを割り振る。
【0176】
合成されるアルゴリズムは、Phaseを0.0、0.25、0.5、0.75、および1.0とする各ステップで、入力画像とほぼ同じ画像を出力するようになる。
【0177】
ここで、例えば、Phase制御値を0.125と設定すると、1フレーム目と2フレーム目の中間位相のフレームを生成するようになる。
【0178】
フレーム間学習で、まず、大雑把な時間位相の制御が可能となる。
【0179】
[ファインチューン層でのフレーム内学習]
時間位相解像度の制御によるハイフレームレート現像は、元々逆算問題であり、本来一意的に解が求まらない課題であるため、必ず現像結果にアーティファクトが生じる。
【0180】
また、前述のフレーム間学習においては、入力フレームの位相の間以外の位相の学習は行っていない。
【0181】
そのため、これら学習した位相以外の位相で現像すると、基本的に不定なアーティファクトが生じる。
【0182】
このアーティファクトのフィルタ特性は、アルゴリズム合成の度に結果が異なることが分かっており、画像処理アルゴリズム作成装置1としては再現性が大きな問題となる。
【0183】
この問題を解消するため、フレーム間学習の後段に、更に1フレーム以内、すなわち、連続5フレームのセンター画像である3フレーム目を中心として、±180度の位相で集中的なフレーム内学習を行うDNNブロック11fを設ける。
図14、
図15は、フレーム間学習の後段で集中的なフレーム内学習を行う様子を示す図である。
【0184】
集中的なフレーム内学習を行うDNNブロック11fに、特定の劣化目標を与えた教師画像を与えて学習を進め、設計者が期待するフィルタ特性のアルゴリズムを合成する。
【0185】
[情報の交換則に基づくトレードオフ制御]
時間方向の逆算問題に関して機械学習を進めると、答えが得られないパターンに対しては、それらのパターンの平均化で徐々にゲインが低下し、目標値とのズレが生じていく。
【0186】
図16は、時間方向の逆算問題に関して機械学習を進め、答えが得られないパターンの平均化で徐々にゲインが低下し、目標値とのズレが生じていく様子を示す図である。
【0187】
まず、図に示すように、目標値に対して低周波成分全体のゲインが低下した場合には、画像全体の色特性にガンマ、デガンマ的な階調劣化が生じる。
【0188】
この階調劣化を防ぐためには、目標値を妥当な水準まで劣化させる必要があり、空間解像度または動解像度の目標値を下げることにより、ある程度の階調劣化を解消することができる。
【0189】
劣化方法は用途ごとに異なるが、今回の実施形態である時間制御では、空間解像度と動解像度の制御に着目する。
【0190】
空間解像度の劣化目標値を与えた場合は、空間解像度を時間位相解像度に解像度交換するとの解釈が可能である。
【0191】
動解像度を劣化させた場合には、動解像度を時間位相解像度に解像度交換するとの解釈が可能である。
【0192】
空間解像度変換では、例えば、4K-60Pの動画を1/4画角の2K-240Pへ解像度交換が可能である。これは次世代のスーパーハイビジョンなど高解像度イメージをHD画角のテレビで滑らかにスロー再生するなどの用途に活用できる。
【0193】
動解像度変換は、SN比とのトレードオフになる。動解像度を制御して、画像を鮮明化する用途に活用できる。
【0194】
一般に、交換則変換、空間解像度変換、動解像度変換の順にアルゴリズム合成の難易度が高くなる。そのため、本実施形態では、交換則変換、空間解像度変換、動解像度変換の順でDNNブロック11fを接続する。
図17は、交換則変換、空間解像度変換、動解像度変換の順でDNNブロック11fを接続した状態を示す図である。
【0195】
すなわち、ファインチューン層FTでも、後段に、中間層出力を次のDNNブロック11fに渡す多重解像度のFIR(Finite Impulse Response)フィルタを構成して、アルゴリズムの精度を向上させる。
【0196】
[合成されたアルゴリズムのチューニング]
上述した方法により、DNNブロック11pおよびDNNブロック11fを多重階層化して接続することで、合成されるアルゴリズムの精度が上がる。
【0197】
しかし、前述のように時間制御はもともと逆算問題であり、アーティファクトの発生は本質的には避けられない。
【0198】
そのため、機械学習により合成されたアルゴリズムに対して、最終的に人の手で微調整(チューニング)を行う。
【0199】
ここで、チューニングの手段を提供するための考え方として、各DNNブロック11p、11fの入力データと出力データの差分解析に着目する。
図18は、各DNNブロック11p、11fの入力データと出力データの差分解析に着目する様子を示す図である。
【0200】
入力データと出力データの差分と制御項の関係を解析することで、独立した2つの直交成分を抽出し、拡張ウェーブレット変換を導出する。
【0201】
そして、抽出した直交成分中の要素を調整することで細かなチューニングを行う。
【0202】
[拡張ウェーブレット変換の導出]
次に、拡張ウェーブレット変換の方法について説明する。
図19Aおよび
図19Bは、拡張ウェーブレット変換の計算方法を示す図である。また、
図20は、計算結果である拡張ウェーブレット変換画像を示す図である。
【0203】
-90度位相のフレームを中心に解説する。
【0204】
まず合成されたアルゴリズムにて±90度位相の2つの画像を得る。
【0205】
逆算問題のため、アルゴリズムにはLPF(Low Pass Filter)効果が働き、両者の画像とも位相は動くものの、元画像に対して空間解像度、動解像度、階調解像度が全体的に6dB程度劣化する。
【0206】
ここで、+90度成分の画像と0度位相の画像の差分を取ると、ここには、位相分の差分と、劣化した分の差分が観測される。
【0207】
この差分情報を極性反転させると、今度は位相が-90度になり、階調が逆方向に劣化し、動解像度、空間解像度が過度に上がった画像が得られる。
【0208】
元々現像した-90度成分と極性反転した90度成分のミックス比率にて動解像度と位相解像度の非干渉制御が可能となる。
【0209】
すなわち、計算に用いるLL成分としては、連続5フレームの入力フレームのセンター画像である3フレーム目を用いる。
【0210】
LH/HL成分としては、それぞれ、Phase項を+90度とした差分値、-90度とした差分を極性反転した値を用いる。
【0211】
HH成分としては、終端の位置づけで、0度位相の現像値と入力されたセンター画像との差分値を用いる。
【0212】
LH/HL成分のゲインを上げてLL成分に足し込むと時間位相が動く。
【0213】
LH/HL成分のブレンド比を変えてLL成分に足し込むと、動解像度が制御可能である。
【0214】
このように、時間位相と動解像度を個別に直交制御することが可能である。
【0215】
HL成分の比率が大きいとデブラー方向に作用して動解像度が高くなり、画像全体はガンマ方向に徐々に劣化し始める。
【0216】
逆に、HL成分の比率が低いとブラー方向に作用し、全体的に階調がデガンマ方向に沈みこむ特性が観測される。
【0217】
HH成分は、0度位相の現像値とLL成分との差分値である。
【0218】
機械学習モジュール10により合成されたアルゴリズムにより現像された画像は、前述のように、情報の交換則に基づいて階層化し、精度を向上させている。
【0219】
しかし、本質的には露光現象の逆算問題のため、±90度、双方の位相とも動解像度や空間解像度がわずかに丸め込まれたアーティファクトを含む画像が現像される。
【0220】
そこで、たとえば+90度側の位相とセンター画像の差分を取ると、0度から+90度までの輪郭移動量と空間解像度および動解像度の劣化量が得られる。
【0221】
この差分情報を極性反転させて、センター画像に足し込むことにより、位相としては-90度方向に動き、動解像度と空間解像度が持ち上がった画像が得られる。
【0222】
ここで、-90度現像画像と+90度側を極性反転して得られた-90度画像を任意の割合でミックスすることで、位相解像度と動解像度が非干渉に独立制御できる仕組みとなっている。
【0223】
[拡張ウェーブレット変換における階層表現]
従来のウェーブレット変換での階層化に際しては、低周波方向にダウンサイジングしながら階層構造を構築することが可能である。
図21Aは、従来のウェーブレット変換において、低周波方向にダウンサイジングしながら階層構造を構築する様子を示す図である。
【0224】
これに対し、拡張ウェーブレット変換では、時間空間入り交りとなるので、画角の変更が困難である。そのため、階層構造ではなく、階段構造として表現する。
図21Bは、拡張ウェーブレット変換での階段構造を示す図である。階段構造では、便宜上HH成分は省略されている。
【0225】
この表現に従って、DNN変換ストリームをチューニング(リバースエンジニアリグ)した拡張ウェーブレット変換を階層的に繋ぎ込むと、拡張ウェーブレット変換ストリームを得ることができる。
図22Aは、拡張ウェーブレット変換ストリームを示す図である。
【0226】
このように、各階層の動解像度成分および時間位相解像度成分を俯瞰してチューニングすることでデバッガビリティを向上させることが出来る。
【0227】
ここで、第1の実施形態の機械学習を行った場合の実験結果と、従来のマッチング方式での実験結果を説明する。
図22Bは、従来のマッチング方式による実験結果を示す図である。
図22Cは、機械学習での解析による実験結果を示す図である。
【0228】
両図は、連続フレームから6軸(dx/dy/dx/ロール角/ヨー角/ピッチ角 )を推定したものである。
【0229】
機械学習時には、比較的良好な画像パターンである。従来のマッチング手法でエッセンシャルマトリクスを算出し、これから特異値分解を経て6軸情報を得たものを機械学習させている。
【0230】
従来のマッチング手法では、単調なパターンでは結果が良好である。しかし、反面、カーペットなど類似した模様があるとマッチングエラーとなり解析に失敗する。
【0231】
機械学習で得たアルゴリズムでの解析結果では、破綻がなく、6軸の動きデータの解析がうまくいっている。
【0232】
本実施形態の機械学習は、元々、従来のマッチング手法の結果を学習させたものである。しかし、一度学習が完了すると、従来方式よりも機械学習のほうがマッチングの破綻がなく、ロバストな結果を得ることができる。
【0233】
以上、第1の実施形態について説明した。
【0234】
<第2の実施形態>
次に、第2の実施形態について説明する。なお、以下の各実施形態では、典型的な技術の問題点、問題解決の手段、および実施形態の構成要素の順で説明する。
【0235】
第2の実施形態では、機械学習モジュール10において合成されるアルゴリズムについて、複数のアルゴリズムを重ね合せる事により得られる効果について説明する。
【0236】
[典型的な技術の問題点]
DNN技術は、人工知能が自ら解を見つけ出すことを可能にした技術である。
【0237】
今後、課題によっては人間の設計では難易度の高い逆算問題を難なく解くことができる可能性を秘めた有効な手法である。
【0238】
アルゴリズム設計の分野では、数学的な知識を身につけた経験者でなくても、入力と期待値(教師信号)のみを与え、機械学習で近似式を得る設計スタイルが可能になる。
【0239】
DNN技術は、アルゴリズム開発の技術的ハードルを下げることを可能とする。
【0240】
その反面、機械学習ベースのアルゴリズム開発では、全体のオーバーヘッドが大きくなる傾向がある。もし仮に、人間が理論立てて設計できれば、DNNよりもコンパクトなリソースでアルゴリズム開発を行うことが出来る可能性が高い。
【0241】
その点が、DNN普及の一つの障害となっている。
【0242】
[問題解決の手段]
DNNは、アルゴリズム単体の実現のみに注力するとオーバーヘッドは大きい。しかし、一つのニューラルネットワーク上に複数のアルゴリズムを設けることが可能であり、一般的には、ヘテロジニアス型DNNが知られている。
【0243】
ヘテロジニアス型DNNでは、前段のプレトレーニング層PTを共通の認識モジュールとして共有し、後段のファインチューン層FTでアルゴリズムごとに各DNNブロック11fを設け、複数のアルゴリズムを構築するものである。
【0244】
このように、同じニューラルネットワーク上で複数のアルゴリズムを同時に実行できると、システム全体としては、アルゴリズム単体のオーバーヘッドを分散して評価できる。
【0245】
そのため、機械学習のアルゴリズムを普及させる動機づけになる。
【0246】
また、DNNには、ヘテロジニアス型DNN以外にも、ニューラルネットワーク上に複数のアルゴリズムを相乗りさせる手法、例えば、サイマル型DNN、圧縮信号処理型DNNがある。これらのDNNを提供することで、更にDNN技術を普及させることが出来る。
【0247】
[実現方法]
次に、機械学習モジュール10におけるアルゴリズムの重ね合せについて説明する。
図23は、アルゴリズム重ね合せの例を一覧にした図である。
【0248】
(1)
ヘテロジニアス型DNNは、前段のプレトレーニング層PTを共有し、後段のファインチューン層FTにて、各アルゴリズム用のDNNブロック11fを備える。こうしてアルゴリズムを合成することで、同じニューラルネットワーク上に複数のアルゴリズムを相乗りさせるものである。
【0249】
(2)
サイマル型DNNは、DNN変換ストリーム上で構築した周波数階層を活用したものである。
【0250】
例えば、前述した空間解像度変換用DNNブロック11fを活用して、8K-60Pの次世代スーパーハイビジョン画像を情報源にして、これを4K-240P、2K-960Pへ解像度変換することが出来る。サイマル型DNNでは、ハイビジョンTVで8K放送を有効に活用する用途を想定している。
【0251】
このような複数画像を、周波数ごとに階層化されたDNN変換ストリーム上で同時出力する用途をサイマル型DNNとして、アルゴリズム相乗り方法の一つの手法に定義できる。
【0252】
(3)
一方、圧縮信号処理型DNNは、同一の階層で複数のアルゴリズムを同時に実行するものである。
【0253】
例えば、8K-60P画像に対するカメラプロセス処理の演算量を抑える例を説明する。
図24は、8K-60P画像に対するカメラプロセス処理の演算量を抑える例を示す図である。
【0254】
図に示す例では、8K-60P画像をダウンコンバートして4K-60P画像を得て、4K画像のみに信号処理を施す。
【0255】
信号処理が施されない8K画像と、信号処理済みの4K画像を機械学習モジュール10に入力して、4K画像同等の信号処理を模倣するアルゴリズムを構築する。
【0256】
このアルゴリズムを用いると、8K画像に4K同様の信号処理が施される。
【0257】
これは、同一階層にて、ガンマ処理や、ホワイトバランス処理、マトリクス処理、ディテイル処理など複数の処理を行う複数のアルゴリズムを同時に実行したという解釈になる。
【0258】
このように、ある階層にて信号処理に十分な線形分離が施されている条件下では、同一階層にて同時に複数のアルゴリズムを同時実行できることを意味する。
【0259】
これが、圧縮信号処理型DNNの実体である。
【0260】
以上のように、前段のプレトレーニング層PTを共通化して、後段のファインチューン層FTに専用のDNNブロック11fを設置し各アルゴリズムを構築するヘテロジニアス型DNN、周波数階層ごとに出力値を得て利用するサイマル型DNN、同一階層にて同時に複数の信号処理を施す圧縮信号処理型DNNの3系統のアルゴリズム重ね合わせ法を挙げることが出来る。
【0261】
1つのニューラルネットワーク上に実装される複数のアルゴリズムを管理する上流設計環境を提供することで、DNNのオーバーヘッドを最小化することが出来る。
【0262】
以上、第2の実施形態について説明した。
【0263】
<第3の実施形態>
次に、第3の実施形態について説明する。第3の実施形態では、機械学習モジュールでの入力画像の現像処理がLPF(Low Pass Filter)的に働く傾向を考慮して、別途HPF(High Pass Filter)的に働く従来型逐次処理モジュールを付加し、LPF/HPF協調変換を行い、現像結果を調整する。
【0264】
[典型的な技術の問題点]
時間方向の制御においては、前述にように100%の解は得られない。このような解が一意に定まらない問題においては、学習の過程でフィルタが平均化され、システム全体としてはローパスフィルタの傾向を持つ。このため、設計者の意図に反して精度が出ないケースも多い。
【0265】
[問題解決の手段]
このようなシステム全体でのローパス効果を解消するため、ローパス効果とは逆の特性であるハイパス効果を持つフィルタを、DNN変換ストリーム上に織り交ぜる。
【0266】
ハイパスフィルタの実装形態には複数の方式、例えば、幾何学変換型、マルチゲート型、データベース参照型、CNN型がある。
【0267】
LPF効果を持つDNNブロック11とHPF効果を持つモジュールを交互に繰り返すことで、現像の仕上がりを向上させることが出来る。
図25は、本実施形態の機械学習モジュール10および従来型逐次処理モジュール12の構成を示すブロック図である。
【0268】
[実現方法]
(幾何学変換型)
図26Aは、幾何学変換モジュール13を用いる場合の構成例である。
【0269】
前述の機械学習で得られた結果を元にパターンマッチングし、動き量の分だけ、幾何学的に被写体を動かした画像を生成する。
【0270】
図26Bは、幾何学移動の詳細を示す図である。
【0271】
ウェーブレット型ヘッダWHで合成されたアルゴリズムで得られた2倍速現像画像は、全体的に解像度不足である。しかし、被写体の交差や、衝突、変形の現像に対して非常にロバストである。
【0272】
この現像結果のパターンマッチングを行い、動きベクトル量を算出し、元画像を動きベクトル分だけ移動させることで2倍速の画像を現像した場合、解像度は元画像の解像度を維持しつつ、比較的、交差や衝突にロバストな画像が得られる。
【0273】
しかし、ここで得られた画像には多少の歪みなどアーティファクトが生じるので、さらにウェーブレット型ヘッダWHを持つ機械学習モジュール10に渡す。
【0274】
そして、このアーティファクトにLPF効果を作用させながら、機械学習モジュール10および幾何学変換モジュール13での処理を交互に繰り返し、アルゴリズムの合成精度を向上させる。
【0275】
(マルチゲート型)
図27Aは、マルチゲート型モジュールを用いる場合の構成例である。
【0276】
マルチゲート型では、あるパターンの絞り込み学習を行い、特定のパターンに対して精度の高いフィルタを生成する。
【0277】
図27Bは、マルチゲート型の処理の流れの詳細を示す図である。
【0278】
通常、機械学習により合成されたアルゴリズムでは様々なシーンの現像を想定するため、学習パターンが網羅的に与えられる。
【0279】
しかし、逆算問題の性質上、網羅的に学習パターンを与えると、一意の解が得られないパターンでアルゴリズムが平均化され、徐々にLPF効果を持つようになる。
【0280】
一方、特定のパターンに絞り込んで学習を行うと、その特定のパターンに対してのみ精度の高いフィルタを得ることができる。
【0281】
このフィルタは、想定されないパターンに対してアーティファクトを生成する。
【0282】
フィルタ特性の異なる2つの機械学習モジュールを交互に繰り返すことで、アルゴリズム合成の精度を向上させることが出来る。
【0283】
(データベース参照型)
図28Aは、データベース参照型モジュール14を用いる場合の構成例である。
【0284】
データベース参照型モジュール14は、学習データベースを蓄積する機能を備え、ニューラルネットワーク上で情報を増やす処理を行うものである。
【0285】
SparseAutoEncoderなどスパースな成分を得るオートエンコーダを採用してスパースな基底(データベースに対するアドレス)を生成し、この基底に最適なデータベースを参照し、後段に対して1:N(N>1)写像を行うことでHPF効果を実現する。
【0286】
図28Bは、LUT(Look Up Table)に関する補足を説明する図である。
【0287】
ニューラルネットワークは積和演算回路で構成され、CNNなど一部のフィルタ技術を除いては、基本的に写像変換を行う。そのため、入力された情報量が途中で増えることはない。
【0288】
情報を増やすためには、データベース(LUT)を参照して1:N写像(N>1)の構成をとる必要がある。
【0289】
本構成では、まずアドレス(Adrs)層で画像の基底情報を取得し、この基底をデータベース参照のアドレスとして各ニューロンにてデータベース参照を行ない、1:N写像を行う。
【0290】
LUT層は、遺伝的アルゴリズムなど機械学習手法により経験則データベースを蓄積し、同じ基底のデータに対してデータを付加して後段に渡していく。
【0291】
LUT層は、入力画像フレーム自身を与えることも出来る。また、LUT層は、ニューラルネットワークが不得意とする幾何学変換等を処理することも出来る。更に、LUT層は、ニューラルネットワークに与える入力データをプログラム上のポインターとして扱うことも出来る。
【0292】
なお、
図28Cは、実体データの学習とポインターデータの学習の違いを示す図である。
【0293】
図に示すように、従来のニューラルネットワークの学習では、実体データを入力してそこから答えを得る構成が基本である。
【0294】
このような構成では、例えばHD画角の画像を180度回転するなど、画素が広域に及ぶ問題を解くには、画像のレンジ(D)を切り口とする学習では不向きであった。幾何学変換の問題を解くには、画像のドメイン(X,Y)を切り口とする学習が必要である。
【0295】
本実施形態では、入力データをポインターとして取扱い、LUT層で参照先の画素を変える構成を採る。
【0296】
この構成により、幾何学変換を含め、再帰処理問題、リスト処理問題など、ある種のポインターの取り扱いが必要な問題への対処を可能にすることが出来る。
【0297】
(CNN型)
図29は、CNN型モジュールを用いる場合の構成例である。
【0298】
CNN型モジュールを用いる場合、プレトレーニング層PTのヘッダにCNN型ヘッダCHを採用し、CNNの畳み込みにより獲得される超解像の効果で、データベース型と同様に情報を増やすフィルタを構成し、HPF効果を与える。
【0299】
通常、ニューラルネットワークは積和演算回路に過ぎない。そのため、基本的にはニューラルネットワークの行う処理は写像であり、入力データの情報量に対して出力データの情報量が増えることは殆ど無い。
【0300】
しかし、CNNにより生成されたオブジェクト型ヘッダOHは畳み込みを何度も繰り返す効果で、シナプスデータそのものが経験則を蓄積したデータベースとして振る舞う。
【0301】
入力情報に対して、シナプスデータの積和演算を畳み込みで繰り返すことで、情報を付加した出力値を得ることができる。
【0302】
このため、演算量のオーバーヘッドは大きくなるもののCNNで得られたオブジェクト型ヘッダOHを入力としてアルゴリズムを合成する場合、AutoEncoderで周波数分解したウェーブレット型ヘッダWHで合成したアルゴリズムが全体的にLPF方向に作用するのに対して、オブジェクト型ヘッダOHで合成したアルゴリズムはHPF方向に作用するので、アルゴリズムの合成精度を向上させることが出来る。
【0303】
<第4の実施形態>
次に、第4の実施形態について説明する。第4の実施形態では、機械学習モジュール10の最適化について説明する。
【0304】
[典型的な技術の問題点]
機械学習モジュール10は、プレトレーニング層PTにおいて周波数分解、構造分解、または抽象度分解を行う階層から、ファインチューン層FTにおいて画像の再構築を行う階層まで、複数の階層(DNNブロック11)により構成されている。
【0305】
より高い精度のアルゴリズムを合成するために、機械学習モジュール10は階層が深くなる傾向にある。しかし、各階層を解析していくと、殆ど機能しない中間層も観測される。そのため、機械学習モジュール10全体の最適化も重要な課題になる。
【0306】
[問題解決の手段]
機械学習モジュール10におけるDNN変換ストリームでは、逆算問題に由来する様々なアーティファクトの発生を抑えるため、DNNブロック11を多段に階層化して対策を講じている。この対策が、階層増大の要因となっている。
【0307】
そのため、多段の階層化により得られた最終的な出力画像は、逆算問題に由来する様々なアーティファクトを考慮した落し所としての現像結果となっている。
【0308】
そこで、この出力画像を教師信号として別の機械学習モジュール10'で再学習する場合、既に教師画像には適切なアーティファクトが含まれているため、オーバーフィッティングなどが起きず、最初に合成したアルゴリズムよりもコンパクトな階層構造で良好なアルゴリズムを合成することが出来る。
【0309】
[実現方法1]
図30は、機械学習モジュール10を最適化する第1の方法の概略を示す図である。
【0310】
最初に合成したDNNストリームで教師画像を得る。教師画像を新たな機械学習モジュール10'の教師信号として使用する。
【0311】
よりコンパクトな機械学習モジュール10'の構成で、同じ入力から教師画像を得る学習を行うことで、コンパクトな機械学習モジュール10'が構築できる。
【0312】
[実現方法2]
図31Aは、機械学習モジュール10を最適化する第2の方法の概略を示す図である。
【0313】
実現方法1で用いる、最初のDNN変換ストリームを合成するのも大きなオーバーヘッドになる。
【0314】
そこで、図に示すように、最初のDNN変換ストリームを合成する時にも最適化手法を採用し、DNNブロック11ごとに、合成と最適化を進める。
【0315】
アルゴリズムを最適化するために、前処理として、数段階の階層を設け、学習を行い、結果を得ておく。
【0316】
ある一定量の階層を合成し、そこから得られた結果を教師信号として、その一定量の階層よりも階層数の少ないコンパクトな機械学習モジュールで、同等のコンパクトなアルゴリズムを得る。
【0317】
この最適化された階層を前段として、後段に、再び一定量の階層を設けて機械学習を進めて結果を取得する。
【0318】
再び、その結果を教師信号としてコンパクトなアルゴリズムを合成する。
【0319】
以上の手続きを繰り返しながら、最初のDNN変換ストリーム生成の段階から、最適化処理を平行して進めることで、合成時間を短縮させながら、機械学習モジュール10の最適化を行う。
【0320】
[最適化手法の応用例]
次に、上述した最適化手法の応用例、最適化手法でのCNNのAutoEncoderへの因数分解について説明する。
【0321】
最適化手法の応用として、上述のヘッダのデータを入力として、CNNの結果を教師信号として、機械学習させることで、ある程度、CNNと同等の結果を得ることが出来る。
【0322】
但し、本技術が基本とする、リアルタイム性が要求されるAutoEncoder方式では、大規模なCNNモジュールほどの認識性能は実現できない。
【0323】
そこで、人間があらかじめ認識の抽象度を定義し、認識しやすいグループ分けで、ツリー構造に分解していく。
図31Bは、人間が予め認識の抽象度を定義し、認識しやすいグループ分けで、ツリー構造に分解していく様子を示す図である。
【0324】
CNNは高い学習能力がある反面、演算量の都合上、画角が制限され、特に画像処理などにおいて困難な課題が多い。
【0325】
そこで、一度CNNで学習を行い、認識アルゴリズムを合成する。
【0326】
最適化アルゴリズムと同様の手法で、合成の結果を教師画像として、本実施形態で提案するシステムで再学習させると、CNNよりも比較的シンプルなAutoEncoderの構成でも、アルゴリズムの合成が可能であり、より高速なアルゴリズムを合成することが出来る。
【0327】
但し、シンプル化した分、線形分離できる能力は限られている。
【0328】
そのため、各層にて人間が理解できる抽象度を規定してから順に分解していくことで、画像構文木を構成する。
【0329】
例えば、初めに、海や空、地面、自然物、人工物など大まかに分解して、その次に、自然物のノードでは、木や草、幹など細かな抽象度のオブジェクトへ分解する階層を設けていく。
【0330】
以上の手続きで、CNNアルゴリズムをAutoEncoder形式のアルゴリズムへ近似的に因数分解していく。
【0331】
画像構文木は、各層が人間が明示的に区分して生成した構文木であり、各層をそれぞれ有効活用してアルゴリズムを設計可能である。
【0332】
CNNがヘテロジニアス型のアルゴリズムに制限されるのに対して、AutoEncoderの画像構文木では、これに加えてサイマル型のアルゴリズムを構築することも可能となる。
【0333】
ツリー後段では、
図31Cに示すように、CNNがすべての事象を並列に学習するのに対して、
図31Dおよび
図31Eに示すように、AutoEcnoderの構文木では前段で分離された要素は学習させる必要が無くなる。
【0334】
これら3つの図は、CNNのクラスタリングと、AutoEncoderの多重階層化を示すものである。
【0335】
CNNは、画像をクラスタリングして認識するのに対して、AutoEncoderは高い抽象度から徐々に分解して多重階層化したデータ構造で画像をクラスタリングする。
【0336】
分解した先のノードで対象外となったものを区分する必要性がないので、学習に必要なリソースも大幅に低減することができる。
【0337】
すなわち、CNNクラスタリングでは、全ての画像情報が並列関係で全結合層ではswitch文的なアルゴリズムを構築する。
【0338】
これに対し、AutoEncoderでの画像構文木は、if-else構文に分解していくアルゴリズムを構築する。
【0339】
このような学習の違いで、演算量は前者がO(N*N)に対して、後者はO(N*LogN)程度に収まる。
【0340】
そのため、演算量を低減しているにも拘わらず認識が可能である。
次に、
図31Fに示すように、CNNでジャンル分けしながら認識アルゴリズムを設計し、画像へのラベリングを行う。
【0341】
この際のジャンル分けは、人間もしくはある種の機械学習手法で人間が理解可能なジャンルへの分解を規定する。
【0342】
次に、CNNで得られた画像ラベリングと同等の結果をAutoEncoderに学習させ階層化した結果を
図31Gに示す。
【0343】
1層目で空/地面とそれ以外を分離し、2層目で自然物を細かく分離して色分けしている。
【0344】
この実験でCNNとAutoEncoderは、ほぼ同等のラベリングが実現できていることが確認できた。
【0345】
このように、CNNは、複数のAutoEncoderへの近似的な因数分解が可能であり、逆に複数のAutoEncoderを展開すると、一つのCNNへの近似的な集約が可能と考えられる。
【0346】
画像構文木は、人間が各層へ意味付けしながら分解するため、各層でそれぞれアルゴリズム設計が可能であり、サイマル型アルゴリズムの開発が容易となる。
【0347】
また、画像構文木は、
図31H、
図31I、
図31J、および
図31Kに示すように、機械学習モジュールのインクリメンタル開発や、膨大なパターンの識別問題で有効である。なお、インクリメンタル開発とは、徐々に機能を拡張していく開発スタイルである。
【0348】
CNNで合成されたアルゴリズムをAutoEncoderへ因数分解する手法では、例えば、後からDNNブロック11をプラグインすることが可能である。
【0349】
過去に合成したDNNブロック11に変更を加えずに、インクリメンタルに、DNNブロック11を追加して機能を増設していくことが可能となり、機械学習モジュール10をチーム開発していくときに有効な手法となる。
【0350】
例えば、初期の段階で、顔認識系アルゴリズムを開発し、その後、新たに別の機能を追加することになったとする。
【0351】
その場合、顔認識に用いたアルゴリズムをそのままにして、新たに関連する別のノードから枝を伸ばしてDNNブロック11を追加していくことで、過去の資産をそのままに、機能を拡張していくことが出来る。
【0352】
CNNによる顔認識では、主に2つの顔を比較して同一人物であるか否かを評価するアルゴリズムで高い成績が報告されている。
【0353】
しかし、例えば比較型のアルゴリズムではなく、65536人の全員に個別のIDを割り振るアルゴリズムでは、CNNでの全結合層では65536本の出力が必要であり、このような機械学習では演算量が膨大になる。
【0354】
一方、AutoEncoderベースで構文木を生成しながら最適化する方式では、例えば各層に性別や髪の色、肌の色で閾値を設けて2文木構造に分解していくアルゴリズムを設計することが出来る。
【0355】
この方式では、CNN方式よりコンパクトな16階層のアルゴリズムで65536人にIDを付与することが出来る。
【0356】
このように、CNNを因数分解して多重階層化していく条件下で、CNNとAutoEncoderでは、機械学習能力に特別な差異はなく、用途により向き不向きが存在すると考えられる。
【0357】
CNNとAutoEncoderには、それぞれ目標とするアルゴリズムで向き不向きがあるので、両者を的確に組み合わせることで効率的な設計が可能である。
【0358】
<第5の実施形態>
次に、第5の実施形態について説明する。第5の実施形態では、光学補正系の実装について説明する。
【0359】
[典型的な技術の問題点]
時間方向の現像を制御できる機械学習モジュール10を利用すると、フリッカ現象やノイズ現象などを、時間方向の相関性を利用して、一定レベルまで取り除ける画像補正系アルゴリズムを合成することが可能である。
【0360】
一方、これらの現象は、入力画像のシーンや強度によっては特徴抽出が困難なケースもあり、機械学習を用いても完全には解決できず、過剰補正するケースもある。
【0361】
[問題解決の手段]
フリッカやノイズなど、時間変動する「ノイズ類」は、フレームを加算して蓄積することにより、動体に残像は生じるものの、時間方向にローパスフィルタ効果が働き、自然に取り除くことが可能である。
【0362】
このようなフレーム蓄積によるノイズ類の低減においては、ノイズ類を特徴抽出する必要もない。
【0363】
そこで本実施形態では、時間位相を制御する技術を用いることにより、これらノイズ類の特徴抽出が困難なケースにおいても、動きの輪郭および動解像度を極力保持したまま、フレーム蓄積効果を働かせて、ノイズ類を低減する装置を提案する。
【0364】
[実現方法]
隣り合うフレーム同士で時間位相をそれぞれ±180度ずらした位相のフレームを現像して、現像したフレーム同士を加算する。
図32は、フリッカを補正する例を示す図である。
【0365】
隣り合うフレーム同士の輪郭はほぼ一致するので、フレーム蓄積に伴う残像の増大や2重輪郭など、アーティファクトの発生を最小限に抑えつつ、フレーム蓄積効果でノイズ類を約半分程度まで低減することが出来る。
【0366】
以上のように、機械学習モジュール10では、特徴抽出できたフリッカおよびノイズ成分に対しては、前述の一連の機械学習処理にて教師信号を与えて、ヘテロジニアス型のDNNブロック11fで対処することが出来る。
【0367】
一方、特徴抽出できないシーンにおいては、フレーム補間画像上でもノイズやフリッカを時間位相に対して制御できず、時間位相を動かしても不動点となる。
【0368】
そのため、隣り合うフレームを用いて±180度位相をずらして現像したフレームの加算によるフレーム蓄積効果により、これらのノイズ類を約半分程度まで低減することが出来る。
【0369】
<第6の実施形態>
次に、第6の実施形態について説明する。第6の実施形態では、オブジェクト型ヘッダとウェーブレット型ヘッダのハイブリッド化について説明する。
【0370】
[典型的な技術の問題点]
オブジェクト型ヘッダOHは、一般的に、画像認識系の分野で有効な手段である。しかし、オブジェクト型ヘッダOHを画像処理系に用いる場合、一般的に、演算量が多くなる。そのため、空間超解像や、ノイズリダクション、周辺画素からの情報推定など、一部の成功事例の報告を除き、オブジェクト型ヘッダOHを画像処理系で幅広く用いることは困難な状況である。
【0371】
画像処理においては、オブジェクト型ヘッダOHよりも、ウェーブレット型ヘッダWHのAutoEncoderで周波数成分の抽出し、周波数ごとに画像を組み上げていくアプローチが有利である。
【0372】
一方、画像処理においても、多少画像認識が必要なケースも存在し、必要に応じて両ヘッダの同時利用が要求されるケースもある。
【0373】
しかしながら、両ヘッダを同時に採用するのは、非常に大きなオーバーヘッドである。
【0374】
[問題解決の手段]
そこで、ウェーブレット型ヘッダWHについては、DNNブロック11pを階層化せず、学習過程に着目して周波数分解を行いながら、得られた周波数分解画像に対してCNNによる処理を行う。これにより、周波数階層と抽象度階層の双方のプレトレーニングを同時に実行する。なお、
図33は、周波数分解に関して、AutoEncoderとAutoDecoderにおける違いを示す図である。
【0375】
[実現方法]
機械学習は、ゲインの大きな成分から優先的に学習を進める性質がある。機械学習の進捗度合に着目すると、初期段階では低周波成分を中心に学習が優先的進み、終盤では高周波成分まで復元される。
【0376】
ある一定の学習段階ごとに画像を抽出することで、複数の周波数成分の画像を取得することが出来る。
【0377】
各段階(階層)で教師画像と収束画像の差分を取ることで、各階層において低周波から高周波までの成分を抽出でき、周波数成分を得ることが出来る。なお、
図34は、周波数成分を分解する様子を示す図である。
【0378】
これらの周波数成分に対してCNNとPoolingを繰り返し、抽象度方向の階層化を行うことで、周波数×抽象度の2次元プレトレーニングを実行する。
【0379】
ところで、逆算問題においては、前述の通り、生成されるアルゴリズムにLPF効果が伴う。そのため、必要に応じて、周波数成分を処理する場合、LPF型とHPF型の2つのDNNブロック11を定義し、これらのDNNブロック11を交互に織り交ぜながら協調変換を実現することを前述の実施形態で述べた。
【0380】
本実施形態では、学習パターンを操作することで、LPF型とHPF型の双方のヘッダを得る。
【0381】
網羅的にパターンを学習させると、逆算問題ではシステム全体でLPF効果が生じたデジタルフィルタを取得できる。
【0382】
逆に、特定のパターンを絞り込み学習すると、あるパターンでのみ有効な周波数応答の良いハイパスフィルタが生成される。
【0383】
前者のLPF効果を持つデジタルフィルタを、前述のウェーブレット型ヘッダWHと定義する。後者のハイパスフィルタを、特定の領域でのみ正しい解を持つGate型ヘッダGHと定義する。なお、
図35は、Gate型ヘッダGHにおける特定の事象を分解する様子を示す図である。
【0384】
以上の手法により、ウェーブレット型ヘッダWHとGate型ヘッダGHの双方を用いて、2次元(周波数階層×抽象度度階層)の処理を行えるヘッダを得ることが出来る。
【0385】
<第7の実施形態>
次に、第7の実施形態について説明する。第7の実施形態では、記号変換による画像処理について説明する。
【0386】
[典型的な技術の問題点]
前述までの技術では、プレトレーニング層PTにて得られた、オブジェクト型ヘッダOH、ストラクト型ヘッダSH、またはウェーブレット型ヘッダWHにより分解された各成分を生成し、ファインチューン層FTにて、これらの成分を組み上げて目標とするデコード画像を得る構成を採っていた。
【0387】
このように、ファインチューン層FTにおいて、デコード画像をダイレクトな目標値とする手法では、プレトレーニング層PTで特徴抽出された成分の多くをフィルタリングして最終結果を得るだけである。
【0388】
そのため、一度、デコードされたデータは、これ以降、後段のDNNブロック11fで扱うことが出来ない。
【0389】
また、目標値を一定のデコード値に定めてしまうと、本来、プレトレーニングにて得られる各種ヘッダのオブジェクト情報を有効活用することが出来なくなってしまう。
【0390】
[問題解決の手段]
そこで、本実施形態では、ファインチューン層FTにおいて、プレトレーニング層PTで各ヘッダが生成したオブジェクトツリー情報から最終デコード画像を得る方式ではなく、目標値を、同じヘッダ方式で分解したオブジェクトツリー情報に変換する方式を採用している。
【0391】
ファインチューン層FTでは、オブジェクトツリー情報への変換後にプレトレーニング層PTでエンコーダと同時に合成される各デコーダを用いて、デコード処理して最終画像を得る。
【0392】
なお、
図36Aは、オブジェクトツリーに対する記号変換の概要を示す図であり、
図36Bは、数値計算型アルゴリズムと数式処理(記号処理)型アルゴリズムの処理の流れの違いを示す図である。
【0393】
[実現方法]
プレトレーニング層PTでは、連続5フレームの画像からオブジェクトツリー画像を生成する。ファインチューン層FTに与える教師画像として、例えば、-100%、-50%、0%、50%、および100%の再生速度に相当するフレームから各オブジェクトツリー画像を準備する。
【0394】
記号処理型機械学習モジュール10sにおいて、入力オブジェクトツリーから期待値オブジェクトツリーを出力する学習を行う。
【0395】
合成後のアルゴリズムは、制御項で指定した再生速度に応じたヘッダ画像を出力することになる。
【0396】
このオブジェクトツリー画像は、プレトレーニング層PTで生成済みの各ヘッダ用のデコーダを通すことにより、スロー画像となる。
【0397】
この方法は、ファインチューン層FTでダイレクトにハイフレームレート画像を目標として現像する手法よりも、ヘッダ情報に対して各成分により細かなオペレーションを行うことが出来る。そのため、アルゴリズムの精度が向上し、将来的には、より複雑な画像処理アルゴリズムを合成できる可能性がある。
【0398】
図37A、37B、および37Cは、典型的な技術である数値計算型の画像処理アルゴリズム2種類と、本実施形態における記号処理型の画像処理アルゴリズムとの比較を示す図である。
【0399】
数値計算型の画像処理では、画素に対して数値計算的な処理を行い、出力値を得る。
【0400】
前述した実施形態でも、ファインチューン層FTでは、各種ヘッダ情報を入力するものの、出力値はデコードされた単純な画素情報となるものであった。
【0401】
本実施形態では、各ヘッダを画像構文木と解釈する。記号処理アルゴリズムは、この構文木の各成分に対して、個別に細かな処理するアルゴリズムを合成する。そのため、単純なデコード画像を得るアルゴリズムとは異なり、複雑な画像処理アルゴリズムを用いて、課題への対処が可能となる。
【0402】
(補足1)
各種ヘッダでは、プレトレーニングの段階で、入力と出力がほぼ等しくなるような教師無し学習を行っている。そのため、本実施形態におけるアルゴリズムの合成過程では、エンコーダとデコーダが同時に生成される。
【0403】
前述した実施形態では、オブジェクトツリー生成のためにエンコーダが利用され、
図37Bに示す方式で、ファインチューン層FTの各DNNブロック11fがデコーダを合成する設計方針である。そのため、プレトレーニング層PTのデコーダはまったく利用されることがなかった。
【0404】
本実施形態では、ファインチューン層FTはデコード画像を得る学習は行わない。入力される目標値(教師信号)も、プレトレーニング層PTでオブジェクトツリー情報に分解された目標値(教師信号)を用いる。本実施形態のファインチューン層FTは、入力ヘッダ情報から目標値ヘッダ情報に変換する学習を行う。
【0405】
すなわち、本実施形態のファインチューン層FTは、「入力オブジェクトツリーから別の目標値オブジェクトツリーへの記号変換」を行う。
【0406】
このように変換されたオブジェクトツリーは、最終的に、プレトレーニング層PTで合成した元のデコーダで画像を得る手法を採用している。
【0407】
(補足2)
典型的な画像処理デジタルフィルタは、画素情報を入力として画素情報を出力とする数値計算型のデジタルフィルタが殆どである。
【0408】
数値計算型のデジタルフィルタでは、主に周波数成分を解析し、積和演算や論理演算で各画素の信号レベルを適切に変換するアルゴリズムを用いていた。
【0409】
本実施形態では、DNNが入力画像をオブジェクトツリーと捉えて、抽象度の高い画像認識を行っている。
【0410】
このようなオブジェクトツリーの内部構造のそれぞれの要素に対して、数値計算処理、ノード組み換え処理、および論理演算処理を加えることにより、これまでにないオブジェクト指向的な抽象度の高い画像処理が可能になる。
【0411】
なお、具体的な記号処理アルゴリズムを人力で設計するのは困難なため、オブジェクトツリーを組み替えるアルゴリズムは、基本的に、機械学習により合成する。
【0412】
(補足3:応用例)
数式処理型機械学習モジュール10eと数値計算型機械学習モジュール10vを用いた、より具体的な応用例について説明する。
図38は、数値計算型機械学習モジュール10vを用いた伝送装置40vの構成例を示す図であり、
図39は、数式処理型機械学習モジュール10eを用いた伝送装置40eの構成例を示す図である。
【0413】
これらの伝送装置では、AutoEncoderの次元圧縮機能を用いて画像を圧縮して伝送することで、撮像モジュール40iと現像モジュール40dの間の伝送負荷を抑える構成である。
【0414】
双方の構成とも、前段の撮像モジュール40iで元画像を1/4サイズに次元圧縮し、モニタリング用途に1/4ダウンコンバートして、トータルで伝送量を半分にする。そして、後段の現像モジュール40dで次元圧縮画像をデコードするものである。
【0415】
双方とも、アルゴリズムの重ね合わせ機能を利用して、ダウンコンバート画像のみに信号処理を施す。信号処理済み画像と次元圧縮画像から信号処理済みのデコード画像を得ることを目的としている。
【0416】
撮像および伝送の段階での圧縮処理と、信号処理の圧縮で低電力化を測った実施形態である。
【0417】
図38に示す構成は、デコード時に、信号処理済みのダウンコンバート画像も同時に入力し、信号処理済みデコード画像を得る伝送装置40vの構成例である。
【0418】
例えば、元画像を4K画像とする。4K画像のデータ量は大きいので、AutoEncoderの次元圧縮を用いてエンコードし、4K画像をHD画像に圧縮する。
【0419】
圧縮された画像は、AutoEncoderで同時に合成されたデコーダで、元の画像に復元可能である。但し、圧縮技術同様に、画質の劣化は起きる。
【0420】
本実施形態では、デコード時に、カメラ信号処理もHD程度の演算量に抑えるため、4K画像をダウンコンバートした画像も同時に後段の現像モジュール40dに送り、ダウンコンバート画像に対してのみカメラ信号処理を行う。
【0421】
先に次元圧縮した画像と、カメラ信号処理済み画像の2つの画像を入力として、4K画像全体にカメラ信号処理が施された画像を教師とする学習を行った数値計算型機械学習モジュール10vを設けると、ダウンコンバート画像とほぼ同等のカメラ信号処理が施された4K画像を得ることが出来る。
【0422】
本構成を用いたデコード処理では、モノクロ1画素に対して6回程度の乗算が増えるだけであり、システム全体ではHDサイズ+α程度のカメラ信号処理量に抑えられる。
【0423】
システム全体で見ると、AutoEncoderによる次元圧縮効果で伝送帯域を半分に出来、かつ、この次元圧縮データを活用して、カメラ信号処理を75%程度圧縮しており、低電力化およびハードリソースの低減に寄与するものである。
【0424】
図39は、次元圧縮画像と信号処理済み画像を入力として、信号処理済みの次元圧縮画像へ変換し、最後に、最初の次元圧縮モジュール合成時に同時に得られたデコーダでデコードするものである。
【0425】
伝送装置40eの目的は伝送装置40vと同等であるが、伝送装置40vは圧縮信号処理を数値計算型で構成し、デコーダに盛り込んでいる。これに対し、伝送装置40eは記号処理型であり、信号処理済みの次元圧縮データを得るものである。
【0426】
伝送装置40eの演算量は、数値計算型より多少増えるが、記号処理を用いることで、より精度の高いアルゴリズムが合成できる。
【0427】
適切に教師を与えることで、本記号処理階層にて、複数のアルゴリズムを同時に実行することが出来る。
【0428】
記号処理後の次元圧縮データは、最終的に、AutoEncoderが合成したデコード層を通して、4K画像に変換される。
【0429】
まとめると、前者の数値計算型機械学習モジュール10vは、目標値をピクセルデータとしているのに対して、後者の数式処理型機械学習モジュール10eは、目標値を次元圧縮された各成分としている。
【0430】
演算に必要なリソースは、前者の数値計算型アルゴリズムのほうがやや少ない。しかし、アルゴリズム精度やアルゴリズムのインテリジェント化では、後者の数式処理型アルゴリズムのほうが、各クラスタリングされた成分に対して、個別に処理するアルゴリズムを合成するため、優位となることが実験結果により確認されている。
【0431】
<第8の実施形態>
次に、第8の実施形態について説明する。第8の実施形態では、各中間層成分からの意味抽出について説明する。
【0432】
[典型的な技術の問題点]
各ヘッダから生成される成分は、デコード画像に対してどのように作用する情報であるかを確認することが困難であった。
【0433】
[問題解決の手段]
各成分をマスクしてデコードした画像を取得し、元の画像と比較することにより、各成分の詳細を知ることが出来る。
【0434】
[実現方法]
図40Aおよび
図40Bは、本実施形態の機械学習モジュール10dの構成例を示す図である。
【0435】
図に示すように、プレトレーニング層PTで分解されたヘッダを入力として、位相制御の信号(phaseで示す)を与え、前述のとおり、元の連続フレームのいずれかを選択するセレクタを用いて、入力ヘッダの数の分だけセレクタ信号を入れ、以下のケースに分けて機械学習する。
【0436】
(1)セレクタがALL ONのときは、Phase信号に基づき連続フレームのいずれかを出力する(これは前述までと同様)。
(2)セレクタがALL OFFのときは、黒色の画像を出力する。
(3)セレクタのどれか一つだけがONになっているときは、その番号に該当するヘッダ画像を出力する。
【0437】
以上の機械学習を行った結果として、まずセレクタALL ONでPhase信号に従った画像を取得できる。
【0438】
セレクタのどれか一つをOFFにしたときは、該当する成分がマスクされたデコード画像が得られる。
【0439】
得られた画像と元の画像との差分を取るか、またはALL ONで有られた画像との差分を取ることで、該当するヘッダ画像が欠落した場合の変化量が解析でき、各ヘッダがデコード画像にどのように寄与しているかを解析することが出来る。
【0440】
<発明の効果>
既に出願済の、機械学習モジュールに与える入力値および期待値(教師信号)を設計する上流設計モジュールのコンフィグレーション手法、そして今回提案する、プレトレーニング層PTおよびファインチューン層FTにおける階層化手法、デバッグ手法、チューニング手法、および最適化手法により、機械学習技術を用いた包括的な画像処理アルゴリズムプラットフォームを提供できる。
【0441】
この包括的な画像処理アルゴリズムプラットフォームは、これまで人間の設計では困難であった課題を人工知能で円滑に解決する技術を提供するものである。
【0442】
<補足事項>
本技術は以下のような構成もとることができる。
(1)
階層化された複数のディープラーニングニューラルネットワーク・ブロックにより構成された積和演算回路であり、目標とする画像処理用のフィルタ特性を持つアルゴリズムを機械学習により合成する機械学習モジュールと、
前記機械学習モジュールにおける入出力データに基づいて、前記各ディープラーニングニューラルネットワーク・ブロックにおけるデジタルフィルタ特性を解析するデバッグモジュールと、
前記デバッグモジュールの解析結果に基づき、ゲイン調整を行い、入力画像から出力画像を現像するグレーディングモジュールと
を備えた情報処理装置。
(2)
前記(1)に記載の情報処理装置であって、
前記機械学習モジュールは、
教師無し学習を行うプレトレーニング層と、
教師あり学習を行うファインチューン層と
から構成される
情報処理装置。
(3)
前記(2)に記載の情報処理装置であって、
前記機械学習モジュールは、
前記プレトレーニング層に含まれる前記各ディープラーニングニューラルネットワーク・ブロックの中間層で分解された成分を、前記ファインチューン層に含まれる前記各ディープラーニングニューラルネットワーク・ブロックの教師信号として、前記教師あり学習を行う
情報処理装置。
(4)
前記(2)または(3)に記載の情報処理装置であって、
前記プレトレーニング層は、
入力画像に対して畳み込みとプーリングを行い、入力画像をオブジェクトツリー構造に分解するオブジェクト型ヘッダにより構築される
情報処理装置。
(5)
前記(2)または(3)に記載の情報処理装置であって、
前記プレトレーニング層は、
入力画像から、高周波から低周波まで時間および空間が入り混じった周波数分解画像を生成するウェーブレット型ヘッダにより構築される
情報処理装置。
(6)
前記(2)または(3)に記載の情報処理装置であって、
前記プレトレーニング層は、
入力画像の深度解析、輪郭解析、または領域解析において有効な成分を抽出するストラクト型ヘッダにより構築される
情報処理装置。
(7)
前記(2)から(6)のうちいずれか1つに記載の情報処理装置であって、
前記ファインチューン層は、
複数フレームからなる入力画像を用いて、フレーム間学習を行う前記複数のディープラーニングニューラルネットワーク・ブロックおよびフレーム内学習を行う前記複数のディープラーニングニューラルネットワーク・ブロックから構成される
(8)
前記(7)に記載の情報処理装置であって、
前記フレーム内学習を行う前記複数のディープラーニングニューラルネットワーク・ブロックは、
交換則変換を行う前記複数のディープラーニングニューラルネットワーク・ブロック、空間解像度変換を行う前記複数のディープラーニングニューラルネットワーク・ブロック、動解像度変換を行う前記複数のディープラーニングニューラルネットワーク・ブロックの順で接続される
情報処理装置。
【0443】
[補足事項]
その他、本技術は、上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。