(57)【要約】【課題】機械学習システムを用いて良好に目的のアルゴリズムを合成する。【解決手段】情報処理装置は、プログラムコードで記述されたシナリオに従って、入力画像とこの入力画像に対する画像処理の期待値としての教師画像からなる複数の学習情報を生成し、前記生成された複数の学習情報を、機械学習により画像処理アルゴリズムを合成する機械学習モジュールに供給する制御部を有する。【選択図】図１
2016071597.tif 000002
【特許請求の範囲】
【請求項１】
プログラムコードで記述されたシナリオに従って、入力画像とこの入力画像に対する画像処理の期待値としての教師画像からなる複数の学習情報を生成し、前記生成された複数の学習情報を、機械学習により画像処理アルゴリズムを合成する機械学習モジュールに供給する制御部を有する
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記制御部は、予め作成された構成情報に従って、前記機械学習モジュールの機械学習アルゴリズムを決定する基本ファンクションを選択するように構成される
情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記制御部は、前記画像処理アルゴリズムの振る舞いを変化させるためのデバッグ用の制御信号を前記機械学習中に前記機械学習モジュールに入力データとして与えるように構成される
情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記制御部は、前記構成情報に従って、前記デバッグ用のファンクションを選択するように構成される
情報処理装置。
【請求項５】
制御部が、プログラムコードで記述されたシナリオに従って、入力画像とこの入力画像に対する画像処理の期待値としての教師画像からなる複数の学習情報を生成し、前記生成された複数の学習情報を、機械学習により画像処理アルゴリズムを合成する機械学習モジュールに供給する
情報処理方法。
【請求項６】
プログラムコードで記述されたシナリオに従って、入力画像とこの入力画像に対する画像処理の期待値としての教師画像からなる複数の学習情報を生成し、前記生成された複数の学習情報を、機械学習により画像処理アルゴリズムを合成する機械学習モジュールに供給する制御部としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、画像処理の分野において、機械学習により画像処理アルゴリズムを合成する情報処理装置、情報処理方法及びプログラムに関するものである。
【背景技術】
【０００２】
画像処理のためのアルゴリズムを設計する際には、実装するアルゴリズムのベースとなる数式を用いる必要がある。これに対し、ニューラルネットワークに代表される機械学習システムは、入力データと期待値による機械学習によって、目標の数式の近似式を求めることによってアルゴリズムを合成することが可能である。
【０００３】
例えば、特許文献１には、画像などの入力データに対応する目的特徴量を、機械学習及び遺伝的アルゴリズムを用いて計算する特徴量計算アルゴリズムを自動的に構築する仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１０４２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような機械学習システムでは学習パターンの選別や機械学習の基本特性を熟知して必要十分な学習パターンを与えるなど、相応のスキルが要求されることが多い。このため、機械学習システムの特性を活かして効率的に精度の良いアルゴリズムを合成することは難しい。その他、機械学習システムでは、未解決の点が残されており、その解決策が望まれている。
【０００６】
以上のような事情に鑑み、本技術の目的は、機械学習システムを用いて良好に目的のアルゴリズムを合成することのできる情報処理装置、情報処理方法及び情報処理システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本技術に係る第１の形態である情報処理装置は、
プログラムコードで記述されたシナリオに従って、入力画像とこの入力画像に対する画像処理の期待値としての教師画像からなる複数の学習情報を生成し、前記生成された複数の学習情報を、機械学習により画像処理アルゴリズムを合成する機械学習モジュールに供給する制御部を有する。
【０００８】
前記制御部は、予め作成された構成情報に従って、前記機械学習モジュールの機械学習アルゴリズムを決定する基本ファンクションを選択するようにように構成される。
【０００９】
前記制御部は、前記画像処理アルゴリズムの振る舞いを変化させるためのデバッグ用の制御信号を前記機械学習中に前記機械学習モジュールに入力データとして与えるように構成される。
【００１０】
前記制御部は、前記構成情報に従って、前記デバッグ用のファンクションを選択するようにように構成される。
【００１１】
上記の課題を解決するために、本技術に係る第２の形態である情報処理方法は、
制御部が、プログラムコードで記述されたシナリオに従って、入力画像とこの入力画像に対する画像処理の期待値としての教師画像からなる複数の学習情報を生成し、前記生成された複数の学習情報を、機械学習により画像処理アルゴリズムを合成する機械学習モジュールに供給する、というものである。
【００１２】
上記の課題を解決するために、本技術に係る第３の形態であるプログラムは、
プログラムコードで記述されたシナリオに従って、入力画像とこの入力画像に対する画像処理の期待値としての教師画像からなる複数の学習情報を生成し、前記生成された複数の学習情報を、機械学習により画像処理アルゴリズムを合成する機械学習モジュールに供給する制御部としてコンピュータを機能させるプログラムである。
【発明の効果】
【００１３】
以上のように、本技術によれば、機械学習システムを用いて良好に目的のアルゴリズムを合成することができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１４】
【図１】本技術に係る第１の実施形態の画像処理アルゴリズムの設計装置の構成を示す図である。
【図２】物理シミュレータ２０による学習情報の生成を説明する図である。
【図３】本技術に係る第２の実施形態の画像処理アルゴリズムの設計装置の構成を示すブロック図である。
【図４】次元圧縮ファンクションの構成を示す図である。
【図５】自己組織化ファンクションの例を示す図である。
【図６】次元圧縮と自己組織化の併用型ファンクションの構成例を示す図である。
【図７】一般的な機械学習の例を示す図である。
【図８】図６の次元圧縮と自己組織化の併用型ファンクションによる機械学習の例を示す図である。
【図９】合成型ファンクションの機械学習時の構成を示す図である。
【図１０】合成型ファンクションのデータ処理時の構成を示す図である。
【図１１】再帰型ファンクションと合成型ファンクションの併用型の機械学習モジュールの機械学習時の構成を示す図である。
【図１２】図１１に示した再帰型ファンクションと合成型ファンクションの併用型の機械学習モジュールの画像処理時の構成を示す図である。
【図１３】経験則蓄積型ファンクションがプラグインされた機械学習モジュールの構成を示す図である。
【図１４】データベースに経験則に基づく情報を蓄積する方法を説明する図である。
【図１５】同じくデータベースに経験則に基づく情報を蓄積する方法を説明する図である。
【図１６】直交制御型ファンクションの構成を示す図である。
【図１７】直交制御型ファンクションの具体例を示す図である。
【図１８】本技術に係る第３の実施形態の画像処理アルゴリズムの設計装置の構成を示すブロック図である。
【図１９】アナログフロー制御ファンクションの構成を示す図である。
【図２０】デジタルフロー制御ファンクションの構成を示す図である。
【発明を実施するための形態】
【００１５】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
＜第１の実施形態＞
【００１６】
次に、本技術に係る第１の実施形態の情報処理装置である、画像処理アルゴリズムの設計装置について説明する。
図１は、本技術に係る第１の実施形態の画像処理アルゴリズムの設計装置の構成を示す図である。
同図に示すように、この画像処理アルゴリズムの設計装置１００は、シナリオ作成部１０、物理シミュレータ２０および機械学習モジュール３０などで構成される。
【００１７】
［機械学習モジュール３０の説明１］
機械学習モジュール３０は、入力された画像（入力画像）と、この入力画像に対する画像処理の期待値としての画像（教師画像）から機械学習を行い、目標の数式の近似式を求めることによって画像処理のためのアルゴリズムを合成する。機械学習の手法には、例えば、ニューラルネットワークなどがあるが、本技術はこれに限定されない。機械学習モジュール３０は、具体的には、例えば、１機以上のＰＣ（Personal Computer）などの情報処理装置により構成される。
【００１８】
［シナリオ作成部１０の説明］
シナリオ作成部１０は、機械学習のため機械学習モジュール３０に与えられる入力画像と教師画像のペアで構成される学習情報を、原画像から生成するためのシナリオを高級言語によるプログラムコードで作成するシナリオ作成者の作業を支援する。シナリオ作成部１０は、例えば、１機以上のＰＣ（Personal Computer）などの情報処理装置により構成される。
【００１９】
ここで、シナリオについて説明する。
一般的に、機械学習により精度の高いアルゴリズムを合成するためには、できるだけ多数の学習情報を機械学習モジュール３０に与えて機械学習を繰り返す必要がある。しかし、画像をベースとする学習情報を人為的に多数用意することは現実的に難しく、人為的な範囲で準備された数的に制限された学習情報による機械学習では、精度の高いアルゴリズムを合成することは困難であった。
【００２０】
本実施形態は、高級言語などによるプログラムコードによって記述されたシナリオに従って、原画像から条件の異なる学習情報を大量かつ高速に生成することができる。例えば、プログラムコードには、例えば、画像（動画）の速度、加速度、露光時間（フレームレート）などが変数として記述できる。これらの変数をインクリメントしながらfor文などのループを通じて学習情報を生成するための演算処理を繰り返すようにプログラムコードを記述すればよい。
【００２１】
［物理シミュレータ２０の説明］
物理シミュレータ２０は、学習用に用意された抽象的なパターン画像などの様々な画像（元画像）を、シナリオ作成部１０によって作成されたシナリオに従って処理し、その結果を入力画像及び教師画像として得る。物理シミュレータ２０は、入力画像と教師画像とのペアを学習情報として上記の機械学習モジュール３０に与える。
【００２２】
物理シミュレータ２０は、元画像をシナリオに従って処理することによって、１つの原画像に対して多数の異なる入力画像と教師画像を生成する。さらに、物理シミュレータ２０は、複数の原画像に対してシナリオに従って多数の異なる入力画像と教師画像を生成することによって、限られた数の原画像からも膨大な種類の学習情報を得ることができる。
【００２３】
物理シミュレータ２０は、具体的には、ＰＣなどの１機以上の情報処理装置、あるいはＣＰＵ（Central Processing Unit）などの制御部１により構成される。また、物理シミュレータ２０は、メモリに格納されるプログラムをＣＰＵが実行することによって構成される。なお、制御部１は、シナリオ作成部１０を含むものであってよい。あるいは制御部１は、機械学習モジュール３０を含むものであってよい。
【００２４】
［機械学習モジュール３０の説明２］
機械学習モジュール３０は、物理シミュレータ２０によって生成された膨大な種類の学習情報の中から、少なくとも一部の学習情報を例えばランダムに抽出し、抽出した学習情報を用いて機械学習を行うことによって目標の画像処理アルゴリズムを生成する。機械学習モジュール３０は、多数の学習情報を用いて機械学習を繰り返す。これにより機械学習モジュール３０では、網羅的な学習が行われることとなり、高精度な画像処理アルゴリズムを生成することができる。
【００２５】
［物理シミュレータ２０によるシナリオ実行例］
図２は、物理シミュレータ２０による学習情報の生成を説明する図である。
この例は、物理シミュレータ２０が、与えられた元画像１Ａに対し、シナリオに従って、フレーム期間毎に定速で回転する３フレーム分の連続画像を入力画像２として生成し、これらの入力画像２から、１番目のフレームと２番目のフレームとの中間の回転位置の画像と、２番目のフレームと３番目のフレームとの中間の回転位置の画像を、各々２倍のフレームレートの連続画像として生成する場合を示す。この２倍のフレームレートの連続画像が教師画像３となる。
【００２６】
機械学習モジュール３０は、上記の入力画像２からフレーム間の動きベクトルや輝度情報などの情報を解析し、教師画像を目標として画像処理アルゴリズムを生成する。
【００２７】
以上のように、本実施形態では、物理シミュレータ２０が高級言語などによるプログラムコードによって記述されたシナリオに従って膨大な数の網羅的な学習情報を生成し、機械学習モジュール３０がこれらの学習情報をもとに機械学習を実行することによって画像処理アルゴリズムを合成する。したがって、より高品質な画像処理アルゴリズムの生成が可能となる。
【００２８】
＜第２の実施形態＞
本実施形態の画像処理アルゴリズムの設計装置は、機械学習モジュール３０の機械学習アルゴリズムのベースに様々な種類のファンクションをプラグインによって組み込むことによって、機械学習アルゴリズムのカスタマイズを可能としたものである。
【００２９】
図３は、本技術に係る第２の実施形態の画像処理アルゴリズムの設計装置１００Ａの構成を示すブロック図である。
この画像処理アルゴリズムの設計装置１００Ａは、第１の実施形態の画像処理アルゴリズムの設計装置１００の構成に、構成情報作成部４０、機械学習アルゴリズム生成部５０、機械学習アルゴリズムベース格納部６０およびファンクション格納部７０が付加されたものである。なお、構成情報作成部４０及び機械学習アルゴリズム生成部５０は、物理シミュレータ２０及び機械学習モジュール３０とともに、ＣＰＵなどの制御部１によって構成されてもよい。
【００３０】
機械学習アルゴリズムベース格納部６０には、機械学習を行うために最低限必要なアルゴリズムである機械学習アルゴリズムのベースが格納されている。
【００３１】
ファンクション格納部７０には、機械学習アルゴリズムのベースにプラグインのかたちで組み込まれることによって、機械学習アルゴリズムを決定する各種の基本ファンクションが保存されている。なお、基本ファンクションについては後で詳細を説明する。
【００３２】
機械学習アルゴリズムベース格納部６０およびファンクション格納部７０は具体的には情報を記憶可能なストレージデバイスで構成される。
【００３３】
構成情報作成部４０は、構成情報作成者による機械学習アルゴリズムの構成情報を作成する作業を支援する。構成情報作成者による構成情報の作成作業は、例えばＰＣなどの情報処理装置を用いて行われる。構成情報には、機械学習アルゴリズムのベースにプラグインのかたちで組み込むように指定された１以上の基本ファンクションを指定する情報が記述される。
【００３４】
機械学習アルゴリズム生成部５０は、構成情報をもとに機械学習アルゴリズムのベースに１以上の基本ファンクションをプラグインとして組み込むことによって機械学習アルゴリズムを生成する。生成された機械学習アルゴリズムは機械学習モジュール３０に導入される。これにより、機械学習アルゴリズムに従って画像処理アルゴリズムの合成を行う機械学習モジュール３０が得られる。
【００３５】
［基本ファンクションについて］
次に、以下に示す基本ファンクションについて説明する。
・次元圧縮ファンクション
・自己組織化ファンクション
・合成型ファンクション
・再帰型ファンクション
・経験則蓄積型ファンクション
・因数分解型ファンクション
・多項式型ファンクション
・直交制御型ファンクション
などがある。
なお、機械学習モジュール３０は、階層型ニューラルネットワークで構成されるものとする。
【００３６】
階層型ニューラルネットワークは、例えば、入力層、中間層、出力層の３層で構成される。各々の層は各々ニューロンに相当する複数のユニットで構成される。各々の層の複数のユニットは、上流層の各ユニットの出力と接続され、かつ下流層の各ユニットの入力と接続されている。中間層の各中間ユニットでは、各々の入力の値に対して結合荷重が付与された値が加算される。出力層の各出力ユニットの出力は教師データと比較され、その差が所定の閾値以下になるまで、すなわち機械学習が収束するまで結合荷重の値が更新される。そして機械学習が収束したときの各ユニットに与えられた荷重値のセットが機械学習結果として得られる。これにより、階層型ニューラルネットワークにおいて目標の画像処理アルゴリズムが合成されたことになる。
【００３７】
（次元圧縮ファンクション）
機械学習モジュール３０に与える情報量が多すぎる場合、機械学習の演算量が膨大となり、機械学習の収束までに膨大な時間がかかってしまうおそれがある。そこで、画像の劣化を最小限に抑えられる程度に、機械学習モジュール３０に入力された情報を圧縮してもよい。
【００３８】
図４は次元圧縮ファンクションの構成を示す図である。
次元圧縮ファンクションは、階層型ニューラルネットワークにおいて、入力層３１のユニット数（Ｎ）に対して中間層３２のユニット数（Ｍ）を少なく設定し、出力層３３のユニット数を入力層のユニット数（Ｎ）と同じに設定することによって実現される。すなわち、中間層３２でデータが次元圧縮され、出力層３３でデータは入力データと同じ情報量に戻される。これにより、機械学習の全体的な演算量を低減することができ、アルゴリズム合成の高速化を図ることができる。
【００３９】
（自己組織化ファンクション）
図５は自己組織化ファンクションの例を示す図である。
【００４０】
自己組織化とは、例えば、階層型ニューラルネットワークにおいて、入力層３１に与えられる入力データと出力層３３より出力される出力データとが同じになるように中間層３２での結合が学習されることによって、データのもつ情報が自律的に中間層３２のニューロン毎に分解される現象である。
【００４１】
この自己組織化ファンクションの例において、例えば、入力層３１におけるＮ個の入力ユニットには、連続した５個のフレームin_F0−in_F4が１フレームずつ与えられる。出力層３３におけるＮ個の出力ユニットから出力される５個のフレームout_F0−out _F4が各々対応する入力ユニットに与えられたフレームin_F0−in_F4と等しくなるように、中間層３２における各々の中間ユニットの結合荷重を更新する機械学習が行われる。これにより、冗長な情報が削り落とされ、同じ情報が中間層３２の各々の中間ユニットに寄せ集められるように自己組織化が起こることで、情報がセンター画像、前後の動きベクトル情報、動解像度情報の４象限に分解される。すなわち、時間方向のＷａｖｅｌｅｔ変換に関するエンコーダとデコーダのアルゴリズムが合成される。
【００４２】
（次元圧縮ファンクションと自己組織化ファンクションとの併用）
画像をハイフレームレート化するアルゴリズムを生成する場合、画像が空間Ｘ−Ｙと時間Ｔの３次元であることに加えて、動きが広い周波数領域にわたることを考慮してアルゴリズムを設計する必要がある。このようなアルゴリズムを機械学習により合成するために、全体の周波数領域を区分した領域毎に機械学習を行う方法が考えられる。しかし、この方法では、全体の学習量が膨大になる。また、同じデータが複数の周波数領域の機械学習間でオーバーラップして入力されることがある。このように入力データが冗長になると機械学習の精度が低下する傾向がある。さらに、生成されたアルゴリズムによって処理された３次元画像において、特に領域間の境界付近の周波数の動きを有する画像が、領域毎に機械学習が分離して行われたことに起因して、シームレスにつながらない可能性がある。
【００４３】
このような課題に対し、入力データを次元圧縮してから自己組織化を行う方法が有効である。
【００４４】
図６は、入力データを次元圧縮してから自己組織化を行う併用型ファンクションの構成例を示す図である。
階層型ニューラルネットワークの入力層３１の下流側に次元圧縮のための第１の中間層３２Ａが配置され、この第１の中間層３２Ａと出力層３３との間に自己組織化のための第２の中間層３２Ｂが配置される。
【００４５】
この階層型ニューラルネットワークでは、第１の中間層３２Ａでの次元圧縮によって、複数の周波数領域の機械学習間でオーバーラップしている冗長な入力データがまとめられる。そして第２の中間層３２Ｂでの自己組織化により、アルゴリズム生成に必要な情報が分解される。これにより、アルゴリズムの合成精度を向上させることができる。
【００４６】
ここで、上記の仕組みによってアルゴリズムの合成精度が向上する理由を説明する。
機械学習は突き詰めると最小二乗法に過ぎない。しかし、最小二乗法では、例えば図７に示すように、データによっては精度の高い近似式を得ることはできない。図７の８１は近似対象の入力データ（Ｆ(ｘ)＝ｆ(ｘ)＊ｇ(ｘ)）の例である。この入力データＦ(ｘ)は、アナログデータｆ(ｘ)と離散データｇ(ｘ)の積からなる。このような入力データ８１を最小二乗法により近似した結果が近似データ８２である。このように、この例は、十分な周波数応答が得られないために、入力データ８１は高い精度で近似できなかったことを示している。近似の精度が悪いと、この近似式に従って現像された画像にボケやゴーストなどが現れたりするおそれがある。
【００４７】
これに対し、入力データと出力データとを一致させる機械学習による自己組織化は、入力データを因数分解することにあたる。図８は、図７に示した入力データ８１から、自己組織化ファンクション３０ａによって２つの近似データ８３、８４が因数分解されたことを示している。ここで近似データ８３はアナログデータｆ(ｘ)の近似データであり、近似データ８４は離散データｇ(ｘ)の近似データである。このように因数分解された２つの近似データ８３、８４は、多項式を合成する多項式型ファンクション３０ｂに与えられることによって多項式Ｆ(ｘ)＝ｆ(ｘ)＊ｇ(ｘ)が合成される。
【００４８】
（合成型ファンクション）
図９は合成型ファンクションの機械学習時、図１０は合成型ファンクションのデータ処理時の構成を示す図である。
【００４９】
図９に示すように、合成型ファンクションがプラグインされた機械学習モジュール３０ｃには、２Ｍ＊２Ｎサイズの未演算の画像９１と、この未演算の画像９１を外部の処理装置によってダウンコンバートして画像処理のための演算を行うことによって得たＭ＊Ｎサイズの画像９２が入力される。このとき、機械学習モジュール３０ｃは、外部の処理装置によって上記２Ｍ＊２Ｎサイズの画像９１に、画像９２に対して行われた画像処理のための演算と同じ演算を行うことによって得られた画像９３を教育画像として用いて機械学習を行う。これにより機械学習モジュール３０ｃ内に画像処理のためのアルゴリズムが合成される。
【００５０】
機械学習が完了した機械学習モジュール３０ｃは、図１０に示すように、画像処理の対象である２Ｍ＊２Ｎサイズの画像９４と、この画像９４をダウンコンバートして画像処理のための演算を外部の処理装置にて行うことによって得たＭ＊Ｎサイズの画像９５を入力する。その結果、機械学習モジュール３０ｃから、機械学習によって合成されたアルゴリズムによって画像処理された２Ｍ＊２Ｎサイズの画像９６が出力される。
【００５１】
ここで、２Ｍ＊２Ｎサイズの画像とＭ＊Ｎサイズの画像としては、例えば４Ｋハイビジョン画像とハイビジョン画像などが挙げられるが、本技術はこれに限定されない。
【００５２】
なお、ここでは、Ｍ＊Ｎサイズの演算済みの画像と２Ｍ＊２Ｎサイズの未演算の画像を合成型ファンクションに入力する場合について説明したが、Ｗａｖｅｌｅｔ変換の前後階層間の各画像のうち一方を演算済みの画像、他方を未演算の画像として合成型ファンクションに各々入力し、合成されたアルゴリズムによって未演算の画像を画像処理するようにしてもよい。
【００５３】
（再帰型ファンクション）
再帰型ファンクションは、機械学習モジュールの出力データを入力層にフィードバックして、繰り返し再帰的に演算を行うための機能である。再帰型ファンクションは、全体的な演算量を抑えるために上記の合成型ファンクションと併用することができる。
【００５４】
図１１は再帰型ファンクションと合成型ファンクションの併用型の機械学習モジュール３０ｄの機械学習時の構成を示す図である。
【００５５】
この機械学習モジュール３０ｄには、２Ｍ＊２Ｎサイズの未処理の画像１１１と、この未処理の画像１１１を外部の処理装置によってダウンコンバートして画像処理のための演算を行うことによって得たＭ＊Ｎサイズの画像１１２が入力される。機械学習モジュール３０ｄは、外部の処理装置によって、上記２Ｍ＊２Ｎサイズの画像１１１に画像１１２と同じ画像処理が施された画像１１３を教育画像として用いて１サイクル目の画像処理アルゴリズムを合成するための機械学習を行う。
【００５６】
次に、機械学習中の１サイクル目の画像処理アルゴリズムによって得られた２Ｍ＊２Ｎサイズの処理済みの画像１１４が入力層に入力される。この処理済みの画像１１４が機械学習モジュール３０ｄの入力層に戻されたとき、合成対象である４Ｍ＊４Ｎサイズの未処理の画像１１５が入力層に入力される。また、外部の処理装置によって上記４Ｍ＊４Ｎサイズの画像１１５に、画像１１２と同じ画像処理が施された画像１１６が教育画像として機械学習モジュール３０ｄに与えられ、２サイクル目の画像処理アルゴリズムを合成するための機械学習が行われる。
【００５７】
このように、合成型ファンクションと再帰型ファンクションを併用することによって、複数のステップに亘って画像処理を行うアルゴリズムを合成することができる。
【００５８】
図１２は、図１１に示した再帰型ファンクションと合成型ファンクションの併用型の機械学習モジュール３０ｄの画像処理時の構成を示す図である。
【００５９】
機械学習モジュール３０ｄには、合成対象である２Ｍ＊２Ｎサイズの未処理の画像１１１Ａと、この未処理の画像１１１Ａを外部の処理装置によってダウンコンバートして画像処理のための演算を行うことによって得たＭ＊Ｎサイズの画像１１２Ａが入力される。機械学習により合成された１ステップ目の画像処理アルゴリズムに従って機械学習モジュール３０から、画像処理された２Ｍ＊２Ｎサイズの画像１１４Ａが出力される。この画像１１４Ａは、機械学習モジュール３０の入力層に戻される。このとき機械学習モジュール３０の入力層には、２ステップ目の合成対象である４Ｍ＊４Ｎサイズの未処理の画像１１５Ａが入力される。そして、機械学習により合成された２ステップ目の画像処理アルゴリズムに従って機械学習モジュール３０から、画像処理された４Ｍ＊４Ｎサイズの画像１１７Ａが出力される。
【００６０】
（経験則蓄積型ファンクション）
一般にニューラルネットワークに代表される機械学習モジュールによって合成されるアルゴリズムは写像アルゴリズムである。写像の一般的な特性から、入力した情報に対して出力情報を大幅に増やすことは困難である。元画像に、目的の現像に対して十分な情報量が存在しない場合の対策として、機械学習モジュールの内部に過去の経験則を蓄積するデータベースを設け、このデータベースに蓄積された過去の経験則に基づいて情報を増やす方法がある。
【００６１】
図１３は、この経験則蓄積型ファンクション１３０がプラグインされた機械学習モジュール３０ｅの構成を示す図である。
経験則蓄積型ファンクション１３０は、階層型ローカルエリアネットワークの一部のパーセプトロンに構築される。経験則蓄積型ファンクション１３０は、アドレス生成部１３１と、データベースとしてのルックアップテーブル（ＬＵＴ）１３２と、追加情報生成部１３３と、追加情報出力部１３４で構成される。
【００６２】
アドレス生成部１３１は、入力層３１などの上流層からの信号をもとにルックアップテーブル（ＬＵＴ）１３２の参照先を示すアドレスを生成する、
【００６３】
ルックアップテーブル（ＬＵＴ）１３２は、経験則に基づく情報が蓄積されるデータベースである。
【００６４】
追加情報生成部１３３は、ルックアップテーブル（ＬＵＴ）１３１からの参照情報をもとに出力情報を生成する。
【００６５】
追加情報出力部１３４は、追加情報生成部１３３にて生成された追加情報を、階層型ローカルエリアネットワークの画像処理アルゴリズムを合成するパーセプトロンの出力情報に追加される情報として出力する。
【００６６】
次に、データベースであるルックアップテーブル（ＬＵＴ）１３２に経験則に基づく情報を蓄積する方法を図１４及び図１５を用いて説明する。
【００６７】
このルックアップテーブル（ＬＵＴ）１３２への情報の蓄積は、ＰＣなどの情報処理装置におけるＣＰＵなどの制御装置が、情報処理装置のメモリに格納されたプログラムを実行することによって行われる。
【００６８】
まず、制御装置は、階層型ニューラルネットワークの入力層３１の各入力ユニットに入力される値と等価な値を追加情報生成部１３３の各ユニットに書き込む。次に、制御装置は、バックプロパゲーションによる機械学習を実行させる。これにより、ルックアップテーブル（ＬＵＴ）１３２が学習に関与することのないアルゴリズムが合成される。
【００６９】
次に、制御装置は、図１５に示すように、ルックアップテーブル（ＬＵＴ）１３２のアドレスの値と追加情報出力部１３４を構成するニューロンの荷重値を選択し、アドレス値と荷重値の値の配列を遺伝配列として遺伝的アルゴリズムによる機械学習を実行させる。遺伝的アルゴリズムとは、生物が環境に適応して進化していく過程を工学的に模倣した学習的アルゴリズムである。
【００７０】
この遺伝的アルゴリズムによる機械学習において、制御装置は、パラメータを確率的に変異させることによって得た複数の演算結果を評価し、最も結果の良い上位２つのパターンを判定する。そして、制御装置は、この２つのパターンについて、遺伝情報の交叉及び突然変異のプロセスを経て、同じ処理を繰り返えす。これにより、ルックアップテーブル（ＬＵＴ）１３２に経験データが蓄積されて行く。
【００７１】
（因数分解型ファンクション）
図８に示したように、因数分解型ファンクション３０ａは、機械学習で合成したいアルゴリズムがＦ(ｘ)＝ｆ(ｘ)＊ｇ(ｘ)などの多項式で表される場合に、その多項式の要素である各々の項ｆ(ｘ)、ｇ(ｘ)を因数分解するファンクションである。因数分解型ファンクションは、例えば、自己組織化ファンクション、あるいは、次元圧縮ファンクションと自己組織化ファンクションとの併用により構成される。
【００７２】
（多項式型ファンクション）
図８に示したように、多項式型ファンクション３０ｂは、前段の因数分解型ファンクション３０ａにて因数分解された各情報を集約し、期待値を教育データとして機械学習により多項式アルゴリズムを合成するファンクションである。
【００７３】
（直交制御型ファンクション）
直交制御型ファンクションは、ある情報を次元拡張した際に、拡張した次元成分内で生じる情報量のバラつきを補正することができる。直交制御型ファンクションは、より具体的には、図１６に示すように、入力された情報を、２つの成分（Ａ成分、Ｂ成分）の教師データをもとに、各々の成分（Ａ成分、Ｂ成分）に直交分解し、アップコン処理とダウンコン処理にてバランスをとる。
【００７４】
例えば、画像情報をハイフレームレート化する場合、時間方向に情報を次元拡張することになる。このとき、元画像にシャッターが入っているようなケースでは、撮像した時間と、撮像していない区間が存在するため、撮像区間の中心を撮像位相０度としたときに、０度付近と±１８０度付近では情報量が異なる。このような入力画像で時間方向に次元拡張すると、時間位相ごとに画質にバラつきが生じ、特にシャッター区間では諧調の劣化やＳ／Ｎの劣化が生じる。
【００７５】
その問題を解消するため、直交制御型ファンクションは、例えば、図１７に示すように、位相０度を中心とする実数成分と、位相±１８０度を中心とする虚数成分に画像情報を直交分解して、実数成分のダウンコン処理、虚数成分のアップコン処理により、位相間の画像のバランスを保つ処理を行う。
【００７６】
＜第３の実施形態＞
図１８は、本技術に係る第３の実施形態の画像処理アルゴリズムの設計装置の構成を示すブロック図である。
この画像処理アルゴリズムの設計装置１００Ｂは、第２の実施形態の画像処理アルゴリズムの設計装置１００Ａの構成にデバッグツール９０が付加されたものである。
【００７７】
デバッグツール９０は、構成情報に記述されたデバッグファンクションを指定する情報をもとにデバッグファンクション保存部８０から該当するデバッグファンクションの実体（プログラムコード）を読み込む。デバッグツール９０は、デバッグ用のアルゴリズムのベースを有し、このベースにデバッグファンクションをプラグインとして組み込むことができる。
【００７８】
デバッグツール９０は、機械学習モジュール３０にて合成された画像処理アルゴリズムのデバッグを可能とするために、機械学習によるアルゴリズム合成の段階で機械学習モジュール３０に制御信号を与えることによって、制御信号に応じて振る舞いが変化するアルゴリズムを機械学習モジュール３０に合成させる。
【００７９】
次に、デバッグ用のファンクションについて説明する。
デバッグ用のファンクションには、例えば、
・アナログフロー制御ファンクション
・デジタルフロー制御ファンクション
などがある。
【００８０】
（アナログフロー制御ファンクション）
機械学習により合成されたアルゴリズム、例えば、現像アルゴリズムが期待通りでない場合、輝度や階調など各種画像パラメータがレベル変動するような問題が起こることがある。アナログフロー制御ファンクションは、このような問題のデバッグ解析を可能とするために、機械学習によるアルゴリズム合成の段階で、デバッグツール９０から機械学習モジュール３０にアナログ制御信号を与えさせることによって、アナログ制御信号に応じて振る舞いが変化するアルゴリズムを機械学習モジュールに合成させる。合成されたアルゴリズムのデバッグを行うときは、デバッグツール９０から機械学習モジュール３０に様々なアナログ制御信号を与える。そのとき機械学習モジュール３０から出力された結果をデバッグ解析のための情報として用いることができる。
【００８１】
図１９は、アナログフロー制御ファンクションの構成を示す図である。
機械学習時、デバッグツール９０は、物理シミュレータ２０と機械学習モジュール３０にアナログ制御信号を供給する。物理シミュレータ２０は、与えられたアナログ制御信号に応じて教師画像を変化させ、これを機械学習モジュール３０に与える。機械学習モジュール３０は、物理シミュレータ２０から与えられる入力画像及び教師画像と、デバッグツール９０から与えられたアナログ制御信号をもとに機械学習により、アナログ制御信号に応じて振る舞いが変化する画像処理アルゴリズムを合成する。
【００８２】
デバック時は、デバッグツール９０からアナログ制御信号が機械学習モジュール３０に与えられる。このとき機械学習モジュール３０に合成された画像処理アルゴリズムの振る舞いを、例えば、外部の情報処理装置にて確認することによって、画像処理アルゴリズムのデバッグを行うことができる。
【００８３】
（デジタルフロー制御ファンクション）
デジタルフロー制御ファンクションは、機械学習モジュール３０での機械学習を条件に応じて分けて実行させるためのファンクションである。
【００８４】
図２０は、デジタルフロー制御ファンクションの構成を示す図である。
機械学習時、デバッグツール９０は、機械学習モジュール３０の振る舞いを制御するための例えば二値（０，１）のデジタル制御信号を生成し、機械学習モジュール３０に供給する。機械学習モジュール３０は、デジタル制御信号の値毎に、物理シミュレータ２０から与えられる入力画像及び教師画像に対する機械学習を分けて実行する。例えば、機械学習モジュール３０では、デジタル制御信号の値が"０"であるとき"写像０"を機械学習し、デジタル制御信号の値が"１"であるとき"写像１"を機械学習する。これにより、デジタル制御信号の値に応じて振る舞いが変化する画像処理アルゴリズムを合成することができる。
【００８５】
デバック時は、デバッグツール９０からデジタル制御信号が機械学習モジュール３０に与えられる。このとき機械学習モジュール３０に合成された画像処理アルゴリズムの振る舞いを、例えば、外部の情報処理装置にて確認することによって、画像処理アルゴリズムのデバッグを行うことができる。
【００８６】
＜変形例１＞
（拡張ファンクション）
拡張ファンクションは、ユーザ定義によりプラグインできるファンクションである。機械学習モジュール３０は最小二乗法的に学習が進むため、ある種の因数分解の処理には不向きである。そこで、画像情報から事前に一部の項を切り出し、別途、アルゴリズムを合成しておく方がアルゴリズムの合成精度が向上するケースがある。
【００８７】
画像処理においては、必要な要素をあらかじめ抽出した分解情報を抽出することが効果的であり、これらの抽出した情報により機械学習モジュール３０はオブジェクトとして深層理解し、アルゴリズムの精度を向上させることができる。
【００８８】
なお、本技術は以下のような構成もとることができる。
（１）  プログラムコードで記述されたシナリオに従って、入力画像とこの入力画像に対する画像処理の期待値としての教師画像からなる複数の学習情報を生成し、前記生成された複数の学習情報を、機械学習により画像処理アルゴリズムを合成する機械学習モジュールに供給する制御部を有する
情報処理装置。
【００８９】
（２）前記（１）に記載の情報処理装置であって、
前記制御部は、予め作成された構成情報に従って、前記機械学習モジュールの機械学習アルゴリズムを決定する基本ファンクションを選択するように構成される
情報処理装置。
【００９０】
（３）前記（１）から（２）のうちいずれか１つに記載の情報処理装置であって、
前記制御部は、前記画像処理アルゴリズムの振る舞いを変化させるためのデバッグ用の制御信号を前記機械学習中に前記機械学習モジュールに入力データとして与えるように構成される
情報処理装置。
【００９１】
（４）前記（３）に記載の情報処理装置であって、
前記制御部は、前記構成情報に従って、前記デバッグ用のファンクションを選択するように構成される
情報処理装置。
【符号の説明】
【００９２】
１…制御部
１０…シナリオ作成部
２０…物理シミュレータ
３０…機械学習モジュール
４０…構成情報作成部
５０…機械学習アルゴリズム生成部
６０…機械学習アルゴリズムベース格納部
７０…ファンクション格納部
８０…デバッグファンクション保存部
１００，１００Ａ，１００Ｂ…画像処理アルゴリズムの設計装置
【図１】
2016071597.tif 000003
【図２】
2016071597.tif 000004
【図３】
2016071597.tif 000005
【図４】
2016071597.tif 000006
【図５】
2016071597.tif 000007
【図６】
2016071597.tif 000008
【図７】
2016071597.tif 000009
【図８】
2016071597.tif 000010
【図９】
2016071597.tif 000011
【図１０】
2016071597.tif 000012
【図１１】
2016071597.tif 000013
【図１２】
2016071597.tif 000014
【図１３】
2016071597.tif 000015
【図１４】
2016071597.tif 000016
【図１５】
2016071597.tif 000017
【図１６】
2016071597.tif 000018
【図１７】
2016071597.tif 000019
【図１８】
2016071597.tif 000020
【図１９】
2016071597.tif 000021
【図２０】
2016071597.tif 000022