<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 計算機視覺(jué)中的transformer模型創(chuàng )新思路總結

計算機視覺(jué)中的transformer模型創(chuàng )新思路總結

發(fā)布人:計算機視覺(jué)工坊 時(shí)間:2021-12-08 來(lái)源:工程師 發(fā)布文章

以下文章來(lái)源于CV技術(shù)指南 ,作者仿佛若有光


導讀

本文回顧了ViT的結構,總結了計算機視覺(jué)中的transformer的主要改進(jìn)思路:改進(jìn)分塊,改進(jìn)位置編碼,改進(jìn)Encoder,增加Decoder,并相應介紹了相關(guān)的論文,本文的目的不在于介紹transformer現在有哪些模型,而在于學(xué)習借鑒別人發(fā)現問(wèn)題并改進(jìn)的思路,從而在自己方向上提出合適且合理的改進(jìn)。 

ViT回顧

在講計算機視覺(jué)中transformer的模型創(chuàng )新總結之前,先有必要對它整體模型進(jìn)行回顧。在本文選取了最常用的ViT。

1.jpg

如圖所示,對于一張圖像,先將其分割成NxN個(gè)patches,把patches進(jìn)行Flatten,再通過(guò)一個(gè)全連接層映射成tokens,對每一個(gè)tokens加入位置編碼(position embedding),會(huì )隨機初始化一個(gè)tokens,concate到通過(guò)圖像生成的tokens后,再經(jīng)過(guò)transformer的Encoder模塊,經(jīng)過(guò)多層Encoder后,取出最后的tokens(即隨機初始化的tokens),再通過(guò)全連接層作為分類(lèi)網(wǎng)絡(luò )進(jìn)行分類(lèi)。

這個(gè)過(guò)程中存在很多值得改進(jìn)的空間,下面我們看看其它論文是如何思考并改進(jìn)的。以下內容按照上面這個(gè)實(shí)現過(guò)程對每個(gè)步驟的改進(jìn)來(lái)排序。

改進(jìn)思路

1. 分塊的改進(jìn)

漸進(jìn)采樣式vision transformer

論文:Vision Transformer with Progressive Sampling(ICCV2021)

代碼:https://github.com/yuexy/PS-ViT

提出問(wèn)題

ViT采用了一種樸素的標記化(tokenization)方案,該方案將一幅圖像分割成一系列規則間隔的patches,這些patches被線(xiàn)性投影到tokens中。通過(guò)這種方式,圖像被轉換成數百個(gè)視覺(jué)tokens。

然而,這種tokens化方案的局限性是顯而易見(jiàn)的。

2.jpg

首先,硬分割可能會(huì )分離出一些高度相關(guān)的區域,這些區域應該用同一組參數建模,這破壞了固有的對象結構,并使輸入patches的信息量變得較少。圖顯示貓頭被分成幾個(gè)部分,導致僅基于一個(gè)部分的識別挑戰。其次,tokens被放置在規則網(wǎng)格上,而與底層圖像內容無(wú)關(guān)。圖顯示,大多數網(wǎng)格聚焦在不感興趣的背景上,這可能導致感興趣的前景對象淹沒(méi)在干擾信號中。

改進(jìn)思路

人類(lèi)視覺(jué)系統以一種完全不同的方式組織視覺(jué)信息,而不是一次不加區別地處理整個(gè)場(chǎng)景。取而代之的是,它循序漸進(jìn)地、選擇性地將注意力集中在視覺(jué)空間的有趣部分,無(wú)論何時(shí)何地需要它,而忽略不感興趣的部分,隨著(zhù)時(shí)間的推移,結合來(lái)自不同注視的信息來(lái)理解場(chǎng)景。

受上述過(guò)程的啟發(fā),論文提出了一種新的基于transformer的漸進(jìn)采樣(Progressive Sampling)模塊,該模塊能夠 學(xué)習從哪里看圖像,以緩解ViT中簡(jiǎn)單的tokens化方案帶來(lái)的問(wèn)題。

3.jpg

論文提出的模塊不是從固定位置采樣,而是以迭代的方式更新采樣位置。如圖所示,在每次迭代中,當前采樣步驟的tokens被饋送到transformer編碼層,并預測一組采樣偏移量以更新下一步的采樣位置。該機制利用transformer的能力來(lái)捕獲全局信息,通過(guò)結合本地上下文和當前tokens的位置來(lái)估計對感興趣區域的偏移量。這樣,注意力就會(huì )像人類(lèi)視覺(jué)一樣,一步一步地集中到圖像的可辨別區域。

