在图像批次中随机打乱补丁

2024-06-25

我正在尝试创建一个transform打乱批次中每个图像的补丁。 我的目标是以与其他转换相同的方式使用它torchvision:

trans = transforms.Compose([
            transforms.CenterCrop(224),
            transforms.ToTensor(),
            transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]),
            ShufflePatches(patch_size=(16,16)) # our new transform
        ])

更具体地说,输入是BxCxHxW张量。我想将批次中的每个图像分割成大小为 patch_size 的不重叠的补丁,将它们打乱,然后重新组合成单​​个图像。

给定图像(大小224x224):

Using ShufflePatches(patch_size=(112,112))我想生成输出图像:

我认为解决方案与torch.unfold and torch.fold,但没能取得进一步的进展。

任何帮助,将不胜感激!


Indeed unfold and fold https://stackoverflow.com/a/53972525/1714410在这种情况下似乎合适。

import torch
import torch.nn.functional as nnf

class ShufflePatches(object):
  def __init__(self, patch_size):
    self.ps = patch_size

  def __call__(self, x):
    # divide the batch of images into non-overlapping patches
    u = nnf.unfold(x, kernel_size=self.ps, stride=self.ps, padding=0)
    # permute the patches of each image in the batch
    pu = torch.cat([b_[:, torch.randperm(b_.shape[-1])][None,...] for b_ in u], dim=0)
    # fold the permuted patches back together
    f = nnf.fold(pu, x.shape[-2:], kernel_size=self.ps, stride=self.ps, padding=0)
    return f

Here's an example with patch size=16:
enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在图像批次中随机打乱补丁 的相关文章

随机推荐

  • 创建 DOMElement Objective C 的位图

    我有一个 Webkit DOMElement 例如一个 div 现在我想要它的渲染 NSImage 或 NSBitmapImageRep 它就像 DOMElement 的屏幕截图 公共 API 选择 NSView cacheDisplayI
  • 使 PXButton 显示为铅笔图标

    我想在我的页面上放置一个按钮 允许重定向到自定义处理页面 但该按钮必须是铅笔图标 例如在控件上使用AllowEdit True 时 我有以下 asp net
  • Java BigDecimal 区别

    我想看看是否有人可以解释为什么以下代码适用于 valueOf 而不适用于其他代码 import java math BigDecimal public class Change public static void main String
  • XCode 4.2 停止界面生成器自动缩放

    每当我更改所选控件时 有什么方法可以阻止 XCode 4 中的 IB 缩放以尝试填充屏幕 尝试在 1440x900 笔记本电脑屏幕上开发 iPad 故事板让我抓狂 这使得在屏幕上放置大块几乎是不可能的 有谁知道一些隐藏的偏好迫使 XCode
  • 如何在 matplotlib 中对齐刻度标签?

    我正在尝试使用 matplotlib 构建信息图 并且想要左对齐所有 y 轴的刻度标签 我想将所有刻度标签移至左侧 我希望它们都从与以下相同的 x 位置开始District of Columbia 我尝试使用Axes set ytickla
  • python中的有效年份函数

    这是 udacity com 网络开发课程 他们要求编写一个有效年份的程序 1900 年到 2020 年之间的任何年份都是有效年份 现在 当我提交以下代码时 它给出了此错误 不正确 您的提交未返回输入 1920 的正确结果 您的提交通过了
  • 如何从异步调用返回响应?

    如何从函数返回响应 结果foo发出异步请求 我试图从回调中返回值 并将结果分配给函数内的局部变量并返回该变量 但这些方法都没有实际返回响应 它们都返回undefined或者无论变量的初始值如何result is 接受回调的异步函数示例 使用
  • 测试内联表单集清理方法

    我有一个 Django 项目 有 2 个模型 一个Structure and Bracket 括号具有结构的外键 即一对多 一个结构有多个括号 我创建了一个TabularInline对于管理站点 这样结构上就会有一个括号表 我添加了一个自定
  • 下面的 C 程序的输出是什么? [复制]

    这个问题在这里已经有答案了 char getString char str Will I be printed return str int main printf s getString getchar 输出不应该是 我会被打印吗 相反
  • RcppEigen 包“#pragma clang Diagnostic pop”警告

    我在尝试使用时遇到一些问题RcppEigen包裹 我使用了发布的示例here http gallery rcpp org articles eigen eigenvalues 该函数有效 但 R 生成了一系列类似的警告 示例如下 In fi
  • C++中return语句后可以执行代码吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我是一名java程序员 刚刚接触C
  • Ember.js 中按钮的绑定启用状态

    我刚刚开始接触 Ember js 但我遇到了一些我确信我不理解的东西 我有一个选定的对象控制器 它有一个 Ember Object 内容 即当前选择的模型 该模型有一个属性 isDirty 基本上我希望仅当对象脏且需要保存时才启用表单上的保
  • 是否可以在 UITabBarController 内显示 SFSafariViewController?

    我要加载SFSafariViewController位于选项卡内部 因此选项卡栏位于整个 Safari 视图的底部 这可能吗 我尝试了这个但没有运气 self tabBarController presentViewController s
  • jsp ${pageContext.request.contextPath} 未收到请求

    目前我有一个 jsp 项目 其中我的欢迎页面是一个 servlet
  • Django X-CSRFToken 已设置但仍然收到 403 禁止

    我开发了一个 Django 文件上传 API 它接收来自客户端的发布数据并将数据保存为文件 根据Django CSRF 手册 https docs djangoproject com en 1 8 ref csrf HTTP 请求标头应使用
  • HTTP 缓存的授权检查

    我有如下列出的 Web API 方法 用于REST服务 这是为了获取库存审核员的所有用户信息 只有授权的 Inventory Auditor 用户才能访问此资源 RoutePrefix api users public class User
  • 为 REST Spring HATEOAS 控制器定义资源组装器

    我正在尝试将 HATEOAS 链接添加到由 Spring REST 控制器提供服务的 JSON 资源 我发现我应该使用资源汇编器 如下所述https github com spring projects spring hateoas htt
  • 是否可以复制 Azure 网站?

    我想将现有的 共享 模式 开发 网站复制到另一个 测试 共享 模式网站 这可能吗 我知道可以使用 T SQL 命令通过 SQL Azure DB 来完成此操作 此刻我 1 创建新网站 2 跨 Dev Azure 网站的 FTP 来测试 Az
  • posix 和 linux 特定函数的 C++ 包装器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您知道有什么好的库将 posix 和 linux 函数和结构 例如套接字或文件描述符 包装到 C 类中
  • 在图像批次中随机打乱补丁

    我正在尝试创建一个transform打乱批次中每个图像的补丁 我的目标是以与其他转换相同的方式使用它torchvision trans transforms Compose transforms CenterCrop 224 transfo