☰
医学图像分割论文统一符号与LaTeX排版规范
2026/10/3 10:05:46 网站建设 项目流程

最近帮几位师弟改医学图像分割方向的投稿返修稿,发现一个特别普遍的问题:模型结果都不错,但符号和公式排版乱得一塌糊涂。同一篇论文里,真阳性一会儿是TP,一会儿是true positive;Dice系数公式里的两个变量,前面是S和P,后面又变成了G和O;损失函数一会儿\mathcal{L},一会儿直接用L。审稿人对方法本身没提多少意见,反而在符号定义上反复打问号。深度学习方向的论文本来就公式密集,医学图像分割又涉及Dice、IoU、Hausdorff距离、各种损失函数这些记号和网络结构描述,一旦大家各写各的,返修几乎是必然的。

这篇文章把我自己在实际写作中沉淀下来的一套统一符号、公式规范和LaTeX配置完整分享出来,末尾附可直接套用的模板核心代码和投稿前检查清单。零基础也可以直接照抄,有经验的也可以看看哪些地方还能再省心一点。

1. 为什么医学图像分割论文的符号问题,比模型还容易劝退审稿人

1.1 审稿人最反感的符号混乱长什么样

先说一个我真实遇到过的案例。一篇投稿论文的Method部分,模型输出用(\hat{y})表示,到了Experiments部分又写成(P_{pred}),再往后的消融实验表格里又变成Output。同一个东西,三种写法。审稿意见里有一句特别直接:“The notation should be consistent throughout the manuscript.” 这种评价其实已经算客气了,更常见的是审稿人直接怀疑你实验数据是哪里抄来的。

医学图像分割论文的符号混乱几乎是重灾区。我总结了一下,主要集中在这几类:

  • 预测结果命名不统一:(P)、(\hat{S})、(Out)、(Pred)、(y_{pred})混用。
  • 金标准命名不统一:(S)、(G)、(Label)、(GT)、(Ground\ Truth)混用。
  • 指标符号不统一:Dice系数一会儿(\mathrm{DSC}),一会儿(\mathrm{Dice}),一会儿(D);空间距离指标Hausdorff距离也有(\mathrm{HD})、(H)、(\mathrm{HD}_{95})三种。
  • 像素和体素不分:2D用pixel,3D用voxel,但很多人在表述时全用pixel,到了公式下标又用(v)表示体素,上下文对不上。
  • 损失函数符号混乱:交叉熵用(L_{ce})、(\mathcal{L}_{CE})、(CE)交替出现。

表面上看这些都是小事,但审稿人一天要看十几篇稿子,遇到这种论文,第一印象就是作者不严谨。深度学习的文章,模型做得好不好另说,写作的规范性直接反映科研态度。

1.2 医学图像分割论文为什么特别容易踩这个坑

这个方向的论文天然有符号密集的属性。

  • 医学图像分割是像素级/体素级预测任务,所以公式里必须有"逐体素求和"这类操作,比如(\sum_{i}S_{i}P_{i})。
  • 评估指标特别多,Dice、IoU、(HD_{95})、敏感度、特异度、体积误差,每个指标都有自己一套字母。
  • 深度学习的网络结构描述又引入了编码器、解码器、跳跃连接、卷积块这些组件符号。
  • 论文往往多人合作,实验部分一个人写,方法部分另一个人写,符号习惯不一样,最后合稿时又没人做统稿。

还有一个原因是:医学图像分割的实验周期长,训练一个3D分割模型动辄几天,中间会不断修改数据划分、输入尺寸、通道数。等到实验做完了才开始写论文,很多符号是临时起意写的,完全没有全局规划。

所以我的判断是:符号混乱的根本原因不是写作能力差,而是没有在写正文之前先定好一套符号表。统一符号这件事,提前花半小时做,能省掉之后几天改稿的痛苦。

2. 统一符号不是靠自觉,而是靠一张符号表和三条命名规则

