用于数字成像的双三次插值技术
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
共有两种常见的插值算法:自适应和非自适应。自适应方法取决于它们所插值的内容,而非自适应方法则平等地对待像素。在专业的专业图像编辑软件(例如Photozoom Pro和Adobe Photoshop)中都使用了自适应算法。非自适应算法包括以下内容:最近邻,双线性,双三次,样条等。通常,双三次插值可使用Lagrange多项式,三次样条或三次卷积算法完成。
当我们进行插值时,我们是从已知数据中估计未知数据。如果我们使用DSLR以16 MP的速度拍摄图像,则根据方向(水平与垂直),已知数据为4928 x 3264像素(或3264 x 4928像素)。当我们想要放大图像时,我们基于周围像素的值来近似新值。例如,如果要将6000 x 4000像素的图像大小增加到24 MP,则将添加以前不存在的更多像素。那是额外的8 MP。
由于我们要添加而不是减去像素,因此细节可能会丢失。为了保留清晰度和细节,必须将每个像素与其周围的像素进行近似,以获得最接近的值。就像复制像素以通过放大来填充图像中创建的空间一样。因此,这些值必须与其最近的像素相邻点近似或相同。放大时,您需要向图像添加800万个新像素以填充空间。它们只需要足够准确即可重新创建细节并保持清晰度以保持图像清晰。
考虑以下网格。
这是一个(4,0)x(0,4)正方形,每个正方形代表一个像素。它总共有25个像素(5 x 5)。黑点表示要插值的数据,总计25个点。颜色表示函数值,因此在此示例中,我们看到它们不是径向对称的。这样可以在几乎没有图像伪影的情况下进行更平滑的重采样。因此,通常选择双三次插值而不是双线性或最近邻插值,但是处理图像需要更多时间。如果质量值得关注,那么三次立方也是最佳选择。双线性插值处理2x2(4个像素)的正方形,而双三次插值处理4x4(16个像素)的正方形。假设我们使用以下函数:
(0,0)、(1,0)、(0,1)、(1,1)这是单位正方形的4个角。可以表示为以下内容:
这需要确定p(x,y)的16个系数的值。该过程还有更多步骤,但这是基本公式。这就是创建2D图像的插值曲面的原因。这是关于获取网格上p(x,y)上的点的值并对其进行插值以近似其周围点的值的全部操作。
如果大家不需要编代码,则始终可以使用具有预建功能的软件进行图像编辑。在Photoshop中对图像重新采样时,将获得双三次插值技术。从菜单中:
Image -> Image Size
我们将看到一个对话框,从中可以选择所需的重采样选项。如果不追求质量,但可以选择双线性和最近邻,但可以加快缩放比例或缩小比例。
Photoshop中的图像重采样大小对话框(来源Adobe Creative Cloud)
我们可以更改像素数,但是它也有局限性。双三次插值在高分辨率下效果很好,但是当您超出24 MP超高分辨率时,效果可能会不太好。这是因为添加的像素越多,需要保留的细节越多。该算法只是无法按照原始图像分辨率保留所有内容。
大多数情况下,使用的是压缩的JPEG图像。如果压缩级别更高以节省空间,则可能已经丢失了详细信息。否则,请选择最低的压缩级别以保留更多图像细节以进行放大。缩小尺寸时,它有很大不同。与减少像素相比,减少像素实际上具有更多的细节和清晰度。这是因为重新创建细节比仅删除细节更困难。缩小尺寸后,最大的好处就是质量看起来仍然不错(例如8K到2K),因为没有近似的或人工的细节来填补空间。
双三次插值不仅用于缩放图像,而且还用于视频显示。尽管它们比其他2D技术更优越,但它们确实有一些缺点。过冲(光晕),削波,响声伪影和锐度有时也会存在一定问题。这就是为什么多次使用三次插值法效果较差。现在,有诸如SRCNN(超分辨率卷积神经网络)或SRGAN(超分辨率生成对抗网络)之类的超分辨率技术在保留清晰度方面做得更好。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~