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

通透!必會的六大卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)

人工智能
ResNeXt 的特點在于將 ResNet 的 bottleneck 塊改進(jìn)為類似于 Inception 的結(jié)構(gòu),通過多路徑的方式,將較大的通道數(shù)分解為多個較小的通道數(shù),從而達(dá)到同樣的效果。此外,ResNeXt 引入了一個新的超參數(shù) C(cardinality),用于表示路徑的數(shù)量。

大家好,我是小寒。

今天給大家分享幾個經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)。

這里主要是分享一些典型的架構(gòu),關(guān)于卷積神經(jīng)網(wǎng)絡(luò)的細(xì)節(jié)可以下面這篇文章。

1.LeNet

LeNet 是由 Yann LeCun 等人在 1998 年提出的卷積神經(jīng)網(wǎng)絡(luò)(CNN)架構(gòu),主要用于手寫數(shù)字識別。

LeNet 是最早的深度學(xué)習(xí)模型之一,它為后來的深度學(xué)習(xí)和計算機(jī)視覺領(lǐng)域奠定了基礎(chǔ)。

http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf

LeNet 架構(gòu)

整體架構(gòu)如下圖所示。

圖片圖片

LeNet 包含以下幾個主要層。

  1. 輸入層,輸入尺寸為 32x32 的灰度圖像。
  2. 卷積層 C1,6 個 5x5 的卷積核,輸出尺寸為 28x28x6。
  3. 池化層 S2,平均池化,窗口大小為 2x2,輸出尺寸為 14x14x6。
  4. 卷積層 C3,16 個 5x5 的卷積核,輸出尺寸為 10x10x16。
  5. 池化層 S4,平均池化,窗口大小為 2x2,輸出尺寸為 5x5x16。
  6. 卷積層 C5,120 個 5x5 的卷積核,輸出尺寸為 1x1x120。
  7. 全連接層 F6,84 個神經(jīng)元。
  8. 輸出層,10 個神經(jīng)元

示例代碼

下面是使用 TensorFlow 和 Keras 實現(xiàn) LeNet 的示例代碼。

import tensorflow as tf
from tensorflow.keras import layers, models
import numpy as np

# LeNet-5 模型定義
def LeNet5():
    model = models.Sequential()
    # 輸入層(32x32x1)
    model.add(layers.Input(shape=(32, 32, 1)))
    # C1: 卷積層(6個5x5卷積核,輸出28x28x6)
    model.add(layers.Conv2D(6, (5, 5), activatinotallow='tanh'))
    # S2: 平均池化層(2x2池化窗口,輸出14x14x6)
    model.add(layers.AveragePooling2D(pool_size=(2, 2), strides=2))
    # C3: 卷積層(16個5x5卷積核,輸出10x10x16)
    model.add(layers.Conv2D(16, (5, 5), activatinotallow='tanh'))
    # S4: 平均池化層(2x2池化窗口,輸出5x5x16)
    model.add(layers.AveragePooling2D(pool_size=(2, 2), strides=2))
    # C5: 卷積層(120個5x5卷積核,輸出1x1x120)
    model.add(layers.Conv2D(120, (5, 5), activatinotallow='tanh'))
    # Flatten: 展平
    model.add(layers.Flatten())
    # F6: 全連接層(84個神經(jīng)元)
    model.add(layers.Dense(84, activatinotallow='tanh'))
    # 輸出層(10個神經(jīng)元,對應(yīng)分類0-9)
    model.add(layers.Dense(10, activatinotallow='softmax'))
    return model

# 創(chuàng)建 LeNet-5 模型
model = LeNet5()

# 打印模型結(jié)構(gòu)
model.summary()

# 編譯模型
model.compile(optimizer='adam', 
              loss='sparse_categorical_crossentropy', 
              metrics=['accuracy'])

# 加載數(shù)據(jù)集(MNIST 手寫數(shù)字識別數(shù)據(jù)集)
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# 歸一化
x_train, x_test = x_train / 255.0, x_test / 255.0
print(x_train[0])

# 擴(kuò)展維度以匹配模型輸入
x_train = np.pad(x_train, ((0, 0), (2, 2), (2, 2)), 'constant')
x_test = np.pad(x_test, ((0, 0), (2, 2), (2, 2)), 'constant')

