999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

卷積神經(jīng)網(wǎng)絡(luò)RLeNet加速器設(shè)計(jì)

2021-03-22 02:56:46康磊李慧鄭豪威李鑫
電腦知識(shí)與技術(shù) 2021年6期

康磊 李慧 鄭豪威 李鑫

摘要:針對卷積神經(jīng)網(wǎng)絡(luò)(CNN)對運(yùn)算的需求,現(xiàn)場可編程邏輯門陣列(FPGA)可以充分挖掘CNN內(nèi)部并行計(jì)算的特性,提高運(yùn)算速度。因此,本文基于FPGA開發(fā)平臺(tái),從模型優(yōu)化、參數(shù)優(yōu)化,硬件加速以及手寫體數(shù)字識(shí)別四個(gè)方面對CNN的FPGA加速及應(yīng)用進(jìn)行研究。提出一種數(shù)字識(shí)別網(wǎng)絡(luò)RLeNet,并對網(wǎng)絡(luò)進(jìn)行參數(shù)優(yōu)化,卷積運(yùn)算加速采用脈沖陣列與加法樹結(jié)合的硬件結(jié)構(gòu)實(shí)現(xiàn),同時(shí)使用并行技術(shù)和流水線技術(shù)優(yōu)化加速,并使用microblaze IP通過中斷控制CNN加速器IP接收串口發(fā)送的圖片數(shù)據(jù)進(jìn)行預(yù)測,輸出結(jié)果。最后在Xilinx Nexys 4 DDR:Artix-7開發(fā)板上實(shí)現(xiàn)了MNIST數(shù)據(jù)集手寫體數(shù)字識(shí)別預(yù)測過程,當(dāng)系統(tǒng)時(shí)鐘為200MHz時(shí),預(yù)測一張圖片的時(shí)間為36.47us。

關(guān)鍵詞:CNN;FPGA;RLeNet;MNIST;手寫體數(shù)字識(shí)別

中圖分類號:TP389.1? ? ?文獻(xiàn)標(biāo)識(shí)碼: A

文章編號:1009-3044(2021)06-0016-04

Abstract: In response to the requirement of convolutional neural network (CNN) for multiplication and accu-mulation operations, Field Programmable Logic Gate Array (FPGA) can fully tap the characteristics of parallel computing within CNN and increase the speed of operation. Therefore, based on the FPGA development platform, this article studies the FPGA acceleration and application of CNN from four aspects: model optimization, parameter optimization, hardware acceleration, and handwritten digit recognition. Propose a digital recognition network RLeNet, and optimize the parameters of the network. Convolution operation acceleration use a hardware structure combining pulse array and addition tree,parallel technology,pipeline technology, and microblaze IP is used to control the CNN accelerator through interrupts. The IP receives the picture data sent by the serial port for prediction and outputs the result. Finally, on the Xilinx Nexys 4 DDR: Artix-7 development board, the MNIST data set handwritten digit recognition and prediction process is implemented. When the system clock is 200MHz, the time to predict a picture is 36.47us.

Key words: CNN; FPGA; RLeNet; MNIST; handwritten digit recognition

1 引言

CNN作為一種典型的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),受到自然視覺認(rèn)知機(jī)制啟發(fā)而來[1],在視頻處理、人臉識(shí)別、語音識(shí)別和自然語言處理等很多方面都表現(xiàn)得非常出色[2-3]。但CNN需要大量的計(jì)算,在這樣的背景下,F(xiàn)PGA 似乎是一種非常理想的選擇,同GPU相比,F(xiàn)PGA 不僅擁有數(shù)據(jù)并行的特點(diǎn),還擁有流水線并行的特點(diǎn)[4]。目前很多研究者對FPGA加速進(jìn)行了研究,例如Yu-Hsin Chen提出的Eyeriss高效可配置卷積神經(jīng)網(wǎng)絡(luò)[5],中科院Temam教授和陳教授合作的機(jī)器學(xué)習(xí)加速器DianNao[6],以及google的TPU[7]等。本文在已有加速器的基礎(chǔ)上,進(jìn)行了數(shù)據(jù)優(yōu)化、加入流水線技術(shù)實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的加速,并使用開發(fā)板自帶microblaze通過中斷控制CNN加速IP輸出預(yù)測結(jié)果。

