一种运动目标提取方法及装置与流程

文档序号:12598054阅读:178来源:国知局
一种运动目标提取方法及装置与流程

本发明涉及图像处理领域,特别涉及一种运动目标提取方法及装置。



背景技术:

在对图像进行处理的过程中,经常需要提取出图像中的运动目标。现有的运动目标提取方案通常包括:

1、利用RPCA(robust principal component analysis,基于鲁棒主成分分析)算法,确定图像对应的矩阵模型,矩阵模型中包括前景矩阵和背景矩阵,该前景矩阵即为运动目标对应的矩阵;

2、针对所确定的矩阵模型,利用ADM(Alternating Direction Methods,交替方向法)进行迭代求解;

3、迭代过程结束后,便确定出矩阵模型中的前景矩阵,进而提取出图像中的运动目标。

上述方案中,利用ADM算法进行迭代,收敛速度慢,迭代次数多,整体迭代过程速度慢,耗时长。



技术实现要素:

本发明实施例的目的在于提供一种运动目标提取方法及装置,提高迭代速度,缩短迭代耗时。

为达到上述目的,本发明实施例公开了一种运动目标提取方法,包括:

利用分析算法,确定图像对应的矩阵模型;

针对所述矩阵模型进行迭代处理,每次迭代过程包括:

确定所述矩阵模型当前对应的前景矩阵、约束乘数、背景矩阵;

根据所述前景矩阵、约束乘数、背景矩阵,对所述前景矩阵进行更新;

根据更新后的前景矩阵、所述约束乘数、所述背景矩阵,对所述约束乘数进行一次更新;

根据更新后的前景矩阵、一次更新后的约束乘数、所述背景矩阵,对所述背景矩阵进行更新;

根据更新后的前景矩阵及背景矩阵、一次更新后的约束乘数,对约束乘数进行二次更新;

判断二次更新后的约束乘数是否满足预设误差条件,如果否,进行下一次迭代过程,如果是,迭代过程结束;

迭代过程结束后,根据迭代结果提取所述图像中的运动目标,所述运动目标与所述迭代结果中的前景矩阵相对应。

可选的,所述根据所述前景矩阵、约束乘数、背景矩阵,对所述前景矩阵进行更新的步骤,可以包括:

利用如下算式,对所述前景矩阵进行更新:

其中,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,RM*N表示定义域,L表示拉格朗日函数;

所述根据更新后的前景矩阵、一次更新后的约束乘数、所述背景矩阵,对所述背景矩阵进行更新的步骤,可以包括:

利用如下算式,对所述背景矩阵进行更新:

其中,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,ZK+1/2表示一次更新后的约束乘数,RM*N表示定义域,L表示拉格朗日函数。

可选的,所述根据更新后的前景矩阵、所述约束乘数、所述背景矩阵,对所述约束乘数进行一次更新的步骤,可以包括:

利用如下算式,对所述约束乘数进行一次更新:

其中,x表示前景矩阵,y表示背景矩阵,C表示图像对应的原始矩阵,Z表示约束乘数,K表示迭代次数,表示一次更新后的Z,γ表示迭代步长参数,β表示均衡参数;

所述根据更新后的前景矩阵及背景矩阵、一次更新后的约束乘数,对约束乘数进行二次更新的步骤,可以包括:

利用如下算式,对所述约束乘数进行二次更新:

其中,x表示前景矩阵,y表示背景矩阵,C表示图像对应的原始矩阵,Z表示约束乘数,K表示迭代次数,表示一次更新后的Z,ZK+1表示二次更新后的Z,γ表示迭代步长参数,β表示均衡参数。

可选的,所述判断二次更新后的约束乘数是否满足预设误差条件的步骤,可以包括:

对所述二次更新后的约束乘数进行误差运算,得到误差参数;

判断所述误差参数是否位于预设误差范围内,如果是,表示所述二次更新后的约束乘数满足预设误差条件。

