CN114008663A - 实时视频超分辨率 - Google Patents
实时视频超分辨率 Download PDFInfo
- Publication number
- CN114008663A CN114008663A CN201980097645.2A CN201980097645A CN114008663A CN 114008663 A CN114008663 A CN 114008663A CN 201980097645 A CN201980097645 A CN 201980097645A CN 114008663 A CN114008663 A CN 114008663A
- Authority
- CN
- China
- Prior art keywords
- image
- training
- residual
- generate
- neural network
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 77
- 238000003062 neural network model Methods 0.000 claims abstract description 72
- 238000012549 training Methods 0.000 claims description 160
- 230000015654 memory Effects 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 29
- 230000000593 degrading effect Effects 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 33
- 238000013135 deep learning Methods 0.000 description 27
- 238000003860 storage Methods 0.000 description 25
- 238000010801 machine learning Methods 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 210000002569 neuron Anatomy 0.000 description 15
- 238000007726 management method Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000013136 deep learning model Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000016776 visual perception Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000012417 linear regression Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007637 random forest analysis Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005309 stochastic process Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 125000001475 halogen functional group Chemical group 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling 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
- G06T3/4069—Scaling 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 by subpixel displacements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
- G06T5/75—Unsharp masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20224—Image subtraction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
一种用于提高数字图像的图像分辨率的计算机实现方法。所述方法包括对所述数字图像进行双三次上采样以生成基础高分辨率(high‑resolution,HR)图像。所述数字图像从红‑绿‑蓝(red‑green‑blue,RGB)颜色空间转换为亮度(Y)、色度蓝差(Cb)和色度红差(Cr)(YCbCr)颜色空间,以生成低分辨率(low‑resolution,LR)残差图像。将神经网络模型的多个卷积层应用于所述LR残差图像,以将所述LR残差图像转换为与所述数字图像对应的多个HR残差子图像。使用所述基础HR图像和所述多个HR残差子图像生成与所述数字图像对应的HR图像。
Description
技术领域
本发明涉及一种计算设备中的视频数据处理。
背景技术
随着电子技术的快速发展,2k和4k高清(high-definition,HD)显示器已成为家庭影院***、平板电脑和移动设备的标准配置。由于与视频捕获设备、存储空间、网络带宽和/或数据流相关联的限制,在移动设备上播放的视频通常分辨率较低。因此,在现代设备上显示单个帧之前,提高视频的有效分辨率和视觉效果是很重要的,以便充分利用新一代高清显示屏。
现有的图像分辨率增强技术主要用于没有噪声和伪影的高质量图像。当输入视频(例如,在移动设备上观看的视频)中存在噪声和块伪影时,使用现有技术通常会导致图像质量进一步恶化。此外,由于计算复杂性,与传统插值技术相比,当前的图像分辨率增强技术并不能改善峰值信噪比(peak signal-to-noise ratio,PSNR)和结构相似性(structural similarity,SSIM),因此,在带有HD显示屏的移动设备上进行图像处理时受限。
发明内容
现在描述了各种示例,简单地介绍一些概念,在具体实施方式中会进一步描述这些概念。发明内容不旨在识别专利申请所要求保护的主题的关键特征或基本特征,也不旨在用于限制专利申请所要求保护的主题范围。
根据本发明的第一方面,提供了一种用于提高数字图像的图像分辨率的计算机实现方法。所述方法包括对所述数字图像进行双三次上采样以生成基础高分辨率(high-resolution,HR)图像。所述数字图像从红-绿-蓝(red-green-blue,RGB)颜色空间转换为亮度(Y)、色度蓝差(Cb)和色度红差(Cr)(YCbCr)颜色空间,以生成低分辨率(low-resolution,LR)残差图像。使用神经网络模型的多个卷积层将所述LR残差图像转换为与所述数字图像对应的多个HR残差子图像。使用所述基础HR图像和所述多个HR残差子图像生成与所述数字图像对应的HR图像。
根据第一方面,在所述方法的第一种实现方式中,对所述多个HR残差子图像进行像素移位以生成HR残差图像。所述生成与所述数字图像对应的所述HR图像包括组合所述HR残差图像和所述基础HR图像。
根据第一方面或第一方面的任一上述实现方式,在所述方法的第二种实现方式中,所述神经网络模型包括输入层,所述多个卷积层包括四个卷积层。
根据第一方面或第一方面的任一上述实现方式,在所述方法的第三种实现方式中,所述输入层用于接收所述数字图像,所述四个卷积层的输出层用于输出所述多个HR残差子图像。
根据第一方面或第一方面的任一上述实现方式,在所述方法的第四种实现方式中,所述多个卷积层中的第一层配置有3×3像素核和8个通道;所述多个卷积层中的第二层配置有3×3像素核和6个通道;所述多个卷积层中的第三层配置有3×3像素核和4个通道;所述多个卷积层中的第四层配置有4个通道。
根据第一方面或第一方面的任一上述实现方式,在所述方法的第五种实现方式中,所述神经网络模型用多个训练图像对进行训练。所述多个训练图像对中的每个训练图像对包括:与训练图像对应的LR图像;以及与所述训练图像对应并配置为所述神经网络模型的目标输出的多个HR残差子图像。所述LR图像具有降级的图像质量,并配置为所述神经网络模型的输入。
根据第一方面或第一方面的任一上述实现方式,在所述方法的第六种实现方式中,训练所述神经网络模型包括:使用低通滤波器对所述训练图像进行滤波,以生成滤波后的图像;对所述滤波后的图像进行下采样,以生成下采样后的LR图像;通过添加噪声和伪影使所述下采样后的LR图像的图像质量降级,以生成与所述训练图像对应的所述LR图像。
根据第一方面或第一方面的任一上述实现方式,在所述方法的第七种实现方式中,训练所述神经网络模型包括:对所述训练图像应用不平衡的反锐化掩模以生成对比度增强图像;从所述对比度增强图像中减去所述下采样后的LR图像的上采样版本,以生成与所述训练图像对应的HR残差图像。
根据第一方面或第一方面的任一上述实现方式,在所述方法的第八种实现方式中,训练所述神经网络模型还包括:划分与所述训练图像对应的所述HR残差图像,以生成与所述训练图像对应的所述多个HR残差子图像。
根据本发明的第二方面,提供了一种用于提高数字图像的图像分辨率的***。所述***包括存储指令的存储器和与所述存储器通信的一个或多个处理器。所述一个或多个处理器执行所述指令以对数字图像进行双三次上采样以生成基础高分辨率(high-resolution,HR)图像。所述数字图像从红-绿-蓝(red-green-blue,RGB)颜色空间转换为亮度(Y)、色度蓝差(Cb)和色度红差(Cr)(YCbCr)颜色空间,以生成低分辨率(low-resolution,LR)残差图像。将神经网络模型的多个卷积层应用于所述LR残差图像,以将所述LR残差图像转换为与所述数字图像对应的多个HR残差子图像。使用所述基础HR图像和所述多个HR残差子图像生成与所述数字图像对应的HR图像。
根据第二方面,在所述***的第一种实现方式中,所述一个或多个处理器还用于对所述多个HR残差子图像进行像素移位,以生成HR残差图像,并组合所述HR残差图像和所述基础HR图像,以生成与所述数字图像对应的所述HR图像。
根据第二方面或第二方面的任一上述实现方式,在所述***的第二种实现方式中,所述神经网络模型包括输入层,所述多个卷积层包括四个卷积层。所述输入层用于接收所述数字图像。所述四个卷积层的输出层用于输出所述多个HR残差子图像。
根据第二方面或第二方面的任一上述实现方式,在所述***的第三种实现方式中,所述多个卷积层中的第一层配置有3×3像素核和8个通道;所述多个卷积层中的第二层配置有3×3像素核和6个通道;所述多个卷积层中的第三层配置有3×3像素核和4个通道;所述多个卷积层中的第四层配置有4个通道。
根据所述第二方面或所述第二方面的任一上述实现方式,在所述***的第四种实现方式中,所述一个或多个处理器还用于用多个训练图像对训练所述神经网络模型。所述多个训练图像对中的每个训练图像对包括:与训练图像对应的LR图像;以及与所述训练图像对应并配置为所述神经网络模型的目标输出的多个HR残差子图像。所述LR图像具有降级的图像质量,并配置为所述神经网络模型的输入。
根据第二方面或第二方面的任一上述实现方式,在所述***的第五种实现方式中,所述一个或多个处理器还用于:使用低通滤波器对所述训练图像进行滤波,以生成滤波后的图像;对所述滤波后的图像进行下采样,以生成下采样后的LR图像;通过添加噪声和伪影使所述下采样后的LR图像的图像质量降级,以生成与所述训练图像对应的所述LR图像。
根据第二方面或第二方面的任一上述实现方式,在所述***的第六种实现方式中,为了训练所述神经网络模型,所述一个或多个处理器还用于:对所述训练图像应用不平衡的反锐化掩模以生成对比度增强图像;从所述对比度增强图像中减去所述下采样后的LR图像的上采样版本,以生成与所述训练图像对应的HR残差图像。
根据第二方面或第二方面的任一上述实现方式,在所述***的第七种实现方式中,为了训练所述神经网络模型,所述一个或多个处理器还用于:划分与所述训练图像对应的所述HR残差图像,以生成与所述训练图像对应的所述多个HR残差子图像。
根据本发明的第三方面,提供了一种非瞬时性计算机可读介质,存储用于提高数字图像的图像分辨率的指令。当由一个或多个处理器执行时,所述指令使所述一个或多个处理器执行操作,所述操作包括对所述数字图像进行双三次上采样以生成基础高分辨率(high-resolution,HR)图像。所述数字图像从红-绿-蓝(red-green-blue,RGB)颜色空间转换为亮度(Y)、色度蓝差(Cb)和色度红差(Cr)(YCbCr)颜色空间,以生成低分辨率(low-resolution,LR)残差图像。将神经网络模型的多个卷积层应用于所述LR残差图像,以将所述LR残差图像转换为与所述数字图像对应的多个HR残差子图像。使用所述基础HR图像和所述多个HR残差子图像生成与所述数字图像对应的HR图像。
根据第三方面,在所述非瞬时性计算机可读介质的第一种实现方式中,所述操作还包括用多个训练图像对训练所述神经网络模型。所述多个训练图像对中的每个训练图像对包括:与训练图像对应的LR图像;以及与所述训练图像对应并配置为所述神经网络模型的目标输出的多个HR残差子图像。所述LR图像具有降级的图像质量,并配置为所述神经网络模型的输入。
根据第三方面或第三方面的任一上述实现方式,在所述非瞬时性计算机可读介质的第二种实现方式中,所述操作还包括:使用低通滤波器对所述训练图像进行滤波,以生成滤波后的图像;对所述滤波后的图像进行下采样,以生成下采样后的LR图像;通过添加噪声和伪影使所述下采样后的LR图像的图像质量降级,以生成与所述训练图像对应的所述LR图像。
根据第三方面或第三方面的任一上述实现方式,在所述非瞬时性计算机可读介质的第三种实现方式中,所述操作还包括:对所述训练图像应用不平衡的反锐化掩模以生成对比度增强图像;从所述对比度增强图像中减去所述下采样后的LR图像的上采样版本,以生成与所述训练图像对应的HR残差图像;划分与所述训练图像对应的所述HR残差图像,以生成与所述训练图像对应的所述多个HR残差子图像。
根据本发明的第四方面,提供了一种用于提高数字图像的图像分辨率的图像分辨率调整***。所述***包括上采样模块,用于对所述数字图像进行双三次上采样以生成基础高分辨率(high-resolution,HR)图像。所述***还包括颜色空间处理模块,用于将所述数字图像从红-绿-蓝(red-green-blue,RGB)颜色空间转换为亮度(Y)、色度蓝差(Cb)和色度红差(Cr)(YCbCr)颜色空间,以生成低分辨率(low-resolution,LR)残差图像。所述***还包括卷积模块,用于将所述LR残差图像转换为与所述数字图像对应的多个HR残差子图像。所述***还包括添加模块,用于使用所述基础HR图像和所述多个HR残差子图像生成与所述数字图像对应的HR图像。
上述示例中的任一个可以与上述其它示例中的任何一个或多个组合以在本发明范围内产生新实施例。
附图说明
在不一定按比例绘制的附图中,不同视图中相同的数字可以描述类似组件。附图通过示例而非限制的方式一般地示出了在本文中描述的各种实施例。
图1是一些示例实施例提供的使用DL架构(DL architecture,DLA)训练深度学习(deep learning,DL)模型的框图。
图2是一些示例实施例提供的使用在DLA内训练的神经网络模型生成经过训练的DL模型的图。
图3是一些示例实施例提供的用于使用图1的DLA调整图像分辨率的***的图。
图4是一些示例实施例提供的图3的***使用的DLA内卷积层的配置。
图5是一些示例实施例提供的可以用于训练图1的DLA的训练图像对的生成的图。
图6是一些示例实施例提供的生成训练图像对并使用这些对进行DLA训练和执行图像分辨率调整功能的流程图。
图7是一些示例实施例提供的用于提高数字图像的图像分辨率的方法的流程图。
图8是一些示例实施例提供的代表性软件架构的框图,该软件架构可与本文描述的各种设备硬件结合使用。
图9是一些示例实施例提供的实现算法和执行方法的设备的电路的框图。
具体实施方式
首先应理解,即使下文提供了一个或多个实施例的说明性实现方式,但是结合图1-图9描述的所公开***和方法可使用任何数量的技术实现,无论该技术是当前已知还是尚未存在的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
以下描述结合附图,所述附图是描述的一部分,并通过图解说明的方式示出可以实践本发明的具体实施例。这些实施例进行了足够详细的描述以使本领域技术人员能够实践本发明主题,应理解,可以利用其它实施例,并且在不脱离本发明范围的情况下可以进行结构、逻辑和电更改。因此,以下示例实施例的描述不应以限制性的意义来理解,本发明的范围由所附权利要求书界定。
本发明涉及一种计算设备中的视频数据处理。某些方面涉及使用神经网络改变图像的图像分辨率。其它方面涉及实时视频超分辨率。
本文所使用的与图像相关的术语“低分辨率”(或LR)和“高分辨率”(或HR)与图像的大小(以像素为单位)相关联。例如,如果两个图像描绘了相同的场景,而第一图像的高度和宽度(以像素为单位)大于第二图像的高度和宽度,则将第一图像称为高分辨率图像,将第二图像称为低分辨率图像。
本文所使用的术语“超分辨率”(或SR)是指分辨率增强技术,与传统插值方法相比,该技术增加像素数量(例如,通过上调),并提高了峰值信噪比(peak signal-to-noiseratio,PSNR)和结构相似性(structural similarity,SSIM)。
本文所使用的术语“超分辨率”(或UR)包括SR的图像分辨率增强技术(即,与PSNR和SSIM一起提高视频帧的分辨率),而且降低了噪声水平,去除通常由视频压缩引起的块伪影,并增强局部对比度(SR中不存在这些功能)。
本文所使用的术语“正向计算”和“反向计算”是指与神经网络模型(或另一种模型)的训练有关在工作机器中所执行的计算。在正向计算和反向计算期间执行的计算根据先前迭代的结果(例如,根据先前反向计算结束时生成的梯度)修改权重。梯度是指在工作机器正在计算的模型权重变化时,该工作机器的输出变化的测量。梯度测量所有权重与误差变化有关的变化。梯度值越大,模型学习的速度就越快。
本文所使用的术语“双三次上采样”是指使用双三次插值的图像上采样。双三次插值是一种在二维网格上插值数据点的技术。在图像处理方面,双三次插值考虑16个像素(4×4像素矩阵),插值通过拉格朗日多项式、三次样条或三次卷积算法执行。
本文公开的技术可用于实时提高移动设备上的图像分辨率,以实现超分辨率。与UR相关联的功能通过简洁的人工神经网络(artificial neural network,ANN)使用神经网络模型来完成,该神经网络模型通过有限数量的卷积层提取和传播残差图像信息。更具体地,残差图像通过使用ANN(例如,使用与LR输入图像对应的LR残差图像)获得,该残差图像是与LR输入图像对应的HR图像与LR输入图像的双三次上采样版本之间的差值。使用神经网络模型处理LR残差图像会减少通过卷积层的数据流,从而可以使模型使用非常少的参数。术语“神经网络”(或NN)和“人工神经网络”(或ANN)是同义词,在本文中可互换使用。术语“卷积神经网络”(或CNN)和“深度神经网络”(或DNN)是同义词,是指一种包括多个卷积层的神经网络。
本文公开的技术还可用于使用从训练图像集创建的输入-输出图像对训练神经网络模型。训练集中的示例图像在输入侧使用模拟噪声和块伪影进行下采样和降级,以使模型能够执行SR处理、降噪(noise reduction,NR)和伪影去除(artifact removal,AR),以在移动设备中实现最佳UR处理。可以增强输出侧HR图像的局部对比度,以增强在SR处理期间发现的细节。在这方面,训练神经网络模型以有效地执行UR处理,并具有显著的视觉感知改进,这些改进可以在UR处理的能耗可接受的情况下实时实现。
现有技术使用图像反卷积算法或基于示例的稀疏编码算法执行SR处理。例如,一些现有技术使用三层卷积模型分别模拟用于补丁提取、非线性映射和重建的稀疏编码过程。但是,因为输入LR图像在馈入卷积层之前需要上采样到高分辨率,所以这类技术效率低下。因此,所有卷积操作都在HR空间中进行,该HR空间包含大量冗余计算。其它现有技术使用LR输入图像并在LR空间中执行卷积,直到最后一步,即当子像素利用卷积操作被组合成HR图像时。但是,这类技术在移动设备上工作时也很慢。
单图像SR处理的一个新趋势是使用生成式对抗网络(generative adversarialnetwork,GAN)来生成图像中缺失的细节。但是,GAN依赖于大网络容量来产生良好的结果,因此不适合部署在移动设备上。为视频设计的其它现有技术SR算法包括连续帧之间的光流评估,以补偿各帧之间的运动。由于光流评估是计算密集型任务,并不比处理与使用GAN相关联的任务更加容易,因此这些视频SR算法在移动设备上工作也很慢。
以下是本发明公开的用于提高图像分辨率并在移动设备上执行实时UR处理的技术的独特特征(在现有技术图像处理技术中不存在这些特征),包括:(1)在移动设备应用中使用超分辨率处理,除了超分辨率的唯一任务外,还增强了整体视觉感知;(2)使用简洁的神经网络模型(减少了层数和参数),该神经网络模型结合了超分辨率、降噪、块伪影去除和局部对比度增强的功能,并且可以部署在具有实时性能的移动设备上(残差图像,而不是整个SR图像,由卷积层处理,节省了大量的处理资源,提高了UR处理速度);(3)在卷积层的输出处使用快速像素移位操作来取代传统技术中使用的计算密集型子像素卷积;(4)使用新的神经网络模型训练技术,使输入侧的图像质量降级,同时增强输出侧的图像质量,有助于更高效的模型训练和生成具有优异视觉感知的输出视频帧。
图1是一些示例实施例提供的使用DL架构(DL architecture,DLA)训练深度学习(deep learning,DL)模型以生成经过训练的DL模型110的框图100。在一些示例实施例中,机器学习程序(machine-learning program,MLP)(包括深度学习程序,也统称为机器学习算法或工具)用于执行与关联数据或其它基于人工智能(artificial intelligence,AI)的功能相关联的操作。
如图1所示,根据训练数据102(可以包括特征)在DLA 106内执行深度学习模型训练108。在深度学习模型训练108期间,可以评估来自训练数据102的特征,以便进一步训练DL模型。DL模型训练108产生经过训练的DL模型110。经过训练的DL模型110可以包括一个或多个分类器112,这些分类器112可以用于根据新数据114提供评估116。
在一些方面,训练数据102可以包括低分辨率(low-resolution,LR)输入图像104和对应的高分辨率(high-resolution,HR)目标输出图像118。LR输入图像104和HR目标输出图像118如结合例如图6所述生成,并在DL模型训练108期间使用,使经过训练的DL模型110能够执行本文所述的UR相关功能。更具体地,LR输入图像104和HR目标输出图像118用于训练神经网络模型(例如,图2的神经网络模型204,包括图3的卷积层306)的卷积层,以对包括LR视频帧的LR图像执行实时UR功能。
深度学习是机器学习的一部分,机器学习的研究领域是使计算机能够在不用显式编程的情况下学习。机器学习探索的是算法(本文也称为工具)的研究和构建,这些算法可以从现有数据中学习,可以关联数据并且可以对新数据进行预测。这类机器学习工具的工作方式是,根据示例训练数据(例如训练数据102)建立模型,以便作出以输出或评估116表示的数据驱动的预测或决策。尽管针对一些机器学习工具(例如深度学习架构)呈现了示例实施例,但本文呈现的原理也可以适用其它机器学习工具。
在一些示例实施例中,可以使用不同的机器学习工具。例如,逻辑回归、朴素贝叶斯(Naive-Bayes)、随机森林(random forest,RF)、神经网络、矩阵分解和支持向量机(support vector machine,SVM)工具可以在深度学习模型训练108期间使用(例如,用于关联训练数据102)。
机器学习中常见的两种问题类型为分类问题和回归问题。分类问题(classification/categorization problem)旨在将项目分类为若干类别值之一(例如,该对象是苹果还是橙子?)。回归算法旨在量化某些项目(例如,通过提供实数值)。在一些实施例中,DLA 106可以用于使用机器学习算法,这些机器学习算法使用训练数据102来查找影响结果的识别特征之间的相关性。
机器学习算法使用来自训练数据102的特征来分析新数据114以生成评估116。这些特征包括所观察到的用于训练机器学习模型的现象的个体可测量属性。特征的概念与如线性回归等统计技术中使用的解释变量的概念有关。选择信息性、鉴别性和独立特征对于MLP在模式识别、分类和回归中的高效操作非常重要。特征可以具有不同类型,如数字特征、字符串和图形。在一些方面,训练数据可以具有不同类型,特征是数字,供计算设备使用。
在一些方面,在DL模型训练108期间使用的特征可以包括以下各种中的一种或多种:LR图像(例如,LR输入图像104);HR图像(例如,HR目标输出图像118);来自多个传感器(例如,音频传感器、运动传感器、图像传感器)的传感器数据;来自多个致动器(例如,无线开关或其它致动器)的制动器事件数据;来自多个外部源的外部信息源;与传感器状态数据(例如,获得时间传感器数据)、致动器事件数据或外部信息源数据相关联的定时器数据;用户通信信息;用户数据;用户行为数据等。
机器学习算法使用训练数据102来查找影响评估116的结果的识别特征之间的相关性。在一些示例实施例中,训练数据102包括标记数据,该标记数据是一个或多个识别特征和一个或多个结果的已知数据。DLA 106内的DL模型训练108使用训练数据102(可以包括识别特征)训练DL模型。训练结果是经过训练的DL模型110。当使用DL模型110进行评估时,将新数据114作为输入提供给经过训练的DL模型110,DL模型110生成评估116作为输出。例如,DLA 106可以部署在移动设备上,并且新数据114可以包括LR图像(例如,来自LR视频的帧,如实时LR视频馈送)。DLA 106对LR图像执行UR功能(例如,提高图像分辨率,同时降低噪声、去除块伪影和提高图像对比度),以实时生成HR输出图像。
图2是一些示例实施例提供的使用在DLA 106内训练的神经网络模型204生成经过训练的DL模型206的图200。参考图2,源数据202可以由神经网络模型204(或另一种类型的机器学习算法或技术)分析,以生成经过训练的DL模型206(可以与经过训练的DL模型110相同)。源数据202可以包括训练数据集(例如102),包括由一个或多个特征识别的数据。本文所使用的术语“神经网络”和“神经网络模型”可互换。
机器学***。在监督学习阶段,所有目标输出都提供给模型,并引导模型开发将输入映射到输出的通用规则或算法。相比之下,在无监督学习阶段,不为输入提供所需输出,以便模型可以开发自身的规则来发现训练数据集内的关系。在半监督学习阶段,提供不完全标记的训练集,训练数据集的一些输出已知,一些输出未知。
可以持续几个周期针对一个训练数据集运行模型,其中,将训练数据集重复输入模型中,以细化其结果(即,整个数据集在一个周期内处理)。在迭代期间,针对整个数据集的小批次(或一部分)运行模型(例如,神经网络模型或另一种机器学习模型)。在监督学习阶段,开发模型以预测给定输入集(例如,源数据202)的目标输出,并在几个周期内进行评估,从而更可靠地提供输出,该输出指定为与训练数据集的最大数量输入的给定输入对应。在另一个示例中,对于无监督学习阶段,开发模型以将数据集聚类成n个组,并在几个周期内评估该模型将给定输入放置到给定组的一致性,以及该模型在每个周期产生n个所需集群的可靠性。
在运行一个周期后评估模型,并调整这些模型的变量(例如,权重、偏置或其它参数)的值,以尝试通过迭代更好地细化模型。本文所使用的术语“权重”用于指机器学习模型使用的参数。在反向计算期间,模型可以输出梯度,这些梯度可用于更新与正向计算相关联的权重。
在各个方面,对假阴性偏置评估,对假阳性偏置评估,或对模型的总体准确度均匀地偏置评估。根据所使用的机器学习技术,可以通过多种方式调整值。例如,在遗传算法或进化算法中,预测所需输出最成功的模型的值用于开发模型在后续周期使用的值,这些值可以包括随机变化/突变,以提供额外的数据点。本领域普通技术人员熟悉可应用于本发明的几种其它机器学习算法,包括线性回归、随机森林、决策树学习、神经网络、深度神经网络等。
每个模型通过改变影响输入的一个或多个变量的值,以更接近地映射到所需结果,在几个周期内开发规则或算法,但由于训练数据集可能会变化,并且优选是非常大的,因此可能无法实现完美的准确度和精度。因此,构成学习阶段的一些周期可以被设定为给定数量的试验或固定的时间/计算预算,或者,当给定模型的准确度足够高或足够低或达到准确度稳定阶段时,可以在达到该数字/预算之前终止。例如,如果训练阶段设计为运行n个周期并生成至少95%准确度的模型,并且这种模型是在第n个周期之前生成的,则学习阶段可以提前结束,并使用满足最终目标准确度阈值的生成模型。类似地,如果给定模型的准确度不足以满足随机机率阈值(例如,模型在确定给定输入的真/假输出时仅有55%的准确度),则该模型的学习阶段可能会提前终止,但学习阶段的其它模型可以继续训练。类似地,当给定模型在多个周期内的结果中持续提供相似的准确度或波动时(已经达到性能稳定阶段),则给定模型的学习阶段可能会在达到周期数/计算预算之前终止。
学习阶段完成后,模型就会最终确定。在一些示例实施例中,根据测试标准评估最终确定的模型。在第一示例中,将包括输入的已知目标输出的测试数据集输入最终确定的模型中,以确定模型在处理尚未训练的数据时的准确度。在第二示例中,假阳性率或假阴性率可用于评估最终确定后的模型。在第三示例中,每个模型中数据集群之间的定界用于选择为其数据集群产生最清晰边界的模型。
在一些示例实施例中,DL模型206由神经网络模型204(例如,深度学习网络、深度卷积网络或递归神经网络)训练,神经网络模型204包括布置成网络的一系列“神经元”(例如长短期记忆(long short term memory,LSTM)节点)。神经元是用于数据处理和人工智能,特别是机器学习的架构元素,它包括内存,可以根据提供给给定神经元的输入的权重确定何时“记住”和何时“忘记”该内存中保存的值。本文使用的每个神经元用于从网络中的其它神经元接收预定义数量的输入,以便为所分析的帧的内容提供关系和子关系输出。各个神经元可以在神经网络的各种配置中链接在一起或组织成树结构,以提供交互和关系学习建模,以确定对话语句中每个帧如何相互关联。
例如,作为神经元的LSTM包括几个门,用于处理输入向量(例如,来自对话语句的音素)、存储单元和输出向量(例如,上下文表示)。输入门和输出门分别控制流入和流出存储单元的信息,而遗忘门可选地根据神经网络中早期链接单元的输入从存储单元中删除信息。在训练阶段的过程中调整各种门的权重和偏置向量,一旦训练阶段完成,将最终确定这些权重和偏置用于正常操作。本领域技术人员将理解,神经元和神经网络可以以编程方式(例如,通过软件指令)构建或通过连接每个神经元以形成神经网络的专用硬件构建。
神经网络使用特征分析数据以生成评估(例如,识别语音单位)。特征是所观察现象的单独的可测量属性。特征的概念与如线性回归等统计技术中使用的解释变量的概念有关。此外,深度特征表示深度神经网络的隐藏层中的节点输出。
神经网络(例如,神经网络模型204)有时称为人工神经网络或神经网络模型,是基于考虑动物大脑的生物神经网络的计算***。这些***逐步提高性能(即学习),以执行任务,通常无需任务特定的编程。例如,在图像识别中,可以教导神经网络通过分析已标记有对象名称的示例图像并学习对象和名称来识别包含对象的图像,所述神经网络可以使用分析结果来识别未标记图像中的对象。神经网络是基于称为神经元的连接单元的集合,其中,神经元之间的每个连接(称为突触)可以传输单向信号,其激活强度随连接强度而变化。接收神经元可以激活信号并将信号传播到与其连接的下游神经元,这通常基于来自潜在的许多传输神经元的组合输入信号是否具有足够的强度,其中,强度是一个参数。
DNN也称为CNN,是一种由多个卷积层构成的堆叠神经网络。这些层由节点构成,这些节点是发生计算的位置,松散布局,形成如人脑中的神经元的图案,神经元在遇到足够的刺激时触发。节点将数据的输入与一组系数或权重组合在一起,这些系数或权重可以放大或抑制该输入,这将为算法尝试学习的任务的输入分配重要性。对这些输入-权重乘积求和,并将总和通过节点的激活函数,以确定信号是否进一步通过网络以影响最终结果以及信号进一步通过网络以影响最终结果的程度。DNN使用多层非线性处理单元的级联进行特征提取和转换。每个连续层使用上一层的输出作为输入。高级别特征从低级别特征派生,以形成分层表示。输入层之后的层可以是卷积层,这些卷积层产生特征映射,这些特征映射是输入的过滤结果,并由下一个卷积层使用。
在DNN架构的训练中,回归可以包括成本函数的最小化,其中,回归被构造为一组统计过程,用于估计各变量之间的关系。成本函数可以实现为返回表示神经网络在映射训练示例中的表现的数值以校正输出的函数。在训练中,如果成本函数值不在预定范围内,则根据已知的训练图像使用反向传播,其中,反向传播是训练人工神经网络的常用方法,与随机梯度下降(stochastic gradient descent,SGD)方法等优化方法一起使用。
反向传播的使用可以包括传播和权重更新。当输入呈现给神经网络时,将该输入逐层向前传播通过神经网络,直到它到达输出层。然后,使用成本函数将神经网络的输出与所需目标输出进行比较,并为输出层中的每个节点计算误差值。误差值从输出开始反向传播,直到每个节点具有一个相关联的误差值,该误差值大致表示其对原始输出的贡献。反向传播可以使用这些误差值来计算成本函数相对于神经网络中权重的梯度。将计算的梯度输入选择的优化方法中以更新权重,从而尝试最小化成本函数。
即使训练架构106称为使用神经网络模型的深度学习架构(并且经过训练的模型称为经过训练的深度学习模型,如经过训练的DL模型110和206),但本发明在这方面不受限制,并且其它类型的机器学习训练架构也可以使用本文公开的技术用于模型训练。
图3是一些示例实施例提供的用于使用图1的DLA调整图像分辨率的***300的图。参考图3,***300包括卷积层306、残差生成模块322、双三次上采样模块316、像素移位模块318和加法器320。卷积层306可以配置为神经网络模型,如图2的神经网络模型204。
残差生成模块322可以包括合适的电路、逻辑、接口或代码,用于将输入LR图像302从红-绿-蓝(red-green-blue,RGB)颜色空间转换为亮度(Y)、色度蓝差(Cb)和色度红差(Cr)(或YCbCr)颜色空间,并获得与输入LR图像302对应的Y通道(亮度)LR残差图像304(即,指示亮度的灰度图像)。
双三次上采样模块316可以包括合适的电路、逻辑、接口或代码,用于对输入LR图像302执行双三次上采样以生成基础HR图像312。
卷积层306可以是神经网络模型(例如,神经网络模型204)的一部分,用于根据LR残差图像(例如,LR输入图像(如LR残差图像304)的灰度版本)生成与输入LR图像302对应的多个HR残差子图像308。下面结合图4描述卷积层306的进一步细节。
像素移位模块318可以包括合适的电路、逻辑、接口或代码,用于对多个HR残差子图像308执行像素移位以生成HR残差图像310。
在操作中,(例如,由双三次上采样模块316和残差生成模块322)对低分辨率(low-resolution,LR)输入图像302进行处理,以生成基础HR图像312和与输入LR图像302对应的LR残差图像304。卷积层306使用多个层来涉及LR残差图像304,并生成与输入LR图像302对应的多个HR残差子图像308。在一些方面,多个HR残差子图像308包括四个子图像。像素移位模块318对多个HR残差子图像308执行像素移位以生成HR残差图像310。加法器320可以包括合适的电路、逻辑、接口或代码,用于将基础HR图像312与HR残差图像310相加,以生成HR图像314,作为与输入LR图像302对应的输出图像。
通过将HR图像314的生成分成生成基础HR图像312和HR残差图像310,减少了流过卷积层306的数据量,从而提高了模型的有效容量及其根据输入LR图像重建HR图像的推理效率。
在一些方面,由双三次上采样模块316、残差生成模块322、像素移位模块318和加法器320执行的一个或多个功能可以由卷积层306执行。
图4是一些示例实施例提供的图3的***300使用的DLA内卷积层306的配置。参考图4,卷积层306包括四个层,即卷积层404、406、408和410,具有层深度(或通道数量)420,如图4所示。第一卷积层404用于生成8个测量通道(即,该层的深度为8),第二卷积层406用于生成6个测量通道(即,该层的深度为6),第三卷积层和第四卷积层(分别为408和410)各自用于生成4个测量通道(即,层的深度为4)。卷积层404-408用于分别使用大小为3×3像素的卷积核414、416和418生成它们的通道测量。
卷积层306还可以包括单通道输入层402,该单通道输入层402与作为卷积层404-410的输入接收的图像对应。例如,输入层402可以表示作为输入传送到卷积层404-410的LR残差图像304。输入层402可以包括内核412(例如,5×5像素内核),用于将图像数据作为输入传送到第一卷积层404中。
在操作中,卷积层404-410中的每个卷积层使用多个卷积核对从上一层接收的输入进行卷积。例如,在第一卷积层404通过内核412从输入层402接收输入数据之后,第一卷积层404使用输入层402的输入和大小为3×3像素的八个不同卷积核(如卷积核414)生成8个测量通道。将每个通道的测量传送到后续层,以进行附加卷积。第四卷积层410输出多个HR残差子图像308(例如,层410的四个通道中的每个通道输出总共四个HR残差子图像308的一个HR残差子图像)。
尽管图4示出了卷积层306,这些卷积层306包括具有指示的层深度420的四个单独的卷积层404-410,但本发明在这方面不受限制,并且卷积层306的不同配置也可以在***300内用于执行UR相关功能。
图5是一些示例实施例提供的可以用于训练图1的DLA的训练图像对的生成的图500。参考图5,每个训练图像对包括卷积层输入图像532和一组卷积层目标输出图像536。卷积层输入图像532和卷积层目标输出图像536在训练阶段都输入卷积层306中,并且卷积层目标输出图像536在训练阶段不包括实际输出。应当理解,在实际卷积操作期间,在532处将待处理的图像输入卷积层306中,并且卷积层306将在536处输出一个或多个经处理的UR图像。
为了生成卷积层输入图像532,对示例训练图像I 502应用低通滤波器(low-passfilter,LPF)522以生成滤波后的图像504。然后对滤波后的图像504进行下采样(例如,使用下采样(downsampling,DS)模块524)以生成下采样后的LR图像ILR 506。在一些方面,可以按0.5的因子对滤波后的图像504进行下采样,由以下等式表示:ILR=I*N(0,σblur)↓0.5,其中,*表示卷积运算,N(0,σblur)表示均值0和标准偏差为σblur的高斯函数。
在一些方面,LPF 522用于去除高频信号,从而避免下采样伪影。在一些方面,DS模块524的下采样是通过双三次插值完成的。然后,下采样后的(例如,半尺寸的)LR图像506在将其馈送到卷积层之前通过噪声和块伪影降级。更具体地,噪声添加模块526用于将噪声引入下采样后的LR图像506中。在一些方面,模拟两种噪声,即(1)光子噪声和(2)高斯噪声。
光子噪声用于模拟光的离散特性,并使用泊松随机过程(Poisson stochasticprocess)模拟,如下所示:Ipho~P(ILR·photons)/photons,其中,P(λ)表示具有均值λ的泊松分布,photons表示产生图像所能表示的最亮颜色的光子数。
高斯噪声用于模拟图像传感器的随机噪声。它是通过将用高斯随机过程生成的随机图像Igauss添加到输入图像中来计算的,如下所示:Inoisy=Ipho+Igauss,Igauss~N(0,σn),其中,σn表示目标噪声水平。
视频压缩和解压缩通常会导致视频帧中出现块伪影。通过视频压缩和解压缩直接模拟伪影。使用输入侧具有降级图像质量的卷积层306训练神经网络模型(例如204)将赋予神经网络模型降噪和伪影去除能力。
噪声添加模块526将噪声引入下采样后的LR图像506中,以生成有噪声的LR图像508。有噪声的LR图像508由伪影添加模块528进一步降级,伪影添加模块528引入伪影并生成与训练图像502对应的LR图像510。LR图像510的特征是降级的图像质量,并配置为用于训练阶段的进入卷积层306中的卷积层输入图像532。卷积层输入图像532将用于训练卷积层306以生成所需目标输出。这里,在卷积层的训练阶段,卷积层306的所需输出被输入为卷积层目标输出图像536。
为了生成卷积网络的卷积层目标输出图像536的集合,局部对比度增强(localcontrast enhancement,LCE)模块520对训练图像I 502进行增强,生成对比度增强图像512。该处理有助于教导卷积层306产生具有高局部对比度的图像,这提高了通过超分辨率恢复的细节。在一些方面,LCE模块520可以通过应用不平衡的反锐化掩模来执行局部对比度增强,如下所示:Ilc=I+min(I–I*N(0,σum),δmax),其中,训练图像与该训练图像的高斯模糊版本之间的差值使用上限δmax截断在正部分中(截断有助于减少由于人眼对明亮边缘敏感而出现的光晕伪影)。然后,减法模块540通过从对比度增强图像512中减去下采样后的LR图像506的上采样后的LR图像538来计算HR残差图像516。上采样后的LR图像538是通过上采样模块530对下采样后的LR图像506进行上采样而生成的。将像素划分操作534应用于HR残差图像516,从而从HR残差图像516生成多个HR残差子图像518(例如,通过将4×4像素块划分成四个子图像)。多个HR残差子图像518配置为卷积层目标输出图像536,在训练阶段输入卷积层306中。
在一些方面,在训练卷积层306之前生成多个训练对,并且将训练对保存在数据文件中(例如,使用tf记录格式)。在神经网络模型训练(例如,108)期间,训练代码可以提取训练数据,并使用该数据调整用于执行UR处理的模型参数(例如,卷积层306的模型参数)。这通过避免实时的复杂图像处理来加快模型训练,并使得可以使用与训练数据相关联的不同参数重复训练模型。
通过使用本文描述的神经网络模型训练技术(例如,使输入侧的图像质量降级和增强输出侧的图像质量),卷积层306可以在LR图像或视频帧的UR处理期间生成具有优异视觉感知的图像或视频帧。此外,使用简洁的神经网络模型(例如,具有有限数量的层的卷积层306,例如四个层),该模型结合了超分辨率、降噪、块伪影去除和局部对比度增强的功能,简洁的神经网络模型可以部署在移动设备(或其它类型的有限资源设备,如智能电视、平板电脑、笔记本电脑和其它计算设备)上,以执行实时UR处理。
在操作使用中,待处理的实际图像或视频帧将包括卷积层306的输入532。作为训练的结果,卷积层306将处理图像或视频帧,以在输出536处生成UR图像或视频帧。然后,可以显示、传输、存储或以其它方式使用输出的UR图像或视频帧。
图6是一些示例实施例提供的生成训练图像对并使用这些对进行DLA训练和执行图像分辨率调整功能的方法600的流程图。方法600包括操作602-618。作为示例而非限制,方法600描述为由超分辨率管理模块860执行,超分辨率管理模块860可以用于在如图9所示的设备900等移动设备内执行。
参考图6,训练图像对的生成可以在操作602中接收训练图像(例如502)时开始。在操作604中,使用低通滤波器(例如,522)对训练图像进行滤波,以生成滤波后的图像(例如,504)。在操作606中,对滤波后的图像进行下采样(例如,通过下采样模块524),以生成下采样后的LR图像(例如,506)。在操作608中,通过添加噪声(例如,通过噪声添加模块526)和伪影(例如,通过伪影添加模块528)使下采样后的LR图像的图像质量降级,以生成与训练图像对应并具有降级图像质量的低分辨率图像(例如,LR图像510)。在操作610中,与训练图像对应的LR图像配置为神经网络模型的输入。
为了在训练对内生成输出图像,在操作612中,将不平衡的反锐化掩模应用于训练图像以生成对比度增强图像(例如,LCE模块520生成对比度增强图像512)。在操作614中,从对比度增强图像中减去下采样后的LR图像的上采样版本,以生成与训练图像对应的HR残差图像(例如,HR残差图像516由减法模块540使用上采样后的LR图像538和对比度增强图像512生成)。在操作616中,划分HR残差图像(与训练图像对应)以生成与训练图像对应的多个HR残差子图像(例如,多个HR残差子图像518通过对HR残差图像516执行的像素划分操作534生成)。在操作618中,与训练图像对应的多个HR残差子图像配置为神经网络模型的输出(例如,多个HR残差子图像518配置为用于训练卷积层306的卷积层目标输出图像536的集合)。
图7是一些示例实施例提供的用于提高数字图像的图像分辨率的方法700的流程图。方法700包括操作702、704、706和708。作为示例而非限制,方法700描述为由超分辨率管理模块860执行,超分辨率管理模块860可以用于在如图9所示的设备900等移动设备内执行。
参考图7,在操作702中,对数字图像进行双三次上采样以生成基础高分辨率(high-resolution,HR)图像。例如,参考图3,双三次上采样模块使用输入LR图像生成基础HR图像。在操作704中,数字图像从红-绿-蓝(red-green-blue,RGB)颜色空间转换为亮度(Y)、色度蓝差(Cb)和色度红差(Cr)(YCbCr)颜色空间,以生成低分辨率(low-resolution,LR)残差图像。在一些方面,RGB到YCrCb的转换可以通过将神经网络的多个卷积层应用于数字图像(或通过使用残差生成模块)来执行,以生成LR残差图像。
在操作706中,将LR残差图像转换(例如,通过使用多个卷积层)为与输入LR图像对应的多个HR残差子图像。例如,卷积层使用LR残差图像生成与输入LR图像对应的多个HR残差子图像。在操作708中,使用基础HR图像和多个HR残差子图像生成与输入LR图像对应的HR图像。例如,HR残差图像是通过对多个HR残差子图像进行像素移位来生成的。HR图像是使用基础HR图像和HR残差图像来生成的。
图8是一些示例实施例提供的代表性软件架构800的框图,该软件架构800可与本文描述的各种设备硬件结合使用。图8仅仅是软件架构802的非限制性示例,应理解,可以实现许多其它架构来促进实现本文所描述的功能。软件架构802在如图9的设备900等硬件中执行,该硬件包括处理器905、内存910、存储器915和/或920以及I/O接口925和930等。
示出了代表性硬件层804,该硬件层804可以表示图9的设备900等。代表性硬件层804包括具有相关联的可执行指令808的一个或多个处理单元806。可执行指令808表示软件架构802的可执行指令,包括实现图1-图14的方法、模块等。硬件层804还包括内存或存储模块810,所述内存或存储模块810也具有可执行指令808。硬件层804还可以包括其它硬件812,所述其它硬件812表示硬件层804的任何其它硬件,如图示为设备900的一部分的其它硬件。
在图8的示例架构中,软件架构802可以概念化为各层的堆栈,其中每个层具有特定功能。例如,软件架构802可以包括操作***814、库816、框架/中间件818、应用820和表示层844等层。在操作上,应用820或各层内的其它组件可以通过软件堆栈调用应用编程接口(application programming interface,API)调用824,并响应API调用824接收以消息826示出的响应、返回值等。图8所示的各层实际是代表性的,并非所有软件架构802都具有所有层。例如,一些移动或专用操作***可能不提供框架/中间件818,而其它操作***可能提供这种层。其它软件结构可以包括附加的或不同的层。
操作***814可以管理硬件资源并提供公共服务。操作***814可以包括内核828、服务830和驱动器832等。内核828可以作为硬件与其它软件层之间的抽象层。例如,内核828可以负责内存管理、处理器管理(例如,调度)、组件管理、组网、安全设置等。服务830可以为其它软件层提供其它公共服务。驱动器832可以负责控制底层硬件或与底层硬件连接。例如,根据硬件配置,驱动器832可以包括显示器驱动器、摄影机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(universal serial bus,USB)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
库816可提供可供应用820或其它组件或层使用的公共基础设施。库816的功能通常是使其它软件模块可以通过比与底层操作***814功能(例如,内核828、服务830或驱动器832)直接连接更容易的方式执行任务。库816可以包括***库834(例如,C标准库),所述***库834可以提供如内存分配功能、字符串操作功能、数学功能等功能。此外,库816可以包括API库836,如媒体库(例如,支持各种媒体格式(如MPEG4、H.264、MP3、AAC、AMR、JPGPNG)的呈现和操作的库)、图形库(例如,可用于在显示器上呈现2D和3D图形内容的OpenGL框架)、数据库库(例如,可以提供各种关系数据库功能的SQLite)、网页库(例如,可以提供网页浏览功能的WebKit)等。库816还可以包括多种其它库838,以向应用820和其它软件组件/模块提供许多其它API。
框架/中间件818(有时也称为中间件)可以提供可供应用820或其它软件组件/模块使用的高级公共基础设施。例如,框架/中间件818可提供各种图形用户界面(graphicaluser interface,GUI)功能、高级资源管理、高级位置服务等。框架/中间件818可以提供可供应用820或其它软件组件/模块使用的广泛的其它API,其中一些API可以是特定操作***814或平台专用的。
应用820包括内置应用840、第三方应用842和超分辨率管理模块(ultra-resolution management module,URMM)860。在一些方面,URMM 860可以包括合适的电路、逻辑、接口或代码,并且可以用于执行结合图1-图7描述的一个或多个UR相关功能。
代表性内置应用840的示例可以包括但不限于联系人应用、浏览器应用、阅读器应用、定位应用、媒体应用、消息应用或游戏应用。第三方应用842可以包括任何内置应用840以及广泛种类的其它应用。在具体示例中,第三方应用842(例如,由除特定平台的供应商以外的实体使用AndroidTM或iOSTM软件开发工具包(software development kit,SDK)开发的应用)可以是在如iOSTM、AndroidTM、Phone或其它移动操作***等移动操作***上运行的移动软件。在该示例中,第三方应用842可以调用由移动操作***(如操作***814)提供的API调用824,以便促进实现本文描述的功能。
应用820可以利用内置操作***功能(例如,内核828、服务830和驱动器832)、库(例如,***库834、API库836和其它库838)以及框架/中间件818创建用户界面,从而与***用户交互。或者或另外,在一些***中,可以通过表示层(如表示层844)与用户进行交互。在这些***中,应用/模块“逻辑”可以和与用户交互的应用/模块的各方面分开。
某些软件架构使用虚拟机。在图8的示例中,虚拟机由虚拟机848示出。虚拟机创建软件环境,在软件环境中,应用/模块可以如同在硬件机器(例如,图9的设备900)中执行一样执行。虚拟机848由主机操作***(例如,操作***814)托管,并且通常(尽管并不总是)具有虚拟机监控器846。该虚拟机监控器846用于管理虚拟机848的操作以及与主机操作***(即操作***814)的连接。软件架构802在如操作***850、库852、框架/中间件854、应用856或表示层858等虚拟机848内执行。在虚拟机848内执行的这些软件架构层可以与前述对应层相同,也可以不同。
图9是一些示例实施例提供的实现算法和执行方法的设备的电路的框图。在各种实施例中不需要使用所有组件。例如,客户端、服务器和基于云的网络设备可以各自使用不同的组件集,或者,在例如服务器的情况下使用较大存储设备。
一个计算机900(也称为计算设备900、计算机***900或计算机900)形式的示例计算设备可以包括处理器905、内存910、可移动存储器915、不可移动存储器920、输入接口925、输出接口930和通信接口935,它们均通过总线940连接。尽管示例计算设备被示出和描述为计算机900,但所述计算设备在不同的实施例中可以呈不同形式。
内存910可以包括易失性内存945和非易失性内存950,并且可以存储程序955。计算设备900可以包括或可以访问计算环境,所述计算环境包括各种计算机可读介质,如易失性内存945、非易失性内存950、可移动存储器915和不可移动存储器920。计算机存储器包括随机存取内存(random-access memory,RAM)、只读内存(read-only memory,ROM)、可擦除可编程只读内存(erasable programmable read-only memory,EPROM)、电可擦除可编程只读内存(electrically erasable programmable read-only memory,EEPROM)、闪存或其它内存技术、只读光盘内存(compact disc read-only memory,CD ROM)、数字通用磁盘(digital versatile disk,DVD)或其它光盘存储器、磁带盒、磁带、磁盘存储器或其它磁性存储设备,或任何其它能够存储计算机可读指令的介质。
存储在计算机可读介质中的计算机可读指令(例如,存储在内存910中的程序955)可由计算设备900的处理器905执行。硬盘驱动器、CD-ROM和RAM是包括非瞬时性计算机可读介质(如存储设备)的制品的一些示例。术语“计算机可读介质”和“存储设备”不包括被认为过于短暂的载波。“计算机可读非瞬时性介质”包括所有类型的计算机可读介质,包括磁性存储介质、光存储介质、闪存介质和固态存储介质。应当理解,软件可以安装在计算机中并随计算机一起销售。或者,可以获取软件并将其装载到计算机中,包括通过物理介质或分配***获取软件,包括例如从软件创作者拥有的服务器或从软件创作者未拥有但使用的服务器获取软件。例如,可以将软件存储在服务器中以通过互联网分配。本文所使用的术语“计算机可读介质”和“机器可读介质”可互换。
程序955可以利用使用本文所述的模块(如URMM 960,其可以与图8的URMM 860相同)的消费者偏好结构。
本文所述的任何一个或多个模块可以使用硬件(例如,机器的处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或其任何合适的组合)实现。此外,这些模块中的任何两个或更多个可以组合成单个模块,并且本文所述的单个模块的功能可以在多个模块之间细分。此外,根据各种示例实施例,本文描述为在单个机器、数据库或设备内实现的模块可以分布到多个机器、数据库或设备中。
在一些方面,作为程序955一部分的URMM 960以及一个或多个其它模块可以集成为单个模块,执行集成模块的对应功能。
尽管上文详细描述了几个实施例,但也可以进行其它修改。例如,在图中描述的逻辑流程不需要所示特定顺序或连续顺序来达到期望的结果。可以向所描述的流程提供其它步骤或从所描述的流程中删除步骤,并可以向所描述的***添加其它组件或从所描述的***中移除组件。其它实施例可在所附权利要求的范围内。
还应理解,可以在符合本发明的一个或多个计算设备中安装并与符合本发明的一个或多个计算设备一起销售包括一个或多个计算机可执行指令的软件,所述一个或多个计算机可执行指令有利于如上文结合本发明的任何一个步骤或所有步骤所描述的处理和操作。或者,可以获取软件并将其装载到一个或多个计算设备中,包括通过物理介质或分布***获取软件,包括例如从软件创作者拥有的服务器或从软件创作者未拥有但使用的服务器获取软件。例如,可以将软件存储在服务器中以通过互联网分配。
此外,本领域技术人员应理解,本发明在其应用中不限于在说明书中阐述或附图中示出的组件的构造和布置细节。本文的实施例能够适用其它实施例,并且能够以各种方式实践或执行。此外,应理解,本文使用的措辞和术语是为了描述目的,不应视为限制性的。在本文中使用“包括”、“包含”或“具有”及其变体旨在涵盖其后列举的项目及其等效物以及其它项目。除非另有限制,否则术语“连接”、“耦合”和“安装”以及其变体在本文中被广泛使用,并且涵盖直接连接和间接连接、耦合和安装。此外,术语“连接”和“耦合”及其变体不限于物理或机械连接或耦合。此外,如“上”、“下”、“底部”和“顶部”等术语是相对的,用于帮助说明,但并不具有限制性。
可以至少部分地在数字电子电路、模拟电子电路中,或计算机硬件、固件、软件或其组合中实现根据所说明的实施例使用的说明性设备、***和方法的组件。例如,这些组件可以实现为有形地体现于信息载体中,或机器可读存储设备中的计算机程序产品(如计算机程序、程序代码或计算机指令),以由数据处理装置(如可编程处理器、计算机或多台计算机)执行,或用于控制数据处理装置的操作。
计算机程序可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以部署成任何形式,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其它单元。可以将计算机程序部署成在一台计算机中或多台计算机中在一个站点处执行,也可以分布在多个站点处并通过通信网络互连。此外,用于实现本文描述的技术的功能程序、代码和代码段很容易被本文描述的技术所属领域的程序员理解为在权利要求的范围内。与说明性实施例相关联的方法步骤可以由一个或多个可编程处理器执行,从而执行计算机程序、代码或指令来执行功能(例如,对输入数据进行操作或生成输出)。例如,方法步骤也可以由专用逻辑电路(例如,现场可编程门阵列(field programmable gate array,FPGA)或专用集成电路(application-specific integrated circuit,ASIC))执行,并且用于执行所述方法的装置可以实现为该专用逻辑电路。
结合本文所公开实施例描述的各种说明性逻辑块、模块和电路可以利用通用处理器、数字信号处理器(digital signal processor,DSP)、ASIC、FPGA或其它可编程逻辑设备、分立门或晶体管逻辑、分立硬件组件或其为执行本文描述的功能而设计的任何组合来实现或执行。通用处理器可以为微处理器,可选地,该处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以实现为计算设备的组合,例如DSP和微处理器、多个微处理器、一个或多个微处理器结合DSP核,或任何其它类似的配置的组合。
例如,适合执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器从只读内存或随机存取内存或两者中接收指令和数据。计算机的必需元件是用于执行指令的处理器和用于存储指令和数据的一个或多个内存设备。通常,计算机还包括一个或多个用于存储数据的大容量存储设备(例如磁盘、磁光盘或光盘),或与一个或多个用于存储数据的大容量存储设备可操作地耦合以从所述大容量存储设备接收数据和/或将数据传送给所述大容量存储设备。适于体现计算机程序指令和数据的信息载体包括各种形式的非易失性内存,例如,包括半导体内存设备,例如电可编程只读内存或电可编程ROM(electrically programmable read-only memory,EPROM)、电可擦除可编程ROM(electrically erasable programmable ROM,EEPROM)、闪存设备、数据存储盘(例如,磁盘、内置硬盘、或可移动磁盘、磁光盘、CD-ROM和DVD-ROM盘)。处理器和内存可以由专用逻辑电路补充或并入专用逻辑电路。
本领域技术人员应当理解,可以使用多种不同的技术和技术方法中的任何一种来表示信息和信号。例如,上文描述中可以引用的数据、指令、命令、信息、信号、比特、符号和芯片可由电压、电流、电磁波、磁场或磁粒、光场或光粒、或者任何组合表示。
本文所使用的“机器可读介质”(或“计算机可读介质”)包括能够暂时或永久存储指令和数据的设备,可以包括但不限于随机存取内存(random-access memory,RAM)、只读内存(read-only memory,ROM)、缓冲内存、闪存、光学介质、磁性介质、高速缓存内存、其它类型的存储器(例如,可擦除可编程只读内存(erasable programmable read-onlymemory,EEPROM))或其任何合适的组合。术语“机器可读介质”应理解为包括能够存储处理器指令的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还应理解为包括能够存储由一个或多个处理器905执行的指令的任何介质或多种介质的组合,一个或多个处理器905执行所述指令时,一个或多个处理器905执行本文描述的任何一种或多种方法。相应地,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云”的存储***或存储网络。本文使用的术语“机器可读介质”不包括信号本身。
此外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、***、子***和方法可以与其它***、模块、技术或方法进行组合或集成。示出或描述为彼此耦合、或直接耦合、或彼此通信的其它项目可通过某种接口、设备或中间组件以电方式、机械方式或其它方式间接耦合或通信。变化、替换和变更相关的其它实例可由本领域技术人员确定,并可在不偏离本文公开的范围的情况下举例。
尽管已经参考本发明的特定特征和实施例描述了本发明,但是明显在不脱离本发明的情况下可以制定本发明的各种修改和组合。例如,可以将其它组件添加到所描述的***中或从所描述的***中移除其它组件。因此,说明书和附图仅被视为所附权利要求书所定义的本发明的说明并且考虑落于本发明范围内的任何和所有修改、变体、组合或等效物。其它方面可在所附权利要求书的范围内。最后,除非另有特别说明,否则本文所使用的连词“或”是指非排他性的“或”。
Claims (22)
1.一种用于提高数字图像的图像分辨率的计算机实现方法,其特征在于,所述方法包括:
对所述数字图像进行双三次上采样以生成基础高分辨率(high-resolution,HR)图像;
将所述数字图像从红-绿-蓝(red-green-blue,RGB)颜色空间转换为亮度(Y)、色度蓝差(Cb)和色度红差(Cr)(YCbCr)颜色空间,以生成低分辨率(low-resolution,LR)残差图像;
使用神经网络模型的多个卷积层将所述LR残差图像转换为与所述数字图像对应的多个HR残差子图像;
使用所述基础HR图像和所述多个HR残差子图像生成与所述数字图像对应的HR图像。
2.根据权利要求1所述的计算机实现方法,其特征在于,还包括:
对所述多个HR残差子图像进行像素移位,以生成HR残差图像;
其中,所述生成与所述数字图像对应的所述HR图像包括组合所述HR残差图像和所述基础HR图像。
3.根据权利要求1或2所述的计算机实现方法,其特征在于,所述神经网络模型包括输入层,所述多个卷积层包括四个卷积层。
4.根据权利要求3所述的计算机实现方法,其特征在于,所述输入层用于接收所述数字图像,所述四个卷积层的输出层用于输出所述多个HR残差子图像。
5.根据权利要求3所述的计算机实现方法,其特征在于,
所述多个卷积层中的第一层配置有3×3像素核和8个通道;
所述多个卷积层中的第二层配置有3×3像素核和6个通道;
所述多个卷积层中的第三层配置有3×3像素核和4个通道;
所述多个卷积层中的第四层配置有4个通道。
6.根据权利要求1至5中任一项所述的计算机实现方法,其特征在于,还包括:
用多个训练图像对训练所述神经网络模型,所述多个训练图像对中的每个训练图像对包括:
与训练图像对应的LR图像,所述LR图像具有降级的图像质量,并配置为所述神经网络模型的输入;
与所述训练图像对应并配置为所述神经网络模型的目标输出的多个HR残差子图像。
7.根据权利要求6所述的计算机实现方法,其特征在于,训练所述神经网络模型还包括:
使用低通滤波器对所述训练图像进行滤波,以生成滤波后的图像;
对所述滤波后的图像进行下采样,以生成下采样后的LR图像;
通过添加噪声和伪影使所述下采样后的LR图像的图像质量降级,以生成与所述训练图像对应的所述LR图像。
8.根据权利要求7所述的计算机实现方法,其特征在于,训练所述神经网络模型还包括:
对所述训练图像应用不平衡的反锐化掩模以生成对比度增强图像;
从所述对比度增强图像中减去所述下采样后的LR图像的上采样版本,以生成与所述训练图像对应的HR残差图像。
9.根据权利要求8所述的计算机实现方法,其特征在于,训练所述神经网络模型还包括:
划分与所述训练图像对应的所述HR残差图像,以生成与所述训练图像对应的所述多个HR残差子图像。
10.一种***,其特征在于,包括:
存储指令的存储器;
一个或多个处理器,与所述存储器通信,其中,所述一个或多个处理器执行所述指令以:
对数字图像进行双三次上采样以生成基础高分辨率(high-resolution,HR)图像;
将所述数字图像从红-绿-蓝(red-green-blue,RGB)颜色空间转换为亮度(Y)、色度蓝差(Cb)和色度红差(Cr)(YCbCr)颜色空间,以生成低分辨率(low-resolution,
LR)残差图像;
使用神经网络模型的多个卷积层将所述LR残差图像转换为与所述数字图像对应的多个HR残差子图像;
使用所述基础HR图像和所述多个HR残差子图像生成与所述数字图像对应的HR图像。
11.根据权利要求10所述的***,其特征在于,所述一个或多个处理器执行所述指令以:
对所述多个HR残差子图像进行像素移位,以生成HR残差图像;
组合所述HR残差图像和所述基础HR图像,以生成与所述数字图像对应的所述HR图像。
12.根据权利要求10或11所述的***,其特征在于:
所述神经网络模型包括输入层,所述多个卷积层包括四个卷积层;
所述输入层用于接收所述数字图像;
所述四个卷积层的输出层用于输出所述多个HR残差子图像。
13.根据权利要求12所述的***,其特征在于:
所述多个卷积层中的第一层配置有3×3像素核和8个通道;
所述多个卷积层中的第二层配置有3×3像素核和6个通道;
所述多个卷积层中的第三层配置有3×3像素核和4个通道;
所述多个卷积层中的第四层配置有4个通道。
14.根据权利要求10至13中任一项所述的***,其特征在于,所述一个或多个处理器执行所述指令以:
用多个训练图像对训练所述神经网络模型,所述多个训练图像对中的每个训练图像对包括:
与训练图像对应的LR图像,所述LR图像具有降级的图像质量,并配置为所述神经网络模型的输入;
与所述训练图像对应并配置为所述神经网络模型的目标输出的多个HR残差子图像。
15.根据权利要求14所述的***,其特征在于,为了训练所述神经网络模型,所述一个或多个处理器执行所述指令以:
使用低通滤波器对所述训练图像进行滤波,以生成滤波后的图像;
对所述滤波后的图像进行下采样,以生成下采样后的LR图像;
通过添加噪声和伪影使所述下采样后的LR图像的图像质量降级,以生成与所述训练图像对应的所述LR图像。
16.根据权利要求15所述的***,其特征在于,为了训练所述神经网络模型,所述一个或多个处理器执行所述指令以:
对所述训练图像应用不平衡的反锐化掩模以生成对比度增强图像;
从所述对比度增强图像中减去所述下采样后的LR图像的上采样版本,以生成与所述训练图像对应的HR残差图像。
17.根据权利要求16所述的***,其特征在于,为了训练所述神经网络模型,所述一个或多个处理器执行所述指令以:
划分与所述训练图像对应的所述HR残差图像,以生成与所述训练图像对应的所述多个HR残差子图像。
18.一种计算机可读介质,其特征在于,存储用于提高数字图像的图像分辨率的计算机指令,其中,当一个或多个处理器执行所述指令时,使所述一个或多个处理器执行包括以下各项的步骤:
对所述数字图像进行双三次上采样以生成基础高分辨率(high-resolution,HR)图像;
将所述数字图像从红-绿-蓝(red-green-blue,RGB)颜色空间转换为亮度(Y)、色度蓝差(Cb)和色度红差(Cr)(YCbCr)颜色空间,以生成低分辨率(low-resolution,LR)残差图像;
使用神经网络模型的多个卷积层将所述LR残差图像转换为与所述数字图像对应的多个HR残差子图像;
使用所述基础HR图像和所述多个HR残差子图像生成与所述数字图像对应的HR图像。
19.根据权利要求18所述的计算机可读介质,其特征在于,所述指令还使所述一个或多个处理器执行包括以下各项的步骤:
用多个训练图像对训练所述神经网络模型,所述多个训练图像对中的每个训练图像对包括:
与训练图像对应的LR图像,所述LR图像具有降级的图像质量,并配置为所述神经网络模型的输入;
与所述训练图像对应并配置为所述神经网络模型的目标输出的多个HR残差子图像。
20.根据权利要求19所述的计算机可读介质,其特征在于,所述指令还使所述一个或多个处理器执行包括以下各项的步骤:
使用低通滤波器对所述训练图像进行滤波,以生成滤波后的图像;
对所述滤波后的图像进行下采样,以生成下采样后的LR图像;
通过添加噪声和伪影使所述下采样后的LR图像的图像质量降级,以生成与所述训练图像对应的所述LR图像。
21.根据权利要求20所述的计算机可读介质,其特征在于,所述指令还使所述一个或多个处理器执行以下步骤:
对所述训练图像应用不平衡的反锐化掩模以生成对比度增强图像;
从所述对比度增强图像中减去所述下采样后的LR图像的上采样版本,以生成与所述训练图像对应的HR残差图像;
划分与所述训练图像对应的所述HR残差图像,以生成与所述训练图像对应的所述多个HR残差子图像。
22.一种用于提高数字图像的图像分辨率的图像分辨率调整***,其特征在于,所述***包括:
上采样模块,用于对所述数字图像进行双三次上采样以生成基础高分辨率(high-resolution,HR)图像;
颜色空间处理模块,用于将所述数字图像从红-绿-蓝(red-green-blue,RGB)颜色空间转换为亮度(Y)、色度蓝差(Cb)和色度红差(Cr)(YCbCr)颜色空间,以生成低分辨率(low-resolution,LR)残差图像;
卷积模块,用于将所述LR残差图像转换为与所述数字图像对应的多个HR残差子图像;
添加模块,用于使用所述基础HR图像和所述多个HR残差子图像生成与所述数字图像对应的HR图像。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/037727 WO2020256704A1 (en) | 2019-06-18 | 2019-06-18 | Real-time video ultra resolution |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114008663A true CN114008663A (zh) | 2022-02-01 |
Family
ID=67145877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980097645.2A Pending CN114008663A (zh) | 2019-06-18 | 2019-06-18 | 实时视频超分辨率 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11449966B2 (zh) |
EP (1) | EP3973498A1 (zh) |
JP (1) | JP7417640B2 (zh) |
CN (1) | CN114008663A (zh) |
AU (1) | AU2019451948B2 (zh) |
CA (1) | CA3144236A1 (zh) |
WO (1) | WO2020256704A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489887B2 (en) * | 2017-04-10 | 2019-11-26 | Samsung Electronics Co., Ltd. | System and method for deep learning image super resolution |
CN114096987A (zh) * | 2019-07-03 | 2022-02-25 | 韩国科学技术院 | 视频处理方法及装置 |
US10984507B2 (en) * | 2019-07-17 | 2021-04-20 | Harris Geospatial Solutions, Inc. | Image processing system including training model based upon iterative blurring of geospatial images and related methods |
CN110428378B (zh) * | 2019-07-26 | 2022-02-08 | 北京小米移动软件有限公司 | 图像的处理方法、装置及存储介质 |
US12033301B2 (en) | 2019-09-09 | 2024-07-09 | Nvidia Corporation | Video upsampling using one or more neural networks |
CN110677649B (zh) * | 2019-10-16 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 基于机器学习的去伪影方法、去伪影模型训练方法及装置 |
CN110827200B (zh) * | 2019-11-04 | 2023-04-07 | Oppo广东移动通信有限公司 | 一种图像超分重建方法、图像超分重建装置及移动终端 |
EP4070268A4 (en) * | 2020-01-23 | 2023-01-25 | Baidu.com Times Technology (Beijing) Co., Ltd. | DEEP RESIDUAL NETWORK FOR COLORED FILTER NETWORK IMAGE DENOISE |
US20220067879A1 (en) * | 2020-09-03 | 2022-03-03 | Nvidia Corporation | Image enhancement using one or more neural networks |
US20220114700A1 (en) * | 2020-10-08 | 2022-04-14 | Nvidia Corporation | Upsampling an image using one or more neural networks |
CN112614132B (zh) * | 2021-01-27 | 2021-07-06 | 杭州健培科技有限公司 | 针对少样本腰椎医学影像的半监督循环自学习方法及模型 |
US20220286696A1 (en) * | 2021-03-02 | 2022-09-08 | Samsung Electronics Co., Ltd. | Image compression method and apparatus |
CN113421187B (zh) * | 2021-06-10 | 2023-01-03 | 山东师范大学 | 一种超分辨率重建方法、***、存储介质、设备 |
EP4105879A1 (en) * | 2021-06-17 | 2022-12-21 | Fujitsu Limited | An unsupervised learning method to detect transparent, or hard to see, anomalies in images |
US20230021463A1 (en) * | 2021-07-21 | 2023-01-26 | Black Sesame International Holding Limited | Multi-frame image super resolution system |
CN113724151B (zh) * | 2021-07-30 | 2022-09-27 | 荣耀终端有限公司 | 一种图像增强方法、电子设备和计算机可读存储介质 |
US12041248B2 (en) * | 2021-08-02 | 2024-07-16 | Mediatek Singapore Pte. Ltd. | Color component processing in down-sample video coding |
CN114007135B (zh) * | 2021-10-29 | 2023-04-18 | 广州华多网络科技有限公司 | 视频插帧方法及其装置、设备、介质、产品 |
US11948275B2 (en) * | 2022-07-13 | 2024-04-02 | Zoom Video Communications, Inc. | Video bandwidth optimization within a video communications platform |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100846500B1 (ko) * | 2006-11-08 | 2008-07-17 | 삼성전자주식회사 | 확장된 가보 웨이브렛 특징 들을 이용한 얼굴 인식 방법 및장치 |
US8989519B2 (en) * | 2009-04-20 | 2015-03-24 | Yeda Research & Development Co. Ltd. | Super resolution from a single signal |
US9734558B2 (en) * | 2014-03-20 | 2017-08-15 | Mitsubishi Electric Research Laboratories, Inc. | Method for generating high-resolution images using regression patterns |
GB201604345D0 (en) * | 2016-03-14 | 2016-04-27 | Magic Pony Technology Ltd | Super resolution using fidelity transfer |
US10685429B2 (en) * | 2017-02-22 | 2020-06-16 | Siemens Healthcare Gmbh | Denoising medical images by learning sparse image representations with a deep unfolding approach |
KR102331043B1 (ko) * | 2017-03-20 | 2021-11-25 | 삼성전자주식회사 | 인코딩 시스템 및 이의 동작 방법 |
CN107358575A (zh) * | 2017-06-08 | 2017-11-17 | 清华大学 | 一种基于深度残差网络的单幅图像超分辨率重建方法 |
JP2019067078A (ja) * | 2017-09-29 | 2019-04-25 | 国立大学法人 筑波大学 | 画像処理方法、及び画像処理プログラム |
US10552944B2 (en) * | 2017-10-13 | 2020-02-04 | Adobe Inc. | Image upscaling with controllable noise reduction using a neural network |
-
2019
- 2019-06-18 JP JP2021575454A patent/JP7417640B2/ja active Active
- 2019-06-18 CN CN201980097645.2A patent/CN114008663A/zh active Pending
- 2019-06-18 EP EP19735687.6A patent/EP3973498A1/en active Pending
- 2019-06-18 WO PCT/US2019/037727 patent/WO2020256704A1/en unknown
- 2019-06-18 CA CA3144236A patent/CA3144236A1/en active Pending
- 2019-06-18 AU AU2019451948A patent/AU2019451948B2/en active Active
-
2020
- 2020-06-18 US US16/946,379 patent/US11449966B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20200402205A1 (en) | 2020-12-24 |
WO2020256704A1 (en) | 2020-12-24 |
US11449966B2 (en) | 2022-09-20 |
JP7417640B2 (ja) | 2024-01-18 |
AU2019451948B2 (en) | 2023-10-26 |
JP2022536807A (ja) | 2022-08-18 |
EP3973498A1 (en) | 2022-03-30 |
CA3144236A1 (en) | 2020-12-24 |
AU2019451948A1 (en) | 2022-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7417640B2 (ja) | リアルタイム映像超高解像度 | |
Wang et al. | Generative image modeling using style and structure adversarial networks | |
CN109389027B (zh) | 表单结构提取网络 | |
US20200273192A1 (en) | Systems and methods for depth estimation using convolutional spatial propagation networks | |
CN108154222B (zh) | 深度神经网络训练方法和***、电子设备 | |
EP3963516B1 (en) | Teaching gan (generative adversarial networks) to generate per-pixel annotation | |
US20190188539A1 (en) | Electronic apparatus and control method thereof | |
Patel et al. | A generative adversarial network for tone mapping hdr images | |
US20240119697A1 (en) | Neural Semantic Fields for Generalizable Semantic Segmentation of 3D Scenes | |
CN114511576B (zh) | 尺度自适应特征增强深度神经网络的图像分割方法与*** | |
CN113065459B (zh) | 一种基于动态条件卷积的视频实例分割方法及*** | |
CN112884668A (zh) | 基于多尺度的轻量级低光图像增强方法 | |
JP7188856B2 (ja) | 動的な画像解像度評価 | |
CN117237756A (zh) | 一种训练目标分割模型的方法、目标分割方法及相关装置 | |
KR102454742B1 (ko) | 뇌 피질 영역의 두께를 분석하는 방법 | |
CN115082840A (zh) | 基于数据组合和通道相关性的动作视频分类方法和装置 | |
CN115375909A (zh) | 一种图像处理方法及装置 | |
US11755883B2 (en) | Systems and methods for machine-learned models having convolution and attention | |
CN113365072B (zh) | 特征图压缩方法、装置、计算设备以及存储介质 | |
You | [Retracted] Modeling and Analysis of Multifocus Picture Division Algorithm Based on Deep Learning | |
Ye et al. | Learning multi-granularity semantic interactive representation for joint low-light image enhancement and super-resolution |
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 |