发明名称 一种基于惩罚控制竞争学聚类算法的特征分层匹配方法
摘要 本发明公开了一种基于惩罚控制竞争学聚类算法的特征分层匹配方法,其采用一种能够自动确定类别数的惩罚控制竞争学聚类算法得到参考特征集和待匹配特征集的聚类结果,然后用参考特征集中的所有中心单元构建一个父层K‑D树,用每个类中的每个样本作为节点组成一个子层K‑D树,进行匹配时将待匹配特征集的每个类的中心单元作为父查询目标在父层K‑D树中找出最近邻节点,再将待匹配特征集的每个类中的每个样本作为子查询目标,在该类对应的父查询目标的最近邻节点所属类的子层K‑D树中找出该类对应的每个子查询目标的最近邻节点,将每个子查询目标与其最近邻节点作为一个特征匹配对;优点是特征匹配对的数目不多,降低了计算复杂度,提高了图像匹配效率。
申请公布号 CN104240238B 申请公布日期 2017.02.15
申请号 CN201410439917.1 申请日期 2014.09.01
申请人 宁波大学 发明人 张锋;赵杰煜;文顺;钟意伟
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 程晓明
主权项 一种基于惩罚控制竞争学习聚类算法的特征分层匹配方法,其特征在于包括以下步骤:①选取不同时间、不同成像条件下获取的包含同一目标对象的尺寸大小一致的两幅图像,随机选择其中一幅图像作为参考图像,将另一幅图像作为待匹配图像;②利用SIFT算子提取参考图像和待匹配图像的所有SIFT特征,将由参考图像的所有SIFT特征构成的集合定义为参考特征集,将由待匹配图像的所有SIFT特征构成的集合定义为待匹配特征集,其中,每个SIFT特征为一个128×1维向量;③采用惩罚控制竞争学习聚类算法,分别对参考特征集和待匹配特征集进行聚类操作,得到参考特征集和待匹配特征集各自的最终的类别数以及每个类的中心单元和每个类各自拥有的样本;所述的步骤③的具体过程为:③‑1、将参考特征集中的每个SIFT特征中的梯度信息作为一个样本,每个样本为一个128×1维的向量;③‑2、令K表示类别数,假设K的初始值为K<sub>0</sub>,K<sub>0</sub>∈[10,50];令m表示迭代次数,m的初始值为1;③‑3、从所有样本中随机选取K<sub>0</sub>个样本,将选取的每个样本作为一个种子单元,假定每个种子单元代表一个类的中心单元;③‑4、将第c个种子单元y<sub>c</sub>作为获胜单元,然后从所有样本中随机抽取1个样本,假设该样本为第t个样本,则将该样本记为x<sub>t</sub>,接着计算除获胜单元y<sub>c</sub>外的每个种子单元与x<sub>t</sub>之间的欧氏距离,将最小的欧氏距离值对应的种子单元作为竞争单元,假设该竞争单元为所有种子单元中的第r个种子单元y<sub>r</sub>,再执行步骤③‑5;其中,1≤c≤K<sub>0</sub>,c的初始值为1,1≤t≤T,T表示参考特征集对应的所有样本的总个数,1≤r≤K,r≠c;③‑5、根据获胜单元y<sub>c</sub>在本次迭代前的获胜次数n<sub>c</sub>,计算获胜单元y<sub>c</sub>在本次迭代中的学习率,记为α<sub>c</sub>,<img file="FDA0001068254350000011.GIF" wi="342" he="127" />其中,n<sub>c</sub>的初始值为0,const为平衡参数;然后对获胜单元y<sub>c</sub>进行更新学习以使获胜单元y<sub>c</sub>朝x<sub>t</sub>移动靠近,将更新学习后的获胜单元记为y<sub>c</sub><sup>new</sup>,y<sub>c</sub><sup>new</sup>=y<sub>c</sub>+α<sub>c</sub>(x<sub>t</sub>‑y<sub>c</sub>);再令y<sub>c</sub>=y<sub>c</sub><sup>new</sup>,并令n<sub>c</sub>=n<sub>c</sub>+1,其中,y<sub>c</sub>=y<sub>c</sub><sup>new</sup>和n<sub>c</sub>=n<sub>c</sub>+1中的“=”为赋值符号;同样,根据竞争单元y<sub>r</sub>在本次迭代前的获胜次数n<sub>r</sub>,计算竞争单元y<sub>r</sub>在本次迭代中的惩罚率,记为α<sub>r</sub>,<img file="FDA0001068254350000021.GIF" wi="342" he="127" />其中,n<sub>r</sub>的初始值为0,const为平衡参数;然后对竞争单元y<sub>r</sub>进行惩罚以使竞争单元y<sub>r</sub>进行反向移动远离x<sub>t</sub>,将惩罚后的竞争单元记为y<sub>r</sub><sup>new</sup>,y<sub>r</sub><sup>new</sup>=y<sub>r</sub>‑ρ(x<sub>t</sub>‑y<sub>r</sub>),其中,ρ=α<sub>r</sub>×DisRatio,<img file="FDA0001068254350000022.GIF" wi="453" he="164" />符号“|| ||”为求欧氏距离符号;再令y<sub>r</sub>=y<sub>r</sub><sup>new</sup>,其中,y<sub>r</sub>=y<sub>r</sub><sup>new</sup>中的“=”为赋值符号;③‑6、令c=c+1,如果c&gt;K<sub>0</sub>,则执行步骤③‑7,如果c≤K<sub>0</sub>,则返回步骤③‑4继续执行;③‑7、从所有样本中随机抽取1个样本,假设该样本为第t个样本,则将该样本记为x<sub>t</sub>,然后计算每个种子单元与x<sub>t</sub>之间的距离,接着将最小的距离值对应的种子单元作为获胜单元,假设该获胜单元为所有种子单元中的第c个种子单元y<sub>c</sub>,将值次小的距离对应的种子单元作为竞争单元,假设该竞争单元为所有种子单元中的第r个种子单元y<sub>r</sub>,再执行步骤③‑8;其中,1≤c≤K<sub>0</sub>,1≤r≤K<sub>0</sub>;③‑8、根据获胜单元y<sub>c</sub>在本次迭代前的获胜次数n<sub>c</sub>,计算获胜单元y<sub>c</sub>在本次迭代中的学习率,记为α<sub>c</sub>,<img file="FDA0001068254350000023.GIF" wi="342" he="132" />其中,n<sub>c</sub>的初始值为0,const为平衡参数;然后对获胜单元y<sub>c</sub>进行更新学习以使获胜单元y<sub>c</sub>朝x<sub>t</sub>移动靠近,将更新学习后的获胜单元记为y<sub>c</sub><sup>new</sup>,y<sub>c</sub><sup>new</sup>=y<sub>c</sub>+α<sub>c</sub>(x<sub>t</sub>‑y<sub>c</sub>);再令y<sub>c</sub>=y<sub>c</sub><sup>new</sup>,并令n<sub>c</sub>=n<sub>c</sub>+1,其中,y<sub>c</sub>=y<sub>c</sub><sup>new</sup>和n<sub>c</sub>=n<sub>c</sub>+1中的“=”为赋值符号;同样,根据竞争单元y<sub>r</sub>在本次迭代前的获胜次数n<sub>r</sub>,计算竞争单元y<sub>r</sub>在本次迭代中的惩罚率,记为α<sub>r</sub>,<img file="FDA0001068254350000031.GIF" wi="341" he="131" />其中,n<sub>r</sub>的初始值为0,const为平衡参数;然后对竞争单元y<sub>r</sub>进行惩罚以使竞争单元y<sub>r</sub>进行反向移动远离x<sub>t</sub>,将惩罚后的竞争单元记为y<sub>r</sub><sup>new</sup>,y<sub>r</sub><sup>new</sup>=y<sub>r</sub>‑ρ(x<sub>t</sub>‑yr),其中,ρ=α<sub>r</sub>×DisRatio,<img file="FDA0001068254350000032.GIF" wi="450" he="165" />符号“|| ||”为求欧氏距离符号;再令y<sub>r</sub>=y<sub>r</sub><sup>new</sup>,其中,y<sub>r</sub>=y<sub>r</sub><sup>new</sup>中的“=”为赋值符号;③‑9、重复执行步骤③‑7至步骤③‑8共T‑K<sub>0</sub>次;然后令m=m+1,如果m&gt;50,则结束迭代,再执行步骤③‑10,如果m≤50,则令n<sub>c</sub>=0,n<sub>r</sub>=0,再返回步骤③‑4继续执行,其中,m=m+1中的“=”为赋值符号;③‑10、将获胜次数小于<img file="FDA0001068254350000033.GIF" wi="163" he="134" />次的种子单元剔除;然后统计剩余的种子单元的个数,将统计得到的个数作为参考特征集最终的类别数,并将剩余的每个种子单元重新确定为一个类的中心单元;接着计算参考特征集对应的每个样本与重新确定的各个类的中心单元之间的欧氏距离,将每个样本相对应的多个欧氏距离值中最小的欧氏距离值对应的中心单元的类标签作为该样本的类标签,从而得到各个类各自拥有的样本;按照步骤③‑1至步骤③‑10的操作过程,以相同方式获取待匹配特征集的最终的类别数,并确定每个类的中心单元,再确定待匹配特征集对应的每个样本的类标签;④根据参考特征集的每个类的中心单元和每个类中的所有样本,利用K‑D树构建方法构建得到参考特征集对应的父层K‑D树和每个类对应的子层K‑D树,然后将待匹配特征集的每个类的中心单元作为一个父查询目标在父层K‑D树中找出对应的最近邻节点,再将待匹配特征集的每个类中的每个样本作为一个子查询目标,在该类对应的父查询目标的最近邻节点所属类的子层K‑D树中找出该类对应的每个子查询目标的最近邻节点,将每个子查询目标与其最近邻节点作为待匹配图像与参考图像之间的一个特征匹配对,完成特征分层匹配。
地址 315211 浙江省宁波市江北区风华路818号