黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

用python搭建一個花卉識別系統

瀏覽:11日期:2022-06-16 11:17:00
目錄一.開源神經網絡(AlexNet)1.獲取數據集2.神經網絡模型3.訓練神經網絡4.對模型進行預測二、花卉識別系統搭建(flask)1.構建頁面:2.調用神經網絡模型3.系統識別結果4.啟動系統:三、總結一.開源神經網絡(AlexNet)1.獲取數據集

使用步驟如下:* (1)在data_set文件夾下創建新文件夾'flower_data'* (2)點擊鏈接下載花分類數據集download.tensorflow.org/example_im…* (3)解壓數據集到flower_data文件夾下* (4)執行'split_data.py'腳本自動將數據集劃分成訓練集train和驗證集val

split_data.py

import osfrom shutil import copy, rmtreeimport random def mk_file(file_path: str): if os.path.exists(file_path):# 如果文件夾存在,則先刪除原文件夾在重新創建rmtree(file_path) os.makedirs(file_path) def main(): # 保證隨機可復現 random.seed(0) # 將數據集中10%的數據劃分到驗證集中 split_rate = 0.1 # 指向你解壓后的flower_photos文件夾 cwd = os.getcwd() data_root = os.path.join(cwd, 'flower_data') origin_flower_path = os.path.join(data_root, 'flower_photos') assert os.path.exists(origin_flower_path) flower_class = [cla for cla in os.listdir(origin_flower_path) if os.path.isdir(os.path.join(origin_flower_path, cla))] # 建立保存訓練集的文件夾 train_root = os.path.join(data_root, 'train') mk_file(train_root) for cla in flower_class:# 建立每個類別對應的文件夾mk_file(os.path.join(train_root, cla)) # 建立保存驗證集的文件夾 val_root = os.path.join(data_root, 'val') mk_file(val_root) for cla in flower_class:# 建立每個類別對應的文件夾mk_file(os.path.join(val_root, cla)) for cla in flower_class:cla_path = os.path.join(origin_flower_path, cla)images = os.listdir(cla_path)num = len(images)# 隨機采樣驗證集的索引eval_index = random.sample(images, k=int(num*split_rate))for index, image in enumerate(images): if image in eval_index:# 將分配至驗證集中的文件復制到相應目錄image_path = os.path.join(cla_path, image)new_path = os.path.join(val_root, cla)copy(image_path, new_path) else:# 將分配至訓練集中的文件復制到相應目錄image_path = os.path.join(cla_path, image)new_path = os.path.join(train_root, cla)copy(image_path, new_path) print('r[{}] processing [{}/{}]'.format(cla, index+1, num), end='') # processing barprint() print('processing done!') if __name__ == ’__main__’: main()2.神經網絡模型

model.py

import torch.nn as nnimport torch class AlexNet(nn.Module): def __init__(self, num_classes=1000, init_weights=False):super(AlexNet, self).__init__()# 用nn.Sequential()將網絡打包成一個模塊,精簡代碼self.features = nn.Sequential( # 卷積層提取圖像特征 nn.Conv2d(3, 48, kernel_size=11, stride=4, padding=2), # input[3, 224, 224] output[48, 55, 55] nn.ReLU(inplace=True), # 直接修改覆蓋原值,節省運算內存 nn.MaxPool2d(kernel_size=3, stride=2), # output[48, 27, 27] nn.Conv2d(48, 128, kernel_size=5, padding=2), # output[128, 27, 27] nn.ReLU(inplace=True), nn.MaxPool2d(kernel_size=3, stride=2), # output[128, 13, 13] nn.Conv2d(128, 192, kernel_size=3, padding=1), # output[192, 13, 13] nn.ReLU(inplace=True), nn.Conv2d(192, 192, kernel_size=3, padding=1), # output[192, 13, 13] nn.ReLU(inplace=True), nn.Conv2d(192, 128, kernel_size=3, padding=1), # output[128, 13, 13] nn.ReLU(inplace=True), nn.MaxPool2d(kernel_size=3, stride=2), # output[128, 6, 6])self.classifier = nn.Sequential( # 全連接層對圖像分類 nn.Dropout(p=0.5), # Dropout 隨機失活神經元,默認比例為0.5 nn.Linear(128 * 6 * 6, 2048), nn.ReLU(inplace=True), nn.Dropout(p=0.5), nn.Linear(2048, 2048), nn.ReLU(inplace=True), nn.Linear(2048, num_classes),)if init_weights: self._initialize_weights() # 前向傳播過程 def forward(self, x):x = self.features(x)x = torch.flatten(x, start_dim=1)# 展平后再傳入全連接層x = self.classifier(x)return x# 網絡權重初始化,實際上 pytorch 在構建網絡時會自動初始化權重 def _initialize_weights(self):for m in self.modules(): if isinstance(m, nn.Conv2d): # 若是卷積層nn.init.kaiming_normal_(m.weight, mode=’fan_out’, # 用(何)kaiming_normal_法初始化權重nonlinearity=’relu’)if m.bias is not None: nn.init.constant_(m.bias, 0) # 初始化偏重為0 elif isinstance(m, nn.Linear): # 若是全連接層nn.init.normal_(m.weight, 0, 0.01) # 正態分布初始化nn.init.constant_(m.bias, 0) # 初始化偏重為03.訓練神經網絡

train.py

# 導入包import torchimport torch.nn as nnfrom torchvision import transforms, datasets, utilsimport matplotlib.pyplot as pltimport numpy as npimport torch.optim as optimfrom model import AlexNetimport osimport jsonimport time # 使用GPU訓練device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')with open(os.path.join('train.log'), 'a') as log: log.write(str(device)+'n') #數據預處理data_transform = { 'train': transforms.Compose([transforms.RandomResizedCrop(224), # 隨機裁剪,再縮放成 224×224 transforms.RandomHorizontalFlip(p=0.5), # 水平方向隨機翻轉,概率為 0.5, 即一半的概率翻轉, 一半的概率不翻轉 transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]), 'val': transforms.Compose([transforms.Resize((224, 224)), # cannot 224, must (224, 224) transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])} #導入、加載 訓練集# 導入訓練集#train_set = torchvision.datasets.CIFAR10(root=’./data’, # 數據集存放目錄# train=True, # 表示是數據集中的訓練集#download=True, # 第一次運行時為True,下載數據集,下載完成后改為False#transform=transform) # 預處理過程# 加載訓練集 #train_loader = torch.utils.data.DataLoader(train_set, # 導入的訓練集# batch_size=50, # 每批訓練的樣本數# shuffle=False, # 是否打亂訓練集# num_workers=0) # num_workers在windows下設置為0 # 獲取圖像數據集的路徑data_root = os.path.abspath(os.path.join(os.getcwd(), '../..')) # get data root path 返回上上層目錄image_path = data_root + '/jqsj/data_set/flower_data/' # flower data_set path # 導入訓練集并進行預處理train_dataset = datasets.ImageFolder(root=image_path + '/train', transform=data_transform['train'])train_num = len(train_dataset) # 按batch_size分批次加載訓練集train_loader = torch.utils.data.DataLoader(train_dataset,# 導入的訓練集 batch_size=32, # 每批訓練的樣本數 shuffle=True,# 是否打亂訓練集 num_workers=0)# 使用線程數,在windows下設置為0 #導入、加載 驗證集# 導入驗證集并進行預處理validate_dataset = datasets.ImageFolder(root=image_path + '/val',transform=data_transform['val'])val_num = len(validate_dataset) # 加載驗證集validate_loader = torch.utils.data.DataLoader(validate_dataset,# 導入的驗證集 batch_size=32, shuffle=True, num_workers=0) # 存儲 索引:標簽 的字典# 字典,類別:索引 {’daisy’:0, ’dandelion’:1, ’roses’:2, ’sunflower’:3, ’tulips’:4}flower_list = train_dataset.class_to_idx# 將 flower_list 中的 key 和 val 調換位置cla_dict = dict((val, key) for key, val in flower_list.items()) # 將 cla_dict 寫入 json 文件中json_str = json.dumps(cla_dict, indent=4)with open(’class_indices.json’, ’w’) as json_file: json_file.write(json_str) #訓練過程net = AlexNet(num_classes=5, init_weights=True) # 實例化網絡(輸出類型為5,初始化權重)net.to(device) # 分配網絡到指定的設備(GPU/CPU)訓練loss_function = nn.CrossEntropyLoss() # 交叉熵損失optimizer = optim.Adam(net.parameters(), lr=0.0002) # 優化器(訓練參數,學習率) save_path = ’./AlexNet.pth’best_acc = 0.0 for epoch in range(150): ########################################## train ############################################### net.train() # 訓練過程中開啟 Dropout running_loss = 0.0# 每個 epoch 都會對 running_loss 清零 time_start = time.perf_counter()# 對訓練一個 epoch 計時for step, data in enumerate(train_loader, start=0): # 遍歷訓練集,step從0開始計算images, labels = data # 獲取訓練集的圖像和標簽optimizer.zero_grad()# 清除歷史梯度outputs = net(images.to(device)) # 正向傳播loss = loss_function(outputs, labels.to(device)) # 計算損失loss.backward() # 反向傳播optimizer.step() # 優化器更新參數running_loss += loss.item()# 打印訓練進度(使訓練過程可視化)rate = (step + 1) / len(train_loader) # 當前進度 = 當前step / 訓練一輪epoch所需總stepa = '*' * int(rate * 50)b = '.' * int((1 - rate) * 50)with open(os.path.join('train.log'), 'a') as log: log.write(str('rtrain loss: {:^3.0f}%[{}->{}]{:.3f}'.format(int(rate * 100), a, b, loss))+'n')print('rtrain loss: {:^3.0f}%[{}->{}]{:.3f}'.format(int(rate * 100), a, b, loss), end='') print() with open(os.path.join('train.log'), 'a') as log: log.write(str(’%f s’ % (time.perf_counter()-time_start))+'n') print(’%f s’ % (time.perf_counter()-time_start)) ########################################### validate ########################################### net.eval() # 驗證過程中關閉 Dropout acc = 0.0 with torch.no_grad():for val_data in validate_loader: val_images, val_labels = val_data outputs = net(val_images.to(device)) predict_y = torch.max(outputs, dim=1)[1] # 以output中值最大位置對應的索引(標簽)作為預測輸出 acc += (predict_y == val_labels.to(device)).sum().item() val_accurate = acc / val_num# 保存準確率最高的那次網絡參數if val_accurate > best_acc: best_acc = val_accurate torch.save(net.state_dict(), save_path)with open(os.path.join('train.log'), 'a') as log: log.write(str(’[epoch %d] train_loss: %.3f test_accuracy: %.3f n’ % (epoch + 1, running_loss / step, val_accurate))+'n')print(’[epoch %d] train_loss: %.3f test_accuracy: %.3f n’ % (epoch + 1, running_loss / step, val_accurate))with open(os.path.join('train.log'), 'a') as log: log.write(str(’Finished Training’)+'n')print(’Finished Training’)

