日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

英语 语义分割_Padlex数据处理-语义分割-分段变换,PaddleX,segtransforms

發布時間:2025/4/16 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 英语 语义分割_Padlex数据处理-语义分割-分段变换,PaddleX,segtransforms 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Compose

類將圖像預處理/增強操作進行組合。

0. Compose類

paddlex.seg.transforms.Compose(transforms)

根據數據預處理/數據增強列表對輸入數據進行操作。

使用示例

參數

transforms (list)

: 數據預處理/數據增強列表。

1. RandomHorizontalFlip類 隨機水平翻轉

paddlex.seg.transforms.RandomHorizontalFlip(prob=0.5)

以一定的概率對圖像進行水平翻轉,模型訓練時的數據增強操作。

參數

prob (float)

: 隨機水平翻轉的概率。默認值為0.5。

2. RandomVerticalFlip類 隨機垂直翻轉

paddlex.seg.transforms.RandomVerticalFlip(prob=0.1)

以一定的概率對圖像進行垂直翻轉,模型訓練時的數據增強操作。

參數

prob (float)

: 隨機垂直翻轉的概率。默認值為0.1。

3. Resize類 調整圖像大小

paddlex.seg.transforms.Resize(target_size, interp='LINEAR')

調整圖像大小(

resize

)。

當目標大小(

target_size

)類型為

int

時,根據插值方式, 將圖像

resize

[target_size, target_size]

當目標大小(

target_size

)類型為

list

tuple

時,根據插值方式, 將圖像

resize

target_size

,

target_size

的輸入應為

[w, h]

(w, h)

。

參數

target_size (int|list|tuple)

: 目標大小

interp (str)

:

resize

的插值方式,與

opencv

的插值方式對應, 可選的值為

[‘NEAREST’, ‘LINEAR’, ‘CUBIC’, ‘AREA’, ‘LANCZOS4’]

,默認為

”LINEAR”

。

4. ResizeByLong類

paddlex.seg.transforms.ResizeByLong(long_size)

對圖像長邊

resize

到固定值,短邊按比例進行縮放。

參數

long_size (int)

:

resize

后圖像的長邊大小。

5. ResizeRangeScaling類

paddlex.seg.transforms.ResizeRangeScaling(min_value=400, max_value=600)

對圖像長邊隨機

resize

到指定范圍內,短邊按比例進行縮放,模型訓練時的數據增強操作。

參數

min_value (int)

: 圖像長邊

resize

后的最小值。默認值400。

max_value (int)

: 圖像長邊

resize

后的最大值。默認值600。

6. ResizeStepScaling類

paddlex.seg.transforms.ResizeStepScaling(min_scale_factor=0.75, max_scale_factor=1.25, scale_step_size=0.25)

對圖像按照某一個比例

resize

,這個比例以

scale_step_size

為步長,在

[min_scale_factor, max_scale_factor]

隨機變動,模型訓練時的數據增強操作。

參數

min_scale_factor(float)

,

resize

最小尺度。默認值0.75。

max_scale_factor (float)

,

resize

最大尺度。默認值1.25。

scale_step_size (float)

,

resize

尺度范圍間隔。默認值0.25。

7. Normalize類 對圖像進行標準化

paddlex.seg.transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])

對圖像進行標準化。

1.圖像像素歸一化到區間

[0.0, 1.0]

。

2.對圖像進行減均值除以標準差操作。

參數

mean (list)

: 圖像數據集的均值。默認值

[0.5, 0.5, 0.5]

。

std (list)

: 圖像數據集的標準差。默認值

[0.5, 0.5, 0.5]

8. Padding類

paddlex.seg.transforms.Padding(target_size, im_padding_value=[127.5, 127.5, 127.5], label_padding_value=255)

對圖像或標注圖像進行

padding

padding

方向為右和下。根據提供的值對圖像或標注圖像進行

padding

操作。

參數

target_size (int|list|tuple)

:

padding

后圖像的大小。

im_padding_value (list)

: 圖像

padding

的值。默認為

[127.5, 127.5, 127.5]

。

label_padding_value (int)

: 標注圖像

padding

的值。默認值為255(僅在訓練時需要設定該參數)。

9. RandomPaddingCrop類 隨機裁剪

paddlex.seg.transforms.RandomPaddingCrop(crop_size=512, im_padding_value=[127.5, 127.5, 127.5], label_padding_value=255)

對圖像和標注圖進行隨機裁剪,當所需要的裁剪尺寸大于原圖時,則進行

padding

操作,模型訓練時的數據增強操作。

參數

crop_size(int|list|tuple)

: 裁剪圖像大小。默認為512。

im_padding_value (list)

: 圖像

padding

的值。默認為

[127.5, 127.5, 127.5]

。

label_padding_value (int)

: 標注圖像

padding

的值。默認值為255。

10. RandomBlur類

paddlex.seg.transforms.RandomBlur(prob=0.1)

以一定的概率對圖像進行高斯模糊,模型訓練時的數據增強操作。

參數

prob (float)

: 圖像模糊概率。默認為0.1。

11. RandomRotate類

paddlex.seg.transforms.RandomRotate(rotate_range=15, im_padding_value=[127.5, 127.5, 127.5], label_padding_value=255)

