欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于卡通紋理分解的圖像超分辨率重建方法與流程

文檔序號:12906797閱讀:237來源:國知局
一種基于卡通紋理分解的圖像超分辨率重建方法與流程

【技術領域】

本發(fā)明屬于圖像處理領域,具體涉及一種基于卡通紋理分解的圖像超分辨率重建方法。



背景技術:

隨著數字圖像處理技術的不斷深入發(fā)展,人們對高分辨率圖像與視頻的要求與日俱增,為了滿足人們的需求,基于單幀圖像的超分辨率重建技術就誕生了。圖像超分辨率重建是將低分辨率圖像恢復成高分辨率圖像,這一問題一直以來都是圖像領域界研究學者們探究的重要課題。目前,圖像超分辨率重建被廣泛應用于視頻監(jiān)控、衛(wèi)星遙感成像、醫(yī)學圖像等各個領域。

已有的單幀圖像超分辨技術大致可以分為三類:基于插值的方法,基于重建的方法和基于示例學習的方法。基于插值的方法被看作是超分辨率方法中最為基礎的一種方法。盡管理論上講這些方法是高效的,但是在許多實踐過程中重建圖像的質量并不理想?;谥亟ǖ姆椒m然能產生清晰的邊緣并且能抑制人工痕跡的產生,但并沒有為高分辨率圖像的輸出提供任何新的有用的細節(jié),尤其是在高放大倍率的情況下?;谑纠龑W習的方法優(yōu)于基于重建的方法,但在重建過程中會產生模糊效應,使低分辨率圖像塊不利于與實際圖像塊進行匹配,從而降低了重建圖像的質量。

目前較流行的一種圖像超分辨率方法是改進的鄰域錨點映射方法,該方法主要分為離線的樣本庫訓練和在線的圖像重構兩部分。在訓練過程中,對收集到的高分辨率圖像進行下采樣得到低分辨率圖像;然后將低分辨率圖像經雙線性插值算法放大,將得到的雙線性插值圖像依次實施提取梯度特征、分塊、降維操作得到具有低頻信息的低分辨率塊;而具有高頻信息的預測插值圖像則通過原始高分辨率圖像減去低分辨率圖像的雙線性插值圖像獲得,然后將圖像做分塊處理,得到具有高頻信息的高分辨率塊。這樣,在訓練數據庫中就存在著低分辨率塊和與之對應的高分辨率塊的樣本對了。訓練完樣本對后,進行錨點映射操作。在這一訓練過程中,首先計算每一個樣本與每一個錨點的歐式距離,然后找錨點的最近鄰樣本完成錨點映射這一訓練過程。這樣,離線的訓練過程也就完成了。

在訓練樣本對的過程中,該方法只是簡單的對高分辨率圖像進行處理。這樣,在得到低分辨率圖像過程中會產生模糊效應,使得所產生的低分辨率塊與實際圖像不匹配,存在多對一的情況。在錨點映射過程,該方法僅僅通過尋找錨點的最近鄰樣本來完成錨點映射這一訓練過程。這樣,所得到的映射矩陣與實際映射矩陣之間會產生較大誤差。因此,這種方法往往會使重建出來的圖像丟失細節(jié)、模糊邊緣。



技術實現(xiàn)要素:

針對現(xiàn)有技術的不足,發(fā)明的目的在于提供一種基于卡通紋理分解的圖像超分辨率重建方法,既能有效地避免因噪聲產生的紋理,同時又能有效地保持圖像內容,使圖像的結構更加明顯。

為了達到上述目的,本發(fā)明采用如下技術方案:

一種基于卡通紋理分解的圖像超分辨率重建方法,包括以下步驟:

s1:離線訓練過程包括兩個訓練過程:第一個訓練過程通過k-奇異值分解算法訓練出高低分辨率紋理字典對;第二個訓練過程通過離線紋理錨點映射,找出樣本對應的最近錨點,還要找出錨點對應的最近樣本,認為每一對字典原子為一個錨點,代表一種紋理類型;

s2:將低分辨率輸入圖像進行卡通紋理分解;

s3:基于改進的全變分正則化方法重建出低分辨率卡通圖像對應的高分辨率卡通圖像;