可选的,所述对所述二次更新后的约束乘数进行误差运算,得到误差参数的步骤,可以包括:

利用如下算式,对所述二次更新后的约束乘数进行误差运算:

ey(yK+1,β)=yK+1-Py[yK+1-β(g(yK+1)-ZK+1)],

其中,ey(yK+1,β)表示误差参数,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,β表示均衡参数,Py[yK+1-β(g(yK+1)-ZK+1)]表示从定义域到y的投影。

为达到上述目的,本发明实施例还公开了一种运动目标提取装置,包括:

确定模块,用于利用分析算法,确定图像对应的矩阵模型;

迭代模块,包括:

确定子模块,用于确定所述矩阵模型当前对应的前景矩阵、约束乘数、背景矩阵;

第一更新子模块,用于根据所述前景矩阵、约束乘数、背景矩阵,对所述前景矩阵进行更新;

第二更新子模块,用于根据更新后的前景矩阵、所述约束乘数、所述背景矩阵,对所述约束乘数进行一次更新;

第三更新子模块,用于根据更新后的前景矩阵、一次更新后的约束乘数、所述背景矩阵,对所述背景矩阵进行更新;

第四更新子模块,用于根据更新后的前景矩阵及背景矩阵、一次更新后的约束乘数,对约束乘数进行二次更新;

判断子模块,用于判断二次更新后的约束乘数是否满足预设误差条件,如果否,触发所述确定子模块,如果是,触发提取模块;

提取模块,用于根据迭代结果提取所述图像中的运动目标,所述运动目标与所述迭代结果中的前景矩阵相对应。

可选的,所述第一更新子模块,具体可以用于:

利用如下算式,对所述前景矩阵进行更新:

其中,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,RM*N表示定义域,L表示拉格朗日函数;

所述第三更新子模块,具体可以用于:

利用如下算式,对所述背景矩阵进行更新:

其中,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,ZK+1/2表示一次更新后的约束乘数,RM*N表示定义域,L表示拉格朗日函数。

可选的,所述第二更新子模块,具体可以用于:

利用如下算式,对所述约束乘数进行一次更新:

其中,x表示前景矩阵,y表示背景矩阵,C表示图像对应的原始矩阵,Z表示约束乘数,K表示迭代次数,表示一次更新后的Z,γ表示迭代步长参数,β表示均衡参数;

所述第二更新子模块,具体可以用于:

利用如下算式,对所述约束乘数进行二次更新:

其中,x表示前景矩阵,y表示背景矩阵,C表示图像对应的原始矩阵,Z表示约束乘数,K表示迭代次数,表示一次更新后的Z,ZK+1表示二次更新后的Z,γ表示迭代步长参数,β表示均衡参数。

可选的,所述判断子模块,可以包括:

误差运算单元,用于对所述二次更新后的约束乘数进行误差运算,得到误差参数;

判断单元,用于判断所述误差参数是否位于预设误差范围内,如果是,表示所述二次更新后的约束乘数满足预设误差条件。

可选的,所述误差运算单元,具体可以用于:

利用如下算式,对所述二次更新后的约束乘数进行误差运算:

ey(yK+1,β)=yK+1-Py[yK+1-β(g(yK+1)-ZK+1)],

其中,ey(yK+1,β)表示误差参数,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,β表示均衡参数,Py[yK+1-β(g(yK+1)-ZK+1)]表示从定义域到y的投影。

由此可见,针对矩阵模型进行迭代处理的过程中,每次迭代对约束乘数进行两次更新,提高了约束乘数的更新速度;约束乘数的更新速度越快,迭代算法的收敛速度越快;因此,应用本方案,迭代过程速度快,耗时短。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种运动目标提取方法的流程示意图;

图2为本发明实施例提供的一种运动目标提取装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决上述技术问题,本发明实施例提供了一种运动目标提取方法及装置。该方法及装置可以应用于各种电子设备,具体不做限定。