對圖像進行隨機旋轉, 模型訓練時的數據增強操作。

在旋轉區間

[-rotate_range, rotate_range]

內,對圖像進行隨機旋轉,當存在標注圖像時,同步進行, 并對旋轉后的圖像和標注圖像進行相應的

padding

參數

rotate_range (float)

: 最大旋轉角度。默認為15度。

im_padding_value (list)

: 圖像

padding

的值。默認為

[127.5, 127.5, 127.5]

。

label_padding_value (int)

: 標注圖像

padding

的值。默認為255。

12. RandomScaleAspect類

paddlex.seg.transforms.RandomScaleAspect(min_scale=0.5, aspect_ratio=0.33)

裁剪并

resize

回原始尺寸的圖像和標注圖像,模型訓練時的數據增強操作。

按照一定的面積比和寬高比對圖像進行裁剪,并

reszie

回原始圖像的圖像,當存在標注圖時,同步進行。

參數

min_scale (float)

:裁取圖像占原始圖像的面積比,取值

[0,1]

,為0時則返回原圖。默認為0.5。

aspect_ratio (float)

: 裁取圖像的寬高比范圍,非負值,為0時返回原圖。默認為0.33。

13. RandomDistort類

paddlex.seg.transforms.RandomDistort(brightness_range=0.5, brightness_prob=0.5, contrast_range=0.5, contrast_prob=0.5, saturation_range=0.5, saturation_prob=0.5, hue_range=18, hue_prob=0.5)

以一定的概率對圖像進行隨機像素內容變換,模型訓練時的數據增強操作。

1.對變換的操作順序進行隨機化操作。

2.按照1中的順序以一定的概率對圖像在范圍

[-range, range]

內進行隨機像素內容變換。

【注意】該數據增強必須在數據增強

Normalize

之前使用。

參數

brightness_range (float)

: 明亮度因子的范圍。默認為0.5。

brightness_prob(float)

: 隨機調整明亮度的概率。默認為0.5。

contrast_range (float)

: 對比度因子的范圍。默認為0.5。

contrast_prob (float)

: 隨機調整對比度的概率。默認為0.5。

saturation_range (float)

: 飽和度因子的范圍。默認為0.5。

saturation_prob (float)

: 隨機調整飽和度的概率。默認為0.5。

hue_range (int)

: 色調因子的范圍。默認為18。

hue_prob (float)

: 隨機調整色調的概率。默認為0.5。

14. ComposedSegTransforms類

paddlex.det.transforms.ComposedSegTransforms(mode, train_crop_shape=[769, 769], mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])

語義分割

DeepLab

UNet

模型中已經組合好的數據處理流程,開發者可以直接使用

ComposedSegTransforms

,簡化手動組合

transforms

的過程, 該類中已經包含了

RandomHorizontalFlip

ResizeStepScaling

RandomPaddingCrop

3種數據增強方式,你仍可以通過

add_augmenters函數接口

添加新的數據增強方式。

ComposedSegTransforms

共包括以下幾個步驟:

訓練階段:

隨機對圖像以0.5的概率水平翻轉

按不同的比例隨機

Resize

原圖

從原圖中隨機

crop

出大小為

train_crop_size

大小的子圖,如若

crop

出來的圖小于

train_crop_size

,則會將圖

padding

到對應大小

圖像歸一化

預測階段:

圖像歸一化

參數

mode (str)

:

Transforms

所處的階段,包括

‘train’

,

‘eval’

‘test’

train_crop_size (list)

: 訓練過程中隨機

Crop

Resize

后(驗證或預測過程中不需配置該參數,自動使用原圖大小),輸入到模型中圖像的大小(與原圖大小無關,根據上述幾個步驟,會將原圖處理成相應大小輸入給模型訓練), 默認

[769, 769]

mean (list)

: 圖像均值, 默認為

[0.485, 0.456, 0.406]

std (list)

: 圖像方差,默認為

[0.229, 0.224, 0.225]

。

添加數據增強方式

ComposedSegTransforms.add_augmenters(augmenters)

參數

augmenters(list)

: 數據增強方式列表

使用示例

import paddlex as pdx

from paddlex.seg import transforms

train_transforms = transforms.ComposedSegTransforms(mode='train', train_crop_size=[512, 512])

eval_transforms = transforms.ComposedSegTransforms(mode='eval')

# 添加數據增強

import imgaug.augmenters as iaa

train_transforms.add_augmenters([

transforms.RandomDistort(),

iaa.blur.GaussianBlur(sigma=(0.0, 3.0))

])

上面代碼等價于

import paddlex as pdx

from paddlex.det import transforms

train_transforms = transforms.Composed([

transforms.RandomDistort(),

iaa.blur.GaussianBlur(sigma=(0.0, 3.0)),

# 上面2行為通過add_augmenters額外添加的數據增強方式

transforms.RandomHorizontalFlip(prob=0.5),

transforms.ResizeStepScaling(),

transforms.PaddingCrop(crop_size=[512, 512]),

transforms.Normalize()

])

eval_transforms = transforms.Composed([

transforms.Normalize()

])

總結

以上是生活随笔為你收集整理的英语 语义分割_Padlex数据处理-语义分割-分段变换,PaddleX,segtransforms的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。