print(x_train[0])
# 擴(kuò)展維度以匹配模型輸入
x_train = x_train[..., tf.newaxis]
x_test = x_test[..., tf.newaxis]

print(x_train.shape)

# 訓(xùn)練模型
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))

2.AlexNet

AlexNet 是一個深度卷積神經(jīng)網(wǎng)絡(luò),于 2012 年在 ImageNet 圖像識別挑戰(zhàn)賽中獲勝,由 Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 開發(fā)。這個模型不僅大幅提高了圖像分類任務(wù)的準(zhǔn)確率,而且也推動了深度學(xué)習(xí)在多個領(lǐng)域的廣泛應(yīng)用。

https://proceedings.neurips.cc/paper_files/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf

快速學(xué)會一個算法,CNN

架構(gòu)

AlexNet 的整體架構(gòu)如下所示。

圖片圖片

AlexNet 包含以下幾個主要層。

  1. 輸入層,輸入圖像大小為 227x227x3。
  2. 第1個卷積層,使用 96 個 11x11 的卷積核,步長為 4,后接最大池化。
  3. 第2個卷積層,使用 256 個 5x5 的卷積核,步長為1,采用填充,后接最大池化。
  4. 第3個卷積層,使用 384 個 3x3 的卷積核,步長為1,采用填充。
  5. 第4個卷積層,使用 384 個 3x3 的卷積核,步長為1,采用填充。
  6. 第5個卷積層,使用 256 個 3x3 的卷積核,步長為1,采用填充,后接最大池化。
  7. 全連接層,三個全連接層,前兩個各有 4096 個神經(jīng)元,最后一個有 1000 個輸出神經(jīng)元,每個對應(yīng)一個類別,使用softmax激活函數(shù)進(jìn)行多類分類。

示例代碼

下面是使用 TensorFlow 和 Keras 實現(xiàn) AlexNet 的示例代碼。

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout, Activation

model = Sequential([
    # 第1層 - 卷積層
    Conv2D(96, (11, 11), strides=(4, 4), padding='valid', input_shape=(227, 227, 3)),
    Activation('relu'),
    MaxPooling2D(pool_size=(3, 3), strides=(2, 2)),

    # 第2層 - 卷積層
    Conv2D(256, (5, 5), padding='same'),
    Activation('relu'),
    MaxPooling2D(pool_size=(3, 3), strides=(2, 2)),

    # 第3層 - 卷積層
    Conv2D(384, (3, 3), padding='same'),
    Activation('relu'),

    # 第4層 - 卷積層
    Conv2D(384, (3, 3), padding='same'),
    Activation('relu'),

    # 第5層 - 卷積層
    Conv2D(256, (3, 3), padding='same'),
    Activation('relu'),
    MaxPooling2D(pool_size=(3, 3), strides=(2, 2)),

    # 展平層
    Flatten(),

    # 第6層 - 全連接層
    Dense(4096),
    Activation('relu'),
    Dropout(0.5),

    # 第7層 - 全連接層
    Dense(4096),
    Activation('relu'),
    Dropout(0.5),

    # 輸出層
    Dense(1000),
    Activation('softmax')
])

model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.summary()

3.VGGNet

VGGNet 是由牛津大學(xué)的視覺幾何組 (Visual Geometry Group, VGG) 開發(fā)的一種卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)。它首次在 2014 年的 ImageNet 競賽中提出,并因其簡單而有效的結(jié)構(gòu)而受到廣泛關(guān)注。

https://arxiv.org/pdf/1409.1556

VGGNet 的主要創(chuàng)新是使用多個較小的卷積核(3x3)而不是較大的卷積核,這增加了網(wǎng)絡(luò)的深度來改善特征的學(xué)習(xí)能力,同時減少了參數(shù)數(shù)量。

VGGNet 有幾種不同的配置,常見的如 VGG16 和 VGG19,分別含有 16 和 19 層深度。

VGG16的架構(gòu)如下圖所示,它由 13 個卷積層和 3個全連接層組成。

圖片圖片

VGG16 和 VGG19

VGG16 架構(gòu)

VGG16 包括 16 個權(quán)重層,其結(jié)構(gòu)包括:

  • 13 個卷積層,使用 3x3 的卷積核,步長為1,邊緣填充也為1,確保卷積操作后特征圖的尺寸不變。
  • 5 個最大池化層,用于降低特征圖的尺寸。
  • 3 個全連接層,前兩個全連接層各有 4096 個節(jié)點,最后一個全連接層用于分類,節(jié)點數(shù)取決于類別數(shù)(通常為 1000,對應(yīng) ImageNet 數(shù)據(jù)集)。
VGG19 架構(gòu)

VGG19 是 VGG16 的一個更深版本,包括 19 個權(quán)重層。它的結(jié)構(gòu)包括:

  • 16 個卷積層,配置與 VGG16 類似,但在第三、四、五個卷積塊中增加了更多的卷積層。
  • 5 個最大池化層,與 VGG16 相同,用于特征下采樣。
  • 3 個全連接層,配置同 VGG16。

圖片圖片

示例代碼

下面是使用 TensorFlow 和 Keras 實現(xiàn) VGG16 的示例代碼。

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

def VGG16(input_shape=(224, 224, 3), num_classes=1000):
    model = Sequential([
        # Block 1
        Conv2D(64, (3, 3), padding='same', activatinotallow='relu', input_shape=input_shape),
        Conv2D(64, (3, 3), padding='same', activatinotallow='relu'),
        MaxPooling2D((2, 2), strides=(2, 2)),
        
        # Block 2
        Conv2D(128, (3, 3), padding='same', activatinotallow='relu'),
        Conv2D(128, (3, 3), padding='same', activatinotallow='relu'),
        MaxPooling2D((2, 2), strides=(2, 2)),
        
        # Block 3
        Conv2D(256, (3, 3), padding='same', activatinotallow='relu'),
        Conv2D(256, (3, 3), padding='same', activatinotallow='relu'),
        Conv2D(256, (3, 3), padding='same', activatinotallow='relu'),
        MaxPooling2D((2, 2), strides=(2, 2)),
        
        # Block 4
        Conv2D(512, (3, 3), padding='same', activatinotallow='relu'),
        Conv2D(512, (3, 3), padding='same', activatinotallow='relu'),
        Conv2D(512, (3, 3), padding='same', activatinotallow='relu'),
        MaxPooling2D((2, 2), strides=(2, 2)),
        
        # Block 5
        Conv2D(512, (3, 3), padding='same', activatinotallow='relu'),
        Conv2D(512, (3, 3), padding='same', activatinotallow='relu'),
        Conv2D(512, (3, 3), padding='same', activatinotallow='relu'),
        MaxPooling2D((2, 2), strides=(2, 2)),
        
        # Fully connected layers
        Flatten(),
        Dense(4096, activatinotallow='relu'),
        Dense(4096, activatinotallow='relu'),
        Dense(num_classes, activatinotallow='softmax')
    ])
    
    return model

# 創(chuàng)建模型
model = VGG16()
model.summary()

4.GoogLeNet

GoogLeNet,也被稱為 Inception v1,是一種深度卷積神經(jīng)網(wǎng)絡(luò)(CNN),最初由Google的研究者在2014年提出。

https://arxiv.org/pdf/1409.4842

它在當(dāng)年的ImageNet挑戰(zhàn)賽中取得了冠軍,以其創(chuàng)新的 “Inception模塊” 而著稱,該模塊能夠顯著增加網(wǎng)絡(luò)的寬度和深度,同時保持計算資源的合理使用。

整體架構(gòu)如下圖所示。

圖片圖片

Inception模塊

圖片圖片

如上所示,它與我們之前看到的順序架構(gòu)相比發(fā)生了巨大變化。

在單層中,存在多種類型的 “特征提取器”。這間接幫助網(wǎng)絡(luò)表現(xiàn)更好,因為訓(xùn)練中的網(wǎng)絡(luò)本身在解決任務(wù)時有很多選擇。它可以選擇卷積輸入,也可以直接池化輸入。

下面是 Inception 模塊的代碼實現(xiàn)。

