CN103310122B - 一种并行随机采样一致方法及其装置 - Google Patents
一种并行随机采样一致方法及其装置 Download PDFInfo
- Publication number
- CN103310122B CN103310122B CN201310289092.5A CN201310289092A CN103310122B CN 103310122 B CN103310122 B CN 103310122B CN 201310289092 A CN201310289092 A CN 201310289092A CN 103310122 B CN103310122 B CN 103310122B
- Authority
- CN
- China
- Prior art keywords
- point
- model
- ballot
- unit
- intra
- 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
Abstract
本发明公开了一种并行随机采样一致(RANSAC)方法,将RANSAC方法中假设阶段和验证阶段的处理均并行进行;具体的,该方法包括:在假设阶段,在大小为N的数据集A中并行采集m组随机样本ai(i=1,2,…,m),根据m组随机样本ai(i=1,2,…,m)并行输出m个估计的模型Mi(i=1,2,…,m);在验证阶段,采用m个模型Mi(i=1,2,…,m)并行对同一个点投票的方法,逐个直接判断数据集A中的每个点是否为局内点。本发明还公开了一种并行RANSAC装置,采用本发明能提高RANSAC算法的性能和数据吞吐量,能满足高速实时处理的需求。
Description
技术领域
本发明涉及模型参数估计方法,尤其涉及一种并行随机采样一致(RANSAC,RANdomSAmpleConsensus)方法及其装置。
背景技术
RANSAC方法是一种具有良好鲁棒性的模型参数估计方法,由于RANSAC方法假设-检验的原理简单,鲁棒性强,目前已广泛应用于含错误数据的模型估计,如目标检测,立体图像匹配等。
传统RANSAC方法采用串行方式实现,具体实现的基本原理是:
(1)在大小为N,局内点数量为Ninliers的数据集A中随机采样一组由n(n为估计模型所需的最少点数)个点组成的样本ai,并用其估计一个模型Mi;
(2)对A中所有数据进行检验,如果符合Mi的点足够多,则认为Mi是合理的并对其进行评估;
其中,(1)-(2)过程被重复执行k次以保证方法的失败概率不大于α,同时,在获得的k个模型Mi(i=0,1,...,k)中找出最佳模型M;
(3)由于M仅来自n个点的估计,因此,应找出符合M的所有局内点作为结果输出,并使用适当方法重新估计模型。若抽样获得的ai全为真正的局内点,称Mi为好模型,反之称为坏模型。设ω=Ninliers/N,则(1-ωn)和(1-ωn)k分别为一次采样的概率、k次采样全部估计出坏模型的概率,后者应与希望的整体失败概率α相等,即:
α=(1-ωn)k
两边取对数得:
传统RANSAC方法是以串行方式执行的,因此,必须重复进行足够多的抽样来保证成功率,运算速度受到限制,因而衍生了部分验证、预检验、减少无效采样等改进算法。这些算法通过减少模型的数量和待验证数据集的大小来减少运算时间,代价是需要更多的先验参数和更高的计算复杂性,但算法的时间复杂度仍然没有降低,无法保证实时性。
提高RANSAC性能的另一种方法是并行化。在统一计算设备架构(CUDA,ComputeUnifiedDeviceArchitecture)等图形处理器(GPU,GraphicProcessingUnit)计算平台、以及ClearSpeed、Tilera等单指令多数据(SIMD,SingleInstructionMultipleData)、多指令多数据(MIMD,MultipleInstructionStreamMultipleDataStream)处理器平台上均实现了并行的RANSAC方法。这些并行化方法只是简单地将串行方案分成多个线程同时执行,寻找最佳模型时依然需要串行操作,虽然达到了加速的效果,但某些地方还存在速度瓶颈,依赖于计算机平台且功耗较大,应用场合受到限制。
发明内容
有鉴于此,本发明的主要目的在于提供一种并行RANSAC方法及其装置,能提高RANSAC方法的性能和数据吞吐量,满足高速实时处理的需求。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种并行RANSAC方法,包括假设阶段的处理和验证阶段的处理;所述方法包括:
在假设阶段,在大小为N的数据集A中并行采集m组随机样本ai(i=1,2,…,m),根据m组随机样本ai(i=1,2,…,m)并行输出m个估计的模型Mi(i=1,2,…,m);
在验证阶段,采用m个模型Mi(i=1,2,…,m)并行对同一个点投票的方法,逐个判断数据集A中的每个点是否为局内点。
较佳地,所述数据集A中局内点的个数为Ninliers;任意一组随机样本ai(i=1,2,…,m)中包含n个点,其中,n为估计模型所需的最少点数。
较佳地,所述采用m个模型Mi(i=1,2,…,m)并行对同一个点投票的方法,逐个判断数据集A中的每个点是否为局内点包括:
获取数据集A中的任意点Aj(j=1,2,…,N),根据m个模型Mi(i=1,2,…,m)并行对所述Aj(j=1,2,…,N)进行检验,确定所述Aj(j=1,2,…,N)是否符合模型Mi(i=1,2,…,m);
统计所述Aj(j=1,2,…,N)符合m个模型Mi(i=1,2,…,m)的个数,以生成投票集sj(j=1,2,…,N);
若所述投票集sj(j=1,2,…,N)中Aj(j=1,2,…,N)符合模型Mi(i=1,2,…,m)的票数满足预设条件,则Aj(j=1,2,…,N)为局内点;否则,Aj(j=1,2,…,N)为局外点。
较佳地,所述若所述投票集sj(j=1,2,…,N)中Aj(j=1,2,…,N)符合模型Mi(i=1,2,…,m)的票数满足预设条件,则Aj(j=1,2,…,N)为局内点;否则,Aj(j=1,2,…,N)为局外点包括:
若所述投票集sj(j=1,2,…,N)中Aj(j=1,2,…,N)符合模型Mi(i=1,2,…,m)的票数≥E(q)-hσ,则Aj(j=1,2,…,N)为局内点;否则,Aj(j=1,2,…,N)为局外点;
其中,h=3.3×ωn+1,ω=Ninliers/N,σ为Mgood所属分布的方差。
本发明还提供了一种并行RANSAC装置,所述装置包括:随机采样单元、模型估计单元以及投票式验证单元;其中,
所述随机采样单元,用于在假设阶段,在大小为N的数据集A中并行采集m组随机样本ai(i=1,2,…,m);
所述模型估计单元,用于在假设阶段,根据m组随机样本ai(i=1,2,…,m)并行输出m个估计的模型Mi(i=1,2,…,m);
所述投票式验证单元,用于在验证阶段,采用m个模型Mi(i=1,2,…,m)并行对同一个点投票的方法,逐个判断数据集A中的每个点是否为局内点。
较佳地,所述装置还包括数据点存储单元,用于存储输入的全部数据点A1,A2,K,AN。
较佳地,所述随机采样单元包括:随机采样子单元、移位寄存器和数据乱序子单元;其中,
所述随机采样子单元,用于按计数间隔从逐个输入的N个数据点中抽取数据点aji(j=1,2,…,m,i=1,2,…,n),并将所抽取的数据点送入移位寄存器;所述计数间隔为N/(m×n);
所述移位寄存器,用于存储随机采样子单元发来的数据点aji(j=1,2,…,m,i=1,2,…,n),所述移位寄存器深度为m×n;
所述数据乱序子单元,用于将移位寄存器中存储的数据点顺序打乱后发送给所述模型估计单元。
较佳地,所述移位寄存器包括计数器以及存储单元;其中,
所述计数器,用于每N/(m×n)个时钟计数一次;
所述存储单元,用于存储所述计数器每计数一次时所对应的数据点。
较佳地,所述投票式验证单元包括投票单元、统计单元以及比较器;其中,
所述投票单元,用于根据自身投票单元对应的模型Mi(i=1,2,…,m),确定任意点Aj(j=1,2,…,N)是否符合所述模型Mi(i=1,2,…,m);若是,则所述投票单元输出1,并将所述输出结果发送至统计单元;若否,则输出0,并将所述输出结果发送至统计单元;
统计单元,用于接收所述投票单元发送的输出结果,并在每个时钟周期内,根据所述输出结果生成所述任意点Aj(j=1,2,…,N)的投票集sj(j=1,2,…,N),并将所述投票集sj(j=1,2,…,N)发送至比较器;
所述比较器,用于接收所述统计单元发送的投票集sj(j=1,2,…,N),并将所述投票集sj(j=1,2,…,N)中Aj(j=1,2,…,N)符合模型Mi(i=1,2,…,m)的票数与E(q)-hσ比较,以确定Aj(j=1,2,…,N)是否为局内点;即,
若所述投票集sj(j=1,2,…,N)中Aj(j=1,2,…,N)符合模型Mi(i=1,2,…,m)的票数≥E(q)-hσ,则Aj(j=1,2,…,N)为局内点;否则,Aj(j=1,2,…,N)为局外点;
其中,h=3.3×ωn+1,ω=Ninliers/N,σ为Mgood所属分布的方差。
本发明所提供的并行RANSAC方法及其装置,具有以下的优点和特点:
本发明利用处理芯片的并行处理特性和丰富的资源,将RANSAC算法在处理芯片上的处理深度并行化并提出新的检验方式,具体就是将RANSAC方法中假设阶段和验证阶段的处理均并行进行,如此,就可以在保证鲁棒性的前提下,大大提高RANSAC算法的性能和数据吞吐量,能满足高速实时处理的需求。
本发明中,判断局内点的条件根据局外点的比例可变,且错误点的数量比传统方法更少,因此,本发明并行化和投票验证使RANSAC方法的性能得到很大提升,RANSAC算法鲁棒性得到提高。另外,本发明在大样本、高局外点比例的情况下速度优势尤其明显,因此,能满足实时处理的要求;
本发明在处理芯片上实现假设阶段和验证阶段的并行化处理,因此,本发明能应用于小型化、低功耗的嵌入式环境,且不再依赖于大功耗的GPU平台。
附图说明
图1为本发明并行RANSAC方法的流程示意图;
图2为本发明并行RANSAC方法与现有方法找到正确局内点的比例的示意图。
具体实施方式
下面将结合具体实施例及附图对本发明的实施方式进行详细描述。
图1为本发明并行RANSAC方法的流程示意图,如图1所示,一种并行RANSAC方法,包括假设阶段的处理和验证阶段的处理;具体包括以下步骤:
步骤101:在假设阶段,在大小为N的数据集A中并行采集m组随机样本ai(i=1,2,…,m),根据m组随机样本ai(i=1,2,…,m)并行输出m个估计的模型Mi(i=1,2,…,m);
步骤102:在验证阶段,采用m个模型Mi(i=1,2,…,m)并行对同一个点投票的方法,逐个判断数据集A中的每个点是否为局内点。
这里,所述数据集A中局内点的个数为Ninliers;任意一组随机样本ai(i=1,2,…,m)中包含n个点,相应的,任意一组随机样本ai中的任意一点可表示为aij(i=1,2,…,m,j=1,2,…,n),其中,n为估计模型所需的最少点数;
进一步的,所述采用m个模型Mi(i=1,2,…,m)并行对同一个点投票的方法,逐个判断数据集A中的每个点是否为局内点包括:
获取数据集A中的任意点Aj(j=1,2,…,N),根据m个模型Mi(i=1,2,…,m)并行对所述Aj(j=1,2,…,N)进行检验,确定所述Aj(j=1,2,…,N)是否符合模型Mi(i=1,2,…,m);
统计所述Aj(j=1,2,…,N)符合m个模型Mi(i=1,2,…,m)的个数,以生成投票集sj(j=1,2,…,N);
若所述投票集sj(j=1,2,…,N)中Aj(j=1,2,…,N)符合模型Mi(i=1,2,…,m)的票数满足预设条件,则Aj(j=1,2,…,N)为局内点;否则,Aj(j=1,2,…,N)为局外点。
进一步的,所述若所述投票集sj(j=1,2,…,N)中Aj(j=1,2,…,N)符合模型Mi(i=1,2,…,m)的票数满足预设条件,则Aj(j=1,2,…,N)为局内点;否则,Aj(j=1,2,…,N)为局外点包括:
若所述投票集sj(j=1,2,…,N)中Aj(j=1,2,…,N)符合模型Mi(i=1,2,…,m)的票数≥E(q)-hσ,则Aj(j=1,2,…,N)为局内点;否则,Aj(j=1,2,…,N)为局外点;
其中,h=3.3×ωn+1,ω=Ninliers/N,σ为Mgood所属分布的方差。
这里,值得注意的是,本发明并行RANSAC方法的关键在于确定投票集sj(j=1,2,…,N)中所需要的支持票数,通过所述支持票数,以确定所述任意点Aj(j=1,2,…,N)是否为局内点;这里,假设坏模型支持局内点、以及坏模型支持局外点的概率分别为p1和p2,应用贝叶斯公式可以求得Aj(j=1,2,…,N)在sj(j=1,2,…,m)中获得q个支持的条件(设为Q)下,所述Aj(j=1,2,…,N)属于局内点的概率为p(H1|Q)、所述Aj(j=1,2,…,N)不属于局内点的概率p(H0|Q),比较p(H1|Q)和p(H0|Q)两个概率的大小即可确定所需支持票数的下限。但在实际应用时,p1和p2都很小而且难以估计。因此,可以考虑使用下述近似的方法来确定sj(j=1,2,…,m)中所需支持票数的区间。
在并行获得的m个模型Mi(i=1,2,…,m)中,好模型的个数Mgood是一个服从二项分布的随机变量,且Mgood~B(m,ωn)。根据泊松定理和棣莫弗-拉普拉斯中心极限定理,当m和ωn符合一定条件时,Mgood可用泊松分布p(m,Nωn)和正态分布N(mωn,mωn(1-ωn))近似计算。这里,所述一定条件是指泊松分布和正态分布近似二项分布的条件,如表1所示。表1中给出了不同ωn下m的取值下限,即:当m越大,泊松分布和正态分布对二项分布的近似就越好,取m为该下限的1.5倍时,精确度已经可以超过99.5%。
表1
理论上,m的取值应该越大越好,但因受到硬件资源限制,m的取值不可能取值很大,因此,在满足表1所示条件时,就可以认为泊松分布和正态分布对二项分布的近似已足够精确。基于此,sj(j=1,2,…,m)中获得的支持票数q的数学期望E(q)就可以用Mgood的数学期望E(Mgood)=mωn近似,在mωn附近取一定宽度的区间,若Aj(j=1,2,…,N)落在上述区间内,则认为Aj(j=1,2,…,N)是局内点。一般以sj(j=1,2,…,m)中获得的支持票数q不小于E(q)-hσ为判断条件,其中σ为所选分布的方差,h为系数。
例如:采用Mgood近似正态分布N(mωn,mωn(1-ωn))的情况下,就是采用均值mωn、方差mωn(1-ωn)对Mgood的概率分布进行近似,则可认为支持票数q与其同分布,支持票数q取值为mωn时的概率密度最大。因此,可以mωn为中心,向左取一定区间作为判断条件,其中,区间的下限用分布的标准差特征和可变系数h共同决定。在贝叶斯概率模型下,当ωn增大时,p2增大而p1减小,因此,区间应适当增大,反之区间应适当减小,用数值方法求得h的实用近似表达式为h=3.3×ωn+1;这里,所述区间是指这个区间,h变大,区间增大,h变小,区间减小。
本发明还提供了一种并行RANSAC装置,包括随机采样单元、模型估计单元以及投票式验证单元;其中,
所述随机采样单元,用于在假设阶段,在大小为N的数据集A中并行采集m组随机样本ai(i=1,2,…,m);
所述模型估计单元,用于在假设阶段,根据m组随机样本ai(i=1,2,…,m)并行输出m个估计的模型Mi(i=1,2,…,m);
所述投票式验证单元,用于在验证阶段,采用m个模型Mi(i=1,2,…,m)并行对同一个点投票的方法,逐个判断数据集A中的每个点是否为局内点。
这里,所述数据集A中局内点的个数为Ninliers;任意一组随机样本ai(i=1,2,…,m)中包含n个点,相应的,任意一组随机样本ai中的任意一点可表示为aij(i=1,2,…,m,j=1,2,…,n),其中,n为估计模型所需的最少点数。
该并行RANSAC装置还包括数据点存储单元,用于存储输入的全部数据点A1,A2,K,AN。
进一步的,所述随机采样单元包括:随机采样子单元、移位寄存器和数据乱序子单元;其中,
所述随机采样子单元,用于按计数间隔从逐个输入的N个数据点中抽取数据点aji(j=1,2,…,N,i=1,2,…,n),并将所抽取的数据点送入移位寄存器;所述计数间隔为N/(m×n);
所述移位寄存器,用于存储随机采样子单元发来的数据点aji(j=1,2,…,m,i=1,2,…,n),所述移位寄存器深度为m×n;
所述数据乱序子单元,用于将移位寄存器中存储的数据点顺序打乱后发送给所述模型估计单元。
具体来说,当有N个点逐个输入时,第一类要保存的是全部数据点A1,A2,…,AN,形成完整的数据集A;第二类是在A1,A2,…,AN进入时每N/(m×n)个抽一个,输入到移位寄存器中,即:每隔几个抽一个保存起来,例如:一共有N=20个点,需要生成m=2个模型,每个模型需要n=3个点,共需抽取m×n=6个点,则每N/(m×n)≈3个点抽取一个点,即可将A1,A4,A7,A10,A13,A16存到移位寄存器中。
相应的,抽取的数据点A1,A4,A7,A10,A13,A16在移位寄存器中是顺序排列的,即顺序均匀采样;那么,在将抽取的数据点发送给模型估计单元之前,需通过数据点乱序子单元将顺序的数据点打乱后再传输给模型估计单元,这样,才能实现随机采样。
进一步的,所述移位寄存器包括计数器以及存储单元;其中,
所述计数器,用于每N/(m×n)个时钟计数一次;
所述存储单元,用于存储所述计数器每计数一次时所对应的数据点;这里,所述存储单元有独立的输出接口,用于输出所述存储单元存储的数据点。值得注意的是,所述计数器每N/(m×n)个时钟计数一次,同时所述存储单元存储所述计数器每计数一次时所对应的数据点,即进入随机采样子单元所有N个数据点中,每N/(m×n)个数据中仅有一个数据存储在所述存储单元中;当N个数据点全部进入所述随机采样子单元中后,所述移位寄存器中的所述存储单元则存储有m×n个数据点,即aji(j=1,2,…,m,i=1,2,…,n),此时,所述移位寄存器通过其自身的输出接口并行输出m×n个样本点给数据点乱序子单元,以便数据点乱序子单元将顺序的数据点打乱后再传输给模型估计单元。
进一步的,所述投票式验证单元包括投票单元、统计单元以及比较器;其中,
所述投票单元,用于根据其自身投票单元对应的模型Mi(i=1,2,…,m),确定任意点Aj(j=1,2,…,N)是否符合所述模型Mi(i=1,2,…,m);若是,则所述投票单元输出1,并将所述输出结果发送至统计单元;否则,输出0,并将所述输出结果发送至统计单元;
统计单元,用于接收所述投票单元发送的输出结果,并在每个时钟周期内,根据所述输出结果生成所述任意点Aj(j=1,2,…,N)的投票集sj(j=1,2,…,N),并将所述投票集sj(j=1,2,…,N)发送至比较器;
所述比较器,用于接收所述统计单元发送的投票集sj(j=1,2,…,N),并将所述投票集sj(j=1,2,…,N)中Aj(j=1,2,…,N)符合模型Mi(i=1,2,…,m)的票数与E(q)-hσ比较,以确定Aj(j=1,2,…,N)是否为局内点;即,
若所述投票集sj(j=1,2,…,N)中Aj(j=1,2,…,N)符合模型Mi(i=1,2,…,m)的票数≥E(q)-hσ,则Aj(j=1,2,…,N)为局内点;否则,Aj(j=1,2,…,N)为局外点;
其中,h=3.3×ωn+1,ω=Ninliers/N,σ为Mgood所属分布的方差。
实施例1
设传统RANSAC方法的时间复杂度为ο(n2)。当数据量大、局外点比例高、模型复杂时,k和N(数据集A的大小)迅速增大,算法性能受到严重影响。在现有并行算法中,时间复杂度降为ο(n)。这里,k是能保证传统串行RANSAC一定成功概率的最低迭代次数,其中
本发明并行RANSAC方法由于不需再次验证最佳模型,速度提升为现有基于GPU等的并行方法的2倍,而且该性能提升在其他并行计算平台上也可实现。表2为串行方式、现有技术中并行方式、以及本发明中并行方式三种RANSAC方法的性能比较,其中k>1。
表2
本发明并行RANSAC方法除具有上述的性能优势外,还充分利用了FPGA的硬件资源和高度的并行性,从而实现了多指令多数据流的深度流水线运算,取消了寻找最佳模型时的串行操作,能基本消除RANSAC方法在数据吞吐量上的瓶颈。
为了验证本发明并行RANSAC方法的鲁棒性,设计了拟合圆的仿真实验。在不同的局外点比例下各进行2000次试验,统计其正确结果和错误结果的个数,表3和图2为两种算法的准确性比较。其中,表3所示为两种RANSAC算法在不同局外点比例下的准确性;图2中,上方由方块点形成的曲线表示采用本发明并行RANSAC方法的鲁棒性,下方由菱形点形成的曲线表示采用现有技术并行RANSAC方法的鲁棒性。从表3和图2中可以看出,本发明并行RANSAC方法的漏检率全面优于传统方法。更重要的是,本发明给出的错误结果明显少于传统方法,因此,采用本发明并行RANSAC方法能提高鲁棒性。
表3
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (9)
1.一种并行随机采样一致RANSAC方法,包括假设阶段的处理和验证阶段的处理;其特征在于,所述方法包括:
在假设阶段,在大小为N的数据集A中并行采集m组随机样本ai,i=1,2,…,m,根据m组随机样本ai,i=1,2,…,m并行输出m个估计的模型Mi,i=1,2,…,m;
在验证阶段,采用m个模型Mi,i=1,2,…,m并行对同一个点投票的方法,逐个判断数据集A中的每个点是否为局内点;
其中,所述采用m个模型Mi,i=1,2,…,m并行对同一个点投票的方法,逐个判断数据集A中的每个点是否为局内点包括:
获取数据集A中的任意点Aj,j=1,2,…,N,根据m个模型Mi,i=1,2,…,m并行对所述Aj,j=1,2,…,N进行检验,确定所述Aj,j=1,2,…,N是否符合模型Mi,i=1,2,…,m;
统计所述Aj,j=1,2,…,N符合m个模型Mi,i=1,2,…,m的个数,以生成投票集sj,j=1,2,…,N;
若所述投票集sj,j=1,2,…,N中Aj,j=1,2,…,N符合模型Mi,i=1,2,…,m的票数满足预设条件,则Aj,j=1,2,…,N为局内点;否则,Aj,j=1,2,…,N为局外点。
2.根据权利要求1所述的方法,其特征在于,所述数据集A中局内点的个数为Ninliers;任意一组随机样本ai,i=1,2,…,m中包含n个点,其中,n为估计模型所需的最少点数。
3.根据权利要求2所述的方法,其特征在于,所述若所述投票集sj,j=1,2,…,N中Aj,j=1,2,…,N符合模型Mi,i=1,2,…,m的票数满足预设条件,则Aj,j=1,2,…,N为局内点;否则,Aj,j=1,2,…,N为局外点包括:
若所述投票集sj,j=1,2,…,N中Aj,j=1,2,…,N符合模型Mi,i=1,2,…,m的票数≥E(q)-hσ,则Aj,j=1,2,…,N为局内点;否则,Aj,j=1,2,…,N为局外点;
其中,h=3.3×ωn+1,ω=Ninliers/N,σ为Mgood所属分布的方差,所述Mgood表征好模型的个数,所述q表征支持票数,所述E(q)表征支持票数q的数学期望。
4.一种并行RANSAC装置,其特征在于,所述装置包括:随机采样单元、模型估计单元以及投票式验证单元;其中,
所述随机采样单元,用于在假设阶段,在大小为N的数据集A中并行采集m组随机样本ai,i=1,2,…,m;
所述模型估计单元,用于在假设阶段,根据m组随机样本ai,i=1,2,…,m并行输出m个估计的模型Mi,i=1,2,…,m;
所述投票式验证单元,用于在验证阶段,采用m个模型Mi,i=1,2,…,m并行对同一个点投票的方法,逐个判断数据集A中的每个点是否为局内点;
所述采用m个模型Mi,i=1,2,…,m并行对同一个点投票的方法,逐个判断数据集A中的每个点是否为局内点包括:
获取数据集A中的任意点Aj,j=1,2,…,N,根据m个模型Mi,i=1,2,…,m并行对所述Aj,j=1,2,…,N进行检验,确定所述Aj,j=1,2,…,N是否符合模型Mi,i=1,2,…,m;
统计所述Aj,j=1,2,…,N符合m个模型Mi,i=1,2,…,m的个数,以生成投票集sj,j=1,2,…,N;
若所述投票集sj,j=1,2,…,N中Aj,j=1,2,…,N符合模型Mi,i=1,2,…,m的票数满足预设条件,则Aj,j=1,2,…,N为局内点;否则,Aj,j=1,2,…,N为局外点。
5.根据权利要求4所述的装置,其特征在于,所述数据集A中局内点的个数为Ninliers;任意一组随机样本ai,i=1,2,…,m中包含n个点,其中,n为估计模型所需的最少点数。
6.根据权利要求4所述的装置,其特征在于,所述装置还包括数据点存储单元,用于存储输入的全部数据点A1,A2,...,AN。
7.根据权利要求5所述的装置,其特征在于,所述随机采样单元包括:随机采样子单元、移位寄存器和数据乱序子单元;其中,
所述随机采样子单元,用于按计数间隔从逐个输入的N个数据点中抽取数据点aji,j=1,2,…,m,i=1,2,…,n,并将所抽取的数据点送入移位寄存器;所述计数间隔为N/(m×n);
所述移位寄存器,用于存储随机采样子单元发来的数据点aji,j=1,2,…,m,i=1,2,…,n,所述移位寄存器的深度为m×n;
所述数据乱序子单元,用于将移位寄存器中存储的数据点顺序打乱后发送给所述模型估计单元。
8.根据权利要求7所述的装置,其特征在于,所述移位寄存器包括计数器以及存储单元;其中,
所述计数器,用于每N/(m×n)个时钟计数一次;
所述存储单元,用于存储所述计数器每计数一次时所对应的数据点。
9.根据权利要求4至8任一项所述的装置,其特征在于,所述投票式验证单元包括投票单元、统计单元以及比较器;其中,
所述投票单元,用于根据自身投票单元对应的模型Mi,i=1,2,…,m,确定任意点Aj,j=1,2,…,N是否符合所述模型Mi,i=1,2,…,m;若是,则所述投票单元输出1,并将所述输出结果发送至统计单元;若否,则输出0,并将所述输出结果发送至统计单元;
统计单元,用于接收所述投票单元发送的输出结果,并在每个时钟周期内,根据所述输出结果生成所述任意点Aj,j=1,2,…,N的投票集sj,j=1,2,…,N,并将所述投票集sj,j=1,2,…,N发送至比较器;
所述比较器,用于接收所述统计单元发送的投票集sj,j=1,2,…,N,并将所述投票集sj,j=1,2,…,N中Aj,j=1,2,…,N符合模型Mi,i=1,2,…,m的票数与E(q)-hσ比较,以确定Aj,j=1,2,…,N是否为局内点;即,
若所述投票集sj,j=1,2,…,N中Aj,j=1,2,…,N符合模型Mi,i=1,2,…,m的票数≥E(q)-hσ,则Aj,j=1,2,…,N为局内点;否则,Aj,j=1,2,…,N为局外点;
其中,h=3.3×ωn+1,ω=Ninliers/N,σ为Mgood所属分布的方差,所述Mgood表征好模型的个数,所述q表征支持票数,所述E(q)表征支持票数q的数学期望;所述n为估计模型所需的最少点数,所述Ninliers为局内点数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310289092.5A CN103310122B (zh) | 2013-07-10 | 2013-07-10 | 一种并行随机采样一致方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310289092.5A CN103310122B (zh) | 2013-07-10 | 2013-07-10 | 一种并行随机采样一致方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103310122A CN103310122A (zh) | 2013-09-18 |
CN103310122B true CN103310122B (zh) | 2016-04-20 |
Family
ID=49135332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310289092.5A Active CN103310122B (zh) | 2013-07-10 | 2013-07-10 | 一种并行随机采样一致方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103310122B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645284B (zh) * | 2013-12-13 | 2015-09-30 | 阿默思(天津)科技发展有限公司 | 一种基于改进ransac理论的快速气味指纹检测方法 |
WO2015143661A1 (en) * | 2014-03-27 | 2015-10-01 | Intel Corporation | Techniques for parallel execution of ransac algorithm |
CN104346445B (zh) * | 2014-10-28 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种快速从大规模数据中筛选离群数据的方法 |
CN107220580B (zh) * | 2016-03-22 | 2022-08-09 | 敦泰电子有限公司 | 基于投票决策和最小二乘法的图像识别随机取样一致算法 |
CN108061897B (zh) * | 2017-12-05 | 2021-06-18 | 哈尔滨工程大学 | 一种基于前视声呐的水下结构化环境线特征提取方法 |
WO2019218131A1 (en) * | 2018-05-15 | 2019-11-21 | Shanghaitech University | Fast and deterministic algorithm for consensus set maximization |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100104155A1 (en) * | 2007-08-06 | 2010-04-29 | Shoupu Chen | Method for detection of linear structures and microcalcifications in mammographic images |
CN102902980A (zh) * | 2012-09-13 | 2013-01-30 | 中国科学院自动化研究所 | 一种基于线性规划模型的生物特征图像分析与识别方法 |
CN103018177A (zh) * | 2012-12-06 | 2013-04-03 | 江苏易谱恒科技有限公司 | 基于随机采样一致集的谱图异常样本点检测方法 |
-
2013
- 2013-07-10 CN CN201310289092.5A patent/CN103310122B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100104155A1 (en) * | 2007-08-06 | 2010-04-29 | Shoupu Chen | Method for detection of linear structures and microcalcifications in mammographic images |
CN102902980A (zh) * | 2012-09-13 | 2013-01-30 | 中国科学院自动化研究所 | 一种基于线性规划模型的生物特征图像分析与识别方法 |
CN103018177A (zh) * | 2012-12-06 | 2013-04-03 | 江苏易谱恒科技有限公司 | 基于随机采样一致集的谱图异常样本点检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103310122A (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103310122B (zh) | 一种并行随机采样一致方法及其装置 | |
Xu et al. | Estimating wind speed probability distribution by diffusion-based kernel density method | |
Wellner et al. | Two likelihood-based semiparametric estimation methods for panel count data with covariates | |
CN102243321B (zh) | 一种地震叠前时间偏移的处理方法及系统 | |
CN103020423A (zh) | 基于copula函数获取风电场出力相关特性的方法 | |
CN103279746B (zh) | 一种基于支持向量机的人脸识别方法及系统 | |
CN109685092B (zh) | 基于大数据的聚类方法、设备、存储介质及装置 | |
CN107609141A (zh) | 一种对大规模可再生能源数据进行快速概率建模方法 | |
CN104008420A (zh) | 一种基于自动编码机的分布式离群点检测方法及系统 | |
CN103838803A (zh) | 一种基于节点Jaccard相似度的社交网络社团发现方法 | |
CN110135565A (zh) | 针对神经网络算法在集成电路上实现性能的评估系统 | |
CN107563220A (zh) | 一种基于计算机的大数据分析控制系统及控制方法 | |
CN103778191A (zh) | 一种顾及空间邻近关系的矢量等高线数据划分方法 | |
CN105895089A (zh) | 一种语音识别方法及装置 | |
CN106569981A (zh) | 一种适用于大规模数据集的统计参量确定方法及系统 | |
CN103002472B (zh) | 一种非均质传感器网络中的事件边界检测的方法、装置及智能通讯设备 | |
CN103019852B (zh) | 一种适用于大规模集群的mpi并行程序负载问题三维可视化分析方法 | |
Wang et al. | Impulsive problems for fractional evolution equations and optimal controls in infinite dimensional spaces | |
CN103366095B (zh) | 一种基于坐标变换的最小二乘拟合信号处理方法 | |
CN103491074A (zh) | 僵尸网络检测方法及装置 | |
CN104350491A (zh) | 数据采样方法以及数据采样装置 | |
CN104090813A (zh) | 一种云数据中心的虚拟机cpu使用率的分析建模方法 | |
CN105989095B (zh) | 顾及数据不确定性的关联规则显著性检验方法及装置 | |
CN103793339A (zh) | 基于内存访问堆栈距离的数据Cache性能探索方法 | |
CN107038212A (zh) | 一种基于蒙特卡洛方法逆向求解PageRank的算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |