毎日肖像画を模写する練習を続けた結果、この芸術家はいくつかの重要な特徴だけを描いた人間の顔を完全に描くことができるようになった。同様に、低解像度画像の限られた画像情報から、画像に対応する高解像度の詳細を機械が推測できるようになることを期待していますが、そのためには、アルゴリズムが画家のように画像の内容を「理解」できる必要があります。この時点で、従来のルールベースのアルゴリズムは圧倒され、出現しつつあるディープラーニングが超鮮明な画像の星空を照らしています。 図1 最新のピクセル再帰ネットワークの画像超高精細化への応用 (左の写真は低解像度の画像、右の写真はそれに対応する高解像度の画像、中央の写真はアルゴリズムによって生成された結果です。 これは 4 倍超定義問題であり、辺の長さを元の 4 倍に拡張することを意味します。 ) ハードウェアの急速な発展により、携帯電話はわずか数年で数世代にアップデートされ、古い携帯電話で撮影した写真は高解像度の画面ではぼやけてしまいます。同様に、画像解像度の向上により、ネットワーク帯域幅への負荷が急激に増加しました。このように、画像超精細アルゴリズムが役立ちます。 長年保管されていた古い写真については、超クリアアルゴリズムを使用して細部を鮮明にします。ネットワーク転送の帯域幅の圧迫に直面した場合、最初に画像を圧縮して転送し、次に超クリアアルゴリズムを使用して復元することで、転送データ量を大幅に削減できます。 3次補間などの従来の幾何学的手法やフラグメントマッチングなどの従来のマッチング手法は、いずれもこのような要求を満たすには無力です。 ディープラーニングの出現により、アルゴリズムが画像に対して意味レベルの操作を実行できるようになりました。この記事では、画像の超精細化の問題におけるディープラーニング技術の最新の研究の進歩を紹介します。 ディープラーニングは画像から生まれたもので、その画像処理の主な技術は畳み込みニューラルネットワークです。畳み込みニューラルネットワークの起源については、業界では2012年のImageNetコンテストでのアレックスの素晴らしいパフォーマンスが広く知られています。たった5年しか経っていないのに、決まり文句になってしまった。したがって、この記事では畳み込みニューラル ネットワークの基本的な詳細については繰り返しません。以下では、畳み込みニューラル ネットワークを指すために CNN (Convolutional Neural Network) を使用します。 CNN の登場以来、多くの研究ホットスポットが出現しましたが、その中でも最も印象的な 5 つは次のとおりです。
これら 5 つのホット スポットはすべて、超高精細画像の問題に反映されています。以下、一つずつ詳しくご説明いたします。 CNNの最初のショット 図2 ***画像超解像問題に適用されたCNNネットワーク構造 (入力は低解像度画像、出力は高解像度画像です。構造は3つのステップに分かれています。 低精細画像の特徴抽出、低精細特徴の高精細特徴へのマッピング、高精細画像の再構築。 ) 画像の超高解像度問題の特徴は、低解像度画像と高解像度画像の情報の大部分が共有されていることです。この前提に基づいて、CNNが登場する前は、業界の解決策は、PCAやスパースコーディングなどの特定の方法を使用して、低解像度画像と高解像度画像を特徴表現に変換し、特徴表現をマッピングすることでした。 CNN は、従来の方法構造に基づいて、モデルを特徴抽出、非線形マッピング、特徴再構築の 3 つの部分に分割します。 CNN の特性により、3 つの部分の動作は畳み込みを使用して完了できます。そのため、モデル構造の説明は従来の方法と似ていますが、CNN は同時に共同でトレーニングできる統合されたエンティティであり、数学的に表現がより単純になります。 従来の手法の影は、モデルの解釈だけでなく、具体的な操作にも見られます。上記のモデルでは、互いに重なり合う可能性のある多数のパッチを抽出するためにデータを前処理する必要があります。これらのパッチの組み合わせが画像全体になります。上記の CNN 構造は、画像全体ではなくこれらのパッチに適用されます。すべての画像のパッチを取得した後、これらのパッチを組み合わせて最高の高解像度画像を取得し、重複部分を平均化します。 より深く、より速く、より正確なCNN 図3 残差ベースのディープCNN構造 (この構造は、残差接続を使用して低解像度画像をCNNの出力に追加して高解像度画像を取得します。つまり、低解像度画像に欠けている高解像度の詳細のみがCNN構造を使用して学習されます。) 図 2 の方法は従来の方法よりもはるかに効果的ですが、いくつかの問題があります。
上記の問題に対処するために、図 3 のアルゴリズムでは、より深いネットワーク モデルの使用を提案しています。図 2 のアルゴリズムの問題を解決するために 3 つの手法が使用されます。 最初の技術は残差学習です。CNN はエンドツーエンド学習です。図 2 の方法のように直接学習する場合、CNN は画像のすべての情報を保存し、高解像度の詳細を復元しながら低解像度画像のすべての情報を記憶する必要があります。このように、ネットワーク内の各層はすべての画像情報を保存する必要があり、情報過多につながり、ネットワークが勾配に対して非常に敏感になり、勾配消失や勾配爆発などの現象が簡単に発生してしまいます。画像超解像の問題では、CNN の入力画像と出力画像の情報の大部分が共有されます。残差学習は、画像の高精細な詳細情報のみを学習するアルゴリズムです。上図に示すように、CNN の出力に元の低解像度画像を加算すると高解像度画像が得られます。つまり、CNN が学習するのは高解像度画像と低解像度画像の差です。このように、CNN は非残差ネットワークよりも情報量が少なく、収束しやすく、より良い結果を達成できます。 高解像度画像を低解像度画像に加算または減算できる理由は、データの前処理中に、補間を使用して低解像度画像が高解像度画像と同じサイズに拡大縮小されるためです。そのため、画像は低解像度と呼ばれていますが、画像サイズは実際には高解像度の画像と同じです。 2 番目の手法は、高い学習率です。CNN で高い学習率を設定すると、通常、勾配爆発が発生します。そのため、高い学習率を使用する場合は、適応勾配クリッピングが使用されます。切り捨て間隔は[-θ/γ、θ/γ]です。ここで、γは現在の学習率、θは定数です。 3 つ目の技術は、データの混合です。最も理想的なアルゴリズムは、複数のデータごとにモデルをトレーニングすることですが、これは非常に多くのリソースを必要とします。そのため、この技術は、従来のアルゴリズムとは異なり、異なる倍数のデータ セットを混合してモデルをトレーニングし、それによって複数の倍数の高精細化をサポートします。 認識された損失 これまで、CNN を使用して高解像度の問題を解決する場合、画像の高解像度を評価する方法は、CNN 生成モデルによって生成された画像と実際の画像間の損失関数 (通常はユークリッド距離) をピクセル単位で計算することでした。この損失関数によって得られるモデルは、ピクセルレベルでの規則性のみを捉えており、一般化能力は比較的弱いです。 知覚損失とは、CNN 生成モデルと実際の画像の両方をトレーニング済みネットワークに入力し、トレーニング済みネットワークの特定のレイヤーで 2 つの画像の活性化値を取得し、活性化値に対する損失関数を計算することを指します。 CNN は高レベルの特徴を抽出できるため、知覚損失に基づくモデルはより堅牢で説得力のある結果を学習できます。 図4 知覚損失に基づく画像スタイル転送ネットワーク (このネットワークは、画像の超解像問題にも使用できます。 左側は、画像を操作するようにトレーニングされる変換ネットワークです。 右側はトレーニング済みのネットワークで、損失を計算するために複数の層が使用されます。 ) 図 4 は、もともと高速な画像スタイル転送に使用される知覚損失ネットワークを示しています。この構造では、左側の Transform ネットワークをトレーニングして画像を生成する必要があり、生成された画像 Y、コンテンツ画像、スタイル画像を右側のトレーニング済み VGG ネットワークに入力して損失値を取得します。スタイル画像を削除し、コンテンツ画像を高解像度画像に変更し、入力を低解像度画像に変更すると、このネットワークを使用して超高解像度画像の問題を解決できます。 生成的敵対ネットワーク (GAN) 図 5. 敵対的トレーニングにおける生成ネットワーク G と識別ネットワーク D の構造。 (上部は生成ネットワーク G で、非常に深く、残差ブロックとスキップ接続構造を使用しています。 下部は判別ネットワークDです。 ) 敵対的ニューラル ネットワークは、近年の機械学習分野における最も革新的な成果とみなすことができます。主なアイデアは、2 つのモデル G と D をトレーニングすることです。 G は生成ネットワークで、D は分類ネットワークです。G と D は両方とも、D の分類精度を使用してトレーニングされます。 G は、画像の超解像や画像の復元などの生成タスクに使用されます。 G が画像を生成した後、生成された画像と実際の画像が分類のために D に入れられます。敵対的ニューラル ネットワークを使用してモデルをトレーニングすることは、バランスを追求するプロセスです。つまり、G を変更せずに D をトレーニングして分類精度を向上させ、D を変更せずに G をトレーニングして分類精度を下げ、バランスが達成されるまで続けます。 GAN フレームワークにより、教師なし生成タスクで教師あり学習の利点を活用して改善することが可能になります。 GAN フレームワークに基づいて、生成ネットワークと分類ネットワークが定義されていれば、特定の生成タスクを完了できます。 この論文は、GAN を高解像度画像の問題に適用したものであり、その集大成と言えるでしょう。生成モデルは深く、残差ブロックとスキップ接続を使用します。知覚損失は GAN の損失関数に追加されます。 GAN の生成ネットワークと分類ネットワークを図 5 に示します。ここで、生成ネットワーク自体は、別の画像超解像アルゴリズムになることもできます。この論文では、GAN と非 GAN の違いを分析し、GAN は主に詳細に機能するものの、それ以上深く説明することはできないことを明らかにしました。 「説明不可能」も、GAN の現在の欠点の 1 つです。 ピクセルCNN 図 5 の GAN は比較的良好な結果を達成できますが、解釈可能性が低いため、コピーされたという疑いを避けることは困難です。 実は、超高解像度の画像に関しては重要な問題があり、低解像度の画像が複数の高解像度の画像に対応する可能性があるため、問題が発生します。 低解像度画像のうち高解像度にする必要がある部分を A、B、C、D などの複数の部分に分割すると、A は A1、A2、A3、A4 に対応し、B は B1、B2、B3、B4 に対応するなどとなります。 A1、B1、C1、D1 が高解像度の画像に対応していると仮定します。すると、既存のアルゴリズムによって A1、B2、C3、D4 が混在して生成され、ぼやけた高解像度の画像が生成される可能性があります。 上記の問題の存在を確認するために、極端な状況を想像してください。 図6: 超鮮明画像のぼやけ問題の分析 (前半は問題を分析するために使用するデータセットの構築です。 下部は、この問題に対する既存の損失関数の効果を示しています。 比較すると、PixelCNN がこのぼやけを防ぐことができることがわかります。 ) 画像のぼやけ問題の原因を分析するために、図 6 の上部では、MNist データセットに基づいて新しいデータセットが生成されます。生成方法は、MNISTデータセット内の画像Aの長さと幅を2倍に拡張し、各画像から2つの画像A1とA2を生成できます。A1では、Aは右下隅にあり、A2では、Aは左上隅にあります。 元の画像を低解像度画像として扱い、生成された画像を高解像度画像として扱います。図 6 の下半分に記載されている 3 つの方法を使用してトレーニングして得られたモデルは、画像を生成するときに図 6 の下半分の結果を生成します。つまり、各ピクセルが左上部分と右下部分に等しい確率で投影され、不正確な画像が生成される可能性があります。 PixelCNN の導入後は、ピクセル間の依存性によりこの状況は回避されます。 上記の問題を解決するためには、画像生成時に事前知識を導入する必要がある。人間の顔に関する知識を身につけた画家は、説得力のある高解像度の細部まで描くことができます。超高解像度画像の問題と同様に、事前の知識を使用して、どの高解像度の結果を選択するかをアルゴリズムに指示します。 超高精細画像の問題では、このような知識はピクセル間の相互依存性に反映されます。このようにして、高解像度バージョンでは、4 つの異なる部分 A、B、C、D が同じ選択を持つことが保証されます。 図7 画像超精細化問題を解決するためのPixelCNNに基づくCNNネットワーク構造 (以前のネットワークは PixelCNN です。 コンディショニング ネットワークは画像生成ネットワークです。 その構造と機能は、GAN の生成ネットワークや知覚損失の変換ネットワークに似ています。 ) モデルアーキテクチャを図 7 に示します。条件付きネットワークは、低解像度の画像に基づいて高解像度の画像を生成するネットワークです。 GAN の G ネットワークや知覚損失の変換ネットワークと同様に、ピクセル単位で独立して高解像度の画像を生成できます。先行ネットワークは、高解像度画像内のピクセル間の依存関係を高めるために使用される Pixel CNN コンポーネントであり、これによりピクセルは一貫した高解像度の詳細を選択し、より自然に見えるようになります。 では、Pixel CNN はどのようにして依存関係を追加するのでしょうか。ネットワークを生成する際、Pixel CNN は左上隅から右下隅までピクセルを生成します。現在のピクセルを生成する際、以前に生成されたピクセルを考慮します。 事前ネットワークと条件付きネットワークが混在している場合、PixelCNN が画像を生成するときに、以前に生成されたピクセルを考慮するだけでなく、条件付きネットワークの結果も考慮する必要があります。 要約する 上記のアルゴリズムは、超鮮明画像の問題で使用される典型的な CNN 構造です。このほかにも、比較的良好な結果を達成している構造は数多くあります。 CNN ネットワークの構造が階層化されるにつれて、実用的なシナリオからますます遠ざかってしまいます。たとえば、GAN ベースのネットワーク構造のトレーニングは安定させることが難しく、結果が説明できません。また、PixelCNN ベースのネットワークはピクセルレベルで生成する必要があり、並列化できないため、生成効率が極めて低くなります。 さらに、実用的な観点から、データ方向でさらなる最適化を実行することもできます。例えば、現在のアルゴリズムの入力画像はすべて低解像度画像の3次補間によって得られています。その場合、小さなネットワークで得られた結果を初期化値として使用できますか?別の例として、複数の小さなネットワークを直列に接続すると、大きなネットワークよりも優れた結果が得られますか?などです。 画像超解像問題は比較的単純な画像意味問題です。これは画像意味操作の始まりに過ぎないと思います。今後、CNNの出現により、ますます多くの画像処理問題が解決されるでしょう。 参考文献 [1] Dong C, Loy CC, He K, et al. 深層畳み込みネットワークを用いた画像超解像[J]. IEEE パターン分析および機械知能に関する論文集, 2016, 38(2): 295-307. [2] Kim J、Kwon Lee J、Mu Lee K. 非常に深い畳み込みネットワークを使用した正確な画像超解像[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 1646-1654. [3] Johnson J、Alahi A、Fei-Fei L. リアルタイムスタイル転送と超解像の知覚損失[C]//European Conference on Computer Vision. Springer International Publishing、2016: 694-711。 [4] Ledig C, Theis L, Huszár F, et al. 生成的敵対ネットワークを用いたフォトリアリスティックな単一画像超解像[J]. arXivプレプリントarXiv:1609.04802, 2016. [5] Dahl R、Norouzi M、Shlens J. ピクセル再帰超解像[J]。arXivプレプリントarXiv:1702.00783、2017。 |
<<: 敵対的サンプルとディープニューラルネットワークの学習
>>: CNNの簡単な分析と、長年にわたるImageNetチャンピオンモデルの分析
メタバースは現実世界を揺るがしており、未知の部分が多すぎるため、賛否両論の評価を受けています。しかし...
[[424483]] 1. はじめにアルゴリズムとは、データを操作し、プログラムの問題を解決するた...
エンドツーエンドの自動運転は、システムの複雑性が高まるなどのモジュール式システムに伴う欠点を回避でき...
自然で制御可能なヒューマンシーンインタラクション (HSI) の生成は、仮想現実/拡張現実 (VR/...
2022年11月末、OpenAIが立ち上げたChatGPTが生成AIブームを巻き起こしました。 C...
データの不足からデータの豊富さへと、近年利用可能なデータの量は飛躍的に増加し、ビッグデータはどこにで...
線形回帰は、多くの場合、機械学習やデータサイエンスで最初に学ぶアルゴリズムです。シンプルでわかりやす...
[[201116]] Microsoft XiaoIce は仮想世界から現実世界へと飛び出し、徐々...
自動運転技術は、世界中の大手自動車メーカーの主要な研究開発方向となっています。現在、多くの自動車メー...
COVID-19 は世界中の人々の日常生活のあり方を変えましたが、実店舗ほどその影響を痛切に感じてい...
[[410356]] 7月9日のニュース:最近、デジタルブロガーの@长安数码君はソーシャルプラット...