hist seg, find peaks, tps, pava单调拟合, isotonic-regression,REGULARIZED DISCRETE OPTIMAL TRANSPORT
文章目录
- 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)
What is isotonic regression?
What is nearly-isotonic regression?
很好的两篇博客介绍,isotonic-regression 和 nearly-isotonic-regression,两者的原理如下:前者是强约束,后者是损失函数惩罚
isotonic-regression 是从左向右遍历, 遇到更小的则和当前的块平均,平均后的结果小于更前一个的时候还要再求平均。
两篇博客都提供了动图,是很好的解释。数学解释和实现介绍了相关数学原理。
scipy中的isotonic regression 函数 如何用python调用
中文解释和博客:
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. 相关文章
- Adaptive Color Transfer With Relaxed Optimal Transport
- REGULARIZED DISCRETE OPTIMAL TRANSPORT
- 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相关推荐
- ECCV2022论文列表(中英对照)
Paper ID Paper Title 论文标题 8 Learning Uncoupled-Modulation CVAE for 3D Action-Conditioned Human Motio ...
- 深度学习的几何观点:1流形分布定律、2学习能力的上限。附顾险峰教授简历(长文慎入,公号回复“深度学习流形分布”可下载PDF资料)
深度学习的几何观点:1流形分布定律.2学习能力的上限.附顾险峰教授简历(长文慎入,公号回复"深度学习流形分布"可下载PDF资料) 原创: 顾险峰 数据简化DataSimp 今天 数 ...
- 深度学习的几何观点(1) - 流形分布定律
https://www.sohu.com/a/234251750_642762 作者:顾险峰 (最近,哈佛大学丘成桐先生领导的团队,大连理工大学罗钟铉教授.雷娜教授领导的团队应用几何方法研究深度学习. ...
- python 拟合sigmoid曲线_使用python+sklearn实现概率校准曲线
注意:单击此处https://urlify.cn/muQBjy下载完整的示例代码,或通过Binder在浏览器中运行此示例 在进行分类时,人们经常不仅要预测分类标签,还要预测相关的概率.预测概率可以让人 ...
- 基于Spark的机器学习实践 (七) - 回归算法
0 相关源码 1 回归分析概述 1.1 回归分析介绍 ◆ 回归与分类类似,只不过回归的预测结果是连续的,而分类的预测结果是离散的 ◆ 如此,使得很多回归与分类的模型可以经过改动而通用 ◆ 因此对于回归 ...
- Isotonic Regression 校准
转载自: vividfree的博客 使用 Isotonic Regression 校准分类器 1. 引言 对有监督机器学习问题,通常的训练流程包括这样几步:先建立起模型,然后在训练集上训练模型,如果有 ...
- 使用 Isotonic Regression 校准分类器
21 December 2015 1. 引言 对有监督机器学习问题,通常的训练流程包括这样几步:先建立起模型,然后在训练集上训练模型,如果有超参数,还需要在验证集上应用交叉验证以确定超参数,总之最终会 ...
- sklearn API 文档 - 0.18 中文翻译
为什么80%的码农都做不了架构师?>>> 所有函数和类的确切API,由docstrings给出.API会为所有功能提供预期类型和允许的功能,以及可用于算法的所有参数. 原文链接 ...
- 数据库自治服务DAS论文入选全球顶会SIGMOD,领航“数据库自动驾驶”新时代
简介:近日,智能数据库和DAS团队研发的智能调参ResTune系统论文被SIGMOD 2021录用,SIGMOD是数据库三大顶会之首,是三大顶会中唯一一个Double Blind Review的,其权 ...
最新文章
- 数据挖掘-matplotlib、numpy、pandas(二)
- [翻译完成] Pi+Raspbian+CGMiner+TightVNC+WIFI五合一矿机超级教程
- otsu阈值分割算法_图像分割之大津算法(OTSU)
- Android Hanlder综合
- OpenGL shader interpolation 着色器插值的实例
- redis配置实例及redis.conf详细说明
- 算法笔记--字符串hash
- pandas series取值_【小学生级】pandas入门到精通备查表——AI未来系列3
- 门萨智商测试_与Mensa建立更好的匹配解决方案
- (转)Bootstrap 之 Metronic 模板的学习之路 - (4)源码分析之脚本部分
- 《健康报》携手健康之路帮助医院医生免费搭建微官网
- 写Java代码分别使堆溢出,栈溢出
- 基础数据类型转换过程中注意事项
- 简单的转盘抽奖html,一个很简单的H5的转盘抽奖的(主要用的是css3的属性)
- 检查xml格式是否正确
- YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)
- backtrack5实现局域网DNS欺骗
- bzoj4605: 崂山白花蛇草水 权值线段树套KDtree
- MSP430F5529通过nrf905模块实现无线接受和发送功能
- [Python]调用adb抢双十一淘宝喵币