0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于PyTorch的物体检测包围框数据增强包

新机器视觉 来源:AI公园 作者:Harpal Sahota 2021-07-01 09:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:Harpal Sahota

编译:ronghuaiyang

导读

实现了Google Research,Brain Team中的增强策略。

像许多神经网络模型一样,目标检测模型在训练大量数据时效果最好。通常情况下,可用的数据有限,世界各地的许多研究人员正在研究增强策略,以增加可用的数据量。谷歌的大脑团队进行了一项这样的研究,并发表在了一篇论文中,名为Learning Data Augmentation Strategies for Object Detection。在这篇论文中,作者确定了一组增强称为策略,它对目标检测问题表现良好。该策略通过增强搜索获得,提高了通用模型的性能。

作者将增强策略定义为一组子策略。在模型进行训练时,随机选择其中一个子策略用于增强图像。在每个子策略中都有要依次应用于图像的增强。每个转换也有两个超参数:概率和幅度。概率表示该增强将被应用的可能性,而幅度表示该增强的程度。下面的代码显示了本文中使用的策略:

policy = [

[(‘TranslateX_BBox’, 0.6, 4), (‘Equalize’, 0.8, 10)],

[(‘TranslateY_Only_BBoxes’, 0.2, 2), (‘Cutout’, 0.8, 8)],

[(‘Sharpness’, 0.0, 8), (‘ShearX_BBox’, 0.4, 0)],

[(‘ShearY_BBox’, 1.0, 2), (‘TranslateY_Only_BBoxes’, 0.6, 6)],

[(‘Rotate_BBox’, 0.6, 10), (‘Color’, 1.0, 6)],

在这个策略中有5个子策略,如果我们取第一个子策略,它就包含了TranslateX_BBox和Equalize增强。TranslateX_BBox操作在x轴上转换图像的幅度为4。在本例中,大小并不直接转换为像素,而是根据大小缩放为像素值。该增强的概率也为0.6,这意味着如果该增强被选中,则应用该增强的概率为60%。

随着每个增强都有一个相关的概率,引入了一个随机的概念,给训练增加了一定程度的随机性。总的来说,Brain Team已经提出了4个策略: v0, v1, v2和v3。本文中显示了v0策略,其他三个策略包含更多的子策略,这些子策略具有几种不同的转换。总的来说,增加分为三类,作者定义为:

颜色操作: 扭曲颜色通道,不影响边界框的位置。

几何操作:几何扭曲图像,这相应地改变了边界框的位置和大小。

包围框操作:只会扭曲包围框中包含的像素内容。

BBAug

那么BBAug)在这方面有什么贡献呢?BBAug是一个python包,它实现了谷歌Brain Team的所有策略。这个包是一个包装器,可以更容易地使用这些策略。实际的扩展是由优秀的imgaug包完成的。

上面显示的策略应用于一个示例图像,如下所示。每一行是一个不同的子策略,每一列是该子策略的不同运行。

正如你所看到的,在子策略的运行之间有一定程度的变化,因此给训练增加了一定程度的随机性。这只是BBAug实施的4个策略之一。要查看所有4个策略的完整可视化,请查看包的GitHub页面:https://github.com/harpalsahota/bbaug。

该包还提供了一些有用的功能,比如定制策略的可能性,以及位于图像外部的边界框,如果它们部分位于图像外部,则会被自动删除或剪切。例如,在下面的图像中,应用了平移增强,将边界框部分推到图像外部。你可以看到新的边界框已经缩小以适应这一点。

也可以创建只影响边界框区域的增强。在下图中,solarisaugmentation只应用于边界框区域:

用随机策略增加单个图像有多容易?就像这样简单:

from bbaug import policies

# select policy v0 set

aug_policy = policies.policies_v0()

# instantiate the policy container with the selected policy set

policy_container = policies.PolicyContainer(aug_policy)

# select a random policy from the policy set

random_policy = policy_container.select_random_policy()

# Apply the augmentation. Returns the augmented image and bounding boxes.

# Image is a numpy array of the image

# Bounding boxes is a list of list of bounding boxes in pixels (int)。

# e.g. [[x_min, y_min, x_man, y_max], [x_min, y_min, x_man, y_max]]

# Labels are the class labels for the bounding boxes as an iterable of ints e.g. [1,0]

img_aug, bbs_aug = policy_container.apply_augmentation(random_policy, image, bounding_boxes, labels)

# image_aug: numpy array of the augmented image

# bbs_aug: numpy array of augmneted bounding boxes in format: [[label, x_min, y_min, x_man, y_max],。。。]

总结

该包实现了谷歌Brain Team推导出的增强策略。目前,已经实现了所有4个策略,该包还附带了notebooks,以帮助用户将这些策略集成到他们的PyTorch训练pipeline中。

英文原文:https://towardsdatascience.com/bbaug-a-package-for-bounding-box-augmentation-in-pytorch-e9b9fbf1504b

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4827

    浏览量

    106792
  • pytorch
    +关注

    关注

    2

    文章

    813

    浏览量

    14696

