Non Local Means Filter以外の
画像ノイズ除去技術の調査をしてみた

Image Processing

こんにちは、てつをです。以前の記事でNon Local Means Filter(NLMフィルター)を実際に利用してみましたが、他にどのようなノイズ除去フィルターがあるのかや、NLMフィルターはノイズ除去技術全般の中でどこに分類されるのかなど謎が多かったです。そこで今回は、そんな謎を解くべくNLMフィルターが開発された前後でどのようなフィルターが開発されているかを調査していきたいと思います。 

目次

  1. NLMフィルターが開発されるまでの背景
  2. NLMフィルターの登場
  3. NLMフィルターの発展と応用技術の概要

NLMフィルターが開発されるまでの背景 

画像のノイズ除去は画像処理において長年の課題であり、様々なフィルターが開発されてきました。以下は、NLMフィルターが登場するまでに主に使用されていた手法です

  • 平均(Mean)フィルター
  • Gaussianフィルター
  • Medianフィルター
  • Bilateralフィルター

まずは、上記4つのフィルターについて、OpenCVのサイトに例が載っているのでそれらを確認していきたいと思います。(Open CV ; Smoothing Images

平均(Mean)フィルター

各ピクセルの周辺のピクセル値の平均を取ることでノイズを平滑化する方法です。計算コストは低いですが、エッジがぼやけるという欠点があります。 

Gaussianフィルター

ピクセル周辺の重み付け平均を取るフィルターで、エッジがぼやけやすいという課題があります。 

Medianフィルター 

周囲のピクセルの中央値を使うことでノイズを低減します。エッジ保護には優れていますが、ランダムなノイズには効果が薄い場合があります。 

Bilateralフィルター

ピクセルの空間距離と輝度差に基づいて重み付けを行い、エッジを保持しつつノイズを除去します。このフィルターはNLMの前身とも言えるもので、NLMの理論にも大きく影響しています。 

NLMフィルターの登場

Non-Local Means (NLM)フィルターは、2005年にAntoni Buades、Bartomeu Coll、Jean-Michel Morelらによって開発されました。このフィルターは画像ノイズを効果的に除去する手法として注目され、従来の方法に比べて高い精度を提供することが特徴です。 

NLMフィルターの特徴 

NLMフィルターは、前の章で紹介した4つのフィルターとは異なり「非局所的」な情報を利用して画像のノイズを除去する手法です。これは、各ピクセルの情報を「近隣のピクセル」に限定せず、画像全体の類似部分(非局所的)を参考にするというアイデアに基づいています。この方法により、エッジや細かなディテールが保持されるようになりました。

NLMフィルターは各ピクセルの「パッチ」を用い、他の部分の類似パッチを探索し、その重みを基にノイズ除去を行います。これにより、従来の局所的な手法よりも鮮明なエッジと高精度なノイズ除去が実現しました。

実際にNLMフィルターを利用してみた結果はこちらの記事をご覧ください。

NLMフィルターの発展と応用技術の概要

NLMフィルターの開発が2005年なので、今から約20年も前の話となります。よって、当然NLMフィルター以外にも多くの技術が開発されてきました。本記事の中でその多くの技術の詳細まで触れることは難しいため、今回は主要な技術や大きな変化点などに着目してざっくりと技術発展の大枠を把握することに焦点を当てたいと思います。 

画像処理技術の変化点について 

NLMフィルターが開発された2005年以降、非局所性(non-locality)を活用した手法が多く登場しており、特にNLMの非局所的類似性をさらに進化させた技術が開発されました。しかし、2010年代に突入するとAI・機械学習・深層学習(ディープラーニング)の発展により画像処理技術も大きな変化を迎えます。ディープラーニングを用いたノイズ除去技術は、2015年ごろから急速に発展し始めました。具体的には、深層畳み込みニューラルネットワーク (CNN) が一般的になり始めた2014年頃から、ノイズ除去技術への応用も検討されるようになり、2016年頃には本格的に台頭してきました。

そこで、この後ご紹介する主要な画像処理技術については、ディープラーニングベースノイズ除去技術と非ディープラーニングノイズ除去技術に分けて表形式で簡単にご紹介していきたいと思います。(より詳細な各技術の紹介は、今後記事にまとめていきたいと思います。)

非ディープラーニングノイズ除去技術

発表年 フィルター名 概要 特徴
2007 BM3D (Block Matching and 3D Filtering) 類似パッチを3次元ブロックとしてグルーピングし、変換ドメインでフィルタリング。 非局所的類似性と3Dフィルタリングを活用し、高精度なノイズ除去。医療画像や衛星画像でも効果的。
2009 LSSC (Learning-based Sparse Coding) スパースコーディングと非局所的パッチ類似性を組み合わせたノイズ除去手法。 スパース表現の学習により、パッチ類似性を最適化し、BM3D以上のノイズ除去性能を実現。
2010 BM4D BM3Dのビデオ・3D画像対応版。4次元空間でのブロックマッチングとフィルタリング。 医用ボリュームデータや動画フレームに対応し、3D/4Dデータのノイズ除去に適している。
2014 WNNM (Weighted Nuclear Norm Minimization) 行列のランク最小化を行い、画像のノイズを除去する手法。 パッチごとの重要度に応じた重み付き正則化により、エッジを保持しつつノイズ除去が可能。
2015 PGPD (Patch Group based Priors with Dictionary Learning) 辞書学習を用い、非局所的にグループ化したパッチのスパース表現でノイズ除去。 辞書学習に基づくスパース表現により、特定の画像データに適応したノイズ除去が可能。
2017 TNNR (Truncated Nuclear Norm Regularization) 行列ランクをトランケーションし、エッジやテクスチャを保持したノイズ除去を実現。 従来のNNMを改良し、ノイズ除去時のディテール保持が向上。
2017 Tensor Decomposition Methods テンソル分解を用いてカラーやビデオデータのノイズを除去。 空間・色・時間的な関係性を同時に考慮し、多次元データのノイズ除去に有効。医用画像や高精細映像での応用が多い。
2018 GMM-based Denoising ガウス混合モデル (GMM) に基づき、複雑なテクスチャを持つ画像に対するノイズ除去。 GMMにより各パッチの特徴をモデル化し、自然画像などの複雑なテクスチャのノイズ除去で高い効果を発揮。
2020 PWNNM (Patch-based Weighted Nuclear Norm Minimization) WNNMの改良版。パッチごとの重み付けによる核ノルム正則化を採用。 パッチ類似性の効果的な活用により、自然画像のノイズ除去において高精度なノイズ抑制が可能。
2021 Non-Convex Regularization-based Transform Methods 非凸正則化(L0やLp正則化)を変換ドメインで適用し、ノイズを抑制。 非凸正則化によりエッジ保持性能が向上。ウェーブレットやDCT変換でフィルタリングを行い、細かいディテールを保持。

この表には、非ディープラーニングベースのノイズ除去技術の中で、Non-Local Means フィルター以降に発表された代表的な手法が含まれています。ディープラーニングの台頭により、2020年代以降の非ディープラーニング手法の研究数は減少傾向にありますが、それでも特定の用途やニーズに応じた改良手法が登場し続けています。 

ディープラーニングノイズ除去技術

発表年 フィルター名 概要 特徴
2016 DnCNN (Denoising Convolutional Neural Network) CNNを用いた初期のノイズ除去手法。ノイズの種類に応じてエンドツーエンドの学習を行い、ノイズ成分を出力する。 高精度なノイズ除去が可能で、ガウスノイズに限らず複数のノイズレベルに対応。従来の非線形フィルタを超える性能を実現し、ディープラーニングによるノイズ除去の基盤となる。
2018 FFDNet (Fast and Flexible Denoising Network) ノイズレベルを入力として与えることで、異なるノイズ強度に柔軟に対応できるモデル。リアルタイム性を考慮した軽量設計。 ノイズのレベルをパラメータで設定することで、異なるノイズ条件でも効果的なノイズ除去が可能。軽量化により、実用的な速度で動作するため、動画などリアルタイム処理が求められる応用に適している。
2018 GAN-based Denoising 生成対向ネットワーク(GAN)を用いたノイズ除去手法。生成ネットワークが画像を生成し、識別ネットワークがノイズを評価する。 GANを使用することで、従来の手法では難しかった視覚的に自然なノイズ除去を実現。特にテクスチャのリアルさや視覚的な品質が高く、画像復元や超解像といったタスクでも高精度の結果を提供。
2018 RED-Net (Residual Encoder-Decoder Network) エンコーダ・デコーダ構造と残差学習を組み合わせたノイズ除去モデル。深いCNN構造によってディテールの復元を目指す。 残差学習による効果的なノイズ除去と詳細の復元が特徴。エッジ保持性能に優れており、自然画像のノイズ除去においても視覚的に良好な結果が得られる。
2018 MemNet (Memory Network) メモリモジュールを持つ深層ネットワークで、ノイズ除去に必要な特徴を階層的に記憶し、複雑な特徴抽出を実現。 メモリ機構により、従来のCNNよりも複雑な特徴を扱えるため、詳細なパターンの保持が可能。多段階での特徴抽出により、劣化画像の高精度な復元やノイズ除去を実現。
2019 Noise2Noise クリーンな画像を使用せず、ノイズの異なる画像ペアのみで学習する自己教師ありノイズ除去手法。 ラベル付きデータを必要とせず、異なるノイズ分布の画像ペアを用いることでノイズ除去が可能。未知のノイズや少ないデータでの学習が可能となり、医療画像や低解像度画像など、アノテーションが難しいデータに適している。
2019 Noise2Void 隠れたピクセル情報を利用してノイズ除去を行う自己教師あり学習手法。 ピクセルの一部をマスクして、残りの情報からノイズ除去を学習するため、クリーン画像やノイズ画像ペアがなくても学習可能。データセットの準備が不要な点が、医療画像や科学画像のノイズ除去において非常に有用。
2020 DnGAN (Denoising GAN) GANと生成モデルを組み合わせたノイズ除去手法で、複雑なノイズパターンを生成ネットワークで学習。 GANによるリアルな画像生成とノイズ除去を同時に行うことができ、視覚的に自然な結果が得られる。特にテクスチャ保持が重要なアプリケーションで優れた結果を示す。
2021 ViT-based Denoising (Vision Transformer) Transformerベースのモデルを用いたノイズ除去手法で、画像全体のグローバルな依存関係を効果的に捉える。 CNNでは捉えにくい画像全体の依存関係を考慮し、大域的なノイズ除去が可能。医療画像やリモートセンシング画像など、広範囲の関係性が重要なデータで有効な結果を得る。
2021 SwinIR (Swin Transformer for Image Restoration) Swin Transformerを用いた画像復元技術で、ノイズ除去や超解像に対応。ウィンドウベースの自己注意機構を利用。 大規模な依存関係と局所的な関係性の両方を効果的に捉え、高精度なノイズ除去と画像復元が可能。超解像やJPEG圧縮解除の応用でも優れた性能を示し、視覚品質が高い。

ディープラーニングによるノイズ除去技術は、エンドツーエンド学習、自己教師あり学習、生成モデル、Transformerの導入などにより急速に発展しました。特に自己教師あり学習とTransformerの応用が大きな進歩をもたらし、アノテーションが困難なデータや大規模な依存関係を必要とするデータにも対応できるようになっています。

本記事はここまでとなります。今後、NLMフィルター以降に開発された画像処理技術を中心に調査を進めていきたいと思います。

以上