def inception_module(x, filters):
    # 1x1卷積
    path1 = Conv2D(filters=filters[0], kernel_size=(1, 1), padding='same', activatinotallow='relu')(x)

    # 1x1卷積后接3x3卷積
    path2 = Conv2D(filters=filters[1], kernel_size=(1, 1), padding='same', activatinotallow='relu')(x)
    path2 = Conv2D(filters=filters[2], kernel_size=(3, 3), padding='same', activatinotallow='relu')(path2)

    # 1x1卷積后接5x5卷積
    path3 = Conv2D(filters=filters[3], kernel_size=(1, 1), padding='same', activatinotallow='relu')(x)
    path3 = Conv2D(filters=filters[4], kernel_size=(5, 5), padding='same', activatinotallow='relu')(path3)

    # 3x3最大池化后接1x1卷積
    path4 = MaxPooling2D(pool_size=(3, 3), strides=(1, 1), padding='same')(x)
    path4 = Conv2D(filters=filters[5], kernel_size=(1, 1), padding='same', activatinotallow='relu')(path4)

    # 合并所有路徑
    return concatenate([path1, path2, path3, path4], axis=-1)

5.ResNet

ResNet(殘差網(wǎng)絡(luò))是由微軟研究院的何凱明等人在 2015 年提出的一種深度學(xué)習(xí)模型,主要用于圖像識別和相關(guān)視覺任務(wù)。

https://arxiv.org/pdf/1512.03385

它解決了深層網(wǎng)絡(luò)訓(xùn)練難題中的梯度消失或爆炸問題,使得網(wǎng)絡(luò)能夠通過增加層數(shù)來提高準(zhǔn)確率,而不會降低訓(xùn)練效果。

圖片圖片

原理

ResNet 的核心概念是引入了 “殘差學(xué)習(xí)” 的思想。

在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中,每一層的輸出是直接傳遞給下一層的。

而在 ResNet 中,引入了跳躍連接,它允許輸入直接 “跳過” 一些層傳到更深的層。

圖片圖片

其公式可以表示為:

其中,X 是輸入,F(xiàn)(x) 是殘差函數(shù),H(x) 是從輸入到輸出的映射函數(shù)。

殘差塊

殘差一樣采用模組化的方式,針對不同深度的 ResNet,作者提出了兩種殘差塊。

圖片圖片

1.基本殘差塊對于較淺的 ResNet 模型(例如 ResNet-18 和 ResNet-34),使用的是基本殘差塊,這種塊的結(jié)構(gòu)相對簡單。下面是基本殘差塊的 python 代碼實現(xiàn)。

import torch
import torch.nn as nn

class BasicBlock(nn.Module):
    expansion = 1

    def __init__(self, in_channels, out_channels, stride=1):
        super(BasicBlock, self).__init__()
        # 第一個卷積層
        self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=stride, padding=1, bias=False)
        self.bn1 = nn.BatchNorm2d(out_channels)
        
        # 第二個卷積層
        self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1, bias=False)
        self.bn2 = nn.BatchNorm2d(out_channels)
        
        self.relu = nn.ReLU(inplace=True)
        
        # 快捷連接,如果維度不匹配,需要通過1x1卷積調(diào)整維度
        self.shortcut = nn.Sequential()
        if stride != 1 or in_channels != self.expansion * out_channels:
            self.shortcut = nn.Sequential(
                nn.Conv2d(in_channels, self.expansion * out_channels, kernel_size=1, stride=stride, bias=False),
                nn.BatchNorm2d(self.expansion * out_channels)
            )

    def forward(self, x):
        identity = x
        
        out = self.conv1(x)
        out = self.bn1(out)
        out = self.relu(out)
        
        out = self.conv2(out)
        out = self.bn2(out)
        
        out += self.shortcut(identity)
        out = self.relu(out)
        
        return out

兩個 3×3 的卷積層每個卷積層后面通常跟有批量歸一化(Batch Normalization)和 ReLU 激活函數(shù)。第一個卷積層處理輸入數(shù)據(jù),而第二個卷積層進(jìn)一步提煉特征。

跳躍連接輸入直接通過跳躍連接跳過兩個卷積層,最終與第二個卷積層的輸出相加。這種直接的連接幫助網(wǎng)絡(luò)學(xué)習(xí)恒等映射,即當(dāng)增加更多層時,新層可以被訓(xùn)練為不改變已學(xué)習(xí)特征的恒等映射,這樣不會損害網(wǎng)絡(luò)的性能。

2.瓶頸殘差塊對于更深的 ResNet 模型(如 ResNet-50 和 ResNet-152),使用的是瓶頸殘差塊,其設(shè)計更復(fù)雜,以提高計算效率。下面是瓶頸殘差塊的python代碼實現(xiàn)。

