为摄像头去噪的装置、板卡、方法及可读存储介质与流程

文档序号:32477682发布日期:2022-12-09 18:01阅读:59来源:国知局
为摄像头去噪的装置、板卡、方法及可读存储介质与流程

1.本发明一般地涉及图像信号处理领域。更具体地,本发明涉及为摄像头去噪的装置、板卡、方法及可读存储介质。


背景技术:

2.摄像头和图像传感器是高度成熟的产品,市场上充斥着各式各样不同光学特征的摄像头和不同电气特征的传感器,导致图像信号处理器(image signal processor,isp)无法自动对这些硬件特征统一补偿,使得图像处理后的效果不如预期。为了解决这个问题,摄像头和图像传感器的供应商会提供一套标定工具,利用现有仪器设备获得的图像作为输入,展示调整程序让输出能够更好地逼近期望效果。现有技术大都采用拜耳(bayer)去噪算法,即利用深度学习技术取得更好的校正效果。
3.在进行黑电平校正时,先标定一组黑帧的均值作为参考值,在后续的算法中减去这个参考值,以去除背景噪音。然而,在黑帧的情况下,像素其实服从的是高斯分布,光响应不均匀性(photo response non-uniformity,prnu)、暗电流、固定模式噪音(fixed pattern noise)等因素都会产生一定影响,所以黑电平校正的准确度难以保证。
4.在进行噪音标定时,由于现有去噪算法是利用一组滤波器,故噪音标定的输出仅为增益大小或者暗帧方差作为滤波强度,并未考虑到噪音更精确的模型和描述噪音的分布,导致噪音标定不精准,去噪效果自然无法令人满意。
5.因此,一种去噪效果佳的方案是迫切需要的。


技术实现要素:

6.为了至少部分地解决背景技术中提到的技术问题,本发明的方案提供了一种为摄像头去噪的装置、板卡、方法及可读存储介质。
7.在一个方面中,本发明揭露一种为摄像头去噪的方法,包括:获取像素的灰度值模型;获取摄像头在多种感光度下拍摄的多张黑帧、暗帧及亮帧画面;将黑帧画面代入灰度值模型,以获得黑帧参数;将暗帧及亮帧画面及黑帧参数代入灰度值模型,以获得非黑帧参数;将黑帧参数及非黑帧参数作为先验输入代入神经网络模型中进行训练;以及将摄像头拍摄的图像数据输入训练后的神经网络模型进行图像信号处理,以获得去噪输出。
8.在另一个方面,本发明揭露一种计算机可读存储介质,其上存储有为摄像头去噪的计算机程序代码,当计算机程序代码由处理装置运行时,执行前述的方法。
9.在另一个方面,本发明揭露一种为摄像头去噪的集成电路装置,包括处理装置及计算装置。处理装置用以:获取像素的灰度值模型;获取摄像头在多种感光度下拍摄的多张黑帧、暗帧及亮帧画面;将黑帧画面代入灰度值模型,以获得黑帧参数;以及将暗帧及亮帧画面及黑帧参数代入灰度值模型,以获得非黑帧参数。计算装置用以:将黑帧参数及非黑帧参数作为先验输入代入神经网络模型中进行训练;以及将摄像头拍摄的图像数据输入训练后的神经网络模型进行图像信号处理,以获得去噪输出。
10.在另一个方面,本发明揭露一种板卡,包括前述的集成电路装置。
11.本发明通过将黑帧参数及非黑帧参数作为先验输入代入神经网络模型中进行训练,可以对噪音更精确的标定,优化图像信号处理的去噪效果。
附图说明
12.通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
13.图1是示出本发明实施例的板卡的结构图;
14.图2是示出本发明实施例的集成电路装置的结构图;
15.图3是示出本发明实施例的计算装置的内部结构示意图;
16.图4是示出本发明实施例的处理器核的内部结构示意图;
17.图5是示出当一个处理器核欲将数据写入至另一个集群的处理器核时的示意图;
18.图6是示出本发明实施例的摄像头的单个像素将光子转换成模数单位(adus)的示意图;以及
19.图7是示出本发明另一实施例为摄像头去噪的方法的流程图。
具体实施方式
20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.应当理解,本发明的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本发明的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
22.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本发明。如在本发明说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
23.如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。
24.下面结合附图来详细描述本发明的具体实施方式。
25.本发明提出一种在神经网络模型中去噪的方案,此神经网络模型原本用来执行与图像信号处理有关的特定任务,例如图像识别、目标检测、语义分割、视频理解、图像生成、去噪、去马赛克等。本发明将黑帧参数及非黑帧参数作为先验输入代入神经网络模型中进行训练,使得此神经网络模型在训练过程中,通过参数的更新进而抑制噪音对图像输出的影响。
26.本发明的实施例是一种应用于具有摄像头以实现计算机视觉的网络架构中,该网络架构具有如图1所示的板卡10。如图1所示,板卡10包括芯片101,其是一种系统级芯片(system on chip,soc),或称片上系统,集成有一个或多个组合处理装置,组合处理装置是一种人工智能运算单元,用以支持各类深度学习和机器学习算法,满足计算机视觉领域复杂场景下的智能处理需求。特别是深度学习技术大量应用在云端智能领域,云端智能应用的一个显著特点是输入数据量大,对平台的存储能力和计算能力有很高的要求,此实施例的板卡10适用在云端智能应用,具有庞大的片外存储、片上存储和强大的计算能力。
27.芯片101通过对外接口装置102与外部设备103相连接。在此实施例中,外部设备103为摄像头。待处理的图像数据可以由外部设备103通过对外接口装置102传递至芯片101。根据不同的应用场景,对外接口装置102可以具有不同的接口形式,例如pcie接口等。
28.板卡10还包括用于存储数据的存储器件104,其包括一个或多个存储单元105。存储器件104通过总线与控制器件106和芯片101进行连接和数据传输。板卡10中的控制器件106配置用于对芯片101的状态进行调控。为此,在一个应用场景中,控制器件106可以包括单片机(micro controller unit,mcu)。
29.图2是示出此实施例的芯片101中的组合处理装置的结构图。如图2中所示,组合处理装置20包括计算装置201、接口装置202、处理装置203和dram 204。
30.计算装置201配置成执行用户指定的操作,主要实现为单核智能处理器或者多核智能处理器,用以执行深度学习或机器学习的计算,其可以通过接口装置202与处理装置203进行交互,以共同完成计算机视觉的操作。
31.接口装置202用于在计算装置201与处理装置203间传输数据和控制指令。例如,计算装置201可以经由接口装置202从处理装置203中获取输入数据,写入计算装置201片上的存储装置。进一步,计算装置201可以经由接口装置202从处理装置203中获取控制指令,写入计算装置201片上的控制缓存中。替代地或可选地,接口装置202也可以读取计算装置201的存储装置中的数据并传输给处理装置203。
32.处理装置203作为通用的处理装置,执行包括但不限于数据搬运、对计算装置201的开启和/或停止等基本控制。根据实现方式的不同,处理装置203可以是中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)或其他通用和/或专用处理器中的一种或多种类型的处理器,这些处理器包括但不限于数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本发明的计算装置201而言,其可以视为具有单核结构或者同构多核结构。然而,当将计算装置201和处理装置203整合共同考虑时,二者视为形成异构多核结构。
33.dram 204用以存储待处理的数据,为ddr内存,大小通常为16g或更大,用于保存计算装置201和/或处理装置203的数据,包括训练神经网络模型的训练样本集。
34.图3示出了计算装置201的内部结构示意图。计算装置201用以处理计算机视觉的输入数据,图中的计算装置201采用多核分层结构设计,计算装置201作为一个片上系统,其包括多个集群(cluster),每个集群又包括多个处理器核,换言之,计算装置201是以片上系
统-集群-处理器核的层次所构成的。
35.以片上系统的层级来看,如图3所示,计算装置201包括外部存储控制器301、外设通信模块302、片上互联模块303、同步模块304以及多个集群305。
36.外部存储控制器301可以有多个,在图中示例性地展示2个,其用以响应处理器核发出的访问请求,访问外部存储设备,例如图2中的dram 204,从而自片外读取图像数据或是将数据写入。外设通信模块302用以通过接口装置202接收来自处理装置203的控制信号,启动计算装置201执行任务。片上互联模块303将外部存储控制器301、外设通信模块302及多个集群305连接起来,用以在各个模块间传输数据和控制信号。同步模块304是一种全局同步屏障控制器(global barrier controller,gbc),用以协调各集群的工作进度,确保信息的同步。多个集群305是计算装置201的计算核心,在图中示例性地展示4个,随着硬件的发展,本发明的计算装置201还可以包括8个、16个、64个、甚至更多的集群305。集群305用以高效地执行深度学习算法。
37.以集群的层级来看,如图3所示,每个集群305包括多个处理器核(ipu core)306及一个存储核(mem core)307。
38.处理器核306在图中示例性地展示4个,本发明不限制处理器核306的数量。其内部架构如图4所示。每个处理器核306包括三大模块:控制模块41、运算模块42及存储模块43。
39.控制模块41用以协调并控制运算模块42和存储模块43的工作,以完成深度学习的任务,其包括取指单元(instruction fetch unit,ifu)411及指令译码单元(instruction decode unit,idu)412。取指单元411用以获取来自处理装置203的指令,指令译码单元412则将获取的指令进行译码,并将译码结果作为控制信息发送给运算模块42和存储模块43。
40.运算模块42包括向量运算单元421及矩阵运算单元422。向量运算单元421用以执行向量运算,可支持向量乘、加、非线性变换等复杂运算;矩阵运算单元422负责深度学习算法的核心计算,即矩阵乘及卷积。
41.存储模块43用来存储或搬运相关数据,包括神经元存储单元(neuron ram,nram)431、权值存储单元(weight ram,wram)432、输入/输出直接内存访问模块(input/output direct memory access,iodma)433、搬运直接内存访问模块(move direct memory access,mvdma)434。nram 431用以存储供处理器核306计算的特征图及计算后的中间结果;wram 432则用以存储深度学习网络的权值;iodma 433通过广播总线309控制nram 431/wram 432与dram 204的访存;mvdma 434则用以控制nram 431/wram 432与sram 308的访存。
42.回到图3,存储核307主要用以存储和通信,即存储处理器核306间的共享数据或中间结果、以及执行集群305与dram 204之间的通信、集群305间彼此的通信、处理器核306间彼此的通信等。在其他实施例中,存储核307具有标量运算的能力,用以执行标量运算。
43.存储核307包括共享存储单元(sram)308、广播总线309、集群直接内存访问模块(cluster direct memory access,cdma)310及全局直接内存访问模块(global direct memory access,gdma)311。sram 308承担高性能数据中转站的角色,在同一个集群305内不同处理器核306之间所复用的数据不需要通过处理器核306各自向dram 204获得,而是经sram 308在处理器核306间中转,存储核307只需要将复用的数据从sram 308迅速分发给多个处理器核306即可,以提高核间通讯效率,亦大大减少片上片外的输入/输出访问。
44.广播总线309、cdma 310及gdma 311则分别用来执行处理器核306间的通信、集群305间的通信和集群305与dram 204的数据传输。以下将分别说明。
45.广播总线309用以完成集群305内各处理器核306间的高速通信,此实施例的广播总线309支持核间通信方式包括单播、多播与广播。单播是指点对点(即单一处理器核至单一处理器核)的数据传输,多播是将一份数据从sram 308传输到特定几个处理器核306的通信方式,而广播则是将一份数据从sram 308传输到所有处理器核306的通信方式,属于多播的一种特例。
46.cdma 310用以控制在同一个计算装置201内不同集群305间的sram 308的访存。图5示出当一个处理器核欲将数据写入至另一个集群的处理器核时的示意图,以说明cdma 310的工作原理。在此应用场景中,同一个计算装置包括多个集群,为方便说明,图中仅展示集群0与集群1,集群0与集群1分别包括多个处理器核,同样为了说明方便,图中的集群0仅展示处理器核0,集群1仅展示处理器核1。处理器核0欲将数据写入至处理器核1。
47.首先,处理器核0发送单播写请求将数据写入本地的sram 0中,cdma 0作为主(master)端,cdma 1作为从(slave)端,主端向从端推送写请求,即主端发送写地址aw和写数据w,将数据传送到集群1的sram 1中,接着从端发送写响应b作为回应,最后集群1的处理器核1发送单播读请求将数据从sram 1中读取出来。
48.回到图3,gdma 311与外部存储控制器301协同,用以控制集群305的sram 308到dram 204的访存,或是将数据自dram 204读取至sram 308中。从前述可知,dram 204与nram 431或wram 432间的通信可以经由2个渠道来实现。第一个渠道是通过iodam 433直接联系dram 204与nram 431或wram 432;第二个渠道是先经由gdma 311使得数据在dram 204与sram 308间传输,再经过mvdma 434使得数据在sram 308与nram 431或wram 432间传输。虽然表面上看来第二个渠道需要更多的元件参与,数据流较长,但实际上在部分实施例中,第二个渠道的带宽远大于第一个渠道,因此dram 204与nram 431或wram 432间的通信通过第二个渠道可能更有效率。本发明的实施例可根据本身硬件条件选择数据传输渠道。
49.在其他实施例中,gdma 311的功能和iodma 433的功能可以整合在同一部件中。本发明为了方便描述,将gdma 311和iodma 433视为不同部件,对于本领域技术人员来说,只要其实现的功能以及达到的技术效果与本发明类似,即属于本发明的保护范围。进一步地,gdma 311的功能、iodma 433的功能、cdma 310的功能、mvdma 434的功能亦可以由同一部件来实现。
50.此实施例将摄像头噪音的各种来源进行建模,提出一套噪音标定的方法,可以针对任意摄像头(包括内部的传感器)准确描述,以生成拜耳域去噪的数据,这些数据作为参数加入神经网络模型的训练中,使得训练好的模型对这些摄像头直接产生去噪的效果。
51.此实施例的摄像头会连接到模数转换器,模数转换器用来将图像信号(模拟信号)转换成raw图像信号(数字信号)。raw图像是摄像头将捕捉到的光信号转化为数字信号的原始数据,raw文件是一种记录了摄像头的原始信息,包括由摄像头拍摄所产生的一些元数据,像是iso设置、快门速度、光圈值、白平衡等。
52.每个摄像头的每个感光点(photosite)只对一种原色rgb(红、绿、蓝)颜色分量敏感,图6示出摄像头的单个像素将光子转换成模数单位(adus)的示意图。摄像头包括彩色滤光片601及多个像素602,彩色滤光片601是由rgb三种原色的滤光片所组成,每种原色的滤
光片只允许该色的光穿过至像素602,例如红色滤光片只允许红色光穿过到达像素602。每个像素602包括三个传感器603,即三个感光点,每个传感器603对应一个原色滤光片。
53.当物体的光605进入摄像头时,由彩色滤光片601将其他波长的光滤掉,如图所示,例如绿色滤光片只允许物体的光605中的绿色光波穿过进入传感器603,在曝光时照射到传感器603上的光可以用光子来描述。当光子到达传感器603上的特定层时,每个光子就会激发出一个电子。电子数量的单位是“e
‑”
,也就是说,传感器603被激发出多少电子,就反映了有多少光子到达传感器603。曝光时间结束后,被激发出的电子全部由模数转换器606所接收,模数转换器606计算电子的数量,并将其转换为adu值。
54.在前述电子量化的过程中,模数转换器606使用转换因子“m”(来自内部的乘法器),以“adu/e
‑”
为单位,乘以电子数,得到相应的adu值。“m”的大小仅取决于摄像头的iso设置,iso值越高,“m”就会越高。
55.击中传感器603上每个感光点的光子通量与光的强度成比例。环境较暗的场景将产生较少的电子数,从而导致较低的adu值,而较亮的区域将产生较高的adu值。传感器603的模型可以用以下式一表示:
56.adu=m
×
el
57.其中,el表示每个图像中的电子数。
58.然而,即使是在完全均匀的光照下,每个感光点的接收到的光子数也不尽相同。光子数是一个随机变量而不是一个常量,完全均匀的光照下所产生不同的光子数值就是所谓的光子散粒噪声(shot noise)。光子散粒噪声是一种遵循泊松分布的随机变量,泊松过程被描述为“在固定的时间和/或空间内发生的离散事件的给定数量,这些事件以已知的平均速率发生,独立于自上一个事件以来的时间”。在前述的情境里,离散事件指的是光子产生电子的瞬间,“在一个固定的时间和空间”对应于每个感光点表面的曝光时间,其速率实际上与之前到达的任何光子无关。
59.由于光子散粒噪声遵循泊松分布,因此adu值的期望值和方差可以利用以下式二与式三来表示:
60.eva(adu)=eva(m
×
el)
61.=eva(m)
×
eva(el)
62.=m
×
eva(el)
63.=m
×
λ
64.var(adu)=var(m
×
el)
65.=m2×
var(el)
66.=m
×
eva(el)
67.=m2×
λ
68.=m
×
eva(adu)
69.其中,eva(adu)为adu值的期望值或平均值,var(adu)为adu值的方差,λ为每个图像中的平均电子数。
70.在图6的传感器603中,每个感光点将光子撞击产生的电子的电荷转换为电压,传送至模数转换器606,实际上模数转换器606的输出并不完全与光子发射的电子数量成正比,这是由于将摄像头盖上拍摄(即黑帧画面)时,为了保留暗区信号,在模数转换器606会
产生黑电平信号输出,因此即便是全黑的状态,模数转换器606的输出总是有一个偏差或基线,这种噪声称为读取噪音(read noise)。
71.将读取噪音添加至模型中,会得到式四如下:
72.adu=m
×
el+rns
73.其中,rns为读取噪音。将式四代入式三中可以得到式五如下:
74.eva(adu)=m
×
eva(el)+eva(rns)
75.=m
×
λ+eva(rns)
76.=m
×
λ+μ
rns
77.其中,μ
rns
为读取噪音的均值。
78.由此可知,在有读取噪音的图像中,平均像素值是由光信号加上读取噪音。通过减去μ
rns
,便可以还原raw图像的信号,即所谓的黑电平校正。校正信号可以由式六及式七来表示:
79.adu
rnc
=m
×
el+rns-μ
rns
80.eva(adu
rnc
)=m
×
λ+eva(rns)-μ
rns
81.=m
×
λ+μ
rns-μ
rns
82.=m
×
λ
83.其中,adu
rnc
表示校正后的adu值。在读取噪音被校正后,便可以将读取噪音从adu值中减去其平均值,虽不至于完全去除,但基本可以忽略读取噪音的影响了。换言之,读取噪音包含两部分,一部分是一个固定的黑电平,即读取噪音均值μ
rns
,另一部分随机浮动,呈正态分布。式六去除的是读取噪音均值μ
rns
,也就是校正后的adu值已经排除读取噪音均值的影响了。为简化符号,以下式子与说明中的adu值均为校正后的adu值adu
rnc

84.对式六求取方差,可以得到式八如下:
85.var(adu)=var(m
×
el)+var(rns)
86.=m2×
λ+rn287.其中,rn是噪音信号的标准差。
88.实际上由于每个感光点上的微透镜、模数转换器和其他传感器电路元件在制造过程中都存在差异,因此每个感光点对光线的敏感度不会完全一样,所以在上述模型中的m项,对于每个图像来说不是完全相同的值。相反地,m值是每个像素的一个属性,这种情况称为像素响应不均匀性(photo response non-uniformity,prnu)。考虑到prnu,此实施例将因子“m”替换为“m
p”,下标p指的是第p个像素。式六进一步调整成式九如下:
89.adu
p
=m
p
×
el+rns-μ
rns
90.每个像素具有相同的m
p
值,这意味m
p
对于每一张图像来说,在保持相同的iso速度(感光片的灵敏度随着iso速度的变化而变化)的时间是一个常数,传感器603表面所有光斑对应的所有mp因子的平均值也是一个常数,在此称为预期乘数em,即摄像头各个像素的平均增益。em可以由式十来表示:
91.em=eva(m
p
)
92.进一步,把m
p
值看作是由两个分量组成的,一个是预期乘数em,另一个是相对于预期乘数em的光敏性偏差md
p
,即第p个像素的增益相对于平均增益的差值,则m
p
可以由式十一来表示:
93.m
p
=em+md
p
94.把式十一代入式九中,便可以得到式十二如下:
95.adu
p
=(em+md
p
)
×
el
p
+rns-μ
rns
96.其中,adu
p
为第p个像素的raw图像值,el
p
为第p个像素接收到的光子数。
97.对式十二求均值,得到式十三如下:
98.eva(adu
p
)=eva((em+md
p
)
×
el
p
)+eva(rns)-μ
rns
99.=eva((em+md
p
))
×
eva(el
p
)+eva(rns)-μ
rns
100.=eva(em)
×
λ+μ
rns-μ
rns
101.=em
×
λ
102.对式十二求方差,得到式十四如下:
103.var(adu
p
)=var((em+md
p
)
×
el
p
)+var(rns)
104.=prnu2×
λ2+(em2+prnu2)
×
λ+rn2105.从传感器模型推导至式十四,解释了各种噪声的分布,即adu
p
的方差是λ的二次多项式,从上述式子可知,prnu是一个非常强的噪声源。
106.接下来进一步分离prnu。对于一个给定的像素,prnu不会在不同图像中改变,即图像的平均值将突出prnu噪声,利用式十二来求取平均值,可以得到式十五如下:
[0107][0108]
其中,n表示平均图像数。从式十五可以看出,除了prnu噪声外,其他类型的噪声在平均后都减少了。进一步对式十五的两端求方差,得到式十六如下:
[0109][0110]
在上述的式子中,可以看出prnu二次项是不受平均影响的,而其他种类的噪声的影响会随着平均图像数量的n值的增大而减小。既然prnu是由md
p
所引起的,而对于相同的摄像头来说md
p
保持不变,则可以通过比较其在同一个摄像头拍摄的多张图像的差异来消除prnu的影响。从式十二可以得到式十七如下:
[0111]
δadu
p
=(em+md
p
)
×
δel
p
+δrns
[0112]
其中“δ”表示同一个摄像头同一像素在同一个场景下拍摄两张图像的像素值的差值。由于md
p
是感光点特性,在拍摄过程中不会改变,故对式十七求方差时可以再排除md
p
的影响,如式十八所示:
[0113][0114]
与式十四做比较,式十八不包括prnu方差的二次项,虽然还是包含了prnu的线性项,但prnc2通常比em2要小得多,在式十八中可以忽略prnc2项。换言之,从式十八可以看出只有读取噪音和散粒噪音是主要影响因素。
[0115]
至此,此实施例完成建模,处理装置203获取像素的灰度值模型。更详细来说,此实
施例的灰度值模型包括式十二、式十三、式十四与式十八,其中式十二对应adu值,式十三对应adu值的期望值,式十四对应adu值的方差,式十八对应两张图片差的方差。
[0116]
接着开始准备数据。为了得到传感器603的噪声模型,需要在一定iso梯度范围内,在灯箱环境下拍摄几组标准色卡,在此实施例中,可以采用24色卡作为标准色卡,24色卡包含六级灰度色块、加色三原色、减色三原色、以及肤色和模拟自然物体的真实颜色,共有24个色块。将24色卡固定在摄像头前方,尽量以摄像头的中心区域来拍照,以避免镜头渐晕影响图像清晰度。在此实施例中,示例性地可以采用以下的iso值对24色卡拍照:100、200、400、800、1600、3200、6400、12800、25600、51200、102400、204800、409600及819200。iso取值范围应该尽可能广,不受前述范围的限制。
[0117]
处理装置203获取摄像头在前述多种感光度下拍摄的多张黑帧、暗帧及亮帧画面。黑帧画面是在无光环境下拍摄24色卡来获得,具体地可以直接将摄像头盖上镜头盖拍摄一组无进光的图像。暗帧画面则是首先依序设定前述多种感光度下的一种感光度,接着调节摄像头的摄像头光圈、曝光时间与快门速度等,在不同摄像头光圈、曝光时间与快门速度下拍摄24色卡,以获得多张暗帧画面,之后再设定另一个感光度并重复前述步骤,直到所有在感光度下均已拍摄。亮帧画面同样依序设定前述多种感光度下的一种感光度,接着将摄像头的摄像头光圈调节到最大,然后调整曝光时间,使24色卡的白色色块的亮度为亮度最大值的特定百分比,在此实施例中特定百分比为80%,即白色色块的亮度为亮度最大值的80%,以避免过度曝光,最后基于前述设定的感光度及曝光时间,拍摄24色卡以获得亮帧画面,之后再设定另一个感光度并重复前述步骤,直到所有在感光度下均已拍摄。为求有足够多的样本数,此实施例的黑帧、暗帧及亮帧画面的总数量不少于100张。
[0118]
在取得数据后,便进入标定程序。在标定程序中,处理装置203将准备好的各种画面的数值代入相应的灰度值模型中,以获得各种参数。
[0119]
首先,处理装置203将拍摄好的黑帧画面代入灰度值模型,以获得黑帧参数。由于黑帧画面表示没有光进入镜头,因此式十二可以简化如下:
[0120]
adu
p
=rns-μ
rns
[0121]
也就是黑帧画面的adu值只跟读取噪音信号和读取噪音信号的均值有关,其中读取噪音信号均值反映了黑电平偏置、暗电流及固定模式噪音的效应。具体来说,处理装置203对一组黑帧画面的adu值进行平均,以获得黑帧参数μ
rns
。再将每一黑帧的adu值减去黑帧参数,得到一组可能为正数或为负数的数组,即黑帧的adu
p
。处理装置203对所有黑帧的adu
p
进行分析,可以得到一个高斯分布。处理装置2031进一步对所得到的高斯分布计算方差,即为读取噪声的方差。
[0122]
接下来处理装置203将暗帧及亮帧画面及黑帧参数代入灰度值模型中,以获得非黑帧参数。对于亮帧和暗帧画面的标定可以有2种方式。第一种方式是将每一帧的adu值减去黑帧的平均,然后分通道计算24个色块的均值和方差。更详细来说,处理装置203根据式十三和式十四,可以得到式十九如下:
[0123]
var(adu
p
)=u2×
eva(adu
p
)2+u1×
eva(adu
p
)+u0[0124]
其中,
[0125]
[0126][0127]
u0=rn2[0128]
根据u2、u1及u0,可以推导出:
[0129][0130][0131][0132]
根据前述的推导,处理装置2031便可以获得非黑帧参数,非黑帧参数包括噪音信号标准差(rn)、感光点的标准差(prnr)及像素平均增益(em)。
[0133]
第二种方式是对相邻两亮帧画面计算方差,然后分通道计算24个色块的均值和方差,再利用一次函数线性回归方差的半均值。更详细来说,处理装置203根据式十三和式十八,可以得到式二十如下:
[0134][0135]
其中,
[0136][0137]
z0=rn2[0138]
基于前述的推导,利用一次函数线性回归,处理装置2031亦可以获得前述的非黑帧参数。
[0139]
至此,处理装置203已获得黑帧参数及非黑帧参数,黑帧参数及非黑帧参数存储至dram 204中,作为训练神经网络模型的先验输入。在训练开始时,计算装置201自dram 204取出黑帧参数及非黑帧参数,将黑帧参数及非黑帧参数作为先验输入代入神经网络模型中进行训练,以优化神经网络模型中的各种参数。训练完毕后,神经网络模型已去除图6的摄像头的可能噪音。
[0140]
当板卡10或组合处理装置20利用图6的摄像头拍摄的图像数据时,计算装置201可以利用训练完成的神经网络模型进行与图像信号处理有关的特定任务,例如图像识别、目标检测、语义分割、视频理解、图像生成、去噪、去马赛克等,以获得去噪输出。
[0141]
本发明的另一个实施例是一种为摄像头去噪的方法,该方法可以生成拜耳域去噪的数据,这些数据作为参数加入神经网络模型的训练中,使得训练好的模型对这些摄像头直接产生去噪的效果。图7示出本发明实施例的流程图。
[0142]
在步骤701中,获取像素的灰度值模型。此实施例的灰度值模型与前一个实施例相同,重新整理如下:
[0143]
adu
p
=(em+md
p
)
×
el
p
+rns-μ
rns
[0144]
eva(adu
p
)=em
×
λ
[0145]
var(adu
p
)=prnu2×
λ2+(em2+prnu2)
×
λ+rn2[0146][0147]
在步骤702中,获取摄像头在多种感光度下拍摄的多张黑帧、暗帧及亮帧画面。为了得到传感器的噪声模型,需要在一定iso梯度范围内,在灯箱环境下拍摄几组标准色卡,在此实施例中,同样采用24色卡作为标准色卡,将24色卡固定在摄像头前方,以不同的iso值进行拍摄,以获得多张黑帧、暗帧及亮帧画面。
[0148]
黑帧画面是在无光环境下拍摄24色卡来获得,具体地可以直接将摄像头盖上镜头盖拍摄一组无进光的图像。暗帧画面则是首先依序设定前述多种感光度下的一种感光度,接着调节摄像头的摄像头光圈、曝光时间与快门速度等,在不同摄像头光圈、曝光时间与快门速度下拍摄24色卡,以获得多张暗帧画面,之后再设定另一个感光度并重复前述步骤,直到所有在感光度下均已拍摄。亮帧画面同样依序设定前述多种感光度下的一种感光度,接着将摄像头的摄像头光圈调节到最大,然后调整曝光时间,使24色卡的白色色块的亮度为亮度最大值的特定百分比,在此实施例中特定百分比为80%,即白色色块的亮度为亮度最大值的80%,以避免过度曝光,最后基于前述设定的感光度及曝光时间,拍摄24色卡以获得亮帧画面,之后再设定另一个感光度并重复前述步骤,直到所有在感光度下均已拍摄。为求有足够多的样本数,此实施例的黑帧、暗帧及亮帧画面的总数量不少于100张。
[0149]
在步骤703中,将黑帧画面代入灰度值模型,以获得黑帧参数。由于黑帧画面表示没有光进入镜头,即黑帧画面的adu值只跟读取噪音信号和读取噪音信号的均值有关,其中读取噪音信号均值反映了黑电平偏置、暗电流及固定模式噪音的效应。具体来说,此实施例对一组黑帧画面的adu值进行平均,以获得黑帧参数μ
rns
。再将每一黑帧的adu值减去黑帧参数,得到一组可能为正数或为负数的数组,即黑帧的adu
p
。在此步骤中对所有黑帧的adu
p
进行分析,可以得到一个高斯分布,进一步对所得到的高斯分布计算方差,即为读取噪声的方差。
[0150]
在步骤704中,将暗帧及亮帧画面及黑帧参数代入灰度值模型,以获得非黑帧参数。此实施例同样有2种方式对亮帧和暗帧画面进行标定。第一种方式是将每一帧的adu值减去黑帧的平均,然后分通道计算24个色块的均值和方差,根据式十九,可以获得噪音信号标准差(rn)、感光点的标准差(prnr)及像素平均增益(em)如下:
[0151][0152][0153][0154]
噪音信号标准差(rn)、感光点的标准差(prnr)及像素平均增益(em)即为非黑帧参数。
[0155]
第二种方式是对相邻两亮帧画面计算方差,然后分通道计算24个色块的均值和方差,再利用一次函数线性回归方差的半均值,亦可以获得前述的非黑帧参数。
[0156]
至此,此实施例已获得黑帧参数及非黑帧参数,作为训练神经网络模型的先验输
入。
[0157]
在步骤705中,将黑帧参数及非黑帧参数作为先验输入代入神经网络模型中进行训练。在训练开始时,此实施例取出黑帧参数及非黑帧参数,将黑帧参数及非黑帧参数作为先验输入代入神经网络模型中进行训练,以优化神经网络模型中的各种参数。训练完毕后,神经网络模型已去除摄像头的可能噪音。
[0158]
在步骤706中,将摄像头拍摄的图像数据输入训练后的神经网络模型进行图像信号处理,以获得去噪输出。当利用同一个摄像头拍摄的图像数据时,此实施例利用训练完成的神经网络模型进行与图像信号处理有关的特定任务,例如图像识别、目标检测、语义分割、视频理解、图像生成、去噪、去马赛克等,便以获得去噪输出。
[0159]
本发明另一个实施例为一种计算机可读存储介质,其上存储有为摄像头去噪的计算机程序代码,当所述计算机程序代码由处理器运行时,执行如前所述各实施例的方法。在一些实现场景中,上述集成的单元可以采用软件程序模块的形式来实现。如果以软件程序模块的形式实现并作为独立的产品销售或使用时,所述集成的单元可以存储在计算机可读取存储器中。基于此,当本发明的方案以软件产品(例如计算机可读存储介质)的形式体现时,该软件产品可以存储在存储器中,其可以包括若干指令用以使得计算机设备(例如个人计算机、服务器或者网络设备等)执行本发明实施例所述方法的部分或全部步骤。前述的存储器可以包括但不限于u盘、闪存盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0160]
本发明通过将黑帧参数及非黑帧参数作为先验输入代入神经网络模型中进行训练,可以对摄像头的噪音更精确的标定,优化图像信号处理的去噪效果。
[0161]
根据不同的应用场景,本发明的电子设备或装置可以包括服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、pc设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、b超仪和/或心电图仪。本发明的电子设备或装置还可以被应用于互联网、物联网、数据中心、能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医疗等领域。进一步,本发明的电子设备或装置还可以用于云端、边缘端、终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实施例中,根据本发明方案的算力高的电子设备或装置可以应用于云端设备(例如云端服务器),而功耗小的电子设备或装置可以应用于终端设备和/或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一体或云边端一体的统一管理、调度和协同工作。
[0162]
需要说明的是,为了简明的目的,本发明将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本发明的方案并不受所描述的动作的顺序限制。因此,依据本发明的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其
他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本发明所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本发明某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本发明对一些实施例的描述也各有侧重。鉴于此,本领域技术人员可以理解本发明某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
[0163]
在具体实现方面,基于本发明的公开和教导,本领域技术人员可以理解本发明所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行拆分,而实际实现时也可以有另外的拆分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。
[0164]
在本发明中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本发明实施例所述方案的目的。另外,在一些场景中,本发明实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
[0165]
在另外一些实现场景中,上述集成的单元也可以采用硬件的形式实现,即为具体的硬件电路,其可以包括数字电路和/或模拟电路等。电路的硬件结构的物理实现可以包括但不限于物理器件,而物理器件可以包括但不限于晶体管或忆阻器等器件。鉴于此,本文所述的各类装置(例如计算装置或其他处理装置)可以通过适当的硬件处理器来实现,例如中央处理器、gpu、fpga、dsp和asic等。进一步,前述的所述存储单元或存储装置可以是任意适当的存储介质(包括磁存储介质或磁光存储介质等),其例如可以是可变电阻式存储器(resistive random access memory,rram)、动态随机存取存储器(dynamic random access memory,dram)、静态随机存取存储器(static random access memory,sram)、增强动态随机存取存储器(enhanced dynamic random access memory,edram)、高带宽存储器(high bandwidth memory,hbm)、混合存储器立方体(hybrid memory cube,hmc)、rom和ram等。
[0166]
依据以下条款可更好地理解前述内容:
[0167]
条款a1、一种为摄像头去噪的方法,包括:获取像素的灰度值模型;获取所述摄像头在多种感光度下拍摄的多张黑帧、暗帧及亮帧画面;将所述黑帧画面代入所述灰度值模型,以获得黑帧参数;将所述暗帧及亮帧画面及所述黑帧参数代入所述灰度值模型,以获得非黑帧参数;将所述黑帧参数及非黑帧参数作为先验输入代入神经网络模型中进行训练;以及将所述摄像头拍摄的图像数据输入训练后的神经网络模型进行图像信号处理,以获得去噪输出。
[0168]
条款a2、根据条款a1所述的方法,其中所述黑帧、暗帧及亮帧画面的总数量不少于100张。
[0169]
条款a3、根据条款a1所述的方法,其中所述黑帧、暗帧及亮帧画面来自拍摄标准色
卡。
[0170]
条款a4、根据条款a3所述的方法,其中所述获取所述摄像头在多种感光度下拍摄多张黑帧、暗帧及亮帧画面的步骤包括:依序设定所述多种感光度下的一种感光度,并执行以下步骤:将所述摄像头的摄像头光圈调节到最大;调整曝光时间,使所述标准色卡的白色色块的亮度为亮度最大值的特定百分比;以及基于所述感光度及曝光时间,拍摄所述标准色卡以获得一张亮帧画面。
[0171]
条款a5、根据权利要4所述的方法,其中所述特定百分比为80%。
[0172]
条款a6、根据条款a3所述的方法,其中所述获取所述摄像头在多种感光度下拍摄多张黑帧、暗帧及亮帧画面的步骤包括:依序设定所述多种感光度下的一种感光度,并执行以下步骤:调节所述摄像头的摄像头光圈、曝光时间与快门速度,在不同摄像头光圈、曝光时间与快门速度下拍摄所述标准色卡,以获得所述暗帧画面。
[0173]
条款a7、根据条款a3所述的方法,其中所述拍摄步骤包括:在无光环境下拍摄所述标准色卡以获得所述黑帧画面。
[0174]
条款a8、根据条款a1所述的方法,其中所述黑帧参数包括读取噪音信号均值。
[0175]
条款a9、根据条款a8所述的方法,其中所述读取噪音信号均值反映了黑电平偏置、暗电流及固定模式噪音的效应。
[0176]
条款a10、根据条款a1所述的方法,其中所述非黑帧参数包括噪音信号标准差、感光点的标准差及像素平均增益。
[0177]
条款a11、一种计算机可读存储介质,其上存储有为摄像头去噪的计算机程序代码,当所述计算机程序代码由处理装置运行时,执行条款a1至10任一项所述的方法。
[0178]
条款a12、一种为摄像头去噪的集成电路装置,包括:处理装置,用以:获取像素的灰度值模型;获取所述摄像头在多种感光度下拍摄的多张黑帧、暗帧及亮帧画面;将所述黑帧画面代入所述灰度值模型,以获得黑帧参数;以及将所述暗帧及亮帧画面及所述黑帧参数代入所述灰度值模型,以获得非黑帧参数;计算装置,用以:将所述黑帧参数及非黑帧参数作为先验输入代入神经网络模型中进行训练;以及将所述摄像头拍摄的图像数据输入训练后的神经网络模型进行图像信号处理,以获得去噪输出。
[0179]
条款a13、根据条款a12所述的集成电路装置,其中所述黑帧、暗帧及亮帧画面的总数量不少于100张。
[0180]
条款a14、根据条款a12所述的集成电路装置,其中所述黑帧、暗帧及亮帧画面来自拍摄标准色卡。
[0181]
条款a15、根据条款a14所述的集成电路装置,其中所述亮帧画面是执行以下步骤而得:依序设定所述多种感光度下的一种感光度,并执行以下步骤:将所述摄像头的摄像头光圈调节到最大;调整曝光时间,使所述标准色卡的白色色块的亮度为亮度最大值的特定百分比;以及基于所述感光度及曝光时间,拍摄所述标准色卡以获得所述亮帧画面。
[0182]
条款a16、根据权利要15所述的集成电路装置,其中所述特定百分比为80%。
[0183]
条款a17、根据条款a14所述的集成电路装置,其中所述暗帧画面是执行以下步骤而得包括:依序设定所述多种感光度下的一种感光度,并执行以下步骤:调节所述摄像头的摄像头光圈、曝光时间与快门速度,在不同摄像头光圈、曝光时间与快门速度下拍摄所述标准色卡,以获得所述暗帧画面。
[0184]
条款a18、根据条款a14所述的集成电路装置,其中所述黑帧画面是执行以下步骤而得包括:在无光环境下拍摄所述标准色卡以获得所述黑帧画面。
[0185]
条款a19、根据条款a12所述的集成电路装置,其中所述黑帧参数包括读取噪音信号均值。
[0186]
条款a20、根据条款a19所述的集成电路装置,其中所述读取噪音信号均值反映了黑电平偏置、暗电流及固定模式噪音的效应。
[0187]
条款a21、根据条款a12所述的集成电路装置,其中所述非黑帧参数包括噪音信号标准差、感光点的标准差及像素平均增益。
[0188]
条款a22、一种板卡,包括根据条款a12至21任一项所述的集成电路装置。
[0189]
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1