CN115564644B - 图像数据的处理方法、相关设备以及计算机存储介质 - Google Patents

图像数据的处理方法、相关设备以及计算机存储介质 Download PDF

Info

Publication number
CN115564644B
CN115564644B CN202210023034.7A CN202210023034A CN115564644B CN 115564644 B CN115564644 B CN 115564644B CN 202210023034 A CN202210023034 A CN 202210023034A CN 115564644 B CN115564644 B CN 115564644B
Authority
CN
China
Prior art keywords
resolution
image data
image
super
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210023034.7A
Other languages
English (en)
Other versions
CN115564644A (zh
Inventor
匡洋铸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210023034.7A priority Critical patent/CN115564644B/zh
Publication of CN115564644A publication Critical patent/CN115564644A/zh
Application granted granted Critical
Publication of CN115564644B publication Critical patent/CN115564644B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)

Abstract

本申请公开了一种图像数据的处理方法、相关设备以及计算机存储介质,涉及图像处理技术领域,该方案为:将目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中,得到并输出目标图像在第二分辨率下的图像数据,第二分辨率大于第一分辨率。对目标图像在第二分辨率下的图像数据进行锐化处理,得到目标图像在第二分辨率下的锐化后图像数据,对目标图像在第二分辨率下的锐化后图像数据进行下采样,得到目标图像在第三分辨率下的锐化后图像数据。其中第三分辨率小于第二分辨率。通过第一超分辨率模型提高分辨率,然后进行锐化,再进行下采样后,可得到高分辨率且高清的目标图像在第三分辨率下的锐化后图像数据。

Description

