语义分割数据增强--Augmentor

随机数据增强 

# 导入数据增强工具
import Augmentor

# 确定原始图像存储路径以及掩码文件存储路径
p = Augmentor.Pipeline("1")
p.ground_truth("1_1")

# 图片逆时针随机旋转90度(随机概率可自行设定)
p.rotate90(probability=0.5)

# 图片顺时针随机旋转90度(随机概率可自行设定)
p.rotate270(probability=0.5)

# 不固定角度微小旋转:比如向左最大旋转15度,向右最大旋转15度(备注:旋转最大角度范围是0-25度)
p.rotate(probability=0.8, max_left_rotation=15, max_right_rotation=15)

#按概率随机左右翻转
p.flip_left_right(probability=0.8)

#按概率随机上下翻转
p.flip_top_bottom(probability=0.8)

# 图像放大缩小: 按照概率0.8执行,面积为原始图0.85倍
p.zoom_random(probability=0.8, percentage_area=0.85)

# 图像放大
p.zoom(probability=1, min_factor=1.1, max_factor=1.5)

# 弹性扭曲,类似区域扭曲的感觉
p.random_distortion(probability=0.8,grid_width=10,grid_height=10, magnitude=20)#小块变形

# 随机区域擦除
p.random_erasing(probability=0.8, rectangle_area=0.3)

# 透视形变-垂直方向形变:magnitude取(0,1),指的是形变程度
p.skew_tilt(probability=0.7, magnitude=0.5)

# 透视形变-斜四角形变:magnitude取(0,1),指的是形变程度
p.skew_corner(probability=0.7,magnitude=1)

# 错切变换
p.shear(probability=1,max_shear_left=15,max_shear_right=15)

# 最终扩充的数据样本数
p.sample(100)

如果想对每张图片都进行数据增强

for i in range(1,10):
    if i == 1:
        p.flip_top_bottom(probability=1)
        p.process()
    if i == 2:
        p.flip_left_right(probability=1)
        p.process()
    if i == 3:
        p.rotate90(probability=1)
        p.process()
    if i == 4:
        p.rotate270(probability=1)
        p.process()
    if i == 5:
        p.rotate(probability=1, max_left_rotation=25, max_right_rotation=25)
        p.process()
    if i == 6:
        p.random_distortion(probability=1, grid_width=5, grid_height=5, magnitude=10)
        p.process()
    if i == 7:
        p.skew_corner(probability=1, magnitude=0.2)
        p.process()
    if i == 8:
        p.skew_tilt(probability=1, magnitude=0.2)
        p.process()
    if i == 9:
        p.shear(probability=1,max_shear_left=15,max_shear_right=15)
        p.process()

 注意,图片和掩码格式要一致,都为jpg或png

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
融合语义分割的ORB-SLAM2是一种在视觉SLAM(Simultaneous Localization and Mapping,即同时定位与建图)系统中引入语义分割信息的方法。ORB-SLAM2是一个经典的基于特征点的SLAM系统,它利用摄像头的视觉信息进行实时定位和建图。 语义分割是一种计算机视觉任务,目标是将图像中的每个像素分配到预定义的语义类别中。在融合语义分割的ORB-SLAM2中,通过将语义分割的结果与ORB-SLAM2的特征点匹配进行融合,可以提供更丰富的场景理解和语义感知。 具体来说,融合语义分割的ORB-SLAM2通常包括以下几个步骤: 1. 预处理:对输入图像进行语义分割处理,得到每个像素的语义类别。 2. 特征提取与匹配:使用ORB-SLAM2提取特征点,并对特征点进行描述子计算。同时,根据语义分割结果,筛选出具有特定语义类别的特征点。 3. 运动估计与优化:使用筛选后的特征点进行相机运动估计和地图优化,得到相机的姿态和三维地图。 4. 语义一致性检测:利用语义分割结果对地图进行语义一致性检测,即保证地图中的语义类别与实际场景一致。 通过融合语义分割信息,ORB-SLAM2可以提供更准确和丰富的场景理解。例如,在室内场景中,可以区分墙壁、地板、家具等不同的语义类别,从而提高定位和建图的精度,并为机器人或无人车等应用提供更多语义感知的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值