图像处理中的卷积直觉


9

我已经阅读了许多有关图像处理中卷积的文档,其中大多数都涉及卷积的公式和一些其他参数。没有人解释对图像进行卷积背后的直觉和真正含义。例如,图上的直觉使它更线性。

我认为该定义的简短摘要是:卷积乘以图像和内核之间的重叠平方,然后再将其求和并放入锚点。这对我来说毫无意义。

根据这篇有关卷积的文章,我无法想象为什么卷积可以做一些“令人难以置信的”事情。例如,此链接最后一页上的线条和边缘检测。只需选择适当的卷积核即可取得很好的效果(检测线或检测边缘)。

任何人都可以就如何做到这一点提供一些直觉(不必一定要有一个整洁的证据)吗?

Answers:


13

我认为最简单的卷积方法是根据附近像素的权重将像素值更改为新值的方法。

很容易理解为什么Box模糊:

_____________
|1/9|1/9|1/9|
|1/9|1/9|1/9|
|1/9|1/9|1/9|
-------------

作品。对该内核进行卷积与遍历照片的每个像素相同,并使该像素的新值等于其自身和周围八个像素的平均值。

如果理解了这一点,那么可以看到为什么高斯模糊起作用了:

_____________________
|.01|.04|.07|.04|.01|
|.04|.16|.26|.16|.04|
|.07|.26|.41|.26|.07|
|.04|.16|.26|.16|.04|
|.01|.04|.07|.04|.01|
---------------------

基本上是相同的事情,除了平均权重更强地指向更接近的像素。定义权重随着您进一步远离而下降的速度的函数高斯函数,但是您无需知道函数的详细信息即可将其用于模糊处理。

如果您凝视足够长的时间,则链接文章中的边缘检测内核也很有意义:

__________
|-1|-1|-1|
|-1|.8|-1|
|-1|-1|-1|
----------

基本上是说任何像素的值都从其原始值的8/9开始。然后,将其周围的每个像素的值相减,得出新的像素。

因此,如果一个像素的值很高,并且周围的像素值也很高,它们将相互抵消。如果像素的值很低,并且周围的所有像素也都很低,它们也会相互抵消。如果像素的值很高而周围的像素值很低(例如在对象边缘的像素中),则新像素值将很高。


6

思考卷积/互相关的一种方法是,好像您正在数据中搜索某些信号一样。数据看起来越像内核,结果值将越高。实际上,我采用了与内核相反的方法,即在互相关中,但是基本上是同一回事。

例如,假设您要在1d数据中寻找方向性步骤。

内核可能是

[-1 1]

并将其应用于数据

[2 2 2 2 2 1 1 1 1 1]

结果将是

[0 0 0 0 0 1 0 0 0 0]

它将检测步骤的位置。较大的步骤将产生较大的值。

之所以起作用,是因为将模式乘以内核中显示的模式会得到很高的价值。

边缘检测(或任何其他模式检测)以相同的方式工作,例如在内核中

[-1 2 -1]

如果这样,也可以考虑扩展到更高的尺寸。

这应该至少使您对卷积图像处理的某些应用有直觉。


4

如果您认为卷积有点难以理解,建议您开始搜索应用于图像处理的数学形态学。数学形态学背后的一个大想法是,您将做一个非常接近卷积的操作,以“改变”卷积。图像的形态,但保留拓扑信息,这样,您可以制作站立的人,骨架的图像,这几乎是棍子人,尝试应用腐蚀操作,然后进行扩张操作,然后打开/ close操作,一旦开始,您将开始了解对图像的每个像素应用蒙版可以做什么,以及如何在大型场景下使用它们来获得出色的效果(例如找到一个点来使用上一次腐蚀来开始某件事)您了解数学形态学,卷积会有点困难,因为它基于演算,并且在积分之后定义,但是仍然很容易理解很多卷积,例如中值模糊,高斯模糊,锐化,边缘检测,拉普拉斯,梯度等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.