s4:通過改進的基于外部訓練樣本紋理錨點映射矩陣的超分辨率方法重建出低分辨率紋理圖像對應的高分辨率紋理圖像;

s5:將重建出的卡通圖像與紋理圖像進行相加輸出要得到的高分辨率圖像。

進一步,所述步驟s1具體包括以下步驟:

s11:收集高分辨率訓練圖像,然后對每一幅高分辨率訓練圖像進行卡通紋理分解,得到高分辨率訓練紋理圖像和高分辨率訓練卡通圖像,通過k-奇異值分解算法訓練高低分辨率紋理字典對,并將訓練結果存儲在參數庫中;

s12:對每一幅分解得到的高分辨率訓練紋理圖像實施如下步驟:

步驟(1)將高分辨率訓練紋理圖像切割成高和寬分別能被放大倍數整除的圖像y;

步驟(2)對圖像y進行采樣得到低分辨率紋理圖像yl;然后通過雙立方插值算法,將低分辨率紋理圖像yl進行圖像放大,并將放大后的圖像表示為ym;

步驟(3)使用f1=[-101]對圖像ym進行卷積,得到圖像ym的一階垂直梯度圖像使用f2=[-101]t對圖像ym進行卷積,得到圖像ym的一階水平梯度圖像使用f3=[-1020-1]對圖像ym進行卷積,得到圖像ym的二階垂直梯度圖像使用f4=[-1020-1]t對圖像ym進行卷積,得到圖像ym的二階水平梯度圖像分別分為n個圖像塊,將對應位置的圖像塊都變成列向量,再將四個列向量連接為一個列向量,并通過主成分分析算法來完成這些向量的降維,記這些向量為低頻特征向量其中,n表示訓練樣本的數目;

步驟(4)將高分辨率圖像y與放大后的圖像ym進行減法操作,得到具有高頻信息的圖像yh,數學公式如式(1)所示:

y-ym=y(tǒng)h(1)

然后將圖像yh分為n塊,得到圖像塊集合pil和pih形成了樣本對,n個訓練樣本對形成樣本對集合

步驟(5)對每一個訓練樣本和每一個錨點分別進行標號;

步驟(6)計算每一個樣本與第α個錨點的歐式距離,其中,α=1,2,3···m,m表示錨點的個數,將距離按從小到大的順序進行排序,然后按此順序將樣本進行排序并記錄其標號;將前n個樣本號碼按順序分別記為α1,α2···αn,將錨點α對應的與其最近的n個樣本號碼形成的集合記為ωα,則得到ωα={αw|w=1,2,3···n};

步驟(8)計算每一個錨點與樣本αw的歐式距離,將距離按從小到大的順序進行排序,然后按此順序將錨點進行排序并記錄其標號,將前m個錨點號碼形成的集合記為γ,則得到樣本αw對應的與其最近的m個錨點形成的集合即γ;如果集合γ中包括α,則將αw記入最終的第α個錨點的匹配樣本號碼集重復該步驟直到確定所有ωα中的樣本是否能計入當確定中的所有樣本號碼之后,將這些號碼對應的樣本對記為將所有號碼在中低分辨率特征樣本合并為矩陣,記為合并的方法是將作為的每一列,將所有號碼在中高分辨率特征樣本合并為矩陣,記為作為的每一列;重復操作步驟(7)和步驟(8),直到將m個錨點對應的樣本集找完;

步驟(9)根據以上步驟得出計算映射矩陣λα,數學表達式如式(2)所示。

其中,表示的是對應低分辨率空間的鄰域,表示的是對應高分辨率空間的鄰域,λα表示的是從低分辨率空間到高分辨率空間的映射矩陣,i表示單位矩陣,λ表示的是拉格朗日乘子。最后將訓練結果儲存到參數庫中。

進一步,所述步驟s2具體步驟如下:

步驟(1)輸入低分辨率測試圖像;

步驟(2)將低分辨率測試圖像切割為圖像塊,記圖像塊集合為其中,h表示分塊數目,并用這h個圖像塊訓練一個低分辨率字典a,其訓練過程采用k-奇異值分解方法;

步驟(3)設定一個紋理/卡通原子的閾值e;

