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

圖像相似性搜索比較:EfficientNet vs. ViT vs. DINO-v2 vs. CLIP vs. BLIP-2

開發
在本文中,我將使用Flickr數據集[6]比較EfficientNet、ViT、DINO-v2、CLIP和BLIP-2的視覺嵌入在圖像相似性搜索中的表現。

最近,我需要研究圖像相似性搜索,我想知道基于架構訓練方法的嵌入是否存在差異。在本文中,我將使用Flickr數據集[6]比較EfficientNet[1]、ViT[2]、DINO-v2[3]、CLIP[4]和BLIP-2[5]的視覺嵌入在圖像相似性搜索中的表現。我將主要使用Huggingface和Faiss庫進行實現。首先,我將簡要介紹每個深度學習模型。接下來,我將展示代碼實現和比較結果。

一、EfficientNet、ViT、DINO-v2、CLIP和BLIP-2的簡要介紹

在本節中,我將介紹用于實驗的幾個深度學習模型。請注意,我將使用“嵌入”和“特征”等詞,它們的含義相同。我只是根據論文的描述來使用它們。讓我們深入了解它們!

1. EfficientNet

EfficientNet[1]是一種卷積神經網絡,專注于在保持計算效率的同時實現高精度。它屬于監督學習。作者深入研究了通道數(寬度)、總層數(深度)和輸入分辨率,以解決模型大小、精度和計算效率之間的權衡問題。與已經引入的計算機視覺模型(如ResNet)相比,它在2019年取得了最先進的結果。

EfficientNet根據模型大小分為B0到B7幾個變體,如下所示。模型越大,精度越高。

在本文中,我將使用EfficientNet-B7進行實驗。提取的嵌入是最后一個隱藏層的輸出,因為深層比淺層具有更多的語義信息。

2. Vision Transformer (ViT)

Vision Transformer[2]是由Google開發的第一篇成功將Transformer架構應用于計算機視覺領域的論文。它同樣屬于監督學習。它將輸入圖像劃分為多個補丁,并將它們輸入到Transformer編碼器中。這些補丁相當于自然語言處理中的標記。對于分類任務,ViT引入了一個稱為類標記的標記,它在最后一個注意力層的輸出中包含整個圖像的表示。

與NLP Transformer類似,它需要在大數據集上進行預訓練,并對下游任務進行微調。與CNN相比,它的一個優勢是可以通過自注意力機制利用圖像的全局信息。與EfficientNet一樣,模型越大,能力越強。

在本文中,我將使用ViT-Large。提取的嵌入是類標記的輸出,因為它包含整個圖像的語義信息。

3. DINO-v2

DINO-v2[3]是由Meta開發的基礎模型,用于生成計算機視覺中的通用視覺特征。作者將自監督方法應用于ViT架構,以理解圖像和像素級別的特征;因此,DINO-v2可以執行任何計算機視覺任務,如分類或分割。在架構方面,DINO-v2基于前身DINO,即“無標簽知識蒸餾”的縮寫。

DINO有兩個網絡:學生和教師。它利用協同蒸餾,其中學生和教師網絡具有相同的架構,并且在訓練期間在兩個方向上進行蒸餾,從教師到學生以及從學生到教師。注意,學生到教師的蒸餾使用學生網絡輸出的平均值。

對于DINO-v2,作者更新了訓練方法,添加了一些損失和正則化。此外,他們還策劃了一個高質量的數據集,以獲得更好的圖像特征。

在實驗中,我們將使用類標記的輸出,因為它們像ViT一樣包含整個圖像的語義信息。

4. CLIP

CLIP是由OpenAI開發的改變游戲規則的多模態模型之一[4]。它屬于弱監督學習,基于Transformer架構。由于其獨特的架構,它能夠進行零樣本圖像分類。

CLIP架構包含文本和圖像編碼器。它通過對比損失對齊文本和圖像特征,從而獲得多模態能力。因此,它在文本和圖像特征之間共享相同的特征空間,并且可以通過找到最相似的文本特征來實現零樣本圖像分類。

CLIP編碼器基于Transformer。因此,我們將使用圖像編碼器中類標記的輸出,類似于ViT。

5. BLIP-2