class Bottleneck(nn.Module):
    expansion = 4

    def __init__(self, in_channels, out_channels, stride=1):
        super(Bottleneck, self).__init__()
        # 降維
        self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=1, bias=False)
        self.bn1 = nn.BatchNorm2d(out_channels)
        
        # 特征提取
        self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, stride=stride, padding=1, bias=False)
        self.bn2 = nn.BatchNorm2d(out_channels)
        
        # 恢復(fù)維度
        self.conv3 = nn.Conv2d(out_channels, out_channels * self.expansion, kernel_size=1, bias=False)
        self.bn3 = nn.BatchNorm2d(out_channels * self.expansion)
        
        self.relu = nn.ReLU(inplace=True)
        
        self.shortcut = nn.Sequential()
        if stride != 1 or in_channels != out_channels * self.expansion:
            self.shortcut = nn.Sequential(
                nn.Conv2d(in_channels, out_channels * self.expansion, kernel_size=1, stride=stride, bias=False),
                nn.BatchNorm2d(out_channels * self.expansion)
            )

    def forward(self, x):
        identity = x
        
        out = self.conv1(x)
        out = self.bn1(out)
        out = self.relu(out)
        
        out = self.conv2(out)
        out = self.bn2(out)
        out = self.relu(out)
        
        out = self.conv3(out)
        out = self.bn3(out)
        
        out += self.shortcut(identity)
        out = self.relu(out)
        
        return out
  • 第一層,使用 1×1 卷積核,主要目的是減少輸入的維度(通道數(shù)),這有助于減少后續(xù)層的計算負(fù)擔(dān)。

  • 第二層,標(biāo)準(zhǔn)的 3×3 卷積層,在降維后的特征上進(jìn)行空間特征提取。

  • 第三層,再次使用 1×1 卷積核,目的是恢復(fù)通道數(shù),為將輸出與跳躍連接相加做準(zhǔn)備。

  • 跳躍連接,如果輸入與輸出的維度不匹配(通常在跨越殘差塊時會改變維度),跳躍連接上也會應(yīng)用 1×1 卷積來調(diào)整維度,確保能夠與主路徑上的輸出相加。

6.ResNeXt

ResNeXt 是由 Facebook AI Research 提出的,它是一種改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),基于 ResNet,但通過引入組卷積(group convolution)進(jìn)一步提高了模型的性能和效率。

ResNeXt 的核心思想是使用多個并行的路徑,每個路徑都有其獨(dú)立的卷積層,最終通過累加這些路徑的輸出來提升模型的表達(dá)能力。

https://arxiv.org/pdf/1611.05431v2

網(wǎng)絡(luò)架構(gòu)

ResNeXt 的特點在于將 ResNet 的 bottleneck 塊改進(jìn)為類似于 Inception 的結(jié)構(gòu),通過多路徑的方式,將較大的通道數(shù)分解為多個較小的通道數(shù),從而達(dá)到同樣的效果。此外,ResNeXt 引入了一個新的超參數(shù) C(cardinality),用于表示路徑的數(shù)量。

ResNeXt 的架構(gòu)如下所示。

圖片圖片

責(zé)任編輯:武曉燕 來源: 程序員學(xué)長
相關(guān)推薦

2024-10-10 08:12:12

2024-05-30 07:41:22

2019-10-23 19:27:38

數(shù)據(jù)分析模型分析

2017-05-04 18:30:34

大數(shù)據(jù)卷積神經(jīng)網(wǎng)絡(luò)

2022-04-07 09:01:52

神經(jīng)網(wǎng)絡(luò)人工智能

2020-09-18 11:40:44

神經(jīng)網(wǎng)絡(luò)人工智能PyTorch

2019-01-05 08:40:17

VGG神經(jīng)網(wǎng)絡(luò)

2022-10-11 23:35:28

神經(jīng)網(wǎng)絡(luò)VGGNetAlexNet

2018-04-08 11:20:43

深度學(xué)習(xí)

2022-06-16 10:29:33

神經(jīng)網(wǎng)絡(luò)圖像分類算法

2020-03-25 09:48:10

AI芯片神經(jīng)網(wǎng)絡(luò)

2010-03-30 11:29:08

BMCCMDBIT運(yùn)維

2018-11-04 11:59:03

神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2018-07-05 04:42:26

