国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

Vision Transformer | 超詳解+個人心得

共 8721字,需瀏覽 18分鐘

 ·

2022-01-01 09:28


?戳我,查看GAN的系列專輯~!

等你著陸!【GAN生成對抗網(wǎng)絡(luò)】知識星球!
來源:知乎—Ziyang Li 侵刪

地址:https://zhuanlan.zhihu.com/p/435636952

論文名稱:《AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE》

論文地址:https://arxiv.org/pdf/2010.11929.pdf

pytorch版本代碼:https://github.com/lucidrains/vit-pytorch


01

寫在前面的話

這周開始閱讀VIT,讀完后頗有感觸,在這里寫下一些對論文的理解以及個人思考。

We show that this reliance on CNNs is not necessary and a pure transformer applied directly to sequences of image patches can perform very well on image classification tasks

本文是基于transformer的encoder部分提出的針對圖像分類任務(wù)的方法,關(guān)于傳統(tǒng)transformer講解可見本人另一拙作:《attention is all your need》


02

網(wǎng)絡(luò)模型介紹

首先放圖:

圖一

1.1 數(shù)據(jù)預處理

從圖片的左下角開始看起,我們看到的是一個個被切分好的圖片塊,這里需要對輸入作出解釋:

假設(shè)原始輸入的圖片數(shù)據(jù)是 H x W x C,我們需要對圖片進行塊切割,假設(shè)圖片塊大小為P1 x P2,則最終的塊數(shù)量N為:N = (H/P1)x(W/P2)。

這里需要注意H和W必須是能夠被P整除的

接下來到了圖一正中間的最下面,我們看到圖片塊被拉成一個線性排列的序列,也就是“一維”的存在(以此來模擬transformer中輸入的詞序列,即我們可以把一個圖片塊看做一個詞),即將切分好的圖片塊進行一個展平操作,那么每一個向量的長度為:Patch_dim = P1 x P2 x C。

經(jīng)過上述兩步操作后,我們得到了一個N x Patch_dim的輸入序列。

1.2 Patch + Position Embedding

僅僅拉平成P1 x P2 x C的向量是不夠的,我們需要經(jīng)過一個全連接層,對維度進行縮放,即文中的Patch Embedding,縮放后的維度為dim(使用nn.Linear即可,此處不再贅述),用公式表示即:

從公式中可以看出多了一個???和??,下面我們進行逐一介紹:

??:傳統(tǒng)的Transformer采用Seq2Seq的形式,但在Vision Transformer中我們只模擬編碼部分,缺少了解碼部分,這就帶來了一個不可避免的問題:我們采取誰作為最終分類頭的輸入?所以作者等人增加了一個可學習的????,以此來作為最終輸入分類頭的向量,通過concat的方式與原一維圖片塊向量進行拼接(故維度為[1,1,dim])。

???:在Transformer中我們知道,詞序列在輸入時加入了一種位置編碼信息(即Positional encoding),同樣在Vision Transformer中,為了盡可能貼合原Transformer中encoder部分,也加入了一種位置信息,不過以一個可學習的變量來代替,維度為:[1, N + 1, dim](此處N即為上文圖片塊總數(shù)N,N+1為加了??后的總數(shù)),通過逐元素加和(element-add)的方式添加到原一維圖片塊向量中去。

這里用一張圖來幫助理解:

經(jīng)過上述操作后,我們得到了想要的數(shù)據(jù)????,此時就要進入到下一層。

1.3 Transformer Encoder

在圖一的中間部分,我們可以看到之前經(jīng)過處理的被輸入到了Transformer Encoder層,而該層的具體結(jié)構(gòu)正如圖一右側(cè)所示,即下圖:

我們的??首先要經(jīng)過一個Layer Norm處理,在進入Multi-Head Attention層前通過變換(具體過程請查看上文Transformer解析)生成了Q、K、V三個向量,之后的操作與Transformer并無二致,在計算Q*K的時候我們可以把兩向量內(nèi)積看做計算圖片塊之間的關(guān)聯(lián)性(與Transformer中計算詞向量相似度類似),獲得注意力權(quán)值后再scale到V,接著通過MLP層獲得Encoder部分的輸出(這里可以進行多次Encoder Block疊加,如上圖所示)。

與Transformer類似,我們這里的多頭是什么意思呢?

同樣的,我們想讓模型學習全方位、多層次、多角度的信息,學習更豐富的信息特征,對于同一張圖片來說,每個人看到的、注意到的部分都會存在一定差異,而在圖像中的多頭恰恰是把這些差異綜合起來進行學習。

1.4 MLP Head

結(jié)束了Transformer Encoder,就到了我們最終的分類處理部分,在之前我們進行Encoder的時候通過concat的方式多加了一個用于分類的可學習向量,這時我們把這個向量取出來輸入到MLP Head中,即經(jīng)過Layer Normal --> 全連接 --> GELU --> 全連接,我們得到了最終的輸出。

這里作者經(jīng)過實驗選取了GELU作為激活函數(shù)