步驟(4)將低分辨率字典a的第g個原子排成方陣ag;

步驟(5)使用g1=[1-1]對方陣ag進行卷積,得到方陣ag的一階垂直梯度矩陣使用g2=[1-1]t對方陣ag進行卷積,得到方陣ag的一階水平梯度矩陣

步驟(6)使用如下公式計算第g個原子對應的參數μg:

步驟(7)重復步驟(4)、(5)、(6)直到完成所有原子對應的參數μ的計算;

步驟(8)將所有原子對應的參數μ進行比較,將其中參數值最大的記為

步驟(9)使用如下公式計算第g個原子對應的活性qg;

步驟(10)判斷第g個原子對應的活性qg是否滿足下列不等式:

qg≤e(5)

如果滿足則將該原子歸屬于卡通字典原子;如果不滿足則將該原子歸屬于紋理字典原子。

步驟(11)通過以上步驟就將整體字典a分解為卡通字典ac和紋理字典at;

步驟(12)通過下面的公式分別得到卡通字典ac和紋理字典at所對應的稀疏表示系數;

其中,u表示測試圖像,λ表示拉格朗日乘子,ac表示卡通字典,at表示紋理字典,xc表示卡通部分對應的稀疏表示系數,xt表示紋理部分對應的稀疏表示系數。

步驟(13)通過下面的公式分別得到卡通圖像uc和紋理圖像ut;

進一步,所述步驟s3輸入低分辨率卡通測試圖像uc,對圖像uc進行η次迭代,得到高分辨率卡通圖像,具體迭代步驟如下:

步驟(1)通過雙立方插值將低分辨率卡通圖像uc進行放大,并將放大后的圖像表示為然后將放大后的圖像下采樣得到圖像并對低分辨率卡通圖像uc和下采樣得到圖像做減法,得到圖像

步驟(2)將低分辨率卡通圖像放大后的圖像的第i行第j列的像素值表示為通過模板z1=[-101]t對圖像進行模板加權運算,得到偏導數學表達式如下式所示:

步驟(3)通過模板z2=[-101]對圖像進行模板加權運算,得到偏導數學表達式如下式所示:

步驟(4)通過使用模板z3=[-1020-1]t對圖像進行模板加權運算,得到偏導數學表達式如下式所示:

步驟(5)通過模板z4=[-1020-1]對圖像進行模板加權運算,得到偏導數學表達式如下式所示:

步驟(6)通過模板z1=[-101]t,z2=[-101],z5=[10-1]t,z6=[10-1]對圖像進行模板加權運算,得到偏導數學表達式如下式所示:

步驟(7)當迭代次數小于10次時使用如下公式計算參數φj

當迭代次數大于10次時使用如下公式計算參數φj

步驟(8)將與高斯低通濾波器做卷積運算得到

步驟(9)將與高斯低通濾波器做卷積運算得到

步驟(10)高分辨率卡通圖像的迭代公式為:

其中,j表示這次迭代的迭代次數,λ表示的是拉格朗日乘子,γ是一個正參數。

進一步,步驟s4包括以下步驟:

步驟(1)輸入低分辨率的紋理測試圖像ut,通過雙立方插值進行圖像放大,并將放大后的圖像表示為

步驟(2)使用f1=[-101]對圖像進行卷積,得到圖像的一階垂直梯度圖像使用f2=[-101]t對圖像進行卷積,得到圖像的一階水平梯度圖像使用f3=[-1020-1]對圖像進行卷積,得到圖像的二階垂直梯度圖像使用f4=[-1020-1]t對圖像進行卷積,得到圖像的二階水平梯度圖像分別分為m個圖像塊,將對應位置的圖像塊都變成列向量,再將四個列向量連接為一個列向量,并通過主成分分析算法來完成這些向量的降維,記這些向量為低頻特征向量其中,r表示分塊的數目;

步驟(3)根據訓練好映射矩陣集重建出具有高頻分量的高分辨率塊pih,h,重建公式如下所示:

pih,h=λα×pil,t(19)

步驟(4)將低頻分量加到每一個重建的高分辨率塊pih,h上,得到最終的高分辨率紋理塊公式如下所示;