图1为本发明实施例提供的一种运动目标提取方法的流程示意图,包括:

S101:利用分析算法,确定图像对应的矩阵模型。

作为一种实施方式,可以利用RPCA算法确定图像对应的矩阵模型,具体的,可以如算式1:

其中,表示范数,||.||*表示核范数,γ表示迭代步长参数,γ可以为任意一个大于0的规整化参数,C表示图像对应的原始矩阵,x表示前景矩阵,y表示背景矩阵。另外,前景矩阵也可以称为稀疏矩阵,背景矩阵也可以称为低秩矩阵。

或者,也可以利用其他分析算法,确定图像对应的矩阵模型,具体不做限定。

S102:针对所述矩阵模型进行迭代处理,每次迭代过程包括:S1021、S1022、S1023、S1024、S1025和S1026。

S1021:确定所述矩阵模型当前对应的前景矩阵、约束乘数、背景矩阵。

可以理解的是,如果是第一次进行迭代,“当前对应的前景矩阵、约束乘数、背景矩阵”也就是前景矩阵、约束乘数、背景矩阵的初始值,初始值可以根据实际情况进行设定;如果不是第一次进行迭代,“当前对应的前景矩阵、约束乘数、背景矩阵”也就是上一次迭代过程所确定出的前景矩阵、约束乘数、背景矩阵。

S1022:根据所述前景矩阵、约束乘数、背景矩阵,对所述前景矩阵进行更新。

作为一种实施方式,可以利用算式2,对前景矩阵x进行更新:

其中,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,RM*N表示定义域,L表示拉格朗日函数。

S1023:根据更新后的前景矩阵、所述约束乘数、所述背景矩阵,对所述约束乘数进行一次更新。

作为一种实施方式,可以利用算式3,对约束乘数Z进行一次更新:

其中,x表示前景矩阵,y表示背景矩阵,C表示图像对应的原始矩阵,Z表示约束乘数,K表示迭代次数,表示一次更新后的Z,γ表示迭代步长参数,β表示均衡参数。

需要说明的是,xK+1表示第K+1次迭代后的前景矩阵,也就是指经过S1022更新后的前景矩阵。另外,本方案中一次迭代对Z进行两次更新,因此,一次更新后的Z表示为二次更新后的Z表示为ZK+1

算式3中的γ与算式1中的γ表示的物理意义相同,都可以表示迭代步长参数。在对约束乘数Z的更新过程中,引入迭代步长参数γ,可以调整每次迭代的步长,避免迭代步长过小导致迭代次数过多、以及迭代步长过大导致错过最优值的情况,提高迭代结果的准确度。

S1024:根据更新后的前景矩阵、一次更新后的约束乘数、所述背景矩阵,对所述背景矩阵进行更新。

作为一种实施方式,可以利用算式4,对所述背景矩阵y进行更新:

其中,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,ZK+1/2表示一次更新后的约束乘数,RM*N表示定义域,L表示拉格朗日函数。需要说明的是,xK+1表示第K+1次迭代后的前景矩阵,也就是指经过S1022更新后的前景矩阵,ZK+1/2表示一次更新后的约束乘数,也就是经过S1023更新后的Z。

S1025:根据更新后的前景矩阵及背景矩阵、一次更新后的约束乘数,对约束乘数进行二次更新。

作为一种实施方式,可以利用算式5,对约束乘数Z进行二次更新:

其中,x表示前景矩阵,y表示背景矩阵,C表示图像对应的原始矩阵,Z表示约束乘数,K表示迭代次数,表示一次更新后的Z,ZK+1表示二次更新后的Z,γ表示迭代步长参数,β表示均衡参数。

需要说明的是,xK+1表示第K+1次迭代后的前景矩阵,也就是指经过S1022更新后的前景矩阵,yK+1表示第K+1次迭代后的背景矩阵,也就是指经过S1024更新后的背景矩阵。另外,本方案中一次迭代对Z进行两次更新,因此,一次更新后的Z表示为二次更新后的Z表示为ZK+1