2 系統(tǒng)總體介紹

2.1 RLeNet模型結(jié)構(gòu)

RLeNet模型是在LeNet-5[8]模型的基礎(chǔ)上進(jìn)行改進(jìn)得到的,LeNet-5模型共8層,包括卷積層1(C1),池化層1(P1),卷積層2(C2),池化層2(P2),平壓層(F1),全連接層1(D1),全連接層2(D2),輸出層(Output)。本文對模型進(jìn)行如下改進(jìn):將LeNet-5的D1層,D2層刪除,只保留Output輸出層,改進(jìn)后的模型命名為RLeNet(Reduced LeNet-5),改進(jìn)后的模型共有6層,包括卷積層1(C1),池化層1(P1),卷積層2(C2),池化層2(P2),平壓層(F1),輸出層(Output)。RLeNet的模型結(jié)構(gòu)如圖1所示。

表1為LeNet-5、RLeNet模型各層參數(shù)量對比。其中,LeNet-5的D1層、D2層共有41004個(gè)float32數(shù)據(jù),約占總數(shù)據(jù)44426個(gè)float32(177.8KB)的92.3%。改進(jìn)后的模型RLeNet共有5142個(gè)float32數(shù)據(jù)(20.6KB),模型參數(shù)數(shù)據(jù)量由原來的177.8KB降低到20.6KB。模型使用Keras框架 [9],模型訓(xùn)練完成后,準(zhǔn)確率為98.5%,和LeNet-5的精確度98.7%相比,模型精確度幾乎沒有降低,但是模型參數(shù)數(shù)據(jù)量減少為原來的11.6%。

2.2 系統(tǒng)硬件結(jié)構(gòu)

CNN加速器IP的硬件結(jié)構(gòu)如圖2所示。整個(gè)系統(tǒng)由CPU,中斷,CNN加速器IP和UART串口模塊組成。系統(tǒng)工作流程為:CPU通過按鍵中斷接收CNN加速器IP使信號,當(dāng)CPU接收到該使能信號后,等待串口發(fā)送的圖片數(shù)據(jù),然后將接收到的圖片數(shù)據(jù)送入Block_ram,CNN加速器IP從Block_ram中讀取圖片,進(jìn)行卷積運(yùn)算。運(yùn)算完成后,將運(yùn)算結(jié)果返回給CPU,CPU將結(jié)果通過LED燈顯示。其中,CNN加速器IP完成圖片的預(yù)測,它主要包括卷積模塊,池化模塊,全連接模塊,輸入輸出模塊。CNN加速器IP工作流程是:首先由控制器發(fā)出控制信號,從數(shù)據(jù)寄存器讀取輸入和權(quán)重?cái)?shù)據(jù)分別放入移位寄存器和權(quán)重Buffer,將數(shù)據(jù)和權(quán)重分別從移位寄存器和權(quán)重Buffer讀出,送入乘加模塊進(jìn)行卷積運(yùn)算。卷積運(yùn)算完成之后,將卷積結(jié)果送入池化層進(jìn)行池化運(yùn)算,池化運(yùn)算的結(jié)果送入特征圖Buffer,兩次卷積池化后,將數(shù)據(jù)進(jìn)行平壓,最后進(jìn)行全連接運(yùn)算,輸出圖片的預(yù)測結(jié)果。

3 數(shù)據(jù)輸入

3.1 數(shù)據(jù)類型轉(zhuǎn)換

相比于浮點(diǎn)運(yùn)算,F(xiàn)PGA在做定點(diǎn)運(yùn)算會(huì)消耗更少的資源,同時(shí)有更高的性能[10]。因此,本文將RLeNet模型參數(shù)將float32的模型參數(shù)左移13位并保存為int16類型參數(shù),存入.coe格式文件中。輸入數(shù)據(jù)為28*28的灰度圖片,將輸入數(shù)據(jù)轉(zhuǎn)為uint8并保存為.txt格式文件。

3.2 串口數(shù)據(jù)輸入

