?

面向算力受限邊緣環境的雙分支多尺度感知人臉檢測網絡

2020-09-08 11:57戚琦馬迎新王敬宇孫海峰廖建新
通信學報 2020年8期
關鍵詞:淺層分支人臉

戚琦,馬迎新,王敬宇,孫海峰,廖建新

(北京郵電大學網絡與交換國家重點實驗室,北京 100876)

1 引言

隨著物聯網時代的到來,邊緣計算將與云計算共同推進人工智能的發展。邊緣計算的推廣與發展可將計算任務從云計算中心遷移到產生源數據的邊緣設備上。車聯網的車載系統、機器人控制系統、工業應用等邊緣環境部署的英偉達開發板Jetson TX2 和Jetson Nano 設備,只需幾瓦的功耗即可實現每秒進行上萬億次操作?;谏疃葘W習的卷積神經網絡已被廣泛應用于人臉檢測中,并嘗試在邊緣設備中部署,以減少網絡傳輸時延,加快檢測速度。

然而,邊緣算力受限于內在或外在因素等條件。主流深度神經網絡結構[1-5]趨于復雜,受限于網絡復雜度及推理速度,難以在邊緣計算實際應用場景中部署,需考慮精簡網絡結構來保持簡潔和高效性。此外,在支撐人臉檢測等深度學習任務推理的同時,邊緣設備還需要為其他功能預留和共享資源,應盡可能探索輕量級方案,以減少算法所對應網絡模型的復雜度和功耗。

圍繞人臉檢測而設計的輕量化網絡算法[6-7]大幅縮減了網絡結構來保持推理速度和資源消耗。例如,LFFD(light and fast face detector)[6]去掉了網絡中的BN(batch normalization)層等重要組件以減少網絡規模,但未重視網絡特征融合上的冗余優化,導致其精度與主流算法相差較多。本文針對主流算法潛在的結構冗余、特征提取網絡設計不合理、淺層特征不充分的問題,提出了多尺度感知的輕量化人臉檢測算法——SDPN(scale-aware dual path network),在不損失檢測精度的前提下優化了網絡的特征融合方式,以實現速度與精度的均衡。SDPN 著重改進網絡結構,提升特征融合的高效性,基于經典的ResNet 結構中參數最少的RetNet18 結構,采用基于雙分支的多尺度感知結構,簡化了網絡層融合中的冗余,實現了高效的人臉檢測。

在人臉檢測數據集wider face[8]中,極小人臉(人臉最長邊小于12 像素)占30%左右,人臉尺度變化范圍為3~1 000 像素。極小、困難人臉以及大范圍的人臉尺度變化問題是人臉檢測任務中的主要挑戰。

圖像金字塔方法[1]通過綜合同一圖像不同縮放系數檢測結果來提高多尺度檢測能力。這類算法存在對同一張圖片不同尺度的冗余計算,不適用于資源有限、對時延有要求的應用場景。

特征金字塔方法[2-5]注重不同層級特征的融合,將中層的高分辨率特征與深層的高語義特征進行融合,兼顧語義與位置信息,得到多尺度的特征圖。但這類算法存在以下幾點問題,導致精度不如圖像金字塔方法。

1) 大多數人臉檢測算法使用ImageNet[9]數據集上預訓練得到的圖片分類模型,分類尺度大小約為256 像素,未針對人臉數據中的大尺度范圍和極小人臉進行優化。網絡淺層主要使用最大池化和下采樣卷積操作進行空間信息壓縮。由于預訓練模型淺層特征不充分,下采樣過于頻繁,存在極小人臉特征信息丟失、定位不準等問題。

2) 主流特征融合方式過多關注中、深網絡層的特征多尺度感知融合策略,未考慮淺層多尺度感知結構對人臉檢測網絡的重要性。

針對上述問題,本文進行了如下改進。

1) 針對主流卷積神經網絡(CNN,convolutional neural network)用于人臉檢測場景時淺層特征不充分,導致下采樣卷積時圖像特征偏移、信息采樣不均勻的問題,提出了改進的人臉殘差神經網絡(Face-ResNet,face residual neural network)作為主干網絡。

