?

優化深度殘差網絡及其在強噪聲環境下滾動軸承故障診斷中的應用

2024-01-10 01:42雷春麗夏奔鋒薛林林焦孟萱張護強
振動工程學報 2023年6期
關鍵詞:殘差信噪比寬度

雷春麗,夏奔鋒,薛林林,焦孟萱,張護強

(1.蘭州理工大學機電工程學院,甘肅 蘭州 730050;2.蘭州理工大學數字制造技術與應用省部共建教育部重點實驗室,甘肅 蘭州 730050)

引言

滾動軸承作為現代旋轉機械的關鍵零部件之一,它的運行狀態對整個機械設備的性能、可靠性和使用壽命都有重要影響[1]。滾動軸承的故障可能會導致整個機械系統的損壞,造成經濟損失[2]。因此,滾動軸承故障的在線監測和實時診斷,對保持設備運轉時的安全性和可靠性具有極其重要的意義。隨著故障診斷技術的研究不斷深入,學者們提出了多種通過人工提取原始信號特征的傳統智能故障診斷方法[3-5]。這些方法雖然能夠有效地診斷軸承故障,但需手動提取故障特征,在實際工況復雜多變時不利于故障特征的快速提取和健康狀態的準確識別[6],因此,需要研究出一種既能自動提取故障特征,又能快速精準識別故障類型的智能算法。

深度學習理論具有強大的自動特征提取能力,在圖像識別[7]、語音識別[8]、自然語言處理[9]等領域獲得到了廣泛的應用。它克服了傳統故障診斷方法適應能力弱的問題,已經成為故障智能診斷的主要手段。卷積神經網絡(Convolutional Neural Network,CNN)是深度學習的代表算法之一,可直接提取原始信號的特征并進行故障診斷。Janssens 等[10]利用CNN 對齒輪箱中的軸承進行故障診斷,相比于常規算法,其故障診斷精度有了大幅度的提高。宮文峰等[11]對卷積神經網絡超參數的選擇和訓練技巧進行了深度分析,提高了模型結構的通用性和可操作性。

傳統的CNN 模型雖然在滾動軸承故障診斷中都有良好的表現,但在診斷精度上仍有提升的空間,為此,一系列改進的CNN 模型應運而生。Zhang等[12]提出了一種寬卷積核深度卷積神經網絡(Deep Convolutional Neural Networks wtih Wide First-layer Kernel,WDCNN),利用第一個卷積層中的寬卷積核來提取特征,提高了滾動軸承故障診斷的識別準確率和抗噪性,但未考慮模型的診斷效率。Liang等[13]提出了一種并行卷積神經網絡(Parallel Convolutional Neural Network,P-CNN),將一維信號轉化為二維圖像,并融合了時域特征和頻域特征,在故障數據樣本較少時獲得了較高的識別準確率。Eren等[14]提出了一種新的卷積神經網絡,利用自適應一維卷積神經網絡(One Dimension Convolutional Neural Network,1D-CNN)分類器進行特征提取,實現了對滾動軸承的實時故障診斷。但上述文獻均未考慮環境噪聲對模型診斷效果的影響。Yu 等[15]利用多尺度注意映射殘差神經網絡(Residual Neural Network Framework with Multiscale Attention Mapping,ResNet-MA)提取振動信號中的退化特征,提高了模型的故障診斷性能,但該模型結構復雜,不利于故障的快速診斷。趙小強等[16]提出了一種帶跳躍連接線和空洞卷積的殘差網絡,在變工況和高信噪比條件下取得了較高的識別準確率,但未考慮強噪聲背景對診斷性能的影響。這些方法雖然有效地解決了傳統CNN 診斷精度不足的問題,但仍然無法較好地降低噪聲對模型的干擾,尤其是在強噪聲環境下,模型的識別分類效果有待提高,同時模型也難以保證較高的計算效率。

基于上述分析,本文提出了一種優化深度殘差網絡(DS-ResNet)模型進行滾動軸承故障診斷。首先采用快速傅里葉變換將一維振動信號從時域轉換為頻域進行表示,再將其輸入到DS-ResNet 模型中進行模型的預訓練,最后通過在測試樣本中添加高斯白噪聲模擬實際工程的噪聲環境,實現滾動軸承的故障診斷和故障分類,證明了所提方法在強噪聲環境下的有效性。

