文章目录

  • 1. 相关内容
    • 1.1 hist seg:
    • 1.2 pava(parallel Pool Adjacent Violators)
    • 1.3 TPS(thin plate splines)
  • 2. 基于optimal transpoet的 color transfer
    • 1. 相关文章
    • 2. REGULARIZED DISCRETE OPTIMAL TRANSPORT 论文 损失
    • 3. REGULARIZED DISCRETE OPTIMAL TRANSPORT 论文

1. 相关内容

1.1 hist seg:

scipy.signal.find_peaks(x, height=None, threshold=None, distance=None, prominence=None, width=None, wlen=None, rel_height=0.5, plateau_size=None)
scipy.signal.peak_prominences(x, peaks, wlen=None)

find_peaks函数解释

    peaks2, properties2 = signal.find_peaks(hist2, distance=5,  prominence=mmax / 20, width=2, plateau_size=[0, 100])'''distance:两个相邻peak的最小横轴距离顶的高度:prominence:突出的程度需满足的条件(顶点一横线,向下平移,直到与更高peak的边交叉。 左右两边取更高的base)顶的宽度:width: 一半 prominence位置处的宽度plateau_size:允许的平顶的横轴大小范围, '''

1.2 pava(parallel Pool Adjacent Violators)

  1. What is isotonic regression?
    What is nearly-isotonic regression?
    很好的两篇博客介绍,isotonic-regression 和 nearly-isotonic-regression,两者的原理如下:前者是强约束,后者是损失函数惩罚

    isotonic-regression 是从左向右遍历, 遇到更小的则和当前的块平均,平均后的结果小于更前一个的时候还要再求平均。
    两篇博客都提供了动图,是很好的解释。

  2. 数学解释和实现介绍了相关数学原理。

  3. scipy中的isotonic regression 函数 如何用python调用

  4. 中文解释和博客:

https://github.com/endymecy/spark-ml-source-analysis/blob/master/%E5%88%86%E7%B1%BB%E5%92%8C%E5%9B%9E%E5%BD%92/%E4%BF%9D%E5%BA%8F%E5%9B%9E%E5%BD%92/isotonic-regression.md
https://cloud.tencent.com/developer/article/1815613

1.3 TPS(thin plate splines)

[薄板样条插值(Thin Plate Spline)]https://zhuanlan.zhihu.com/p/227857813
介绍了数学原理推导
数值方法——薄板样条插值(Thin-Plate Spline)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O6SQm7iS-1681722986585)(2023-04-06-16-48-11.png)]
薄板样条函数(Thin plate splines)的讨论与分析
2d tps的数学原理概述,总的来说就是tps得到的结果会使整个曲面的弯曲能量最小:

薄板样条插值(Thin plate splines)的实现与使用 pytorch 的实现,opencv的使用

opencv使用:

def tps_cv2(source, target, img):"""使用cv2自带的tps处理"""tps = cv2.createThinPlateSplineShapeTransformer()source_cv2 = source.reshape(1, -1, 2)target_cv2 = target.reshape(1, -1, 2)matches = list()for i in range(0, len(source_cv2[0])):matches.append(cv2.DMatch(i,i,0))tps.estimateTransformation(target_cv2, source_cv2, matches)new_img_cv2 = tps.warpImage(img)return new_img_cv2

pytorch实现:

def tps_torch(source, target, img, DEVICE):"""使用pyotrch实现的tps处理"""ten_img = ToTensor()(img).to(DEVICE)h, w = ten_img.shape[1], ten_img.shape[2]ten_source = norm(source, w, h)ten_target = norm(target, w, h)tpsb = TPS(size=(h, w), device=DEVICE)warped_grid = tpsb(ten_target[None, ...], ten_source[None, ...])    #[bs, h, w, 2](相对)   根据source、target得到的仿射函数,处理图片ten_wrp = torch.grid_sampler_2d(ten_img[None, ...], warped_grid, 0, 0, False)new_img_torch = np.array(ToPILImage()(ten_wrp[0].cpu()))return new_img_torch

2D tps code

3D tps:This is a Python reimplementation of the MATLAB version by Yang Yang
Thin Plate Spline

2. 基于optimal transpoet的 color transfer

1. 相关文章

  1. Adaptive Color Transfer With Relaxed Optimal Transport
  2. REGULARIZED DISCRETE OPTIMAL TRANSPORT
  3. Optimal Transportation for Example-Guided Color Transfer

2. REGULARIZED DISCRETE OPTIMAL TRANSPORT 论文 损失

损失目标是:

有点类似Partial optimal transport的损失,不过Partial optimal transport只包含了Kx, Ky的约束,未包含 kx, ky

此外Partial optimal transport 有ot.partial.entropic_partial_wasserstein 熵约束。

该论文提出了基于图的梯度约束。
具体如下:
首先 假设我们想要的映射矩阵是 T(下面公式种的求和符号):X 转换为 Y

Xi的的转换为

为了凸优化:

然后构建一个图, Xi最近的 K 个邻居链接为边。

每条边的weight:

则 T在 Xi上的约束为:

所有边的约束:

最终的损失函数:

3. REGULARIZED DISCRETE OPTIMAL TRANSPORT 论文

