成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > 教你使用TensorFlow2識(shí)別驗(yàn)證碼

教你使用TensorFlow2識(shí)別驗(yàn)證碼

熱門標(biāo)簽:騰訊地圖標(biāo)注沒(méi)法顯示 ai電銷機(jī)器人的優(yōu)勢(shì) 打電話機(jī)器人營(yíng)銷 孝感營(yíng)銷電話機(jī)器人效果怎么樣 地圖標(biāo)注自己和別人標(biāo)注區(qū)別 海外網(wǎng)吧地圖標(biāo)注注冊(cè) 南陽(yáng)打電話機(jī)器人 聊城語(yǔ)音外呼系統(tǒng) 商家地圖標(biāo)注海報(bào)

驗(yàn)證碼是根據(jù)隨機(jī)字符生成一幅圖片,然后在圖片中加入干擾象素,用戶必須手動(dòng)填入,防止有人利用機(jī)器人自動(dòng)批量注冊(cè)、灌水、發(fā)垃圾廣告等等 。

數(shù)據(jù)集來(lái)源:https://www.kaggle.com/fournierp/captcha-version-2-images

圖片是5個(gè)字母的單詞,可以包含數(shù)字。這些圖像應(yīng)用了噪聲(模糊和一條線)。它們是200 x 50 PNG。我們的任務(wù)是嘗試制作光學(xué)字符識(shí)別算法的模型。

在數(shù)據(jù)集中存在的驗(yàn)證碼png圖片,對(duì)應(yīng)的標(biāo)簽就是圖片的名字。

import os
import numpy as np
import pandas as pd
import cv2
import matplotlib.pyplot as plt
import seaborn as sns
# imgaug 圖片數(shù)據(jù)增強(qiáng)
import imgaug.augmenters as iaa
import tensorflow as tf
# Conv2D MaxPooling2D Dropout Flatten Dense BN  GAP
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dropout, Flatten, Dense, Layer, BatchNormalization, GlobalAveragePooling2D 
from tensorflow.keras.optimizers import Adam
from tensorflow.keras import Model, Input 
from tensorflow.keras.callbacks import EarlyStopping, ReduceLROnPlateau
# 圖片處理器
from tensorflow.keras.preprocessing.image import ImageDataGenerator
import plotly.express as px
import plotly.graph_objects as go
import plotly.offline as pyo
pyo.init_notebook_mode()

對(duì)數(shù)據(jù)進(jìn)行一個(gè)簡(jiǎn)單的分析,統(tǒng)計(jì)圖像中大約出現(xiàn)了什么樣的符號(hào)。

# 數(shù)據(jù)路徑
DIR = '../input/captcha-version-2-images/samples/samples'
# 存儲(chǔ)驗(yàn)證碼的標(biāo)簽
captcha_list = []
characters = {}
for captcha in os.listdir(DIR):
    captcha_list.append(captcha)
    # 每張驗(yàn)證碼的captcha_code
    captcha_code = captcha.split(".")[0]
    for i in captcha_code:
        # 遍歷captcha_code 
        characters[i] = characters.get(i, 0) +1
symbols = list(characters.keys())
len_symbols = len(symbols)
print(f'圖像中只使用了{(lán)len_symbols}符號(hào)')

plt.bar(*zip(*characters.items()))
plt.title('Frequency of symbols')
plt.show()

如何提取圖像的數(shù)據(jù)建立X,y??

# 如何提取圖像 建立 model  X 的shape  1070 * 50 * 200 * 1 
# y的shape 5 * 1070 * 19
 
for i, captcha in enumerate(captcha_list):
    captcha_code = captcha.split('.')[0]
    # cv2.IMREAD_GRAYSCALE 灰度圖
    captcha_cv2 = cv2.imread(os.path.join(DIR, captcha),cv2.IMREAD_GRAYSCALE)
    # 縮放
    captcha_cv2 = captcha_cv2 / 255.0
    # print(captcha_cv2.shape) (50, 200) 
    # 將captcha_cv2的(50, 200) 切換成(50, 200, 1)
    captcha_cv2 = np.reshape(captcha_cv2, img_shape)
    # (5,19)
    targs = np.zeros((len_captcha, len_symbols))
    
    for a, b in enumerate(captcha_code):
        targs[a, symbols.index(b)] = 1
    X[i] = captcha_cv2
    y[:, i] = targs

print("shape of X:", X.shape)
print("shape of y:", y.shape)

輸出如下