1 優化深度殘差網絡

1.1 深度殘差網絡原理

He 等[17]提出了深度殘差網絡(Deep Residual Networks,ResNet),殘差模塊(Residual Building Block,RBB)是ResNet 的核心部分,傳統殘差模塊的結構如圖1 所示。主要由卷積層、BN 層和ReLU激活函數構成,并通過快捷跨躍實現信號的跨層傳播,使訓練過程中的底層誤差可以通過快捷連接傳遞給上一層,通過殘差學習的方式有效地解決了深度神經網絡由于深度增加而導致整個網絡性能下降的問題。

圖1 中X表示殘差模塊的輸入;F(X)表示殘差映射函數;G(X)表示底層恒等映射函數;wl表示輸入經過殘差模塊中第l個卷積層時獲得的權重矩陣。

1.1.1 卷積層

卷積層是整個卷積神經網絡中的核心組成部分,其主要作用是對輸入數據進行特征提取。卷積操作運算公式如下所示[18]:

1.1.2 批量歸一化層

批量歸一化(Batch Normalization,BN)主要是為了解決內部協變量偏移問題而被提出的一種歸一化方法。BN 的表達式為:

式中xi表示批量歸一化操作的第i個輸入值;yi表示批量歸一化操作的第i個輸出值;n表示分類任務中每個輸入批次樣本的數量;γ,β表示BN 層的放縮與偏置;ε表示保證數值穩定的常數項。

1.1.3 ReLU 激活函數

ReLU 函數是CNN 中最常見的激活函數,其主要作用是為網絡模型提供非線性表達,可以防止網絡發生梯度消失問題。其數學表達式為:

式中x表示激活函數的輸入;f表示激活函數的輸出。

1.2 深度可分離卷積

Chollet[19]提出了使用深度可分離卷積代替標準卷積運算來解決模型深度增加導致的診斷性能下降和計算時間過長的問題,在保證網絡性能優良的同時,減少了可訓練的權重參數,使模型更加輕量化。深度可分離卷積(Depthwise Separable Convolution,DSC)的結構如圖2(a)所示,包括一個使用常規卷積核寬度的深度卷積層(Depthwise Convolution,DWC)和一個卷積核尺寸為1×1 的逐點卷積層(Pointwise Convolution,PWC)。

圖2 深度可分離卷積示意圖Fig.2 Schematic of DSC

深度卷積層不同于普通標準卷積,對輸入的每個通道進行獨立的卷積操作,卷積核個數等于通道數,其表達式為:

式中S表示輸出特征;V表示寬為W、高為H的卷積核;X表示輸入特征;m表示特征的第m通道;i,j表示輸出特征在第m通道上的i,j坐標;w,h表示第m通道的卷積核權重元素坐標。

逐點卷積與標準卷積基本相同,主要作用是將輸出特征在通道方向進行加權組合。一維深度可分離卷積的原理和具體操作如圖2 所示,首先利用深度卷積分別提取每個通道的特征,再利用逐點卷積對通道輸出特征進行整合,若輸入特征尺寸寬度為Wn,通道數為M,卷積核寬度為W,卷積核數量為K,則深度可分離卷積的計算量為:

標準卷積可分為提取特征和合并特征兩個操作,其操作如圖3 所示,標準卷積的計算量為:

圖3 標準卷積計算操作Fig.3 Calculation operation of standard convolution

由式(5)和(6)可得深度可分離卷積和標準卷積的計算量比值為:

式中 卷積核寬度W通常取3,5 和7,而卷積核數量K大于1,故式(7)的值小于1,即深度可分離卷積的計算量小于傳統標準卷積。

1.3 優化殘差模塊

本文對傳統殘差模塊進行了優化,優化殘差模塊(Optimized Residual Building Block,ORBB)如圖4 所示。優化的核心部分主要有以下三點:

圖4 優化殘差模塊Fig.4 Optimized residual building block

(1)將RBB 的第一個標準卷積層用DSC 代替,其中DWC 通過拆分通道維度的相關性降低了模型的復雜度,從而一定程度上提升了卷積核參數的使用效率;PWC 增強了網絡的非線性表達能力,同時將多通道特征嵌入到單通道中并保留顯著特征,提高了模型對淹沒于噪聲中非敏感特征的提取能力。

