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

基于視覺 Transformer(ViT)進行圖像分類

人工智能
在本教程中,我們在相對較小的數據集上從頭開始訓練,但原理保持不變。通過遵循這些步驟,您將能夠實現并訓練一個用于花卉圖像分類的視覺Transformer模型,深入了解現代深度學習技術在計算機視覺中的應用。

近年來,Transformer 架構徹底改變了自然語言處理(NLP)任務。視覺Transformer(ViT)將這一創新更進一步,將變換器架構適應于圖像分類任務。本教程將指導您使用ViT對花卉圖像進行分類。

一、先決條件

要跟隨本教程,您應該具備以下基礎知識:

  • Python編程
  • 深度學習概念
  • TensorFlow和Keras

二、數據集概覽

在本教程中,我們將使用一個包含3670張圖像的花卉數據集,這些圖像被歸類為五個類別:雛菊、蒲公英、玫瑰、向日葵和郁金香。數據集已預先分割為訓練和測試集,以方便使用。

第1步:理解視覺Transformer架構

視覺Transformer(ViT)是由谷歌研究引入的一種新穎架構,它將最初為自然語言處理(NLP)開發的Transformer架構應用于計算機視覺任務。與傳統的卷積神經網絡(CNN)不同,ViT將圖像分割成塊,并處理這些塊作為標記序列,類似于NLP任務中處理單詞的方式。

ViT的關鍵優勢:

  • 能夠有效處理大規模數據集。
  • 在圖像分類任務中實現最先進的性能。
  • 具有高效的遷移學習能力。

讓我們深入了解ViT架構的關鍵組成部分:

(1) 將輸入圖像分割成塊

與傳統的卷積神經網絡(CNN)不同,ViT將輸入圖像分割成固定大小的塊。然后每個塊被展平成一維向量。例如,一個來自3通道圖像(RGB)的16x16塊將產生一個768維向量(16 * 16 * 3)。

圖表:圖像到塊


+-----------------+
|     Image       |
|  (224 x 224)    |
+-----------------+
         |
         V
+---------------------+
|     Patch 1         |
|     (16 x 16)       |
+---------------------+
         |
         V
+---------------------+
|     Patch 2         |
|     (16 x 16)       |
+---------------------+
         |
        ...
         |
         V
+---------------------+
|     Patch n         |
|     (16 x 16)       |
+---------------------+

(2) 塊的線性embedding

每個展平的塊被線性embedding到固定大小的向量中。這一步類似于NLP中使用的詞embedding,將塊轉換為適合Transformer處理的格式。

圖表:塊embedding


+---------------------+
| Flattened Patch 1   |
|  [p1, p2, ..., pn]  |
+---------------------+
         |
         V
+---------------------------+
| Linear Embedding          |
|  [e1, e2, ..., em]        |
+---------------------------+

(3) 添加位置embedding

為了保留空間信息,將位置embedding添加到每個塊embedding中。這有助于模型理解每個塊在原始圖像中的相對位置。

圖表:位置embedding


+---------------------------+     +-----------------------+
| Linear Embedded Patches   |  +  | Positional Embeddings |
|  [e1, e2, ..., em]        |     |  [pe1, pe2, ..., pem]  |
+---------------------------+     +-----------------------+
         |                          |
         V                          V
+---------------------------+
| Embedded Patches +        |
| Positional Embeddings     |
|  [e1+pe1, e2+pe2, ...,    |
|   em+pem]                 |
+---------------------------+

(4) 類別標記

在embedding塊的序列前添加一個可學習的分類標記([CLS])。這個標記用于聚合所有塊的信息,并最終用于分類。

圖表:添加類別標記

+---------------------------+
| Class Token               |
|  [cls]                    |
+---------------------------+
         |
         V
+---------------------------+     +---------------------------+
| Embedded Patches +        |     | Class Token +             |
| Positional Embeddings     | --> | Embedded Patches +        |
|  [e1+pe1, e2+pe2, ...,    |     | Positional Embeddings     |
|   em+pem]                 |     |  [cls, e1+pe1, e2+pe2, ... |
+---------------------------+     |   em+pem]                 |
+---------------------------+

(5) Transformer編碼器

將向量序列(類別標記+embedding塊)傳遞過一系列變換器編碼器層。每一層由多頭自注意力和MLP塊組成。

圖表:Transformer編碼器