pih,h,t=pil,t+pih,h(20)

步驟(5)通過將高分辨率紋理塊放到合適的位置上并平均重疊區(qū)域輸出高分辨率紋理圖像。

本發(fā)明一種基于卡通紋理分解的圖像超分辨率重建方法,先將測試圖像分解為卡通和紋理兩部分,根據這兩部分各自的特點分別采用改進的全變分正則化方法和改進的基于外部訓練樣本紋理錨點映射矩陣的超分辨率方法,這樣可以將改進的全變分正則化方法和改進的基于外部訓練樣本紋理錨點映射矩陣的超分辨率方法有效結合,既具有較好的去噪能力和較強的邊緣保持能力,又具有良好的適應性和魯棒性。

【附圖說明】

圖1是本發(fā)明提出的一種基于卡通紋理分解的圖像超分辨率重建方法的總體流程圖;

圖2測試圖像分解為卡通與紋理這一步驟的算法的流程圖;

圖3訓練過程中訓練樣本對這一過程的流程圖;

圖4本發(fā)明所使用的錨點映射方法的流程圖;

圖5本發(fā)明所使用的改進的全變分正則化方法的流程圖;

圖6是將測試圖像分解為卡通與紋理的實驗結果圖;

圖7是本發(fā)明所提方法的實驗結果圖;

圖8是各種算法重建圖像的峰值信噪比(psnr)比較結果圖;

【具體實施方式】

下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

下面對本發(fā)明作進一步的詳細說明。

如圖1所示,本發(fā)明公開了一種基于卡通紋理分解的圖像超分辨率重建方法,具體步驟如下:

s1:離線訓練過程包括兩個訓練過程。第一個訓練過程是通過k-奇異值分解算法訓練出高低分辨率紋理字典對;第二個訓練過程是離線紋理錨點映射,這一過程中的錨點映射方法與傳統(tǒng)的錨點映射方法顯著不同。本錨點映射方法不僅找樣本對應的最近錨點,還要找錨點對應的最近樣本,來完成錨點映射這一過程。認為每一對字典原子為一個錨點,代表一種紋理類型。

具體的實施步驟如下:

s11:收集大量的高分辨率訓練圖像,然后對每一幅高分辨率訓練圖像進行卡通紋理分解,得到高分辨率訓練紋理圖像和高分辨率訓練卡通圖像。本發(fā)明中所用的高分辨率訓練圖像是從網上下載得到的。通過k-奇異值分解算法訓練高低分辨率紋理字典對,并將訓練結果存儲在參數庫中。

如圖3所示,s12:對每一幅分解得到的高分辨率訓練紋理圖像實施如下步驟:

步驟(1)將高分辨率訓練紋理圖像切割成高和寬分別能被放大倍數整除的圖像y。

步驟(2)對圖像y進行下采樣操作得到低分辨率紋理圖像yl。然后通過雙立方插值算法,將低分辨率紋理圖像yl進行圖像放大,并將放大后的圖像表示為ym。

步驟(3)使用f1=[-101]對圖像ym進行卷積,得到圖像ym的一階垂直梯度圖像使用f2=[-101]t對圖像ym進行卷積,得到圖像ym的一階水平梯度圖像使用f3=[-1020-1]對圖像ym進行卷積,得到圖像ym的二階垂直梯度圖像使用f4=[-1020-1]t對圖像ym進行卷積,得到圖像ym的二階水平梯度圖像分別分為n個圖像塊,將對應位置的圖像塊都變成列向量,再將四個列向量連接為一個列向量,并通過主成分分析算法來完成這些向量的降維,記這些向量為低頻特征向量其中,n表示訓練樣本的數目。

步驟(4)將高分辨率圖像y與放大后的圖像ym進行減法操作,得到具有高頻信息的圖像yh。數學公式如下所示。

y-ym=y(tǒng)h(1)

然后將圖像yh分為n塊,得到圖像塊集合pil和pih形成了樣本對,n個訓練樣本對形成了樣本對集合

如圖4所示,步驟(5)對每一個訓練樣本和每一個錨點都分別進行標號。

步驟(6)計算每一個樣本與第α個錨點的歐式距離(其中,α=1,2,3···m,m表示錨點的個數),將距離按從小到大的順序進行排序,然后按此順序將樣本進行排序并記錄其標號。將前n個樣本號碼按順序分別記為α1,α2···αn,將錨點α對應的與其最近的n個樣本號碼形成的集合記為ωα。則得到ωα={αw|w=1,2,3···n}。

步驟(8)計算每一個錨點與樣本αw的歐式距離,將距離按從小到大的順序進行排序,然后按此順序將錨點進行排序并記錄其標號。將前m個錨點號碼形成的集合記為γ,則得到樣本αw對應的與其最近的m個錨點形成的集合即γ。如果集合γ中包括α,則將αw記入最終的第α個錨點的匹配樣本號碼集重復該步驟直到確定所有ωα中的樣本是否能計入當確定中的所有樣本號碼之后,將這些號碼對應的樣本對記為將所有號碼在中低分辨率特征樣本合并為矩陣,記為合并的方法是將作為的每一列。將所有號碼在中高分辨率特征樣本合并為矩陣,記為合并的方法是將作為的每一列。重復操作步驟(7)和步驟(8),直到將m個錨點對應的樣本集找完。

步驟(9)根據以上步驟得出計算映射矩陣λα。數學表達式如下所示。

其中,表示的是對應低分辨率空間的鄰域,表示的是對應高分辨率空間的鄰域,λα表示的是從低分辨率空間到高分辨率空間的映射矩陣,i表示單位矩陣,λ表示的是拉格朗日乘子。最后將訓練結果儲存到參數庫中。

s2:將低分辨率輸入圖像進行卡通紋理分解。

如圖2所示,具體的實施步驟如下:

步驟(1)輸入低分辨率測試圖像。

步驟(2)將低分辨率測試圖像切割為圖像塊,記圖像塊集合為其中,h表示分塊數目。并用這h個圖像塊訓練一個低分辨率字典a,其訓練過程采用k-奇異值分解方法。

步驟(3)設定一個紋理/卡通原子的閾值e。

步驟(4)將低分辨率字典a的第g個原子排成方陣ag。

步驟(5)使用g1=[1-1]對方陣ag進行卷積,得到方陣ag的一階垂直梯度矩陣使用g2=[1-1]t對方陣ag進行卷積,得到方陣ag的一階水平梯度矩陣

步驟(6)使用如下公式計算第g個原子對應的參數μg:

步驟(7)重復步驟(4)、(5)、(6)直到完成所有原子對應的參數μ的計算。

步驟(8)將所有原子對應的參數μ進行比較,將其中參數值最大的記為

步驟(9)使用如下公式計算第g個原子對應的活性qg。

步驟(10)判斷第g個原子對應的活性qg是否滿足下列不等式:

qg≤e(5)

如果滿足則將該原子歸屬于卡通字典原子;如果不滿足則將該原子歸屬于紋理字典原子。

步驟(11)通過以上步驟就可以將整體字典a分解為卡通字典ac和紋理字典at。

步驟(12)通過下面的公式分別得到卡通字典ac和紋理字典at所對應的稀疏表示系數。

其中,u表示測試圖像,λ表示拉格朗日乘子,ac表示卡通字典,at表示紋理字典,xc表示卡通部分對應的稀疏表示系數,xt表示紋理部分對應的稀疏表示系數。

步驟(13)通過下面的公式分別得到卡通圖像uc和紋理圖像ut。

s3:基于一種改進的全變分正則化方法重建出低分辨率卡通圖像對應的高分辨率卡通圖像。

對步驟s3進一步詳細說明:輸入低分辨率卡通測試圖像uc,對圖像uc進行η次迭代,得到高分辨率卡通圖像。

如圖5所示,第j步具體迭代步驟如下所示。

步驟(1)通過雙立方插值將低分辨率卡通圖像進行放大,并將放大后的圖像表示為然后將放大后的圖像下采樣得到圖像并對低分辨率卡通圖像和下采樣得到圖像做減法,得到圖像數學表達式如下式所示。

步驟(2)將低分辨率卡通圖像放大后的圖像的第i行第j列的像素值表示為通過使用模板z1=[-101]t對圖像進行模板加權運算,得到偏導數學表達式如下式所示。