2.相對位置編碼的反思與改進(jìn)

論文:Rethinking and Improving Relative Position Encoding for Vision Transformer(ICCV2021)

代碼:https://github.com/microsoft/Cream/tree/main/iRPE

提出問(wèn)題

transformer位置表示的編碼方法主要有兩類(lèi)。一個(gè)是絕對的,另一個(gè)是相對的。

絕對方法將輸入tokens的絕對位置從1編碼到最大序列長(cháng)度**。也就是說(shuō),每個(gè)位置都有單獨的編碼向量**。然后將編碼向量與輸入Tokens組合,以將位置信息輸入給模型。

相對位置方法對輸入tokens之間的相對距離進(jìn)行編碼,并學(xué)習tokens之間的成對關(guān)系。相對位置編碼(relative position encoding, RPE)通常通過(guò)具有與self-attention模塊中的 query 和 key 交互的可學(xué)習參數的查詢(xún)表來(lái)計算。這樣的方案允許模塊捕獲Tokens之間非常長(cháng)的依賴(lài)關(guān)系。

相對位置編碼在自然語(yǔ)言處理中被證明是有效的。然而,在計算機視覺(jué)中,這種效果仍然不清楚。最近很少有文獻對其進(jìn)行闡述,但在Vision Transformer方面卻得出了有爭議的結論。

例如,Dosovitski等人觀(guān)察到相對位置編碼與絕對位置編碼相比沒(méi)有帶來(lái)任何增益。相反,Srinivaset等人發(fā)現相對位置編碼可以誘導明顯的增益,優(yōu)于絕對位置編碼。此外,最近的工作聲稱(chēng)相對位置編碼不能和絕對位置編碼一樣好用。這些工作對相對位置編碼在模型中的有效性得出了不同的結論,這促使我們重新審視和反思相對位置編碼在Vision Transformer中的應用。

另一方面,語(yǔ)言建模采用原始相對位置編碼,輸入數據為一維單詞序列。但對于視覺(jué)任務(wù),輸入通常是2D圖像或視頻序列,其中像素具有高度空間結構。目前尚不清楚:從一維到二維的擴展是否適用于視覺(jué)模型;方向信息在視覺(jué)任務(wù)中是否重要?

改進(jìn)思路

1.論文分析了相對位置編碼中的幾個(gè)關(guān)鍵因素,包括相對方向、上下文的重要性、query、key、value和相對位置嵌入之間的交互以及計算代價(jià)。該分析對相對位置編碼有了全面的理解,并為新方法的設計提供了經(jīng)驗指導。

2.提出了一種高效的相對編碼實(shí)現方法,計算成本從原始O()降低到O(nkd)(其中k<<n),適用于高分辨率輸入圖像,如目標檢測、語(yǔ)義分割等Tokens數可能非常大的場(chǎng)合。

3.綜合考慮效率和通用性,提出了四種新的vision transformer的相對位置編碼方法,稱(chēng)為image RPE(IRPE)。這些方法很簡(jiǎn)單,可以很容易地插入self-attention層。實(shí)驗表明,在不調整任何超參數和設置的情況下,該方法在ImageNet和COCO上分別比其原始模型DeiTS和DETR-ResNet50提高了1.5%(top-1ACC)和1.3%(MAP)。

4.實(shí)驗證明,在圖像分類(lèi)任務(wù)中,相對位置編碼可以代替絕對編碼。同時(shí),絕對編碼對于目標檢測是必要的,其中像素位置對于目標定位是重要的。

3.Encoder的改進(jìn)

關(guān)于Encoder的改進(jìn),大部分都是在將transformer用于具體任務(wù)時(shí),針對各個(gè)任務(wù)的特點(diǎn)或出現的問(wèn)題進(jìn)行改進(jìn)的。雖然不一定是一個(gè)通用的模型,但其在改進(jìn)過(guò)程中體現的改進(jìn)思路仍值得學(xué)習和借鑒。

TransFER

論文:TransFER: Learning Relation-Aware Facial Expression Representations With Transformers(ICCV2021)

提出問(wèn)題

表情識別具有類(lèi)內相似性小、類(lèi)間相似性大的特點(diǎn)。同時(shí),需要提取不同的局部表征來(lái)對不同的表情進(jìn)行分類(lèi)。即使某些局部塊(patches)不可見(jiàn),更多樣化的局部塊也可以發(fā)揮作用。同時(shí),不同的局部塊可以相互補充。

4.jpg

