精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产精品成人播放| 一色桃子av在线| 国产精品s色| 日韩一区二区不卡| 中文字幕日韩精品无码内射| 亚洲av色香蕉一区二区三区| 亚洲小说区图片区| 亚洲国产天堂久久综合| 日本在线观看a| 国产黄在线观看| 久久av老司机精品网站导航| 欧美疯狂做受xxxx高潮| 国产美女视频免费观看下载软件| 欧美成人黑人| 1区2区3区国产精品| 国产精品二区在线| 国产情侣呻吟对白高潮| 综合日韩在线| 亚洲男女自偷自拍图片另类| 一级黄色特级片| 韩国日本一区| 日本一区二区三区久久久久久久久不 | 国产精品18在线| 国产精品久久久久久久久久齐齐| 日韩毛片精品高清免费| 精品久久久久久一区| 中文字幕精品一区二| 欧美日韩p片| 国产一区二区三区直播精品电影| 欧美色图校园春色| 秋霞国产精品| 亚洲成人中文在线| dy888午夜| 国产在线视频你懂得| 国产成人午夜片在线观看高清观看| 欧美性视频精品| 欧产日产国产v| 牲欧美videos精品| 精品欧美乱码久久久久久| 最近中文字幕一区二区| 国产污视频在线播放| 亚洲视频中文字幕| 日韩av在线电影观看| 日本高清视频www| 国模少妇一区二区三区 | 新片速递亚洲合集欧美合集| 一区二区不卡在线播放| 中文精品一区二区三区| 久久精品蜜桃| 捆绑紧缚一区二区三区视频| 欧美精品成人91久久久久久久| 亚洲一级黄色录像| 欧美人与牛zoz0性行为| 精品亚洲夜色av98在线观看| 国产精品一区二区无码对白| 国产精成人品2018| 欧美中文字幕一区二区三区| 99久久久无码国产精品6| free性m.freesex欧美| 夜色激情一区二区| 嫩草影院中文字幕| 色老头在线观看| 亚洲伦理在线精品| 老汉色影院首页| 成a人片在线观看| 最新久久zyz资源站| 一级二级三级欧美| 国产视频在线播放| 亚洲狠狠丁香婷婷综合久久久| 国产精品无码乱伦| 老司机在线视频二区| 亚洲美女在线国产| 欧美视频在线第一页| 操喷在线视频| 亚洲国产cao| 欧美变态另类刺激| 一区二区电影免费观看| 91极品视觉盛宴| 色一情一乱一伦一区二区三区日本| 免费观看欧美大片| 欧美综合一区二区| 成年人三级黄色片| 久久久精品区| 精品国产91洋老外米糕| 亚洲调教欧美在线| 亚洲国产欧美日韩在线观看第一区 | 亚洲熟妇一区二区| 精品三级av| 日韩精品在线观| 人妻一区二区视频| 香蕉精品视频在线观看| 久久久久免费视频| 色av性av丰满av| 黄色一级片在线看| 欧美片第1页| 欧美人狂配大交3d怪物一区| 中文字幕一二三区| 日韩av不卡一区| 中文国产成人精品| 中文字幕av免费在线观看| 在线免费观看欧美| 国产脚交av在线一区二区| 国产内射老熟女aaaa∵| 99国产欧美另类久久久精品| 亚洲精品第一区二区三区| 怡红院在线观看| 色天使久久综合网天天| 91精品视频国产| 女仆av观看一区| 在线成人一区二区| 久久久久成人网站| 日欧美一区二区| 91九色露脸| 你懂的在线观看视频网站| 亚洲视频一区在线观看| 99色精品视频| 蜜桃在线一区| 一区二区三区无码高清视频| 久久中文字幕在线观看| 日本欧美一区二区三区乱码| 国产激情一区二区三区在线观看| 成年网站在线| 香蕉久久一区二区不卡无毒影院 | 国产三级av在线播放| 欧美福利在线| 国产精品久久久久久久久久ktv | 欧美三级视频| 国产精品高潮粉嫩av| 黑人精品一区二区| 中文字幕亚洲成人| 已婚少妇美妙人妻系列| 国产福利一区二区精品秒拍| 日韩色av导航| 在线观看你懂的网站| 95精品视频在线| 久久观看最新视频| 久久女人天堂| 国产午夜精品全部视频播放| 日本网站免费观看| 国产高清在线观看免费不卡| 亚洲精品一卡二卡三卡四卡| 中文日产幕无线码一区二区| 精品国产欧美一区二区| 艳妇荡乳欲伦69影片| 蜜臀国产一区二区三区在线播放| 噜噜噜噜噜久久久久久91| 久久免费电影| 日韩天堂在线观看| 国产精品视频一区二区三| 麻豆成人久久精品二区三区红 | 成年人视频在线免费| 玖玖玖免费嫩草在线影院一区| 欧美区在线播放| 国产又粗又猛又色又| 中文字幕成人av| 久久久久久久少妇| 精品99久久| 国产不卡视频在线| 欧美一区二区三区少妇| 午夜精品123| 日韩大尺度视频| 狠狠爱成人网| 国产精品久久7| 丰满诱人av在线播放| 欧美成人女星排名| 精品视频一区二区在线观看| 国产成人综合亚洲网站| 欧美大黑帍在线播放| 综合中文字幕| 97热精品视频官网| 可以在线观看的av网站| 在线精品亚洲一区二区不卡| 中文字幕第二区| 老司机一区二区| 51xx午夜影福利| 日韩激情欧美| 午夜精品国产精品大乳美女| 五月婷婷六月丁香综合| 在线观看日韩毛片| 精品少妇一区二区三区密爱| 国产在线国偷精品免费看| 成人区一区二区| 秋霞在线一区| 91精品国产91久久久| 久香视频在线观看| 欧美卡1卡2卡| 国产性70yerg老太| 久久亚洲影视婷婷| wwwwwxxxx日本| 欧美在线黄色| 久久一区免费| 欧美少妇激情| 久久久久国产精品www| 日本电影一区二区在线观看| 欧美日韩一区在线观看| 私库av在线播放| 91污片在线观看| 日本888xxxx| 亚洲色图插插| 久久66热这里只有精品| 免费成人毛片| 97人洗澡人人免费公开视频碰碰碰| 黄色av免费在线看| 日韩一级大片在线观看| 免费污污视频在线观看| 亚洲精品一二三四区| 久久人人爽人人爽人人片| 蜜桃精品在线观看| 3d动漫一区二区三区| 久久国产亚洲| 久久久7777| 高清国产一区二区三区四区五区| 26uuu另类亚洲欧美日本一| 天堂аⅴ在线地址8| 亚洲精品www久久久| 97超碰中文字幕| 欧美网站在线观看| 欧美黄色一级网站| 国产精品视频第一区| 亚洲激情 欧美| 狠狠v欧美v日韩v亚洲ⅴ| 99精品视频在线看| 国内成人在线| av动漫免费观看| 国产精品亚洲片在线播放| 成人动漫在线视频| 亚洲最大的免费视频网站| 日本中文字幕不卡免费| 白白色在线观看| 久久好看免费视频| 国产在线电影| 日韩激情视频在线| 亚洲第一第二区| 欧美美女喷水视频| 波多野结衣一区二区三区在线| 亚洲高清免费观看 | 亚洲精品中文字幕99999| 5g国产欧美日韩视频| 欧美成a人片免费观看久久五月天| 欧美一区二区三区免费视| 俺来俺也去www色在线观看| 久久中文字幕国产| 免费黄色电影在线观看| 最新的欧美黄色| 国产黄色在线| 国产偷国产偷亚洲清高网站| 手机看片1024国产| 精品国产一区久久| 亚洲成a人片77777精品| 日韩欧美成人一区二区| 国产三级按摩推拿按摩| 5566中文字幕一区二区电影| 在线观看视频中文字幕| 欧美日韩在线三级| 中文字幕一区二区免费| 欧美亚洲国产bt| 中文字幕乱伦视频| 欧美在线不卡视频| 中文 欧美 日韩| 欧美无人高清视频在线观看| 超碰在线97观看| 欧美性猛交xxxx乱大交退制版| 中文字幕免费高清网站| 色噜噜狠狠成人网p站| 香蕉污视频在线观看| 欧美最新大片在线看| 一区二区视频播放| 欧美丰满嫩嫩电影| 成 人片 黄 色 大 片| 日韩女优电影在线观看| 丰满少妇被猛烈进入| 亚洲第一男人av| 熟妇人妻一区二区三区四区| 亚洲精品国产精品乱码不99按摩| 偷拍精品一区二区三区| 亚洲免费视频一区二区| 中文字幕在线观看日本| 久久这里只有精品视频首页| 丰满大乳少妇在线观看网站| 欧美亚洲另类制服自拍| 欧美性片在线观看| 国产日韩换脸av一区在线观看| 北岛玲精品视频在线观看| 91九色在线观看| 巨人精品**| 无遮挡亚洲一区| 亚洲va在线| 欧美乱大交xxxxx潮喷l头像| 视频在线观看一区二区三区| 亚洲视频第二页| 国产风韵犹存在线视精品| 99re久久精品国产| 国产精品初高中害羞小美女文| 欧美另类视频在线观看| 欧美视频在线观看 亚洲欧| 在线观看毛片av| 精品欧美久久久| 国产福利在线视频| 欧美国产乱视频| 欧美日韩不卡| av成人免费观看| 国产一区二区三区电影在线观看 | 亚洲视频在线观看一区二区| 亚洲精品在线一区二区| 国产天堂在线| 久久99久久99精品免观看粉嫩| 成人做爰视频www网站小优视频| 92国产精品久久久久首页| 校园春色另类视频| 日本黄网站色大片免费观看| 欧美一级久久| 手机看片国产精品| 亚洲国产经典视频| 国产一区二区三区影院| 在线播放91灌醉迷j高跟美女 | 亚洲一区二区久久久| 国产蜜臀在线| 国产中文字幕91| 亚洲成在人线免费观看| 久草视频这里只有精品| 美女精品一区二区| 丰满少妇在线观看资源站| 一区二区欧美视频| 国产尤物视频在线观看| 亚洲天堂影视av| sm性调教片在线观看| 亚洲jizzjizz日本少妇| 日韩黄色大片| 国产熟女高潮视频| 成人毛片在线观看| 日本一级二级视频| 欧美日韩国产综合久久| 久青草国产在线| 91av在线看| 国产一区福利| 成人国产一区二区三区| 精品一区二区影视| 欧美日韩生活片| 在线看国产一区二区| 嫩草研究院在线观看| 68精品久久久久久欧美| 国产精品国产| 欧妇女乱妇女乱视频| 国产盗摄视频一区二区三区| 91传媒免费观看| 欧美色图在线观看| yw视频在线观看| 国产精品久久久久久久久久ktv| 国产精品片aa在线观看| 黄色a级片免费| 91麻豆免费看片| yjizz国产| 亚洲九九九在线观看| 在线观看欧美日韩电影| 欧美另类视频在线| 久久婷婷亚洲| 中文字幕免费视频| 91黄色免费版| av影片在线看| 国产在线精品播放| 66国产精品| 日本成人在线免费观看| 亚洲一区二区精品久久av| 黄色av中文字幕| 久久久久久久国产精品| 久久aimee| 丝袜老师办公室里做好紧好爽| 久久你懂得1024| 波多野结衣午夜| 自拍偷拍亚洲区| 国产精品3区| 黄色成人在线免费观看| 成人av在线资源网| 欧美性猛交bbbbb精品| 国产亚洲精品久久久久久777| 91精品国产经典在线观看| 影音先锋亚洲视频| 粉嫩在线一区二区三区视频| 日本午夜精品理论片a级app发布| 亚洲免费视频网站| 亚洲精品伊人| 成人在线视频一区二区三区| 99久久99久久精品国产片果冻| 黄色片中文字幕| 在线视频精品一| 精品国产三区在线| 国产精品专区在线| 国产日韩精品一区二区浪潮av| 一级黄色片视频| 欧美精品videosex极品1| 啪啪亚洲精品| av在线免费看片| 亚洲成av人片一区二区三区 | 国产成人亚洲综合a∨婷婷| 国产污视频在线观看| 亚洲人成自拍网站| 免费精品一区二区三区在线观看| 你真棒插曲来救救我在线观看| 国产无人区一区二区三区| 99久久久国产精品无码网爆|