Closed yumion closed 4 years ago
yamlのaugmentationの書き方が変わりました 辞書型の入れ子になりました. zoomはリストで範囲を決めます.
# Data Augmentation
augmentation:
# -(ハイフン) 入れちゃダメ
vertical_flip: no
horizontal_flip: yes
zoom_range: [0.5, 1.2] # x0.5 ~ x1.2 # min: x0.1 ~ max: x1.9
rotation_range: 30 # -30 ~ +30 degree
width_shift_range: 0.3 # -30% ~ 30%
height_shift_range: 0.1 # -10% ~ 10%
shear_range: 30 # -30 ~ 30 degree
augmix: yes
現状のコードだと
vertical_flip: no
とかやっても書いてあったらDAかかっちゃう仕様になっちゃいました
見ま〜す。でも、albumentationでできるなら、また考えないといけないかな??
そうですね、AugMixもPILなので、cv2に書き直します
変更点
kerasのImageDataGeneratorの幾何学的変換を全て追加
fill_mode='constant', cval=0
端は黒で埋めますvertical_flip
horizontal_flip
zoom
x1.0 ~ x1.5 固定rotation
-90 ~ +90度 固定width_shift
-30 ~ +30%height_shift
-30 ~ +30%shear
-30 ~ +30%AugMix
上のImageDataGenerator系とは共存しません→最後にMixします https://github.com/google-research/augmix/blob/master/augment_and_mix.py https://github.com/google-research/augmix/blob/master/augmentations.py問題点・未実装
zoom_range, rotation_range, width_shift_range, height_shift_range, shear_rangeの範囲を可変にする→commit済みColor Augmentation Albumentation? or PILで実装 Color shift, Color max/min clip, Blur, Noise(e.g. Gaussian kernel) Color ShiftのみはImageDataGeneratorでできる模様
AugMix ひとまず入力画像に対してのみ実装。labelはDAしてません(つまりハードラベル) →元画像保ったままではあるのでいいでしょうか? Affine変換系(translateやshear)を適用したらmixの割合でsoft labelにした方が良さそうではあります(が、実装が思いつきません)
また、元論文だと