例如,如圖所示,僅根據嘴巴區域(列2)很難區分驚訝(第1行)和憤怒(第2行)。我們提出的TransFER模型探索了不同的關(guān)系感知面部部位,如眼睛(第3列,第1行)和眉毛之間的區域(第3列,第2行),這有助于區分這些不同的表情。

因此,應該在全局范圍內探索不同局部塊(patches)之間的關(guān)系,突出重要的塊(patches),抑制無(wú)用的塊(patches)。

改進(jìn)思路

論文提出了TransFER模型來(lái)學(xué)習不同關(guān)系感知的FER局部表示。

首先,提出了隨機丟棄注意力圖的多注意丟棄算法(Multi-Attention Dropping, MAD)。通過(guò)這種方式,推動(dòng)模型去探索除最具區分性的局部斑塊之外的綜合局部斑塊,自適應地聚焦于不同的局部斑塊。當某些部位因姿勢變化或遮擋而不可見(jiàn)時(shí),此方式特別有用。

其次,Vision Transformer(VIT)適用于FER,稱(chēng)為VIT-FER,用于對多個(gè)局部塊之間的連接進(jìn)行建模。由于采用全局范圍對每個(gè)局部塊進(jìn)行增強,充分挖掘了多個(gè)局部塊之間的互補性,提高了識別性能。

第三,多頭自我注意(multi-head self-attention)使VIT能夠在不同位置共同關(guān)注來(lái)自不同信息子空間的特征。然而,由于沒(méi)有明確的指導,可能會(huì )建立冗余關(guān)系。為解決這一問(wèn)題,提出了隨機丟棄一個(gè)自我注意的多頭自我注意丟棄(Multi-head Self-Attention Dropping, MSAD)方法。在這種情況下,如果放棄了self-attention,模型就被迫從其他地方學(xué)習有用的關(guān)系。因此,不同局部塊之間的豐富關(guān)系被挖掘出來(lái),從而使FER受益。

5.jpg

結合新的MAD和MSAD模塊,提出了最終的體系結構,稱(chēng)為T(mén)ransFER。如圖所示,與VIT-FER基線(xiàn)(列2)相比,TransFER定位更多樣化的關(guān)系局部表示(列3),從而區分這些不同的表達式。它在幾個(gè)FER基準上達到了SOTA性能,顯示了它的有效性。

SOTR

論文:SOTR: Segmenting Objects with Transformers(ICCV2021)

代碼:https://github.com/easton-cau/SOTR

提出問(wèn)題

transformer用于語(yǔ)義分割方面還在一些不足。一方面,transformer在提取低層特征時(shí)表現不佳,導致對小目標的錯誤預測。另一方面,由于特征映射的廣泛性,需要大量的內存和時(shí)間,特別是在訓練階段。

改進(jìn)思路

為了克服這些缺點(diǎn),論文提出了一種創(chuàng )新的自下而上模型SOTR,該模型巧妙地結合了CNN和transformer的優(yōu)點(diǎn)。

SOTR的重點(diǎn)是研究如何更好地利用transformer提取的語(yǔ)義信息。為了降低傳統self-attention機制的存儲和計算復雜度,論文提出了雙注意力,它采用了傳統注意力矩陣的稀疏表示。

1.論文提出了一種創(chuàng )新的CNN-Transformer-hybrid實(shí)例分割框架,稱(chēng)為SOTR。它可以有效地對局部連接和遠程依賴(lài)進(jìn)行建模,利用輸入域中的CNN主干和transformer編碼器,使它們具有高度的表現力。更重要的是,SOTR通過(guò)直接分割對象實(shí)例而不依賴(lài)于box檢測,大大簡(jiǎn)化了整個(gè)流水線(xiàn)。

6.jpg

2.設計了雙注意力,這是一種新的position-sensitive self-attention機制, 是為transformer量身定做的。與原來(lái)的transformer相比,SOTR這種設計良好的結構在計算量和內存上都有很大的節省,特別是對于像實(shí)例分割這樣的密集預測的大輸入。

3.除了純粹基于transformer的模型外,提出的SOTR不需要在大數據集上進(jìn)行預訓練,就可以很好地推廣歸納偏差。因此,SOTR更容易應用于數據量不足的情況。

4.在MS Coco基準上,SOTR的性能達到了使用ResNet-101-FPN主干的AP的40.2%,在精確度上超過(guò)了大多數最SOTA方法。此外,由于twin transformer對全局信息的提取,SOTR在中型物體(59.0%)和大型物體(73.0%)上表現出明顯更好的性能。

PnP-DETR