(2)在深度可分離卷積層后再增加一個逐點卷積層,進一步提取非敏感特征信息,增強了模型的抗干擾能力。

(3)在逐點卷積層后添加了一個BN 層,減少在噪聲干擾下樣本特征之間的分布差異,提高了模型的抗噪性和泛化性能。

1.4 優化深度殘差網絡模型

本文利用深度可分離卷積復雜度低和逐點卷積能增強網絡非線性表達的優點對傳統殘差模塊進行了優化,提出了一種優化深度殘差網絡滾動軸承故障診斷模型,如圖5 所示。在模型的測試階段,首先利用FFT 將被噪聲信號干擾的振動信號從時域轉化為頻域進行表示,突出故障特征頻率的成分;其次將頻域信號樣本輸入到訓練好的模型中,輸入信號經過具有寬卷積核的標準卷積層和池化層,削弱噪聲對提取有用特征信息的影響;然后信號進入兩組ORBB 層和池化層,利用DWC 和PWC 提高對淹沒于噪聲中非敏感特征的提取能力,采用BN 層解決由于噪聲干擾引起的內部協變量偏移問題,并通過深層標準卷積層和池化層進一步提取抽象特征信息;再經過Dropout 層提高模型對噪聲的容忍度;最后經過全連接層和Softmax 分類器輸出多種故障類別,實現滾動軸承的故障診斷。

2 實驗數據集的構建

本文采用本實驗室滾動軸承故障模擬實驗臺采集的數據來驗證所提方法的有效性。在MFS 實驗臺上測試帶有故障的滾動軸承,實驗臺實物如圖6所示。三相交流電機與驅動軸通過聯軸器相連,轉軸兩端各安裝一個型號為ER-16K 的深溝球軸承,其中驅動端是帶有故障的軸承,另一端是健康軸承,并在轉軸中間安裝了一個質量為5.1 kg 的轉盤以施加50 N 的徑向載荷。實驗采用3 通道數據線連接信號采集器和加速度傳感器,并通過USB 接口將信號傳輸到計算機,以此采集振動信號。本文采集了軸承轉速分別為1200,1300 和1400 r/min 三種不同工況下的振動信號,信號采樣頻率為15.3 kHz,采樣時間為8 s。

本文實驗測試所用的軸承故障采用激光蝕刻技術加工而成,其中軸承故障位置為內圈故障、外圈故障和滾動體故障,如圖7 所示。實驗所用軸承內、外圈故障寬度和滾動體故障孔徑分別為0.6,1.2 和1.8 mm,可分為輕度、中度和重度三種故障程度,故障深度均為0.25 mm,共計9 種故障類型。為充分保證每個數據樣本故障信息的完整度,本文設置每個樣本長度為2048 個采樣點,并采用重疊采樣的方式對數據進行隨機分割。每類信號包含250 個樣本,共計2250 個樣本,并采用One-hot 編碼[20]方式將9種不同故障類型的數據樣本進行標簽化,根據轉速不同可制作成F1,F2 和F3 三種數據集,并按照4∶1的比例劃分為訓練集和測試集,具體滾動軸承故障的樣本分布如表1 所示。

表1 滾動軸承故障樣本分布Tab.1 Fault sample distribution of rolling bearing

圖7 滾動軸承故障部位Fig.7 Failure location of rolling bearing

3 實驗驗證與分析

本文實驗的軟件環境為PyCharm2020.1.2 中的Keras框架,硬件環 境為Intel(R)Xeon(-R)Silver 4110 CPU @2.10 GHz,2.10 GHz 雙處理器和NVIDIA Quadro P4000 顯卡。

在實際工況中,采集到的振動信號往往會受到環境噪聲的污染,導致信號中有用的故障信息被掩蓋。對此,本文將通過在測試樣本中添加不同信噪比(Signal to Noise Ratio,SNR)的高斯白噪聲來模擬實際工作環境中不同強度的噪聲。

3.1 模型參數的設置與選擇

3.1.1 結構參數的設置

模型選取Adam 自適應優化器優化參數,設置Batch Size=10,epoch=30,深度可分離卷積層和傳統卷積層均采用ReLU 激活函數,Dropout 的值為0.5,即每次訓練隨機選取50%的神經元失活,以防止網絡結構過擬合,DS-ResNet 模型的結構參數設置如表2 所示。

表2 DS-ResNet 模型的結構參數Tab.2 The structural parameters of DS-ResNet

表2 中每個優化殘差模塊包含了一個深度可分離卷積層和一個單一逐點卷積層,如ORBB-1 中,[5,1,64]-[1,1,64]表示深度可分離卷積層中深度卷積的卷積核為5×1,逐點卷積的卷積核為1×1,通道數為64。其中標準卷積層和優化殘差模塊中的卷積步長均為1×1。

3.1.2 第一層卷積核寬度的選擇

對于一維振動信號,第一層卷積核寬度對模型的故障診斷性能有著重要的影響[21]。因此,需要選擇合適的卷積核寬度來保證DS-ResNet 模型的故障診斷性能。由于論文篇幅原因,本文對第一層卷積核寬度分別為4,32,64,112 和128 時模型的收斂情況進行分析。在數據集F3 的測試集中加入信噪比為-4 dB 的噪聲信號情況下,不同卷積核寬度時模型的損失率變化如圖8 所示。

圖8 第一層卷積核寬度不同時模型的損失率Fig.8 Loss rate of the model with different width of the first layer convolution kernel

從圖8 中可以看出,卷積核寬度為112 時損失率下降最快且初始值最低;卷積核寬度為4 時的損失率下降最慢且初始值最高;在經過15 輪計算之后模型開始收斂,從圖中也可看出在收斂時卷積核寬度為112 時的損失率最低且最平穩,其他寬度時損失率均存在波動。不同卷積核寬度時模型的識別準確率如表3 所示,當卷積核寬度為4 時識別準確率僅為83.11%,當卷積核寬度為112 時識別準確率最高達到91.78%,當卷積核寬度為128 時識別準確率降低至91.11%。出現這種現象的主要原因是當卷積核寬度過小時,難以學習到足夠的特征,且易受到高頻噪聲的干擾;而當卷積核寬度過大時,不利于提取信號的局部特征,導致模型識別準確率降低。因此本文選擇第一層卷積核的寬度為112。

表3 第一層卷積核寬度對識別準確率的影響Tab.3 Influence of the width of the first layer convolution kernel on identification accuracy

3.1.3 學習率的選擇

學習率決定了模型參數能否更新到最優值,學習率過大或過小都會影響模型的收斂速度,不利于故障類型的精確識別[22]。為了避免由于該問題導致無法訓練得到最優診斷性能的模型,現研究學習率分別1×10-3,1×10-4,5×10-5和1×10-5時對模型收斂性的影響,設置第一層卷積核寬度為112,在數據集F3 的測試集中加入信噪比為-4 dB 噪聲信號的情況下,使用不同學習率的模型損失率變化如圖9 所示。

圖9 學習率不同時模型的損失率Fig.9 Loss rate of model with different learning rate

從圖9 中可以看出,學習率為1×10-4時損失率初始值最低且下降最快;學習率為1×10-5時損失率的初始值最高且下降最緩慢;模型經過15 輪計算之后,學習率為1×10-4和5×10-5時的模型已經完全收斂,且學習率為1×10-4時損失率更穩定;學習率為1×10-3時的損失率存在較大波動,學習率為1×10-5時損失率仍處于下降階段,模型均尚未完全收斂。不同學習率時模型的識別準確率如表4 所示。當學習率為1×10-4時識別準確率達到91.78%,當學習率為1×10-5時識別準確率最低僅為84.44%。經過以上分析,本文設置學習率為1×10-4。

表4 學習率對識別準確率的影響Tab.4 Influence of learning rate on identification accuracy

3.2 實驗結果分析與討論

3.2.1 模型驗證

為了驗證本文所提出的DS-ResNet 模型的診斷性能,與5 種常用的深度學習故障診斷模型進行對比分析,其中A 表示本文所提模型,采用DS-ResNet的滾動軸承故障診斷方法;B 表示傳統ResNet 模型,僅殘差塊結構與本文模型不同,為RBB 結構;C表示LeNet-5 模型,是一種主要由兩組卷積層和池化層構成的輕量化淺層神經網絡;D 表示VGG16 模型,是一種常見的深層神經網絡;E 表示WDCNN 模型[13],是一種寬卷積核深度卷積神經網絡;F 表示MBDS-CNN 模型[22],是一種多分支深度可分離卷積神經網絡。以上所有深度學習模型的參數設置均與本文模型相同,并在卷積層之后均添加BN 層。