图像数据的处理方法、相关设备以及计算机存储介质
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像数据的处理方法、相关设备以及计算机存储介质。
背景技术
随着显示技术的发展,图像的分辨率向更高分辨率发展,画质也向更高画质发展。由于电子设备在渲染高分辨率图像或超高分辨率图像时具有较高的算力需求,因此可以在绘制高分辨率图像或超高分辨率图像时,采用多个处理器共同配合渲染,以满足渲染过程中的算力需求,提高渲染效率。
然而,多个处理器共同配合渲染高分辨率图像或超高分辨率图像的方案中,主要通过将低分辨率图像的图像数据输入到人工智能超分辨模型中,由人工智能超分辨率模型渲染出高分辨率图像或超高分辨率图像的图像数据。但模型输出的高分辨率图像或超高分辨率图像的图像数据的画质较差,即清晰度不够高,不能够满足高画质的显示需求。
发明内容
本申请提供了一种图像数据的处理方法、相关设备以及计算机存储介质,目的在于解决高分辨率图像或超高分辨率图像画质较低的问题。
为了实现上述目的,本申请提供了以下技术方案:
第一方面,本申请公开了一种图像数据的处理方法,包括:
获取目标图像在第一分辨率下的图像数据,然后将目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中,由第一超分辨率模型得到并输出目标图像在第二分辨率下的图像数据。其中第二分辨率大于第一分辨率,第一超分辨率模型通过多个样本图像的图像数据对,对神经网络模型进行训练得到。样本图像的图像数据对,包括:样本图像在第一分辨率下的图像数据和样本图像在第二分辨率下的图像数据。对目标图像在第二分辨率下的图像数据进行锐化处理,得到目标图像在第二分辨率下的锐化后图像数据,最后对目标图像在第二分辨率下的锐化后图像数据进行下采样,得到目标图像在第三分辨率下的锐化后图像数据。其中第三分辨率小于第二分辨率。
本申请实施例中,通过将目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中,由第一超分辨率模型得到并输出目标图像在第二分辨率下的图像数据的方式,提高目标图像的分辨率,然后对目标图像在第二分辨率下的图像数据进行锐化处理,得到目标图像在第二分辨率下的锐化后图像数据,进一步提高目标图像的清晰度,最后对目标图像在第二分辨率下的锐化后图像数据进行下采样,得到目标图像在第三分辨率下的锐化后图像数据,通过下采样的方式降低分辨率,使得锐化后图像的边缘变得平滑,进而得到的目标图像在第三分辨率下的锐化后图像数据的清晰度较高,且边缘光滑,具有较高的画质。因此,将多个目标图像在第三分辨率下的锐化后图像数据用于构建数据样本集,然后使用数据样本集训练神经网络模型,得到第二超分辨率图像,该第二超分辨率图像即可实现输出高质量高分辨率的图像数据,进而基于第二超分辨率图像输出的高质量高分辨率的图像数据,可显示出高质量高分辨率的图像,满足高质量图像的显示需求。其中,数据样本集包括:多个目标图像在第四分辨率下的图像数据以及多个目标图像在第三分辨率下的锐化后图像数据,第四分辨率不大于第三分辨率。
在一种可能的实现方式中,第二分辨率为第一分辨率的超分倍数,或者第二分辨率为固定的超分辨率。
在另一种可能的实现方式中,若第二分辨率为第一分辨率的超分倍数,则对目标图像在第二分辨率下的锐化后图像数据进行下采样,得到目标图像在第三分辨率下的锐化后图像数据,包括:
对目标图像在第二分辨率下的锐化后图像数据进行特定倍数的下采样,得到目标图像在第三分辨率下的锐化后图像数据。其中特定倍数等于超分倍数,第三分辨率等于第一分辨率。
在另一种可能的实现方式中,第三分辨率大于或等于第一分辨率。
在另一种可能的实现方式中,将目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中,由第一超分辨率模型得到并输出目标图像在第二分辨率下的图像数据,包括:
将目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中,然后利用第一超分辨率模型,对目标图像在第二分辨率下的图像数据进行超分辨率渲染,得到并输出目标图像在第二分辨率下的图像数据。
在另一种可能的实现方式中,将目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中之前,还包括:
确定第一超分辨率模型的超分倍数,然后第一超分辨率模型可以基于超分倍数,对目标图像在第二分辨率下的图像数据进行超分辨率渲染,得到并输出目标图像在第二分辨率下的图像数据。
在另一种可能的实现方式中,第一超分辨率模型的创建方法,包括:
将多个样本图像在第一分辨率下的图像数据分别输入至神经网络模型中,由神经网络模型得到并输出每一个样本图像的输出图像数据。然后根据神经网络模型输出的每一个样本图像的输出图像数据与样本图像在第二分辨率下的图像数据之间的误差,对神经网络模型中的参数进行调整,直至调整后的神经网络模型输出的每一个样本图像的输出图像数据与样本图像在第二分辨率下的图像数据之间的误差,满足预设的收敛条件时,将调整后的神经网络模型确定为第一超分辨率模型。
在另一种可能的实现方式中,目标图像在第二分辨率下的图像数据,包括:目标图像在第二分辨率下的每一个像素点。其中,对目标图像在第二分辨率下的图像数据进行锐化处理,得到目标图像在第二分辨率下的锐化后图像数据,包括:
针对目标图像在第二分辨率下的每一个像素点,使用像素点的像素值、以及像素点的临近像素点的像素值,计算得到像素点的拉普拉斯算子。其中像素点的临近像素点为处于像素点的特定区域内的像素点,像素点的特定区域为以像素点为中心所确定出的区域。然后使用像素点的拉普拉斯算子、像素点的像素值、以及锐化强度,计算得到像素点的锐化后像素值。
在另一种可能的实现方式中,对目标图像在第二分辨率下的锐化后图像数据进行下采样,得到目标图像在第三分辨率下的锐化后图像数据,包括:
使用双三次插值下采样算法,对目标图像在第二分辨率下的锐化后图像数据进行下采样,得到目标图像在第三分辨率下的锐化后图像数据。
在另一种可能的实现方式中,将目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中之前,还包括:
对第一超分辨率模型进行初始化,初始化用于确定运行第一超分辨率模型以及确定第一超分辨率模型的正常运行。初始化包括运行时检查、模型加载、模型编译以及内存配置,运行时检查用于确定运行第一超分辨率模型,模型加载、模型编译以及内存配置用于确定第一超分辨率模型的正常运行。
在另一种可能的实现方式中,对目标图像在第二分辨率下的锐化后图像数据进行下采样,得到目标图像在第三分辨率下的锐化后图像数据之后,还包括:
根据目标图像在第三分辨率下的锐化后图像数据,显示目标图像。
在另一种可能的实现方式中,对目标图像在第二分辨率下的锐化后图像数据进行下采样,得到目标图像在第三分辨率下的锐化后图像数据之后,还包括:
构建数据样本集;数据样本集包括:多个目标图像在第四分辨率下的图像数据以及多个目标图像在第三分辨率下的锐化后图像数据;第四分辨率不大于第三分辨率。将多个目标图像在第四分辨率下的图像数据分别输入至神经网络模型中,由神经网络模型得到并输出每一个目标图像的输出图像数据。最后根据神经网络模型输出的每一个目标图像的输出图像数据与目标图像在第三分辨率下的锐化后图像数据之间的误差,对神经网络模型中的参数进行调整,直至调整后的神经网络模型输出的每一个目标图像的输出图像数据与目标图像在第三分辨率下的锐化后图像数据之间的误差,满足预设的收敛条件时,将调整后的神经网络模型确定为第二超分辨率模型。
第二方面,本申请公开了一种图像数据的处理系统,包括:
第一电子设备,用于执行如上述第一方面中任一的图像数据的处理方法。
与第一电子设备相连的第二电子设备,第二电子包括第一处理器、第二处理器以及第三处理器,第二电子设备用于:
第一处理器接收应用程序下发的渲染命令,渲染命令用于指示第二处理器基于第五分辨率对第一图像进行渲染,第一处理器向第二处理器发送渲染指令,渲染指令用于指示第二处理器对第一图像进行渲染,第二处理器基于渲染指令,生成第一图像在第四分辨率下的图像数据,第四分辨率不大于第五分辨率,第三处理器利用第二超分辨率模型,对第一图像在第四分辨率下的图像数据进行超分辨率渲染,生成第一图像在第三分辨率下的锐化后图像数据;第二超分辨率模型通过数据样本集对神经网络模型进行训练得到;数据样本集包括:多个目标图像在第四分辨率下的图像数据以及多个目标图像在第三分辨率下的锐化后图像数据;第四分辨率不大于第三分辨率,第二处理器根据第一图像在第三分辨率下的锐化后图像数据,显示第一图像。
在一种可能的实现方式中,第三分辨率大于或等于第五分辨率。
第三方面,本申请公开了一种电子设备,电子设备包括:一个或多个处理器和存储器,存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,电子设备执行如上述第一方面中任一项的图像数据的处理方法。
第四方面,本申请公开了一种计算机存储介质,计算机存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备中的处理器执行如上述第一方面任意一项的图像数据的处理方法。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
图1为采用多个处理器共同配合渲染图像的示意图;
图2为本申请提供的图像数据的处理方法的应用场景示意图;
图3a为本申请提供的一种图像数据的处理方法的流程示意图;
图3b为本申请提供的第一超分辨率模型的训练过程的流程示意图一;
图3c为本申请提供第一超分辨率模型的训练过程的流程示意图二;
图3d为本申请提供的图像数据的处理过程的图像变化示意图;
图3e为本申请提供的锐化过程中的拉普拉斯算子对应的模板示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例涉及的多个,是指大于或等于两个。需要说明的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
在用户使用电子设备的过程中,电子设备可以通过显示屏向用户显示一帧帧图像。以视频流为例,一个视频流可以包括多帧图像,电子设备可以在显示屏上依次显示每帧图像,实现在显示屏上显示视频流。其中图像显示可以由电子设备中的应用程序触发,应用程序可以向电子设备发出针对不同图像的渲染命令,电子设备响应渲染命令进行图像的渲染,并基于图像的渲染结果进行显示。
具体的,如图1所示,一种采用多个处理器共同配合渲染图像的方案中,应用程序向中央处理器(Central Processing Unit,CPU)发送渲染命令,渲染命令用于指示GPU使用高分辨率渲染第N帧图像。
其中,高分辨率可以是1080P,还可以是2k。在一些实施例中,渲染命令还可以指示使用超高分辨率渲染图像,超高分辨率可以是4k。其中P表示像素总行数,如1080P表示有1080行像素,k表示像素总列数,如2k表示有2000列像素。一个分辨率下图像的宽和高是固定的,例如图像的分辨率是720P时,图像的宽是1280、图像的高是720。本实施例中,可以将1920×1080及以上的图像认为是高分辨率。在另一些实施例中,也可以设定其他形式的高分辨率的标准。本申请实施例中对于区分低分辨率、高分辨率、超高分辨率的标准的形式不作限制。
CPU响应于渲染命令,向图形处理器(Graphics Processing Unit,GPU)发送渲染指令,该渲染指令指示GPU使用低分辨率渲染第N帧图像。其中,低分辨率可以是540P。
GPU在接收到渲染指令后,响应于渲染指令,生成低分辨率的第N帧图像的图像数据。GPU将低分辨率的第N帧图像的图像数据发送给神经网络处理器(Neural-networkProcessing Unit,NPU),NPU中预配置有人工智能超分辨率模型。NPU将低分辨率的第N帧图像的图像数据输入至人工智能超分辨率模型中,输出高分辨率的第N帧图像的图像数据。NPU将人工智能超分辨率模型所输出的高分辨率的第N帧图像的图像数据发送给GPU,GPU根据高分辨率的第N帧图像的图像数据,在显示屏上显示高分辨率的第N帧图像。
其中,人工智能超分辨率模型通过数据样本集中的多个图像数据对,对神经网络模型进行训练得到。图像数据对包括:原生低分辨率图像的图像数据和原生高分辨率图像的图像数据,图像数据对中包括的原生低分辨率图像的图像数据和原生高分辨率图像的图像数据,均属于同一个样本图像的图像数据。本申请实施例中,可以将原生低分辨率图像的图像数据理解为图像在低分辨率下的图像数据,原生高分辨率图像的图像数据可以理解为图像在高分辨率下的图像数据。
人工智能超分辨率模型输出的第N帧图像的图像数据的分辨率,可以与渲染命令所指示的高分辨率相等,也可以是接近于渲染命令中指示的高分辨率。人工智能超分辨率模型输出的第N帧图像的图像数据的分辨率高于GPU生成的第N帧图像的图像数据的分辨率。
从上述采用多个处理器共同配合渲染图像的方案中可以看出,在CPU、GPU和NPU控制渲染过程时,NPU可以生成高分辨率图像和/或超高分辨率图像,主动调用NPU的算力完成超分辨率渲染,满足高分辨率图像和/或超高分辨率图像的算力要求,降低电子设备的功耗,减少出现发热严重的现象。并且NPU可以分担GPU的计算量,缩短渲染过程所花费的时间,从而提高渲染流畅度。其中,上述方案中涉及到的各个处理器的类型可不做限制。
然而,上述采用多个处理器共同配合渲染图像的方案中,由于人工智能超分辨率模型输出的高分辨率的第N帧图像的图像数据清晰度较差,导致基于高分辨率的第N帧图像的图像数据,显示到显示屏上的第N帧图像的画质并不高,清晰度较低,不能够满足高画质的需求。
基于上述问题,本申请实施例提出了一种图像数据的处理方法,通过提高数据样本集中的原生高分辨率图像的质量,实现让人工智能超分辨率模型输出高质量的图像数据,进而使得显示屏基于人工智能超分辨率模型输出的高质量的图像数据,能够显示出高质量的图像。
本申请实施例提出的图像数据的处理方法,可以应用于手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等一个或多个电子设备中,即本申请实施例提出的图像数据的处理方法可由一个电子设备执行,也可以由多个电子设备配合执行,对于执行本申请实施例提出的图像数据的处理方法的电子设备不做特殊限制。
为了下述对本申请提出的图像数据的处理方法的实施例描述清楚,首先给出本申请实施例中所需使用到的数据的获取场景的简要介绍:
参阅图2,本申请实施例提出的图像数据的处理方法可应用于图1示出的图像显示场景中。其中,本申请实施例提出的图像数据的处理方法应用于图2示出的电子设备201。
具体的,数据样本集中的原生高分辨率图像的图像数据输入至电子设备201中,电子设备201使用原生高分辨率图像的图像数据,本申请实施例提出的图像数据的处理方法,得到高质量高分辨率图像的图像数据。其中,数据样本集中的原生高分辨率图像的图像数据,可以参考前述对图1示出的采用多个处理器共同配合渲染图像的方案中的数据样本集的描述,此处不再赘述。
数据样本集中的原生低分辨率图像的图像数据、以及电子设备201得到的高质量高分辨率图像的图像数据输入至电子设备202中,电子设备202中使用多对原生低分辨率图像的图像数据和高质量高分辨率图像的图像数据,训练得到人工智能超分辨率模型。由于训练人工智能超分辨率模型时,使用了高质量高分辨率图像的图像数据作为参考图像数据,进而最终得到的人工智能超分辨率模型能够通过低分辨率图像的图像数据,得到并输出高质量高分辨率图像的图像数据。
电子设备202得到的人工智能超分辨率模型预配置到电子设备203中的NPU。当电子设备203需要在显示屏显示第N帧图像时,电子设备203执行如前述图1中示出的采用多个处理器共同配合渲染图像的方案中的图像渲染过程,具体可参阅前述对图1中示出的采用多个处理器共同配合渲染图像的方案的描述,此处不再赘述。
区别于图1示出的方案,由于训练人工智能超分辨率模型时,使用的高画质高分辨率图像的图像数据,比原本数据样本集中的原生高分辨率图像的图像数据更为高画质,即清晰度更高,进而使得人工智能超分辨率模型所得到的图像数据具有更高的画质,显示屏上能够显示高质量高分辨率的图像。
在另一些实施例中,也可以不采用电子设备202训练人工智能超分辨率模型,而是直接使用电子设备203训练人工智能超分辨率模型,还可以是使用电子设备201训练人工智能超分辨率模型,本申请实施例对于训练人工智能超分辨率模型的设备不做限制。
需要说明的是,本申请实施例提出的图像数据的处理方法除了图2示出的场景之外,还可以应用于其他需要提高图像清晰度(即提高图像画质)的场景中,例如有其他场景需要提高一些高分辨率图像的画质,则可以将高分辨率图像的图像数据输入至电子设备201中,由电子设备202执行本申请实施例提出的任一图像数据的处理方法,进而得到高质量高分辨率图像的图像数据。在另一些实施例中,本申请实施例提出的任一图像数据的处理方法也可以用于提高低分辨率或者超高分辨率图像的画质的场景。
下面对本申请实施例提出的图像数据的处理方法进行介绍。
参阅图3a,图3a为本申请实施例提出的一种图像数据的处理方法的流程图,应用于电子设备,具体包括以下步骤:
S301、预配置第一超高分辨率模型,其中,第一超分辨率模型用于对目标图像在高分辨率下的图像数据进行超分辨率渲染,得到目标图像在超高分辨率下的图像数据。
其中,输入至第一超分辨率模型的图像数据的分辨率,低于第一超分辨率模型输出的图像数据的分辨率。目标图像指的是需要提升画质的图像,例如可以是图2示出的场景中,数据样本集的原生高分辨率图像。第一超高分辨率模型是预先使用图库中的多个图像数据对,对神经网络模型进行训练得到的。图像数据对,包括:样本图像在高分辨率下的图像数据和样本图像在超高分辨率下的图像数据。本申请实施例中,将同一个样本图像在高分辨率下的图像数据和在超高分辨率下的图像数据,称为该样本图像的图像数据对。
在一些实施例中,执行步骤S301的过程可以是:将预先训练得到的第一超高分辨率模型,使用转换工具(Conversion tools)转换成电子设备可识别的模型文件,预配置在电子设备中。示例性的,可以配置在电子设备的CPU、GPU、NPU或者其他类型的具有较高的运算能力的处理器中。示例性的,模型文件中可携带有第一超高分辨率模型的模型参数,进而电子设备可以通过模型文件,运行第一超高分辨率模型。
在一些实施例中,训练第一超高分辨率模型的电子设备,可以与执行本申请实施例的图像数据的处理方法的电子设备为同一设备,也可以为不同的两个电子设备。第一超分辨率模型可以使用TensorFlow、PyTorch等训练框架进行离线训练。但是一些电子设备不支持TensorFlow、PyTorch等训练框架,例如NNAPI(AndroidNeuralNetworks API)等手机支持的模型格式与TensorFlow和PyTorch等不相同,NNAPI支持的模型格式为TensorFlowLite,如果以TensorFlow、PyTorch等训练框架离线训练出AI超分辨率模型,可以将TensorFlow,PyTorch等格式的AI超分辨率模型转换为DLC或是TensorFlow Lite等格式,以便于在手机等设备中使用。
在一些实施例中,第一超分辨率模型可以将目标图像在第一分辨率下的图像数据进行超分辨率渲染,得到目标图像在第二分辨率下的图像数据。示例性的,第二分辨率为第一分辨率的N倍,N可以是2,4等大于1的正数。示例性的,第二分辨率也可以是一个固定的超高分辨率,例如可以是4K。即第一超分辨率模型的作用是将输入的图像数据的分辨率提高,并将提高分辨率之后的图像数据输出。
在一些实施例中,用于训练第一超高分辨率模型的多个图像数据对,除了可以来源于图库,还可以来源于浏览器、图像软件等等,图库可以是DIV2K数据集等类型的数据集。多个图像数据对的来源本申请实施例不作限制。
在一些实施例中,为了使得后续使用第一超高分辨率模型时,模型输出的图像数据的渲染风格能够与输入的图像数据的渲染风格保持一致,可以使得图像数据对中的图像数据的渲染风格相似或相同。即样本图像在高分辨率下的图像数据和样本图像在超高分辨率下的图像数据的渲染风格相似或相同。
在一些实施例中,可以优先选取画质质量表现好的神经网络模型来训练出第一超高分辨率模型。示例性的神经网络模型的画质质量表现好的标准可以依据峰值信噪比(Peak Signal to Noise Ratio,PSNR)度量、结构相似性(Structural Similarity,SSIM)等指标设定。示例性的,可以选择增强的单图像超分辨率深度残差网络(Enhanced DeepResidual Networks for Single Image Super-Resolution,EDSR)来训练得到第一超高分辨率模型。在另一些实施例中,若第一超高分辨率模型还需要进行在线训练,而不是离线训练,则可以优先使用计算量较小的神经网络模型。具体的,训练时使用的神经网络模型的类型可根据实际需求来确定,本申请实施例对于训练时使用的神经网络模型的类型不作限制。
在一些实施例中,如图3b示出,第一超高分辨率模型的训练过程为:
S3011、将多个图像数据对中每一个样本图像在高分辨率下的图像数据,分别输入至神经网络模型中,由神经网络模型分别得到并输出每一个样本图像的输出图像数据。
其中,图像数据对包括:样本图像在高分辨率下的图像数据,以及样本图像在超高分辨率下的图像数据。
样本图像的输出图像数据为神经网络模型输出的样本图像的图像数据。示例性的,在本实施例中,为了训练出能够将原本的图像的分辨率提高至N倍的分辨率的第一超高分辨率模型,可以选取每一个图像数据对中的样本图像在超高分辨率下的图像数据,均为样本图像在高分辨率下的图像数据的分辨率的N倍。示例性的,N可以为2。例如在某一个图像数据对中,样本图像在超高分辨率下的图像数据为1080P的图像数据,样本图像在高分辨率下的图像数据为540P的图像数据。
其中,本申请实施例中的不同的图像数据对中,图像数据的分辨率关系均是相同的,但图像数据的分辨率的大小可以是不相同的。例如,一个样本图像的图像数据对中包括540P和1080P的图像数据,另一个图像数据对中包括2k的图像数据和4k的图像数据,即步骤S3011中使用到的图像数据对只需要均为2倍的分辨率关系即可。
神经网络模型初始化的参数可以是随机的。针对每一个样本图像在高分辨率下的图像数据,将该样本图像在高分辨率下的图像数据输入至神经网络模型中后,神经网络模型会根据模型中的参数对输入的图像数据进行计算,得到该样本图像的输出图像数据,并将该样本图像的输出图像数据进行输出。
需要说明的是,本申请实施例对于图像数据对的数量可不作限制,但用于训练神经网络模型的图像数据对数量越多,则训练出的第一超高分辨率模型的准确度越高。
S3012、根据神经网络模型输出的每一个样本图像的输出图像数据与该样本图像在超高分辨率下的图像数据之间的误差,对神经网络模型中的参数进行不断调整,直至调整后的神经网络模型所输出的每一个样本图像的输出图像数据和该样本图像在超高分辨率下的图像数据之间的误差满足预设的收敛条件,将调整后的神经网络模型确定为第一超高分辨率模型。
针对每一个样本图像,步骤S3012中的神经网络模型所输出的该样本图像的输出图像数据,和图像数据对中该样本图像的在超高分辨率下的图像数据之间是存在着误差的。具体的,将该样本图像在超高分辨率下的图像数据作为参考数据,通过该样本图像的输出图像数据的分辨率与该样本图像在超高分辨率下的图像数据的分辨率、像素值等方面存在的误差,不断调整神经网络模型中的参数,使得神经网络模型所输出的该样本图像的输出图像数据,和该样本图像在超高分辨率下的图像数据之间的误差能够满足预设的收敛条件,然后将调整后的神经网络模型确定为第一超高分辨率模型。
示例性的,神经网络模型所输出的该样本图像的输出图像数据和图像数据对中该样本图像的在超高分辨率下的图像数据之间的误差,可以通过损失函数计算得到。损失函数的具体函数表达式本申请实施例不作限制。
示例性的,预设的收敛条件可以是误差小于预设的误差阈值,误差阈值可以根据实际需求进行设定。若需要模型的精度较高,则可以设定较小的误差阈值。
当神经网络模型所输出的该样本图像的输出图像数据和图像数据对中该样本图像的在超高分辨率下的图像数据之间的误差不满足预设的收敛条件时,说明神经网络模型所输出的该样本图像的输出图像数据与图像数据对中该样本图像的在超高分辨率下的图像数据之间的相似程度不能够满足要求,准确度不够高,因此需要根据误差调整神经网络模型中的参数,以使得神经网络模型所输出的该样本图像的输出图像数据和图像数据对中该样本图像的在超高分辨率下的图像数据越来越接近。
具体的,步骤S3011至步骤S3012的执行过程可以如图3c所示,多次重复将多个图像数据对中每一个样本图像在高分辨率下的图像数据,分别输入至神经网络模型中,由神经网络模型分别得到并输出每一个样本图像的输出图像数据。使用损失函数,计算神经网络模型输出的每一个样本图像的输出图像数据与该样本图像在超高分辨率下的图像数据之间的误差。如果误差满足预设的收敛条件,则对神经网络模型中的参数进行调整,继续将多个图像数据对中每一个样本图像在高分辨率下的图像数据,分别输入至神经网络模型中。经过多次使用误差对模型的参数进行调整,误差会逐渐收敛,直至满足预设的收敛条件时,认为当前训练出的神经网络模型的输出图像数据接近于该样本图像在超高分辨率下的图像数据,然后停止对神经网络模型的训练,将调整后的神经网络模型确定为第一超高分辨率模型。
需要说明的是,图3b仅仅是本申请实施例训练得到第一超高分辨率模型的一种方式,在另一些实施例中,还可以参考图3b示出的方法,训练得到能够输出固定的超高分辨率的图像数据的第一超高分辨率模型。也可以训练出能够提高至指定的分辨率倍数的第一超高分辨率模型,即训练得到能够提高分辨率的第一超高分辨率模型的方式有很多,本申请实施例对此不作限制。
在另一些实施例中,步骤S301中配置的第一超分辨率模型可以有多个,不同模型所具有的提升分辨率的能力不同。例如一个第一超分辨率模型能够将原本的分辨率提升至2倍分辨率,另一个第一超分辨率模型则可以将原本的分辨率提升至4倍分辨率。
还需要说明的是,步骤S301中预配置第一超高分辨率模型之后,后续在对多张目标图像分别执行步骤S303至步骤S306时,可以不再重复执行步骤S301。在另一些实施例中,若需要再次使用新的多个图像数据对,对第一超高分辨率模型进行训练,导致第一超高分辨率模型的参数有更新的情况时,可以再重新执行步骤S301,即重新配置最新的第一超高分辨率模型。
S302、对第一超分辨率模型进行初始化,通过初始化操作确定是否运行第一超分辨率模型以及如果运行确保第一超分辨率模型可以正常运行。
第一超分辨率模型的初始化包括运行时检查、模型加载、模型编译以及内存配置,运行时检查是为了确定是否运行第一超分辨率模型,模型加载、模型编译以及内存配置是为了确保第一超分辨率模型可以正常运行。
在一些实现中,运行时检查包括检查电子设备中是否配置有第一超分辨率模型。若检查到未配置第一超分辨率模型,则结束流程。若检查到配置有第一超分辨率模型,则确保第一超分辨率模型可以正常运行。在另一些实施例中,若检查到未配置有第一超分辨率模型,可能是第一超分辨率模型在步骤S301时配置失败、配置错误等原因,因此可以重新执行步骤S301,重新对第一超分辨率模型进行配置,直至步骤S302中能够检查出配置有第一超分辨率模型。
模型加载是将第一超分辨率模型转换成电子设备可识别的模型文件,在初始化阶段将模型文件加载到内存中,模型编译是为了验证模型文件能够成功运行;内存配置是为第一超分辨率模型分配内存,所分配的内存用于存储第一超分辨率模型的输入数据和输出数据,在本实施例中为第一超分辨率模型分配的内存可以是CPU内存、Neural ProcessingAPI管理的内存(如SNPE ITensorbuffer)、或共享内存。
CPU内存可以是为CPU分配的内存,CPU运行过程中使用的数据写入到CPU内存中,第一超分辨率模型占用CPU内存的部分空间作为第一超分辨率模型的内存。共享内存可以是电子设备的多个处理器共用的内存。
在这里说明一点,触发电子设备对第一超分辨率模型初始化的方式有很多,例如可以是在电子设备启动时,自动触发执行步骤S302,又例如,可以是当用户需要对目标图像进行处理时,执行初始化的操作,电子设备响应于用户的初始化操作,对第一超分辨率模型初始化,本申请实施例对此不作限制。
在一些实施例中,可以是每需要对一个目标图像的图像数据进行处理时,均执行一次步骤S302,确保能够通过第一超分辨率模型正常处理目标图像的图像数据。在另一些实施例中,也可以是仅执行一次步骤S302后,保持第一超分辨率模型处于运行状态,后续则不再初始化第一超分辨率模型。
在另一些实施例中,也可以是第一超分辨率模型已完成初始化,进而不再需要执行步骤S302。
S303、获取目标图像在高分辨率下的图像数据。
其中,目标图像可以是前述图2示出的场景中提及的数据样本集中的原生高分辨率图像,也可以是其他场景中需要提高画质的图像。
获取目标图像在高分辨率下的图像数据的方式有很多,例如可以是将目标图像在高分辨率下的图像数据下载至电子设备中,由电子设备的CPU则将目标图像在高分辨率下的图像数据写入到内存中的第一区域内。其中第一区域可以是第一超分辨率模型的输入内存和输出内存,在第一超分辨率模型输入数据时作为第一超分辨率模型输入内存使用,在第一超分辨率模型输出数据时作为第一超分辨率模型的输出内存使用,第一区域的大小本申请实施例不作限制。
在另一些实施例中,目标图像也可以是预先存储在内存中,执行步骤S303时,可以通过读取内存的方式,获取到目标图像在高分辨率下的图像数据。
在一些实施例中,步骤S303可以是用户通过操作触发执行的,例如用户执行处理目标图像的操作,触发电子设备获取目标图像在高分辨率下的图像数据。本申请实施例对于获取目标图像在高分辨率下的图像数据的具体方式不作限制。
S304、将目标图像在高分辨率下的图像数据输入到运行的第一超分辨率模型中,由第一超分辨率模型对目标图像在高分辨率下的图像数据进行超分辨率渲染,输出目标图像在超高分辨率下的图像数据。
由前述步骤S301部分对第一超分辨率模型的描述可知,第一超分辨率模型用于对目标图像在高分辨率下的图像数据进行超分辨率渲染,得到目标图像在超高分辨率下的图像数据。因此将目标图像在高分辨率下的图像数据输入到运行的第一超分辨率模型之后,第一超分辨率模型使用模型中的参数对目标图像在高分辨率下的图像数据进行计算处理,能够得到目标图像在超高分辨率下的图像数据。
在一些实施例中,若第一超分辨率模型采用图3b示出的方法训练得到,则第一超分辨率模型能够将输入的图像数据的原本的分辨率提高至N倍。示例性的,例如N可以为2,如图3d所示,将图3d的(1)所示的高分辨率的目标图像的图像数据输入到第一超分辨率模型之后,第一超分辨率模型输出了如图3d的(2)所示的超高分辨率的目标图像的图像数据。图3d的(2)所示的超高分辨率的目标图像的分辨率为图3d的(1)所示的目标图像的分辨率的2倍。
在另一些实施例中,第一超分辨率模型可以按照用于根据指定的超分倍数,对目标图像在高分辨率下的图像数据进行超分辨率渲染,得到目标图像在超高分辨率下的图像数据。进而在执行步骤S304之前,还可以包括,指定目标图像的超分倍数,其中超分倍数指的是需要将原本的分辨率提高的倍数。在指定目标图像的超分倍数之后,可以将目标图像在高分辨率下的图像数据,输入到与指定的超分倍数对应的第一超分辨率模型中,由第一超分辨率模型对高分辨率的图像数据进行超分辨率渲染,输出目标图像在超高分辨率下的图像数据。此时第一超分辨率模型输出的图像数据相较于输入的图像数据的分辨率提高了指定的超分倍数。例如,指定的超分倍数为2,那么输出的图像数据的分辨率为输入的图像数据的2倍。
在一些实施例中,若步骤S303中获取到的目标图像在高分辨率下的图像数据若存储在指定的第一区域内,则执行步骤S304的过程可以是,从第一区域内读取目标图像在高分辨率下的图像数据,将读取到的目标图像在高分辨率下的图像数据输入至运行的第一超分辨率模型中,然后由第一超分辨率模型对目标图像在高分辨率下的图像数据进行超分辨率渲染计算,输出目标图像在超高分辨率下的图像数据。
S305、对目标图像在超高分辨率下的图像数据进行锐化处理,得到目标图像在超高分辨率下的锐化后图像数据。
其中,目标图像在超高分辨率下的锐化后图像数据,分辨率与第一超分辨率模型输出的图像数据一致,但使用锐化处理后,清晰度得到提高。例如,图3d的(3)所示,图3d的(2)示出的超高分辨率的图像经过锐化处理后,变为图3d的(3),图3d的(2)和(3)分辨率一致,但图3d的(3)清晰度更大。由于锐化处理,能够提取出图像中的高频信息,进而能够提升图像的清晰度。
示例性的,执行步骤S305的过程可以是:使用锐化算法,对目标图像在超高分辨率下的图像数据进行锐化处理,得到目标图像在超高分辨率下的锐化后图像数据。
目标图像在超高分辨率下的图像数据可以理解为是目标图像在超高分辨率下的每一个像素点的数据。像素点的数据包括像素点的位置以及像素点的像素值。锐化算法的具体表达式有很多种,在一些实施例中,可以使用空域的拉普拉斯算子作为锐化算法中的二阶微分算子。其中,目标图像在超高分辨率下的图像数据中的(x,y)处的像素点的拉普拉斯算子的计算公式,可以为公式一:其中公式一中的f(x,y)为目标图像在超高分辨率下的图像数据中的(x,y)处像素点的像素值,f(x+1,y)为目标图像在超高分辨率下的图像数据中的(x+1,y)处的像素点的像素值,f(x-1,y)为目标图像在超高分辨率下的图像数据中的(x-1,y)处像素点的像素值,f(x,y+1)为目标图像在超高分辨率下的图像数据中的(x,y+1)处的像素点的像素值,f(x,y-1)为目标图像在超高分辨率下的图像数据中的(x,y-1)处像素点的像素值。
在另一些实施例中,目标图像在超高分辨率下的图像数据中的(x,y)处像素点的拉普拉斯算子的计算公式,还可以为公式二:
+f(x+1,y+1)+f(x-1,y+1)+f(x+1,y-1)+f(x-1,y-1)]-8f(x,y)
其中,公式二中的f(x,y)为目标图像在超高分辨率下的图像数据中的(x,y)处像素点的像素值,f(x+1,y)为目标图像在超高分辨率下的图像数据中的(x+1,y)处像素点的像素值,f(x-1,y)为目标图像在超高分辨率下的图像数据中的(x-1,y)像素点处的像素值,f(x,y+1)为目标图像在超高分辨率下的图像数据中的(x,y+1)像素点处的像素值,f(x,y-1)为目标图像在超高分辨率下的图像数据中的(x,y-1)处像素点的像素值,f(x+1,y+1)为目标图像在超高分辨率下的图像数据中的(x+1,y+1)处像素点的像素值,f(x+1,y-1)为目标图像在超高分辨率下的图像数据中的(x+1,y-1)处像素点的像素值,f(x-1,y+1)为目标图像在超高分辨率下的图像数据中的(x-1,y+1)处像素点的像素值,f(x-1,y-1)为目标图像在超高分辨率下的图像数据中的(x-1,y-1)处像素点的像素值。
基于前述提及的(x,y)处的拉普拉斯算子的公式一和公式二可以看出,拉普拉斯算子是采用了(x,y)处,以及(x,y)的临近像素点的像素值计算得到的,提取了(x,y)周边的信息。除了公式一和公式二外,拉普拉斯算子还有其他的采用了(x,y)处,以及(x,y)周围的点的像素值的计算表达式,本申请实施例对此不再赘述。其中,(x,y)处像素点的临近像素点为处于(x,y)处像素点的特定区域内除了(x,y)以外的像素点。(x,y)处像素点的特定区域为以(x,y)处像素点为中心所确定出的区域。具体可以是一个矩形网格区域,或者其他形状的区域,本申请实施例对此不作限制。
基于前述提及的拉普拉斯算子,目标图像在超高分辨率下的锐化后图像数据中(x,y)处的像素值,可以采用公式三计算得到。公式三为:
其中,g(x,y)为目标图像在超高分辨率下的锐化后图像数据中(x,y)处像素点的锐化后像素值。f(x,y)为目标图像在超高分辨率下的图像数据中的(x,y)处像素点的像素值。α为用来控制锐化强度的系数。为(x,y)处像素点的拉普拉斯算子,可以采用前述提及的公式一或公式二计算得到。α取值越大,那么锐化强度越大,具体可根据实际需求设定α的取值。
通过公式三可以计算出目标图像在超高分辨率下的每一个像素点的锐化后像素值。目标图像在超高分辨率下的锐化后图像数据包括:出目标图像在超高分辨率下的每一个锐化后像素点。锐化后像素点的像素值可以为通过公式三中计算得到的锐化后像素值。
示例性的,如图3e的所示,图3e的(1)示出了公式一对应的模板,公式一对应的模板11为90°旋转各向同性的模板,即模板11旋转90°后依然不变。如图3e的(2)所示,图3e的(2)示出了公式二对应的模板,该模板为45°旋转各向同性的模板,即模板旋转45°后依然不变。使用可用于锐化处理的模板,可用于锐化处理的模板可以是图3e的(1)或者图3e的(2),对目标图像在超高分辨率下的图像数据进行叠加处理,具体叠加处理过程可使用公式三进行计算,即可得到目标图像在超高分辨率下的锐化后图像数据。
由步骤S305的相关描述可知,执行步骤S305的过程可以是针对目标图像在第二分辨率下的每一个像素点,使用该像素点的像素值、以及该像素点的临近像素点的像素值,计算得到该像素点的拉普拉斯算子,然后使用像素点的拉普拉斯算子、像素点的像素值、以及锐化强度,计算得到像素点的锐化后像素值。具体的计算过程可以参考公式一、公式二以及公式三的相关描述,计算过程可使用到的算法还可以有其他的形式,本申请实施例对此不作限制。
S306、对目标图像在超高分辨率下的锐化后图像数据进行下采样,得到目标图像在高分辨率下的高质量图像数据。
其中。步骤S306中得到的目标图像在高分辨率下的高质量图像数据,与步骤S303中获取到的目标图像在高分辨率下的图像数据的分辨率相同。目标图像在高分辨率下的高质量图像数据,可以理解为是目标图像在高分辨率下的锐化后图像数据。
示例性的,如图3d所示,图3d的(3)所示出的目标图像锐化后的超高分辨率图像,经过下采样处理之后,变为图3d的(4),图3d的(4)的分辨率小于图3d的(3),图3d的(4)的分辨率与图3d的(1)示出的目标图像在高分辨率下的图像分辨率一致。
对目标图像在超高分辨率下的锐化后图像数据进行下采样,可以理解为缩小图像,即降低图像的分辨率。示例性的,执行步骤S306的过程可以为,对目标图像在超高分辨率下的锐化后图像数据进行特定倍数下采样,得到目标图像在高分辨率下的高质量图像数据。其中,特定倍数可以等于前述步骤S304中第一超分辨率模型的超分倍数。
对目标图像在超高分辨率下的锐化后图像数据进行特定倍数下采样,可以理解为将目标图像在超高分辨率下的锐化后图像数据的分辨率,缩小特定倍数。
举例说明,步骤S303中获取的图像数据的初始分辨率为540P,图像的宽和高为960×540,示例性的如图3d的(1)所示。而第一超分辨率模型的超分倍数为2,通过步骤S304,第一超分辨率模型能够完成从540P到1080P的转换,说明是对540P图像放大了2倍,示例性的如图3d的(2)所示。后续经过锐化处理,图像的分辨率依然为1080P,但清晰度提升,示例性的如图3d的(3)所示。然后为了平滑图像中的锯齿形状,且为了使图像恢复到初始分辨率,又对图像进行下采样处理,将图像下采样2倍,即分辨率缩小2倍,图像恢复到540P,示例性的如图3d的(4)所示。
在一些实施例中,执行步骤S306的方式为,使用下采样算法,对目标图像在超高分辨率下的锐化后图像数据进行下采样,得到目标图像在高分辨率下的高质量图像数据。其中,下采样算法有很多种,例如可以是二次插值下采样、双三次插值下采样等等。在本申请实施例中,可以使用下采样效果较好的双三次插值下采样算法,对目标图像在超高分辨率下的锐化后图像数据进行特定倍数下采样,得到目标图像在高分辨率下的高质量图像数据。使用双三次插值下采样算法,计算点(x,y)下采样后的像素值时,是通过点(x,y)在矩形网格中最近的十六个采样点的像素值加权平均得到。本申请实施例对于下采样算法的具体算法类型不作限制。
由图3d的(1)和图3d的(4)可以看出,虽然图像的分辨率没有变,但是经过步骤S303至S306的处理后,图3d的(4)的清晰度明显高于图3d的(1),画质更强。
本申请实施例中,为了得到高质量高分辨率的图像数据,在图3示出的流程中,通过步骤S304,将目标图像在高分辨率下的图像数据的分辨率提高,得到目标图像在超高分辨率下的图像数据,然后通过步骤S305对目标图像在超高分辨率下的图像数据进行锐化处理,提高图像数据的清晰度,得到目标图像在超高分辨率下的锐化后图像数据。然后再通过步骤S306对目标图像在超高分辨率下的锐化后图像数据进行下采样处理,降低目标图像在超高分辨率下的锐化后图像数据的分辨率,得到目标图像在高分辨率下的高质量图像数据。该目标图像在高分辨率下的高质量图像数据与步骤S303中获取到的图像数据的初始分辨率一致。
由于本申请实施例中是在提高分辨率后的图像上进行的锐化处理,后续进行下采样缩小图像之后,能够消除锐化图像导致的锯齿现象,使得图像中的边缘位置平滑,最终得到的目标图像在高分辨率下的高质量图像数据显示到显示屏上时,不会出现锯齿形状,且清晰度相较于原本步骤S303中获取的图像更高。
需要说明的是,步骤S303至步骤S306是针对一张目标图像的处理过程,当步骤S303中获取到的是多种目标图像时,针对每一张目标图像的图像数据的处理过程,均可参考前述步骤S303至步骤S306的相关描述,此处不再赘述。
在另一些实施例中,目标图像在高分辨率下的高质量图像数据的分辨率,可以大于或者等于步骤S303中获取到的目标图像在高分辨率下的图像数据的分辨率。当目标图像在高分辨率下的高质量图像数据的分辨率,大于步骤S303中获取到的目标图像在高分辨率下的图像数据的分辨率时,可进一步从分辨率上提高图像数据的质量。
为了描述更为简洁,将前述图3a的描述中的目标图像在高分辨率下的图像数据,统称为目标图像在第一分辨率下的图像数据。将目标图像在超高分辨率下的图像数据统称为目标图像在第二分辨率下的图像数据。其中,第二分辨率大于第一分辨率。而目标图像在高分辨率下的高质量图像数据则统称为目标图像在第三分辨率下的锐化后图像数据。第三分辨率小于第二分辨率。且第三分辨率可以大于或等于第一分辨率。而图2场景中的人工智能超分辨率模型,简称为第二超分辨率模型。图2场景中的用于训练第二超分辨率模型的数据样本集中的高画质高分辨率图像的图像数据,简称为目标图像在第三分辨率下的锐化后图像数据,原生低分辨率图像的图像数据,则简称为目标图像在第四分辨率下的图像数据。其中,第四分辨率不大于第三分辨率。图2和图1场景中的渲染命令用于指示GPU使用高分辨率渲染第N帧图像。其中渲染命令指示的高分辨率可以用第五分辨率表示。图1和图2场景中的CPU简称为第一处理器,GPU简称为第二处理器,NPU简称为第三处理器。第N帧图像简称为第一图像。第一处理器、第二处理器以及第三处理器的具体处理器类型本申请实施例不作限制。
具体的,基于前述图3a的步骤S303至步骤S306描述可知,本申请实施例提出的图像数据的处理方法,通过获取目标图像在第一分辨率下的图像数据,将目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中,由第一超分辨率模型得到并输出目标图像在第二分辨率下的图像数据。其中第二分辨率大于第一分辨率,第一超分辨率模型通过多个样本图像的图像数据对,对神经网络模型进行训练得到,样本图像的图像数据对,包括:样本图像在第一分辨率下的图像数据和样本图像在第二分辨率下的图像数据。
然后对目标图像在第二分辨率下的图像数据进行锐化处理,得到目标图像在第二分辨率下的锐化后图像数据,再对目标图像在第二分辨率下的锐化后图像数据进行下采样,得到目标图像在第三分辨率下的锐化后图像数据。第三分辨率小于第二分辨率。
由于目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中后,能提高分辨率,输出目标图像在第二分辨率下的图像数据。而目标图像在第二分辨率下的图像数据进行锐化处理之后,又在经过下采样处理,可以得到目标图像在第三分辨率下的锐化后图像数据。由于目标图像在第三分辨率下的锐化后图像数据是通过先提高目标图像在第一分辨率下的图像数据的分辨率,再进行锐化,然后进行下采样得到的,因此目标图像在第三分辨率下的锐化后图像数据能够在显示屏上显示出清晰度高、分辨率高、且边缘平滑的高质量图像。
步骤S306得到的目标图像在高分辨率下的高质量图像数据,相当于是图2中提及的高质量高分辨率图像的图像数据,可应用于图2示出的场景中,即用于将数据样本集中的每一个原生高分辨率图像的图像数据,替换成采用图3示出的方法中得到的高质量高分辨率图像的图像数据。进而可使用多张原生低分辨率图像的图像数据以及高质量高分辨率图像的图像数据,进行人工智能超分辨率模型的训练,以使得人工智能超分辨率模型能够输出高质量高质量的图像数据,实现在电子设备203的显示屏上显示高质量高分辨率的图像。
具体的,基于前述图3a和图2的场景,本申请实施例可以提出一种图像数据的处理系统,包括第一电子设备和第二电子设备。其中,第一电子设备可以是图2中的电子设备201,第二电子设备可以是图2中的电子设备203。
其中,第一电子设备和第二电子设备相连。第一电子设备用于执行如前述本申请实施例提出的任一图像数据的处理方法。
第二电子包括第一处理器、第二处理器以及第三处理器,该第二电子设备用于:
第一处理器接收应用程序下发的渲染命令,渲染命令用于指示第二处理器基于第五分辨率对第一图像进行渲染。然后第一处理器向第二处理器发送渲染指令,渲染指令用于指示第二处理器对第一图像进行渲染。第二处理器基于渲染指令,生成第一图像在第四分辨率下的图像数据。第四分辨率不大于第五分辨率。第三处理器利用第二超分辨率模型,对第一图像在第四分辨率下的图像数据进行超分辨率渲染,生成第一图像在第三分辨率下的锐化后图像数据。第二超分辨率模型通过数据样本集对神经网络模型进行训练得到。数据样本集包括:多个目标图像在第四分辨率下的图像数据以及多个目标图像在第三分辨率下的锐化后图像数据。第四分辨率不大于第三分辨率。第二处理器根据第一图像在第三分辨率下的锐化后图像数据,显示第一图像。
由于第二超分辨率模型通过数据样本集对神经网络模型进行训练得到。数据样本集包括:多个目标图像在第四分辨率下的图像数据以及多个目标图像在第三分辨率下的锐化后图像数据,而由前述对图像数据的处理方法的描述可知,目标图像在第三分辨率下的锐化后图像数据为高清高分辨率的图像数据,因此,使用第二超分辨率模型所得到的第一图像在第三分辨率下的锐化后图像数据,能够用于显示出高清高分辨率的第一图像。关于第一处理器、第二处理器以及第三处理器之间的交互流程,可以参考前述对图1和图2的相关内容的描述,此处不再赘述。
其中,第二超分辨率模型的创建过程可以是:
(1)构建数据样本集。数据样本集包括:多个目标图像在第四分辨率下的图像数据以及多个目标图像在第三分辨率下的锐化后图像数据。第四分辨率不大于第三分辨率。
(2)将多个目标图像在第四分辨率下的图像数据分别输入至神经网络模型中,由神经网络模型得到并输出每一个目标图像的输出图像数据。
(3)根据神经网络模型输出的每一个目标图像的输出图像数据与目标图像在第三分辨率下的锐化后图像数据之间的误差,对神经网络模型中的参数进行调整,直至调整后的神经网络模型输出的每一个目标图像的输出图像数据与目标图像在第三分辨率下的锐化后图像数据之间的误差,满足预设的收敛条件时,将调整后的神经网络模型确定为第二超分辨率模型。
步骤S306所得到的目标图像在高分辨率下的高质量图像数据还可以用于其他需要提升画质的场景中。例如个别场景需要显示高分辨率高清的目标图像,因此将目标图像经过图3a示出的流程进行处理,最终得到目标图像在第三分辨率下的锐化后图像数据,并基于目标图像在第三分辨率下的锐化后图像数据,在电子设备的显示屏上显示目标图像。
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中包括指令,当上述指令在具有测试装置的电子设备上运行时,使得该具有测试装置的电子设备执行本申请实施例提出的任一图像数据的处理方法步骤。
本实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如本申请实施例提出的任一图像数据的处理方法的相关方法步骤,以实现上述实施例中的方法。
本实施例还提供了一种控制设备,所述控制设备包括处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,所述控制设备执行如本申请实施例提出的任一图像数据的处理方法步骤实现上述实施例中的方法。该控制设备可以是一个集成电路IC,也可以是一个片上系统SOC。其中集成电路可以是通用集成电路,也可以是一个现场可编程门阵列FPGA,也可以是一个专用集成电路ASIC。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种图像数据的处理方法,其特征在于,包括:
获取目标图像在第一分辨率下的图像数据;
将所述目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中,由所述第一超分辨率模型得到并输出所述目标图像在第二分辨率下的图像数据;所述第二分辨率大于所述第一分辨率;所述第一超分辨率模型通过多个样本图像的图像数据对,对神经网络模型进行训练得到;所述样本图像的图像数据对,包括:样本图像在第一分辨率下的图像数据和所述样本图像在第二分辨率下的图像数据;
对所述目标图像在第二分辨率下的图像数据进行锐化处理,得到所述目标图像在第二分辨率下的锐化后图像数据;
对所述目标图像在第二分辨率下的锐化后图像数据进行下采样,得到所述目标图像在第三分辨率下的锐化后图像数据;所述第三分辨率小于所述第二分辨率;所述第三分辨率大于或等于所述第一分辨率。
2.根据权利要求1所述的方法,其特征在于,所述第二分辨率为所述第一分辨率的超分倍数,或者所述第二分辨率为固定的超分辨率。
3.根据权利要求1所述的方法,其特征在于,若所述第二分辨率为所述第一分辨率的超分倍数,则所述对所述目标图像在第二分辨率下的锐化后图像数据进行下采样,得到所述目标图像在第三分辨率下的锐化后图像数据,包括:
对所述目标图像在第二分辨率下的锐化后图像数据进行特定倍数的下采样,得到所述目标图像在第三分辨率下的锐化后图像数据;所述特定倍数等于所述超分倍数;所述第三分辨率等于所述第一分辨率。
4.根据权利要求1所述的方法,其特征在于,所述将所述目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中,由所述第一超分辨率模型得到并输出所述目标图像在第二分辨率下的图像数据,包括:
将所述目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中;
利用所述第一超分辨率模型,对所述目标图像在第二分辨率下的图像数据进行超分辨率渲染,得到并输出所述目标图像在第二分辨率下的图像数据。
5.根据权利要求4所述的方法,其特征在于,所述将所述目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中之前,还包括:
确定第一超分辨率模型的超分倍数;
所述利用所述第一超分辨率模型,对目标图像在第二分辨率下的图像数据进行超分辨率渲染,得到并输出目标图像在第二分辨率下的图像数据,包括:
所述第一超分辨率模型基于所述超分倍数,对所述目标图像在第二分辨率下的图像数据进行超分辨率渲染,得到并输出所述目标图像在第二分辨率下的图像数据。
6.根据权利要求1所述的方法,其特征在于,所述第一超分辨率模型的创建方法,包括:
将多个样本图像在第一分辨率下的图像数据分别输入至神经网络模型中,由所述神经网络模型得到并输出每一个所述样本图像的输出图像数据;
根据所述神经网络模型输出的每一个所述样本图像的输出图像数据与所述样本图像在第二分辨率下的图像数据之间的误差,对所述神经网络模型中的参数进行调整,直至调整后的神经网络模型输出的每一个所述样本图像的输出图像数据与所述样本图像在第二分辨率下的图像数据之间的误差,满足预设的收敛条件时,将所述调整后的神经网络模型确定为第一超分辨率模型。
7.根据权利要求1所述的方法,其特征在于,所述目标图像在第二分辨率下的图像数据,包括:所述目标图像在第二分辨率下的每一个像素点;
所述对所述目标图像在第二分辨率下的图像数据进行锐化处理,得到所述目标图像在第二分辨率下的锐化后图像数据,包括:
针对所述目标图像在第二分辨率下的每一个像素点,使用所述像素点的像素值、以及所述像素点的临近像素点的像素值,计算得到所述像素点的拉普拉斯算子;所述像素点的临近像素点为处于所述像素点的特定区域内的像素点;所述像素点的特定区域为以所述像素点为中心所确定出的区域;
使用所述像素点的拉普拉斯算子、所述像素点的像素值、以及锐化强度,计算得到所述像素点的锐化后像素值。
8.根据权利要求1所述的方法,其特征在于,所述对所述目标图像在第二分辨率下的锐化后图像数据进行下采样,得到所述目标图像在第三分辨率下的锐化后图像数据,包括:
使用双三次插值下采样算法,对所述目标图像在第二分辨率下的锐化后图像数据进行下采样,得到所述目标图像在第三分辨率下的锐化后图像数据。
9.根据权利要求1所述的方法,其特征在于,所述将所述目标图像在第一分辨率下的图像数据输入至第一超分辨率模型中之前,还包括:
对所述第一超分辨率模型进行初始化,所述初始化用于确定运行所述第一超分辨率模型以及确定所述第一超分辨率模型的正常运行;
所述初始化包括运行时检查、模型加载、模型编译以及内存配置,所述运行时检查用于确定运行所述第一超分辨率模型,所述模型加载、所述模型编译以及所述内存配置用于确定所述第一超分辨率模型的正常运行。
10.根据权利要求1所述的方法,其特征在于,所述对所述目标图像在第二分辨率下的锐化后图像数据进行下采样,得到所述目标图像在第三分辨率下的锐化后图像数据之后,还包括:
根据所述目标图像在第三分辨率下的锐化后图像数据,显示所述目标图像。
11.根据权利要求1至9任一所述的方法,其特征在于,所述对所述目标图像在第二分辨率下的锐化后图像数据进行下采样,得到所述目标图像在第三分辨率下的锐化后图像数据之后,还包括:
构建数据样本集;所述数据样本集包括:多个所述目标图像在第四分辨率下的图像数据以及多个所述目标图像在第三分辨率下的锐化后图像数据;所述第四分辨率不大于所述第三分辨率;
将多个目标图像在第四分辨率下的图像数据分别输入至神经网络模型中,由所述神经网络模型得到并输出每一个所述目标图像的输出图像数据;
根据所述神经网络模型输出的每一个所述目标图像的输出图像数据与所述目标图像在第三分辨率下的锐化后图像数据之间的误差,对所述神经网络模型中的参数进行调整,直至调整后的神经网络模型输出的每一个所述目标图像的输出图像数据与所述目标图像在第三分辨率下的锐化后图像数据之间的误差,满足预设的收敛条件时,将所述调整后的神经网络模型确定为第二超分辨率模型。
12.一种图像数据的处理系统,其特征在于,包括:
第一电子设备,用于执行如权利要求1至11中任一所述的图像数据的处理方法;
与所述第一电子设备相连的第二电子设备,所述第二电子包括第一处理器、第二处理器以及第三处理器,所述第二电子设备用于:
所述第一处理器接收应用程序下发的渲染命令,所述渲染命令用于指示所述第二处理器基于第五分辨率对第一图像进行渲染;
所述第一处理器向所述第二处理器发送渲染指令,所述渲染指令用于指示所述第二处理器对所述第一图像进行渲染;
所述第二处理器基于所述渲染指令,生成所述第一图像在第四分辨率下的图像数据,所述第四分辨率不大于所述第五分辨率;
所述第三处理器利用第二超分辨率模型,对所述第一图像在所述第四分辨率下的图像数据进行超分辨率渲染,生成所述第一图像在所述第三分辨率下的锐化后图像数据;所述第二超分辨率模型通过数据样本集对神经网络模型进行训练得到;所述数据样本集包括:多个所述目标图像在第四分辨率下的图像数据以及多个所述目标图像在第三分辨率下的锐化后图像数据;所述第四分辨率不大于所述第三分辨率;
所述第二处理器根据所述第一图像在所述第三分辨率下的锐化后图像数据,显示所述第一图像。
13.根据权利要求12所述的系统,其特征在于,所述第三分辨率大于或等于所述第五分辨率。
14.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器和存储器;
所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述电子设备执行如权利要求1至11中任一项所述的图像数据的处理方法。
15.一种计算机存储介质,其特征在于,所述计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备中的处理器执行如权利要求1至11任意一项所述的图像数据的处理方法。
CN202210023034.7A 2022-01-10 2022-01-10 图像数据的处理方法、相关设备以及计算机存储介质 Active CN115564644B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210023034.7A CN115564644B (zh) 2022-01-10 2022-01-10 图像数据的处理方法、相关设备以及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210023034.7A CN115564644B (zh) 2022-01-10 2022-01-10 图像数据的处理方法、相关设备以及计算机存储介质

