亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Python實戰(zhàn):用CNN卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)昆蟲識別畢業(yè)設(shè)計全攻略

Python實戰(zhàn):用CNN卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)昆蟲識別畢業(yè)設(shè)計全攻略 什么時候一個畢業(yè)設(shè)計選題算是“好選題”我的標(biāo)準(zhǔn)很簡單技術(shù)路線成熟、工作量可控、數(shù)據(jù)不是難到找不著同時又有一個能講清楚的應(yīng)用故事。用Python做CNN卷積神經(jīng)網(wǎng)絡(luò)識別昆蟲恰好把這幾條占齊了。這個題目不是新得嚇人也不是舊得沒價值。昆蟲識別在農(nóng)業(yè)植保、生態(tài)監(jiān)測、檢疫防控里都有真實需求而深度學(xué)習(xí)圖像分類又是目前最成熟的方向之一數(shù)據(jù)和預(yù)訓(xùn)練模型都容易獲得。對于本科畢設(shè)或者碩士入門項目來說它相當(dāng)于一個“標(biāo)準(zhǔn)但絕不平庸”的練手場景——你把這個題目吃透圖像分類那一整套流程基本就通了。這篇文章我就從選題思路、數(shù)據(jù)準(zhǔn)備、模型搭建、訓(xùn)練優(yōu)化到最后的展示交付把我實際做這類項目踩過的坑、驗證過的做法全盤講一遍。1. 這個選題到底值不值得做先直接給結(jié)論值。而且對于絕大多數(shù)想認(rèn)真完成畢設(shè)、又不希望天天睡實驗室的同學(xué)來說它的性價比非常高。1.1 為什么是“昆蟲”而不是別的很多人一開始想的是貓狗識別、人臉識別、車型識別這些題目沒有不好問題是太“大眾”了答辯時老師一眼就能看到你做的是什么同質(zhì)化嚴(yán)重。換成“昆蟲”就不一樣它依然是一個標(biāo)準(zhǔn)的圖像分類任務(wù)但對象更具體、更有專業(yè)辨識度也更容易往“農(nóng)林業(yè)應(yīng)用”方向拔高。昆蟲識別的實際難點不在網(wǎng)絡(luò)結(jié)構(gòu)而在數(shù)據(jù)本身。昆蟲種類極多、外觀相似度高、姿態(tài)和環(huán)境背景復(fù)雜這反而成了這個題目的一大紅利同樣的模型在貓狗數(shù)據(jù)集上準(zhǔn)確率輕松上95%在昆蟲數(shù)據(jù)集上可能只有85%——這個差距不是壞事它能讓你在論文里“有東西可以分析”比如類間相似性導(dǎo)致的混淆、背景干擾的影響、細(xì)粒度分類的難度等等。說白了這個題目的“容錯空間”很大做得好了可以挖掘細(xì)粒度分類深度做得一般也能靠數(shù)據(jù)和預(yù)處理撐起工作量。1.2 三種主流技術(shù)方案的橫向?qū)Ρ任乙娺^不少同學(xué)拿到題目后第一步就想著“上大模型”其實大可不必。先看看主流方案的區(qū)別方案核心思路優(yōu)點缺點適合場景傳統(tǒng)圖像處理手動特征顏色直方圖、紋理特征、形狀描述子分類器無需GPU思路直觀泛化能力差準(zhǔn)確率低早期研究、對比實驗手工特征機器學(xué)習(xí)HOG/SIFTSVM特征提取交給算法分類用SVM比純規(guī)則好理論知識考查多對復(fù)雜背景敏感特征設(shè)計非常耗時證明傳統(tǒng)方法局限性的對比組深度學(xué)習(xí)CNN端到端自動學(xué)習(xí)特征準(zhǔn)確率高、流程標(biāo)準(zhǔn)化需要GPU、需要調(diào)參經(jīng)驗本選題主線絕大多數(shù)情況走這個我自己帶模擬項目的經(jīng)驗是不要死磕傳統(tǒng)方法但在論文里加一個“傳統(tǒng)方法對比”小節(jié)用SVM或簡單CNN跑一遍給個對照數(shù)據(jù)能讓工作量看起來更扎實。1.3 適合誰做、能鍛煉什么能力這個選題適合三類人一是本科階段準(zhǔn)備讀研、想提前熟悉深度學(xué)習(xí)完整流程的同學(xué)二是Python有一定基礎(chǔ)但沒系統(tǒng)做過CV項目的同學(xué)三是對農(nóng)業(yè)信息化方向感興趣、想在簡歷里留一個完整項目的同學(xué)。做這個題目你能摸到的關(guān)鍵技能包括數(shù)據(jù)采集與清洗、圖像預(yù)處理、Pytorch或TensorFlow的使用、模型訓(xùn)練與調(diào)參、模型評估與可視化、以及最后的部署交付。這套技能棧放到找實習(xí)或者考研復(fù)試?yán)锒际悄苤苯恿牡臇|西。2. 整體框架設(shè)計別急著寫代碼先想清楚這三件事我見過太多同學(xué)拿到數(shù)據(jù)集第一件事就是打開Jupyter Notebook開始訓(xùn)練訓(xùn)練完發(fā)現(xiàn)準(zhǔn)確率一塌糊涂然后開始懷疑人生。問題往往不在模型而在前期設(shè)計。2.1 類別設(shè)計分多少類、分哪幾類昆蟲識別的類別數(shù)量決定了整個項目的工作量和難度。我的建議是本科畢設(shè)控制在10到30類之間不要一上來就挑戰(zhàn)100類以上。原因很簡單類別太少5類以下顯得工作量不足答辯時不好講類別太多100類以上準(zhǔn)確率很難做好看而且訓(xùn)練時間和顯存需求都上去了10到30類是“跳一跳夠得著”的區(qū)間既能體現(xiàn)細(xì)粒度分類的難度又能把準(zhǔn)確率做到85%-95%的合理區(qū)間類別怎么選有三個思路按物種級別比如選20種常見農(nóng)業(yè)害蟲稻飛虱、棉鈴蟲、玉米螟等這個方向最有應(yīng)用價值按科級分類比如選10個科的昆蟲鞘翅目、鱗翅目、膜翅目等難度更低適合新手混合級別比如常見的蝴蝶、甲蟲、蜜蜂、蚊子各若干種數(shù)據(jù)最好找適合快速驗證還有一個容易被忽略的點類別的拉丁文學(xué)名一定要標(biāo)清楚。答辯老師很可能隨口問一句“你這個類是怎么劃分的”如果你能說出科屬種的關(guān)系印象分會好很多。2.2 技術(shù)棧選型Pytorch還是TensorFlow、用不用預(yù)訓(xùn)練模型圖像分類這個方向Pytorch和TensorFlow都能做但我的建議很明確如果你沒有特別的原因選Pytorch。理由有三個Pytorch的調(diào)試體驗更接近Python原生風(fēng)格斷點調(diào)試方便計算機視覺方向的最新論文和預(yù)訓(xùn)練模型大多優(yōu)先發(fā)布Pytorch版本從社區(qū)資源和查資料的角度Pytorch現(xiàn)在的生態(tài)已經(jīng)明顯占優(yōu)至于預(yù)訓(xùn)練模型的問題一句話就能說清不要自己從頭訓(xùn)練一個深層網(wǎng)絡(luò)。以ResNet50為例在ImageNet上預(yù)訓(xùn)練權(quán)重是官方下載好的你用遷移學(xué)習(xí)的方式微調(diào)權(quán)重在昆蟲數(shù)據(jù)集上訓(xùn)練幾輪就能收斂。如果從零訓(xùn)練同樣的數(shù)據(jù)量可能需要10倍以上的訓(xùn)練時間而且效果未必好。這是這個項目里性價比最高的決策。2.3 評估指標(biāo)的設(shè)定很多同學(xué)從頭到尾只盯一個準(zhǔn)確率Accuracy這是本題最常犯的錯誤。昆蟲識別這種數(shù)據(jù)天然存在類別不均衡問題比如“棉鈴蟲”的圖片明顯比“某種珍稀蜻蜓”多這時只看準(zhǔn)確率很容易被“騙”。我會建議至少同時看這四個指標(biāo)指標(biāo)作用特別說明Accuracy總體準(zhǔn)確率只能反映整體情況不均衡時失真Precision精確率對每個類別權(quán)重評估判定為某類的樣本中有多少是對的Recall召回率對每個類別的覆蓋評估某類的真實樣本有多少被找出來了F1-Score精確率與召回率的調(diào)和平均不均衡場景下最有參考價值另外混淆矩陣Confusion Matrix是答辯時的“神器”。把混淆矩陣可視化出來你能一眼看出哪兩類昆蟲經(jīng)常被搞混從而為你的論文增加一段非常自然的“錯誤分析與改進(jìn)方向”。3. 數(shù)據(jù)處理實操這步做不好模型再狂也沒用數(shù)據(jù)是整個項目里最花時間的環(huán)節(jié)沒有之一。我做過一次統(tǒng)計一個2萬張昆蟲圖片的項目數(shù)據(jù)清洗和整理花了將近一半的時間。很多同學(xué)容易低估這部分工作量結(jié)果后期訓(xùn)練時被數(shù)據(jù)的各種臟問題反復(fù)折磨。3.1 數(shù)據(jù)集從哪里來昆蟲數(shù)據(jù)集的獲取路徑大體有三種第一種用現(xiàn)成的公開數(shù)據(jù)集目前比較常用的是 AI Challenger 的農(nóng)業(yè)害蟲數(shù)據(jù)集、iNaturalist 的昆蟲子集、以及各類昆蟲圖像數(shù)據(jù)集。這類數(shù)據(jù)集的好處是已經(jīng)標(biāo)注好了壞處是可能存在標(biāo)注噪聲、背景單一樣等問題。用的時候要自己看一下圖片質(zhì)量比如分辨率過低、標(biāo)注明顯錯誤的可以直接刪掉。第二種自己爬取人工清洗用爬蟲工具從圖庫網(wǎng)站獲取圖片然后人工篩選。這條路有個很大的坑搜索引擎的圖片質(zhì)量參差不齊混入無關(guān)圖片的概率不小。一份項目里我見過一個“蜜蜂”類別里混進(jìn)了幾張黃蜂甚至蒼蠅的照片這樣訓(xùn)練出來的模型會在實際預(yù)測時出現(xiàn)莫名其妙的錯誤。第三種實地拍攝加分項如果你有條件自拍一部分真實場景下的昆蟲照片是很好的加分項。不需要拍幾百上千張哪怕每類拍幾十張統(tǒng)計上就能顯著提升模型在真實場景下的泛化能力。更重要的是答辯時你可以理直氣壯地說“這個數(shù)據(jù)集包含了一部分自己采集的真實野外場景數(shù)據(jù)”這在真實感維度上比純下載高出一截。3.2 目錄結(jié)構(gòu)與數(shù)據(jù)劃分這里我直接給出一個經(jīng)過驗證的目錄結(jié)構(gòu)模板insect_classification/ ├── data/ │ ├── train/ │ │ ├── bee/ │ │ ├── butterfly/ │ │ └── ... │ ├── val/ │ │ ├── bee/ │ │ ├── butterfly/ │ │ └── ... │ └── test/ │ ├── bee/ │ ├── butterfly/ │ └── ... ├── models/ ├── logs/ └── utils/數(shù)據(jù)劃分比例我一般用train : val : test 7 : 2 : 1。很多人把test當(dāng)val用訓(xùn)練時反復(fù)去看test的準(zhǔn)確率來調(diào)參這是學(xué)術(shù)倫理問題答辯時也會被老師抓。正確做法是val集合用于調(diào)參和早停判斷test集合只用一次放在最后評估最終模型性能。3.3 數(shù)據(jù)增強最便宜的好用技巧沒有數(shù)據(jù)增強的CNN訓(xùn)練在這個任務(wù)上幾乎可以說是“自斷一臂”。昆蟲識別中模型很容易過擬合到背景、光照、姿態(tài)等無關(guān)因素數(shù)據(jù)增強能有效緩解。我自己的增強策略是“適度組合”不會一上來全部拉滿增強手段參數(shù)設(shè)置建議適用場景隨機水平翻轉(zhuǎn)p0.5基本必加隨機旋轉(zhuǎn)±15度昆蟲姿態(tài)多變可加隨機裁剪縮放0.8~1.0模擬遠(yuǎn)近距離變化色彩抖動brightness/contrast ±20%自然光照變化高斯噪聲std0.01戶外圖像常帶噪聲CutMix / MixUp混合系數(shù)α0.2類別多時推薦用Pytorch實現(xiàn)的時候通常配合torchvision.transforms和albumentations庫。我的習(xí)慣是用albumentations做訓(xùn)練集增強換成torchvision的簡單transform做驗證集和測試集只做resize和歸一化。注意驗證集和測試集絕不能用訓(xùn)練集的強增強策略否則會污染評價結(jié)果。3.4 類別不均衡的三種應(yīng)對策略昆蟲數(shù)據(jù)很難完全均衡。這里講三種常用處理方式配合著用效果最好重采樣Oversampling / Undersampling少的類別重復(fù)抽樣多的類別隨機丟棄一部分。實現(xiàn)簡單但要注意別過度重復(fù)導(dǎo)致過擬合。類別權(quán)重Class Weight在損失函數(shù)里按類別樣本數(shù)反比設(shè)置權(quán)重。比如樣本數(shù)多的類別權(quán)重設(shè)為0.5少的設(shè)為2.0。Pytorch的CrossEntropyLoss里可以直接傳weight參數(shù)代碼很簡單。Focal Loss如果樣本不均衡特別嚴(yán)重可以考慮用Focal Loss代替交叉熵。它能自動降低已分類樣本的權(quán)重讓模型更關(guān)注困難樣本。缺點是自己實現(xiàn)時要調(diào)兩個超參調(diào)試成本略高。從實際效果看對于10~30類的昆蟲任務(wù)重采樣類別權(quán)重的組合通常就能達(dá)到可接受的效果Focal Loss屬于“進(jìn)一步提升”的手段。4. 模型搭建與訓(xùn)練全流程現(xiàn)在到了真正的重頭戲。這一部分我會把從加載數(shù)據(jù)到訓(xùn)練完成的整個流程完整過一遍關(guān)鍵的代碼直接貼出來并解釋每一處為什么這么寫。4.1 基礎(chǔ)模型的選型ResNet50是穩(wěn)妥之選在昆蟲識別這種細(xì)粒度分類任務(wù)上模型的“大小”不是越大越好。我推薦的第一選擇是ResNet50理由是平衡性好參數(shù)量適中約26M訓(xùn)練速度可控預(yù)訓(xùn)練權(quán)重容易獲取而且ResNet的殘差結(jié)構(gòu)在特征傳遞上有天然優(yōu)勢對細(xì)粒度特征的捕捉能力經(jīng)過大量工業(yè)驗證。比ResNet50更輕的選擇是MobileNetV3或EfficientNet適合資源受限環(huán)境但準(zhǔn)確率會低一些比ResNet50更大的選擇是EfficientNet-B4-B7或Swin Transformer效果理論上更好但訓(xùn)練時間和顯存成本直線上升。對于畢設(shè)來說我不建議一上來就挑戰(zhàn)Transformer類模型——不是不讓你用而是這個技術(shù)選型會大幅增加調(diào)試成本和計算資源需求性價比不高。4.2 數(shù)據(jù)集加載與預(yù)處理代碼Pytorch加載數(shù)據(jù)用的是torch.utils.data.DataLoader和torchvision.datasets.ImageFolder。這里有一個值得強調(diào)的經(jīng)驗數(shù)據(jù)加載腳本盡量一開始就寫好完整的不要用一遍改一遍的“臨時腳本”。因為數(shù)據(jù)集一旦分割完成后續(xù)又要從頭加載浪費時間不說還容易出錯。import torch from torchvision import datasets, transforms from torch.utils.data import DataLoader # 訓(xùn)練集增強 train_transforms transforms.Compose([ transforms.Resize((224, 224)), transforms.RandomHorizontalFlip(p0.5), transforms.RandomRotation(15), transforms.ColorJitter(brightness0.2, contrast0.2, saturation0.2), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ]) # 驗證/測試集只做尺寸歸一化不做增強 val_transforms transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ]) train_dataset datasets.ImageFolder(rootdata/train, transformtrain_transforms) val_dataset datasets.ImageFolder(rootdata/val, transformval_transforms) test_dataset datasets.ImageFolder(rootdata/test, transformval_transforms) train_loader DataLoader(train_dataset, batch_size32, shuffleTrue, num_workers4) val_loader DataLoader(val_dataset, batch_size32, shuffleFalse, num_workers4) test_loader DataLoader(test_dataset, batch_size32, shuffleFalse, num_workers4)這里有個新手容易踩的坑Resize((224, 224))是直接拉伸如果原始圖片寬高比不是1:1昆蟲會被壓變形。更推薦的做法是Resize(256)之后再CenterCrop(224)或者RandomResizedCrop(224)這樣能保證主體比例更自然。不過由于這類數(shù)據(jù)集的圖片主要來源于網(wǎng)絡(luò)采集多數(shù)接近方形所以直接Resize問題也不大但提前知道這個區(qū)別對你理解數(shù)據(jù)預(yù)處理有幫助。4.3 模型搭建遷移學(xué)習(xí)的正確姿勢遷移學(xué)習(xí)的核心思路是保留預(yù)訓(xùn)練模型在前置層學(xué)到的通用特征邊緣、紋理、形狀然后更換最后的全連接分類頭讓它適應(yīng)自己的分類數(shù)。import torch.nn as nn from torchvision import models # 加載預(yù)訓(xùn)練ResNet50 model models.resnet50(weightsmodels.ResNet50_Weights.IMAGENET1K_V1) # 替換最后一層全連接改為自己的類別數(shù) num_classes len(train_dataset.classes) model.fc nn.Linear(model.fc.in_features, num_classes) # 將模型放到GPU上 device torch.device(cuda if torch.cuda.is_available() else cpu) model model.to(device)很多人問要不要把整個網(wǎng)絡(luò)全部解凍訓(xùn)練還是只微調(diào)最后一兩層。我的經(jīng)驗是分兩步走第一步凍結(jié)特征層把除了最后一層之外的參數(shù)都設(shè)為requires_gradFalse只訓(xùn)練自己加的分類頭。用較小的學(xué)習(xí)率比如1e-3訓(xùn)練幾個epoch這相當(dāng)于讓新加的線性層先熟悉特征的分布。第二步解凍全部層把整個網(wǎng)絡(luò)的參數(shù)都設(shè)為requires_gradTrue用更小的學(xué)習(xí)率1e-4到5e-5繼續(xù)訓(xùn)練全部層。這是因為解凍后如果學(xué)習(xí)率還是很大很可能直接破壞預(yù)訓(xùn)練權(quán)重。實際這兩步的訓(xùn)練時間不會太長但效果比一上來就全量微調(diào)要穩(wěn)定得多。4.4 損失函數(shù)、優(yōu)化器、學(xué)習(xí)率調(diào)度import torch.optim as optim # 損失函數(shù)類別不均衡就加權(quán)重 class_weights torch.tensor([...], devicedevice) # 按樣本數(shù)反比計算 criterion nn.CrossEntropyLoss(weightclass_weights) # 優(yōu)化器AdamW比Adam更穩(wěn)防止過擬合效果更好 optimizer optim.AdamW(model.parameters(), lr1e-4, weight_decay1e-4) # 學(xué)習(xí)率調(diào)度余弦退火衰減 scheduler optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max30, eta_min1e-6)關(guān)于優(yōu)化器的選擇我確實試過SGD和AdamW兩種方案。SGD動量在圖像分類上從理論上看收斂更穩(wěn)但需要精心調(diào)學(xué)習(xí)率和動量參數(shù)對于沒有大量調(diào)參經(jīng)驗的同學(xué)AdamW幾乎是“開了自動擋”省心得多。余弦退火調(diào)度器比固定學(xué)習(xí)率的效果好很多它能讓模型在前半段大步搜索、后半段精細(xì)收斂在昆蟲識別這種“類間差異比較小”的任務(wù)上作用尤為明顯。如果不理解這些細(xì)節(jié)直接照抄這一段問題不大。4.5 訓(xùn)練循環(huán)與模型保存def train_one_epoch(model, train_loader, criterion, optimizer, device): model.train() total_loss, correct, total 0, 0, 0 for images, labels in train_loader: images, labels images.to(device), labels.to(device) optimizer.zero_grad() outputs model(images) loss criterion(outputs, labels) loss.backward() optimizer.step() total_loss loss.item() * images.size(0) _, preds torch.max(outputs, 1) correct (preds labels).sum().item() total labels.size(0) return total_loss / total, correct / total def evaluate(model, val_loader, criterion, device): model.eval() total_loss, correct, total 0, 0, 0 with torch.no_grad(): for images, labels in val_loader: images, labels images.to(device), labels.to(device) outputs model(images) loss criterion(outputs, labels) total_loss loss.item() * images.size(0) _, preds torch.max(outputs, 1) correct (preds labels).sum().item() total labels.size(0) return total_loss / total, correct / total # 主訓(xùn)練循環(huán) epochs 30 # 這是基線輪數(shù)實際要看損失曲線調(diào)整 best_acc 0.0 for epoch in range(epochs): train_loss, train_acc train_one_epoch(model, train_loader, criterion, optimizer, device) val_loss, val_acc evaluate(model, val_loader, criterion, device) scheduler.step() print(fEpoch {epoch1}/{epochs} | Train Loss: {train_loss:.4f} | Train Acc: {train_acc:.4f} | Val Acc: {val_acc:.4f}) if val_acc best_acc: best_acc val_acc torch.save(model.state_dict(), best_model.pth) print(f - 已保存最佳模型val_acc{val_acc:.4f})訓(xùn)練時有一個非常關(guān)鍵的習(xí)慣每個epoch結(jié)束都要在驗證集上評估一次并且只在驗證集準(zhǔn)確率創(chuàng)新高時保存模型。這叫“模型選擇”能夠避免訓(xùn)練到最后過擬合導(dǎo)致val準(zhǔn)確率下降卻把最后一輪的糟糕模型留在手里。4.6 訓(xùn)練過程的檢查清單我每訓(xùn)練一個新模型都會盯著幾個指標(biāo)看一旦發(fā)現(xiàn)異常立刻停訓(xùn)練loss是否平穩(wěn)下降如果前幾個epoch loss反而上漲十有八九是學(xué)習(xí)率太大或代碼有bug訓(xùn)練acc與驗證acc的差距如果差距超過10%以上說明嚴(yán)重過擬合驗證acc是否震蕩很大可能批次太小、數(shù)據(jù)噪聲較大或類別不均衡嚴(yán)重訓(xùn)練時間是否在合理范圍單epoch遠(yuǎn)超預(yù)期時先檢查DataLoader的num_workers和CPU/GPC占用情況有次做模擬項目時我發(fā)現(xiàn)訓(xùn)練acc很快逼近100%但驗證acc只有70%左右這就是典型的過擬合信號。當(dāng)時做的最有效的處理是增強數(shù)據(jù)增強的強度并加大weight_decay到1e-3。這個經(jīng)驗可以套用到絕大多數(shù)昆蟲識別項目上。5. 提升準(zhǔn)確率的進(jìn)階優(yōu)化方法如果你只想要一個“能交差”的模型做到上面那部分其實已經(jīng)夠了。但如果你希望在答辯時能挺直腰板講“我這個課題不只是跑通了一個網(wǎng)絡(luò)”那這一部分的內(nèi)容就要好好琢磨了。5.1 細(xì)粒度分類思路昆蟲任務(wù)的關(guān)鍵難點昆蟲識別比一般的貓狗分類難在“類間相似”。比如菜粉蝶和云粉蝶、螳螂和竹節(jié)蟲外形差異真的很細(xì)微普通CNN只做全局特征分類很容易弄混。解決這類細(xì)粒度分類Fine-Grained Image Classification有幾個常見思路多尺度特征融合讓模型同時看到昆蟲整體的輪廓和身體局部的紋理。實現(xiàn)上可以在ResNet的某些中間層額外引出一個分支把淺層高分辨率特征和深層語義特征拼接在一起。常見的做法是改用類似ResNetFPN的結(jié)構(gòu)做特征融合。注意力機制在主干網(wǎng)絡(luò)后面加一個Squeeze-and-Excitation模塊或CBAM注意力模塊讓模型更關(guān)注昆蟲的判別性區(qū)域比如翅脈紋理、觸角形態(tài)。這個改動很小代碼量也不多但經(jīng)常能有1-2個百分點的提升。雙線性池化這是數(shù)年前細(xì)粒度分類的標(biāo)準(zhǔn)做法之一用兩個特征提取器的外積來建模局部特征的二階統(tǒng)計信息效果不錯但計算量偏大、訓(xùn)練維度很高現(xiàn)在用的人不多了。對于本科畢設(shè)來說我建議最多在架構(gòu)里加一個注意力模塊比如直接在ResNet的每個Block后加SE就足夠了既能體現(xiàn)你對細(xì)粒度分類的理解又不會給自己挖太大的坑。5.2 用Grad-CAM做可視化分析Grad-CAM是答辯環(huán)節(jié)的“大殺器”。它能把模型做分類時的注意力區(qū)域以熱力圖形式畫出來直觀顯示模型是依據(jù)昆蟲的哪個部位做出判斷。這在論文里放兩張圖整個工作的可信度和深度都不一樣了。import numpy as np import cv2 import torch from torchvision import models, transforms # 選取目標(biāo)層ResNet50最后一個卷積層是 layer4[2].conv3 model._modules.get(layer4) target_layer model.layer4[-1] def grad_cam(model, input_tensor, target_layer): gradients [] activations [] def forward_hook(module, input, output): activations.append(output) def backward_hook(module, grad_input, grad_output): gradients.append(grad_output[0]) hook_f target_layer.register_forward_hook(forward_hook) hook_b target_layer.register_backward_hook(backward_hook) output model(input_tensor) pred_class output.argmax(dim1).item() model.zero_grad() one_hot torch.zeros_like(output) one_hot[0][pred_class] 1 output.backward(gradientone_hot) hook_f.remove() hook_b.remove() weights gradients[0].mean(dim(2, 3), keepdimTrue) cam (weights * activations[0]).sum(dim1, keepdimTrue) cam torch.relu(cam).squeeze() cam cam.detach().cpu().numpy() cam (cam - cam.min()) / (cam.max() - cam.min()) return cam # 使用時用opencv把熱力圖疊加到原圖上用Grad-CAM做錯誤樣本分析非常有意思比如你發(fā)現(xiàn)模型把某種甲蟲錯認(rèn)成另一種甲蟲看熱力圖就會發(fā)現(xiàn)模型在看它們同樣色澤的鞘翅而忽略了腿部的明顯差異。這個分析寫進(jìn)論文的“錯誤分析”章節(jié)比空泛地說“可能是特征不夠”強太多了。5.3 模型集成的簡單做法要不要做集成Ensemble我的觀點是如果答辯時間緊做簡單一點的集成可以穩(wěn)定提高1-3個百分點但如果時間很緊做一個模型也完全夠。集成最簡單的形式是“投票法”用兩個模型比如ResNet50和EfficientNet-B0分別預(yù)測最后按類別概率加和取最大概率的類別。實際項目中我用的集成策略是這樣的單獨訓(xùn)練ResNet50做baseline單獨訓(xùn)練EfficientNet-B0做對照模型預(yù)測階段把兩個模型的輸出概率做加權(quán)平均權(quán)重分別是0.6和0.4綜合得到最終預(yù)測這個做法的好處除了準(zhǔn)確率略高還能寫出“不同結(jié)構(gòu)模型在不同類別上的互補性”很有論文味。缺點就是訓(xùn)練時間翻倍好在現(xiàn)在的GPU資源比較充裕跑一個輕量模型不算太久。6. 展示與部署交付一份超出預(yù)期的畢設(shè)很多同學(xué)把模型訓(xùn)練完、準(zhǔn)確率夠了就直接寫論文覺得萬事大吉。但我的經(jīng)驗是畢設(shè)是一個“項目”不是一篇“報告”。如果能在交付物里加一個可交互的Web界面或者Demo程序給老師的印象會完全不一樣。6.1 用Flask做一個簡單的Web識別界面Python做Web最簡單的答案就是Flask。模型推理的過程可以封裝在一個函數(shù)里然后通過Web接口暴露出來。核心代碼不復(fù)雜from flask import Flask, request, jsonify, render_template from PIL import Image import torch import torchvision.transforms as transforms app Flask(__name__) # 模型加載放在全局變量只做一次 model load_trained_model(best_model.pth) class_names load_class_names(class_names.txt) app.route(/, methods[GET, POST]) def index(): if request.method POST: file request.files[image] image Image.open(file.stream).convert(RGB) # 預(yù)處理并預(yù)測 ... return jsonify({prediction: class, confidence: prob}) return render_template(index.html)這個界面不需要很花哨居中放一個上傳框點擊圖片后展示識別結(jié)果和置信度就夠用了。如果你對前端不熟完全可以用H5寫一個極簡頁面不要被“Web開發(fā)”這個詞嚇到。6.2 打包成桌面/Demo程序的可選方案如果你不太擅長Web另一個思路是用Streamlit這個框架對Python開發(fā)者特別友好代碼量比Flask還少。比如import streamlit as st from PIL import Image st.title(昆蟲識別系統(tǒng)) uploaded st.file_uploader(上傳昆蟲圖片, type[jpg, png]) if uploaded is not None: image Image.open(uploaded) st.image(image, caption上傳的圖片, use_column_widthTrue) pred, conf predict(image) st.write(f識別結(jié)果{pred}置信度{conf:.2%})Streamlit的魅力在于你不需要寫HTML和JavaScript只要把“讀取圖片→預(yù)處理→模型推理→展示結(jié)果”用Python寫完它自動幫你渲染成網(wǎng)頁。用在畢設(shè)Demo上非?!澳艽颉?。6.3 可視化與論文配圖論文里除了必要的圖表之外還建議制作一張“類別識別效果”的典型圖片矩陣。做法很簡單每個類別挑兩三張代表性圖片上面標(biāo)注模型預(yù)測的類別和置信度。這個圖放論文正文或者答辯PPT里直觀易懂還顯得你特別用心。混淆矩陣的熱力圖也是必備推薦用matplotlib配合sklearn.metrics.confusion_matrix生成配色選暖色調(diào)一眼就能看出分類問題在哪里。7. 常見問題與排查技巧實錄最后這部分可能是對你最有直接幫助的。我把做這個項目時比較容易踩的坑按問題現(xiàn)象、原因分析和解決辦法整理成一份“速查表”建議你收藏備用。7.1 訓(xùn)練過程不收斂或者loss飛了現(xiàn)象描述loss不降反升或者訓(xùn)練acc在50%左右來回震蕩遲遲上不去??赡茉蛉绾闻袛嘟鉀Q方式學(xué)習(xí)率過大前幾個epoch loss劇烈波動把初始學(xué)習(xí)率降低1個量級從1e-4降到1e-5數(shù)據(jù)處理出錯某些標(biāo)簽和圖片對應(yīng)錯亂隨機抽幾張訓(xùn)練樣本可視化檢查標(biāo)簽匹配模型沒有正確加載預(yù)訓(xùn)練權(quán)重早期acc就低于10%打印模型權(quán)重確認(rèn)fc層是自己的分類數(shù)歸一化參數(shù)錯誤圖片在transform里變成了黑圖或噪聲圖檢查mean/std用的ImageNet標(biāo)準(zhǔn)值是否正確其中最容易忽視的是“數(shù)據(jù)打亂不徹底”。如果你用ImageFolder讀取數(shù)據(jù)時忘了shuffleTrue那每個batch里的樣本其實都是按文件夾順序來的模型會學(xué)到一種非常虛假的“順序規(guī)律”驗證集上則一塌糊涂。7.2 類別不均衡導(dǎo)致小類完全識別不出這是昆蟲任務(wù)里非常典型的問題。解法思路在前面已經(jīng)提過這里給一個最優(yōu)的操作順序先統(tǒng)計各類別樣本數(shù)確認(rèn)不均衡程度給CrossEntropyLoss加weight如果效果還是不行用重采樣把少類的圖片重復(fù)讀入最后如果還不行考慮Focal Loss我自己的經(jīng)驗是第2步通常能解決大部分問題第3步容易引入過擬合因為重復(fù)樣本會讓小類記憶化所以配合數(shù)據(jù)增強使用第4步是最后的兜底手段。7.3 顯存不夠怎么辦如果你的GPU只有顯存較小的卡或者根本只有CPU也不是完全沒轍減小batch_size比如從32降到8或4這是最直接的辦法換輕量模型比如EfficientNet-B0、MobileNetV3開啟混合精度訓(xùn)練Pytorch里的torch.cuda.amp能省將近一半顯存且速度更快凍結(jié)前面大部分層只訓(xùn)練最后分類層能大幅減少顯存占用對CPU訓(xùn)練我要潑一盆冷水ResNet50在純CPU上跑30輪每類20張、總共3000張數(shù)據(jù)可能要跑十幾個小時。如果確實沒有GPU建議用Google官方出品的Colab免費GPU云服務(wù)或者AWS的免費額度這都是很多開發(fā)者常用的方式能很大程度緩解算力焦慮。7.4 訓(xùn)練很久但測試集準(zhǔn)確率不高如果你在驗證集上評估得還不錯比如88%但測試集準(zhǔn)確率只有70%原因幾乎總是“測試集分布和訓(xùn)練集差異太大”。解決方法有兩個檢查test數(shù)據(jù)是否預(yù)處理正確尤其是刪除過強增強操作如果test圖片來自模型沒見過的場景比如燈光很暗、背景雜亂最簡單有效的方式是再做一次模型外部的數(shù)據(jù)清洗將質(zhì)量明顯偏差的測試圖片剔除或補充同類數(shù)據(jù)把分布拉回來另外不要忘了早停的重要性。我在一個項目中遇到的最佳epoch是第17輪而如果訓(xùn)練滿30輪再保存后面幾輪已經(jīng)在過擬合了。所以“每輪都評估、只存最優(yōu)”這個習(xí)慣價值非常高。7.5 答辯時最容易被問的幾個問題結(jié)合我評審和旁聽過多次答辯的經(jīng)驗老師圍繞這個選題通常愛問這些建議提前準(zhǔn)備好答案為什么選擇CNN而不是傳統(tǒng)機器學(xué)習(xí)算法識別昆蟲你的模型性能瓶頸在哪幾類昆蟲之間為什么和其他分類方案相比你的方法準(zhǔn)確率提升的原因是什么如果數(shù)據(jù)量擴大10倍你的方案要做什么調(diào)整如果要把你的模型部署到田間地頭的移動設(shè)備上有什么限制這些問題都回答得好的前提是你確實清楚自己做了哪些實驗、每個實驗結(jié)果是什么、優(yōu)缺點在哪里。如果有Grad-CAM可視化圖、混淆矩陣、多指標(biāo)評估表格放在PPT里每個問題都能對號入座地答上。最后做這個題目時我最想提醒你的一點做這種畢業(yè)設(shè)計題目最容易犯的錯不是不會寫代碼而是拿到一個現(xiàn)成的模型就開跑從頭到尾只是把數(shù)據(jù)集喂進(jìn)去、看準(zhǔn)確率。如果只是為了跑通那個準(zhǔn)確率數(shù)字這個題目就變成了純粹的體力活。我在實際做這類項目時最大的體會是把每一個“為什么”都搞清楚才能真正把項目變成自己的東西。比如學(xué)習(xí)率為什么不能設(shè)得太大、為什么小類別的召回率總是不高、為什么模型會把某種蜜蜂和某種蠅類搞混。這些問題不是論文里的空話而是你真正調(diào)試時會一次次碰到的東西。當(dāng)你把這些原因和解決辦法寫進(jìn)論文那么這篇畢設(shè)論文就不再是“用CNN做了一個昆蟲分類”這種一句話能講完的題目而是一個有分析、有對比、有說服力的完整工作。如果你決定做這個題目我的最后建議是先別急著下載數(shù)據(jù)先把類別設(shè)計、評估指標(biāo)、設(shè)備環(huán)境這三件事敲定下來。這三件事定了后面所有代碼和實驗都只是執(zhí)行問題。祝順利。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲AV永久无码一区仙野| 夜夜爽夜夜操| 国产AV中文| 97色色视频| 一本色道久久综合亚洲二区三区| 在线观看岛国有码| 夜夜骑日日| 麻豆AV一区二区| 亚洲图片另类| 日韩97视频!在线| 亚洲综合第一页| 中文字幕国产精品1区| 国产精品美女| 男女猛烈无遮掩视频免费软件| 亚洲av性爱电影| 熟妇视频一区二区三区在线观看| 女人双腿搬开让男人桶| 麻豆亚洲AV成人无码久久精品| 久久內射| 丁香九月激情| 国产亚洲精品激情| 热久久无毒不卡| 欧美日韩中文亚洲v在线综合| 亚洲第一页综合在线| 91精品综合久久久久久五月丁香| 尤物一级在线免费观看| 美女视频尤物网在线看| 国产又黄又粗的视频| 超碰在97| 97超碰jingpin| 2020中文在线一区二区三区| 日日不卡av| 久久av色| 情色五月天久久久| wwwss在线观看| 亚洲欧美在线观看免费| 久操97| 啊啊啊啊啊啊啊啊啊啊在线观看| 婷婷国产精品九区| 国产黄色动态精品| 亚洲日产专区婷婷| 韩日巨乳美女免费视频在线观看| 老女人老91妇女老热女| 91N综合在线| 久操大香蕉| 日韩丝袜二区| 99热精品在线播放| 丝袜美腿制服人妻二区中文字幕| 黄色大片免费在线| 少妇超碰在线| 五月婷婷啪啪| 亚洲日韩一区电影| 亚洲欧美精品91| 狠狠操夜夜操蜜桃视频三区| 日韩精品影视| 亚洲老司机123专区| 亚洲性少妇| 久久精品72| 国产丰满少妇久久久精品影院| 亚洲中文字幕97久久精品少妇| 9l视频自拍9l九色成人| 青青草自拍视频在线播放| 另类小说五月天| 熟女人妻久久中文字幕一二区| 91c色| 九九探花视频在线观看| 99啪啪| 夜夜操av亚洲一区二区| 欧美精品庄| 蜜桃精品一区二区三区久在线| 久9爱经典视频| 330dv亚洲成年视频网| 国产一区二区三区,在线观看观看| 日本久久999| henhen91| 自拍偷拍 高清无码| 中文字幕av乱伦| 中文字幕乱在线伦视频中文字幕乱码在线 | 奸色色 男人天堂 天天射| 韩日男人的天堂| 蜜桃色院一区久久 | 粉嫩粉嫩一区性色AV片| 婷婷在线播放| 丰满欧美少妇| 国产久久一区二区| 久草午夜| 欧美黄色片AAAAA| 熟女一区二区| 中文字幕成人乱码熟女精品国50| 东京热男人的天堂精品| 九九九久千久久激情蜜桃在线看| 久久久无码精品人妻二区 | 久操操AV电影| 六月色婷婷| 亚洲色图综合网| 久久久少妇| 日韩日本欧美在线观看| 免费啪啪av| 无码9区| 日韩免费a级毛片无码a∨| 欧美成人性爱视频免费观看| 超碰人人妻| 超碰97导航| 老熟女乱伦一区| 欧美淫穴| 九九九九九精品视频| 九九综合久久中文字幕| 色综合中文字幕不卡| 日韩欧美三级| 精品一区二区人妖| 国产精品乱码久久久久久| 丁香婷婷五月| 草伊人高潮喷水超碰| 久久国产乱子伦精品免费女,网站| 国产精品国产精品国产| 亚洲日韩精品在线播放| 一区麻豆 高清中文字幕| 老司机免费视频在线91| 亚洲天堂一区二区久久| 麻豆人妻精品一区二区| 一区二区三| 九九在线精品| 日韩精品资源专区二区| 日韩乱伦视频| 91美女国产在线| 亚洲第一狼人丝袜美女另类| 国产精品粉嫩福利在线| 日本久久99| 就去色综合| 亚洲精品一区二区精品| 成人综合网 欧美| 被男人添B超爽视频| 欧美高潮在线| 强奸乱亚洲| 亚洲精品国产拍免费91在线| julia高潮后不停追击中出| 国产一区二区在线看| 91在线无码精品秘 软件| 久久久久国产精品人妻aⅴ天堂| 手机在线看片免费人成视频| 狠狠躁伊人中文字幕| 天天插天天插| 欧美天天干| 色综合加勒比四四季| 免费国产电影一区二区| 久插综合| 国产又操| 91狠狠综| 日本久久999| 国产 v乱码一区二| 黄色香蕉视频网站一区| 精品欧美日韩在线观看| 大香蕉123| 97超碰磁| 天天看高清麻豆| 操逼逼无码| 九九热精品视频六| 操91| 91性高朝久久久久久久久| 人人噜夜夜操| 五月婷在线| 26uuu欧美日韩| 老熟女综合网 | 蜜臀久久99精品久久久| 九九九九九用不成了| 国产11页| 最新日产中文在线麻豆| 国产v亚洲v日韩v欧美v片另类| 五月激情视频| 美國A片| 色综合超碰超| 久久精品中文字幕女同| 欧美日日网| 深田咏美亚洲精品福利社| 熟女人妻精品一区二区视频 | 九热久| 久久爱超碰网| 欧美熟妇乱码在线一区| 中文字幕一区av| yellow网站免费观看日韩高清无码| 欧美 色 亚洲| 熟妇激情| 亚洲日韩AV视色| 午夜爽爽爽在线观看永久入口姬片| 国产成人五月天丁香花| 天天综合网亚洲综合网| 色色色综合| 999亚洲国产视频| 麻豆成人AV| 国产精品一区二区后入| 亚欧美综合网。| 免费的av网| 99亚洲精品| 一级免费啪啪片| 51国产午夜精品视频| 97视频播放| 人妻熟女字幕一区二区| 日本性爱少妇| 成人性爱视频在线看| 国内偷拍精品一区二区| 97在线免费观看| 极品色综合| 欧美九九九九九| 国产吹潮女在线观看| 欧美激情久久久久| 亚洲天堂美臀在线| 亚洲欲| 日日妻色网| 欧洲小说色图视频另类| 春色综合免费| 人妻少妇无码| 啊啊啊啊啊好多水| 亚洲色图图片| 色综合一本| 亚洲在线| 人人干人人操人人爱| 日韩电影在线观看网址| 日本成人A片网站| 黄色操人| 国产AV激情无码久久无码| 日韩无码a片| 国产日产精品久久快鸭的功能介绍| 亚洲图片色图欧美另类| 无码国产Av| 无码人妻精品一区二区中文| 中文字幕成人理论在线| 五月天色五月| 欧美久久草熟女| 91白嫩| 91亚洲网站| 国产精品懂色tv影视免费观看| 91久久青青草原精品| 亚洲无992tv| 在线播放免费av福利片| 日韩中文字幕在线视频观看| 激情五月天婷婷| 嗯嗯嗯,草死我| 国产综合久久久鬼色| 操91| 精品国产乱码久久久久久网站入口| 啊啊啊啊啊啊好多水| 日韩精品在线放| 性爱乱伦网址| 另类av综合久久| 九九热精品视频六| 国产精品爱欲| 亚洲乱熟女一区二区三区大香蕉| 二区熟妇韩日| 欧美色图另类图片| 久久黄片国产一区二区| 插入综合网| 夜夜青青无码影院| 最新日本中文字幕| 中文字幕老熟妇黄色视频| 在线亚洲精品久久久| 国产天天骚| 极品色电影院| 69av一区二区三区| 久久综合五月天| 91天美传媒在线观看| 天天久久| 五月婷婷大香蕉| 日韩精品9999| 亚洲不卡三级手机播放| 91搞逼视频| 婷婷五月丁香五月| 青青青草伊人精品| 国产精品久久久久久高清无码免费看| 中文字幕成人| 欧美日韩中国x| 日本中文熟女视频| 俞拍自拍| 小少妇| 91殴美| 青青青草原| 国产成人精品日本视频| 亚洲乱码精品一区二区| 无码国产精品午夜不卡( | 午夜性| 91插B网站| 亚洲性爱电影| 熟妇视频一区二区三区在线观看| 欧美性爱无码一区二区三区| 久久精品免费| 久久超碰网| 青草视频在线看看看看看看看看看| 九九九九九九九九九九九蜜桃| 日本潮催一卡操| 亚洲欧美精品一区天堂久久| 91欧美网| 岛国小电影| 欧美乱欲| 看黑人AV不卡| a片 xxxx受爽视频| 成人 日韩欧美一区| 精品成人久久久人人亚洲| 偷窥自拍亚洲| 婷婷爱五月| 大香蕉日韩| 亚洲……91| 天天干18禁| 激情AV| 久久久久久九九九九九| 加勒比大香蕉视频在线| 日韩亚洲欧美中文字幕| 亚洲丝袜B诱惑| 99无码狠狠久久| 1956日韩精品| 亚洲欧美精品国产一区二区| 韩日自拍| 日日夜夜天天| 精品无码一区二区三区色欲| 超碰视97中文| 五月婷婷综合网| 麻豆精品一区二区三区四区免费观看| 啊啊啊啊啊在线观看网址| 84YTCOM性无码| 91在线丝袜视频| 欧美很很操视频| 天天久久| 久久久内射良家| 伊人五月天| 91成人无码| 台湾大香蕉99热| 日本国产欧美高清在线| 91高潮| 亚洲色图a| 国产人妻天天干精品| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 精品-91人妻子系列| 91综合天天看| 九一综合精品视品av| 啪啪AV导航| 99热这里都是精品| 男人网站婷婷| 伊人久久国产免费观看视频| 欧美一区二区观看在线| 97综合| 日本一久是| 久久香蕉国产传媒一区剧情天美| 亚洲图片激情综合另类| 亚洲成人在线乱码色午夜| 大鸡吧尹人在线| 日本久操视频| 亚洲强奸乱伦影视网| 91人妻少妇| 蜜臀av网址| 丰满人妻一区二区三区在线| 国产97色在线| 色呦呦呦在线观看视频| 国产成人在线观看网址| 五月天AV资源| av线电影| 麻豆久久久久久久久丝袜| 亚欧高清在线| 国内毛片婷婷六月色| 啊啊啊网站| 中日韩久久久免费看| 久久精品72| 五月丁香综合网| 久久久久久久国产a∨| 欧美黄色手机在线观看| 久久久97| 精品久久久久久久| 人妻第一页| 一本一道久久综合久久| 国产三级中文字幕粉嫩| 啊啊啊啊啊好舒服视频| 狠色婷婷久久一区二区三区_| 1024亚洲中文字幕久在线看片你懂的| 亚洲日本韩国在线| 911粉嫩人妻| 无码聚合| 一区二区三区视频在线观看免费| 日韩欧美中文日韩欧美色| 国产极品粉嫩馒头一线天av| 久久性爱视频免费看| 久久午夜色播影院免费高清| 国产精品久久| 啪啪啪综合网| 日本在线观看网址| 国产无马在线| ,成人免费啪啪视频| 超碰色男人操熟女| 久久久久久亚洲中文| 人妻偷拍一区二区三区| 色综合V| 99这里只有精品国产| 在线岛国新天堂8| 国产亚洲女v在线观看| 国产美女口爆吞精视频| 性久久| 91精品啪在线观看国产城中村| 日韩 欧美 视频 在线 一区| 日韩成人性爱电影在线播放| 久久婷婷精品| 涩爱AV在线| 大香蕉中文aV在线| 精品综合久久久久久97| 人妻少妇精品视频一区二区三区| 久久日本熟妇熟色一区| 日韩无码精品综合久久| 国产精品蜜乳AV| 狼人久草| 91丝袜美腿网站| 久久伊人青青草| 欧美综合网1| 97 国产精品| 91n欧美| 亚洲伊人成综合成人网| 看日韩操逼| 久久思思热| 9久久9综合| 精品中文一区二区| 欧美色网络| 自拍偷拍第26| 免费的黄片wwwwww| 夜夜高潮夜夜爽高清视频一| 碰超人人在线一区二区三区| 中文字幕欧美丝袜07资源| 国产黄色在线播放观看| 激情久久av一区av二区av| 色色热| 亚州中文字幕超碰97| 2019男人的天堂| 亚洲国产美女久久久久| 天天躁日日躁AAA片李宗瑞| 欧美成人精品A片免费一区99| 亚洲男人天堂2012| 91操熟女视频| 3P乱轮视频| 精品四五区| 4虎在线视频| 97超碰站| www.91色综合| 人澡逼| 国产在线综合福利网站| 婷婷色播婷婷| 99热8| 偷拍偷窥与盗摄视频专区| 去干网最新版| 日本黄色裸日本黄色裸体| 啊啊啊啊免费视频| 欧美日韩 强奸乱伦| 日韩女优中文字幕| 97欧美日韩精品| 国产成人精品无码久久| 欧美页片| 好看的久久不射无码影视影院| 男人天堂新在线| 久久性爱网站| 天欧美在线| 激情国产乱伦Av| 精品十三区| 午夜小电影在线插入淫高潮| 色色色色色色色色色色色色色色综合| 正宗无毛一线天嫩逼| 一本大道不卡一二三区| 欧美激情一区二区| 欧美性爱精品七区| 欧美日韩国产中文超碰| 精品人妻一区二区三区四区不卡在| 福利在线黄片| 久久成人东京热人妻| 太久视频| 51一区二区三区| 亚洲欧美999| www.99热| yiqicaoav| 久热久一区二区三区| 欧美色图亚洲激情| 欧美日韩m| 欧美第二页| 色噜噜综合在线| 亚洲熟女av中文字幕| 男人天堂2019亚洲| 亚洲色欧美| 精品人妻一区二区三区-国产| 热99这里有精品综合久久| 亚洲色吧网| 久久一区二区三区四区五区| 丝袜内射| 久久久久亚洲AV无码专区少妇| 久久一二三四五六七八九区区| 欧美亚洲一级在线观看| 天天摸天天舔天天操| 日本熟妇人妻中出视频| 日本久久久久久久久久| 九九久久九九久久| 亚洲精品乱码线路中文字幕 | 女性喷水高潮在线观看| 东京热av男人的天堂| 亚洲欧美在线观看免费| 久久久青青草| 老师充足的奶水小说| 午夜操逼不卡| 夜夜嗨一区| 日韩97超碰中文字幕| 福利视频香蕉免费一区二区在线| 综合91网| 红杏大香蕉| 欧美在线永久天堂| 亚洲色图片区| 激情图片亚洲色图| 亚欧性爱在线无码| 国产无码久久高清| 超碰 国产熟女精品一区| 丁香五月社区| 久操凹凸视频| 久久久久久精| 精品妇操一区二区三区| 九九九网页| 日韩av影片在线观看| 欧美色涩| 加勒比无码毛片| 熟妇一区二区三区| AV中文在线| 精品人体无圣光凹凸| 亚洲人妻五月丁香婷婷| 九九热精彩视频| 久久久蜜桃一区二区三区| 亚洲无吗在线视频| 色欲天天综合久久久无码网中文| 中文无线日韩一区| 亚洲精品国产精品乱码不卡| 嗯嗯啊操我| 中文字幕成人理论在线| 人人操 欧美| 熟妇人妻精品一区二区| 美女骚尻视频| 91天天爱| 91夜夜蜜桃臀1区2区3区| 九九色精品| 日韩欧美一级特黄大片| 人人操我人人干| 插入逼91| 亚洲丝袜综合| 怡红院久久老司机| 91精品少妇搡搡搡| 人妻熟女一区二区| 99精品人人爽| 日本最新免费韩国1区2区视频播放| 熟妇在线视频一区二区| 丁香五月激情综合| 五月天婷婷久久| 午夜久久无码1000合集| 日本一本道A级黄色毛片试看60分钟| 伊人热综合| 日本道不卡| 人妻欧美| 91亚洲色图| 亚洲毛片基地专区| 亚洲人久久久久日| 天天噜| 欧美综合亚洲综合| 欧美精品97| 熟妇视频一区二区三区在线| 亚洲a色| 少妇三p| 麻豆熟妇乱妇熟色A片在线看| 国产精品大屁股999| 亚洲综合色在线| 夜夜国自区| 亚洲自拍小说| 精品久久久久综合无码| 69一区二区三区| 国产精品自拍视频| 人妻偷拍一区二区三区| 欧亚性爱在线视频| 91在线视频观看国产| 日本视频在线观看污污污| 美国aaaaa一级黄片| 日韩不卡毛片Av免费高清| 一级久久久久久久久久久| 亚洲欧美中文日韩视频中国语| 狠狠色综合网| 91久久久久久久久久久| 青青草大香蕉在线视频| 五月天亚洲网| 男人天堂资源| 国产乱伦亚洲| 9l视频自拍9l九色成人| 97资源超碰| 操学生天天| 在线播放中文字幕| 久久超碰97| 亚洲阿v天堂无码z2018| 91人妻Pr| 91在线限制级| www久久精品| 97超碰中文在线| 天天插夜夜操| 色噜噜婷婷| 狠狠搞 亚洲91| 久久精品男人的天堂| 亚洲日韩电影| 亚洲av影院在线观看| 男人的天堂啪啪啪啪啪蜜桃不卡| 91国产大片| 亚洲自拍小说| 黄色片一区二区三区四区五区| 久久亚洲精品成人av| 久jiu久神马影院| 欧美色图人妻| 国产成人亚洲精品无码最新在线| 色欲日韩欧美在线一区| 2025亚洲男人天堂| 久久亚洲日韩熟女精品| 国产操逼视频在线观看| 3571色综合一区二区二区| 蜜臀99999| 97久久国产精品女不卡| 午夜电影在线观看无码专区| 九久9热| 亚洲 欧美 第一页 | 中国小夫妻勾搭露脸淫荡对白| 欧美男人的天堂| 成人七区| 午夜天堂精品久久| 精品人妻av区天天看片| 日韩AV熟女乱伦| 天天天天天天天天综合| 亚洲国产美女久久久久| 99久久综合| 国产精品69久久久久孕妇欧美| 久操91视频| 五月婷婷综合网| 欲综合网| 国模吧 一区二区三区| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 偷拍色图| 精品国产一区二区三区香蕉欧美| 欧美成人亚洲精品| 麻豆久久精品亚洲精品88| 午夜精品视频777| 无卡一区=区| 一级黄色性爱A级片| 日日黄色三级网站| 超碰精品国产无码| 熟女自慰久久久| 亚洲国产精品久久AV| 欧美色棕合| 午夜毛片亚洲精品片国产久久久| 99热久| 久久99九九九九6666免费观看软件| 人人射人人操人人摸| 屁股久久久久久久久| 日韩精品人妻一| 色呦色呦色精品| 搡老人老9丨女老熟人| 欧美影音在线| 亚洲成a人在线观看久| x97av| 国产精品无码av| 狠狠爱夜夜干| 日本在线视频导航| 久久精品操| 九九亚洲| av网站在线看| 亚州乱码中文字幕综合久久久| 91精品人妻偷情| 大香蕉啪啪啪啪在线| 欧美性爱1080p| 人妖欧美一区二区| 人人天天欧洲| 成人精品久久久午夜福利| 久久爽爽精品| 国产精品熟女丝袜一区二区| 日本一线产区和二线产区伦理片| 猛交交| 视频一区二区三区精品| 色偷综合| 麻豆国产尤物AV| 亚洲精品自拍| 韩日自拍| 女同亚洲欧美一二三区久久电影| 国产精品成久久久久午夜午夜| 91天天爱| 天天爽夜夜操| 亚洲无码太久| 伊人97| 91色黑人少妇| 亚洲四虎熟女精品| 中文操逼字幕| 欧美精品,四区。五区| 久久人妻视频网| 日韩中文字幕精品一区在线| 久热精品在线| 9久久美女首页| 婷婷天堂站| 久久透逼视频| 另类欧美综合| 婷婷精品国产一区二区三区日韩| 丁香五月性| 日韩高清黄片| 91人妻人人澡人人爽人人精品| 欧美熟妇操操视频| 亚洲激情在线| 欧美日日操| 久操97| 乱操9999| 性爱AV天堂| 欧美嗯啊……在线观看视频免费| 亚洲成a人片在线观看中文!!!| 性猛交| www久久精品| 欧美少妇内射| 天天干一区二区| 午夜色婷婷| 国产精品无码av嫩草| 伊人国产成人av网站| 熟妇高潮二区三区| 99黄页网站| 丝袜狠狠草尤物人妻av91| 狠狠爱综合| 国产精品色片一区二区| 亚洲色图尤物视频| TS人妖另类精品视频系列 | 中日高清无码操逼视频| 日韩激情小说一区二区| 国产在线综合网| 女色综合| 91性情| 91痴汉| 97少妇人妻中文字幕久久| 色眯眯射| 亚洲AO在线| 婷婷三区| 中文伊人大香蕉视频| 五月丁香啪啪啪| 99自拍视频在线观看| 婷婷中文网| 男人的天堂亚洲| 精品一区二区成人动漫| 人妻乱仑一区二区三区| 男人a天堂手机在线版| 色就色综合| 久久久久久久伊人精品| 亚洲高清无毛一区二区| 国内亚洲高清无码| 在线毛片片免费观看| 99精品国产户外露出| 亚欧高清| 国产乱伦性爱区| 久久男人精品| 欧美另类精品xxxx| 韩国午夜理伦三级好看| 国产强奸超碰AV| 久久曰曰| 亚洲欧美激情另类色图| 精品久久久久,69国产成人精| 亚洲天堂区| 啊啊啊啊视频免费| 99RE在线视频精品,这里只有精品| 二对二中文字幕。| 精品性爱久久视频| 青青草原成人| 啊啊啊久久| 高清国产精品福利网站| 国产精品一区二区手机看片| 欧亚性爱在线视频| 一本一道vs波多野结衣| 蜜乳av首页| 蜜臀久久99精品久久久老,,| 香蕉一区二区三区在线视频| 97碰碰日本乱偷人妻中文的| 欧美日本视频一区| 色妇综合网| 国产视频一区二区三区在线免费观看| 二男一女成人A片| 无码自拍SM| 偷拍欧美激情| 另类专区加勒比| 欧综合网| 国产成人午夜视频网址| 视频国产成人精品日本亚洲18| 国产精品无码久久久久2025| 久草老司机| 欧亚性爱在线视频| 亚洲揄拍网| 久草免费福利在线播放| 日本高清一区二区在线| 天天看综合网| 中文字幕一区二区三四五区日日骚| 精品一区99999| 啊啊啊啊好爽好舒服一区二区易域| 国产在线能看的你懂的| 在线无码操| 在线天堂999| 天天爽入口| 爱妃国产亚洲视频中文字幕| 3p国产欧美99热| 高清不卡一二三区视频......| 东方亚洲在线操逼天堂| 欧美色图亚洲激情| 午夜福利视频在线一区| 91暧暧| 欧美专区17页| 日韩熟女操逼| 激情六月婷婷| 熟女露脸激情自拍视频| 一级黄色性爱裸体视频| 久久五月丁香| 999 久久久| 操屄日韩| 丁香六月天| 欧美九一精品久久久熟妇| 午夜福利一区二区影院| 美女超碰978| 99精品无码| 一区二区三区黄片免费观看| 黑丝91视频| 熟妇视频一区二区三区在线| 全免费a敌肛交毛片免费| 久热精品色情| 中文字幕在线观看网址| 熟女乱伦二区| 尤物视频网 刘玥| 超碰无码加勒比| 极品丝袜无码| 久久一区二区三区四区五区| www.激情| 加勒比色99999| 福利在线黄片| 天天天操天天天爱| 亚洲97久久精品亚洲| 熟妇高潮一区二| 国产超碰AV在线精品| 久久久久久大| 日韩欧美亚洲自拍偷拍| 国产蜜臀精品一区免费尤物| 婷婷午夜清品久久久久久久性色视频观| 综合欧美日韩在线观看| 亚州色图片在线色| 约操熟妇| 欧美日韩97在线| 久久久精品无码亚免费| 97av,com| 国产超碰| 久久久久久久久久久久97 | 后入人妻一区| 欧美v亚洲v综合v国产v妖精| 性色乱AV一区二区| 香蕉国产精品麻豆亚洲欧美日韩| 99爱久久视频频| 97色伦97色伦国产欧美| 久久av色| 人人操人人操人人操人人操人人操人人人11.CM| 中文有码第五页| 国产真乱mangent| 九九九成人| www99热| 亚州性色| 91红杏| 人妻 中文 日韩| 亚洲男人天堂视频| 五月天激情国产综合婷婷婷| 福利视频合集| 啊啊啊好舒服好爽啊啊啊视频| 欧美1区二区三区公司| 日韩丝袜高跟制服在线观看| 亚洲国产成人精品无码专区| 五月天九九日国产精品一区二区三区| 国产动漫操逼视频| 神马九九| 欧美色图 人妻| 免费一级欧美片片线观看| 亚洲少妇在线观看| 97这里只精品| 免费观看啪视频| av网站免费看| 国产妇女精品视频青青草| 欧美亚洲日本激情在线| 亚洲欧美999| 999 久久久| 五月丁香激情综合网| 日韩综合无码一区久久92| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 97资源视频| 国产AV线| 男人的天堂激情| 成人三级片无码| 东京热一区二区中文字幕| 青青草手机在线免费观看| 亚洲精品人妻吞精av| 热99这里有精品综合久久 | 亚洲精品毛片在线观看| 91日韩网站| 日本女厕偷拍| av资源在线播放天堂| 精品国产一区探花在线观看| 韩日自拍| 三级片大波波| 国产激情视频在线观看| 欧美黄色大片在线观看 | 日本中文字幕在线电影| 97精品一区二区视频| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 97久久久网站| 综合视频91| 四虎AV无码| 色综合色| 日本高清有码网址视频| 久久久精品91八戒| 96久久久| 人妻少妇精品久久久久久| 亚熟hd视频在线| 精品久一区免费| 能看的AV| 伊人色综合网电影| 亚洲字幕一区二区| 天天视频黄| 青青久久艹| 久超碰这里只有精品| 91丝袜熟女| 亚洲中文字幕乱码无码一区二区| 99久久九九| 亚洲成A∨人影院在线欢看| 美女视频尤物网在线看| 国产精品久久久 | 最新av中文字幕高清| 天久久久噜噜噜久久国产精品爽爽| 亚洲精品黑丝| 天天操美美| 亚洲欧洲日产国产综合网| 亚洲精品蜜桃久久久一区二区三区| 美日韩成人| 国产成人在线观看综合| 91小视频| www黄片免费看com| 成全在线观看免费观看| 美女视频尤物网在线看| 中文字幕日韩专区精品系列| 亚洲欧美日韩免费观看| 欧洲在线性爱视频| 人人弄人人摸| 凹凸视频在线一区二区| 大学生美女口爆| 天天激清| 日本中文字幕不卡视频| 超碰在线人妻中文字幕| 国产精品人妻免费精品| 色哟哟 日韩精品| 日韩免费中文字幕视频| 日韩免费高清大片在线| 性暴力欧美猛交在线直播| 欧美五十路熟| 婷婷色五月激情| 久久这里只精品99re66图| 国产免费一区在线观看| 天天肏夜夜肏| 久久久蜜桃一区二区三区| 国产精品天美传媒| 中文字幕少妇色| 最新中文字幕av| 鸥美极品| 国产一区二区在线看| 天天看片青娱乐| 在线视频亚洲无码| 日韩三A大片在线观看 | 中文字幕女同在线| 蜜桃臀AV在线| 亚洲Av诱惑| 在线αⅴ| 91成人久久 | 91ise欧美| 麻豆性爱视频在线播放 | 在线v中文字幕一区二区三区| 五月天丁香网| 欧美综合97www| 不卡一区视频| 夜夜欧美| 100啪啪视频大全| 国产92麻豆天美精品色欲5| 九九热免费视频| 亚洲高清视频在线观看| 中文字幕无码不卡啪啪| 色综91| 秋霞久久亚洲精品成人| 激情色播| 91挑色欧美| 蜜臀久久99精品久久久久久成人小说 | 九色97| 啊操爽品善一区二区三区| 99草精| 一二三四视频中文字幕在线看| 91人妻Pr| 丝袜综合| 99少妇内射| 正在播放国产精品一区| 99精品视频在线观看| 老女人碰碰在线碰碰视频| 国产精品农村妇女| 久久无码成人| 校园春色之综合网| 欧美日日人人天天| 色视频蜜乳| 九月丁香| 美女网站黄页| A级片日韩欧美国产欧美视频精选观看 | 久久精品店| 嗯嗯啊啊用力视频免费| 超碰吊日色| 老熟妇一区二区三区…| 天天干一区二区| 精品无av| 亚洲国产欧美另类自拍| 骚乳在线| 九热久| 熟女视频久久| 大香蕉欧美国产日韩高潮| 少妇一区二区三区| 亚洲成av人片色午夜乱码| 成人黄页| 日韩人妻有码免费视频| 精品一区96| 亚洲se91| 69精品人人人人| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 欧美亚洲影视| 日本精品五区| 深爱激情五月天| 99在线精品观看视频中文| 免费啪啪一级视频| 中文字幕AV片| 久久精品国产99精品亚洲蜜...| 99热超碰| 91亚州| 国产免费一区二区三区最新不卡| 午夜福利合集| 你懂得91| 久操免费视频| 狠狠干狠狠色| 欧美天堂在线| 午夜人妻精品综合在线| 国语精品av| 婷婷色综合| 天天日天天看| 女优视频第10页| 狠狠爱大香蕉| 夜夜操2028| 亚州一区二区| 九九九午夜| 欧美性爽xyxOOOO| 日韩少妇丰满亚洲| 国内偷自视频区视频综合| 99色婷婷中文字幕乱色| 国产精品一区av在线| 欧美91在线+|+欧美| 强奸乱伦AV网站| 91人妻久久久久久久久久久久久| 黄页视频网站野外| 色香91| 久久久中文| 91成人18| 最新亚洲风情电影| 2018天天干在线视频| 久久噜| 久久激情五月| 麻豆天美91| 色五月天AV| 手机在线人成免费视频| 91操熟妇| 中文字幕精品一区二区精品| 欧美中出| 亚洲成人妻日韩在线| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久久97超碰| 无码视频一区二区| 影音先锋中文字幕日本好一区二区| 人人操人人操人妻人| 天天日B狠狠操| 天天谢天天干| 在线观看啊啊啊啊啊| 天天色悠悠激情| 新久久AV| 97美日韩视频| 97久久超碰国产网站| 国产精品香蕉热久久新品| 2017天天插| 97超碰亚洲| 色噜噜狠狠色综无码久久合欧美| 日韩av在线精品观看| 久久成人午夜狠狠| 日本精品一区三区| 超碰成人公开| 美女久久久久久久久久久| 青青草日本中文字幕| 亚洲日本韩国在线| 五月天久久综合网| 美女黄页网站| 亚洲人91| 国产乱码久久| 午夜精品五区| 色综合av综合久久| 天天碰久久入| 亚州久久9| 另类图片五月| 人人射人人操人人摸| 国产无码精品无码| 成人情色综合网| 三级网站超变态精品| 激情五月婷| 午夜理论片在线观看免费| 在线免费观看高清无码视频| 18禁久久| 九九九九九九九九九五码| 中文字幕黑人大片| 日韩丝袜二区| 日韩综合成人免费视频| 射综合网| 色香网| 午夜毛片高清免费不卡| 人妻密肉在线观看| www.99色| 久草免费在线一区二区| 国产操逼视频在线观看| 97视频在线免费观看| 欧日韩一二三f区| 欧美日韩亚洲电影| 69精品人人人人| 亚洲国产综合久久天堂| 婷婷五月天色| 激情久久久| 久久久久久国产手机AV| 人人操我人人干| 女性喷水高潮在线观看| 国产综合久久久麻桃个| 老熟女天天操| 综合情欲网| 伊人在线大香蕉二。| 日本九九久久99| 欧美熟女妇同| 欧美日韩黄色片一区二区三区四区人与兽做爱| 99亚洲精品| 另类图片五月天| 操一区| 婷婷导航| 亚洲男人天堂Av| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 老司机福利青青草| 超碰97人妻在线| 午夜精品久久99蜜桃的功能章节| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 少妇啪啪自拍| 日本狂喷奶水在线播放212| 亚洲激情在线观看一区| 国产9 9在线 | 亚洲| 国产精品一区二区久久精品| 伊人网青青| 2017人人操,人人摸| 亚洲成人日韩小说| 夜色AV无码手机在线影院 | 国产丝袜啪啪| 精品国产乱码久久久久久蜜臀| 九九热九九| 无遮挡男女激烈动态图| 最新av网站在线观看| 亚洲导航深夜福利| 狠狠躁AV|