2) 探索了淺層多尺度感知結構對極小、困難人臉特征提取的重要性。提出了高效的雙分支淺層特征(DPE,dual path shallow feature extractor)提取模塊,通過并行的淺層網絡雙分支設計,分別從上采樣后的圖像以及原圖中提取淺層特征,在中層進行雙分支特征融合,送入后續網絡。只在最關鍵的淺層使用雙特征分支獲取差異化的特征信息,在后續的網絡層中共享2 個特征融合后的信息,實現了高層網絡特征復用,大幅提升了網絡對于極小的、難以分辨的人臉特征的識別能力,接近特征金字塔方法的融合結果。

3) 訓練過程中,研究了雙分支的淺層特征與深層特征的融合方式,提出了深淺特征融合模塊,并通過多尺度感知的訓練方式使不同的并行分支(淺、深網絡層)學習到更加豐富、多樣化的信息。

2 相關研究

2.1 基于錨點的檢測器

隨著深度學習的發展,在越來越多的領域充分證明了卷積神經網絡的有效性,以Faster-RCNN(faster region-based convolutional neural network)[10]為代表的兩階段基于錨點的檢測器在目標檢測領域成為主流。近年的人臉檢測中,基于區域推薦網絡(RPN,region proposal network)[11]的多階段人臉檢測器[1,12-14]在精度上取得了質的飛躍,但受限于煩瑣的檢測流程,速度并不理想,同時網絡模塊較為復雜,難以在終端部署進行工程應用。最近,基于錨點的一階段檢測器[2,4-5,15-17]逐漸占據主流,得益于流程的簡化,網絡的速度也有提升,相對容易在終端應用中部署。

2.2 基于關鍵點的無錨點檢測器

隨著CornerNet[18]的提出,目標檢測領域出現了新的無錨點的算法,這類算法受啟發于人體關鍵點檢測的算法,通過在網絡最后的特征圖中直接預測關于物體的幾個關鍵點,以及在并行分支預測物體的大小和偏移等信息,得到關于物體的檢測結果。在目標檢測領域,這類算法[18-19]相比一階段、多階段的基于錨點的算法,更加高效,速度更快,同時呈現出與一階段基于錨點的檢測器相近的精度。在人臉檢測中,CSP(center and scale prediction)[20]是基于關鍵點設計的算法,網絡設計進一步簡化,由于不需要錨點匹配等流程,速度得到進一步提升。本文的改進借鑒了CSP 算法的無錨點設計,深入研究了該算法的不足,并提出了新的解決方法。

2.3 基于卷積網絡的人臉特征提取方式

基于卷積網絡的人臉特征的提取方式主要有圖像金字塔和特征金字塔。

如圖1 所示,特征金字塔[2-5]將淺層的高分辨率特征與深層的語義特征相融合,通過不同特征層之間的融合,同時提高了識別準確率和定位精度。不同特征融合網絡結構在FTF(finding tiny face)[1]、MTCNN(multi-task cascaded convolutional network)[13]等為代表的圖像金字塔算法中,將同一圖片的不同尺度依次送入網絡,由非極大值抑制(NMS,non-maximum suppression)算法進行融合,留下置信度比較高的融合結果。本文SDPN 選擇性地進行雙分支差異化特征提取,并通過深淺融合以及尺度感知的訓練方式,高效提取不同尺度的特征。

3 網絡結構

3.1 ResNet 在人臉檢測領域的改進

針對ResNet[21]網絡中的特征偏移、下采樣不均勻、淺層特征不充分問題,本文提出了改進的Face-ResNet 結構,并通過對比實驗證明了其有效性。

下采樣卷積被廣泛應用于卷積神經網絡,目的是得到更小分辨率的特征圖,同時為后續的卷積層提供更大的感受野,獲得更加豐富的語義信息。很多主流算法使用步長為2 的3×3 卷積核來完成下采樣。事實上,這樣的操作有2 個潛在的問題,首先是采樣信息不充分問題。如圖2 所示,在一個3×3卷積核采樣卷積過程中,有的點被采樣了4 次和一次,的點被采樣了2 次(考慮最外層像素,上述采樣頻率僅為近似結果),這表明卷積過程的信息并沒有均勻地被采樣并送入后續網絡中。盡管網絡本身有能力通過學習不同的權重來糾正采樣問題,但這會浪費網絡的一部分參數來學習糾正問題,是不高效的。同樣的現象被Odena 等[22]發現,稱之為棋盤效應。

圖1 不同特征融合網絡結構

