#P1719. 2024.3.19-MY-第二题-图像卷积特征提取

2024.3.19-MY-第二题-图像卷积特征提取

No testdata at current.

写在前面

向来搞不懂这种题。CNN是啥?? 有能提供标准答案和题解的塔子哥有红包奖励。感谢感谢

问题描述

你需要帮助一个银行在其信用卡审批系统中实现图像认证功能。这个功能将依赖于卷积神经网络(CNN)技术来提高安全性。具体来说,你的任务是计算一张图像经过一次卷积操作后的像素矩阵的元素总和,以及卷积后得到的特征图的维度。

输入格式

输入是两个list

  1. 一个二维的list,表示图像的像素矩阵,例如: [[[0, 1, 0, 0, 2], [1, 2, 1, 2, 1], [1, 0, 1, 0, 0], [0, 1, 2, 0, 0], [1, 1, 0, 0, 2]]] 这是一个5x5的像素矩阵。
  2. 一个长度固定为6的list,表示卷积操作的相关参数,例如: [0, 0, 3, 3, 0, 1] 依次为padding的上下左右四个方向的大小、卷积框的宽度和高度、填充数(padding size)和卷积步长(stride)。

输出格式

输出两个整数,分别表示:

  1. 第一个整数表示在当前索引 ij 下,图像经过卷积框操作以后生成的数组(也就是卷积后的特征图的一个局部区域),其所有元素相加得到的总和。
  2. 第二个整数表示经过卷积操作后输出的特征图(feature map)的维度。假设输出的特征图是正方形的,那么只需要提供一个维度值,表示宽度和高度相同。

样例输入

[[[0, 1, 0, 0, 2], [1, 2, 1, 2, 1], [1, 0, 1, 0, 0], [0, 1, 2, 0, 0], [1, 1, 0, 0, 2]]]
[0, 0, 3, 3, 0, 1]

样例输出

7 3

补充说明

在编程实现时,你可以使用 Python 3 中的第三方库,例如 numpy、scipy、pandas 和 scikit-learn。建议使用 sys.stdin 读取输入,结合 for 循环和 eval 函数来解析输入数据。确保严格按照输出要求格式化你的返回值,以确保准确性。