样本扩充 完整代码 超级实用 python

这是博主用来做样本扩充常用的代码,里面备注已经很详细了,直接拿来用吧!

其中autoaugment.py直接借用的github的代码,很棒。

一.代码

1.  autoaugment.py

'自动数据增强方法AutoAugment'
"""
基于扩充样本操作的流程:比如先找来500张车辆的图片,并标注得xml文件,再转化得txt文件。
然后用此autoaugment.py做扩充操作—>比如每张原图扩充为10张,那么这10张对应的新txt文件里的坐标还是同一个!
这样的好处是扩充后只是加了各种噪声、锐化、光暗之类的,不需要再对新生成的图做xml坐标标注了!
故:为了不需再对新生成的图做xml坐标标注,我把这个autoaugment.py的类ImageNetPolicy(object)里
所有引用到了类SubPolicy(object)里的旋转操作rotate的代码全屏蔽掉了。
"""
from PIL import Image, ImageEnhance, ImageOps
import numpy as np
import random

class ImageNetPolicy(object):
    """ Randomly choose one of the best 24 Sub-policies on ImageNet.

        Example:
        # >>> policy = ImageNetPolicy()
        # >>> transformed = policy(image)

        Example as a PyTorch Transform:
        # >>> transform=transforms.Compose([
        # >>>     transforms.Resize(256),
        # >>>     ImageNetPolicy(),
        # >>>     transforms.ToTensor()])
    """
    def __init__(self, fillcolor=(128, 128, 128)):
        self.policies = [
            # SubPolicy(0.4, "posterize", 8, 0.6, "rotate", 9, fillcolor),
            SubPolicy(0.6, "solarize", 5, 0.6, "autocontrast", 5, fillcolor),
            SubPolicy(0.8, "equalize", 8, 0.6, "equalize", 3, fillcolor),
            SubPolicy(0.6, "posterize", 7, 0.6, "posterize", 6, fillcolor),
            SubPolicy(0.4, "equalize", 7, 0.2, "solarize", 4, fillcolor),

            # SubPolicy(0.4, "equalize", 4, 0.8, "rotate", 8, fillcolor),
            SubPolicy(0.6, "solarize", 3, 0.6, "equalize", 7, fillcolor),
            SubPolicy(0.8, "posterize", 5, 1.0, "equalize", 2, fillcolor),
            # SubPolicy(0.2, "rotate", 3, 0.6, "solarize", 8, fillcolor),
            SubPolicy(0.6, "equalize", 8, 0.4, "posterize", 6, fillcolor),

            # SubPolicy(0.8, "rotate", 8, 0.4, "color", 0, fillcolor),
            # SubPolicy(0.4, "rotate", 9, 0.6, "equalize", 2, fillcolor),
            SubPolicy(0.0, "equalize", 7, 0.8, "equalize", 8, fillcolor),
            SubPolicy(0.6, "invert", 4, 1.0, "equalize", 8, fillcolor),
            SubPolicy(0.6, "color", 4, 1.0, "contrast", 8, fillcolor),

            # SubPolicy(0.8, "rotate", 8, 1.0, "color", 2, fillcolor),
            SubPolicy(0.8, "color", 8, 0.8, "solarize", 7, fillcolor),
            SubPolicy(0.4, "sharpness", 7, 0.6, "invert", 8, fillcolor),
            # SubPolicy(0.6, "shearX", 5, 1.0, "equalize", 9, fillcolor),
            SubPolicy(0.4, "color", 0, 0.6, "equalize", 3, fillcolor),

            SubPolicy(0.4, "equalize", 7, 0.2, "solarize", 4, fillcolor),
            SubPolicy(0.6, "solarize", 5, 0.6, "autocontrast", 5, fillcolor),
            SubPolicy(0.6, "invert", 4, 1.0, "equa
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值