国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CNN-Seq2Seq的航空發(fā)動機(jī)喘振診斷模型的研究

2022-05-24 03:24:42姚艷玲袁化成唐曉瀾黃愛華
測控技術(shù) 2022年5期
關(guān)鍵詞:故障診斷航空卷積

姚艷玲,袁化成,陸 超,唐曉瀾,黃愛華

(1.南京航空航天大學(xué) 能源與動力學(xué)院,江蘇 南京 210016;2.中國航發(fā)四川燃?xì)鉁u輪研究院,四川 綿陽 621000;3.西南石油大學(xué) 計算機(jī)科學(xué)學(xué)院,四川 成都 610500;4.成都航空職業(yè)技術(shù)學(xué)院,四川 成都 610000)

航空發(fā)動機(jī)是飛機(jī)的主要動力裝置,由于其長期在高溫、高壓、高速、強(qiáng)振動等異常惡劣的環(huán)境下工作,所以存在較大的風(fēng)險,易發(fā)生機(jī)械故障,甚至造成系統(tǒng)崩潰。航空發(fā)動機(jī)喘振就是影響飛機(jī)性能和安全的主要故障現(xiàn)象之一,不僅影響發(fā)動機(jī)工作狀態(tài),嚴(yán)重時還會造成重大安全事故,引起人員和財產(chǎn)的重大損失。因此如果能夠?qū)娇瞻l(fā)動機(jī)喘振進(jìn)行及時準(zhǔn)確的診斷并采取相應(yīng)消喘措施,能夠避免發(fā)動機(jī)因喘振故障而導(dǎo)致嚴(yán)重事故的發(fā)生。

所涉及的航空發(fā)動機(jī)傳感器試驗(yàn)數(shù)據(jù)屬于多變量時序型數(shù)據(jù),可將航空發(fā)動機(jī)喘振的診斷問題看作是一種特殊的故障檢測和診斷問題。許多學(xué)者對機(jī)械系統(tǒng)故障檢測和診斷開展了眾多方法研究,可概括為三大類[1]:基于模型的方法[2-4]、基于知識推理的方法[5-7]和基于數(shù)據(jù)驅(qū)動的方法[8-11]?;谀P偷姆椒ㄖ饕腔谙到y(tǒng)動態(tài)數(shù)學(xué)模型的方法,即通過構(gòu)建數(shù)學(xué)模型來探尋對象運(yùn)行規(guī)律,適用于具備過程精確的定量數(shù)學(xué)模型,該類方法也是最早最為深入的方法,優(yōu)點(diǎn)是充分利用了系統(tǒng)內(nèi)部的深層知識,利于系統(tǒng)的故障診斷。

基于數(shù)據(jù)驅(qū)動的方法無需建立精確的復(fù)雜系統(tǒng)模型,也無需大量的領(lǐng)域?qū)<抑R和知識的表達(dá)推理機(jī)制,但是通常需要大量準(zhǔn)確的數(shù)據(jù)。隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)已經(jīng)在很多領(lǐng)域都取得了卓越的成果,例如:自然語言處理[14]、圖像識別[15]、入侵檢測[16]等,越來越多的學(xué)者也開始將深度學(xué)習(xí)應(yīng)用于故障診斷和預(yù)測。在國外,Elashmawi等[17]提出了一種基于人工神經(jīng)網(wǎng)絡(luò)的故障診斷模型,該模型具有監(jiān)視、分析和診斷燃?xì)鉁u輪發(fā)動機(jī)故障的在線處理功能,具有雙重優(yōu)勢。國內(nèi)的吳斌等[18]以渦扇發(fā)動機(jī)為對象,引入了深度置信網(wǎng)絡(luò)(Deep Belief Network,DBN)對發(fā)動機(jī)部件性能衰退故障進(jìn)行診斷研究,解決了淺層神經(jīng)網(wǎng)絡(luò)在診斷時存在泛化能力欠缺的問題,并提高了發(fā)動機(jī)氣路部件性能衰退故障的診斷精度。Yuan等[19]利用長短時記憶網(wǎng)絡(luò)(Long Short Term Memory Network,LSTM)對航空發(fā)動機(jī)進(jìn)行故障診斷和剩余壽命預(yù)估。Chen等[20]基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)、深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)和LSTM提出了一種混合深度計算模型(Hybrid Dilated Convolution,HDC),該模型在航空發(fā)動機(jī)氣路故障診斷上的準(zhǔn)確率能達(dá)到83%。上述模型雖然都能達(dá)到不錯的診斷準(zhǔn)確度,但是很難在模型大小、運(yùn)算效率以及模型診斷準(zhǔn)確度上都做得較好。

