我的云文档怎么没有了(我的云文档怎么找)
581
2022-05-29
一、概述
二、核心算法(一维)
其中 p 和 p + 1 索引邻近的样本(或像素)。 是关于 p 的前向差分形式的梯度。# { } 是计数操作符,输出 p 的数量满足,即 L0 范数的梯度。 不依赖梯度大小,因此如果一条边只改变其对比度,则不会受其影响。这个离散计数函数是我们方法的核心。
表示结果中存在 k 个非零梯度,。在该目标函数的约束下,整体形状与原始形状保持一致,因为强度变化必须沿显著边缘出现,以尽可能减少总能量。显然,把边缘放在其他地方只会增加(目标函数的)成本。这种平滑效果明显不同于以往的边缘保持方法。k 越大,得到的近似值越小,但仍然是最显著的对比度。
作为直接控制 重要性的权重,实际上是一个平滑参数, 越大,边缘就越少。
三、推广到二维
在二维图像表示中,用 I 表示输入图像,用 S 表示计算结果。梯度 表示对于每个像素 p 计算其相邻像素之间在 x 和 y 方向上的差分。
梯度的度量表示为:
它计算了 p 的幅值 不为零的个数。
根据这个定义,S便可通过下式求解得到
在实际计算中,彩色图像的梯度大小|∂Sp |被定义为梯度大小在rgb三个通道的总和。
四、目标函数的求解
其伪代码如下:
五、具体应用场景
1)边缘的提升和提取(Edge Enhancement and Extraction)
2) 图像的抽象和铅笔画特效(Image Abstraction and Pencil Sketching)
3) 剪贴画瑕疵的修复(Clip-Art Compresion Artificat Removal)
4) 细节放大(Detail Magnification)
5)色调映射(Tone Mapping)
六、对比实验的结果
测试图片为 640*640 的下图:
基于原始的 OpenCV 的实现,执行时间为:
Github 上错误的 CUDA 实现(在 beta_max = 1e5 的条件下):
时间从 2167ms -> 400ms,性能提升了 5.4 倍 !【我的笔记本显卡是 GTX970M,古老的 maxwell 架构】
GPU 参数
以上是初步的实现,性能经过进一步优化之后,总耗时减少到 139.6ms(不包括从磁盘读取图片的时间和开辟内存的时间【多张图像可以重复利用】、 host <-> device 之间的拷贝时间、显示时间)
ps: 谢绝白嫖
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。