发明内容
为了减少对齐图像时所需的计算量,第一方面,本申请的部分实施例提供一种图像对齐方法,包括:
获取目标图像,所述目标图像包括图像网格,所述图像网格包括若干间隔距离相同的顶点;
计算所述目标图像中的像素点的梯度值;
根据特征点和目标顶点的位置关系计算所述特征点的光流值,所述特征点为所述梯度值大于所述梯度值阈值的像素点,所述目标顶点为所述图像网格中,与所述特征点距离最近的顶点;
根据光流值获取所述特征点的运动信息;
将至少一项所述运动信息传播至所述图像网格,以及,根据所述图像网格将所述目标图像与预设图像对齐。
在一些可行的实施例中,还包括:
计算所述特征点和所述目标顶点的间隔距离;
如果所述间隔距离等于0,则输出第一位置关系,所述第一位置关系用于指示所述特征点位于所述目标顶点上;
如果所述间隔距离大于0,则输出第二位置关系,所述第二位置关系用于指示所述特征点位于所述目标顶点外。
在一些可行的实施例中,根据特征点和所述目标顶点的位置关系计算所述特征点的光流值的步骤,包括:
获取所述特征点的梯度值;
如果所述位置关系为第一位置关系,则比较所述特征点的梯度值与第一阈值;
若所述特征点的梯度值大于所述第一阈值,则计算所述特征点的光流值;
若所述特征点的梯度值小于或者等于所述第一阈值,则将所述特征点标记为无效特征点。
在一些可行的实施例中,如果所述位置关系为第二位置关系,所述方法还包括:
比较所述特征点的梯度值与第二阈值,所述第二阈值大于所述第一阈值;
若所述特征点的梯度值大于所述第二阈值,则计算所述特征点的光流值;
若所述特征点的梯度值小于或者等于所述第二阈值,则将所述特征点标记为无效特征点。
在一些可行的实施例中,将至少一项所述运动信息传播至所述图像网格的步骤前,还包括:
在所述目标图像中划分预设配置范围,所述预设配置范围的中心为所述目标顶点;
遍历所述预设配置范围内的特征点数量;
根据预设范围内的特征点的光流值计算运动信息,所述运动信息的数量与所述特征点数量相同。
在一些可行的实施例中,将至少一项所述运动信息传播至所述图像网格的步骤,包括:
根据所述运动信息和所述运动信息对应的梯度值生成运动数组;
将所述运动数组存入所述目标顶点的候选数组中;
根据预设选择条件在所述候选数组中确定目标数组;
按照所述目标数组计算所述图像网格的顶点的梯度值。
在一些可行的实施例中,根据预设选择条件在所述候选数组中确定目标数组的步骤,包括:
根据所述梯度值从大至小的顺序对所述候选数组执行排序;
获取排序后的所述候选数组的中位数值数组;
将所述中位数值数组标记为所述目标数组。
在一些可行的实施例中,根据预设选择条件在所述候选数组中确定目标数组的步骤,包括:
获取所述候选数组的平均重要度、平均最大值以及平均梯度值;
对所述平均重要度、所述平均最大值和所述平均梯度值执行加权求和,得到加权求和结果;
根据所述加权求和结果生成目标数组。
第二方面,本申请的部分实施例提供一种图像对齐设备,所述设备包括图像采集装置和执行器,所述图像采集装置用于采集目标图像;所述执行器被配置为:
获取目标图像,所述目标图像包括图像网格,所述图像网格包括若干间隔距离相同的顶点;
计算所述目标图像中的像素点的梯度值;
根据特征点和目标顶点的位置关系计算所述特征点的光流值,所述特征点为所述梯度值大于所述梯度值阈值的像素点,所述目标顶点为所述图像网格中,与所述特征点距离最近的顶点;
根据光流值获取所述特征点的运动信息;
将至少一项所述运动信息传播至所述图像网格,以及,根据所述图像网格将所述目标图像与预设图像对齐。
第三方面,本申请的部分实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中包括计算机指令,所述计算机指令用于指示计算机执行第一方面所述的图像对齐方法。
由以上方案可知,本申请提供一种图像对齐方法、设备及存储介质,通过获取带有图像网格的目标图像,图像网格包括若干间隔距离相同的顶点。通过计算目标图像的像素点的梯度值,在像素点中筛选特征点,并根据特征点和目标顶点的位置关系计算特征点的光流值,目标顶点是图像网格中与特征点距离最近的顶点。然后根据光流值获取特征点的运动信息,将至少一项运动信息传播至图像网格,以及根据图像网格将目标图像与预设图像对齐。本申请通过筛选密度相对稀疏的特征点,并根据特征点的光流值将运动信息传播到图像网格的顶点上,仅对图像网格的顶点计算运动,减少图像对齐的计算量。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
图像采集设备是一种用于采集图像的摄像/摄影设备,例如,摄像机、照相机、车载监控,可以手持或安装至指定位置,从而获取采集范围内的图像,以便于用户观看图像或者对图像进行二次处理。
但是,当图像采集设备处于较暗的场景下时,例如,处于夜晚或隧道中,环境中的光线较弱,图像采集设备的进光度低,会导致图像采集设备的进光量不足,从而在图像采集设备成像的过程中产生较大的图像噪声,影响图像的清晰度。
为提高图像采集设备的图像画质,可以使用3D降噪技术,通过时域上的前后帧图像来除去图像中的噪音。但是,由于被摄场景中会有物体运动,因此在进行3D降噪的过程中,还需要将图像之间的运动对齐,以使图像清晰稳定。运动对齐通常采用点对点对齐的方法,该方法会对每个像素点位置计算运动信息,由于图像中的像素点数量过多,点对点对齐的方法所需的计算量很大,从而影响图像对齐的效率。
为了减少对齐图像时所需的计算量,本申请的部分实施例提供一种图像对齐方法,图1为本申请实施例提供的一种图像对齐方法的流程图。如图1所示,所述方法包括:
S100:获取目标图像。
目标图像是由图像采集设备采集得到,在本实施例中,可以设置图像采集设备获取目标图像的频率,如在预设时间内获取一帧或多帧目标图像,或者每间隔预设时间获取一次目标图像,以减少图像采集设备的负载压力,提高目标图像的获取效率。
在获取目标图像之后,可以基于目标图像添加图像网格,图像网格的形状可以根据目标图像的形状确定,当目标图像为矩形时,图像网格即为矩形。图像网格包括若干间隔距离相同的顶点,其中,间隔距离可以根据目标图像要求的对齐精度确定,对齐精度与图像网格的顶点密度成正比,因此,顶点之间的间隔距离越小,则对齐精度越高,但相应的计算量也会越大。
需要说明的是,在被摄场景中,物体可以在图像采集设备的任意区域内运动,因此,需要对整个目标图像执行运动对齐,所以图像网格应完全覆盖目标图像,避免部分区域没有对齐导致目标图像存在图像噪声,从而提高目标图像的图像精度。
S200:计算所述目标图像中的像素点的梯度值。
在目标图像中,不同区域的像素点密度并不相同,稀疏区域的像素点相比于密集区域的像素点更易于提取运动特征,因此,需要通过计算稀疏区域的像素点与顶点之间的位置关系,从而根据稀疏区域的像素点的运动信息对齐目标图像。
处于稀疏区域的像素点的梯度值整体大于处于密集区域的像素点的梯度值。因此,可以计算目标图像中的像素点的梯度值。由于执行后续的光流值的计算过程中,需要执行有关光流值的计算过程,该计算过程与像素点的梯度值相关,其中,像素点的梯度值越大,光流值的计算精度越高。
在计算的过程中,可以同时或者依次计算像素点在X轴上的变化值和像素点在Y轴上的变化值,其中,X轴上的变化值为当前像素点在X轴方向上+1的像素值与当前像素点在X轴方向上-1的像素值的差值,Y轴上的变化值为当前像素点在Y轴方向上+1的像素值与当前像素点在Y轴方向上-1的像素值的差值。
完成变化值的计算之后,可以将X轴上的变化值和Y轴上的变化值这两个分量形成一个二维分量,这个二维分量即为像素值的梯度值。
在本实施例中,为了便于描述,将处于稀疏区域的像素点定义为特征点。因此,还需要根据梯度值判断像素点是否为特征点,为了便于判断,还可以设置梯度值阈值,如果梯度值大于梯度值阈值,则说明该像素点处于稀疏区域,可以将该像素点标记为特征点。如果梯度值小于或等于梯度值阈值,则说明该像素点处于密集区域,则不对该像素点执行操作。
S300:根据特征点和目标顶点的位置关系计算所述特征点的光流值。
由于在图像网格中存在多个顶点,在判断特征点与顶点之间的位置关系时,可以选取网格图像中与特征点最近的顶点作为目标顶点,特征点可以散落在图像网格的顶点上或者散落在图像网格的顶点周围,因此,可以根据特征点与目标顶点的位置关系计算特征点的光流值。需要说明的是,在目标图像中可以选取多个特征点,在执行步骤S300时,特征点可以获取与该特征点所对应的目标顶点的位置关系,并基于位置关系计算特征点的光流值。一个特征点仅对应一个目标顶点,同一目标顶点可以为多个特征点所对应。
在一些实施例中,如图2所示,可以根据特征点和目标顶点之间的间隔距离判断特征点和目标顶点的位置关系,为此,可以计算特征点与目标顶点的间隔距离,如果间隔距离等于0,说明特征点位于目标顶点上,输出第一位置关系,所述第一位置关系用于指示所述特征点位于所述目标顶点上。如果间隔距离等于0说明特征点位于目标顶点的附近,输出第二位置关系,述第二位置关系用于指示所述特征点位于所述目标顶点外。
图3为本申请实施例提供的根据位置关系计算光流值的流程图。如图3所示,当特征点与目标顶点之间的位置关系为第一位置关系时,特征点位于目标顶点上,此时需要比较特征点的梯度值与第一阈值,其中,第一阈值为目标顶点的梯度值。若特征点的梯度值大于所述第一阈值,说明特征点为有效特征点,可以计算特征点对应的光流值。如果特征点的梯度值小于或等于第一阈值,说明在目标顶点的计算特征点的运动信息是无效的,则将所述特征点标记为无效特征点。
当特征点与目标顶点之间的位置关系为第二位置关系时,特征点位于目标顶点的附近。例如,目标顶点的坐标为(50,50),特征点的坐标为(40,50),由于特征点并不位于目标顶点上,因此需要特征点的梯度值要大于目标顶点的梯度值,该特征点的计算才具有参考性,因此,当特征点与目标顶点之间的位置关系为第二位置关系时,需要比较特征点的梯度值与第二阈值,其中,第二阈值要大于第一阈值,以提高特征点反映至目标顶点的运动信息的精度。
若特征点的梯度值大于所述第二阈值,说明特征点为有效特征点,可以计算特征点对应的光流值。如果特征点的梯度值小于或等于第二阈值,说明在目标顶点的计算特征点的运动信息是无效的,则将所述特征点标记为无效特征点。
S400:根据光流值获取所述特征点的运动信息。
光流是空间运动物体在观察目标图像中的像素点运动的瞬时速度,光流值是被摄场景中物体目标的移动或者图像采集设备的拍摄角度移动所产生的变化值。
在计算得到光流值之后,可以根据目标图像的图像序列中像素点在时间域上的变化以及相邻帧图像之间的相关性来获取目标图像与上一帧图像或者下一帧图像之间的对应关系,从而根据这种对应关系计算出特征点的运动信息。
需要说明的是,在计算光流值的过程中,物体目标在目标图像中的像素强度不会存在连续帧之间的改变,并且,在目标图像中,特征点的相邻像素点具有相似的运动。
S500:将至少一项所述运动信息传播至所述图像网格,以及,根据所述图像网格将所述目标图像与预设图像对齐。
在目标顶点上及目标顶点的周围共存在多个特征点,因此,需要基于目标图像划分预设配置范围,以计算处于目标顶点配置范围内的特征点的运动信息,从而将这些运动信息传播至目标顶点上。
在划分预设配置范围的过程中,所述预设配置范围的中心即为目标顶点,预设配置范围的半径可以根据图像网格中顶点的间隔距离确定,预设配置范围的半径应小于顶点间隔距离的二分之一,以避免两个顶点之间存在重合配置范围,导致处于重合配置范围的特征点会同时向两个顶点传播运动信息,影响目标图像的对齐精度。
在完成预设配置范围划分之后,可以遍历预设配置范围内的特征点数量,根据预设范围内的特征点的光流值计算运动信息。运动信息的数量与所述特征点数量相同,例如,预设配置范围仅存在一个特征点时,可以根据将根据该特征点光流值计算得到的运动信息传播至对应的目标顶点上。预设配置范围仅存在多个特征点时,可以计算得到多项运动信息,此时,可以对多项运动信息执行特定的加权求和,并将加权求和结果传播至目标顶点上。
需要说明的是,图像网格中包括多个顶点,本实施例可以同时计算处于每个顶点配置范围内的特征点的运动信息,并根据顶点与特征点的对应关系,将对应的运动信息传播至对应的顶点上,从而完成对图像网格的运动传播,从而根据图像网格将目标图像与预设图像对齐,其中,预设图像可以是位于目标图像的上一帧图像或者位于目标图像的下一帧图像。
相比于点对点对齐需要计算目标图像中每个像素点的运动信息,本申请实施例仅需计算部分稀疏区域的特征点的运动信息,并将这些运动信息传播到目标图像的图像网格中,减少大量的计算量,提高图像的对齐效率。
沿用上述实施例,如图4所示,还可以根据运动信息和运动信息对应的梯度值生成运动数组,并将运动数组存入,目标顶点的候选数组中。当生成的运动数组的数量与特征点的数量相同时,可以根据预设条件在候选数组中确定目标数组。在确定目标数组后,可以按照目标数组计算图像网格的顶点的梯度值,从而获取将目标数组的运动信息传播至目标顶点后的图像网格。需要说明的是,本实施例可以同时获取图像网格中每个顶点的目标数组,从而计算得到在图像网格中每个顶点最终输出的梯度值,完成对运动信息的传播。
在一些实施例中,如图5所示可以根据候选数组的中位数来确定目标数组,为此,可以遍历候选数组中的梯度值,并根据梯度值从大至小的损失对候选数组执行排序。完成排序后,获取排序后的候选数组的中位数值数组,中位数值数组可以作为候选数组中反应平均运动信息的样本数组,因此,可以将中位数值数组标记为目标数组,从而将目标数组的运动信息传播至目标顶点。
在一些实施例中,如图6所示,还可以通过加权求和的方式确定目标数组,在本实施例中,可以获取候选数组的平均重要度、平均最大值以及平均梯度值,然后根据预设比例对平均重要度、平均最大值以及平均梯度值执行加权求和,最后根据加权求和结果生成目标数组,从而根据每个候选数组在运动信息上的贡献度确定目标数组。
为了便于执行上述记载的图像对齐方法,本申请的部分实施例还提供一种图像对齐设备,包括图像采集装置和执行器,图像采集装置用于采集目标图像,执行器与图像采集装置连接,所述执行器被配置为:
S100:获取目标图像,所述目标图像包括图像网格,所述图像网格包括若干间隔距离相同的顶点;
S200:计算所述目标图像中的像素点的梯度值;
S300:根据特征点和目标顶点的位置关系计算所述特征点的光流值,所述特征点为所述梯度值大于所述梯度值阈值的像素点,所述目标顶点为所述图像网格中,与所述特征点距离最近的顶点;
S400:根据光流值获取所述特征点的运动信息;
S500:将至少一项所述运动信息传播至所述图像网格,以及,根据所述图像网格将所述目标图像与预设图像对齐。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中包括计算机指令,所述计算机指令用于指示计算机执行上述记载的图像对齐方法。
由以上方案可知,本申请提供一种图像对齐方法、设备及存储介质,通过获取带有图像网格的目标图像,图像网格包括若干间隔距离相同的顶点。通过计算目标图像的像素点的梯度值,在像素点中筛选特征点,并根据特征点和目标顶点的位置关系计算特征点的光流值,目标顶点是图像网格中与特征点距离最近的顶点。然后根据光流值获取特征点的运动信息,将至少一项运动信息传播至图像网格,以及根据图像网格将目标图像与预设图像对齐。本申请通过筛选密度相对稀疏的特征点,并根据特征点的光流值将运动信息传播到图像网格的顶点上,仅对图像网格的顶点计算运动,减少图像对齐的计算量。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释本公开内容,从而使得本领域技术人员更好的使用所述实施方式。