网站首页 > 技术教程 正文
作者:Ishan Bhatt
编译:ronghuaiyang
导读
可视化通常是开发人员解释他们的模型的唯一方法。
如果你对使用卷积神经网络(CNN)来解决计算机视觉(CV)问题感兴趣。如果你使用的是分类、检测或分割模型,请继续。理想情况下,我在这里描述的技巧(用代码)应该适用于任何使用卷积特征提取器(CONV-FE)的深度学习(Deep Learning, DL)模型。(“Feature Extractor”有时也被称为“backbone”或“Encoder”)
随着CNN越来越深入和广泛,可视化通常是开发人员解释他们的模型的唯一方法。无论你是试图找出模型不能工作的原因,还是试图验证模型的性能,还是试图为你的管道选择最佳的 CONV-FE,可视化通常是最接近教科书上的解决方案的替代品。
今天我们将看到一个巧妙的技巧来可视化化任何CV任务的CONV-FE。我们将使用带有TensorFlow后台的Keras来演示这个技巧。这个技巧可以用来“调试”没有正确训练的模型,或者“检查”/“解释”训练好的模型。
对于新读者来说,值得一提的是架构和CONV-FE之间的区别。SSD, YOLO和F-RCNN是当今一些流行的目标检测架构。正如你所知道的,架构是具有某种形式的灵活性的模板,用户可以根据自己的用例选择调整架构。对于新读者来说,值得一提的是架构和骨干之间的区别。大多数架构都将CONV-FE视为插件。一些流行的CONV-FE是 VGG-16、ResNet50和MobileNetV2。通常可以看到,使用特定体系结构构建的模型的性能(包括速度和准确性)将受到很大的影响。出于这个原因,实践者提到了他们在模型名称本身中使用的 VGG-16。一个F-RCNN(ResNet50)是一个模型与F-RCNN论文中描述的架构,使用ResNet50 CONV-FE构建。换句话说,F-RCNN(MobileNetV2)和F-RCNN(vg -16)遵循相同的网络架构,但使用不同的CONV-FEs。因此,我们可以期望每个系统都有不同的性能。CONV-FEs也有他们的架构,这就是为什么我们有VGG-16和VGG-19的原因。
Figure 1:通用目标检测模板,适合YOLO, F-RCNN, SSD等。
图1显示了一个基于DL的目标检测系统的高级架构。众所周知的体系结构如YOLO、F-RCNN和SSD都可以用这个模板。[W, H, 3]表示图像的输入宽度和高度,也表示输入图像有3通道。[w, h, N]表示转换函数的输出维数。需要注意的是,由于N是特征提取器最后一层CONV层中滤波器的数量,所以通常是一个很大的数量(对于VGG-16, N = 512)。w和h几乎总是比w, h小,因为在今天的大多数架构中,CONV块通常后面跟着池化层。
如上所述,对于我们的CV系统而言,选择一个对 CONV-FE是至关重要的。然而,问题在于N的值很大。不可能想象一个所有维度都任意大的三维张量!这就是我们今天要解决的问题。我们马上开始吧。
我们先选择一个CONV-FE,用VGG-16试试。
一旦模型被加载,我们需要做一些脚本来加载我们想要尝试我们的技巧的图像。我在这里不描述这些步骤,因为它们在你的特定用例中会有很大的不同。现在,我们只假设所有所需的图像都存储在工作目录中名为“images”的目录中。现在让我们使用这个技巧!
你将看到类似于下面的输出(这些也将保存在直接在工作目录中创建的“results”目录中)
第二列显示了任意通道可以在由CONV-FE产生的输出特征映射中实现的像素级最大值。第三列显示了所有通道的平均值。我们说,如果我们的结果中的第二列和第三列显示出清晰的特征分离,那么CONV-FE适用于我们的数据集。
如我们所见,1和2的结果非常好,但3和4的结果表明,如果你有全屏PCB图像或穿着传统服装的印度男人的图像,当前的模型并不真的适合。但是,如果你的数据集包含野生动物或汽车/车辆的图片,那么这个模型似乎是一个不错的选择。
现在,让我们做一个小小的调整。根据图1,输出特性映射可以有任意数量(N)的输出通道。这是我们无法可视化和比较CONV-FEs的主要原因。我们使用常见的聚合技术,即求和和平均,来获得特征图质量的总体近似。我没有沿着通道使用像素级的中间值进行聚合。
Github 代码链接: https://github.com/IshanBhattOfficial/Vizualize-CONV-FeatureExtractors
—END—
英文原文:https://medium.com/analytics-vidhya/how-to-select-the-perfect-cnn-back-bone-for-object-detection-a-simple-test-b3f9e9519174
猜你喜欢
- 2024-10-20 Φ I L O S O Φ 葡萄酒品牌包装设计 via:Backbone Branding
- 2024-10-20 YOLO算法改进Backbone系列之MogaNet
- 2024-10-20 YOLO算法改进Backbone系列之:Fcaformer
- 2024-10-20 YOLO算法改进Backbone系列之:Dfformer
- 2024-10-20 YOLO算法改进Backbone系列之:EffificientFormer
- 2024-10-20 YOLO算法改进Backbone系列之:PVTv2
- 2024-10-20 食品包装设计分享 | Backbone Craft Beer国外英文字体精酿啤酒
- 2024-10-20 YOLO算法改进Backbone系列之:ParC-Net
- 2024-10-20 Backbone的优秀设计作品 | 水果 果汁 插画 手绘 创意 设计
- 2024-10-20 索尼参与开发PS版手机手柄公布 售价99.99美元
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)