Publications (2)

Publication Number Publication Date
CN115564644A CN115564644A (zh) 2023-01-03
CN115564644B true CN115564644B (zh) 2023-07-25

Family

ID=84737263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210023034.7A Active CN115564644B (zh) 2022-01-10 2022-01-10 图像数据的处理方法、相关设备以及计算机存储介质

Country Status (1)

Country Link
CN (1) CN115564644B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109003239A (zh) * 2018-07-04 2018-12-14 华南理工大学 一种基于迁移学习神经网络的多光谱图像锐化方法
CN109102469A (zh) * 2018-07-04 2018-12-28 华南理工大学 一种基于卷积神经网络的遥感图像全色锐化方法
CN113643197A (zh) * 2021-07-19 2021-11-12 海南大学 一种结合引导滤波和nsct的两阶轻量型网络全色锐化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110706166B (zh) * 2019-09-17 2022-03-18 中国科学院空天信息创新研究院 一种锐化标签数据的图像超分辨率重建方法及装置
CN112686810A (zh) * 2019-10-18 2021-04-20 华为技术有限公司 一种图像处理的方法及装置
CN111667410B (zh) * 2020-06-10 2021-09-14 腾讯科技(深圳)有限公司 图像分辨率提升方法、装置及电子设备
CN113673675A (zh) * 2021-08-10 2021-11-19 Oppo广东移动通信有限公司 模型训练方法、装置、计算机设备和存储介质
CN113888410A (zh) * 2021-09-30 2022-01-04 北京百度网讯科技有限公司 图像超分辨率方法、装置、设备、存储介质以及程序产品

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109003239A (zh) * 2018-07-04 2018-12-14 华南理工大学 一种基于迁移学习神经网络的多光谱图像锐化方法
CN109102469A (zh) * 2018-07-04 2018-12-28 华南理工大学 一种基于卷积神经网络的遥感图像全色锐化方法
CN113643197A (zh) * 2021-07-19 2021-11-12 海南大学 一种结合引导滤波和nsct的两阶轻量型网络全色锐化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A pan-sharpening method based on the ADMM algorithm;Chen,YX 等;《FRONTIERS OF EARTH SCIENCE》;第第13卷卷(第第3期期);第656-667页 *
基于多通道极深卷积神经网络的图像超分辨率算法;黄伟 等;《计算机工程》;第46卷(第09期);第242-253页 *

