pytorch での画像セグメンテーションに関する論文を実装しています。いくつかの前処理手順を実行する必要がありますが、初めて試しているため、従来のパイプラインに組み込むことができません。以下は、前処理の手順です-
1) N(w, h) = I(w, h) − G(w, h), (1) ここで、N は正規化された画像、I は元の画像、G はカーネル サイズ 65 のガウスぼかし画像です。 *65 と 0 平均と標準偏差 10。
2) 平均画像を正規化し、各ピクセルを平均標準偏差で除算します。
以下は、上記の手順のコード スニペットです。
def gaussian_blur(img):
image = cv2.GaussianBlur(image,(65,65),10)
new_image = img - image
return image
def normalise(img):
img_normalised = np.empty(img.shape)
img_std = np.std(img)
img_mean = np.mean(img)
img_normalized = (img-img_mean)/imgs_std
for i in range(img.shape[1]):
img_normalized[i] = (img_normalized -
np.mean(img_normalized))/np.std(img_normalized)
return img_normalized
上記の関数を従来の pytorch データローダー パイプラインに追加する方法がよくわかりません。たとえば、最初にメソッドを使用してデータセットをロードしてImageFolder
から適用するか、最初に適用してからImageFolder
メソッドを使用する必要があります。