數(shù)據(jù)輸入分為兩部分,圖片數(shù)據(jù)輸入和權(quán)重?cái)?shù)據(jù)輸入。權(quán)重?cái)?shù)據(jù)輸入直接存入片上的block_ram中,圖片數(shù)據(jù)通過uart_ctrl模塊控制串口將上位機(jī)發(fā)送的數(shù)據(jù)存儲(chǔ)到片上的block_ram中。圖片數(shù)據(jù)發(fā)送主要包括uart和uart_ctrl以及數(shù)據(jù)存儲(chǔ)三個(gè)模塊。圖片數(shù)據(jù)發(fā)送模塊結(jié)構(gòu)如圖3所示:

3.3 數(shù)據(jù)處理

圖片數(shù)據(jù)通過串口發(fā)送到block_ram中后,CNN IP將數(shù)據(jù)從block_ram中讀入shift_ram,將串行輸入轉(zhuǎn)為并行輸出,獲取卷積運(yùn)算的輸入滑窗。

卷積運(yùn)算的輸入滑窗大小和卷積核大小相同,滑動(dòng)順序是:從圖像左上角開始,從左到右每次滑動(dòng)一個(gè)單元,在滑窗到達(dá)輸入的最右端時(shí),滑窗從上到下滑動(dòng)一個(gè)單元,再次從最左端開始,每次向右滑動(dòng)一個(gè)單元,最后滑動(dòng)窗后到達(dá)圖像右下角結(jié)束[11]。圖4為本文卷積運(yùn)算的輸入,其中灰色部分是第一個(gè)5*5輸入滑窗。黑色箭頭表示滑窗滑動(dòng)順序。

為了硬件實(shí)現(xiàn)卷積運(yùn)算的滑動(dòng)窗口,本文使用shift_ram生成卷積滑窗像素矩陣。將存放圖片數(shù)據(jù)的block_ram和4個(gè)28*9bit的Shift_ram (Shift_ram1、Shift_ram2、Shift_ram3、Shift_ram4)以圖5方式連接。從block_ram中讀圖片數(shù)據(jù)進(jìn)入Shift_ram,裝滿后,輸出Out_0,Out_1,Out_2,Out_3,Out_4的值為1、29、57、85、113和圖5中灰色卷積滑窗的第一列數(shù)據(jù)相同(粗黑框圈出),然后將這五個(gè)數(shù)據(jù)存儲(chǔ)到5*5寄存器中的最右邊一列。

下個(gè)CLK,Shift_ram4移除數(shù)據(jù)1,數(shù)據(jù)逐個(gè)移動(dòng)后,得到圖6中的Out1_0,Out1_1,Out1_2,Out1_3,Out1_4的值為2、30、58、86、114和圖5中灰色卷積滑窗的第二列數(shù)據(jù)相同(虛線框圈出)。將上一個(gè)CLK獲取的存在5*5寄存器中的五個(gè)輸出左移,再將當(dāng)前CLK五個(gè)輸出存儲(chǔ)到5*5寄存器中的最右邊一列。五個(gè)時(shí)鐘周期后,得到5*5的卷積輸入窗口。之后每個(gè)CLK,移除5*5寄存器最左邊一列數(shù)據(jù),獲得下一個(gè)卷積輸入滑窗。

這樣獲取輸入滑窗會(huì)產(chǎn)生無用的滑窗,在移除數(shù)據(jù)為25至30時(shí),五個(gè)ClK內(nèi)讀取的分別是序號為26,27,28,29,30為首地址的列,但在實(shí)際卷積過程中,滑窗右端到達(dá)序號為28的列時(shí),滑窗會(huì)向下移動(dòng),直接讀取以29,30,31,32,33為首的列。在卷積完成后,需要將這些無用數(shù)據(jù)刪除。

4 卷積模塊實(shí)現(xiàn)

4.1 單個(gè)乘單元(Mul)硬件實(shí)現(xiàn)

卷積運(yùn)算的單個(gè)乘法模塊Mul如圖7所示,將輸入數(shù)據(jù)Input_x和權(quán)重Weight進(jìn)行乘運(yùn)算,運(yùn)算結(jié)果Output_y保存在寄存器中,同時(shí),輸入數(shù)據(jù)Intput_x向下傳輸。

4.2 卷積運(yùn)算(Conv)硬件實(shí)現(xiàn)

