当前位置: 首页 > news >正文

马赛克数据增强与 Tensor、TensorFlow 区别学习总结

一、马赛克数据增强(Mosaic Augmentation)实现逻辑

马赛克数据增强是目标检测领域常用的增强手段,核心是将 4 张输入小图拼接成 1 张大图,并同步调整目标标签坐标,具体流程如下:

1. 大图初始化与小图放置

先创建尺寸为 2s×2s(通道数与小图相同)的基础大图 img4,背景色设为 114;再依据索引 i(0-3),将 4 张小图分别对应放置在大图的左上、右上、左下、右下四个区域。放置时需计算两方面坐标:一是小图在大图中的摆放范围(x1a, y1a, x2a, y2a),确保不超出大图边界;二是从原始小图中截取的图像区域(x1b, y1b, x2b, y2b),用于填充到大图对应位置。

2. 标签坐标处理

把小图中目标的归一化坐标(xywh 格式)转换为大图中的像素坐标(xyxy 格式),转换过程中需纳入拼接时产生的偏移量(padw、padh);拼接完成后合并所有标签,裁剪超出大图边界的坐标,随后对大图执行随机旋转、平移、缩放等透视变换,进一步提升数据多样性。

二、图像格式转换流程

为适配 PyTorch 模型输入要求,需对处理后的图像进行格式转换,具体操作步骤如下:

1. 通道与维度调整

先将图像从 OpenCV 默认的 BGR 格式,通过 [:, :, ::-1] 通道逆序转换为 RGB 格式;再将图像维度从(高度、宽度、通道)的 (H, W, C) 格式,通过 transpose (2, 0, 1) 调整为 PyTorch 默认的(通道、高度、宽度)(C, H, W) 通道优先格式。

2. 数据类型转换

把 NumPy 数组转换为 PyTorch 的 Tensor 格式(通过 torch.from_numpy (img) 实现),同时借助 np.ascontiguousarray 确保内存连续,满足模型对输入数据的格式要求。

三、Tensor 与 TensorFlow 的核心区别

1. Tensor(张量)的本质

Tensor 即张量,是一个通用概念,本质是多维数组,是深度学习中存储和操作数据的基本形式。无论是 PyTorch 中的 torch.Tensor,还是 TensorFlow 中的 tf.Tensor,都是张量的具体实现,核心作用是承载数据并支持相关计算操作。

2. 框架层面的差异

在框架特性上,PyTorch 的 torch.Tensor 更侧重动态计算图,支持即时执行(Eager Execution),代码编写与调试更灵活,适合科研场景和快速算法迭代;而 TensorFlow 的 tf.Tensor,传统 1.x 版本基于静态计算图,2.x 版本虽支持动态图,但整体生态更偏向工业级部署,在分布式训练支持上更具优势。

需注意的是,前文图像格式转换最终生成 torch.Tensor,说明该数据处理流程是面向 PyTorch 框架设计,而非 TensorFlow 框架。

http://www.dtcms.com/a/540578.html

相关文章:

  • 【Node】win 10 / win 11:node.js 长期维护版下载、安装与 npm 配置
  • 青岛公司网站建设开发南京网站建设与维护
  • 宠物系统功能演示
  • 具身智能的平民化浪潮:从表演秀到产业变革临界点
  • Geoserver漏洞图形化利用工具
  • 沈阳公司网站设计类似58的推广平台有哪些平台
  • 最小二乘问题详解6:梯度下降法
  • Linux内核RDMA计数器机制:深入解析与实现原理
  • iOS 反编译防护工具与实战组合 从静态侦察到 IPA 成品加固的工程化路径
  • 微信小程序组件中二维码生成问题解决方案
  • 网站文件解压北仑装修公司哪家最好
  • 《微信小程序》第八章:“我的“设计
  • 基于 Launcher3 的 iOS 风格桌面 04 拖拽和移位
  • django model Manager
  • 前端数据可视化实战:Chart.js vs ECharts 深度对比与实现指南
  • 霍山县网站建设公司寻花问柳专注做一家男人最爱的网站
  • LInux(一)VMware虚拟机中安装CentOS7
  • MATLAB基于对数灰关联度的IOWGA算子最优组合预测模型
  • 企业开源网站系统网页制作软件
  • Linux存储软件栈剖析之第4篇:Linux文件系统的实现
  • Excel怎么将八位数字设置为日期格式?
  • 怎么做系部网站首页做外贸的零售网站
  • 宁波企业网站排名优化公司网络系统管理技能大赛答案
  • 本地网站源码便民信息发布平台
  • Linux 内核内存屏障(中文译文)
  • “二分查找” 咋用?像 “查字典翻页码”,3 步找到目标值​
  • 在Ubuntu中使用Docker打包程序(Conda, pip)
  • 网站优化软件费用大连网站推广优化
  • 31_AI智能体工具插件之增强LangChain注册工具构建高效可控的AI工具生态
  • 怎么做自建站wordpress 导航加图标