BLIP-2[5]是由SalesForce在2023年開發的開源多模態模型。它屬于監督學習,基于Transformer架構。它專注于利用預訓練的大型模型(如FlanT5和CLIP)來實現高效的訓練(因為在典型預算下從頭開始訓練大型模型很困難)。由于預訓練的大型語言和視覺模型的訓練方式不同,作者引入了Q-Former來對齊預訓練模型之間的特征空間。

BLIP-2包括兩個階段。第一階段訓練Q-Former,以使用圖像-文本匹配、圖像-文本對比損失和基于圖像的文本生成等損失來對齊來自預訓練圖像編碼器的文本特征和圖像特征。第二階段再次訓練Q-Former,以將其特征空間與大型語言模型(如FlanT5)對齊。因此,Q-Former可以理解來自文本和圖像源的特征。

顧名思義,Q-Former架構基于Transformer。我們將使用Q-Former的輸出作為特征提取層。

二、EfficientNet、ViT、DINO-v2、CLIP和BLIP-2在圖像相似性搜索中的嵌入比較

在本節中,我們將比較EfficientNet、ViT、DINO-v2、CLIP和BLIP-2在圖像相似性搜索中的結果。這些模型具有不同的架構和訓練損失。它們之間會有什么不同?讓我們從環境設置開始。

1. 環境設置

我使用了Python 3.10的conda環境。我在Ubuntu 20.04上進行了實驗,使用cuda 11.0、16 GB GPU和16 GB RAM。

conda create -n transformers-env python=3.10 -y
conda activate transformers-env

接下來,我們需要通過conda和pip安裝以下庫。

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
conda install -c pytorch faiss-cpu=1.8.0
conda install -c conda-forge pandas
pip install transformers

準備工作已經完成!現在,讓我們實現代碼。我們將使用Faiss庫[7]來測量圖像相似性搜索中的圖像相似性。Faiss是一個基于近似最近鄰搜索算法的高效相似性搜索庫。此外,我們將使用Flickr30k數據集[6]進行實驗。在直接進入圖像相似性搜索之前,我們將探索如何從每個模型中提取嵌入(特征)。

2. 從每個模型中提取特征

在本實驗中,我將使用Huggingface的transformer庫來提取嵌入。與原始的Pytorch實現相比,我們可以輕松提取隱藏狀態。本節代碼檢查輸入和輸出維度,因此我們將在CPU上運行它們。

(1) EfficientNet

EfficientNet的特征提取代碼如下所示。

import torch
from transformers import AutoImageProcessor, EfficientNetModel


# load pre-trained image processor for efficientnet-b7 and model weight
image_processor = AutoImageProcessor.from_pretrained("google/efficientnet-b7")
model = EfficientNetModel.from_pretrained("google/efficientnet-b7")


# prepare input image
inputs = image_processor(test_image, return_tensors='pt')
print('input shape: ', inputs['pixel_values'].shape)


with torch.no_grad():
    outputs = model(**inputs, output_hidden_states=True)


embedding = outputs.hidden_states[-1]


print('embedding shape: ', embedding.shape)


embedding = torch.mean(embedding, dim=[2,3])
print('after reducing: ', embedding.shape)


### input shape:  torch.Size([1, 3, 600, 600])
### embedding shape:  torch.Size([1, 640, 19, 19])
### after reducing by taking mean:  torch.Size([1, 640])

首先,我們需要準備輸入。預定義的EfficientNet圖像處理器會自動將輸入形狀處理為(batch_size, 3, 600, 600)。經過模型后,我們可以獲得帶有隱藏狀態的輸出。最后一個隱藏狀態的維度為(batch_size, 640, 19, 19),因此我們對獲得的嵌入應用降維平均處理。

(2) ViT

對于ViT的特征提取,提取代碼如下所示。

# load pre-trained image processor for ViT-large and model weight
image_processor = AutoImageProcessor.from_pretrained("google/vit-large-patch16-224-in21k")
model = ViTModel.from_pretrained("google/vit-large-patch16-224-in21k")


# prepare input image
inputs = image_processor(test_image, return_tensors='pt')
print('input shape: ', inputs['pixel_values'].shape)


with torch.no_grad():
    outputs = model(**inputs)


embedding = outputs.last_hidden_state
embedding = embedding[:, 0, :].squeeze(1)
print('embedding shape: ', embedding.shape)


### input shape:  torch.Size([1, 3, 224, 224])
### embedding shape:  torch.Size([1, 1024])