print("shape of X:", X.shape)
print("shape of y:", y.shape)

通過(guò)Numpy中random 隨機(jī)選擇數(shù)據(jù),劃分訓(xùn)練集和測(cè)試集

# 生成隨機(jī)數(shù)
from numpy.random import default_rng

rng = default_rng(seed=1)
test_numbers = rng.choice(1070, size=int(1070*0.3), replace=False)
X_test = X[test_numbers]
X_full = np.delete(X, test_numbers,0)
y_test = y[:,test_numbers]
y_full = np.delete(y, test_numbers,1)

val_numbers = rng.choice(int(1070*0.7), size=int(1070*0.3), replace=False)

X_val = X_full[val_numbers]
X_train = np.delete(X_full, val_numbers,0)
y_val = y_full[:,val_numbers]
y_train = np.delete(y_full, val_numbers,1)

在此驗(yàn)證碼數(shù)據(jù)中,容易出現(xiàn)過(guò)擬合的現(xiàn)象,你可能會(huì)想到添加更多的新數(shù)據(jù)、 添加正則項(xiàng)等, 但這里使用數(shù)據(jù)增強(qiáng)的方法,特別是對(duì)于機(jī)器視覺(jué)的任務(wù),數(shù)據(jù)增強(qiáng)技術(shù)尤為重要。

常用的數(shù)據(jù)增強(qiáng)操作:imgaug庫(kù)。imgaug是提供了各種圖像增強(qiáng)操作的python庫(kù) https://github.com/aleju/imgaug。

imgaug幾乎包含了所有主流的數(shù)據(jù)增強(qiáng)的圖像處理操作, 增強(qiáng)方法詳見(jiàn)github

# Sequential(C, R)	 尺寸增加了5倍,
# 選取一系列子增強(qiáng)器C作用于每張圖片的位置,第二個(gè)參數(shù)表示是否對(duì)每個(gè)batch的圖片應(yīng)用不同順序的Augmenter list     # rotate=(-8, 8)  旋轉(zhuǎn)
# iaa.CropAndPad  截取(crop)或者填充(pad),填充時(shí),被填充區(qū)域?yàn)楹谏?
# px: 想要crop(negative values)的或者pad(positive values)的像素點(diǎn)。
# (top, right, bottom, left)
# 當(dāng)pad_mode=constant的時(shí)候選擇填充的值
aug =iaa.Sequential([iaa.CropAndPad(
    px=((0, 10), (0, 35), (0, 10), (0, 35)),
    pad_mode=['edge'],
    pad_cval=1
),iaa.Rotate(rotate=(-8,8))])

X_aug_train = None
y_aug_train = y_train
for i in range(40):
    X_aug = aug(images = X_train)
    if X_aug_train is not None:
        X_aug_train = np.concatenate([X_aug_train, X_aug], axis = 0)
        y_aug_train = np.concatenate([y_aug_train, y_train], axis = 1)
    else:
        X_aug_train = X_aug

讓我們看看一些數(shù)據(jù)增強(qiáng)的訓(xùn)練圖像。

