亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向移動目標(biāo)識別的輕量化網(wǎng)絡(luò)模型

        2021-07-13 14:37:46符惠桐王鵬李曉艷呂志剛邸若海
        關(guān)鍵詞:剪枝輕量化卷積

        符惠桐,王鵬,李曉艷,呂志剛,邸若海

        (西安工業(yè)大學(xué)電子信息工程學(xué)院,710021,西安)

        目標(biāo)識別的主要研究內(nèi)容是從海量圖像中高效、準(zhǔn)確地定位和識別預(yù)定義的特殊目標(biāo)[1]。深度學(xué)習(xí)強(qiáng)大的表征能力和建模能力在很大程度上克服了復(fù)雜環(huán)境、光照變換、物體形變等對識別結(jié)果的影響[2-3]。在多種領(lǐng)域,傳統(tǒng)的人力活動將被智能化、無人化的智能設(shè)備所取代[4]。此外,在實(shí)際生活中,可見光圖像大多受到光線、遮擋或者背景復(fù)雜等因素的影響,目標(biāo)識別精度降低[5-6],而且人們也無法攜帶大型設(shè)備來支撐基于深度學(xué)習(xí)的目標(biāo)檢測算法,將輕量化的目標(biāo)檢測模型植入嵌入式設(shè)備才更接近于實(shí)際生活的使用要求[7]。目前,大多數(shù)的目標(biāo)檢測算法需要GPU的加速支持才能在短時(shí)間內(nèi)訓(xùn)練完成深度學(xué)習(xí)算法,達(dá)到實(shí)時(shí)檢測的效果[8]。

        隨著計(jì)算機(jī)硬件水平的發(fā)展,計(jì)算機(jī)的算力資源得到極大提升,基于深度學(xué)習(xí)的目標(biāo)識別算法發(fā)展也日新月異。2017年,Howard等提出了輕量級骨干網(wǎng)絡(luò)MobileNets,引入深度可分離卷積模塊,減少了大量的卷積運(yùn)算與浮點(diǎn)運(yùn)算[9],但網(wǎng)絡(luò)本身參數(shù)少,提取特征能力不足,識別精度較低。2019年,Lee等基于VoVNetV2骨干網(wǎng)絡(luò)提出了一種輕量化的無錨點(diǎn)目標(biāo)檢測實(shí)時(shí)算法CenterMask-Lite[10],對骨干網(wǎng)絡(luò)進(jìn)行優(yōu)化,緩解通道信息丟失問題,在COCO數(shù)據(jù)集[11]上均值平均精度(mAP)達(dá)到40.7%,但需要類似于RTX 2080Ti顯卡的算力支持。同年,Google公司的Tan等提出了可擴(kuò)展的目標(biāo)識別模型EfficientDet,基于神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索技術(shù)提出了多種規(guī)模模型以適應(yīng)不同平臺[12],但存在小規(guī)模模型精確度不足、大規(guī)模模型訓(xùn)練困難的問題。2020年,Han等提出了新的輕量化網(wǎng)絡(luò)GhostNet,利用線性變化生成更多的特征圖,以很小的代價(jià)從原始特征中挖掘更多特征信息,在效率以及準(zhǔn)確率方面都優(yōu)于最新的輕量化網(wǎng)絡(luò)[13]。同年,Bochkovskiy等匯集主流的優(yōu)化技巧和更復(fù)雜的網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)出YOLOv4,可以在單顯卡上進(jìn)行快速、精準(zhǔn)的訓(xùn)練與檢測,是一個(gè)實(shí)用性極強(qiáng)的目標(biāo)檢測算法[14],但模型參數(shù)量依然很多,模型體積很大。圖1展示了目前主流算法在COCO數(shù)據(jù)集上檢測的準(zhǔn)確率與檢測速度,算法運(yùn)行環(huán)境均為Nvidia RTX 2080Ti顯卡,藍(lán)色區(qū)域表示檢測速度高于25幀/s,可以看出,很難有算法可同時(shí)滿足高檢測速度和高檢測精度的需求。

        圖1 部分主流目標(biāo)檢測算法性能

        針對現(xiàn)有的輕量化模型無法兼顧檢測速度和檢測精度的問題,本文選取目前主流的目標(biāo)識別算法YOLOv4進(jìn)行模型輕量化,通過融入多個(gè)空間金字塔池化(SPP)模塊優(yōu)化模型性能,并且利用輕量化Ghost卷積模塊結(jié)合通道剪枝極限壓縮的方法,對模型進(jìn)行高效的壓縮與加速,獲得精度高、體積小、效率高的目標(biāo)識別模型,從而適合部署于資源有限的嵌入式平臺上。

        1 YOLOv4目標(biāo)識別算法

        YOLOv4[14]目標(biāo)識別算法兼顧了檢測效率和準(zhǔn)確率,是一種實(shí)時(shí)高效的一階段目標(biāo)識別算法。YOLOv4算法在原有的YOLO框架之上,對特征提取骨干網(wǎng)絡(luò)、用于特征融合的頸部網(wǎng)絡(luò)以及進(jìn)行分類回歸的預(yù)測頭輸出進(jìn)行了優(yōu)化,集成了近年來深度卷積神經(jīng)網(wǎng)絡(luò)中優(yōu)秀的算法和模型。骨干網(wǎng)絡(luò)在YOLOv3原有的Darknet53基礎(chǔ)之上,結(jié)合交叉階段部分連接(CSP)[15]設(shè)計(jì)出CSPDarknet53特征提取網(wǎng)絡(luò),新的骨干網(wǎng)絡(luò)在減少計(jì)算復(fù)雜度的同時(shí),保證了網(wǎng)絡(luò)的識別效果;頸部網(wǎng)絡(luò)在原有的特征金字塔[16]基礎(chǔ)上,結(jié)合路徑聚合網(wǎng)絡(luò)[17]的思想,引入SPP[18],SPP模塊有效增大了網(wǎng)絡(luò)的感受野,將局部特征與全局特征進(jìn)行融合,提升了檢測器性能,路徑聚合的連接方式有利于特征信息更好地從下向上傳遞,有效改善了深層網(wǎng)絡(luò)丟失淺層特征信息的問題;預(yù)測頭結(jié)構(gòu)沒有變化,對損失函數(shù)及非極大值抑制算法(NMS)進(jìn)行了優(yōu)化。采用CIOU-Loss損失函數(shù),綜合考慮目標(biāo)框重疊面積(即交并比IoU)、中心點(diǎn)距離、長寬比的各項(xiàng)損失,使預(yù)測框的回歸速度與精度均達(dá)到最優(yōu)。非極大值抑制算法采用DIOU-NMS,綜合考慮重合邊界框的IOU和距離信息,有效提升了重疊目標(biāo)的檢測性能。YOLOv4的算法框架如圖2所示。圖中:CBL和CBM模塊是在卷積層(Conv)后融入批處理歸一化(BN)[19]操作以及采用Leaky relu、Mish激活函數(shù)的卷積模塊;拼接操作表示對相同尺寸的特征圖進(jìn)行特征通道的拼接;特征相加表示對具有相同尺寸的特征圖進(jìn)行相加。

        圖2 YOLOv4算法框架

        2 采用Ghost模塊的YOLO目標(biāo)識別算法

        為壓縮YOLOv4模型體積,本文提出了一種采用Ghost模塊的YOLO目標(biāo)識別算法GS-YOLO。首先基于Ghost模塊重構(gòu)目標(biāo)識別模型;其次融入多個(gè)空間金字塔池化模塊,在不同尺度上進(jìn)行特征信息的融合;然后采用通道剪枝極限壓縮的方法壓縮識別模型;最后利用微調(diào)的方法恢復(fù)識別精度,從而獲得高精度、體積小、運(yùn)行效率高的輕量化目標(biāo)識別模型。

        GS-YOLO算法整體流程如圖3所示。首先,建立初始目標(biāo)檢測網(wǎng)絡(luò)模型G-YOLO。采用Ghost卷積模塊完成卷積操作,以簡單的線性映射生成Ghost特征圖,在保證通道數(shù)不變的情況下,減少網(wǎng)絡(luò)參數(shù)和浮點(diǎn)型運(yùn)算,縮減模型體積,提升計(jì)算速度。在模型中融入多個(gè)SPP模塊,在不同的尺度將不同感受野尺寸的特征信息進(jìn)行融合,豐富特征圖信息,從而有效提升檢測器的檢測精度,完成G-YOLO模型的建立。然后,利用通道剪枝極限壓縮方法剔除冗余參數(shù),得到緊湊的GS-YOLO模型?;谕ǖ老∈杌姆绞接?xùn)練初始模型G-YOLO有助于通道剪枝時(shí)區(qū)分重要信道與非重要信道。利用通道裁剪操作,去除小尺度因子的非重要通道,減小網(wǎng)絡(luò)模型體積與運(yùn)算量、防止網(wǎng)絡(luò)模型過擬合。最后,對剪枝模型進(jìn)行微調(diào),在保證檢測速度的同時(shí),提升模型壓縮后目標(biāo)識別的檢測精度。

        圖3 GS-YOLO算法流程

        2.1 基于Ghost卷積模塊重構(gòu)識別網(wǎng)絡(luò)

        Han等發(fā)現(xiàn),特征中的冗余是卷積神經(jīng)網(wǎng)絡(luò)成功應(yīng)用到圖像領(lǐng)域的重要原因,因此提出Ghost輕量化卷積模塊[13]。在進(jìn)行卷積運(yùn)算時(shí):輸入數(shù)據(jù)為X∈Rc×h×w,其中c為輸入的通道數(shù),h和w為輸入數(shù)據(jù)的長和寬;卷積核f∈Rc×k×k×n,其中k為卷積核尺寸,n為卷積核數(shù)量。通過標(biāo)準(zhǔn)卷積公式得到特征圖,公式為

        Y=X*f+b

        (1)

        式中:*為卷積操作;b為偏置項(xiàng);Y∈Rh′×w′×n為輸出特征圖,h′與w′為輸出特征的長和寬。標(biāo)準(zhǔn)的卷積操作中浮點(diǎn)型運(yùn)算量為n×h′×w′×c×k×k,卷積操作如圖4a所示,其中包含著大量相似的冗余特征。在Ghost模塊中,采用更廉價(jià)的線性操作完成冗余特征的生成,減少大量的卷積運(yùn)算。Ghost模塊首先利用標(biāo)準(zhǔn)卷積生成m層通道的本源特征Y′,Y′∈Rh′×w′×m,m為本源特征通道數(shù)且m≤n。然后,基于Y′利用簡單的線性變化得到幻影特征

        (2)

        (a)標(biāo)準(zhǔn)卷積

        (3)

        若d×d與k×k相同,且s?c,則理論上速度提升為原來的s倍。在整個(gè)YOLOv4的網(wǎng)絡(luò)中,本文替換所有的傳統(tǒng)卷積模塊為Ghost卷積模塊。

        2.2 YOLOv4模型優(yōu)化

        圖5 SPP模塊

        輸入的特征圖通過3個(gè)不同尺度的內(nèi)核做最大池化操作,再通過拼接操作將得到的特征圖進(jìn)行拼接。最終,輸出特征圖的特征通道數(shù)為輸入特征圖通道數(shù)的4倍。輸出特征圖尺寸為

        (4)

        最大池化操作可以有效地保留特征,SPP模塊相對于固定內(nèi)核尺寸的最大池化操作擴(kuò)大了感受野,通過不同尺寸的內(nèi)核得到了全局特征和局部特征,并進(jìn)行了特征融合,豐富了特征信息,從而提升了檢測性能。

        本文綜合考慮引入?yún)?shù)以及SPP模塊的實(shí)際應(yīng)用,在頸部網(wǎng)絡(luò)末端融入多個(gè)SPP模塊??紤]到參數(shù)影響,采用YOLOv4中各個(gè)內(nèi)核尺寸,即13×13、9×9、5×5。此外,將SPP模塊后一個(gè)卷積層的卷積核尺寸由3×3修改為1×1,減少模型參數(shù)量。SPP模塊引入位置如圖6所示。引入多個(gè)SPP模塊后的YOLOv4模型稱為YOLOv4-3SPP。

        圖6 SPP模塊引入位置

        2.3 模型通道稀疏化訓(xùn)練

        通道剪枝需要刪除對應(yīng)通道的所有輸入與輸出連接,Liu等從通道剪枝的角度出發(fā),提出了基于通道剪枝的網(wǎng)絡(luò)瘦身方法[20],通道稀疏化訓(xùn)練可以幫助通道剪枝操作區(qū)分重要通道與非重要通道[21]。圖7是通道稀疏化訓(xùn)練及剪枝,第i個(gè)卷積層每一個(gè)通道分配一個(gè)尺度因子γ,以γ的絕對值作為評價(jià)該通道重要性的依據(jù)。經(jīng)過稀疏化訓(xùn)練后,尺度因子γ的分布向0靠近,通過設(shè)定閾值剪切掉這些通道及連接,進(jìn)而減少計(jì)算量和模型大小。

        圖7 通道稀疏化訓(xùn)練及剪枝

        在YOLOv4中,除預(yù)測頭結(jié)構(gòu)外,每一個(gè)卷積層后均有BN層。若yin和yout表示BN層的輸入和輸出,則BN層的轉(zhuǎn)換為

        (5)

        式中:μ和σ2為小批次輸入特征圖的均值和方差;β為偏置;ε為極小因子,防止分母為0。在訓(xùn)練時(shí),通過L1正則項(xiàng)對γ進(jìn)行稀疏化訓(xùn)練,稀疏化訓(xùn)練的損失函數(shù)為

        (6)

        2.4 目標(biāo)檢測模型剪枝與微調(diào)

        3 實(shí)驗(yàn)與分析

        3.1 實(shí)驗(yàn)環(huán)境

        實(shí)驗(yàn)的測試環(huán)境為Ubuntu 16.04操作系統(tǒng)。利用Pytorch和Darknet深度學(xué)習(xí)框架實(shí)現(xiàn)GS-YOLO目標(biāo)識別算法。服務(wù)器硬件配置為Nvidia GTX1060顯卡、Intel Core i7處理器;性能驗(yàn)證嵌入式平臺采用Nvidia Jetson TX2移動開發(fā)板。

        3.2 實(shí)驗(yàn)數(shù)據(jù)集

        根據(jù)實(shí)際應(yīng)用的需求,本文著重對人、車輛、飛機(jī)等目標(biāo)進(jìn)行識別。因?yàn)檠芯勘尘疤厥?目前沒有公開數(shù)據(jù)集,故首先進(jìn)行數(shù)據(jù)集收集制作。數(shù)據(jù)集圖像主要來源于:內(nèi)部資料、Imagenet數(shù)據(jù)集、標(biāo)準(zhǔn)COCO數(shù)據(jù)集、網(wǎng)絡(luò)資源下載、影視資源截圖等。

        通過裁剪、旋轉(zhuǎn)、增加噪聲等方法對搜集的數(shù)據(jù)集進(jìn)行增強(qiáng),最終獲得30 704張數(shù)據(jù)樣本,包含人、車輛、飛機(jī)的樣本各20 429、9 877、3 972張。按照YOLO算法所需的格式進(jìn)行人工數(shù)據(jù)標(biāo)注,圖像樣本如圖8所示。

        圖8 部分?jǐn)?shù)據(jù)樣本

        3.3 模型重構(gòu)及優(yōu)化實(shí)驗(yàn)

        基于YOLOv4融入多個(gè)SPP模塊得到Y(jié)OLOv4-3SPP模型。在此基礎(chǔ)上,基于Ghost模塊重構(gòu)得到Y(jié)OLOv4-3SPP-Ghost(即G-YOLO)模型。基于Ghost模塊重構(gòu)YOLOv4-Tiny得到Y(jié)OLOv4-Tiny-Ghost模型。表1針對這些模型的浮點(diǎn)型運(yùn)算量、模型體積、預(yù)測精度以及在GTX 1060和TX2平臺上的預(yù)測時(shí)間進(jìn)行了對比。本文中所有實(shí)驗(yàn)?zāi)P偷膱D像輸入尺寸為608×608像素。

        從表1可以清晰地看出,YOLOv4-3SPP模型雖然SPP模塊數(shù)量增加,但相較于YOLOv4模型浮點(diǎn)型運(yùn)算量、模型體積以及在相同平臺上的預(yù)測時(shí)間均有所降低,精確度提高1.16%。將傳統(tǒng)卷積模塊替換為輕量化的Ghost模塊后,YOLOv4-3SPP-Ghost模型的運(yùn)算量減少至YOLOv4模型的48.88%,模型體積壓縮至47.35%,速度在GTX 1060和TX2上分別提升1.4倍和1.6倍,精度提升0.47%。相較于傳統(tǒng)的YOLOv4-Tiny模型,YOLOv4-Tiny-Ghost的效率在GTX 1060和TX2上分別提升1.4倍、1.6倍,且在TX2開發(fā)板上達(dá)到了19幀/s的檢測速度,精度僅下降1.43%。

        表1 改進(jìn)YOLOv4模型對比

        表1表明,本小節(jié)基于YOLOv4所改進(jìn)的YOLOv4-3SPP-Ghost模型相較于傳統(tǒng)的YOLOv4模型參數(shù)更少,識別精度更高。由此證明:在頸部不同尺度融入多個(gè)優(yōu)化后的SPP模塊可以有效提升目標(biāo)檢測模型精度,對模型的預(yù)測效率也有略微提升;采用Ghost模塊進(jìn)行模型輕量化操作后,模型的體積、運(yùn)算量得到有效壓縮,并且預(yù)測時(shí)間也有效降低。

        3.4 模型稀疏化實(shí)驗(yàn)

        設(shè)置不同的懲罰項(xiàng)α對YOLOv4-3SPP-Ghost進(jìn)行稀疏化訓(xùn)練,訓(xùn)練過程中的損失以及經(jīng)過稀疏化訓(xùn)練后的均值平均精度如圖9所示。

        (a)訓(xùn)練損失

        由圖9可以看出,針對YOLOv4-3SPP-Ghost模型以及數(shù)據(jù)集,當(dāng)α=0.000 1時(shí),訓(xùn)練100次,平均檢測精度以及訓(xùn)練損失分別達(dá)到最佳和最低。因此,本文稀疏化訓(xùn)練選取α=0.000 1。

        當(dāng)α=0.000 1時(shí),100次稀疏化訓(xùn)練的過程如圖10所示,可以看出,不同通道的尺度因子均向0靠近,可有效地進(jìn)行通道裁剪。

        圖10 稀疏化過程中尺度因子分布情況

        3.5 模型裁剪對比

        為了驗(yàn)證模型裁剪的有效性,本文對模型YOLOv4-3SPP-Ghost進(jìn)行裁剪,裁剪率分別為0.5、0.8以及0.9,用YOLOv4-3SPP-Ghost-0.5、YOLOv4-3SPP-Ghost-0.8、YOLOv4-3SPP-Ghost-0.9表示。不同裁剪率模型的性能對比如表2所示。

        表2 不同裁剪率模型性能對比

        由表2可以看出,隨著裁剪比例的提升,模型體積、浮點(diǎn)型運(yùn)算量及預(yù)測時(shí)間均在降低,在平臺GTX 1060均達(dá)到實(shí)時(shí)檢測。YOLOv4-3SPP-Ghost-0.8模型的浮點(diǎn)型運(yùn)算量壓縮至YOLOv4模型的8.2%,體積壓縮至4%,檢測速度在GTX 1060和TX2平臺上分別提高2.9倍和2.7倍。實(shí)驗(yàn)結(jié)果證明,模型通道裁剪在保證精確度的基礎(chǔ)上,可有效地壓縮體積和浮點(diǎn)型運(yùn)算量,提升算法的檢測速度,壓縮后的模型體積與預(yù)測速度均優(yōu)于傳統(tǒng)YOLOv4模型。YOLOv4-3SPP-Ghost-0.8模型部分識別結(jié)果如圖11所示。

        圖11 YOLOv4-3SPP-Ghost-0.8模型部分識別結(jié)果

        4 結(jié) 論

        針對現(xiàn)有的輕量化模型無法兼顧檢測速度和檢測精度的問題,本文提出了一種基于Ghost模塊的YOLO目標(biāo)識別算法GS-YOLO。該算法通過增加SPP模塊優(yōu)化網(wǎng)絡(luò)模型,重新設(shè)計(jì)了SPP模塊的引入位置,在減少模型浮點(diǎn)型計(jì)算量的同時(shí),提升基礎(chǔ)網(wǎng)絡(luò)的檢測精度與檢測速度。利用高效輕量化模塊替換結(jié)合通道剪枝極限壓縮的方法,在保證精度的同時(shí),有效壓縮了模型體積和運(yùn)算量,減少了模型占有的內(nèi)存資源,提升了模型的運(yùn)行效率。其中:采用輕量化Ghost卷積模塊重構(gòu)目標(biāo)識別模型,減少卷積操作,提升算法的檢測速率;采用通道剪枝極限壓縮方法裁剪模型并對模型進(jìn)行微調(diào),在保證精確度的基礎(chǔ)上,進(jìn)一步減少參數(shù)量、運(yùn)算量并壓縮模型體積,提升檢測速度。但是,本文只考慮了降低參數(shù)量,并未考慮不同硬件平臺的特點(diǎn),后期可以針對不同的平臺設(shè)計(jì)不同的模型,對擴(kuò)展模型的泛化能力進(jìn)行進(jìn)一步研究。

        實(shí)驗(yàn)結(jié)果證明,本文提出的方法有效地對YOLOv4模型進(jìn)行了壓縮,相較于傳統(tǒng)的YOLOv4模型有更小的體積和更快的檢測速度,對算力低、內(nèi)存少的嵌入式平臺友好。此外,本文所提方案不僅可以對YOLOv4模型進(jìn)行高效的壓縮與加速,基于卷積層和BN層所設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)模型都可參照本文方案進(jìn)行卷積操作的替換以及通道裁剪,為深度學(xué)習(xí)算法部署在資源有限的嵌入式平臺上提供理論支撐。

        猜你喜歡
        剪枝輕量化卷積
        人到晚年宜“剪枝”
        汽車輕量化集成制造專題主編
        基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
        基于YOLOv4-Tiny模型剪枝算法
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        一種輕量化自卸半掛車結(jié)構(gòu)設(shè)計(jì)
        基于傅里葉域卷積表示的目標(biāo)跟蹤算法
        剪枝
        天津詩人(2017年2期)2017-03-16 03:09:39
        瞄準(zhǔn)掛車輕量化 鑼響掛車正式掛牌成立
        專用汽車(2016年1期)2016-03-01 04:13:19
        用戶:輕量化掛車的使用體驗(yàn)
        專用汽車(2015年4期)2015-03-01 04:09:07
        强d乱码中文字幕熟女1000部 | 视频一区二区在线播放| 人妻中文字幕不卡精品| 中文字幕一区二区人妻性色av| 亚洲无码在线播放| 日本激情网站中文字幕| 热久久国产欧美一区二区精品| 特级毛片a级毛片在线播放www | 国产中文字幕乱码在线| 激情免费视频一区二区三区| 国产在线无码一区二区三区视频| 国产在线一区二区三区av| 久久青青草原亚洲AV无码麻豆| 白色白色在线视频播放平台| 天天做天天爱夜夜夜爽毛片| 东北寡妇特级毛片免费| 亚洲AV永久无码精品导航| 午夜一区二区三区在线观看| 无码精品人妻一区二区三区漫画| 色播久久人人爽人人爽人人片av| 国产精品福利片免费看| 亚洲av成人永久网站一区| 亚洲av无码国产精品色午夜字幕| 天码av无码一区二区三区四区 | 一本久道久久丁香狠狠躁| 777米奇色狠狠俺去啦| 婷婷四房播播| 日本久久精品国产精品| 国产精华液一区二区三区| 欧妇女乱妇女乱视频| 婷婷一区二区三区在线| 亚洲国产精品激情综合色婷婷 | 亚洲AV永久无码精品一区二国| 男女性行为免费视频网站| 777米奇色8888狠狠俺去啦| 国产特级全黄一级毛片不卡| 中文字幕一区二区三区精品在线| 狠狠躁夜夜躁人人爽超碰97香蕉| 国产成人亚洲精品无码h在线| 亚洲一区二区情侣| 亚洲av日韩一卡二卡|