步驟(3)通過使用模板z2=[-101]對圖像進行模板加權運算,得到偏導數學表達式如下式所示。

步驟(4)通過使用模板z3=[-1020-1]t對圖像進行模板加權運算,得到偏導數學表達式如下式所示。

步驟(5)通過使用模板z4=[-1020-1]對圖像進行模板加權運算,得到偏導數學表達式如下式所示。

步驟(6)通過使用模板z1=[-101]t,z2=[-101],z5=[10-1]t,z6=[10-1]對圖像進行模板加權運算,得到偏導數學表達式如下式所示。

步驟(7)當迭代次數小于10次時使用如下公式計算參數φj

當迭代次數大于10次時使用如下公式計算參數φj

步驟(8)將與高斯低通濾波器做卷積運算得到

步驟(9)將與高斯低通濾波器做卷積運算得到

步驟(10)高分辨率卡通圖像的迭代公式為:

其中,j表示這次迭代的迭代次數,λ表示的是拉格朗日乘子,γ是一個正參數。

s4:通過一種改進的基于外部訓練樣本紋理錨點映射矩陣的超分辨率方法重建出低分辨率紋理圖像對應的高分辨率紋理圖像。對步驟s4實施如下步驟:

步驟(1)輸入低分辨率的紋理測試圖像ut,通過雙立方插值進行圖像放大,并將放大后的圖像表示為

步驟(2)使用f1=[-101]對圖像進行卷積,得到圖像的一階垂直梯度圖像使用f2=[-101]t對圖像進行卷積,得到圖像的一階水平梯度圖像使用f3=[-1020-1]對圖像進行卷積,得到圖像的二階垂直梯度圖像使用f4=[-1020-1]t對圖像進行卷積,得到圖像的二階水平梯度圖像分別分為m個圖像塊,將對應位置的圖像塊都變成列向量,再將四個列向量連接為一個列向量,并通過主成分分析算法來完成這些向量的降維,記這些向量為低頻特征向量其中,r表示分塊的數目。

步驟(3)根據訓練好映射矩陣集重建出具有高頻分量的高分辨率塊pih,h。重建公式如下所示。

pih,h=λα×pil,t(19)

步驟(4)將低頻分量加到每一個重建的高分辨率塊pih,h上,得到最終的高分辨率紋理塊公式如下所示。

pih,h,t=pil,t+pih,h(20)

步驟(5)通過將高分辨率紋理塊放到合適的位置上并平均重疊區(qū)域輸出高分辨率紋理圖像。

s5:將重建出的卡通圖像與紋理圖像進行相加從而輸出想要得到的高分辨率圖像。

如圖6-8所示,本發(fā)明通過計算峰值信噪比(psnr)來衡量超分辨率圖像重建的結果。

均方誤差(mse)反映了原始圖像與待評價圖像之間的差異性,其計算公式如下式所示。

其中,ξ為圖像數據的行、列數,xi,j為原始圖像第i行第j列的像素值,yi,j為待評價圖像第i行第j列的像素值。

峰值信噪比(psnr)反映了待評價圖像的逼真度,其計算公式如下式所示。

其中,l表示像素點的動態(tài)變化范圍。

以上所述是本發(fā)明的優(yōu)選實施方式,通過上述說明內容,本技術領域的相關工作人員可以在不偏離本發(fā)明技術原理的前提下,進行多樣的改進和替換,這些改進和替換也應視為本發(fā)明的保護范圍。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
通化市| 许昌市| 宜昌市| 喀喇沁旗| 通化市| 鄄城县| 辉县市| 宁陵县| 澜沧| 嘉峪关市| 安义县| 长顺县| 铜川市| 昆明市| 吉木萨尔县| 孝昌县| 乌兰浩特市| 鸡泽县| 彭阳县| 黑山县| 项城市| 秭归县| 罗山县| 当涂县| 镇雄县| 邯郸县| 察哈| 瑞金市| 浙江省| 彝良县| 昆山市| 牡丹江市| 宁都县| 阆中市| 崇仁县| 唐海县| 凯里市| 图们市| 连云港市| 城市| 华坪县|