fig, ax = plt.subplots(nrows=2, ncols =5, figsize = (16,16))
for i in range(10):
    index = np.random.randint(X_aug_train.shape[0])
    ax[i//5][i%5].imshow(X_aug_train[index],cmap='gray')


這次使用函數(shù)式API創(chuàng)建模型,函數(shù)式API是創(chuàng)建模型的另一種方式,它具有更多的靈活性,包括創(chuàng)建更為復(fù)雜的模型。

需要定義inputsoutputs

#函數(shù)式API模型創(chuàng)建
captcha = Input(shape=(50,200,channels))
x = Conv2D(32, (5,5),padding='valid',activation='relu')(captcha)
x = MaxPooling2D((2,2),padding='same')(x)
x = Conv2D(64, (3,3),padding='same',activation='relu')(x)
x = MaxPooling2D((2,2),padding='same')(x)
x = Conv2D(128, (3,3),padding='same',activation='relu')(x)
maxpool = MaxPooling2D((2,2),padding='same')(x)
outputs = []
for i in range(5):
    x = Conv2D(256, (3,3),padding='same',activation='relu')(maxpool)
    x = MaxPooling2D((2,2),padding='same')(x)
    x = Flatten()(x)
    x = Dropout(0.5)(x)
    x = BatchNormalization()(x)
    x = Dense(64, activation='relu')(x)
    x = Dropout(0.5)(x)
    x = BatchNormalization()(x)
    x = Dense(len_symbols , activation='softmax' , name=f'char_{i+1}')(x)
    outputs.append(x)
    
model = Model(inputs = captcha , outputs=outputs)
# ReduceLROnPlateau更新學(xué)習(xí)率
reduce_lr = ReduceLROnPlateau(patience =3, factor = 0.5,verbose = 1)
model.compile(loss='categorical_crossentropy', optimizer=Adam(learning_rate=0.0005), metrics=["accuracy"])
# EarlyStopping用于提前停止訓(xùn)練的callbacks。具體地,可以達(dá)到當(dāng)訓(xùn)練集上的loss不在減小
earlystopping = EarlyStopping(monitor ="val_loss",  
                             mode ="min", patience = 10,
                              min_delta = 1e-4,
                             restore_best_weights = True) 

history = model.fit(X_train, [y_train[i] for i in range(5)], batch_size=32, epochs=30, verbose=1, validation_data = (X_val, [y_val[i] for i in range(5)]), callbacks =[earlystopping,reduce_lr])



下面對(duì)model進(jìn)行一個(gè)測(cè)試和評(píng)估。

score = model.evaluate(X_test,[y_test[0], y_test[1], y_test[2], y_test[3], y_test[4]],verbose=1)
metrics = ['loss','char_1_loss', 'char_2_loss', 'char_3_loss', 'char_4_loss', 'char_5_loss', 'char_1_acc', 'char_2_acc', 'char_3_acc', 'char_4_acc', 'char_5_acc']

for i,j in zip(metrics, score):
    print(f'{i}: {j}')

具體輸出如下:

11/11 [==============================] - 0s 11ms/step - loss: 0.7246 - char_1_loss: 0.0682 - char_2_loss: 0.1066 - char_3_loss: 0.2730 - char_4_loss: 0.2636 - char_5_loss: 0.0132 - char_1_accuracy: 0.9844 - char_2_accuracy: 0.9657 - char_3_accuracy: 0.9408 - char_4_accuracy: 0.9626 - char_5_accuracy: 0.9938
loss: 0.7246273756027222
char_1_loss: 0.06818050146102905
char_2_loss: 0.10664034634828568
char_3_loss: 0.27299806475639343
char_4_loss: 0.26359987258911133
char_5_loss: 0.013208594173192978
char_1_acc: 0.9844236969947815
char_2_acc: 0.9657320976257324
char_3_acc: 0.940809965133667
char_4_acc: 0.9626168012619019
char_5_acc: 0.9937694668769836

字母1到字母5的精確值都大于

繪制loss和score

metrics_df = pd.DataFrame(history.history)

columns = [col for col in metrics_df.columns if 'loss' in col and len(col)>8]

fig = px.line(metrics_df, y = columns)
fig.show()

plt.figure(figsize=(15,8))
plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'val'], loc='upper right',prop={'size': 10})
plt.show()

# 預(yù)測(cè)數(shù)據(jù)
def predict(captcha):
    captcha = np.reshape(captcha , (1, 50,200,channels))
    result = model.predict(captcha)
    result = np.reshape(result ,(5,len_symbols))
    # 取出最大預(yù)測(cè)中的輸出
    label = ''.join([symbols[np.argmax(i)] for i in result])
    return label
    
predict(X_test[2])
# 25277

下面預(yù)測(cè)所有的數(shù)據(jù)

actual_pred = []

for i in range(X_test.shape[0]):
    actual = ''.join([symbols[i] for i in (np.argmax(y_test[:, i],axis=1))])
    pred =  predict(X_test[i])
    actual_pred.append((actual, pred))
print(actal_pred[:10])

輸出如下:

[('n4b4m', 'n4b4m'), ('42nxy', '42nxy'), ('25257', '25277'), ('cewnm', 'cewnm'), ('w46ep', 'w46ep'), ('cdcb3', 'edcb3'), ('8gf7n', '8gf7n'), ('nny5e', 'nny5e'), ('gm2c2', 'gm2c2'), ('g7fmc', 'g7fmc')]

sameCount = 0
diffCount = 0
letterDiff = {i:0 for i in range(5)}
incorrectness = {i:0 for i in range(1,6)}
for real, pred in actual_pred:
    # 預(yù)測(cè)和輸出相同
    if real == pred:
        sameCount += 1
    else:
        # 失敗
        diffCount += 1
        # 遍歷
        incorrectnessPoint = 0
        for i in range(5):
            if real[i] != pred[i]:
                letterDiff[i] += 1
                incorrectnessPoint += 1
        incorrectness[incorrectnessPoint] += 1


