亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)硬件加速器設(shè)計

        2023-04-07 03:16:58黃沛昱李煜龍
        計算機應(yīng)用與軟件 2023年3期
        關(guān)鍵詞:輸入輸出加速器卷積

        黃沛昱 趙 強 李煜龍

        (重慶郵電大學(xué)光電工程學(xué)院 重慶 400065)

        0 引 言

        近年來,隨著人工智能的快速發(fā)展,其理論研究日益成熟。機器視覺是人工智能的一個重要研究方向,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)已經(jīng)被廣泛應(yīng)用于機器視覺完成特征提取[1-4]。

        深度學(xué)習主要分為兩個步驟:訓(xùn)練和推理。采用通用處理器實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的推理,其運算效率非常低。因為通用處理器采用馮諾依曼結(jié)構(gòu)是串行執(zhí)行,難以滿足卷積神經(jīng)網(wǎng)絡(luò)需要大量的并行計算。因此,針對卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)出現(xiàn)了三種主流的硬件加速方式:專用集成電路(Application Specific Integrated Circuit,ASIC)、圖形處理器(Graphics Processing Unit,GPU)、現(xiàn)場可編程門陣列(Field Programmable Gate Array,FPGA)。其中,基于ASIC的硬件實現(xiàn)研發(fā)周期長,無法適應(yīng)復(fù)雜多變的CNN結(jié)構(gòu),并且專用集成電路研發(fā)成本高昂?;贕PU的硬件實現(xiàn)雖然可以獲得很好的性能,但是較高的功耗也會降低其性能,同時,如果將其部署到移動設(shè)備會嚴重縮短續(xù)航時間?;贔PGA的硬件加速器能克服ASIC和GPU的缺點,同時,FPGA支持并行計算,具有動態(tài)可重構(gòu)、低功耗、低延時、高性能的優(yōu)勢[5-7]。

        因此,目前基于FPGA對卷積神經(jīng)網(wǎng)絡(luò)進行硬件加速設(shè)計已經(jīng)被廣泛研究。文獻[8]采用8 bit位寬量化卷積神經(jīng)網(wǎng)絡(luò),在損失一定準確度的情況下,減少網(wǎng)絡(luò)的體積,并且節(jié)約了FPGA的存儲資源,同時也提高了計算性能。文獻[9]提出一種卷積循環(huán)二維展開的加速器設(shè)計,其核心思想是把每一層卷積計算的輸入和輸出特征圖循環(huán)展開進行并行計算,從而提高計算的吞吐量。但是,由于該設(shè)計把權(quán)重和輸入輸出特征圖緩存在FPGA片上,導(dǎo)致FPGA消耗過多的資源,不利于部署在中小規(guī)模FPGA上。

        在進行FPGA硬件電路設(shè)計時,傳統(tǒng)的方法采用Verilog或者VHDL語言進行設(shè)計,這種方式開發(fā)效率低。目前,隨著高層次綜合工具的日益成熟,Xilinx公司推出的HLS工具已經(jīng)支持C/C++語言對FPGA完成算法開發(fā),從而提高開發(fā)效率[10]。

        為了提高卷積神經(jīng)網(wǎng)絡(luò)的推理速度,本文設(shè)計一種基于FPGA的硬件加速電路。首先,網(wǎng)絡(luò)結(jié)構(gòu)采用工業(yè)界廣泛用于目標檢測的YOLOv2網(wǎng)絡(luò)。為了減少網(wǎng)絡(luò)模型的體積,同時為了保證網(wǎng)絡(luò)預(yù)測結(jié)果的準確率,本設(shè)計采用16位定點化權(quán)重參數(shù),偏置項參數(shù)以及輸入輸出特征圖的像素。然后設(shè)計卷積運算模塊的硬件電路,為了提高計算的吞吐量,采用輸入輸出二維循環(huán)展開的方法,為了降低從內(nèi)存中讀取數(shù)據(jù)的延時,采用雙緩存設(shè)計。最后,將本設(shè)計的YOLOv2網(wǎng)絡(luò)加速器部署在Xilinx公司的Pynq-z1嵌入式開發(fā)板上性能超過i5- 4440處理器。同時,與已有的CNN模型的硬件加速器性能進行對比。

        1 卷積神經(jīng)網(wǎng)絡(luò)加速器研究

        1.1 卷積神經(jīng)網(wǎng)絡(luò)

        2012年,Hinton教授帶領(lǐng)學(xué)生在Imagenet數(shù)據(jù)集上,將AlexNet網(wǎng)絡(luò)用于圖像分類獲得的準確率遠高于傳統(tǒng)算法。從此,卷積神經(jīng)網(wǎng)絡(luò)廣泛用于圖像分類、目標檢測和跟蹤等一系列的計算機視覺領(lǐng)域[11-12]。

        卷積神經(jīng)網(wǎng)絡(luò)主要包括輸入層、卷積層、池化層、全連接層、輸出層等。VGG- 16網(wǎng)絡(luò)如圖1所示,其網(wǎng)絡(luò)包含13個卷積層、5個池化層、3個全連接層。卷積神經(jīng)網(wǎng)絡(luò)中不同卷積層有不同數(shù)目的卷積核,卷積核的大小主要以3×3和1×1為主,卷積層通過卷積核提取圖像特征。卷積的結(jié)果需要通過相應(yīng)的激活函數(shù)計算后再進行池化,激活函數(shù)是為使網(wǎng)絡(luò)的輸入輸出之間滿足非線性的關(guān)系,增強神經(jīng)網(wǎng)絡(luò)的表達能力。常見的激活函數(shù)有ReLU、Leaky ReLU、Tanh和Sigmoid函數(shù)。池化層也被稱為降采樣,作用是減少特征圖的尺寸。常用的池化方法有最大池化和平均池化,而池化的大小以2×2為主。網(wǎng)絡(luò)中的全連接層一般位于網(wǎng)絡(luò)最后幾層,其作用是將提取的特征完成分類,由于全連接層的參數(shù)占整個網(wǎng)絡(luò)的90%以上,參數(shù)的冗余降低模型的表達能力。因此,現(xiàn)在大量性能優(yōu)異的網(wǎng)絡(luò)采用全局平均池化代替全連接層,使用Softmax函數(shù)來完成分類任務(wù),例如ResNet網(wǎng)絡(luò)和GoogLeNet網(wǎng)絡(luò)[13-15]。

        1.2 YOLOv2網(wǎng)絡(luò)模型分析

        YOLOv2網(wǎng)絡(luò)模型是目標檢測領(lǐng)域的One-Stage典型算法,其速度要快過Two-Stage算法中的Fast-RCNN和Faster-RCNN網(wǎng)絡(luò)模型。同時,YOLOv2網(wǎng)絡(luò)模型可以速度和準確率之間進行權(quán)衡,適應(yīng)不同場景的需求[16-17]。比如,在不需要速度的時候,適當?shù)靥岣吣P偷臏蚀_率;而在一些場景對速度有嚴格的要求,可以適當?shù)靥岣咚俣?。因?YOLOv2適合部署于中小規(guī)模設(shè)備。

        YOLOv2網(wǎng)絡(luò)結(jié)構(gòu)中使用Darknet- 19網(wǎng)絡(luò)作為基礎(chǔ)分類網(wǎng)絡(luò),Darknet- 19網(wǎng)絡(luò)如表1所示,Darknet- 19網(wǎng)絡(luò)結(jié)合GoogLeNet網(wǎng)絡(luò)和VGG- 19網(wǎng)絡(luò)的優(yōu)勢,在Darknet- 19網(wǎng)絡(luò)中使用1×1和3×3的卷積核進行卷積計算,同時,使用全局平均池化代替全連接層。Darknet- 19網(wǎng)絡(luò)不僅能降低模型的參數(shù)量和計算的復(fù)雜度,而且能提高網(wǎng)絡(luò)的泛化能力,避免模型的過擬合。

        表1 Darknet- 19網(wǎng)絡(luò)結(jié)構(gòu)

        1.3 CNN加速器策略

        因為卷積層的計算量占據(jù)整個網(wǎng)絡(luò)模型的90%以上[18],所以為了加速卷積神經(jīng)網(wǎng)絡(luò)的推理過程,本文采取循環(huán)展開和分塊的策略,針對網(wǎng)絡(luò)模型中的卷積層運算進行優(yōu)化。

        1.3.1循環(huán)展開

        循環(huán)展開是針對卷積計算常用的硬件加速策略,主要是提高硬件乘法單元的并行度。循環(huán)展開可以分為兩類:一類是輸入特征圖的循環(huán)展開,另外一類是輸出特征圖的循環(huán)展開。

        輸入特征圖的循環(huán)展開通過每個時鐘周期并行的讀取Tn幅輸入特征圖的像素點,然后與對應(yīng)的權(quán)重參數(shù)進行乘累加操作。如圖2所示(Tn=4),每個時鐘周期讀取的特征圖的個數(shù)Tn需要合理設(shè)置,特征圖的個數(shù)Tn決定輸入并行乘法器的個數(shù)。如果Tn值太大,雖然可以獲得較高的性能,但是會消耗FPGA芯片內(nèi)部大量的DSP資源,如果Tn值太小,則無法發(fā)揮FPGA并行計算的優(yōu)勢。

        圖2 輸入特征圖循環(huán)展開示意圖

        輸出特征圖的循環(huán)展開是通過每個時鐘周期并行讀取Tm個卷積核權(quán)重參數(shù)值與讀取的一幅輸入特征圖的像素值進行乘累加操作,如圖3所示(Tm=2)。

        圖3 輸出特征圖循環(huán)展開示意圖

        1.3.2循環(huán)分塊

        因為FPGA芯片內(nèi)部存儲資源有限,所以將CNN網(wǎng)絡(luò)部署到FPGA上,需要將輸入輸出特征圖和權(quán)重參數(shù)存儲到片外存儲器中。

        本設(shè)計采用循環(huán)分塊的思想,每個時鐘周期從片外讀取Tn個Tix×Tiy大小的像素塊,并且讀取Tm個卷積核,卷積核大小為Tn×Tkx×Tky,卷積核的大小是由網(wǎng)絡(luò)結(jié)構(gòu)所決定。同時,把中間計算結(jié)果緩存在片上存儲中,當計算完成得到最終結(jié)果,再向片外存儲器寫入Tm個Tox×Toy大小的像素塊,如圖4所示。采用循環(huán)分塊的思想可以有效地減少片外存儲訪問次數(shù),降低訪存時延,從而提高加速性能。

        圖4 循環(huán)分塊示意圖

        2 YOLOv2網(wǎng)絡(luò)硬件加速器設(shè)計

        2.1 硬件加速器整體架構(gòu)設(shè)計

        在卷積神經(jīng)網(wǎng)絡(luò)的推理階段,網(wǎng)絡(luò)的層與層之間是串行結(jié)構(gòu),每一個網(wǎng)絡(luò)層的輸出作為下一個網(wǎng)絡(luò)層的輸入,而每一個網(wǎng)絡(luò)層內(nèi)存在大量的并行計算。本設(shè)計的硬件加速器充分利用卷積神經(jīng)網(wǎng)絡(luò)的層間流水,層內(nèi)并行計算特點。為了減少讀取或?qū)懭霐?shù)據(jù)傳輸時延,本設(shè)計使用雙緩存結(jié)構(gòu),如圖5所示。

        圖5 硬件加速器架構(gòu)

        本設(shè)計在zynq- 7020芯片完成加速器的設(shè)計,首先把待測試的數(shù)據(jù)集、16位定點量化權(quán)重參數(shù)和偏置參數(shù)存放在SD卡中,然后從SD卡讀入片外DDR3存儲器中。在進行計算之前,需要對圖片進行預(yù)處理,大小為416×416,同時,把RGB圖片的像素值量化為0到1之間的小數(shù)。接著在DDR3存儲器和片上緩存之間,通過4個AXI總線的HP端口,使用DMA(Direct Memory Access)把片外存儲器的數(shù)據(jù)讀取到片上緩存中。其中,AXI總線的HP端口通過雙緩存的設(shè)計,使得讀取數(shù)據(jù)、計算和寫入數(shù)據(jù)三者同時進行,能夠有效提高因為數(shù)據(jù)傳輸時延而影響加速器的性能。

        在片上計算單元中,時鐘頻率為150 MHz,通過設(shè)計并行計算陣列加速YOLOv2網(wǎng)絡(luò)中卷積和池化運算。其中,本設(shè)計的卷積并行計算陣列大小32行4列,每次從輸入讀取4幅特征圖部分像素塊,像素塊大小為Tix×Tiy。

        Tix=(Tox-1)×s+k

        (1)

        Tiy=(Toy-1)×s+k

        (2)

        式中:Tox和Toy為輸出特征圖的像素塊的大小,Tox=Toy=13;s為卷積計算的步長;k為卷積核的大小。

        整個硬件加速器依次從DDR3內(nèi)存中讀取數(shù)據(jù),然后在片上完成計算,實現(xiàn)層間流水,層內(nèi)并行的硬件加速器。最后將加速器的計算結(jié)果寫回DDR3內(nèi)存中,通過Softmax函數(shù)完成目標檢測的分類,使用非極大值抑制算法得到目標的邊框,以及在圖片上完成標記。

        2.2 卷積層硬件加速單元設(shè)計

        在YOLOv2網(wǎng)絡(luò)模型中,卷積層包括卷積計算,批歸一化(Batch Normalization,BN)和激活函數(shù)(Leaky ReLU)三部分。批歸一化是針對卷積運算的輸出特征圖的每個像素點進行線性運算,因此,在進行卷積計算之前,本設(shè)計將批歸一化運算與權(quán)重參數(shù)和偏置參數(shù)進行融合,然后在FPGA片上進行卷積計算,有利于減少FPGA片上的計算量,從而提高加速器的性能。

        因為卷積運算占據(jù)大多數(shù)CNN網(wǎng)絡(luò)中90%以上運算量,所以目前針對CNN硬件加速器設(shè)計主要集中在卷積層的硬件設(shè)計。本設(shè)計針對卷積計算硬件加速單元的設(shè)計采用循環(huán)展開和循環(huán)分塊的策略,對輸入輸出特征圖進行二維展開,在合理考慮硬件資源和YOLOv2網(wǎng)絡(luò)結(jié)構(gòu)的情況下,本設(shè)計采用128個并行乘法器實現(xiàn)卷積層的硬件加速,如圖6所示。每輸入一張?zhí)卣鲌D與一組權(quán)重參數(shù)相乘為1個PE單元,因為本設(shè)計輸出特征圖采用32維展開,所以一幅Tix×Tiy大小的特征圖需要與32組權(quán)重參數(shù)進行并行乘法計算,總共為32個PE單元。同時,輸入特征圖采用4維展開,在每個時鐘周期同時讀取4幅Tix×Tiy大小的特征圖,再結(jié)合輸出特征圖展開維度為32,總共為128個PE單元,構(gòu)成32行4列卷積并行計算單元。

        圖6 卷積層硬件加速結(jié)構(gòu)圖

        卷積計算單元輸入輸出端口包括特征圖輸入端口、權(quán)重參數(shù)輸入端口和特征圖輸出端口三部分。因為卷積計算的偏置參數(shù)量較少,所以預(yù)先存儲在FPGA芯片內(nèi)部。在進行卷積計算時,輸入輸出端口均采用乒乓操作,在同一時鐘下,使得讀取和寫入數(shù)據(jù)同時進行,能夠有效降低讀取和寫入數(shù)據(jù)的傳輸時延,提高每個PE單元計算速度,從而提高整個硬件加速器的計算性能。

        2.3 雙緩存設(shè)計

        在YOLOv2網(wǎng)絡(luò)模型中,每一層的計算需要頻繁地對片外DRAM讀取和寫入數(shù)據(jù),將會導(dǎo)致因為數(shù)據(jù)傳輸延遲而帶來的硬件加速器計算性能的下降。因此,雙緩存設(shè)計是為了降低從片外DRAM內(nèi)存中的數(shù)據(jù)讀取到片上的傳輸時間和降低從片上的計算結(jié)果寫回片外DRAM內(nèi)存中的傳輸時間。

        雙緩存設(shè)計具體的結(jié)構(gòu)如圖7所示。首先,第一個時鐘周期,將輸入數(shù)據(jù)通過輸入數(shù)據(jù)選擇器存入緩存1中。然后,第二時鐘周期,將輸入數(shù)據(jù)通過輸入數(shù)據(jù)選擇器存入緩存2中,同時,將緩存1中的數(shù)據(jù)通過輸出數(shù)據(jù)選擇器輸出到卷積運算單元中。第三個時鐘周期,將輸入數(shù)據(jù)存放在緩存1中,依次重復(fù)之前的操作,實現(xiàn)數(shù)據(jù)流水處理,降低從片外到片內(nèi)數(shù)據(jù)傳輸?shù)臅r間。雙緩存設(shè)計通過FPGA的片上BRAM邏輯資源實現(xiàn),輸入緩存區(qū)N1和輸出緩存區(qū)N2的大小通過式(3)和式(4)計算得到。

        式中:Datawidth表示輸入輸出特征圖中數(shù)據(jù)位寬大小;MBRAM表示一塊BRAM能夠存儲數(shù)據(jù)的大小。

        圖7 雙緩存設(shè)計結(jié)構(gòu)圖

        當不采用雙緩存設(shè)計時,完成一次卷積運算總延遲時間為:

        T1=Tread+Tcompute+Twrite

        (5)

        式中:Tread表示從片外DRAM內(nèi)存中讀取數(shù)據(jù)到片上的時間;Tcompute表示片上卷積層計算的時間;Twrite表示片上的計算結(jié)果寫回到片外DRAM內(nèi)存中。

        當采用雙緩存設(shè)計后,完成一次卷積運算總延遲時間為:

        T2=max(Tread,Tcompute,Twrite)

        (6)

        因此,一次卷積運算總延遲時間T2

        2.4 計算精度量化

        在YOLOv2模型中每層網(wǎng)絡(luò)的特征圖像素值,權(quán)值參數(shù)和偏置參數(shù)均采用32位浮點數(shù),為了降低YOLOv2網(wǎng)絡(luò)模型的復(fù)雜度,提高模型的推理速度,同時節(jié)約FPGA內(nèi)部的硬件資源,本設(shè)計采用16位定點數(shù)量化模型。由實際測試可知不同精度消耗FPGA內(nèi)部乘法器和加法器的硬件資源如表2所示。

        表2 不同精度資源消耗

        由表可知,采用16位定點數(shù)相比32位浮點數(shù)將節(jié)省一半以上的硬件資源。同時,實際測試發(fā)現(xiàn)16位定點數(shù)量化YOLOv2網(wǎng)絡(luò)模型準確率幾乎不變。

        3 結(jié)果分析與討論

        3.1 實驗軟硬件環(huán)境

        本設(shè)計采用Xilinx公司的pynq-z1異構(gòu)平臺,主控芯片為zynq- 7020。該芯片采用雙核ARM A9處理器和FPGA架構(gòu),其中,ARM處理器端時鐘頻率為667 MHz,DDR3內(nèi)存大小為512 MB,FPGA端內(nèi)部硬件資源DSP48E、BRAM_36K、LUT和FF分別為220、140、53 200、106 400。本設(shè)計采用HLS軟件完成YOLOv2網(wǎng)絡(luò)模型硬件加速器的設(shè)計,然后將加速器IP導(dǎo)入Vivado軟件中完成綜合和實現(xiàn)后,得到硬件資源消耗如表3所示。

        表3 zynq- 7020硬件資源消耗

        同時,本設(shè)計對比CPU平臺的YOLOv2網(wǎng)絡(luò)模型實現(xiàn),CPU平臺硬件參數(shù)為Intel 4核酷睿i5- 4440處理器,主頻為3.1 GHz,DDR3內(nèi)存大小為8 GB。

        3.2 結(jié)果驗證和性能測試對比

        本設(shè)計在驗證YOLOv2網(wǎng)絡(luò)加速器的結(jié)果正確性時,從COCO數(shù)據(jù)集的測試集中選取100幅交通工具圖片作為驗證,交通工具圖片主要包括人、自行車、汽車、摩托車、飛機、公共汽車、火車、貨車以及紅綠燈交通標志等類別。實驗在Pynq-z1開發(fā)板上的測試結(jié)果如圖8所示。

        圖8 SecureCRT串口終端測試結(jié)果

        首先,通過Xilinx公司的Petalinux工具定制嵌入式Linux系統(tǒng),包括鏡像文件、uboot文件和根文件系統(tǒng)。將以上3個文件燒錄SD卡中,通過UART串口將PC與Pynq-z1開發(fā)板連接,在PC上通過串口終端SecureCRT軟件顯示檢測結(jié)果,并與PC端下測試結(jié)果進行對比。

        通過測試結(jié)果表4發(fā)現(xiàn),本文設(shè)計的硬件加速器在保證準確率幾乎不變的情況下,分辨率為416×416的單幅圖片計算時間縮短為1.02 s,極大提高網(wǎng)絡(luò)推理速度。

        表4 不同硬件測試結(jié)果對比

        同時,本設(shè)計與之前已有工作的硬件加速器進行對比,如表5所示。本設(shè)計的硬件加速器使用Xilinx公司的HLS軟件,采用C/C++語言進行編程,并使用優(yōu)化指令對算法中的數(shù)組和For循環(huán)進行資源和性能的優(yōu)化。本設(shè)計在輸入輸出接口部分充分使用雙緩存設(shè)計,通過乒乓操作,使讀取和寫入數(shù)據(jù)與計算同時進行,有效節(jié)省傳輸時延。本文為了降低模型在硬件部署上的難度,提前將YOLOv2網(wǎng)絡(luò)中的Bn層與權(quán)重和偏置參數(shù)進行融合。在FPGA硬件部署上針對卷積模塊采用輸入輸出二維循環(huán)展開和分塊的思想,合理設(shè)計并行乘法器的個數(shù),提高硬件加速器的吞吐量。

        表5 與已有的硬件加速器性能對比

        本文設(shè)計的硬件加速器的計算性能通過GOPS(Giga Operation Per Second)指標來衡量。其中,使用GOP(十億次操作)來衡量CNN模型的復(fù)雜度。本文采用CNN模型與文獻[19]和文獻[20]對比,模型復(fù)雜度最大,同時,本文設(shè)計的硬件加速器的計算性能高于文獻[19]和文獻[20]。

        4 結(jié) 語

        本文針對目標檢測模型YOLOv2,設(shè)計一種基于FPGA的硬件加速器。該硬件加速器針對YOLOv2網(wǎng)絡(luò)模型中的卷積層,采用輸入輸出二維循環(huán)展開和循環(huán)分塊的方法。通過對卷積層硬件單元的設(shè)計,使用128個乘法單元并行計算,提高整個網(wǎng)絡(luò)的計算性能。本文在硬件加速器的輸入輸出接口部分采用雙緩存設(shè)計,通過乒乓操作使讀取,寫入和片上計算單元能夠并行操作,降低傳輸時延帶來的計算性能損失。同時,為了降低網(wǎng)絡(luò)模型的準確率損失和減少硬件資源的消耗,本文采用16位定點數(shù)對權(quán)重參數(shù),偏置項參數(shù)以及輸入輸出特征圖的像素值進行量化。實驗結(jié)果顯示,本文設(shè)計的硬件加速器與通用CPU酷睿i5- 4440處理器相比,計算性能提高5.77倍,同時,在COCO數(shù)據(jù)集上保持準確率幾乎不變。除此之外,本文設(shè)計的硬件加速器在時鐘頻率為150 MHz,計算性能達到28.88 GOPS。

        猜你喜歡
        輸入輸出加速器卷積
        輪滑加速器
        化學(xué)工業(yè)的“加速器”
        基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
        全民小康路上的“加速器”
        少先隊活動(2021年6期)2021-07-22 08:44:24
        Camtasia Studio高清視頻輸入輸出原理及方法
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        鐵路信號系統(tǒng)安全輸入輸出平臺
        基于傅里葉域卷積表示的目標跟蹤算法
        輸入輸出理論在大學(xué)英語聽說課堂中的教學(xué)探索
        輸入輸出視角下高職英語教學(xué)研究
        亚洲综合无码一区二区| 手机av在线中文字幕| 国产精品无码dvd在线观看| 99久久精品费精品国产一区二区| 中文字幕久久久久人妻无码| 一区二区三区视频在线免费观看| 国产草逼视频免费观看| 亚洲av无码成人网站在线观看| 射精情感曰妓女色视频| 亚洲成熟丰满熟妇高潮XXXXX | 在线免费观看蜜桃视频| 亚洲男同gay在线观看| 欧美亚洲国产精品久久高清| 熟女系列丰满熟妇av| 国产丝袜美腿在线播放| 成在线人免费视频播放| 国产白浆一区二区在线| 国产网红主播无码精品| 国产三级在线视频播放| 一区二区三区精品偷拍| 天堂网av一区二区三区在线观看| 正在播放东北夫妻内射| 无码人妻专区免费视频| 国产av三级精品车模| 国产69精品久久久久9999apgf| 亚洲熟女乱色一区二区三区| 一区二区三区免费视频网站| 五月婷婷开心六月激情| 欧美老熟妇喷水| 成人欧美在线视频| 亚洲人妻av综合久久| 国产午夜福利片在线观看| 精品综合久久久久久97超人| www插插插无码视频网站| 中文字幕亚洲精品一二三区| 老鲁夜夜老鲁| 麻豆高清免费国产一区| AV中文字幕在线视| 国产精品无套一区二区久久| 日本无码人妻波多野结衣| 亚洲熟女av超清一区二区三区|