Also Published As

Publication number Publication date
CN115564644A (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
Weiss et al. Volumetric isosurface rendering with deep learning-based super-resolution
JP7155271B2 (ja) 画像処理システム及び画像処理方法
RU2419881C2 (ru) Анизометрический синтез текстуры
US8547378B2 (en) Time-based degradation of images using a GPU
KR20130001213A (ko) 입력 이미지로부터 증가된 픽셀 해상도의 출력 이미지를 생성하는 방법 및 시스템
US20130121409A1 (en) Methods and Apparatus for Face Fitting and Editing Applications
JP2018527687A (ja) 知覚的な縮小方法を用いて画像を縮小するための画像処理システム
Xu et al. Nonlocal similarity based DEM super resolution
JP2011527033A (ja) 変換の高速でメモリ効率の良い実施のための方法
US20220398712A1 (en) Generating modified digital images utilizing nearest neighbor fields from patch matching operations of alternate digital images
TWI514313B (zh) Image processing apparatus and image processing method
CN113888566B (zh) 目标轮廓曲线确定方法、装置、电子设备以及存储介质
WO2016098323A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体
CN115564644B (zh) 图像数据的处理方法、相关设备以及计算机存储介质
KR102064581B1 (ko) 이미지 자동 회귀 보간 장치 및 방법
Ghasemabadi et al. CascadedGaze: Efficiency in Global Context Extraction for Image Restoration
Ready et al. Gpu acceleration of real-time feature based algorithms
Jiang et al. Antialiased super-resolution with parallel high-frequency synthesis
Teßmann et al. GPU accelerated normalized mutual information and B-Spline transformation.
US8810572B2 (en) Tessellation cache for object rendering
US20240265507A1 (en) Tile processing for convolutional denoising network
US20240127525A1 (en) Method and system for processing graphics in tile-based rendering mode
US12079957B2 (en) Modeling continuous kernels to generate an enhanced digital image from a burst of digital images
CN115660935B (zh) 一种分块渲染模式图形处理方法及系统
US20240127524A1 (en) Method and system for processing graphics in tile-based rendering mode

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant