CN113658053B - 图像校正方法、装置、电子设备、计算机可读存储介质 - Google Patents
图像校正方法、装置、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN113658053B CN113658053B CN202110754003.4A CN202110754003A CN113658053B CN 113658053 B CN113658053 B CN 113658053B CN 202110754003 A CN202110754003 A CN 202110754003A CN 113658053 B CN113658053 B CN 113658053B
- Authority
- CN
- China
- Prior art keywords
- offset
- input image
- value
- image
- offset value
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000003702 image correction Methods 0.000 title claims abstract description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 52
- 238000012937 correction Methods 0.000 claims description 50
- 230000004044 response Effects 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 23
- 230000003287 optical effect Effects 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000001914 filtration Methods 0.000 claims description 10
- 230000002123 temporal effect Effects 0.000 claims description 6
- 238000009499 grossing Methods 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 abstract description 7
- 101150047356 dec-1 gene Proteins 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 238000001514 detection method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000005096 rolling process Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000015110 jellies Nutrition 0.000 description 1
- 239000008274 jelly Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- 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/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- 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
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种图像校正方法、装置、电子设备以及计算机可读存储介质,图像校正方法包括:获取输入图像以及输入图像对应的参考图像;计算输入图像中各个像素点相对于参考图像中对应像素点的偏移值;利用偏移值对输入图像进行校正。进而解决图像畸变问题,提高视觉效果。
Description
技术领域
本发明涉及图像处理技术领域,尤其是涉及一种图像校正方法、装置、电子设备、计算机可读存储介质。
背景技术
相机成像的过程为:光线通过镜头进入相机,并通过快门(shutter)控制图像传感器(sensor)成像。其中,快门按照其工作方式的不同可分为卷帘快门(rolling shutter)与全局快门(global shutter),前者采用逐行的方式读取像素点,而后者则是整块传感器上的像素点并行读取。通常,卷帘快门对应的是CMOS传感器,全局快门对应CCD传感器。考虑到成本、读出噪声等因素,基于卷帘快门的CMOS传感器应用较为广泛。但是这类图像传感器由于采用逐行曝光的方式,使得各行像素的曝光时间并不是同步的,当相机移动、成像场景中存在运动物体或是相机受内部特殊器件的影响存在抖动时,相机成像结果将会出现畸变的情况,这种畸变又称作果冻效应。图1给出了几种比较常见的畸变形式,例如倾斜畸变、波浪形畸变以及压缩拉伸畸变。由图可知这类畸变十分影响视觉效果,尤其是呈现在视频中时,会进一步降低观感。因此,对于这类畸变的校正,是非常有必要的,其可大幅提升视觉观感效果。
发明内容
本发明提供一种图像校正方法、装置、电子设备、计算机可读存储介质。该方法能够解决图像畸变问题,提高视觉效果。
为解决上述技术问题,本发明提供的第一个技术方案为:提供一种图像校正方法,包括:获取输入图像以及输入图像对应的参考图像;计算输入图像中各个像素点相对于参考图像中对应像素点的偏移值;利用偏移值对输入图像进行校正。
其中,利用偏移值对输入图像进行校正的步骤,包括:基于偏移值判断输入图像的偏移是运动偏移或图像扭曲偏移;响应于输入图像的偏移是运动偏移,则对偏移值进行校正,利用校正后的偏移值对输入图像进行校正;响应于输入图像的偏移是图像扭曲偏移,则利用偏移值对输入图像进行校正。
其中,基于偏移值判断输入图像的偏移是运动偏移或图像扭曲偏移的步骤,包括:统计输入图像的第一偏移平均值,第一偏移平均值为偏移值大于第一阈值的像素点的偏移值的平均值;基于第一偏移平均值判断输入图像的偏移是运动偏移或图像扭曲偏移。
其中,基于第一偏移平均值判断输入图像的偏移是运动偏移或图像扭曲偏移的步骤,包括:统计输入图像中每行像素点中偏移值大于第一偏移平均值的像素点的第一个数;以及统计输入图像中每行像素点中偏移值大于第一设定值的像素点的第二个数;以及统计输入图像中每行像素点中偏移值大于第二设定值的像素点的第三个数;其中,第一设定值为第一偏移平均值与第二阈值的和,第二设定值为第一偏移平均值与第三阈值的和;计算每行像素点对应的第二个数与第三设定值的比值,第三设定值为第一个数与第四设定值之和,第四设定值为1;响应于比值不小于第四阈值且不大于第五阈值,或者响应于第三个数不大于第六阈值,则判断偏移因素为图像扭曲偏移;响应于比值小于第四阈值且大于第五阈值,和/或响应于第三个数大于第六阈值,则判断偏移因素为运动偏移。
其中,计算输入图像中各个像素点相对于参考图像中对应像素点的偏移值的步骤,包括:利用光流计算方法计算输入图像中各个像素点相对于参考图像中对应像素点的偏移值。
其中,利用光流计算方法计算输入图像中各个像素点相对于参考图像中对应像素点的偏移值的步骤,还包括:利用导向滤波的方法对偏移值进行平滑处理。
其中,利用导向滤波的方法对偏移值进行平滑处理的步骤,包括:利用导向滤波的方法基于输入图像对偏移值进行平滑处理。
其中,对偏移值进行校正的步骤,包括:计算输入图像的每一像素点对应的预设区域内的像素点的偏移值的第二偏移平均值,第二偏移平均值为校正后的偏移值。
其中,对偏移值进行校正的步骤,包括:获取输入图像的每一像素点的偏移值与第一偏移平均值的差值;利用差值对偏移值进行校正。
其中,利用差值对偏移值进行校正的步骤,包括:利用差值对偏移值进行收缩,以得到校正后的偏移值;其中,收缩程度与差值呈正向关系。
其中,利用差值对偏移值进行校正的步骤,包括:响应于差值大于第五设定值,则利用第一收缩程度对偏移值进行收缩,以得到校正后的偏移值;响应于差值不大于第五设定值,则利用第二收缩程度对偏移值进行收缩,以得到校正后的偏移值;其中,第一收缩程度大于第二收缩程度。
其中,利用公式(1)计算得到校正后的偏移值:DX=dx-dx×dec(1);其中,DX为校正后的偏移值,dx为像素点的偏移值,dec为第一收缩程度或第二收缩程度。
其中,利用偏移值对输入图像进行校正的步骤,包括:响应于输入图像的偏移是运动偏移,则采用插值算法利用校正后的偏移值对输入图像进行校正;响应于输入图像的偏移是图像扭曲偏移,则采用插值算法利用偏移值对输入图像进行校正。
其中,利用利用偏移值对输入图像进行校正的步骤,包括:响应于输入图像的偏移是运动偏移,则采用插值算法结合时域算法利用校正后的偏移值对输入图像进行校正;响应于输入图像的偏移是图像扭曲偏移,则采用插值算法结合时域算法利用偏移值对输入图像进行校正。
其中,获取输入图像以及输入图像对应的参考图像的步骤,包括:基于当前输入图像以及当前输入图像的上一帧输入图像的参考图像得到当前输入图像的参考图像。
其中,利用公式(2)的方式输入图像的参考图像:REF=ra×cur+(1-ra)×ref(2);其中,REF为当前输入图像的参考图像,ra为加权系数,取值范围为(0,1),cur为当前输入图像,ref为当前输入图像的上一帧输入图像的参考图像。
其中,偏移值包括第一方向的偏移值以及第二方向的偏移值。
为解决上述技术问题,本发明提供的第二个技术方案为:提供一种图像校正装置,包括:获取模块,用于获取输入图像以及输入图像对应的参考图像;计算模块,用于计算输入图像中各个像素点相对于参考图像中对应像素点的偏移值;校正模块,用于利用偏移值对输入图像进行校正。
为解决上述技术问题,本发明提供的第三个技术方案为:提供一种电子设备,包括:存储器和处理器,其中,存储器存储有程序指令,处理器从存储器调取程序指令以执行上述任一项的方法。
为解决上述技术问题,本发明提供的第四个技术方案为:提供一种计算机可读存储介质,存储有程序文件,程序文件能够被执行以实现上述任一项的方法。
本发明的有益效果,区别于现有技术的情况,本发明的图像校正方法基于参考图像计算输入图像中各个像素点相对于参考图像中对应像素点的偏移值;然后利用偏移值对输入图像进行校正,进而解决图像畸变问题,提高视觉效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1为现有技术中图像畸变的示意图;
图2为本发明图像校正方法的一实施例的流程示意图;
图3为判断输入图像的偏移是运动偏移或图像扭曲偏移的一实施例的流程示意图;
图4a为校正前的输入图像的示意图;
图4b为校正后的输入图像的示意图;
图5为本发明图像校正装置的第一实施例的结构示意图;
图6为本发明图像校正装置的第二实施例的结构示意图;
图7为本发明电子设备的一实施例的结构示意图;
图8为本发明计算机可读存储介质的一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图2,为本发明图像校正方法的一实施例的流程示意图,具体包括:
步骤S11:获取输入图像以及输入图像对应的参考图像。
具体的,获取输入图像以及计算输入图像对应的参考图像。在一实施例中,基于当前输入图像以及当前输入图像的上一帧输入图像的参考图像得到当前输入图像的参考图像。例如,对当前输入图像的上一帧输入图像的参考图像以及当前输入图像进行加权,进而得到当前输入图像的参考图像。
在一具体实施例中,以视频数据为例,其包含多个图像帧,对于第一帧输入图像,其对应的参考图像即为第一帧输入图像,对于第二帧输入图像,可以利用第二帧输入图像以及第一帧输入图像的参考图像计算得到第二帧输入图像的参考图像。具体的,计算输入图像的参考图像的计算方式如下:
REF=ra×cur+(1-ra)×ref(2);
其中,REF为当前输入图像的参考图像,ra为加权系数,取值范围为(0,1),cur为当前输入图像,ref为当前输入图像的上一帧输入图像的参考图像。在一实施例中,ra取值为0.05。
需要说明的是,本申请的方法可以适用于多种不同类型的图像,例如RGB图像,或者YUV图像等。以YUV图像为例,输入图像例如可以为亮度通道,可以理解的,参考图像对应的也为亮度通道。
步骤S12:计算输入图像中各个像素点相对于参考图像中对应像素点的偏移值。
在一实施例中,可以利用光流算法计算输入图像中各个像素点相对于参考图像中对应像素点的偏移值。偏移值包括第一方向的偏移值以及第二方向的偏移值。第一方向为x方向,第二方向为y方向。例如,利用光流算法计算输入图像中各个像素点相对于参考图像中对应像素点在y方向(列方向)的偏移值dy,以及x方向(行方向)的偏移值dx。
光流算法可以为LK(Lucas-Kanade)光流算法,或者HS(Horn Schunck)光流算法等。
在一实施例中,进一步利用导向滤波的方法对偏移值进行平滑处理。以此可以有效减少光流误检带来的校正异常问题。在一具体实施例中,可以将输入图像作为导向图,利用导向滤波的方法基于导向图即输入图像对偏移值进行平滑处理。通过该处理可以减少光流误检带来的校正异常问题。
具体的,在计算得到偏移值后,可以基于偏移值判断输入图像的偏移是运动偏移或图像扭曲偏移。
具体的,如图1所示的几种畸变现象可能由两种现象引起,一种是目标运动偏移产生畸变,另一种是图像扭曲偏移产生畸变。而在实际应用过程中,目标运动偏移产生的畸变需要先对偏移值进行校正,然后利用校正后的偏移值对输入图像进行校正,而图像扭曲偏移则直接利用偏移值进行校正。
具体的,如图3所示,基于偏移值判断输入图像的偏移是运动偏移或图像扭曲偏移的步骤具体包括:
步骤S31:统计输入图像的第一偏移平均值,第一偏移平均值为偏移值大于第一阈值的像素点的偏移值的平均值。
具体的,以x方向(行方向)的偏移值dx为例进行说明。可以计算每一像素点的偏移值的绝对值,记作a,统计绝对值a中取值大于第一阈值th1的所有像素点的偏移值的平均值a1,该平均值a1即为第一偏移平均值。y方向(列方向)的偏移值dy的处理方法与x方向(行方向)的偏移值dx的处理方法相同。
步骤S32:基于第一偏移平均值判断输入图像的偏移是运动偏移或图像扭曲偏移。
具体的,统计输入图像中每行像素点中偏移值dx大于第一偏移平均值a1的像素点的第一个数B1;以及统计输入图像中每行像素点中偏移值dx大于第一设定值C1的像素点的第二个数B2;以及统计输入图像中每行像素点中偏移值dx大于第二设定值C2的像素点的第三个数B3。其中,第一设定值C1为第一偏移平均值a1与第二阈值th2的和,即C1=a1+th2;第二设定值C2为第一偏移平均值a1与第三阈值th3的和,即C2=a1+th3。计算每行像素点对应的第二个数B2与第三设定值C3的比值,第三设定值C3为第一个数B1与第四设定值C4之和,第四设定值C4为1。也即计算B2/(B1+C4),其中,C4为1,也即计算B2/(B1+1)的值N。响应于比值N小于第四阈值th4且大于第五阈值th5,和/或响应于第三个数B3大于第六阈值th6,则判断偏移因素为运动偏移。也即,若th5<N<th4,或者B3>th6,则说明偏移因素为运动偏移。响应于比值N不小于第四阈值th4且不大于第五阈值th5,或者响应于第三个数B3不大于第六阈值th6,则判断偏移因素为图像扭曲偏移。具体的,若th4≤N≤th5,或者B3≤th6,则说明偏移因素为图像扭曲偏移。
具体的,本实施例中,逐行进行判断,对于某一行,若通过上述方式判定包含运动物体,则先对偏移值进行校正,得到校正后的偏移值,利用校正后的偏移值对包含运动物体的位置进行校正。若通过上述方式判定不包含运动物体,则利用利用偏移值对不包含运动物体的位置进行校正。以此能够避免错误校正的情况。
在一实施例中,若偏移为运动偏移,则对偏移值进行校正,以得到校正后的偏移值。具体的,计算输入图像的每一像素点对应的预设区域内的像素点的偏移值的第二偏移平均值,第二偏移平均值为校正后的偏移值。利用校正后的偏移值对包含运动物体的区域进行校正。
在另一实施例中,还可以获取输入图像的每一像素点的偏移值dx与第一偏移平均值a1的差值。具体的,计算偏移值dx的绝对值a与第一偏移平均值a1的差值。也即,diff=a-a1。利用差值对偏移值进行校正,以得到校正后的偏移值。
在一具体实施例中,利用差值diff对偏移值dx进行收缩,以得到校正后的偏移值;其中,收缩程度与差值diff呈正向关系。例如,差值diff越大,对偏移值dx的收缩程度越大,而差值diff越小,对偏移值dx的收缩程度越小。具体的,将差值diff与第五设定值进行比较,响应于差值diff大于第五设定值,则利用第一收缩程度对偏移值dx进行收缩,得到校正后的偏移值。响应于差值diff不大于第五设定值,则利用第二收缩程度对偏移值dx进行收缩,得到校正后的偏移值;其中,第一收缩程度大于第二收缩程度。
在一具体实施例中,可以利用第七阈值th7对差值diff进行缩小,以将其缩小至预定范围内,预定范围可以为(0,1)。例如计算dec1=diff×th7,若dec1大于1,则dec=1,若dec1小于0,则dec=0,若dec1不大于1,且不小于0,则dec=dec1。具体为:
其中,dec即为收缩程度,也即,若dec1>1,则第一收缩程度dec为1,若dec1<0,则,第二收缩程度为0,否则,收缩程度即为dec1。
在一实施例中,利用如下公式(1)计算得到校正后的偏移值:
DX=dx-dx×dec (1);
其中,DX为校正后的偏移值,dx为像素点的偏移值,dec为第一收缩程度或第二收缩程度。
y方向(列方向)的偏移值dy的处理方法与x方向(行方向)的偏移值dx的处理方法相同。可以利用上述同样的方式计算y方向(列方向)的偏移值dy的校正后的偏移值DY,具体在此不再赘述。
步骤S13:利用偏移值对输入图像进行校正。
在一实施例中,响应于输入图像的偏移是运动偏移,可以采用插值算法利用校正后的偏移值对输入图像进行校正。响应于输入图像的偏移是图像扭曲偏移,则采用插值算法利用偏移值对输入图像进行校正。插值算法可以为双线性插值算法。还可以为双三次等插值算法。
具体的,若本实施例的输入图像为亮度通道的图像,则可以利用插值算法对输入图像的三个通道YUV分别进行校正。例如,选择双线性插值算法计算得到每个通道的校正结果。或者还可以选择最近邻或者双三次等插值算法计算得到每个通道的校正结果,然后进行校正。
在另一实施例中,响应于输入图像的偏移是运动偏移,还可以采用插值算法结合时域算法利用校正后的偏移值对输入图像进行校正。响应于输入图像的偏移是图像扭曲偏移,则采用插值算法结合时域算法利用偏移值对输入图像进行校正。结合时域算法能够进一步优化校正结果。具体如图4a以及图4b所示,其中,图4a为校正前的输入图像,图4b为校正后的输入图像。由图可知,本申请的方法,对于畸变扭曲图像的校正具有良好的效果。本实施例的方法,能够解决图像扭曲问题,具体的,图像扭曲包括但不限于由rollingshutter引发的图像扭曲。
在一具体实施例中,本申请提出的第一阈值、第二阈值、第三阈值、第四阈值、第五阈值、第六阈值以及第七阈值的取值依次为:1,3,4.5,0.1,0,3,0.4。
在一实施例中,为了进一步提高校正结果,上述步骤S12以及步骤S13的方式可以多次实行,具体不做限定。具体的,本申请可以利用步骤S12以及步骤S13的方法进行n次校正,n取值越大,校正结果越稳定,同时对误检越不敏感,但是会增加计算量,因此具体n的取值根据实际情况而定。优选的,可以设置n为2,也即利用上述步骤S12以及步骤S13的方式进行2次校正。可以理解的,第二次校正时的输入即为第一次校正的输出,也即第二次校正的图像为第一次校正后的图像。
本申请的图像校正方法,不依赖于任何先验性假设,无需繁琐复杂的相机或运动物体建模过程,算法泛化能力强,既能处理由相机运动带来的图像畸变问题,也可处理场景中由运动物体引起的图像畸变。通过对运动区重新检测处理,区分了光流检测算法输出结果中的运动区与非运动区,并进行差异化处理,在避免校正异常的同时,进一步提升了视觉效果。通过多种方式,降低或减少了误检对于校正效果的影响,鲁棒性更好。
请参见图5,为本发明图像校正装置的一实施例的结构示意图,具体包括:获取模块61、计算模块62以及校正模块63。
其中,获取模块61用于获取输入图像以及输入图像对应的参考图像。在一具体实施例中,以视频数据为例,其包含多个图像帧,对于第一帧输入图像,其对应的参考图像即为第一帧输入图像,对于第二帧输入图像,获取模块61可以利用第二帧输入图像以及第一帧输入图像的参考图像计算得到第二帧输入图像的参考图像。具体的,获取模块61计算输入图像的参考图像的计算方式如下:
REF=ra×cur+(1-ra)×ref (2);
其中,REF为当前输入图像的参考图像,ra为加权系数,取值范围为(0,1),cur为当前输入图像,ref为当前输入图像的上一帧输入图像的参考图像。在一实施例中,ra取值为0.05。
需要说明的是,本申请的方法可以适用于多种不同类型的图像,例如RGB图像,或者YUV图像等。以YUV图像为例,输入图像例如可以为亮度通道,可以理解的,参考图像对应的也为亮度通道。
计算模块62用于计算输入图像中各个像素点相对于参考图像中对应像素点的偏移值。在一实施例中,计算模块62可以利用光流算法计算输入图像中各个像素点相对于参考图像中对应像素点的偏移值。偏移值包括第一方向的偏移值以及第二方向的偏移值。第一方向为x方向,第二方向为y方向。例如,利用光流算法计算输入图像中各个像素点相对于参考图像中对应像素点在x方向(行方向)的偏移值dx,以及y方向(列方向)的偏移值dy。
光流算法可以为LK(Lucas-Kanade)光流算法,或者HS(Horn Schunck)光流算法等。
在一实施例中,计算模块62进一步利用导向滤波的方法对偏移值进行平滑处理。以此可以有效减少光流误检带来的校正异常问题。在一具体实施例中,可以将输入图像作为导向图,利用导向滤波的方法基于导向图即输入图像对偏移值进行平滑处理。通过该处理可以减少光流误检带来的校正异常问题。
计算模块62,在计算得到偏移值后,基于偏移值判断输入图像的偏移是运动偏移或图像扭曲偏移。目标运动偏移产生的畸变需要先对偏移值进行校正,然后利用校正后的偏移值对输入图像进行校正,而图像扭曲偏移则直接利用偏移值进行校正。具体的,计算模块62统计输入图像的第一偏移平均值,第一偏移平均值为偏移值大于第一阈值的像素点的偏移值的平均值,基于第一偏移平均值判断输入图像的偏移是运动偏移或图像扭曲偏移。
在一实施例中,计算模块62统计输入图像中每行像素点中偏移值dx大于第一偏移平均值a1的像素点的第一个数B1;以及统计输入图像中每行像素点中偏移值dx大于第一设定值C1的像素点的第二个数B2;以及统计输入图像中每行像素点中偏移值dx大于第二设定值C2的像素点的第三个数B3。其中,第一设定值C1为第一偏移平均值a1与第二阈值th2的和,即C1=a1+th2;第二设定值C2为第一偏移平均值a1与第三阈值th3的和,即C2=a1+th3。计算每行像素点对应的第二个数B2与第三设定值C3的比值,第三设定值C3为第一个数B1与第四设定值C4之和,第四设定值C4为1。也即计算B2/(B1+C4),其中,C4为1,也即计算B2/(B1+1)的值N。响应于比值N小于第四阈值th4且大于第五阈值th5,和/或响应于第三个数B3大于第六阈值th6,则判断偏移因素为运动偏移。也即,若th5<N<th4,或者B3>th6,则说明偏移因素为运动偏移。响应于比值N不小于第四阈值th4且不大于第五阈值th5,或者响应于第三个数B3不大于第六阈值th6,则判断偏移因素为图像扭曲偏移。具体的,若th4≤N≤th5,或者B3≤th6,则说明偏移因素为图像扭曲偏移。
具体的,本实施例中,逐行进行判断,对于某一行,若通过上述方式判定包含运动物体,则先对偏移值进行校正,得到校正后的偏移值,利用校正后的偏移值对包含运动物体的位置进行校正。若通过上述方式判定不包含运动物体,则利用利用偏移值对不包含运动物体的位置进行校正。以此能够避免错误校正的情况。
在一实施例中,若偏移为运动偏移,则对偏移值进行校正,以得到校正后的偏移值。具体的,计算模块62计算输入图像的每一像素点对应的预设区域内的像素点的偏移值的第二偏移平均值,第二偏移平均值为校正后的偏移值。利用校正后的偏移值对包含运动物体的区域进行校正。
在另一实施例中,计算模块62还可以获取输入图像的每一像素点的偏移值dx与第一偏移平均值a1的差值。具体的,计算偏移值dx的绝对值a与第一偏移平均值a1的差值。也即,diff=a-a1。利用差值偏移值对偏移值进行校正,以得到校正后的偏移值。
在一具体实施例中,计算模块62利用差值diff对偏移值dx进行收缩进行得到校正后的偏移值;其中,收缩程度与差值diff呈正向关系。例如,差值diff越大,对偏移值dx的收缩程度越大,而差值diff越小,对偏移值dx的收缩程度越小。具体的,将差值diff与第五设定值进行比较,响应于差值diff大于第五设定值,则利用第一收缩程度对偏移值dx进行收缩,以得到校正后的偏移值。响应于差值diff不大于第五设定值,则利用第二收缩程度对偏移值dx进行收缩,以得到校正后的偏移值;其中,第一收缩程度大于第二收缩程度。
在一具体实施例中,计算模块62可以利用第七阈值th7对差值进行缩小,以将其缩小至预定范围内,预定范围可以为(0,1)。例如计算dec1=diff×th7,若dec1大于1,则dec=1,若dec1小于0,则dec=0,若dec1不大于1,且不小于0,则dec=dec1。具体为:
其中,dec即为收缩程度,也即,若dec1>1,则第一收缩程度dec为1,若dec1<0,则,第二收缩程度为0,否则,收缩程度即为dec1。
在一实施例中,计算模块62利用如下公式(1)计算得到校正后的偏移值:
DX=dx-dx×dec (1);
其中,DX为校正后的偏移值,dx为像素点的偏移值,dec为第一收缩程度或第二收缩程度。
y方向(列方向)的偏移值dy的处理方法与x方向(行方向)的偏移值dx的处理方法相同。可以利用上述同样的方式计算y方向(列方向)的偏移值dy的校正后的偏移值DY,具体在此不再赘述。
校正模块63用于利用偏移值对输入图像进行校正。在一实施例中,响应于输入图像的偏移是运动偏移,校正模块63可以采用插值算法利用校正后的偏移值对输入图像进行校正。响应于输入图像的偏移是图像扭曲偏移,校正模块63则采用插值算法利用偏移值对输入图像进行校正。插值算法可以为双线性插值算法。还可以为双三次等插值算法。
具体的,若本实施例的输入图像为亮度通道的图像,则校正模块63可以利用插值算法对输入图像的三个通道YUV分别进行校正。例如,选择双线性插值算法计算得到每个通道的校正结果。或者还可以选择最近邻或者双三次等插值算法计算得到每个通道的校正结果,然后进行校正。
在另一实施例中,响应于输入图像的偏移是运动偏移,校正模块63还可以采用插值算法结合时域算法利用校正后的偏移值对输入图像进行校正。响应于输入图像的偏移是图像扭曲偏移,校正模块63则采用插值算法结合时域算法利用偏移值对输入图像进行校正。结合时域算法能够进一步优化校正结果。具体如图4a以及图4b所示,其中,图4a为校正前的输入图像,图4b为校正后的输入图像。由图可知,本申请的装置,对于畸变扭曲图像的校正具有良好的效果。
在一实施例中,为了进一步提高校正结果,上述计算模块62以及校正模块63可以设置n个,n取值越大,校正结果越稳定,同时对误检越不敏感,但是会增加计算量,因此具体n的取值根据实际情况而定。在一优选实施例中,如图6所示,本申请可以设置计算模块62以及校正模块63为两个,也即进行2次校正。可以理解的,第二次校正时,第二个计算模块62的输入即为第一个校正模块63的输出,也即第二次校正的图像为第一次校正后的图像,最后一个校正模块63的输出即为最终校正后的图像。
本申请的图像校正装置,不依赖于任何先验性假设,无需繁琐复杂的相机或运动物体建模过程,算法泛化能力强,既能处理由相机运动带来的图像畸变问题,也可处理场景中由运动物体引起的图像畸变。通过对运动区重新检测处理,区分了光流检测算法输出结果中的运动区与非运动区,并进行差异化处理,在避免校正异常的同时,进一步提升了视觉效果。通过多种方式,降低或减少了误检对于校正效果的影响,鲁棒性更好。
请参见图7,为本发明电子设备的一实施例的结构示意图,电子设备包括相互连接的存储器202和处理器201。
存储器202用于存储实现上述任意一项的方法的程序指令。
处理器201用于执行存储器202存储的程序指令。
其中,处理器201还可以称为CPU(Central Processing Unit,中央处理单元)。处理器201可能是一种集成电路芯片,具有信号的处理能力。处理器201还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器202可以为内存条、TF卡等,可以存储设备的电子设备中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,电子设备才有记忆功能,才能保证正常工作。电子设备的存储器按用途可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。
请参阅图8,为本发明计算机可读存储介质的结构示意图。本申请的存储介质存储有能够实现上述所有方法的程序文件203,其中,该程序文件203可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (20)
1.一种图像校正方法,其特征在于,包括:
获取输入图像以及所述输入图像对应的参考图像;
计算所述输入图像中各个像素点相对于所述参考图像中对应像素点的偏移值;
利用所述偏移值对所述输入图像进行校正;
其中,所述利用所述偏移值对所述输入图像进行校正,包括:响应于基于所述偏移值确定所述输入图像的偏移为运动偏移,则对所述偏移值进行校正,利用校正后的所述偏移值对所述输入图像进行校正;响应于基于所述偏移值确定所述输入图像的偏移为图像扭曲偏移,则利用所述偏移值对所述输入图像进行校正。
2.根据权利要求1所述的方法,其特征在于,所述利用所述偏移值对所述输入图像进行校正的步骤,包括:
基于所述偏移值判断所述输入图像的偏移是运动偏移或图像扭曲偏移。
3.根据权利要求2所述的方法,其特征在于,所述基于所述偏移值判断所述输入图像的偏移是运动偏移或图像扭曲偏移的步骤,包括:
统计所述输入图像的第一偏移平均值,所述第一偏移平均值为偏移值大于第一阈值的像素点的偏移值的平均值;
基于所述第一偏移平均值判断所述输入图像的偏移是运动偏移或图像扭曲偏移。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一偏移平均值判断所述输入图像的偏移是运动偏移或图像扭曲偏移的步骤,包括:
统计所述输入图像中每行像素点中偏移值大于所述第一偏移平均值的像素点的第一个数;以及统计所述输入图像中每行像素点中偏移值大于第一设定值的像素点的第二个数;以及统计所述输入图像中每行像素点中偏移值大于第二设定值的像素点的第三个数;其中,所述第一设定值为所述第一偏移平均值与第二阈值的和,所述第二设定值为所述第一偏移平均值与第三阈值的和;
计算每行像素点对应的所述第二个数与第三设定值的比值,所述第三设定值为所述第一个数与第四设定值之和,所述第四设定值为1;
响应于所述比值不小于第四阈值且不大于第五阈值,或者响应于所述第三个数不大于第六阈值,则判断偏移因素为图像扭曲偏移;
响应于所述比值小于所述第四阈值且大于所述第五阈值,和/或响应于所述第三个数大于所述第六阈值,则判断偏移因素为运动偏移。
5.根据权利要求1所述的方法,其特征在于,所述计算所述输入图像中各个像素点相对于所述参考图像中对应像素点的偏移值的步骤,包括:
利用光流计算方法计算所述输入图像中各个像素点相对于所述参考图像中对应像素点的偏移值。
6.根据权利要求5所述的方法,其特征在于,所述利用光流计算方法计算所述输入图像中各个像素点相对于所述参考图像中对应像素点的偏移值的步骤,还包括:
利用导向滤波的方法对所述偏移值进行平滑处理。
7.根据权利要求6所述的方法,其特征在于,所述利用导向滤波的方法对所述偏移值进行平滑处理的步骤,包括:
利用导向滤波的方法基于所述输入图像对所述偏移值进行平滑处理。
8.根据权利要求2所述的方法,其特征在于,所述对所述偏移值进行校正的步骤,包括:
计算所述输入图像的每一像素点对应的预设区域内的像素点的偏移值的第二偏移平均值,所述第二偏移平均值为校正后的所述偏移值。
9.根据权利要求2所述的方法,其特征在于,所述对所述偏移值进行校正的步骤,包括:
获取所述输入图像的每一像素点的偏移值与第一偏移平均值的差值;
利用所述差值对所述偏移值进行校正。
10.根据权利要求9所述的方法,其特征在于,所述利用所述差值对所述偏移值进行校正的步骤,包括:
利用所述差值对所述偏移值进行收缩,以得到校正后的所述偏移值;其中,收缩程度与所述差值呈正向关系。
11.根据权利要求10所述的方法,其特征在于,所述利用所述差值对所述偏移值进行校正的步骤,包括:
响应于所述差值大于第五设定值,则利用第一收缩程度对所述偏移值进行收缩,以得到校正后的所述偏移值;
响应于所述差值不大于所述第五设定值,则利用第二收缩程度对所述偏移值进行收缩,以得到校正后的所述偏移值;
其中,所述第一收缩程度大于所述第二收缩程度。
12.根据权利要求11所述的方法,其特征在于,利用公式(1)计算得到校正后的所述偏移值:
DX=dx-dx×dec (1);
其中,DX为校正后的所述偏移值,dx为像素点的偏移值,dec为第一收缩程度或第二收缩程度。
13.根据权利要求1所述的方法,其特征在于,所述利用所述偏移值对所述输入图像进行校正的步骤,包括:
响应于所述输入图像的偏移是运动偏移,则采用插值算法利用校正后的所述偏移值对所述输入图像进行校正;
响应于所述输入图像的偏移是图像扭曲偏移,则采用插值算法利用所述偏移值对所述输入图像进行校正。
14.根据权利要求1所述的方法,其特征在于,所述利用所述偏移值对所述输入图像进行校正的步骤,包括:
响应于所述输入图像的偏移是运动偏移,则采用插值算法结合时域算法利用校正后的所述偏移值对所述输入图像进行校正;
响应于所述输入图像的偏移是图像扭曲偏移,则采用插值算法结合时域算法利用所述偏移值对所述输入图像进行校正。
15.根据权利要求1所述的方法,其特征在于,所述获取输入图像以及所述输入图像对应的参考图像的步骤,包括:
基于当前输入图像以及所述当前输入图像的上一帧输入图像的参考图像得到所述当前输入图像的参考图像。
16.根据权利要求15所述的方法,其特征在于,利用公式(2)的方式输入图像的参考图像:
REF=ra×cur+(1-ra)×ref (2);
其中,REF为当前输入图像的参考图像,ra为加权系数,取值范围为(0,1),cur为当前输入图像,ref为当前输入图像的上一帧输入图像的参考图像。
17.根据权利要求2所述的方法,其特征在于,所述偏移值包括第一方向的偏移值以及第二方向的偏移值。
18.一种图像校正装置,其特征在于,包括:
获取模块,用于获取输入图像以及所述输入图像对应的参考图像;
计算模块,用于计算所述输入图像中各个像素点相对于所述参考图像中对应像素点的偏移值;
校正模块,用于利用所述偏移值对所述输入图像进行校正,具体用于响应于基于所述偏移值确定所述输入图像的偏移为运动偏移,则对所述偏移值进行校正,利用校正后的所述偏移值对所述输入图像进行校正;响应于基于所述偏移值确定所述输入图像的偏移为图像扭曲偏移,则利用所述偏移值对所述输入图像进行校正。
19.一种电子设备,其特征在于,包括:存储器和处理器,其中,所述存储器存储有程序指令,所述处理器从所述存储器调取所述程序指令以执行如权利要求1-17任一项所述的图像校正方法。
20.一种计算机可读存储介质,其特征在于,存储有程序文件,所述程序文件能够被执行以实现如权利要求1-17任一项所述的图像校正方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110754003.4A CN113658053B (zh) | 2021-07-04 | 2021-07-04 | 图像校正方法、装置、电子设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110754003.4A CN113658053B (zh) | 2021-07-04 | 2021-07-04 | 图像校正方法、装置、电子设备、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113658053A CN113658053A (zh) | 2021-11-16 |
CN113658053B true CN113658053B (zh) | 2024-09-06 |
Family
ID=78489878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110754003.4A Active CN113658053B (zh) | 2021-07-04 | 2021-07-04 | 图像校正方法、装置、电子设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113658053B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463824A (zh) * | 2013-09-13 | 2015-03-25 | 北京京东方光电科技有限公司 | 一种薄膜晶体管型基板检测设备的图像校正方法及装置 |
CN107481203A (zh) * | 2017-08-14 | 2017-12-15 | 厦门美图之家科技有限公司 | 一种图像导向滤波方法及计算设备 |
CN111479035A (zh) * | 2020-04-13 | 2020-07-31 | Oppo广东移动通信有限公司 | 图像处理方法、电子装置及计算机可读存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7995859B2 (en) * | 2008-04-15 | 2011-08-09 | Flir Systems, Inc. | Scene based non-uniformity correction systems and methods |
CN102131078B (zh) * | 2011-03-11 | 2013-09-25 | 通号通信信息集团有限公司 | 一种视频图像校正方法和系统 |
CN104657994B (zh) * | 2015-02-13 | 2017-12-19 | 厦门美图之家科技有限公司 | 一种基于光流法判断图像一致性的方法和系统 |
CN108932698B (zh) * | 2017-11-17 | 2021-07-23 | 北京猎户星空科技有限公司 | 图像畸变的校正方法、装置、电子设备和存储介质 |
CN108364325B (zh) * | 2018-01-30 | 2021-03-30 | 山西大学 | 规则样品x射线ct投影图位置平移偏差检测及校正方法 |
US10630919B2 (en) * | 2018-02-05 | 2020-04-21 | Novatek Mircoelectronics Corp. | Image sensing apparatus and black level correction method thereof and computer readable medium |
JP2019204193A (ja) * | 2018-05-22 | 2019-11-28 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
CN111656391B (zh) * | 2018-07-17 | 2023-09-22 | 华为技术有限公司 | 一种图像校正方法和终端 |
US20200029057A1 (en) * | 2018-07-17 | 2020-01-23 | Qualcomm Incorporated | Systems and methods for correcting color separation in field-sequential displays |
CN110276734B (zh) * | 2019-06-24 | 2021-03-23 | Oppo广东移动通信有限公司 | 图像畸变校正方法和装置 |
CN110570367A (zh) * | 2019-08-21 | 2019-12-13 | 苏州科达科技股份有限公司 | 鱼眼图像的校正方法、电子设备及存储介质 |
CN110944176B (zh) * | 2019-12-05 | 2022-03-22 | 浙江大华技术股份有限公司 | 图像帧降噪方法和计算机存储介质 |
-
2021
- 2021-07-04 CN CN202110754003.4A patent/CN113658053B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463824A (zh) * | 2013-09-13 | 2015-03-25 | 北京京东方光电科技有限公司 | 一种薄膜晶体管型基板检测设备的图像校正方法及装置 |
CN107481203A (zh) * | 2017-08-14 | 2017-12-15 | 厦门美图之家科技有限公司 | 一种图像导向滤波方法及计算设备 |
CN111479035A (zh) * | 2020-04-13 | 2020-07-31 | Oppo广东移动通信有限公司 | 图像处理方法、电子装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113658053A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111028189B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
US8508605B2 (en) | Method and apparatus for image stabilization | |
US9202263B2 (en) | System and method for spatio video image enhancement | |
EP2359604B1 (en) | Modifying color and panchromatic channel cfa image | |
JP4730412B2 (ja) | 画像処理装置及び画像処理方法 | |
JP7169388B2 (ja) | 高ダイナミックレンジ画像の電子画像安定化を実施するための方法、デバイス、カメラ、およびソフトウェア | |
US10491815B2 (en) | Image-processing apparatus, image-processing method, and non-transitory computer readable medium storing image-processing program | |
CN109328454B (zh) | 图像处理装置 | |
US20180225810A1 (en) | Image processing device, imaging apparatus, image processing method, image processing program, and recording medium | |
KR101524548B1 (ko) | 영상 정합 장치 및 방법 | |
KR20180095059A (ko) | 이미지 융합 방법 및 장치, 및 단말 디바이스 | |
CN110475067B (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
CN107395991B (zh) | 图像合成方法、装置、计算机可读存储介质和计算机设备 | |
EP2494524A2 (en) | Algorithms for estimating precise and relative object distances in a scene | |
US12039767B2 (en) | Subject detection method and apparatus, electronic device, and computer-readable storage medium | |
JP4639555B2 (ja) | 動きベクトル検出装置および方法、手振れ補正装置および方法、並びに撮像装置 | |
US8406305B2 (en) | Method and system for creating an interpolated image using up-conversion vector with uncovering-covering detection | |
JP3866957B2 (ja) | 画像合成装置 | |
US20110069204A1 (en) | Method and apparatus for image correction | |
CN105931213A (zh) | 基于边缘检测和帧差法的高动态范围视频去鬼影的方法 | |
US20190213749A1 (en) | Method, image processing device, and system for generating disparity map | |
KR100956228B1 (ko) | 왜곡 영상 보정 기능을 갖는 영상처리 장치 | |
US10846837B2 (en) | Image processing apparatus, image processing method, and storage medium | |
CN110930440B (zh) | 图像对齐方法、装置、存储介质及电子设备 | |
CN113658053B (zh) | 图像校正方法、装置、电子设备、计算机可读存储介质 |
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 |