本文卷積運(yùn)算模塊如圖8所示,首先將Weight數(shù)據(jù)放入Mul單元,然后將5*5的輸入數(shù)據(jù)Input_x送入25個(gè)并行Mul單元,下一個(gè)CLK,將運(yùn)算結(jié)果送入加法樹,一個(gè)CLK后輸出加法器運(yùn)算結(jié)果。加法樹共分為五級,第1級共有13個(gè)加法器,將25個(gè)乘法器結(jié)果和一個(gè)bias分別送入13個(gè)加法器。第2級將第1級計(jì)算結(jié)果送入6個(gè)加法器(余下1個(gè)后面算),以此類推,第5級將第4級結(jié)果送入加法器,得到最后的結(jié)果。

4.3 乘加模塊并行運(yùn)算設(shè)計(jì)

本文乘加模塊并行運(yùn)算設(shè)計(jì)是同一個(gè)輸入滑窗和多個(gè)卷積核進(jìn)行并行計(jì)算,輸出多個(gè)卷積運(yùn)算結(jié)果。本文卷積層2將12*12輸入和16個(gè)卷積核同時(shí)進(jìn)行并行運(yùn)算,輸出運(yùn)算結(jié)果,卷積模塊并行設(shè)計(jì)硬件結(jié)構(gòu)如圖9所示。

5 池化模塊設(shè)計(jì)

5.1 池化模塊輸入

卷積運(yùn)算完成后,將其運(yùn)算結(jié)果保存到存儲(chǔ)器中。由于卷積運(yùn)算的卷積核有多個(gè)channel,需要將卷積運(yùn)算多個(gè)channel的結(jié)果進(jìn)行累加求和,作為池化模塊的輸入。

5.2 池化運(yùn)算硬件實(shí)現(xiàn)

在得到池化運(yùn)算輸入后,進(jìn)行池化運(yùn)算。本文采用步長為2的最大池化。在2*2的滑窗內(nèi)獲取最大值。首先,通過地址獲取池化窗口的輸入,以池化1為例,卷積運(yùn)算可以獲得24*28的卷積結(jié)果并存儲(chǔ)在寄存器中。那么第一次池化運(yùn)算的輸入的窗口為地址0,地址1(0+1),地址28(0+28),地址29(0+29)中的數(shù)據(jù)。第二次卷積運(yùn)算輸入滑窗數(shù)據(jù)為存儲(chǔ)器中數(shù)據(jù)地址2,地址3(2+1),地址30(2+28),地址31(2+29)中的數(shù)據(jù)。另外,由于卷積運(yùn)算輸出為24*28,實(shí)際卷積層1的輸出應(yīng)為24*24,在池化運(yùn)算時(shí),無用數(shù)據(jù)不需要進(jìn)行池化運(yùn)算,在輸入行地址大于24時(shí),行地址等于0,列地址加56(向下移兩列)。

在獲取輸入滑窗后,通過三次兩兩比較得到2*2滑窗內(nèi)的最大值。如圖10所示,首先比較din_x和din_y,得到max1和max2,之后比較max1和max2大小,輸出較大數(shù)max。之后,滑窗向右移動(dòng)兩個(gè)單元,獲取下個(gè)滑窗中的最大值。

池化運(yùn)算并行接收多個(gè)卷積運(yùn)算的結(jié)果,將結(jié)果累加,之后并行進(jìn)行池化運(yùn)算。

6 全連接模塊設(shè)計(jì)

全連接模塊的實(shí)現(xiàn)采用乘加運(yùn)算,全連接模塊輸入為平壓層的輸出,輸出為10個(gè)數(shù)字的預(yù)測結(jié)果。全連接模塊的運(yùn)算是輸入和權(quán)重進(jìn)行乘累加運(yùn)算,獲取一個(gè)數(shù)字預(yù)測結(jié)果的輸出,循環(huán)十次之后,輸出十個(gè)手寫體數(shù)字的預(yù)測結(jié)果。硬件設(shè)計(jì)將輸入數(shù)據(jù)和權(quán)重?cái)?shù)據(jù)放入乘法器,獲取乘運(yùn)算結(jié)果,然后和之前的結(jié)果進(jìn)行累加,獲取數(shù)字預(yù)測結(jié)果。

7 實(shí)驗(yàn)結(jié)果

