IP Library › Granted Patent US 11,869,171
Granted Patent B2
US 11,869,171 · App. 17/090,170 · Granted Jan 9, 2024

Adaptive deformable kernel prediction network for image de-noising

Inventors: Anbang Yao (Beijing, CN); Ming Lu (Beijing, CN); Yikai Wang (Beijing, CN); Xiaoming Chen (Shanghai, CN); Junjie Huang (Guangdong, CN); Tao Lv (Shanghai, CN); Yuanke Luo (Shanghai, CN); Yi Yang (Shanghai, CN); Feng Chen (Shanghai, CN); Zhiming Wang (Shanghai, CN); Zhiqiao Zheng (Guangdong Sheng, CN); Shandong Wang (Beijing, CN)
Assignee: INTEL CORPORATION
G06T5/002G06N3/04G06T2207/20081G06T2207/20084
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,869,171
App. No.
17/090,170
Granted
Jan 9, 2024
Kind
B2
Abstract

Embodiments are generally directed to an adaptive deformable kernel prediction network for image de-noising. An embodiment of a method for de-noising an image by a convolutional neural network implemented on a compute engine, the image including a plurality of pixels, the method comprising: for each of the plurality of pixels of the image, generating a convolutional kernel having a plurality of kernel values for the pixel; generating a plurality of offsets for the pixel respectively corresponding to the plurality of kernel values, each of the plurality of offsets to indicate a deviation from a pixel position of the pixel; determining a plurality of deviated pixel positions based on the pixel position of the pixel and the plurality of offsets; and filtering the pixel with the convolutional kernel and pixel values of the plurality of deviated pixel positions to obtain a de-noised pixel.

Claims (38)

1. A method comprising:

de-noising an image by a convolutional neural network implemented on a compute hardware engine, the image including a plurality of pixels,

for each of the plurality of pixels of the image, generating a convolutional kernel having a plurality of kernel values for the pixel;

generating a plurality of offsets for the pixel respectively corresponding to the plurality of kernel values, each of the plurality of offsets to indicate a deviation from a pixel position of the pixel, wherein an upper limit of the deviation is predefined;

determining a plurality of deviated pixel positions based on the pixel position of the pixel and the plurality of offsets, wherein an offset of the plurality of offsets comprises a position value to indicate the deviation from the pixel position of the pixel, wherein the position value comprises floating point values, wherein the plurality of kernel values are different for at least two pixels of the image; and

filtering the pixel with the convolutional kernel and pixel values of the plurality of deviated pixel positions to obtain a de-noised pixel.

2. The method of claim 1 , wherein the plurality of offsets are different for at least two pixels of the image, wherein the plurality of offsets are generated prior to or simultaneously with the generation of the convolutional kernel.

3. The method of claim 1 , wherein the filtering the pixel with the convolutional kernel and pixel values of the plurality of deviated pixel positions comprises:

applying the plurality of kernel values of the convolutional kernel to the pixel values of the plurality of deviated pixel positions to obtain a weighted average of the pixel values.

4. An apparatus comprising:

a data storage to store data including an image, the image including a plurality of pixels; and

a compute hardware engine coupled to the data storage, the compute hardware engine to denoise the image by a convolutional neural network, the compute hardware engine to:

for each of the plurality of pixels of the image,

generate a convolutional kernel having a plurality of kernel values for the pixel;

generate a plurality of offsets for the pixel respectively corresponding to the plurality of kernel values, each of the plurality of offsets to indicate a deviation from a pixel position of the pixel, wherein an upper limit of the deviation is predefined;

determine a plurality of deviated pixel positions based on the pixel position of the pixel and the plurality of offsets, wherein an offset of the plurality of offsets comprises a position value to indicate the deviation from the pixel position of the pixel, wherein the position value comprises floating point values, wherein the plurality of kernel values are different for at least two pixels of the image; and

filter the pixel with the convolutional kernel and pixel values of the plurality of deviated pixel positions to obtain a de-noised pixel.

5. The apparatus of claim 4 , wherein the plurality of offsets are different for at least two pixels of the image, wherein the plurality of offsets are generated prior to or simultaneously with the generation of the convolutional kernel.

6. The apparatus of claim 4 , wherein the filtering the pixel with the convolutional kernel and pixel values of the plurality of deviated pixel positions comprises:

applying the plurality of kernel values of the convolutional kernel to the pixel values of the plurality of deviated pixel positions to obtain a weighted average of the pixel values.

7. At least one non-transitory computer-readable medium comprising a plurality of instructions which, when executed, cause a computing device to perform operations comprising:

de-noising an image by a convolutional neural network implemented on a compute hardware engine, the image including a plurality of pixels,

for each of the plurality of pixels of the image, generating a convolutional kernel having a plurality of kernel values for the pixel;

generating a plurality of offsets for the pixel respectively corresponding to the plurality of kernel values, each of the plurality of offsets to indicate a deviation from a pixel position of the pixel, wherein an upper limit of the deviation is predefined;

determining a plurality of deviated pixel positions based on the pixel position of the pixel and the plurality of offsets, wherein an offset of the plurality of offsets comprises a position value to indicate the deviation from the pixel position of the pixel, wherein the position value comprises floating point values, wherein the plurality of kernel values are different for at least two pixels of the image; and

filtering the pixel with the convolutional kernel and pixel values of the plurality of deviated pixel positions to obtain a de-noised pixel.

8. The non-transitory computer-readable medium of claim 7 , wherein the plurality of offsets are different for at least two pixels of the image, wherein the plurality of offsets are generated prior to or simultaneously with the generation of the convolutional kernel.

9. The non-transitory computer-readable medium of claim 7 , wherein the filtering the pixel with the convolutional kernel and pixel values of the plurality of deviated pixel positions comprises:

applying the plurality of kernel values of the convolutional kernel to the pixel values of the plurality of deviated pixel positions to obtain a weighted average of the pixel values.

10. A system comprising:

a data storage to store data including an image, the image including a plurality of pixels; and

a compute hardware engine coupled to the data storage, the compute hardware engine to denoise the image by a convolutional neural network, the compute hardware engine to:

for each of the plurality of pixels of the image,

generate a convolutional kernel having a plurality of kernel values for the pixel;

generate a plurality of offsets for the pixel respectively corresponding to the plurality of kernel values, each of the plurality of offsets to indicate a deviation from a pixel position of the pixel, wherein an upper limit of the deviation is predefined;

determine a plurality of deviated pixel positions based on the pixel position of the pixel and the plurality of offsets, wherein an offset of the plurality of offsets comprises a position value to indicate the deviation from the pixel position of the pixel, wherein the position value comprises floating point values, wherein the plurality of kernel values are different for at least two pixels of the image; and

filter the pixel with the convolutional kernel and pixel values of the plurality of deviated pixel positions to obtain a de-noised pixel.

11. The system of claim 10 , wherein the plurality of offsets are different for at least two pixels of the image, wherein the plurality of offsets are generated prior to or simultaneously with the generation of the convolutional kernel.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2020
From: YAO, ANBANG; LU, MING; WANG, YIKAI; CHEN, XIAOMING; HUANG, JUNJIE; LV, TAO; LUO, YUANKE; YANG, YI; CHEN, FENG; WANG, ZHIMING; ZHENG, ZHIQIAO; WANG, SHANDONG
To: INTEL CORPORATION
Reel/Frame 054332/0662 →
Priority Claims (1)
CN 201911081492.0 · Nov 7, 2019 · national
Continuity (1)
Related Publication 20210142448A1 · May 13, 2021