0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

新思科技DesignWare ARC EV系列处理器IP实现超分辨率

lPCU_elecfans 来源:新思科技 作者:新思科技 2021-02-01 17:32 次阅读

深度学习神经网络算法出现之前,我们无法通过计算将低分辨率、模糊不清的图像转换为平滑的高分辨率图像。现在,由于算法的突破,图像可以放大 8 倍或 16 倍,并可重新创建分辨率,该技术被称为图像超分辨率技术。为了实时执行该技术,处理器需要具备专用神经网络加速器,如新思科技的 DesignWare ARC EV 处理器 IP,以在不增加功耗和面积预算的情况下,也能满足密集计算的功耗需求。图像超分辨率技术现已应用于视频监控、人脸识别、医疗诊断、数字电视、游戏、多功能打印机和远程传感成像等应用。

低分辨率转换至高分辨率的问题

我们都观看过早期拍摄的电视剧或电影。英勇的侦探掌握了一个突破点 — 他们从监控摄像机中得到了罪犯开车离开犯罪现场的图像。但是,图像放大后极其模糊不清。侦探转向技术人员,用极尽严肃的声音说:“你们能让图像清晰一些吗?” 技术人员使用键盘经过数秒激烈紧张的操作,或是执行一些需要数小时处理的迭代操作后,将显示器转向侦探,上面出现了一幅分辨率高很多的清晰图像,清楚地显示了逃逸汽车的车牌。案件得以侦破!

但实际上,让图像变得更加清晰远不是这么回事。无论花多少时间处理图像,其实都无法满足侦探的这个要求。在深度学习出现之前,采用最先进的技术可以完成一定程度的图像锐化,但无法纠正严重模糊的图像(或像素化非常严重的放大图像)。

Adobe Photoshop 等程序中就有图像锐化或缩放技术的示例,有三种使用较为广泛:

最近邻插值在图像放大时复制图像中的像素。

双线性插值在图像缩放到更高分辨率时均化周围像素颜色值,以插入新像素。

双三次插值分析 16 (4x4) 个像素(相对于双线性插值的 4 (2x) 个像素),创建插值伪影较少的平滑图像。双三次插值尽管计算复杂程度较高,却能产生最理想的锐化结果。

这三种技术的局限性都源于同一种理论概念,称为数据处理不等式。简而言之,数据处理不等式即您无法将信息添加到不存在的图像中。放大图像时无法恢复丢失的数据。虽然这些技术可以将模糊不清的原始图像适度锐化,但在原始图像放大 8 或 16 倍后,这些技术就无法处理了。

或者说,至少在深度学习和超分辨率神经网络出现之前,情况都是如此。

神经网络来救急了!

如果数据处理不等式的严酷现实阻碍了双三次插值技术发挥作用,为什么深度学习算法会表现得更好呢?嗯,他们有秘技。基于学习的算法是用大数据集进行“训练”的(例如,输入大量带标注的图像,用于校准网络的系数),所以它们成为缩放图像和恢复分辨率的理想算法。恢复图像所需的额外数据来自神经网络的训练集,而不是从原始图像中获取。例如,如果一个神经网络经过训练用于学习人脸,那么当原始图像被缩放到高分辨率时,它就可以合理地将训练集的数据插入到原始图像中。

单图像超分辨率的第一个深度学习方法是 2014 年的超分辨率卷积神经网络 (SRCNN)。在用 SRCNN 进行训练期间,使用双三次插值将低分辨率的输入图像放大到所需的分辨率,然后将其送入一个相当浅的 CNN(跳过池化层以保持相同大小的图像分辨率)。在输出图像和原始图像之间采用均方平均 (MSE) 损失函数。通过多次训练迭代,尽可能地减少损失以产生最完善的输出图像。结果(图 2)显示,相对于双三次插值,SRCNN 的峰值信噪比 (PSNR) 有了显著改善。

