本發(fā)明涉及圖像處理技術領域,具體而言,涉及一種圖像修補方法和一種圖像修補裝置。
背景技術:
圖像修補的目的是將含有殘缺部分的圖像盡可能恢復到原始的樣子。在自然圖像中普遍存在自相似性,比如重復的圖案和結構等,這些自相似性包含了一些互補的信息,對于圖像修補有很大的幫助。
在圖像修補領域中,錯誤隱藏這種方法正被廣泛地研究,錯誤隱藏方法主要利用圖像/視頻的自相似性或者時間/空間上的關聯(lián)來對圖像進行處理。一種傳統(tǒng)的錯誤隱藏方法是利用貝葉斯模型來估計圖像中的缺失像素,在給定一個損壞的圖像后,通過已有的像素來最大化未知像素的條件概率。Besag等人將貝葉斯模型應用于后驗概率,然后通過先驗概率來達到一個最優(yōu)值。然而,先驗概率模型往往不夠精確甚至無法獲得。在假設圖像能夠被局部建模為平穩(wěn)高斯過程的情況下,Li和Orchard等人通過估計一個局部窗口的協(xié)方差來描述局部插值的系數(shù)從而提出了一個方向自適應的插值方案。但是,這個假設對圖像不一定成立。
最近,低秩矩陣/張量最小化的方法因為其通過稀少信息恢復數(shù)據(jù)的良好效果而受到關注,許多矩陣/張量修補的方法被提出來以重建丟失了像素的圖像。對于那些有高度可重復性結構而丟失率很高的圖像,這些方法有著很好的效果,但對其它圖像這些方法的效果并不理想,也就是說這些方法僅對低秩的圖像有良好的修復效果。Chen等人提出了一種修補丟失信息同時捕獲潛在結構的方法,但是這種方法復雜度過高。Liu和Shang等人在張量核范數(shù)模型中引入了矩陣因子分解以得到一個規(guī)模更小的矩陣核范數(shù)最小化問題。不同于全局低秩,Ono等人提出了一個模塊低 秩的修復模型。Nguyen等人結合了非局部的圖像塊的群和低秩張量近似。Dong等人針對自然圖像中的非局部相似性建模提出了一個低秩的方法并討論它和同步稀疏編碼的關系。然而,以上這些方法收集到的相似塊之間可能不夠相似,從而導致圖像修復不成功。
因此,如何能夠有效地對圖像中的缺失塊進行修補成為亟待解決的技術問題。
技術實現(xiàn)要素:
本發(fā)明正是基于上述技術問題至少之一,提出了一種新的圖像修補方案,提高了對圖像中缺失塊修補的準確性,有效地實現(xiàn)了對缺失塊的圖像進行修補的目的。
有鑒于此,本發(fā)明提出了一種圖像修補方法,包括:確定待修補圖像中包含有未知像素點的至少一個缺失塊;對于所述至少一個缺失塊中的任一缺失塊,聚類得到所述任一缺失塊的相似塊,以形成由所述任一缺失塊聚類得到的類;根據(jù)由所述任一缺失塊聚類得到的類,構成具有低秩性質(zhì)的矩陣;采用核范數(shù)逼近所述矩陣的秩,并采用奇異值閾值的方法對所述矩陣進行求解;根據(jù)對所述矩陣求解后的值,對所述待修補圖像中的所述任一缺失塊進行修補。
在該技術方案中,在對圖像中的缺失塊進行修補時,針對任一缺失塊,可以聚類得到任一缺失塊的相似塊,并建立一個低秩最小化模型(即具有低秩性質(zhì)的矩陣)來恢復丟失區(qū)域,而在解決難解的低秩最小化模型時,本發(fā)明采用核范數(shù)逼近矩陣的秩以簡化這個模型的求解,并在具體求解中應用到了奇異值閾值的方法,提高了對缺失塊修補的準確性,有效地實現(xiàn)了對缺失塊的圖像進行修補的目的。
在上述技術方案中,優(yōu)選地,聚類得到所述任一缺失塊的相似塊的步驟,具體包括:對所述待修補圖像進行多層下采,以得到多個下采圖像;在所述待修補圖像和所述多個下采圖像中聚類得到所述任一缺失塊的相似塊。
在該技術方案中,通過對待修補圖像進行多層下采,以在待修補圖像 和多個下采圖像中聚類得到任一缺失塊的相似塊,使得能夠在待修補圖像和多個下采圖像中找到足夠數(shù)量的相似塊,以實現(xiàn)對圖像進行修復的目的。其中,可以采用最近鄰下采樣的方法對待修補圖像進行多層下采。
在上述任一技術方案中,優(yōu)選地,在所述待修補圖像和所述多個下采圖像中聚類得到所述任一缺失塊的相似塊的步驟之前,還包括:
在對所述待修補圖像進行多層下采的過程中,若所述下采圖像中包含有丟失的像素點,則判斷是否能夠在進行下采操作前的圖像中找到與所述下采圖像中丟失的像素點對應的像素點周圍未丟失的像素點;在判定能夠找到所述未丟失的像素點時,通過所述未丟失的像素點的均值對所述下采圖像中丟失的像素點進行初始化;以及在判定不能夠找到所述未丟失的像素點時,通過雙線性插值的方法對所述下采圖像中丟失的像素點進行初始化。
在該技術方案中,對下采圖像中丟失的像素點進行的初始化過程具體是對下采圖像中丟失的像素點進行預先的修補過程。
在上述任一技術方案中,優(yōu)選地,聚類得到所述任一缺失塊的相似塊的步驟,具體包括:在所述待修補圖像中聚類得到所述任一缺失塊的相似塊。
在上述任一技術方案中,優(yōu)選地,根據(jù)對所述矩陣求解后的值,對所述待修補圖像中的所述任一缺失塊進行修補的步驟,具體包括:將所述矩陣求解后得到的塊放置在所述任一缺失塊所在的區(qū)域,以對所述任一缺失塊進行修補。
其中,在將矩陣求解后得到的塊放置在任一缺失塊所在的區(qū)域后,若存在缺失塊重疊的位置,則在缺失塊重疊覆蓋的位置,可以根據(jù)該位置處重疊的像素塊的數(shù)量來計算均值進行修補。
根據(jù)本發(fā)明的另一方面,還提出了一種圖像修補裝置,包括:確定單元,用于確定待修補圖像中包含有未知像素點的至少一個缺失塊;聚類單元,用于對于所述至少一個缺失塊中的任一缺失塊,聚類得到所述任一缺失塊的相似塊,以形成由所述任一缺失塊聚類得到的類;矩陣生成單元,用于根據(jù)由所述任一缺失塊聚類得到的類,構成具有低秩性質(zhì)的矩陣;處 理單元,用于采用核范數(shù)逼近所述矩陣的秩,并采用奇異值閾值的方法對所述矩陣進行求解;修補單元,用于根據(jù)所述處理單元對所述矩陣求解后的值,對所述待修補圖像中的所述任一缺失塊進行修補。
在該技術方案中,在對圖像中的缺失塊進行修補時,針對任一缺失塊,可以聚類得到任一缺失塊的相似塊,并建立一個低秩最小化模型(即具有低秩性質(zhì)的矩陣)來恢復丟失區(qū)域,而在解決難解的低秩最小化模型時,本發(fā)明采用核范數(shù)逼近矩陣的秩以簡化這個模型的求解,并在具體求解中應用到了奇異值閾值的方法,提高了對缺失塊修補的準確性,有效地實現(xiàn)了對缺失塊的圖像進行修補的目的。
在上述任一技術方案中,優(yōu)選地,所述聚類單元包括:采樣單元,用于對所述待修補圖像進行多層下采,以得到多個下采圖像;執(zhí)行單元,用于在所述待修補圖像和所述多個下采圖像中聚類得到所述任一缺失塊的相似塊。
在該技術方案中,通過對待修補圖像進行多層下采,以在待修補圖像和多個下采圖像中聚類得到任一缺失塊的相似塊,使得能夠在待修補圖像和多個下采圖像中找到足夠數(shù)量的相似塊,以實現(xiàn)對圖像進行修復的目的。其中,可以采用最近鄰下采樣的方法對待修補圖像進行多層下采。
在上述任一技術方案中,優(yōu)選地,還包括:判斷單元,用于在對所述待修補圖像進行多層下采的過程中,若所述下采圖像中包含有丟失的像素點,則判斷是否能夠在進行下采操作前的圖像中找到與所述下采圖像中丟失的像素點對應的像素點周圍未丟失的像素點;初始化單元,用于在所述判斷單元判定能夠找到所述未丟失的像素點時,通過所述未丟失的像素點的均值對所述下采圖像中丟失的像素點進行初始化,并用于在所述判斷單元判定不能夠找到所述未丟失的像素點時,通過雙線性插值的方法對所述下采圖像中丟失的像素點進行初始化。
在上述任一技術方案中,優(yōu)選地,所述聚類單元具體用于:在所述待修補圖像中聚類得到所述任一缺失塊的相似塊。
在上述任一技術方案中,優(yōu)選地,所述修補單元具體用于:將所述矩陣求解后得到的塊放置在所述任一缺失塊所在的區(qū)域,以對所述任一缺失 塊進行修補。
其中,在將矩陣求解后得到的塊放置在任一缺失塊所在的區(qū)域后,若存在缺失塊重疊的位置,則在缺失塊重疊覆蓋的位置,可以根據(jù)該位置處重疊的像素塊的數(shù)量來計算均值進行修補。
通過以上技術方案,提高了對圖像中缺失塊修補的準確性,有效地實現(xiàn)了對缺失塊的圖像進行修補的目的。
附圖說明
圖1示出了根據(jù)本發(fā)明的一個實施例的圖像修補方法的示意流程圖;
圖2示出了根據(jù)本發(fā)明的實施例的圖像修補裝置的示意框圖;
圖3示出了根據(jù)本發(fā)明的另一個實施例的圖像修補方法的示意流程圖。
具體實施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結合附圖和具體實施方式對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。
圖1示出了根據(jù)本發(fā)明的一個實施例的圖像修補方法的示意流程圖。
如圖1所示,根據(jù)本發(fā)明的一個實施例的圖像修補方法,包括:
步驟102,確定待修補圖像中包含有未知像素點的至少一個缺失塊;
步驟104,對于所述至少一個缺失塊中的任一缺失塊,聚類得到所述任一缺失塊的相似塊,以形成由所述任一缺失塊聚類得到的類;
步驟106,根據(jù)由所述任一缺失塊聚類得到的類,構成具有低秩性質(zhì)的矩陣;
步驟108,采用核范數(shù)逼近所述矩陣的秩,并采用奇異值閾值的方法對所述矩陣進行求解;根據(jù)對所述矩陣求解后的值,對所述待修補圖像中 的所述任一缺失塊進行修補。
在該技術方案中,在對圖像中的缺失塊進行修補時,針對任一缺失塊,可以聚類得到任一缺失塊的相似塊,并建立一個低秩最小化模型(即具有低秩性質(zhì)的矩陣)來恢復丟失區(qū)域,而在解決難解的低秩最小化模型時,本發(fā)明采用核范數(shù)逼近矩陣的秩以簡化這個模型的求解,并在具體求解中應用到了奇異值閾值的方法,提高了對缺失塊修補的準確性,有效地實現(xiàn)了對缺失塊的圖像進行修補的目的。
在上述技術方案中,優(yōu)選地,聚類得到所述任一缺失塊的相似塊的步驟,具體包括:對所述待修補圖像進行多層下采,以得到多個下采圖像;在所述待修補圖像和所述多個下采圖像中聚類得到所述任一缺失塊的相似塊。
在該技術方案中,通過對待修補圖像進行多層下采,以在待修補圖像和多個下采圖像中聚類得到任一缺失塊的相似塊,使得能夠在待修補圖像和多個下采圖像中找到足夠數(shù)量的相似塊,以實現(xiàn)對圖像進行修復的目的。其中,可以采用最近鄰下采樣的方法對待修補圖像進行多層下采。
在上述任一技術方案中,優(yōu)選地,在所述待修補圖像和所述多個下采圖像中聚類得到所述任一缺失塊的相似塊的步驟之前,還包括:
在對所述待修補圖像進行多層下采的過程中,若所述下采圖像中包含有丟失的像素點,則判斷是否能夠在進行下采操作前的圖像中找到與所述下采圖像中丟失的像素點對應的像素點周圍未丟失的像素點;在判定能夠找到所述未丟失的像素點時,通過所述未丟失的像素點的均值對所述下采圖像中丟失的像素點進行初始化;以及在判定不能夠找到所述未丟失的像素點時,通過雙線性插值的方法對所述下采圖像中丟失的像素點進行初始化。
在該技術方案中,對下采圖像中丟失的像素點進行的初始化過程具體是對下采圖像中丟失的像素點進行預先的修補過程。
在上述任一技術方案中,優(yōu)選地,聚類得到所述任一缺失塊的相似塊的步驟,具體包括:在所述待修補圖像中聚類得到所述任一缺失塊的相似塊。
在上述任一技術方案中,優(yōu)選地,根據(jù)對所述矩陣求解后的值,對所述待修補圖像中的所述任一缺失塊進行修補的步驟,具體包括:將所述矩陣求解后得到的塊放置在所述任一缺失塊所在的區(qū)域,以對所述任一缺失塊進行修補。
其中,在將矩陣求解后得到的塊放置在任一缺失塊所在的區(qū)域后,若存在缺失塊重疊的位置,則在缺失塊重疊覆蓋的位置,可以根據(jù)該位置處重疊的像素塊的數(shù)量來計算均值進行修補。
圖2示出了根據(jù)本發(fā)明的實施例的圖像修補裝置的示意框圖。
如圖2所示,根據(jù)本發(fā)明的實施例的圖像修補裝置200,包括:
確定單元202,用于確定待修補圖像中包含有未知像素點的至少一個缺失塊;聚類單元204,用于對于所述至少一個缺失塊中的任一缺失塊,聚類得到所述任一缺失塊的相似塊,以形成由所述任一缺失塊聚類得到的類;矩陣生成單元206,用于根據(jù)由所述任一缺失塊聚類得到的類,構成具有低秩性質(zhì)的矩陣;處理單元208,用于采用核范數(shù)逼近所述矩陣的秩,并采用奇異值閾值的方法對所述矩陣進行求解;修補單元210,用于根據(jù)所述處理單元208對所述矩陣求解后的值,對所述待修補圖像中的所述任一缺失塊進行修補。
在該技術方案中,在對圖像中的缺失塊進行修補時,針對任一缺失塊,可以聚類得到任一缺失塊的相似塊,并建立一個低秩最小化模型(即具有低秩性質(zhì)的矩陣)來恢復丟失區(qū)域,而在解決難解的低秩最小化模型時,本發(fā)明采用核范數(shù)逼近矩陣的秩以簡化這個模型的求解,并在具體求解中應用到了奇異值閾值的方法,提高了對缺失塊修補的準確性,有效地實現(xiàn)了對缺失塊的圖像進行修補的目的。
在上述任一技術方案中,優(yōu)選地,所述聚類單元204包括:采樣單元2042,用于對所述待修補圖像進行多層下采,以得到多個下采圖像;執(zhí)行單元2044,用于在所述待修補圖像和所述多個下采圖像中聚類得到所述任一缺失塊的相似塊。
在該技術方案中,通過對待修補圖像進行多層下采,以在待修補圖像和多個下采圖像中聚類得到任一缺失塊的相似塊,使得能夠在待修補圖像 和多個下采圖像中找到足夠數(shù)量的相似塊,以實現(xiàn)對圖像進行修復的目的。其中,可以采用最近鄰下采樣的方法對待修補圖像進行多層下采。
在上述任一技術方案中,優(yōu)選地,還包括:判斷單元212,用于在對所述待修補圖像進行多層下采的過程中,若所述下采圖像中包含有丟失的像素點,則判斷是否能夠在進行下采操作前的圖像中找到與所述下采圖像中丟失的像素點對應的像素點周圍未丟失的像素點;初始化單元214,用于在所述判斷單元212判定能夠找到所述未丟失的像素點時,通過所述未丟失的像素點的均值對所述下采圖像中丟失的像素點進行初始化,并用于在所述判斷單元212判定不能夠找到所述未丟失的像素點時,通過雙線性插值的方法對所述下采圖像中丟失的像素點進行初始化。
在上述任一技術方案中,優(yōu)選地,所述聚類單元204具體用于:在所述待修補圖像中聚類得到所述任一缺失塊的相似塊。
在上述任一技術方案中,優(yōu)選地,所述修補單元210具體用于:將所述矩陣求解后得到的塊放置在所述任一缺失塊所在的區(qū)域,以對所述任一缺失塊進行修補。
其中,在將矩陣求解后得到的塊放置在任一缺失塊所在的區(qū)域后,若存在缺失塊重疊的位置,則在缺失塊重疊覆蓋的位置,可以根據(jù)該位置處重疊的像素塊的數(shù)量來計算均值進行修補。
綜上所述,本發(fā)明主要提出了一種新的基于多尺度塊聚集和低秩最小化的錯誤隱藏圖像修補方法,對于隨機丟失像素點和有多個塊狀丟失區(qū)域的圖像,在初始化其丟失區(qū)域后,通過建立一個低秩最小化模型來恢復丟失區(qū)域。在解決難解的低秩最小化模型時,采用核范數(shù)逼近矩陣的秩以簡化這個模型的求解,而在具體求解中應用到了奇異值閾值的方法。
為實現(xiàn)以上目的,根據(jù)本發(fā)明的另一個實施例的圖像修補方法,如圖3所示,包括以下步驟:
步驟302,對原始圖像的缺失部分利用鄰近的已知區(qū)域進行初始化。
步驟304,對于原始圖像的每一個包含未知像素點的缺失塊,聚類出相似塊。其中,聚類出相似塊的方法主要由以下兩種方法:
方法一:
對于隨機丟失像素點的圖像,首先用最近鄰下采樣的方法對原圖多層下采構建金字塔。在下采的過程中,下采圖像中丟失的像素點通過取那些對應的在下采前圖像中環(huán)繞在其周圍的未丟失的像素點的均值來初始化;如果有丟失的像素點找不到那些在下采前圖像中對應在其周圍的像素點,則通過雙線性插值的方法對其進行初始化。然后在原始圖像中找缺失塊的相似塊,再在金字塔其它層中尋找那些在原圖中被找到的塊的相似塊,最終形成一個由原始缺失塊聚類出來的類。
方法二:
對于有塊缺失的圖像直接在原圖中為缺失塊聚類出相似塊。
步驟306,將聚類出的塊用列向量表示然后連接起來,構成矩陣后構成一個低秩最小化模型。
步驟308,用核范數(shù)逼近矩陣的秩來簡化模型的求解,再用奇異值閾值的方法來求解。
步驟310,求出解后將解出的塊放回原來所在區(qū)域,塊重疊覆蓋的地方采用“像素塊投票”的方法(即根據(jù)每個位置處重疊的像素塊的個數(shù)和像素值計算均值)取均值后得到結果。
下面分別以對某張隨機丟失像素點的自然圖像和某張含有多個獨立塊狀缺失區(qū)域的自然圖像(假設每個丟失區(qū)域都是正方形)進行修復為例,對本發(fā)明的詳細方法流程作進一步地描述:
1、對某張隨機丟失像素點的自然圖像進行修復
步驟1:對原始缺失圖像的缺失部分利用鄰近的已知區(qū)域進行初始化。
步驟2:對于原始圖像的每一個包含未知像素點的規(guī)格為6×6的缺失塊,順序進行如下的操作:
步驟2.1:為當前缺失塊進行聚類。聚類時,首先對原圖采用最近鄰法進行不同尺度的下采操作,即將原始圖像按照不同比例進行縮小,如具體比例為0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,再加上原圖的尺度是1.0,一共得到10張不同大小的圖像組成金字塔。
下采同時對丟失像素點進行初始化,具體做法是在下采的過程中,下 采圖像中丟失的像素點通過取那些對應地在下采前圖像中環(huán)繞在其周圍的未丟失的像素點的均值來初始化;如果有丟失的像素點找不到那些在下采前圖像中對應在其周圍的像素點,則通過雙線性插值的方法對其進行初始化。
然后在原始圖像中找缺失塊的45個相似塊,再在金字塔其它層中為前面尋找到的45個相似塊各尋找五個相似塊,最終形成一個由原始缺失塊聚類出來的共有(1+45+45×5)=271個塊的類。
步驟2.2:將步驟2.1中聚類出來的相似塊表示成列向量的形式然后連接起來,這樣組成了矩陣M。
然后構造出了低秩最小化的模型:
其中X表示恢復了的矩陣,Ω表示矩陣中對應已知像素的位置。
由于求解上式是非常難的,因此可以使用核范數(shù)逼近矩陣的秩來簡化求解,得到這樣的模型:
其中σi(X)是矩陣X第i大的奇異值,然后對矩陣M進行奇異值分解,將奇異值中小于閾值的忽略掉,即假設對M進行奇異值分解有:
M=UΣVT,
則有:
Sτ(M)=UΣτVT,
其中,Στ=diag(max(σ(M)-τ,0)),
σ(M)表示M的奇異值,
這里σm是圖像的像素缺失率,ε是一個很小的數(shù),用來防止除以0的情況,n是M中相似塊的數(shù)量。
步驟2.3:求解出Sτ(M)后將解得的塊放回圖像中對應的位置,對于重疊區(qū)域采用“像素塊投票”的方法取均值后得到結果。
步驟3:在原圖中每隔四個像素點取一個缺失塊,重復步驟2,直到處理完所有缺失塊。
2、對某張含有塊丟失的自然圖像進行修復
步驟1:對原始缺失圖像的缺失部分利用鄰近的已知區(qū)域進行初始化。
步驟2:對于原始圖像的每一個包含未知像素點的規(guī)格為16×16的缺失塊,順序進行如下的操作:
步驟2.1:為當前缺失塊在原圖中進行聚類。
步驟2.2:將步驟2.1中聚類出來的相似塊表示成列向量的形式然后連接起來,這樣組成了矩陣M。
然后構造出了低秩最小化的模型:
其中X表示恢復了的矩陣,Ω表示矩陣中對應已知像素的位置。
由于求解上式是非常難的,因此可以使用核范數(shù)逼近矩陣的秩來簡化求解,得到一個這樣的模型:
其中σi(X)是矩陣X第i大的奇異值。
然后對矩陣M進行奇異值分解,將奇異值中小于閾值的忽略掉,即假設對M進行奇異值分解有:
M=UΣVT,
則有:
Sτ(M)=UΣτVT,
其中,Στ=diag(max(σ(M)-τ,0)),
σ(M)表示M的奇異值,
這里σm是圖像的缺失率,ε是一個很小的數(shù),被用來防止除以0的情況,n是M中相似塊的數(shù)量。
步驟2.3:求解出Sτ(M)后將解得的塊放回圖像中對應的位置,對于重疊區(qū)域采用“像素塊投票”的方法取均值后得到結果。
步驟3:在原圖中每隔四個像素點取一個缺失塊,重復步驟2,直到處理完所有缺失塊。
本領域技術人員需要理解的是,上述所述的以對某張隨機丟失像素點的自然圖像和某張含有多個獨立塊狀缺失區(qū)域的自然圖像進行修復的方案 中的具體數(shù)值不作具體限定,可以根據(jù)實際情況進行設定。
以上結合附圖詳細說明了本發(fā)明的技術方案,本發(fā)明提出了一種新的圖像修補方案,提高了對圖像中缺失塊修補的準確性,有效地實現(xiàn)了對缺失塊的圖像進行修補的目的。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。