目标检测——基本数据增广(旋转、裁剪、缩放、填充、亮暗、对比度等)

图像扩充用于图像目标检测 常用的图像扩充方式有: 水平翻转,裁剪,视角变换,jpeg压缩,尺度变换,颜色变换,旋转 当用于分类数据集时,这些变换方法可以全部被使用,然而考虑到目标检测标注框的变换,我们选择如下几种方式用于目标检测数据集扩充: jpeg压缩,尺度变换,颜色变换 这里,我们介绍一个图象变换包 http://lear.inrialpes.fr/people/paulin/projects/ITP/ 这 阅读详情

图像处理的主要函数文件:image_utils.py

# -*- coding: utf-8 -*-

import numpy as np
import cv2
from PIL import Image, ImageEnhance
import random

from box_utils import multi_box_iou_xywh, box_crop

# 随机改变亮暗、对比度和颜色等
def random_distort(img):
    # 随机改变亮度
    def random_brightness(img, lower=0.5, upper=1.5):
        e = np.random.uniform(lower, upper)
        return ImageEnhance.Brightness(img).enhance(e)
    # 随机改变对比度
    def random_contrast(img, lower=0.5, upper=1.5):
        e = np.random.uniform(lower, upper)
        return ImageEnhance.Contrast(img).enhance(e)
    # 随机改变颜色
    def random_color(img, lower=0.5, upper=1.5):
        e = np.random.uniform(lower, upper)
        return ImageEnhance.Color(img).enhance(e)

    ops = [random_brightness, random_contrast, random_color]
    np.random.shuffle(ops)

    img = Image.fromarray(img)
    img = ops[0](img)
    img = ops[1](img)
    img = ops[2](img)
    img = np.asarray(img)

    return img

