标签: spline

Opencv 人脸变形

我正在寻找一种解决方案,以便将给定的面孔变形为另一张面孔。我的任务是完美匹配他们的特征空间,以便执行更好的人脸识别。

SIFT/SURF 对我没有帮助,我尝试过对地标进行薄板样条处理,但生成的面变形太大(也许我需要更多点)。

我想获得类似这样的解决方案,有人知道获得这些积分的方法吗?

c++ opencv face-recognition morphing spline

1
推荐指数
1
解决办法
2572
查看次数

R中的3D样条曲线

说我有一个看起来像这样的数据集:

structure(list(z = c(8.98702764, 5.57518482, 6.98490607, 5.49062004, 
6.29710557, 2.94919278, 6.92608989, 12.7289712, 14.40415287, 
10.17410763, 11.668976, 10.591285, 11.99862788), y = c(97.6744227499797, 
137.901039454029, 121.13581870045, 104.862400564151, 100.555349411331, 
76.1737610946716, 73.0655202440326, 56.9068174248469, 54.9673280956043, 
50.3012220744035, 44.659247762082, 56.0656699448102, 52.8735636084187
), x = c(5.9213978165422, 5.95607210189104, 5.9234210229403, 
5.99177184112492, 6.01421304577101, 6.11577782296786, 6.12640154858096, 
6.29193626680413, 6.34553237084864, 6.37503341918741, 6.47851248698575, 
6.46627091526568, 6.44897610832035)), .Names = c("z", "y", "x"
), class = "data.frame", row.names = c(NA, 13L))

          z         y        x
1   8.987028  97.67442 5.921398
2   5.575185 137.90104 5.956072
3   6.984906 121.13582 5.923421
4   5.490620 104.86240 5.991772
5 …
Run Code Online (Sandbox Code Playgroud)

3d plot curve r spline

1
推荐指数
1
解决办法
1416
查看次数

使用 mgcv 在 R 中进行粗略薄板样条拟合(薄板样条插值)

背景

我试图复制《统计学习简介》一书中的图 2.6

粗略的薄板样条拟合图 2.3 中的收入数据。这种拟合使训练数据的错误为零。

在此输入图像描述

到目前为止我尝试过什么?

我尝试复制之前的图 2.5,平滑的薄板样条拟合,不确定是否成功。

income_2 <- read.csv("http://www-bcf.usc.edu/~gareth/ISL/Income2.csv")
library(mgcv)
model1 <- gam(Income ~ te(Education, Seniority, bs=c("tp", "tp")), data = income_2) 
x <- range(income_2$Education)
x <- seq(x[1], x[2], length.out=30)
y <- range(income_2$Seniority)
y <- seq(y[1], y[2], length.out=30)
z <- outer(x,y,
           function(Education,Seniority)
                     predict(model1, data.frame(Education,Seniority)))
p <- persp(x,y,z, theta=30, phi=30,
           col="yellow",expand = 0.5,shade = 0.2,
           xlab="Education", ylab="Seniority", zlab="Income")
obs <- trans3d(income_2$Education, income_2$Seniority,income_2$Income,p)
pred <- trans3d(income_2$Education, income_2$Seniority,fitted(model1),p)
points(obs, col="red",pch=16)
segments(obs$x, obs$y, pred$x, pred$y)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

双重问题

  1. 我是否用gam创建了一个适当的光滑薄板?我正在使用 …

interpolation r spline gam mgcv

1
推荐指数
1
解决办法
2632
查看次数

使用样条插值而不超过下一个值 R

我有一个累积数据的数据集。我试图插入一些缺失的值,但在某些时候我得到了更高的值。这是我的数据的示例:

dat <- tibble(day=c(1:30),
              value=c(278, 278, 278, NA, NA, 302, 316, NA, 335, 359, NA, NA,
                      383, 403, 419, 419, 444, NA, NA, 444, 464, 487, 487, 487, 
                       NA, NA, 487, 487, 487, 487))
Run Code Online (Sandbox Code Playgroud)

我的数据集很长,当我使用 smooth.spline 插入缺失值时,我得到的值大于下一个观察值,考虑到我正在处理累积的数据,这是相当荒谬的。这是我得到的输出:

value.smspl <- c(278, 278, 278, 287.7574, 295.2348, 302, 316, 326.5689, 335, 
359, 364.7916, 377.3012, 383, 403, 419, 419, 444, 439.765, 447.1823, 
444, 464, 487, 487, 487, 521.6235, 526.3715, 487, 487, 487, 487)
Run Code Online (Sandbox Code Playgroud)

平滑样条

我的问题是:您能否以某种方式为插值设置边界,以便结果可靠?如果是这样,你怎么能做到呢?

interpolation r spline

1
推荐指数
1
解决办法
290
查看次数

平滑的3D样条

REF:曲线拟合3D数据集

有谁知道如何使用3D控制点构建平滑的3D样条线

如果查看上面提供的参考,红点将作为样条曲线的控制点(它应该是3D点云的最佳拟合表示).

3d geometry spline

0
推荐指数
1
解决办法
2053
查看次数

C++ Cubic Spline轨迹

我正在编写一个C++程序来为一组点生成三次样条轨迹.这些点不需要沿x轴排序.例如,它可能是一个圆圈等.

我在网上找到了一些库,例如,ALGLIB库或这里的类https://www.marcusbannerman.co.uk/index.php/home/42-articles/96-cubic-spline-class.html,但所有这些库都对数据点进行排序.我不需要这个,因为我想要生成的东西就像一个圆圈.反正有没有实现这个目标?

