KerasにおけるImageData Generator関数のパラメータ使用法


一、Keras ImageData Generatorパラメータ

from keras.preprocessing.image import ImageDataGenerator
keras.preprocessing.image.ImageDataGenerator(featurewise_center=False,
  samplewise_center=False,
  featurewise_std_normalization = False,
  samplewise_std_normalization = False,
  zca_whitening = False,
  rotation_range = 0.,
  width_shift_range = 0.,
  height_shift_range = 0.,
  shear_range = 0.,
  zoom_range = 0.,
  channel_shift_range = 0.,
  fill_mode = 'nearest',
  cval = 0.0,
  horizontal_flip = False,
  vertical_flip = False,
  rescale = None,
  preprocessing_function = None,
  data_format = K.image_data_format(),
)
feature wiseセンター:ブール値は、入力データセットを中心化(平均値が0)し、フィーチャーで実行します。
samplewise_センター:ブール値は、入力データの各サンプルの平均値を0にします。
feature wisestd_normalization:ブール値は、データセットで割った標準偏差を入力して標準化し、featureで実行します。
samplewise_std_normalization:ブール値は、入力された各サンプルを自身の標準偏差で割っています。
zcawhitoning:ブール値は、入力データにZCAホワイトニングを適用します。
rotation_レンゲ:整数、データが上昇する時、ランダムに回転する角度。画像をランダムに選択する角度は、0から180までの度数で、0から180までの値をとります。[0,指定角度]の範囲でランダム角度回転を行います。
width_shiftランク:浮動小数点、画像の幅のある割合、データの昇格時のランダム水平オフセットの幅。
ヘightshiftランク:浮動小数点、画像の高さのある割合、データの上昇時にランダムに縦にオフセットされる幅。ヘightshiftrangeとwidth_shiftレンゲは、水平方向と垂直方向をランダムに移動する程度を指定します。これは2つの0〜1の割合です。
shear_ランク:浮動小数点、せん断強度(反時計回りのせん断変換角度)。は、剪断変換を行う程度です。
zoom_ランク:浮動小数点または形は[lower,uper]のリストのように、ランダムに拡大縮小された幅で、浮動小数点の場合は[lower,uper]=[1-zoom_]に相当します。レンゲ、1+zoom_レンゲランダムに拡大します。後の例はここの言い方と矛盾していますが、後は正しいと思いますか?)
チャンネルshiftランク:浮動小数点、ランダムチャネルオフセットの幅。
fill_mode:‘constant’、‘nearst’、‘reflect’または‘wrap’の一つで、変換を行う際に境界を超える点は本パラメータによって与えられた方法で処理されます。
cval:浮動小数点または整数の場合、fill_mode=constantの場合は、境界を超える点に塗りつぶす値を指定します。
ホリーゾントflip:ブール値をランダムに水平反転します。ランダムに画像を水平に反転させ、このパラメータは、水平反転がピクチャの意味に影響しない場合に適用されます。
vertical_flip:ブール値をランダムに垂直に反転します。
rescale:値は他の処理を実行する前に画像全体に乗ります。私達の画像はRGBチャンネルで0~255の整数です。このような操作で画像の値が高すぎたり、低すぎたりする可能性がありますので、この値を0~1の間の数に設定します。
preprocessing_function:各入力の関数に適用されます。関数は他の変更の前に実行されます。この関数は、1つのパラメータを受け取り、1枚の写真(ランク3のnumpy array)として、同じshopを持つnumpy arrayを出力します。
data_format:文字列、「chanel_」firstまたはchanel_last」の一つは、画像のチャンネル次元の位置を表している。このパラメータはKeras 1.xのイメージです。dim_ordeing、「chanel_」last」は元々の「tf」、「chanel_」に対応します。firstは元の「th」に対応する。128 x 128のRGB画像を例に「chanel_」firstはデータを(3,128,128)に組織し、「chanel_」はlast」は、データを(128,128,3)に組織しなければならない。このパラメータのデフォルト値は~/.kersas/kers.jsonで設定した値で、未設定の場合は「chanel_」となります。ラスター
二、Data Aumentation(データ拡張)の説明
Data Aumenta(データ拡張)とは、以下または他の方法でデータ入力量を増加させることを意味する。ここでは画像データを指す。
回転_;反射変換(Rotation/reflection):ランダム回転画像一定角度;画像の内容の向きを変える。
反転変換(flip):画像を水平または垂直方向に反転させる。
ズーム変換(ズーム):一定の割合で画像を拡大または縮小します。
並進変換(shift):画像面で画像を一定の方法で並進します。ランダムまたは人為的に定義された方法で、並進範囲と平行移動ステップサイズを指定し、水平または縦方向に平行移動し、画像コンテンツの位置を変更することができます。
スケール変換(scale):画像を指定されたスケール係数に従って拡大または縮小する。あるいはSIFT特徴を参照して思想を抽出し、指定された尺度因子を利用して画像フィルタリングにスケール空間を構築し、画像コンテンツのサイズまたはボケの程度を変更する。
コントラスト変換(contrast):画像のHSV色空間で、彩度SとV輝度成分を変化させ、色調Hを一定に保つ。各画素のS成分とV成分を指数関数演算(指数因子は0.25から4の間)し、光照射変化を増加させる。
ノイズ摂動(noise):画像の各画素RGBをランダム摂動し、一般的な雑音モードは塩コショウ雑音とガウス雑音である。
三、いくつかの属性テスト
3.1 shear_レンゲ
datagen=image.ImageData Generator(shear gau)レンゲ=0.5)
shear_レンガとは、すべての点のx座標(またはy座標)を一定にし、対応するy座標(またはx座標)を比例して並進させ、その点からx軸(またはy軸)までの垂直距離に比例させるという、ミスカット変換の効果です。
図8に示すように、黒い長方形のパターンを青の平行な四辺形のパターンに変換します。犬の画像変換効果を図9に示します。


3.2 zoom_レンゲ
datagen=image.ImageData Generatorレンゲ=0.5)
zoom_rangeパラメータは、画像を長い方向または広い方向に拡大することができ、ある方向のresizeとして理解できるので、このパラメータは1つの数または1つのlistとすることができる。一つの数が与えられると、画像は同時に長い幅の二つの方向において同じ程度の縮小動作を行う。リストが与えられた場合は、[width_]を表します。zoom_レンゲイzoom_長さの幅はそれぞれ異なった程度に縮小する。また、パラメータが0より1より大きい場合は、拡大動作を行い、パラメータが1より大きい場合は縮小動作を行います。
パラメータが0より1未満の場合、効果は図10の通りです。

パラメータが4に等しい場合、効果は図11のようになります。

3.3.fill_モード
datagen=image.ImageData Generator(fill gau)mode='wrap',zoom_レンゲ=[4,4]
fill_modeはパディングモードです。前に述べたように、写真を並進、縮小、誤切などの操作を行うと、写真の中に欠落したところがあります。これらの欠けたところはどのように補完すればいいですか?fill_からmodeにおけるパラメータ決定は、「constant」、「nearst」(デフォルト)、「reflect」、「wrap」を含む。これらの4つの充填方式の効果は、図18に示すように、左から右にかけて、それぞれ「reflect」、「wrap」、「nearst」、「constant」である。

以上のKerasのImageData Generator関数のパラメータの使い方は小编で皆さんに共有した内容の全部です。