就某型航空發(fā)動機(jī)的燃燒室燃油噴嘴壓力(Ptk)、發(fā)動機(jī)高壓壓氣機(jī)轉(zhuǎn)子轉(zhuǎn)速(N2)、發(fā)動機(jī)渦輪后溫度(Tt6)等多個主要傳感器數(shù)據(jù),在序列到序列(Sequence to Sequence,Seq2Seq)模型的基礎(chǔ)上提出了一種基于CNN-Seq2Seq的面向航空發(fā)動機(jī)喘振故障診斷的神經(jīng)網(wǎng)絡(luò)模型。CNN-Seq2Seq是指使用卷積神經(jīng)網(wǎng)絡(luò)對傳統(tǒng)Seq2Seq結(jié)構(gòu)中的LSTM進(jìn)行替換而改進(jìn)過的一種Seq2Seq結(jié)構(gòu)。CNN-Seq2Seq簡化了模型結(jié)構(gòu),使得模型具備并行計算的能力,從而大幅提高計算效率并降低診斷耗時。實(shí)驗(yàn)結(jié)果表明該模型在顯著降低模型大小和計算量的同時,在精確率、召回率和F1 Score上仍然獲得了94.3%、92.1%、93.2%的表現(xiàn),同時單次預(yù)測耗時僅需2 ms。

1 技術(shù)介紹

1.1 長短時記憶網(wǎng)絡(luò)處理序列

普通循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[21]難以處理長距離的依賴,存在梯度爆炸和梯度消失的問題。LSTM[22],是循環(huán)神經(jīng)網(wǎng)絡(luò)的一個變種,成功解決了原始RNN的缺陷,成為當(dāng)前比較流行的RNN,在語音識別、圖片描述、自然語言處理等時間序列相關(guān)領(lǐng)域中成功應(yīng)用。LSTM通過特殊的“門”結(jié)構(gòu),記憶一定時間范圍內(nèi)的有效信息,并適時遺忘無用的“記憶”,解決了“長時依賴”問題。LSTM通過“門”結(jié)構(gòu)控制數(shù)據(jù)流,“門”結(jié)構(gòu)的實(shí)質(zhì)是一個全連接非線性變換,輸出取值在0~1之間。LSTM有3種“門”結(jié)構(gòu):① 遺忘門,它決定上一時刻的單元狀態(tài)Ct-1保留多少信息到當(dāng)前時刻Ct;② 輸入門,它決定當(dāng)前網(wǎng)絡(luò)輸入Xt保留多少信息到當(dāng)前狀態(tài)Ct;③ 輸出門,它決定當(dāng)前單元狀態(tài)Ct保存多少到當(dāng)前輸出值ht。

1.2 CNN處理序列

一個CNN[23]由若干卷積層、池化層、全連接層組成,可以利用這些子結(jié)構(gòu)構(gòu)造不同的CNN。CNN能夠進(jìn)行卷積運(yùn)算,從局部輸入圖塊中提取特征,因此在計算機(jī)視覺問題上表現(xiàn)出色。CNN的特性使其在空間問題上特別擅長,時間實(shí)際上也可以看作一個空間維度,就像二維圖像的高度和寬度,不包含RGB通道值,被稱為一維CNN。對于分類和時間序列預(yù)測等簡單任務(wù),小型的一維CNN已經(jīng)可以媲美RNN,并且計算代價通常要小很多。一維卷積層可以識別序列中的局部模式,從序列中提取局部的子序列,但其對整體時間步并不敏感(整體時間步是指遠(yuǎn)大于子序列的時間步),可將許多卷積層和池化層堆疊起來以學(xué)習(xí)更長的時間步。如果所處理任務(wù)的序列數(shù)據(jù)整體順序非常重要,例如溫度的連續(xù)預(yù)測,CNN稍顯力不從心,此時最好采用RNN用以捕獲更長序列的潛在信息。但分析討論內(nèi)容,航空發(fā)動機(jī)喘振故障往往只依賴于前面較短時間步的信息,故障的發(fā)生往往是瞬時的,在故障發(fā)生前的極小段時間內(nèi)已可見端倪,只不過人類無法定義這種變化,但使用神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)并不困難。因此可以使用一維CNN來處理所涉及的時間序列數(shù)據(jù)。相較于RNN,CNN計算代價要小得多,在序列問題的整體順序不重要時可以替代RNN。針對所研究問題,CNN相較RNN的最大優(yōu)勢是能夠提供并行計算的能力從而大幅提高計算效率。