x = ['True predicted', 'False predicted']
y = [sameCount, diffCount]

fig = go.Figure(data=[go.Bar(x = x, y = y)])
fig.show()

在預(yù)測(cè)數(shù)據(jù)中,一共有287個(gè)數(shù)據(jù)預(yù)測(cè)正確。


在這里,我們可以看到出現(xiàn)錯(cuò)誤到底是哪一個(gè)index。

x1 = ["Character " + str(x) for x in range(1, 6)]
    
fig = go.Figure(data=[go.Bar(x = x1, y = list(letterDiff.values()))])
fig.show()

為了計(jì)算每個(gè)單詞的錯(cuò)誤數(shù),繪制相關(guān)的條形圖。

x2 = [str(x) + " incorrect" for x in incorrectness.keys()]
y2 = list(incorrectness.values())

fig = go.Figure(data=[go.Bar(x = x2, y = y2)])
fig.show()

下面繪制錯(cuò)誤的驗(yàn)證碼圖像,并標(biāo)準(zhǔn)正確和錯(cuò)誤的區(qū)別。

fig, ax = plt.subplots(nrows = 8, ncols=4,figsize = (16,20))
count = 0
for i, (actual , pred) in enumerate(actual_pred):
    if actual != pred:
        img = X_test[i]
        try:
            ax[count//4][count%4].imshow(img, cmap = 'gray')
            ax[count//4][count%4].title.set_text(pred + ' - ' + actual)
            count += 1
        except:
            pass


到此這篇關(guān)于教你使用TensorFlow2識(shí)別驗(yàn)證碼的文章就介紹到這了,更多相關(guān)TensorFlow2識(shí)別驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • pytorch_pretrained_bert如何將tensorflow模型轉(zhuǎn)化為pytorch模型
  • TensorFlow中tf.batch_matmul()的用法
  • Tensorflow與RNN、雙向LSTM等的踩坑記錄及解決
  • tensorflow中的數(shù)據(jù)類型dtype用法說(shuō)明
  • tensorflow基本操作小白快速構(gòu)建線性回歸和分類模型

標(biāo)簽:南寧 聊城 六盤水 撫州 楊凌 迪慶 揚(yáng)州 牡丹江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《教你使用TensorFlow2識(shí)別驗(yàn)證碼》,本文關(guān)鍵詞  教你,使用,TensorFlow2,識(shí)別,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《教你使用TensorFlow2識(shí)別驗(yàn)證碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于教你使用TensorFlow2識(shí)別驗(yàn)證碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美激情videos| av在线网站免费观看| 男女性高潮免费网站| 激情黄色小视频| 成人福利在线观看视频| www.91视频com| 日韩成人动漫| 97超碰蝌蚪网人人做人人爽| 国产精品.xx视频.xxtv| 亚洲一级av毛片| 中文国产一区| 国产欧美一区二区三区视频在线观看| 亚洲欧美日本另类| 91成人app| 玖玖玖电影综合影院| 中文字幕有码在线播放| 不卡一区在线观看| 国产亚洲网站| 欧美国产综合一区二区| 久久婷婷激情| 久久久久久久久久久久久女国产乱| 午夜国产精品影院在线观看| 国产成人一区二区在线观看| 欧美黑人欧美精品刺激| 一区二区蜜桃| 精品国产成人av在线免| 影音先锋中文字幕在线播放| 久久国产精品亚洲77777| 久久国产日韩欧美| 亚洲品质自拍| 伊人av免费在线观看| 亚洲欧美一区二区原创| 色黄视频在线| 思99热精品久久只有精品| eeuss网址直达入口| 欧美色图自拍| 免费一级片在线观看| 91黄色免费观看| 精品人妻一区二区三区香蕉| 祥仔av免费一区二区三区四区| 国产高清大尺度一区二区不卡| 美女扒开尿口让男人操亚洲视频网站| 午夜刺激在线| 亚洲精品成a人在线观看| 欧美自拍电影| 日韩一区二区久久久| 中文av一区二区三区| 国产精品久久久久久亚洲伦| 美女毛片在线看| 欧美风狂大伦交xxxx| 欧美激情99| 99视频日韩| 国产美女精品视频国产| 污污的视频在线观看| 最新国产の精品合集bt伙计| 天天色天天综合| 精品福利在线视频| 国产精品久久久久久亚洲色| 黄色成人av网| 国产网站在线播放| 国产精品网站在线| 婷婷六月天在线| 中文字幕av亚洲精品一部二部| 久久九九国产视频| 日韩二区三区四区| 亚洲欧美日韩高清| 最近免费中文字幕大全免费第三页| 亚洲欧美999| 日本ー区在线视频| 亚洲字幕成人中文在线观看| 日韩电影视频免费| 精品国产一区二区三区麻豆小说| 深夜福利影院在线观看| 国产精品www在线观看| 日韩高清国产一区在线观看| 香蕉视频网站入口| 日韩在线www| 亚洲成a人v欧美综合天堂下载| 在线日韩一区二区| 欧美精品一区二区三区久久| 亚洲一区 欧美| 日本精品久久久久久久久久| 欧美18一19xxx性| 免费黄网站在线观看| 欧美热在线视频精品999| 精品露脸国产偷人在视频| 国产精品4hu.www| 91精品国产91久久久| 久久久激情视频| 在线天堂中文www视软件| 永久av在线| 国产三区在线成人av| 欧美人与性动交α欧美精品济南到| 国产精品二区在线观看| 亚洲跨种族黑人xxx| 欧美一级成年大片在线观看| 综合免费一区二区三区| 亚洲视频每日更新| 国产精品xnxxcom| 91热视频在线观看| 亚洲欧美另类在线视频| 日韩av免费播放| 伊人国产精品| 国产精品第100页| 久久国产亚洲| 欧美午夜一区二区福利视频| 色综合久久久| 欧美精品一区二区精品网| 88av在线播放| 中文字幕 欧美 日韩| 黄色资源在线观看| 人妻 日韩 欧美 综合 制服| 成人免费毛片播放| 在线观看一区| 亚洲精品高清视频在线观看| 一呦二呦三呦精品国产| 男男一级淫片免费播放| 日韩精品影院| 欧美xxxxb| 亚洲精品国产欧美| 经典三级一区二区| 久久不射电影网| 欧美日韩性在线观看| 性猛交ⅹ×××乱大交| 国产乱人伦偷精品视频免下载| 欧美高清在线视频| 亚洲国产毛片aaaaa无费看| 成人免费av片| 亚洲aⅴ日韩av电影在线观看| 久久久久欧美| 嫩草国产精品入口| 顶级欧美妇高清xxxxx| 欧美亚洲综合另类| 中文字幕在线观看不卡视频| 免费黄色av| 欧美夫妻性生活| 老熟妇高潮一区二区高清视频| 久久 天天综合| 亚洲国产又黄又爽女人高潮的| 亚洲一区二区中文字幕| 亚洲天堂999| 欧美美女一区二区在线观看| 日本福利午夜视频在线| 免费看岛国视频在线观看| 国产欧美一区二区三区米奇| 懂色av成人一区二区三区| 99热99在线| 亚洲图片小说综合| 91精品麻豆日日躁夜夜躁| 国产欧美日韩视频在线| 黄色国产在线视频| 天堂视频在线免费观看| 国产综合色香蕉精品| 影音先锋久久精品| 免费一区二区三区在在线视频| 丁香花高清在线观看完整版| 超碰中文在线| 国产又爽又黄又刺激的软件| 国产精品盗摄久久久| 欧美激情一区二区三区在线| 国产精品国码视频| 特级西西444www大精品视频免费看| 久久99精品一区二区三区三区| 欧美日韩免费看| 最新日韩av在线| 欧美aa在线视频| 猫咪在线永久网站| 精品在线一区二区三区| 欧美午夜精品久久久久久超碰| av免费在线一区二区三区| 欧美日韩视频在线一区二区| 偷偷操不一样的久久| 亚洲成人精品女人久久久| 欧美午夜在线一二页| 久久精品人人做人人爽人人| 视频一区二区在线播放| 成人午夜精品无码区| 一本一道波多野毛片中文在线| 国产日韩欧美在线视频观看| 丁香六月婷婷综合| 国产精品视频一区二区免费不卡| 91久久久久久| 午夜精品亚洲一区二区三区嫩草| 精品日韩在线| 擼擼色在线看观看免费| 亚洲精品免费在线| 国产91精品免费| 日本色综合中文字幕| 九九九免费视频| 亚洲一级视频在线观看| 亚洲国产你懂的| 国产九色精品成人porny| 人操人爱免费视频| 91麻豆国产福利精品| 中文一区一区三区高中清不卡| 亚洲私人黄色宅男| 日本一区二区三区中文字幕| 韩国一区二区三区四区| 欧美最近摘花xxxx摘花| 国产亚洲精品久久久久久777| 国产精品免费看一区二区三区| 国产欧美va欧美va香蕉在| 中文字幕一区久久| 在线观看美女av| 精品无码免费视频| 99久久99九九99九九九| www日韩视频| 日本午夜精品理论片a级app发布| 亚洲桃花岛网站| 日韩国产在线一区| 激情视频极品美女日韩| 青青草在线视频免费观看| 黄色一级片视频| 国产二区精品| 国内精品伊人久久| 日本a一级在线免费播放| 91精品国产高清一区二区三区| 日韩美女视频免费在线观看| 丰满少妇被猛烈进入一区二区| 丁香花在线高清完整版视频| 成人综合社区| 中文字幕一区二区三区四区免费看| 久久全国免费久久青青小草| 午夜电影亚洲| 久久久久久91亚洲精品中文字幕| 色噜噜狠狠一区二区三区| 日韩一区二区三区四区视频| 国产亚洲视频在线观看| 91精品国产九九九久久久亚洲| 成人短视频app| 中文字幕av中文字幕| 精品剧情v国产在线观看| 亚洲欧美电影在线观看| 国产精品毛片一区二区在线看舒淇| 欧美精品免费视频| 一级二级在线观看| 成人一区二区三区仙踪林| 亚洲国产成人在线播放| 亚洲美女黄色片| 91欧美国产| 中文字幕乱伦视频| 久久精品国产精品亚洲红杏| 美女久久久久久久久| 97欧美在线视频| 黑人中文字幕一区二区三区| 欧美日韩一区二区欧美激情| 国产午夜精品久久久久久久久| 激情av综合网| 久久电影国产免费久久电影| 欧美放荡办公室videos4k| 久久久999成人| 怡红院红怡院欧美aⅴ怡春院| 国产精品久久久久久久久图文区| 日本高清不卡的在线| 真实国产乱子伦精品一区二区三区| 伊人久久大香线蕉av超碰| 久久99久久| 一本到不卡免费一区二区| canopen超线视频网线的应用| 亚洲一区美女| 国产爆初菊在线观看免费视频网站| 夜夜爽99久久国产综合精品女不卡| 日韩电影免费观看高清完整| 超碰网在线观看| 我想看黄色大片| 国产精品mv在线观看| 中文字幕亚洲乱码熟女1区2区| 绯色av一区| 国产高清欧美| 国内成人精品| av综合在线观看| 黄色一级片视频| 国产中文字幕在线观看| 精品欧美一区二区在线观看视频| 日本一区午夜艳熟免费| 91福利在线观看| 日韩大尺度黄色| 日本黄色三级大片| 午夜久久久久久久久久久| 欧美亚洲国产精品久久| 欧美亚洲一级二级| 欧美日韩中文在线| 7777久久香蕉成人影院| 一本一本久久a久久精品牛牛影视| 天天影视涩香欲综合网| 嫩草一区二区三区| 久久偷看各类wc女厕嘘嘘偷窃| 日韩久久精品一区| 日韩激情毛片| 国产www视频在线观看| 老司机亚洲精品一区二区| 神马欧美一区二区| 伊人久久av导航| 亚洲黄色影片| 又色又爽又黄18网站| 777永久免费网站国产| 中文字幕亚洲区| 国产无遮挡aaa片爽爽| 欧美成人精品免费| 欧美日韩一区免费| 亚洲精品国产精品国自产网站按摩| 99精品国产高清一区二区麻豆| 天天躁日日躁成人字幕aⅴ| 四虎精品一区二区三区| 4hu四虎永久网址| 波多野结衣家庭教师在线播放| 九九热这里只有在线精品视| 欧美偷拍自拍| 天堂一区二区在线免费观看| 中文一区一区三区免费| 国产欧美高清| 精品黑人一区二区三区观看时间| japanese在线观看| 亚洲人成色777777老人头| 国产精品777777在线播放| 中文字幕伦av一区二区邻居| 亚洲欧美国产精品久久久久久久| 欧美特黄a级高清免费大片a级| 精品亚洲一区二区三区四区五区| 一本一本久久a久久精品综合小说| 亚洲av成人精品一区二区三区在线播放| 日本在线精品| 国产精品第一页第二页第三页| 免费观看成人www动漫视频| 亚洲成人av一区二区| 亚洲日本色图| 精品无码国产一区二区三区51安| 日韩一区二区三区精品视频第3页|