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

b-up:Enzo_Mi:深度学习基础知识

1.最近邻差值(Neareast Neighbor Interpolation)

插值算法 | 最近邻插值法_哔哩哔哩_bilibili

上图中最后一行,第一个图像,因为目标像素(放大后,位于第1行第0列的像素)距离它最近的原图的像素的像素值为1,因此该目标像素取值为1。

把原图分别进行 上采样

方式1:最近邻插值

方式2:双线性插值

肉眼观看,方式2效果更好,没有锯齿状,更平滑

虽然在上采样阶段,  使用双线性插值可以得到比最近邻差值效果更好的 图片,但是对于语义分割任务并不合适。

语义分割任务只能使用最近邻插值,因为其标注时 将目标对应像素点的值赋值为1,背景赋值为0, 边缘赋值为255, 当通过数据增强进行图片缩放时,使用最近邻插值  ,得到的新图像的语义标签中像素值只包含 0,1,255,   这个三个数值对语义分割网络训练具有意义, 其他数字没有意义。

当使用双线性插值,会导致语义标签图像中出现  如   111,126等数字,这些数字没有意义,对网络训练没有用处。

个人

疑惑:对于实例实例分割,可以使用双线性插值吗? 

语义分割网络训练时,  可能进行图像缩放这一数据增强方法,因此只能使用 最近邻差值 防止语义标签出现  非规定中的数字。 

但是对于实例实例分割,可以使用双线性插值吗? 

最近使用YOLO-SEG, 发现将最近邻插值替换为 双线性插值, 精度有些提升。

2.双线性插值(bilinear  interpolation)

插值算法 |双线性插值法_哔哩哔哩_bilibili

将源图像t0进行上采样, 使用双线性插值, 首先:需要将放大的图像(t1)等比例缩小为源图像尺寸t3。

 

缩放为源图像尺寸大小,需要进行对齐,有两种对齐方式:

1.角对齐:需要将 t3与t0的网格中心点对齐, 这种需要t1缩小的尺度更大

2.边对齐,需要将t3与t0的边对齐,这种需要t1缩小的尺度比角对齐小一些

具体可以见pytorch官网的说明

该链接的内容

注意:像素值分别为v1,v2,v3,v4

 代码示例

角对齐

边对齐

角对齐

上述两段代码。第一个自已编写, 第二个是调用函数库

注意:这里以最左上角像素点的中心点的坐标作为原点坐标(0,0),而不是边界框的角点

边对齐

使用pytorch函数

 

3.双三次插值算法(Bicubic)

双: X,Y两个方向

三次:计算目标像素点周围像素权重时,使用三次项公式计算周围权重

 

与上述两种插值方法  初始步骤相同,将放大的图像t1进行缩小,缩小为源图像t0尺度t2,然后对照源图像,计算目标像素点

上图中, 发现t2的一个像素点在t0中,刚好位于t0中四个像素点之间的中心

 

双三次插值,取周围16个像素点的值进行计算

上图:

第一行表示 一维插值

第二行:二维差值,彩色点表示原图像素点,彩色点的高低表示该像素点的像素值,黑色点表示放大图像中的像素点,其高低表示所计算的采样值。

x只能表示 X或Y一个方向的距离

因此需要计算两次权重,分别表示X,Y方向

上图:右边第一个小图,

蓝色点(目标点)与源图像素的一个红点重合, X,Y方向距离均为0, 则该源图的像素点在X或Y方向的对应的权重为1,

右边第二个小图,蓝色点(目标点)与源图像素的一个红点在X,Y距离上均为1, 则该源图的像素点在X或Y方向的对应的权重为0

因此:参考上图的曲线图

在X方向距离为0,则在X方向取得权重为1;

在X方向距离为1,则在X方向取得权重为0;

在X方向距离为2,则在X方向取得权重为0;

根据距离的不同(0.5,1.5等)分别选择权重计算公式W(x)的三个不同分段函数

 

将在X,Y方向   计算出的16个值相加得到3.5 

使用个人编写程序, 以及pytorch 程序进行验证 

4.IoU与NMS

NMS 非极大值抑制 | IoU 交并比_哔哩哔哩_bilibili 

 待看

。。。

参考资料

1.插值算法 | 最近邻插值法_哔哩哔哩_bilibili

http://www.xdnf.cn/news/1146421.html

相关文章:

  • 【C语言进阶】题目练习(2)
  • 【51】MFC入门到精通——MFC串口助手(一)---初级版(初始化、串口设置、修改参数、打开/关闭、状态显示),附源码
  • 机器学习基础:线性回归算法详解(原理+代码+实战)
  • Proto文件从入门到精通——现代分布式系统通信的基石(含实战案例)
  • 数据库模型异常问题深度解析:冗余与操作异常
  • 柴油机活塞cad【4张】三维图+设计说明书
  • 小架构step系列18:工具
  • 《每日AI-人工智能-编程日报》--2025年7月18日
  • 【洛谷P1417】烹调方案 题解
  • SQL注入基础尝试
  • 71 模块编程之新增一个字符设备
  • ArcGIS Pro+PS 实现地形渲染效果图
  • 上网行为管理-web认证服务
  • 【C++基础】--多态
  • ThreadLocal 在 Spring 与数据库交互中的应用笔记
  • 北京-4年功能测试2年空窗-报培训班学测开-第五十四天
  • Kubernetes Pod深度理解
  • 大模型格式
  • 外部DLL创建及使用
  • UVC for USBCamera in Android - 篇二
  • 腾讯 ChatBI 调研
  • 如何为“地方升学导向型”语校建模?Prompt 框架下的宇都宫日建工科专门学校解析(7 / 500)
  • Java HashMap高频面试题深度解析
  • 对于编码电机-520直流减速电机
  • 【AI News | 20250717】每日AI进展
  • 3.3 参数传递方式
  • 应用集成体系深度解析:从数据互通到流程协同
  • 20250718【顺着234回文链表做两题反转】Leetcodehot100之20692【直接过12明天吧】今天计划
  • Machine Learning HW2 report:语音辨识(Hongyi Lee)
  • 操作系统-处理机调度和死锁进程同步