辞書学習を用いた画像ノイズ除去

Machine LearningMachine LearningBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、辞書学習を使って歪んだ画像のノイズ除去を学びます。アライグマの顔画像のノイズ付き断片を再構築する際の、まずはオンライン辞書学習とさまざまな変換方法の効果を比較する例を使います。

VMのヒント

VMの起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebookを使って練習しましょう。

時々、Jupyter Notebookが読み込み終了するまで数秒待つ必要があります。Jupyter Notebookの制限により、操作の検証は自動化できません。

学習中に問題に直面した場合は、Labbyにお尋ねください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49163{{"辞書学習を用いた画像ノイズ除去"}} end

歪んだ画像を生成する

最初のステップは、歪んだ画像を生成することです。Scipyのデータセットを使ってアライグマの顔画像を読み込みます。画像をダウンサンプリングして速度を上げ、画像の右半分を歪ませます。

歪んだ画像を表示する

歪んだ画像の歪みの影響を見るために、歪んだ画像を表示します。

参照パッチを抽出する

画像の左半分からすべての参照パッチを抽出します。Scikit - learnのextract_patches_2d関数を使ってパッチを抽出します。平均を引き、標準偏差で割ることでデータを正規化します。

参照パッチから辞書を学習する

このステップでは、参照パッチから辞書を学習します。Scikit - learnのMiniBatchDictionaryLearningを使って辞書を学習します。抽出したパッチに対して辞書をフィットさせます。

ノイジーなパッチを抽出し、辞書を使って再構成する

このステップでは、歪んだ画像からノイジーなパッチを抽出し、辞書を使って再構成します。パッチを再構成するために、直交マッチング追跡、最小角回帰、および閾値処理の4つの異なる変換アルゴリズムを使用します。再構成された画像を表示し、元の画像と比較します。

まとめ

この実験では、辞書学習を使って歪んだ画像をノイズ除去する方法を学びました。Scikit - learnのMiniBatchDictionaryLearningを使って辞書を学習し、ノイジーなパッチを再構成しました。また、パッチを再構成するために4つの異なる変換アルゴリズムも使用しました。