原文标题:BBAug: 一个用于PyTorch的物体检测包围框数据增强包

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MTCH9010液体检测芯片技术解析:双模传感与低功耗设计的完美结合

    Microchip Technology MTCH9010液体检测器提供数字和原始数据输出,是一种在不同传感器上检测液体是否存在的灵活方式。该检测器支持各种形状和尺寸的传感器。合适的M
    的头像 发表于 09-28 11:22 495次阅读
    MTCH9010液<b class='flag-5'>体检测</b>芯片技术解析:双模传感与低功耗设计的完美结合

    如何在 M55M1 系列微控制器上以低功耗模式使用运动检测功能?

    如何在 M55M1 系列微控制器上以低功耗模式使用运动检测功能。根据物体检测结果,系统将动态启用或禁用运动检测块,以实现最佳性能和能效。
    发表于 08-19 06:56

    【上海晶珩睿莓1开发板试用体验】物体识别的板端推理

    YOLO ONNX物体检测器 参数: model_path: ONNX模型路径 conf_threshold: 置信度阈值 iou_threshold: 非极大值抑制IOU阈值 \"
    发表于 08-18 21:25

    【嘉楠堪智K230开发板试用体验】01 Studio K230开发板Test2——手掌,手势检测,字符检测

    理解: 它不仅能检测图像内容,更能进行精确的识别和定位。例如: 人脸检测与定位(位置和尺寸)。 物体检测、识别(分类)、定位(位置和尺寸)。 高性能: 其计算能力显著提升,官方数据显示
    发表于 07-10 09:45

    【HarmonyOS 5】VisionKit人脸活体检测详解

    【HarmonyOS 5】VisionKit人脸活体检测详解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、VisionKit人脸活体检测
    的头像 发表于 06-21 11:52 632次阅读
    【HarmonyOS 5】VisionKit人脸活<b class='flag-5'>体检测</b>详解

    手机中气密性检测仪的使用方法

    在手机制造过程中,确保手机中的气密性至关重要,这直接关系到手机的防水、防尘性能以及整体质量。以下是手机中气密性检测仪的具体使用方法。检测前准备:首先,要确保手机中
    的头像 发表于 05-27 13:50 767次阅读
    手机中<b class='flag-5'>框</b>气密性<b class='flag-5'>检测</b>仪的使用方法

    云南恩田有毒有害气体检测系统# 的安全#隧道施工#有毒有害气体检测

    体检测
    恩田智能设备
    发布于 :2025年05月15日 15:06:40

    汉威科技推出新款便携式气体检测

    便携式气体检测仪是石油、化工、燃气、环境监测、应急救援等领域日常巡检、有限空间作业的必备工具。
    的头像 发表于 04-25 17:30 1039次阅读

    便携式+多功能+可定制!工厂直发,重新定义气体检测效率

    体检测
    奕帆科技
    发布于 :2025年04月25日 15:05:25

    体检漏仪如何操作?注意事项有哪些?

    体检漏仪 ,从名称上就能看出,这是一种用于检测气体泄漏情况的专业设备,在工业、环保等领域中有着广泛的应用潜力。那么,气体检漏仪如何操作?注意事项有哪些?为方便大家了解,下面就让小编来为大家简单介绍
    发表于 03-12 15:08

    边缘AI新突破:MemryX AI加速卡与RK3588打造高效多路物体检测方案

    及对主流深度学习框架 (如 TensorFlow、PyTorch、ONNX) 的支持,即便是新手也能快速上手,轻松部署 AI 模型,实现智能应用开发。
    的头像 发表于 03-06 10:45 951次阅读
    边缘AI新突破:MemryX AI加速卡与RK3588打造高效多路<b class='flag-5'>物体检测</b>方案

    要设计CH气体检测设备应用的激光源波长为3370nm,请问DMD微镜的反射波长是多少?

    请问:我现在要设计CH气体检测设备应用的激光源波长为3370nm,请问贵司的DMD微镜的反射波长是多少?我们的要求能满足吗?
    发表于 02-24 08:08

    【米尔RK3576开发板评测】+项目名称RetinaFace人脸检测

    一、简介 Pytorch_Retinaface‌是一个基于PyTorch框架实现的人脸检测算法,它能够快速而准确地检测出图像中的人脸,并提供丰富的特征信息。该算法的核心思想是使用多尺度
    发表于 02-15 13:28

    利用Arm Kleidi技术实现PyTorch优化

    PyTorch 是一个广泛应用的开源机器学习 (ML) 库。近年来,Arm 与合作伙伴通力协作,持续改进 PyTorch 的推理性能。本文将详细介绍如何利用 Arm Kleidi 技术提升 Arm
    的头像 发表于 12-23 09:19 1617次阅读
    利用Arm Kleidi技术实现<b class='flag-5'>PyTorch</b>优化

    原来ESP32竟可《一“芯”两用》既做人体检测传感器也做Wi-Fi数据传输

    今天将介绍ESP32如何"一芯两用",既做人体检测传感器也做Wi-Fi数据传输模块;对于使用ESP32做Wi-Fi数据通讯,相信玩ESP32的基本上都知道怎么玩了,但是
    的头像 发表于 12-18 18:12 5344次阅读
    原来ESP32竟可《一“芯”两用》既做人<b class='flag-5'>体检测</b>传感器也做Wi-Fi<b class='flag-5'>数据</b>传输