在计算机视觉(CVPR、ICCV、ECCV)、多媒体(ACM MM)以及人工智能综合顶会(NeurIPS、AAAI)中,图像超分辨率、去噪、去雾、图像修复(Inpainting)、语义分割、目标检测以及 3D 隐式重建(NeRF/3DGS)等方向的手稿,定性视觉效果对比图(Qualitative Comparison Figures) 占据了实验章节最关键的视觉版面。
审稿人(Reviewer)在评审这类论文时,往往会率先放大阅读对比图。许多初学者制作对比图时常犯以下几类典型排版错误:
-
裁剪位置不一致:不同算法截取的局部放大区域存在几到十几个像素的偏移,导致审稿人无法进行严丝合缝的逐像素纹理对比;
-
二次平滑失真:将小图贴入 PPT 或 Word 放大时,软件默认启用了双线性或双三次插值(Bilinear/Bicubic),导致原本锐利的算法结果被人为抹平发虚;
-
框线混乱遮挡:原图上的选框过粗,遮挡了核心结构;或者未建立放大部分与原图选框的颜色联动,读者根本找不到放大区域来自何处;
-
排版稀疏占版面:多张子图之间留着巨大的空白间距,白白挤占宝贵的手稿页码配额。
掌握规范的 ROI 裁剪法则、掌握防失真的放大机制,并利用脚本实现全流程自动化,是打造顶会级定性对比图的必备功底。