論文:PnP-DETR: Towards Efficient Visual Analysis With Transformers

代碼:https://github.com/twangnh/pnp-detr

提出問(wèn)題

將transformer網(wǎng)絡(luò )應用于圖像特征映射可能在計算上代價(jià)高昂,這主要是由于對長(cháng)展平的特征向量的注意操作。這些特征可能是冗余的: 除了感興趣的對象之外,自然圖像通常包含巨大的背景區域,這些背景區域可能在相應的特征表示中占據很大一部分;而且,一些區分特征向量可能已經(jīng)足以檢測對象。

現有的提高transformer效率的工作主要集中在加速注意操作上,很少考慮上面討論的空間冗余。

改進(jìn)思路

為了解決上述局限性,論文開(kāi)發(fā)了一個(gè)可學(xué)習的輪詢(xún)和池化(Poll and Pool, PnP)采樣模塊。 它的目的是將圖像特征圖壓縮成由精細特征向量和少量粗略特征向量組成的抽象特征集。

從輸入特征圖中確定性地采樣精細特征向量,以捕捉精細前景信息,這對于檢測目標是至關(guān)重要的。粗略特征向量聚合來(lái)自背景位置的信息,所產(chǎn)生的上下文信息有助于更好地識別和定位對象。然后,transformer對細粗特征空間內的信息交互進(jìn)行建模,并獲得最終結果。

由于抽象集比直接扁平化的圖像特征圖短得多,因此transformer的計算量大大減少,并且主要分布在前景位置。這種方法與提高transformer效率的方法是正交的,可以進(jìn)一步與它們結合得到更有效的模型。

7.jpg

PiT

論文:Rethinking Spatial Dimensions of Vision Transformers

代碼:https://github.com/naver-ai/pit

提出問(wèn)題

CNN 以大空間尺寸和小通道尺寸的特征開(kāi)始,并逐漸增加通道尺寸,同時(shí)減小空間尺寸。由于稱(chēng)為空間池化的層,這種維度轉換是必不可少的?,F代 CNN 架構,包括 AlexNet、ResNet和 EfficientNet,都遵循這一設計原則。

池化層與每一層的感受野大小密切相關(guān)。一些研究表明,池化層有助于網(wǎng)絡(luò )的表現力和泛化性能。然而,與 CNN 不同的是,ViT 不使用池化層,而是在所有層中使用相同大小的空間。

改進(jìn)思路

首先,論文驗證了 CNN 上池化層的優(yōu)勢。實(shí)驗表明,池化層證明了 ResNet 的模型能力和泛化性能。為了將池化層的優(yōu)勢擴展到 ViT,論文提出了一種基于池化的視覺(jué)transformers (PiT)。

8.jpg

PiT 是一種與池化層相結合的transformer架構。它可以像在 ResNet 中一樣減少 ViT 結構中的空間大小。

最后,為了分析 ViT 中池化層的效果,論文測量了 ViT 的空間交互比,類(lèi)似于卷積架構的感受野大小。論文展示了池化層具有控制自注意力層中發(fā)生的空間交互大小的作用,這類(lèi)似于卷積架構的感受野控制。

Swin Transformer

論文: Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

代碼:https://github. com/microsoft/Swin-Transformer

提出問(wèn)題

論文試圖擴展Transformer的適用性,使其可以作為計算機視覺(jué)的通用主干,就像它在NLP中所做的那樣,也可以像CNNs在視覺(jué)中所做的那樣。

論文提到,將transformer在語(yǔ)言領(lǐng)域的高性能轉換到視覺(jué)領(lǐng)域的重大挑戰可以用這兩種模式之間的差異來(lái)解釋。這些不同之處之一涉及到規模。

與作為語(yǔ)言transformer中處理的基本元素的單詞tokens不同,視覺(jué)元素在尺度上可以有很大的變化,這是一個(gè)在諸如目標檢測之類(lèi)的任務(wù)中受到關(guān)注的問(wèn)題。在現有的基于transformer的模型中,tokens都是固定比例的,這一特性不適合這些視覺(jué)應用。

另一個(gè)不同之處在于,與文本段落中的文字相比,圖像中像素的分辨率要高得多。存在許多視覺(jué)任務(wù),如語(yǔ)義分割,需要在像素級別進(jìn)行密集預測,這對于高分辨率圖像上的Transformer來(lái)說(shuō)是很困難的,因為它的self-attention的計算復雜度是圖像大小的二次方。

改進(jìn)思路