算式3中的γ与算式1中的γ表示的物理意义相同,都可以表示迭代步长参数。在对约束乘数Z的更新过程中,引入迭代步长参数γ,可以调整每次迭代的步长,避免迭代步长过小导致迭代次数过多、以及迭代步长过大导致错过最优值的情况,提高迭代结果的准确度。

S1026:判断二次更新后的约束乘数是否满足预设误差条件:如果否,进行下一次迭代过程,也就是重新执行S1021—S1026;如果是,表示迭代过程结束,也就是S102结束,执行S103。

作为一种实施方式,判断二次更新后的约束乘数是否满足预设误差条件,可以包括:

对所述二次更新后的约束乘数进行误差运算,得到误差参数;

判断所述误差参数是否位于预设误差范围内,如果是,表示所述二次更新后的约束乘数满足预设误差条件。

具体的,可以利用算式6,对二次更新后的约束乘数进行误差运算:

ey(yK+1,β)=yK+1-Py[yK+1-β(g(yK+1)-ZK+1)],

其中,ey(yK+1,β)表示误差参数,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,β表示均衡参数,Py[yK+1-β(g(yK+1)-ZK+1)]表示从定义域到y的投影。定义域可以表示为Rn,R表示实数,n表示n维空间。

需要说明的是,yK+1表示第K+1次迭代后的背景矩阵,也就是指经过S1024更新后的背景矩阵,ZK+1表示第K+1次迭代后的约束乘数,也就是指经过S1023和S1025两次更新后的约束乘数。

算式6可以理解为停机准则,每次迭代后根据算式6计算误差参数,当误差参数在预设误差范围内时,迭代结束,这样可以避免不必要的迭代过程,进一步减少迭代次数,缩短迭代耗时。

S103:根据迭代结果提取所述图像中的运动目标,所述运动目标与所述迭代结果中的前景矩阵相对应。

本领域技术人员可以理解,迭代过程也就是针对S101确定出的矩阵模型进行求解的过程,迭代结果也就是该矩阵模型的解,也就是计算出了前景矩阵x和背景矩阵y。前景矩阵x为运动目标对应的矩阵,提取出前景矩阵x,也就提取出了运动目标。

现有技术中,利用ADM进行迭代求解,每次迭代,对约束乘数Z只进行一次更新。而本实施例提供的迭代方案可以称为SADM(SymmetricAlternating DirectionMethods,对称交替方向法),利用SADM进行迭代求解,每次迭代,对约束Z进行两次更新。本领域技术人员可以理解,约束乘数的更新速度越快,迭代算法的收敛速度越快。

另外,每次迭代过程中,对算式2、算式4进行求解时,也就是对x和y进行更新时,通常都要结合SVD(Singularvaluedecomposition,奇异值分解)算法:

比如,求解算式2,x的显式解为:

其中,UK+1∈Rm×r,VK+1∈Rn×r,结合下式:

便可对x进行更新。

同理,求解算式4,y的显式解为:

其中,UK+1∈Rm×r,VK+1∈Rn×r,结合下式:

便可对y进行更新。

由此可见,每次迭代过程至少需要两次利用SVD算法进行运算,SVD算法计算量较大,应用本方案的SADM进行迭代求解,每次迭代,对约束乘数Z进行两次更新,减少了迭代次数,也就是减少了利用SVD算法进行运算的次数,进一步缩短了迭代过程的耗时。

应用本发明图1所示实施例,针对矩阵模型进行迭代处理的过程中,每次迭代对约束乘数进行两次更新,提高了约束乘数的更新速度;约束乘数的更新速度越快,迭代算法的收敛速度越快;因此,应用本方案,迭代过程速度快,耗时短;另外,本方案中,由于迭代一次、约束乘数更新两次,迭代的次数减少,因此,运用SVD算法的次数减少,进一步缩短了迭代过程的耗时。