03

VIT代碼剖析

2.1 庫導入

import torchfrom torch import nn
from einops import rearrange, repeatfrom einops.layers.torch import Rearrange

這里的einops在我們后續(xù)對圖像進行塊切割時候會用到。

2.2 模型主體

def pair(t):    return t if isinstance(t, tuple) else (t, t)

class ViT(nn.Module): def __init__(self, *, image_size, patch_size, num_classes, dim, depth, heads, mlp_dim, pool='cls', channels=3, dim_head=64, dropout=0., emb_dropout=0.): super().__init__() image_height, image_width = pair(image_size) patch_height, patch_width = pair(patch_size)
assert image_height % patch_height == 0 and image_width % patch_width == 0, 'Image dimensions must be divisible by the patch size.'
num_patches = (image_height // patch_height) * (image_width // patch_width) patch_dim = channels * patch_height * patch_width assert pool in {'cls', 'mean'}, 'pool type must be either cls (cls token) or mean (mean pooling)'
self.to_patch_embedding = nn.Sequential( Rearrange('b c (h p1) (w p2) -> b (h w) (p1 p2 c)', p1=patch_height, p2=patch_width), nn.Linear(patch_dim, dim), )
self.pos_embedding = nn.Parameter(torch.randn(1, num_patches + 1, dim)) self.cls_token = nn.Parameter(torch.randn(1, 1, dim)) self.dropout = nn.Dropout(emb_dropout)
self.transformer = Transformer(dim, depth, heads, dim_head, mlp_dim, dropout)
self.pool = pool self.to_latent = nn.Identity()
self.mlp_head = nn.Sequential( nn.LayerNorm(dim), nn.Linear(dim, num_classes) )
def forward(self, img): x = self.to_patch_embedding(img) b, n, _ = x.shape
cls_tokens = repeat(self.cls_token, '() n d -> b n d', b=b) x = torch.cat((cls_tokens, x), dim=1) x += self.pos_embedding[:, :(n + 1)] x = self.dropout(x)
x = self.transformer(x)
x = x.mean(dim=1) if self.pool == 'mean' else x[:, 0]
x = self.to_latent(x)????????return?self.mlp_head(x)

從forward部分開始,我們可以看到輸入的img依次經(jīng)過了patch_embedding --> concat_cls_tokens --> add_pos_embedding --> transformer --> mlp_head,下面我們對這幾個部分進行逐一介紹:

2.2.1 patch_embedding

self.to_patch_embedding = nn.Sequential(            Rearrange('b c (h p1) (w p2) -> b (h w) (p1 p2 c)', p1=patch_height, p2=patch_width),            nn.Linear(patch_dim, dim),????????)

這一步通過Rearrange將輸入為[b, c, h, w]的圖片切分為大小為p1*p2的圖片塊,同時通過Linear將維度從patch_dim縮放到dim。

2.2.2 concat_cls_tokens

經(jīng)過上一步后我們通過:

b,?n,?_?=?x.shape

得到了輸入圖片的數(shù)量b,以及經(jīng)過切分后的圖片塊總數(shù)n。

接下來我們通過Parameter來生成一個可學習的變量:

?self.cls_token?=?nn.Parameter(torch.randn(1,?1,?dim))

一個肯定是不夠的,我們通過repeat方法進行重復:

?cls_tokens?=?repeat(self.cls_token,?'()?n?d?->?b?n?d',?b=b)??#?shape為[batch_size,?1,?dim]

這樣就生成了一個shape為[b,1,dim]的向量,我們只需將其與原矩陣concat即可

 x = torch.cat((cls_tokens, x), dim=1)

這里需要注意,經(jīng)過concat后我們的n變?yōu)閚+1,會在下面的添加位置信息時用到。

2.2.3 add_pos_embedding

與生成可學習的????類似,我們也需使用parameter的方法來生成可學習的位置變量(但要注意num_patches+1)

self.pos_embedding?=?nn.Parameter(torch.randn(1,?num_patches?+?1,?dim))

接下來我們只需通過逐元素加和的方式添加到原矩陣中去即可

?x?+=?self.pos_embedding[:,?:(n?+?1)]

至此數(shù)據(jù)處理部分結(jié)束,接下來我們就要把X輸入到Transformer中去了。

2.3 Transformer部分

這一部分我單獨拎出來講解,首先上代碼:

class Transformer(nn.Module):    def __init__(self, dim, depth, heads, dim_head, mlp_dim, dropout=0.):        super().__init__()        self.layers = nn.ModuleList([])        for _ in range(depth):            self.layers.append(nn.ModuleList([                PreNorm(dim, Attention(dim, heads=heads, dim_head=dim_head, dropout=dropout)),                PreNorm(dim, FeedForward(dim, mlp_dim, dropout=dropout))            ]))
def forward(self, x): for attn, ff in self.layers: x = attn(x) + x x = ff(x) + x????????return?x

這里的depth為Transformer Encoder的堆疊次數(shù),也即該部分深度,我們使用ModuleList既保持代碼整潔又實現(xiàn)了模塊堆疊。