注意 transfer seg的方法
和 transfer pixel的方法
本文中的方法就是pot lib中 transform

其次 找到对应关系之后,可以用多项式拟合或者TPS来拟合。
Optimal Transportation for Example-Guided Color Transfer就是用tps拟合的

hist seg, find peaks, tps, pava单调拟合, isotonic-regression,REGULARIZED DISCRETE OPTIMAL TRANSPORT相关推荐

  1. ECCV2022论文列表(中英对照)

    Paper ID Paper Title 论文标题 8 Learning Uncoupled-Modulation CVAE for 3D Action-Conditioned Human Motio ...

  2. 深度学习的几何观点:1流形分布定律、2学习能力的上限。附顾险峰教授简历(长文慎入,公号回复“深度学习流形分布”可下载PDF资料)

    深度学习的几何观点:1流形分布定律.2学习能力的上限.附顾险峰教授简历(长文慎入,公号回复"深度学习流形分布"可下载PDF资料) 原创: 顾险峰 数据简化DataSimp 今天 数 ...

  3. 深度学习的几何观点(1) - 流形分布定律

    https://www.sohu.com/a/234251750_642762 作者:顾险峰 (最近,哈佛大学丘成桐先生领导的团队,大连理工大学罗钟铉教授.雷娜教授领导的团队应用几何方法研究深度学习. ...

  4. python 拟合sigmoid曲线_使用python+sklearn实现概率校准曲线

    注意:单击此处https://urlify.cn/muQBjy下载完整的示例代码,或通过Binder在浏览器中运行此示例 在进行分类时,人们经常不仅要预测分类标签,还要预测相关的概率.预测概率可以让人 ...

  5. 基于Spark的机器学习实践 (七) - 回归算法

    0 相关源码 1 回归分析概述 1.1 回归分析介绍 ◆ 回归与分类类似,只不过回归的预测结果是连续的,而分类的预测结果是离散的 ◆ 如此,使得很多回归与分类的模型可以经过改动而通用 ◆ 因此对于回归 ...

  6. Isotonic Regression 校准

    转载自: vividfree的博客 使用 Isotonic Regression 校准分类器 1. 引言 对有监督机器学习问题,通常的训练流程包括这样几步:先建立起模型,然后在训练集上训练模型,如果有 ...

  7. 使用 Isotonic Regression 校准分类器

    21 December 2015 1. 引言 对有监督机器学习问题,通常的训练流程包括这样几步:先建立起模型,然后在训练集上训练模型,如果有超参数,还需要在验证集上应用交叉验证以确定超参数,总之最终会 ...

  8. sklearn API 文档 - 0.18 中文翻译

    为什么80%的码农都做不了架构师?>>>    所有函数和类的确切API,由docstrings给出.API会为所有功能提供预期类型和允许的功能,以及可用于算法的所有参数. 原文链接 ...

  9. 数据库自治服务DAS论文入选全球顶会SIGMOD,领航“数据库自动驾驶”新时代

    简介:近日,智能数据库和DAS团队研发的智能调参ResTune系统论文被SIGMOD 2021录用,SIGMOD是数据库三大顶会之首,是三大顶会中唯一一个Double Blind Review的,其权 ...

最新文章

  1. 数据挖掘-matplotlib、numpy、pandas(二)
  2. [翻译完成] Pi+Raspbian+CGMiner+TightVNC+WIFI五合一矿机超级教程
  3. otsu阈值分割算法_图像分割之大津算法(OTSU)
  4. Android Hanlder综合
  5. OpenGL shader interpolation 着色器插值的实例
  6. redis配置实例及redis.conf详细说明
  7. 算法笔记--字符串hash
  8. pandas series取值_【小学生级】pandas入门到精通备查表——AI未来系列3
  9. 门萨智商测试_与Mensa建立更好的匹配解决方案
  10. (转)Bootstrap 之 Metronic 模板的学习之路 - (4)源码分析之脚本部分
  11. 《健康报》携手健康之路帮助医院医生免费搭建微官网
  12. 写Java代码分别使堆溢出,栈溢出
  13. 基础数据类型转换过程中注意事项
  14. 简单的转盘抽奖html,一个很简单的H5的转盘抽奖的(主要用的是css3的属性)
  15. 检查xml格式是否正确
  16. YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)
  17. backtrack5实现局域网DNS欺骗
  18. bzoj4605: 崂山白花蛇草水 权值线段树套KDtree
  19. MSP430F5529通过nrf905模块实现无线接受和发送功能
  20. [Python]调用adb抢双十一淘宝喵币

热门文章

  1. 2021 第四届安洵杯 MISC wp
  2. PDF转图片再转长图、python、pil
  3. SSL-ZYC 逃离洞穴
  4. 手把手教你成为Shader编程实战达人—GPU
  5. SRM 719 div2 Hard (01Trie,最大异或和)
  6. API 接口监控产品全新改版,免费开放全部功能
  7. CUPS学习五:打印机基础
  8. HDUOJ 4513 吉哥系列故事——完美队形II
  9. selenium中键盘操作
  10. 这样吃橙子才最健康,90%的人不知道的秘密!