与上述方法实施例相对应,本发明实施例还提供了一种运动目标提取装置。

图2为本发明实施例提供的一种运动目标提取装置的结构示意图,包括:确定模块201、迭代模块202和提取模块203,其中,

确定模块201,用于利用分析算法,确定图像对应的矩阵模型;

迭代模块202,包括:确定子模块2021、第一更新子模块2022、第二更新子模块2023、第三更新子模块2024、第四更新子模块2025和判断子模块2026;其中,

确定子模块2021,用于确定所述矩阵模型当前对应的前景矩阵、约束乘数、背景矩阵;

第一更新子模块2022,用于根据所述前景矩阵、约束乘数、背景矩阵,对所述前景矩阵进行更新;

第二更新子模块2023,用于根据更新后的前景矩阵、所述约束乘数、所述背景矩阵,对所述约束乘数进行一次更新;

第三更新子模块2024,用于根据更新后的前景矩阵、一次更新后的约束乘数、所述背景矩阵,对所述背景矩阵进行更新;

第四更新子模块2025,用于根据更新后的前景矩阵及背景矩阵、一次更新后的约束乘数,对约束乘数进行二次更新;

判断子模块2026,用于判断二次更新后的约束乘数是否满足预设误差条件,如果否,触发确定子模块2021,如果是,触发提取模块203;

提取模块203,用于根据迭代结果提取所述图像中的运动目标,所述运动目标与所述迭代结果中的前景矩阵相对应。

在本实施例中,第一更新子模块2022,具体可以用于:

利用如下算式,对所述前景矩阵进行更新:

其中,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,RM*N表示定义域,L表示拉格朗日函数;

第三更新子模块2024,具体可以用于:

利用如下算式,对所述背景矩阵进行更新:

其中,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,ZK+1/2表示一次更新后的约束乘数,RM*N表示定义域,L表示拉格朗日函数。

在本实施例中,第二更新子模块2023,具体用于:

利用如下算式,对所述约束乘数进行一次更新:

其中,x表示前景矩阵,y表示背景矩阵,C表示图像对应的原始矩阵,Z表示约束乘数,K表示迭代次数,表示一次更新后的Z,γ表示迭代步长参数,β表示均衡参数;

第二更新子模块2025,具体用于:

利用如下算式,对所述约束乘数进行二次更新:

其中,x表示前景矩阵,y表示背景矩阵,C表示图像对应的原始矩阵,Z表示约束乘数,K表示迭代次数,表示一次更新后的Z,ZK+1表示二次更新后的Z,γ表示迭代步长参数,β表示均衡参数。

在本实施例中,判断子模块2026,可以包括:误差运算单元和判断单元(图中未示出),其中,

误差运算单元,用于对所述二次更新后的约束乘数进行误差运算,得到误差参数;

判断单元,用于判断所述误差参数是否位于预设误差范围内,如果是,表示所述二次更新后的约束乘数满足预设误差条件。

在本实施例中,误差运算单元,具体可以用于:

利用如下算式,对所述二次更新后的约束乘数进行误差运算:

ey(yK+1,β)=yK+1-Py[yK+1-β(g(yK+1)-ZK+1)],

其中,ey(yK+1,β)表示误差参数,x表示前景矩阵,y表示背景矩阵,Z表示约束乘数,K表示迭代次数,β表示均衡参数,Py[yK+1-β(g(yK+1)-ZK+1)]表示从定义域到y的投影。

应用本发明图2所示实施例,针对矩阵模型进行迭代处理的过程中,每次迭代对约束乘数进行两次更新,提高了约束乘数的更新速度;约束乘数的更新速度越快,迭代算法的收敛速度越快;因此,应用本方案,迭代过程速度快,耗时短;另外,本方案中,由于迭代一次、约束乘数更新两次,迭代的次数减少,因此,运用SVD算法的次数减少,进一步缩短了迭代过程的耗时。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1