1. 顶会定性对比图的四大核心排版铁律
一张经得起严苛同行推敲的局部放大对比图,必须在底层数据和视觉呈现上遵循以下准则:
① 严格对齐 ROI(Region of Interest)像素坐标
-
单点截取,全员映射:选定待放大的感兴趣区域(ROI)后,必须记录下其在原始高分辨率图像中的绝对像素矩形坐标 $[y_{\min}:y_{\max}, x_{\min}:x_{\max}]$。
-
基线算法(Baselines)、真实标签(Ground Truth/Reference)以及己方提出的模型(Ours),必须强制使用这组完全相同的切片坐标进行裁剪,绝对不能凭借肉眼手动截图。
② 拒绝平滑,强制使用“最近邻插值(Nearest Neighbor)”放大
-
当从原图切出一个诸如 $64 \times 64$ 像素的极小局部块、需要将其放大到与全景图等宽显示时,绝对不能使用常规的双线性(Bilinear)或抗锯齿插值。
-
常规插值算法会在像素边缘自动混色过渡,掩盖低质算法的锯齿走样(Aliasing),也会抹杀优秀算法重建出的高频纹理。
-
出版规范:必须采用最近邻插值(Nearest Neighbor Interpolation)。该算法通过直接复制相邻像素来拉大图像,能够 100% 真实还原算法在微观像素层面的真实输出状态。
③ 框线颜色联动与防遮挡规范(Color-Coded Linkage)
-
原图红框 $\rightarrow$ 放大图红边框:原图上框选 ROI 的矩形边框颜色,必须与对应的局部放大图的外层实线边框颜色完全一致(如采用亮红
#E41A1C或亮黄#FFFF00)。 -
多区域双色对比:若同一张全景图需要展示两个不同的局部(如一个看边缘轮廓,一个看平坦区噪点),应分别使用红色与绿色(或红色与黄色)两套独立的线框,切忌全用同一种颜色造成指向混乱。
-
线宽克制:全景图上的选框线宽通常控制在 $1.5$ 至 $2$ 像素(以原图分辨率为基准),既能清晰辨识,又绝不压盖核心物体边缘。
④ 叠加定量指标角标(In-situ Metrics Inset)
-
在超分辨率或去噪任务中,主流顶会推崇在每个算法对应的局部图左下角或右下角,半透明悬浮打上该图的具体定量评估数值(如 PSNR / SSIM 或 LPIPS)。
-
这能让审稿人将微观视觉质感与客观数学指标一并审阅,避免在正文表格与图表之间来回翻阅,大幅提升审稿体验。
2. 经典排版拓扑构图方案
根据论文版面预算与算法对比数量,通常采用以下两种排版拓扑:
拓扑 A:横向矩阵式网格(工科、CV顶会最推荐)
整张大图横跨双栏(Double-Column Width,宽约 17.5 cm):
-
第一行(全局视野):水平排列 5 至 6 张图,从左至右依次为:
Input / Degraded$\rightarrow$Baseline 1$\rightarrow$Baseline 2$\rightarrow$Baseline 3$\rightarrow$Ours$\rightarrow$Ground Truth。原图上均标注一致的红色矩形框。 -
第二行(局部精微):对应第一行正下方,垂直对齐展示每一个算法的红色 ROI 放大图。
-
优势:上下垂直对齐,人眼只需轻微纵向移动视线,即可在毫秒级内甄别不同模型在同一结构边缘的处理差异。
拓扑 B:角落嵌合式画中画(单栏紧凑型)
当版面空间极度紧张、图片只能放置在单栏(Single-Column Width,宽约 8.5 cm)时:
-
直接将最近邻放大的局部切片,以“画中画(Picture-in-Picture)”的形式叠放在该图片内部信息量最少、背景最空旷的角落(如纯天空、纯黑底色处);
-
放大块四周加上醒目的反差色边框(如白边或黄边),并引出一根极细的导引折线指向原图中的取样框。
3. Python 自动化裁切、加框与拼图实操脚本
借助 Python 的 Pillow (PIL) 和 OpenCV,可以构建一个标准化的批处理流水线,杜绝手动截图带来的任何像素级误差:
import os
import cv2
import numpy as np
from PIL import Image, ImageDraw, ImageFont
def process_qualitative_comparison(image_paths, methods, crop_box, zoom_factor=4, border_color=(0, 0, 255), border_width=2):
"""
image_paths: 各算法输出图像的路径列表 [input, baseline1, baseline2, ours, gt]
methods: 算法名称列表
crop_box: ROI 切片坐标元组 (x1, y1, x2, y2)
zoom_factor: 放大倍数 (通常设为 3 或 4)
border_color: BGR 颜色元组,默认红色 (0, 0, 255)
border_width: 选框与放大图外边框的像素宽度
"""
x1, y1, x2, y2 = crop_box
crop_w, crop_h = x2 - x1, y2 - y1
top_row_images = []
bottom_row_images = []
for path, method in zip(image_paths, methods):
# 1. 以无损 RGB 模式读取原始高分辨率图像
img = cv2.imread(path)
if img is None:
raise FileNotFoundError(f"Image not found at {path}")
# 2. 提取严丝合缝的局部 ROI
cropped = img[y1:y2, x1:x2].copy()
# 3. 关键点:使用最近邻插值 (INTER_NEAREST) 无损放大局部块
zoomed_crop = cv2.resize(
cropped,
(crop_w * zoom_factor, crop_h * zoom_factor),
interpolation=cv2.INTER_NEAREST
)
# 4. 为放大后的切片绘制包裹外边框 (颜色与原图选框绝对一致)
zoomed_crop = cv2.copyMakeBorder(
zoomed_crop,
border_width, border_width, border_width, border_width,
cv2.BORDER_CONSTANT,
value=border_color
)
# 5. 在全景原图上绘制 ROI 标记矩形框
img_with_box = img.copy()
cv2.rectangle(img_with_box, (x1, y1), (x2, y2), border_color, border_width)
top_row_images.append(img_with_box)
bottom_row_images.append(zoomed_crop)
# 6. 水平拼合顶部全景行与底部放大切片行 (可调整底部宽度与顶部对齐)
# 将放大切片 resize 到与全景图等宽,确保上下网格绝对垂直对称
target_width = top_row_images[0].shape[1]
bottom_row_aligned = [
cv2.resize(z, (target_width, int(z.shape[0] * (target_width / z.shape[1]))),
interpolation=cv2.INTER_NEAREST)
for z in bottom_row_images
]
# 拼合矩阵
row1 = np.hstack(top_row_images)
row2 = np.hstack(bottom_row_aligned)
final_canvas = np.vstack([row1, row2])
# 7. 保存为无损 PNG 格式 (严禁使用有损 JPG)
cv2.imwrite("qualitative_comparison_result.png", final_canvas)
print("Qualitative comparison matrix successfully generated at lossless quality.")
# ----------------- 工业级调用示例 -----------------
# 设定统一裁剪的坐标: [x_min, y_min, x_max, y_max]
ROI_COORDINATES = (120, 85, 184, 149)
ALGORITHM_PATHS = [
"results/input.png",
"results/baseline_rcan.png",
"results/baseline_swinir.png",
"results/proposed_ours.png",
"results/ground_truth.png"
]
METHOD_NAMES = ["Bicubic", "RCAN", "SwinIR", "Ours", "Reference"]
# process_qualitative_comparison(ALGORITHM_PATHS, METHOD_NAMES, ROI_COORDINATES)
4. LaTeX 双栏紧密子图排版标准模板
在将切好的单张子图放入 LaTeX 时,最常见的问题是子图之间空隙过大、换行混乱。
国际顶会模板(如 IEEEtran 或 CVPR 官方模板)中,推荐使用 subcaption 宏包,配合全局宽度参数将图片间距压到极限(接近无缝排版):
\documentclass[10pt,journal,compsoc]{IEEEtran}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{booktabs}
\begin{document}
\begin{figure*}[t]
\centering
% 设置极紧密的水平子图间距,杜绝多余留白
\setlength{\tabcolsep}{1.2pt}
\begin{tabular}{ccccc}
% ---------- 第一行: 全景图 (带统一红色线框) ----------
\includegraphics[width=0.19\linewidth]{figs/crop1_input_box.png} &
\includegraphics[width=0.19\linewidth]{figs/crop1_rcan_box.png} &
\includegraphics[width=0.19\linewidth]{figs/crop1_swinir_box.png} &
\includegraphics[width=0.19\linewidth]{figs/crop1_ours_box.png} &
\includegraphics[width=0.19\linewidth]{figs/crop1_gt_box.png} \\
% ---------- 第二行: 对应算法的局部放大图 (最近邻放大) ----------
\includegraphics[width=0.19\linewidth]{figs/crop1_input_zoom.png} &
\includegraphics[width=0.19\linewidth]{figs/crop1_rcan_zoom.png} &
\includegraphics[width=0.19\linewidth]{figs/crop1_swinir_zoom.png} &
\includegraphics[width=0.19\linewidth]{figs/crop1_ours_zoom.png} &
\includegraphics[width=0.19\linewidth]{figs/crop1_gt_zoom.png} \\
% ---------- 子图标签与对应指标 ----------
\small (a) Low-Res Input &
\small (b) RCAN~\cite{zhang2018rcan} &
\small (c) SwinIR~\cite{liang2021swinir} &
\small (d) \textbf{Ours} &
\small (e) Reference (GT) \\
\footnotesize 24.12 dB / 0.712 &
\footnotesize 28.45 dB / 0.835 &
\footnotesize 29.80 dB / 0.869 &
\footnotesize \textbf{31.25 dB} / \textbf{0.904} &
\footnotesize PSNR / SSIM \\
\end{tabular}
\caption{Qualitative comparison of $4\times$ super-resolution on the Urban100 benchmark. The red bounding boxes in the top row indicate the regions of interest (ROI), which are magnified using nearest-neighbor interpolation in the bottom row. Our proposed framework reconstructs sharp repetitive lattice textures with fewer structural artifacts while maintaining higher PSNR/SSIM scores.}
\label{fig:qualitative_comparison}
\end{figure*}
\end{document}
5. 提交前的定性对比图排雷自检清单
在导出最终 Camera-Ready PDF 之前,对照以下清单逐项放大检验:
| 自检维度 | 规范合格标准 | 常见严重缺陷排查 |
| ROI 坐标一致性 | 所有参与对比的算法使用完全相同的像素矩形范围 | 某基线由于手动裁剪导致内容错位了数个像素。 |
| 插值真实性 | 放大展示使用最近邻插值(Nearest Neighbor) | 使用了抗锯齿平滑,导致全景图与放大切片的像素微观结构相互矛盾。 |
| 边框颜色联动 | 原图框线颜色与放大切片外轮廓线条颜色严格统一 | 原图画红框,放大图却用蓝框或者无框,审稿人无法对应视线。 |
| 图像存储格式 | 全程保存为无损 PNG 或无损 TIFF 格式 | 误存为 JPEG 格式,在高频边缘处引入了大量伪影与块状脏噪点。 |
| 文字字号下限 | 图表下方的算法名称与指标角标在 100% 打印下不低于 7 pt | 插入 LaTeX 后图片被强行压缩,字号缩小到无法裸眼阅读。 |
| 极端对比度呈现 | 挑选的 ROI 必须包含结构突变、细密纹理或文字线条 | 挑选了毫无细节的纯色天空或平整墙面,完全看不出算法之间的性能分水岭。 |
遵循“严谨的相同坐标提取、最近邻无损放大渲染、色彩映射框线引导与紧密的无缝矩阵编排”,不仅能让研究成果的视觉优势直观呈现,更能以工业级的学术严谨度赢得顶会审稿专家的高分认可。