c++ math spline polynomial-math

0
推荐指数
1
解决办法
2322
查看次数

仅绘制拟合的样条线而不绘制数据点

我检查了我的参考文献,在我看来,为了适应x和y的数据集,许多教程需要首先绘制x和y,然后拟合的线是图.正常程序如下:

## Calculate the fitted line
smoothingSpline = smooth.spline(tree_number[2:100], jaccard[1:99], spar=0.35) 
plot(tree_number[2:100],jaccard[1:99]) #plot the data points
lines(smoothingSpline) # add the fitted spline line.
Run Code Online (Sandbox Code Playgroud)

但是,我不想绘制tree_number和jaccard,而是我只想在绘图中绘制拟合的样条线,我该怎么办?

r spline

0
推荐指数
1
解决办法
3602
查看次数

将三次贝塞尔曲线转换为基数样条并返回

我读过许多文章,描述了如何将基数或正则样条曲线转换为三次贝塞尔曲线,例如曲线。

有没有办法做相反的事情,即将一组三次贝塞尔曲线转换为基数样条曲线?例如,我们知道每个曲线的端点都在样条线上。

我正在寻找的是一种在信息最少的情况下往返两种表示形式的方法。同样理想地,解应该是稳定的,以便从三次贝塞尔曲线=>基数样条=>立方贝塞尔曲线=>基数样条应在第二次操作后产生相同(或几乎相同)的曲线。

geometry bezier 2d spline

0
推荐指数
1
解决办法
862
查看次数

R的自然三次样条回归

我似乎splines::ns()在R中的函数有问题.

我创建了一个简单的虚拟问题

dat <- data.frame(t <- seq(0, 6, .01),
                  x <- rnorm(length(t), sd = 1),
                  y <- 5 + t - x^2 + rnorm(length(t), sd = .33))

lm(y ~ t + I(x^2), data = dat)

library(splines)
lm(y ~ t + ns(x, knots = c(0), Boundary.knots = c(-3, 3)), data = dat)
Run Code Online (Sandbox Code Playgroud)

虽然第一个模型工作正常,但第二个模型无法正确识别拦截.我在这里错过了什么?

regression r spline lm cubic-spline

0
推荐指数
1
解决办法
3633
查看次数

R中的单调样条

我正在尝试使用R 中的 spline2 包来构建单调样条。

我在评估模型的自变量新值时遇到了麻烦。一般来说,我无法掌握“预测”的 R 处理及其与 spline2 的关系,以及如何使用生成的 bs 对象。

我试图遵循这个使用 spline1 的例子。我的数据位于名为 BRIyII 的数据框中,具有自变量 t 和因变量 P,因此:

plot(BRIyII$t,BRIyII$P)
Run Code Online (Sandbox Code Playgroud)

产量: 在此处输入图片说明

所以我这样做:

knots=c(9)
myMat=mSpline(BRIyII$t, knots = knots, degree = 3, intercept = TRUE)
mylm=lm(BRIyII$P~myMat)
Run Code Online (Sandbox Code Playgroud)

现在,如果我们:

pr = predict(mylm,data.frame(BRIyII$t))
points(BRIyII$t,pr,col = "red")
Run Code Online (Sandbox Code Playgroud)

它产生: 在此处输入图片说明

所以我的问题是:

1-由于最右边的预测值(红点)低于其左边的一个,我是否误解了 m 样条的“单调”性质?

2- 如何评估 BRIyII$t 中定义的值以外的样条曲线?我尝试了几种东西的组合,但我缺乏 R 语法知识。理想情况下,我想做类似的事情:

newdata=seq.int(0,41.5,0.1) 
Run Code Online (Sandbox Code Playgroud)

r spline bspline cubic-spline

0
推荐指数
1
解决办法
1474
查看次数

R中的三次样条插值

我正在尝试在R中实现三次样条函数.我已经使用了R库中可用的样条曲线,smooth.spline和smooth.Pspline函数,但我对结果并不满意所以我想说服自己通过"自制"样条函数得出结果的一致性.我已经计算了三次多项式的系数,但我不知道如何绘制结果......它们似乎是随机点.您可以在下面找到源代码.任何帮助,将不胜感激.

x = c(35,36,39,42,45,48)
y = c(2.87671519825595, 4.04868309245341,   3.95202175000174,   
  3.87683188946186, 4.07739945984612,   2.16064840967985)


n = length(x)

#determine width of intervals
h=0
for (i in 1:(n-1)){
   h[i] = (x[i+1] - x[i])
}

A = 0
B = 0
C = 0
D = 0
#determine the matrix influence coefficients for the natural spline
for (i in 2:(n-1)){
  j = i-1
  D[j] = 2*(h[i-1] + h[i])
  A[j] = h[i]
  B[j] = h[i-1] 

}

#determine the constant matrix C
for (i in 2:(n-1)){
  j …
Run Code Online (Sandbox Code Playgroud)

plot r spline cubic

-2
推荐指数
1
解决办法
4529
查看次数

WPF样条曲线图通过模板线系列

我的应用程序要求创建样条图而不是线系列图。我知道 WPF 不直接提供样条序列。

如何自定义(模板)线系列图来显示曲线图,我不想使用任何第三方付费工具。

谢谢

wpf charts spline

-2
推荐指数
2
解决办法
1516
查看次数