繼續(xù)往下看可以發(fā)現(xiàn)每一層其實都是一個同樣的結(jié)構(gòu),即Attention部分 --> PreNorm --> Feed Forward部分 --> PreNorm。那么我們就分別來看一下這幾步的具體代碼。

首先來看Attention部分:

class Attention(nn.Module):    def __init__(self, dim, heads=8, dim_head=64, dropout=0.):        super().__init__()        inner_dim = dim_head * heads        project_out = not (heads == 1 and dim_head == dim)
self.heads = heads self.scale = dim_head ** -0.5
self.attend = nn.Softmax(dim=-1) self.to_qkv = nn.Linear(dim, inner_dim * 3, bias=False)
self.to_out = nn.Sequential( nn.Linear(inner_dim, dim), nn.Dropout(dropout) ) if project_out else nn.Identity()
def forward(self, x): qkv = self.to_qkv(x).chunk(3, dim = -1) q, k, v = map(lambda t: rearrange(t, 'b n (h d) -> b h n d', h=self.heads), qkv)
dots = torch.matmul(q, k.transpose(-1, -2)) * self.scale
attn = self.attend(dots)
out = torch.matmul(attn, v) out = rearrange(out, 'b h n d -> b n (h d)')????????return?self.to_out(out)

從代碼中不難看出,我們輸入的X經(jīng)過變換生成Q、K、V

Q×K計算關(guān)聯(lián)性后進行一個 dim_head ** -0.5的維度縮放(此部分在Transformer中有介紹到),緊接著通過softmax計算權(quán)值再與原矩陣V相乘得到out,最后out經(jīng)過一個全連接層進行最終的輸出。

接下來是PreNorm部分:

class PreNorm(nn.Module):    def __init__(self, dim, fn):        super().__init__()        self.norm = nn.LayerNorm(dim)        self.fn = fn
def forward(self, x, **kwargs):????????return?self.fn(self.norm(x),?**kwargs)

這一部分非常簡單,所要實現(xiàn)的就是一個層歸一化處理,這里不做過多介紹。

最后來到Feed Forward部分:

class FeedForward(nn.Module):    def __init__(self, dim, hidden_dim, dropout=0.):        super().__init__()        self.net = nn.Sequential(            nn.Linear(dim, hidden_dim),            nn.GELU(),            nn.Dropout(dropout),            nn.Linear(hidden_dim, dim),            nn.Dropout(dropout)        )
def forward(self, x):????????return?self.net(x)

從代碼中可以看出,我們輸入的X進入到容器中,進行了一次全連接 --> GELU --> 全連接的變換

接下來對于Feed Forward的輸入,我們還要做一次層歸一化處理。

在Transformer Encoder部分,這樣的模塊堆疊depth次后,我們來到了最終的分類層。

2.4 MLP Head

在進入分類頭之前,我們需要把之前額外添加的分類專屬向量單獨提取出來:

x?=?x.mean(dim=1)?if?self.pool?==?'mean'?else?x[:,?0]

在我們concat后,這個向量就是處于下標為0的位置,故提取時只需輸入x[:, 0]即可。這里的mean是我們在輸入時的可選擇項(在2.2 模型主體部分的代碼中)

分類頭其實就是一個全連接層:

self.mlp_head = nn.Sequential(            nn.LayerNorm(dim),            nn.Linear(dim, num_classes)????????)

最終的num_classes即我們所需的圖像類別數(shù),至此整個VIT的代碼講解完畢。


04

結(jié)語

本文對于Transformer部分的代碼講解不是足夠細致,只因其不是本文講解重點(后續(xù)會對本文Transformer部分代碼講解做出更新與改進),現(xiàn)有VIT模型的性能還需大量數(shù)據(jù)來訓練(在論文中也有提出,小規(guī)模數(shù)據(jù)集的表現(xiàn)并不是很好),但作為繼DERT后的又一項CV與NLP結(jié)合的工作,引爆熱度是毋庸置疑的。

筆者才疏學淺,望廣大讀者批評指正,不吝賜教!



猜您喜歡:

超110篇!CVPR 2021最全GAN論文匯總梳理!

超100篇!CVPR 2020最全GAN論文梳理匯總!

拆解組新的GAN:解耦表征MixNMatch

StarGAN第2版:多域多樣性圖像生成


附下載 |?《可解釋的機器學習》中文版

附下載 |《TensorFlow 2.0 深度學習算法實戰(zhàn)》

附下載 |《計算機視覺中的數(shù)學方法》分享


《基于深度學習的表面缺陷檢測方法綜述》

《零樣本圖像分類綜述: 十年進展》

《基于深度神經(jīng)網(wǎng)絡(luò)的少樣本學習綜述》


