当前位置: 首页 > news >正文

分割任务 - 数据增强

语义分割 - FCN : 数据预处理/数据增强 算法源码实例

base_size=520
crop_size=480
flip_prob=0.5if train_val == 'train':self.transforms = transforms.Compose([transforms.RandomResize(int(base_size*0.5), int(base_size*2)),transforms.RandomHorizontalFlip(flip_prob),transforms.RandomCrop(crop_size),transforms.ToTensor(),transforms.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225))])
else:self.transforms = transforms.Compose([transforms.RandomResize(base_size, base_size),transforms.ToTensor(),transforms.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225))])
import numpy as np
import random
import torch
from torchvision import transforms
from torchvision.transforms import functional as Fdef pad_if_smaller(img, size, fill=0):# 如果图像最小边长小于给定size,则用数值fill进行paddingmin_size = min(img.size)if min_size < size:ow, oh = img.sizepadh = size - oh if oh < size else 0padw = size - ow if ow < size else 0img = F.pad(img, [0, 0, padw, padh], fill=fill)return imgclass Compose(object):def __init__(self, transforms):self.transforms = transformsdef __call__(self, image, target):for t in self.transforms:image, target = t(image, target)return image, targetclass RandomResize(object):def __init__(self, min_size, max_size=None):self.min_size = min_sizeif max_size is None:max_size = min_sizeself.max_size = max_sizedef __call__(self, image, target):size = random.randint(self.min_size, self.max_size)# 将image 和 target 的短边缩放到size大小image = F.resize(image, [size])target = F.resize(target, [size], interpolation=transforms.InterpolationMode.NEAREST)return image, targetclass RandomHorizontalFlip(object):def __init__(self, flip_prob):self.flip_prob = flip_probdef __call__(self, image, target):if random.random() < self.flip_prob:image = F.hflip(image)target = F.hflip(target)return image, targetclass RandomCrop(object):def __init__(self, size):self.size = sizedef __call__(self, image, target):image = pad_if_smaller(image, self.size)target = pad_if_smaller(target, self.size, fill=255)crop_params = transforms.RandomCrop.get_params(image, (self.size, self.size))image = F.crop(image, *crop_params)target = F.crop(target, *crop_params)return image, targetclass CenterCrop(object):def __init__(self, size):self.size = sizedef __call__(self, image, target):image = F.center_crop(image, self.size)target = F.center_crop(target, self.size)return image, targetclass ToTensor(object):def __call__(self, image, target):image = F.to_tensor(image)target = torch.as_tensor(np.array(target), dtype=torch.int64)return image, targetclass Normalize(object):def __init__(self, mean, std):self.mean = meanself.std = stddef __call__(self, image, target):image = F.normalize(image, mean=self.mean, std=self.std)return image, target

http://www.xdnf.cn/news/420607.html

相关文章:

  • Linux任务管理与守护进程
  • 关于github使用总结
  • 4.7/Q1,GBD数据库最新文章解读
  • Spring AI(4)——工具调用
  • 网络安全侦察与漏洞扫描One-Liners
  • AWS IoT Core自定义域名配置实战指南
  • C 语言_常见排序算法全解析
  • Flannel vxlan模式的优缺点
  • 浅论3DGS溅射模型在VR眼镜上的应用
  • GITLAB跑gradle项目 不借助maven-publish直接上传到nexus私人仓库
  • CST软件对OPERACST软件联合仿真汽车无线充电站对人体的影响
  • 数字孪生实时监控汽车零部件工厂智能化巡检新范式
  • 防御保护-----第十二章:VPN概述
  • Java SE(12)——异常(Exception)
  • web 自动化之 PO 设计模式详解
  • Win11 + Visual Studio 2022 + FLTK 1.4.3 + Gmsh 4.13.1 源码编译指南
  • visual studio生成动态库DLL
  • IntelliJ IDEA给Controller、Service、Mapper不同文件设置不同的文件头注释模板、Velocity模板引擎
  • spring中的@SpringBootApplication注解详解
  • 5.13本日总结
  • Web 架构之负载均衡会话保持
  • 基于C#+SQL Server开发(WinForm)租房管理系统
  • 【C++】MSYS2:构建 C++ 开发环境
  • (vue)el-steps从别的页面跳转进来怎么实现和点击同样效果
  • day011-12-老男孩教育-用户管理与软件管理体系-习题
  • 18.Excel数据透视表:第1部分创建数据透视表
  • 2025java面试题整理
  • WebRTC技术EasyRTC嵌入式音视频通信SDK打造远程实时视频通话监控巡检解决方案
  • LabVIEW与PLC通讯程序S7.Net.dll
  • 国联股份卫多多与七腾机器人签署战略合作协议