# 随机填充
def random_expand(img,
                  gtboxes,
                  max_ratio=4.,
                  fill=None,
                  keep_ratio=True,
                  thresh=0.5):
    if random.random() > thresh:
        return img, gtboxes

    if max_ratio < 1.0:
        return img, gtboxes

    h, w, c = img.shape
    ratio_x = random.uniform(1, max_ratio)
    if keep_ratio:
        ratio_y = ratio_x
    else:
        ratio_y = random.uniform(1, max_ratio)
    oh = int(h * ratio_y)
    ow = int(w * ratio_x)
    off_x = random.randint(0, ow - w)
    off_y = random.randint(0, oh - h)

    out_img = np.zeros((oh, ow, c))
    if fill and len(fill) == c:
        for i in range(c):
            out_img[:, :, i] = fill[i] * 255.0

    out_img[off_y:off_y + h, off_x:off_x + w, :] = img
    gtboxes[:, 0] = ((gtboxes[:, 0] * w) + off_x) / float(ow)
    gtboxes[:, 1] = ((gtboxes[:, 1] * h) + off_y) / float(oh)
    gtboxes[:, 2] = gtboxes[:, 2
小样本数据增广学习笔记 本文主要介绍四中数据增广的方法:mixup,mosaic,cutmix,cutout Cutout 论文地址:https://arxiv.org/abs/1708.04552 开源代码github地址:https://github.com/uoguelph-mlrg/Cutout Cutout 是直接对输入的图像进行遮挡。 作者在论文中也进行了说明,这样做法有以下两点优势: (1) 通过 Cutout 可以模拟真实场景中主体被部分遮挡时的分类场景; (2) 可以促进模型充分利用图像中更多的内容来进行分类,防 阅读详情

相关推荐

目标检测冠军竞赛指南:以百度飞桨(Paddle)集训营练习赛——AI识虫为例(基于YOLOv3)

本博客旨在以AI识虫为例介绍目标检测中的训练优化技巧,详细介绍了竞赛冠军的思路,对参加计算机视觉类大赛的参赛者、科研人员和工程人员具有一定的指导作用。

liuz_notes的博客 5076

目标检测的Tricks | 【Trick8】数据增强——随机旋转、平移、缩放、错切、hsv增强

如有错误,恳请指出。 在之前使用opencv就介绍使用过一些常用的数据增强的实现方法,见:《数据增强 | 旋转、平移、缩放、错切、HSV增强》,当时介绍了旋转、平移、缩放、错切、HSV增强,但是只是针对了图像的数据增强,并没有涉及到label的变化。 因为,对于分类任务的数据增强来说,只需要对图像进行数据增强就可以了;但是对于目标检测任务来说,图像改变了,也以为着label的位置改变,同样需要作出变换,所以这里我介绍一下目标检测下的数据增强方法。 文章目录1. 随机旋转、平移、缩放、错切2. hsv增强.

Clichong 9413

Albumentations数据增广库介绍及实践

作者:禅与计算机程序设计艺术 1.简介 1.1 数据增广 图像分类、检测、分割任务训练通常需要大量的高质量标注数据,这些数据往往是有噪声的、模糊的、光照不均匀等导致模型的泛化能力下降,因此如何对原始图片进行数据增广(Data Augmentation)处理是解

AI天才研究院 3362

旋转 (Rotation Augmentation)

作者:禅与计算机程序设计艺术 1.简介 图像数据增强(Data Augmentation)一直是计算机视觉领域的一个热门话题。图像数据增强技术的主要目的是为了解决过拟合的问题,提高模型的泛化能力。如同不同角度、光照变化等对图像造成的影响一样,数据增强也会引入随机性,从而使得模型在测试时表现更优。

AI天才研究院 1235

数据集增强技术综述(Dataset Augmentation TechniquesA Survey)

作者:禅与计算机程序设计艺术 1.简介 数据集的增广(Data augmentation),即对训练数据进行扩展、增加、或减少样本数目的方法,是数据扩充方法的一种类别。通过这种方式可以让模型更充分地利用原始数据的信息,提高模型的泛化能力、鲁棒性、抗攻击性等性能指标。数据增广技术可应用于图像、文本、音频、

AI天才研究院 927

深度学习-目标检测预处理-按比例缩放图片

目标检测批量按比例缩放图片。

深度学习入门:一文详解BP神经网络

在BP神经网络中,输入层和输出层的节点个数都是确定的,而隐含层节点个数不确定,那么应该设置为多少。实际上,隐含层节点个数的多少对神经网络的性能是有影响的,有一个经验公式可以确定隐含层。上面是对隐含层和输出层之间的权值和输出层的阀值计算调整量,而针对输入层和隐含层和隐含层的阀值调。在BP神经网络中,输入层节点没有阀值。神经网络,神经网络在机器学习中应用比较广泛,比如函数逼近,模式识别,分类,数据压缩,数据。要求输入模式要有足够的随机性,对输入模式的噪声比较敏感,即对于剧烈变化的输入模式,训。

Machine Learning with Tutors 4万+

合成生物学中试:花钱只是开始,烧钱才是常态

2026年合成生物学行业面临严峻产业化挑战:多家企业终止发酵项目或延期投产,显示从实验室到工厂的转化困境。核心问题并非基因合成成本,而是工艺放大难题——67%项目在中试阶段因工艺问题失败。AI辅助无法替代工程经验,菌株-配方-工艺的三元适配需要长期数据积累。中试成本惊人,涉及设备折旧、原料消耗和稀缺工艺人才,而行业普遍回避讨论这些工程现实,导致认知偏差。建议创业者提前布局中试,将其视为核心竞争力而非简单成本项。合成生物学的真正瓶颈在于工程化能力,这需要时间沉淀而非技术叙事。

AIexander的博客 942

量子阱技术解析:从基础原理到前沿应用

本文深入解析量子阱技术,从微观“能量游泳池”的基础原理出发,阐释了其通过限制电子实现能级量子化,从而精确调控发光波长的核心机制。文章详细探讨了量子阱在半导体激光器和LED中的革命性应用,如实现低阈值电流与高亮度显示,并展望了其在能带工程及量子级联激光器等前沿领域的发展与挑战。

weixin_29267307的博客 282

零基础入门simulink1000例--第112例:在 Simulink 中构建一个基本的相控阵雷达波束形成系统仿真模型

摘要:本文详细介绍了使用Simulink实现相控阵雷达波束形成技术的完整流程。从创建Simulink模型、设计天线阵列、信号生成,到波束形成算法实现和结果可视化,涵盖了关键步骤。文章重点讲解了均匀线性阵列的设计、线性调频信号生成、相位偏移计算等核心技术,并提供了MATLAB代码示例。通过Scope或ArrayPlot模块进行结果分析,最终可导出为嵌入式代码部署。该系统展现了电子扫描波束的技术优势,为雷达系统设计提供了有效的仿真方法。

amy_mhd的博客 211

LeRobot 入门教程(七)数据集

LeRobot Dataset v3.0 是机器人学习数据的标准化格式,支持多模态时间序列数据和视频的统一访问。该版本通过基于文件的存储(Parquet/MP4)、关联元数据和Hub原生流式处理等新特性,显著提升了性能并降低了存储开销。文档详细介绍了格式设计、安装使用、数据记录与加载方法,以及从v2.1迁移到v3.0的步骤,特别针对大型数据集(如DROID 1.0.1)的处理提供了SLURM集群移植方案。v3.0通过优化文件组织和元数据管理,实现了更快的加载速度、更高的内存效率和更好的可扩展性。

2506_90492529的博客 2054

本地Pycharm连接远程服务器详细配置过程(直接在本地使用服务器显卡,很棒)

相信很多人都遇见过这种情况:实验室成员使用同一台服务器,每个人拥有自己的独立账号,我们可以使用服务器更好的配置完成实验,毕竟自己哪有money拥有自己的3090呢。

NorthSmile的博客 4万+

408 | 408常用计算公式与方法 —— 计组篇 汇总

408常用计算公式与方法 —— 计算机组成原理篇 汇总

"You are worthy! You can do it!" 4653

解决Qt字体问题:QFontDatabase: Cannot find font directory xx/lib/fonts

1.直接在main函数里设置app的整体字体库.这个错误提示比较明显的就是字体库缺失。

有问题或资源连接有缺失的可以私信公众号新潮看世界获取 3043

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 旋光效应可视检测液体的浓度(附MATLAB代码)
下一篇: Tensorflow、CUDA、Keras、cudnn安装版本匹配表
liuz_notes
博客等级 码龄8年 204粉丝 42原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值