采用每輪次的訓練時間來評估本文故障診斷模型的計算效率,實驗在轉速為1400 r/min,信噪比為-4 dB 的噪聲信號環境下進行,所得結果均取10 次實驗的平均值,結果如表5 所示。表中模型深度包含卷積層、池化層、BN 層、Dropout 層、全連接層和Softmax 層。由表5 可以看出本文模型的計算效率高于模型B,D,E 和F,比這4 種模型中深度最淺的模型E 快了0.29 s,比深度最深的模型F 快了1.01 s;相較于最典型的淺層神經網絡模型C,本文模型雖然在計算效率上沒有優勢,但在信噪比為-4 dB 的強噪聲環境下的識別準確率提高了10.49%。

表5 不同模型的故障診斷效果Tab.5 Fault diagnosis effects of different models

3.2.2 抗噪性能分析

為了驗證本文所提DS-ResNet 模型的抗噪性,分別與5種常用的深度學習故障診斷模型(與3.2.1節相同)在轉速為1400 r/min 的工況下進行對比分析,設置信噪比為-4~4 dB,實驗所得結果均取10 次實驗的平均值,實驗結果如圖10 所示。

圖10 不同模型在噪聲環境下的識別準確率Fig.10 Identification accuracy of different models in noisy environment

由圖10 可知,在信噪比為-4~4 dB 的環境下,本文模型的故障識別準確率均為最高。尤其是在信噪比為-4 dB 的強噪聲環境中,本文所提出的模型的故障識別準確率達到92.71%,模型B,C,D,E 和F 分別為90.67%,82.22%,80.27%,85.78% 和83.29%,模型A 比5 種對比模型的識別準確率分別高2.04%,10.49%,12.44%,6.93% 和9.42%;在信噪比為-2 dB 的噪聲環境中,所有模型的故障識別準確率均高于90%,其中本文所提模型識別準確率為98.22%,比最高的ResNet 高0.58%,比最低的VGG16 高6.75%;當信噪比為4 dB 時,6 種模型的故障識別準確率均在99%以上,本文模型的識別準確率依然最高,達到100%。

為了進一步驗證本文模型在受到強噪聲干擾時的診斷性能,采用箱型圖來說明不同模型識別結果的穩定性,實驗在信噪比為-4 dB 和-2 dB 的噪聲環境下進行,結果如圖11 所示。所提出的DS-ResNet模型在強噪聲環境下具有較好的識別效果,并且方差較小。除了在信噪比為-2 dB 時ResNet的識別準確率表現出較小方差,其他模型在強噪聲環境下的識別結果都不夠穩定。結果表明,與其他模型相比,本文所提模型能顯著提高滾動軸承故障在受到強噪聲干擾時識別效果的準確性和穩定性。

圖11 不同模型在強噪聲環境下的識別準確率箱型圖Fig.11 Box diagram of identification accuracy of different models in strong noise environment

3.2.3 泛化性能分析

為驗證DS-ResNet 模型在強噪聲環境中變工況下識別軸承損傷程度的能力,設置了泛化性能實驗,實驗在信噪比為-4 dB 強噪聲環境下進行。分別與5 種常用的深度學習故障診斷模型(與3.2.1 節相同)進行對比分析,選用三種不同轉速下的故障數據即F1,F2 和F3 構建訓練集和測試集,如F1→F2 表示數據集F1 用于模型訓練,數據集F2 用于模型測試。所得結果均取10 次實驗的平均值,實驗結果如表6 所示。

表6 不同模型在變轉速工況下的故障識別效果Tab.6 Fault identification effects of different models under variable speed conditions

從表6 可以看出,在信噪比為-4 dB 的情況下,本文所提出的DS-ResNet 模型在6 種變轉速工況中的平均識別準確率為90.23%,是所有模型中故障識別效果最好的。模型B 是5 種常用模型中識別效果最佳的,其平均識別準確率為88.21%,但依然比本文模型低2.02%。對比分析模型A 和B 各實驗工況的故障識別性能,在6 種工況下模型B 的識別準確率均不如模型A,由此可見,在深度殘差網絡中引入深度可分離卷積和逐點卷積,可有效改善模型的特征提取能力,從而增強了模型在強噪聲環境下的變轉速自適應能力。模型C 的平均識別準確率是所有模型中最低的,僅為69.17%,比模型A 低了21.06%。綜上所述,在受到強噪聲干擾同時轉速改變的工況下,本文所提模型在滾動軸承故障識別中仍然保持了較好的泛化性能。