在 SRCNN 开辟了使用 CNN 实现超分辨率的道路之后,许多其他方法也在这个概念上进行了改进。2016 年,快速超分辨率卷积神经网络 (Fast Super-Resolution Convolutional Neural Network, FSRCNN) 取代了 SRCNN 的双三次插值,它具有更多的 CNN 层,并结合了其他技术,能够产生更快、图像质量更高的解决方案。同样在 2016 年,超分辨率加深网络结构 (Very Deep network for Super-Resolution, VDSR) 将 SRCNN 的三层扩展到二十层,以提高准确度。2015 年底发布的超分辨率残差网络 (SRResNet) 将残差网络 (ResNet) 层增加至 152 层,以提高准确度。所有这些方法都提供了较高的 PSNR(更高的准确度),但经常遗漏高频细节,因此被认为不够悦目。

2017 年,超分辨率生成对抗网络 (Super-Resolution Generative Adversarial Network, SRGAN) 将 2014 年发布的 GANS 概念应用到超分辨率上,取得了令人瞩目的成果。GAN 由两个网络组成:一个生成器和一个鉴别器(图 3),它们相互竞争以实现“对抗目标”。在网络训练期间,生成器输入低分辨率图像并力图创建高分辨率版本。鉴别器网络则致力于确定输入的是真正的高分辨率图像还是生成器放大的图像。换句话说,生成器试图伪造图像蒙混过关,而鉴别器则会努力捕捉伪造图像。训练期间的这一迭代过程迫使生成器改进其输出。

训练部分完成后,SRGAN 的生成器网络只需将低分辨率图像转换为更高分辨率的图像。

SRGAN 的一个关键点是使用了感知损失函数,该函数会对比像素级 MSE 损失和对抗性损失(鉴别器遇到自然图像而不是生成图像的概率)。正因为如此,SRGAN 的输出图像的 PSNR 值并不高,但被认为更加悦目。

现在,研究SRGAN 提供的一个变体。增强型超分辨率生成对抗网络 (Enhanced Super-Resolution Generative Adversarial Network, ESRGAN) 已成为游戏界的热门产品,用于高端复古视频游戏。虽然 ESRGAN 经过自然图像训练,但应用于模糊不清的复古视频游戏时也能改善图形质量。

超分辨率的另一个有趣用途是恢复旧电影的色彩和为其上色。超分辨率可以放大帧率和分辨率、填充缺失数据、改善模糊画质,以及为黑白电影提供逼真的上色。

实时实现超分辨率

处理单个图像、视频游戏或旧电影以实现离线超分辨率,不需要实时执行。如果时间充裕,您可以让 CPUGPU 在后台处理这一过程。如果应用程序需要实时渲染和显示图像(可能是游戏或增强现实),要想在显示之前运用超分辨率技术来改善图像,则只能采用较低分辨率完成渲染,以节省功耗并提高每秒帧数 (fps)。而要想以极快的速度解决图像质量改善,或从较低视频分辨率提高到较高视频分辨率,则需要专门的神经网络解决方案。

新思科技的 DesignWare ARC EV 系列处理器 IP,可为一系列实时超分辨率需求提供可扩展的神经网络解决方案。新思科技的 EV 架构结合了可编程性和硬件优化的特性,能以最小的面积和功耗提供最快的性能。EV7x(图 5)将视觉引擎(用于单指令、多数据 (SIMD) 并行处理的 512bit 向量 DSP)和一个深度神经网络加速器相结合,该加速器能够从 880 乘累加单元扩展到 14,080 乘累加单元 (MAC),是神经网络实现的关键构建模块。

e16f8572-5fb0-11eb-8b86-12bb97331649.png

图 5. DesignWare EV7x Vision 处理器 IP 通过从 LPDDR5 向配置内部存储器输入部分输入图像、经过训练的系数和中间特征图,在其深度神经网络加速器中执行神经网络算法。

MetaWare EV (MWEV) 软件开发工具包为DesignWare EV7x 处理器 IP 系列提供完美支持,该工具包是一条集成工具链,可为经过训练的神经网络执行编译、调试、优化、仿真和映射。MWEV 神经网络软件开发套件 (NN SDK) 采用 SRCNN、FSRCN、VDSR 等超分辨率图形,然后自动映射至 EV7x 硬件,进行实时操作。

