精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

圖像預(yù)處理庫(kù)CV-CUDA開(kāi)源了,打破預(yù)處理瓶頸,提升推理吞吐量20多倍

人工智能 新聞
當(dāng) CPU 圖像預(yù)處理成為視覺(jué)任務(wù)的瓶頸,最新開(kāi)源的CV-CUDA,將為圖像預(yù)處理算子提速百倍。

在如今信息化時(shí)代中,圖像或者說(shuō)視覺(jué)內(nèi)容早已成為日常生活中承載信息最主要的載體,深度學(xué)習(xí)模型憑借著對(duì)視覺(jué)內(nèi)容強(qiáng)大的理解能力,能對(duì)其進(jìn)行各種處理與優(yōu)化。
然而在以往的視覺(jué)模型開(kāi)發(fā)與應(yīng)用中,我們更關(guān)注模型本身的優(yōu)化,提升其速度與效果。相反,對(duì)于圖像的預(yù)處理與后處理階段,很少認(rèn)真思考如何去優(yōu)化它們。所以,當(dāng)模型計(jì)算效率越來(lái)越高,反觀(guān)圖像的預(yù)處理與后處理,沒(méi)想到它們竟成了整個(gè)圖像任務(wù)的瓶頸。
為了解決這樣的瓶頸,NVIDIA 攜手字節(jié)跳動(dòng)機(jī)器學(xué)習(xí)團(tuán)隊(duì)開(kāi)源眾多圖像預(yù)處理算子庫(kù)CV-CUDA,它們能高效地運(yùn)行在 GPU 上,算子速度能達(dá)到 OpenCV(運(yùn)行在 CPU)的百倍左右。如果我們使用 CV-CUDA 作為后端替換OpenCV 和 TorchVision,整個(gè)推理的吞吐量能達(dá)到原來(lái)的二十多倍。此外,不僅是速度的提升,同時(shí)在效果上 CV-CUDA 在計(jì)算精度上已經(jīng)對(duì)齊了OpenCV,因此訓(xùn)練推理能無(wú)縫銜接,大大降低工程師的工作量。

圖片

以圖像背景模糊算法為例,將CV-CUDA替換 OpenCV作為圖像預(yù)/后處理的后端,整個(gè)推理過(guò)程吞吐量能加20 多倍。

如果小伙伴們想試試更快、更好用的視覺(jué)預(yù)處理庫(kù),可以試試這一開(kāi)源工具。開(kāi)源地址:https://github.com/CVCUDA/CV-CUDA

圖像預(yù)/后處理已成為 CV 瓶頸

很多涉及到工程與產(chǎn)品的算法工程師都知道,雖然我們常常只討論模型結(jié)構(gòu)和訓(xùn)練任務(wù)這類(lèi)「前沿研究」,但實(shí)際要做成一個(gè)可靠的產(chǎn)品,中間會(huì)遇到很多工程問(wèn)題,反而模型訓(xùn)練是最輕松的一環(huán)了。
圖像預(yù)處理就是這樣的工程難題,我們也許在實(shí)驗(yàn)或者訓(xùn)練中只是簡(jiǎn)單地調(diào)用一些API 對(duì)圖像進(jìn)行幾何變換、濾波、色彩變換等等,很可能并不是特別在意。但是當(dāng)我們重新思考整個(gè)推理流程時(shí)會(huì)發(fā)現(xiàn),圖像預(yù)處理已經(jīng)成為了性能瓶頸,尤其是對(duì)于預(yù)處理過(guò)程復(fù)雜的視覺(jué)任務(wù)。
這樣的性能瓶頸,主要體現(xiàn)在 CPU 上。一般而言,對(duì)于常規(guī)的圖像處理流程,我們都會(huì)先在CPU 上進(jìn)行預(yù)處理,再放到 GPU 運(yùn)行模型,最后又會(huì)回到 CPU,并可能需要做一些后處理。

圖片

以圖像背景模糊算法為例,常規(guī)的圖像處理流程中預(yù)\后處理主要在 CPU 完成,占據(jù)整體 90% 的工作負(fù)載,其已經(jīng)成為該任務(wù)的瓶頸。

因此對(duì)于視頻應(yīng)用,或者 3D 圖像建模等復(fù)雜場(chǎng)景,因?yàn)閳D像幀的數(shù)量或者圖像信息足夠大,預(yù)處理過(guò)程足夠復(fù)雜,并且延遲要求足夠低,優(yōu)化預(yù)/后處理算子就已經(jīng)迫在眉睫了。一個(gè)更好地做法,當(dāng)然是替換掉 OpenCV,使用更快的解決方案。

為什么 OpenCV 仍不夠好?

在 CV 中,應(yīng)用最廣泛的圖像處理庫(kù)當(dāng)然就是長(zhǎng)久維護(hù)的OpenCV 了,它擁有非常廣泛的圖像處理操作,基本能滿(mǎn)足各種視覺(jué)任務(wù)的預(yù)/后處理所需。但是隨著圖像任務(wù)負(fù)載的加大,它的速度已經(jīng)有點(diǎn)慢慢跟不上了,因?yàn)镺penCV 絕大多數(shù)圖像操作都是 CPU 實(shí)現(xiàn),缺少 GPU 實(shí)現(xiàn),或者 GPU 實(shí)現(xiàn)本來(lái)就存在一些問(wèn)題。
在NVIDIA與字節(jié)跳動(dòng)算法同學(xué)的研發(fā)經(jīng)驗(yàn)中,他們發(fā)現(xiàn)OpenCV 中那些少數(shù)有 GPU 實(shí)現(xiàn)的算子存在三大問(wèn)題:

  1. 部分算子的 CPU 和 GPU 結(jié)果精度無(wú)法對(duì)齊;
  2. 部分算子 GPU 性能比 CPU 性能還弱;
  3. 同時(shí)存在各種CPU算子與各種 GPU 算子,當(dāng)處理流程需要同時(shí)使用兩種,就額外增加了內(nèi)存與顯存中的空間申請(qǐng)與數(shù)據(jù)遷移/數(shù)據(jù)拷貝;

比如說(shuō)第一個(gè)問(wèn)題結(jié)果精度無(wú)法對(duì)齊,NVIDIA與字節(jié)跳動(dòng)算法同學(xué)會(huì)發(fā)現(xiàn),當(dāng)我們?cè)谟?xùn)練時(shí)OpenCV 某個(gè)算子使用了 CPU,但是推理階段考慮到性能問(wèn)題,換而使用OpenCV對(duì)應(yīng)的GPU 算子,也許CPU 和 GPU 結(jié)果精度無(wú)法對(duì)齊,導(dǎo)致整個(gè)推理過(guò)程出現(xiàn)精度上的異常。當(dāng)出現(xiàn)這樣的問(wèn)題,要么換回 CPU 實(shí)現(xiàn),要么需要費(fèi)很多精力才有可能重新對(duì)齊精度,是個(gè)不好處理的難題。
既然 OpenCV 仍不夠好,可能有讀者會(huì)問(wèn),那Torchvision 呢?它其實(shí)會(huì)面臨和 OpenCV 一樣的問(wèn)題,除此之外,工程師部署模型為了效率更可能使用 C++實(shí)現(xiàn)推理過(guò)程,因此將沒(méi)辦法使用Torchvision而需要轉(zhuǎn)向 OpenCV 這樣的 C++ 視覺(jué)庫(kù),這不就帶來(lái)了另一個(gè)難題:對(duì)齊Torchvision與OpenCV的精度。
總的來(lái)說(shuō),目前視覺(jué)任務(wù)在 CPU 上的預(yù)/后處理已經(jīng)成為了瓶頸,然而當(dāng)前OpenCV 之類(lèi)的傳統(tǒng)工具也沒(méi)辦法很好地處理。因此,將操作遷移到GPU 上,完全基于CUDA實(shí)現(xiàn)的高效圖像處理算子庫(kù) CV-CUDA,就成為了新的解決方案。

圖片

完全在 GPU 上進(jìn)行預(yù)處理與后處理,將大大降低圖像處理部分的CPU 瓶頸。

GPU 圖像處理加速庫(kù): CV-CUDA

作為基于 CUDA 的預(yù)/后處理算子庫(kù),算法工程師可能最期待的是三點(diǎn):足夠快、足夠通用、足夠易用。NVIDIA 和字節(jié)跳動(dòng)的機(jī)器學(xué)習(xí)團(tuán)隊(duì)聯(lián)合開(kāi)發(fā)的 CV-CUDA 正好能滿(mǎn)足這三點(diǎn),利用 GPU 并行計(jì)算能力提升算子速度,對(duì)齊OpenCV 操作結(jié)果足夠通用,對(duì)接 C++/Python 接口足夠易用。

CV-CUDA的速度

CV-CUDA的快,首先體現(xiàn)在高效的算子實(shí)現(xiàn),畢竟是NVIDIA 寫(xiě)的,CUDA 并行計(jì)算代碼肯定經(jīng)過(guò)大量的優(yōu)化的。其次是它支持批量操作,這就能充分利用GPU設(shè)備的計(jì)算能力,相比 CPU 上一張張圖像串行執(zhí)行,批量操作肯定是要快很多的。最后,還得益于CV-CUDA 適配的 Volta、Turing、Ampere 等 GPU 架構(gòu),在各 GPU 的 CUDA kernel 層面進(jìn)行了性能上的高度優(yōu)化,從而獲得最好的效果。也就是說(shuō),用的 GPU 卡越好,其加速能力越夸張。
正如前文的背景模糊吞吐量加速比圖,如果采用CV-CUDA 替代 OpenCV 和 TorchVision 的前后處理后,整個(gè)推理流程的吞吐率提升20 多倍。其中預(yù)處理對(duì)圖像做 Resize、Padding、Image2Tensor 等操作,后處理對(duì)預(yù)測(cè)結(jié)果做的Tensor2Mask、Crop、Resize、Denoise 等操作。

圖片

在同一個(gè)計(jì)算節(jié)點(diǎn)上(2x Intel Xeon Platinum 8168 CPUs,1x NVIDIA A100 GPU),以 30fps 的幀率處理 1080p 視頻,采用不同 CV 庫(kù)所能支持的最大的并行流數(shù)。測(cè)試采用了 4 個(gè)進(jìn)程,每個(gè)進(jìn)程 batchSize 為 64。對(duì)于單個(gè)算子的性能,NVIDIA和字節(jié)跳動(dòng)的小伙伴也做了性能測(cè)試,很多算子在GPU 上的吞吐量能達(dá)到 CPU 的百倍。

圖片

圖片大小為 480*360,CPU 選擇為 Intel(R) Core(TM) i9-7900X,BatchSize 大小為 1,進(jìn)程數(shù)為 1

盡管預(yù)/后處理算子很多都不是單純的矩陣乘法等運(yùn)算,為了達(dá)到上述高效的性能,CV-CUDA 其實(shí)做了很多算子層面的優(yōu)化。例如采用大量的 kernel 融合策略,減少了 kernel launch 和 global memory 的訪(fǎng)問(wèn)時(shí)間;優(yōu)化訪(fǎng)存以提升數(shù)據(jù)讀寫(xiě)效率;所有算子均采用異步處理的方式,以減少同步等待的耗時(shí)等等。

CV-CUDA的通用與靈活

運(yùn)算結(jié)果的穩(wěn)定,對(duì)于實(shí)際的工程可太重要了,就比如常見(jiàn)的 Resize 操作,OpenCV、OpenCV-gpu 以及 Torchvision 的實(shí)現(xiàn)方式都不一樣,那從訓(xùn)練到部署,就會(huì)多很多工作量以對(duì)齊結(jié)果。
CV-CUDA在設(shè)計(jì)之初,就考慮到當(dāng)前圖像處理庫(kù)中,很多工程師習(xí)慣使用 OpenCV 的 CPU 版本,因此在設(shè)計(jì)算子時(shí),不管是函數(shù)參數(shù)還是圖像處理結(jié)果上,盡可能對(duì)齊 OpenCV CPU 版本的算子。因此從OpenCV 遷移到 CV-CUDA,只需要少量改動(dòng)就能獲得一致的運(yùn)算結(jié)果,模型也就不必要重新訓(xùn)練。
此外,CV-CUDA是從算子層面設(shè)計(jì)的,因此不論模型的預(yù)/后處理流程是什么樣的,其都能自由組合,具有很高的靈活性。
字節(jié)跳動(dòng)機(jī)器學(xué)習(xí)團(tuán)隊(duì)表示,在企業(yè)內(nèi)部訓(xùn)練的模型多,需要的預(yù)處理邏輯也多種多樣有許多定制的預(yù)處理邏輯需求。CV-CUDA 的靈活性能保證每個(gè) OP 都支持 stream 對(duì)象和顯存對(duì)象(Buffer和Tensor類(lèi),內(nèi)部存儲(chǔ)了顯存指針)的傳入,從而能更加靈活地配置相應(yīng)的 GPU 資源。每個(gè) op 設(shè)計(jì)開(kāi)發(fā)時(shí),既兼顧了通用性,也能按需提供定制化接口,能夠覆蓋圖片類(lèi)預(yù)處理的各種需求。