本設(shè)計(jì)是在Vivado ISE下使用Verilog HDL進(jìn)行開發(fā),使用Xilinx公司的Nexys 4 DDR : Artix-7開發(fā)板進(jìn)行測試,主頻為0.2GHz。CPU環(huán)境為CORE i7 10th四核處理器,主頻為3.9GHz。 GPU型號為Tesla P 100,主頻為1.4GHz。本文采用MNIST數(shù)據(jù)集手寫體數(shù)字為輸入數(shù)據(jù),數(shù)據(jù)為28*28的單通道灰度圖片。

本文將浮點(diǎn)輸入和權(quán)重改為9位定點(diǎn)后,模型用1000張圖片進(jìn)行測試,檢驗(yàn)?zāi)P蜏?zhǔn)確度,最終測試結(jié)果,共有5張數(shù)據(jù)預(yù)測不正確,準(zhǔn)確率達(dá)到99.5%。在200MHz的CLK下,一張圖片在卷積層1做浮點(diǎn)運(yùn)算的時(shí)間為9.1us做定點(diǎn)運(yùn)算的時(shí)間為1.58us,速度提高了約6倍。

表2為不同平臺(tái)下,CNN運(yùn)行的時(shí)間及能耗對比[12]。CPU運(yùn)算時(shí)間是在python環(huán)境下執(zhí)行模型預(yù)測函數(shù),得到預(yù)測12000張圖片的時(shí)間,再算出預(yù)測一張圖片時(shí)間,同理得GPU平臺(tái)圖片預(yù)測時(shí)間。FPGA平臺(tái)上的運(yùn)算時(shí)間是采用CNN加速器IP運(yùn)算得到的預(yù)測時(shí)間,由表2可知,在CPU平臺(tái)上,卷積網(wǎng)絡(luò)運(yùn)行時(shí)間約為在FPGA平臺(tái)運(yùn)行時(shí)間的2倍。而在GPU平臺(tái)上,卷積網(wǎng)絡(luò)的功耗比在FPGA平臺(tái)多4倍。

CNN IP加速后,片上寄存器使用了20974個(gè),LUT as logic使用了53123個(gè),LUT as memory使用了2742個(gè),block_ram使用了48.5個(gè)。系統(tǒng)資源消耗較高。

8 結(jié)語

研究了手寫體數(shù)字識(shí)別的CNN的FPGA實(shí)現(xiàn),提出了一種基于數(shù)據(jù)優(yōu)化及多級并行流水結(jié)構(gòu)的CNN加速器,并將其作為外設(shè),將數(shù)據(jù)。通過資源復(fù)用、并行計(jì)算和流水線技術(shù),來對卷積運(yùn)算進(jìn)行加速。最后實(shí)驗(yàn)結(jié)果表明,系統(tǒng)的運(yùn)算速度以及資源利用率得到提高,系統(tǒng)預(yù)測一張圖片約為36us,其計(jì)算速度是CPU的2倍,而系統(tǒng)的能耗是GPU的1/4。但系統(tǒng)的LUTs資源占用較多,可以通過其他優(yōu)化方式降低系統(tǒng)資源占用率。

參考文獻(xiàn):

[1] Gu, J., Wang, Z., Kuen, J., Ma, L., Shahroudy, A., Shuai, B., Liu, T., Wang, X., Wang, L., Wang, G. and Cai, J., [J].2015. Re-cent advances in convolutional neural networks. arXiv preprint arXiv:1512.07108.

[2] Chen Y H , Emer J , Sze V . Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks[C]// International Symposium on Computer Architecture (ISCA). IEEE Computer Society, 2016..

[3] Chen T , Du Z , Sun N , et al. DianNao: a small-footprint high-throughput accelerator for ubiquitous ma-chine-learning[C]// International Conference on Architectural Support for Programming Languages & Operating Systems. ACM, 2014.

[4] MONREALE A, PINELLI F, TRASARTI R, et al. WhereN-ext: a location predictor on trajectory pattern min-ing[C]//Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Paris, Jun 28-Jul 1, 2009. New York: ACM, 2009: 637-646.

[5] Kumar S , Bitorff V , Chen D , et al. Scale MLPerf-0.6 models on Google TPU-v3 Pods[J]. 2019.

