图像的卷积和池化操作
离散域体积积分是连续函数卷积及离散函数卷积。 因为在我们的实际工作中大多数情况下是数字化的场景,所以离散域的卷积操作是必要的。 对于两个离散函数f和g,卷积运算将连续函数的积分操作转换为等价求和。
卷积核
图像的话,它属于二维数据。 它对应于2D函数。 可以用过滤器过滤图像。 这个过滤器是卷积核。 一般来说,筛选器的每个维度可以包含两到五个元素,并且处理效果因筛选器而异。
对于图像,特定的卷积核处理将提供与原始图像相同的图像,但可以突出图像中的特定元素(如线和边)或隐藏图像中的特定元素。
照片的卷积
我们定义了Identity、Laplacian、左求解器、上解器、蓝牙五个过滤器。 都是3 x 3的卷积核,不同的卷积核强调原始图像的不同特征属性。
Blur滤波器相当于计算3x3内相邻点的平均值。 身份过滤器只返回原始的像素值。 Laplacian滤波器是用于强调边缘的微分滤波器。 左求解滤波器用于检测水平边缘,上求解滤波器用于检测垂直边缘。
kernels=有序光盘((identity ) : ) [ 0,0,0 ],[0.1 .0.],[0.0 .0.],
: [1.2 .1.]、[0.0 .0.]、[-1 .-2.-1.]、
左求解器: [1.0 .-1.],[2.0 .-2.],[1.0 .-1.],
: [1.2 .1.]、[0.0 .0.]、[-1 .-2.-1.]、
:
[1./16 .1./8.1./16.]]}
defapply 3x 3内核(图像,内核) :
new image=NP.array (图像) )。
表单范围(1,image.shape[0] - 2 ) :
forninrange(1,image.shape[1] - 2 ) :
newelement=0
财富(0,3 ) :
财富(0,3 ) :
newelement=newelementimage [ m-1 I ] [ n-1 j ] *科内尔[ I ] [ j ]
新图像=新元素
返回新影像
arr=imageio.im读取(数据/dog.jpg ) (:0 ).as类型(网址.浮点) ) ) ) ) ) )。
谷歌(1)。
j=0
位置=[ 321,322,323,324,325,326 ]
for key,kernels.items () :的值
PLT.subplot (位置[ j ] )。
out=应用3x 3内核(地球,值) ) ) ) ) ) ) ) ) ) ) )。
PLT.im show (输出,映射=获取映射) '二进制_ r ' )
j=j 1
plt.show () )
复制代码
在生成的图表中,第一个子图像是未更改的图像。 由于这里使用的是Identity滤波器,因此会继续进行位置边缘检测、水平边缘检测、垂直边缘检测,最后进行模糊运算。
照片池化
池化操作主要有一个核心减少参数的效果,比较有名的池化操作是最大值(最大值池化)、平均值)平均值池化)、最小值)最小值池化)。 这减少了从前一个网络层进入的信息量,降低了复杂性,同时保留了最重要的信息元素。 换句话说,它构建了信息的紧凑表示形式。
应用2 x2轮询(图像,条纹) :
newimage=NP.zeros((int ) image.shape[0]/2 ),int ) image.shape[1]/2 ) ),NP .浮点32 ) )。
表单范围(1,image.shape [0]-2,2 ) :
forninrange(1,image.shape [1]-2,2 ) :
新图像[整数(m/2,整数)整数/2]=整数.最大值]新图像[ m :米2,n:n 2]
是返回(新图像)
arr=imageio.im读取(数据/dog.jpg ) (:0 ).as类型(网址.浮点) ) ) ) ) ) )。
谷歌(1)。
美国广播公司(121 ) )。
PLT.im show (地理位置,地理位置=地理位置) '二进制_ r ' )
out=应用2 x2轮询(arr,1 ) ) )。
PLT.subplot(122 ) )。
PLT.im show (输出,映射=获取映射) '二进制_ r ' )
plt.show () )
复制代码
出现了图像池化前后的一些差异,最终生成的图像分辨率低,整体像素数约为四分之一。
github
github.com/sea-boat/De…
---------建议阅读
我的开源项目总结(机器学习、NLP、网络IO、AIML、mysql协议、chatbot ) ) ) )。
为什么要写《Tomcat内核设计剖析》
我的2017篇文章总结——机器学习篇
我的2017篇文章总结了——Java和中间件
我的2017篇文章总结——深度学习篇
我的2017篇文章总结——JDK源代码篇
我的2017篇文章总结——自然语言处理篇
我的2017篇文章总结——Java同时编辑