1.3 Seq2Seq模型處理序列

Seq2Seq是在輸出長度不確定時采用的模型,一般用于自然語言處理中的機(jī)器翻譯、人機(jī)對話、聊天機(jī)器人等任務(wù)。將中文翻譯為英文時,英文句子的長度可能比中文長,也可能比中文短,輸出句子的長度難以確定,輸入序列和輸出序列通常也沒有相同的長度,Seq2Seq的提出就是為了解決這樣的問題,其結(jié)構(gòu)如圖1所示。

圖1 Seq2Seq模型結(jié)構(gòu)

Seq2Seq是一種Encoder-Decoder結(jié)構(gòu),Encoder負(fù)責(zé)將輸入序列壓縮成指定長度的上下文向量,這個向量可以輸入序列的語義表達(dá)。圖1中將Encoder的最后一個隱藏狀態(tài)作為上下文向量C,也可以對最后一個隱藏狀態(tài)做一個變換得到上下文變量,也可以對所有的隱藏狀態(tài)做變換得到上下文向量。Decoder負(fù)責(zé)根據(jù)上下文向量生成對應(yīng)的序列,圖中的方式是直接將上下文向量作為初始狀態(tài)輸入到Decoder中預(yù)測輸出序列,還可以將上下文向量C當(dāng)作每一步的輸入。

Seq2Seq模型一般采用LSTM作為Encoder和Decoder的組成部分,這是由于RNN設(shè)計的目的就是為了處理這樣的時間序列數(shù)據(jù),然而這樣的Seq2Seq模型不能進(jìn)行并行運(yùn)算,因此存在計算效率低、計算耗時長的問題。相比于RNN,CNN可以實(shí)現(xiàn)并行計算,其計算代價要小很多,一維CNN也能用于解決時間問題,因此使用一維CNN代替?zhèn)鹘y(tǒng)Seq2Seq模型中的LSTM結(jié)構(gòu),可以降低喘振診斷模型的網(wǎng)絡(luò)復(fù)雜度并提高計算效率,達(dá)到針對喘振故障能夠在毫秒級時間內(nèi)進(jìn)行診斷的效果。

2 模型設(shè)計

面向航空發(fā)動機(jī)喘振提出了一種基于CNN-Seq2Seq的故障診斷模型,該模型使用CNN和改進(jìn)后的Seq2Seq作為主要模塊進(jìn)行構(gòu)建。

模型中的CNN為沒有池化層的一維CNN。CNN不僅可處理空間問題,還能被應(yīng)用到某些時間問題上。Conv1D可以識別時間序列中的局部模式,從序列中提取局部的子序列,但其對整體時間步并不敏感。相較于RNN,一維CNN能夠?qū)崿F(xiàn)并行計算并且計算代價要小很多。改進(jìn)后的Seq2Seq模型也主要是依托這樣的一維CNN來構(gòu)建,旨在提高模型計算速度。故障診斷模型的主要模型結(jié)構(gòu)如圖2所示。

圖2 模型架構(gòu)圖

