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

        ?

        高性能人臉識別加速器優(yōu)化設(shè)計及FPGA實現(xiàn)

        2020-11-18 09:14:26張偉華
        計算機工程與應(yīng)用 2020年22期
        關(guān)鍵詞:數(shù)組加速器人臉識別

        吳 進(jìn),張偉華,席 萌,代 巍

        西安郵電大學(xué) 電子工程學(xué)院,西安710121

        1 引言

        卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是人工神經(jīng)網(wǎng)絡(luò)的一種[1],被廣泛應(yīng)用于圖像識別,其缺點是運行期間會消耗越來越多的邏輯資源和存儲器帶寬,因此基于神經(jīng)網(wǎng)絡(luò)的計算要求,需要對不同的神經(jīng)網(wǎng)絡(luò)提出不同的加速方法[2]?,F(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)被廣泛用于CNN 硬件加速的實現(xiàn),特別是在移動和嵌入式設(shè)備上,為了解決FPGA平臺未能充分利用邏輯資源和內(nèi)存帶寬,以及優(yōu)化不全面、不能很好地實現(xiàn)加速效果的問題,本文設(shè)計了一個基于FPGA的人臉識別神經(jīng)網(wǎng)絡(luò)加速器,并且和已有的GPU 實現(xiàn)加速的結(jié)果進(jìn)行比較,在功耗以及神經(jīng)網(wǎng)絡(luò)計算時間方面都呈現(xiàn)更加理想的結(jié)果。

        2 卷積神經(jīng)網(wǎng)絡(luò)模型

        人臉識別中經(jīng)典LeNet-5神經(jīng)網(wǎng)絡(luò)模型示意圖如圖1所示,該網(wǎng)絡(luò)模型由2個卷積層、2個池化層、3個全連接層構(gòu)成,其中卷積層與池化層交替出現(xiàn)。假設(shè)使用3×3大小的卷積核進(jìn)行圖像的卷積運算,對于神經(jīng)網(wǎng)絡(luò)的各個層采用不同的卷積核進(jìn)行圖像特征提取。降采樣時的縮放程度決定了池化層提取出特征的粗糙程度,均使用大小為2的縮放因子對特征圖進(jìn)行縮放,從而完成池化層操作。本文采用平均值池化方式完成池化操作,從而實現(xiàn)對CNN 網(wǎng)絡(luò)模型的加速,即對2×2 大小的鄰域求平均值,進(jìn)而生成一個新的像素點,即所求的目標(biāo)像素點。

        圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖

        3 CNN加速器設(shè)計

        3.1 系統(tǒng)架構(gòu)

        圖2 所示為嵌入式平臺上的人臉識別加速器系統(tǒng)架構(gòu),Xilinx Zynq 系列平臺為ARM+FPGA 的異構(gòu)平臺,ZC706平臺上的PS部分實現(xiàn)整個系統(tǒng)的調(diào)度功能,PS 端的DDR 用于存儲外部數(shù)據(jù),卷積神經(jīng)網(wǎng)絡(luò)加速器由FPGA(PL部分)實現(xiàn)。

        圖2 加速器系統(tǒng)架構(gòu)示意圖

        3.2 HLS優(yōu)化

        在FPGA 平臺上進(jìn)行CNN 加速器設(shè)計時通常會遇到片上資源不足、片外帶寬不夠大、對處理的數(shù)據(jù)進(jìn)行重復(fù)利用以及所設(shè)計加速器的并行度不高等設(shè)計挑戰(zhàn)[3]。Vivado HLS(Vivado 高層次設(shè)計工具)具有仿真方便、移植性好、描述層次高、有利于提升開發(fā)效率等優(yōu)點[4]。因此本文使用HLS 工具對CNN 加速器進(jìn)行性能優(yōu)化。

        3.2.1 存儲優(yōu)化

        圖像數(shù)據(jù)使用外部DDR 進(jìn)行存儲,F(xiàn)PGA 訪問PS端的DDR會花費大量時間,本文采用在PL部分設(shè)計行緩沖區(qū)的方法來存放圖像數(shù)據(jù)。由于所設(shè)計的緩沖區(qū)的行數(shù)有限,當(dāng)新的圖像數(shù)據(jù)需要進(jìn)入緩沖區(qū)時,要通過對當(dāng)前一行實現(xiàn)向上移位操作釋放一部分存儲空間來存儲新的數(shù)據(jù),存儲優(yōu)化的結(jié)果示意圖如圖3 所示。在FPGA端設(shè)計行緩沖區(qū)存放數(shù)據(jù)能夠避免FPGA訪問遠(yuǎn)端的DDR 存儲器,其作用類似于Cache,能夠提高處理器與存儲之間的訪問速度,進(jìn)而提高系統(tǒng)性能。

        圖3 存儲優(yōu)化結(jié)果示意圖

        在HLS開發(fā)工具中,多維數(shù)組通常用來存放卷積核參數(shù)和特征圖數(shù)據(jù)。在HLS 綜合時,數(shù)組被實現(xiàn)為BRAM端口,由于所實現(xiàn)的BRAM端口大小的約束,讀寫操作在1 個時鐘周期內(nèi)至多完成2 次[5]。當(dāng)優(yōu)化操作需要展開循環(huán)時,在一個時鐘周期內(nèi)要對內(nèi)存進(jìn)行多次讀/寫。本文通過對數(shù)組降維的方法解決內(nèi)存瓶頸,即將多維數(shù)組采用Block、Cyclic 以及Complete 等方式分割為低維數(shù)組。Block是將原來數(shù)組中的數(shù)據(jù)按照其順序放置在若干個BRAM 中,即對于原來的數(shù)據(jù)依照其順序進(jìn)行了切割,形成多個BRAM模塊,能夠增加內(nèi)存訪問帶寬,提高訪問速度。Cyclic是將原數(shù)組中的數(shù)據(jù)以交叉存儲的方式放置在若干個BRAM 中,即將原來數(shù)組中的數(shù)據(jù)按照奇偶的順序分開。Complete 是將原有數(shù)組中的數(shù)據(jù)放置在寄存器中而不是BRAM 中,Complete 分割方式適用于較小的數(shù)組。以上三種數(shù)組分割示意圖如圖4所示。

        3.2.2 定點量化

        在人臉識別加速器設(shè)計過程中,冗余位的存在將會造成一定程度的硬件資源浪費[6]。因此,為了合理且有效地利用硬件資源,所設(shè)計的硬件電路不能局限于特定位數(shù)的精度,即需要滿足任意精度要求。以下對定點的數(shù)據(jù)類型以及任意精度整數(shù)類型進(jìn)行描述。

        圖4 多維數(shù)組分割示意圖

        (1)任意精度整數(shù)類型

        在一定整數(shù)值的寬度范圍內(nèi),HLS工具能夠支持任意精度的整數(shù)數(shù)據(jù)類型。如表1 所示,C 和C++相關(guān)的庫能夠?qū)崿F(xiàn)對任意精度整數(shù)類型的支持,其優(yōu)點是具備更高的時鐘頻率、更好的數(shù)據(jù)吞吐率,并且消耗的資源較少,因此使用任意精度數(shù)據(jù)類型能用更少的資源獲得相同的精度,并且可以實現(xiàn)更高的工作頻率,C 和C++的字長均為1位到1 024位。

        表1 任意精度整數(shù)數(shù)據(jù)類型

        (2)任意精度定點類型

        定點數(shù)的一般格式如圖5所示,確定位數(shù)的整數(shù)部分位于二進(jìn)制小數(shù)點的左邊,小數(shù)部分位于右邊,符號位為最高有效位(MSB)。W 表示字長總位數(shù),I 表示整數(shù)部分的位數(shù),B 表示小數(shù)部分的位數(shù),則W=I+B。

        圖5 定點格式示例

        在文獻(xiàn)[2]的加速器設(shè)計中,芯片的工作頻率低于100 MHz,且FPGA 資源的使用率在80%以上,對此,在無損精度的情況下,本文使用Vivado HLS 工具進(jìn)行定點量化精度的探索。本文對網(wǎng)絡(luò)中權(quán)值和特征圖參數(shù)大小進(jìn)行統(tǒng)計,為了防止數(shù)據(jù)溢出,將整數(shù)部分的位數(shù)設(shè)定為11 位。在權(quán)衡位寬及精度大小之后,將數(shù)據(jù)類型確定為ap_fixed<16,11>。圖6 所示為未經(jīng)過任何并行優(yōu)化的定點加速器的資源利用率以及時間性能的結(jié)果報告,經(jīng)過優(yōu)化,該加速器的總周期數(shù)降低至385 122,工作頻率提高到200 MHz。定點量化的優(yōu)化結(jié)果如圖7所示,采用定點量化的方式能夠在一定程度上對CNN加速器進(jìn)行優(yōu)化,降低系統(tǒng)運行時間并且減少資源利用率,使得CNN加速器的性能更優(yōu)。

        圖6 未優(yōu)化時CNN浮點加速器綜合報告

        圖7 定點量化后CNN浮點加速器綜合報告

        3.2.3 運算優(yōu)化

        (1)卷積層優(yōu)化

        卷積層的算法結(jié)構(gòu)由多層嵌套循環(huán)組成,未經(jīng)過優(yōu)化之前的CNN 加速器計算時延為1 591 122 個時鐘周期,其中卷積層C1 計算時延周期為509 388,卷積層C2計算時延周期為748 022,大約占用神經(jīng)網(wǎng)絡(luò)計算總時延的79%。因此,主要通過優(yōu)化卷積層來減少加速器的時間延遲。

        卷積層C1層的權(quán)值參數(shù)存放在卷積層計算的多維數(shù)組中,在HLS 工具中被綜合為FPGA 中的ROM。輸入圖像的像素值緩存在input 數(shù)組中,該數(shù)組被實現(xiàn)為雙端口RAM,深度為160。本文首先對于卷積層內(nèi)部的并行性進(jìn)行探索并分析,使用“#pragma HLS UNROLL”指令進(jìn)行優(yōu)化,優(yōu)化之后的電路能夠同時完成25 個乘加運算。使用流水線技術(shù)對特征圖內(nèi)部的像素計算進(jìn)行優(yōu)化,進(jìn)行運算優(yōu)化以及定點量化之后,卷積層C1的工作時間由138 796 個時鐘周期降低至816 個時鐘周期。同理,基于輸入特征圖的并行性,對于卷積層C2實現(xiàn)進(jìn)行流水線以及循環(huán)展開操作,進(jìn)行優(yōu)化之后,卷積層C2的工作時間降低為1 644個時鐘周期。

        圖8 S1層生成電路

        (2)池化層優(yōu)化

        池化層S1在未被優(yōu)化之前需要8 652個時鐘周期,相比于卷積以及全連接層,池化層大約占整個神經(jīng)網(wǎng)絡(luò)計算時間的3%。本文對于輸出特征圖之間的并行性進(jìn)行探索,圖8 所示為生成的S1 層電路,使用流水線技術(shù)對特征圖內(nèi)部的像素計算進(jìn)行優(yōu)化,S1 層的執(zhí)行時間降低為199個時鐘周期。同理,S2層的執(zhí)行時間降低為29個時鐘周期。

        (3)全連接層優(yōu)化

        本設(shè)計采用300 個神經(jīng)元與8 個神經(jīng)元進(jìn)行全連接,對于最外層循環(huán),使用“#pragma HLS PIPELINE”指令進(jìn)行流水線優(yōu)化,內(nèi)部循環(huán)由系統(tǒng)自動展開,循環(huán)展開后能夠并行執(zhí)行8次乘加操作,重疊執(zhí)行不同循環(huán)的循環(huán)體能夠使用更少的硬件資源來提高整個系統(tǒng)的吞吐量,進(jìn)一步降低系統(tǒng)計算時延。經(jīng)過運算優(yōu)化后的結(jié)果如表2所示。

        3.2.4 加速器算法接口設(shè)計

        本設(shè)計所實現(xiàn)的CNN加速IP核如圖9所示。

        在ZC706 平臺中,CNN 加速器與主存儲器之間通過AXI4-Stream接口連接,使得圖像數(shù)據(jù)通過流數(shù)據(jù)的方式完成傳輸。AXI4-Stream接口與FIFO基本一致,在進(jìn)行數(shù)據(jù)傳輸時不會牽扯到地址問題,因而主從設(shè)備之間能夠進(jìn)行數(shù)據(jù)的不間斷傳輸。主設(shè)備之間通過握手的方式保持通信,當(dāng)主設(shè)備端將發(fā)送的數(shù)據(jù)準(zhǔn)備就緒后,主設(shè)備向從設(shè)備發(fā)出VALID 信號且一直保持該信號有效,當(dāng)從設(shè)備做好接收準(zhǔn)備時,向主設(shè)備發(fā)出READY信號,當(dāng)VALID 以及READY 兩個信號同時存在時,數(shù)據(jù)開始進(jìn)行傳輸,當(dāng)這兩個信號一直有效時,主從設(shè)備之間將會進(jìn)行數(shù)據(jù)的不間斷傳輸,當(dāng)主從設(shè)備任何一端撤銷信號時,數(shù)據(jù)傳輸中斷。在Vivado HLS中,通過定義C/C++結(jié)構(gòu)體來實現(xiàn)AXI-Stream流接口,通過結(jié)構(gòu)體中的不同變量對流結(jié)構(gòu)中的信號完成模擬[7]。外部IP與CNN IP 之間的數(shù)據(jù)傳輸過程通過操作不同的信號進(jìn)行控制。本設(shè)計系統(tǒng)驗證的結(jié)果如圖10 所示,由驗證結(jié)果可知,數(shù)據(jù)的傳輸結(jié)果正確。

        表2 CNN各層進(jìn)行運算優(yōu)化結(jié)果

        圖9 CNN加速IP核

        圖10 系統(tǒng)驗證結(jié)果

        圖11 硬件連接示意圖

        3.2.5 高層次綜合

        在HLS中,將輸入的C/C++代碼驗證功能完整性之后,HLS 工具會將其轉(zhuǎn)化為RTL 代碼。使用HLS 優(yōu)化指令對設(shè)計進(jìn)行并行優(yōu)化,進(jìn)而得到設(shè)計回路的RTL描述以及等價的RTL模型[8]。待整個綜合結(jié)束之后,會輸出相關(guān)設(shè)計文件,同時也會產(chǎn)生腳本、各種日志以及測試集等,在綜合過程完成之后,通過HLS工具將RTL進(jìn)行打包實現(xiàn)為IP 核的形式,以便后續(xù)在Vivado 設(shè)計工具中進(jìn)行調(diào)用。

        3.3 系統(tǒng)硬件設(shè)計

        圖像數(shù)據(jù)采用AXI4-Stream 方式讀入,通過AXI4接口協(xié)議互聯(lián)的方式將數(shù)據(jù)傳輸?shù)絀P核并用CPU接收網(wǎng)絡(luò)的輸出值,對于Vivado內(nèi)部封裝的IP核實現(xiàn)互聯(lián),能夠使得與直接存儲器訪問(Direct Memory Access,DMA)的通信更加簡單快速。在HLS 中完成CNN IP核封裝之后將生成的IP核導(dǎo)入Vivado工具中完成數(shù)據(jù)通路設(shè)計[4]。本設(shè)計主要由ZYNQ 處理系統(tǒng)、2 個AXI互聯(lián)、AXI DMA、CNN IP 核以及處理器系統(tǒng)復(fù)位構(gòu)成,其硬件連接示意圖如圖11所示。

        圖像數(shù)據(jù)存儲于PS 端的外設(shè)DDR 中,PS 端與PL端通過芯片內(nèi)部的AXI_HP高性能接口進(jìn)行通信,經(jīng)過AXI 互聯(lián)模塊將數(shù)據(jù)從DDR 存儲器傳輸?shù)紻MA 核的M_AXIS_MM2S接口,再通過M_AXI_S2MM接口連接到CNN加速IP核的streamIn接口,CNN IP核計算完成之后通過streamOut 接口將數(shù)據(jù)傳輸?shù)紻MA 核的S_AXI_S2MM 接口,之后再通過互聯(lián)傳回到Zynq 處理系統(tǒng),完成數(shù)據(jù)的傳輸。AXI4-Stream 包含兩部分:S2MM(寫通道)和MM2S(讀通道)。CNN IP核是掛載在AXI 總線上的邏輯設(shè)備,因此需要為其分配地址空間,這樣ARM 端便可通過地址尋找到PL 端的邏輯設(shè)備,在編寫ARM程序時可以對該地址進(jìn)行讀寫,實現(xiàn)對IP核的控制。本設(shè)計CNN IP核以及DMA核地址分配結(jié)果如圖12所示。

        圖12 IP核地址分配結(jié)果

        根據(jù)Address Editor的地址分配結(jié)果,CNN IP核以及DMA 核均分配了64 KB 長度的地址,未造成地址沖突,因此在PS端可以對其地址進(jìn)行讀寫操作,實現(xiàn)對該IP核的正確控制。

        4 實驗結(jié)果和分析

        在本文設(shè)計中,將自制的40 張人臉圖像加入到ORL人臉識別數(shù)據(jù)庫中,形成了具有440張人臉圖像的數(shù)據(jù)集,其部分人臉圖像如圖13所示。

        圖13 人臉識別數(shù)據(jù)集部分人臉圖像

        表3 FPGA加速器性能對比

        將每個樣本的人臉圖像按照4∶1 的比例對數(shù)據(jù)集進(jìn)行劃分,即在Matlab R2019a 上將352 張人臉圖像用于訓(xùn)練,88張人臉圖像用于測試。Matlab訓(xùn)練結(jié)果和收斂曲線如圖14所示。

        圖14 Matlab訓(xùn)練結(jié)果及收斂曲線

        由Matlab 訓(xùn)練結(jié)果可得,當(dāng)?shù)螖?shù)達(dá)到7 000 次時,識別率約為98.33%并且趨于穩(wěn)定。根據(jù)收斂曲線可得,當(dāng)訓(xùn)練迭代次數(shù)大約為2 000次時,均方誤差開始無限向0 逼近,說明該訓(xùn)練過程效果較好,網(wǎng)絡(luò)權(quán)值趨于穩(wěn)定。

        加速器IP 核使用Vivado HLS 工具實現(xiàn),在Xilinx ZC706 開發(fā)板上進(jìn)行板級驗證,其驗證結(jié)果如圖15 所示。表3為本文FPGA加速器與其他文獻(xiàn)的性能對比。

        圖15 板級驗證結(jié)果示意圖

        根據(jù)實驗結(jié)果,本文設(shè)計的CNN 加速器識別一幅圖像僅需要0.021 ms,系統(tǒng)的工作頻率是200 MHz,且功耗僅為2.62 W。由于加速的CNN 網(wǎng)絡(luò)使用的FPGA平臺以及并行策略不同,因而不能夠直接進(jìn)行性能對比。文獻(xiàn)[4-7]與本文的設(shè)計比較類似,均探索了在FPGA開發(fā)平臺上實現(xiàn)小型LeNet網(wǎng)絡(luò)的加速方案。通過比較,文獻(xiàn)[4]的能效比相對較高,但是本文在系統(tǒng)工作頻率以及加速器峰值性能方面優(yōu)于文獻(xiàn)[4];文獻(xiàn)[5]的并行度雖然較高,但是只加速了網(wǎng)絡(luò)的前5 層,網(wǎng)絡(luò)參數(shù)較少且神經(jīng)網(wǎng)絡(luò)規(guī)模較小,需要使用Matlab對FPGA端輸出的數(shù)據(jù)進(jìn)行全連接和分類,本文設(shè)計的峰值性能為22.04 GMACS,文獻(xiàn)[5]的峰值性能為16.58 GMACS。文獻(xiàn)[8-9]只對AlexNet網(wǎng)絡(luò)的卷積層完成了加速,其設(shè)計的加速器峰值性能分別為61.62 GOPS和19.20 GMACS,耗時較長且FPGA資源占用率太高。

        表4為本文實現(xiàn)的采用Xilinx嵌入式設(shè)備實現(xiàn)的人臉識別結(jié)果與同等網(wǎng)絡(luò)規(guī)模下CPU和GPU實現(xiàn)的結(jié)果對比。本設(shè)計通過在Matlab 平臺上對識別一幅圖像所需時間進(jìn)行統(tǒng)計的方法來衡量CPU性能。由表4可知,在CUDA 上實現(xiàn)CNN 所需時間為0.646 ms,在Caffe 以及CPU上實現(xiàn)CNN所需時間分別為0.240 ms、2.650 ms。FPGA 加速器相比CPU 實現(xiàn)CNN 速度提升了126 倍,相比GPU 加速比在10 倍以上,且GPU 平臺的功耗為33 W,而本設(shè)計實現(xiàn)的基于FPGA 的加速器功耗僅為2.629 W。

        表4 人臉識別加速器結(jié)果對比

        由表4 的對比結(jié)果可知,本設(shè)計在Xilinx 嵌入式設(shè)備上所實現(xiàn)的人臉識別加速器識別速度更高且功耗較低,并且識別率誤差不超過1%,相對于其他平臺的設(shè)計結(jié)果呈現(xiàn)出較為明顯的優(yōu)勢,能夠滿足實際應(yīng)用需求。

        5 系統(tǒng)應(yīng)用

        隨著計算機視覺以及嵌入式技術(shù)的不斷發(fā)展,對于機器學(xué)習(xí)算法的可實現(xiàn)性要求越來越高[11-13],嵌入式產(chǎn)品本身就十分關(guān)注系統(tǒng)的功耗問題,功耗的高低直接決定了系統(tǒng)性能的好壞。本文在Xilinx 公司的嵌入式設(shè)備上完成了人臉識別加速器設(shè)計,相對于其他文獻(xiàn)設(shè)計成果,在功耗以及系統(tǒng)識別時間方面占據(jù)優(yōu)勢,且識別誤差率不足1%,對于該技術(shù)的產(chǎn)品化提供了理論以及技術(shù)支撐[14-15]。本文所實現(xiàn)的基于FPGA的人臉識別加速器系統(tǒng)能夠應(yīng)用于如機場、車站等許多人臉識別的場合,具備一定的硬件可實現(xiàn)性[16-17]。

        6 結(jié)束語

        本文提出了一種基于FPGA 的卷積神經(jīng)網(wǎng)絡(luò)加速器的設(shè)計方法。首先針對與加速器設(shè)計有關(guān)的HLS 工具及其提供的優(yōu)化指令進(jìn)行介紹,結(jié)合ZC706異構(gòu)開發(fā)平臺的特性,主處理器由PS部分實現(xiàn),網(wǎng)絡(luò)加速模塊由PL部分實現(xiàn)。在HLS工具中運用存儲優(yōu)化、定點量化、運算優(yōu)化、接口設(shè)計等優(yōu)化技術(shù)對LeNet-5 網(wǎng)絡(luò)進(jìn)行優(yōu)化,通過C 仿真、高層次綜合實現(xiàn)了7 層CNN 加速器設(shè)計,與該領(lǐng)域其他卷積神經(jīng)網(wǎng)絡(luò)的CPU、GPU 和FPGA實現(xiàn)的結(jié)果進(jìn)行對比,本設(shè)計實現(xiàn)的人臉識別神經(jīng)網(wǎng)絡(luò)加速器的加速比在10倍以上,且所需功耗僅為2.629 W,識別一幅人臉圖像僅需0.021 ms,實現(xiàn)了較高的系統(tǒng)性能。

        猜你喜歡
        數(shù)組加速器人臉識別
        輪滑加速器
        化學(xué)工業(yè)的“加速器”
        人臉識別 等
        JAVA稀疏矩陣算法
        電腦報(2022年13期)2022-04-12 00:32:38
        全民小康路上的“加速器”
        少先隊活動(2021年6期)2021-07-22 08:44:24
        JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
        電腦報(2020年24期)2020-07-15 06:12:41
        揭開人臉識別的神秘面紗
        等待“加速器”
        基于類獨立核稀疏表示的魯棒人臉識別
        計算機工程(2015年8期)2015-07-03 12:19:07
        尋找勾股數(shù)組的歷程
        伊人久久大香线蕉av色| 岛国大片在线免费观看| WWW拍拍拍| 日本一区二区免费看片| 波多野结衣在线播放| 亚洲一区二区三区免费的视频| 午夜桃色视频在线观看| 日本三级香港三级人妇99| 亚洲精品美女久久久久99| 真实国产乱视频国语| 97超级碰碰碰久久久观看| 国产一区二区三区尤物| 无码人妻精品一区二区三区夜夜嗨| 亚洲国产精品一区二区| 青青草免费在线手机视频| 东北熟妇露脸25分钟| 久久精品国产免费观看| 福利片福利一区二区三区 | 少妇勾引视频网站在线观看| 蜜桃传媒免费在线播放| 亚洲av成人一区二区三区本码| 亚洲一卡2卡3卡4卡5卡精品| 伊人色综合久久天天人手人停| 亚洲av高清在线一区二区三区| 激情人妻另类人妻伦| 女厕厕露p撒尿八个少妇| 亚欧免费视频一区二区三区| 成人性生交大片免费看l| 先锋五月婷婷丁香草草| 久久aⅴ无码一区二区三区| 西西少妇一区二区三区精品| 国产精品蝌蚪九色av综合网| 天天爽夜夜爽夜夜爽| 国产一起色一起爱| 日韩午夜免费视频精品一区| 日本入室强伦姧bd在线观看| 午夜tv视频免费国产区4| 久久精品伊人久久精品| 国产午夜在线视频观看| 午夜精品久久久久久| 久热re在线视频精品免费|