(57)【特許請求の範囲】
【請求項１】
第１の様式の一連の画像を取得する第１のセンサと、
第１の畳み込み記憶行列を記憶するメモリであって、前記第１の畳み込み記憶行列の各要素は前記第１の様式の前記画像の畳み込み表現の係数行列の対応して位置する要素の畳み込み関数であり、前記メモリは、前記第１の様式の前記画像の原子を含む第１の辞書行列を記憶する、メモリと、
前記第１のセンサによって取得されたシーンの第１の画像を前記第１の辞書行列及び第１の係数行列の畳み込みとして変換し、前記第１の係数行列の対応して位置する非０の要素の畳み込み関数を用いて前記第１の畳み込み記憶行列の前記要素を更新し、前記更新された第１の畳み込み記憶行列を用いて前記第１の辞書行列を更新するプロセッサと、
第２の様式の一連の画像を取得する第２のセンサとを備え、
前記メモリは第２の畳み込み記憶行列を記憶し、前記第２の畳み込み記憶行列の各要素は、前記第２の様式内の畳み込み表現の係数行列の対応して位置する要素の前記畳み込み関数であり、
前記メモリは前記第２の様式の前記画像の原子を含む第２の辞書行列を記憶し、
前記プロセッサは、ジョイント畳み込みスパースコーディングを用いて前記第１の様式及び前記第２の様式内の対応する画像を変換し、前記第１の様式内の前記第１の画像を表す前記第１の係数行列と、前記第２の様式内の前記シーンの第２の画像を表す第２の係数行列とを生成し、
前記プロセッサは、前記第１の係数行列の対応する要素を使用する前記畳み込み関数を用いて前記第１の畳み込み記憶行列を更新し、前記第２の係数行列の対応する要素を使用する前記畳み込み関数を用いて前記第２の畳み込み記憶行列を更新し、
前記プロセッサは、前記第１の畳み込み記憶行列に基づいて、前記第１の辞書行列を更新し、前記第２の畳み込み記憶行列に基づいて、前記第２の辞書行列を更新する
撮像システム。
【請求項２】
前記第１のセンサは前記第１の様式の第２の画像を取得し、前記プロセッサは前記第２の画像を、前記更新された第１の辞書行列、及び前記第１の様式内の畳み込み表現の第２の係数行列の畳み込みとして変換し、前記プロセッサは更に、前記第１の様式内の畳み込み表現の前記第２の係数行列の対応して位置する非０の要素の前記畳み込み関数を用いて、前記第１の畳み込み記憶行列の前記要素を更新し、前記プロセッサは、前記更新された第１の畳み込み記憶行列を用いて、前記更新された第１の辞書行列を更に更新する、請求項１に記載の撮像システム。
【請求項３】
前記プロセッサは、畳み込みスパースコーディングを用いて、前記第１の画像を変換する、請求項１に記載の撮像システム。
【請求項４】
前記畳み込み関数は畳み込みの和からの選択を含む、請求項１に記載の撮像システム。
【請求項５】
前記畳み込み関数は、
【数１】
0006821038.tif 000034
に基づく、請求項４に記載の撮像システム。
【請求項６】
前記プロセッサは、前記第１の画像及び前記第２の画像を受信するのに応答して、
前記第１の係数行列及び前記第１の辞書行列の畳み込みを用いて前記第１の様式内の第１の出力画像を特定し、
前記第２の係数行列及び前記第２の辞書行列の畳み込みを用いて前記第２の様式内の第２の出力画像を特定する、ように構成される、請求項１に記載の撮像システム。
【請求項７】
前記プロセッサは、前記第１の画像の構造に関する事前情報を用いて前記第１の画像を変換する、請求項１に記載の撮像システム。
【請求項８】
前記第１の画像の前記構造に関する前記事前情報は前記第１の画像内の値の全変動を含む、請求項７に記載の撮像システム。
【請求項９】
前記第１の画像の解像度は前記第２の画像の解像度とは異なる、請求項１に記載の撮像システム。
【請求項１０】
前記第１のセンサは輝度カメラであり、前記第１の画像は輝度画像であり、前記第２のセンサは奥行カメラであり、前記第２の画像は奥行画像である、請求項９に記載の撮像システム。
【請求項１１】
画像処理の方法であって、前記方法は、第１の畳み込み記憶行列を記憶するメモリに接続されるプロセッサを使用し、前記第１の畳み込み記憶行列の各要素は、第１の様式の画像の畳み込み表現の係数行列の対応して位置する要素の畳み込み関数であり、前記メモリは前記第１の様式の画像の原子を含む第１の辞書行列を記憶し、前記プロセッサは、前記方法を実施する記憶された命令と結合され、前記命令は、前記プロセッサによって実行されるときに、前記方法の少なくともいくつかのステップを実行し、前記方法は、
前記第１の様式内のシーンの第１の画像を前記第１の辞書行列及び第１の係数行列の畳み込みとして変換することと、
前記第１の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、前記第１の畳み込み記憶行列の前記要素を更新することと、
前記更新された第１の畳み込み記憶行列を用いて前記第１の辞書行列を更新することであって、前記更新された辞書行列は、雑音除去及びデータ融合の少なくとも何れか一つである撮像処理を改善するのを支援する、更新することと、を含み、
前記メモリは第２の畳み込み記憶行列を記憶し、前記第２の畳み込み記憶行列の各要素は、第２の様式の画像の畳み込み表現の係数行列の対応して位置する要素の畳み込み関数であり、前記メモリは、前記第２の様式の画像の原子を含む第２の辞書行列を記憶し、前記方法は、前記第１の様式の画像を取得する第１のセンサの測定値と、前記第２の様式の画像を取得する第２のセンサの測定値とを受信するのに応答して、
前記第１の様式の画像に関して学習された前記第１の辞書行列及び前記第２の様式の画像に関して学習された前記第２の辞書行列とともに、ジョイント畳み込みスパースコーディングを用いて、前記第１の様式及び前記第２の様式内のシーンの対応する画像を変換し、前記第１の様式内の前記シーンの第１の画像を表す前記第１の係数行列と、前記第２の様式の前記シーンの第２の画像を表す第２の係数行列とを生成することと、
前記第１の係数行列及び前記第１の辞書行列の畳み込みを用いて、前記第１の様式内の第１の出力画像を特定することと、
前記第２の係数行列及び前記第２の辞書行列の前記畳み込みを用いて、前記第２の様式内の第２の出力画像を特定することと、
前記第１の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、前記第１の畳み込み記憶行列を更新することと、
前記第２の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、前記第２の畳み込み記憶行列を更新することと、
前記第１の係数行列及び前記第１の畳み込み記憶行列の畳み込みを用いて、前記第１の辞書行列を更新することと、
前記第２の係数行列及び前記第２の畳み込み記憶行列の畳み込みを用いて、前記第２の辞書行列を更新することと、を含む
方法。
【請求項１２】
前記方法は、前記第１の画像の構造に関する事前情報を用いて前記第１の画像を変換し、前記第１の画像の前記構造に関する前記事前情報は、前記第１の画像内の値の全変動を含む、請求項１１に記載の方法。
【請求項１３】
方法を実行するためにプロセッサによって実行可能であるプログラムを具現する非一時的コンピュータ可読記憶媒体であって、前記方法は、
第１の様式の画像に関して学習された第１の辞書行列及び第２の様式の画像に関して学習された第２の辞書行列とともに、ジョイント畳み込みスパースコーディングを用いて、前記第１の様式及び前記第２の様式内のシーンの対応する画像を変換し、前記第１の様式内の前記シーンの第１の画像を表す第１の係数行列と、前記第２の様式の前記シーンの第２の画像を表す第２の係数行列とを生成することと、
前記第１の係数行列及び前記第１の辞書行列の畳み込みを用いて、前記第１の様式内の第１の出力画像を特定することと、
前記第２の係数行列及び前記第２の辞書行列の畳み込みを用いて、前記第２の様式内の第２の出力画像を特定することと、
前記第１の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、第１の畳み込み記憶行列を更新することと、
前記第２の係数行列の対応して位置する非０の要素の前記畳み込み関数を用いて、第２の畳み込み記憶行列を更新することと、
前記第１の係数行列及び前記第１の畳み込み記憶行列の畳み込みを用いて、前記第１の辞書行列を更新することと、
前記第２の係数行列及び前記第２の畳み込み記憶行列の畳み込みを用いて、前記第２の辞書行列を更新することと、を含む、非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記プロセッサは、畳み込みスパースコーディングを用いて、前記第１の画像を変換する、請求項１３に記載の記憶媒体。
【請求項１５】
前記畳み込み関数は畳み込みの和からの選択を含む、請求項１３に記載の記憶媒体。
【請求項１６】
前記畳み込み関数は、
【数２】
0006821038.tif 000035
に基づく、請求項１５に記載の記憶媒体。
【請求項１７】
前記記憶媒体は、第２の様式の一連の画像を取得する第２のセンサを更に備え、
メモリは第２の畳み込み記憶行列を記憶し、前記第２の畳み込み記憶行列の各要素は、前記第２の様式内の畳み込み表現の係数行列の対応して位置する要素の前記畳み込み関数であり、
前記メモリは前記第２の様式の前記画像の原子を含む第２の辞書行列を記憶し、
前記プロセッサは、ジョイント畳み込みスパースコーディングを用いて前記第１の様式及び前記第２の様式内の対応する画像を変換し、前記第１の様式内の前記第１の画像を表す前記第１の係数行列と、前記第２の様式内の前記シーンの第２の画像を表す第２の係数行列とを生成し、
前記プロセッサは、前記第１の係数行列の対応する要素を使用する前記畳み込み関数を用いて前記第１の畳み込み記憶行列を更新し、前記第２の係数行列の対応する要素を使用する前記畳み込み関数を用いて前記第２の畳み込み記憶行列を更新し、
前記プロセッサは、前記第１の畳み込み記憶行列に基づいて、前記第１の辞書行列を更新し、前記第２の畳み込み記憶行列に基づいて、前記第２の辞書行列を更新する、請求項１３に記載の記憶媒体。
【請求項１８】
前記プロセッサは、前記第１の画像及び前記第２の画像を受信するのに応答して、
前記第１の係数行列及び前記第１の辞書行列の畳み込みを用いて前記第１の様式内の第１の出力画像を特定し、
前記第２の係数行列及び前記第２の辞書行列の畳み込みを用いて前記第２の様式内の第２の出力画像を特定する、ように構成される、請求項１７に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はスパースコーディングのシステム及び方法に関し、より詳細には、畳み込みスパースコーディングを用いて、画像の原子の辞書を更新するオンライン畳み込み辞書学習（online convolutional dictionary learning）に関する。
【背景技術】
【０００２】
信号処理において、測定されることになる信号及び測定プロセス自体が、雑音を含む可能性があり、或る雑音量の一因になる可能性がある。雑音は信号処理に影響を及ぼすので、より鮮明な画像等の、より良好な信号処理結果を得るには、雑音を除去することがより望ましい。通常、信号測定のプロセスは大量の処理時間を必要とし、それは、より少ない処理時間及び所与の結果品質を要求する現代の技術的な適用例にとって課題となる可能性が高い。
【０００３】
例えば、測定された信号がどこか別の場所に転送されることになる場合には、測定された信号を送信するのに少しでも有利になるように、必要とされる帯域幅を狭くするために、送信されるデータ量をできる限り少なくすることがある。測定された信号を送信するのに有利な別のこととして、ビデオ信号伝送のためのフレーム速度等の、測定された信号（全ての測定値）を送信する速度を高めることがある。
【０００４】
信号のスパース表現は、スパースに表すことができない雑音を、フィルタ処理により除去することができる信号処理技術である。所与の信号のスパース表現は、少数の測定値から推定することができ、その数は、信号の次元に比べて小さい。また、スパース表現は、一般に、データが圧縮されることを意味する。
【０００５】
広範な信号処理及び／又は画像処理アプリケーションのために使用される、数多くのスパース表現学習アルゴリズムが当該技術分野において知られている。例えば、スパース表現は、画像内の物体をラベリングして、どの物体が存在するかを識別し、その物体を分類するために使用することができる。信号ｓ及び辞書行列Ｄを与えられるとき、スパースコーディングは、Ｄｘ≒ｓであるような、非０の少ない数のエントリのみを有するスパース表現ｘを見つけるという逆問題である。これらの識別に至るプロセスは、辞書行列Ｄを学習する技法を必要とし、本明細書では、辞書学習と呼ばれる。さらに、スパース表現を用いて辞書行列を学習することは、いくつかのアプリケーションにとって有益な場合がある。しかしながら、オフライン学習は、トレーニングのために使用される画像のみを表すように、辞書行列を制限する。したがって、オフライン学習された辞書は、リアルタイムに考慮することができる種々の画像に対する融通性及び適応性を欠いている。
【０００６】
また、これらのスパース表現学習アルゴリズムは大きいデータ次元の入力への拡張性がなく、これまで、いくつかの技術的な適用例には適していないと見なされてきた。
【０００７】
大きいデータセット、例えば、大きい行列乗算及びニューラルネットワークシミュレーションに関する演算を実施するハードウェア設計が知られている。通常、混在するアナログ／デジタル信号を使用するニューラルネットワークシミュレーターが知られているが、これらはハードウェアを拡張するのを難しくする。また、デジタル信号演算において、データをハードウェアにダウンロードすることができる帯域幅が、ハードウェアの実際のサイズを制限する。
【０００８】
したがって、複数の異なる検知様式を用いて、物体の測定値を取得するのに適したシステム及び方法が必要とされている。センサから取得されるデータを一緒に処理して、取得された様式のうちの１つ以上において撮像品質を改善することができる。その結果として、物体についての相補的な情報源を与えることができ、ハードウェア制約を克服することができ、又は個々のセンサに起因するデータ不確定性を低減することができる。
【発明の概要】
【０００９】
本開示の実施形態は、スパースコーディングのシステム及び方法を提供し、より詳細には、畳み込みスパースコーディングを用いて、画像の原子の辞書を更新するオンライン畳み込み辞書学習を提供する。
【００１０】
多様式撮像における重要なステップは、多様式撮像の品質を改善するために利用することができる、複数の様式内の関連する特徴を識別することである。詳細には、複数の異なる検知様式を用いて、特徴のいくつかの測定値が取得され、センサから取得されたデータを一緒に処理して、取得された様式のうちの１つ以上において撮像品質を改善する。しかしながら、多様式の測定値からそれらの特徴を識別及び抽出するのは難しい。
【００１１】
本開示の実施形態は、可変分割技法（variable splitting technique）を用いて、畳み込み辞書学習を再定式化することができ、それにより、その後、全ての係数行列を統合して、畳み込み辞書学習のために十分な単一の畳み込み記憶行列にすることができるという理解に基づく。
【００１２】
しかしながら、ＣＤＬ（convolutional dictionary learning）を変更する方法を発見することは、多くの理由から難しいことがわかった。例えば、ＣＤＬは、画像を辞書及び係数行列の畳み込みとして表し、対応する１組の画像を表す１組の係数行列から辞書を学習することを目的とする。係数行列は、対応する画像のスパース表現である。しかしながら、ＣＤＬのための係数行列の数は十分に大きい必要があり、結局、著しいメモリリソースがＣＤＬに対して割り当てられることになり、すなわち、スパース表現を使用するのに大量のメモリを必要とする。全てのデバイスが、そのような学習方法に、それだけのメモリリソースを専用に充てることができるとは限らない。さらに、学習のコストはデータエントリの数、例えば、ビデオフレームの数に比例して増加するので、ＣＤＬは、多様式のストリーミングビデオシーケンス等の非常に大きいデータセットに拡張するのは難しい。例えば、１メガピクセルフレームの２５ｆｐｓにおける１分間のビデオの場合に辞書行列を学習するために必要とされるデータは、メモリのうちの約７１５ＧＢを占有する可能性がある。それは、ＣＤＬ方法が小さいデータセットでのみ機能することができ、その適用性が多様式のセンサ融合に限定されることを意味する。現在、ＣＤＬはオフラインにおいてのみ使用することができ、リアルタイム融合には適していない。そのため、ＣＤＬを使用できるように、上記の制約を克服する必要がある。
【００１３】
可変分割技法を用いて畳み込み学習を再定式化することによって、ＣＤＬを変更することができ、それにより、全ての係数行列（統合されない場合、１メガピクセル画像に対して７１５ＧＢ）を統合して、学習するのに十分である単一の畳み込み記憶行列（１ＫＢ）にできることがわかった。畳み込み記憶行列は、画像の畳み込み表現の係数行列の対応して位置する要素を相加的に畳み込むことによって構成される。
【００１４】
例えば、一例においてメモリのうちの７１５ＧＢを占有する可能性がある、１組の係数行列に関してＣＤＬを実行する代わりに、それらの係数行列の相加的な畳み込みを決定し、結果として、対応する例においてメモリのうちの１ＫＢを占有する可能性がある単一の畳み込み記憶行列を生成し、その畳み込み記憶行列に基づいて、辞書行列を学習する。畳み込み記憶行列の使用は、ＣＤＬのために割り当てられるメモリの量を著しく削減することができ、ＣＤＬをオンラインの適用例に適したものにすることができる。例えば、ここで、畳み込み学習のメモリ効率に起因して、本開示の大規模ＣＤＬ法は、ジョイント畳み込みスパースコーディング（joint convolutional sparse coding）を用いて、ストリーミングされるデータから直接、関連する特徴を学習することを可能にし、それにより、融合されるデータの品質が改善される。
【００１５】
本開示の定式化の更なる利点は、未処理のセンサデータで直接機能するように、付加的な雑音除去機構を組み込むことができるようになることである。具体的には、従来のＣＤＬの適用は、雑音のない画像か、又は雑音量が非常に少ない画像に関する学習を必要とする。これは、学習アルゴリズムが、辞書を画像に直接当てはめようとするためであり、それは、画像に雑音が多いときに、そのアルゴリズムは結局、雑音を学習することになることを意味する。しかしながら、本開示の定式化は、全変動を用いて解を更に正則化できるようにし、それにより、通常は測定雑音を含むセンサデータで直接機能できるようにすることによって、これ（従来の適用例）を回避する。
【００１６】
そのために、いくつかの実施形態は、第１の様式の画像の原子を含む辞書行列を記憶する撮像システムを開示する。畳み込み記憶行列の各要素は、画像の畳み込み表現の係数行列の対応して位置する要素の畳み込み関数である。
【００１７】
本開示をより深く理解するために、本開示を実施するために使用することができる少なくとも１つの方法が提供される。その方法は、シーンの画像を辞書行列及び第１の係数行列の畳み込みとして変換するように符号化されるメモリに動作可能に接続されるプロセッサを含むことができる。適用される画像は、２次元画像とすることができるか、又は特に、ＣＴスキャン等の３次元画像とすることができると考えられる。また、本開示の方法が、音声処理等にも役に立つ可能性があることにも言及される。
【００１８】
例えば、プロセッサは、畳み込みスパースコーディングを用いて、第１の画像を変換することができる。次に、プロセッサは、第１の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、畳み込み記憶行列の要素を更新することができ、更新された畳み込み記憶行列を用いて、辞書行列を更新することができる。そのようにして、辞書行列は、畳み込み記憶行列を大きくすることなく、画像から学習される情報を用いて更新される。
【００１９】
さらに、撮像システムは、センサによって取得される一連の画像内の異なる画像ごとに、畳み込み記憶行列及び辞書行列の更新を繰り返し実行することができる。例えば、第１の画像に基づいて、畳み込み記憶行列及び辞書行列が更新された後に、センサによって取得された第２の画像に基づいて、畳み込み記憶行列及び辞書行列が更に更新される。
【００２０】
具体的には、プロセッサは、第２の画像を、更新された辞書行列と第２の係数行列との畳み込みとして変換し、第２の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、畳み込み記憶行列の要素を更に更新する。次に、プロセッサは、更新された畳み込み記憶行列を用いて、更新された辞書行列を更に更新する。そのようにして、辞書行列は、畳み込み記憶行列を大きくすることなく、第２の画像から学習された情報を用いて更に更新される。
【００２１】
いくつかの実施形態は、辞書原子における辞書更新の線形性が、全ての過去の係数行列を統合して、１つのコンパクトな畳み込み記憶行列にするのを可能にするという別の理解に基づく。例えば、畳み込み記憶行列は、画像の畳み込み表現の係数行列の対応して位置する要素を相加的に畳み込むことによって構成される。例えば、畳み込み記憶行列は、係数行列の対応して位置する要素の畳み込み関数を使用することによって繰り返し更新することができる。種々の実施形態において、畳み込み関数は、畳み込みの和の選択を含む。例えば、一実施形態において、畳み込み関数は
【数１】
0006821038.tif 000002
に基づき、ただし、Ｓは選択演算子であり、
【数２】
0006821038.tif 000003
は係数行列ｘｍの反転したバージョン（flipped version）である。
【００２２】
オンライン畳み込み辞書学習は、画像圧縮、画像融合、データ融合、雑音除去及び修復等のいくつかの異なる適用例の場合に役に立つ可能性がある。例えば、融合システムが、複数の異なる検知様式を用いて、１つのシーンのいくつかの測定値を取得することができる。センサから取得されるデータを一緒に処理して、取得された様式のうちの１つ以上において撮像品質を改善する。そのような撮像方法は、シーン内の物体についての相補的な情報源を与えること、ハードウェア制約を克服すること、又は個々のセンサに起因するデータ不確定性を低減すること等の、検知システム内の新たな能力を有効にする可能性がある。
【００２３】
本開示のいくつかの実施形態は、異なるシーンの多様式画像が、異なるタイプの同時に現れる特徴を有する場合があるので、データ融合の場合、同時に現れる特徴は、測定値から課せられるべきではなく、測定値から学習されるべきであるという別の理解に基づく。測定値から課せられる同時に現れる特徴、すなわち、他の様式において何らかの形で再現される、或る様式内の画像の特徴から、非限定的な例として、画像品質の劣化等の、数多くの問題が生じることがわかった。数ある理由の中でも、画像品質が劣化する少なくとも１つの理由は、そのシーン内のばらつきが大きいことに起因し、それらの手作業による特徴、すなわち、再現される特徴は、結果として、そのシーン内に想定される特徴が存在しないときに、融合された画像内にアーティファクトとして現れる可能性がある。
【００２４】
学習中に係数にジョイントスパーシティ（joint-sparsity）制約を課すことによって、関連する特徴を学習するために、畳み込み辞書学習を使用することができる。しかしながら、畳み込み辞書学習を行うために、辞書行列は、データ融合のために検知された現在の画像を反映すべきである。言い換えると、データ融合のために、畳み込み辞書学習はオンラインで、すなわち、データを融合するのと同時に実行される必要がある。
【００２５】
そのため、いくつかの実施形態は、異なる様式において画像を取得し、第１の様式内の画像に対して学習された第１の辞書行列及び第２の様式内の画像に対して学習された第２の辞書行列とともに、ジョイント畳み込みスパースコーディングを用いて、第１の様式及び第２の様式内のシーンの対応する画像を変換する。ジョイント畳み込みスパースコーディングは、情報源を特徴レベルで融合するための効率的なツールを提供する。異なる様式の画像に、同時に現れる特徴を課す代わりに、ジョイント畳み込みスパースコーディングは、異なる様式内の画像間で情報を共有するのを助長する。そのようにして、或る様式内の或る画像内の情報を、その情報のタイプをあらかじめ知ることなく、別の様式内の別の画像の中に伝搬することができる。
【００２６】
それゆえ、いくつかの実施形態は、異なる様式の対応する画像上でジョイント畳み込みスパースコーディングを使用して、第１の様式内のシーンの第１の画像を表す第１の係数行列と、第２の様式のシーンの第２の画像を表す第２の係数行列とを生成する。それらの係数行列を用いて、融合された出力画像を与えることができる。例えば、１つの実施形態は、第１の係数行列及び第１の辞書行列の畳み込みを用いて第１の様式内の第１の出力画像を特定し、第２の係数行列及び第２の辞書行列の畳み込みを用いて第２の様式内の第２の出力画像を特定する。
【００２７】
本開示の一実施形態によれば、撮像システムが、第１の様式の一連の画像を取得する第１のセンサを含む。第１の畳み込み記憶行列を記憶するメモリ。第１の畳み込み記憶行列の各要素は、第１の様式の画像の畳み込み表現の係数行列の対応して位置する要素の畳み込み関数であり、メモリは、第１の様式の画像の原子を含む第１の辞書行列を記憶する。第１のセンサによって取得されたシーンの第１の画像を第１の辞書行列及び第１の係数行列の畳み込みとして変換し、第１の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、第１の畳み込み記憶行列の要素を更新し、更新された第１の畳み込み記憶行列を用いて辞書行列を更新するプロセッサ。
【００２８】
本開示の一実施形態によれば、画像処理の方法。その方法は、第１の畳み込み記憶行列を記憶するメモリに結合されるプロセッサを使用する。第１の畳み込み記憶行列の各要素は、第１の様式の画像の畳み込み表現の係数行列の対応して位置する要素の畳み込み関数であり、メモリは第１の様式の画像の原子を含む第１の辞書行列を記憶する。プロセッサは、その方法を実施する記憶された命令と結合され、それらの命令は、プロセッサによって実行されるときに、方法の少なくともいくつかのステップを実行する。その方法は、第１の様式内のシーンの第１の画像を、第１の辞書行列及び第１の係数行列の畳み込みとして変換することを含む。第１の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、第１の畳み込み記憶行列の要素を更新する。最後に、更新された第１の畳み込み記憶行列を用いて第１の辞書行列を更新し、更新された辞書行列は、雑音除去及びデータ融合等の撮像処理を改善するのを支援する。
【００２９】
本開示の別の実施形態によれば、方法を実行するためにコンピュータによって実行可能なプログラムを具現する非一時的コンピュータ可読記憶媒体。その方法は、第１の様式内の画像に関して学習された第１の辞書行列とともに、ジョイント畳み込みスパースコーディングを用いて、第１の様式及び第２の様式内のシーンの対応する画像を変換することを含む。第１の様式内のシーンの第１の画像を表す第１の係数行列と、第２の様式のシーンの第２の画像を表す第２の係数行列とを生成するために、第２の様式内の画像に関して学習された第２の辞書行列。第１の係数行列及び第１の辞書行列の畳み込みを用いて、第１の様式内の第１の出力画像を特定する。第２の係数行列及び第２の辞書行列の畳み込みを用いて、第２の様式内の第２の出力画像を特定する。第１の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、第１の畳み込み記憶行列を更新する。第２の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、第２の畳み込み記憶行列を更新する。第１の係数行列及び第１の畳み込み記憶行列の畳み込みを用いて、第１の辞書行列を更新する。最後に、第２の係数行列及び第２の畳み込み記憶行列の畳み込みを用いて、第２の辞書行列を更新する。
【００３０】
更なる特徴及び利点は、以下の詳細な説明を添付図面とともに取り入れると、この詳細な説明からより容易に明らかになる。
【００３１】
ここに開示されている実施形態は、添付図面を参照して更に説明される。示されている図面は、必ずしも一律の縮尺というわけではなく、その代わり、一般的に、ここに開示されている実施形態の原理を示すことに強調が置かれている。
【図面の簡単な説明】
【００３２】
【図１Ａ】本開示のいくつかの実施形態による、一連の入力画像からのオンライン畳み込み辞書学習（ＯＣＤＬ：online convolutional dictionary learning）のためのコンピュータシステムのブロック図である。
【図１Ｂ】本開示のいくつかの実施形態による、一連の入力画像からのオンライン畳み込み辞書学習（ＯＣＤＬ）のための代替のコンピュータシステムのブロック図である。
【図１Ｃ】本開示のいくつかの実施形態による、ＯＣＤＬを使用する奥行画像アップサンプリングの概略図である。
【図１Ｄ】本開示の一実施形態による、ＯＣＤＬを使用する画像処理のためのコンピュータ実施方法のブロック図である。
【図１Ｅ】本開示の一実施形態による、ＯＣＤＬを実施するための擬似コードである。
【図２Ａ】本開示の一実施形態による、畳み込み関数のブロック図である。
【図２Ｂ】本開示の一実施形態による、畳み込み記憶行列に関する更新を計算する方法のブロック図である。
【図３Ａ】本開示の一実施形態による、畳み込みスパースコーディングを実施するための擬似コードである。
【図３Ｂ】本開示の一実施形態による、軟閾値関数の概略図である。
【図４】本開示の一実施形態による、辞書更新を実施するための擬似コードである。
【図５Ａ】本開示のいくつかの実施形態による、ＯＣＤＬを用いて異なる様式の２つの画像を処理する概略図である。
【図５Ｂ】本開示の一実施形態による、ＯＣＤＬを用いて異なる様式の２つの画像を処理するためのコンピュータ実施方法のブロック図である。
【図６】本開示の実施形態による、代替のコンピュータ又はコントローラを用いて実施することができる、図１Ａの方法を示すブロック図である。
【発明を実施するための形態】
【００３３】
上記で明らかにされた図面は、ここに開示されている実施形態を記載しているが、この論述において言及されるように、他の実施形態も意図されている。この開示は、限定ではなく代表例として例示の実施形態を提示している。ここに開示されている実施形態の原理の範囲及び趣旨に含まれる非常に多くの他の変更及び実施形態を当業者は考案することができる。
【００３４】
以下の説明は、例示的な実施形態のみを提供し、本開示の範囲も、適用範囲も、構成も限定することを意図していない。そうではなく、例示的な実施形態の以下の説明は１つ以上の例示的な実施形態を実施することを可能にする説明を当業者に提供する。添付の特許請求の範囲に明記されているような開示された主題の趣旨及び範囲から逸脱することなく要素の機能及び配置に行うことができる様々な変更が意図されている。以下の説明では、実施形態の十分な理解を提供するために、具体的な詳細が与えられる。しかしながら、当業者は、これらの具体的な詳細がなくても実施形態を実施することができることを理解することができる。例えば、開示された主題におけるシステム、プロセス、及び他の要素は、実施形態を不必要な詳細で不明瞭にしないように、ブロック図形式の構成要素として示される場合がある。それ以外の場合において、よく知られたプロセス、構造、及び技法は、実施形態を不明瞭にしないように不必要な詳細なしで示される場合がある。さらに、様々な図面における同様の参照符号及び名称は、同様の要素を示す。
【００３５】
また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、又はブロック図として描かれるプロセスとして説明される場合がある。フローチャートは、動作を逐次的なプロセスとして説明することができるが、これらの動作の多くは、並列又は同時に実行することができる。加えて、これらの動作の順序は、再配列することができる。プロセスは、その動作が完了したときに終了することができるが、論述されない又は図に含まれない追加のステップを有する場合がある。さらに、特に説明される任意のプロセスにおける全ての動作が全ての実施形態において行われ得るとは限らない。プロセスは、方法、関数、手順、サブルーチン、サブプログラム等に対応することができる。プロセスが関数に対応するとき、その関数の終了は、呼び出し側関数又はメイン関数へのその機能の復帰に対応することができる。
【００３６】
さらに、開示された主題の実施形態は、少なくとも一部は手動又は自動のいずれかで実施することができる。手動実施又は自動実施は、マシン、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はそれらの任意の組み合わせを用いて実行することもできるし、少なくとも援助することができる。ソフトウェア、ファームウェア、ミドルウェア又はマイクロコードで実施されるとき、必要なタスクを実行するプログラムコード又はプログラムコードセグメントは、マシン可読媒体に記憶することができる。プロセッサ（複数の場合もある）が、それらの必要なタスクを実行することができる。
【００３７】
概略
本開示の実施形態は、スパースコーディングのシステム及び方法を提供し、より詳細には、畳み込みスパースコーディングを用いて、画像の原子の辞書を更新するオンライン畳み込み辞書学習を提供する。
【００３８】
多様式撮像における重要なステップは、多様式撮像の品質を改善するために利用することができる、複数の様式内の関連する特徴を識別することである。詳細には、複数の異なる検知様式を用いて、特徴のいくつかの測定値が取得され、センサから取得されたデータを一緒に処理して、取得された様式のうちの１つ以上において撮像品質を改善する。しかしながら、多様式の測定値からそれらの特徴を識別及び抽出するのは難しい。
【００３９】
本開示の実施形態は、可変分割技法を用いて、畳み込み辞書学習を再定式化することができ、それにより、その後、全ての係数行列を統合して、畳み込み辞書学習のために十分な単一の畳み込み記憶行列にすることができるという理解に基づく。
【００４０】
しかしながら、ＣＤＬを変更する方法を発見することは、多くの理由から難しいことがわかった。例えば、ＣＤＬは、画像を辞書及び係数行列の畳み込みとして表し、対応する１組の画像を表す１組の係数行列から辞書を学習することを目的とする。係数行列は、対応する画像のスパース表現である。しかしながら、ＣＤＬのための係数行列の数は十分に大きい必要があり、結局、著しいメモリリソースがＣＤＬに対して割り当てられることになり、すなわち、スパース表現を使用するのに大量のメモリを必要とする。全てのデバイスが、そのような学習方法に、それだけのメモリリソースを専用に充てることができるとは限らない。さらに、学習のコストはデータエントリの数、例えば、ビデオフレームの数に比例して増加するので、ＣＤＬは、多様式のストリーミングビデオシーケンス等の非常に大きいデータセットに拡張するのは難しい。例えば、１メガピクセルフレームの２５ｆｐｓにおける１分間のビデオの場合に辞書行列を学習するために必要とされるデータは、メモリのうちの約７１５ＧＢを占有する可能性がある。それは、ＣＤＬ方法が小さいデータセットでのみ機能することができ、その適用性が多様式のセンサ融合に限定されることを意味する。現在、ＣＤＬはオフラインにおいてのみ使用することができ、リアルタイム融合には適していない。そのため、ＣＤＬを使用できるように、上記の制約を克服する必要がある。
【００４１】
可変分割技法を用いて畳み込み学習を再定式化することによって、ＣＤＬを変更することができ、それにより、全ての係数行列（統合されない場合、１メガピクセル画像に対して７１５ＧＢ）を統合して、学習するのに十分である単一の畳み込み記憶行列（１ＫＢ）にできることがわかった。畳み込み記憶行列は、画像の畳み込み表現の係数行列の対応して位置する要素を相加的に畳み込むことによって構成される。
【００４２】
例えば、一例においてメモリのうちの７１５ＧＢを占有する可能性がある、１組の係数行列に関してＣＤＬを実行する代わりに、それらの係数行列の相加的な畳み込みを決定し、結果として、対応する例においてメモリのうちの１ＫＢを占有する可能性がある単一の畳み込み記憶行列を生成し、その畳み込み記憶行列に基づいて、辞書行列を学習する。畳み込み記憶行列の使用は、ＣＤＬのために割り当てられるメモリの量を著しく削減することができ、ＣＤＬをオンラインの適用例に適したものにすることができる。例えば、ここで、畳み込み学習のメモリ効率に起因して、本開示の大規模ＣＤＬ法は、ジョイント畳み込みスパースコーディングを用いて、ストリーミングされるデータから直接、関連する特徴を学習することを可能にし、それにより、融合されるデータの品質が改善される。
【００４３】
本開示の定式化の更なる利点は、未処理のセンサデータで直接機能するように、付加的な雑音除去機構を組み込むことができるようになることである。具体的には、従来のＣＤＬの適用は、雑音のない画像か、又は雑音量が非常に少ない画像に関する学習を必要とする。これは、学習アルゴリズムが、辞書を画像に直接当てはめようとするためであり、それは、画像に雑音が多いときに、そのアルゴリズムは結局、雑音を学習することになることを意味する。しかしながら、本開示の定式化は、全変動を用いて解を更に正則化できるようにし、それにより、通常は測定雑音を含むセンサデータで直接機能できるようにすることによって、これ（従来の適用例）を回避する。
【００４４】
そのために、いくつかの実施形態は、第１の様式の画像の原子を含む辞書行列を記憶する撮像システムを開示する。畳み込み記憶行列の各要素は、画像の畳み込み表現の係数行列の対応して位置する要素の畳み込み関数である。
【００４５】
本開示をより深く理解するために、本開示を実施するために使用することができる少なくとも１つの方法が提供される。その方法は、シーンの画像を辞書行列及び第１の係数行列の畳み込みとして変換するように符号化されるメモリに動作可能に接続されるプロセッサを含むことができる。
【００４６】
例えば、プロセッサは、畳み込みスパースコーディングを用いて、第１の画像を変換することができる。次に、プロセッサは、第１の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、畳み込み記憶行列の要素を更新することができ、更新された畳み込み記憶行列を用いて、辞書行列を更新することができる。そのようにして、辞書行列は、畳み込み記憶行列を大きくすることなく、画像から学習される情報を用いて更新される。さらに、更新された辞書行列の少なくとも１つの態様は、雑音除去及びデータ融合等の撮像処理を改善するのを支援する。
【００４７】
さらに、撮像システムは、センサによって取得される一連の画像内の異なる画像ごとに、畳み込み記憶行列及び辞書行列の更新を繰り返し実行することができる。例えば、第１の画像に基づいて、畳み込み記憶行列及び辞書行列が更新された後に、センサによって取得された第２の画像に基づいて、畳み込み記憶行列及び辞書行列が更に更新される。
【００４８】
具体的には、プロセッサは、第２の画像を、更新された辞書行列と第２の係数行列との畳み込みとして変換し、第２の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、畳み込み記憶行列の要素を更に更新する。次に、プロセッサは、更新された畳み込み記憶行列を用いて、更新された辞書行列を更に更新する。そのようにして、辞書行列は、畳み込み記憶行列を大きくすることなく、第２の画像から学習された情報を用いて更に更新される。
【００４９】
いくつかの実施形態は、辞書原子における辞書更新の線形性が、全ての過去の係数行列を統合して、１つのコンパクトな畳み込み記憶行列にするのを可能にするという別の理解に基づく。例えば、畳み込み記憶行列は、画像の畳み込み表現の係数行列の対応して位置する要素を相加的に畳み込むことによって構成される。例えば、畳み込み記憶行列は、係数行列の対応して位置する要素の畳み込み関数を使用することによって繰り返し更新することができる。種々の実施形態において、畳み込み関数は、畳み込みの和の選択を含む。例えば、一実施形態において、畳み込み関数は
【数３】
0006821038.tif 000004
に基づき、ただし、Ｓは選択演算子であり、
【数４】
0006821038.tif 000005
は係数行列ｘｍの反転したバージョンである。
【００５０】
オンライン畳み込み辞書学習は、画像圧縮、画像融合、修復、雑音除去及びデータ融合等のいくつかの異なる適用例の場合に役に立つ可能性がある。例えば、融合システムが、複数の異なる検知様式を用いて、１つのシーンのいくつかの測定値を取得することができる。センサから取得されるデータを一緒に処理して、取得された様式のうちの１つ以上において撮像品質を改善する。そのような撮像方法は、シーン内の物体についての相補的な情報源を与えること、ハードウェア制約を克服すること、又は個々のセンサに起因するデータ不確定性を低減すること等の、検知システム内の新たな能力を有効にする可能性がある。
【００５１】
本開示のいくつかの実施形態は、異なるシーンの多様式画像が、異なるタイプの同時に現れる特徴を有する場合があるので、データ融合の場合、同時に現れる特徴は、測定値から課せられるべきではなく、測定値から学習されるべきであるという別の理解に基づく。測定値から課せられる同時に現れる特徴、すなわち、他の様式において何らかの形で再現される、或る様式内の画像の特徴から、非限定的な例として、画像品質の劣化等の、数多くの問題が生じることがわかった。数ある理由の中でも、画像品質が劣化する少なくとも１つの理由は、そのシーン内のばらつきが大きいことに起因し、それらの手作業による特徴、すなわち、再現される特徴は、結果として、そのシーン内に想定される特徴が存在しないときに、融合された画像内にアーティファクトとして現れる可能性がある。
【００５２】
学習中に係数にジョイントスパーシティ制約を課すことによって、関連する特徴を学習するために、畳み込み辞書学習を使用することができる。しかしながら、畳み込み辞書学習を行うために、辞書行列は、データ融合のために検知された現在の画像を反映すべきである。言い換えると、データ融合のために、畳み込み辞書学習はオンラインで、すなわち、データを融合するのと同時に実行される必要がある。
【００５３】
そのため、いくつかの実施形態は、異なる様式において画像を取得し、第１の様式内の画像に対して学習された第１の辞書行列及び第２の様式内の画像に対して学習された第２の辞書行列とともに、ジョイント畳み込みスパースコーディングを用いて、第１の様式及び第２の様式内のシーンの対応する画像を変換する。ジョイント畳み込みスパースコーディングは、情報源を特徴レベルで融合するための効率的なツールを提供する。異なる様式の画像に、同時に現れる特徴を課す代わりに、ジョイント畳み込みスパースコーディングは、異なる様式内の画像間で情報を共有するのを助長する。そのようにして、或る様式内の或る画像内の情報を、その情報のタイプをあらかじめ知ることなく、別の様式内の別の画像の中に伝搬することができる。
【００５４】
それゆえ、いくつかの実施形態は、異なる様式の対応する画像上でジョイント畳み込みスパースコーディングを使用して、第１の様式内のシーンの第１の画像を表す第１の係数行列と、第２の様式のシーンの第２の画像を表す第２の係数行列とを生成する。それらの係数行列を用いて、融合された出力画像を与えることができる。例えば、１つの実施形態は、第１の画像及び第２の画像を受信するのに応答して、第１の係数行列及び第１の辞書行列の畳み込みを用いて第１の様式内の第１の出力画像を特定し、第２の係数行列及び第２の辞書行列の畳み込みを用いて第２の様式内の第２の出力画像を特定する。
【００５５】
それに加えて、又はその代わりに、いくつかの実施形態は、これらの係数行列を用いて、対応する畳み込み記憶行列を更新し、最終的には、次の反復時にデータ融合のために使用することができる対応する辞書行列を更新する。
【００５６】
例えば、一実施形態は、第１の係数行列の対応して位置する非０の要素の畳み込み関数を用いて第１の畳み込み記憶行列を更新し、第２の係数行列の対応して位置する非０の要素の畳み込み関数を用いて第２の畳み込み記憶行列を更新する。次に、その実施形態は、第１の係数行列及び第１の畳み込み記憶行列の畳み込みを用いて第１の辞書行列を更新し、第２の係数行列及び第２の畳み込み記憶行列の畳み込みを用いて第２の辞書行列を更新する。
【００５７】
いくつかの実施形態は、オンライン畳み込み辞書学習によれば、未処理のデータで直接機能するように、付加的な雑音除去機構を組み込むことができ、それにより、画像表現及び／又はデータ融合を改善できるようになるという別の理解に基づく。例えば、いくつかの実施形態は、第１の画像の構造に関する事前情報を用いて画像を変換する。そのような事前情報の例は、画像内の値の全変動を含む。
【００５８】
例えば、いくつかの実施形態は、同時に現れる特徴の符号化を強制するために、ジョイントスパーシティ制約下で多様式畳み込み辞書学習アルゴリズムを使用する。この定式化において、多様式畳み込み辞書は、その対応する係数行列を用いて同時に学習される。結果として生じる多様式畳み込み辞書は、データから、雑音除去、画質向上又はアップサンプリング等の所与の撮像タスクに関して最適化されるスパース符号を生成することができる。
【００５９】
図１Ａは、本開示のいくつかの実施形態による、オンライン畳み込み辞書学習（ＯＣＤＬ）用のコンピュータシステムのブロック図を示す。コンピュータシステム１００は入力画像１９５を含み、入力画像は、シーンのビデオのフレームとすることができる。入力画像１９５は、コンピュータ／コントローラ１２８のバス１１３を介して、プロセッサ１２０と通信することができる。プロセッサ１２０はバス１１３を介してメモリ１４０と通信し、メモリ１４０は、プロセッサ１２０によって実行可能である命令を記憶する。プロセッサ１２０は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスター又は任意の数の他の構成とすることができる。メモリ１４０は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、フラッシュメモリ又は任意の他の適切なメモリシステムを含むことができる。システム１００は記憶装置１３０を含むことができ、記憶装置は、元の画像１３１、フィルタシステム１３２、及びオンライン畳み込み辞書学習（ＯＣＤＬ）１１１を含むことができる。最後に、システムによって出力画像１０２を生成することができ、バス１１３を介して出力することができる。
【００６０】
図１Ａを更に参照すると、システム１００は任意選択で、バス１１３に接続されるヒューマンマシンインターフェース（ＨＭＩ）１１０に接続することができ、ＨＭＩはいくつかのデバイスと通信することができる。プロセッサ１２０は任意選択で、バス１１３を通して、ディスプレイデバイス１６５に接続されるディスプレイインターフェース１６０に接続することができる。さらに、プロセッサ１２０は任意選択で、バス１１３を介して撮像デバイス１７５に接続される撮像インターフェース１７０に接続することができる。
【００６１】
図１Ｂは、本開示のいくつかの実施形態による、図１Ａの代替のコンピュータシステムのブロック図である。システム１００Ａは、ビデオのフレームとすることができる入力画像１９５を収集するために、ビデオカメラ等のデバイス１２２のためのシーン１２１を含む。コンピュータ／コントローラ１２８は、記憶された命令を実行するように構成されるプロセッサ１２０と、プロセッサによって実行可能である命令を記憶するメモリ１４０とを含むことができる。システム１００Ａは記憶装置１３０を含むことができ、記憶装置は、元の画像１３１、フィルタシステム１３２、及びオンライン畳み込み辞書学習（ＯＣＤＬ）１１１を含むことができる。最後に、システムによって出力画像１０２を生成することができ、バス１１３を介して出力することができる。
【００６２】
図１Ｂを更に参照すると、システム１００Ａは、バス１１３を通して、ディスプレイデバイス１６５に接続されるディスプレイインターフェース１６０に任意選択で接続することができるプロセッサ１２０を含む。さらに、プロセッサ１２０は任意選択で、バス１１３を介して撮像デバイス１７５に接続される撮像インターフェース１７０に接続することができる。さらに、入力画像１９５はネットワーク１９０に接続することができ、ネットワークは、バス１１３と通信するネットワークインターフェースコントローラ（ＮＩＣ）１５０に接続される。システム１００Ａは、バス１１３に接続されるヒューマンマシンインターフェース（ＨＭＩ）１１０に接続されるキーボード１１４を含むことができる。さらに、システム１００は、印刷デバイス１８５と通信するプリンタインターフェース１８０を含むことができる。
【００６３】
図１Ｃは、本開示のいくつかの実施形態による、オンライン畳み込み辞書学習（ＯＣＤＬ）１１１を用いて第１の入力画像１９５を処理する概略図を示す。ＯＣＤＬ１１１は、メモリに記憶される命令を実行するプロセッサによって実行することができる。いくつかの実施形態において、ＯＣＤＬ１１１は、入力画像１９５を処理して、より高い空間解像度の出力画像１０２を生成する。
【００６４】
図１Ｄは、本開示の一実施形態による、ＯＣＤＬを使用する画像処理のためのコンピュータ実施方法のブロック図である。コンピュータシステム１００Ｂは、シーン１２１のセンサ１２２から入力画像１９５を受信し、出力画像１０２を生成するために、それらの入力画像をコンピュータ／コントローラ１２８を介して処理する。最初に、対応するスパース−最適化問題を解くことによって畳み込みスパースコーディング１２４を実行し、係数行列１２５を生成することによって、処理が行われる。その後、それらの行列を畳み込み（１２６）、低いメモリ要件で辞書を更新する（１２８）ために使用することができる畳み込み記憶行列１２７を生成する。
【００６５】
図１Ｅは、本開示の一実施形態による、ＯＣＤＬを実施するための擬似コードである。擬似コードは、ＯＣＤＬを用いて、ストリーミングされる入力画像１９５を出力画像１０２に変換することを記述する。
【００６６】
図２Ａは、本開示の一実施形態による、畳み込み関数１２６のブロック図である。畳み込み関数１２６は、最初に更新を計算し（２０１）、記憶行列を更新する（２０２）ことによって、畳み込み記憶行列１２７を更新する。更新は、互いの中で、かつ出力画像１０２と、反転した係数行列（flipped coefficient matrix）１２５を畳み込むことによって計算される。記憶行列は、その後、メモリ内の記憶行列に更新を追加することによって更新される。
【００６７】
図２Ｂは、本開示の一実施形態による、図１Ｄの畳み込み記憶行列１２７のための更新を計算する方法のブロック図である。具体的には、図２Ａの計算された更新２０１は、係数行列１  ２１０、係数行列２  ２１１及び出力画像１０２を含む。係数行列２  ２１１は空間的に反転され（２１２）、反転した係数行列２１３が係数行列１  ２１０及び出力画像１０２と畳み込まれ（２１４）、畳み込まれた行列１  ２１５及び畳み込まれた行列２  ２１６が生成される。畳み込まれた行列２１５、２１６からの要素のサブセットが、畳み込みカーネルの大きさと一致するように選択され（２１７）、更新１  ２１８及び更新２  ２１９がもたらされる。
【００６８】
図３Ａは、本開示の一実施形態による、畳み込みスパースコーディングを実施するための擬似コードである。
【００６９】
図３Ｂは、本開示の一実施形態による、軟閾値関数の概略図である。軟閾値は、パラメーターλより小さい入力信号の値を０に設定し、それより大きい値をλだけ小さくする。この関数を適用する結果として、スパース係数行列が生成される。
【００７０】
オンライン畳み込み辞書学習フレームワーク
図３Ａ及び図３Ｂを参照すると、本発明の方法及びシステムは、線形測定値ｙｌ＝Φｌｘｌ＋ｅｌで機能する。ただし、様式ｌ∈［１，．．．，Ｌ］ごとに、
【数５】
0006821038.tif 000006
は対応する測定ベクトルを表し、
【数６】
0006821038.tif 000007
は未知の画像を表し、
【数７】
0006821038.tif 000008
は測定値行列を表し、
【数８】
0006821038.tif 000009
は測定値内の雑音を表す。画像｛ｘｌ｝ｌ∈［１，．．．，Ｌ］は、異なる様式から視認される同じ物理的対象物に対応する。例えば、各ｘｌは、異なるカラーチャネル、スペクトル帯域、又はセンサタイプを表すことができる。簡単にするために、画像の所望の寸法は全ての様式にわたって同じであり、収集デバイスが完全に位置合わせされると仮定する。
【００７１】
本発明の手法の根底にある仮定は、ジョイントスパース畳み込みモデルが画像｛ｘｌ｝を、
【数９】
0006821038.tif 000010
と正確に近似できることである。ただし、｛ｄｌｋ｝は
【数１０】
0006821038.tif 000011
内の１組のＬＫ個の畳み込みフィルターであり、演算子＊は畳み込みを表し、｛αｌｋ｝は
【数１１】
0006821038.tif 000012
内の１組の係数行列である。Ｄｌ及びαｌはそれぞれ、全部でＫ個の辞書及び係数マップの連結を表すことに留意されたい。
【００７２】
畳み込みスパースコーディング
完全な辞書Ｄ＝（Ｄ１，．．．，ＤＬ）を与えられると、以下のコスト関数を最小化することによって畳み込みスパースコーディングを実行することができる。
【数１２】
0006821038.tif 000013
ただし、ｙ＝ｖｃ（ｙ１，．．．，ｙＬ）、ｘ＝ｖｃ（ｘ１，．．．，ｘＬ）及びα＝ｖｃ（α１，．．．，αＬ）は対応する信号の垂直連結（ｖｃ：vertical concatenation）を表し、Φ＝ｄｉａｇ（Φ１，．．．，ΦＬ）は、ブロック対角検知行列を表す。コスト関数内の第１の二次項はデータ忠実度を評価し、一方、第２の項は辞書の近似品質を管理する。第１の正則化項
【数１３】
0006821038.tif 000014
はＬ個の様式にわたって係数のグループスパーシティ又はジョイントスパーシティを課す。ここで、
【数１４】
0006821038.tif 000015
は様式ｌごとのカーネルｋに関連付けられる係数行列の同じ位置にあるエントリ（aligned entry）によって形成されるベクトルを表す。具体的には、この正則化項は、全ての様式において、畳み込み辞書Ｄによって符号化される、画像特徴の同時出現を助長する。コストＣ内の第２の正則化項は、全変動（ＴＶ）ペナルティ
【数１５】
0006821038.tif 000016
に対応する。ただし、Ｌは離散勾配演算子である。撮像問題が不良設定であるとき、ｙからの辞書の教師なし学習は複雑である。ＴＶ正則化項を含む目的は、この学習を支援することである。実際に、学習中及び再構成中の両方において、ＴＶが含まれたとき、品質の著しい改善が観測された。最後に、正の定数ρ、λ及びτは、データ忠実度と正則化との間のトレードオフを管理するパラメーターである。
【００７３】
上記で言及されたように、図３Ａは、畳み込みスパースコーディングを実施するための擬似コードであり、スパースコーディングのためのコスト関数のジョイント最適化は凸問題である。それを解くために、図３Ａに要約される降下法タイプの方法が使用される。詳細には、コスト関数Ｃ（ｘ，α，Ｄ｜ｙ，Φ）が滑らかな二次項
【数１６】
0006821038.tif 000017
及び滑らかでない二次項
【数１７】
0006821038.tif 000018
に分割され、滑らかでない二次項は、画像ｘ及び係数行列αに関して分離可能である。
【００７４】
λ｜｜α｜｜２，１に関連付けられる近接演算子は、
【数１８】
0006821038.tif 000019
に等しい。ただし、演算子（・）＋は、その引数の正の部分を抽出する。
【００７５】
図３Ｂは、本開示の一実施形態による、軟閾値関数の概略図である。例えば、様式の数が１である、すなわち、Ｌ＝１であるとき、上記の近接演算子は、図３Ｂに示される簡単な軟閾値演算子になる。軟閾値処理は、パラメーターλより小さい入力信号の値を０に設定し、それより大きい値をλだけ小さくし、それにより、スパース係数が生成される。ＴＶの近接は閉形式解を有しないが、効率的に実施することができる。
【００７６】
辞書更新
ストリーミングされる入力データを検討し、ステップ
【数１９】
0006821038.tif 000020
ごとに、対（ｙｔ，Φｔ）が得られる。学習手順は、ｘ、α及びＤに関して同時に、全てのｔに対してコストＣ（ｘ，α，Ｄ｜ｙ，Φ）を最小化しようと試みる。具体的には、
【数２０】
0006821038.tif 000021
とすると、これは結局、Ｄに関して、
【数２１】
0006821038.tif 000022
を解くことに相当する。ただし、期待値はｔにわたって取り込まれる。スケーリング曖昧性を補償するために、Ｄの最適化を閉じた凸集合Ｄに限定することに留意されたい。具体的には、Ｄはｌ２球内にカーネルを有する１組の畳み込み辞書であり、すなわち、｜｜ｄｌｋ｜｜２≦１である。
【００７７】
Ｄに関する最適化問題を解くために、最初に、上記の節において説明された畳み込みスパースコーディングを実行し、画像ｘｔ及び係数行列αｔを特定する。その後、
【数２２】
0006821038.tif 000023
によって与えられる
【数２３】
0006821038.tif 000024
の代用物（surrogate）を最小化したい。
【００７８】
図４は、本開示の一実施形態による、辞書更新を実施するための擬似コードである。例えば、この第２のステップは、次に説明され、図４において要約されるような、カーネル｛ｄｌｋ｝に関するブロック勾配降下を使用することによって実行される。
【００７９】
ｘｉ及びαｉを固定しておくと、Ｄに依存するＣ内の唯一の項は二次結合ペナルティ
【数２４】
0006821038.tif 000025
である。それゆえ、同等に、様式ｌごとに、
【数２５】
0006821038.tif 000026
を最小化することができる。ｌに関して全てのものが分離可能であるので、残りにおいて、表記を明確するために、下付き文字を削除する。畳み込み演算は可換であり、αｉは固定されるので、
【数２６】
0006821038.tif 000027
と書き換えることができることに留意されたい。ただし、
【数２７】
0006821038.tif 000028
は畳み込み和線形演算子であり、ｄ＝ｖｃ（ｄ１，．．．，ｄＫ）である。｜｜ｄｋ｜｜２≦１を前提として、
【数２８】
0006821038.tif 000029
を最小化するために、図４に要約される射影ブロック座標降下を適用する。
【００８０】
ｄに関する勾配が
【数２９】
0006821038.tif 000030
によって与えられることに留意されたい。ただし、［Ａｉ］Ｔは、係数行列の反転したバージョンと畳み込むことによって容易に実施することができる演算子Ａｉの転置を表す。重要なことに、以下の２つの要素
【数３０】
0006821038.tif 000031
からなる畳み込み記憶行列を定義することによって、この勾配を計算するために、全ての先行する反復を利用することができ、上記２つの要素は、図２Ａ及び図２Ｂに要約されるように、先行する反復から、
【数３１】
0006821038.tif 000032
として再帰的に計算することができる。
【００８１】
図５Ａは、本開示のいくつかの実施形態による、ＯＣＤＬ５００を用いて異なる様式の２つの画像を処理する概略図である。第１の入力画像５０１及び第２の入力画像５０２が、ＯＣＤＬによって一緒に処理され、出力画像５０３及び出力画像５０４が生成される。ジョイント畳み込み辞書学習によって、画像５０１及び５０２内の同時に現れる特徴を学習できるようになり、その情報を用いて、画像品質を改善できるようになる。
【００８２】
図５Ｂは、本開示の一実施形態による、ＯＣＤＬ５００を用いて異なる様式の２つの画像を処理するコンピュータ実施方法のブロック図である。入力画像１  ５０１はシーン５２１のセンサ５２２からの画像である。入力画像２  ５０２はシーン５２１のセンサ５２３からの画像である。入力画像１  ５０１及び入力画像２  ５０２はジョイント畳み込みスパースコーディングブロック５２５に送り込まれる。
【００８３】
入力画像５０１及び入力画像５０２のジョイント畳み込みスパースコーディング５２５によって、共有サポートを有するスパース係数行列５２６を取得できるようになる。その後、図２Ａに示されるように、係数行列５２６を用いて、畳み込み関数５２７を用いて畳み込み記憶行列５２８を更新する。その後、辞書更新５２９が、同じサポートを共有する係数行列５２６に対応する辞書原子を学習し、それにより、入力画像５０１及び５０２内の関連する特徴を符号化できるようにする。合わせて、学習された辞書原子が、ジョイント畳み込みスパースコーディング５２５の次の適用に渡される畳み込み辞書５２４を形成する。
【００８４】
特徴
撮像システムの一態様は、第１の様式の第２の画像を取得する第１のセンサを含むことができる。プロセッサは第２の画像を、更新された第１の辞書行列、及び第１の様式内の畳み込み表現の第２の係数行列の畳み込みとして変換する。プロセッサは更に、第１の様式内の畳み込み表現の第２の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、第１の畳み込み記憶行列の要素を更新する。プロセッサは、更新された第１の畳み込み記憶行列を用いて、更新された第１の辞書行列を更に更新する。
【００８５】
撮像システムの別の態様は、畳み込みスパースコーディングを用いて、第１の画像を変換するプロセッサを含むことができる。撮像システムは畳み込みの和からの選択を有する畳み込み関数を含むことができ、畳み込み関数は、
【数３２】
0006821038.tif 000033
に基づく。
【００８６】
撮像システムの別の態様は、第２の様式の一連の画像を取得する第２のセンサを更に含むことができる。メモリは第２の畳み込み記憶行列を記憶し、第２の畳み込み記憶行列の各要素は、第２の様式内の畳み込み表現の係数行列の対応して位置する要素の畳み込み関数である。メモリは、第２の様式の画像の原子を含む第２の辞書行列を記憶する。プロセッサは、ジョイント畳み込みスパースコーディングを用いて、第１の様式及び第２の様式内の対応する画像を変換し、第１の様式内の第１の画像を表す第１の係数行列と、第２の様式内のシーンの第２の画像を表す第２の係数行列とを生成する。プロセッサは、第１の係数行列の対応する要素を使用する畳み込み関数を用いて第１の畳み込み記憶行列を更新し、第２の係数行列の対応する要素を使用する畳み込み関数を用いて第２の畳み込み記憶行列を更新する。プロセッサは、第１の畳み込み記憶行列に基づいて、第１の辞書行列を更新し、第２の畳み込み記憶行列に基づいて、第２の辞書行列を更新する。さらに、プロセッサは、第１の画像及び第２の画像を受信するのに応答して、第１の係数行列及び第１の辞書行列の畳み込みを用いて第１の様式内の第１の出力画像を特定するように構成することが可能である。第２の係数行列及び第２の辞書行列の畳み込みを用いて第２の様式内の第２の出力画像を特定する。
【００８７】
プロセッサは、第１の画像の構造に関する事前情報を用いて第１の画像を変換することができる。第１の画像の構造に関する事前情報は第１の画像内の値の全変動を含むことができる。さらに、第１の画像の解像度は第２の画像の解像度とは異なることができる。
【００８８】
撮像システムの別の態様は、第１のセンサは輝度カメラ（intensity camera）であることができ、第１の画像は輝度画像（intensity image）であり、第２のセンサは奥行カメラ（depth camera）であり、第２の画像は奥行画像であることである。
【００８９】
撮像方法の別の態様が、第２の畳み込み記憶行列を記憶するメモリを含むことができ、第１の畳み込み記憶行列の各要素は第２の様式の画像の畳み込み表現の係数行列の対応して位置する要素の畳み込み関数であり、メモリは、第２の様式の画像の原子を含む第２の辞書行列を記憶し、その方法は、第１の様式の画像を取得する第１のセンサの測定値及び第２の様式の画像を取得する第２のセンサの測定値を受信するのに応答して。その方法は、第１の様式内の画像に関して学習された第１の辞書行列及び第２の様式の画像に関して学習された第２の辞書行列とともに、ジョイント畳み込みスパースコーディングを用いて、第１の様式及び第２の様式内のシーンの対応する画像を変換して、第１の様式内のシーンの第１の画像を表す第１の係数行列と、第２の様式のシーンの第２の画像を表す第２の係数行列とを生成することを含む。第１の係数行列及び第１の辞書行列の畳み込みを用いて、第１の様式内の第１の出力画像を特定する。第２の係数行列及び第２の辞書行列の畳み込みを用いて、第２の様式内の第２の出力画像を特定する。第１の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、第１の畳み込み記憶行列を更新する。第２の係数行列の対応して位置する非０の要素の畳み込み関数を用いて、第２の畳み込み記憶行列を更新する。第１の係数行列及び第１の畳み込み記憶行列の畳み込みを用いて、第１の辞書行列を更新する。第２の係数行列及び第２の畳み込み記憶行列の畳み込みを用いて、第２の辞書行列を更新する。
【００９０】
図６は、本開示の実施形態による、代替のコンピュータ又はプロセッサを用いて実施することができる図１Ａの方法を示すブロック図である。コンピュータ６１１は、プロセッサ６４０と、コンピュータ可読メモリ６１２と、記憶装置６５８と、ディスプレイ６５２及びキーボード６５１とのユーザーインターフェース６４９とを備え、これらは、バス６５６を通じて接続されている。例えば、プロセッサ６４０及びコンピュータ可読メモリ６１２と通信するユーザーインターフェース６４９は、ユーザーによるユーザーインターフェース６５７の表面、キーボード表面からの入力を受信すると、測定データを入手し、コンピュータ可読メモリ６１２内に記憶する。
【００９１】
メモリ６１２は、プロセッサによって実行可能な命令と、履歴データと、本開示の方法及びシステムによって利用することができる任意のデータとを記憶することができることが意図されている。プロセッサ６４０は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスター、又は任意の数の他の構成体とすることができる。プロセッサ６４０は、バス６５６を通じて１つ以上の入力デバイス及び出力デバイスに接続することができる。メモリ６１２は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ、又は他の任意の適したメモリシステムを含むことができる。
【００９２】
図６を更に参照すると、記憶デバイス６５８は、プロセッサによって用いられる補助データ及び／又はソフトウェアモジュールを記憶するように構成することができる。例えば、記憶デバイス６５８は、履歴デバイスデータと、デバイスのマニュアル等の他の関連したデバイスデータとを記憶することができ、デバイスは、本開示に関して上述したような測定データを取得することが可能な検知デバイスである。加えて又は代替的に、記憶デバイス６５８は、測定データと同様の履歴データを記憶することができる。記憶デバイス６５８は、ハードドライブ、光ドライブ、サムドライブ、ドライブのアレイ、又はそれらの任意の組み合わせを含むことができる。
【００９３】
システムは、任意選択で、バス６５６を通じて、システムをディスプレイデバイス（図示せず）に接続するように構成されたディスプレイインターフェース（図示せず）にリンクすることができ、ディスプレイデバイスは、とりわけ、コンピュータモニター、カメラ、テレビ、プロジェクター、又はモバイルデバイスを含むことができる。
【００９４】
コンピュータ６１１は、用途に応じて、電力源６５４を備えることができ、電力源６５４は、任意選択でコンピュータ６１１の外部に配置されてもよい。バス６５６を通じて、ディスプレイデバイス６４８に接続するように構成されたユーザー入力インターフェース６５７をリンクすることができ、ディスプレイデバイス６４８は、とりわけ、コンピュータモニター、カメラ、テレビ、プロジェクター、又はモバイルデバイスを含むことができる。プリンタインターフェース６５９も、バス６５６を通じて接続することができ、印刷デバイス６３２に接続するように構成することができる。印刷デバイス６３２は、とりわけ、液体インクジェットプリンタ、固体インクプリンタ、大規模商用プリンタ、感熱式プリンタ、ＵＶプリンタ、又は昇華型プリンタを含むことができる。ネットワークインターフェースコントローラ（ＮＩＣ）６３４は、バス６５６を通じてネットワーク６３６に接続するように構成され、とりわけ、測定データ又は他のデータは、コンピュータ６１１の外部の第三者ディスプレイデバイス、第三者撮像デバイス、及び／又は第三者印刷デバイス上にレンダリングすることができる。
【００９５】
図６を更に参照すると、とりわけ、測定データ又は他のデータは、ネットワーク６３６の通信チャネルを介して送信することができ、及び／又は、記憶及び／又は更なる処理のために記憶システム６５８内に記憶することができる。さらに、測定データ又は他のデータは、受信機６４６（又は外部受信機６３８）から無線又は配線接続で受信することもできるし、送信機６４７（又は外部送信機６３９）を介して無線又は配線接続で送信することもでき、受信機６４６及び送信機６４７は、ともにバス６５６を通じて接続されている。コンピュータ６１１は、入力インターフェース６０８を介して外部検知デバイス６４４及び外部入力／出力デバイス６４１に接続することができる。コンピュータ６１１は、他の外部コンピュータ６４２に接続することができる。出力インターフェース６０９は、プロセッサ６４０からの処理データを出力するのに用いることができる。
【００９６】
上述した本開示の実施形態は、数多くの方法のうちの任意のもので実施することができる。例えば、実施形態は、ハードウェア、ソフトウェア又はそれらの組み合わせを用いて実施することができる。請求項の要素を修飾する、特許請求の範囲における「第１」、「第２」等の序数の使用は、それ自体で、１つの請求項の要素の別の請求項の要素に対する優先順位も、優位性も、順序も暗示するものでもなければ、方法の動作が実行される時間的な順序も暗示するものでもなく、請求項の要素を区別するために、単に、或る特定の名称を有する１つの請求項の要素を、同じ（序数の用語の使用を除く）名称を有する別の要素と区別するラベルとして用いられているにすぎない。
【図１Ａ】
0006821038.tif 000036
【図１Ｂ】
0006821038.tif 000037
【図１Ｃ】
0006821038.tif 000038
【図１Ｄ】
0006821038.tif 000039
【図１Ｅ】
0006821038.tif 000040
【図２Ａ】
0006821038.tif 000041
【図２Ｂ】
0006821038.tif 000042
【図３Ａ】
0006821038.tif 000043
【図３Ｂ】
0006821038.tif 000044
【図４】
0006821038.tif 000045
【図５Ａ】
0006821038.tif 000046
【図５Ｂ】
0006821038.tif 000047
【図６】
0006821038.tif 000048