ホームページ >テクノロジー周辺機器 >AI >AIはモザイクを除去できるのか?
###こんにちは、みんな。
AI テクノロジーを使用してモザイクを除去することを考えたことはありますか? これまで使用していた AI 技術は、顔認識であれ OCR 認識であれ、少なくとも手動で認識できるため、この問題を慎重に考えるのは非常に困難です。しかし、モザイク画像を渡された場合、元に戻すことはできるのでしょうか? 明らかにそれは難しいです。人間が回復できない場合、コンピュータに回復するようにどのように教えればよいでしょうか? 私が数日前に書いた「AI を使用したアバターの生成」という記事をまだ覚えていますか。その記事では、任意の乱数から画像を生成できる DCGAN モデルをトレーニングしました。#乱数をピクセルとして生成したノイズ マップ
#モデルは乱数から通常のアバターを生成
DCGAN は、ジェネレーター モデルとディスクリミネーター モデルの 2 つのモデルで構成されています。ジェネレーター モデルの機能は、一連の乱数から画像を生成することです。画像がトレーニング サンプルに近ければ近いほど優れており、その結果、識別子モデル 識別子モデルは、ジェネレータ モデルによって生成された画像が通過するのを防ぐために、その識別能力を継続的に向上させる必要があります。 上記の生成モデルの入力を乱数からモザイクのある画像に変更すると、出力はモザイクのない画像になります。モザイクを除去するモデルをトレーニングすることは可能ですか? 次に、モザイク除去モデルをトレーニングする方法を説明し、その後、ダウンロードして効果を試すために直接使用できる既製のツールを共有します。 1. Pix2pix CycleGANここでは、上で紹介した DCGAN を使用せず、Pix2pix と CycleGAN という 2 つのより強力なモデルを使用して個別にトレーニングします。 Pix2pix は GAN に基づいた画像翻訳アルゴリズムです。モザイク画像から通常の画像への変換は、基本的に、ある言語から別の言語への変換と同様の翻訳プロセスです。Pix2pix モデルの変換
CycleGAN 実装の効果は、形状を一定に保ちながら、異なるドメイン間で画像を変換するだけです。CycleGAN モデル
この記事では、低コストでモデルをトレーニングするのに役立つデータセットと完全なトレーニング プロセスを提供します。 まず、データ セットデータ セット
合計 654M をダウンロードします。 次に、Paddle 事前トレーニング モデルをダウンロードします。事前トレーニング モデル
最後に、Pix2pix モデルと CycleGAN モデルをそれぞれトレーニングします。Pix2pix モデル
python gan<span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">/</span>infer<span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">.py</span> <br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--init_model output/pix2pix/checkpoints/110/ </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--dataset_dir /home/aistudio/ </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--image_size 256 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--n_samples 1 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--crop_size 256 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--model_net Pix2pix </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--net_G unet_256 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--test_list /home/aistudio/test_list.txt </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--output ./infer_result/pix2pix/</span>CycleGAN モデル
python gan<span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">/</span>infer<span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">.py</span> <br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--init_model output/cyclegan/checkpoints/48/ </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--dataset_dir /home/aistudio/ </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--image_size 256 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--n_samples 1 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--crop_size 256 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--input_style A </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--test_list /home/aistudio/test_list.txt </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--model_net CycleGAN </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--net_G resnet_9block </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--g_base_dims 32 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--output ./infer_result/cyclegan/</span>トレーニング後、gan/infer.py ファイルを実行できます。この2機種のモザイク除去効果を比較してみます。 2. 既製のツールモデルを自分でトレーニングしたくない場合は、ここにある既製のプロジェクトを共有してください。これも、Pix2pix と CycleGAN を参照した、セマンティック セグメンテーションと画像変換に基づいています。 プロジェクト アドレス: https://github.com/HypoX64/DeepMosaics/blob/master/README_CN.mdWindows ユーザー向けに、作者は GUI を含むインストール不要のソフトウェア パッケージを提供していますインターフェース。
UI インターフェイス
このテクノロジはまだ比較的難しいため、過度に期待しないでください。実際の除去効果はこちらです。コーディング
デコーディング
効果はまだ良好ですが、想像したほど完璧ではありません。ダウンロードして実行して試すことができます。
以上がAIはモザイクを除去できるのか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。