3.2.4 分類結果可視化

本節采用t-SNE(t-Distributed Stochastic Neighbor Embedding)非線性降維算法,分別對本文所提模型在數據集F3 的測試集中添加信噪比為-4~4 dB 噪聲時的分類結果進行可視化,圖12 展示了模型在不同強度噪聲環境下故障類別的分布情況。

圖12 不同信噪比環境下模型的預測樣本分布Fig.12 Prediction sample distribution of the model in different SNR environments

從圖12 中可以看出,隨著信噪比的提高,模型的故障分類能力也隨之增強。在信噪比為-4 dB時,大多數故障可以很好地聚類,只有標簽3 和6 在聚類過程中有部分重疊,說明此時中度內圈故障和重度內圈故障容易混淆;在信噪比為2 dB 時,所有故障都得到了很好地聚類,模型可以很清晰地識別出所有故障類別,驗證了本文模型在噪聲環境下有較好的故障分類能力。

3.2.5 權重優化過程可視化

能否學習到合適的權重參數是深度神經網絡的核心問題之一,為了理解深層網絡模型中深層權重的優化過程,利用TensorBoard 可視化工具對模型的權重分布進行可視化分析,兩個深度可分離卷積層和最后一個標準卷積層的權重分布隨輪次的變化如圖13 所示。

圖13 模型權重優化過程的可視化Fig.13 Visualization of model weight optimization process

從圖13 中可以看出,隨著計算輪次的增加,權重不斷更新,在第7 輪次模型開始收斂;第一個DSC層卷積核的權重密集分布范圍最大,為-0.17~0.17,學到的特征最多;隨著模型深度的增加,權重密集分布范圍開始減小,第二個DSC 層卷積核的權重密集分布范圍為-0.12~0.12,相比于第一個DSC 層的權重密集分布范圍更小,學到的特征也隨之減少;最后一個標準卷積層卷積核的權重密集分布范圍為-0.10~0.10,學到的特征最少。由此可知,隨著網絡深度的增加,本文所提模型的權重分布范圍在最后一個標準卷積層達到最小,此時模型收斂。

4 結論

(1)本文提出了基于DS-ResNet 的滾動軸承故障診斷模型,以模型的收斂性為評價指標,研究第一層卷積核寬度和學習率對所提模型診斷性能的影響規律,最后確定當第一層卷積核寬度為112、學習率為1×10-4時模型的診斷性能最佳。

(2)所提DS-ResNet 模型在信噪比為-4 dB 的強噪聲環境下對各類軸承故障進行分類,識別準確率達到92.71%,模型每輪次訓練時間僅為2.16 s,提高了滾動軸承故障的識別準確率和診斷效率。在轉速改變的情況下,所提模型的平均識別準確率依然可達90.23%,提高了滾動軸承故障診斷的變轉速自適應能力。與其他常用的深度學習故障診斷模型相比,DS-ResNet 模型在受到強噪聲干擾和變轉速工況下保持了較高的識別準確率,在強噪聲環境下具有更好的抗干擾能力和泛化性能。

(3)采用t-SNE 算法對模型在不同強度噪聲環境下的分類結果進行可視化分析,進一步驗證了本文模型在噪聲環境下有較好的故障分類能力;采用TensorBoard 可視化工具對模型的權重分布進行展示,有利于更深刻地理解模型權重的優化過程。

猜你喜歡
殘差信噪比寬度
基于雙向GRU與殘差擬合的車輛跟馳建模
基于殘差學習的自適應無人機目標跟蹤算法
基于深度學習的無人機數據鏈信噪比估計算法
基于遞歸殘差網絡的圖像超分辨率重建
低信噪比下LFMCW信號調頻參數估計
低信噪比下基于Hough變換的前視陣列SAR稀疏三維成像
紅細胞分布寬度與血栓的關系
保持信噪比的相位分解反褶積方法研究
平穩自相關過程的殘差累積和控制圖
孩子成長中,對寬度的追求更重要
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合