CV-CUDA的易用

可能很多工程師會(huì)想著,CV-CUDA 涉及到底層 CUDA 算子,那用起來(lái)應(yīng)該比較費(fèi)勁?但其實(shí)不然,即使不依賴(lài)更上層的 API,CV-CUDA本身底層也會(huì)提供 等結(jié)構(gòu)體,提供Allocator 類(lèi),這樣在 C++上調(diào)起來(lái)也不麻煩。此外,往更上層,CV-CUDA 提供了 PyTorch、OpenCV 和 Pillow 的數(shù)據(jù)轉(zhuǎn)化接口,工程師能快速地以之前熟悉的方式進(jìn)行算子替換與調(diào)用。
此外,因?yàn)镃V-CUDA同時(shí)擁有 C++接口與 Python 接口,它能同時(shí)用于訓(xùn)練與服務(wù)部署場(chǎng)景,在訓(xùn)練時(shí)用Python 接口跟快速地驗(yàn)證模型能力,在部署時(shí)利用C++接口進(jìn)行更高效地預(yù)測(cè)。CV-CUDA免于繁瑣的預(yù)處理結(jié)果對(duì)齊過(guò)程,提高了整體流程的效率。

圖片

CV-CUDA進(jìn)行 Resize 的 C++接口

實(shí)戰(zhàn),CV-CUDA怎么用

如果我們?cè)谟?xùn)練過(guò)程中使用CV-CUDA的 Python 接口,那其實(shí)使用起來(lái)就會(huì)很簡(jiǎn)單,只需要簡(jiǎn)單幾步就能將原本在 CPU 上的預(yù)處理操作都遷移到 GPU 上。
以圖片分類(lèi)為例,基本上我們?cè)陬A(yù)處理階段需要將圖片解碼為張量,并進(jìn)行裁切以符合模型輸入大小,裁切完后還要將像素值轉(zhuǎn)化為浮點(diǎn)數(shù)據(jù)類(lèi)型并做歸一化,之后傳到深度學(xué)習(xí)模型就能進(jìn)行前向傳播了。下面我們將從一些簡(jiǎn)單的代碼塊,體驗(yàn)一下CV-CUDA 是如何對(duì)圖片進(jìn)行預(yù)處理,如何與Pytorch進(jìn)行交互。

圖片

常規(guī)圖像識(shí)別的預(yù)處理流程,使用CV-CUDA將會(huì)把預(yù)處理過(guò)程與模型計(jì)算都統(tǒng)一放在GPU 上運(yùn)行。

如下在使用 torchvision 的 API 加載圖片到 GPU之后,Torch Tensor 類(lèi)型能直接通過(guò) as_tensor 轉(zhuǎn)化為CV-CUDA 對(duì)象 nvcvInputTensor,這樣就能直接調(diào)用CV-CUDA 預(yù)處理操作的 API,在 GPU 中完成對(duì)圖像的各種變換。

圖片

如下幾行代碼將借助 CV-CUDA 在 GPU 中完成圖像識(shí)別的預(yù)處理過(guò)程:裁剪圖像并對(duì)像素進(jìn)行歸一化。其中resize() 將圖像張量轉(zhuǎn)化為模型的輸入張量尺寸;convertto()將像素值轉(zhuǎn)化為單精度浮點(diǎn)值;normalize()將歸一化像素值,以令取值范圍更適合模型進(jìn)行訓(xùn)練。
CV-CUDA 各種預(yù)處理操作的使用與 OpenCV 或 Torchvision中的不會(huì)有太大區(qū)別,只不過(guò)簡(jiǎn)單調(diào)個(gè)方法,其背后就已經(jīng)在 GPU 上完成運(yùn)算了。

圖片

現(xiàn)在借助借助 CV-CUDA 的各種 API,圖像分類(lèi)任務(wù)的預(yù)處理已經(jīng)都做完了,其能高效地在GPU 上完成并行計(jì)算,并很方便地融合到PyTorch 這類(lèi)主流深度學(xué)習(xí)框架的建模流程中。剩下的,只需要將CV-CUDA對(duì)象nvcvPreprocessedTensor 轉(zhuǎn)化為T(mén)orch Tensor 類(lèi)型就能饋送到模型了,這一步同樣很簡(jiǎn)單,轉(zhuǎn)換只需一行代碼:

圖片

通過(guò)這個(gè)簡(jiǎn)單的例子,很容易發(fā)現(xiàn)CV-CUDA 確實(shí)很容易就嵌入到正常的模型訓(xùn)練邏輯中。如果讀者希望了解更多的使用細(xì)節(jié),還是可以查閱前文CV-CUDA的開(kāi)源地址。

CV-CUDA對(duì)實(shí)際業(yè)務(wù)的提升

CV-CUDA實(shí)際上已經(jīng)經(jīng)過(guò)了實(shí)際業(yè)務(wù)上的檢驗(yàn)。在視覺(jué)任務(wù),尤其是圖像有比較復(fù)雜的預(yù)處理過(guò)程的任務(wù),利用 GPU 龐大的算力進(jìn)行預(yù)處理,能有效提神模型訓(xùn)練與推理的效率。CV-CUDA 目前在抖音集團(tuán)內(nèi)部的多個(gè)線(xiàn)上線(xiàn)下場(chǎng)景得到了應(yīng)用,比如搜索多模態(tài),圖片分類(lèi)等。
字節(jié)跳動(dòng)機(jī)器學(xué)習(xí)團(tuán)隊(duì)表示,CV-CUDA 在內(nèi)部的使用能顯著提升訓(xùn)練與推理的性能。例如在訓(xùn)練方面,字節(jié)跳動(dòng)一個(gè)視頻相關(guān)的多模態(tài)任務(wù),其預(yù)處理部分既有多幀視頻的解碼,也有很多的數(shù)據(jù)增強(qiáng),導(dǎo)致這部分邏輯很復(fù)雜。復(fù)雜的預(yù)處理邏輯導(dǎo)致 CPU 多核性能在訓(xùn)練時(shí)仍然跟不上,因此采用CV-CUDA將所有 CPU 上的預(yù)處理邏輯遷移到 GPU,整體訓(xùn)練速度上獲得了 90%的加速。注意這可是整體訓(xùn)練速度上的提升,而不只是預(yù)處理部分的提速。

圖片

在字節(jié)跳動(dòng) OCR 與視頻多模態(tài)任務(wù)上,通過(guò)使用CV-CUDA,整體訓(xùn)練速度能提升 1 到 2 倍(注意:是模型整體訓(xùn)練速度的提升)

在推理過(guò)程也一樣,字節(jié)跳動(dòng)機(jī)器學(xué)習(xí)團(tuán)隊(duì)表示,在一個(gè)搜索多模態(tài)任務(wù)中使用 CV-CUDA 后,整體的上線(xiàn)吞吐量相比于用 CPU 做預(yù)處理時(shí)有了 2 倍多的提升。值得注意的是,這里的 CPU基線(xiàn)結(jié)果本來(lái)就經(jīng)過(guò)多核高度優(yōu)化,并且該任務(wù)涉及到的預(yù)處理邏輯較簡(jiǎn)單,但使用 CV-CUDA 之后加速效果依然非常明顯。
速度上足夠高效以打破視覺(jué)任務(wù)中的預(yù)處理瓶頸,再加上使用也簡(jiǎn)單靈活,CV-CUDA 已經(jīng)證明了在實(shí)際應(yīng)用場(chǎng)景中能很大程度地提升模型推理與訓(xùn)練效果,所以要是讀者們的視覺(jué)任務(wù)同樣受限于預(yù)處理效率,那就試試最新開(kāi)源的CV-CUDA吧。

責(zé)任編輯:張燕妮 來(lái)源: 機(jī)器之心
相關(guān)推薦

2013-04-19 09:45:20

AMPLabHadoopHDFS

2023-08-03 14:18:29

Rust阻塞函數(shù)

2024-11-02 10:28:03

2024-05-23 16:41:40

2024-05-15 15:27:39

2024-01-03 16:01:23

2024-11-01 20:25:28

2025-03-07 08:00:00

數(shù)據(jù)數(shù)據(jù)集集神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)預(yù)處理

2022-08-30 09:24:47

數(shù)據(jù)算法

2009-08-07 17:45:29

