论文写作篇#3:YOLO改进模块的结构框图画法,推荐使用draw.io

前言:改进模块通常分为三种,一种是原封不动、即插即用的模块,一种是稍做改动或者几个已知模块缝合的新模块,还有一种就是全新的原创模块。对于不同的模块,我们一般都需要在Method章节中绘制结构框图,以便更清楚地解释模块的作用原理。限于作者水平,本文仅介绍前两种情况的应对方法。

策略介绍:

对于第一种原封不动、即插即用的模块:

首先,我们需要在CSDN上或者原创者的论文里熟悉这个模块的作用,将其插入合适的位置,并通过实验确定其有效性。我们以ODConv为例:

这是我在CSDN中找到的一张ODConv的结构图,图片说明了ODConv集合了多种注意力,是一种全维度的动态卷积。

【YOLO v5 v7 v8 v9小目标改进】ODConv:在卷积核所有维度(数量、空间、输入、输出)上应用注意力机制来优化传统动态卷积_odconv改进yolo-CSDN博客

 这个图同样也是表达了ODConv的原理,但它的侧重点是四个维度是具体如何作用的。是否要画个人认为需要考虑文章篇幅要求。就简短的会议论文而言,第一张图即可说明ODConv在算法网络中的作用。而期刊论文则需要更加细致的表达,或许可以考虑再画一张详细的图。

我们现在找到了两张原理图,首先要做的就是完全理解图片中每个符号的意义。然后要做的就是进行改画

例如第一张图中,这个部分分布不均匀,可以将其调整一下。其中FC表示全连接层,也可以在这里把全连接层的示意图画进去。再例如这个符号,可以将其改为中间是叉叉的符号,在文中说明即可。最后还可以调整一下内容的松紧,在左侧空白的地方加上图例。如果你还是觉得不够,可以再把所有的框框加上符合论文配色的颜色。

通过这些操作,你就将会获得一幅属于自己的结构图,完全可以将其应用在论文里。

对于第二种缝合模块:

缝合模块也和第一种方法一样,我们需要把你所缝合的几个模块的结构以及原理有一个非常熟悉的了解。然后再通过一个大的框架将他们结合在一起,我们以C2f-OD为例。

C2f-OD就是用前面提到的ODConv替换C2f模块中原本的Conv卷积层:

这就是原本的C2f模块, 直接把原来的Conv改成ODConv即可。这是最简单的一种缝合,或者都不算一种缝合,不过可以提供一个思想指导。另外地,像这种竖着的框图实际上不太适合放在论文里,那么我们就可以通过旋转的方式变成横向的。

软件介绍:

draw.io

 

draw.io的好用程度在我看来完全不也与Visio,甚至比Visio的预设图案更多,极大的便于论文的框图绘制。详细的教程大家可以参考一下这篇博文:

Drawio使用简介(慢慢更新中)-CSDN博客

总之真的非常好用了,现在可以直接搜索下到了(Windows )

ppt

PPT属于那种也是意想不到好用的那种,网上有非常多的神经网络的预制图用的都是PPT的模板,大家可以在xhs或者tb上搜索。如果自己画的画也是非常方便的,只是一定记得输出图片的时候查询一下如何生成分辨率高的图片,这个非常重要!

具体的效果大家可以参考这篇博文,不是打广告

160页PPT神经网络图,颜色形状随意DIY_神经网络绘图模板-CSDN博客

其他的软件还有Visio、Xmind等等,但我个人感觉从获取难易程度和上手效果来看,draw.io和PPT还是我最推荐的两款。 

总结:

本文介绍了两种模块应用策略:一种是直接使用现有模块并根据论文需求修改其结构图,另一种是通过将多个模块结合形成新的模块,提供了具体的操作步骤和示例。博文还推荐了几款绘图工具,特别是draw.io和PPT,因其易用性和丰富的模板,适合用于绘制论文中的神经网络结构图,并强调输出高分辨率图像的重要性。

### 使用 Drawio 绘制神经网络模型结构图 为了帮助理解如何使用 Drawio 创建神经网络模型结构图,以下是详细的指南: #### 准备工作 确保已经安装并打开了 Drawio 应用程序或访问了其网页版本。 #### 添加形状库 进入菜单栏选择 "更多形状..." 并查找机器学习相关的图形组件。这一步骤能够提供专门用于表示不同类型的神经元和连接线的图标[^1]。 #### 构建基础架构 利用找到的专业符号来构建每一层的基础框架。对于输入层、隐藏层以及输出层分别放置相应的节点,并通过箭头或其他形式的连线将其相互关联起来形成完整的拓扑结构[^2]。 #### 自定义样式 调整各部分的颜色、大小和其他视觉属性以区分不同的功能区。例如可以给激活函数赋予特定颜色以便于识别;同时也可以设置边框粗细等参数让整个图表更加美观易读。 #### 注入细节信息 在每层旁边添加文本说明具体的配置情况,比如滤波器尺寸、步幅长度或是其他超参数设定。这样做的好处是可以使读者更清晰地了解到所展示的具体实现方式。 ```python # 示例 Python 代码片段模拟创建简单的两层前馈神经网络描述 class NeuralNetworkDiagram: def __init__(self): self.layers = [] def add_layer(self, num_neurons, label=""): layer_info = {"neurons": num_neurons, "label": label} self.layers.append(layer_info) network = NeuralNetworkDiagram() network.add_layer(784, 'Input Layer') # MNIST 输入图像像素数 network.add_layer(10, 'Output Layer') # 数字分类数量 (0-9) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值