性能要求

实时实现的性能要求各不相同。多功能打印机可能需要以 5 fps 的速度锐化图像。但是,从 30fps 视频升级为 60fps 图像,需要在较短的时间内进行较多的处理。影响处理器性能的要求包括:

超分辨模型(不同模型需要不同的计算复杂程度)

输入图像分辨率

输出图像分辨率

带宽限制(千兆字节/秒,GB/s)

期望的帧速率 (fps)

借助这些参数,设计人员可以确定他们所需的深度神经网络加速器配置。新思科技可以与设计师合作,根据输入分辨率和带宽限制为所选超分辨率网络的不同 MAC 配置确定 fps。例如,多功能打印机实现可能只需要具有 880 MAC 加速器的最小 EV71 处理器。速度飞快的高端游戏应用程序可能需要更大的处理器,如 EV72 或 EV74 和多达 14,080 个 MAC。

功耗要求

除了性能之外,另一个嵌入式系统的关键要求通常是功耗。一旦知道要求,就可以计算功耗。然而,考虑到神经网络的计算复杂性和仿真所有这些计算所需的时间(可能需要数周的时间),很难准确地仿真神经网络的功耗。新思科技使用了既快速又准确的仿真模型,来确定 EV7x 硬件实现神经网络的功耗。

位分辨率要求

通常使用 32 bit精度训练神经网络;然而,对于神经网络实现而言,这是一种过度消耗。必要时,EV7x 的 DNN 可提供 8bit分辨率,以及可实现更高精度的高达 12bit的分辨率。MWEV NN SDK 将根据硬件中选定的位分辨率量化神经网络。还可以优化每层的量化/精度,尽可能使用 8bit,而仅在需要确保准确度时才使用12bit。

结语

研究人员在不断改进当今的先进技术,所以超分辨率神经网络将会继续发展。从 CNN 分类网络的演进可以看出,首先侧重于提高精度,然后再转向提高算法效率。总体目标是用最少的计算量和数据移动获得最高的准确度,从而将较低分辨率的图像重新调整/升级为更高分辨率的图像,实现悦目的效果。由于 DesignWare ARC EV7x 处理器 IP 系列是可编程的,它可以随着研究的持续进行而发展为超分辨率网络。

原文标题:老电影秒变4K画质,超分辨率技术大发神威

文章出处:【微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100745
  • 图像处理
    +关注

    关注

    27

    文章

    1289

    浏览量

    56733
  • 深度学习
    +关注

    关注

    73

    文章

    5503

    浏览量

    121141