同樣,預定義的ViT圖像處理器會自動將輸入形狀處理為(batch_size, 3, 224, 224)。最后一個隱藏狀態的維度為(batch_size, 197, 1024),我們只需要類標記,因此提取第二個維度(197)的第一個索引。

(3) DINO-v2

DINO-v2基于ViT,因此基礎代碼幾乎相同。區別在于我們加載DINO-v2的圖像處理器和模型。提取代碼如下所示。

# load pre-trained image processor for DINO-v2 and model weight
image_processor = AutoImageProcessor.from_pretrained('facebook/dinov2-base')
model = AutoModel.from_pretrained('facebook/dinov2-base')


# prepare input image
inputs = image_processor(images=test_image, return_tensors='pt')
print('input shape: ', inputs['pixel_values'].shape)


with torch.no_grad():
    outputs = model(**inputs)


embedding = outputs.last_hidden_state
embedding = embedding[:, 0, :].squeeze(1)
print('embedding shape: ', embedding.shape)


### input shape:  torch.Size([1, 3, 224, 224])
### embedding shape:  torch.Size([1, 1024])

基本上,我們使用相同的圖像處理器。預定義的ViT圖像處理器會自動將輸入形狀處理為(batch_size, 3, 224, 224)。最后一個隱藏狀態的維度為(batch_size, 197, 1024),我們只需要類標記,因此提取第二個維度(197)的第一個索引。

(4) CLIP

CLIP也基于ViT,因此過程相同。Huggingface的transformers庫已經為CLIP提供了特征提取方法,因此實現更加簡單。

# load pre-trained image processor for CLIP and model weight
image_processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")


# prepare input image
inputs = image_processor(images=test_image, return_tensors='pt', padding=True)
print('input shape: ', inputs['pixel_values'].shape)


with torch.no_grad():
    outputs = model.get_image_features(**inputs)


print('embedding shape: ', outputs.shape)


### input shape:  torch.Size([1, 3, 224, 224])
### embedding shape:  torch.Size([1, 512])

我們使用相同的圖像處理器。預定義的ViT圖像處理器會自動將輸入形狀處理為(batch_size, 3, 224, 224)。get_image_features方法可以提取給定圖像的嵌入,輸出維度為(batch_size, 512)。它與ViT和DINO-v2不同。

(5) BLIP-2

我們可以從ViT和Q-Former的輸出中提取圖像嵌入。在這種情況下,Q-Former的輸出可以包含來自圖像和文本視角的語義,因此我們將使用它。

processor = Blip2Processor.from_pretrained("Salesforce/blip2-opt-2.7b")
model = Blip2Model.from_pretrained("Salesforce/blip2-opt-2.7b", torch_dtype=torch.float16)


# prepare input image
inputs = processor(images=test_image, return_tensors='pt', padding=True)
print('input shape: ', inputs['pixel_values'].shape)


with torch.no_grad():
    outputs = model.get_qformer_features(**inputs)


print('embedding shape: ', outputs.shape)

我們使用BLIP-2處理器,它可以處理圖像和文本輸入。它會自動將圖像輸入形狀處理為(batch_size, 3, 224, 224)。我們可以使用get_qformer_features提取Q-Former的輸出,輸出維度為(batch_size, 32, 768)。我們通過對輸出取平均值來降維,嵌入維度將為(batch_size, 768)。

現在我們已經了解了如何從每個模型中提取嵌入。接下來,讓我們檢查使用Faiss進行圖像相似性搜索的實現。

3. 圖像相似性搜索

我們可以使用Faiss接口輕松實現圖像相似性搜索,只需幾行代碼。我們假設我們有一個名為features的變量。過程如下:

  • 將輸入特征類型轉換為numpy.float32。
  • 實例化Faiss向量存儲并為其注冊輸入特征。
  • 通過調用search方法搜索向量。

我們可以選擇如何測量向量之間的距離,例如歐幾里得距離或余弦相似度。在本文中,我們使用余弦相似度。偽代碼如下所示。

# convert features type to np.float32
features = features.astype(np.float32)


# get embedding dimension
vector_dim = features.shape[1]     


# register embedding to faiss vector store
index = faiss.IndexFlatIP(vector_dim)
faiss.normalize_L2(features)
index.add(features)


# For vector search, we just call search method. 
top_k = 5  
faiss.normalize_L2(embed)
distances, ann = index.search(embed, k=top_k)

