外界称为人工智能,行业内还是单独称机器学习,或者潜在特指的深度学习技术,已经逐渐改变了我们的生活,也改变了创新创业团队的idea。众所周知,在每年大家提交的PPT和项目计划书中,都或多或少的使用AI技术创造了巨大的价值和财富,尽管AI省赛的举办都无人知晓,Kaggle和天池等竞赛也几乎无人问津,但还是反映了在学校教学改革和学术鼓励政策的引导下,大家优秀的学术科技创新能力。
深度学习在计算机视觉(Computer Vision)方向里也有使用,目前CV方向各子任务的SOTA(State Of The Art)模型大多都使用了图像卷积及其衍生技术。那么什么是图像卷积呢?
篇幅所限,我们省略诸多数学定义,在这里直接给出一个简要介绍和计算公式:
我们都知道,图像由像素组成,图像可以使用矩阵表示,让每一个矩阵的元素为一个数值,这个数值表示对应坐标的像素值,对于图像的操作都可以转变为矩阵运算。
图像卷积其实是两个矩阵之间的运算,一个是图像的矩阵,一个是卷积核(kernel),我们假设矩阵是阶方阵,卷积核是
阶方阵,图像卷积运算结果也是一个方阵,所谓的图像卷积,就是这个公式:
图中演示的就是
1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0 1
例如图中如果当前区域图像的元素是:
1 1 1 0 1 1 0 0 1
对于图像卷积运算,实际上有三种模式:VALID、FULL、SAME,对于每个元素的计算方式都如上所述,但是计算的边界有区别,下面给出边界的状态,橙色是图片image,蓝色是卷积核,灰色是重合区域,白色部分元素的值视为。
VALID模式:当卷积核全部在image里面的时候,进行卷积运算
FULL模式:从卷积核和image刚相交开始做卷积
SAME模式:当卷积核的中心(K)与image的边角重合时,开始做卷积运算。
输入第一行为两个整数
,
表示图像image阶数和卷积核阶数,他们都是方阵。
接下来
行,每行
个用空格隔开的整数,表示image的数据
接下来行,每行
个用空格隔开的整数,表示卷积核的数据
输出三个矩阵,依次为VALID、FULL、SAME模式的图像卷积运算结果。每个矩阵设阶数为
,那么输出
行,每行是空格分隔的整数,表示元素值。
按题目中给定计算方式来计算即可,与实际应用的卷积运算的确略有区别,但这里不考虑。