本发明属于数据计算方法,尤其涉及矩阵填充方法,具体是指一种基于局部线性近似的不完备图像补齐方法。
背景技术:
在很多领域中,获取的数据是不完整的,即可能存在部分缺失。而矩阵填充是一个处理不完备数据的有效方法,它可以从较少的观测样本恢复矩阵。其广泛出现在诸多科研和工程领域,例如协同过滤、图像修复、视频去噪、遥感技术等等。
通常,矩阵填充的方法主要围绕几个假设:低秩或近似低秩的假设;缺失值是均匀分布的假设。问题的关键是最小化矩阵的秩,在实际应用中可将其转化为最小化核范数。然而,基于低秩的方法,不仅复杂,而且没有很好的适用性。
局部线性嵌入可以由局部线性拟合发现全局的结构,每个局部小段可以线性地近似,每个点可以表示成其近邻的线性加权和。受此思想的启发,本发明从邻域的局部线性重建的角度来近似缺失数据,提出了不完备数据局部线性近似的定义和公式。在此之上,给出了一种不完备数据的局部线性近似方法,实现矩阵填充。
技术实现要素:
针对现有技术存在的技术问题,本发明提供一种基于局部线性近似对不完备图像进行补齐方法,该方法将邻域近似的思想引入矩阵填充,定义了局部线性近似及重建错误率的公式,提出了局部线性近似的矩阵填充算法。
为了解决现有技术中存在技术问题,本发明采用如下技术方案:
一种基于局部线性近似对不完备图像进行补齐方法,
步骤一,根据不完备图像中待恢复数据建立修复模型x;所述修复模型x为具有缺失值的矩阵;
步骤二,对所述修复模型x进行初始化,对所述修复模型x缺失值进行索引,给出近邻数目k和最大迭代次数m;
步骤三,判断修复模型运算次数n是否小于迭代次数m;若满足判断条件,程序进入下一步,否则令x=xnew终止,输出;
步骤四,对修复模型x采用局部线性近似方法估算缺失值建立新模型xnew;
步骤五,对新模型xnew进行||x-xnew||2<tolerance*||x||2判断,若满足判断条件,则令x=xnew终止,输出;否则令n=n+1返回步骤三。
所述步骤一中修复模型x通过公式(1)获得初次迭代的邻域;
其中,m是属性个数,δ(xik)表示狄垃克函数,若xik不是缺失值,δ(xik)=1;若xik是缺失值,δ(xik)=0;xik表示第k个属性下x样本的值。
所述步骤四中局部线性近似方法通过公式(2)获得修改模型重建系数wij;
其中,xmiss表示缺失值集合,xi和xj表示矩阵x的行,wij是xj对xi的最优线性重建系数,nk表示xi的k近邻集合。
所述步骤四中通过公式(3)对存在的缺失值xip进行估计,以估计得到的xip构成新模型xnew;
有益效果
本发明提出的一种基于局部线性近似的不完备图像补齐方法同时在行列维度(样本空间和属性空间)借用邻域的思想来局部近似矩阵当中的缺失值,计算简单,更加灵活,为矩阵填充提供了一个新的思路和角度。和其他低秩的方法相比,该方法通过邻域使用局部线性重建来近似缺失值,并不需要过多的假设,除此之外,局部线性近似的方法还可以处理高噪声的数据。
附图说明
图1是本发明流程图。
图2是利用本发明进行图像补齐的结果图。
具体实施方式
下面结合附图对本发明作出详细说明。
如图1所述,本发明提供一种基于局部线性近似对不完备图像进行补齐方法,包括如下步骤:
步骤一101,获取不完备图像中待恢复数据建立修复模型x;所述修复模型x为具有缺失值的矩阵;
步骤二102,对所述修复模型x进行初始化,给出近邻数目k和最大迭代次数m;给出迭代数m;所述步骤一中修复模型x通过公式(1)获得初次迭代的邻域;
其中,m是属性个数,δ(xik)表示狄垃克函数,若xik不是缺失值,δ(xik)=1;若xik是缺失值,δ(xik)=0;xik表示第k个属性下x样本的值。
步骤三103,判断修复模型运算次数n是否小于迭代次数m;若满足判断条件,程序进入下一步,否则令终止;
步骤四(104,105)对修复模型x采用局部线性近似方法估算缺失值建立新模型xnew;所述步骤四中局部线性近似方法通过公式(2)获得修复模型重建系数wij;
其中,xmiss表示缺失值集合,xi和xj表示矩阵x的行,wij是xj对xi的最优线性重建系数,nk表示xi的k近邻集合。
所述步骤四中通过公式(3)生成缺失值xip估算,以此构成新模型xnew;
本发明中利用局部线性近似locallylinearapproximation,即lla,分别在行空间(样本空间)和列空间(属性空间)进行近似。即通过线性重建系数wij生成修复模型x缺失值xip的近似估算进而建立新模型xnew。
步骤五(106,107,108,109)对新模型xnew进行||x-xnew||2<tolerance*||x||2判断,若满足判断条件,则令x=xnew终止,输出;否则令n=n+1返回步骤三。本发明通过重复步骤三、步骤四达到最大迭代次数,x=xnew,算法结束,输出当前还原矩阵x。
实验例1:
通过将本发明方法在实际数据集lena上的运行,显示其有效性。数据
集matlab版本来源于:
http://www.cad.zju.edu.cn/home/dengcai/data/data.html
对比算法包括:opt、svt、tnn、fancl、irnn、lmafit
缺失方式分别为:chunk、line、rnd
缺失率为0.1、0.3、0.5、0.7、0.9
运行的结果如图2所示.
上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护范围的情况下,还可以做出很多变形,这些均属于本发明的保护之列。