C#預(yù)處理

2009-08-07 17:41:40

C#預(yù)處理

2021-08-23 17:49:02

代碼開(kāi)發(fā)模型

2025-07-22 10:40:00

2024-09-14 11:31:27

@AsyncSpring異步

2011-08-17 10:29:39

Objective-C預(yù)處理

2020-12-23 11:08:10

Python代碼文本

2010-02-03 13:33:42

C++預(yù)處理命令

2021-03-28 08:57:57

Python 文本數(shù)據(jù)

2016-12-15 13:47:29

C語(yǔ)言預(yù)處理命令

2024-07-08 08:00:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲精品按摩视频| 精品一区二区日韩| 亚洲视频国产视频| 污视频网址在线观看| 精品国产白色丝袜高跟鞋| 国产激情一区二区三区四区 | 日本不卡在线视频| 久久精品99国产精品酒店日本| 老司机av网站| 忘忧草在线www成人影院| 最新欧美精品一区二区三区| 99国产盗摄| 日韩av大片在线观看| 亚欧日韩另类中文欧美| 欧美午夜免费电影| 中文字幕一区二区三区最新 | 久久久久久福利| 欧美91在线| 51午夜精品国产| 男女av免费观看| 免费人成在线观看播放视频 | 精品视频1区2区3区| 一级黄色片播放| 啊v视频在线| 国产精品66部| 日本久久中文字幕| 免费一级特黄特色大片| 亚洲成人精品| 亚洲欧洲在线看| 搡的我好爽在线观看免费视频| 欧亚av在线| 亚洲另类在线视频| 日韩av不卡播放| 狠狠人妻久久久久久综合麻豆| 中国女人久久久| 欧美激情国产精品| 特级西西人体高清大胆| 少妇精品久久久| 日韩av综合网| 91国产精品视频在线观看| 亚洲少妇视频| 午夜精品福利在线| 久久最新免费视频| 欧美日韩在线资源| 久久久亚洲精品一区二区三区| 电影午夜精品一区二区三区 | 蜜桃久久av一区| 欧美在线亚洲在线| 日韩欧美一级视频| 在线亚洲欧美| 欧美一区在线直播| 全部毛片永久免费看| 一区二区三区四区五区在线| 2020久久国产精品| 日韩精品在线免费视频| 国产精品地址| 欧美黑人性猛交| 久久精品女同亚洲女同13| 午夜免费欧美电影| 在线电影一区二区三区| 欧美一级特黄aaa| 国产日韩在线观看视频| 欧美一区二区三区白人| 91在线第一页| 999精品视频在这里| 精品粉嫩超白一线天av| 亚洲国产综合视频| 日韩有码一区| 亚洲美女性生活视频| 黑人巨大精品欧美| 国产伦精品一区二区三区在线播放 | 国产一区二区三区欧美| 国产又粗又长又爽又黄的视频| 综合欧美精品| 欧美女孩性生活视频| 北条麻妃在线观看| 国产成人久久精品麻豆二区| 91精品国产高清一区二区三区 | 99国产麻豆精品| 91精品啪aⅴ在线观看国产| 国产丝袜在线视频| 成人h动漫精品一区二区| 麻豆av一区二区三区久久| 国产午夜精品一区理论片| 国产精品美女久久久久久久| 在线丝袜欧美日韩制服| av在线官网| 精品福利樱桃av导航| 浮妇高潮喷白浆视频| av在线日韩| 欧美不卡视频一区| xxx在线播放| 午夜精品偷拍| 国产成人一区二| 国产精品一区二区人人爽| 波多野结衣91| 一区二区三区四区五区视频| 美女网站视频在线| 欧美在线视频全部完| 特种兵之深入敌后| 精品久久网站| 欧美激情亚洲综合一区| 国产又色又爽又黄的| 加勒比av一区二区| 免费在线成人av| 污视频免费在线观看| 一本大道久久精品懂色aⅴ| 99999精品| 精品国产一区二区三区久久久樱花 | 福利在线播放| 午夜精品久久久久久不卡8050| 九九热免费在线观看| aaa国产精品视频| 尤物yw午夜国产精品视频| 国产一级做a爱免费视频| 男女激情视频一区| 亚洲综合第一页| 91露出在线| 黑人巨大精品欧美一区二区一视频| 岛国av免费在线| 国产精品欧美大片| 不卡中文字幕av| 国内精品福利视频| 国产精品亚洲第一| 亚洲欧美久久234| av中文在线资源| 日韩写真欧美这视频| 懂色av蜜桃av| 日韩精品成人一区二区三区| 精品综合久久久| 国产写真视频在线观看| 欧美性大战久久久久久久蜜臀| 在线黄色免费网站| 一本一道久久a久久精品蜜桃| 国产精品丝袜视频| 欧美一级特黄aaaaaa大片在线观看| 欧美激情一区二区三区在线| 午夜精品久久久久久久无码| 韩国精品福利一区二区三区 | 免费网站观看www在线观| 免费国产亚洲视频| 色噜噜一区二区| 性欧美videohd高精| 91精品国产福利| 亚洲国产精品免费在线观看| 黄页视频在线91| 欧美一区二区三区电影在线观看| 手机av在线| 亚洲精品一区久久久久久| 成人毛片18女人毛片| 97久久久精品综合88久久| 日日摸日日碰夜夜爽无码| 爱爱精品视频| 91av视频在线| 日本福利片高清在线观看| 欧美日韩一二三四五区| 欧美人与性动交α欧美精品| 亚洲九九在线| 成人国产1314www色视频| 国产乱码在线| 欧美一区二区三区在线电影 | 天天操天天爱天天干| 伊人色综合久久天天人手人婷| 免费看91视频| 欧美激情aⅴ一区二区三区| 91精品国产99久久久久久红楼| 青草视频在线免费直播 | 欧美成人久久| 亚洲淫片在线视频| 成年人在线网站| 亚洲欧美变态国产另类| av中文在线播放| 中文字幕乱码日本亚洲一区二区 | 人妻少妇精品无码专区二区| 91亚洲无吗| 91成人天堂久久成人| 国产在线一在线二| 精品视频色一区| 亚洲一区二区91| 久久久蜜臀国产一区二区| 欧美激情视频免费看| 激情婷婷综合| 亚洲最大福利网| 视频在线这里都是精品| 精品香蕉一区二区三区| 夜夜狠狠擅视频| 午夜久久福利影院| 极品尤物一区二区| 成人一级黄色片| 国产a视频免费观看| 精品美女久久| 国产精品乱码视频| av资源新版天堂在线| 日韩中文字幕精品视频| 成人午夜免费在线观看| 欧美专区日韩专区| www.四虎精品| 亚洲女优在线| 亚洲国产精品久久久久久女王| 日日狠狠久久| 九九热精品在线| www.久久热.com| 在线免费亚洲电影| 午夜国产福利一区二区| 91色视频在线| 天堂一区在线观看| 99国产**精品****| 欧美日韩精品免费看| 国产精品日韩精品在线播放| 97精品视频在线| 欧美18hd| 在线日韩第一页| 国产露脸91国语对白| 日本高清不卡一区| 永久免费看片在线播放| 亚洲精品少妇30p| 91禁男男在线观看| 久久久久久久久免费| 久久久九九九热| 久久精品九九| 一卡二卡三卡视频| 视频精品一区二区三区| 欧美资源在线观看| 国产黄在线播放| 欧美一区二区免费| 波多野结衣高清视频| 日韩欧美在线一区| 免费国产羞羞网站美图| 国产超碰在线一区| 先锋资源在线视频| 视频一区二区欧美| 欧美日韩亚洲第一| 亚洲精品二区三区| 污视频在线免费观看一区二区三区| 欧美绝顶高潮抽搐喷水合集| 亚洲va男人天堂| 欧美aaa视频| 国产精品成人品| 欧美大片1688| 国产精品27p| 日本.亚洲电影| 欧美一区在线直播| 成人做爰视频www网站小优视频| 欧美亚洲视频在线观看| 在线视频超级| 日本精品视频网站| 激情视频网站在线播放色| 米奇精品一区二区三区在线观看| 久久五月精品| 亚洲系列中文字幕| 黄色av免费在线观看| 国产亚洲欧美另类中文| 香蕉视频免费看| 亚洲国产精品资源| 少妇性bbb搡bbb爽爽爽欧美| 亚洲免费视频一区二区| 久久久久久久影视| 日韩精品中文字幕在线播放| 欧洲免费在线视频| 国产亚洲精品激情久久| 第一视频专区在线| 日韩亚洲成人av在线| 成人黄色网址| 久久久国产精品亚洲一区| av在线三区| 一区二区三区日韩在线| 欧美性天天影视| 欧美黄网免费在线观看| 日本蜜桃在线观看视频| 热99精品里视频精品| 香蕉视频亚洲一级| 91精品在线一区| 色悠久久久久综合先锋影音下载| 国产66精品久久久久999小说| 日本一区精品视频| 成人啪啪免费看| 牛牛精品成人免费视频| 午夜精品视频在线观看一区二区 | 国产亚洲一区二区三区在线观看| 久久久久久久久久久久国产精品| 99re这里只有精品视频首页| av直播在线观看| 亚洲欧美中日韩| 亚洲色偷偷综合亚洲av伊人| 国产精品午夜在线观看| 亚洲人与黑人屁股眼交| 五月天久久比比资源色| 伊人成人在线观看| 精品国产99国产精品| 黄色网址在线播放| 欧美理论片在线观看| 韩漫成人漫画| 91一区二区三区| 色婷婷综合久久久久久| 欧美日韩一区在线视频| 日韩激情在线| 欧美日韩成人免费视频| 蜜臀av一区二区| 一边摸一边做爽的视频17国产| wwwwxxxxx欧美| 国产精品成人69xxx免费视频| 五月婷婷综合网| 一级一片免费看| 精品久久久久久久久久久久久久久 | 中文字幕一区电影| 蜜桃麻豆av在线| 国产欧洲精品视频| 四虎影视精品| 黄色一级片黄色| 奇米影视7777精品一区二区| av在线无限看| 国产91精品免费| 97在线观看视频免费| 色综合久久中文综合久久97| 亚洲精品.www| 伦伦影院午夜日韩欧美限制| 四虎成人在线| 国产一区二区三区免费不卡| 影音先锋日韩在线| 一区二区三区网址| 久久久精品综合| 少妇一级淫片免费放中国| 日韩欧美黄色影院| 久久精品视频免费看| 91精品国产91久久久久久| 日韩一区网站| 麻豆一区二区三区在线观看| 日韩国产欧美在线播放| 国产高清自拍视频| 夜夜揉揉日日人人青青一国产精品| 日本黄色中文字幕| 亚洲视频一区二区| 免费福利视频一区二区三区| 国产精品成人观看视频免费| 中文字幕一区二区精品区| 国产三级三级三级看三级| 久久久久国产精品麻豆ai换脸 | 欧美精品一级二级| lutube成人福利在线观看| 国产97在线亚洲| 国产成人短视频在线观看| 成人免费视频91| 成人高清免费观看| 久久久精品视频免费观看| 日韩欧美在线中文字幕| 嫩草研究院在线| 日韩美女视频免费在线观看| 中文字幕亚洲影视| 可以免费观看av毛片| 国产美女主播视频一区| 国产女人18水真多毛片18精品| 欧美日韩性视频在线| www.激情五月.com| 久久99久久亚洲国产| 伊人精品久久| 国产综合av在线| 97国产一区二区| 久久久久久久久久久影院| 亚洲免费成人av电影| 国产精品久久久久久妇女| 一区二区三区我不卡| 国产精品一区二区免费不卡| 亚洲 欧美 国产 另类| 91精品国产综合久久久久久 | 性欧美lx╳lx╳| 欧美日韩国产精品一区二区| 国产va免费精品观看精品视频| 亚洲爆乳无码专区| 亚洲欧洲三级电影| 中文字幕一区2区3区| 一区二区三区四区视频| 久久青草视频| 精品少妇人欧美激情在线观看| av亚洲精华国产精华| 中文字幕免费视频观看| 久久午夜a级毛片| 女仆av观看一区| 国产男女激情视频| 亚洲嫩草精品久久| 网站黄在线观看| 国产日产久久高清欧美一区| 欧美日韩国产欧| xxxx日本免费| 日韩免费一区二区| 欧美极品影院| 久久99国产精品一区| 91蝌蚪porny成人天涯| 一级黄色免费片| 91av在线不卡| 国产精品成人a在线观看| 性色av蜜臀av浪潮av老女人| 色94色欧美sute亚洲线路一久| www在线视频| 欧美一区亚洲二区| 国产在线精品一区二区三区不卡| 在线观看 中文字幕| 日韩中文有码在线视频| 国产丝袜一区| 三级黄色片免费观看| 色欧美片视频在线观看|