由于一般的Seq2Seq模型主要用以自然語言處理,需要對單詞做詞嵌入(Embedding)處理,而模型輸入數(shù)據(jù)為經(jīng)過標(biāo)準(zhǔn)化處理后的傳感器時序數(shù)據(jù),無需再經(jīng)過Embedding層,模型將直接計算經(jīng)過一系列預(yù)處理后的數(shù)據(jù)。Seq2Seq的提出是為了解決不定長序列的生成問題,Seq2Seq的作用是對未來傳感器數(shù)據(jù)進(jìn)行預(yù)測,通過對Seq2Seq進(jìn)行改進(jìn),將其內(nèi)部的編碼器和解碼器中的LSTM層更換為CNN層,提供高性能的并行計算,加快訓(xùn)練速度和預(yù)測速度。在Seq2Seq模型中,其模型的輸入為(批量大小、輸入序列長度、序列特征個數(shù))的三維數(shù)組,通過編碼器對其進(jìn)行壓縮得到一個二維的特征向量,也就是圖2中的C,接著將編碼向量C輸入到解碼器中得到預(yù)測序列數(shù)據(jù)結(jié)構(gòu)與其輸入結(jié)構(gòu)一致的三維數(shù)組,只是第二維的序列長度稍有變化。CNN層對預(yù)測的時間序列數(shù)據(jù)進(jìn)行分析,挖掘傳感器采集數(shù)據(jù)中潛在特征信息,對是否發(fā)生喘振故障進(jìn)行判斷。最后經(jīng)過一個全連接層和Sigmoid激活函數(shù),將卷積后的數(shù)據(jù)經(jīng)過維度變換后最后輸出結(jié)構(gòu)為(批量大小、二分類判定結(jié)果)的二維數(shù)組。Ligh4S模型將判斷結(jié)果轉(zhuǎn)換為0~1之間的小數(shù),Sigmoid公式定義如下:

(1)

式中:x為輸入至該激活函數(shù)的數(shù)據(jù)值,經(jīng)過Sigmoid函數(shù)處理后的值大于等于0.5時將被判斷為發(fā)生喘振故障。上述所提到的批量大小設(shè)置為300,輸入序列長度為64,序列特征個數(shù)為6,預(yù)測序列長度為20。

3 數(shù)據(jù)集及預(yù)處理

3.1 數(shù)據(jù)集

選取某型航空發(fā)動機(jī)進(jìn)行試驗(yàn)產(chǎn)生的部分歷史數(shù)據(jù)作為數(shù)據(jù)集訓(xùn)練模型,試驗(yàn)數(shù)據(jù)由每個時刻從多個傳感器采集到的數(shù)值數(shù)據(jù)組成,包括核心機(jī)失速、增加推力、慣性起動切油、起動失速、高溫或低溫起動時爆燃、壓氣機(jī)畸變等不同場景下通過試驗(yàn)獲取到的數(shù)據(jù)。從多個傳感器中選擇發(fā)動機(jī)壓氣機(jī)(高壓轉(zhuǎn)子)出口總壓(Pt3)、發(fā)動機(jī)壓氣機(jī)高壓轉(zhuǎn)子轉(zhuǎn)速(N2)、發(fā)動機(jī)油門桿(PLA)等與航空發(fā)動機(jī)喘振故障密切相關(guān)的傳感器。喘振故障時間點(diǎn)由專家根據(jù)相應(yīng)規(guī)則和經(jīng)驗(yàn)進(jìn)行人工標(biāo)注,例如當(dāng)PLA傳感器的數(shù)值曲線趨于平穩(wěn)的時候,一旦Pt3傳感器出現(xiàn)突升、突降、或劇烈抖動后直到回歸平穩(wěn)的這段區(qū)間便是發(fā)生喘振的區(qū)間,該區(qū)間內(nèi)的每一個時刻都在發(fā)生喘振,其余時刻為正常工作狀態(tài)。經(jīng)人工標(biāo)注后,數(shù)據(jù)集中正常點(diǎn)與喘振點(diǎn)的比例約為95∶15。

將數(shù)據(jù)集打亂并按照7∶2∶1的比例拆分為3部分:訓(xùn)練集、驗(yàn)證集、測試集。在訓(xùn)練數(shù)據(jù)上訓(xùn)練模型,在驗(yàn)證數(shù)據(jù)上評估模型,一旦找到最佳參數(shù)在測試數(shù)據(jù)上做最終評估。

3.2 數(shù)據(jù)缺失值處理及標(biāo)準(zhǔn)化