2.1 三条命名规则:先定语义,再定字体,最后定缩写

我给自己定的规则很简单,一共三条,分别管三个层面。

第一条规则:符号的语义必须明确。每个用一个字母或一组记号表达的符号,在第一次出现时必须用一句话定义清楚。比如(S)代表金标准(专家手动标注的分割结果),(P)代表模型输出的预测分割概率图,(I)代表输入图像。这组对应关系全文必须保持。

第二条规则:不同类别的数学对象用不同的字体区分。这条是纯粹靠LaTeX规范来约束的,但效果特别好。标量用普通斜体小写字母((x, y, i)),向量和矩阵用粗体((\mathbf{x}, \mathbf{W})),集合和数据结构用花体((\mathcal{D})代表数据集),算子或指标名用正体((\mathrm{DSC}))。读者看到字体就知道这是什么东西,根本不用回头看定义。

第三条规则:缩写统一用正体罗马字母,尽量不重名。所有评估指标都是全称的缩写,比如(\mathrm{DSC})(Dice Similarity Coefficient)、(\mathrm{IoU})(Intersection over Union)、(\mathrm{HD}_{95})(95th percentile Hausdorff Distance)。缩写一旦定了,全文就不允许再换。

2.2 可以直接抄的符号表模板

下面这张表是我自己在医学图像分割论文里常用的符号体系,可以直接抄走,根据自己任务增删。

类别含义建议符号不推荐写法
数据输入图像(I) 或 (\mathbf{I})img, image_data, input
数据金标准分割(S) 或 (\mathbf{S})GT, label, true, truth
数据预测分割(P) 或 (\hat{S})output, pred, result
数据体素/像素索引(i)idx, index, number
数据体素总数(N)total, num_voxels
模型编码器(E)encoder, enc
模型解码器(D)decoder, dec
模型第(k)层特征图(F^{(k)})feature_k, f_k
损失损失函数通用符号(\mathcal{L})loss, Loss, L
指标Dice系数(\mathrm{DSC})Dice, dice, (D)
指标IoU(\mathrm{IoU})IOU, iou
指标95% Hausdorff距离(\mathrm{HD}_{95})HD95, hd

这里有一个细节:金标准建议用(S)而不用(G)。我自己的理由有两个。第一,分割任务里"Ground Truth"对应的语义是"标准答案",但字母(G)很容易和"Generator"之类的网络组件混淆。第二,(S)能直观对应"Segmentation",和预测分割(P)形成一组。如果更追求对称性,也可以用(\hat{S})表示预测分割,(S)表示金标准,公式里一眼就能看出"S hat"是"对S的估计",这是统计学里很自然的表达。两种都可以,但全文只能选一种。

2.3 用LaTeX自定义命令把符号永久固化

口头约定永远不如写在代码里可靠。LaTeX有一个机制特别适合干这件事:\newcommand。你可以把所有符号定义成统一的命令,正文里只调用命令,不直接写公式。这样改符号只需要改一行,全文自动同步。

我通常在导言区定义一个符号文件macros.tex,里面写好所有符号命令,然后主文件里\input{macros.tex}。核心内容大致是这样:

% macros.tex \newcommand{\vol}{\mathbf{I}} % 输入图像 \newcommand{\gtseg}{\mathbf{S}} % 金标准分割 \newcommand{\predseg}{\hat{\mathbf{S}}}% 预测分割 \newcommand{\voxel}{i} % 体素索引 \newcommand{\dice}{\mathrm{DSC}} % Dice系数 \newcommand{\iou}{\mathrm{IoU}} % IoU \newcommand{\hdist}{\mathrm{HD}_{\mathrm{95}}} % 95% Hausdorff距离 \newcommand{\loss}{\mathcal{L}} % 损失函数 \newcommand{\encoder}{\mathbf{E}} % 编码器 \newcommand{\decoder}{\mathbf{D}} % 解码器

正文里写Dice公式时,直接写成:

\begin{equation} \dice(\gtseg,\predseg) = \frac{2 \sum_{\voxel} \gtseg_{\voxel} \predseg_{\voxel}} {\sum_{\voxel}\gtseg_{\voxel} + \sum_{\voxel}\predseg_{\voxel}} \label{eq:dice} \end{equation}

细节比直接敲公式要舒服得多,而且绝对不会出现"前面用了S后面用了GT"这种问题。因为命令只有一份,你写的就是那一份。

提示:命令里用\mathbf表示矩阵/图像,用\hat{}表示预测值,用\mathrm{}表示指标缩写。这些字体规范本身就在帮你传达语义。

3. 公式规范排版:从Dice系数到损失函数的LaTeX写法

3.1 三个出现频率最高的公式LaTeX实现

医学图像分割论文里,公式数量其实不算特别多,但出现的频率极其集中。我统计过自己写过的几篇论文,出现次数最多的公式永远是这三个:Dice系数、交叉熵损失、组合损失/Dice loss。

Dice系数的规范写法:

\begin{equation} \dice(\gtseg, \predseg) = \frac{2\sum_{\voxel} \gtseg_{\voxel} \predseg_{\voxel}} {\sum_{\voxel}\gtseg_{\voxel} + \sum_{\voxel}\predseg_{\voxel}} \end{equation}

交叉熵损失,医学图像分割里通常会写成带体素权重的形式,保留基础版本就行:

\begin{equation} \loss_{\mathrm{CE}} = -\frac{1}{N}\sum_{\voxel} \left[ \gtseg_{\voxel} \log \predseg_{\voxel} + (1 - \gtseg_{\voxel}) \log (1 - \predseg_{\voxel}) \right] \end{equation}

组合损失(DD损失加交叉熵):

\begin{equation} \loss_{\mathrm{total}} = \alpha \left( 1 - \dice(\gtseg, \predseg) \right) + \beta \loss_{\mathrm{CE}} \end{equation}

写这几个公式时有几个细节值得注意。

一是sum的下标写法。医学图像分割的输入是3D医学影像时,求和应该写在体素层面,所以下标用(i)或者(v),并且要在正文里解释"(i)遍历所有体素"。这样读者才知道你为什么对一幅图有几十万个项求和。

二是log前面不要漏负号。交叉熵公式最容易被漏掉的细节不是负号,而是(N)。有的论文里把(\frac{1}{N})写成(\frac{1}{|\mathcal{D}|}),含义不一样。前者是对一个样本内部的体素平均,后者是对整个训练集的样本平均。方法部分如果写的是"per-voxel cross-entropy",就应该用前者。

三是**(\alpha, \beta)这两个权重要在实验部分交代清楚**。很多论文只写在方法部分的公式里,不写取值多少。审稿人肯定要问。我的习惯是直接在公式下面加一句:"In all experiments, (\alpha=0.8, \beta=0.2)." 一句话解决很多麻烦。

3.2 多行公式、分段函数与括号规范