圖2 3×3 卷積核下采樣過程

另一個問題是下采樣會導致特征圖發生偏移,卷積過程中的特征圖偏移問題如圖3 所示。下采樣的過程中,如果卷積核不能整除步長,特征圖的兩邊不能填充同樣多的像素,輸出的特征圖相對原來位置會發生0.5 像素的偏移,如圖3(a)所示。

圖3 卷積過程中的特征圖偏移問題

網絡最終輸出特征圖(縮放倍數為i)相對原圖的特征偏移大小Soffset為

其中,Pl為卷積時的padding 偏移,l為網絡當前相對于原圖的縮放倍數。卷積核為3×3,步長為2,標準ResNet 網絡中Pl=0.5,i=16,Soffset=7.5;卷積核為4×4,步長為2,ResNet 網絡中Pl=0,i=16,Soffset=0。

對于極小人臉,偏移現象會顯著影響定位能力。同時隨著網絡層的加深,分辨率逐漸減小,偏移現象會更加嚴重。網絡需要學習更多的權重來糾正這種偏移現象,但不能完全抵消這種偏移和采樣不充分帶來的影響。

為了解決這一問題,本文研究了使用不同大小的卷積核進行下采樣的效果。如圖3(b)所示,4×4的卷積核可以使每個點都被充分采樣(不考慮邊緣點);同時,由于兩邊填充了相同數量的像素,沒有出現特征圖偏移現象。本文替換了網絡中降采樣卷積層的卷積核,將原網絡結構分別替換為4×4 和5×5 的卷積核,并進行對比實驗,證明了4×4 卷積核的有效性,詳細實驗在4.1 節給出。

同時,本文使用通道更少的殘差模塊代替ResNet 中的7×7 卷積層和maxpool 層來改善ResNet對細小特征的表達能力。SDPN 整體結構如圖4 所示,修改后的ResNet 主結構由雙分支淺層特征提取模塊的下分支以及后續的主分支組成。經過上述改進,最終的主干網絡結構為Face-ResNet 結構。

3.2 雙分支淺層特征提取模塊

人臉檢測中,發現極小人臉是一個極具挑戰的問題,SNIP(scale normalization for image pyramid)[23]的研究結果表明,高分辨率預訓練模型預測上采樣后的低分辨率物體,準確率高于針對低分辨率物體設計并訓練的網絡模型?,F有的人臉檢測算法使用圖像金字塔方法將同一張圖片進行不同上采樣系數的測試結果進行融合,從而獲得更好的檢測結果,但是這會犧牲推理時延和計算資源。

圖4 SDPN 整體結構

本文針對這一問題,設計了雙分支淺層特征提取模塊來獲取圖片中不同分辨率的信息,在淺層融合共享網絡中的高層語義信息來實現檢測精度與速度的均衡。并行于Face-ResNet 網絡的淺層分支,添加了一個更輕量級的高分辨率(HR,high resolution)分支,該分支參數數量和卷積網絡層中的通道數只有原分支的,使用經過上采樣的圖片作為輸入,主要負責發現更多難以辨認的、細小的細粒度信息。相比原分支,HR 分支末端加入了一個降采樣分支,來達到與原分支相同的分辨率。在中層,2 個獨立分支融合為一個特征層,送入后續主干網絡中,計算式如式(2)~式(4)所示。

wider face 數據集中的極小人臉集中在10~30 像素。在ResNet 中,網絡層的神經元感受野大小為7,仍然能夠獲取足夠豐富的低分辨率極小人臉特征信息;層網絡深度過淺,無法獲取足夠的語義信息;后續層由于感受野變大,網絡深度增加,淺層低分辨率極小人臉信息丟失較多,同時由于過多的池化和卷積操作將導致位置信息丟失的問題。故選擇P4層作為特征融合層。

經過上述雙分支采樣設計,網絡在前向推斷過程可以學到更多細小的、難以辨認的特征。在獲取更加豐富淺層特征的同時,添加的新分支只帶來了輕微的計算消耗。

3.3 深淺特征融合模塊

