从 Dlib CNN 中提取图像

Extract image from Dlib CNN

我正在用 C++ 中的 Dlib(19.4) 实现 CNN。 我的目标是可视化卷积。

我的代码是:

using my_net_type = con<3, 5, 5, 5, 5, input<array2d<rgb_pixel>>>;
my_net_type net;
array2d<rgb_pixel> img;
array2d<rgb_pixel> out_img;
load_image(img, "my_image.bmp");
out_img = net(img) // gives some type error can't convert dlib::tensor to array ..
image_window my_window(out_img, "Convolved Image");
my_window.wait_until_closed();

如何提取经过 CNN 处理的图像? 如何在 Dlib 中将张量转换为二维数组?

找到解决办法。 通过将张量转换为矩阵。

load_image(img, "my_image.bmp");
long n_rows, n_columns;
n_rows = net(img).nr();
n_columns = net(img).nc();
image_window my_window(mat(net(img),n_rows,n_columns), "Convolved Image");

注意:如果有超过3个特征图,绘制图像是没有意义的。