Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Super Resolution

超分辨率通过预测插值无法恢复的细节,从低分辨率图像重建出更高分辨率的图像。内容涵盖模型和代码。

超分辨率(SR)是一类计算机视觉技术,旨在从低分辨率输入重建出更高分辨率的图像或视频。传统的放大方法,例如双三次插值,只是将现有像素铺展到更大的网格上,因此边缘会变软,精细纹理也会变模糊。经过学习的 SR 模型会根据它从低分辨率和高分辨率图像对中学到的模式,预测缺失的高频细节,例如清晰的边缘、文字笔画以及织物或树叶纹理。单图像超分辨率(SISR)仅使用一张图像;视频超分辨率还会利用相邻帧,因为每帧都包含有关同一场景的略有不同的信息。

超分辨率如何运作#

超分辨率是一个病态问题:许多不同的高分辨率图像缩小后都会变成同一张低分辨率图像,因此模型必须根据从自然图像中学到的知识,选出最合理的结果。训练图像对的制作方法是:取高分辨率图像,并通过模糊、按 2× 或 4× 等比例下采样、添加噪声和压缩等方式降低其质量。退化模型决定了网络能够处理哪些真实输入;Real-ESRGAN使用随机串联的退化操作进行训练,因此既能修复真实照片和视频,也能修复经过干净下采样的图像。

超分辨率架构的发展紧随深度学习的整体趋势。SRCNN 于 2014 年证明,三层卷积神经网络(CNN)优于传统方法。ESPCN在低分辨率下执行卷积,只在最后通过子像素卷积放大图像;子像素卷积会将通道重新排列成更大的图像,使其速度足以处理实时 1080p 视频。EDSR 堆叠了大量残差块,SwinIR由移位窗口视觉 Transformer块构建而成,而扩散模型则通过迭代去噪生成细节。

损失函数决定了“更好”的含义。L1 或均方误差等像素损失会最大限度地贴合原始图像,但会对各种可能结果取平均,因此画面看起来会很平滑。SRGAN加入了基于深层特征的感知损失,以及来自生成对抗网络(GAN)的对抗损失,从而生成清晰、逼真的纹理;但这些纹理可能无法与真实场景逐像素匹配。在医学和法证成像中,这会带来风险,因为虚构的细节可能被误认为证据。

超分辨率的衡量方法#

保真度通常用峰值信噪比(PSNR)和结构相似性指数(SSIM)衡量。PSNR 是一种以分贝为单位、采用对数刻度的均方误差度量。LPIPS 等感知指标会比较深层特征,更贴近人类对真实感的判断。下面的对比会将图像缩小 4×,再分别用双三次插值和来自 OpenCV 的预训练 ESPCN 模型重建:

import urllib.request

import cv2  # cv2.dnn_superres requires: pip install opencv-contrib-python

# Download a pretrained 4x ESPCN model and a test image cropped to a multiple of 4
urllib.request.urlretrieve("https://github.com/fannymonori/TF-ESPCN/raw/master/export/ESPCN_x4.pb", "ESPCN_x4.pb")
urllib.request.urlretrieve("https://ultralytics.com/images/bus.jpg", "bus.jpg")
original = cv2.imread("bus.jpg")[:1080, :808]

# Simulate a low-resolution capture by shrinking the image 4x
low_res = cv2.resize(original, (202, 270), interpolation=cv2.INTER_CUBIC)

# Upscale 4x with bicubic interpolation and with the learned ESPCN model
bicubic = cv2.resize(low_res, (808, 1080), interpolation=cv2.INTER_CUBIC)
sr = cv2.dnn_superres.DnnSuperResImpl_create()
sr.readModel("ESPCN_x4.pb")
sr.setModel("espcn", 4)
espcn = sr.upsample(low_res)

# Higher PSNR means the reconstruction is closer to the original image
print(f"Bicubic: {cv2.PSNR(original, bicubic):.2f} dB, ESPCN: {cv2.PSNR(original, espcn):.2f} dB")

它会打印 Bicubic: 19.51 dB, ESPCN: 20.52 dB。1 dB 的提升相当于均方误差降低约 21%,模型文件大小约为 100 KB。

  • 图像复原: 从退化图像中恢复干净图像的更广泛领域,包括去噪、去模糊和去除压缩伪影。超分辨率是同时增加像素数量的复原任务;现代模型通常还能一次处理多种退化。
  • 图像修复: 填补缺失或被遮挡的区域;超分辨率则为完整但粗糙的图像补充细节。
  • 帧插值: 在现有帧之间合成新帧,以提高时间分辨率,是空间超分辨率在时间轴上的对应任务。
  • 生成式 AI: 文生图模型根据提示词创建图像。超分辨率以输入图像为条件,必须忠实保留图像内容;许多图像生成器会将扩散式放大器用作最后一个阶段。

实际应用#

  • 游戏: NVIDIA DLSS 以较低分辨率渲染帧,再用神经网络进行放大,从而在保持相近视觉质量的同时提高帧率。
  • 视频流媒体与档案影像: 广播机构和电影修复人员会将标清及档案影像放大,以适配 HD 和 4K 显示器。
  • 卫星图像分析: 分析人员会增强低成本影像的清晰度,以绘制建筑物、道路和车辆的位置。
  • 医学图像分析: 研究系统会根据采集速度更快、分辨率更低的 MRI 数据重建高分辨率 MRI,从而缩短患者在扫描仪中的停留时间。

超分辨率也可作为预处理步骤,用于在低分辨率来源中检测小目标。Ultralytics YOLO26会通过调整每个输入的尺寸,将其缩放到 imgsz,默认值为 640 像素,并使用双线性插值;因此,320×240 的摄像头画面会在检测前放大 2 倍。如果使用 2 倍超分辨率模型取代插值,检测器就能获取重建后的边缘,改善对面部、车牌以及航拍视图中车辆等小型远距离目标的检测效果。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来