網(wǎng)絡(luò)管理IT網(wǎng)絡(luò)連續(xù)性

2025-02-21 08:29:07

2017-04-26 09:30:53

卷積神經(jīng)網(wǎng)絡(luò)實戰(zhàn)

2019-06-06 09:00:02

卷積神經(jīng)網(wǎng)絡(luò)CNNAI

2024-11-15 13:20:02

2024-10-28 00:38:10

2024-09-20 07:36:12

點贊
收藏

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

久久久免费精品视频| 亚洲午夜免费电影| 国产精品永久免费在线| 成人在线观看小视频| 91麻豆精品激情在线观看最新| 亚洲一区二区三区视频在线播放| 欧美日韩三区四区| 99久久亚洲精品日本无码 | 麻豆91精品视频| 久久99久久99精品中文字幕| 国产熟妇搡bbbb搡bbbb| 亚洲精品乱码日韩| 亚洲图片有声小说| 亚洲a∨一区二区三区| 亚洲国产精品久久人人爱潘金莲| 久久影院亚洲| 欧美激情亚洲精品| 日韩欧美在线视频播放| 丝袜美腿综合| 日韩三级免费观看| 欧美成人黄色网址| 麻豆网站免费在线观看| 自拍偷拍亚洲激情| 免费在线成人av| 亚洲国产精品二区| 蜜桃在线一区二区三区| 91精品国产91久久久久久不卡| 手机在线中文字幕| 欧美猛男同性videos| 日韩美女在线视频| 国产成年人视频网站| 欧美粗大gay| 亚洲h动漫在线| www.99riav| 日本成人网址| 亚洲国产高清在线观看视频| 久久久福利视频| 日本黄色免费视频| 国产老女人精品毛片久久| 国产精品成久久久久三级| 日本熟伦人妇xxxx| 尤物精品在线| 久久久久久久成人| 丰满少妇被猛烈进入一区二区| 青青草综合网| 一区二区在线视频| japanese中文字幕| 九九综合在线| 亚洲一区二区福利| 一区二区三区四区免费| 日韩欧美黄色| 精品小视频在线| 熟女人妻在线视频| 欧洲亚洲视频| 亚洲午夜精品视频| 加勒比综合在线| 国产乱码精品一区二区亚洲| 亚洲欧美精品一区| 国产精品扒开腿做爽爽| 国产一区二区三区日韩精品| 亚洲热线99精品视频| 成年人网站免费在线观看| 婷婷综合成人| 亚洲人成在线播放| 国产极品视频在线观看| 日韩一区自拍| 蜜臀久久99精品久久久无需会员| 国产大学生自拍| 亚洲国产高清一区二区三区| 97在线免费观看| 久久精品视频5| 青青草97国产精品免费观看| 成人免费视频在线观看超级碰| 国产青青草视频| 国产91富婆露脸刺激对白| 国产精品av一区| 欧美视频综合| 国产精品国产三级国产aⅴ原创 | 午夜亚洲性色视频| 日韩av观看网址| 亚洲自拍第二页| 国产精品一区在线观看乱码| 国产无套精品一区二区| 裸体xxxx视频在线| 亚洲婷婷综合久久一本伊一区| 成年丰满熟妇午夜免费视频| 乱人伦视频在线| 欧美三级日韩三级| 日韩成人av影院| 欧美热在线视频精品999| 最近的2019中文字幕免费一页| 澳门黄色一级片| 久久久国产亚洲精品| 国产精品一区二区3区| av天堂一区二区三区| 久久人人超碰精品| 在线观看18视频网站| 欧产日产国产精品视频| 欧美日韩精品免费观看视频 | 在线免费观看一区二区| 国产成人av电影在线观看| 免费看污久久久| a天堂中文在线官网在线| 精品免费在线视频| 91av视频免费观看| 色婷婷av一区二区三区丝袜美腿| 色综合伊人色综合网站| 久久视频免费在线观看| 免费xxxx性欧美18vr| 国产精品一区二区不卡视频| 午夜视频在线| 欧美午夜性色大片在线观看| 日本55丰满熟妇厨房伦| 国精一区二区| 97精品国产97久久久久久| 国产又大又粗又硬| 久久久www成人免费毛片麻豆 | 亚洲一二三四视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲精品中字| heyzo高清在线| 欧美人与z0zoxxxx视频| 亚洲永久无码7777kkk| 91精品推荐| 亚洲国产中文字幕在线视频综合| 免费观看精品视频| 亚洲精品一区二区三区中文字幕 | 免费超碰在线| 色94色欧美sute亚洲13| 怡红院一区二区| 你懂的国产精品永久在线| 国产精品看片资源| 欧美大片aaa| 精品福利免费观看| 丰满少妇xbxb毛片日本| 影视一区二区| 成人h片在线播放免费网站| 国产高清在线看| 色悠悠久久综合| 国产艳俗歌舞表演hd| 欧美日韩一视频区二区| 亚洲伊人一本大道中文字幕| 黄色在线视频网站| 欧美巨大另类极品videosbest | 99自拍视频在线观看| 五月综合激情婷婷六月色窝| 亚洲免费观看在线| 黄色国产精品| 国产91亚洲精品一区二区三区| 黄av在线免费观看| 欧美一区二区三区免费视频| 免费中文字幕日韩| 国产一区在线精品| 久久天天东北熟女毛茸茸| 国产专区精品| 九九热最新视频//这里只有精品| 国产chinasex对白videos麻豆| 亚洲丝袜美腿综合| 欧美体内she精高潮| 欧美人与禽猛交乱配视频| 99久久99久久| 春色校园综合激情亚洲| 亚洲精品国产拍免费91在线| 可以免费在线观看的av| 久久欧美一区二区| 手机在线看福利| 91高清一区| 国产精品久久精品国产| 日韩激情电影免费看| 国产丝袜精品第一页| 特级西西444www高清大视频| 国产精品国产自产拍高清av| 久久黄色一级视频| 99日韩精品| 神马影院午夜我不卡影院| 欧美成人高清视频在线观看| 久久伊人免费视频| 人妻一区二区三区四区| 一道本成人在线| 五月天精品在线| 国产激情一区二区三区| 浮妇高潮喷白浆视频| 成人精品久久| 国产精品区一区| 欧美xxxx做受欧美护士| 久久天天躁夜夜躁狠狠躁2022| 亚洲黄色小说网| 色婷婷久久久久swag精品| 久久精品一区二区三区四区五区| 成人国产精品视频| 国产成人精品无码播放| 中文在线播放一区二区| 欧美极品一区二区| 日本免费精品| 国产97在线观看| 亚洲www色| 伊人久久久久久久久久| 性欧美8khd高清极品| 日本久久一区二区三区| www.av视频| 国产日韩av一区二区| 99国产精品免费视频| 丝袜美腿亚洲色图| 黄色三级中文字幕| 色综合天天爱| 女人一区二区三区| 日本在线一区二区三区| 国产激情视频一区| av资源在线看片| 久久亚洲成人精品| 精品美女视频在线观看免费软件 | 爱情岛论坛亚洲自拍| 久久福利一区| 东北少妇不带套对白| 久久久久av| 日韩精品一区二区三区外面| 国产欧美自拍一区| 91网站在线看| 国产精品久久久久77777丨| 88xx成人精品| 免费在线看电影| 美女999久久久精品视频| 成年人视频在线免费观看| 日韩精品极品在线观看播放免费视频| 国产ts变态重口人妖hd| 欧美亚洲高清一区| 日韩在线播放中文字幕| 五月激情六月综合| 久操视频免费在线观看| 亚洲视频在线一区| 手机免费观看av| 久久精品亚洲一区二区三区浴池| 国产精品一级黄片| av欧美精品.com| 永久免费未满蜜桃| 风间由美性色一区二区三区 | 国产日韩影视精品| 中文字幕在线播放视频| 福利电影一区二区| 在线播放av网址| 国产成人激情av| 欧美xxxxxbbbbb| 国产乱子伦视频一区二区三区| 在线看的黄色网址| 美女www一区二区| 性猛交ⅹ×××乱大交| 免费美女久久99| 可以看污的网站| 国产综合色在线| 99精品视频国产| 国产福利精品一区| 国产ts在线观看| 成人黄色网址在线观看| 国产人妻黑人一区二区三区| www.欧美.com| 欧洲女同同性吃奶| 国产三级精品在线| 毛片aaaaaa| 亚洲欧洲综合另类| 久草视频在线免费看| 亚洲国产精品视频| 影音先锋亚洲天堂| 色乱码一区二区三区88| 中国精品一区二区| 884aa四虎影成人精品一区| 国产三级小视频| 欧美精品一区二区三区蜜臀 | 伊人青青综合网站| 日本视频在线播放| 欧美日韩成人在线播放| av中文在线资源库| 日韩av免费看| 精品99re| 精品视频高清无人区区二区三区| 九九久久精品| 91免费网站视频| 亚洲激情二区| 中文字幕一区二区三区四区在线视频 | 久久综合九色九九| 精品精品导航| 日本精品va在线观看| 日韩经典一区| ts人妖另类在线| 久久91精品| 国产精品视频一二三四区| 日韩五码在线| 国产美女18xxxx免费视频| 国产成人精品免费一区二区| av女人的天堂| 一区二区三区四区在线播放| 黑人一级大毛片| 欧美另类videos死尸| 天天爽夜夜爽夜夜爽| 色狠狠av一区二区三区香蕉蜜桃| 日韩123区| 国产精品自产拍在线观| 噜噜噜狠狠夜夜躁精品仙踪林| 天堂精品视频| 日韩视频在线一区二区三区| 久久久久久久久久久久久久久国产| 成人综合激情网| 青青青视频在线播放| 亚洲电影第三页| 国产精品欧美综合亚洲| 亚洲欧美中文字幕在线一区| 日本欧美电影在线观看| 国产精品日韩在线| 欧亚精品一区| 毛片在线视频观看| 久久福利资源站| 黄色aaa视频| 亚洲电影一区二区| 99久久久无码国产精品免费| 在线成人激情黄色| 美女av在线免费看| 99国产在线观看| 久久久久亚洲| 校园春色 亚洲色图| 久久综合色综合88| 久久精品久久国产| 欧美一区午夜视频在线观看| 国产一级片在线| 欧美伊久线香蕉线新在线| 亚洲国产aⅴ精品一区二区| 特级西西444www大精品视频| 久久成人一区| 三级男人添奶爽爽爽视频| 一区二区三区在线视频观看| 一区二区三区精彩视频| 国产一区二区日韩| 日本蜜桃在线观看视频| 国产精品一区二区三区免费| 亚洲五月综合| 制服丝袜中文字幕第一页| 国产精品女同一区二区三区| 伦av综合一区| 亚洲免费伊人电影在线观看av| 乱馆动漫1~6集在线观看| 国产一区二区三区黄| 一区久久精品| 无码任你躁久久久久久老妇| 亚洲一区在线观看免费观看电影高清| 99热这里只有精品99| 久久精品在线播放| 亚洲一区二区小说| eeuss中文| 国产在线国偷精品产拍免费yy| 亚洲欧美精品久久| 欧美日韩久久一区| 蜜桃视频在线观看www社区| 国产日产亚洲精品| av一区二区在线观看| 91香蕉视频污版| 国产精品麻豆一区二区| 亚洲天堂视频网| xvideos亚洲| 亚洲精品一区二区三区在线| 福利视频一区二区三区四区| 99久久精品免费看| caoporn国产| 一区二区欧美激情| 欧美日韩免费电影| dy888午夜| 成人一区二区三区在线观看| 午夜精品久久久久久久久久久久久蜜桃| 亚洲国产成人av在线| 欧美日韩美女| 亚洲一二区在线| 国产成人免费在线视频| 国产一级av毛片| 亚洲女人天堂成人av在线| 精品3atv在线视频| 亚洲精品乱码视频| 国产美女精品在线| 国产奶水涨喷在线播放| 亚洲人成电影网站色…| 国产极品一区| 男人c女人视频| 久久久久久免费毛片精品| 中文字幕精品无码亚| 精品国产一区久久久| 97久久综合区小说区图片区| 黑人糟蹋人妻hd中文字幕| 国产精品视频yy9299一区| 成人av一区二区三区在线观看| 97色在线观看| 成人羞羞动漫| 国产精品一区二区无码对白| 91官网在线观看| 超碰电影在线播放| 欧美高清视频一区| 紧缚捆绑精品一区二区| 国产精品第56页| 日韩中文字幕亚洲| 国产精品久久久网站| 韩国日本美国免费毛片| 亚洲激情在线播放| 成人77777| 国产在线观看一区| 黄网站免费久久|