imageDataA​ugmenterを使​わないData Augmentationについて

4 visualizaciones (últimos 30 días)
naoki etori
naoki etori el 18 de Oct. de 2019
Comentada: Kenta el 26 de Mayo de 2020
CNNを使って画像の分類を行っています.
分類精度を上げるためにData Augmentationを行うことを考えています.
そこでimageDataAugmenterを使用してData Augmentationを行おうと考えましたが,
出来ることが限られているため,この関数を使わずにData Augmentationをしたいです.
現在は,transformを使ってData Augmentationを行おうと試みましたが,ImageDatastoreがTransformedDatastoreに変換されると学習ができないようです.
解決策がありましたらご回答の程よろしくお願い致します.
  3 comentarios
naoki etori
naoki etori el 18 de Oct. de 2019
こんにちは. 回答ありがとうございます. 具体的にはノイズ付与とマスクの2つをしようと考えてます.
Kenta
Kenta el 26 de Mayo de 2020
こちら、マスクをしてaugmentationをするコードです。参考になれば幸いです。

Iniciar sesión para comentar.

Respuesta aceptada

Kenta
Kenta el 18 de Oct. de 2019
function I_noise = img_aug(filename)
% load images
I = imread(filename);
I_noise = imnoise(I,'salt & pepper',0.02);
x = randi(size(I,1),1);
y = randi(size(I,2),1);
h = randi(size(I,1)-x,1);
w = randi(size(I,2)-y,1);
I_noise(x:x+h,y:y+w,:)=128;
end
ご返信ありがとうございます。確かに、マスクやカスタムした形のノイズは、
イメージストアでは直接的にはできないかもしれません。ただ、上のように、補助関数を同じパスに保存したうえで、
下のコード例を実行すると、画像のように、ノイズおよびマスクの入った画像が取得できます。
上では、まず、ノイズを入れる。そして、マスクの左上のx、y座標をランダムに発生させ、さらに、縦横の長さも画像に入る範囲でランダムに決定します。そのルールに従って、イメージデータストアから読みだすように定義すると、下のような、マスクとノイズがある画像を生成、訓練データとして入力することができます。
ノイズやマスクの設定は、質問者様の設定によると思うので、適宜変更してご使用いただければと思います。
よろしくお願いいたします。
imds = imageDatastore({'street1.jpg','street2.jpg','peppers.png','corn.tif'});
imds.ReadFcn = @(filename)img_aug(filename);
allimgs = readall(imds);
montage(allimgs)
imgs.png
  4 comentarios
naoki etori
naoki etori el 21 de Oct. de 2019
回答ありがとうございます.
とりあえず2番目の方法で実装できました.ありがとうございます.
Data Augmentationの手法の一つとして部分マスクというものがあります.
google scholarで部分マスクを行った論文がいくつかありました.
Kenta
Kenta el 21 de Oct. de 2019
教えていただきありがとうございます。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre イメージを使用した深層学習 en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!