訓練結果后,準確率是94%

訓練日志如下:

用python搭建一個花卉識別系統

4.對模型進行預測

predict.py

import torch

接著對其中一個花卉圖片進行識別,其結果如下:

用python搭建一個花卉識別系統

可以看到只有一個識別結果(daisy雛菊)和準確率1.0是100%(范圍是0~1,所以1對應100%)

為了方便使用這個神經網絡,接著我們將其開發成一個可視化的界面操作

二、花卉識別系統搭建(flask)1.構建頁面:

用python搭建一個花卉識別系統

2.調用神經網絡模型

main.py

# coding:utf-8 from flask import Flask, render_template, request, redirect, url_for, make_response, jsonifyfrom werkzeug.utils import secure_filenameimport osimport time ####################模型所需庫包import torchfrom model import AlexNetfrom PIL import Imagefrom torchvision import transformsimport matplotlib.pyplot as pltimport json # read class_indicttry: json_file = open(’./class_indices.json’, ’r’) class_indict = json.load(json_file)except Exception as e: print(e) exit(-1) # create modelmodel = AlexNet(num_classes=5)# load model weightsmodel_weight_path = './AlexNet.pth'#, map_location=’cpu’model.load_state_dict(torch.load(model_weight_path, map_location=’cpu’)) # 關閉 Dropoutmodel.eval() ###################from datetime import timedelta# 設置允許的文件格式ALLOWED_EXTENSIONS = set([’png’, ’jpg’, ’JPG’, ’PNG’, ’bmp’]) def allowed_file(filename): return ’.’ in filename and filename.rsplit(’.’, 1)[1] in ALLOWED_EXTENSIONS app = Flask(__name__)# 設置靜態文件緩存過期時間app.send_file_max_age_default = timedelta(seconds=1) #圖片裝換操作def tran(img_path): # 預處理 data_transform = transforms.Compose([transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]) # load image img = Image.open('pgy2.jpg') #plt.imshow(img) # [N, C, H, W] img = data_transform(img) # expand batch dimension img = torch.unsqueeze(img, dim=0) return img @app.route(’/upload’, methods=[’POST’, ’GET’]) # 添加路由def upload(): path='' if request.method == ’POST’:f = request.files[’file’]if not (f and allowed_file(f.filename)): return jsonify({'error': 1001, 'msg': '請檢查上傳的圖片類型,僅限于png、PNG、jpg、JPG、bmp'}) basepath = os.path.dirname(__file__) # 當前文件所在路徑path = secure_filename(f.filename)upload_path = os.path.join(basepath, ’static/images’, secure_filename(f.filename)) # 注意:沒有的文件夾一定要先創建,不然會提示沒有該路徑# upload_path = os.path.join(basepath, ’static/images’,’test.jpg’) #注意:沒有的文件夾一定要先創建,不然會提示沒有該路徑print(path) img = tran(’static/images’+path)###########################預測圖片with torch.no_grad(): # predict class output = torch.squeeze(model(img)) # 將輸出壓縮,即壓縮掉 batch 這個維度 predict = torch.softmax(output, dim=0) predict_cla = torch.argmax(predict).numpy() res = class_indict[str(predict_cla)] pred = predict[predict_cla].item() #print(class_indict[str(predict_cla)], predict[predict_cla].item())res_chinese = ''if res=='daisy': res_chinese='雛菊'if res=='dandelion': res_chinese='蒲公英'if res=='roses': res_chinese='玫瑰'if res=='sunflower': res_chinese='向日葵'if res=='tulips': res_chinese='郁金香' #print(’result:’, class_indict[str(predict_class)], ’accuracy:’, prediction[predict_class])##########################f.save(upload_path)pred = pred*100return render_template(’upload_ok.html’, path=path, res_chinese=res_chinese,pred = pred, val1=time.time()) return render_template(’upload.html’) if __name__ == ’__main__’: # app.debug = True app.run(host=’127.0.0.1’, port=80,debug = True)3.系統識別結果

用python搭建一個花卉識別系統

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>李運辰-花卉識別系統v1.0</title> <script src='https://www.xxx.com.cn/static/js/locales/zh.js'></script> </head><body> <h1 align='center'>李運辰-花卉識別系統v1.0</h1><div align='center'> <form action='' enctype=’multipart/form-data’ method=’POST’><input type='file' name='file' data-show-preview='false' /><br><input type='submit' value='上傳' /> </form><p style='size:15px;color:blue;'>識別結果:{{res_chinese}}</p></br><p style='size:15px;color:red;'>準確率:{{pred}}%</p> <img src='https://www.xxx.com.cn/bcjs/{{ ’./static/images/’+path }}' alt=''/></div></body></html>4.啟動系統:

python main.py

用python搭建一個花卉識別系統

接著在瀏覽器在瀏覽器里面訪問

http://127.0.0.1/upload

出現如下界面:

用python搭建一個花卉識別系統

最后來一個識別過程的動圖

用python搭建一個花卉識別系統

三、總結

ok,這個花卉系統就已經搭建完成了,是不是超級簡單,我也是趁著修了這個機器視覺這么課,才弄這么一個系統,回顧一下之前的知識,哈哈哈。

以上就是用python搭建一個花卉識別系統的詳細內容,更多關于python 花卉識別系統的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 日日爱886 | 天天爽天天插 | 毛片一区二区三区 | 55夜色66夜色国产精品视频 | 制服丝袜第一页在线 | 亚洲情涩 | 欧美精品一区二区三区四区五区 | 在线黄色网 | 第一毛片 | 依人综合 | 污污污www精品国产网站 | 亚洲综合天堂av网站在线观看 | 一级淫片免费 | 女人高潮a毛片在线看 | 成人毛片区 | 性生生活又硬又黄又爽 | 四虎成人网 | 五月天久久综合 | 三男玩一个饥渴少妇爽叫视频播放 | 夜夜操操操 | 色婷婷久久 | 综合欧美一区二区三区 | 国产免费久久精品国产传媒 | 亚洲va久久久噜噜噜久牛牛影视 | 最新国产小视频 | 欧美人与善在线com 久久精品人人做人人综合 国产特级毛片aaaaaa高潮流水 | 91人人草| 日本高清在线播放 | 国产口爆吞精在线视频 | 囯产精品久久久久久久久久妞妞 | 伊在人天堂亚洲香蕉精品区 | 丰满少妇高潮叫久久国产 | 丰满少妇被猛烈进入 | 欧美中日韩在线 | 在线观看免费视频一区 | 女上男下激烈啪啪xx00免费 | 67194国产| 欧美30p| 久久99精品久久久久久蜜芽 | 99国产精品国产精品九九 | 另类专区av| 无码专区aaaaaa免费视频 | 天天干天天草天天 | 丰满人妻在公车被猛烈进入电影 | 狠狠色丁香久久婷婷综合五月 | 成人丁香婷婷 | 成人禁片又硬又粗太爽了 | 国产一区二区三区四区五区精品 | 自拍偷拍2019| 日本香蕉网 | 青青草自拍视频 | 中文字幕第2页不卡 | 欧美激情亚洲激情 | 国产午夜精品久久精品电影 | 300部国产真实乱 | 国产aaaaav久久久一区二区 | 乱码丰满人妻一二三区 | 国产欧美一区二区久久性色99 | 国四虎影2020| 欧美疯狂xxxxbbbb喷潮 | 91精品国产综合久久蜜臀 | 中文有码在线观看 | 91不卡视频| 久久免费在线视频 | 中文字幕久久久久人妻中出 | 国产精品亚洲综合一区二区三区 | 亚洲国产欧美在线成人 | 国产精品久久777777 | 亚洲欧美综合精品久久成人 | 日韩 欧美 精品 | 日韩一二区 | 日本xxxxxxxxx96| 91美女吸乳羞羞网站 | 精品无码av一区二区三区 | 亚洲老女人视频 | 国产美女视频国产视视频 | 天堂素人约啪 | 欧美日韩网站 | 香港三级精品三级在线专区 | 无码无套少妇毛多18pxxxx | 闺蜜张开腿让我爽了一夜 | 亚洲女同疯狂舌吻唾液口水美女 | 高清无码视频直接看 | 亚洲一区二区影视 | 欧美激情视频一区二区三区 | 欧美性视频一区二区三区 | 久久亚洲一区二区三区成人国产 | 校园激情亚洲 | 久久久亚洲麻豆日韩精品一区三区 | 中文日韩一区二区 | 久久婷婷国产综合尤物精品 | 一极黄色大片 | wwwxxx色| 日韩视频欧美视频 | 毛片基地免费观看 | 又大又粗又爽免费视频a片 日本丰满熟妇videossex8k | 欧美日韩精品中文字幕 | 香蕉视频免费 | 精品国产九九九 | www久久久天天com | 成人动漫免费观看 | 国自产拍偷拍精品啪啪一区二区 | 欧美1区2区| 欧美不卡一二三 | 用舌头去添高潮无码视频 | 欧美性猛烈 | 91蝌蚪少妇偷拍 | 色婷婷18 | 51久久夜色精品国产麻豆 | 无码av大香线蕉伊人久久 | 91av影院| 人妻少妇精品一区二区三区 | 九九热免费视频 | 在线观看中文字幕av | 国产精品一区二区在线播放 | 99热久久免费频精品18 | 天天做天天爱天天爽综合网 | 欧美激情国产日韩精品一区18 | 日本一区午夜艳熟免费 | 99re99热| 日本成人免费网站 | 黄色精品网站 | 欧美精品国产一区 | 国产区视频在线 | 一区二区不卡免费视频 | 国产人妻丰满熟妇嗷嗷叫 | 肉丝袜脚交视频一区二区 | а 天堂 在线 | 天天爽夜夜爽精品视频婷婷 | 一本色道久久88综合亚洲精品ⅰ | 蜜乳av 懂色av 粉嫩av | a久久久久| 一二区视频 | 亚洲国产精品成人精品无码区在线 | 免费天堂av | av黄色网址| 欲色网站| 少妇性做爰xxxⅹ性视频 | 最新黄网 | 日韩在线不卡 | 裸体丰满少妇xxxxxxxx | 久久久久久久久久久久久久久久久久久久 | 国产精品久久久久一区二区国产 | 91亚洲精品国产成人 | 少妇挑战三个黑人惨叫4p国语 | 激情宗合网 | 综合自拍亚洲综合图区高清 | 国产a∨精品一区二区三区不卡 | 神马午夜51| 中文无码熟妇人妻av在线 | 欧美顶级丰满另类xxx | 日韩极品在线 | 欧美精品久久 | 秋霞网一区 | 一级性毛片 | 国产乱码久久久久 | 午夜黄色在线 | 欧美色欧美亚洲另类二区 | 刘亦菲裸体视频一区二区三区 | 亚洲人成图片小说网站 | a级特黄毛片| 久久久久国产精品午夜一区 | 天天综合视频 | 免费在线性爱视频 | 国产又粗又黄又爽又硬的免费视频 | 天堂无码人妻精品一区二区三区 | 国产精品第十页 | 色香视频首页 | a级片久久久 | 成人性做爰片免费视频 | 免费观看黄网站 | 99精品国产一区二区三区麻豆 | 爱情岛亚洲论坛入口首页 | 国产精品va在线播放我和闺蜜 | 四虎影酷 | av久久悠悠天堂影音网址 | 午夜精品久久久久久久99黑人 | 欧美日韩国产麻豆 | 免费大片av手机看片高清 | 国产精品秘入口18禁麻豆免会员 | 国产绳艺sm调教室论坛 | 亚洲国产精品久久人人爱 | 成人av网站大全 | 在线不卡欧美 | 一区二区三区四区中文字幕 | 欧美成人一二区 | av在线一区二区三区四区 | 一级片视频在线观看 | 大肉大捧一进一出好爽视频 | 国产一区二区三区网站 | 亚洲国产成人久久精品大牛影视 | 嫩草影院av | 日本久色| 日本在线激情 | 在线国产播放 | 在线看片黄 | 亚洲人成网站在线播放942 | 亚洲第一夜页 | 黑人好猛厉害爽受不了好大撑 | 另类 欧美 日韩 国产 在线 | 久久综合色鬼综合色 | 老太脱裤子让老头玩xxxxx | 久久精品99国产精品亚洲 | 和尚与寡妇在线三级 | 性做久久久久久久久 | 久久免费精品视频 | 性猛交xxxx免费看网站 | 国产拍揄自揄精品视频麻豆 | 亚洲无av | 在线免费小视频 | 免费欧美日韩 | 欧美成人性色 | 免费a网| 三级在线视频观看 | 国产国拍亚洲精品av | 亚洲素人在线 | 亚洲激情视频网 | 六月婷婷久香在线视频 | 国产丝袜网站 | 国产欧美一区二区精品久久 | 久色视频在线 | 亚洲一区免费在线观看 | 久久人人爽人人爽爽久久 | av亚洲精华国产精华精 | 精品二三区 | 天天射综合 | 女性无套免费网站在线看 | 99精品免费久久久久久久久日本 | 国产夜色视频 | 国产精品免费久久久久影院 | www99视频| 日本精品久久久久中文字幕乱中年 | 国内毛片精品av一二三 | 精品乱码一区二区三区四区 | 一级生性活片免费视频片 | 国产91富婆露脸刺激对白 | 精品无码三级在线观看视频 | 国产又好看的毛片 | 交h粗暴调教91 | 午夜在线观看视频 | 亚洲欧美人成电影在线观看 | 国产乱国产乱老熟300部视频 | 人人妻人人澡人人爽欧美一区九九 | 中日韩高清无专码区2021 | 97人伦色伦成人免费视频 | 91一区二区三区 | 亚洲涩情 | 国产绿帽口舌视频vk | 在线手机av| 狠狠摸狠狠澡 | 白嫩少妇和二男三p爽的大声呻吟 | 亚洲精品久久久久中文字幕m男 | 日韩精品一区二区三区三炮视频 | 亚洲色偷偷色噜噜狠狠99网 | 成人国产午夜在线观看 | 日韩一区二区三区四区五区六区 | 这里只有精品在线播放 | 色爱五月天| cosplay福利禁视频免费观看 | 亚洲乱码中文字幕 | 日日噜噜夜夜狠狠va视频 | 欧美性日韩 | 亚洲精品久久久久久久蜜桃臀 | 亚洲国产人午在线一二区 | 日韩在线一区二区三区四区 | 2020最新无码福利视频 | 91在线免费看片 | 成人一级影视 | 国内少妇毛片视频 | 亚洲中文字幕在线观看 | 国产成人精品一区二区三区四区 | 99精品国产九九国产精品 | 两个人看的www视频免费完整版 | 国产又黄又湿 | 午夜精品视频在线观看 | 亚洲精品欧美综合二区 | 亚洲自拍偷窥 | 色婷婷综合久色aⅴ五区最新 | 亚洲综合一区无码精品 | 日本精品一二区 | 狠狠色丁香九九婷婷综合五月 | 日韩中文字幕亚洲欧美 | 免费一级肉体全黄毛片 | 五月婷婷综合在线观看 | 成人免费视频7777777 | 黄色激情毛片 | 国产亚洲精品久久久久久 | 国产色视频在线 | 国产免费无遮挡吸乳视频 | 国模张文静啪啪私拍150p | 丰满熟女高潮毛茸茸欧洲 | 欧美激情日韩 | 国产理论视频在线观看 | 欧美91精品久久久久国产性生爱 | 亚洲国产精品特色大片观看完整版 | 色欧洲| 久久禁| 激情欧美日韩一区二区 | 少妇性l交大片7724com | 91九色视频观看 | 中文字幕在线视频观看 | 久久久久久久久久久久久女过产乱 | 公妇乱淫免费观看 | 国产无遮挡吃胸膜奶免费看 | 久青草无码视频在线播放 | 欧美激情精品久久久久久 | 99国产伦精品一区二区三区 | 欧美丰满大乳大屁股毛片图片 | 亚洲乱码国产乱码精品精网站 | 亚洲日本韩国欧美云霸高清 | 久久99国产精一区二区三区 | 亚洲日日射| 97天天干 | 亚洲蜜芽在线精品一区 | 亚洲人成电影在线观看影院 | 亚洲成在人线在线播放无码 | 欧美中文字幕在线播放 | 欧美日韩亚洲中文字幕一区二区三区 | 国偷自产av一区二区三区 | 久久精品国产sm调教网站演员 | 大桥久未无码吹潮在线观看 | 日日躁夜夜摸月月添添添的视频 | 日本a级片一区二区 | 麻豆免费在线观看视频 | 欧美综合自拍亚洲综合图片区 | 欧美激情校园春色 | 午夜偷拍福利 | 中文字幕国内自拍 | va在线观看 | 无码人妻精品一区二区三区东京热 | 在线观看免费日韩av | 国产又色又爽又黄又免费 | 97国产suv精品一区二区62 | 免费黄色网址在线 | 视频一区免费观看 | 国产精品成人影院在线观看 | 欧美人与禽2o2o性论交 | 成 人 黄 色 视频播放165 | 成熟妇人a片免费看网站 | 久久精品国产免费看久久精品 | 一区二区美女 | 日本乱码视频 | 久久摸摸碰碰97网站 | 女人两腿打开让男人添野外视频 | 在线色图| 国产99免费视频 | 91视频首页| 国产精品自拍小视频 | 精品国产一区二区三区久久久蜜月 | 东京av男人的天堂 | 日本亚洲高清 | www久久avcom| 亚洲一级色 | 亚洲愉拍99热成人精品 | 亚洲色www成人永久网址 | 国产精品午夜一区二区三区视频 | 特级西西444www大精品视频免费看 | 国产口语对白老妇 | 精品伦精品一区二区三区视频 | 欧美日韩精品一区二区 | 99热九九这里只有精品10 | fc2ppv在线观看| 成人av国产 | 欧美一区二区三区影院 | 欧美性猛交xxxx乱大交3 | 亚洲永久免费网站 | 加比勒色综合久久 | 好男人社区www在线官网 | 一级做a爱片性色毛片高清 一级做a毛片 | 肉体裸交137日本大胆摄影 | 欧美深夜福利 | 亚洲www| 不卡视频一区二区三区 | kk视频在线观看 | 香港曰本韩国三级网站 | 亚洲国产成人欧美激情 | 久久精品女人 | 国产www精品| 欧美精选一区 | 久久久久久久久蜜桃 | 伊人成年网站综合网 | 国产精品18久久久 | 欧美特一级 | 丝袜黄色片 | 性日韩 | 欧美性猛交xxxx乱大交蜜桃 | 少妇在线观看 | 精品国产乱码久久久久久竹菊影视 | 国产亚洲无线码一区二区 | 在线看中文字幕 | 忘忧草精品久久久久久久高清 | av 黄色| 成人日b视频| 欧美a视频在线观看 | 天天综合网久久 | 午夜精品久久久久久久白皮肤 | 婷婷免费视频 | 少妇尝试黑人粗吊受不了 | yw.139尤物在线精品视频 | 夜鲁夜鲁狠鲁天天在线 | 超碰狠狠操 | 狠狠色噜噜狠狠狠狠奇米777 | 亚洲性久久久影院 | 亚洲成人系列 | 在线天堂新版最新版在线8 麻豆成人精品国产免费 | 国产精品传媒麻豆 | 茄子视频色 | 国产日 | 色一情一乱一伦一区二区三区日本 | 伊人色在线视频 | 色情无码一区二区三区 | 天天射夜夜操 | 久久先锋 | 久久精品三级视频 | 亚洲精品高清视频 | 另类天堂网 | 日韩一区二区三区无码影院 | 华人永久免费 | 国产高清精品在线 | 中国熟妇浓毛hdsex | 午夜免费精品 | 国色天香中文字幕在线视频 | 在线免费观看国产视频 | 66av99精品福利视频在线 | 日韩午夜一区二区在线精品三级伦理 | 色资源在线观看 | 午夜亚洲一区 | 国产三级在线视频 一区二区三区 | 风流老熟女一区二区三区 | 日本国产亚洲 | 老司机伊人 | 欧美性xxxxxxxxx | www.av免费| 国产精品第一 | 伊人久久大香线蕉av色婷婷色 | 99精品国产在热久久婷婷 | 亚州欧美 | 国产伦久视频免费观看视频 | 无码人妻一区二区三区在线 | 亚洲4区| 性三级视频 | 99久久久无码国产精品免费 | 日韩欧美一区二区三区黑寡妇 | 台湾佬亚洲| 亚洲图区欧美 | 在线播放国产视频 | 久久久国产精品无码免费专区 | 深夜福利视频免费观看 | 黄色av大全| 四虎在线免费播放 | 国产av人人夜夜澡人人爽麻豆 | 亚洲 精品 主播 自拍 | 麻豆导航 | 亚洲第一网站男人都懂 | 欧美怡红院免费全部视频 | 欧美xxxxx在线观看 | 伊人成综合网 | 欧美怡红院 | 国产精品27p| sese综合 | 国产精品久久久久久久久齐齐 | 6080一级片| 国产午夜亚洲精品午夜鲁丝片 | 香港澳门三级做爰 | 一级久久久久久久 | 久久精品国产精品亚洲艾草网 | 五月天亚洲视频 | 欧美xxxx片 | 在线观看视频中文字幕 | 久久国产一区二区三区 | 四川话毛片少妇免费看 | 欧美91看片特黄aaaa | 中文字幕无码免费久久9一区9 | 337p日本欧洲亚洲大胆张筱雨 | 狠狠操网址 | 男人天堂色 | 偷拍激情视频一区二区三区 | xxxxwww一片| 天天躁夜夜躁狠狠躁2021牛牛 | 国产91丝袜在线播放0 | 丰满人妻精品国产99aⅴ | 欧美大片a | 日韩福利在线视频 | 人人爽视频 | 美国伦理3野性 | 免费无毒av | 印度最猛性xxxxx69交 | 一级黄色在线观看 | 亚洲国产精品嫩草影院 | 日日爱669| 国产精品久久久久久久久久免 | 欧美视频色 | 曰本丰满熟妇xxxx性 | 国产成人综合一区二区三区 | 亚洲日本va午夜中文字幕一区 | 亚洲精品无码久久久 | 欧美精品久久久久久久久久 | 久热re这里精品视频在线6 | 动漫羞羞 | 国产精品69久久久久999小说 | 亚洲视频456| √最新版天堂资源网在线 | 免费久久av | 日本69精品久久久久999小说 | 国产91精品精华液一区二区三区 | 调教女m荡骚贱淫故事 | 99久久久无码国产精品秋霞网 | 亚洲gv猛男gv无码男同 | 天天干天天操天天玩 | 毛片啪啪啪| 无套内谢的新婚少妇国语播放 | 国产精品爽爽久久久久久 | 亚洲 中文 欧美 日韩 在线 | 国产精品岛国久久久久久久久红粉 | 无码av免费一区二区三区 | 丝袜av网站 | 免费做爰猛烈吃奶摸视频在线观看 | 青青草免费av | 超碰在线免费公开 | 国产精品久久久区三区天天噜 | 午夜激情网站 | 国产精品无码一区二区三区在 | 日韩精品网 | 成人免费无码大片a毛片抽搐色欲 | 三级黄色免费片 | 影音先锋国产资源 | 国产91清纯白嫩初高中在线观看 | 免费无码一区二区三区蜜桃 | 日本精品网站 | 亚洲区欧美区综合区自拍区 | 国产高潮又爽又刺激的视频免费 | 一级日韩片 | a√在线| av亚洲产国偷v产偷v自拍小说 | 亚洲高清揄拍自拍午夜婷婷 | 日本欧美大码aⅴ在线播放 中文人妻无码一区二区三区在线 | 久久精品一 | 四虎影库在线永久影院免费观看 | 国产成人小视频 | 黑人巨大跨种族video | 91精品久久久久久粉嫩 | 日韩少妇内射免费播放 | 久久久久无码精品国产h动漫 | 精品一区二区ww | 成人tv888| 国产一区二区三区色淫影院 | 国内a∨免费播放 | 国产人成高清在线视频99最全资源 | 日本亚洲视频 | 免费日韩一级片 | 成人免费高清在线观看 | 欧美黄色一级网站 | 少妇愉情理伦片高潮日本 | 老妇肥熟凸凹丰满刺激小说 | 美日韩视频 | 婷婷色狠狠 | 午夜成人理论福利片 | 久久一级片视频 | 日日噜噜夜夜狠狠视频 | 精品亚洲天堂 | 免费成人在线视频网站 | 日本人与黑人做爰视频 | 国产精品久久久久久av | 性色视频网站 | 免费久草视频 | 九九九九精品九九九九 | 欧美大肥婆bbbww欧出奶水 | 国产 日韩 欧美在线 | 日本中文字幕在线 | 国产美女在线精品免费观看网址 | 在线看片网址 | 黑人巨大国产9丨视频 | 丝袜美女啪啪 | 美足av | 91精品婷婷国产综合久久蝌蚪 | 黄色正能量网站 | 超碰这里只有精品 | 日韩欧美有码 | 欧美亚洲另类在线 | 插久久| 一本色道av立川理惠 | 久久精品国产色蜜蜜麻豆 | 538任你躁精品视频网免费 | 波多野结衣三区 | 日本大胆欧美人术艺术 | 国产精品我不卡 | 国产一区两区 | 久久久久久国产精品 | 日韩网站在线播放 | 亚洲精品国产成人av在线 | 久久精品日产第一区二区三区乱码 | 乱人伦xxxx国语对白 | 国产一级大黄 | 一本一本久久a久久精品综合麻豆 | 精品96久久久久久中文字幕无 | 男人的天堂色偷偷 | 欧美成人久久久免费播放 | 欧美 在线 | 蜜桃91麻豆精品一二三区 | 国产乱码精品一区二三赶尸艳谈 | 女女女女bbbb日韩毛片 | gogo精品国模啪啪作爱 | 亚洲天堂中文在线 | 中文字幕一区二区三区乱码图片 | 久青草无码视频在线播放 | 国产精品自产拍在线观看55亚洲 | 国产女人与拘做视频免费 | 日日夜夜网站 | 免费观看国产黄色片 | a资源在线 | av无码国产精品色午夜 | 亚洲天堂自拍偷拍 | 欧美夜夜操 | 国产jizz18女人高潮 | 91亚洲国产成人精品一区二区三 |