現在,比較圖像相似性搜索結果的所有先決條件已經完成。讓我們從下一節開始檢查具體結果。

4. 圖像相似性搜索結果的比較

在本節中,我將比較使用五個模型進行圖像相似性搜索的結果。對于數據集,我使用了從Flickr30k中隨機挑選的10k張圖像。我為每個模型實現了一個自定義管道,以實現批量特征提取。在本節末尾,我將附上我用于此實驗的筆記本。我選擇了以下圖像來比較結果。

從Flickr30k數據集中挑選的圖像

“3637013.jpg”的結果如下所示:

對“3637013.jpg”進行的圖像相似性搜索

這個案例相對容易,因此所有模型都能挑選出語義相似的圖像。“3662865.jpg”的結果如下所示:

對“3662865.jpg”進行的圖像相似性搜索

在這種情況下,DINO-v2和CLIP能夠捕捉到“鏟雪”的語義,但其他模型有時只能捕捉到“雪”。

“440375442.jpg”的結果如下所示:

對“440375442.jpg”進行的圖像相似性搜索

EfficientNet和ViT可能將工作服誤解為手術服,因此它們無法捕捉目標圖像的語義。DINO-v2能夠理解“垃圾和穿工作服的人”的語義,CLIP專注于穿工作服的人,而BLIP2專注于垃圾。我認為DINO-v2、CLIP和BLIP2能夠捕捉語義。

“1377428277.jpg”的結果如下所示:

對“1377428277.jpg”進行的圖像相似性搜索

這張圖像的語義是:“街上有很多人正在享受某個節日或街頭表演。”EfficientNet和ViT專注于雨傘,因此它們無法捕捉語義。另一方面,DINO專注于嬰兒車,表現稍遜一籌。CLIP試圖捕捉節日和街頭的部分,但也稍遜一籌。BLIP2能夠捕捉街頭表演和嬰兒車。

“57193495.jpg”的結果如下所示:

對“57193495.jpg”進行的圖像相似性搜索

在這種情況下,EfficientNet、ViT和CLIP有時能夠捕捉到“穿著戲服并涂白臉的女人”的語義。然而,它們相對不足。相比之下,DINO-v2和BLIP2能夠捕捉到服裝或角色扮演的語義。

最后一張圖像“1393947190.jpg”的搜索結果如下所示:

對“1393947190.jpg”進行的圖像相似性搜索

結果因架構(CNN和Transformer)而異。雖然EfficientNet可能專注于圖像的白色和棕色,但其他模型能夠捕捉到“正在卷絲的人”的語義。CLIP可能專注于傳統手工藝品,但其他模型能夠捕捉語義。

總結一下,我們有以下觀察結果:

  • EfficientNet(CNN架構)不擅長捕捉超出像素信息的語義。
  • Vision Transformer比CNN更好,但仍然更關注像素信息而不是圖像的含義。
  • DINO-v2能夠捕捉圖像的語義,并且傾向于關注前景物體。
  • CLIP能夠捕捉語義,但有時可能會受到圖像中可讀的語言信息的強烈影響。
  • BLIP2能夠捕捉語義,是其他模型中表現最好的。

我認為,為了獲得更好的圖像相似性搜索結果,我們基本上應該使用DINO-v2或BLIP2。至于使用上的區別,當我們專注于圖像中的物體時,應該使用DINO-v2。而當我們專注于超出像素信息的語義(如情境)時,應該使用BLIP2。

完整代碼:https://gist.github.com/tanukon/00d689478ee3f7d2abd0366f1352cf9d#file-embedding_comparison-ipynb

責任編輯:趙寧寧 來源: 小白玩轉Python
相關推薦

2021-01-13 16:04:07

網絡On-Prem托管

2020-08-25 09:14:17

對象存儲文件存儲塊存儲

2019-04-02 15:07:51

API NginxZuul

2014-09-28 10:29:43

喬布斯施密特Android

2021-12-23 15:36:21

NASSANDAS

2023-05-22 19:49:30

命令Linux

2024-09-12 22:45:47

2022-08-04 14:54:50

APTDNFYUM

2020-04-15 10:21:43

云計算AWSAzure

2015-03-19 11:03:49

Linuxwin10

2013-04-09 10:15:13

公有云私有云混合云

2009-02-27 09:42:00

無線產品企業家用

2009-04-04 08:58:45

