CN104867185A - 基于蛙跳算法的点射影深度估计方法 - Google Patents
基于蛙跳算法的点射影深度估计方法 Download PDFInfo
- Publication number
- CN104867185A CN104867185A CN201510332487.8A CN201510332487A CN104867185A CN 104867185 A CN104867185 A CN 104867185A CN 201510332487 A CN201510332487 A CN 201510332487A CN 104867185 A CN104867185 A CN 104867185A
- Authority
- CN
- China
- Prior art keywords
- frog
- subgroup
- fitness
- evolution
- poorest
- 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.)
- Pending
Links
Landscapes
- Image Processing (AREA)
Abstract
本发明公开一种基于蛙跳算法的点射影深度估计方法,其首先将n个三维空间物体点通过q个射影矩阵投射到透视图像序列上,生成测量矩阵;然后对所得透视图像序列及测量矩阵进行归一化处理;最后生成G个青蛙,每个青蛙代表一个解,并利用蛙跳算法选出整个种群中适应度最好青蛙,并将最好青蛙所代表的解作为待求的射影深度输出。本发明具有收敛速度快,容易获得最优解的特点,其所估计出的射影深度能够使得合适的调整矩阵可以进行因数分解。
Description
技术领域
本发明涉及射影重构技术领域,具体涉及一种基于蛙跳算法的点射影深度估计方法。
背景技术
基于图像序列的三维重建通常是用点的重建,通过图像序列中对应的特征点匹配,在已知摄像机参数矩阵的条件下,就可以计算出点的三维坐标,三维物体的形状与位置就可以唯一确定。在分层重构的步骤中,射影重构是最重要的一步,它对结果的精度起着决定性作用。而射影重构所要解决的关键问题是对空间点到摄像机的射影深度进行估计,并使得合适的调整矩阵可以进行因数分解。
发明内容
本发明所要解决的技术问题是提供一种基于蛙跳算法的点射影深度估计方法,其能够对空间点到摄像机的射影深度进行估计,并使得合适的调整矩阵可以进行因数分解。
为解决上述问题,本发明是通过以下技术方案实现的:
基于蛙跳算法的点射影深度估计方法,包括如下步骤:
步骤1,将n个三维空间物体点通过q个射影矩阵投射到透视图像序列上,生成测量矩阵;
步骤2,对所得透视图像序列及测量矩阵进行归一化处理;
步骤3,选择子群数量a和每个子群中青蛙的个数b,则整个种群的数量G=a×b;定义一个解U(x)={λ11,λ12,…,λ1j,λ21,λ22,…,λ2j,…,λij…,λqn},i=1,2,…,q,j=1,2,…,n;
步骤4,生成G个青蛙,每个青蛙代表一个解U(x);
步骤5,将每只青蛙所对应的测量矩阵进行奇异值分解,并由适应度函数公式计算每只青蛙的适应度J(x);
步骤6,将所有青蛙按其青蛙的适应度J(x)排序,生成一个集合X={(U(x),J(x)},并记录整个种群中适应度最好青蛙Pg;
步骤7,将集合X分成a个子群YK,每个子群YK包含b个青蛙,并按以下公式将青蛙分组,放入不同的子群,
Yk=[(U(l)k,J(l)k)|U(l)k=U(k+a(l-1)),J(l)k=J(k+a(l-1))]
其中k=1,2,…,a,l=1,2,...,b;
步骤7,通过意识进化,使得每组子群中的每只青蛙离目标位置更逼近;
步骤8,在每个子群中执行了一定意识进化以后,将各个子群YK进行合并,合并后再按青蛙的适应度J(x)进行重新排序,以更新集合X={(U(x),J(x)}及整个种群中适应度最好青蛙Pg;
步骤9,检查终止条件,如果迭代终止条件满足,则将整个种群中适应度最好青蛙Pg所代表的解U(x)作为待求的射影深度输出;否则,返回步骤6。
上述步骤7中,将每组子群中执行意识进化的过程如下:
步骤7-1,初始化子群计数im=0,进化次数in=0;用Pb和Pw分别表示每个子群YK中适应度最好和最差青蛙;
步骤7-2,子群计数im不变,并逐渐增大进化次数in,直至进化次数in达到设定的最大进化数N,每次进化次数in的变化对应一轮进化迭代;进化次数in不变,并逐渐增大子群计数im,直至子群计数im达到设定的子群数量a,每次子群计数im的变化对应一轮进化迭代;
步骤7-3,在每一轮进化迭代过程中,均采用如下方法调整每个子群中适应度最差青蛙Pw位置,即先计算最差青蛙Pw移动到最好青蛙Pb的距离D,再将最差青蛙Pw的当前位置加上距离D作为最差青蛙Pw的更新后的位置;
步骤7-4,比较最差青蛙Pw更新前和更新后的适应度,如果更新后的适应度好于更新前的适应度,则用处于新位置的最差青蛙Pw取代原来的青蛙,否则用整个种群中适应度最好青蛙Pg代替每个子群YK中适应度最好青蛙Pb,并重复步骤7-3的过程;
步骤7-5,如果始终不能生成更好的青蛙,那么就随机生成一个新的青蛙去取代原来最差青蛙Pw。
上述步骤5和步骤8中,均采用适应度J(x)升序的方式对所有青蛙的进行排序。
上述步骤9中,将整个种群中适应度最好青蛙Pg不再改变或达到最大的进化次数N作为迭代终止条件。
上述步骤2中,对所得透视图像序列及测量矩阵进行归一化处理是让每一幅透视图像中的透视图像的坐标乘上1个公共因子,使它们的平均范数为
与现有技术相比,本发明基于蛙跳算法来实现点射影重构中的射影深度的估计,由于蛙跳算法是结合了以遗传为基础的memetic算法和以社会行为为基础的粒子群优化PSO算法的优点,因此本射影深度估计方法具有收敛速度快,容易获得最优解的特点,其所估计出的射影深度能够使得合适的调整矩阵可以进行因数分解。
具体实施方式
假设n个三维空间物体点通过q个3×4的射影矩阵Mi(i=1,2,…,q)投射到F幅透视图像上。其中Pj(j=1,2,…,n)为第j个三维空间物体点,它在第i(i=1,2,…,q)幅图像上的像点为mij。那么对于q幅图像和n个空间物体点:
式中,测量矩阵由三维空间物体点投射到透视图像的坐标mij乘以该三维空间物体点的射影深度λij。λij表示空间点Pj到摄像机的射影深度,对它进行有效估计,使得合适的调整矩阵可以进行因数分解。可见,射影重构的关键问题是求合适的λij,使得R矩阵的秩为4。
如果能够估计出正确的射影深度λij,则将R作奇异值分解得:
R=Vdiag(σ1,…σN)UT (2)
式中,σ1≥σ2≥…≥σN≥0为R的奇异值,N=min(3F,n),V为3F×N的次正交矩阵,U为n×N的次正交矩阵。如果图像坐标无噪声(即F幅图像精确匹配),则R的秩为4,即σ5=σ6=…=σn=0,从而
式(3)为R的一个满秩分解,其中V1和U1分别为V和U的前4列。结合式(1)可得:
但此分解不是唯一,因为式(1)在相差任意非零常数因子的情况下可以写为:
R=MHH-1P (5)
式中,H为任意非奇异4×4矩阵,因此M′=MH,P′=H-1P均为R分解。这就表明可以在一个未知射影变换下恢复摄像机运动和空间物体形状,并可以任意选择一个3D射影坐标系来描述这种运动和形状,这种恢复称为射影重构。
由于构成测量矩阵的图像数据之间的不平衡,优化过程有时是非常不稳定的,为了避免这种不稳定,对图像坐标进行归一化处理是非常有效的。本发明的归一化方法是:每一幅图像中的Δmij乘上1个公共因子si(i=1,…,F),使它们的平均范数为
由上可知,本发明的主要工作就是选用合适的方法求得正确的射影深度。本发明采用Ueshiba and Tomita,利用SVD分解,极小化从第5个以后的奇异值(点重建的矩阵秩为4)。
在无噪声且射影深度为正确值的理想情况下,测量矩阵的秩是4,适应度函数:
J=0是秩为4的充要条件,于是求使J取最小值的{λij}将给出所需要的射影深度。
蛙跳算法的原理:在SFLA中,种群由很多青蛙组成,每只青蛙代表一个解。种群被分成了多个子群(memeplex),每个子群包括一定数量的青蛙。不同的子群可以看作是具有不同文化的青蛙群,分别执行局部搜索。在每个子群中,每只青蛙都有自己的想法,并且还受其他青蛙想法的影响,通过意识进化来发展。这样,经过一定的意识进化以及跳跃过程,这些想法思路就在各个子群中传播开来。然后,继续局部搜索和跳跃,直到收敛标准满足为止。蛙跳算法用于函数优化、资源调配等问题已有文献描述,但用于估计射影深度还未有相关研究。
据此,本发明所设计的一种基于蛙跳算法的点射影深度估计方法,其具体包括如下步骤:
步骤1,n个三维空间物体点通过q个3×4的射影矩阵Mi(i=1,2,…,q)投射到F幅透视图像上。其中Pj(j=1,2,…,n)为第j个三维空间物体点,它在第i(i=1,2,…,q)幅图像上的像点为mij。
步骤2,对图像进行归一化处理。
步骤3,初始化,选择a,b,其中a表示memeplex的数量,即子群数量,b表示每个子群中青蛙的个数,那么整个种群的数量G=a×b。由于射影模型可以用仿射模型迭代逼近,而仿射模型的射影深度为1,所以λij可以在(0,2]区间内随机选取,可以定义一个解为
U(x)={λ11,λ12,…,λ1j,λ21,λ22,…,λ2j,…,λij…,λqn}
其中i=1,2,…,q,j=1,2,…,n。
步骤4,生成G个青蛙,每个青蛙代表一个解,其中第x个的青蛙的解为U(x),即U(1),U(2),…,U(G),U(x)的性能即适应度用J(x)来表示,即J(1),J(2),…,J(G)。
步骤5,对青蛙划分等级,将每只青蛙对应的测量矩阵进行奇异值(svd)分解,并由适应度函数公式来计算每只青蛙的适应度,按适应度升序排列,生成集合YK={(U(x),J(x)},这样,该集合中处于第一位的青蛙的性能最好,记下种群中最好青蛙位置Pg。
步骤6,将青蛙分组,放入不同的子群。将集合X分成a个子群YK:Y1,Y2,…,Ya。每个子群包含b个青蛙,即
Yk=[(U(l)k,J(l)k)|U(l)k=U(k+a(l-1)),J(l)k=J(k+a(l-1))]
其中k=1,2,…,a,l=1,2,...,b;
比如a=4,那么第一只青蛙进入子群1,第2只进入子群2,第3只进入子群3,第4只进入子群4,第5只进入子群1,等等。
步骤7,将每组子群中执行意识进化。在每组子群中,每只青蛙受到其他青蛙想法的影响,通过意识进化,使得每只青蛙离目标位置更逼近。以下是每个子群中意识进化的详细步骤。
步骤7-1,设im=0,im表示对子群的计数,在0-a之间变化,与子群的数量a比较。设in=0,in表示进化次数,与每组子群中允许的最大进化次数N比较(N可以设定)。在每组子群中,用Pb和Pw分别表示性能最好和最差青蛙,用Pg表示整个种群中最好青蛙。在每一轮的进化中,改善最差青蛙Pw的位置,但并不是对所有青蛙都优化。
步骤7-2,im=im+1;
步骤7-3,in=in+1;
步骤7-4,调整最差青蛙位置,方法如下:
青蛙移动的距离D=rand()*(Pb-Pw)
新的位置Pw=Pw(当前位置)+D,(Dmax>=Di>=-Dmax)
其中,rand()是0到1之间的随机数,Dmax是允许青蛙移动的最大距离。
步骤7-5,如果上述过程能够使青蛙有一个更好的位置,即能够产生一个更好的解,那么就用新位置的青蛙取代原来的青蛙,否则,用Pg代替Pb,重复上述过程。
步骤7-6,如果上述方法仍不能生成更好的青蛙,那么就随机生成一个新解取代原来最差青蛙Pw;
步骤7-7,如果in<N,那么执行g-3;
步骤7-8,如果im<a,那么执行g-2。
步骤8,青蛙在子群之间跳跃移动,在每个子群中执行了一定意识进化以后,将各个子群Y1,Y2,…,Ya合并,并将合并后的进行按青蛙的适应度J(x)进行重新排序,以更新集合X={(U(x),J(x)}及整个种群中适应度最好青蛙Pg;
步骤9,检查终止条件。如果迭代终止条件满足,则停止。否则,重新执行步骤6。一般情况下,当执行一定次数的循环进化,代表最好青蛙不再改变或定义最大的进化次数N作为停止条件。
Claims (5)
1.基于蛙跳算法的点射影深度估计方法,其特征是,包括如下步骤:
步骤1,将n个三维空间物体点通过q个射影矩阵投射到透视图像序列上,生成测量矩阵;
步骤2,对所得透视图像序列及测量矩阵进行归一化处理;
步骤3,选择子群数量a和每个子群中青蛙的个数b,则整个种群的数量G=a×b;定义一个解U(x)={λ11,λ12,…,λ1j,λ21,λ22,…,λ2j,…,λij…,λqn},i=1,2,…,q,j=1,2,…,n;
步骤4,生成G个青蛙,每个青蛙代表一个解U(x);
步骤5,将每只青蛙所对应的测量矩阵进行奇异值分解,并由适应度函数公式计算每只青蛙的适应度J(x);
步骤6,将所有青蛙按其青蛙的适应度J(x)排序,生成一个集合X={(U(x),J(x)},并记录整个种群中适应度最好青蛙Pg;
步骤7,将集合X分成a个子群YK,每个子群YK包含b个青蛙,并按以下公式将青蛙分组,放入不同的子群,
Yk=[(U(l)k,J(l)k)|U(l)k=U(k+a(l-1)),J(l)k=J(k+a(l-1))]
其中k=1,2,…,a,l=1,2,...,b;
步骤7,通过意识进化,使得每组子群中的每只青蛙离目标位置更逼近;
步骤8,在每个子群中执行了一定意识进化以后,将各个子群YK进行合并,合并后再按青蛙的适应度J(x)进行重新排序,以更新集合X={(U(x),J(x)}及整个种群中适应度最好青蛙Pg;
步骤9,检查终止条件,如果迭代终止条件满足,则将整个种群中适应度最好青蛙Pg所代表的解U(x)作为待求的射影深度输出;否则,返回步骤6。
2.根据权利要求1所述基于蛙跳算法的点射影深度估计方法,其特征是,步骤7中,将每组子群中执行意识进化的过程如下:
步骤7-1,初始化子群计数im=0,进化次数in=0;用Pb和Pw分别表示每个子群YK中适应度最好和最差青蛙;
步骤7-2,子群计数im不变,并逐渐增大进化次数in,直至进化次数in达到设定的最大进化数N,每次进化次数in的变化对应一轮进化迭代;进化次数in不变,并逐渐增大子群计数im,直至子群计数im达到设定的子群数量a,每次子群计数im的变化对应一轮进化迭代;
步骤7-3,在每一轮进化迭代过程中,均采用如下方法调整每个子群中适应度最差青蛙Pw位置,即先计算最差青蛙Pw移动到最好青蛙Pb的距离D,再将最差青蛙Pw的当前位置加上距离D作为最差青蛙Pw的更新后的位置;
步骤7-4,比较最差青蛙Pw更新前和更新后的适应度,如果更新后的适应度好于更新前的适应度,则用处于新位置的最差青蛙Pw取代原来的青蛙,否则用整个种群中适应度最好青蛙Pg代替每个子群YK中适应度最好青蛙Pb,并重复步骤7-3的过程;
步骤7-5,如果始终不能生成更好的青蛙,那么就随机生成一个新的青蛙去取代原来最差青蛙Pw。
3.根据权利要求1所述基于蛙跳算法的点射影深度估计方法,其特征是,步骤5和步骤8中,均采用适应度J(x)升序的方式对所有青蛙的进行排序。
4.根据权利要求1所述基于蛙跳算法的点射影深度估计方法,其特征是,步骤9中,将整个种群中适应度最好青蛙Pg不再改变或达到最大的进化次数N作为迭代终止条件。
5.根据权利要求1所述基于蛙跳算法的点射影深度估计方法,其特征是,步骤2中,对所得透视图像序列及测量矩阵进行归一化处理是让每一幅透视图像中的透视图像的坐标乘上1个公共因子,使它们的平均范数为
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510332487.8A CN104867185A (zh) | 2015-06-16 | 2015-06-16 | 基于蛙跳算法的点射影深度估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510332487.8A CN104867185A (zh) | 2015-06-16 | 2015-06-16 | 基于蛙跳算法的点射影深度估计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104867185A true CN104867185A (zh) | 2015-08-26 |
Family
ID=53912999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510332487.8A Pending CN104867185A (zh) | 2015-06-16 | 2015-06-16 | 基于蛙跳算法的点射影深度估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104867185A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227599A (zh) * | 2016-07-20 | 2016-12-14 | 广东工业大学 | 一种云计算系统中资源调度的方法及系统 |
CN111710349A (zh) * | 2020-06-23 | 2020-09-25 | 长沙理工大学 | 一种语音情感识别方法、系统、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040096097A1 (en) * | 2000-11-16 | 2004-05-20 | David Nister | Scene reconstruction and camera calibration with robust use of cheirality |
US20070237417A1 (en) * | 2004-10-14 | 2007-10-11 | Motilal Agrawal | Method and apparatus for determining camera focal length |
CN101751697A (zh) * | 2010-01-21 | 2010-06-23 | 西北工业大学 | 一种基于统计模型的三维场景重建方法 |
CN101986347A (zh) * | 2010-10-28 | 2011-03-16 | 浙江工业大学 | 一种立体视觉的序列重构方法 |
-
2015
- 2015-06-16 CN CN201510332487.8A patent/CN104867185A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040096097A1 (en) * | 2000-11-16 | 2004-05-20 | David Nister | Scene reconstruction and camera calibration with robust use of cheirality |
US20070237417A1 (en) * | 2004-10-14 | 2007-10-11 | Motilal Agrawal | Method and apparatus for determining camera focal length |
CN101751697A (zh) * | 2010-01-21 | 2010-06-23 | 西北工业大学 | 一种基于统计模型的三维场景重建方法 |
CN101986347A (zh) * | 2010-10-28 | 2011-03-16 | 浙江工业大学 | 一种立体视觉的序列重构方法 |
Non-Patent Citations (3)
Title |
---|
D Q H UYNH 等: "Outlier Detection in Video Sequences under A ffine Projection", 《CVPR》 * |
梁栋 等: "基于遗传算法的射影重构", 《中国图象图形学报》 * |
赵守法: "蛙跳算法的研究与应用", 《中国优秀硕士学位论文全文数据库_信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227599A (zh) * | 2016-07-20 | 2016-12-14 | 广东工业大学 | 一种云计算系统中资源调度的方法及系统 |
CN106227599B (zh) * | 2016-07-20 | 2019-08-06 | 广东工业大学 | 一种云计算系统中资源调度的方法及系统 |
CN111710349A (zh) * | 2020-06-23 | 2020-09-25 | 长沙理工大学 | 一种语音情感识别方法、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jain et al. | The stochastic grid bundling method: Efficient pricing of Bermudan options and their Greeks | |
CN103702098B (zh) | 一种时空域联合约束的三视点立体视频深度提取方法 | |
DE112018000332T5 (de) | Dichtes visuelles slam mit probabilistic-surfel-map | |
CN113011599A (zh) | 基于异构数据的联邦学习系统 | |
CN104933755A (zh) | 一种静态物体重建方法和系统 | |
CN103413143B (zh) | 基于动态稀疏投影的视频目标跟踪方法 | |
CN110741413B (zh) | 一种刚体配置方法及光学动作捕捉方法 | |
CN108846348B (zh) | 一种基于三维骨骼特征的人体行为识别方法 | |
CN104183020B (zh) | 基于带惩罚项的局部二次误差测量的地物网格化简方法 | |
CN104867185A (zh) | 基于蛙跳算法的点射影深度估计方法 | |
CN114202632A (zh) | 网格线性结构恢复方法、装置、电子设备及存储介质 | |
CN102938144B (zh) | 基于总变分模型的人脸重加光方法 | |
CN112819937A (zh) | 一种自适应多对象光场三维重建方法、装置及设备 | |
CN104899924A (zh) | 基于蛙跳算法的直线射影深度估计方法 | |
CN115358621A (zh) | 一种基于特征锚点的人群队形规划方法及系统 | |
Chen et al. | GenNBV: Generalizable Next-Best-View Policy for Active 3D Reconstruction | |
CN118378759B (zh) | 一种基于逆向云场景聚类的风电功率区间预测方法及系统 | |
CN113780390B (zh) | 基于重构映射一致的无监督密集匹配方法及系统 | |
Li et al. | Adaptive 3D facial deformation based on personal characteristics | |
CN110865332B (zh) | 一种统一框架l2,p模型正交加速改进稀疏恢复方法 | |
CN113516588B (zh) | 一种图像生成方法、装置及设备 | |
CN117372628B (zh) | 单视图室内场景三维重建方法、系统及设备 | |
Rui et al. | An efficient and dynamical way for local feature extraction on point cloud | |
Li et al. | Hierarchy and Adaptive Size Particle Swarm Optimization Algorithm for Solving Geometric Constraint Problems. | |
CN106097328B (zh) | 一种基于非刚体轨迹基的图像缺失值恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150826 |
|
WD01 | Invention patent application deemed withdrawn after publication |