DPE 提取模塊的HR 分支主要負責獲取極小的、難以辨認的一些人臉特征,而主分支則負責檢測常規人臉特征,為了通過監督信息更好地指導2 個分支學到不同的特征,本文提出了深淺特征融合模塊。深淺特征融合模塊由深度特征融合層以及深淺特征融合層兩部分構成。深度融合層借鑒自CSP,選擇了圖4 結構中的S3~S5特征層信息進行融合,對每個特征層使用L2 正則化處理,通過上采樣卷積恢復特征圖為輸入圖像尺寸的,檢測正常大小的人臉。深淺特征融合層是針對極小人臉專門設計的多尺度特征融合模塊,將更淺層分支的特征與深度特征融合層信息進行融合,只負責檢測極小物體。經過實驗驗證,圖4 中S1、S2,以及深度特征層進行融合可以得到最好的結果。為了獲得更精準的人臉中心位置信息,輸出特征圖的尺寸為原圖的。在訓練中,本文采用多尺度感知策略,根據物體的尺度大小分別送入不同的特征融合層進行訓練。通過多尺度感知的訓練方式,監督信息可以更有效地指導2 個分支學到更具差異化的特征信息,從而具備了更豐富、全面的特征,提升了模型的準確率和有效性。在實驗部分,進一步分析了每個模塊對整體性能的影響,并進行了對比實驗。

3.4 loss 函數設計

本文基于無錨點目標檢測網絡CenterNet[19]的思路提出了多尺度感知的loss 函數,用于監督不同分支學習差異化的特征。

如圖4 所示,本文算法所采用的卷積網絡模型通過2 個分支分別輸出small 和norm 特征圖,分辨率分別為。

中心預測任務可以看作人臉檢測網絡在圖像空間維度的分類任務,其目標是通過分支的中心特征圖得到人臉中心點。本文通過交叉熵損失函數來監督網絡輸出的人臉中心特征圖。首先,生成與人臉大小接近的二維高斯熱力圖作為監督信號。同時,規定人臉中心的小范圍區域為正樣本,其他為負樣本。圖像中人臉中心區域與背景點之間在嚴重的正負樣本不均衡問題,背景點數量遠大于中心點。隨著模型的收斂,模型傾向于更新易于學習的大量負樣本(背景)特征的權重。為了解決樣本不均衡問題,本文的交叉熵損失函數引入了focal loss[24]來優化對困難樣本的監督能力。為了避免中心區域附近的點對模型產生人臉和背景分類上的歧義,loss 函數的權重參數Pxy根據當前點的Mxy和Yxy值來調整,使用Pxy將這類點在loss 函數中的權重降低,減少對模型收斂的影響。Yxy=1 表示當前點為中心點。

關于中心點預測的損失函數定義如式(5)所示。Oxy表示中心特征圖上點[x,y]∈的響應值,其值為0~1。Mxy表示根據人臉標簽生成的高斯熱力圖在點[x,y]∈對應取值,σw、σh為與人臉長寬線性相關的參數。依照CenterNet[19]中的設置β=4、γ=2。

預測分支進行回歸任務,輸出為每個點對應人臉的長和寬的值sk,與人臉標簽中的長和寬tk進行對比,其中,k=0 表示長,k=1 表示寬。本文通過L1 損失函數完成監督,如式(9)所示。

離散誤差糾正分支的損失函數與尺度預測分支一致,輸出為圖像中心點的離散值對應的偏移誤差糾正值,offloss 表示離散偏差loss。

本文人臉檢測算法對應模型的loss 如式(10)所示,small、norm 分支的損失函數分別為losssmall、lossnorm。其中,θi、βi、γi分別表示訓練時不同loss對應的權重。

4 實驗

本文通過6 組對比實驗驗證了SDPN 每個改進方面的有效性,并展示了與主流人臉檢測算法的對比結果。

4.1 實驗設置

本文實驗在wider face[8]數據集上進行評估,根據人臉的識別難度分別劃分為簡單、中等、困難這3 個子集。人臉范圍為3~1 000 像素。實驗使用ImageNet[9]數據集預訓練模型權重進行初始化,與主流做法保持一致。在wider face 訓練集上進行訓練,采用Adam 梯度更新算法,初始學習率為1×10?3,權重衰減設置為1×10?5,采用動態學習率衰減策略,即當模型的預測損失結果經過5 輪迭代不下降后,調整學習率為當前學習率的20%。實驗共迭代訓練200 輪,選取評估損失結果最低的模型權重在wider face 驗證集上進行準確率評估。