Palmiphone移動OS

2023-10-12 07:03:40

2020-07-21 07:58:17

云計算AWSAzure

2021-12-09 19:18:12

SD-WANSASE網絡

2012-12-17 10:01:27

Google DremApache Hado云計算

2020-11-24 13:47:56

服務器

2019-08-27 11:18:37

云計算云存儲云備份

2011-07-29 11:10:44

ChromeIE9Firefox
點贊
收藏

51CTO技術棧公眾號

6080午夜伦理| 亚洲一区二区三区四区av| 91看片在线观看| 国内久久精品视频| 久久久久久九九九| 亚洲欧洲久久久| 精品视频一区二区三区| 婷婷丁香激情综合| 在线播放 亚洲| 性xxxx视频| 老色鬼精品视频在线观看播放| 久久躁狠狠躁夜夜爽| www.超碰97| 97久久精品一区二区三区的观看方式| 亚洲午夜久久久久久久久久久| 日本一区二区三不卡| 亚洲国产欧美另类| 免费看欧美女人艹b| 久久久久久久久久国产精品| 狂野欧美性猛交| 亚洲97av| 亚洲国产97在线精品一区| 91小视频网站| 国产免费不卡| 亚洲国产成人精品视频| 一级特黄录像免费播放全99| 日韩精品一二| 成人免费视频一区二区| 国产欧美日韩精品丝袜高跟鞋| 奇米影视第四色777| 精品视频资源站| 亚洲国产小视频| 色综合av综合无码综合网站| 国产激情视频在线| 国产视频一区二区在线| 国产免费一区二区三区| 国产免费无遮挡吸奶头视频| 日韩av免费播放| 99久久99久久精品国产片桃花| 欧美精品一卡二卡| 女人另类性混交zo| 成年男女免费视频网站不卡| 亚洲欧美综合色| 玛丽玛丽电影原版免费观看1977| www.亚洲欧美| 国产麻豆日韩欧美久久| 国产欧美日韩高清| 成人黄色片在线观看| 久久性天堂网| 庆余年2免费日韩剧观看大牛| 免费又黄又爽又色的视频| 88国产精品视频一区二区三区| 中文字幕在线国产精品| 日韩视频在线观看免费视频| 精品少妇av| 夜夜躁日日躁狠狠久久88av| 这里只有久久精品| 成人a'v在线播放| 一个人看的www久久| 日韩乱码人妻无码中文字幕久久| 日韩欧美ww| 亚洲精品永久免费| 欧美成人国产精品一区二区| 沈樵精品国产成av片| 亚洲深夜福利视频| 中文字幕av久久爽一区| 久久伦理在线| 欧美成人激情视频| 国产真实的和子乱拍在线观看| 国内一区二区三区| 18久久久久久| 成年人晚上看的视频| 美国av一区二区| 91aaaa| 国产丰满果冻videossex| 国产成a人无v码亚洲福利| 国产日本一区二区三区| 久久这里精品| 亚洲手机成人高清视频| 久久这里只有精品8| 欧美激情网站| 欧美日韩亚洲综合一区二区三区| 欧洲在线免费视频| 国产色噜噜噜91在线精品| 亚洲欧美综合图区| 成人在线观看小视频| 在线免费观看欧美| 国产精品精品国产| 性做久久久久久久久久| xnxx国产精品| 亚洲国产精品女人| 欧亚av在线| 91精品国产综合久久精品| 国产精品成人99一区无码| 国模精品一区| 国精产品一区一区三区有限在线| 久久久久久在线观看| 国内外成人在线| 久久精品国产精品国产精品污| av资源网站在线观看| 一区二区三区**美女毛片| 欧美日韩在线中文| 日本久久伊人| 亚洲三级免费看| 久久免费公开视频| 奇米777欧美一区二区| 高清视频在线观看一区| melody高清在线观看| 亚洲一区二区三区爽爽爽爽爽 | 屁屁影院ccyy国产第一页| 欧美电影免费看| 精品国产青草久久久久福利| 九九热免费在线| 亚洲黄页一区| 96国产粉嫩美女| 国产小视频在线| 亚洲国产精品嫩草影院| 可以看污的网站| 综合干狼人综合首页| 欧美激情xxxx| 国产日韩精品suv| 亚洲国产成人午夜在线一区| 久操网在线观看| 日韩欧洲国产| 俺去啦;欧美日韩| 中文字幕av免费观看| 99久久免费视频.com| 特级西西444| 3d动漫一区二区三区在线观看| 亚洲热线99精品视频| 国产污视频在线观看| 国产精品88av| 免费久久久久久| 日韩福利在线观看| 在线精品播放av| 国模私拍一区二区| 国产农村妇女精品| 亚洲欧美精品伊人久久| 男人日女人下面视频| 91成人午夜| 久久99久久亚洲国产| 亚洲最大成人av| 国产精品免费看片| 伊人影院综合在线| 欧美国产一级| 成人疯狂猛交xxx| 嫩草在线视频| 欧美高清视频不卡网| 女人裸体性做爰全过| 毛片av中文字幕一区二区| 亚洲激情图片| 欧洲午夜精品| 不卡av在线播放| 精品区在线观看| 亚洲国产日韩综合久久精品| 国产精品熟妇一区二区三区四区 | 欧美大成色www永久网站婷| 国产精品久久久久久免费| 中文字幕字幕中文在线中不卡视频| 日本不卡一区在线| av大全在线| 国产一区二三区| 日韩欧美亚洲在线| 四虎影视国产精品| 欧美精品做受xxx性少妇| 亚洲AV无码国产精品午夜字幕 | 日日摸日日碰夜夜爽无码| 欧美日韩直播| 国产精品入口免费视| 日本精品在线| 精品91自产拍在线观看一区| 国产成人无码一区二区三区在线| 91在线视频播放地址| 四季av一区二区| 牛夜精品久久久久久久99黑人| 波多野结衣精品久久| 天堂8中文在线最新版在线| 亚洲欧美精品在线| 国产影视一区二区| 亚洲国产一区二区三区| 黑人巨大精品欧美| 激情亚洲综合在线| 国产日韩欧美精品在线观看| 精品国产aⅴ| 亚洲影视九九影院在线观看| 波多野一区二区| 最近中文字幕日韩精品 | 国产福利一区二区| 国模吧无码一区二区三区| 精品理论电影在线| 国产精品一区二区av| 国产一区二区三区影视| 欧美激情a在线| 99reav在线| 亚洲国产精彩中文乱码av| 国产情侣呻吟对白高潮| 亚洲小说欧美激情另类| 91精品久久久久久久久久久久| 国产一区二区三区四| 久久婷婷国产精品| 欧美成人中文| 先锋影音日韩| 欧美一区 二区| 亚洲淫片在线视频| 欧美日韩亚洲国产| 17婷婷久久www| 综合图区亚洲| 在线观看欧美日韩国产| 欧美一级淫片aaaaaa| 欧美老年两性高潮| 日韩黄色一级视频| 午夜精品福利一区二区三区av| 男人的午夜天堂| 国产三级三级三级精品8ⅰ区| 中文字幕 欧美 日韩| 免费人成精品欧美精品| 无码人妻丰满熟妇区96| 中文视频一区| 一区二区三区四区久久| 精品久久电影| 久久偷窥视频| 女同久久另类99精品国产| 91亚洲精华国产精华| 国产成人免费| 国产成人高潮免费观看精品| 美女露胸视频在线观看| 久久久亚洲精品视频| 成码无人av片在线观看网站| 中文字幕日韩免费视频| 国产一区精品| 亚洲社区在线观看| 精品999视频| 日韩毛片中文字幕| 三级视频在线| 亚洲美女性视频| 瑟瑟在线观看| 亚洲欧美日韩一区在线| 视频三区在线观看| 亚洲乱码国产乱码精品精天堂| 国产黄a三级三级看三级| 在线成人高清不卡| 国产成人精品免费看视频| 欧美精品777| 国产欧美久久久精品免费| 欧美欧美欧美欧美首页| 夜夜躁狠狠躁日日躁av| 欧美精品v日韩精品v韩国精品v| 一本色道久久综合熟妇| 555www色欧美视频| 国产三级小视频| 日韩欧美一区二区三区在线| www.久久精品.com| 亚洲国产高清自拍| 男女视频在线观看| 国产香蕉97碰碰久久人人| 福利在线视频导航| 丝袜一区二区三区| 日本资源在线| 午夜免费日韩视频| 黄色综合网址| 国产精品看片资源| 免费观看亚洲天堂| 国产伦精品一区二区三区照片| 国产在线播放精品| 免费久久一级欧美特大黄| 精品久久综合| www.18av.com| 国产欧美短视频| 日本人视频jizz页码69| 国产一区二区在线观看视频| 国产大学生av| 26uuu色噜噜精品一区二区| av电影在线不卡| 亚洲人亚洲人成电影网站色| 精品无码人妻一区二区三区| 欧美视频在线看| 97国产成人无码精品久久久| 日韩你懂的在线播放| 四虎精品在永久在线观看 | 日韩欧美一区在线| 色网站在线免费观看| 中文字幕免费国产精品| 自由的xxxx在线视频| 2021国产精品视频| 日韩黄色碟片| 久久精品综合一区| 久久综合99| 欧美日韩二三区| 国内精品伊人久久久久av影院 | 欧美91在线| 在线观看欧美一区| 亚洲精品人人| 911av视频| 91啪亚洲精品| 九九热精品免费视频| 色婷婷av一区二区三区大白胸 | 国产精品1区2区3区在线观看| 成人手机在线免费视频| ●精品国产综合乱码久久久久| 四虎永久在线精品| 91精品国产综合久久久蜜臀粉嫩| 婷婷色在线视频| 麻豆成人在线看| 国产日韩另类视频一区| 国产精品高清一区二区三区| 青青草成人影院| 欧美 日韩 亚洲 一区| 久久草av在线| 一区二区三区在线观看免费视频| 亚洲一区二区视频在线| 一区二区三区午夜| 亚洲一区二区福利| 久草在线资源站手机版| 91色视频在线导航| 日韩国产专区| 日韩网址在线观看| 成人a免费在线看| 久久成人国产精品入口| 欧美精品丝袜久久久中文字幕| 视频一区二区在线播放| 久久久久久这里只有精品| 久久精品国产精品亚洲毛片| 欧美三级华人主播| 日韩一区二区久久| 扒开伸进免费视频| 亚洲影院免费观看| a级片在线播放| 久久久999精品视频| а√天堂资源国产精品| 欧美一级二级三级九九九| 一本色道精品久久一区二区三区| 91丨porny丨九色| 亚洲欧美日韩中文播放| 一级特黄aaaaaa大片| 最新国产成人av网站网址麻豆| 美女100%一区| 欧美日韩国产精品一卡| 麻豆亚洲精品| 精品人妻一区二区三区四区| 色又黄又爽网站www久久| 三级视频在线| 国产成人在线视频| 欧美最新另类人妖| xx欧美撒尿嘘撒尿xx| 国产精品久久久久精k8 | 国语对白一区二区| 亚洲精品在线电影| 成人免费网站观看| 欧美成人免费在线| 日日夜夜精品视频免费| 91资源在线播放| 制服丝袜av成人在线看| 国产二区三区在线| 高清不卡一区二区三区| 99精品国产一区二区青青牛奶| 国产真实乱人偷精品| 欧美性xxxxx极品| 成人在线播放视频| 91亚洲午夜在线| 在线不卡亚洲| 我和岳m愉情xxxⅹ视频| 91久久线看在观草草青青| 97超碰人人在线| 91中文字幕一区| 亚洲裸体俱乐部裸体舞表演av| 欧美性xxxx图片| 欧美视频一区二区三区在线观看| 麻豆视频网站在线观看| 91丝袜脚交足在线播放| 99av国产精品欲麻豆| 欧美激情 一区| 日韩精品一区二| 亚洲精品福利电影| 艳色歌舞团一区二区三区| 国产成人精品一区二区三区四区| 国产精品第一页在线观看| 国产午夜精品视频免费不卡69堂| 91精品国产一区二区在线观看| 久久99久久99精品| 国产无人区一区二区三区| av老司机久久| 日本精品在线视频 | 中文字幕欧美国产| a级片免费观看| 国产91精品在线播放| 亚洲精彩视频| 玖玖爱在线观看| 日韩一区二区三区在线| 亚洲私拍视频| 亚洲天堂第一区| 国产欧美视频一区二区三区| 精品人妻一区二区三区麻豆91 | 欧美激情视频一区| 国产欧美日韩精品高清二区综合区| 亚洲天堂av一区二区三区| 欧美性猛交xxxx免费看| av电影免费在线观看| 日韩资源av在线| 成人avav影音| 国产精品高潮呻吟久久久|