公式多了就涉及排版问题。很多初学者在LaTeX里写长公式会踩这类坑:

  • 公式太长超出页面宽度,没有折行。
  • 手动用一个很长的\left[ ... \right.来换行,但换行后的对齐非常痛苦。
  • 分段函数用数组硬排,可能产生间距问题。

我的建议是,多行推导用aligned环境,带编号的用equation配合split。比如:

\begin{equation} \begin{split} \loss_{\mathrm{DSC}} &= 1 - \dice(\gtseg, \predseg) \\ &= 1 - \frac{2\sum_{\voxel} \gtseg_{\voxel} \predseg_{\voxel}} {\sum_{\voxel}\gtseg_{\voxel} + \sum_{\voxel}\predseg_{\voxel}} \end{split} \end{equation}

aligned的好处是&号用来指定对齐位置,等号自动对齐,看起来非常干净。

对于括号,我的习惯是:凡是包含求和符号、比值的公式,外层一律用\left( \right)让LaTeX自动调整大小。不要手动用\big( \Big( \bigg(去碰运气。

% 正确 \frac{1}{N}\sum_{\voxel} \left[ \gtseg_{\voxel} \log \predseg_{\voxel} \right] % 不推荐 \frac{1}{N}\sum_{\voxel} [ \gtseg_{\voxel} \log \predseg_{\voxel} ]

3.3 数学字体与字母大小写的语义约定

我再展开说一下字体的问题,因为这是很多人完全没意识到的。

在深度学习论文里,一个常见的大问题是字母大小写和字体完全没有语义。比如(X)和(\mathbf{X})和(\mathcal{X})在同一个段落里混着用,读者根本分不清它们是不是同一个东西。

比较值得参考的是机器学习教材里的惯例,简化一下:

  • 普通斜体小写:标量。比如(i, j, N, \alpha, \beta)。
  • 粗体小写:向量、一维序列。比如(\mathbf{x})表示输入特征向量。
  • 粗体大写:矩阵、多维张量、图像数据。比如(\mathbf{I})是输入图像,(\mathbf{W})是卷积权重。
  • 花体大写:集合、数据集、损失函数的通用符号。(\mathcal{D})代表数据集,(\mathcal{L})代表损失。
  • 正体大写缩写:评估指标、算子名。(\mathrm{DSC})、(\mathrm{IoU})、(\mathrm{HD}_{95})、(\mathrm{CE})。

也就是说,同样是字母(S):

  • (S):标量,可以用作金标准某个值。
  • (\mathbf{S}):图像或标签矩阵,推荐用这个表示金标准。
  • (\mathcal{S}):集合,不推荐在分割论文里用作金标准,因为容易和其他集合符号混淆。

有了这层语义,方法部分写法就变得很简洁。比如"the predicted probability map (\predseg) is generated by decoder...",读者一看就知道(\predseg)是预测分割,因为有一顶帽子且粗体。

4. 不止公式:图表、伪代码与交叉引用的LaTeX整体规范

4.1 实验结果表格:booktabs是唯一选择

符号统一问题不止在公式里,实验表格里也一样。很多人直接用默认的tabular画一大堆竖线,表格看起来像Excel截图。论文规范里,booktabs才是主流选择。

booktabs的三个核心命令是\toprule、\midrule、\bottomrule,分别表示表格顶部粗线、表头下方细线、表格底部粗线。它刻意不提供竖线,因为学术排版里竖线通常不是必需的。医学图像分割的实验对比表,常见的结构是方法名、指标列,然后一行一个方法。

\begin{table}[t] \centering \small \begin{tabular}{@{}lccccc@{}} \toprule 方法 & \(\mathrm{DSC}\uparrow\) & \(\mathrm{IoU}\uparrow\) & \(\mathrm{HD}_{95}\downarrow\) & 参数量 \\ \midrule U-Net & 0.843 & 0.762 & 4.10 & 31M \\ Attention U-Net & 0.861 & 0.781 & 3.62 & 34M \\ Our Method & \textbf{0.910} & \textbf{0.839} & \textbf{2.31} & 28M \\ \bottomrule \end{tabular} \caption{不同方法在某数据集上的分割性能对比。加粗为最优结果。} \label{tab:comparison} \end{table}

这里有几个很容易搞错的地方:

  • 单位。Dice和IoU是无量纲比值,不用写%,但如果你的数据实测是0.843,那就写成0.843,不要写成84.3%,全文统一。
  • 箭头方向。(\uparrow)表示越高越好,(\downarrow)表示越低越好。加一次就能说明问题。HD95是越低越好,忘加(\downarrow)会让外行读者误以为越高越好。
  • 加粗规则。最优结果加粗,次优可以下划线,但全文不要混用。有的期刊要求配合星号标注显著性,这个看具体投稿期刊。

4.2 分割结果可视化图的子图排版

医学图像分割论文的Figure几乎是固定套路:一行输入图像,一行金标准,一行预测结果,可能再加一行误差热力图。用subcaption包来排版子图是标准做法。

\begin{figure}[t] \centering \begin{subfigure}{0.32\textwidth} \includegraphics[width=\linewidth]{case1_img.pdf} \caption{输入图像} \end{subfigure} \begin{subfigure}{0.32\textwidth} \includegraphics[width=\linewidth]{case1_gt.pdf} \caption{金标准} \end{subfigure} \begin{subfigure}{0.32\textwidth} \includegraphics[width=\linewidth]{case1_pred.pdf} \caption{预测结果} \end{subfigure} \caption{典型分割结果可视化,从上到下为不同模态的临床影像。} \label{fig:results} \end{figure}

给图加caption的时候,不要把故事讲完。图注的核心是"这张图展示了什么",细节放到正文里。另外,医学图像显示有格式问题:CT影像通常是灰度图且有窗宽窗位的讲究,但论文里更常见的是把预测边界叠加在原图上,红色的为分割边界。这类图的生成逻辑反而比LaTeX更重要,避免用伪彩色导致印刷后看不清。

这里特别提一个容易踩的坑:subfigure环境的宽度用0.32\textwidth还是0.48\textwidth,取决于一行排几张。排三张建议加一个空格参数调整间距,但最省心的方案是在三个subfigure之间空一行不写多余代码。

4.3 方法与算法描述:伪代码规范

医学图像分割的方法部分如果涉及两阶段训练、多尺度融合、对抗训练,很多作者喜欢用文字讲,但一讲就是三大段,审稿人看着累。这种情况下我建议改成算法伪代码。LaTeX里用algorithmic或algorithm包装就行。

\usepackage{algorithm} \usepackage{algpseudocode} \begin{algorithm}[t] \caption{基于UNet的分割训练流程} \label{alg:training} \begin{algorithmic}[1] \Require 训练集 \(\mathcal{D} = \{(\mathbf{I}^{(n)}, \mathbf{S}^{(n)})\}_{n=1}^{N}\) \Ensure 训练完成的网络参数 \(\theta\) \State 初始化编码器 \(\mathbf{E}\) 和解码器 \(\mathbf{D}\) 的参数 \(\theta\) \For{每个epoch} \For{每个batch} \State \(\predseg = \mathrm{UNet}(\mathbf{I}; \theta)\) \State 计算损失 \(\loss = \alpha \loss_{\mathrm{DSC}} + \beta \loss_{\mathrm{CE}}\) \State 反向传播并更新 \(\theta\) \EndFor \If{验证集Dice不再提升} \State 降低学习率 \EndIf \EndFor \end{algorithmic} \end{algorithm}

伪代码里的符号和正文一样走表符号表体系,不能用文字描述替代。比如(\mathrm{UNet}(\mathbf{I}; \theta))这种写法,就比"we feed the image into the U-Net"清楚得多,也不会产生歧义。

5. 我实测的LaTeX模板片段和最容易踩的编译坑

5.1 论文模板核心代码(可直接照抄)

我一般会在Overleaf开一个工程,模板结构大致如下。这里给出核心片段,可以直接复制。

\documentclass[11pt]{article} % 常用宏包 \usepackage{amsmath, amssymb, amsthm} \usepackage{graphicx} \usepackage{booktabs} \usepackage{subcaption} \usepackage{algorithm} \usepackage{algpseudocode} \usepackage{hyperref} \usepackage[super,sort&compress]{natbib} % 统一符号命令 \newcommand{\vol}{\mathbf{I}} \newcommand{\gtseg}{\mathbf{S}} \newcommand{\predseg}{\hat{\mathbf{S}}} \newcommand{\dice}{\mathrm{DSC}} \newcommand{\iou}{\mathrm{IoU}} \newcommand{\hdist}{\mathrm{HD}_{\mathrm{95}}} \newcommand{\loss}{\mathcal{L}} \begin{document} \section{Introduction} % ... \section{Method} % 符号表区域,可以在正文首次出现时定义 % 例如输入图像为 \(\vol\),金标准为 \(\gtseg\),预测分割为 \(\predseg\)。 \begin{equation} \dice(\gtseg, \predseg) = \frac{2\sum_{i} \gtseg_i \predseg_i} {\sum_{i}\gtseg_i + \sum_{i}\predseg_i} \label{eq:dice} \end{equation} % 引用公式直接用 \eqref{eq:dice} % 引用表格用 Table~\ref{tab:comparison} % 引用图用 Figure~\ref{fig:results} \end{document}

一个比较常见的细节是:很多人在\eqref和\ref前面手动写"公式"或"Equation"字样。我的习惯是全部用\eqref{}来生成带括号的编号,引用图和表格时写Figure~\ref{}和Table~\ref{},不要只在括号里放数字。这也是很多期刊作者指南里的要求。

5.2 编译报错排查:三个高频坑

用LaTeX写论文,报错是家常便饭。我总结了我自己遇见最多的三个坑,每一个都有实际的排查思路。

第一个是! Missing $ inserted。这个报错九成是因为在正文文字里直接写了数学符号。比如"we use the S matrix"但S前面没加美元符号。排查方法很简单:看报错行附近的字母,凡是数学记号((\mathbf{S})、(\alpha)这类)都必须用美元符号包起来,或者直接丢进公式环境。更稳妥的做法是全部改用我前面那种\gtseg命令,命令内部已经带了数学模式,正文里随便写都不会报错。

第二个是! Undefined control sequence。这个通常是你用了某个命令但没加载对应的宏包。比如写了\begin{align}却没加amsmath,写了\toprule却没加booktabs。排查方式是Ctrl+F搜索命令名,确认导言区有没有对应的\usepackage。如果命令确实正确,但报错指向某个自定义命令,检查macros.tex有没有被\input进来。

第三个是中文支持问题。现在很多期刊都能接收LaTeX投稿,但模板默认是英文环境。如果你要写中文作者、中文摘要,直接用pdfLaTeX编译会乱码。我建议用xelatex加ctex宏包:

% 编译方式选择 XeLaTeX \usepackage[UTF8]{ctex}

如果是投英文期刊,干脆不要在源文件里写中文备注太长,图注、作者单位、Acknowledgement里的项目名可能涉及中文,可以放在临时文件里,提交前替换成英文。

5.3 投稿前的符号一致性检查清单

写完初稿之后,我强烈建议做一次系统性检查。人工通读当然要做,但用工具能省一大半时间。

一个最笨但非常有效的办法是用LaTeX源文件直接全局搜索。比如我定了(\gtseg)代表金标准,那么全文搜索Ground Truth、GT、label map这些词,看看有没有漏网之鱼。只要搜索到的位置没有用我定义的命令,就说明那里有漏网。

我给自己的检查清单大概是这样:

  • 任务类符号:输入图像、金标准、预测结果、体素索引,全文是否各只有一种表示。
  • 评估指标:(\mathrm{DSC})、(\mathrm{IoU})、(\mathrm{HD}_{95})是否全文统一。
  • 数学字体:所有矩阵/图像是否有加粗;所有指标缩写是否正体;所有损失函数是否用(\loss)。
  • 公式引用:每个\label都有对应的\eqref或\ref;全文没有出现"Equation (1)"这种硬编码。
  • 单位与数值格式:Dice值、IoU值有没有混用百分数和小数;HD95的单位有没有写mm。
  • 算法伪代码:伪代码里的(\predseg)、(\loss)、(\theta)与正文一致吗。

这套检查做完,基本不会再因为符号问题被打回。

最后再分享一个小技巧:投稿之前,把PDF的文字搜索功能用起来。比如搜"S"会出现非常多结果,你快速扫一眼,凡是无正体加粗的(S)出现在数学环境里,就要检查是不是漏了命令。这个方法粗糙但非常有效。算是我从几次惨痛返修经历里换来的教训。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询