評估標準如下:在wider face 的驗證集上進行原分辨率測試來評估結果。原分辨率測試是指每個樣本僅使用對應圖片原始分辨率輸入網絡進行推理,并且網絡僅推理一次,為保持對比的模型統一,均使用Pytorch 框架復現,測試階段在一塊顯存為12 GB 的P100 上實驗并對比結果。

最終的檢測精度是指網絡檢測結果與真實標簽的查準率和召回率相等時對應的精度。

4.2 不同算法對比實驗

在對比實驗中,首先驗證下采樣卷積以及淺層參差模塊修改的有效性,在此基礎上驗證了DPSE以及深淺特征融合的有效性,共進行6 組實驗。

實驗1使用ResNet18 作為主干網絡,其余模塊與CSP 檢測算法一致。

實驗2將下采樣卷積核更換為4×4,其他與實驗1 保持一致。

實驗3將下采樣卷積核更換為5×5,其他與實驗1 保持一致。

實驗4將淺層網絡層更換為全殘差結構,其他與實驗2 保持一致。

實驗5基于實驗4 中的網絡結構,加入DPE提取模塊。

實驗6基于實驗5 的網絡結構,加入深淺特征融合模塊,訓練過程中采用尺度感知的訓練策略,深淺特征層負責檢測尺寸小于32 像素的人臉,深層特征負責檢測尺寸大于12 像素的人臉。

實驗結果如表1 所示。與實驗1 相比,實驗2 在3 個數據集上的檢測精度均有明顯提升;而實驗3 與實驗2 相比提升效果并不明顯。在4×4 卷積核的基礎上,將淺層網絡部分更換為全殘差結構設計,可以看到網絡在困難數據集上效果提升非常顯著,充分證明使用殘差模塊替換網絡中的池化操作,可以進一步提升網絡的淺層特征表達能力,加入淺層殘差模塊后,網絡在困難樣本中的極小人臉、遮擋、模糊等干擾情況下檢測精度有明顯提升。根據實驗4 與實驗5 的對比結果,可以看到引入的DPE 提取模塊能夠顯著提升算法對于極小、困難人臉的辨識度,準確率提升了0.025。實驗5 與實驗6 的對比表明,深淺特征融合模塊可以提升模型困難樣本的準確率0.06 左右,證明了深淺特征融合的有效性。與實驗5 的結果對比,實驗6 的簡單子集和中等子集檢測精度分別有0.003 和0.004 的下降,這是由于深淺特征融合帶來了少量的檢測負樣本,導致檢測精度輕微下降,與困難樣本準確率提升0.06 相比影響并不明顯,本文選擇實驗6中的網絡模型結構為本文算法對應的最終網絡模型。

4.3 與主流算法對比實驗

本文參考相關文獻[1-5],使用Pytorch 框架復現了最近幾年深度學習中的主流模型。圖5 表示不同網絡模型針對多尺度的特征融合方式。

FTF 算法[1]為經典的圖像金字塔融合算法。準確率較高的DSFD(dual shot face detector)算法[3]與PramidBox 算法[5]注重網絡中深層之間的交互融合,加入了很多層間語義增強以及融合模塊。SSH(single stage headless)[4]為保持推理速度和減小資源消耗,使用較為簡單的特征融合策略,從網絡不同層提取不同的檢測結果進行融合。本文SDPN 算法中簡化了過深的冗余特征,在淺層(特征圖縮放系數為2)使用DPE 豐富特征,并通過深淺特征融合模塊進行融合,分別得到極小與正常人臉預測結果。SDPN 模型采用實驗6 的網絡結構。測試過程中統計了每個網絡模型的推理速度、模型參數量以及檢測精度,其他實驗細節與4.2 節實驗基本保持一致。測試結果如表2 所示。反映算法查準率與召回率關系的PR(precision recall)曲線如圖6 所示。

表1 實驗結果

圖5 不同網絡模型針對多尺度的特征融合方式

表2 與主流算法原分辨率測試結果對比

圖6 不同類別驗證集上PR 曲線

由表2 可知,在wider face 數據集上,使用修改后的Face-ResNet18 網絡作為主干網絡,單尺度測試條件下簡單子集檢測精度為0.937,中等子集檢測精度為0.927,困難子集檢測精度為0.849。相比主流算法中效果較好的DSFD 算法,本文SDPN模型的測試速度為其3.94 倍,同時在簡單子集和中等子集上僅有微小差距,在困難子集上表現更好,這體現了算法的穩健性。推理速度如圖8 所示,相比主流算法中速度最快的FTF 算法,速度依然保持26%左右的領先,同時在簡單、中等、困難子集上表現均優于FTF 算法。在對比算法中,本文算法的模型參數量最小,為65.06 MB,體現了算法的輕量化特點。