瀏覽 202
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 正在播放JUQ-878木下凛凛子 | 国产无码AV| av黄色在线| 在线观看黄A片免费网站| 久操国产视频| 日本在线一级片| 国产乱码一区二区三区四区在线| 草逼视频网| 久久人人操| 国产成人无码精免费视频| 国产成人电影一区二区| 国产精品黄片| 亚洲日逼视频| 337P粉嫩大胆噜噜噜55569| 2021狠狠操| 小黄片在线| 一区二区高清无码视频| 国产一级片在线播放| 天天干天天插| 国产精品久久毛片| 一级免费毛片| 天天拍天天干| 日韩精品一二三| 在线观看视频免费无码免费视频| 懂色av懂色av粉嫩av| 黄片www.| 99精品一区| 日韩超碰| 97精品综合久久| 午夜精品影院| 色色综合视频| 日本黄色a片| 日本少妇性爱视频| 国产精品久久久久久久久久二区三区 | 天堂一区二区三区18| 国产一区一区| 嫩BBB槡BBBB槡BBBB二一| 成人乱码一区二区三区| 久久三级片| 久草视频网站| 久久天天操| 国产99久久九九精品无码免费| 精品无码蜜桃| 99在线观看免费| 婷婷五月天成人社区| 免费看黄片,在线观看| 久久精品在线播放| 久久久久黄片| 51妺嘿嘿午夜福利在线| 天天A片| 能看的黄色视频| 激情乱伦网站| 99久久婷婷国产综合| 亚洲一级二级片| 人人操人人爽| 骚妇大战黑人15P| 国产乱人伦无码视频| 色五月天导航| 青娱在线视频| 国产換妻4P视频| 久青草视频| 日本中文字幕不卡| 国产嫩草视频| 久艹av| 深爱开心激情| 欧美三级免费| 性爱视频网页| 亚洲射射| 国产一区视频18| 欧美精品在线免费| 亚洲最大三级片| 91激情| 亚洲操逼网站| 亚洲成人在线免费观看| 蝌蚪窝在线观看| 黄色日逼片| 三级无码在线| 国产91精品探花一区二区| 中文字幕四区| 91丨九色丨蝌蚪丨对白| 国产免费成人| 高清欧美日韩第一摸| 亚洲小电影| 久艹在线观看视频| 欧美成年人视频| 天天日日日干| 欧美亚洲国产一区二区三区| 亚洲欧美日韩中文字幕在线观看 | 午夜精品久久久久久不卡8050 | 成人a级网站| 亚洲永久| 69免费视频| 山东wBBBB搡wBBBB| 一级a片在线| 一区二区三区四区五区六区高清无吗视频 | www.天天射视频| 久久内射| 午夜毛片| 熟女视频国产| www天天操| 天天日天天草天天干| 欧美日韩一| 欧美国产综合| 日皮免费视频| 日韩高清不卡| 五月婷婷av| 亚洲高清视频在线| 青草久久久| 青娱乐国产在线| 亚洲精品国产成人AV在线| 国产亚洲精品久久久波多野结衣| 亚洲精品成人无码熟妇在线| 久久99精品久久久久| 丁香六月婷婷激情| 日韩美女在线视频| h在线网站| 五月婷婷五月天| 中文字幕区| 精品女同一区二区三区四区外站在线| 亚洲人内射片又| 嫩BBB槡BBBB槡BBBB百度 | 高清无码片| 黄频美女日本免费| 18禁片网站| 国产粉嫩小泬白浆18p| 国产成人精品无码片区在线观91| 男女性爱视频免费| 一道本一区二区三区| 污视频网站免费观看| 操人| 蜜桔视频嫩草蜜桃| 亚洲在线免费视频| 日韩三级视频| 人妻人玩| 天天撸天天干天天日| 欧美一级夜夜爽| 日韩人妻无码网站| 日本操屄视频| 国产免费观看AV| 一级a免一级a做免费线看内裤| 影音先锋av成人电影| 大香蕉午夜视频| 久久久高清无码| 国产中文在线视频| 黄色AV免费在线观看| 99精品丰满人妻无码| 婷婷丁香综合| 国产色AV| 中文字幕成人| 天天日很很操| 亚洲日韩AV在线| 韩国久久久| AA免费视频| 在线观看黄片| 啊啊啊亚洲| 亚洲福利一区二区| 久色性爱视频| 翔田千里av在线| 特级特黄AAAAAAAA片| 成人三级av| 中文字幕在线电影| 亚洲精品无码久久久| 国产一片黑夜内射| 黄色三级av| 婷婷久热| 亚洲国产视频在线观看| 东方AV免费在线观看| 日韩AV一级片| 麻豆91网站| WWW.豆花视频精品| 国产精品成人国产乱| 免费看黄片视频| 99re这里只有精品6| 少妇av| 欧美性爱天天操| 尤物最新网址| 看毛片的网站| 影音先锋人妻限定| 狼人综合色| 国产农村乱婬片A片AAA图片| 国产高清中文字幕| 一区二区三区四区在线播放| 91天堂在线| 91人妻人人澡人人爽人人爽| 伊人在线视频| 久久久久久精品国产三级| 中文字幕在线观看日韩| 日韩欧美中文| av女人天堂| 日韩人妻精品无码久久边| 18岁成人毛片| 青草视频在线免费观看| 色资源在线| 69久蜜桃人妻无码精品一区| 大香焦草久| 亚洲av大片| 超碰成人在线免费观看| 亚洲欧美日韩色图| 亚洲操操操| www.97色色| 久操国产| 日韩欧美一级二级| 久久艹伊人| 亚洲手机在线播放| 日韩插插| 欧美AAAAA| 日韩,变态,另类,中文,人妻| 欧美日一区二区三区| 人人妻人人澡人人爽人人DVD| 亚洲一级黄色电影| 黄色成人视频网站在线观看| 成人精品一区二区无码| 狠狠躁日日躁夜夜躁2022麻豆| 亚洲无码一级| 国产久久视频| 亚洲色婷婷五月| 高清在线无码视频| 蜜桃91精品秘入口| 久久91久久久久麻豆精品| 中文字幕高清视频| H网站在线观看| 北条麻妃被躁57分钟视频在线| 西西特级无码444www| 人妻人玩| 色婷婷AV在线| 国产成人午夜精品无码区久久麻豆 | 91九色TS另类国产人妖| 丁香五月欧美激情| 这里有精品| 麻豆91精品91久久久停运原因| 欧美乱伦一区| 西西444WWW无码精品| 免费看一级一级人妻片| 午夜福利10000| 九九热精品视频在线观看| 成人精品免费视频| 久久精品网| 无码一卡| 广州媚黑妇系列视频在线| 国产精品乱码一区二区三区| 日韩中文字幕av在线| 色丁香婷婷| 国产一级a毛一级a爰片| 亚洲中文免费| 久久久久成人精品无码| 情侣av| 亚洲精品国产精品国自产曰本| 99精品视频免费观看| 日本精品在线观看视频| 日韩色情在线| 欧美午夜网站| 日韩天堂av| 精品视频免费在线| 国产久久精品| 日韩操逼网| 人妻夜夜爽天天爽| 自慰喷水流白浆中文字幕| 岛国av片| 天天日天天搞| 无码窝在线观看| 91你懂的| 青青草原视频在线免费观看| 大香蕉网在线| 熟女探花精选| 欧美特黄AAA| 91在线免费视频| 免费观看日韩无码视频| h片无码| 青青草手机在线观看| 精品九九九九| 韩国高清无码| 国产乱伦影片| 99性爱| 一级a片在线观看| 亚洲精品成人片在线观看精品字幕 | 欧美女人日逼视频| AV天堂资源| 国产成人无码AⅤ片免费播放| 看毛片的网站| 豆花精品视频| 国产精品久久久久久久久久九秃 | 久久视频免费观看| 天天操天天谢| 中文一区在线| 久久久久成人片免费观看蜜芽| 大香焦草久| 开心激情网五月天| 亚洲日韩高清无码| 四川妇搡BBBB搡BBBB| 波多野结衣无码在线视频| 91亚洲视频在线观看| 翔田千里无码视频| 人人澡超碰碰| 午夜成人福利电影| 国精产品秘成人一区二| 丁香五月激情啪啪| 亚l洲视频在线观看| 欧美三P囗交做爰| 中文字幕+乱码+中文字幕一区 | 久热免费视频在线观看| 国产在线观看国产精品产拍| A片久久| 色噜噜狠狠一区二区三区牛牛影视| 日韩精品一二三区| v在线| 亚洲视频在线观看| 欧美A级成人婬片免费看| 护士小雪的yin荡高日记H视频| 成人伦理聚合| 久久久久久久国产| AV中文字幕电影| 亚洲69p| 国产熟妇码AV| 黑人大肉棒| 99黄色视频| 欧美日韩亚洲一区二区三区| 99人妻在线| 日韩欧美综合| 色国产在线视频| 亚洲中文无码字幕| 亚洲无码操逼视频| 亚洲天堂婷婷| 成人毛片18毛片女人| 青春草视频| 99成人视频| 狠狠地操| 亚洲精品伦理| 五月婷婷一区| 成人综合激情| 黄色电影地址| 另类欧美| 91丨熟女丨首页| 老司机精品视频在线观看| 婷婷在线电影| 日本老妇操屄视频| 国产操逼电影| 草比网站| 色中色在线视频| 成人精东影业JDAV3密友| 久久黄色精品视频| 夜夜骚av.一区二区三区| 亚洲免费大片| 巜人妻初尝按摩师BD中字| 欧美射图| 中文国产字幕| www.在线播放| 欧美性爱一区二区| 免费的AV网站| 午夜福利影院在线| 中文字幕第2页| 成人肏逼视频在线| 色婷婷18禁| 99热在线播放| 三级无码片| 免费毛片视频| 欧美日韩亚洲成人| 日韩视频中文字幕| 无码视频在线免费播放| 欧美一区二区三区视频| 首屈一指视频在线观看| 一区二区三区视频在线观看| 豆花视频在线免费观看| 国内自拍视频在线观看| 亚洲色图欧美| 欧美日韩国产一区二区三区| 五月婷婷视频在线观看| 青青草综合网| 色老板综合| 久久伊人影院| 玖玖婷婷| 亚洲一级A片| 欧产日产国产swag| 欧美一级内射| 91久久无码一区人妻A片蜜桃 | 天天看片天天爽| 欲色av| 91伊人在线| 中文字幕在线观看第一页| 欧美成人中文字幕在线| 日本A片| 国产在线观看你懂的| 蜜桃传媒一区| 久久综合17p| 搡老熟女-91Porn| 青娱乐亚洲精品| 日韩成人一区二区三区| 夜夜嗨AV一区二区三区啊| 亚洲AV成人精品一区二区三区| 五月丁香婷婷激情综合| 欧美在线一级片| 青青青青青操| 国产精品自拍在线观看| 北条麻妃无码精品AV怎么看| 亚洲熟妇视频| 日韩在线视频播放| 91无码一区二区三区| 久久久三级| 久久伊思人在| 国产av一区二区三区| 美国久久久| 麻豆91网站| 日韩骚逼| 免费的AV网站| 亚洲成人77777| 精品乱子伦一区二区三区在线播放| 日韩激情无码一区二区| www.黄色av| 中文字幕在线观看福利视频| 久草黄色| 亚洲三级网站在线观看| 国产色综合视频| 超碰自拍97| 亚洲精品色| 最新av网| 亚洲日本视频| 国产精品视频导航| 俺来了俺去了| 99做爱| 黄色大片AV| 日本精品中文字幕| 91最新视频| 中文字幕1区| 国产精品av在线播放| 久久内射| 色欲综合网| 日韩美女在线视频| 婷婷精品视频| 91探花在线播放| 亚洲图片激情乱伦小说| 大香蕉精品在线视频| 精品一本道| 亚洲无码视频免费看| 亚洲操逼电影| 亚洲AV在线看| 成人精品国产| 亚洲热在线视频| 亚洲高清中文字幕| 99Re66精品免费视频| 久久成人一区| 成人片网址| 手机看片午夜福利网| 日本无码在线| 日韩久久视频| 婷婷五月999| 日本欧美亚洲| 一级a免一级a做免费线看内裤| 国产视频久久| 欧美高清视频| 日韩视频在线观看一区| 操逼日韩欧美| 青青草大香蕉| 91人妻最真实刺激绿帽| 黄色小视频在线观看| 欧美成人精品激情在线观看| 天天做天天干| 久久精品视| 成年人AV| 久热精品视频| 日本精品中文字幕| 免费人成视频在线播放| 小黄片在线| 国产伊人自拍| 欧美sese| 黄色无码av| 亚洲综合成人在线| 免费看a| 青草国产视频| 国产精品秘国产精品88| 婷婷五月天青草| 9i看片成人免费视频| 青草一区| 久久久人妻无码精品蜜桃| 日日操视频| 精品国产偷拍| 日逼大香蕉| 亚洲色图狠狠撸| 日本欧美亚洲| 四虎成人无码A片观看| 国产女人18毛片水18精品软件| 欧美日韩中文字幕在线观看| 久久成人电影院| 五月婷婷综合激情| 日韩性爱一区二区| 亚洲精品国产精品国自产在线| 山西真实国产乱子伦| 久久久久久久久免费视频| 国产日韩欧美在线| 精品一区二区三区四区视频| 国产精品美女毛片j酒店| 欧美三级免费| AV解说| 大鸡吧视频在线观看| 就要干就要操| 福利所导航| 欧美日韩在线免费观看| 久久久久亚洲AV成人网人人软件 | 中文字幕永久在线视频| 天天插在线视频| 毛片毛片毛片毛片| 五月天一区二区| 亚洲AV无码乱码国产| 色av影音先锋无吗一区| 亚洲vs无码秘蜜桃少妇| 伊人大香蕉电影| 国产一区二区三区免费观看 | 亚洲色欲色欲www在线成人网| 日本乱伦网站| 日韩AⅤ无码一区二区三区| 国产性爱精品影片免费看| 蜜桃91视频| 久热青草| 中文在线A∨在线| 久久婷婷影院| 日韩小视频| 男插女青青影院| 91在线无码精品秘入口男同| 国产中文字幕在线免费观看 | 永井玛丽亚av无码中出流出 | 小佟丽娅大战91哥| 东京热这里只有精品| 色色色热热热| 人人人人人人人人操| 免费看黄片视频| 国产欧美一区在线看| 99久久婷婷国产综合精品hsex,亚| 日韩精品久久久| 激情另类视频| 国产乱子伦-区二区| 中文字幕无码视频| 无码精品一区二区三区同学聚会| 黄页免费视频| 免费内射| 国产视频精品一区二区三区| 免费在线性爱视频| 婷婷五月天影院| 五月激情啪啪| 国产精品无码ThePorn| 激情一级| 91人妻人澡| 夜夜嗨av无码一区二区三区| 国产日批| 午夜成人在线| 久久久无码视频| 亚洲精品视频免费观看| 国产精品久久在线| 日本少妇bbw| 国产精品毛片| 国产ts在线| 色天堂网站| 欧美AA视频| 91久久午夜无码鲁丝片久久人妻 | 日韩无码一级片| 国产女人18毛片水真多1| 日本精品黄色视频| 欧美一级免费A片| 人人艹人人艹| 免费的黄色录像| 91精品国久久久久久无码一区二区三区| 久久亚洲AV| 成人激情视频网| 91丨PORNY丨对白| 免费人成视频在线播放| 在线不卡无码| 亚洲福利一区二区| 亚洲中文视频| 国产一区二区av| 岛国av在线播放| 色网站在线观看| 国产一级a毛一级a毛视频在线网站)| 国产精品资源在线观看| 日日騒av无码| 色伊人网| 木下凛凛子AV888AV在线观看| 婷婷五月天中文字幕| 偷拍视频网站| 黄片午夜| 欧一美一色一伦一A片| 99成人网站| 操小嫩逼视频| 久久久精品淫秽色情| 日韩无码二级| av久| 人人看人人干| 国产免费一区二区三区最新不卡| 亚洲中文网| 内射91| 翔田千里无码破解| 六月丁香婷| 狠狠躁日日躁夜夜躁A片男男视频| 少妇厨房愉情理伦BD在线观| 亚洲美穴| 91九色精品女同系列| 在线免费看AV片| 高清免费无码| 大香蕉人妻| 強姧伦一区二区三区在线播放| 天堂在线中文| 国产娇小13videos糟蹋| 日本A在线观看| 男人天堂婷婷| 伊香蕉大综综综合| 国产无码影视| 精品视频免费在线观看| 高清免费在线中文Av| 五月亭亭在线视频| 黄色大片中国一级片-免费看特一级片-亚洲黄色AV | 777777国产7777777| 午夜福利AV在线| 伊人久久无码| 亚洲精品白浆高清久久久久久| 五月天色婷婷丁香| 最新日韩中文字幕| 白丝自慰网站| 91白浆肆意四溢456| 中文字幕三级av片| 久久精品| 午夜精品久久久久久久99老熟妇| 免费无码成人片在线观看在线| 99精品视频在线播放免费| 成人在线小视频| 亚洲aa| A视频在线| 国产成人一级片| 操逼电影网| 国产AV三级| 欧美成人黄色A片| 人人爱天天做| 久久精品成人导航| 成人久久久久一级大黄毛片中国| 亚洲精品久久久久久久久蜜桃| 色欲AV网站| 欧美aⅴ| 三浦恵子一级婬片A片| 人成无码| 色色色色综合| 麻豆视频一区二区三区| 老熟女伦一区二区三区| 久久精品波多野结衣| 美女特黄视频| 激情视频综合网| 免费在线观看无码| 天天操欧美| 好逼天天有| 日日夜夜精选视频| 草草影院CCYYCOM屁屁影院合集限制影院 | 99这里只有精品| 18禁免费网站| www.黄片| 亚洲无码影视| 国产高清AV| A亚洲天堂| 中国熟女网站| 秋霞久久日| 日韩AV在线直播| 激情内射| 亚洲人妻电影一区| 91精品人妻人人爽| 亚洲欧美婷婷五月色综合| 人人爱人人爽人人操| 欧美在线看片| 欧美日韩视频免费观看| 天天澡日日久| 中文字幕在线视频无码| 黄色av网站免费| 91大神网址| 国产AⅤ无码一区二区| 欧美日韩久久久| 丰满人妻一区二区三区四区53| 亚洲精品国产成人AV在线| 国产操逼图| 精品77777| 亚洲爆乳无码一区二区三区| 久久久久久久大香蕉| 成人毛片100免费观看| x88AV吊钟奶熟女| 日韩精品成人无码免费| 蜜桃av在线播放| 91精品视频在线播放| www.sese| 国产成人三级| 91香蕉视频| 日韩人妻无码一区二区三区七区 | 内射久久| 五月丁香大香蕉| 加勒比色综合| 麻豆视频在线观看| 免费黄色电影在线观看| 99精品视频在线观看| 人人操人人干97| 777欧美| 亚洲无码伊人| 波多一区| 欧美内射在线| 欧美日韩国产性爱| 69xx视频| 青青操网站| 天天艹夜夜艹| 中文字幕第六页| 二区无码| 国产嫩草久久久一二三久久免费观看| 国产精品91久久久| 伊人精品大香蕉| 51成人精品午夜福利| 久久超碰99| 伊人久久香蕉网| 国产老熟女久久久| 九色自拍视频| 亚洲精品成人在线| 爱爱一区| 亚洲人成电影| 高清无码1区| 六月天av| 91官网在线观看| 免费日韩黄色电影| 亚洲成人二区| 超碰人人91| 男插女青青影院| 欧美不卡| 99热最新| 国产精品成人国产乱| AV婷婷在线| 免费一级网站| www污| 欧美黄色成人网站| 成人视频无码| 91综合娱乐| 韩国深夜福利视频| 91爱看| 国产精品v欧美精品v日韩精品| 影音先锋色AV| 无码人妻丰满熟妇区蜜桃| 手机av免费| 在线国产小视频| 在线二区| 国产欧美在线不卡| AV中文字幕电影| 中文字幕免费无码| 懂色AV一区二区三区国产中文在线 | 国产真实露脸乱子伦对白高清视频 | 韩国三级HD中文字幕2019年| 中文在线а√天堂8| 亚洲日本三级| 久久久精品欧美| 91超碰免费| 激情色播| 91sese| 伊人日日| 热九九精品| 亚洲片在线观看| 香蕉视频亚洲| 国产精品一二三区夜夜躁| 操逼无码| 日韩av一级| 91高清无码视频| 亚洲国产久久| 91香蕉麻豆| 99久久九九| 国产成人一级| 91亚洲精华国产精华精华液| av女人的天堂| 成人做爰A片免费看网站| 无码123| 操逼视频免费| 国产精品视频久久久久| 大香蕉草久| 麻豆精品一区| 久久精品视频免费观看| 成人二区| 亚洲一本色道中文无码| 日韩A毛片| 国产视频1区| 四虎成人视频| 伊人大香蕉在线| 先锋久久资源| 北条麻妃三区| 日本特黄| 国产有码视频| 欧美性爱永久| 狠狠干2022| 河南熟妇搡BBBB搡BBBB| 国产精品三级在线观看| 狠狠躁日日躁夜夜躁A片无码视频 强伦轩一区二区三区四区播放方式 | 青娱乐在线视频精品| 十八禁在线播放| 国产成人亚洲日韩| 久久国产精品在线| 国产黄片一区二区三区| 亚洲中文字幕在线看| 搡BBBB搡BBB搡我瞎了| 国产AV无码区亚洲| 无码人妻精品一区二区蜜桃网站| 亚洲男人的天堂视频网在线观看+720P | 三级无码在线观看| 亚洲乱码日产精品BD在线观看| 日本三级在线| 日本少妇久久| 中文字幕在线成人| 亚洲爱爱网| 日韩日逼视频| 一级片黄色免费| 欧美性猛交ⅩXXX无码视频| 一级黄色电影免费观看| 日韩在线视频播放| 国产中文人人国际| 亚洲中文中出| 久久三| 日本黄色电影网址| 亚洲精品无码永久| 囯产精品一区二区三区AV做线| 国产人人色| 欧美三级片视频| av资源播放| 免费黄色视频网站大全| 七十路の高齢熟妇无码| 91精品视频在线| 操逼视频看看| 黄色电影天堂| 国产精品AV在线| 久久久久国产一区二区三区四区| 一级无码免费| 亚洲区成人777777精品| 成人无码一区| 国产黄色片网站| 国产青草视频| 黄色美女网站| 日韩综合| xxxxx无码| JULIA超乳JULIA无码| 亚洲无码视频免费看| 成人性生活影视av| 日本免费黄| 超碰在线看| 日本高清版色视频| av影音先锋在线| 9l视频自拍蝌蚪9l成人蝌蚪| 狠狠网| 性欧美丰满熟妇XXXX性久久久 | 特级西西44www无码| 亚洲福利视频电影精| 欧美99视频| 精品视频无码| 黄色伊人| 成人动漫免费观看| 天天爱综合| 国产精品成人AV在线| 亚洲护士无码| 福利视频三区| 久草综合视频| 香蕉国产在线视频| 91骚| 日韩动态图| 欧美自拍一区| 操逼激情网| 久久99综合| 日本不卡在线观看| 久久国产热视频| 国产激情在线播放| 欧美性爱高清| 精品一区国产| 亚洲免费视频在线播放| 亚洲综合伊人无码| 国产精品theporn| 欧美成人性爱网| 亚洲A片免费看| 日本中文在线观看| 性爱乱伦视频| 天天日天天干天天爽| 九九久久99| 青青草视频在线观看| 黄色草莓视频| 熟女嗷嗷叫高潮合集91| 大香蕉97| 秘蜜桃色一区二区三区在线观看| 97三级| 国产欧美一区二区三区视频| 国产免费久久久| 无码AV大香线蕉伊人| 九九久久国产精品| aaa成人| 久久丝袜| 日本欧美成人片AAAA| 亚洲免费一级| 成人黄色视频网站| 欧美多人| 午夜福利成人视频| 成人在线观看网| 一级a免一级a做免费线看内祥| 中文字幕视频在线| 成人片网站在线观看| 亚洲成人无码av| 狠狠干狠狠操| 1000部毛片A片免费视频| 不卡无码在线观看| 天天撸免费视频| 亚洲网站在线播放| 77777色婷婷| 欧美视频一| 成人AV中文解说水果派| 11孩岁女精品A片BBB| 黄色片视频免费|