免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

基于Python與CNN的中草藥識別實戰(zhàn):從數(shù)據(jù)到模型

基于Python與CNN的中草藥識別實戰(zhàn):從數(shù)據(jù)到模型 1. 項目拆解與整體設(shè)計思路1.1 這個題目到底在做什么“基于Python-CNN機器學(xué)習(xí)深度學(xué)習(xí)的常見中草藥識別”這種課程設(shè)計題目最近幾年在各大高校里出現(xiàn)的頻率越來越高。我先用大白話把題目拆開你要做的不是“背誦一堆草藥名字”而是讓計算機通過圖片自動判斷“這是哪種中藥材”。現(xiàn)代人習(xí)慣拿手機拍照想識別路邊的車前草、廚房里的枸杞或者藥店抓回來的干黃連——而CNN這一類深度學(xué)習(xí)模型恰好是這項工作最好的工具。從課程設(shè)計和畢業(yè)設(shè)計的考核角度看這個項目有幾個硬指標自己構(gòu)建或調(diào)優(yōu)一個CNN模型不是簡單調(diào)用現(xiàn)成接口而是能理解每一層的設(shè)計意圖。有一套合理的數(shù)據(jù)處理流程包括數(shù)據(jù)集的整理、圖像增強、歸一化等預(yù)處理。訓(xùn)練可得且效果可量化也就是說最終要給出準確率、損失曲線、混淆矩陣這類能說服答辯老師的圖表。有實際驗證新拍的圖片能跑通識別流程而不是只停留在訓(xùn)練集上自嗨。這個題目適合哪個階段的人做我見過三類人做它第一類是本科課程設(shè)計周期2到4周需要基礎(chǔ)功能完整、流程顯眼即可第二類是本科畢業(yè)設(shè)計周期3到5個月要加對比實驗、可視化分析甚至要整理成小論文第三類是研究生入門項目重點在于把遷移學(xué)習(xí)、細粒度分類這些思路玩起來。不同目標決定了你的技術(shù)選型深度文章后面會分階段說明。1.2 為什么用CNN而不是傳統(tǒng)機器學(xué)習(xí)方案放到5年前很多圖像識別項目用的是“手工提取特征傳統(tǒng)分類器”的路子。比如先把圖像的HOG特征、色彩直方圖、紋理特征提出來再用SVM或隨機森林做分類。這條路對中草藥識別的問題是中草藥識別恰恰是典型的“細節(jié)決定成敗”任務(wù)。兩種植物可能顏色相近、形狀相似用手工特征很難界定到底抓哪個特征才是真正的區(qū)分點。CNN的做法是“端到端”的——你給它看大量標注好的圖片它不需要你告訴它該看什么部位它會自己在訓(xùn)練過程中學(xué)會選取對分類最有用的特征。第一層網(wǎng)絡(luò)可能學(xué)的是邊緣和色彩塊第二層可能學(xué)出葉片的紋理模式更深層則能學(xué)到“這個部位的形狀結(jié)合那個部位的顏色特征指向黃連”。這種自動學(xué)習(xí)特征的能力正是處理自然場景下植物照片的關(guān)鍵。以我的實操體驗來說傳統(tǒng)方案在只有20多種藥材、每類只有幾十張圖的時候SVM勉強能跑到70%左右精度而同樣條件下哪怕是一個基礎(chǔ)CNN訓(xùn)練充分后也能輕松超過85%。如果數(shù)據(jù)量更大、種類更多傳統(tǒng)方案下滑得非??霤NN受到的影響卻很有限。所以這個題目選CNN不是炫技是這個任務(wù)天然適配。1.3 技術(shù)棧選型Python生態(tài)怎么搭標題里點名了Python這本身沒什么好糾結(jié)的——Python在深度學(xué)習(xí)領(lǐng)域幾乎是唯一的選擇。但具體選哪些庫我覺得要根據(jù)你的硬環(huán)境和調(diào)試習(xí)慣來深度學(xué)習(xí)框架KerasTensorFlow 2.x的接口或PyTorch。課程設(shè)計優(yōu)先推薦Keras因為接口封裝度高幾行就能起一個像樣的CNN畢業(yè)設(shè)計優(yōu)先推薦PyTorch因為做debug、自定義網(wǎng)絡(luò)結(jié)構(gòu)、看中間特征可視化都更靈活。如果你有論文需求那PyTorch是更好的選擇。圖像處理OpenCV和Pillow。數(shù)據(jù)增強環(huán)節(jié)兩者都要用OpenCV的插值速度快、Pillow的API更友好。數(shù)據(jù)科學(xué)工具NumPy、Pandas、Matplotlib、Seaborn。前兩個用來處理標簽和數(shù)據(jù)劃分后兩個用于繪制loss曲線和混淆矩陣。開發(fā)環(huán)境首選Jupyter Notebook或JupyterLab逐段運行看結(jié)果方便正式訓(xùn)練腳本建議存成.py文件提交到服務(wù)器上跑。一個容易忽略的點是模型訓(xùn)練的過程中會產(chǎn)生大量中間結(jié)果比如訓(xùn)練日志、模型權(quán)重文件、可視化圖像等建議從一開始就建立清晰的目錄結(jié)構(gòu)把代碼、數(shù)據(jù)、模型、結(jié)果分開存放。我自己深受“數(shù)據(jù)、代碼、結(jié)果混在一起最后答辯前找不到模型文件”的苦這個習(xí)慣非常重要。圍繞技術(shù)選型還有一個經(jīng)典問題為什么不直接用預(yù)訓(xùn)練模型跑遷移學(xué)習(xí)我覺得對課程設(shè)計來說“從零搭建一個CNN”這個動作本身往往是評分點。如果一上來就用ResNet的預(yù)訓(xùn)練權(quán)重模型的“理解深度”就不好展示。但畢設(shè)階段完全可以把兩者都做自己搭建的基礎(chǔ)CNN作為基線再用遷移學(xué)習(xí)構(gòu)建一個更強的模型作為對比這就是一個體面的實驗設(shè)計了。2. 核心模塊原理與方案選擇2.1 CNN識別中草藥卷積層在學(xué)什么很多同學(xué)聽到CNN就怕覺得里面的數(shù)學(xué)公式嚇人。其實理解CNN只需要抓住一個邏輯它為什么能識別植物因為它在分層提取圖像特征。先看卷積層??梢园丫矸e操作理解成拿著一個“小放大鏡”在圖像上滑動每次只看局部區(qū)域。這個放大鏡就是卷積核它提取的是“某個局部區(qū)域內(nèi)某種模式存在的強度”。比如一個卷積核專門用來檢測“橫著的一條深色線”另一個卷積核檢測“綠色塊之間的白色間隙”。中草藥圖片里這些模式非常關(guān)鍵——葉片邊緣的鋸齒形狀、葉脈的走向、花蕊的顏色分布本質(zhì)上都是這種局部模式在不同尺度的組合。卷積層的參數(shù)并不是人手工設(shè)置的而是通過訓(xùn)練自動調(diào)整的。起初是隨機數(shù)模型看到大量“這是薄荷葉”和“這不是薄荷葉”的圖片后自動調(diào)整那些能讓分類正確率提高的卷積核值。這就是“機器學(xué)習(xí)”中最本質(zhì)的部分特征是學(xué)出來的不是人設(shè)計出來的。然后是池化層。它干的事情是“壓縮信息”。比如一張200×200的圖片經(jīng)過一次卷積和一次2×2的池化尺寸會變成100×100。池化的意義有兩個一是降低計算量二是不怕小位移——葉子稍微歪一點、換個角度拍池化之后提取到的關(guān)鍵模式還在。這一點對中草藥識別特別重要咱們平時拍照不可能像證件照一樣規(guī)規(guī)矩矩傾斜、遮擋、光線變化是常態(tài)。到了網(wǎng)絡(luò)后面幾層模型會把前面學(xué)到的局部特征拼接成“這張圖整體上是什么風(fēng)格”的判斷最終經(jīng)過全連接層把特征映射到具體的分類概率上。輸出層通常是Softmax它會把10個或20個類別的得分變成一組和為1的概率值“概率最大的那個類別”就是識別結(jié)果。這套流程和人類看植物時“先看葉形再看葉脈再看花和整體氣質(zhì)”是一個邏輯聽著是不是一點都不玄了。2.2 數(shù)據(jù)的坑與數(shù)據(jù)集的構(gòu)建策略中草藥識別項目最大的坑不在模型在數(shù)據(jù)。這是我反復(fù)和做這個題目的同學(xué)強調(diào)的。規(guī)模問題CNN雖然強大但它是個“飯量很大”的模型。如果只給每個類別準備30張圖同濟的模型再牛也會陷入過擬合——訓(xùn)練集上識別近乎100%拿到新拍的照片上就“翻車”。根據(jù)我的經(jīng)驗做這個題目每個類別至少準備100張以上圖片如果每類能達到300張訓(xùn)練效果會比較從容。數(shù)據(jù)不夠怎么辦有兩個辦法一是“數(shù)據(jù)增強”也就是用旋轉(zhuǎn)、翻轉(zhuǎn)、裁剪、亮度調(diào)整等方法把一張圖片變出多張來二是“遷移學(xué)習(xí)”用別人在大規(guī)模數(shù)據(jù)集上訓(xùn)練好的模型權(quán)重做初始化這樣只需少量數(shù)據(jù)也能有不錯的準確率。類別選擇常見中草藥可以選10到20類。不需要選太生僻的品種因為越生僻的數(shù)據(jù)越難找而且答辯時老師也不一定認識效果反而不好。黃金選擇是那些特征明顯、你所在城市路邊或藥房能見到的品種薄荷、魚腥草、金銀花、薏苡仁、枸杞、陳皮、當歸、黃連、板藍根、益母草……這些類別外觀區(qū)分度相對好適合入門。在類別設(shè)計上我強烈建議包含“易混淆組”。比如把“薄荷”和“荊芥”都選進去或把“干姜”和“黃姜”放在一起。為什么因為這個項目能體現(xiàn)深度學(xué)習(xí)的價值就在于“不是簡單背答案而是真的在學(xué)區(qū)分特征”。如果選的10類藥材長得差異極大模型可能隨便學(xué)個顏色就能分類答辯時老師追問“為什么區(qū)分這兩種”你完全沒法解釋深層的特征學(xué)習(xí)。設(shè)一組易混淆類別后面做混淆矩陣、分析錯誤樣本都有了素材。數(shù)據(jù)獲取最直接的是用搜索引擎下載圖片但要注意版權(quán)問題建議只用于課程學(xué)習(xí)。更穩(wěn)妥的方案是去一些公開的植物圖像數(shù)據(jù)集或者自己用手機拍攝條件允許的話保持同一藥材的多角度、多背景、不同光照。數(shù)據(jù)集質(zhì)量判斷的標準很簡單真實場景、光線變化、有背景雜亂的照片比干凈的影棚圖更“管用”因為訓(xùn)練出來的模型在實際場景中更耐用。下載之后必須人工清理一遍把錯誤類別的圖、文字圖、重復(fù)圖全部刪掉這一步?jīng)]什么技巧就是要耐心。2.3 遷移學(xué)習(xí)為什么是中草藥識別的最優(yōu)選如果讓我對做畢設(shè)的同學(xué)說一個建議那就是別只盯著自己搭的CNN把遷移學(xué)習(xí)加進來。比如用ImageNet上訓(xùn)練過的ResNet50作為特征提取器去掉它原來的分類層換成你自己的中草藥分類頭然后整個網(wǎng)絡(luò)在你的數(shù)據(jù)上繼續(xù)訓(xùn)練。這個方案有幾個實打?qū)嵉暮锰幨諗克俣葮O快——你用基礎(chǔ)CNN可能要訓(xùn)練50個epoch才到85%準確率遷移學(xué)習(xí)10個epoch可能就93%了對數(shù)據(jù)量的要求也低很多每類只需要幾十張圖就能跑出可用的模型而且更魯棒對光照變化、模糊、遮擋的耐受性明顯更好。順帶補充一句其實真正厲害的圖像分類系統(tǒng)幾乎很少從零開始訓(xùn)練大模型因為數(shù)據(jù)量和時間成本太高。用別人在數(shù)十萬張圖上練好的通用特征再在專業(yè)領(lǐng)域數(shù)據(jù)上做微調(diào)也就是所謂“微調(diào)”Fine-tuning本身就是工程實踐里的標準做法。在答辯時如果老師問“為什么選ResNet50”你可以回應(yīng)“因為它引入了殘差連接解決了深層網(wǎng)絡(luò)梯度消失的問題特征復(fù)用效率高”如果問“為什么用了預(yù)訓(xùn)練權(quán)重”你可以回應(yīng)“因為領(lǐng)域數(shù)據(jù)集樣本量有限復(fù)用通用圖像特征能降低過擬合風(fēng)險、加快收斂”。這些邏輯自洽的表述會讓答辯的深度拉高一個檔次。關(guān)于遷移學(xué)習(xí)和基礎(chǔ)CNN的關(guān)系我不建議把二者對立起來。課程設(shè)計可以以基礎(chǔ)CNN為主遷移學(xué)習(xí)作為加分項畢設(shè)則可以作為對比實驗出現(xiàn)——基礎(chǔ)CNN是一種實現(xiàn)遷移學(xué)習(xí)是另一種實現(xiàn)兩者各成一條對比路線實驗章節(jié)自然豐富了很多。3. 從零到一的搭建與訓(xùn)練實操3.1 項目環(huán)境準備與依賴安裝無論你是課程設(shè)計還是畢業(yè)設(shè)計我建議先用本機做小規(guī)模試驗跑通了再考慮上服務(wù)器。環(huán)境準備方面我自己最常用的一套組合是conda create -n cnn_herb python3.9 conda activate cnn_herb pip install tensorflow-cpu2.12.* # 若顯卡可用則去掉 -cpu 后綴 pip install torch torchvision # 選裝做遷移學(xué)習(xí)時使用 pip install opencv-python pillow numpy pandas matplotlib seaborn scikit-learn安裝的時候有兩點經(jīng)驗第一TensorFlow和PyTorch不必都裝CPU版本如果你的電腦有NVIDIA顯卡務(wù)必裝對應(yīng)CUDA的GPU版本訓(xùn)練速度能快一個數(shù)量級第二如果pip安裝太慢直接換鏡像源pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple這不算什么“高深技巧”但真的能讓你少等很久。環(huán)境裝好后建議先測試一下框架能不能正常調(diào)用GPUimport tensorflow as tf print(GPU available:, tf.config.list_physical_devices(GPU))如果輸出是空列表說明你的TensorFlow沒識別到顯卡接下來訓(xùn)練會很痛苦。這時候回到第一步檢查CUDA版本和tensorflow版本是否匹配。這個問題太常見了下面專門有一個小節(jié)講這里先按“能識別到GPU”繼續(xù)。3.2 數(shù)據(jù)整理與數(shù)據(jù)集劃分從亂圖到干凈數(shù)據(jù)集以最簡單的目錄結(jié)構(gòu)為例我建議把圖片按“類目-編號”命名并放在按類別命名的文件夾里dataset/ mint/ # 薄荷 mint_001.jpg mint_002.jpg ... honeysuckle/ # 金銀花 honeysuckle_001.jpg ... ...然后寫一個腳本把數(shù)據(jù)讀進來劃分成訓(xùn)練集和驗證集。劃分比例上常用的有8:2、7:3等。我自己偏好80%訓(xùn)練、10%驗證、10%測試不過課程設(shè)計沒有絕對標準關(guān)鍵是驗證集和測試集千萬不要在訓(xùn)練時被模型“看到”否則準確率虛高。這是所有初學(xué)者的第一個認知壁壘。import os, random, shutil random.seed(42) src ./dataset train_dir ./dataset_split/train val_dir ./dataset_split/val test_dir ./dataset_split/test os.makedirs(train_dir, exist_okTrue) os.makedirs(val_dir, exist_okTrue) os.makedirs(test_dir, exist_okTrue) for cls in os.listdir(src): class_path os.path.join(src, cls) if not os.path.isdir(class_path): continue imgs os.listdir(class_path) random.shuffle(imgs) n_train int(len(imgs) * 0.8) n_val int(len(imgs) * 0.1) for i, img in enumerate(imgs): dst if i n_train: dst os.path.join(train_dir, cls, img) elif i n_train n_val: dst os.path.join(val_dir, cls, img) else: dst os.path.join(test_dir, cls, img) os.makedirs(os.path.dirname(dst), exist_okTrue) shutil.copy(os.path.join(class_path, img), dst)這段腳本做的事情很簡單按比例把每一類的圖片復(fù)制到三個新目錄。為什么不用移動復(fù)制更安全萬一劃分比例不對原圖還在。為什么固定了隨機種子為了保證運行結(jié)果可復(fù)現(xiàn)答辯時老師問“你那次實驗的結(jié)果能復(fù)現(xiàn)嗎”你只需要說一句“我們的隨機種子在實驗設(shè)置里固定了”就很專業(yè)。接下來是標簽編碼。如果用TensorFlow的ImageDataGenerator的flow_from_directory它會自動按文件夾名稱生成標簽順序。如果改用自定義數(shù)據(jù)加載一般用整數(shù)標簽從0開始遞增。標簽順序一定要記住后面預(yù)測新圖片時要靠它把索引轉(zhuǎn)回中文名。class_labels [mint, honeysuckle, bajiao, ...] label_to_idx {name: i for i, name in enumerate(class_labels)} idx_to_label {i: name for name, i in label_to_idx.items()}3.3 圖像預(yù)處理與數(shù)據(jù)增強中草藥圖片的預(yù)處理分三步縮放 → 歸一化 → 增強??s放CNN要求輸入尺寸固定。我推薦224×224因為這是很多預(yù)訓(xùn)練模型的標配尺寸兼容性好。如果你的基礎(chǔ)CNN不夠深也可以使用128×128減少計算量但圖像的細節(jié)信息會丟失一些。歸一化把像素值從0~255映射到0~1或-1~1幫助梯度穩(wěn)定、加快收斂。這一步在Keras里面寫一行from tensorflow.keras.preprocessing.image import ImageDataGenerator train_datagen ImageDataGenerator( rescale1./255, rotation_range30, # 隨機旋轉(zhuǎn)30度 width_shift_range0.2, # 水平平移20% height_shift_range0.2, # 垂直平移20% shear_range0.2, # 剪切變換 zoom_range0.2, # 隨機縮放 horizontal_flipTrue, # 水平翻轉(zhuǎn) fill_modenearest # 填充模式 ) test_datagen ImageDataGenerator(rescale1./255)數(shù)據(jù)增強說白了就是“把訓(xùn)練照片增加‘變數(shù)’”。想想你真實使用軟件的場景有人把葉子拍歪了、光線太暗了、離得太近了模型如果只見過“標準圖”這些情況就會誤判。增強處理使模型學(xué)會對形變、亮度和位置的變化保持魯棒。需要注意驗證集和測試集絕對不能做增強只能做縮放和歸一化。因為增強是人為地制造不同樣本來擴大模型認識的邊界而驗證集和測試集要反映“真實分布”必須保持原始狀態(tài)測試集上增強沒有任何意義。3.4 搭建基礎(chǔ)CNN模型下面是課程設(shè)計級的基礎(chǔ)CNN代碼4個卷積塊加2層全連接。這個結(jié)構(gòu)對于中草藥分類來說是“足夠用”的起始點from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout model Sequential([ Conv2D(32, (3, 3), activationrelu, input_shape(224, 224, 3)), MaxPooling2D(2, 2), Conv2D(64, (3, 3), activationrelu), MaxPooling2D(2, 2), Conv2D(128, (3, 3), activationrelu), MaxPooling2D(2, 2), Conv2D(128, (3, 3), activationrelu), MaxPooling2D(2, 2), Flatten(), Dropout(0.5), Dense(512, activationrelu), Dropout(0.3), Dense(len(class_labels), activationsoftmax) ]) model.summary()簡單解釋一下每層的選擇邏輯。第一層用了32個卷積核后面逐漸翻倍到64、128、128這是一個常見的“淺層少、深層多”設(shè)計淺層學(xué)的是細節(jié)特征多一些通道可以組合出更豐富的模式深層學(xué)的是高維語義卷積核數(shù)量不必太多以免過擬合。每個卷積塊后面跟一個MaxPooling下采樣逐步把224×224壓到14×14最后Flatten喂給全連接層。Dropout在0.5和0.3是全連接層防過擬合最重要的手段。中間用ReLU激活輸出層是Softmax多分類。3.5 訓(xùn)練參數(shù)的選擇邏輯學(xué)習(xí)率和批大小訓(xùn)練時最關(guān)鍵的幾個配置是批次大小、學(xué)習(xí)率、優(yōu)化器、Epoch數(shù)、早停策略。model.compile( optimizeradam, losssparse_categorical_crossentropy, metrics[accuracy] ) history model.fit( train_generator, steps_per_epochtrain_generator.n // batch_size, epochs50, validation_dataval_generator, validation_stepsval_generator.n // batch_size, callbacks[early_stop, model_checkpoint] )批次大小我實測下來16到32是比較適合中草藥分類的。批次過小比如4會導(dǎo)致梯度震蕩太劇烈訓(xùn)練不穩(wěn)批次過大會讓每輪迭代時間變長而且顯存可能爆。如果你用的是GPU32是首選的起步值。學(xué)習(xí)率Adam的默認學(xué)習(xí)率是0.001在多數(shù)情況下可以直接用。但如果發(fā)現(xiàn)loss在訓(xùn)練過程中反復(fù)震蕩、下不去可以先降到0.0005或0.0003重新跑一次。如果loss下降太慢可以適當提到0.002但不建議更大很容易發(fā)散。Epoch數(shù)和早停訓(xùn)練50個epoch不一定全部跑完。設(shè)置早停監(jiān)控驗證集loss如果連續(xù)10個epoch不再下降就自動停止同時恢復(fù)最好的權(quán)重from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint early_stop EarlyStopping(monitorval_loss, patience10, restore_best_weightsTrue) checkpoint ModelCheckpoint(herb_model.h5, monitorval_loss, save_best_onlyTrue)為什么要做早停我在這個項目里見過很多次訓(xùn)練集準確率一路升到99%以上驗證集卻停在85%不再動甚至開始下降。這說明模型開始“背題”而不是“學(xué)特征”了。早停就是為了對抗這種“過擬合”風(fēng)險讓模型停在泛化能力最好的那個點而不是訓(xùn)練最后的那個狀態(tài)。3.6 模型評估不只是看準確率訓(xùn)練結(jié)束后評估部分必須做三件事驗證集準確率、loss曲線、混淆矩陣。這門課的評分老師通常最看重這三個圖。loss曲線畫法是import matplotlib.pyplot as plt plt.plot(history.history[loss], labeltrain_loss) plt.plot(history.history[val_loss], labelval_loss) plt.title(Training and Validation Loss) plt.xlabel(Epoch) plt.ylabel(Loss) plt.legend() plt.show()如果訓(xùn)練loss和驗證loss之間差值很大就是過擬合的直接證據(jù)如果兩者都在高位下不去說明模型容量不夠或者學(xué)習(xí)率不合適如果曲線震蕩說明批次數(shù)據(jù)分布不夠均勻可以考慮增大批次?;煜仃囉胹klearn.metrics.confusion_matrix畫出來能直觀看到哪些類別互相混淆。比如“白芷”總是被誤判為“當歸”那你就有兩個入手方向一是增加這兩個類別的訓(xùn)練樣本二是檢查數(shù)據(jù)集本身——是不是當時下載或標注的時候這兩類的圖就已經(jīng)混亂了。這一步也是答辯時最能展現(xiàn)你分析能力的內(nèi)容。import numpy as np from sklearn.metrics import confusion_matrix, classification_report pred_probs model.predict(val_generator) pred_labels np.argmax(pred_probs, axis1) true_labels val_generator.classes[:len(pred_labels)] print(classification_report(true_labels, pred_labels, target_namesclass_labels))3.7 對新圖片做預(yù)測完整識別流程模型訓(xùn)練好以后識別一張真實照片的流程也要寫清楚from tensorflow.keras.preprocessing import image def predict_image(img_path): img image.load_img(img_path, target_size(224, 224)) img_array image.img_to_array(img) img_array np.expand_dims(img_array, axis0) img_array img_array / 255.0 probs model.predict(img_array)[0] idx np.argmax(probs) confidence probs[idx] return idx_to_label[idx], confidence這里面有個容易忽略的細節(jié)預(yù)測時的預(yù)處理必須和訓(xùn)練時保持完全一致。訓(xùn)練時如果做了rescale1./255預(yù)測時也要除以255否則輸入分布不一致模型表現(xiàn)會大打折扣。此外load_img默認會做雙線性插值縮放尺寸變了但內(nèi)容語義不變這是正常操作。我的經(jīng)驗是把這部分單獨封裝成一個腳本比如predict.py接收圖片路徑參數(shù)輸出識別結(jié)果和置信度。答辯現(xiàn)場用手機拍一張新鮮的照片程序能跑出正確結(jié)果的話現(xiàn)場效果是非常有說服力的。3.8 遷移學(xué)習(xí)模型的實戰(zhàn)補充上面已經(jīng)提過ResNet50遷移學(xué)習(xí)的大致思路。代碼層面是用torchvision或Keras自帶的應(yīng)用模塊加載預(yù)訓(xùn)練模型替換分類層然后凍結(jié)前面的骨干網(wǎng)絡(luò)只訓(xùn)練新的分類頭或者解凍部分層做微調(diào)。用Keras寫的話最明顯的對比實驗代碼是from tensorflow.keras.applications import ResNet50 from tensorflow.keras.models import Model from tensorflow.keras.layers import GlobalAveragePooling2D, Dense base_model ResNet50(weightsimagenet, include_topFalse, input_shape(224, 224, 3)) base_model.trainable False # 先凍結(jié)骨干 x GlobalAveragePooling2D()(base_model.output) x Dense(256, activationrelu)(x) output Dense(len(class_labels), activationsoftmax)(x) model Model(inputsbase_model.input, outputsoutput)先只訓(xùn)練分類頭若干個epoch后可以把base_model.trainable True用極小的學(xué)習(xí)率比如0.0001整體微調(diào)幾輪效果往往還能再上一個臺階。遷移學(xué)習(xí)有一個相當重要的問題網(wǎng)絡(luò)結(jié)構(gòu)變了輸入尺寸和歸一化方式也要跟著變。用ResNet50輸入圖片需要按ImageNet數(shù)據(jù)集的均值方差來歸一化而不是簡單除以255。偷懶就會造成特征分布不匹配導(dǎo)致準確率不如基礎(chǔ)CNN的詭異情況。細節(jié)上務(wù)必查一下你所用預(yù)訓(xùn)練模型的標準預(yù)處理方式。4. 常見問題與排查技巧實錄4.1 過擬合訓(xùn)練集99%驗證集85%我見過最多的現(xiàn)象就是這一個。模型把訓(xùn)練數(shù)據(jù)“背得滾瓜爛熟”但遇到新圖片就露怯。解決方向的優(yōu)先級如下增加數(shù)據(jù)增強強度。把旋轉(zhuǎn)范圍從20度提高到40度加入brightness_range[0.8,1.2]這類亮度擾動效果往往立竿見影。增加Dropout比例。全連接層的Dropout從0.5提到0.6或0.7或者在全連接前再加一層Dropout。縮小模型容量。把卷積核數(shù)量從128降到64或32全連接層的512降到256。這也算個入門級思路很多人以為加參數(shù)就能提升精度其實小模型在數(shù)據(jù)量不夠時反而訓(xùn)得更好。數(shù)據(jù)擴量?;氐綌?shù)據(jù)集增加樣本量或?qū)γ款愂占鄻踊膱D片。另外要說的是過擬合的原因首先是數(shù)據(jù)量不足。模型參數(shù)量動輒幾百萬訓(xùn)練數(shù)據(jù)才幾百張在參數(shù)空間里顯得捉襟見肘。在某些情況下數(shù)據(jù)增強并不能創(chuàng)造真正的新信息——旋轉(zhuǎn)、翻轉(zhuǎn)只是改變了位置和角度如果數(shù)據(jù)本身有問題可能還是會出錯。所以增加新圖片是治本增強是治標。4.2 數(shù)據(jù)量不足時的救命招遷移學(xué)習(xí)更不挑數(shù)據(jù)如果你時間緊、只有每類50張圖還是有希望拿到90%以上的效果。主線就是把上面的3.8遷移學(xué)習(xí)方案走通。我在做模擬項目X的時候遇到過一個非常極端的設(shè)定數(shù)據(jù)集只有每類60張基礎(chǔ)CNN的準確率只有78%換了ResNet50微調(diào)后漲到91%。差距就是這么明顯。原因是預(yù)訓(xùn)練模型的骨干網(wǎng)絡(luò)已經(jīng)在數(shù)百萬張圖上見過各種各樣的紋理、邊緣、形狀你只需要教它“這些特征像哪一類中草藥”而不是從零教它“什么是葉脈”。對于做畢業(yè)設(shè)計的同學(xué)我建議把這個對比做進實驗章節(jié)基礎(chǔ)CNN vs ResNet50微調(diào) vs VGG16微調(diào)三組在同一數(shù)據(jù)集、同一評價指標下的準確率表格這一頁的內(nèi)容比寫一千字的理論要更有說服力。要注意的是微調(diào)對比實驗一定要控制變量同樣的數(shù)據(jù)劃分、同樣的預(yù)處理、同樣的隨機種子。否則“遷移學(xué)習(xí)效果好”這個結(jié)論就很微弱。4.3 類別不平衡有的藥材圖多有的圖少網(wǎng)上扒圖的典型后果是薄荷圖好找扒下來300多張某種不那么大眾的藥材可能只有40張。此時如果不做任何處理模型會悄悄偏向樣本量大的類別甚至認為“不管見什么圖都猜薄荷”。處理類別不平衡有三個方法按易到難排圖像增強補齊對少數(shù)類做更強的旋轉(zhuǎn)、平移、光照擾動甚至做隨機裁剪后放回把它“湊”到接近多數(shù)類的數(shù)量。類別加權(quán)在訓(xùn)練時給少數(shù)類的loss乘以更大的系數(shù)。Keras里可以通過class_weight參數(shù)顯式指定from sklearn.utils.class_weight import compute_class_weight class_weights compute_class_weight(balanced, classesnp.unique(y_train), yy_train) class_weight_dict {i: class_weights[i] for i in range(len(class_weights))}收集更多數(shù)據(jù)這是最笨但最有效的方法。對少數(shù)類再采集一批圖片加入訓(xùn)練集。課程設(shè)計階段我用過最多的還是第一種。復(fù)制粘貼式增強雖然指標上略有虛高但在小數(shù)據(jù)量項目中是公認的近似手段答辯時如實說明就可以了。4.4 新照片識別不準預(yù)處理不一致首當其沖自己訓(xùn)練完拿去測試發(fā)現(xiàn)真實環(huán)境下一塌糊涂最常見的坑是“環(huán)境變了”。訓(xùn)練用的圖片可能是搜索引擎里干凈整齊的樣本測試時你用手機在室內(nèi)自然光下拍光線、角度、背景都不一樣這屬于典型的“領(lǐng)域差異”。我總結(jié)的排查清單是輸入尺寸和歸一化方式是否與訓(xùn)練時一致。圖片壓縮是否過于嚴重是否肉眼都看不清。攝像頭拍攝的EXIF旋轉(zhuǎn)信息是否有處理OpenCV的imread有時候讀出來是橫的而訓(xùn)練時都是正的。模型是否對背景敏感——葉子放大局部拍可能比整株植物拍更好識別這也解釋了為什么很多識別App都建議“拍局部、拍特寫”。4.5 訓(xùn)練速度太慢如果你只是在本機訓(xùn)練每一輪Epoch都可能要幾分鐘訓(xùn)練50個epoch會相當痛苦。我的建議有三個先小后大先用64×64輸入尺寸、少量數(shù)據(jù)跑通整個流程確認代碼和參數(shù)沒問題后再切回224×224正式訓(xùn)練。用GPU如果你的顯卡是普通入門級也夠用訓(xùn)練速度能提升幾十倍。減少不必要的Epoch多數(shù)任務(wù)在驗證集達到峰值后繼續(xù)訓(xùn)練毫無意義依靠早停能省掉一半以上的時間。4.6 模型文件保存與加載訓(xùn)練好后記得保存完整模型或權(quán)重三種方式我都用過model.save(herb_model.h5) # 保存整個模型結(jié)構(gòu)權(quán)重 model.save_weights(herb_weights.h5) # 僅保存權(quán)重 # 推薦保存完整模型預(yù)測時不需要重新構(gòu)建結(jié)構(gòu)如果是遷移學(xué)習(xí)模型最好連帶預(yù)處理方式一起記錄在一個config.json里。我見過不止一個同學(xué)來答辯時拿著一個只有文件名的.h5卻完全想不起來當初歸一化用的尺度。規(guī)范的筆記是保障項目可復(fù)現(xiàn)的基本素養(yǎng)。5. 答辯展示與項目深化思路5.1 答辯PPT怎么講清楚這個故事很多同學(xué)項目做得不錯答辯卻講成流水賬先裝環(huán)境再寫代碼最后有準確率。這不是講故事的方式。中草藥識別項目答辯建議按“為什么→怎么做→做成什么樣→還能怎么提升”的邏輯來講簡單來說就是用“問題驅(qū)動”代替“過程驅(qū)動”。引言部分講清楚中草藥識別對日常生活的意義普通人認不全、資深藥師也有記憶盲區(qū)、移動端拍照識別是剛需。方案部分講清楚為什么選擇CNN為什么不用傳統(tǒng)圖像識別。實現(xiàn)部分講網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)準備重點突出“你在每個環(huán)節(jié)做了什么決策、為什么”。結(jié)果部分展示準確率和混淆矩陣別怕展示錯誤——反而是分析錯誤類別的過程最能體現(xiàn)項目的深度和思考。有一個特別實用的技巧答辯之前準備一張“失敗案例圖”。挑一張識別錯的圖片分析模型為何錯并說明可以做哪些改進。老師在答辯時最喜歡問的就是“你這個項目有什么不足”這個問題答得好是很大的加分項。5.2 可擴展方向從固定分類到開放識別識別固定40類藥材只是課程設(shè)計的及格線。如果你有興趣做得更深入我列出幾個可擴展方向從分類到檢測目標檢測模型如Faster R-CNN、YOLO可以從復(fù)雜圖片中把藥材區(qū)域框出來再分類適配的實際場景更貼近“田間拍攝、自然場景找藥材”。從單圖到多圖融合不同藥材可能在根、莖、葉、花上差異明顯可以把多個部位圖輸入一個多路網(wǎng)絡(luò)做綜合判斷。從圖片到文本識別結(jié)果結(jié)合藥材知識庫輸出“性味歸經(jīng)、功效、用法、禁忌”直接做成一個問答式的中藥知識助手。那時候項目的實用性和交互性會大大提升。部署到移動端用TensorFlow Lite的轉(zhuǎn)換把模型部署到手機端或嵌入式端。課程設(shè)計到這一步已經(jīng)屬于“向工程實踐靠攏”的加分項。半監(jiān)督學(xué)習(xí)網(wǎng)上大量弱標注數(shù)據(jù)未充分利用可用偽標簽或?qū)Ρ葘W(xué)習(xí)的方法挖掘未標注數(shù)據(jù)的價值。對本科階段而言能完成其中任意一個擴展方向并跑通演示就已經(jīng)超過絕大多數(shù)“為了交差”的同類項目了。5.3 關(guān)于評分標準的一點個人判斷不同學(xué)校、不同老師的評分偏好差異極大但有幾個共性要素幾乎是公認的流程完整度數(shù)據(jù)處理→訓(xùn)練→評估→預(yù)測的閉環(huán)、規(guī)范程度代碼注釋、目錄結(jié)構(gòu)、實驗記錄、可視化曲線圖、混淆矩陣、真實圖片演示、分析深度基于結(jié)果能提出改進方向。這四個要素抓好了分數(shù)都不會差。不過我也想潑一盆冷水課程設(shè)計階段不要追求遙遙領(lǐng)先的技術(shù)指標。你的目標是“證明自己掌握了基礎(chǔ)原理和工程流程”而不是“訓(xùn)練出比論文SOTA更好的模型”。項目周期有限的情況下把基礎(chǔ)CNN調(diào)優(yōu)到85%以上配合遷移學(xué)習(xí)對比已經(jīng)是很扎實的工作量了。與其花大量時間無節(jié)制地調(diào)參堆疊不如把精力放在把項目里已有的成果講透、把特征可視化的圖做漂亮。6. 寫在最后的實操經(jīng)驗做這個題目最容易讓初學(xué)者誤判的是“時間都花在模型上”。但以我的實際經(jīng)歷來看這類圖像識別項目最大的時間黑洞永遠是數(shù)據(jù)整理——下載、清洗、重命名、統(tǒng)一格式、調(diào)整增強參數(shù)。曾經(jīng)有一次我在圖書館連著蹲了一個周末凈收益只是把某個類別的“廢圖”從兩百張里刪到一百三十張但這直接拉升了模型近4個百分點的驗證集準確率。所以你如果問我要一條核心建議那就是數(shù)據(jù)質(zhì)量決定模型上限調(diào)參只決定模型能否接近這個上限?;ㄔ跀?shù)據(jù)上的功夫永遠不吃虧。另外項目過程記錄很關(guān)鍵。我給所有做課程設(shè)計的同學(xué)一個通用建議從拿到題目的第一天起建立兩個文檔一個叫《實驗日志》另一個叫《問題清單》。每天記錄做了什么操作、得到什么結(jié)果每遇到一個報錯或異常就把現(xiàn)象、排查步驟、最終解法記下來。答辯時老師問“你遇到過什么問題嗎”你隨手就能舉出一個完整的排查經(jīng)歷比“沒遇到什么問題訓(xùn)練很順利”這種回答可信度高得多。而且寫畢業(yè)設(shè)計論文時這些日志會變成你“第三章實驗”和“第四章結(jié)果分析”最現(xiàn)成的素材寫起來輕松好幾倍。最后再分享一個小技巧訓(xùn)練完成后給你的模型取幾個不同的版本名字——比如“v1_baseline_cnn”、“v2_resnet50_finetune”、“v3_augmented”——按時間存好。做實驗最忌諱的是“這個h5文件是剛才調(diào)過參的嗎還是昨天那個”版本管理做得越清楚后面越省事。這套方法不止適用于中草藥識別任何以“訓(xùn)練模型”為核心的課程設(shè)計或畢業(yè)設(shè)計項目都能直接用上。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷五月天激情综合| 久久9999| www.久久av.com| 碰碰碰碰碰99| 色欲天天综合网| 无码啪啪| 婷婷五月欧美| 99热这里只有精品22| 欧美情月伍月天| 久久九九网| 丁香色播五月天| 久热精品9999| 欧洲色色| 五月婷婷中文字幕| 激情婷婷内射| 啪啪黄页网| 老司机日日夜夜青草| 丁香六月婷婷综合| 综合网精品99| 色狠狠综合| 激情色情五月天| 婷婷五月丁香色播| 五月婷婷视频| 丁香五月激情综合| 激情五月天小说网| 九九热这里只有精品556| 成人国产欧美大片一区| 色综合激情| WWW、日本色丁香、co m| 国产av网| 99精品丁香五月| 91久久1118| 久久av电影| 91啪啪网| 一区二区你懂的| 99久热| 久久香蕉网| 99热这里全都是精品| 五月天丁香啪啪综合| 牛牛澡牛牛爽| 精品香蕉99久久久久网站| 天天噜| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 97操碰日本女人| 99啪啪| 99久久免费精品| 五月花综合| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 九九碰九九爱97| 狠狠色综合精品视频在线| 天天弄天天爽| 五月丁香久久精品在线观看| 色综合久久综合中文综合网| 99自拍视频网站| 色99最新网址| 婷婷综合玖玖五月| 激情婷婷99| 国产亚洲精品久久久久久郑州| 91超级碰在线| 99热 在线播放| 六月丁香五月天| 九月激情婷婷丁香| 天天爽夜夜爽天天爽夜夜爽| 色婷五月| 伊人丁香婷婷东京| 开心五月色婷婷综合开心网| 久久综合激情婷婷激情| 79精品视频| 五月色婷婷综合丁香精品无遮挡| 国产熟女日日骚五月丁香爱| 天天视频亚洲| 亚洲成人av在线播放| 六月丁香五月激情婷婷| 五月婷婷69| 婷婷激情区| 天干干夜夜操| 热久久77777| 99亚色色色| 九九热99精品| 51XX午夜影福利| 5五月综合网亚洲| 人人操人| 91大神在线免费看视频全集男男一起操| 少妇性BBB搡BBB爽爽爽电影| 97在线天堂| 毛片九九九九九九九九18| 天天射天天插天天干| 嫩草AV久久伊人妇女超级A| 欧美成人精品A片免费一区99| 五月天伊人| 婷婷五月天福利| 五月婷婷丁香| 视频在线免费观看欧洲乱码| 99re99在线看| 天天视频亚洲| 亚洲综合色色色| 日韩色色视频| 色婷婷丁香AV综合| 综合久久99| 侠女刀之记忆电影在线看免费| 六月丁香大香蕉| 色色综合网站| 伊人综合网4| 99er视频在线| 婷婷五月天色色| 婷婷丁香六月| 亚洲成人网站在线| 开心久久爱五月天| 国产婷婷综合在线免费视频| 中文不卡一二三区| 99热6精品| 另类图片色五月| 夜精品无码A片一区二区蜜桃| 久久久婷丁香五月| 丁香五月久久| 99色免费视频| 色色性爱视频| 99色免费| 九九婷婷五月天影视| 十月色综合| 婷婷久久免费| 超碰人人在线观看| 综合激情网| 99这里只有精| 国产黄色在线观看| 99超级碰碰| 久er7久热| 五月天精品视频| 五月丁香啪啪网| 中文字幕按摩做爰| 99久在线精品99re8热| 亚洲五月天婷婷综合| 久久人人九| 五月激情天| 激情五月天第四色| 泰州成人视频| 在线超碰免费| 激情校园 亚洲| AA丁香综合激情| www.9操| 先锋五月婷婷丁香草草| 秋霞AV淫| 熟女91九色| 色综合播放| 99久热精品在线| 五月丁香六月久久| 99人人干| 九九99九九99九九99视频网| 日日操天天爽| 无码 av电影| 久月婷婷| 久久色婷婷| 99热很操老逼| 人人操五月天| 色婷婷国产精品综合在线观看| 五月婷婷欲色| yw国产AV| 五月天亭亭俺也| 国产成人精品一区二三区熟女在线| 综合伊人久久| 97韩国久久电影院| 精品久9| 人人草公开操| 丁香五月久久| 色情五月天se| 51精品国自产在线| 狠狠色官网| 久久综合干| 99热在线看| 久热精品视频| 天天操天天插天天射| 99热国产国产| 婷婷在线中文字幕| 久久婷婷丁香六月天| 免费看欧美成人A片无码| 日韩婷婷五月| 美国少妇性做爰| 视频这里只有精品| 99综合网| 丁香五月狠狠综合欧美| 色丁香久久久| 欧美一黄一色一乱一伦| 日日鲁鲁夜夜爽爽| 综合久久五| 色情激情五月| 人人操91色| 狠狠干五月丁香综合网| 97热久久| 五月天开心网| 开心五月婷婷激情网| 老师的粉嫩小又紧水又多A片视频| 人妻性爱av网站| www.色婷婷.com| 九九热视频精品2| 99在线免费视频| 青青操avbb| 任你草| 激情5月婷婷狠狠干| 久热免费| 亚洲欧美一区二区三区四区爱爱动图| 亚洲婷婷91丁香| 丁香五月综合婷婷| 亚洲另类婷婷五月综合| 婷婷久久伊人| 无码99| 日本五月视频| 五月婷婷激情网| 激情五月天色色| 狠狠操之狠狠操| 日本三级大片| 中文乱子伦视频| www.久久爱.com| 狠狠色综合网站久久久久| 天堂成人A片永久免费网站| a v色婷婷| 狠狠色综合五月人人| 婷婷五月天偷拍| 国产精品人妻在线网址| 无码免费人妻A片AAA毛片西瓜 | 五月天婷婷激情干干| 国产黄色在线| www.91九色| 18av天堂| 在线天堂9| 五月丁香啪| 99精品免费欧美小视频 | 久久看九九90| 狠狠操狠狠爱| 99免费热视频在线| 先锋男人99资源| 五月天之色情综合网| 亚洲色综合| 成年人99热| 91精品无码久久久久久五月天| 五月天激情亚洲| 丁香五月天综合网| 狠狠色五月激情| 婷婷五月精品中文| 日本女色人人| 天天做天天爽| 香蕉综合在线| 色99日韩| 91无码高清| 高清资源站日A美A欧亚…| 日韩在线aaa| AAAA亚洲| 深爱丁香网| 欧美婷婷日本| 天天综合区| 伊人五月天在线| 久久色情综合免费网站| 丁香5月婷婷| 9er热在线精品视频| 91免费试看| 丁香六月婷婷| 婷婷久热| 日日干日日| 成人在线视频网| 天天拍天天操| www.91在线观看| 五月丁香六月婷婷综合网缴情| 激情影院内射| 这里只有精品视频国产| 色综久久久| 日韩淑女人妻luan伦激情精品一区二| AV网在线观看| 婷婷色情五月| 久久久久网站| 午夜爱插插| 成人五月丁香花| 农村熟妇高潮精品A片| 99网| 婷婷五月天综合网| 色色9 9| 久久在线视频免费观看| 男男野外做爰全过程69| 天天日天天肏天天奸| 成人无码髙潮喷水A片| 五月天色五月| 搡BBBB搡BBB搡五十| 免费无码毛片一区二区A片 | 中国操逼99| 五月丁香六月激情综合在线| 五月 婷 久| 丁香婷婷五月天成人| 亚洲av电影网站| 超碰人人插| 伊人久久大香线蕉亚洲五月天,| 色约约视频一区二区三区四区五区 | 婷婷色女| 天天舔天天摸天天透| 婷婷性爱影院| 热99国产精品| 婷婷综合五月天激情| 精品色情一区二区三区四区| 五月丁香五月天现场视频| 天天干天天操天天干天天操天天干天天操 | 9精品国产在热久久| 97碰 在线视频观看| 91久久人人操| 超碰av在线| 天天爽日日搞| 五月天婷婷激情在线色图| 女人被男人吃奶到高潮| 久久婷婷精品| 欧美啪啪五月天| 成人电影一区| 天天干天天干天天干天天干天| 狠狠插狠狠插| 熟妇人妻中文字幕无码老熟妇| 99ri网站在线观看| 99激情在线| 5月婷婷综合| 婷婷五月中文在线视频| 激情五月天电影| 中字幕视频在线永久在线观看免费| 99久久超级| 丁香五月777| 婷婷丁香五月天在线视频| 嫩草AV久久伊人妇女超级a| 激情小说婷婷| 9|人妻人人操| 99亚洲综合| 天天做天天摸| 亚洲亚洲人成综合网络| 久热91精品| 狠色狠色狠色狠色狠色网| 婷婷六月综合在线| 九九热99视频| 日韩成人无码片| 久久99综合| 五月丁香六月激情啪| 超碰九色| 激情婷婷久久| 5月丁香啪啪啪| 狠狠插狠狠插| 在线另类| AV成人在线播放| 欧美久久一级内射wwwwww.| 97自拍99| 色天天狠狠干| 伊人玖玖网| 影音先锋美国A| 激情九月婷婷| 日韩成人中文字幕| 开心色五月天久久久久久久| 激情五月黄色| 一二三区视频韩国| 91丨九色丨熟女高潮| 国产色香蕉精品五夜婷| 九九热国产| 99色免费观看全部| 激情综合九月| 91九色|疯狂|高潮|对白|| 三日本无码| 开心亚洲久久开心| 丁香五月婷婷基地| 九九99精品视频在线观看| 舔色婷婷| 色九月婷婷丁香| 五月丁香婷婷六月| 中文av在线观看| 丁香五月激情视频在线| 国产精产国品一二三在观看| 桃色伊人在线| 97在线观视频免费观看| 激情 婷婷 丁香五月天| 丁香五月激情五月色综合| 五月天综合区| 97人碰人操| 亚洲丁香五月美女| 国产av一区二区三区| 美女婷婷六月色| 亚洲成人综合在线| 五月激情网五月综合网| 男女啪啪做爰高潮无遮挡 | 五月丁香婷婷综合视频| 人妻少妇色综合| 亚州精品成人片| www.丁香黄色五月天人与| 日日做A爰片久久毛片A片英语 | 六月婷婷狠狠| 五月婷婷中文字幕| 激情小说五月丁香在线视频观看视频| 五月丁香婷婷综合| 激情校园 亚洲| 国产精品久久久久久久久久久久| 婷婷综合伊人丁香| 美国天天操无码| 天天插天天日| 99超级碰免费视频| EEUSS鲁片一区二区三区| 天天草婷婷五月| 538在线精品| 国产成人va在线| 曰本aaaaaa丈片| 九九热视频在线观看| 综合 蜜月 婷婷| 狠狠干综合网| 77799热| 99久久国产宗和精品1上映| 五月天狠狠干| www.91.com黄| 国产精品18久久久| 26uuu欧美| 大香蕉久| 丝雨一区二区| 九九热10| 五月激情五月婷婷五月天在线| 99热欧美精品| 久久XX| 丁香五月色情| 97资源欧美日韩大香蕉超碰一区| 97在线观视频免费观看| 欧美激情综合色综合啪啪五月| 色婷婷偷拍| 五月综合激情婷婷六月色窝| 成人中文字幕在线| 欧美精品在线观看| 超碰久热| 婷婷五月天成人网| 久久婷婷超碰| 91精品久久久久久综合五月天| 丁香五月天婷婷久久| 99精品久久久久久久婷婷| 亚洲婷婷基地| 色色色色色色色色网站| 99re视频在线精品| 激情五月天电影| 九九操屄| 激情小说五月欧美亚洲丁香| 强奸幻女毛片| 亚洲激情久久| 日本久久婷婷| www.色五月| 久久久久久18| 五月婷婷在线观看黄| 色婷av| 久久a热| 免费成人中文字幕| 丁香激情五月| 亚洲欧美综合7777色婷婷| 五月久久婷婷| 九色91视频| 亚洲午夜AV| 91婷婷丁香五月天免费视频网站| 一起草AV| 五月丁香六月欧美| 久久机热探花| 亚洲欧美婷婷五月色综合| 五月丁香啪啪啪啪| 色婷婷丁香五月| 色视五月天婷婷| 五月丁香综合啪啪| 五月婷婷成人w| 九月激情婷婷丁香| 久狠狠狠| 丁香婷婷色五月| www.狠狠操| 婷婷开心综合人妻小说网址| 99色.com| 五月婷婷三级| 久久伊人日日夜夜| 人妻激情视频| 婷婷伊人| 99热6色| 91久久婷婷| 中国操逼99| 先锋资源婷婷| 五月丁香亚洲综合网| 香蕉伊人综合| 天堂成人A片永久免费网站| 色五月丁香网| 激情综合网五月天天| AV在线二十六页| 在线观看中文字幕| 九热视频| 五月激情另类| 久久婷婷五月综合激情国产| 超碰在线免费观看日韩| 久久99精品九九久久久婷婷| 丁香五月激情啪啪啪| 97干婷婷| 开心五月天激情网站| 91一起操| www:99热视频| 成人国产欧美大片一区| AV九九| 99精色| 久久五月天精品视频| 婷婷丁香色性爱| WWW.桔色成人.COM| 色婷婷色99国产综合精品| 色情五月天A片| 亚洲小视频免费播放| 色婷婷色综合| 亚洲日韩成人三级av| 99自拍视频| 婷婷午夜天| 啪啪五月天啪啪| 九九热a| 色色色色色五月| 51精品国自产在线| 操人91| 91久久九久久九久久九久久九久久| 久久九九99字幕| 婷婷五月天受日本法律保护| 五月色婷婷影院| 成人va在线| 国产午夜精品AV一区二区麻豆| 五月婷婷色情| 亚洲黄色精品| 狠狠99| 九九久热| 久热这里只有精品视频免费观看| 99热久久最新地址| 五月婷婷综合激情| 久久久妻人人人| 国产精品成人AV在线| www狠狠爱com| 久久爱综合| 久久久久久久11111111111| 亚洲欧美成人在线| 另类小说五月天| 国产激情综合| 五月丁香狠狠爱| 亚洲成人AV在线播放| 9有码中文| 色色综合院| 日韩无码亚欧无码| 婷婷五月欧美AA片免费| 色婷婷成人久久| 一级视频网址| 五月天丁香啪啪啪啪| 久久九九99视频| 婷婷色色网站| av首页在线| 亚洲AV日韩在线观看| 不卡在线中文字幕无| 久热在线中文字幕色999舞| 少妇熟女视频一区二区三区| 亚洲精品又粗又大又爽A片| 色婷婷电影网| 一本色综合色| 97操碰日本女人| 99精品综合在线| 婷色综合| 六月婷欧美| 99大香蕉| 激情婷婷内射| 五月天激情国产综合AV| 日日夜夜狠狠干| 五月天激情小说欧美激情| 婷婷五月天免费视频| 亚洲成人五月| 成片免费播放| 色色99| 99视频| 九月性爱网| 99色.com| 亚州精品色情无码A片| 丁香五月天欧洲在线| 激情婷婷五月天网址| 激情婷婷五月天在线观看| 五月婷婷基地| 激情五月丁香五月| 农村熟妇高潮精品A片| 激情九月丁香婷婷| 五月婷久久草| 天天爽成人综合网站| 天天草天天爱| 国产密乳av一区二区三区四区| 欧日韩成人| 丁香六月五月天| 亚洲精品五月| 丁香五月婷婷亚洲色图| 五月婷婷综合激情| 日韩久操婷婷| 91一起操| 战争与艾拉电影免费观看| 另类激情首页| 天天干,夜夜爽| 97啪在线观看视频| 日本久久婷婷| 亚洲 无码 中文字幕 中出| 激情小说视频图片| 日韩aaaaa| 精品热九九| 综合99综合久久久久久久| 婷婷激情综合无月| 另类图片五月天| 91精品91久久久中77777| 7777久久亚洲中文字幕| 99热国品免费| 熟女激情五月天| 色五月av| 97久久五月丁香婷婷| 久久丁香五月婷婷激情综合网| 97婷婷五月天| 色婷五月| 99riAv1国产在线观看| 五月婷丁香在线视频在线| 九九热精品视频在线观看| 狠狠狠狠狠| 偷偷操99| 丁香五月婷在线观看| 99热这里只有精品2| 99久热视频在线| 91丨九色丨国产打屁股| 99热这里只有精品2| 五月香婷婷| 婷婷五月色图| 狠狠操婷婷| 久久婷五月| 五月停停999| 亚洲色亚洲精品| 亚洲综合五月天婷婷丁香| 色色色色色五月| 亚洲久久婷婷丁香五月天| 婷婷永久在线| 亚洲AV成人片无码网站| 午夜]香婷婷深深爱| 人人爱干人人爱草| 337p大胆噜噜噜噜噜91Av| 免费成人中文字幕| 日本熟女一区二区| 精品亚洲国产成AV人片传媒| 97超碰综合| 五月精品| 五月天激情日色在线| 就爱操www com| 天天搞天天爽| 久九色| 玖玖99免费视频| 5五月综合网亚洲| 五月综合影院| 91色色五月天| 噜噜噜色噜噜| 国外亚洲成AV人片在线观看| 侠女刀之记忆电影在线看免费| www.精品99| 天天综合五月天| 丁香五月天激情免费在线观看AV777| 色五月综合激情网| 婷婷五月天色色| 婷婷五月大香蕉| 狠狠色精品综合| 婷婷五月蜜桃成人桃色丁香| 大香蕉五月丁香| 蜜臀99久久精品久久久久| 亚洲国产精品VA在线看黑人| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 免费操超碰| 96精品成人无码A片观看金桔| 99热99干| 激情综合在线观看| 国产亚洲色婷婷久久99精品91| 男女久久婷婷五月天| 涩涩涩,com| 99人人干| 伊人久久婷婷| 午夜成人天堂久久无码日韩久久| 91狠狠色色丁香婷婷综合久久| 亚洲视频另类| 9999综合99综合人| 日本在线观看91| www。五月,com| 婷婷五月色播天| 91精品激情9| 日产精品一线二线三线芒果| 少妇真实被内射视频三四区| 国产69精品久久久久999小说| 婷婷91| 五月丁香成人网| 成人日韩欧美| 日本人妻伦在线中文字幕| 最近中文字幕2019视频1| 婷婷9月天| 五月婷婷深爱六月| 五月婷婷精品视频| 九九性爱网| www.婷婷五月天| 婷婷五月激情图片| 99视频在线观看视频| a免费在线| 另类小说色婷婷| 亚洲激情综合网| 欧美成人精品三区综合A片| 天天操夜夜肏| 五月婷婷久久久久| 色播五月天激情| 六月婷婷狠狠做| 婷婷久久在线| 六月婷婷开心| 久草xx性爱视频| 人妻aV在线| 丁香婷婷大香蕉| 久久丁香五月婷婷| 五月停停999| 婷婷色网| www婷婷| 99惹在线精品免费观看| 一级内射毛片| 97干在线视频| 丁香六月视频免费观看| 人人操插| 丁香五月综合狠狠| 91碰在线| 女力报到正好爱上你| 亚欧州精品视频| 精品少妇人妻AV无码专区偷人 | 无毒黄色网址| 67194国产| 淫水导航| 五月天无码| 天堂网操| 任你草| 色综合五月| 亚洲色婷婷婷婷人人爽| 综合色吧| yazhoujiqingav| 亚洲精品国产setv| 五月婷婷激情综合拍| 亚洲色频| 婷婷婷婷色| 色五月激情问网站| 99热狠狠操| 欧美久久一级内射wwwwww.| 激情五月色婷婷| 欧美婷婷五月天综合| 婷婷五月天黄色| 成人va在线| 欧美久热| 欧美三级欧美一级| 丁香婷婷色五月| 久色视频首页| 五月色色色| 免费看片在线观看| 乱乱av| 亚洲国产精品VA在线看黑人| 五月精品| 精品无码99| 思思99精品视频在线观看| 狠狠干综合网| 色综合色色色色色色综合| 六月婷婷激情| 国产无套精品一区二区| 日91高清无玛| 欧美成人性爱网| 色大综合| 爱草视频在线观看| 亚洲人成网亚洲欧洲无码久久| 超碰97久久| 国产色色色色色| 亚洲色图欧美色图日本视频| 黄网在线播放| 五夜婷婷| 色色丁香五月天| 婷婷五月天综合网| 色婷婷视频在线| 狠狠狠狠狠草| 五月丁香在线偷拍视频| 亚洲色五月天在线| VA五月激情在线| 久久黄A片| 超碰免费99| 91九色中文字幕女在线观看| 婷婷久久影院| 成人丁香五月婷| 秋霞网在线免费基地五月婷婷丁香| 国产真实乱对白精彩| 丁香五月偷拍| 九九99久久| 五月丁香色综合| 四色五月婷婷| 六月丁香网| 色婷婷五月天| 天天爽夜夜操| 中文中文在线| 亚洲av| 操操综合网婷婷| 99婷五月| 色天堂在线| 久久看婷婷| 大香蕉五月婷婷| caop在线| 丁香五月天综合| 色吧综合网| 天天操夜夜操| 国产一级视频a| 伊人网色婷婷五月天| 五月丁香亭亭电影久久| 97伦乱| 久草婷婷视频| 色五月激情综合| 91操在线视频| 看婷婷五月天网| 狠狠香婷婷五月| 久久996re热这里只有精品无码| 丁香五月98| 激情性五月天免费小说视频| rr天天操| 大香蕉婷婷丁香视频在线| 色啪网| 色五月婷婷在线| 婷婷五月综合国产精品| 伦乱人妻| 国产97色在线 | 日韩| 91九色国产| 国语对白性爱视频播放| 丁香婷婷啪啪啪| 丁香五月婷中字幕| 亚洲成人中心| 欧美成人精品A片免费一区99| 中文字幕无码人妻少妇免费视频| 婷婷六月激情综合| 人妻中文字幕精品| 五月婷婷激情| 99热国产在| 人妻VideOssS人妻高清| 色欧美影院| 五月天婷婷综合网| 五月丁香综合精品欧美| 伊人九九热| 激情五月天婷婷激情| 99热大片| 啪色综合| 双性美人被调教到喷水A片| 久婷婷久草| 日本高清久| 2025最新亚洲激情在线| 天天天综合网| 中文AV网| 婷婷六月偷拍| 色婷婷亚洲婷婷| 色色亚卅| 九月婷婷久久久| 不卡在线视频| 婷婷午夜综合| 99久久综合网| 成人婷婷| 国产婷伊人| 九九色之九九色88| 国产日日夜夜操| 日韩精品一区二区亚洲AV观看| 六月丁香婷| 丁香五月激情月| 色色网站观看| 激情第四色| 亚洲熟妇AV乱码在线观看| 99热在线观看99| 秋霞学生妹一二级| 性爱久久| AV大片在线播放| 超碰成人电影| 天天爽天天摸人妻综合网| 久久六月综合| 99色免费| 2w在线视频| 久久综合丁香激情五月| 婷婷亚州综合| 婷婷五月天成人动漫 | 亚洲啪| 五月天婷婷黄色视频| 日本婷婷色日| 精品一二三区久久AAA片| 大香av| 日韩av网址大全| 99精品视频网| 99啪啪网| 五月婷婷丁香在线| 欧美性生交XXXXX无码小说| 久久久久亚洲AV成人无码电影| 5月婷婷激情网| WWW.国产| 97久久超碰| 色色色色色色网| 最新无毒无码AV| www.99热日韩.com| 五月丁香成人| 久热婷婷在线视频| 六月色国内综合| 国产成人片| 五月天激情黄色小说在线观看| 五月天婷婷7米| 亚洲成人电影在线免费观看| 综合激情网| 婷婷五月天开心网| 激情综合在线观看| 天天插天天射| 人人97操| 亚洲天天综合| 久月久在线视频| 五月婷丁香在线视频在线| 天天爽天天干| 超碰久热| 91Chinese在线| 日韩成人AV在线播放| 九九色热| 99玖玖人人| 九九热99热| 丁香五月 性爱| 99热最新网址| 天天色综网| 丁香五月天婷婷中文| 日本天天色| 天天婷婷综合| 免费AV播放| 激情综合5月| 欧美激情五月天| 那里有AV网址| 超碰人人在线| 国产成人VA| 国产欧美日韩综合精品一区二区| 99久热这里有精品| 天天日天天摸| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | 国产伦亲子伦亲子视频观看| 天天插天天插天天日| 色欲一区二区三区精品A片| 天天爽人人综合免费7799| 六月色色| 狠狠色五月激情| 丁香五月自拍| 色的色综合| 国产视频色色色色色色色| 激情狠狠丁香月| 亚洲精品无码A片一区二区| 色噜噜婷婷| 五月婷久草| 超碰爱爱爱| 婷婷五月丁香六月| 天天操天天操天天操天天操天天操 | 色噜噜狠狠色综| 久久久中文| 婷婷五月精品在线| 99精品久久久久久| 天天日天天爽夜夜爽| 久久9热| 91狠狠色丁香婷婷综合久久精品| 97成人丁香婷婷| 被男人添B超爽视频| 九玖欧洲亚洲| 99在线视频女女视频| 婷婷综合五月天| 综合五月天亚洲婷婷| 中文毛片无遮挡高潮免费| 激情九九综合网| 丁香五月天堂网AV| 久9视频| 97激情五月天| 久久久久久婷| 人妻久久婷婷| 人妻性爱| 成片免费观看大全| 大香蕉久久久久| 国内裸舞二区| 亚洲图片 丁香婷婷| 婷婷色五月开心五月| 思思色播| 蜜臀av 粉嫩av 懂色av| av色婷婷| 97干婷婷五月天| 久久影视婷婷五月| 五月天啪啪啪| 26uuu欧美宗合| 婷婷丁香九月| 日本少妇裸体做爰高潮片| 精a品a| ay2区| 久久天堂女人| 色婷婷影院| 日日激情网| 久久五月激情| 610018岁成人视频| 97超碰在线免费观看| 五月丁香啪啪激情| 91人碰| 97高清国语自产拍| 香蕉人在线香蕉人在线 | wwxx日本| 9视频1在线| 免费看欧美成人A片无码| 五月综合激情视频在线| 天天日夜夜高潮| 97自拍99| 婷婷六月伊人| 五月丁香色| 果冻传媒A片一二三区| 久9视频| 五月丁香激情婷婷| 3pAV| 九九热99视频在线| 婷婷丁香综合网| 激情欧美五月丁香| 六月丁香综合| 天天噜天天爱| 日韩高清成人| 丁香婷婷五月激情四射网| 亚洲这里只有精品| 涩五月婷婷| 精品福利911| 97干在线视频| 18久久| 怎么样可以看免费的一级av| 人人爱操| 超碰人人干| 色人妻五月| 97丁香花五月天激情小说| 黑人无码一区| 九月婷婷人人操人人舔人人爱| 色5月婷婷| 九九色色网| 婷婷成人五月天成人文学小说| 激情精品久久| 五月婷婷欧美| 九9九9无码| 日本婷婷色| 伊人在线视频| 伊人激情影院| 伊人久久五月天| 亭亭玉月丁香| 996日日爱| 99色播| 开心亚洲久久开心| 欧亚洲在线高清视频| 六月丁香色色| 91久久久久久久久久| 丁香五月亚洲综合| AV网在线| 国产精品扒开腿做爽爽爽A片唱戏| 欧美日韩91| 激情五月婷| 日本在线99| 思思精品视频| 五月亚洲| 天天色,天天日,天天做| 婷婷射图五月天| 九九热视频免费观看| 久久婷五月综合色| 天天拍夜夜撸| 丁香五月网络网络| 欧亚色色| 久久视这里只有精品| 国产成人AV在线| 99热播放| 丁香五月综合婷婷| 五月婷婷狠狠干| 任你擦免费视频| 激情图片久久| 日本色色网站| 国产成人AV在线播放| 日韩大片艹艹| 久久婷婷五月天激情| 久久久99日本大片| 人妻激情视频| 爆乳熟女一区二区三区爆乳| 激情综合色婷婷啪啪六月天| 99色在线观看视频| 超级黄色片| 婷婷另类小说| 99自拍视频在线观看| 六月色婷婷| 成人做爰高潮A片免费视频| 夜夜操加勒比| 亚洲天堂色| 91在线观看www| 五月色亚洲| 超碰9| 亚洲婷婷视频| VA国产在线综合网站| 五月婷婷激情色情网| 婷婷五月色丁香在线看| 婷婷视频在线| 五月婷婷综合在线| 色婷婷97| 婷色五月| www九九免费视频| 丁香六月亚洲| 非洲一级AV| 激情图片亚洲| 99爱最新免费视频在线观看| 色爱终和网| 久久激情五月婷婷| 五月丁香琪琪| 九九碰九九爱97| 操大屄五月天视频| www. 五月. com| 婷婷丁香成人| 婷婷 激情 五月| 五月天综合图片| 操九色| 婷婷91| 91精品刘玥| 六月丁香婷婷色狠狠久久| 五月激情啪啪| 婷婷成人综合五月| 久热这里只有精品6| 亚洲AV成人在线| 男妓跪趴把舌头伸进我的嘴巴| 五月婷婷性爱网| 9l视频自拍9l九色9l成人| 欧美欧盟性爱网| 激情网婷婷婷| 久久人人超| 伊人无码高清| 九月av在线| 99久久亚洲精品视频| 美女主播野战视步页| 饮料下药迷倒漂亮女同事强干| 日韩视频99| 久久性都花花世界成人免费视频| 久久Xx| 伊人六月无码视频| 五月丁香啪啪网| 亚洲色色色| 久久图色4| 久久老码第一| 激情五月丁香五月| 人人草人人爱| 月色色综合婷婷网| 婷婷激情丁香五月天综合| 五月天激情AV| 五月丁香六月在线| 超碰在线资源| 五月丁香美女| 婷婷五月天久久| 精品无码久久久久久久久| 美女黄频aⅴ视频| 丁香五月天激情小说| 国产精品久久7777777精品无码| 99国产精品久久久久久久久久久| 色噜噜狠狠色综合网| 色播五月婷婷| 丰满少妇乱A片无码| 日本女色人人| 久久精品无码一区| 激情婷婷在线| W色综合| 超碰日韩成人| 天天做夜夜爽| 五月天婷婷基地| 狠狠狠狠狠狠色| 丁香五月a| 婷婷婷婷色| 99热这里只有免费精品| 国产精品成人AV在线| 69热91天堂| 综合色色五月| 午夜亚洲AV日韩无码| WWW、99热| 五月激情婷婷四射| 操操日韩| 色婷成人狠干| 91偷拍视频| 婷婷五月天日日日干干干| 五月天丁香| 九九热在线观看视频| 丁香五月婷婷激情四射深爱激情| 999久久久国产精品| 亲子乱AV一区二区三区下载| 电影爱拉战争免费观看| 婷婷综合色播网| 久久激情网| 日逼影音先锋AV男人资源站| 丁香综合网| 五月婷久久在线| 99ri国产在线| 91a片爽| 开心五月天私房婷婷| 婷婷免费视频| 天天天天操| 六月婷婷久久| 性按摩玩人妻HD中文字幕| 九九伦子片| 色五月婷婷成人视频| 99精品在线观看视频| 97碰精品| 激情五月六月婷婷综合啪啪| www.henhenl| 婷婷丁香大香蕉| 看黄的网站18禁| 五月婷啪啪| 久热精品在看| 天天操电影院色狼性av| 婷婷成人五月天| 日本成人综合| 99视频精品在线| 超极99精品| 五月天色综合服务平台| www.婷婷五月| 欧美日韩99| 九色啦蜜臀| 亚洲免费在线观看岛国| 婷婷丁香综合| 国产一级黄色影片,| 亚洲色婷婷网站| 成人国产欧美大片一区| 天天射影| 天天日天天爽| 精品一二三区视频立| 天天日天天插| 99 频99热国里只有精品| 婷婷色婷婷| 亚洲五月天天| 日本V在线观看不卡视频网站| 深爱激情AV| 中文字幕无码人妻少妇免费视频 | 欧美激情丁香五月| 久久免片| 日本的α片xxxwww| 亚洲精品V天堂中文字幕| 丁香色啪综合| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 狠狠色狠狠色综合日日91| 伊人免费视频9| 色五月婷婷色五月婷婷色五月婷婷| 日本道久久91| 伊人色综合久久久| 青草青草久热这里只有精品| 六月婷婷五月丁香| 婷婷五月天熟妇| 欧美色偷拍| 五月天婷婷成人网| 韩国天天婷婷| 91色在线/日韩| 国产精品久久久久9999小说| 深爱婷婷丁香五月激情| 国产小网站| 丁香五月婷婷在线| 大香蕉视频婷| 婷婷综合五月天| 夜夜操夜夜姧| 99久久.www| 99在线精品观看99| 欧美xx激情视频在线观看| 成人AV在线电影| 大香蕉久久综合网| 女婷久久| 久久视频在线| 九九人人操| 中文字幕欧美精品久久| 丁香六月啪啪| 日本五月婷婷| 日日射天天射| 天天操加勒比| 五月天激情日色在线| 午夜精品久久久久久久爽| 婷婷天天色| 99久久婷婷五月综合| 99在这里有精品| 婷婷五月成年人| 婷婷97碰碰| av超碰在线| 牛牛热这里只有jingpin| 狠狠草狠狠草| 婷婷五月天Av| 天天日 天天草| 欧美综合激情五月天| 婷婷5月开心6月| 五月在线婷色| 亚洲超碰在线| 久久99精品久久久久子伦| 1囯产午夜仑鲁鲁| 99热黄| 99精品久|