為了克服這些問(wèn)題,論文提出了一種通用的Transformer骨干網(wǎng),稱(chēng)為Swin Transformer,它構造了分層的特征映射,并且計算復雜度與圖像大小成線(xiàn)性關(guān)系。

9.jpg

如圖1(A)所示,Swin Transformer通過(guò)從小塊(灰色輪廓)開(kāi)始,逐漸合并更深的Transformer層中的相鄰塊來(lái)構建分層表示。

有了這些分層的特征圖,Swin Transformer模型可以方便地利用先進(jìn)的技術(shù)進(jìn)行密集預測,如特征金字塔網(wǎng)絡(luò )(FPN)或U-Net。線(xiàn)性計算復雜度是通過(guò)在分割圖像(紅色輪廓)的非重疊窗口內局部計算self-attention來(lái)實(shí)現的。每個(gè)窗口中的patches數量是固定的,因此復雜度與圖像大小成線(xiàn)性關(guān)系。

這些優(yōu)點(diǎn)使得Swin Transformer適合作為各種視覺(jué)任務(wù)的通用主干,而不是以前基于Transformer的架構,后者生成單一分辨率的特征地圖,并且具有二次方復雜性。

10.jpg

Swin Transformer的一個(gè)關(guān)鍵設計元素是窗口分區在連續的self-attention層之間的移動(dòng),如圖2所示。移動(dòng)的窗口橋接了前一層的窗口,提供了它們之間的連接,顯著(zhù)增強了建模能力。

這種策略在實(shí)際延遲方面也是有效的:一個(gè)窗口內的所有query patch都共享相同的key集,這便于硬件中的內存訪(fǎng)問(wèn)。相反,較早的基于滑動(dòng)窗口的self-attention方法由于不同query像素的不同key集而在一般硬件上受到低延遲的影響。

實(shí)驗表明,所提出的移位窗口方法比滑動(dòng)窗口方法具有更低的延遲,但在建模能力上是相似的。事實(shí)證明,移位窗口方法對于全MLP體系結構也是有益的。

對于視頻中的transformer,主要改進(jìn)思路是將patches在空間上和時(shí)間上分開(kāi)進(jìn)行attention。這里列舉一篇。

TimeSformer

論文:Is Space-Time Attention All You Need for Video Understanding?

代碼:https://github.com/lucidrains/TimeSformer-pytorch

提出問(wèn)題

視頻理解與NLP有很多的相似的地方。首先,視頻和語(yǔ)句都具有序列性;而且,一個(gè)字只能與語(yǔ)句中其它字聯(lián)系才能理解,在視頻行為中一個(gè)片段也需要與視頻的上下文相關(guān)聯(lián)。于是,論文期望NLP中這種long-range self-attention模型可以在視頻模型中也有很高的表現。

在視頻領(lǐng)域,2D或3D卷積是用來(lái)提取時(shí)空特征的主流操作,但卷積操作比較明顯的一個(gè)問(wèn)題是感受野是有限的,若要獲得全局感受野,需要堆疊很多層卷積層,它們的信息傳播路徑比較長(cháng)。而self-attention這種操作可以很輕松地獲得全局感受野,捕獲局部和長(cháng)范圍的依賴(lài)關(guān)系。

卷積操作的另一個(gè)問(wèn)題是受到內存的限制,特別是視頻領(lǐng)域,往往需要在高分辨率和長(cháng)范圍幀之間權衡。而最近幾年一些研究者的工作指出Transformer可以比CNN獲得更快的訓練和推理,因此在同樣計算量預算下,transformer可以使用更大學(xué)習容量。

標準的self-attention需要計算所有tokens相互之間的相似性,這樣的做法就是計算量比較大,因此需要考慮如何利用self-attention來(lái)處理圖像塊。論文比較了這方面的幾種處理方式:Joint Space-Time Attention、Sparse Local Global Attention 和Axial Attention。這幾種方式的共同點(diǎn)是采用ViT中的方式將圖像進(jìn)行分塊,而它們之間的區別在于如何用self attention來(lái)處理這些塊。論文提出Divided attention的方式具有最好的表現。

改進(jìn)思路

11.jpg12.jpg

4.增加Decoder

論文:End-to-End Object Detection with Transformers

代碼:https://github.com/facebookresearch/detr

DETR中似乎沒(méi)有介紹為何這么設計結構,而只是在說(shuō)要做一個(gè)End-to-End的transformer模型。因此這里只介紹一下它的結構。

13.jpg

本文僅做學(xué)術(shù)分享,如有侵權,請聯(lián)系刪文。

*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: 計算機視覺(jué)

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>