本文算法對應的模型收斂曲線如圖7 所示,根據收斂曲線,模型訓練迭代到第10 輪之前,學習率較高,同時由于加載了ImageNet 預訓練權重進行初始化,loss 函數收斂很快,在迭代10 輪后,開始緩慢收斂,在180 輪左右達到擬合。

圖7 本文模型收斂曲線

與主流輕量化網絡模型LFFD[6]、Faceboxes[7]進行對比,選擇與LFFD 實驗平臺Titan xp 接近的Nvidia-P100 單顯卡進行時延與速度測試,輸入為1080P 分辨率,Nvidia-P100 和Titan xp 同樣具有3 840 個cuda 核心,其單精度浮點性能略低于Titan xp,測試結果如表3 所示。SDPN 算法速度為17.9 frame/s,LFFD 算法速度為31.98 frame/s。結合對比SDPN 算法與LFFD 算法檢測精度,簡單子集分別為0.937 和0.896,中等子集分別為0.927 和0.865,困難子集分別為0.849 和0.715??梢钥闯?,本文的邊緣人臉檢測網絡在基本保持實時性的同時,實現了較高的人臉檢測精度。

表3 與主流輕量化網絡模型對比

5 結束語

本文首先研究了將ResNet 用于人臉檢測中的一些潛在問題,改進了下采樣卷積操作,并將ResNet 中淺層的7×7 卷積層和maxpool 層替換為全殘差模塊,針對每一個改進進行了對比實驗,充分證明了改進后的Face-ResNet 的有效性。在此基礎上,提出了兼顧正常樣本與極小、遮擋、模糊等困難樣本特征的雙分支淺層特征提取模塊,顯著提升了網絡的淺層表達能力,獲取了更加全面、更具細粒度的特征信息?;谏鲜龈倪M,深淺特征融合模塊通過尺度感知的訓練策略,更加有效地監督網絡中的不同分支學習的差異化信息,顯著提升了網絡在數據集不同場景下的準確率。

當前人臉檢測中的主流特征融合方法主要包括特征金字塔形式的特征融合,以及類似DSFD 形式對網絡層進行特征增強,得到雙路徑的特征增強融合信息。

與DSFD 中在整個網絡計算過程中設計雙路徑特征增強結構不同,本文的雙分支僅在最關鍵的淺層(P4層之前)并行提取特征。使2 個分支與不同的深層結構進行融合連接,針對性地監督不同的分支學到差異化的特征信息。并通過人臉尺度感知的訓練策略,使小人臉檢測分支專注于局部細節特征,主分支則關注全局特征。差異化的特征信息在P4層融合,豐富了人臉特征信息。從信息熵的角度來看,差異化的訓練方式指導不同分支學習不同特征,使網絡獲得了更充分的特征信息。區別于以往的特征融合方式,對網絡的不同層進行差異化的監督訓練,本文提出的雙分支結構可以針對不同的分支進行差異化的訓練,從而得到更豐富的多尺度信息。

與主流算法對比,基于DPE 的多尺度感知的人臉檢測網絡SDPN 實現了速度與精度的均衡,在保留主流網絡精度的同時,充分優化了網絡結構、資源占用以及推理速度,保持了輕量化、簡潔、穩健的邊緣計算友好特性。同時本文算法對應的模型為端到端的無錨點設計網絡,簡單高效,更加易于部署到實時邊緣計算應用中,實現高精度的人臉檢測。

猜你喜歡
淺層分支人臉
晉西黃土區極端降雨后淺層滑坡調查及影響因素分析
一類離散時間反饋控制系統Hopf分支研究
軟件多分支開發代碼漏合問題及解決途徑①
有特點的人臉
一起學畫人臉
淺層換填技術在深厚軟土路基中的應用
四川盆地太陽背斜淺層頁巖氣儲層特征及試采評價
巧分支與枝
三國漫——人臉解鎖
近30年陳巴爾虎旗地區40厘米淺層地溫場變化特征
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合