一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

缺陷像素校正方法与流程

2022-06-08 11:31:46 来源:中国专利 TAG:


1.本公开涉及缺陷像素检测和校正,更具体地,涉及多帧缺陷检测和校正。


背景技术:

2.目前,只有在像素成为坏点的情况下才会对缺陷像素进行校正。


技术实现要素:

3.缺陷像素校正的一个示例性方法,包括:接收来自多个帧中的中心像素的至少一个中心像素信号;接收来自与多个帧中的中心像素相邻的多个相邻像素的多个相邻像素信号;确定多个帧中的中心像素信号的亮度;确定多个帧中的多个相邻像素信号的亮度;确定中心像素信号的亮度是否超过多个帧中的多个相邻像素信号的受损像素阈值;确定亮度大于多个帧中的至少一个帧的受损亮度阈值的中心像素的位置;确定亮度大于多个帧中受损像素阈值的中心像素重复出现次数;确定重复出现次数是否超过缺陷像素阈值,若重复出现次数超过缺陷像素阈值,则将至少一个中心像素信号更新为多个相邻像素信号的平均值。
4.缺陷像素校正的另一示例性方法,包括:接收来自多个帧中的中心像素的至少一个中心像素信号;接收来自与多个帧中的中心像素相邻的多个相邻像素的多个相邻像素信号;确定多个帧中的中心像素信号的颜色值;确定多个帧中的多个相邻像素信号的颜色值;确定多个帧中中心像素信号的颜色值是否超过多个相邻像素信号的受损像素阈值。该方法还可以:确定颜色值大于多个帧中的至少一个帧的受损像素阈值的中心像素的位置;确定在多个帧中颜色值大于受损像素阈值的中心像素重复出现次数;确定重复出现次数是否超过缺陷像素阈值,若重复出现次数超过缺陷像素阈值,则将至少一个中心像素信号更新为多个相邻像素信号的平均值。
5.缺陷像素校正的又一示例性方法,包括:接收来自多个帧中的多个相邻像素的多个像素信号;确定多个像素信号的亮度增量;确定多个像素信号中的一者或多者的亮度增量是否超过受损像素阈值,如果是,则所述像素被定义为受损像素;确定受损像素的位置;确定多个帧中受损像素的位置的重复出现次数;确定重复出现次数是否超过缺陷像素阈值;以及将超过缺陷像素阈值的受损像素的像素信号更新为直接相邻像素信号的平均值。
附图说明
6.在附图中:
7.图1是根据本公开的一个实施例的第一示例性系统示意图;
8.图2是根据本公开的一个实施例的第二示例性系统示意图;
9.图3是根据本公开的一个实施例的坏点像素和受损像素的示例;
10.图4是根据本公开的一个实施例的受损像素的示例;
11.图5是根据本公开的一个实施例的受损像素以及对它们的校正的示例;
12.图6是根据本公开的一个实施例的第一示例性方法;
13.图7是根据本公开的一个实施例的第二示例性方法;
14.图8是根据本公开的一个实施例的第三示例性方法;以及
15.图9是根据本公开的一个实施例的第四示例性方法。
具体实施方式
16.以下列出的实施例仅用于说明该装置和方法的应用,而并非用于限制范围。对该装置和方法的等效修改形式应归属于权利要求的范围内。
17.在以下整个说明书和权利要求中,某些术语用来指代特定的系统部件。本领域技术人员可以理解,不同的公司可能用不同的名称来指代一个部件和/或方法。本文献无意区分名称不同但功能相同的组件和/或方法。
18.在以下说明书和权利要求中,术语“包括”和“包含”是以开放式的方式来使用的。因此,可以解释为“包括但不限于”。此外,术语“耦接”旨在表示间接或直接连接。因此,如果第一设备耦接至第二设备,则该连接可以是直接连接或者是经由其他设备和连接的间接连接。
19.图1示出了示例性混合计算系统100,该混合计算系统100可以用于实现与图6至图7中所示的过程的一个或多个部分或步骤的操作相关联的神经网络。在该示例中,与混合系统相关联的处理器包括现场可编程阵列(fpga)122、图形处理器单元(gpu)120和中央处理单元(cpu)118。
20.cpu 118、gpu 120和fpga 122具有提供神经网络的能力。cpu是可以执行多个不同功能的通用处理器,其通用性使其能够执行多种不同任务,然而,cpu对多个数据流的处理和在神经网络方面的功能受到限制。gpu是图形处理器,其具有多个能够按序处理并行任务的小型处理内核。fpga是现场可编程设备,其能够被重配置并以硬接线电路方式来执行任何可以编程到cpu或gpu中的功能。由于fpga的编程是电路形式,因此其速度比cpu快数倍,也比gpu快很多。
21.系统可以包含其他类型的处理器,诸如加速处理单元(apu)和数字信号处理器(dsp)。该加速处理单元包括具有片上gpu元件的cpu,该数字信号处理器被设计为执行高速数值数据处理。专用集成电路(asic)还可以执行fpga的硬接线功能。然而,设计和生产asic的交付时间大约要若干季度,其并不是fpga编程中的可用的快速周转实施方案。
22.图形处理器单元120,中央处理单元118和现场可编程阵列122相互连接,并且连接至存储器接口和控制器112。fpga通过可编程逻辑电路至存储器互连130连接至存储器接口。由于fpga以很大的带宽运行并且为了将fpga的用于执行存储器任务所使用的电路最小化,因此使用该额外设备。存储器接口和控制器112还连接至永久存储磁盘110、系统存储器114和只读存储器(rom)116。
23.图1的系统可以用于对fpga进行编程和训练。gpu很好地处理非结构化数据,并可以用于训练。一旦数据经过训练,就可以建立确定性推理模型,并且cpu可以用gpu确定的模型数据来对fpga编程。
24.存储器接口和控制器连接至中央互连124。中央互连还连接至gpu 120、cpu 118和fpga122。中央互连124还连接至输入/输出接口128和网络接口126。
25.图2示出了第二示例性混合计算系统200,该混合计算系统200可以用于实现与过程600、过程700、过程800和过程900中的一个或多个部分或步骤的操作相关联的神经网络。在该示例中,与混合系统相关联的处理器包括现场可编程阵列(fpga)210和中央处理单元(cpu)220。
26.fpga电连接至现场可编程阵列控制器212,该现场可编程阵列控制器212与直接存储器访问(dma)218接口连接。dma 218连接至输入缓冲器214和输出缓冲器216,输入缓冲器214和输出缓冲器216耦接至fpga 210,以将数据缓冲到fpga和将数据从fpga缓冲出来。dma 218包括两个先入先出(fifo)缓冲器,一个用于主cpu 220,另一个用于fpga210,dma 218允许将数据可以写入适合的缓冲器和从适合的缓冲器读取数据。
27.在dma218的cpu一侧是主交换机228,主交换机228将数据和命令传送至dma 218。dma 218还连接至sdram控制器224,该sdram控制器224允许数据在fpga 210和cpu220之间传送。sdram控制器224还连接至外部sdram 226和cpu 220。主交换机228连接至外围接口230。闪存控制器222控制永久存储器并连接至cpu 220。
28.图形信号处理(isp)管道(pipeline)处理原始数字数据并将数据转换为彩色图像。原始数字数据可能包括缺陷数据点,该缺陷数据点作为缺陷数据信号从缺陷像素发送。这些缺陷像素将对捕获的图像产生负面影响。缺陷像素将输出与相邻像素明显不同的信号。缺陷数据点可以为黑色、白色或灰色,并且缺陷数据信号将与相邻像素信号重复性地不同。
29.图3示出了具有与相同通道的周边像素316、318和320相比不同数值的缺陷像素310、312和314。白色像素310和黑色像素312被称为坏点像素,灰色像素314被称为受损像素。目前的像素校正模块无法在多帧内检测或校正受损像素。在传统的图像信号处理管道中,输入和输出均是单个图像。在多帧图像信号处理中,输入是多个图像,而输出是一个图像。
30.图4示出了受损像素,例如410。图5示出了被校正为像素512的受损像素510。
31.多帧到一帧图像方法可以改善图像的信噪比、动态范围和颜色真实度。一个示例性解决方案是基于图像融合,该图像融合将多个输入图像结合为单个输出图像。缺陷像素信号包含在输入的原始数据中。当从多帧中将这些缺陷像素信号结合时,相比起相邻像素,这些缺陷像素会表现出过度的亮度偏差。
32.多帧缺陷像素检测和校正可以包括:检测多个帧中的超过相邻像素的亮度阈值的像素信号、将这些检测到的像素定义为受损像素、并记录在多帧中检测到的受损像素的位置和重复出现次数。如果受损像素在所记录的位置处重复出现多次,则可能超过检测阈值,并可以将其重定义为缺陷像素。
33.可以为所记录的缺陷像素的位置创建二元掩膜(binary mask),并基于二元掩膜位置进行校正。可以用相邻像素的平均值来替代缺陷像素值。
34.受损像素信号与正常像素信号之间没有显著的差异。目前,全面地降低像素的亮度阈值可能会降低所捕获的图像的质量。在一个示例中,如果捕获到具有发光星星的夜空图像,目前的方法可能会去除掉发光的星星。在另一示例中,如果捕获到建筑物夜景的图像,目前的方法可能会去除掉建筑物的灯光、边缘和细节。
35.通过应用所提出的解决方案,对与相邻像素信号显著不同的信号的出现次数和位
置进行记录。在所提出的解决方案中,在特定位置重复出现的缺陷得到校正。所提出的解决方案保护精细的细节和边缘。图像中通常有多个受损像素。目前的方法只对固定点进行校正,不存在对在图像中随机出现的受损点进行校正的可能性。
36.图6示出了缺陷像素校正的示例性方法,该方法包括:接收610来自多个帧中的中心像素的至少一个中心像素信号;以及接收612来自与多个帧中的中心像素相邻的多个相邻像素的多个相邻像素信号。所述相邻像素可以位于中心像素的一侧、两侧、三侧或四侧。所述中心像素可以并不位于多个像素的几何中心处,术语“中心像素”表示感兴趣的像素。在一个实施例中,中心像素和相邻像素属于相同的颜色通道,即,红色到红色、绿色到绿色、或蓝色到蓝色等。在另一示例中,中心像素和相邻像素可以属于不同的颜色通道。该方法还包括:确定614多个帧中的中心像素信号的亮度;确定616多个相邻像素信号的亮度;以及确定618所述中心像素信号的亮度是否超过多个帧中的多个相邻像素信号的受损像素阈值。该方法还包括:确定620亮度大于多个帧中的至少一个帧的受损亮度阈值的中心像素的位置;确定622所述亮度大于多个帧中的受损像素阈值的中心像素的重复出现次数;确定624重复出现次数是否超过缺陷像素阈值;以及如果重复出现次数超过缺陷像素阈值,则将至少一个中心像素信号更新为626多个相邻像素信号的平均值。
37.图7示出了缺陷像素校正的另一示例性方法,该方法包括:确定710多个帧中的中心像素信号的颜色值;以及确定712多个帧中的多个相邻像素信号的颜色值。所述相邻像素可以位于中心像素的一侧、两侧、三侧或四侧。中心像素可以并不位于多个像素的几何中心处,术语“中心像素”表示感兴趣的像素。该方法可以还包括:确定714中心像素的颜色值是否超过多个帧中的多个相邻像素信号的受损像素阈值;确定716颜色值大于多个帧中的至少一个帧中的受损像素阈值的中心像素的位置;以及确定718颜色值大于多个帧中的至少一个帧中的受损像素阈值的中心像素的重复出现次数。
38.缺陷像素校正的方法可以还包括:在超过缺陷像素阈值的中心像素的位置处创建720二元掩膜;以及722利用二元掩膜中的相邻像素信号的平均值替代中心像素信号。
39.多个相邻像素中的至少一者可以与中心像素直接相邻。在一个示例中,可以基于检测到的受损像素的数量来调整受损像素阈值,即,如果检测到的受损像素的数量过多,则可以增加阈值。在另一实施例中,可以对接收到的多个帧的数量进行调整,即,帧的数量可以大于2。捕获帧的时间可以是决定性因素,即,可以基于一段时间内能捕获多少帧来选择帧的数量。在另一示例中,可以基于检测到的缺陷像素的数量来调整缺陷像素阈值,即,如果检测到的受损像素的数量过多,则可以增加阈值以免妨碍图像校正。
40.图8示出了缺陷像素校正的另一示例性方法,该方法包括:810接收来自多个帧中的中心像素的至少一个中心像素信号;以及接收812来自与多个帧中的中心像素相邻的多个相邻像素的多个相邻像素信号。所述相邻像素可以位于中心像素的一侧、两侧、三侧或四侧。所述中心像素可以并不位于多个像素的几何中心处,术语“中心像素”表示感兴趣的像素。该方法包括:确定814多个帧中的中心像素信号的颜色值;确定816多个帧中的多个相邻像素信号的颜色值;以及确定818所述中心像素信号的颜色值是否超过多个帧中的多个相邻像素信号的受损像素阈值。该方法还可以包括:确定820颜色值大于多个帧中的至少一个帧的受损像素阈值的中心像素的位置;确定822颜色值大于多个帧中的受损像素阈值的中心像素的重复出现次数;确定824重复出现次数是否超过缺陷像素阈值;以及如果重复出现
次数超过缺陷像素阈值,则将至少一个中心像素信号更新为826多个相邻像素信号的平均值。
41.该方法可以还包括:在超过缺陷阈值的中心像素的位置处创建二元掩膜,以及利用二元掩膜中的相邻像素信号的平均值替代中心像素信号。
42.多个相邻像素中的至少一者可以与中心像素直接相邻。在一个示例中,可以基于检测到的受损像素的数量来调整受损像素阈值,即,如果检测到的受损像素的数量过多,则可以增加阈值。在另一实施例中,可以对接收到的多个帧的数量进行调整,即,帧的数量可以大于2。捕获帧的时间可以是决定性因素,即,可以基于一段时间内能捕获多少帧来选择帧的数量。在另一示例中,可以基于检测到的缺陷像素的数量来调整缺陷像素阈值,即,如果检测到的受损像素的数量过多,则可以增加阈值以免妨碍图像校正。
43.图9示出了缺陷像素校正的示例性方法,该方法包括:接收910多个帧中的来自多个相邻像素的多个像素信号;确定912多个像素信号的亮度增量(delta);以及确定914多个像素信号中的一者或多者的亮度增量是否超过受损像素阈值,其中这些像素被定义为受损像素;该方法还包括:确定916受损像素的位置;确定918多个帧中的受损像素的位置的重复出现次数;确定920重复出现次数是否超过缺陷像素阈值;将超过缺陷像素阈值的受损像素的像素信号更新为922直接相邻像素信号的平均值。在一个示例中,像素的亮度增量可以属于相同的颜色通道,即,红色到红色、绿色到绿色或蓝色到蓝色等。在另一示例中,像素的亮度增量可以属于不同的颜色通道。
44.可以基于检测到的受损像素的数量来调整受损像素阈值,可以对接收到的多个帧的数量进行调整,还可以基于检测到的缺陷像素的数量来调整缺陷像素阈值。
45.本领域技术人员可以理解,本文中所描述的各种说明性的块、模块、元件、组件、方法和算法可以实现为电子硬件、计算机软件或者两者的结合。为了说明硬件和软件之间的互换性,上文已经按照它们的功能而大致地描述了各种示例性的块、模块、元件、组件、方法和算法。这种功能是作为硬件还是软件来实现取决于特定的应用程序和对系统的设计限制。本领域技术人员可以针对各个特定应用以不同的方式实现所描述的功能。在不脱离本主题的技术范围的情况下,各种组件和块可以进行不同的部署,例如,以不同的顺序部署,或者,以不同的方式划分。
46.应当理解,所公开的过程中的步骤的特定的顺序或层次是示例性方法的说明。可以理解,可以根据设计偏好对所公开的过程中的步骤的特定的顺序或层次进行重新排列。一些步骤可以同时进行。附随的方法权利要求以示例顺序呈现各个步骤的元素,并不意味着对所呈现的特定顺序或层次进行限制。
47.提供先前的说明是为了使得本领域技术人员能够实现本文所描述的各个方面。先前的说明提供了主题技术的各种示例,但是该主题技术并不限于这些示例。对于本领域技术人员而言,对这些方面的修改是明了的,并且本文定义的一般原理可以应用于其他方面。因此,权利要求并非旨在受限于本文示出的这些方面,而是符合与文字所主张的相一致的全部范围。除非另有特别说明,否则对单数形式的元素的引用并不旨在表示“一个且仅有一个”,而是表示“一个或多个”。除非另有特别说明,否则术语“一些”是指一个或多个。阳性代词(例如,他的)包括阴性(例如,她的)和中性(它的),反之亦然。标题和副标题(如有的话)仅是为了方便而使用,并不用于限制本公开。谓词“被配置为”、“被操作为”和“被编程为”并
不暗示对主题的任何特定有形或无形的修改,而是指可以互换地使用。例如,被配置为监视和控制操作或组件的处理器还可以指被编程为监视和控制操作的处理器或者可被操作为监视和控制操作的处理器。同样地,被配置为执行代码的处理器可以被解释为被编程为执行代码或被操作为执行代码的处理器。
48.诸如“方面”之类的短语并不暗示该方面对主题技术而言是必不可少的或者该方面适用于主题技术的配置。与一方面相关的公开可以应用于配置,或者一个或多个配置。一个方面可以提供一个或多个示例。诸如“方面”的短语可以指一个或多个方面,反之亦然。诸如“实施例”之类的短语并不暗示该实施例对于本主题技术而言是必不可少的或者该实施例适用于本主题技术的配置。与实施例相关的公开可以应用于实施例,或者一个或多个实施例。一个实施例可以提供一个或多个示例。诸如“实施例”之类的短语可以指一个或多个实施例,反之亦然。诸如“配置”之类的短语并不暗示该配置对于主题技术而言是必不可少的或者该配置适用于主题技术的配置。与配置相关的公开可以应用于配置或者一个或多个配置。一种配置可以提供一个或多个示例。诸如“配置”之类的短语可以指代一个或多个配置,反之亦然。
49.本文使用的“示例”表示“用作示例或说明”。本文描述为“示例”的任何方面或设计不一定被解释为优于其他方面或其他设计。
50.本公开中描述的各个方面的元件的对于本领域技术人员是已知的或者以后知晓的结构和功能的等效物,通过引用明确地并入本文并且旨在被权利要求所涵盖。此外,无论权利要求中是否明确引用这类公开,本文所公开的任何内容均不旨在向公共领域贡献。此外,由于“包括”是在权利要求中用作过渡词时进行解释,对说明书或权利要求中使用的术语“包括”、“具有”等而言,该术语旨在以类似于术语“包括”的方式包含在内。
51.对“一个实施例”、“一实施例”、“一些实施例”、“各种实施例”等的引用表示特定元素或特征包含在本公开的至少一个实施例中。虽然这些短语可能出现在不同地方,但这些单元不一定指相同的实施例。结合本公开,本领域技术人员能够设计并结合适用于实现上述功能的各种机制中的任何一种。
52.应当理解,本公开仅教导了说明性实施例的示例,并且本领域技术人员在阅读本公开后可以容易地设计出本公开的各种变形,并且本公开的范围由以下的权利要求所确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献