+------------------------------------+
| Transformer Encoder Layer          |
|                                    |
| +------------------------------+   |
| | Multi-Headed Self-Attention  |   |
| +------------------------------+   |
|                                    |
| +------------------------------+   |
| | MLP Block                    |   |
| +------------------------------+   |
|                                    |
+------------------------------------+
         |
         V
+------------------------------------+
| Output Sequence                    |
|  [cls, e1', e2', ..., em']         |
+------------------------------------+

每個編碼器層處理輸入序列并產生相同長度和維度的輸出序列。自注意力機制允許每個塊關注所有其他塊,使模型能夠捕捉塊之間的長期依賴性和交互。

(6) 分類頭

用于分類的[CLS]標記的最終隱藏狀態。將全連接層應用于[CLS]標記的輸出以預測類別概率。

圖表:分類頭

+------------------------------------+
| Output Sequence                    |
|  [cls, e1', e2', ..., em']         |
+------------------------------------+
         |
         V
+---------------------------+
| Fully Connected Layer     |
|  [class probabilities]    |
+---------------------------+

第2步:實現視覺Transformer

讓我們逐一了解vit.py文件中ViT實現的主要組成部分:

(1) 類別標記

這個類創建一個可學習的分類標記,該標記被添加到塊嵌入序列的前面。

class ClassToken(Layer):
    def __init__(self):
        super().__init__()

    def build(self, input_shape):
        w_init = tf.random_normal_initializer()
        self.w = tf.Variable(
            initial_value=w_init(shape=(1, 1, input_shape[-1]), dtype=tf.float32),
            trainable=True
        )

    def call(self, inputs):
        batch_size = tf.shape(inputs)[0]
        hidden_dim = self.w.shape[-1]

        cls = tf.broadcast_to(self.w, [batch_size, 1, hidden_dim])
        cls = tf.cast(cls, dtype=inputs.dtype)
        return cls

(2) MLP塊

這個函數實現了Transformer編碼器中使用的MLP塊。

def mlp(x, cf):
    x = Dense(cf["mlp_dim"], activation="gelu")(x)
    x = Dropout(cf["dropout_rate"])(x)
    x = Dense(cf["hidden_dim"])(x)
    x = Dropout(cf["dropout_rate"])(x)
    return x

(3) Transformer編碼器

這個函數實現了一個Transformer編碼器層,包括自注意力和MLP塊。

def transformer_encoder(x, cf):
    skip_1 = x
    x = LayerNormalization()(x)
    x = MultiHeadAttention(
        num_heads=cf["num_heads"], key_dim=cf["hidden_dim"]
    )(x, x)
    x = Add()([x, skip_1])

    skip_2 = x
    x = LayerNormalization()(x)
    x = mlp(x, cf)
    x = Add()([x, skip_2])

    return x

(4) 視覺Transformer模型

這個函數組裝完整的視覺Transformer模型。

def ViT(cf):
    inputs = Input(shape=cf["input_shape"])
    patches = Patches(cf["patch_size"])(inputs)
    x = PatchEncoder(num_patches=cf["num_patches"], projection_dim=cf["projection_dim"])(patches)
    cls_token = ClassToken()(x)
    x = Concatenate(axis=1)([cls_token, x])
    
    for _ in range(cf["num_layers"]):
        x = transformer_encoder(x, cf)

    x = LayerNormalization()(x)
    x = x[:, 0]
    x = Dense(cf["num_classes"], activation="softmax")(x)

    model = Model(inputs, x)
    return model

第3步:數據準備和加載

在train.py文件中,我們處理數據準備和加載:

(1) 加載和分割數據集

這個函數加載數據集并將其分割為訓練、驗證和測試集。

from glob import glob
import os
from sklearn.utils import shuffle
from sklearn.model_selection import train_test_split

def load_data(path, split=0.1):
    images = shuffle(glob(os.path.join(path, "*", "*.jpg")))

    split_size = int(len(images) * split)
    train_x, valid_x = train_test_split(images, test_size=split_size, random_state=42)
    train_x, test_x = train_test_split(train_x, test_size=split_size, random_state=42)

    return train_x, valid_x, test_x

(2) 處理圖像和創建塊

這個函數處理圖像、調整大小并創建塊。

import cv2
import numpy as np
from patchify import patchify

def process_image_label(path):
    image = cv2.imread(path)
    image = cv2.resize(image, (hp["image_size"], hp["image_size"]))
    image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    image = image / 255.0

    patch_shape = (hp["patch_size"], hp["patch_size"], hp["num_channels"])
    patches = patchify(image, patch_shape, hp["patch_size"])
    patches = np.reshape(patches, hp["flat_patches_shape"])
    patches = patches.astype(np.float32)

    label = os.path.basename(os.path.dirname(path))
    class_idx = hp["class_names"].index(label)
    class_idx = np.array(class_idx, dtype=np.float32)

    return patches, class_idx

(3) 創建TensorFlow數據集

這個函數從處理過的圖像創建TensorFlow數據集。

import tensorflow as tf

def tf_dataset(images, batch=32):
    ds = tf.data.Dataset.from_tensor_slices((images))
    ds = ds.map(parse).batch(batch).prefetch(8)
    return ds

第4步:模型訓練

在train.py文件中,我們設置訓練過程:

(1) 編譯模型

這個函數使用指定的優化器和損失函數編譯ViT模型。

model.compile(
    loss="categorical_crossentropy",
    optimizer=tf.keras.optimizers.Adam(hp["lr"], clipvalue=1.0),
    metrics=["acc"]
)

(2) 設置回調

這個函數設置各種回調,用于在訓練期間監控和保存模型。

from tensorflow.keras.callbacks import ModelCheckpoint, ReduceLROnPlateau, CSVLogger, EarlyStopping

callbacks = [
    ModelCheckpoint(model_path, monitor='val_loss', verbose=1, save_best_only=True),
    ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, min_lr=1e-10, verbose=1),
    CSVLogger(csv_path),
    EarlyStopping(monitor='val_loss', patience=50, restore_best_weights=False),
]

(3) 訓練模型

這個函數使用訓練和驗證數據集訓練ViT模型。

model.fit(
    train_ds,
    epochs=hp["num_epochs"],
    validation_data=valid_ds,
    callbacks=callbacks
)

第5步:模型評估

在test.py文件中,我們加載訓練好的模型并在測試集上評估它:

model = ViT(hp)
model.load_weights(model_path)
model.compile(
    loss=tf.keras.losses.CategoricalCrossentropy(from_logits=False),
    optimizer=tf.keras.optimizers.Adam(hp["lr"]),
    metrics=["acc"]
)

model. Evaluate(test_ds)

結論

在本教程中,我們實現了一個用于花卉圖像分類的視覺Transformer(ViT)。我們涵蓋了以下關鍵點:

  • 視覺Transformer的架構
  • 使用TensorFlow和Keras實現ViT模型
  • 為花卉數據集準備和加載數據
  • 模型訓練過程
  • 在測試集上評估模型

視覺Transformer展示了注意力機制在計算機視覺任務中的強大能力,可能取代或補充傳統的CNN架構。通過遵循本教程,您將獲得有關圖像分類的尖端深度學習模型的實踐經驗。

進一步探索

為了進一步提高您的理解和結果,您可以嘗試:

  • 嘗試不同的超參數
  • 嘗試數據增強技術
  • 比較ViT與基于CNN的模型的性能
  • 可視化注意力圖以了解模型關注的內容

請記住,視覺Transformer通常在大型數據集上預訓練并在較小的特定任務數據集上微調時表現最佳。在本教程中,我們在相對較小的數據集上從頭開始訓練,但原理保持不變。通過遵循這些步驟,您將能夠實現并訓練一個用于花卉圖像分類的視覺Transformer模型,深入了解現代深度學習技術在計算機視覺中的應用。

論文鏈接:https://arxiv.org/pdf/2010.11929.pdf

GitHub鏈接:https://github.com/sanjay-dutta/Computer-Vision-Practice/tree/main/Vit_flower

數據集鏈接:https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz

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

2024-09-20 10:02:13

2023-01-05 16:51:04

機器學習人工智能

2021-07-13 17:59:13

人工智能機器學習技術

2025-01-22 13:15:10

2024-08-23 08:57:13

PyTorch視覺轉換器ViT

2024-07-30 11:20:00

圖像視覺

2024-05-24 15:53:20

視覺圖像

2024-06-13 11:44:43

2022-03-25 10:22:48

TransformeAI機器學習

2023-12-06 09:37:55

模型視覺

2024-12-16 08:06:42

2022-09-29 23:53:06

機器學習遷移學習神經網絡

2022-02-08 15:43:08

AITransforme模型

2022-01-12 17:53:52

Transformer數據人工智能

2023-10-12 09:21:41

Java圖像

2022-06-29 09:00:00

前端圖像分類模型SQL

2022-10-30 15:00:40

小樣本學習數據集機器學習

2024-12-18 08:00:00

2024-11-12 06:23:50

ViTCIFAR10模型

2023-01-08 13:22:03

模型
點贊
收藏

51CTO技術棧公眾號

国产精品一区二区美女视频免费看| 好男人www在线视频| 欧美精品羞羞答答| 欧美男男激情videos| 欧美日本三区| 亚洲女人被黑人巨大进入| 三级a在线观看| 午夜伦理大片视频在线观看| 91免费看视频| 亚洲精品日产aⅴ| 亚洲天堂视频网站| 91精品蜜臀一区二区三区在线| 欧美成人综合网站| 最新中文字幕2018| 超碰在线公开| **欧美大码日韩| 麻豆亚洲一区| 性生活三级视频| 美腿丝袜亚洲色图| 91精品国产色综合久久不卡98| 欧美巨胸大乳hitomi| 国产精品美女在线观看直播| 欧美精品乱码久久久久久按摩| 黄色www网站| 超碰电影在线播放| 中文字幕精品一区二区精品绿巨人 | a一级免费视频| 亚洲天堂日韩在线| 欧美一激情一区二区三区| 欧美成人免费高清视频| 国产传媒av在线| 一区二区视频免费在线观看| 亚洲成人a**址| 亚洲区小说区图片区| 国产精品一区二区免费不卡| 国产精品一区二区三| 国产精品久久久久久久久久久久久久久久久 | 色涩成人影视在线播放| 久久免费看视频| 97超碰欧美中文字幕| 超碰97在线人人| 国产日产亚洲系列最新| 美女视频黄a大片欧美| 日本老师69xxx| 欧美一级特黄视频| 国产精品综合| 欧美专区在线播放| 精品国产乱码一区二区| 野花国产精品入口| 91国产精品91| 天天爽夜夜爽夜夜爽精品| 亚洲视频碰碰| 午夜精品美女自拍福到在线| 国产性70yerg老太| 国产综合视频| 韩国美女主播一区| 欧美激情黑白配| 日韩va欧美va亚洲va久久| 国产精品99蜜臀久久不卡二区| 91色精品视频在线| 美国黄色一级毛片| 亚洲裸色大胆大尺寸艺术写真| 亚洲国产精品免费| 少妇光屁股影院| 成人黄色av| 日韩亚洲精品电影| 国产成人综合在线视频| 欧美视频四区| 18一19gay欧美视频网站| 日本在线播放视频| 奇米一区二区三区av| 成人在线播放av| 亚洲国产精品久久久久久6q| 成人久久视频在线观看| 明星裸体视频一区二区| 成人p站proumb入口| 亚洲图片激情小说| 成年人看的毛片| av今日在线| 欧洲日韩一区二区三区| 免费网站在线观看黄| 岛国精品一区| 一本一本久久a久久精品牛牛影视| 亚洲不卡的av| 影音先锋国产精品| 国产精品扒开腿爽爽爽视频 | 农村妇女精品一区二区| 亚洲人人精品| 国产精品久久视频| 亚洲国产中文字幕在线| 久久婷婷国产综合国色天香| 伊人色综合久久天天五月婷| bbw在线视频| 欧美视频在线观看一区| 久久久久中文字幕亚洲精品 | 亚洲国产一区二区三区四区| 无码少妇一区二区| 亚洲无吗在线| 国产欧美一区二区| 天堂中文在线观看视频| 中文字幕中文字幕在线一区 | 伊人久久av| 欧美一级午夜免费电影| 美女脱光内衣内裤| 欧美视频导航| 成人有码视频在线播放| 日本成人一区二区三区| 亚洲欧美日韩人成在线播放| 国产美女三级视频| 日韩黄色av| 深夜福利日韩在线看| av黄色在线看| 国产suv一区二区三区88区| 亚洲欧美日韩在线综合| 免费h在线看| 日韩欧美黄色影院| 欧美88888| 爽爽淫人综合网网站| 国产99在线播放| 九七电影韩国女主播在线观看| 日韩欧美aaa| 中国极品少妇videossexhd| 91精品高清| 成人a在线视频| 国产小视频免费在线网址| 亚洲国产精品视频| 少妇欧美激情一区二区三区| 五月天综合网站| 国产精品免费看久久久香蕉| 日本中文字幕一区二区有码在线| 一区二区免费看| 亚洲av毛片在线观看| 91亚洲国产成人久久精品| 国产精品第100页| 男男激情在线| 日韩欧美在线国产| 三级电影在线看| 国产精品视频| 久久久久久久久久久久久久久久av | 国产精品嫩草99a| 国产理论在线播放| 国产尤物久久久| 日本一本a高清免费不卡| 外国精品视频在线观看 | 久热精品视频在线观看| 国产有码在线观看| 亚洲人妖av一区二区| 午夜激情视频网| 欧美91视频| 丁香五月网久久综合| 密臀av在线| 亚洲精品99久久久久中文字幕| 男女视频免费看| 99久久精品国产麻豆演员表| 九九九九免费视频| 免费视频亚洲| 国产精品一区二区电影| 老司机在线看片网av| 日韩亚洲欧美一区| xxxx 国产| 26uuu欧美| 天天爱天天操天天干| 88国产精品视频一区二区三区| 91久久久久久久久久| 黄色小说在线播放| 亚洲免费视频一区二区| 中文字幕久久久久| 亚洲欧美国产77777| 久久久久亚洲AV成人无码国产| 亚洲欧美不卡| 亚洲欧美日韩另类精品一区二区三区| 国产精品一区二区美女视频免费看 | 亚洲一区二区在线看| 日本精品在线播放| 国产91精品久久久久| a天堂中文在线| 日韩一区二区三| 日韩男人的天堂| 欧美激情自拍偷拍| 无码国产精品久久一区免费| 国产农村妇女毛片精品久久莱园子 | 艳妇臀荡乳欲伦亚洲一区| 欧美夫妇交换xxx| 日本三级亚洲精品| 欧美 亚洲 视频| 小嫩嫩12欧美| 亚洲在线免费观看| 欧美电影免费观看高清完整| 久久精品视频播放| 日本护士...精品国| 欧美一区二区三区免费| 欧美videossex极品| 亚洲欧美福利一区二区| 男女做爰猛烈刺激| 成人综合婷婷国产精品久久免费| 大香煮伊手机一区| 狠狠噜噜久久| 尤物一区二区三区| 香蕉人人精品| 成人区精品一区二区| 99riav视频一区二区| 性欧美长视频免费观看不卡| 欧美精品电影| 亚洲欧美精品一区二区| 国产草草影院ccyycom| 色噜噜狠狠一区二区三区果冻| 欧美精品一区二区成人| 国产欧美日韩中文久久| 午夜男人的天堂| 国产精品一区免费视频| 91制片厂毛片| 久久亚洲影院| 青青青青草视频| 欧美在线视屏| 亚洲精品在线视频观看| 亚洲免费观看高清完整版在线观| www日韩av| 国产一区二区三区免费观看在线 | 久久蜜桃一区二区| 在线xxxxx| 国产成人av电影在线播放| 免费一区二区三区在线观看| 欧美亚洲一区二区三区| 男女视频网站在线观看| 很黄很黄激情成人| 青青视频免费在线| 婷婷综合社区| 中文字幕在线亚洲三区| 成人在线免费观看网站| 欧美在线视频二区| 一区二区三区日本久久久 | 日韩黄色大片| 日本不卡一区二区三区视频| 午夜a一级毛片亚洲欧洲| 久久99精品久久久久子伦| 动漫3d精品一区二区三区乱码| 91成人免费观看| 亚洲电影一区| 99re在线| 97久久综合区小说区图片区| 国产高清不卡av| 中文字幕一区二区三区中文字幕 | 日韩av片永久免费网站| 亚洲校园激情春色| 日韩av电影在线网| 国产精品扒开腿做爽爽爽视频软件| 51色欧美片视频在线观看| 黄频免费在线观看| 青青草一区二区| 久久久成人av毛片免费观看| 国产精品扒开腿做爽爽爽视频| 成人黄色免费短视频| 国产精品久久久久不卡| 丁香久久综合| 成人在线免费观看视视频| 少妇精品视频在线观看| 91嫩草国产在线观看| 99re8这里有精品热视频免费 | 香蕉成人啪国产精品视频综合网| 日韩av电影网| 日本高清视频一区二区| 国产无遮挡又黄又爽又色视频| 欧美日韩一区高清| a天堂在线视频| 亚洲白虎美女被爆操| 亚洲色偷精品一区二区三区| 国产一区二区黄| 顶级网黄在线播放| 97视频在线观看播放| www成人在线视频| 91免费综合在线| 韩国精品福利一区二区三区| 欧洲精品码一区二区三区免费看| 欧美色女视频| 草草草视频在线观看| 国产精品毛片| 日本高清久久久| 丰满岳乱妇一区二区三区| 日本丰满少妇裸体自慰| 国产精品国产精品国产专区不片| 欧美黄色一区二区三区| 色婷婷综合五月| 99热这里只有精品99| 亚洲精品之草原avav久久| 视频三区在线| 97精品国产97久久久久久免费| 欧美日韩免费观看视频| 99r国产精品视频| 国产精品嫩草影院在线看| 日本女人高潮视频| 免费在线亚洲欧美| 在线a免费观看| 久久久久9999亚洲精品| 久久精品99久久久久久| 欧美日韩一卡二卡| 污视频网站在线播放| 日韩中文字幕免费看| 亚洲天堂电影| 147欧美人体大胆444| 精品国产一区二区三区四区 | 日韩精品电影在线| 不许穿内裤随时挨c调教h苏绵 | 精国产品一区二区三区a片| 一本高清dvd不卡在线观看| 精品久久无码中文字幕| 曰本色欧美视频在线| 国产精品原创| 99久久精品久久久久久ai换脸| 欧美日韩中文字幕一区二区三区| 国产一区二区片| 激情五月播播久久久精品| 中文字幕国产综合| 亚洲1区2区3区4区| www.我爱av| 久久九九热免费视频| jizzjizz少妇亚洲水多| 久久精品国产美女| 1024精品一区二区三区| 性生活一级大片| 国产精品国产馆在线真实露脸| 午夜久久久久久久久久影院| 日韩精品视频在线播放| 女同视频在线观看| 亚洲综合中文字幕68页| 欧美成人自拍| youjizzxxxx18| 国产亚洲一本大道中文在线| 日韩欧美一区二区一幕| 精品国产免费人成在线观看| av在线播放国产| 91精品啪aⅴ在线观看国产| 久久综合99| 少妇一级淫免费播放| 国产精品午夜在线观看| 欧美高清69hd| 日韩在线激情视频| 日本午夜免费一区二区| 亚洲国产一区二区三区在线| 日日骚欧美日韩| 少妇精品无码一区二区免费视频 | 国内揄拍国内精品少妇国语| 亚洲专区**| 青草网在线观看| 成人午夜免费av| 国产精品变态另类虐交| 亚洲成色999久久网站| jizzjizz中国精品麻豆| 国产女主播一区二区三区| 宅男噜噜噜66国产日韩在线观看| 三级视频网站在线观看| 欧美日韩一区二区三区在线免费观看 | 亚洲精品91美女久久久久久久| 日韩激情电影| 欧洲亚洲一区二区三区四区五区| 视频精品一区二区| 国产在视频线精品视频| 91精品国产福利| 欧美激情成人动漫| 久久成人资源| 日韩av网站在线观看| 亚洲不卡在线播放| 欧美xfplay| 桃花岛成人影院| 亚洲精品成人久久久998| 精品一区二区影视| 久久精品国产亚洲AV无码麻豆| 亚洲精品大尺度| 91tv亚洲精品香蕉国产一区| 少妇熟女一区二区| 成人av在线观| 亚洲天堂视频在线播放| 精品国产一区二区三区在线观看 | 免费日韩一级片| 中文字幕av一区中文字幕天堂| 国产精品国产三级在线观看| av在线观看地址| 国产午夜一区二区三区| 99久久夜色精品国产亚洲| 97久久精品视频| 久久精品国产大片免费观看| 99免费观看视频| 色94色欧美sute亚洲13| 国产理论在线观看| 久久免费99精品久久久久久| 蜜臀av性久久久久av蜜臀妖精| 久久久久久久久久久网| 一区二区三区日韩在线| 亚洲一区二区电影| 超碰av在线免费观看| 夜夜亚洲天天久久| 国产鲁鲁视频在线观看免费| 99久热re在线精品996热视频 | 午夜欧美视频在线观看| www日韩tube| 国产欧美日韩在线播放| 免费成人在线视频观看| 日韩男人的天堂| 欧美男插女视频| 区一区二视频| 亚洲精品乱码久久久久久久|