原文标题:老电影秒变4K画质,超分辨率技术大发神威

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何提高透镜成像的分辨率

    透镜成像分辨率是指透镜系统能够分辨的最小细节的能力。提高透镜成像分辨率对于许多应用领域,如显微镜、望远镜、相机等,都是至关重要的。以下是一些提高透镜成像分辨率的方法: 1. 减少像差
    的头像 发表于 12-25 16:54 127次阅读

    HDMI接口支持哪些视频分辨率

    HDMI(High-Definition Multimedia Interface)接口支持的视频分辨率因版本不同而有所差异。以下是HDMI接口不同版本所支持的视频分辨率的概述: HDMI 1.4
    的头像 发表于 11-27 14:14 1199次阅读

    视频处理器分辨率是如何管理的

        随着电子应用技术和消费市场的不断发展,LED显示屏的显示单元之间的间距正在逐渐缩小,然而,显示屏的整体面积却在不断扩大。为了满足这一趋势下对超大输出分辨率的需求,视频处理器和拼接变得
    的头像 发表于 11-11 15:25 250次阅读
    视频<b class='flag-5'>处理器</b>的<b class='flag-5'>分辨率</b>是如何管理的

    视频处理器分辨率怎么调

    视频处理器分辨率的调整是一个相对复杂的过程,涉及到硬件、软件、驱动程序等多个方面。 视频处理器的基本概念 视频处理器(Video Processor)是一种专门用于
    的头像 发表于 07-16 11:25 978次阅读

    VR显示分辨率的选择

    一、VR显示分辨率的重要性 1.1 分辨率与视觉体验 分辨率是指显示上能够显示的像素点的数量,通常用水平像素数×垂直像素数来表示。在VR
    的头像 发表于 07-08 10:29 1075次阅读

    伺服编码分辨率是什么意思

    伺服编码分辨率是指编码能够检测到的最小角度或位置变化。在伺服系统中,编码器用于测量电机轴或负载的位置和速度,以实现精确控制。分辨率越高,
    的头像 发表于 06-17 11:16 911次阅读

    伺服电机编码分辨率是多少

    伺服电机编码分辨率是衡量编码性能的重要指标之一,它直接影响到伺服系统的精度和稳定性。本文将详细介绍伺服电机编码分辨率,包括其定义、
    的头像 发表于 06-17 11:13 1528次阅读

    伺服编码分辨率越高越快吗?

    伺服编码分辨率指的是编码能够提供的位置或运动信息的精度或精确度,具体表现为编码能够将运动转换为脉冲或位置信号的精细程度。通常以线数(Lines)或脉冲数(Pulses)来表示编码
    的头像 发表于 03-21 08:43 1051次阅读
    伺服编码<b class='flag-5'>器</b><b class='flag-5'>分辨率</b>越高越快吗?

    基于CNN的图像分辨率示例

    考虑单个低分辨率图像,首先使用双三次插值将其放大到所需的大小,这是执行的唯一预处理。将插值图像表示为Y。我们的目标是从Y中恢复与真实高分辨率图像X尽可能相似的图像F (Y) 。
    的头像 发表于 03-11 11:40 708次阅读
    基于CNN的图像<b class='flag-5'>超</b><b class='flag-5'>分辨率</b>示例

    EVAL_PASCO2_SENSOR为什么无法从较低的分辨率高速获得更高的分辨率

    我有一个图像 EVAL_PASCO2_SENSOR,支持高达 3840x2160 分辨率的超高速和高速。 我能以快的速度拍摄所有静止画面。 但是,当我尝试获得更高分辨率(3840x2160)的静态
    发表于 02-22 07:58

    编码分辨率是什么意思 编码分辨率和脉冲数的关系

    按照编码支持的分辨率可以把编码分成标清编码、高清编码、全高清编码
    的头像 发表于 02-21 18:07 4219次阅读
    编码<b class='flag-5'>器</b><b class='flag-5'>分辨率</b>是什么意思 编码<b class='flag-5'>器</b><b class='flag-5'>分辨率</b>和脉冲数的关系

    电容触摸屏的分辨率怎么调

    电容触摸屏的分辨率调整是通过调整触摸屏的控制的参数来实现的。触摸屏的分辨率是指能够在屏幕上识别的最小触摸点的像素数量。分辨率越高,触摸屏可
    的头像 发表于 01-23 16:59 1947次阅读

    镜头分辨率简述

    分辨率可以从显示分辨率与图像分辨率两个方向来分类。
    的头像 发表于 01-15 11:12 926次阅读

    浅谈相机的图像分辨率

    谈到显微成像系统,常常会用分辨率来评价成像能力的高低,那分辨率到底指的是什么,又怎样计算呢?其实对于一个特定的显微成像系统,分辨率要从两个方面来考虑,一种是光学系统的分辨率—光学衍射极
    的头像 发表于 01-09 09:54 1796次阅读
    浅谈相机的图像<b class='flag-5'>分辨率</b>

    adc电路的分辨率怎么算

    ADC(模数转换)电路的分辨率是指其能够将模拟信号转换为数字信号时能够达到的最小分辨单位。分辨率通常用位数表示,例如10位的ADC具有1024个离散的输出级别。 要计算ADC电路的
    的头像 发表于 01-04 15:23 7195次阅读