數(shù)據(jù)中有時會有缺失值,需要對缺失值進(jìn)行填充,以發(fā)動機(jī)每秒的運(yùn)作頻率為基準(zhǔn),填充方法為使用缺失值前后發(fā)動機(jī)頻率一半數(shù)量的時刻的平均值進(jìn)行填充,如果選用時刻點(diǎn)過多或過少,得到的缺失值并不具備傳感器數(shù)據(jù)在該段時刻的局部特征,3個數(shù)據(jù)集合中均采用該方法對缺失值進(jìn)行填充。

不同傳感器具有各種不同的取值范圍,將每個傳感器分別做標(biāo)準(zhǔn)化處理,消除量綱帶來的干擾,使其均值為0、標(biāo)準(zhǔn)差為1。

(2)

(3)

最后在時間維度上依次采取如下公式進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化:

X-=Tmean,X÷=Tstd

(4)

其中,X為3個集合中的任意一個,即驗(yàn)證集和測試集上的數(shù)據(jù)在做標(biāo)準(zhǔn)化處理時使用的是訓(xùn)練集上的平均值和標(biāo)準(zhǔn)差。同時減法和除法操作都是在時間維度上進(jìn)行。

3.3 滑動窗口處理數(shù)據(jù)

采用滑動窗口的形式對時序數(shù)據(jù)進(jìn)行截取,構(gòu)造模型的輸入數(shù)據(jù)。具體方法如圖3所示,是以固定大小的窗口對各傳感器采集到的數(shù)據(jù)按照固定大小的滑動步長分別獲取數(shù)據(jù)。以滑動窗口的形式進(jìn)行數(shù)據(jù)提取可以增加數(shù)據(jù)集中的樣本數(shù)量,給Ligh4S模型的訓(xùn)練提供更多數(shù)據(jù),試驗(yàn)數(shù)據(jù)采集過少時可以通過較小的滑動步長來獲取更多的樣本。同時滑動窗口在采樣時會存在重疊的子窗口,這會使得模型能更容易地學(xué)習(xí)到故障序列的特征?;瑒哟翱诘拇笮〖礊閱蝹€訓(xùn)練樣本的時間步長。

圖3 使用窗口滑動截取數(shù)據(jù)

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

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

實(shí)驗(yàn)所使用CPU為Intel Core i9-9900K Processor@3.60 GHz,內(nèi)存為16 GB,GPU為Geforce RTX 2080Ti。模型搭建采用簡單易上手的高級深度學(xué)習(xí)框架Keras,Keras后端引擎選擇TensorFlow。

在數(shù)據(jù)集方面,研究了多型渦扇發(fā)動機(jī)在空中慣性起動、空中風(fēng)車起動、進(jìn)氣畸變條件下的地面起動,以及起動失速/喘振等12個不同場景下通過試驗(yàn)獲得的總共30萬條左右的多個傳感器數(shù)據(jù),作為模型的訓(xùn)練數(shù)據(jù)、測試數(shù)據(jù)與驗(yàn)證數(shù)據(jù)。

4.2 性能評價指標(biāo)

使用數(shù)據(jù)集中正常點(diǎn)與故障點(diǎn)的比例約為95:15,屬性不平衡的分類問題,使用準(zhǔn)確率對故障診斷性能進(jìn)行評估是不合理的。選擇精確率(Precision)、召回率(Recall),以及F1 Socre對故障診斷模型進(jìn)行性能評價。因?yàn)樵谀P屯耆R別出正常點(diǎn)并將所有喘振點(diǎn)也判斷為正常點(diǎn)的情況下,此時模型準(zhǔn)確率也能達(dá)到95%,因此需要選擇其他指標(biāo)對模型進(jìn)行評估。

4.3 試驗(yàn)結(jié)果與分析

為了能夠?qū)⒛P团c其他模型進(jìn)行對比評估。以Preoision、Recall和F1 Score作為評估指標(biāo),將本文模型與其他神經(jīng)網(wǎng)絡(luò)CNN、RNN、LSTM的測試結(jié)果作對比,3個模型的輸入維數(shù)都與CNN-Seq2Seq模型一致,均為(批量大小、輸入序列長度、序列特征個數(shù))的三維數(shù)組,其中批量大小、輸入序列長度和序列特征個數(shù)與2.1節(jié)中的CNN-Seq2Seq模型的輸入設(shè)置一致。

