[AIFFEL蔚山一期-Going Deeper(CV)]3きれいな美白をして、100枚のピクチャーをうらやましくありません

4812 ワード

Going Deeper(CV)


3.美白が上手で、100枚のイメージが羨ましくない


実習目標


なぜ
  • を増色するのか知っています
  • は、様々な強化方法を理解する.
  • 学習で強化を適用する際の注意点を熟知しています.
  • 学習内容


    1.データセットの現実


    1.1大量データセット

  • のラベルデータが含まれていても、1枚あたり10元しかありません.
    イメージネットワークなどのデータセットの導入にかかるコストは1億ドルを超えています.
  • 1.2直接配置されたデータセット

  • のデータを直接収集すると、万枚のデータセット単位でデータセット
  • を収集することは困難である.

    2.データ拡張とは?


    2.1概要


    データの増加は?
    さまざまな方法でデータセットを強化し、実際の学習データセットの規模を拡大する方法
  • データの増加は、オーバーフィットを減少させることを意味する
  • のデータを追加し、モデルが実際のテスト環境で正常に動作するのを支援します.
  • 画像データの拡張
  • カラーフィルタ
  • 左右対称
  • 前半
  • 2.2複数種類の画像拡張方法


  • Flipping
  • ミラー機能
  • で検出または分割されたような正解領域があれば、同時にラベルを左右に反転させる.
  • の数字や文字を認識しても注意が必要!

  • Gray scale
  • 3チャネルRGBイメージ、1チャネル
  • 各チャネル重み付け加算、各重み付けの和は1である.

  • Saturation
    機能
  • は、HSVモデルの彩度を調整することによって色の鮮明さ(純)を変化させる

  • Brightness
  • 輝度調整機能

  • Rotation
  • 回転可能画像
  • 90度または180度の場合、形状を考慮する必要はありませんが、その他の場合、矩形に基づいて画像の形状を考慮する必要があります.

  • Center Crop
  • 画像の中心拡大機能
  • 内容物の形状を保持する限度内で行う.

  • 整理する
    [ https://github.com/aleju/imgaug ]

  • それ以外は
  • Gaussian noise, Contrast change, Sharpen, Affine transformation, Padding, Blurring, ...
  • 3.Tensor Flowを使用した画像拡張


    3.1 Flip


    1)準備
  • PILの画像
  • をインポートする.
  • PIL.イメージ読み込みにより、サイズ
  • を適宜調整する.
    2)Flipを試してみる
  • PIL.画像のflip left rightとflip up downの2つの方式で左右と上下を反転
  • する.
  • random flip left rightとrandom flip up downはランダム確率でflipを行う

    3.2 Center Crop

  • centeral creatで拡大し、パラメータとして画像と拡大パラメータを加え、このパラメータに1を加えると元の画像と同じ画像が得られます.(パラメータ0から1)
  • 3.3 random_crop

  • tf.image.random_crop(value, size)
  • size = [crop_height, crop_width, 3]
  • 3.4 random_brightness()

  • tf.image.random_brightness(image, max_delta)
  • max_dalta -> float, must be non-negative.
  • 4.Albumentationライブラリ


    拡張画像用Pythonライブラリ
  • リファレンスサイトhttps://albumentations.ai/docs/api_reference/augmentations/geometric/transforms/#albumentations.augmentations.geometric.transforms.Affine2
  • 画像の基本フォーマットとして
  • アレイを用いる(np.arrayを用いる)
  • .
  • import albumentations
  • Affine()
  • イメージのズーム、パン、または回転
  • RandomCrop()
  • の画像
  • をランダムに生成することができる.
  • MedianBlur()
  • チーク処理可能
  • ToGray()
  • 画像を白黒
  • に変換する.
  • MultiplicativeNoise()
  • 画像においてノイズ
  • が生成する.
  • は以下の形式で多種の技術を同時に応用する:
  • transform = A.Compose(
        [A.ToGray(p=1),
        A.MultiplicativeNoise(multiplier=[0.5, 1.5], 
                              elementwise=True, per_channel=True, p=1),
         A.RandomCrop(width=256, height=256)
        ]
        )

    5.さらなるテクニック

  • 深さ学習
  • の典型的な深さ学習例:GAN(Style Transfer)