[6] 蹇強(qiáng),張培勇,王雪潔.一種可配置的CNN協(xié)加速器的FPGA實(shí)現(xiàn)方法[J].電子學(xué)報(bào),2019,47(7):1525-1531.

[7] Han X , Zhou D , Wang S , et al. CNN-MERP: An FPGA-based memory-efficient reconfigurable processor for forward and backward propagation of convolutional neural networks[C]// 2016 IEEE 34th International Conference on Computer Design (ICCD). IEEE, 2016.

[8] Zhang C, Li P, Sun G, et al. Optimizing fpga-based accelerator design for deep convolutional neural networks[C] Proceedings of the 2015 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. ACM, 2015: 161-170.

[9] Cavigelli L , Magno M , Benini L . Accelerating real-time embedded scene labeling with convolutional networks[J]. 2015:1-6.

[10] Chen Y H , Krishna T , Emer J S , et al. Eyeriss: An Ener-gy-Efficient Reconfigurable Accelerator for Deep Convolu-tional Neural Networks[C]// Solid-state Circuits Conference. IEEE, 2016.

[11] Qiu J , Wang J , Yao S , et al. Going Deeper with Embedded FPGA Platform for Convolutional Neural Network[C]// Pro-ceedings of the 2016 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. ACM, 2016.2001 March.

[12] 傅思揚(yáng),陳華,郁發(fā)新.基于RISC-V的卷積神經(jīng)網(wǎng)絡(luò)處理器設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2020,37(4):49-54.

【通聯(lián)編輯:梁書】

主站蜘蛛池模板: 午夜福利在线观看成人| 99久久精品视香蕉蕉| 激情无码视频在线看| 1024国产在线| 一级毛片网| 中文字幕有乳无码| 亚洲第一黄色网| 国产激爽大片在线播放| 久一在线视频| 秋霞一区二区三区| 久一在线视频| 51国产偷自视频区视频手机观看 | av在线5g无码天天| 一本大道无码高清| 国产精品美女免费视频大全| 日韩精品高清自在线| 亚洲第一黄色网址| 久久精品日日躁夜夜躁欧美| 亚洲专区一区二区在线观看| 亚洲自偷自拍另类小说| 国产福利不卡视频| 美女扒开下面流白浆在线试听| 国产欧美成人不卡视频| 久久不卡国产精品无码| 成人国产三级在线播放| 久久不卡国产精品无码| 99久久精品免费看国产电影| 日本欧美午夜| 亚洲成A人V欧美综合天堂| 国产网友愉拍精品视频| 欧美成人一区午夜福利在线| 国产一在线| 国产毛片一区| 欧美区国产区| 一级爱做片免费观看久久| 国产精品19p| 麻豆精品在线视频| 欧美激情视频在线观看一区| 99re66精品视频在线观看| 九九久久精品免费观看| 中文字幕色在线| 中文字幕伦视频| 萌白酱国产一区二区| 污网站免费在线观看| 亚洲国产天堂久久九九九| 欧美a在线看| 亚洲人成影视在线观看| 亚洲无码熟妇人妻AV在线| 国内精品小视频福利网址| 中文字幕佐山爱一区二区免费| 2021亚洲精品不卡a| 中文字幕自拍偷拍| 亚洲精品麻豆| 中文字幕一区二区人妻电影| 亚洲日韩国产精品无码专区| 国产精品永久久久久| 无码乱人伦一区二区亚洲一| 九九热精品免费视频| 欧美日本视频在线观看| 无码久看视频| 国产精品午夜电影| 精品国产免费观看| 国产农村妇女精品一二区| 特级aaaaaaaaa毛片免费视频 | 强奷白丝美女在线观看 | 日本高清免费一本在线观看| 性色生活片在线观看| 国产成人欧美| 日本中文字幕久久网站| 98超碰在线观看| 国产噜噜噜视频在线观看| 自拍中文字幕| 91精品aⅴ无码中文字字幕蜜桃| 日本午夜视频在线观看| 永久免费精品视频| 欧美午夜小视频| 亚洲婷婷六月| 激情综合激情| 国产麻豆另类AV| 成人福利在线视频| 日韩免费成人| 精品人妻无码中字系列|