其中基于CNN的故障診斷模型結(jié)構(gòu)由2層一維卷積層和2層全連接層組成。第1層卷積層設(shè)置的卷積核個數(shù)為24,卷積核大小為1;第2層卷積層設(shè)置的卷積核個數(shù)為12,卷積核大小為8;全連接層的節(jié)點(diǎn)數(shù)分別為32和1?;赗NN的故障診斷模型結(jié)構(gòu)由1層RNN層和2層全連接層組成,其中RNN層的節(jié)點(diǎn)數(shù)為32,全連接層的節(jié)點(diǎn)數(shù)為32和1。LSTM由1層LSTM層和2層全連接層組成,其中LSTM層的節(jié)點(diǎn)數(shù)為32,全連接層的節(jié)點(diǎn)數(shù)為32和1。結(jié)果如表1所示。

表1 各模型的實(shí)驗(yàn)結(jié)果對比

由表1的實(shí)驗(yàn)結(jié)果可知,本文模型相比其余3個模型來說性能表現(xiàn)更好,這說明在數(shù)據(jù)集上的表現(xiàn)來看,使用基于CNN-Seq2Seq的喘振診斷模型更好。同時只比較LSTM和CNN來看,CNN在喘振故障預(yù)測的效果基本可以媲美LSTM,而傳統(tǒng)RNN的效果較差,這是傳統(tǒng)RNN存在梯度下降或爆炸等問題從而難以處理長時依賴而導(dǎo)致的。

4.4 預(yù)測耗時評估

針對航空發(fā)動機(jī)喘振的診斷過程耗時不能太長,因此模型在做單次運(yùn)算的時間損耗不能太大,否則就失去了研究意義。對模型做100次測試,其耗時情況如圖4所示。

圖4 AMSDPNN模型預(yù)測測試耗時曲線

從圖4中不難發(fā)現(xiàn),模型單次診斷平時耗時僅需2 ms。所以所提出模型在保證Precision、Recall及F1 Score 3個評估指標(biāo)維持高水準(zhǔn)的同時,其預(yù)測喘振故障的時間也非常低,因此能夠?qū)崿F(xiàn)對航空發(fā)動機(jī)喘振的提前診斷。

5 結(jié)束語

基于某型航空發(fā)動機(jī)上的多傳感器試驗(yàn)數(shù)據(jù),使用窗口滑動的方式截取子序列構(gòu)建時序數(shù)據(jù)集并對其進(jìn)行標(biāo)準(zhǔn)化,之后提出了基于CNN-Seq2Seq的針對航空發(fā)動機(jī)喘振診斷的神經(jīng)網(wǎng)絡(luò)模型,該模型主要基于使用CNN改進(jìn)后的Seq2Seq。實(shí)驗(yàn)結(jié)果表明,該模型能夠以極短的時間診斷出航空發(fā)動機(jī)的喘振故障,同時Precision、Recall和F1 Score能達(dá)到不錯的水平。

猜你喜歡
故障診斷航空卷積
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實(shí)現(xiàn)
“閃電航空”來啦
“閃電航空”來啦
趣味(語文)(2021年11期)2021-03-09 03:11:36
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
因果圖定性分析法及其在故障診斷中的應(yīng)用
達(dá)美航空的重生之路
IT時代周刊(2015年7期)2015-11-11 05:49:55
一戰(zhàn)航空百年回眸
航空世界(2014年6期)2014-04-14 00:50:40
一種基于卷積神經(jīng)網(wǎng)絡(luò)的性別識別方法
基于LCD和排列熵的滾動軸承故障診斷
瑞安市| 沁源县| 永川市| 大安市| 临安市| 延庆县| 习水县| 凤庆县| 鄂伦春自治旗| 大庆市| 丹巴县| 海原县| 商都县| 贺州市| 彰化市| 宁武县| 额尔古纳市| 大姚县| 博客| 和田县| 迁安市| 西藏| 安康市| 吴堡县| 张家界市| 宁远县| 鱼台县| 汪清县| 察雅县| 庐江县| 托里县| 宁远县| 芮城县| 永州市| 芜湖县| 建水县| 绥芬河市| 琼海市| 盐津县| 伊吾县| 潞城市|